diff --git a/.appveyor.yml b/.appveyor.yml index 295558993..1d8b5925d 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,22 +1,28 @@ version: 1.0.{build} -os: Visual Studio 2015 +os: Visual Studio 2017 test: off clone_folder: C:\projects\libigl branches: only: - master - alecjacobson + - cmake + - cgal install: - git submodule update --init --recursive - cinstall: python build_script: - echo Running cmake... - - cd c:\projects\libigl\tutorial + - cd c:\projects\libigl + - cd external - mkdir build - cd build - - cmake -D "LIBIGL_USE_STATIC_LIBRARY=ON" -G "Visual Studio 14 2015 Win64" ../ -# - cmake -G "Visual Studio 14 2015 Win64" ../ + - cmake -G "Visual Studio 15 2017 Win64" -T "host=x64" .. + - msbuild %MSBuildOptions% libigl_external.sln + - cd ../../tutorial + - mkdir build + - cd build + - cmake -D "LIBIGL_USE_STATIC_LIBRARY=ON" -D "LIBIGL_WITH_ANTTWEAKBAR=OFF" -D "BOOST_ROOT=../external/boost/" -G "Visual Studio 15 2017 Win64" ../ - set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" -# - set MSBuildOptions=/v:m /p:Configuration=Release /logger:%MSBuildLogger% - set MSBuildOptions=/v:m /p:Configuration=Debug /logger:%MSBuildLogger% - msbuild %MSBuildOptions% libigl_tutorials.sln diff --git a/.gitignore b/.gitignore index f0fb7da9c..3fa0d594f 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,5 @@ python/builddebug tutorial/.idea python/buildstatic tutorial/cmake-build-debug +.vscode/ +.idea/ diff --git a/.gitmodules b/.gitmodules index 0cc6c1948..334261809 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,8 +1,3 @@ -[submodule "external/nanogui"] - path = external/nanogui -url=https://github.com/libigl/nanogui.git - fetchRecursiveSubmodules = true - ignore = dirty [submodule "external/embree"] path = external/embree url = https://github.com/embree/embree.git @@ -24,3 +19,15 @@ url=https://github.com/libigl/nanogui.git [submodule "external/cork"] path = external/cork url = https://github.com/libigl/cork.git +[submodule "external/imgui"] + path = external/imgui/imgui + url = https://github.com/ocornut/imgui.git +[submodule "external/glfw"] + path = external/glfw + url = https://github.com/glfw/glfw.git +[submodule "external/eigen"] + path = external/eigen + url = https://github.com/eigenteam/eigen-git-mirror.git +[submodule "external/pybind11"] + path = external/pybind11 + url = https://github.com/pybind/pybind11 diff --git a/.travis.yml b/.travis.yml index aae8fddab..4be93d046 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,26 @@ language: cpp sudo: false +dist: precise matrix: include: - os: linux compiler: gcc-4.8.1 script: - git submodule update --init --recursive - - mkdir external/nanogui/ext/glfw/include/GL - - wget --no-check-certificate -P external/nanogui/ext/glfw/include/GL http://www.opengl.org/registry/api/GL/glcorearb.h + - mkdir external/glfw/include/GL + - wget --no-check-certificate -P external/glfw/include/GL http://www.opengl.org/registry/api/GL/glcorearb.h - cd python - mkdir build - cd build - cmake -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_C_COMPILER=gcc-4.8 -DLIBIGL_WITH_EMBREE=OFF -DLIBIGL_USE_STATIC_LIBRARY=ON ../ - make -j 2 - cd ../tutorial - - python 101_FileIO.py || { cd ../; mkdir build2; cd build2; cmake -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_C_COMPILER=gcc-4.8 -DLIBIGL_WITH_EMBREE=OFF -DLIBIGL_USE_STATIC_LIBRARY=ON - DCHECK_UNDEFINED=ON; make -j 2; } + - python3 101_FileIO.py || { cd ../; mkdir build2; cd build2; cmake -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_C_COMPILER=gcc-4.8 -DLIBIGL_WITH_EMBREE=OFF -DLIBIGL_USE_STATIC_LIBRARY=ON - DCHECK_UNDEFINED=ON ../; make -j 2; } - cd ../../ - cd tutorial - mkdir build - cd build - - cmake -DLIBIGL_USE_STATIC_LIBRARY=ON -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_C_COMPILER=gcc-4.8 ../ + - cmake -DLIBIGL_USE_STATIC_LIBRARY=ON -DCMAKE_CXX_COMPILER=g++-4.8 -DCMAKE_C_COMPILER=gcc-4.8 -DLIBIGL_WITH_EMBREE=OFF ../ - make -j 2 addons: apt: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..cbfe9b7b0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,17 @@ +Before opening an issue on creating a pull request, please check the following: + +## Compilation Issues + +- If you are on Windows, did you select the **x64** version of the Visual Studio compiler? + +- If you have a **CMake issue**, make sure you follow the same approach as the [libigl-example-project](https://github.com/libigl/libigl-example-project) to build libigl with your project, and make sure that you can compile the example project. + +- If you have an issue with a **submodule**, check if your submodules are up to date. If you have a doubt about a submodule, delete its folder and run `git submodule update --init --recursive` in the libigl directory. + +- If you have an issue with a missing **template issue**, check if your code compile with the *header-only* option of libigl activated. Turn **`OFF`** the CMake option `LIBIGL_USE_STATIC_LIBRARY`: either modify your `CMakeCache.txt` via CMake GUI or ccmake, or delete your `CMakeCache.txt` and re-run `cmake -DLIBIGL_USE_STATIC_LIBRARY=OFF ..` in your build folder. + +- Make sure your read the [**FAQ**](https://github.com/libigl/libigl/wiki/FAQ) before asking a new question, and search [**existing issues**](https://github.com/libigl/libigl/issues?q=is%3Aissue+is%3Aclosed) for a problem similar to yours. + +- Make sure you read the informations contained in the libigl [homepage](https://github.com/libigl/libigl) as well as the [tutorials](http://libigl.github.io/libigl/tutorial/tutorial.html). + +- If none of these solve your problem, then please report your issue in the bug tracker! diff --git a/LICENSE b/LICENSE deleted file mode 100644 index de7f67652..000000000 --- a/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Libigl is primarily licensed under MPL2 - - http://www.mozilla.org/MPL/2.0/ - - http://www.mozilla.org/MPL/2.0/FAQ.html - -Some files contain third-party code under other licenses: - - - tga.h/tga.cpp GNU GPL diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..4a5ab52de --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,40 @@ +Libigl is primarily licensed under MPL2 + - http://www.mozilla.org/MPL/2.0/ + - http://www.mozilla.org/MPL/2.0/FAQ.html + +All `.h` and `.cpp` _files_ directly in `include/igl` (but not necessarily in +sub-directories) are subject only to the terms of the MPL2; they should not +include any code that is covered by other/less-permissive licenses. + +The `.h` and `.cpp` _files_ in sub-directories of `include/igl` allow libigl to +integrate with external third-party libraries (e.g., those in `external/`) and +are subject to the MPL2, _**and**_ also the terms of licenses of the +corresponding external library. The licenses used by these libraries fall under +three categories: + +- common "free, non-copyleft licenses" (such as zlib, BSD, MIT, and public + domain) + - `include/igl/anttweakbar` + - `include/igl/embree` + - `include/igl/opengl` + - `include/igl/opengl/glfw` + - `include/igl/opengl2` + - `include/igl/png` + - `include/igl/viewer` + - `include/igl/xml` +- common "copyleft" licences (such as GPL, LGPL, and AGPL) + - `include/igl/copyleft` + - `include/igl/copyleft/cgal` + - `include/igl/copyleft/comiso` + - `include/igl/copyleft/cork` + - `include/igl/copyleft/tetgen` +- other "uncommon" licenses or commercial software + - `include/igl/lim` + - `include/igl/matlab` + - `include/igl/mosek` + - `include/igl/triangle` + +The Libigl code that interfaces with "copyleft" libraries is in +`include/igl/copyleft`. Only include these headers if you are accept the +licensing terms of the corresponding external library. For example, using +`include/igl/copyleft/tetgen` requires that you accept the terms of the AGPLv3. diff --git a/README.md b/README.md index c321259e3..ac01461e9 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ BibTeX entry: title = {{libigl}: A simple {C++} geometry processing library}, author = {Alec Jacobson and Daniele Panozzo and others}, note = {http://libigl.github.io/libigl/}, - year = {2016}, + year = {2017}, } ``` @@ -262,8 +262,6 @@ If you find bugs or have problems please use our [github issue tracking page](https://github.com/libigl/libigl/issues). ## Copyright -2017 Alec Jacobson, Daniele Panozzo, Christian Schüller, Olga Diamanti, Qingnan -Zhou, Sebastian Koch, Amir Vaxman, Nico Pietroni, Stefan Brugger, Kenshi Takayama, Wenzel Jakob, Nikolas De -Giorgis, Luigi Rocca, Leonardo Sacht, Kevin Walliman, Olga Sorkine-Hornung, and others. +2017 Alec Jacobson, Daniele Panozzo, Christian Schüller, Olga Diamanti, Qingnan Zhou, Sebastian Koch, Jeremie Dumas, Amir Vaxman, Nico Pietroni, Stefan Brugger, Kenshi Takayama, Wenzel Jakob, Nikolas De Giorgis, Luigi Rocca, Leonardo Sacht, Kevin Walliman, Olga Sorkine-Hornung, and others. Please see individual files for appropriate copyright notices. diff --git a/RELEASE_HISTORY.md b/RELEASE_HISTORY.md index f1ea72fbf..b58648b50 100644 --- a/RELEASE_HISTORY.md +++ b/RELEASE_HISTORY.md @@ -37,7 +37,7 @@ Version | Short description 0.3.1 | Linearly dependent constraints in min_quad_with_fixed, SparseQR buggy 0.3.0 | Better active set method support 0.2.3 | More explicits, active set method, opengl/anttweakbar guards -0.2.2 | More explicit instanciations, faster sorts and uniques +0.2.2 | More explicit instantiations, faster sorts and uniques 0.2.1 | Bug fixes in barycenter and doublearea found by Martin Bisson 0.2.0 | XML serializer more stable and fixed bug in remove_duplicate_vertices 0.1.8 | Embree and xml (windows only) extras diff --git a/coding-guidelines.html b/coding-guidelines.html index 5352d4c52..6f7ec37c6 100644 --- a/coding-guidelines.html +++ b/coding-guidelines.html @@ -1,14 +1,11 @@ - + libigl - - - - + @@ -60,3 +57,4 @@ + diff --git a/external/AntTweakBar/CMakeLists.txt b/external/AntTweakBar/CMakeLists.txt new file mode 100644 index 000000000..7c5aae62c --- /dev/null +++ b/external/AntTweakBar/CMakeLists.txt @@ -0,0 +1,41 @@ +cmake_minimum_required(VERSION 3.1) + +add_library(AntTweakBar STATIC + # C source files + src/TwEventGLFW.c + src/TwEventGLUT.c + src/TwEventSDL.c + src/TwEventSDL12.c + src/TwEventSDL13.c + + # C++ source files + src/LoadOGL.cpp + src/LoadOGLCore.cpp + src/TwBar.cpp + src/TwColors.cpp + src/TwEventSFML.cpp + src/TwFonts.cpp + src/TwMgr.cpp + src/TwOpenGL.cpp + src/TwOpenGLCore.cpp + src/TwPrecomp.cpp +) + +# These are probably needed for windows/Linux, should append if windows/Linux +# src/TwEventWin.c +# src/TwEventX11.c +# src/TwDirect3D10.cpp +# src/TwDirect3D11.cpp +# src/TwDirect3D9.cpp + +target_include_directories(AntTweakBar PUBLIC include) + +if(APPLE) + set_target_properties( + AntTweakBar + PROPERTIES + COMPILE_FLAGS + "-fPIC -fno-strict-aliasing -x objective-c++") + target_compile_definitions( + AntTweakBar PUBLIC _MACOSX __PLACEMENT_NEW_INLINE) +endif() diff --git a/external/AntTweakBar/examples/TwAdvanced1.cpp b/external/AntTweakBar/examples/TwAdvanced1.cpp index 6d12cfb1e..ae214d149 100644 --- a/external/AntTweakBar/examples/TwAdvanced1.cpp +++ b/external/AntTweakBar/examples/TwAdvanced1.cpp @@ -12,7 +12,7 @@ // GLFW: http://www.glfw.org // // -// This example draws a simple scene that can be re-tesselated +// This example draws a simple scene that can be re-tessellated // interactively, and illuminated dynamically by an adjustable // number of moving lights. // @@ -175,7 +175,7 @@ void Scene::Init(bool changeLights) glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE); - // Create objects display list using the current Subdiv parameter to control the tesselation + // Create objects display list using the current Subdiv parameter to control the tessellation if( objList>0 ) glDeleteLists(objList, 1); // delete previously created display list objList = glGenLists(1); diff --git a/external/AntTweakBar/src/TwMgr.cpp b/external/AntTweakBar/src/TwMgr.cpp index 1d1273ccd..c63158b08 100644 --- a/external/AntTweakBar/src/TwMgr.cpp +++ b/external/AntTweakBar/src/TwMgr.cpp @@ -1623,7 +1623,7 @@ void CQuaternionExt::MouseLeaveCB(void *structExtValue, void *clientData, TwBar // --------------------------------------------------------------------------- -// Convertion between VC++ Debug/Release std::string +// Conversion between VC++ Debug/Release std::string // (Needed because VC++ adds some extra info to std::string in Debug mode!) // And resolve binary std::string incompatibility between VS2010 and other VS versions // --------------------------------------------------------------------------- diff --git a/external/AntTweakBar/src/TwMgr.h b/external/AntTweakBar/src/TwMgr.h index b1af6983b..ca19f0443 100644 --- a/external/AntTweakBar/src/TwMgr.h +++ b/external/AntTweakBar/src/TwMgr.h @@ -246,7 +246,7 @@ struct CTwMgr static void ANT_CALL GetCB(void *_Value, void *_ClientData); }; std::list m_CDStdStrings; - struct CClientStdString // Convertion between VC++ Debug/Release std::string + struct CClientStdString // Conversion between VC++ Debug/Release std::string { CClientStdString(); void FromLib(const char *libStr); @@ -255,7 +255,7 @@ struct CTwMgr char m_Data[sizeof(std::string)+2*sizeof(void *)]; std::string m_LibStr; }; - struct CLibStdString // Convertion between VC++ Debug/Release std::string + struct CLibStdString // Conversion between VC++ Debug/Release std::string { CLibStdString(); void FromClient(const std::string& clientStr); diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt new file mode 100644 index 000000000..b91147ff6 --- /dev/null +++ b/external/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required(VERSION 3.1) +project(libigl_external) + +include(ExternalProject) + +if(WIN32) + # Note: It IS important to download different files on different OS's: + # on Unix-like systems, we need the file persmissions (only available in the .tar.gz), + # while on Windows, we need CR/LF line feeds (only available in the .zip) + + # Boost 1.65 is problematic because of https://github.com/boostorg/build/issues/230 + # Boost 1.66 is problematic because of https://github.com/boostorg/build/issues/273 + if(UNIX) + set(BOOST_URL "https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz") + set(BOOST_HASH SHA256=a13de2c8fbad635e6ba9c8f8714a0e6b4264b60a29b964b940a22554705b6b60) + set(BOOST_BOOTSTRAP_COMMAND ./bootstrap.sh) + set(BOOST_B2_COMMAND ./b2) + elseif(WIN32) + set(BOOST_URL "https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.zip") + set(BOOST_HASH SHA256=d1775aef807bd6a14077b450cce2950d8eacd86aaf51015f79e712917f8cc3c2) + set(BOOST_BOOTSTRAP_COMMAND cmd /C bootstrap.bat msvc) + set(BOOST_B2_COMMAND b2.exe) + endif() + + # We only support x64 builds + set(BOOST_ADDRESS_MODEL 64) + + if(MSVC_VERSION EQUAL 1500) #VS2008 + set(BOOST_TOOLSET "--toolset=msvc-9.0") + elseif(MSVC_VERSION EQUAL 1600) #VS2010 + set(BOOST_TOOLSET "--toolset=msvc-10.0") + elseif(MSVC_VERSION EQUAL 1700) #VS2012 + set(BOOST_TOOLSET "--toolset=msvc-11.0") + elseif(MSVC_VERSION EQUAL 1800) #VS2013 + set(BOOST_TOOLSET "--toolset=msvc-12.0") + elseif(MSVC_VERSION EQUAL 1900) #VS2015 + set(BOOST_TOOLSET "--toolset=msvc-14.0") + elseif(NOT (MSVC_VERSION LESS 1910)) #VS2017 + set(BOOST_TOOLSET "--toolset=msvc-14.1") + endif() + + # Boost + set(BOOST_DIR "${CMAKE_CURRENT_LIST_DIR}/boost") + ExternalProject_Add(Boost_Project + BUILD_IN_SOURCE 1 + INSTALL_COMMAND "" + + PREFIX "${BOOST_DIR}" + BUILD_IN_SOURCE 1 + + URL ${BOOST_URL} + URL_HASH ${BOOST_HASH} + + UPDATE_COMMAND "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_LIST_DIR}/os.jam" "tools/build/src/util/os.jam" + CONFIGURE_COMMAND ${BOOST_BOOTSTRAP_COMMAND} --prefix=${BOOST_DIR}/lib + BUILD_COMMAND ${BOOST_B2_COMMAND} install -j8 -d0 --prefix=${BOOST_DIR} --with-filesystem --with-system --with-thread --with-serialization --with-date_time address-model=${BOOST_ADDRESS_MODEL} link=static runtime-link=shared ${BOOST_TOOLSET} + INSTALL_COMMAND "" + ) + set(CGAL_DEPENDS Boost_Project) +endif() + +# CGAL +set(CGAL_DIR "${CMAKE_CURRENT_LIST_DIR}/cgal") +ExternalProject_Add(CGAL_Project + DEPENDS ${CGAL_DEPENDS} + + PREFIX "${CGAL_DIR}" + + URL "https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.11/CGAL-4.11.zip" + URL_MD5 320d70f7fd2a98537d20e21eeaea5a25 + + UPDATE_COMMAND "" + PATCH_COMMAND "" + + CMAKE_ARGS + -DCMAKE_PREFIX_PATH=${CGAL_DIR}/auxiliary/gmp + "-DBOOST_ROOT=${BOOST_DIR}" + -DBUILD_SHARED_LIBS=OFF + "-DCMAKE_INSTALL_PREFIX=${CGAL_DIR}/" + -DCMAKE_INSTALL_LIBDIR=lib + + TEST_COMMAND "" +) + +ExternalProject_Add_Step( + CGAL_Project download_auxiliary + COMMAND ${CMAKE_COMMAND} -DCGAL_DIR=${CGAL_DIR} -P ${CMAKE_CURRENT_LIST_DIR}/download.cmake + DEPENDEES download + DEPENDERS configure +) diff --git a/external/CoMISo b/external/CoMISo index 29ff55f46..fea3ee0ba 160000 --- a/external/CoMISo +++ b/external/CoMISo @@ -1 +1 @@ -Subproject commit 29ff55f464c2dc92ad09b77cd47e0ecee305f6cc +Subproject commit fea3ee0ba7d42ee3eca202d484e4fad855e4d6aa diff --git a/external/README.md b/external/README.md index 1c02e4d52..f459b8284 100644 --- a/external/README.md +++ b/external/README.md @@ -2,6 +2,7 @@ This directory contains external libraries which are either difficult to obtain, difficult to compile or patched for libigl. ## AntTweakBar + Patched to support copying and pasting from text fields (see http://www.alecjacobson.com/weblog/?p=2378) @@ -20,6 +21,7 @@ then make ## TinyXML2 + double precision bug fixes: tinyxml2.h line 1286 add function: @@ -33,3 +35,15 @@ tinyxml2.cpp line 434 replace with: TIXML_SNPRINTF( buffer, bufferSize, "%.15e", v ); +## CGAL + +CGAL can be built as a CMake external project thanks to the `CMakeLists.txt` provided in this folder. While this is mainly intended as a convenience for Windows users, and CI builds on AppVeyor, this should work on Linux/macOS as well. To build CGAL and Boost with the provided CMake script, build this folder as you would compile any CMake project (use CMake GUI and MSVC on Windows): + +``` +mkdir build +cd build +cmake .. +make -j4 +``` + +Once this is done, just build the libigl tutorials, and it should properly detect CGAL and Boost. diff --git a/external/cork b/external/cork index adf814edd..27ad8a285 160000 --- a/external/cork +++ b/external/cork @@ -1 +1 @@ -Subproject commit adf814edd555cb4245edf6f539eddb7880edf195 +Subproject commit 27ad8a285838f5a480d856429e39d3d56d4338f9 diff --git a/external/download.cmake b/external/download.cmake new file mode 100644 index 000000000..0cd9af71e --- /dev/null +++ b/external/download.cmake @@ -0,0 +1,14 @@ +if(WIN32) + set(GMP_URL https://cgal.geometryfactory.com/CGAL/precompiled_libs/auxiliary/x64/GMP/5.0.1/) + set(GMP_NAME gmp-all-CGAL-3.9.zip) + set(GMP_DIR "${CGAL_DIR}/auxiliary/gmp") + set(MPFR_URL https://cgal.geometryfactory.com/CGAL/precompiled_libs/auxiliary/x64/MPFR/3.0.0/) + set(MPFR_NAME mpfr-all-CGAL-3.9.zip) + set(MPFR_DIR "${CGAL_DIR}/auxiliary/gmp") + + file(DOWNLOAD "${GMP_URL}/${GMP_NAME}" ${GMP_DIR}/${GMP_NAME}) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${GMP_DIR}/${GMP_NAME} WORKING_DIRECTORY ${GMP_DIR}) + + file(DOWNLOAD "${MPFR_URL}/${MPFR_NAME}" ${MPFR_DIR}/${MPFR_NAME}) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${MPFR_DIR}/${MPFR_NAME} WORKING_DIRECTORY ${MPFR_DIR}) +endif() diff --git a/external/eigen b/external/eigen new file mode 160000 index 000000000..c50d586b9 --- /dev/null +++ b/external/eigen @@ -0,0 +1 @@ +Subproject commit c50d586b9a43395a83e51821ebd1759d1c4668e4 diff --git a/external/embree b/external/embree index f8b4b464d..36fd411e4 160000 --- a/external/embree +++ b/external/embree @@ -1 +1 @@ -Subproject commit f8b4b464d6d0380cf45b64ae78d9e1c9d9a9beab +Subproject commit 36fd411e4522ea4e947aa7ca938f37ea45807d2c diff --git a/external/glad/CMakeLists.txt b/external/glad/CMakeLists.txt new file mode 100644 index 000000000..862baabb5 --- /dev/null +++ b/external/glad/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.1) +project(glad) + +add_library(glad src/glad.c) +target_include_directories(glad PUBLIC include) + +if(NOT WIN32) + target_link_libraries(glad PUBLIC ${CMAKE_DL_LIBS}) +endif() diff --git a/external/glad/README.md b/external/glad/README.md new file mode 100644 index 000000000..2f0920ee7 --- /dev/null +++ b/external/glad/README.md @@ -0,0 +1,8 @@ +glad +==== + +The files in this folder were generated using [glad](https://github.com/Dav1dde/glad). + +### Using a different version of OpenGL + +The files in this folder correspond to the OpenGL 3.3 Core Profile. If you need to use libigl with a different version of OpenGL, you can use this [webservice](http://glad.dav1d.de/) to generate the loader for your desired version of OpenGL. Then, in your CMake build system, simply define the target `glad` to point to your own version of glad before including libigl. diff --git a/external/glad/include/KHR/khrplatform.h b/external/glad/include/KHR/khrplatform.h new file mode 100644 index 000000000..1ad3554a7 --- /dev/null +++ b/external/glad/include/KHR/khrplatform.h @@ -0,0 +1,284 @@ +#ifndef __khrplatform_h_ +#define __khrplatform_h_ + +/* +** Copyright (c) 2008-2009 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/* Khronos platform-specific types and definitions. + * + * $Revision: 32517 $ on $Date: 2016-03-11 02:41:19 -0800 (Fri, 11 Mar 2016) $ + * + * Adopters may modify this file to suit their platform. Adopters are + * encouraged to submit platform specific modifications to the Khronos + * group so that they can be included in future versions of this file. + * Please submit changes by sending them to the public Khronos Bugzilla + * (http://khronos.org/bugzilla) by filing a bug against product + * "Khronos (general)" component "Registry". + * + * A predefined template which fills in some of the bug fields can be + * reached using http://tinyurl.com/khrplatform-h-bugreport, but you + * must create a Bugzilla login first. + * + * + * See the Implementer's Guidelines for information about where this file + * should be located on your system and for more details of its use: + * http://www.khronos.org/registry/implementers_guide.pdf + * + * This file should be included as + * #include + * by Khronos client API header files that use its types and defines. + * + * The types in khrplatform.h should only be used to define API-specific types. + * + * Types defined in khrplatform.h: + * khronos_int8_t signed 8 bit + * khronos_uint8_t unsigned 8 bit + * khronos_int16_t signed 16 bit + * khronos_uint16_t unsigned 16 bit + * khronos_int32_t signed 32 bit + * khronos_uint32_t unsigned 32 bit + * khronos_int64_t signed 64 bit + * khronos_uint64_t unsigned 64 bit + * khronos_intptr_t signed same number of bits as a pointer + * khronos_uintptr_t unsigned same number of bits as a pointer + * khronos_ssize_t signed size + * khronos_usize_t unsigned size + * khronos_float_t signed 32 bit floating point + * khronos_time_ns_t unsigned 64 bit time in nanoseconds + * khronos_utime_nanoseconds_t unsigned time interval or absolute time in + * nanoseconds + * khronos_stime_nanoseconds_t signed time interval in nanoseconds + * khronos_boolean_enum_t enumerated boolean type. This should + * only be used as a base type when a client API's boolean type is + * an enum. Client APIs which use an integer or other type for + * booleans cannot use this as the base type for their boolean. + * + * Tokens defined in khrplatform.h: + * + * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. + * + * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. + * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. + * + * Calling convention macros defined in this file: + * KHRONOS_APICALL + * KHRONOS_APIENTRY + * KHRONOS_APIATTRIBUTES + * + * These may be used in function prototypes as: + * + * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( + * int arg1, + * int arg2) KHRONOS_APIATTRIBUTES; + */ + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APICALL + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +#if defined(_WIN32) && !defined(__SCITECH_SNAP__) +# define KHRONOS_APICALL __declspec(dllimport) +#elif defined (__SYMBIAN32__) +# define KHRONOS_APICALL IMPORT_C +#elif defined(__ANDROID__) +# define KHRONOS_APICALL __attribute__((visibility("default"))) +#else +# define KHRONOS_APICALL +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIENTRY + *------------------------------------------------------------------------- + * This follows the return type of the function and precedes the function + * name in the function prototype. + */ +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) + /* Win32 but not WinCE */ +# define KHRONOS_APIENTRY __stdcall +#else +# define KHRONOS_APIENTRY +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIATTRIBUTES + *------------------------------------------------------------------------- + * This follows the closing parenthesis of the function prototype arguments. + */ +#if defined (__ARMCC_2__) +#define KHRONOS_APIATTRIBUTES __softfp +#else +#define KHRONOS_APIATTRIBUTES +#endif + +/*------------------------------------------------------------------------- + * basic type definitions + *-----------------------------------------------------------------------*/ +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__VMS ) || defined(__sgi) + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) + +/* + * Win32 + */ +typedef __int32 khronos_int32_t; +typedef unsigned __int32 khronos_uint32_t; +typedef __int64 khronos_int64_t; +typedef unsigned __int64 khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__sun__) || defined(__digital__) + +/* + * Sun or Digital + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#if defined(__arch64__) || defined(_LP64) +typedef long int khronos_int64_t; +typedef unsigned long int khronos_uint64_t; +#else +typedef long long int khronos_int64_t; +typedef unsigned long long int khronos_uint64_t; +#endif /* __arch64__ */ +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif 0 + +/* + * Hypothetical platform with no float or int64 support + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#define KHRONOS_SUPPORT_INT64 0 +#define KHRONOS_SUPPORT_FLOAT 0 + +#else + +/* + * Generic fallback + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#endif + + +/* + * Types that are (so far) the same on all platforms + */ +typedef signed char khronos_int8_t; +typedef unsigned char khronos_uint8_t; +typedef signed short int khronos_int16_t; +typedef unsigned short int khronos_uint16_t; + +/* + * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +#ifdef _WIN64 +typedef signed long long int khronos_intptr_t; +typedef unsigned long long int khronos_uintptr_t; +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else +typedef signed long int khronos_intptr_t; +typedef unsigned long int khronos_uintptr_t; +typedef signed long int khronos_ssize_t; +typedef unsigned long int khronos_usize_t; +#endif + +#if KHRONOS_SUPPORT_FLOAT +/* + * Float type + */ +typedef float khronos_float_t; +#endif + +#if KHRONOS_SUPPORT_INT64 +/* Time types + * + * These types can be used to represent a time interval in nanoseconds or + * an absolute Unadjusted System Time. Unadjusted System Time is the number + * of nanoseconds since some arbitrary system event (e.g. since the last + * time the system booted). The Unadjusted System Time is an unsigned + * 64 bit value that wraps back to 0 every 584 years. Time intervals + * may be either signed or unsigned. + */ +typedef khronos_uint64_t khronos_utime_nanoseconds_t; +typedef khronos_int64_t khronos_stime_nanoseconds_t; +#endif + +/* + * Dummy value used to pad enum types to 32 bits. + */ +#ifndef KHRONOS_MAX_ENUM +#define KHRONOS_MAX_ENUM 0x7FFFFFFF +#endif + +/* + * Enumerated boolean type + * + * Values other than zero should be considered to be true. Therefore + * comparisons should not be made against KHRONOS_TRUE. + */ +typedef enum { + KHRONOS_FALSE = 0, + KHRONOS_TRUE = 1, + KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM +} khronos_boolean_enum_t; + +#endif /* __khrplatform_h_ */ diff --git a/external/glad/include/glad/glad.h b/external/glad/include/glad/glad.h new file mode 100644 index 000000000..817b250a6 --- /dev/null +++ b/external/glad/include/glad/glad.h @@ -0,0 +1,2182 @@ +/* + + OpenGL loader generated by glad 0.1.16a0 on Sat Feb 10 21:53:25 2018. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: core + Extensions: + + Loader: False + Local files: False + Omit khrplatform: False + + Commandline: + --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --extensions="" + Online: + http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3 +*/ + + +#ifndef __glad_h_ +#define __glad_h_ + +#ifdef __gl_h_ +#error OpenGL header already included, remove this include, glad already provides it +#endif +#define __gl_h_ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#ifndef NOMINMAX +#define NOMINMAX 1 +#endif +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct gladGLversionStruct { + int major; + int minor; +}; + +typedef void* (* GLADloadproc)(const char *name); + +#ifndef GLAPI +# if defined(GLAD_GLAPI_EXPORT) +# if defined(_WIN32) || defined(__CYGWIN__) +# if defined(GLAD_GLAPI_EXPORT_BUILD) +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllexport)) extern +# else +# define GLAPI __declspec(dllexport) extern +# endif +# else +# if defined(__GNUC__) +# define GLAPI __attribute__ ((dllimport)) extern +# else +# define GLAPI __declspec(dllimport) extern +# endif +# endif +# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD) +# define GLAPI __attribute__ ((visibility ("default"))) extern +# else +# define GLAPI extern +# endif +# else +# define GLAPI extern +# endif +#endif + +GLAPI struct gladGLversionStruct GLVersion; +GLAPI int gladLoadGLLoader(GLADloadproc); + +#include +#include +#ifndef GLEXT_64_TYPES_DEFINED +/* This code block is duplicated in glxext.h, so must be protected */ +#define GLEXT_64_TYPES_DEFINED +/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +/* (as used in the GL_EXT_timer_query extension). */ +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#include +#elif defined(__sun__) || defined(__digital__) +#include +#if defined(__STDC__) +#if defined(__arch64__) || defined(_LP64) +typedef long int int64_t; +typedef unsigned long int uint64_t; +#else +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#endif /* __arch64__ */ +#endif /* __STDC__ */ +#elif defined( __VMS ) || defined(__sgi) +#include +#elif defined(__SCO__) || defined(__USLC__) +#include +#elif defined(__UNIXOS2__) || defined(__SOL64__) +typedef long int int32_t; +typedef long long int int64_t; +typedef unsigned long long int uint64_t; +#elif defined(_WIN32) && defined(__GNUC__) +#include +#elif defined(_WIN32) +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#else +/* Fallback if nothing above works */ +#include +#endif +#endif +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef void GLvoid; +typedef signed char GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLclampx; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef int GLsizei; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void *GLeglClientBufferEXT; +typedef void *GLeglImageOES; +typedef char GLchar; +typedef char GLcharARB; +#ifdef __APPLE__ +typedef void *GLhandleARB; +#else +typedef unsigned int GLhandleARB; +#endif +typedef unsigned short GLhalfARB; +typedef unsigned short GLhalf; +typedef GLint GLfixed; +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLintptr; +#else +typedef ptrdiff_t GLintptr; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLsizeiptr; +#else +typedef ptrdiff_t GLsizeiptr; +#endif +typedef int64_t GLint64; +typedef uint64_t GLuint64; +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLintptrARB; +#else +typedef ptrdiff_t GLintptrARB; +#endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060) +typedef long GLsizeiptrARB; +#else +typedef ptrdiff_t GLsizeiptrARB; +#endif +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +typedef struct __GLsync *GLsync; +struct _cl_context; +struct _cl_event; +typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); +typedef unsigned short GLhalfNV; +typedef GLintptr GLvdpauSurfaceNV; +typedef void (APIENTRY *GLVULKANPROCNV)(void); +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_FALSE 0 +#define GL_TRUE 1 +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_NONE 0 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_VIEWPORT 0x0BA2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_REPEAT 0x2901 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DOUBLE 0x140A +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_R3_G3_B2 0x2A10 +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_BLEND_COLOR 0x8005 +#define GL_BLEND_EQUATION 0x8009 +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_FUNC_SUBTRACT 0x800A +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 +#define GL_SRC1_ALPHA 0x8589 +#define GL_BLEND_EQUATION_RGB 0x8009 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPARE_REF_TO_TEXTURE 0x884E +#define GL_CLIP_DISTANCE0 0x3000 +#define GL_CLIP_DISTANCE1 0x3001 +#define GL_CLIP_DISTANCE2 0x3002 +#define GL_CLIP_DISTANCE3 0x3003 +#define GL_CLIP_DISTANCE4 0x3004 +#define GL_CLIP_DISTANCE5 0x3005 +#define GL_CLIP_DISTANCE6 0x3006 +#define GL_CLIP_DISTANCE7 0x3007 +#define GL_MAX_CLIP_DISTANCES 0x0D32 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_MAX_VARYING_COMPONENTS 0x8B4B +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 +#define GL_INDEX 0x8222 +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#define GL_HALF_FLOAT 0x140B +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C +#define GL_VERTEX_ARRAY_BINDING 0x85B5 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFF +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 +#define GL_DEPTH_CLAMP 0x864F +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC +#define GL_ANY_SAMPLES_PASSED 0x8C2F +#define GL_SAMPLER_BINDING 0x8919 +#define GL_RGB10_A2UI 0x906F +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 +#define GL_INT_2_10_10_10_REV 0x8D9F +#ifndef GL_VERSION_1_0 +#define GL_VERSION_1_0 1 +GLAPI int GLAD_GL_VERSION_1_0; +typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode); +GLAPI PFNGLCULLFACEPROC glad_glCullFace; +#define glCullFace glad_glCullFace +typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode); +GLAPI PFNGLFRONTFACEPROC glad_glFrontFace; +#define glFrontFace glad_glFrontFace +typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode); +GLAPI PFNGLHINTPROC glad_glHint; +#define glHint glad_glHint +typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width); +GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth; +#define glLineWidth glad_glLineWidth +typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size); +GLAPI PFNGLPOINTSIZEPROC glad_glPointSize; +#define glPointSize glad_glPointSize +typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); +GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode; +#define glPolygonMode glad_glPolygonMode +typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLSCISSORPROC glad_glScissor; +#define glScissor glad_glScissor +typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); +GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +#define glTexParameterf glad_glTexParameterf +typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +#define glTexParameterfv glad_glTexParameterfv +typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); +GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +#define glTexParameteri glad_glTexParameteri +typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +#define glTexParameteriv glad_glTexParameteriv +typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +#define glTexImage1D glad_glTexImage1D +typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +#define glTexImage2D glad_glTexImage2D +typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf); +GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +#define glDrawBuffer glad_glDrawBuffer +typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask); +GLAPI PFNGLCLEARPROC glad_glClear; +#define glClear glad_glClear +typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLCLEARCOLORPROC glad_glClearColor; +#define glClearColor glad_glClearColor +typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s); +GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil; +#define glClearStencil glad_glClearStencil +typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth); +GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth; +#define glClearDepth glad_glClearDepth +typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask); +GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask; +#define glStencilMask glad_glStencilMask +typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI PFNGLCOLORMASKPROC glad_glColorMask; +#define glColorMask glad_glColorMask +typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag); +GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask; +#define glDepthMask glad_glDepthMask +typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap); +GLAPI PFNGLDISABLEPROC glad_glDisable; +#define glDisable glad_glDisable +typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap); +GLAPI PFNGLENABLEPROC glad_glEnable; +#define glEnable glad_glEnable +typedef void (APIENTRYP PFNGLFINISHPROC)(void); +GLAPI PFNGLFINISHPROC glad_glFinish; +#define glFinish glad_glFinish +typedef void (APIENTRYP PFNGLFLUSHPROC)(void); +GLAPI PFNGLFLUSHPROC glad_glFlush; +#define glFlush glad_glFlush +typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); +GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc; +#define glBlendFunc glad_glBlendFunc +typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode); +GLAPI PFNGLLOGICOPPROC glad_glLogicOp; +#define glLogicOp glad_glLogicOp +typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc; +#define glStencilFunc glad_glStencilFunc +typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); +GLAPI PFNGLSTENCILOPPROC glad_glStencilOp; +#define glStencilOp glad_glStencilOp +typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func); +GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc; +#define glDepthFunc glad_glDepthFunc +typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref; +#define glPixelStoref glad_glPixelStoref +typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei; +#define glPixelStorei glad_glPixelStorei +typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src); +GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer; +#define glReadBuffer glad_glReadBuffer +typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLREADPIXELSPROC glad_glReadPixels; +#define glReadPixels glad_glReadPixels +typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data); +GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +#define glGetBooleanv glad_glGetBooleanv +typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data); +GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev; +#define glGetDoublev glad_glGetDoublev +typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(void); +GLAPI PFNGLGETERRORPROC glad_glGetError; +#define glGetError glad_glGetError +typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data); +GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv; +#define glGetFloatv glad_glGetFloatv +typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data); +GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv; +#define glGetIntegerv glad_glGetIntegerv +typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name); +GLAPI PFNGLGETSTRINGPROC glad_glGetString; +#define glGetString glad_glGetString +typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +#define glGetTexImage glad_glGetTexImage +typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +#define glGetTexParameterfv glad_glGetTexParameterfv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +#define glGetTexParameteriv glad_glGetTexParameteriv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv +typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv +typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap); +GLAPI PFNGLISENABLEDPROC glad_glIsEnabled; +#define glIsEnabled glad_glIsEnabled +typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble near, GLdouble far); +GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange; +#define glDepthRange glad_glDepthRange +typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLVIEWPORTPROC glad_glViewport; +#define glViewport glad_glViewport +#endif +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 +GLAPI int GLAD_GL_VERSION_1_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); +GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays; +#define glDrawArrays glad_glDrawArrays +typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements; +#define glDrawElements glad_glDrawElements +typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); +GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +#define glPolygonOffset glad_glPolygonOffset +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +#define glCopyTexImage1D glad_glCopyTexImage1D +typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +#define glCopyTexImage2D glad_glCopyTexImage2D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +#define glCopyTexSubImage1D glad_glCopyTexSubImage1D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +#define glCopyTexSubImage2D glad_glCopyTexSubImage2D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +#define glTexSubImage1D glad_glTexSubImage1D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +#define glTexSubImage2D glad_glTexSubImage2D +typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); +GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture; +#define glBindTexture glad_glBindTexture +typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures); +GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +#define glDeleteTextures glad_glDeleteTextures +typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures); +GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures; +#define glGenTextures glad_glGenTextures +typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture); +GLAPI PFNGLISTEXTUREPROC glad_glIsTexture; +#define glIsTexture glad_glIsTexture +#endif +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 +GLAPI int GLAD_GL_VERSION_1_2; +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +#define glDrawRangeElements glad_glDrawRangeElements +typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +#define glTexImage3D glad_glTexImage3D +typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +#define glTexSubImage3D glad_glTexSubImage3D +typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +#define glCopyTexSubImage3D glad_glCopyTexSubImage3D +#endif +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 +GLAPI int GLAD_GL_VERSION_1_3; +typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture); +GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +#define glActiveTexture glad_glActiveTexture +typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); +GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +#define glSampleCoverage glad_glSampleCoverage +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +#define glCompressedTexImage3D glad_glCompressedTexImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +#define glCompressedTexImage2D glad_glCompressedTexImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +#define glCompressedTexImage1D glad_glCompressedTexImage1D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img); +GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +#define glGetCompressedTexImage glad_glGetCompressedTexImage +#endif +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 +GLAPI int GLAD_GL_VERSION_1_4; +typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +#define glBlendFuncSeparate glad_glBlendFuncSeparate +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +#define glMultiDrawArrays glad_glMultiDrawArrays +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); +GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +#define glMultiDrawElements glad_glMultiDrawElements +typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); +GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +#define glPointParameterf glad_glPointParameterf +typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params); +GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +#define glPointParameterfv glad_glPointParameterfv +typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); +GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +#define glPointParameteri glad_glPointParameteri +typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params); +GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +#define glPointParameteriv glad_glPointParameteriv +typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor; +#define glBlendColor glad_glBlendColor +typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode); +GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +#define glBlendEquation glad_glBlendEquation +#endif +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 +GLAPI int GLAD_GL_VERSION_1_5; +typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids); +GLAPI PFNGLGENQUERIESPROC glad_glGenQueries; +#define glGenQueries glad_glGenQueries +typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids); +GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +#define glDeleteQueries glad_glDeleteQueries +typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id); +GLAPI PFNGLISQUERYPROC glad_glIsQuery; +#define glIsQuery glad_glIsQuery +typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); +GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery; +#define glBeginQuery glad_glBeginQuery +typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target); +GLAPI PFNGLENDQUERYPROC glad_glEndQuery; +#define glEndQuery glad_glEndQuery +typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv; +#define glGetQueryiv glad_glGetQueryiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params); +GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +#define glGetQueryObjectiv glad_glGetQueryObjectiv +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params); +GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +#define glGetQueryObjectuiv glad_glGetQueryObjectuiv +typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); +GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer; +#define glBindBuffer glad_glBindBuffer +typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers); +GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +#define glDeleteBuffers glad_glDeleteBuffers +typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers); +GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers; +#define glGenBuffers glad_glGenBuffers +typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer); +GLAPI PFNGLISBUFFERPROC glad_glIsBuffer; +#define glIsBuffer glad_glIsBuffer +typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); +GLAPI PFNGLBUFFERDATAPROC glad_glBufferData; +#define glBufferData glad_glBufferData +typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +#define glBufferSubData glad_glBufferSubData +typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); +GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +#define glGetBufferSubData glad_glGetBufferSubData +typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); +GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer; +#define glMapBuffer glad_glMapBuffer +typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target); +GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +#define glUnmapBuffer glad_glUnmapBuffer +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +#define glGetBufferParameteriv glad_glGetBufferParameteriv +typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params); +GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +#define glGetBufferPointerv glad_glGetBufferPointerv +#endif +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 +GLAPI int GLAD_GL_VERSION_2_0; +typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); +GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +#define glBlendEquationSeparate glad_glBlendEquationSeparate +typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs); +GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +#define glDrawBuffers glad_glDrawBuffers +typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +#define glStencilOpSeparate glad_glStencilOpSeparate +typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); +GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +#define glStencilFuncSeparate glad_glStencilFuncSeparate +typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); +GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +#define glStencilMaskSeparate glad_glStencilMaskSeparate +typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader; +#define glAttachShader glad_glAttachShader +typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name); +GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +#define glBindAttribLocation glad_glBindAttribLocation +typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader); +GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader; +#define glCompileShader glad_glCompileShader +typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(void); +GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +#define glCreateProgram glad_glCreateProgram +typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type); +GLAPI PFNGLCREATESHADERPROC glad_glCreateShader; +#define glCreateShader glad_glCreateShader +typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program); +GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +#define glDeleteProgram glad_glDeleteProgram +typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader); +GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader; +#define glDeleteShader glad_glDeleteShader +typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); +GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader; +#define glDetachShader glad_glDetachShader +typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +#define glDisableVertexAttribArray glad_glDisableVertexAttribArray +typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); +GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +#define glEnableVertexAttribArray glad_glEnableVertexAttribArray +typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +#define glGetActiveAttrib glad_glGetActiveAttrib +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +#define glGetActiveUniform glad_glGetActiveUniform +typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +#define glGetAttachedShaders glad_glGetAttachedShaders +typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +#define glGetAttribLocation glad_glGetAttribLocation +typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params); +GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +#define glGetProgramiv glad_glGetProgramiv +typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +#define glGetProgramInfoLog glad_glGetProgramInfoLog +typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params); +GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv; +#define glGetShaderiv glad_glGetShaderiv +typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +#define glGetShaderInfoLog glad_glGetShaderInfoLog +typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +#define glGetShaderSource glad_glGetShaderSource +typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +#define glGetUniformLocation glad_glGetUniformLocation +typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params); +GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +#define glGetUniformfv glad_glGetUniformfv +typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params); +GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +#define glGetUniformiv glad_glGetUniformiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params); +GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +#define glGetVertexAttribdv glad_glGetVertexAttribdv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params); +GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +#define glGetVertexAttribfv glad_glGetVertexAttribfv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +#define glGetVertexAttribiv glad_glGetVertexAttribiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer); +GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv +typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program); +GLAPI PFNGLISPROGRAMPROC glad_glIsProgram; +#define glIsProgram glad_glIsProgram +typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader); +GLAPI PFNGLISSHADERPROC glad_glIsShader; +#define glIsShader glad_glIsShader +typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program); +GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram; +#define glLinkProgram glad_glLinkProgram +typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource; +#define glShaderSource glad_glShaderSource +typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program); +GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram; +#define glUseProgram glad_glUseProgram +typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); +GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f; +#define glUniform1f glad_glUniform1f +typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); +GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f; +#define glUniform2f glad_glUniform2f +typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f; +#define glUniform3f glad_glUniform3f +typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f; +#define glUniform4f glad_glUniform4f +typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0); +GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i; +#define glUniform1i glad_glUniform1i +typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); +GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i; +#define glUniform2i glad_glUniform2i +typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); +GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i; +#define glUniform3i glad_glUniform3i +typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i; +#define glUniform4i glad_glUniform4i +typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv; +#define glUniform1fv glad_glUniform1fv +typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv; +#define glUniform2fv glad_glUniform2fv +typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv; +#define glUniform3fv glad_glUniform3fv +typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value); +GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv; +#define glUniform4fv glad_glUniform4fv +typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv; +#define glUniform1iv glad_glUniform1iv +typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv; +#define glUniform2iv glad_glUniform2iv +typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv; +#define glUniform3iv glad_glUniform3iv +typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value); +GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv; +#define glUniform4iv glad_glUniform4iv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +#define glUniformMatrix2fv glad_glUniformMatrix2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +#define glUniformMatrix3fv glad_glUniformMatrix3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +#define glUniformMatrix4fv glad_glUniformMatrix4fv +typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program); +GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +#define glValidateProgram glad_glValidateProgram +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); +GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +#define glVertexAttrib1d glad_glVertexAttrib1d +typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +#define glVertexAttrib1dv glad_glVertexAttrib1dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); +GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +#define glVertexAttrib1f glad_glVertexAttrib1f +typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +#define glVertexAttrib1fv glad_glVertexAttrib1fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); +GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +#define glVertexAttrib1s glad_glVertexAttrib1s +typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +#define glVertexAttrib1sv glad_glVertexAttrib1sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); +GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +#define glVertexAttrib2d glad_glVertexAttrib2d +typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +#define glVertexAttrib2dv glad_glVertexAttrib2dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); +GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +#define glVertexAttrib2f glad_glVertexAttrib2f +typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +#define glVertexAttrib2fv glad_glVertexAttrib2fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); +GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +#define glVertexAttrib2s glad_glVertexAttrib2s +typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +#define glVertexAttrib2sv glad_glVertexAttrib2sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +#define glVertexAttrib3d glad_glVertexAttrib3d +typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +#define glVertexAttrib3dv glad_glVertexAttrib3dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +#define glVertexAttrib3f glad_glVertexAttrib3f +typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +#define glVertexAttrib3fv glad_glVertexAttrib3fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +#define glVertexAttrib3s glad_glVertexAttrib3s +typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +#define glVertexAttrib3sv glad_glVertexAttrib3sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +#define glVertexAttrib4Niv glad_glVertexAttrib4Niv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +#define glVertexAttrib4Nub glad_glVertexAttrib4Nub +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +#define glVertexAttrib4bv glad_glVertexAttrib4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +#define glVertexAttrib4d glad_glVertexAttrib4d +typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v); +GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +#define glVertexAttrib4dv glad_glVertexAttrib4dv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +#define glVertexAttrib4f glad_glVertexAttrib4f +typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v); +GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +#define glVertexAttrib4fv glad_glVertexAttrib4fv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +#define glVertexAttrib4iv glad_glVertexAttrib4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +#define glVertexAttrib4s glad_glVertexAttrib4s +typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +#define glVertexAttrib4sv glad_glVertexAttrib4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +#define glVertexAttrib4ubv glad_glVertexAttrib4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +#define glVertexAttrib4uiv glad_glVertexAttrib4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +#define glVertexAttrib4usv glad_glVertexAttrib4usv +typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +#define glVertexAttribPointer glad_glVertexAttribPointer +#endif +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 +GLAPI int GLAD_GL_VERSION_2_1; +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv +typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv +#endif +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 +GLAPI int GLAD_GL_VERSION_3_0; +typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski; +#define glColorMaski glad_glColorMaski +typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data); +GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +#define glGetBooleani_v glad_glGetBooleani_v +typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data); +GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +#define glGetIntegeri_v glad_glGetIntegeri_v +typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLENABLEIPROC glad_glEnablei; +#define glEnablei glad_glEnablei +typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index); +GLAPI PFNGLDISABLEIPROC glad_glDisablei; +#define glDisablei glad_glDisablei +typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index); +GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi; +#define glIsEnabledi glad_glIsEnabledi +typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); +GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +#define glBeginTransformFeedback glad_glBeginTransformFeedback +typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void); +GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +#define glEndTransformFeedback glad_glEndTransformFeedback +typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +#define glBindBufferRange glad_glBindBufferRange +typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); +GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +#define glBindBufferBase glad_glBindBufferBase +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); +GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying +typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); +GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor; +#define glClampColor glad_glClampColor +typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); +GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +#define glBeginConditionalRender glad_glBeginConditionalRender +typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void); +GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +#define glEndConditionalRender glad_glEndConditionalRender +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +#define glVertexAttribIPointer glad_glVertexAttribIPointer +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params); +GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +#define glGetVertexAttribIiv glad_glGetVertexAttribIiv +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params); +GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); +GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +#define glVertexAttribI1i glad_glVertexAttribI1i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); +GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +#define glVertexAttribI2i glad_glVertexAttribI2i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); +GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +#define glVertexAttribI3i glad_glVertexAttribI3i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +#define glVertexAttribI4i glad_glVertexAttribI4i +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); +GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +#define glVertexAttribI1ui glad_glVertexAttribI1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); +GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +#define glVertexAttribI2ui glad_glVertexAttribI2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +#define glVertexAttribI3ui glad_glVertexAttribI3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +#define glVertexAttribI4ui glad_glVertexAttribI4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +#define glVertexAttribI1iv glad_glVertexAttribI1iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +#define glVertexAttribI2iv glad_glVertexAttribI2iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +#define glVertexAttribI3iv glad_glVertexAttribI3iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v); +GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +#define glVertexAttribI4iv glad_glVertexAttribI4iv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +#define glVertexAttribI1uiv glad_glVertexAttribI1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +#define glVertexAttribI2uiv glad_glVertexAttribI2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +#define glVertexAttribI3uiv glad_glVertexAttribI3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v); +GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +#define glVertexAttribI4uiv glad_glVertexAttribI4uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v); +GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +#define glVertexAttribI4bv glad_glVertexAttribI4bv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v); +GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +#define glVertexAttribI4sv glad_glVertexAttribI4sv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v); +GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +#define glVertexAttribI4ubv glad_glVertexAttribI4ubv +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v); +GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +#define glVertexAttribI4usv glad_glVertexAttribI4usv +typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params); +GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +#define glGetUniformuiv glad_glGetUniformuiv +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +#define glBindFragDataLocation glad_glBindFragDataLocation +typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +#define glGetFragDataLocation glad_glGetFragDataLocation +typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); +GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui; +#define glUniform1ui glad_glUniform1ui +typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); +GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui; +#define glUniform2ui glad_glUniform2ui +typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); +GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui; +#define glUniform3ui glad_glUniform3ui +typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui; +#define glUniform4ui glad_glUniform4ui +typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +#define glUniform1uiv glad_glUniform1uiv +typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +#define glUniform2uiv glad_glUniform2uiv +typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +#define glUniform3uiv glad_glUniform3uiv +typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value); +GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +#define glUniform4uiv glad_glUniform4uiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params); +GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +#define glTexParameterIiv glad_glTexParameterIiv +typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params); +GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +#define glTexParameterIuiv glad_glTexParameterIuiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +#define glGetTexParameterIiv glad_glGetTexParameterIiv +typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params); +GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +#define glGetTexParameterIuiv glad_glGetTexParameterIuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +#define glClearBufferiv glad_glClearBufferiv +typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +#define glClearBufferuiv glad_glClearBufferuiv +typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +#define glClearBufferfv glad_glClearBufferfv +typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +#define glClearBufferfi glad_glClearBufferfi +typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); +GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi; +#define glGetStringi glad_glGetStringi +typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); +GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +#define glIsRenderbuffer glad_glIsRenderbuffer +typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); +GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +#define glBindRenderbuffer glad_glBindRenderbuffer +typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers); +GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +#define glDeleteRenderbuffers glad_glDeleteRenderbuffers +typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); +GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +#define glGenRenderbuffers glad_glGenRenderbuffers +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +#define glRenderbufferStorage glad_glRenderbufferStorage +typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); +GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv +typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); +GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +#define glIsFramebuffer glad_glIsFramebuffer +typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); +GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +#define glBindFramebuffer glad_glBindFramebuffer +typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers); +GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +#define glDeleteFramebuffers glad_glDeleteFramebuffers +typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); +GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +#define glGenFramebuffers glad_glGenFramebuffers +typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); +GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +#define glCheckFramebufferStatus glad_glCheckFramebufferStatus +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +#define glFramebufferTexture1D glad_glFramebufferTexture1D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +#define glFramebufferTexture2D glad_glFramebufferTexture2D +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +#define glFramebufferTexture3D glad_glFramebufferTexture3D +typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv +typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target); +GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +#define glGenerateMipmap glad_glGenerateMipmap +typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +#define glBlitFramebuffer glad_glBlitFramebuffer +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +#define glFramebufferTextureLayer glad_glFramebufferTextureLayer +typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +#define glMapBufferRange glad_glMapBufferRange +typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); +GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +#define glFlushMappedBufferRange glad_glFlushMappedBufferRange +typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +#define glBindVertexArray glad_glBindVertexArray +typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays); +GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +#define glDeleteVertexArrays glad_glDeleteVertexArrays +typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); +GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +#define glGenVertexArrays glad_glGenVertexArrays +typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array); +GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +#define glIsVertexArray glad_glIsVertexArray +#endif +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 +GLAPI int GLAD_GL_VERSION_3_1; +typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); +GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +#define glDrawArraysInstanced glad_glDrawArraysInstanced +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); +GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +#define glDrawElementsInstanced glad_glDrawElementsInstanced +typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); +GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer; +#define glTexBuffer glad_glTexBuffer +typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); +GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex +typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +#define glCopyBufferSubData glad_glCopyBufferSubData +typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); +GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +#define glGetUniformIndices glad_glGetUniformIndices +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +#define glGetActiveUniformsiv glad_glGetActiveUniformsiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); +GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +#define glGetActiveUniformName glad_glGetActiveUniformName +typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName); +GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +#define glGetUniformBlockIndex glad_glGetUniformBlockIndex +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv +typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); +GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName +typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); +GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +#define glUniformBlockBinding glad_glUniformBlockBinding +#endif +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 +GLAPI int GLAD_GL_VERSION_3_2; +typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex +typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); +GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex +typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode); +GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +#define glProvokingVertex glad_glProvokingVertex +typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); +GLAPI PFNGLFENCESYNCPROC glad_glFenceSync; +#define glFenceSync glad_glFenceSync +typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync); +GLAPI PFNGLISSYNCPROC glad_glIsSync; +#define glIsSync glad_glIsSync +typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync); +GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync; +#define glDeleteSync glad_glDeleteSync +typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +#define glClientWaitSync glad_glClientWaitSync +typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI PFNGLWAITSYNCPROC glad_glWaitSync; +#define glWaitSync glad_glWaitSync +typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data); +GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +#define glGetInteger64v glad_glGetInteger64v +typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv; +#define glGetSynciv glad_glGetSynciv +typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data); +GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +#define glGetInteger64i_v glad_glGetInteger64i_v +typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params); +GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +#define glGetBufferParameteri64v glad_glGetBufferParameteri64v +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +#define glFramebufferTexture glad_glFramebufferTexture +typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +#define glTexImage2DMultisample glad_glTexImage2DMultisample +typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +#define glTexImage3DMultisample glad_glTexImage3DMultisample +typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val); +GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +#define glGetMultisamplefv glad_glGetMultisamplefv +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); +GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +#define glSampleMaski glad_glSampleMaski +#endif +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 +GLAPI int GLAD_GL_VERSION_3_3; +typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed +typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name); +GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +#define glGetFragDataIndex glad_glGetFragDataIndex +typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers); +GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers; +#define glGenSamplers glad_glGenSamplers +typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers); +GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +#define glDeleteSamplers glad_glDeleteSamplers +typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler); +GLAPI PFNGLISSAMPLERPROC glad_glIsSampler; +#define glIsSampler glad_glIsSampler +typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); +GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler; +#define glBindSampler glad_glBindSampler +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); +GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +#define glSamplerParameteri glad_glSamplerParameteri +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +#define glSamplerParameteriv glad_glSamplerParameteriv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); +GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +#define glSamplerParameterf glad_glSamplerParameterf +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param); +GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +#define glSamplerParameterfv glad_glSamplerParameterfv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param); +GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +#define glSamplerParameterIiv glad_glSamplerParameterIiv +typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param); +GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +#define glSamplerParameterIuiv glad_glSamplerParameterIuiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +#define glGetSamplerParameteriv glad_glGetSamplerParameteriv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params); +GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +#define glGetSamplerParameterfv glad_glGetSamplerParameterfv +typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params); +GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv +typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); +GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +#define glQueryCounter glad_glQueryCounter +typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params); +GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +#define glGetQueryObjecti64v glad_glGetQueryObjecti64v +typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params); +GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +#define glGetQueryObjectui64v glad_glGetQueryObjectui64v +typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); +GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +#define glVertexAttribDivisor glad_glVertexAttribDivisor +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +#define glVertexAttribP1ui glad_glVertexAttribP1ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +#define glVertexAttribP1uiv glad_glVertexAttribP1uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +#define glVertexAttribP2ui glad_glVertexAttribP2ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +#define glVertexAttribP2uiv glad_glVertexAttribP2uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +#define glVertexAttribP3ui glad_glVertexAttribP3ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +#define glVertexAttribP3uiv glad_glVertexAttribP3uiv +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); +GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +#define glVertexAttribP4ui glad_glVertexAttribP4ui +typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); +GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +#define glVertexAttribP4uiv glad_glVertexAttribP4uiv +typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +#define glVertexP2ui glad_glVertexP2ui +typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +#define glVertexP2uiv glad_glVertexP2uiv +typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +#define glVertexP3ui glad_glVertexP3ui +typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +#define glVertexP3uiv glad_glVertexP3uiv +typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value); +GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +#define glVertexP4ui glad_glVertexP4ui +typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value); +GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +#define glVertexP4uiv glad_glVertexP4uiv +typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +#define glTexCoordP1ui glad_glTexCoordP1ui +typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +#define glTexCoordP1uiv glad_glTexCoordP1uiv +typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +#define glTexCoordP2ui glad_glTexCoordP2ui +typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +#define glTexCoordP2uiv glad_glTexCoordP2uiv +typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +#define glTexCoordP3ui glad_glTexCoordP3ui +typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +#define glTexCoordP3uiv glad_glTexCoordP3uiv +typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +#define glTexCoordP4ui glad_glTexCoordP4ui +typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +#define glTexCoordP4uiv glad_glTexCoordP4uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords); +GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui +typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); +GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv +typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords); +GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui; +#define glNormalP3ui glad_glNormalP3ui +typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords); +GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +#define glNormalP3uiv glad_glNormalP3uiv +typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui; +#define glColorP3ui glad_glColorP3ui +typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +#define glColorP3uiv glad_glColorP3uiv +typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui; +#define glColorP4ui glad_glColorP4ui +typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +#define glColorP4uiv glad_glColorP4uiv +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color); +GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +#define glSecondaryColorP3ui glad_glSecondaryColorP3ui +typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color); +GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/glad/src/glad.c b/external/glad/src/glad.c new file mode 100644 index 000000000..67d1b4ab8 --- /dev/null +++ b/external/glad/src/glad.c @@ -0,0 +1,1011 @@ +/* + + OpenGL loader generated by glad 0.1.16a0 on Sat Feb 10 21:53:25 2018. + + Language/Generator: C/C++ + Specification: gl + APIs: gl=3.3 + Profile: core + Extensions: + + Loader: False + Local files: False + Omit khrplatform: False + + Commandline: + --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --extensions="" + Online: + http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3 +*/ + +#include +#include +#include +#include + +struct gladGLversionStruct GLVersion; + +#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) +#define _GLAD_IS_SOME_NEW_VERSION 1 +#endif + +static int max_loaded_major; +static int max_loaded_minor; + +static const char *exts = NULL; +static int num_exts_i = 0; +static const char **exts_i = NULL; + +static int get_exts(void) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if(max_loaded_major < 3) { +#endif + exts = (const char *)glGetString(GL_EXTENSIONS); +#ifdef _GLAD_IS_SOME_NEW_VERSION + } else { + unsigned int index; + + num_exts_i = 0; + glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); + if (num_exts_i > 0) { + exts_i = (const char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i)); + } + + if (exts_i == NULL) { + return 0; + } + + for(index = 0; index < (unsigned)num_exts_i; index++) { + const char *gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index); + size_t len = strlen(gl_str_tmp); + + char *local_str = (char*)malloc((len+1) * sizeof(*exts_i)); + if(local_str != NULL) { +#if _MSC_VER >= 1400 + strncpy_s(local_str, len+1, gl_str_tmp, len); +#else + strncpy(local_str, gl_str_tmp, len+1); +#endif + } + exts_i[index] = local_str; + } + } +#endif + return 1; +} + +static void free_exts(void) { + if (exts_i != NULL) { + int index; + for(index = 0; index < num_exts_i; index++) { + free((char *)exts_i[index]); + } + free((void *)exts_i); + exts_i = NULL; + } +} + +static int has_ext(const char *ext) { +#ifdef _GLAD_IS_SOME_NEW_VERSION + if(max_loaded_major < 3) { +#endif + const char *extensions; + const char *loc; + const char *terminator; + extensions = exts; + if(extensions == NULL || ext == NULL) { + return 0; + } + + while(1) { + loc = strstr(extensions, ext); + if(loc == NULL) { + return 0; + } + + terminator = loc + strlen(ext); + if((loc == extensions || *(loc - 1) == ' ') && + (*terminator == ' ' || *terminator == '\0')) { + return 1; + } + extensions = terminator; + } +#ifdef _GLAD_IS_SOME_NEW_VERSION + } else { + int index; + if(exts_i == NULL) return 0; + for(index = 0; index < num_exts_i; index++) { + const char *e = exts_i[index]; + + if(exts_i[index] != NULL && strcmp(e, ext) == 0) { + return 1; + } + } + } +#endif + + return 0; +} +int GLAD_GL_VERSION_1_0; +int GLAD_GL_VERSION_1_1; +int GLAD_GL_VERSION_1_2; +int GLAD_GL_VERSION_1_3; +int GLAD_GL_VERSION_1_4; +int GLAD_GL_VERSION_1_5; +int GLAD_GL_VERSION_2_0; +int GLAD_GL_VERSION_2_1; +int GLAD_GL_VERSION_3_0; +int GLAD_GL_VERSION_3_1; +int GLAD_GL_VERSION_3_2; +int GLAD_GL_VERSION_3_3; +PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +PFNGLBINDSAMPLERPROC glad_glBindSampler; +PFNGLLINEWIDTHPROC glad_glLineWidth; +PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +PFNGLCOMPILESHADERPROC glad_glCompileShader; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +PFNGLENABLEIPROC glad_glEnablei; +PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +PFNGLCREATESHADERPROC glad_glCreateShader; +PFNGLISBUFFERPROC glad_glIsBuffer; +PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +PFNGLHINTPROC glad_glHint; +PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +PFNGLPOINTSIZEPROC glad_glPointSize; +PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +PFNGLWAITSYNCPROC glad_glWaitSync; +PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +PFNGLUNIFORM3IPROC glad_glUniform3i; +PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +PFNGLUNIFORM3FPROC glad_glUniform3f; +PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +PFNGLCOLORMASKIPROC glad_glColorMaski; +PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +PFNGLDRAWARRAYSPROC glad_glDrawArrays; +PFNGLUNIFORM1UIPROC glad_glUniform1ui; +PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +PFNGLCLEARPROC glad_glClear; +PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +PFNGLISENABLEDPROC glad_glIsEnabled; +PFNGLSTENCILOPPROC glad_glStencilOp; +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +PFNGLGETQUERYIVPROC glad_glGetQueryiv; +PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +PFNGLISSHADERPROC glad_glIsShader; +PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +PFNGLENABLEPROC glad_glEnable; +PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +PFNGLFLUSHPROC glad_glFlush; +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +PFNGLFENCESYNCPROC glad_glFenceSync; +PFNGLCOLORP3UIPROC glad_glColorP3ui; +PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +PFNGLGENSAMPLERSPROC glad_glGenSamplers; +PFNGLCLAMPCOLORPROC glad_glClampColor; +PFNGLUNIFORM4IVPROC glad_glUniform4iv; +PFNGLCLEARSTENCILPROC glad_glClearStencil; +PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +PFNGLGENTEXTURESPROC glad_glGenTextures; +PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +PFNGLISSYNCPROC glad_glIsSync; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +PFNGLUNIFORM2IPROC glad_glUniform2i; +PFNGLUNIFORM2FPROC glad_glUniform2f; +PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +PFNGLGENQUERIESPROC glad_glGenQueries; +PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +PFNGLISENABLEDIPROC glad_glIsEnabledi; +PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +PFNGLUNIFORM2IVPROC glad_glUniform2iv; +PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +PFNGLGETSHADERIVPROC glad_glGetShaderiv; +PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +PFNGLGETDOUBLEVPROC glad_glGetDoublev; +PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +PFNGLUNIFORM3FVPROC glad_glUniform3fv; +PFNGLDEPTHRANGEPROC glad_glDepthRange; +PFNGLMAPBUFFERPROC glad_glMapBuffer; +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +PFNGLDELETESYNCPROC glad_glDeleteSync; +PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +PFNGLUNIFORM3IVPROC glad_glUniform3iv; +PFNGLPOLYGONMODEPROC glad_glPolygonMode; +PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +PFNGLUSEPROGRAMPROC glad_glUseProgram; +PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +PFNGLFINISHPROC glad_glFinish; +PFNGLDELETESHADERPROC glad_glDeleteShader; +PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +PFNGLVIEWPORTPROC glad_glViewport; +PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +PFNGLUNIFORM2UIPROC glad_glUniform2ui; +PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +PFNGLCLEARDEPTHPROC glad_glClearDepth; +PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +PFNGLTEXBUFFERPROC glad_glTexBuffer; +PFNGLPIXELSTOREIPROC glad_glPixelStorei; +PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +PFNGLPIXELSTOREFPROC glad_glPixelStoref; +PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +PFNGLLINKPROGRAMPROC glad_glLinkProgram; +PFNGLBINDTEXTUREPROC glad_glBindTexture; +PFNGLGETSTRINGPROC glad_glGetString; +PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +PFNGLDETACHSHADERPROC glad_glDetachShader; +PFNGLENDQUERYPROC glad_glEndQuery; +PFNGLNORMALP3UIPROC glad_glNormalP3ui; +PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +PFNGLUNIFORM1FPROC glad_glUniform1f; +PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +PFNGLUNIFORM1IPROC glad_glUniform1i; +PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +PFNGLDISABLEPROC glad_glDisable; +PFNGLLOGICOPPROC glad_glLogicOp; +PFNGLUNIFORM4UIPROC glad_glUniform4ui; +PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +PFNGLCULLFACEPROC glad_glCullFace; +PFNGLGETSTRINGIPROC glad_glGetStringi; +PFNGLATTACHSHADERPROC glad_glAttachShader; +PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +PFNGLDRAWELEMENTSPROC glad_glDrawElements; +PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +PFNGLUNIFORM1IVPROC glad_glUniform1iv; +PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +PFNGLREADBUFFERPROC glad_glReadBuffer; +PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +PFNGLBLENDCOLORPROC glad_glBlendColor; +PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +PFNGLISPROGRAMPROC glad_glIsProgram; +PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +PFNGLUNIFORM4IPROC glad_glUniform4i; +PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +PFNGLREADPIXELSPROC glad_glReadPixels; +PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +PFNGLUNIFORM4FPROC glad_glUniform4f; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +PFNGLSTENCILFUNCPROC glad_glStencilFunc; +PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +PFNGLCOLORP4UIPROC glad_glColorP4ui; +PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +PFNGLGENBUFFERSPROC glad_glGenBuffers; +PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +PFNGLBLENDFUNCPROC glad_glBlendFunc; +PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +PFNGLSCISSORPROC glad_glScissor; +PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +PFNGLCLEARCOLORPROC glad_glClearColor; +PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +PFNGLUNIFORM3UIPROC glad_glUniform3ui; +PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +PFNGLUNIFORM2FVPROC glad_glUniform2fv; +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +PFNGLDEPTHFUNCPROC glad_glDepthFunc; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +PFNGLCOLORMASKPROC glad_glColorMask; +PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +PFNGLUNIFORM4FVPROC glad_glUniform4fv; +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +PFNGLISSAMPLERPROC glad_glIsSampler; +PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +PFNGLDISABLEIPROC glad_glDisablei; +PFNGLSHADERSOURCEPROC glad_glShaderSource; +PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +PFNGLGETSYNCIVPROC glad_glGetSynciv; +PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +PFNGLBEGINQUERYPROC glad_glBeginQuery; +PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +PFNGLBINDBUFFERPROC glad_glBindBuffer; +PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +PFNGLBUFFERDATAPROC glad_glBufferData; +PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +PFNGLGETERRORPROC glad_glGetError; +PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +PFNGLGETFLOATVPROC glad_glGetFloatv; +PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +PFNGLGETINTEGERVPROC glad_glGetIntegerv; +PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +PFNGLISQUERYPROC glad_glIsQuery; +PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +PFNGLSTENCILMASKPROC glad_glStencilMask; +PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +PFNGLISTEXTUREPROC glad_glIsTexture; +PFNGLUNIFORM1FVPROC glad_glUniform1fv; +PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +PFNGLDEPTHMASKPROC glad_glDepthMask; +PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +PFNGLFRONTFACEPROC glad_glFrontFace; +static void load_GL_VERSION_1_0(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_0) return; + glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); + glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace"); + glad_glHint = (PFNGLHINTPROC)load("glHint"); + glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth"); + glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize"); + glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode"); + glad_glScissor = (PFNGLSCISSORPROC)load("glScissor"); + glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf"); + glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv"); + glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri"); + glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv"); + glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D"); + glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D"); + glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer"); + glad_glClear = (PFNGLCLEARPROC)load("glClear"); + glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor"); + glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil"); + glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth"); + glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask"); + glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask"); + glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask"); + glad_glDisable = (PFNGLDISABLEPROC)load("glDisable"); + glad_glEnable = (PFNGLENABLEPROC)load("glEnable"); + glad_glFinish = (PFNGLFINISHPROC)load("glFinish"); + glad_glFlush = (PFNGLFLUSHPROC)load("glFlush"); + glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc"); + glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp"); + glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc"); + glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp"); + glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc"); + glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref"); + glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei"); + glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer"); + glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels"); + glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv"); + glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev"); + glad_glGetError = (PFNGLGETERRORPROC)load("glGetError"); + glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv"); + glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv"); + glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage"); + glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv"); + glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv"); + glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv"); + glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv"); + glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled"); + glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange"); + glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport"); +} +static void load_GL_VERSION_1_1(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_1) return; + glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays"); + glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements"); + glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset"); + glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D"); + glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D"); + glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D"); + glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D"); + glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D"); + glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D"); + glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture"); + glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures"); + glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures"); + glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture"); +} +static void load_GL_VERSION_1_2(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_2) return; + glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements"); + glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D"); + glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D"); + glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D"); +} +static void load_GL_VERSION_1_3(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_3) return; + glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture"); + glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage"); + glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D"); + glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D"); + glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D"); + glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D"); + glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D"); + glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D"); + glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage"); +} +static void load_GL_VERSION_1_4(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_4) return; + glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate"); + glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays"); + glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements"); + glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf"); + glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv"); + glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri"); + glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv"); + glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor"); + glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation"); +} +static void load_GL_VERSION_1_5(GLADloadproc load) { + if(!GLAD_GL_VERSION_1_5) return; + glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries"); + glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries"); + glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery"); + glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery"); + glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery"); + glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv"); + glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv"); + glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv"); + glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer"); + glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers"); + glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers"); + glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer"); + glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData"); + glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData"); + glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData"); + glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer"); + glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer"); + glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv"); + glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv"); +} +static void load_GL_VERSION_2_0(GLADloadproc load) { + if(!GLAD_GL_VERSION_2_0) return; + glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate"); + glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers"); + glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate"); + glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate"); + glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate"); + glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader"); + glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation"); + glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader"); + glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram"); + glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader"); + glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram"); + glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader"); + glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader"); + glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray"); + glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray"); + glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib"); + glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform"); + glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders"); + glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation"); + glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv"); + glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog"); + glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv"); + glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog"); + glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource"); + glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation"); + glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv"); + glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv"); + glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv"); + glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv"); + glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv"); + glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv"); + glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram"); + glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader"); + glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram"); + glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource"); + glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram"); + glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f"); + glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f"); + glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f"); + glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f"); + glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i"); + glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i"); + glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i"); + glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i"); + glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv"); + glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv"); + glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv"); + glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv"); + glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv"); + glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv"); + glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv"); + glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv"); + glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv"); + glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv"); + glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv"); + glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram"); + glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d"); + glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv"); + glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f"); + glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv"); + glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s"); + glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv"); + glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d"); + glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv"); + glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f"); + glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv"); + glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s"); + glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv"); + glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d"); + glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv"); + glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f"); + glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv"); + glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s"); + glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv"); + glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv"); + glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv"); + glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv"); + glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub"); + glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv"); + glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv"); + glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv"); + glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv"); + glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d"); + glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv"); + glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f"); + glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv"); + glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv"); + glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s"); + glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv"); + glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv"); + glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv"); + glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv"); + glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer"); +} +static void load_GL_VERSION_2_1(GLADloadproc load) { + if(!GLAD_GL_VERSION_2_1) return; + glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv"); + glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv"); + glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv"); + glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv"); + glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv"); + glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv"); +} +static void load_GL_VERSION_3_0(GLADloadproc load) { + if(!GLAD_GL_VERSION_3_0) return; + glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski"); + glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); + glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei"); + glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei"); + glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi"); + glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback"); + glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings"); + glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying"); + glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor"); + glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender"); + glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender"); + glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer"); + glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv"); + glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv"); + glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i"); + glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i"); + glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i"); + glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i"); + glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui"); + glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui"); + glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui"); + glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui"); + glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv"); + glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv"); + glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv"); + glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv"); + glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv"); + glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv"); + glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv"); + glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv"); + glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv"); + glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv"); + glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv"); + glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv"); + glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv"); + glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation"); + glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation"); + glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui"); + glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui"); + glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui"); + glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui"); + glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv"); + glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv"); + glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv"); + glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv"); + glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv"); + glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv"); + glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv"); + glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv"); + glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv"); + glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv"); + glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv"); + glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi"); + glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi"); + glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer"); + glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer"); + glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers"); + glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers"); + glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage"); + glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv"); + glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer"); + glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer"); + glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers"); + glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers"); + glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus"); + glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D"); + glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D"); + glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D"); + glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer"); + glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv"); + glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap"); + glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer"); + glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample"); + glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer"); + glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange"); + glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange"); + glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray"); + glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays"); + glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays"); + glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray"); +} +static void load_GL_VERSION_3_1(GLADloadproc load) { + if(!GLAD_GL_VERSION_3_1) return; + glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced"); + glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced"); + glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer"); + glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex"); + glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData"); + glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices"); + glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv"); + glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName"); + glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex"); + glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv"); + glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName"); + glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding"); + glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange"); + glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase"); + glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v"); +} +static void load_GL_VERSION_3_2(GLADloadproc load) { + if(!GLAD_GL_VERSION_3_2) return; + glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex"); + glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex"); + glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex"); + glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex"); + glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex"); + glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync"); + glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync"); + glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync"); + glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync"); + glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync"); + glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v"); + glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv"); + glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v"); + glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v"); + glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture"); + glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample"); + glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample"); + glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv"); + glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski"); +} +static void load_GL_VERSION_3_3(GLADloadproc load) { + if(!GLAD_GL_VERSION_3_3) return; + glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed"); + glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex"); + glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers"); + glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers"); + glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler"); + glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler"); + glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri"); + glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv"); + glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf"); + glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv"); + glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv"); + glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv"); + glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv"); + glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv"); + glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv"); + glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv"); + glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter"); + glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v"); + glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v"); + glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor"); + glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui"); + glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv"); + glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui"); + glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv"); + glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui"); + glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv"); + glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui"); + glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv"); + glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui"); + glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv"); + glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui"); + glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv"); + glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui"); + glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv"); + glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui"); + glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv"); + glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui"); + glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv"); + glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui"); + glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv"); + glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui"); + glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv"); + glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui"); + glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv"); + glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui"); + glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv"); + glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui"); + glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv"); + glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui"); + glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv"); + glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui"); + glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv"); + glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui"); + glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv"); + glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui"); + glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv"); + glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); + glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); +} +static int find_extensionsGL(void) { + if (!get_exts()) return 0; + (void)&has_ext; + free_exts(); + return 1; +} + +static void find_coreGL(void) { + + /* Thank you @elmindreda + * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176 + * https://github.com/glfw/glfw/blob/master/src/context.c#L36 + */ + int i, major, minor; + + const char* version; + const char* prefixes[] = { + "OpenGL ES-CM ", + "OpenGL ES-CL ", + "OpenGL ES ", + NULL + }; + + version = (const char*) glGetString(GL_VERSION); + if (!version) return; + + for (i = 0; prefixes[i]; i++) { + const size_t length = strlen(prefixes[i]); + if (strncmp(version, prefixes[i], length) == 0) { + version += length; + break; + } + } + +/* PR #18 */ +#ifdef _MSC_VER + sscanf_s(version, "%d.%d", &major, &minor); +#else + sscanf(version, "%d.%d", &major, &minor); +#endif + + GLVersion.major = major; GLVersion.minor = minor; + max_loaded_major = major; max_loaded_minor = minor; + GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1; + GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1; + GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1; + GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1; + GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1; + GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1; + GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2; + GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2; + GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3; + GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3; + GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3; + GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3; + if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) { + max_loaded_major = 3; + max_loaded_minor = 3; + } +} + +int gladLoadGLLoader(GLADloadproc load) { + GLVersion.major = 0; GLVersion.minor = 0; + glGetString = (PFNGLGETSTRINGPROC)load("glGetString"); + if(glGetString == NULL) return 0; + if(glGetString(GL_VERSION) == NULL) return 0; + find_coreGL(); + load_GL_VERSION_1_0(load); + load_GL_VERSION_1_1(load); + load_GL_VERSION_1_2(load); + load_GL_VERSION_1_3(load); + load_GL_VERSION_1_4(load); + load_GL_VERSION_1_5(load); + load_GL_VERSION_2_0(load); + load_GL_VERSION_2_1(load); + load_GL_VERSION_3_0(load); + load_GL_VERSION_3_1(load); + load_GL_VERSION_3_2(load); + load_GL_VERSION_3_3(load); + + if (!find_extensionsGL()) return 0; + return GLVersion.major != 0 || GLVersion.minor != 0; +} + diff --git a/external/glfw b/external/glfw new file mode 160000 index 000000000..58cc4b2c5 --- /dev/null +++ b/external/glfw @@ -0,0 +1 @@ +Subproject commit 58cc4b2c5c2c9a245e09451437dd6f5af4d60c84 diff --git a/external/imgui/CMakeLists.txt b/external/imgui/CMakeLists.txt new file mode 100644 index 000000000..c35a1a1be --- /dev/null +++ b/external/imgui/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.1) + +add_library(imgui + imgui/imgui.cpp + imgui/imgui_demo.cpp + imgui/imgui_draw.cpp + imgui_impl_glfw_gl3.cpp +) + +target_include_directories(imgui PRIVATE imgui) +target_include_directories(imgui SYSTEM INTERFACE .) + +target_link_libraries(imgui PRIVATE glad glfw) diff --git a/external/imgui/imgui b/external/imgui/imgui new file mode 160000 index 000000000..7cc1bc763 --- /dev/null +++ b/external/imgui/imgui @@ -0,0 +1 @@ +Subproject commit 7cc1bc7635989e2372102462922378df585e7f03 diff --git a/external/imgui/imgui_fonts_droid_sans.h b/external/imgui/imgui_fonts_droid_sans.h new file mode 100644 index 000000000..c438e8817 --- /dev/null +++ b/external/imgui/imgui_fonts_droid_sans.h @@ -0,0 +1,2808 @@ +#pragma once + +// File: 'DroidSans.ttf' (190044 bytes) +// Exported using binary_to_compressed_c.cpp +static const unsigned int droid_sans_compressed_size = 134345; +static const unsigned int droid_sans_compressed_data[134348/4] = +{ + 0x0000bc57, 0x00000000, 0x5ce60200, 0x00000400, 0x00010025, 0x82130000, 0x00042e04, 0x45444730, 0x03260046, 0x3d020087, 0x28158220, 0x4f50471e, + 0xa2bd9453, 0x300f82f0, 0xa8000040, 0x555347fa, 0x74916c42, 0xe602008f, 0x271f823c, 0x53544c20, 0xb99bc948, 0x10312b82, 0x0300001c, 0x2f534f86, + 0x95cba032, 0x0100008b, 0x3c1f82b8, 0x616d6360, 0xd411ce70, 0x560000a2, 0x07000078, 0x7476639e, 0x3e7e3920, 0x6800004c, 0x2c23820c, 0x677066fc, + 0x23d3736d, 0x5e0000b0, 0x281f8218, 0x73616705, 0x00040070, 0x206f8207, 0x083f8214, 0x6c670c28, 0x93c26679, 0x000051c6, 0x01001071, 0x64681ea8, + 0x0eef786d, 0x0000abfa, 0x0000a413, 0x6568d442, 0xc6eb6461, 0x4b82350a, 0x2f823c20, 0x82683621, 0x530c2210, 0x211b8209, 0x0f827401, 0x6d68242b, + 0xd7d27874, 0x0000272e, 0x2d5f8202, 0x6f6c040e, 0xfa926163, 0x00004c29, 0x6f82086a, 0x616d0628, 0x2a067078, 0x3f828502, 0x2f829820, 0x6e203208, + 0xb5656d61, 0x00569059, 0x00301902, 0x70a20600, 0xd874736f, 0x0027a950, 0x00d41f02, 0x703f1d00, 0x82706572, 0x001321dc, 0x00206500, 0x00ec0200, + 0x82358201, 0x1d5e2b03, 0x0f5fc1b5, 0x1900f53c, 0x00830008, 0x339ac122, 0x002c0683, 0x038c1bc6, 0xd5fd89fb, 0x62085a09, 0x06221082, 0x2f820200, + 0x33820283, 0xfe6d072d, 0x0900001d, 0xfe89fb64, 0x845a09a2, 0x86198349, 0x80032103, 0x03291183, 0x00a00082, 0x007a0016, 0x25398205, 0x002f0010, + 0x8a82005a, 0x00390123, 0x241d8203, 0x01990403, 0x23198290, 0x059a0508, 0x01216e82, 0x2507851e, 0x6600d003, 0x2782f201, 0x06060b30, 0x02040803, + 0x00e00402, 0x0040ef02, 0x5a825b20, 0x03822820, 0x41310025, 0x82004353, 0xfdff2f10, 0x14fe1f06, 0x6d078400, 0x0020e301, 0x1b839f01, 0x054a0423, + 0x260782b6, 0x04020020, 0x84c100cd, 0x00142311, 0x03830200, 0x9300273e, 0x85003703, 0x33002b05, 0x7b006804, 0x66009a06, 0x6d009e05, 0x8500cf01, + 0x52006802, 0x3d200382, 0x52201782, 0x66260382, 0x3f000002, 0x13829302, 0x93002526, 0x1400fc02, 0x62201382, 0xb2200382, 0x60200382, 0x17202386, + 0x83200782, 0x71200382, 0x5a200382, 0x6a200382, 0x02200383, 0x25222f83, 0x0b823f00, 0x03876620, 0x00680335, 0x00ee0625, 0x00dd046d, 0x00f80400, + 0x00d304c7, 0x8279057d, 0x00392807, 0x00ee03c7, 0x828505c7, 0x009c240f, 0x82b602c7, 0xff2b246f, 0x85a20448, 0xf6062117, 0xd5201b82, 0xf0230382, + 0x82047d00, 0xee05211f, 0xb8200782, 0x27303782, 0x27046800, 0x96051400, 0x8b04b800, 0x12070000, 0x60209f82, 0x37205b82, 0x50200382, 0x6d224382, + 0xb382a400, 0x6d021722, 0x4236e782, 0x4a032900, 0x9e04fcff, 0x3f048901, 0xb0045e00, 0xb403ae00, 0x07827100, 0x4804713a, 0xa2027100, 0x25041d00, + 0xb6042500, 0x1202ae00, 0x1202a000, 0xf803bcff, 0xae240b84, 0xae002b07, 0x04211783, 0x202f849e, 0x213383ae, 0x3f823103, 0x5a009c22, 0x2120ab82, + 0xa4261b82, 0x0000d503, 0x7f82f805, 0x23000028, 0x0a00e903, 0x7f828703, 0x3d00d528, 0xe9016804, 0x7f82d502, 0x66006822, 0x23077b41, 0xbc006804, + 0x44200382, 0x7b200382, 0x1d200382, 0x03232383, 0x827900e3, 0x06332b9b, 0x026400a8, 0x034400a6, 0x7f4100e5, 0x00932205, 0x26138352, 0xfaff0004, + 0x83006d03, 0x8266202f, 0x8231201f, 0x841f2003, 0x00c124cb, 0x823d05ae, 0x002526bf, 0x00a40193, 0x24178223, 0x00cd023f, 0x243f8242, 0x00e50554, + 0x2003823f, 0x2803822c, 0x0068031f, 0x00dd0444, 0x29039300, 0xfeffd106, 0x7d00d304, 0x8b413904, 0x82078705, 0x823e20db, 0x82522003, 0x82112003, + 0x05402503, 0x052f0079, 0x23068741, 0x7d00f005, 0xc782038b, 0x0f848d20, 0xb8009623, 0x21038a05, 0x73823704, 0x57829c20, 0xae00d126, 0x5e003f04, + 0x06290393, 0x035e00aa, 0x047100b4, 0x27038d48, 0xdeff1202, 0xae001202, 0xbd200782, 0xee240382, 0x6f009e04, 0x20088741, 0x8b2b829e, 0x00682203, + 0x201f8266, 0x201f8273, 0x27038ba4, 0x0a00e903, 0xae00b004, 0xff830784, 0x078f8383, 0x7f84fb82, 0xf7820796, 0x4382c720, 0x07827120, 0x07832f20, + 0x82390421, 0x9eab83cf, 0x85052707, 0x25047d00, 0x07982500, 0x47829c20, 0xae00b62e, 0x00009c05, 0x1200b604, 0xf5ffb602, 0xa324e782, 0x3d00b602, + 0xeb200782, 0x30200782, 0xde200782, 0x52240782, 0x44001202, 0xae240786, 0x5200e104, 0xa0245782, 0x48ff2b02, 0xbc261f82, 0xc700a204, 0xe382f803, + 0xee220383, 0x2b82c700, 0x8503ab21, 0x86662007, 0x84ae2007, 0x82662007, 0x00ee2223, 0x2233821d, 0x86d505f6, 0x22078f7b, 0x88ffff46, 0x82f0201b, + 0x009e23bf, 0x078e0571, 0x001f0724, 0xff83077d, 0x7782b820, 0xae003123, 0x20078504, 0x28078660, 0x00270472, 0x009c0368, 0x20079a5a, 0x20cb8214, + 0x8c1f8221, 0x96052707, 0xb604b800, 0x07a7a400, 0x0012072f, 0x00f80514, 0x00370414, 0x00e90300, 0x2707830a, 0x52005004, 0x52008703, 0x0221078f, + 0x23a7824c, 0x04cb0068, 0x2706fb41, 0xfeffd106, 0x5e00aa06, 0x7320db86, 0x9e23ab88, 0x83040201, 0x01752203, 0x2407821b, 0x00120221, 0x240782a0, + 0x007b016d, 0x2217841f, 0x82df009e, 0x82f82007, 0x04143203, 0x02e9ffdd, 0x04930025, 0x06e7ffc9, 0x03e7ff17, 0x240782b2, 0x05e7ff42, 0x26078254, + 0x02e7ff4a, 0x84e4ff9e, 0x44f8206f, 0x042705c7, 0x0425008b, 0x83c70039, 0x9c05219b, 0x2105cf44, 0xab82b602, 0x1382a220, 0x00008b22, 0x2307e744, + 0x52003f04, 0x05219783, 0x82178287, 0x42042327, 0x9f824e00, 0x0625e784, 0x04680023, 0x822b8260, 0x20238207, 0x203f824e, 0x30f78440, 0x037100b0, + 0x045a00a0, 0x02ae00b6, 0x04a4009e, 0x820382b8, 0xd1042213, 0x05fb4200, 0x6f009e22, 0x03231f83, 0x837100a4, 0x87042323, 0x27837100, 0x00f80329, + 0xff1704ae, 0x82c104f2, 0x00232207, 0x271f8400, 0x0571009e, 0x0419000a, 0x0f844782, 0x5b82b420, 0x12009822, 0x05215383, 0x283f8296, 0x05ecff31, + 0x06a400ec, 0x20438406, 0x826b8415, 0x83078333, 0x25e38313, 0x1400a005, 0xe345ee03, 0x20bb8205, 0x20a78268, 0x2a038252, 0xff2b0240, 0x00480748, + 0x82750700, 0x202382ff, 0x22fb8304, 0x841900ae, 0x44dd20eb, 0x2f41062b, 0x33052306, 0x4b830e00, 0x0085062b, 0x005c0404, 0x00d50548, 0x830383c9, + 0x5a052233, 0x052f4100, 0x41064741, 0xd322082b, 0x6f827d00, 0x82041421, 0x072b4153, 0x829a0521, 0x0048266b, 0x00fa07a6, 0x250383c7, 0x14003d05, + 0x5b419606, 0x00c12406, 0x821d083b, 0x82b8200b, 0x3f2008ef, 0x8f045e00, 0x89047500, 0x3303ae00, 0x6004ae00, 0x48042900, 0xc3057100, 0xae030400, + 0xe9044400, 0x03821382, 0xae26d782, 0x10005e04, 0x0f85be05, 0xfb830420, 0x0b82c120, 0x5346b020, 0x87033105, 0xe9032900, 0x93050a00, 0x00047100, + 0xd1042300, 0xac301b82, 0xf4069a00, 0x0407ae00, 0x6d05ae00, 0xfe052900, 0x67831382, 0x3700b224, 0x0b827906, 0x27823f20, 0x04236b82, 0x831200b6, + 0xb403277b, 0x9c037100, 0x8b465a00, 0x02ee2a06, 0x06bcff12, 0x06100083, 0x832b82e5, 0x41ee2023, 0x778206d7, 0xc7208f82, 0x0f433383, 0x43078f07, + 0x0023081f, 0x86085200, 0x4a032703, 0x6601fcff, 0x03831700, 0x00000223, 0x2407823f, 0x00e70219, 0x29038317, 0x3f008103, 0x7b00e303, 0x0382f803, + 0x96000236, 0x93006f06, 0x66005a09, 0x8500cf01, 0x85003703, 0x52004e02, 0x032f0383, 0x019300f6, 0x02a0fe0a, 0x046a00f8, 0x82600068, 0x06442403, + 0x82960000, 0x063f2c07, 0x048d0068, 0x07770000, 0x82c700e7, 0x05252ceb, 0x044e00f0, 0x066600f4, 0x8253000e, 0x82332003, 0x824f2003, 0x04712a03, + 0x046200a6, 0x0529008b, 0x322782ee, 0x044a000c, 0x04660068, 0x05250064, 0x037700a8, 0x84100019, 0x8713830f, 0x00aa2603, 0x00b4046d, 0x2a03841d, + 0x02cf009e, 0x04bcff12, 0x82870100, 0x826f2003, 0x027d2403, 0x822500a6, 0x820c2003, 0x863b2003, 0x472f200b, 0x2120062f, 0x00248f82, 0x00000008, + 0x02290787, 0x020000ab, 0x01000000, 0x20138255, 0x200b8268, 0x200b8225, 0x2010829a, 0x860382cd, 0x00082302, 0x03835400, 0x01376783, 0x04170066, + 0x040a00cd, 0x06000052, 0x061200a0, 0x07c700f6, 0x44ae002b, 0x422e0853, 0xaa02d3fe, 0x33037300, 0x56079300, 0x03831d00, 0x7d34f782, 0x7100aa04, + 0xb800f405, 0xa4002f05, 0x8ffc0000, 0x48fd0000, 0x46200782, 0x04200782, 0x31220382, 0xfb823904, 0xc900d53c, 0x71004804, 0xae00e904, 0x7d00db07, + 0x00006f06, 0x14002505, 0x1400dd04, 0x1f822707, 0xae00b622, 0x002a3f82, 0x0a006404, 0xc7002907, 0x0f821206, 0x1f827f20, 0x0f82f020, 0x0f828b20, + 0x8782a220, 0x39005e2e, 0x1700ae03, 0x68002306, 0xa400ec05, 0x9b427b84, 0x03002205, 0x21e382dd, 0x078400c1, 0x00640931, 0x0058087d, 0x003f0671, + 0x0019057d, 0x82b20771, 0x8250206f, 0x20778607, 0x07074704, 0x6800df24, 0x97827504, 0xf4009e26, 0xe1019e04, 0x07290383, 0x072900e9, 0x052900a6, + 0x201782e7, 0x327382fc, 0x042f009c, 0x04120089, 0x04c7009c, 0x03ae00b0, 0x822f00ee, 0x051222ff, 0x260f8200, 0x06ae0008, 0x820400e9, 0x0404248f, + 0x8248005c, 0x0544229b, 0x2017820a, 0x2037824a, 0x200782a2, 0x2607842b, 0x00f8032f, 0x82440512, 0x82d120cb, 0x00cd2457, 0x82fa04e5, 0x005c2837, + 0x00ac05e5, 0x824408ae, 0x82b820db, 0x00ec26eb, 0x00f2047d, 0x289b8871, 0x03140027, 0x04290087, 0x20d38237, 0x87db82d5, 0x82d32007, 0x003d280b, + 0x00890623, 0x828b0514, 0x0048274f, 0x00bc04a6, 0x0783059a, 0x0784ac20, 0x8204c721, 0x77062757, 0x1d053d00, 0x07873300, 0x00b60229, 0x00850652, + 0x82c30504, 0x824a2003, 0x822d209b, 0x826a2073, 0x0071244b, 0x829c0510, 0x82e92093, 0x82cb200f, 0x87f38207, 0x0607274b, 0xd105c700, 0x3b83ae00, + 0x46070342, 0x04200f5f, 0x21062348, 0xbb828f05, 0x66004822, 0x6b870787, 0x84071741, 0x00b82707, 0x00d5051b, 0x6b8304c9, 0x7b470787, 0x0ad3410e, + 0xb2033b2c, 0xae043700, 0xe9031900, 0x078f0a00, 0x1b44a387, 0x96062107, 0xfe20ab82, 0x21099f41, 0xdb82c304, 0x23002f24, 0x07826004, 0x07820020, + 0x89009c2c, 0x7100b004, 0x8900f406, 0x0782fe06, 0x00fc2e08, 0x0046064e, 0x00c50450, 0x0010044e, 0x00a40750, 0x00a40600, 0x00e50710, 0x002f07c7, + 0x00c305ae, 0x00e1047d, 0x00810571, 0x00120514, 0x26bf8229, 0x00ae036f, 0x825a055c, 0x005e224f, 0x0f0f4110, 0x12200f8e, 0x5e200f8e, 0x7b490fb0, + 0x3904271e, 0x48042700, 0xab491200, 0xb6022717, 0x12025200, 0x07866200, 0xe3489e20, 0x200f8e0f, 0x490f8e33, 0xaa200d13, 0x9b062349, 0x0fdb4807, + 0x44060f44, 0x07970717, 0x4808bb45, 0x03200ae3, 0x2805d34a, 0xfb000071, 0xfc0000db, 0x2007826a, 0x21078589, 0x078264fc, 0x038a7320, 0xa4016426, + 0x10003100, 0x002d0182, 0x01018203, 0x18281a01, 0x010a0101, 0x2504822b, 0x1401160b, 0x00880b05, 0x82141421, 0x1c3d080a, 0x1422260b, 0x0b12010b, + 0x15151915, 0x22191c14, 0x1b161e13, 0x1017151b, 0x01122610, 0x01200105, 0x1c0b1101, 0x192a150b, 0x0a0c0c2e, 0x152e180c, 0x2a120b0b, 0x0b192e0b, + 0x1912161a, 0x20068218, 0x2e448228, 0x0115180b, 0x0b271404, 0x10010401, 0x8211110b, 0x0114294d, 0x01270a11, 0x261c0a01, 0x01210084, 0x21898214, + 0x00821901, 0x22190b22, 0x0b220083, 0x00821522, 0x16132623, 0x21008411, 0x0d821c16, 0x820c1521, 0x2e152100, 0x15230983, 0x822e150b, 0x0b162400, + 0x83112616, 0x1c142101, 0x6b830185, 0x87150121, 0x190b2101, 0x33820185, 0x0c192e22, 0x15280187, 0x150c1517, 0x0c140a0a, 0x24240184, 0x2e190c14, + 0x18240183, 0x15222e19, 0x2a230183, 0x83121628, 0x2a1b2101, 0x0b210186, 0x8301821b, 0x25038743, 0x16260b10, 0x00841226, 0x260b302c, 0x22160111, + 0x012a1b15, 0xc3832401, 0x5b080383, 0x2d151426, 0x150d150c, 0x19222616, 0x15120117, 0x19151922, 0x2211191c, 0x1b201315, 0x19101926, 0x0b261922, + 0x12162e16, 0x15160c0b, 0x172e1616, 0x122d0a16, 0x18151818, 0x01181813, 0x13131912, 0x15121618, 0x0e011812, 0x191b1419, 0x19281519, 0x1530150e, + 0x19221326, 0x1218011f, 0x10211082, 0x08a7821c, 0x1b141327, 0x15101930, 0x17191914, 0x24161910, 0x19141116, 0x19151614, 0x0a19191a, 0x15191316, + 0x191c0b12, 0x161a1916, 0x361f8212, 0x19111918, 0x142e1511, 0x0c0c2a1c, 0x2e18180c, 0x1712160a, 0x830b1001, 0x16262101, 0x1523af83, 0x82151915, + 0x82192003, 0x2b143100, 0x0c191918, 0x0b0b1901, 0x01010b11, 0x0122192a, 0x0c293382, 0x2b1e1726, 0x17170101, 0x2200820b, 0x82141419, 0x01012220, + 0x85008511, 0x852e20f3, 0x01012a06, 0x1611150c, 0x26181c18, 0x22108211, 0x82221414, 0x2c1985f7, 0x1d191519, 0x01262017, 0x18181c01, 0x28938216, + 0x191a0114, 0x18152213, 0x2a018216, 0x19151401, 0x14181d01, 0x82240d1c, 0x012e282c, 0x17011916, 0x82120b13, 0x19192515, 0x01151a12, 0x0a229d82, + 0x9782180b, 0x192e1929, 0x1c141312, 0x8226191b, 0x19193301, 0x1613152a, 0x18191214, 0x160a160a, 0x20191819, 0x32821818, 0x14191823, 0x21cb8212, + 0x82821126, 0x82011621, 0x151522d6, 0x21458218, 0xdc821112, 0xe0411920, 0x11162305, 0x01831630, 0x142c3b82, 0x14121810, 0x1a100116, 0x15170b13, + 0x16236282, 0x82271817, 0x171324aa, 0x42101a12, 0x6042065a, 0x42058b05, 0x09850960, 0x190c1923, 0x9159850c, 0x2e152505, 0x1c192e15, 0x26210187, + 0x20018316, 0x0512410b, 0x00200585, 0x13350083, 0x84030000, 0x00040706, 0x02020203, 0x04050304, 0x03020201, 0x820b8203, 0x86032005, 0x20118300, + 0x271a8203, 0x03040404, 0x02040403, 0x05201a82, 0x0d850b82, 0x84030521, 0x0203212e, 0x03211982, 0x82068304, 0x8402201f, 0x0302231f, 0x15830402, + 0x0a821482, 0x05205087, 0x02200882, 0x38823583, 0x02040423, 0x83398401, 0x21528327, 0x15820405, 0x60847e84, 0x68886282, 0x37850884, 0x00820220, + 0x3f871f8d, 0x84820782, 0xbd860d85, 0x158b0682, 0x02863a82, 0x93847c82, 0xa1859b82, 0xba845285, 0x05228b84, 0x01830204, 0x28844788, 0x05852485, + 0x1f84ad85, 0x04030224, 0x3a820503, 0x4e820c84, 0x82030121, 0x263d8200, 0x04050305, 0x83040205, 0x82032081, 0x04032270, 0x239c8705, 0x04060306, + 0x24823583, 0xf1851e8a, 0x28824c82, 0x02060522, 0x06226782, 0x0e820503, 0x0621b382, 0x82088206, 0x83408210, 0x85068212, 0x040325aa, 0x04040306, + 0x06201d82, 0x04200582, 0xd5820082, 0x11820420, 0x42820320, 0x87820d82, 0x06820520, 0x04060624, 0x72820305, 0x74820320, 0x4d820320, 0x04050523, + 0x20578303, 0x84258205, 0x060627c7, 0x02010102, 0x3d820201, 0x06020323, 0x22088207, 0x82010302, 0x0305240c, 0x82060305, 0x82052041, 0x847d8400, + 0x223b8241, 0x42030404, 0x03200a24, 0x0223cf82, 0x82030102, 0x00002244, 0x204b8206, 0x83358204, 0x02022136, 0x38827a82, 0x00830020, 0x04207182, + 0x3c824c84, 0x0b828182, 0x5c840320, 0x0321af82, 0x21188207, 0x04820506, 0xb4822482, 0x82060621, 0x82032023, 0x04022503, 0x03050503, 0x0f821485, + 0x00820420, 0x18822482, 0x82056b41, 0x8311821d, 0x20ca8302, 0x82728202, 0x2211852a, 0x84020505, 0x833d8417, 0x41318327, 0x2a420ac0, 0x25638405, + 0x02030506, 0x9e840304, 0x05050622, 0xb584bb83, 0xe7840520, 0x0a8b328a, 0x05897f85, 0x960a9642, 0x85168731, 0x00042133, 0x012e0087, 0x09070101, + 0x02040004, 0x04050302, 0x48820506, 0x82040421, 0x83ed8604, 0x83022035, 0x410320c9, 0x0523063a, 0x41020405, 0xed82055e, 0x05050426, 0x04040406, + 0x41066c43, 0x3c8205f8, 0x06020423, 0x20008204, 0x23d68203, 0x04040604, 0x02200682, 0x13841583, 0x02060423, 0x2e1f8303, 0x03030403, 0x02050404, + 0x03020301, 0x83050505, 0x84068203, 0x83042037, 0x85052000, 0x41618200, 0x158406fb, 0x96840620, 0x4b42ec93, 0x076d4305, 0x07410d83, 0x851b8509, + 0x05574305, 0x05200583, 0x7f439385, 0x85058305, 0x86052020, 0x06042206, 0x08bb4306, 0x8205ac41, 0x020421c4, 0x21824b8b, 0x1c846482, 0x05040222, + 0x05213082, 0x05614304, 0x01040223, 0x21008204, 0xbe840205, 0x05020624, 0x1a820304, 0x04225982, 0x40820605, 0x04230b82, 0x42040604, 0x8a820549, + 0x00820420, 0x04030322, 0x07820985, 0x1f827784, 0x82020621, 0x04062118, 0x22057a43, 0x86070702, 0x82032043, 0x8358826a, 0x8605204b, 0x0505294a, + 0x06050808, 0x04070404, 0x41820082, 0x83430620, 0x206a820b, 0x05a34304, 0x04060324, 0x34450404, 0x06062405, 0x82040304, 0x8406200b, 0x26168200, + 0x01030707, 0x42010201, 0x0627051e, 0x02030208, 0x82010302, 0x206c8322, 0x20678207, 0x83008205, 0x86042075, 0x8204208f, 0x82022000, 0x20308503, + 0x2b7a8203, 0x01020207, 0x01010204, 0x07070000, 0x04230982, 0x82060606, 0x030221ec, 0x04210684, 0x21008300, 0x89840504, 0x05060423, 0x22038205, + 0x86070406, 0x2127820f, 0x0c820904, 0x06203282, 0x20054241, 0x87ee8404, 0x221485ce, 0x41030403, 0x0720057e, 0x26822782, 0x1e830320, 0x82040421, + 0x8457820d, 0x05844150, 0x8508c141, 0x85ea8208, 0x4145841f, 0x688609c0, 0x03201b82, 0x0d87a382, 0x5382b584, 0xa9410720, 0x89718605, 0x85098935, + 0x20058a7d, 0x0d1e4202, 0x13853393, 0x00203386, 0x01260087, 0x0a080101, 0x83430005, 0x06072705, 0x04020202, 0x9c460204, 0x202a8605, 0x83118202, + 0x050524e9, 0x82040405, 0x050226d0, 0x06060804, 0x82a38205, 0x8208200d, 0x412e8255, 0x0322071d, 0x2e820504, 0x82080221, 0x0305212b, 0x06221483, + 0xdd820404, 0xef420320, 0x220b8205, 0x82030705, 0x84072010, 0x822482f1, 0x8203202c, 0x83062045, 0x06062303, 0x85460706, 0x820d8209, 0x41178502, + 0x3d8205fb, 0x03820720, 0x4b820420, 0x43020221, 0x05210da3, 0x82418204, 0x43f68803, 0x1b860bb8, 0xb3832182, 0x86040221, 0x82052001, 0x82052047, + 0x2010884f, 0x821e8206, 0x24068603, 0x05070705, 0x41018303, 0x03200864, 0x0320b482, 0x07831d87, 0x04060824, 0x72850404, 0x64820220, 0x06070722, + 0x23052543, 0x01050205, 0x05228082, 0x51850206, 0x17820220, 0x05040623, 0x82038306, 0x06062233, 0x20278205, 0x200f8306, 0x203d8204, 0x202a8202, + 0x21388404, 0x07850402, 0xae825284, 0x05213f82, 0x83078205, 0x02042315, 0x37820808, 0x06233b84, 0x82040804, 0x08062208, 0x840e8406, 0x231d8264, + 0x08050507, 0x05243a82, 0x06040403, 0x8208a343, 0x430d8458, 0x1e8308a3, 0x43020221, 0x042306d1, 0x83060803, 0x21c78201, 0x83430808, 0x280b8206, + 0x02090603, 0x04020203, 0x824a8401, 0x8267826e, 0x82b2836b, 0x8206204f, 0x82042015, 0x06664660, 0x02832f82, 0x0804083b, 0x04010203, 0x00010202, + 0x02080800, 0x07040501, 0x04060808, 0x07030306, 0x21388207, 0x00830005, 0x08318a83, 0x07050506, 0x07040606, 0x08060605, 0x06040407, 0x261e8206, + 0x0a040604, 0x83050608, 0x22fd848b, 0x82080505, 0x8205200e, 0x03042500, 0x06080405, 0x69416f82, 0x22ec8505, 0x42060706, 0x67820729, 0x28820c82, + 0x82070521, 0x432a8201, 0x0620058c, 0x36821182, 0x58820620, 0x04070722, 0xc5830582, 0x00820420, 0x4209c041, 0x0423092c, 0x42060703, 0x052906c1, + 0x06060807, 0x07080404, 0x82558409, 0x42052039, 0x0591055a, 0x89138343, 0x85099b5d, 0x05124139, 0x00820020, 0x02020234, 0x00050c09, 0x04020205, + 0x06080506, 0x06030302, 0x9c460205, 0x06e74205, 0x82020221, 0x20dc8308, 0x82d88205, 0x050321a0, 0xf0830c82, 0x0620ed82, 0x0522b182, 0x12820303, + 0x05202383, 0x0520d682, 0x02212e82, 0x200d8208, 0x21698205, 0x32820505, 0x0320dd82, 0x13841583, 0x04070527, 0x07030505, 0x056d4205, 0x02020628, + 0x07050404, 0x6b430807, 0x84062005, 0x82388337, 0x8307200f, 0x07052200, 0x86008306, 0x08052189, 0x2005fa41, 0x08834302, 0x05201887, 0x0145f285, + 0x88062009, 0x41838319, 0x07470910, 0x04062209, 0x43d88403, 0x03220583, 0x83430204, 0x23db8308, 0x08090507, 0x820dc844, 0x0cc241ce, 0x44050621, + 0x03490689, 0x200e8205, 0x072f4608, 0x83050221, 0x06052859, 0x05070602, 0x82080708, 0x279f8259, 0x04070605, 0x06080605, 0x0521d282, 0x22ef8405, + 0x43060407, 0x10820683, 0x85050421, 0x43238234, 0x06210583, 0x05834306, 0x05273a83, 0x09030404, 0x82050609, 0x83052013, 0x820820cf, 0x07052509, + 0x06070608, 0x06274a86, 0x07070808, 0x41090505, 0x05220563, 0x08830406, 0x0d840620, 0x40840420, 0x2c820820, 0x07040522, 0x24059b44, 0x08020202, + 0x820a8208, 0x0583433c, 0x09222982, 0x5f480409, 0x06033408, 0x0304020b, 0x04010403, 0x05080505, 0x08090507, 0x82080607, 0x217f8500, 0x5c840307, + 0x04060623, 0x09ea4402, 0x05090525, 0x82020309, 0x010227f8, 0x09090000, 0xaa820202, 0x06080829, 0x04030705, 0x82070909, 0x83002082, 0x28078200, + 0x06070805, 0x06060805, 0x82078206, 0x04052303, 0x1e830606, 0x0c050622, 0x08232682, 0x82070807, 0x205682fd, 0x85ee8305, 0x208382a2, 0x84268206, + 0x0606240c, 0x84060506, 0x055c448f, 0x82040621, 0x0707214c, 0xca831584, 0x82080421, 0x824f850a, 0x05764518, 0x05080822, 0x0720c382, 0x5a827482, + 0x82060421, 0x05e0413f, 0x2407ac43, 0x04050506, 0x82768407, 0x82052009, 0x050726e6, 0x09070a05, 0x82298308, 0x065a4219, 0x42115343, 0x0a840a61, + 0x04020423, 0x91598502, 0x823d9105, 0x8700206b, 0x02022f00, 0x060c0a02, 0x02030500, 0x08060604, 0x83430207, 0x89042006, 0x02022161, 0x21058343, + 0x83430606, 0x03042117, 0xe182cf83, 0x20158343, 0x21168204, 0x50850203, 0x04080626, 0x08030505, 0x04211182, 0x43988204, 0x07220683, 0x00840604, + 0x36420920, 0x201b8206, 0x33834306, 0x2008ac44, 0x22834305, 0x9382f282, 0x20069443, 0x07834304, 0x05060722, 0x23368343, 0x05070809, 0x22055c43, + 0x84020603, 0x088343ce, 0x0520e982, 0x220e8343, 0x43080608, 0x07222683, 0x83430605, 0x20088205, 0x82008206, 0x0a83430e, 0x0820f282, 0x0a221482, + 0x0682070a, 0x83430a20, 0x0707241a, 0x43080405, 0x0a211983, 0x0a83430a, 0x430c0921, 0x08230a83, 0x43070905, 0x07230783, 0x43050606, 0x06200883, + 0x2d0b8343, 0x030a050a, 0x03060203, 0x00000102, 0x83430a0a, 0x43082008, 0x0a201083, 0x09204382, 0x08230383, 0x830a0608, 0x07834393, 0x0a210c82, + 0x421d8208, 0x0a23050b, 0x8205060a, 0x0505256c, 0x08050604, 0x2a0c8343, 0x080a0607, 0x04060607, 0x83060404, 0x08052101, 0x201e8343, 0x16834309, + 0x2205a143, 0x82060506, 0x07082163, 0x83436783, 0x0908210a, 0x07211282, 0x68834305, 0x070e0b30, 0x03030600, 0x09060705, 0x03030308, 0x9b4e0606, + 0x86062005, 0x34118300, 0x070a0506, 0x06080707, 0x03080805, 0x0a050703, 0x09060908, 0x240d8207, 0x07060907, 0x822e8207, 0x830620c9, 0x06042803, + 0x05020206, 0x82060a02, 0x47042000, 0x08830727, 0xe3824484, 0x04090627, 0x09040605, 0x27048206, 0x07060604, 0x04040203, 0x08225382, 0x00840705, + 0x06070922, 0x03200082, 0x08220082, 0x00830908, 0x08090622, 0x15840082, 0x06221882, 0x0583050a, 0x00820220, 0x06889b86, 0x84060721, 0x063f4301, + 0x08060822, 0x06201988, 0xed450b82, 0x4d058305, 0x072709fe, 0x07020305, 0x82050505, 0x220382ae, 0x86020503, 0x06082124, 0x0382db82, 0x070a0a23, + 0x44018304, 0x052007c2, 0x0521c682, 0x82498904, 0x82082027, 0x05b04373, 0x7e820220, 0x090a0923, 0x222c8206, 0x43060606, 0x07290683, 0x04090703, + 0x04090809, 0x289b8407, 0x07030908, 0x05080a07, 0x219b8209, 0x64820705, 0x2f820f82, 0x20057242, 0x05aa4a05, 0x08204083, 0x68827184, 0x06040822, + 0x072bbc85, 0x03030306, 0x07080a0a, 0x84070806, 0x0609224b, 0x21098208, 0x4a82080a, 0x82050721, 0x080829ab, 0x09080b0b, 0x070c0707, 0x04203182, + 0x05202682, 0x07204883, 0x2005b143, 0x05a34306, 0x06080828, 0x06060905, 0xf2820406, 0x82020221, 0x820520ab, 0x09042123, 0x09204382, 0x06235882, + 0x47050b0b, 0x052c0607, 0x0d090505, 0x03030503, 0x06040106, 0x09265c82, 0x09090b06, 0x00820907, 0x83070621, 0x25968429, 0x06060706, 0x03820206, + 0x00850420, 0x060b0624, 0x8343040b, 0x0b0b2e07, 0x07070202, 0x070a0a08, 0x04040906, 0x226b820a, 0x83000708, 0x208a8300, 0x23b9840b, 0x080a0607, + 0x93822183, 0x82090821, 0x06082416, 0x82090b0e, 0x201d8268, 0x21558205, 0xd0820606, 0x052b0784, 0x09060704, 0x07050608, 0x82050706, 0x08072d01, + 0x0b070906, 0x0707090a, 0x07060505, 0x0a218584, 0x82498209, 0x21a38242, 0x0b820307, 0xa5411482, 0x070a2205, 0x21218303, 0xc5850a09, 0xee4a4583, + 0x05e04105, 0x8206d244, 0x04062339, 0x67830809, 0x00820620, 0x090a0928, 0x0a060609, 0x2e820b09, 0x84070821, 0x20678477, 0x42059007, 0x0a840a61, + 0x03020323, 0x91598502, 0x20908405, 0x84a78207, 0x214b8503, 0x07470006, 0x0f0c210a, 0x2b058343, 0x080a0708, 0x07040403, 0x03040307, 0x07200582, + 0x03210086, 0x43088203, 0x06230683, 0x82040808, 0x090b21d8, 0x0720f083, 0x0b205082, 0x04281b82, 0x05060404, 0x06070707, 0x06253982, 0x06030307, + 0x28158303, 0x04060407, 0x06090507, 0x20068205, 0x84158204, 0x0706274d, 0x0706040a, 0x2f820a04, 0x07040426, 0x02030807, 0x09233b82, 0x84050909, + 0x0a07231d, 0x00820607, 0x04204f82, 0x82058243, 0x82082065, 0x821c8500, 0x060b2105, 0x4b820482, 0x15889284, 0x84059c41, 0x0628410e, 0x3341ec83, + 0x08374309, 0xd982af82, 0x0382dd83, 0x82060721, 0x826d8245, 0x030625ae, 0x03060406, 0x07236c82, 0x85080709, 0x07092306, 0x83430b0b, 0x087c4105, + 0x0f830420, 0x83074641, 0x090b2107, 0x1e857982, 0x7d820320, 0x0f820a20, 0x09820d82, 0x02070322, 0x03238d84, 0x82060907, 0x088343dc, 0x23820882, + 0x83080921, 0x4366821c, 0x1482059c, 0x06244682, 0x04070705, 0x06210482, 0x20a48206, 0x83108206, 0x821a8339, 0x82062007, 0x0304221a, 0x823a820b, + 0x0707211b, 0x82056e42, 0x080b21a9, 0x08294a87, 0x080b0b08, 0x0c07070a, 0x21008207, 0x76820605, 0xcc822682, 0x06230d82, 0x82090505, 0x221f8240, + 0x82060709, 0x05072222, 0x20f88206, 0x83dd8203, 0x0b05226d, 0x82018309, 0x0c0c2114, 0x2f0b8343, 0x0405030f, 0x04020604, 0x070a0707, 0x0a0d060a, + 0x25058343, 0x08080707, 0xac410707, 0x07072207, 0x0a834303, 0x0c060c2d, 0x07020304, 0x00010203, 0x820c0c00, 0x09072109, 0x07246382, 0x0b050409, + 0x0922b882, 0x00830008, 0x07090623, 0x840d8207, 0x0a0a2303, 0x03820707, 0x0909062b, 0x05080709, 0x0d0e0508, 0x20178209, 0x21a5820b, 0x00820706, + 0x09820c20, 0x07200682, 0x0723a582, 0x8207090a, 0x060721f4, 0x07260582, 0x08090708, 0x11830b0c, 0x70450720, 0x0a062205, 0x82408208, 0x080a2617, + 0x0904080a, 0x09a14109, 0x04090b23, 0x24008207, 0x07060b0a, 0x20018309, 0x84418309, 0x430f8409, 0x052106d5, 0x21638208, 0x6782090a, 0x9e825f82, + 0x0b215b84, 0x827f830a, 0x080621ad, 0x8e096642, 0x0f944309, 0x04030422, 0x89064342, 0x20098763, 0x44b78408, 0x614705f0, 0x20bd8205, 0x2e008700, + 0x0d020202, 0x07000810, 0x08050403, 0x43090b07, 0x14430783, 0x05f24206, 0x06230582, 0x8208080b, 0x09062beb, 0x08030509, 0x0a090b06, 0x9d820a07, + 0x0b070922, 0x04231b82, 0x82070405, 0x8208203c, 0x070426af, 0x06030308, 0x2a2c8303, 0x04060508, 0x070a0608, 0x82050606, 0x06d4436f, 0x0b08062c, + 0x04070605, 0x0706070b, 0x50820505, 0x05030328, 0x0a0a0605, 0x5d82060a, 0x0b220282, 0x00820708, 0x00820520, 0x82090921, 0x820a2015, 0x82092065, + 0x07072100, 0x07211784, 0x09834307, 0xda822f85, 0x06210883, 0x827a8208, 0x4307200b, 0xec83076d, 0x41093141, 0x08220812, 0x67510809, 0x22058305, + 0x82030608, 0x060621c9, 0x82098343, 0x2238821e, 0x840a0809, 0x0c0c2301, 0x01830508, 0x410d8343, 0x07830746, 0xdc820b20, 0x1e850720, 0xa1820420, + 0x0a0b0b26, 0x08060708, 0x03228782, 0x96830208, 0x08030829, 0x090a060a, 0x8408040a, 0x0a0929be, 0x0b080805, 0x090a0709, 0xda829a83, 0x07050a22, + 0x0420b082, 0xc0822a82, 0x08080624, 0x45820604, 0x0e850620, 0x1f820820, 0x82040b21, 0x070b220b, 0x2615820a, 0x0c030505, 0x82080a0c, 0x080821a1, + 0x0b220e82, 0x80820907, 0x82090b21, 0x2a0e824a, 0x0909070a, 0x0b090d0d, 0x820d0808, 0x05072b0d, 0x06090707, 0x07060808, 0x00820809, 0x06050624, + 0xa3430709, 0x0b062406, 0x43080707, 0x08270783, 0x06080606, 0x830a0b05, 0x23c48201, 0x02050d0d, 0x2108674f, 0x83431009, 0x834a8205, 0x0a0d247f, + 0x820a080a, 0x82082000, 0x0c834352, 0x3f06ac41, 0x07050505, 0x040d070d, 0x03070203, 0x00000103, 0x02030d0d, 0x0b0b0708, 0x0a07080b, 0x0b0b0504, + 0x09213d82, 0x2c008300, 0x08070907, 0x08080a0d, 0x0708090c, 0x25bc820c, 0x06070a0c, 0x10820a0a, 0x06080625, 0x820a0e0f, 0x281d821b, 0x08070806, + 0x0c0d0808, 0x05d1410a, 0x49820520, 0x83070921, 0x057c4414, 0x090a0824, 0x33820b0d, 0x05070622, 0x0624b682, 0x090b0707, 0x25059441, 0x090b090b, + 0xf4820b05, 0xa6820920, 0x0e821283, 0x0b244283, 0x0a07070b, 0x0b200182, 0x07204582, 0xe0411a84, 0x092c4205, 0x0b050724, 0x6782060a, 0x07070725, + 0x820c0b08, 0x0d0723ae, 0xa3820d0b, 0x07080923, 0x05df4306, 0x8909d843, 0x0e924309, 0x03050724, 0x59850305, 0x8e830591, 0x87090a21, 0x22b78401, + 0x87000806, 0x03033800, 0x08110e03, 0x04040700, 0x0c080906, 0x0404030a, 0x05040808, 0x88080504, 0x26118300, 0x090c0608, 0x820a0809, 0x050a28cc, + 0x0c070803, 0x48080b0a, 0x0d200553, 0x04239382, 0x43070405, 0x08280504, 0x04080704, 0x0d040704, 0x05213c83, 0x20d68207, 0x83a9820a, 0x82042008, + 0x08082156, 0x0c25e382, 0x05080705, 0x2e2f820c, 0x08080505, 0x05030409, 0x0a0a0705, 0x8409060a, 0x430c2000, 0x0a220883, 0x00830b0a, 0x820b0821, + 0x070a211c, 0x48823983, 0x820c0721, 0x209e8209, 0x884d8504, 0x080722a1, 0x05674307, 0x21072041, 0xc041080a, 0x82188205, 0x070a2112, 0x15820186, + 0x23096751, 0x04030808, 0xae826e83, 0x07040725, 0x41040705, 0x0a200639, 0xdd83d982, 0x430d0c21, 0x6b410683, 0x21c68207, 0x5e410507, 0x0a0d210b, + 0x72851a82, 0x09080428, 0x0b0c0c07, 0xa0850708, 0x08030822, 0x09290082, 0x060b0804, 0x040b090b, 0x279d8309, 0x050b0a08, 0x0a0c0908, 0x0820d282, + 0x62822782, 0x07050b22, 0x04203d82, 0x07822982, 0xd7820620, 0x07820720, 0x49080721, 0x8343055a, 0x0d0d2610, 0x0a08080a, 0x25688209, 0x080b0709, + 0x4b830a0a, 0x12820b20, 0x0b080722, 0x0d261682, 0x090c090d, 0x4f820f08, 0x2382b582, 0x09820820, 0x06821c82, 0x43070521, 0x09220583, 0x3782080b, + 0x05080829, 0x04040707, 0x820c0c04, 0x07082483, 0x830a0d06, 0x07072601, 0x060e0e07, 0x36008203, 0x07060606, 0x110c0607, 0x04040603, 0x08050207, + 0x0b080c08, 0x820a0e07, 0x0b0b24c5, 0x8209080b, 0x0a08217f, 0x57821582, 0xb0840820, 0xe64f0720, 0x07053605, 0x050e070e, 0x04080204, 0x00000103, + 0x03040e0e, 0x0c0b0808, 0x23a9820d, 0x0d0d0605, 0x8343eb82, 0x080a3006, 0x090b0d08, 0x090a0d08, 0x090a0c07, 0x820c0d09, 0x820a2093, 0x09072557, + 0x0b0f1107, 0x0d221b82, 0x3b44080b, 0x0d0e2105, 0x0826be84, 0x08090507, 0x14840a0b, 0x05830720, 0x0d820a20, 0x830c0f21, 0x05072211, 0x83008207, + 0x20498240, 0x43178208, 0x09210583, 0x05454508, 0x0c080926, 0x0709050a, 0x0c236882, 0x830b0807, 0x08092101, 0x84062d47, 0x8308200d, 0x059f460d, + 0x0c050725, 0x8405070b, 0x0c08300f, 0x080b0c0c, 0x0e0c0d07, 0x0a080a0c, 0x41070809, 0xd9460570, 0x07092111, 0x84085a4a, 0x08072538, 0x04050405, + 0x05915985, 0x08204b82, 0x83057248, 0x05514205, 0x300c8343, 0x0009120f, 0x07040408, 0x0b0c080a, 0x08050504, 0x464c8208, 0x08200698, 0x04210082, + 0x2f048204, 0x0a0a0d06, 0x08080a09, 0x04060b0a, 0x0b0d0709, 0x56824a84, 0x08090e28, 0x05060508, 0xab840608, 0x2a820820, 0x042b4882, 0x0909080d, + 0x05070609, 0x430b0708, 0x09200e83, 0x82058343, 0x05052eb6, 0x040a0809, 0x07050503, 0x060b0b0b, 0x2000840a, 0x05ba450d, 0x06060623, 0x8214820a, + 0x84082002, 0x204d8206, 0x20008408, 0x0883430d, 0x09206e82, 0x08200082, 0x07213084, 0x22bb8209, 0x4a0a080a, 0xaa820847, 0x34841884, 0x37430820, + 0x080b2307, 0xb551080b, 0x09042108, 0x0920f282, 0x83439d82, 0x05394108, 0x06820a20, 0xdd830920, 0x4b0e0d21, 0x304105d6, 0x07072105, 0x41059143, + 0x0e210b5e, 0x41c6820b, 0x04200580, 0x0d266482, 0x07090b0d, 0x99820907, 0x03090422, 0x092a9b82, 0x0c09040a, 0x0c0a0c07, 0x81830a04, 0x0623ca82, + 0x820d0a09, 0x830b2040, 0x2962829b, 0x0908060b, 0x08040807, 0xc0820909, 0x09080728, 0x08070704, 0x39820708, 0x08220e82, 0x3882080b, 0x0c20de82, + 0x092a0982, 0x04060607, 0x090b0f0e, 0xd9820b09, 0x080a0823, 0x244c820c, 0x0b0d0b09, 0x2212820b, 0x820b0908, 0x0e0e2616, 0x090a0d0a, 0x247c8210, + 0x08080608, 0x8348830b, 0x21608238, 0x0d830707, 0x0a0d0d2a, 0x0c07080b, 0x06080808, 0x20058343, 0x0583430d, 0x830b0e21, 0x21c48201, 0x83430f0f, + 0x82082007, 0x04122227, 0x08834307, 0x0f080c23, 0x0583430c, 0x0b0a0923, 0x205c8209, 0x82458206, 0x090922b4, 0x43088204, 0x08330683, 0x050f080f, + 0x04080304, 0x00000203, 0x03040f0f, 0x820c0809, 0x0c082573, 0x0e0e0605, 0x83433d82, 0x0b082205, 0x2e4c8208, 0x0b0d090a, 0x0a0d080a, 0x0c0e090a, + 0x820b0708, 0x07092b54, 0x10120709, 0x0c0d090b, 0x0b820c0f, 0x0f225c83, 0x63840b0e, 0x0a060824, 0xba820c08, 0xca820920, 0x0a070928, 0x0c080b09, + 0x3f82100a, 0x41070921, 0x09210579, 0x05994207, 0x09261782, 0x0c06090c, 0x70430a0b, 0x82082005, 0x820b2061, 0x2106823b, 0x1284080d, 0x6e824583, + 0x09200b83, 0x57439183, 0x080a2507, 0x0b0d0608, 0x2506c142, 0x0e0e0e09, 0xa482090c, 0x0a20f384, 0xd5462f83, 0x46118511, 0x08860802, 0x06040623, + 0x09674304, 0x0820098e, 0x83075642, 0x20b98617, 0x0a074700, 0x0a141022, 0x2a058343, 0x040b0d09, 0x09090505, 0x46040504, 0x09200698, 0x04210082, + 0x25048204, 0x0b0b0e07, 0xcc820b0a, 0x04060b26, 0x0c0e0809, 0x0a204a82, 0x0a270d82, 0x0908090e, 0x82050605, 0x820920cf, 0x04092809, 0x04040908, + 0x820e0408, 0x06092731, 0x08090507, 0xe182080c, 0x82060921, 0x82128315, 0x060d2122, 0x0d323082, 0x06090708, 0x0a090906, 0x06060304, 0x0c0c0c08, + 0x00840b07, 0x080a0e22, 0x06200082, 0x0b210082, 0x2010840c, 0x22058409, 0x840a0908, 0x0e09223d, 0x21908508, 0x0f850404, 0x08210586, 0x06644409, + 0x21086d43, 0x9f480b09, 0x43058405, 0x15820837, 0x21098343, 0x4582080a, 0xae826d82, 0x08040827, 0x0c040806, 0x21018309, 0x25820c0b, 0x0924dd82, + 0x060a0f0e, 0x7c480183, 0x08052108, 0x5a410182, 0x0c0e210b, 0x61843e82, 0x82050821, 0x0e0e2134, 0x07207482, 0x8343a084, 0x040b3405, 0x0d070c0a, + 0x0b050d0b, 0x080a080b, 0x060b0b09, 0x820e0a09, 0x090b305e, 0x0d080809, 0x060b0d09, 0x09070908, 0x82090905, 0x0707261c, 0x08050909, 0x20188208, + 0x05eb4609, 0x0c080b29, 0x0909050c, 0x83080c09, 0x0606283c, 0x0b0f0f04, 0x820b0a09, 0x224b827f, 0x820c090e, 0x0b0e2147, 0x0a2e0e82, 0x090d0a08, + 0x10100a0b, 0x0a0a0d0b, 0x31820a10, 0x09090625, 0x8209070b, 0x090b2197, 0xbe820082, 0x09080b25, 0x820e0e09, 0x0d0821d8, 0x06271082, 0x04040708, + 0x830e0e04, 0x0608236a, 0x01830c0e, 0x08080825, 0x47071010, 0x082a0607, 0x140c0708, 0x05050704, 0x4a820208, 0x0d090d28, 0x0b0d1008, 0x00820c0a, + 0x0b0a0923, 0x825c820a, 0x23478215, 0x040a0909, 0x06203782, 0x082e0085, 0x05100810, 0x04090304, 0x00000203, 0x09821010, 0x820c0921, 0x0d092173, + 0x21068343, 0x0083000a, 0x090c0827, 0x0b0d1009, 0x29b98209, 0x0b0c0e09, 0x090e0f09, 0x07820d07, 0x0822c482, 0x17821113, 0x0d100d22, 0x5d830b82, + 0x820f1021, 0x2708822b, 0x080b0608, 0x07090b0e, 0x082e7882, 0x0a0b0809, 0x0b0c090b, 0x0a0d0d11, 0x9841080a, 0x08092e05, 0x0a0b0b0d, 0x090b090a, + 0x0a0d0a0d, 0x41598306, 0x0a2005a3, 0x06206582, 0x0e220a83, 0x1d82080e, 0x45825c82, 0x81820920, 0x0d840c20, 0x43090b21, 0x0927085b, 0x0c0d0608, + 0x820a0608, 0x0909245f, 0x820f0e0e, 0x0e102382, 0x3b820e10, 0xa24e0a20, 0x0e4f4305, 0x2e833f86, 0x8343038b, 0x2033831c, 0x05f84b0a, 0xba820b20, + 0x00820820, 0x20059644, 0x2e008200, 0x11030303, 0x09000a14, 0x0b070404, 0x430c0e09, 0x0f201883, 0x0c2a4182, 0x0c0c0909, 0x080a0506, 0xf0820d0f, + 0x0d820b20, 0x090f0a2b, 0x06050a09, 0x0a070905, 0x21d38209, 0x83430609, 0x090f2a05, 0x060a0a0a, 0x08090608, 0x0e83430d, 0x060e0a37, 0x0e050908, + 0x06090709, 0x0b090a06, 0x06060304, 0x0d0d0d08, 0x822f8207, 0x0a0e2202, 0x20008209, 0x20008206, 0x8214820c, 0x0d092102, 0x4305fb41, 0x6e821083, + 0x00820a20, 0x20059c43, 0x827a8308, 0x08564111, 0x0c0a0c22, 0x4e823186, 0x080c0922, 0x09220186, 0x8343090c, 0x080b2409, 0x430a0405, 0x0d210b83, + 0x20018309, 0x2004820b, 0x24dd820a, 0x0b0f0f0a, 0x43018306, 0x062108cc, 0x43018209, 0x058505a8, 0x820d0f21, 0x05c9411b, 0x88820520, 0x0d0e0e26, + 0x0a08090a, 0x04228782, 0xcf84030a, 0x0d0a0429, 0x0d0b0d08, 0x820b0a05, 0x0c0a251e, 0x0a0a060d, 0x0d203382, 0x0e289b84, 0x060d0e09, 0x09080a09, + 0x43833a82, 0x0a09082b, 0x09090805, 0x0b0a0808, 0x82cf820a, 0x0d0c21aa, 0x09211a82, 0x2809820d, 0x0606090a, 0x0c100f05, 0x82d6820a, 0x090b294b, + 0x0d0d0a0e, 0x0c0f0b0a, 0x0a2d4a82, 0x090e0a09, 0x11110b0c, 0x0a0b0e0b, 0x21688312, 0xf1820906, 0x38844982, 0x08080a22, 0x092efd82, 0x0b0f0f09, + 0x0e08090c, 0x06090909, 0x83430808, 0x0f072209, 0x8201830d, 0x111121c7, 0x21098343, 0x83430f06, 0x090e230b, 0xc5820e12, 0x72820d20, 0x0b0c0a22, + 0x07205c82, 0x22058143, 0x41040a0a, 0x200806ac, 0x09060606, 0x06110911, 0x05090304, 0x00000203, 0x03041111, 0x0f0d0a0a, 0x0d090a0f, 0x10100706, + 0x20b7820d, 0x82008300, 0x11092acd, 0x0f0a0b0e, 0x0f090a0c, 0x20b5820c, 0x2293820e, 0x830a0d0c, 0x121427f1, 0x0d0f0a0d, 0x0b820e11, 0x0a0a0926, + 0x0e10110a, 0xfa820683, 0x0c22ee82, 0x3343080a, 0x0a0b2705, 0x0b0d090c, 0x43820f12, 0x19470820, 0x08092f05, 0x0a0c0c0d, 0x090c090b, 0x0a0e0a0e, + 0xa1820e06, 0x0c220c83, 0x61820b09, 0x090a0627, 0x0e0e090a, 0x22778209, 0x820e090d, 0x080a2245, 0x210b830d, 0x01820d0a, 0x2009b045, 0x20368209, + 0x2c2b8209, 0x0a0a0809, 0x0d100f0f, 0x0e10090b, 0x212e8211, 0x77840b0d, 0x4d08c74d, 0x098309d1, 0x820c0646, 0x0406230c, 0xda4b0406, 0x20059105, + 0x219f820c, 0x01870a0c, 0x44055242, 0x83430596, 0x16123006, 0x0509000b, 0x0a0c0704, 0x05040d0f, 0x820a0a05, 0x0614434c, 0x00820a20, 0x82040421, + 0x10083304, 0x0c0b0b0b, 0x0d0c090a, 0x090a0506, 0x0b0d0d10, 0xda820b0d, 0x82100a21, 0x0705238d, 0x2f820a05, 0x0b080b22, 0x0b370682, 0x05090505, + 0x0b0a0b10, 0x0609070b, 0x090d0a0b, 0x0a06080a, 0x83050a06, 0x820a2044, 0x060f252c, 0x0f060a0a, 0x0626ed82, 0x0c0b0a06, 0x06820404, 0x0d0d0d22, + 0x2305734a, 0x0a0b0f0b, 0x83430082, 0x820a200a, 0x0d0d231b, 0x17840b09, 0x0f0a0a24, 0x00820a08, 0x00820520, 0x11860a20, 0x820b0a21, 0x08604400, + 0x2207f146, 0x870c0b0c, 0x872f821f, 0x20b383fa, 0x08725d06, 0x050a0b27, 0x09090a05, 0x82ae8209, 0x09062203, 0x821e8305, 0x21028203, 0x01820d0a, + 0x0b101023, 0x41018307, 0x0621086a, 0x86018209, 0x22fd8224, 0x82100b0d, 0x06f643dc, 0x82820520, 0x0d0f0f22, 0xa0844f82, 0x28058343, 0x0e0b040b, + 0x0e0c0e08, 0x21be8206, 0xca820a0b, 0x820a0621, 0x20078233, 0x2527820b, 0x0d0e0a0e, 0xb0820906, 0x1c821d82, 0x0b080837, 0x0909060a, 0x0a08090b, + 0x0a080b0c, 0x0a0d0b08, 0x0b060d0c, 0x2807820a, 0x090b0a0d, 0x10050606, 0x20088211, 0x22ed830d, 0x820e0a0c, 0x0c0a2444, 0x820d0d10, 0x0b09210f, + 0x0c270d82, 0x0f0c1212, 0x82130b0b, 0x070a2149, 0x08256a82, 0x0a090b0b, 0x393e820e, 0x0a08080b, 0x0b0b090d, 0x0e0c1010, 0x0a0f080a, 0x08070b0a, + 0x05050509, 0x2082100f, 0x07090b24, 0x01830d10, 0x090a0939, 0x03071212, 0x06030403, 0x08080606, 0x04150f07, 0x09060607, 0x820a0702, 0x090e266a, + 0x0b0d0e13, 0x8200820e, 0x4560828d, 0x0b200530, 0x05200082, 0x080a8343, 0x12091220, 0x0a030506, 0x00020405, 0x05121200, 0x0f0a0b03, 0x0a0b1010, + 0x1107060e, 0x0d0a0d11, 0x0083000c, 0xc2820a20, 0x0c0e1228, 0x0b0d100b, 0x0782100a, 0x93821120, 0x0d0c0e23, 0x2800830a, 0x0a0d1316, 0x0e120e11, + 0x0503500b, 0x82111221, 0x820b2023, 0x0b0725c6, 0x0a0d0e09, 0x09241483, 0x0b0c090a, 0x0c288982, 0x0c0d0f13, 0x0809080b, 0x13827e82, 0x0d0d0f23, + 0x2b17830b, 0x0c0f0c0f, 0x0c0d0e06, 0x0d0a0c0a, 0x65822682, 0x0b060e23, 0x2187820a, 0x77820a0f, 0x0e0a0d27, 0x0a080a0d, 0x431a8308, 0x68830523, + 0x1f820b20, 0x0a0b0c26, 0x090e0f07, 0x0a2d6782, 0x100b0b09, 0x0b0f1011, 0x130f1209, 0x23258210, 0x0c080a0c, 0x8e095c42, 0x05364609, 0x06230589, + 0x43050605, 0x1186117d, 0x0d219082, 0x4301870c, 0x0b2105d4, 0x29008700, 0x13040404, 0x0a000b17, 0x6e820405, 0x040d1024, 0x83430606, 0x0c0c3616, + 0x090a0d0c, 0x05060e0d, 0x0e110a0b, 0x0c0e0b0e, 0x0b0e0a0a, 0x24838211, 0x0a060706, 0x20cd8208, 0x08834309, 0x0d821120, 0x09080b2c, 0x0e0a0b06, + 0x07080a0a, 0x8343070a, 0x0b0a3807, 0x0a0a0710, 0x080a1006, 0x0b06060a, 0x04040c0b, 0x0e0a0706, 0x82080e0e, 0x2102825d, 0x83430c10, 0x820d2007, + 0x83028214, 0x0e0e221b, 0x0783430a, 0x43091021, 0x67431783, 0x0c092106, 0x0d200184, 0x1c41f282, 0x06064109, 0xb3820a20, 0x83430b20, 0x090b240d, + 0x84050a09, 0x0a062201, 0x221e8305, 0x820d0b0e, 0x25b58206, 0x11110a0e, 0x0183080c, 0x2108fc44, 0x01820a06, 0x05852485, 0x830e1121, 0x82082063, + 0x050826cb, 0x100a0c0a, 0x210f8210, 0x00820b09, 0x040b0522, 0xdd820582, 0x090e0b2b, 0x060f0d0f, 0x0b0a0c0c, 0x22ca820a, 0x820c0b06, 0x0e0e2133, + 0x62830c82, 0x0a060e22, 0x24098343, 0x060a0b09, 0x28268209, 0x0b0c0a09, 0x0b090a09, 0x242f840d, 0x0a0e0b0a, 0x2a5b820d, 0x11050606, 0x0b0b0d12, + 0x830b0c0e, 0x821020e9, 0x0d0b231c, 0x4a820e11, 0x0e325a82, 0x120c0e0a, 0x0c100c12, 0x0a0c140c, 0x0b070a0a, 0x83430e0a, 0x09092109, 0x0b2d4082, + 0x0d11110b, 0x0f090a0f, 0x070b0a0a, 0x09834309, 0x11080a23, 0x8201830e, 0x13133035, 0x04030308, 0x07070703, 0x0f070808, 0x43080417, 0x0f260883, + 0x0e0e130a, 0x00820e0c, 0x83437f82, 0x0c0c2309, 0x3045050b, 0x06062606, 0x0a130a06, 0x08834313, 0x0513132f, 0x100a0b03, 0x0a0c1111, 0x1208060f, + 0x20a08312, 0x82008300, 0x130b26f5, 0x110b0c0f, 0x2603820e, 0x130d0e0f, 0x82080a11, 0x0b0a2157, 0x16250182, 0x120b0e14, 0x221d820f, 0x820b0c09, + 0x12132200, 0x2905820e, 0x07090b0b, 0x0e100a0c, 0xe782080a, 0x090b092e, 0x0b0e0b0d, 0x10140c0f, 0x090c0c0e, 0x25069841, 0x0d0d100a, 0x17840c0b, + 0x060c0f25, 0x820d0e10, 0x820e20ef, 0x2361820e, 0x0a0c060e, 0x10213d82, 0x2077820a, 0x2145840e, 0x1a83090a, 0x11828f82, 0x4a090c21, 0x0c28051b, + 0x10070a0b, 0x0b07090f, 0x0b32cd82, 0x1111110b, 0x13090b0f, 0x0e111410, 0x0a0c0d0a, 0xbd460d08, 0x06624208, 0x83430f88, 0x92598513, 0x820b2005, + 0x4b0c2077, 0x0e2105f8, 0x4339850c, 0x14350c83, 0x0a000c18, 0x0d080505, 0x050e110b, 0x0b0b0606, 0x07050605, 0x2100880b, 0x0a820505, 0x0d110938, + 0x0b0e0c0c, 0x070d0e0a, 0x110a0b06, 0x100c100e, 0x0d0b0b0c, 0x1b82120c, 0x12820620, 0x0b0c082e, 0x0a0c090c, 0x050c0b07, 0x13050a05, 0x0c280d82, + 0x0c070908, 0x0a0a0f0a, 0x0721dd82, 0x3b44840b, 0x0c090b0b, 0x0b0a0711, 0x090a1106, 0x0c07070b, 0x04050d0c, 0x0f0a0707, 0x0d090f0f, 0x11200084, + 0x0b205382, 0x07241982, 0x100e0e07, 0x0b210083, 0x21178310, 0x17840c0b, 0x110b0b22, 0x20088343, 0x8211860b, 0x440c201a, 0x0d2107f9, 0x0581430b, + 0x0e090c25, 0x410c0e0c, 0x05830560, 0x0b20fe82, 0x0d250383, 0x070c0d0c, 0x26018705, 0x05060a0d, 0x430a0a0b, 0x23410a83, 0x0c0e2305, 0x01830b10, + 0x0c121223, 0x4c018308, 0x0721080c, 0x4401820b, 0xfb8209cc, 0x5d820f20, 0x06311e85, 0x110b0d0b, 0x0b0b1011, 0x0b0c0c09, 0x040c050c, 0x2900820c, + 0x0f0d050d, 0x110d1109, 0x13820d06, 0x0d0b0b2a, 0x0c0b0710, 0x100b0e11, 0x0b240e82, 0x0f0b0f0b, 0x08220f83, 0x2982060c, 0x080b0b2f, 0x060b0c09, + 0x0a0c0a0a, 0x0c0d0b09, 0x24468209, 0x0f0f0a0d, 0x20378206, 0x2bba820f, 0x07070b0c, 0x0e131306, 0x0d0d0c0b, 0x6a825f82, 0x0e0e0b27, 0x0d110d0b, + 0x2d0e8310, 0x0d0b0f0c, 0x0d13130d, 0x150d0c10, 0x4a820b0c, 0x0a0b2d08, 0x0c0c080f, 0x0c0e0b0a, 0x090c0c0b, 0x0a0f0a09, 0x11110c0c, 0x090b100e, + 0x0c0a0b11, 0x05090908, 0x11110505, 0x0c0a0a0c, 0x0f120809, 0x0b260183, 0x14140a0a, 0x00820408, 0x08080839, 0x0f080a0a, 0x06080517, 0x07030a06, + 0x0b0f0b0b, 0x0f140a10, 0x820f0c10, 0x0c0c2200, 0x2160820e, 0x6482080e, 0x820b0b21, 0x0a0523b6, 0xb2520a0a, 0x0a210806, 0x07140a14, 0x050b0305, + 0x00000204, 0x04051414, 0x11110b0c, 0x100b0d13, 0x12120807, 0x0d0f0b10, 0x24008300, 0x0c0a0e0b, 0x3db48213, 0x0b0d0e12, 0x0d0f0f12, 0x080b1113, + 0x0b100f0f, 0x0a0c0a0c, 0x0c101518, 0x10131012, 0xb683090c, 0x13140c24, 0x00830c0e, 0x0c080a27, 0x0b0f110a, 0x2e788208, 0x0d0a0b0a, 0x0f0c0d0c, + 0x0f11150e, 0x52090c0c, 0x0b200527, 0x0d211d82, 0x2717830d, 0x0d100d10, 0x0d0f1107, 0x22087246, 0x83070e11, 0x1111240c, 0x820f0a0b, 0x22458301, + 0x820e090b, 0x05e041c3, 0x43090d21, 0x0d250555, 0x10080b0c, 0x25678310, 0x0c0c0a0b, 0x27821212, 0x11130928, 0x0b0f1213, 0xaa550e0e, 0x0bfc4805, + 0x60420b89, 0x23098509, 0x05070507, 0x05915985, 0x0d21b784, 0x8501860f, 0x051a482f, 0x00820020, 0x04040438, 0x000d1a15, 0x0806050b, 0x0f110c0e, + 0x0c060604, 0x0607060c, 0x00880c08, 0x0c221183, 0xe8821209, 0x0a0b0e2c, 0x06080f0e, 0x0f120a0c, 0xec820c0f, 0x0c0f0a2d, 0x0b0c0b13, 0x0b060806, + 0x820b0c09, 0x430b20d1, 0x3d820883, 0x07090827, 0x0b100b0c, 0x2206820b, 0x82050c07, 0x27138256, 0x07110c0a, 0x11070c0a, 0x07252f82, 0x0e0c0c07, + 0x0d834306, 0x0b0d1222, 0x08200082, 0x0e210082, 0x2000840f, 0x2005850c, 0x0671430c, 0x820a1221, 0x050b211e, 0x4b820082, 0x0b220289, 0x1a410b0c, + 0x460a2006, 0x0e2205f3, 0x31860e0c, 0x83432f83, 0x20b38207, 0x05dd540c, 0x0d240583, 0x0c05060b, 0x830b8343, 0x0c0f221e, 0x8206850e, 0x0d1422d9, + 0x43018308, 0x0b230564, 0x83070a09, 0x831d8701, 0x10132207, 0x2079820c, 0x27208309, 0x0b0d0c06, 0x0c0f1212, 0x0c21d782, 0x0883430c, 0x100d0629, + 0x110e100a, 0x820d0d06, 0x0f0b2727, 0x0d0c080f, 0x07820f12, 0x0a0b0c26, 0x100b100c, 0x0c250f82, 0x0c060c09, 0x251e820c, 0x0c0c0909, 0x26820a06, + 0x0d0c0a24, 0x16820a0c, 0x1f820f20, 0x0c201a82, 0xdc822f82, 0x06080829, 0x0c0f1413, 0x820d0f0c, 0x0b0e222c, 0x27448312, 0x0f0f120e, 0x0a0d0c0f, + 0x0f284a82, 0x0e14140e, 0x150d0d11, 0x0b244982, 0x0f0b0c08, 0x0a214d82, 0x262f820c, 0x090a0c0c, 0x430b0f0b, 0x0a2d0683, 0x0c0b0b12, 0x05090a08, + 0x12110505, 0x236d820c, 0x1013080a, 0x0c250183, 0x15150b0b, 0x08834309, 0x19120923, 0x05834304, 0x100c0c2a, 0x150b110c, 0x100d0f11, 0x0c200082, + 0xb6835284, 0x820c0c21, 0x050c2253, 0x0530450b, 0x07072208, 0x0b150b07, 0x04050715, 0x0204060c, 0x15150000, 0x0c0d0405, 0x0d131211, 0x0807100b, + 0x0c0f1313, 0x06834310, 0x14318a82, 0x130c0d11, 0x120b0d0f, 0x140d0e0f, 0x10090b11, 0x28a78210, 0x1a0b0c0b, 0x130d1016, 0x221d8211, 0x820c0d0a, + 0x14152200, 0x82058210, 0x830820bf, 0x090b352a, 0x0a0c0b0d, 0x0d0e0a0c, 0x0e110c0f, 0x0d101216, 0x090a0a0d, 0x0b238482, 0x82110b0b, 0x820e2048, + 0x0e112499, 0x82080e11, 0x830b2055, 0x0c0f250c, 0x0f120c0e, 0x3d823b82, 0x0b0b1223, 0x2501820f, 0x090b0f12, 0xc0410a0b, 0x0a0d2309, 0x01830b0c, + 0x0b0c0e26, 0x0a101108, 0x0b202b82, 0x1229d482, 0x0c101212, 0x1512140a, 0x24428212, 0x0e090b0e, 0x1581430c, 0xa3460d20, 0x23088708, 0x05080508, + 0x09915d89, 0x8305f64b, 0x43778505, 0x16270c83, 0x0b000d1a, 0x83080606, 0x070422b5, 0x15834307, 0x830d1321, 0x0f0b28ff, 0x0d06080f, 0x8310130b, + 0x38da824a, 0x0c0c130d, 0x0708070c, 0x0c0d090c, 0x0c0d0a0d, 0x060d0b07, 0x14060b06, 0x2e00820d, 0x0d070a09, 0x0b0b100b, 0x080c080a, 0x8206060c, + 0x0c0c3a28, 0x07120d0b, 0x12070c0b, 0x070c090b, 0x0e0d0d07, 0x08070506, 0x1010100b, 0x822f8209, 0x0d132102, 0x08202583, 0x0f200082, 0x02821482, + 0x0f100c22, 0x0c210082, 0x2317840d, 0x0a120c0c, 0x06201f83, 0x2f850082, 0x08837482, 0x4308f944, 0x0d240581, 0x0f0d0f0a, 0x2f833186, 0x860b0f21, + 0x63158201, 0x06210833, 0x2293820d, 0x510b0b0d, 0x0b230578, 0x41060b07, 0x0f200523, 0x10250685, 0x0d15140d, 0x44018309, 0x072008ee, 0x07202482, + 0x8307ca44, 0x10132407, 0x450c0b0c, 0x062a054b, 0x130c0d0c, 0x0b0d1012, 0x93820d0a, 0x040d0622, 0x062a9f84, 0x110a110d, 0x0d07110f, 0x8e820c0e, + 0x08100f24, 0x33820d0d, 0x0d0f1022, 0x10253782, 0x0810100c, 0x20b0820c, 0x27f78207, 0x0a0a0d0b, 0x0b070d0d, 0x0a22c882, 0xc5840e0d, 0x1a831f83, + 0x0f0c102c, 0x080b0d0c, 0x15140608, 0xc0820d0f, 0x0e224b82, 0x3c82120c, 0x130f0d23, 0x224a820f, 0x820d0b0d, 0x160f3622, 0x0e120f16, 0x0c0d170d, + 0x0c090c0d, 0x0d0a100c, 0x100c0b0d, 0x3800820d, 0x100b0a0a, 0x140d0d0b, 0x0c110e14, 0x0c0c130a, 0x0a0a090d, 0x12060606, 0x22fb8213, 0x43090a0d, + 0x20080883, 0x04091616, 0x08040504, 0x0b0b0808, 0x041a1208, 0x0b070708, 0x0c0c0803, 0x0b120c11, 0x0e101116, 0x20008211, 0x217f820d, 0x83430c0c, + 0x215a8205, 0x8343060c, 0x0b16240a, 0x43060716, 0x16340683, 0x0d040616, 0x1413120c, 0x07110c0d, 0x10141409, 0x000e100d, 0x0c270083, 0x160d0c10, + 0x820d0e11, 0x130c2b11, 0x140e0e11, 0x100a0c12, 0xac821010, 0x1a0b0d29, 0x150e1117, 0x82121611, 0x820c20fd, 0x1516215c, 0x0d22be84, 0xee82090b, + 0x0a0c1022, 0x20050b43, 0x2881820e, 0x13170f11, 0x0a0d0e10, 0x05154a0b, 0x0f120b22, 0x28059441, 0x0e120e12, 0x0f101208, 0x2001820c, 0x059f410d, + 0x0c0d0826, 0x12130c0d, 0x1482b382, 0x45821220, 0x0d206e82, 0x8207e041, 0x0d0b2168, 0x0f3e0182, 0x12090c0d, 0x0d090b11, 0x0d0b0c0c, 0x1413140d, + 0x160b0d11, 0x10131612, 0x0c0f0f0d, 0xc54d0f0a, 0x0b024908, 0x0c200b83, 0x0822008e, 0x43420806, 0x096d4306, 0x8e830987, 0x870e1021, 0x05834301, + 0x20059644, 0x36008200, 0x17050505, 0x0c000e1c, 0x0f080606, 0x0410130d, 0x0d0d0707, 0x43060706, 0x0d200614, 0x06210082, 0x38048206, 0x0e0e140a, + 0x0b0c100e, 0x06081010, 0x11140b0d, 0x0e110d11, 0x0d100c0c, 0x21b98214, 0x83430907, 0x0d0b2b05, 0x0e0c080c, 0x060b0606, 0x32820e14, 0x080a0925, + 0x43110b0e, 0x0d200583, 0x0d204484, 0x1335e482, 0x070d0b08, 0x0d0a0c13, 0x0e0d0808, 0x0805060f, 0x11110b08, 0x05f74d11, 0x82140e21, 0x0c0c2253, + 0x20008208, 0x05a87d10, 0x10110d22, 0x0c210082, 0x2317840d, 0x0b130c0c, 0x20088343, 0x8361820e, 0x820e2002, 0x0d0b2300, 0x484a0e0b, 0x460b2005, + 0xfa8305f3, 0x21092141, 0x01860c10, 0x0e100e22, 0x20098343, 0x0c83430e, 0x060b0824, 0x01830e11, 0x04821020, 0xdd820d20, 0x15140d24, 0x0183090e, + 0x2108064c, 0x01820c08, 0x23094841, 0x11140e10, 0x20088343, 0x23a18207, 0x0d111314, 0x0d22d782, 0x83430d0d, 0x060e3206, 0x120b120e, 0x0e08120f, + 0x0c0d0c0e, 0x0811100c, 0x2133830d, 0x0c821011, 0x0d120c3c, 0x0c081112, 0x080e0a0d, 0x0b0e0d0e, 0x0e0a0a0d, 0x0c0b080d, 0x0d0b0b0e, 0x0e820d0f, + 0x0c100e25, 0x82081011, 0x2bba831a, 0x08080c0e, 0x10161506, 0x0e100d0d, 0x0f206882, 0x11273c82, 0x140f0d11, 0x82101110, 0x120d2b0e, 0x160f100d, + 0x0e130f16, 0x6882180e, 0x0d090d24, 0xab4a100c, 0x372c8205, 0x0b0a0b0d, 0x0d0e0b10, 0x12101414, 0x0c130b0d, 0x0b090e0c, 0x0606060a, 0x0b26dd82, + 0x090b0e0b, 0x01831114, 0x1721c782, 0x07834317, 0x0a0a0a36, 0x08041b12, 0x030b0808, 0x110d0d08, 0x170c120d, 0x110e1112, 0x7f840082, 0x42100d21, + 0x0e24051b, 0x0c060d0e, 0x8205ac41, 0x170c352b, 0x0608170c, 0x05060d04, 0x17000002, 0x0e040617, 0x1414120c, 0x08280482, 0x11151509, 0x000f110d, + 0x0c340083, 0x160e0c11, 0x150d0e12, 0x140c0e10, 0x160e1011, 0x120b0d13, 0x0d2fca82, 0x1c0b0d0b, 0x150f1218, 0x0e131612, 0x820d0e0b, 0x16172200, + 0x27078411, 0x0d0e090b, 0x0b0d1012, 0x2482d982, 0x100d0f30, 0x1810120e, 0x0e0e1114, 0x0c0a0c0b, 0x13820c0b, 0x0f101323, 0x2617830e, 0x0f130f13, + 0x42101208, 0x0f2607ee, 0x0811140d, 0x68820c0e, 0x1023f582, 0x830c100c, 0x0b0d2145, 0x0e20c982, 0x0d238f82, 0x820e0d11, 0x0783433b, 0x46121321, + 0x0d2c06f1, 0x13151414, 0x14160c0e, 0x0d111517, 0x0b224b82, 0x43830d0f, 0x82430393, 0x080c240e, 0x85060806, 0x25059159, 0x0e100e10, 0x01870f11, + 0x20128343, 0x05834318, 0x82100a21, 0x070524b5, 0x820d0d07, 0x1083434c, 0x0f152008, 0x0d100e0f, 0x0911110c, 0x150c0e07, 0x120e1212, 0x110d0d0e, + 0x0d0d150e, 0x0709070d, 0x820e0a0d, 0x0d0e2ad3, 0x060e0d08, 0x16060c06, 0x2b00820e, 0x0e080b0a, 0x0c0c120c, 0x090d090b, 0x3a068343, 0x140e0c0d, + 0x080d0c08, 0x0d0a0c14, 0x0e0e0808, 0x08050610, 0x12120c08, 0x840f0a12, 0x0e142100, 0x0d214e82, 0x21008209, 0x00841210, 0x11120d22, 0x0d210082, + 0x2317840e, 0x0b140d0d, 0x21051444, 0x5f820606, 0xba510283, 0x0e0c2205, 0x050a450c, 0x21058143, 0xf2830b0e, 0x8206a343, 0x08124106, 0x0e110e22, + 0x27094e6b, 0x06070c0f, 0x0c0c0c0e, 0x0382ae82, 0x060c0822, 0x1222d283, 0x0685100e, 0x150e1223, 0x055a4f16, 0x21088a48, 0x01820d08, 0x43821120, + 0x15240387, 0x0d0c0d12, 0x07291e85, 0x140d0f0d, 0x0d0e1214, 0x24aa820b, 0x040e060e, 0x3300820e, 0x120e060f, 0x1310130b, 0x0d0f0f08, 0x110d0d0e, + 0x0f0e0912, 0x12213382, 0x260c8211, 0x130d130d, 0x820d0912, 0x820820b0, 0x0e0c2d29, 0x0e0e0b0b, 0x0e0c0c08, 0x0f0e0b0c, 0x1023c584, 0x8312120d, + 0x0d12351a, 0x0d0e0d11, 0x16070909, 0x0e0e1117, 0x0f0e0f11, 0x140d100d, 0x0e341c82, 0x12111510, 0x0d0e0e11, 0x110d130e, 0x10171710, 0x190e0f14, + 0x0d290d82, 0x100d0d0a, 0x0c0e0e0b, 0x281c820d, 0x0a0b0e0e, 0x0e0c100c, 0x0583430e, 0x0d0d1426, 0x0b0b0a0e, 0x83058343, 0x150a226d, 0x08018312, + 0x0c0c0d23, 0x040a1818, 0x09040504, 0x0b0b0909, 0x051c120a, 0x0c08080a, 0x0d0d0803, 0x0c130d12, 0x0f121318, 0x82008212, 0x22ba827f, 0x820d0911, + 0x430f2000, 0x18220e83, 0x8343180c, 0x18183108, 0x0d0e0406, 0x0f161514, 0x0a08130d, 0x0e121616, 0x82068343, 0x170e334d, 0x150e0f13, 0x150d0f11, + 0x170e1112, 0x130b0d14, 0xac821212, 0x1c0c0e32, 0x160f1319, 0x0e131713, 0x0e0d0f0b, 0x17180e0e, 0x07821682, 0x0f0a0c26, 0x0d10140d, 0x2b060b43, + 0x0e110e10, 0x15191012, 0x0b0e0f12, 0x0c21e882, 0x2301820d, 0x0e101114, 0x13291783, 0x090f130f, 0x0d101014, 0x22f98210, 0x82100e11, 0x0f092265, + 0x823d820d, 0x0d1122f5, 0x21458411, 0xde410b0d, 0x455d8207, 0x103906b8, 0x140a0d0e, 0x0e0a0c12, 0x0e0c0d0d, 0x1515150e, 0x170c0d13, 0x11151814, + 0x21a5820e, 0xc54d100b, 0x0b024908, 0x60420b83, 0x22098509, 0x42090609, 0x63890643, 0x4b820987, 0x470a8343, 0x1a480551, 0x82002005, 0x05052200, + 0x20058205, 0x22038603, 0x8201001c, 0x02002409, 0x830300d8, 0xe2042509, 0xbc020400, 0x9c081182, 0x00800090, 0x00100006, 0x017f017e, 0x01a10192, + 0x01f001b0, 0x021902ff, 0x02c702bc, 0x02dd02c9, 0x030103f3, 0x03090303, 0x0323030f, 0x038c038a, 0x03ce03a1, 0x04d603d2, 0x044f040d, 0x0486045f, + 0x1e130591, 0x1e3f1e01, 0x1ef11e85, 0x204d1ff9, 0x2015200b, 0x2022201e, 0x20302026, 0x203a2033, 0x2044203c, 0x20a4207f, 0x21ac20a7, 0x21132105, + 0x21222116, 0x212e2126, 0x2202225e, 0x220f2206, 0x221a2212, 0x222b221e, 0x22602248, 0xfbca2565, 0xfffffe04, 0x00fffffd, 0x00200000, 0x229182a0, + 0x82af01a0, 0x02fa2291, 0x20918218, 0x209182c6, 0x209182d8, 0x20918800, 0x24918284, 0x03a3038e, 0x349182d1, 0x040e0400, 0x04600450, 0x1e920488, + 0x1e3e1e00, 0x1ea01e80, 0x269182f2, 0x20132000, 0x84202017, 0x20322291, 0x20918639, 0x209182a3, 0x20918cab, 0x2091865b, 0x20918a11, 0x20918264, + 0x08918201, 0xfffffc3a, 0xc2ffe3ff, 0xbf00b0ff, 0x6100b200, 0x31ff49ff, 0x85fe96ff, 0x76fe84fe, 0x63ff68ff, 0x5dff62ff, 0x44ff6700, 0xcffdd0fd, + 0xcdfdcefd, 0x7ffe82fe, 0x9afd0000, 0x0cfe0000, 0x55080382, 0xe458e409, 0xe47ae318, 0xe300007d, 0xe142e20d, 0xe1eee1ef, 0xe1eae1ed, 0xe1e0e1e1, + 0xe1dae1db, 0xe199e1d3, 0x0074e176, 0xe118e100, 0xe009e10b, 0xe0fbe0fe, 0xe0c8e0f4, 0xe022e025, 0xe019e01a, 0xe00fe012, 0xdfe7df03, 0xdccddfd0, + 0x03000069, 0x0053024f, 0x00af0001, 0x30826020, 0x03827820, 0x03829420, 0x9c200287, 0x07940887, 0x15948e20, 0x6c20148f, 0x6f081085, 0x9c016802, + 0x9e019d01, 0xa0019f01, 0xa201a101, 0xa401a301, 0xa601a501, 0x6902a701, 0xea016a02, 0xec01eb01, 0xee01ed01, 0xf001ef01, 0xf201f101, 0xf401f301, + 0x6b02f501, 0xf701f601, 0x94029302, 0x96029502, 0x98029702, 0x9a029902, 0xf901f801, 0x01020002, 0x70036f03, 0x72037103, 0x74037303, 0x1c027503, + 0x35023402, 0x5e025d02, 0x0a020600, 0x01217583, 0x10074100, 0x02000122, 0x1c830182, 0x9d000221, 0x05414100, 0x0003bc08, 0x00050004, 0x00070006, + 0x00090008, 0x000b000a, 0x000d000c, 0x000f000e, 0x00110010, 0x00130012, 0x00150014, 0x00170016, 0x00190018, 0x001b001a, 0x001d001c, 0x001f001e, + 0x00210020, 0x00230022, 0x00250024, 0x00270026, 0x00290028, 0x002b002a, 0x002d002c, 0x002f002e, 0x00310030, 0x00330032, 0x00350034, 0x00370036, + 0x00390038, 0x003b003a, 0x003d003c, 0x003f003e, 0x00410040, 0x00430042, 0x00450044, 0x00470046, 0x00490048, 0x004b004a, 0x004d004c, 0x004f004e, + 0x00510050, 0x00530052, 0x00550054, 0x00570056, 0x00590058, 0x005b005a, 0x005d005c, 0x005f005e, 0x82610060, 0x86de08e0, 0x89008700, 0x93008b00, + 0x9e009800, 0xa200a300, 0xa600a400, 0xa700a500, 0xab00a900, 0xac00aa00, 0xaf00ad00, 0xb000ae00, 0xb300b100, 0xb400b500, 0xb800b600, 0xbc00b700, + 0xbd00bb00, 0x0d02be00, 0x64007200, 0x69006500, 0x78000f02, 0x7000a100, 0x20026b00, 0x6a007600, 0x88003002, 0x2d029a00, 0x31027300, 0x67003202, + 0x27027700, 0x29022a02, 0x2e028d01, 0x7c006c00, 0xa8002102, 0x8100ba00, 0x6e006300, 0x42012c02, 0x28022f02, 0x7d006d00, 0x62001002, 0x85008200, + 0x14019700, 0x02021501, 0x0a020302, 0x06020b02, 0xb9000702, 0xc1003302, 0x17023a01, 0x14021c02, 0x34021502, 0x0e023502, 0x08027900, 0x11020c02, + 0x8c008400, 0x8d008300, 0x8f008a00, 0x91009000, 0x95008e00, 0xe1829600, 0x9c00943c, 0x9b009d00, 0x4b01f300, 0x71005201, 0x4f014e01, 0x7a005001, + 0x51015301, 0x04104c01, 0x08bc02c5, 0x45400057, 0x54555859, 0x50515253, 0x4c4d4e4f, 0x48494a4b, 0x44454647, 0x40414243, 0x3c3d3e3f, 0x38393a3b, + 0x31353637, 0x2d2e2f30, 0x2627282c, 0x22232425, 0x14181f21, 0x0e0f1011, 0x090a0b0d, 0x05060708, 0x01020304, 0x23452c00, 0xb0206046, 0x04b06026, + 0x48482326, 0x210f832d, 0x10826123, 0x108a6120, 0x20b06022, 0x46201282, 0xb021238d, 0x20378320, 0x8c1a8261, 0x82402029, 0x8e662029, 0x85402029, + 0x88402029, 0x10013553, 0x3c003c20, 0x45202c2d, 0xcdb02023, 0xb8202344, 0x58515a01, 0x8d260b82, 0x20592344, 0x0b84edb0, 0x0b844d20, 0x84260421, + 0x820d200c, 0x2121210c, 0x23083182, 0x68184520, 0x01b02044, 0xb0452060, 0x8a687646, 0x2d446045, 0x0bb1012c, 0x4323430a, 0x2c2d0a65, 0x0b0ab100, + 0x0b200a82, 0xb0280982, 0xb1702328, 0x013e2801, 0x02280884, 0xb13a4528, 0x0d080002, 0x45364482, 0x452503b0, 0x50b06461, 0x44455851, 0x5921211b, + 0xb0492c2d, 0x4982230e, 0x00215582, 0x24528443, 0xb04306b0, 0x22528407, 0x82b06920, 0x8b0037ba, 0xc02cb120, 0x10b88c8a, 0x2b606200, 0x6423640c, + 0xb0585c61, 0x3b826103, 0x45038a3c, 0xb0878a8a, 0x29b02b11, 0x29b04423, 0x2d18e47a, 0xb065452c, 0x4544232c, 0x55832bb0, 0x88524b21, 0x894b2067, + 0xb0012972, 0x23102505, 0x00f58a20, 0x2322ce82, 0xc782eced, 0x6120118a, 0x06241186, 0x00f51025, 0x24081c83, 0x60462346, 0x23468a8a, 0x608a4620, + 0xffb8618a, 0x20236280, 0xb18a2310, 0x708a0c0c, 0xb0206045, 0xb0585000, 0x2c178201, 0xb01b8bba, 0xb0598c46, 0x01686010, 0x2eec863a, 0xb04b5246, + 0x585b5113, 0x462502b0, 0x82616820, 0x260282fe, 0x3821233f, 0x8211211b, 0x22f582c0, 0x82462503, 0x2b1e953f, 0x4307b000, 0x0b4306b0, 0x21212c2d, + 0x8b24f883, 0x620040b8, 0xb0230c82, 0x85585180, 0x00202c0f, 0x00b21b62, 0x592b2f40, 0x836002b0, 0x87c02019, 0x55152119, 0x80201983, 0x3e881987, + 0x23602d08, 0x4b2c2d21, 0xb08a5853, 0x64492504, 0xb0694523, 0xb0618b40, 0x20b06280, 0x0eb06a61, 0x10234423, 0x1bf60eb0, 0x128a2321, 0x2f392011, + 0x2b82a382, 0xb4822020, 0x69644928, 0x2605b020, 0x358306b0, 0xb022308b, 0x32832604, 0x04828a20, 0x82442321, 0x2344833b, 0x1bed0eb0, 0x26256082, + 0x39201211, 0x83468223, 0x23452347, 0x02866045, 0x18687622, 0x20307182, 0x48b02c2d, 0x202c2d2b, 0x5400b045, 0x4440b058, 0x40210882, 0x06164261, + 0x30b14523, 0x2631822f, 0x01b06061, 0x82446960, 0x585129b1, 0x70232fb0, 0x422314b0, 0x22053742, 0x8358514b, 0x69452396, 0x32845853, 0x45271585, + 0xb04314b0, 0x86636000, 0x2fb02235, 0x253b8245, 0x45202345, 0x0884608a, 0x06834520, 0x51234b33, 0x3300b958, 0x34b1e0ff, 0x33b31b20, 0x59003400, + 0x081d8244, 0x4316b02c, 0x2603b058, 0x64588a45, 0x601fb066, 0x20b0641b, 0x58206660, 0x40b0211b, 0x6101b059, 0x65582359, 0x2329b059, 0xb0102344, + 0x6e82e029, 0x21212123, 0x2bc28259, 0x58544302, 0x4b23534b, 0x38585a51, 0x59201582, 0x18831984, 0x04224e83, 0x468e4525, 0x1b582322, 0xb0304685, + 0x08b02505, 0x58200825, 0x59031b02, 0x102504b0, 0x20211082, 0x22088246, 0x823c4223, 0x07b02305, 0x03820825, 0x06b01023, 0x82158425, 0x241882d1, + 0x1b015820, 0x822d8700, 0x29b02586, 0x44654520, 0x0f832786, 0x0c82548c, 0x43250323, 0x244d8748, 0x03b02506, 0x24478225, 0x211b4843, 0x83bd8259, + 0x2c2d2202, 0x201e8202, 0x21628420, 0x82824223, 0x23820820, 0x87484521, 0x2503221a, 0x221e8220, 0x8202b008, 0x08138246, 0x452c2d24, 0x18452023, + 0x5000b020, 0x65235820, 0x68235923, 0x5040b020, 0x40b02158, 0x65582359, 0x44608a59, 0x0c412c2d, 0x45202106, 0x95410d82, 0x544b2205, 0x410d8b58, + 0x2d240a2c, 0x2100b02c, 0x38201e82, 0xb0272885, 0x58544302, 0x412b46b0, 0x0f840843, 0x0f844720, 0x21076b41, 0x1e8e48b0, 0x0f844920, 0x202b1e82, + 0x4b23088a, 0x514b8a53, 0x8623585a, 0x82002050, 0xb04924b9, 0x82585300, 0x113821a6, 0x2d2ef682, 0x2346012c, 0x46236046, 0x10202361, 0xcf434620, + 0xb18a3505, 0x708a4040, 0x3a686045, 0x8a202c2d, 0x8a644923, 0x3c585323, 0x4b262d84, 0x1b7d5852, 0xa782597a, 0x00122a08, 0x544b014b, 0xb12c2d42, + 0xb1420002, 0x51880123, 0x880140b1, 0xb9585a53, 0x20000010, 0xb2585488, 0x43020102, 0xb1594260, 0x251b8224, 0x0020b958, 0x15844000, 0x15830220, + 0x22831483, 0x0c832020, 0x52204983, 0x08202f82, 0x1b252f84, 0x000040b9, 0x202a8480, 0x84108404, 0xb863230f, 0x13840001, 0x13822485, 0x63000124, + 0x138502b8, 0x27871020, 0x13820220, 0x13850420, 0x13844020, 0x00825920, 0x452c2d38, 0x4b236818, 0x20235851, 0xb0642045, 0x7c585040, 0x608a6859, + 0xc5824459, 0xb0160024, 0x02822502, 0x01b00137, 0xb0003e23, 0xb13e2302, 0x0c060201, 0x65230ab0, 0x230bb042, 0x20178342, 0x2017833f, 0x2017853f, + 0x31178306, 0xb0422307, 0x2d011601, 0x108a7a2c, 0x18f52345, 0xdb82002d, 0x09105c08, 0x1fff03f8, 0xf79ff78f, 0x01f37f02, 0xb801f260, 0x2b40e8ff, + 0x46100ceb, 0x55dd33df, 0x55dcffde, 0xdd01dd30, 0xdc550301, 0x301ffa03, 0xc06f01c2, 0xfc02c0ef, 0x301f18b6, 0xb76001b7, 0xb802b780, 0x3840c0ff, + 0x46130fb7, 0x1f01b1e7, 0x3faf2faf, 0xaf4f03af, 0xaf6faf5f, 0x82af4003, 0xac3a0815, 0x1f1f1851, 0x029c5f9c, 0x03019be0, 0x1f019a2b, 0x9a90019a, + 0x73029aa0, 0x029a839a, 0xeaffb805, 0x099a1940, 0x97af460b, 0x030297bf, 0x1f01962b, 0x969f0196, 0x7c0296af, 0x1d840196, 0x82968521, 0x2f59081d, + 0x4f923f92, 0x92400392, 0x2f460f0c, 0x919f0191, 0x18868701, 0x507c401f, 0x1003027c, 0x30742074, 0x74020374, 0x0174f201, 0xff016f0a, 0x6fa9016f, + 0x016f9701, 0x6f856f75, 0x016f4b02, 0xff016e0a, 0x6ea9016e, 0x016e9701, 0x06016e4b, 0x5518011a, 0x1fff1319, 0x1fff0407, 0x08fb8206, 0x01673f23, + 0x672f671f, 0x67ff673f, 0x50664004, 0xb066a066, 0x653f0466, 0xaf650f01, 0xa0050265, 0x0264e064, 0x08e48303, 0x06644f4e, 0x5f61460a, 0x5f601f2b, + 0x505f1f47, 0x5bf71f22, 0x015bec01, 0x5b845b54, 0x015b4902, 0xf9015b3b, 0x5aef015a, 0x015a6b01, 0x3b015a4b, 0x1306015a, 0x05551233, 0x04550301, + 0x1f550333, 0x030f0103, 0x03af033f, 0x1f570f03, 0x03572f57, 0xb32b5383, 0x46151256, 0xb3e0ffb8, 0x820b0756, 0xb3c02207, 0x080f8454, 0x6d40c087, + 0x460b0654, 0x1f2b5052, 0x504f503f, 0xfa03505f, 0x48ef0148, 0x01488701, 0x56014865, 0x483a0148, 0x0147fa01, 0x870147ef, 0x473b0147, 0x1b1c0601, + 0x33161fff, 0x01115515, 0x3310550f, 0x0102550f, 0x47015500, 0xfafb5500, 0x1bfa1f2b, 0x0f0f1f12, 0xcf0f1f01, 0x0f0f020f, 0x06020fff, 0x007f006f, + 0x00ef00af, 0x01001004, 0x05011680, 0x9001b801, 0x2b5354b1, 0x07b84b2b, 0xb04b52ff, 0xb05b5006, 0x25b08801, 0x08058353, 0x5a514022, 0xb08806b0, + 0x5b5a5500, 0x0101b158, 0x8d85598e, 0x1d42008d, 0x5332b04b, 0x1d60b058, 0x64b04b59, 0x40200882, 0x80200883, 0x102d0882, 0x0016b11d, 0x73735942, + 0x7574735e, 0x2200862b, 0x88735f01, 0x73002300, 0x1683012b, 0x00735f24, 0x08827473, 0x0f831b8c, 0x835f2b21, 0x7373233b, 0x0d820074, 0x1e852b20, + 0x3e847420, 0x31827420, 0x10827420, 0x07822b20, 0x01732b22, 0x73242882, 0x735f7474, 0x00200785, 0x01276382, 0x732b002b, 0x83730174, 0x822b2005, + 0x2b732206, 0x2102822b, 0x3d822b01, 0x182b0034, 0x0014065e, 0x054e000b, 0x001700b6, 0x05b60575, 0x008c00cd, 0x004a0429, 0x008f0014, 0x83ecff00, + 0x22058916, 0x83fe14fe, 0x2103c810, 0x00840008, 0xb600ac24, 0x0982bc00, 0x0382d520, 0x552c0283, 0x97008300, 0x7d009f00, 0xae00e500, 0x71220182, + 0x16837100, 0x00ba0023, 0x830382c5, 0x82a4200a, 0x838c201d, 0xc7002108, 0x7d200182, 0x0c842982, 0xb0240486, 0x8a00b900, 0x9b220b84, 0xc782a600, + 0x0b847720, 0x96200485, 0x05840685, 0x6e006929, 0xb4009000, 0x8700c100, 0x00002e79, 0x006f0066, 0x00960078, 0x01d500c0, 0x24258447, 0x01fe0000, + 0x2079823a, 0x22078278, 0x86f60116, 0x20068f13, 0x221082ee, 0x82880096, 0x009633ad, 0x000c0189, 0x00180196, 0x001d0300, 0x005a0294, 0x75830382, + 0x8400a821, 0x790231b1, 0xb400d900, 0x00000a01, 0x6d008301, 0xa0007f00, 0x00203982, 0x88200982, 0x048b0784, 0x1b849320, 0x89008222, 0x05291489, + 0x0094fcb6, 0x00efff11, 0x83d78283, 0x006d2216, 0x8606837b, 0x01bc2403, 0x845403aa, 0x00bc260b, 0x01d701b6, 0x300b8295, 0x00000196, 0xfeb605ae, + 0xfe6ffebc, 0x026f0083, 0x211382ad, 0x0185002a, 0x006fba08, 0x012901a1, 0x037102e2, 0x034d0329, 0x03ac037c, 0x040f04e2, 0x045b0444, 0x05b40495, + 0x053f0506, 0x06120694, 0x07cc0665, 0x0867073f, 0x08820811, 0x093d09da, 0x09bb0979, 0x0b6a0af7, 0x0ca00b34, 0x0c740c17, 0x0dec0cb3, 0x0d970d39, + 0x0e100ecd, 0x0e970e49, 0x0f2b0fb7, 0x10d50f7c, 0x108b1022, 0x116611fc, 0x12e511a7, 0x13ee1238, 0x139e134d, 0x14f713d1, 0x143b1417, 0x14701459, + 0x15081595, 0x16ae1569, 0x166b160e, 0x17a217ce, 0x181418e3, 0x18af185f, 0x193919c8, 0x1ac01977, 0x1a831a22, 0x1b391bc9, 0x1ccf1b8e, 0x1dd41c27, + 0x1ece1d65, 0x1e751e1b, 0x1ff51e99, 0x0b018248, 0xf41f90bc, 0x01216a20, 0xa4217421, 0xa1225d22, 0xb4234a23, 0x35240824, 0x0c253d24, 0x7e252325, + 0x0a26ba25, 0xa4267f26, 0x2b27ee26, 0xab276527, 0x2a28e227, 0xa3287a28, 0xf728c828, 0x85296d29, 0xb4299c29, 0xe429cb29, 0x722a092a, 0x9d2a852a, + 0xcc2ab42a, 0xfd2ae52a, 0x2b2b142b, 0xa82b442b, 0xd72bbf2b, 0x052cee2b, 0x362c1d2c, 0x1c2d9b2c, 0x4b2d342d, 0x7c2d632d, 0xdd2d932d, 0x8f2e782e, + 0xbb2ea52e, 0xe92ed12e, 0xb12f012f, 0xdb2fc42f, 0x0730f12f, 0x37301f30, 0x65304e30, 0x0e317e30, 0x3b312431, 0x68315131, 0x98317f31, 0x82320932, + 0xaf329932, 0xde32c532, 0x5933f432, 0x89337133, 0xb6339f33, 0xe333cc33, 0x17340034, 0x46342f34, 0x75345e34, 0xa5348e34, 0xd534bd34, 0xf034e834, + 0x80356935, 0xad359635, 0xda35c335, 0x0536f135, 0x3d362636, 0x6a365336, 0x97368036, 0xc536ae36, 0xf036dd36, 0x1e370637, 0x8c373b37, 0xfe37e737, + 0x2c381538, 0x5a384338, 0x84387138, 0xaf389838, 0xf138c838, 0x2c391539, 0x56394339, 0xb2396939, 0xe739ca39, 0x0e3afa39, 0x3e3a263a, 0x743a513a, + 0x0e3bc13a, 0x3b3b253b, 0x623b4f3b, 0x903b793b, 0x133cb23b, 0x833c6c3c, 0xb03c993c, 0xe03cc73c, 0x693df83c, 0x0f3ef73d, 0x383e253e, 0x643e4c3e, + 0x933e7c3e, 0xc03ea93e, 0xea3ed63e, 0x143ffd3e, 0x3d3f2a3f, 0x683f513f, 0xd13f7a3f, 0x53403b40, 0x81406940, 0xae409740, 0xdd40c440, 0x0e41f540, + 0x39412641, 0x63414c41, 0x91417a41, 0xc041a741, 0xed41d741, 0x1b420442, 0x48423242, 0xdf427b42, 0x9644c143, 0xc544ae44, 0xf244dc44, 0x18450545, + 0x84454e45, 0xd7459c45, 0x4e46fe45, 0xc2467b46, 0x32470547, 0xbc47a347, 0x1b48f647, 0x82484148, 0xe748b348, 0x28490f49, 0x38493049, 0xb6496a49, + 0xc649be49, 0x3d4ace49, 0x4d4a454a, 0xa14a994a, 0xf64aa94a, 0x294bfe4a, 0x794b314b, 0x894b814b, 0x204c184c, 0x104d8e4c, 0x424d294d, 0x6e4d584d, + 0x9c4d844d, 0x234eb14d, 0x044fa54e, 0x08508c4f, 0xae506e50, 0x5e512051, 0xe2516651, 0x72523052, 0x1a531253, 0xc8536e53, 0x90543754, 0x1c55da54, + 0x2e569a55, 0x19578f56, 0x4b573257, 0x77576157, 0xae579557, 0x3f582858, 0xb258aa58, 0xd358ba58, 0x7259db58, 0x2f5ad159, 0x5d5a465a, 0xae5aa65a, + 0x095b015b, 0x845b115b, 0x195c8c5b, 0xfb5c9c5c, 0x5b5d135d, 0xc75dbf5d, 0xd75dcf5d, 0xe75ddf5d, 0xf75def5d, 0x6f5e675e, 0xac5e775e, 0x3b5ff35e, + 0xe75f915f, 0x8b603d60, 0x6561ee60, 0xea61e261, 0xd7626562, 0x6563ff62, 0xe2636d63, 0xa4646064, 0xf564bb64, 0xa5654065, 0xf365eb65, 0x24661c66, + 0x6b662c66, 0xf0667366, 0x3267f866, 0xbd677267, 0x73681668, 0x1f69d568, 0xfc698869, 0x6b6a536a, 0xf06ada6a, 0x546b4c6b, 0x756b5c6b, 0xf56b7d6b, + 0xae6c546c, 0xda6cc46c, 0x546d1f6d, 0x976d7f6d, 0xc56dae6d, 0xf66ddc6d, 0x286e106e, 0x5b6e406e, 0x916e766e, 0xe56eba6e, 0x446f116f, 0xce6f726f, + 0x94702a70, 0x7571ef70, 0x5d72b871, 0x32732a73, 0x6d733a73, 0xb473a273, 0x1574d273, 0xf7747074, 0x15768175, 0x4177c376, 0x7e78f777, 0xe9788678, + 0x41791279, 0x9b797079, 0x627a157a, 0xdb7a917a, 0x2d7b017b, 0x1a7cc97b, 0x1b7da37c, 0xa47d607d, 0x0f7ef07d, 0x707e2d7e, 0xc97ea37e, 0x137fee7e, + 0x9f7f567f, 0x5b80fc7f, 0x27818a80, 0x01999181, 0xdb82820a, 0x5a834e83, 0x0b846283, 0x24858884, 0x52853b85, 0x7a856685, 0xf485a785, 0x74864786, + 0x1587a086, 0xdb877c87, 0x63883e88, 0xcf888888, 0x2e890e89, 0x5e894689, 0x8c897589, 0xe48a298a, 0xda8b658b, 0xbc8c4b8c, 0xd38d408d, 0x178f6b8e, + 0x5c90b88f, 0xba910a91, 0x9393a492, 0xa3939b93, 0x70941094, 0x3895d094, 0x6c955295, 0x42962c96, 0x4697c896, 0x33994a98, 0xe69af999, 0x979b489b, + 0x9b9c569c, 0x0d9dde9c, 0x1d9e3e9d, 0x619fbb9e, 0x44a0e99f, 0x24a1a8a0, 0x11a2b2a1, 0xcfa261a2, 0xd1a333a3, 0x9ca486a4, 0x26a5b2a4, 0xffa591a5, + 0xd8a672a6, 0x8ea744a7, 0x2ea8e0a7, 0xd0a887a8, 0x89a91ea9, 0xadaafca9, 0x6bab57ab, 0xceab7fab, 0x25ac1dac, 0xf9ac88ac, 0x0fae68ad, 0x36afcfae, + 0xf3af94af, 0xb6b04fb0, 0x67b119b1, 0x2fb2adb1, 0x4cb3bfb2, 0xeeb3e6b3, 0x1cb405b4, 0xf9b48ab4, 0xc4b56cb5, 0x77b616b6, 0x17b7beb6, 0xbdb771b7, + 0xc1b841b8, 0xe0b8c9b8, 0x0fb9f6b8, 0x2fb927b9, 0x4eb937b9, 0xcab964b9, 0x42ba28ba, 0x74ba5bba, 0xa8ba8eba, 0x2cbbc2ba, 0xacbb94bb, 0xddbbc3bb, + 0x0fbcf6bb, 0x30bc28bc, 0x51bc38bc, 0x83bc69bc, 0xb5bc9dbc, 0xe5bccbbc, 0x16bdfdbc, 0x47bd2ebd, 0xa6bd5fbd, 0xfabde1bd, 0x25be13be, 0x50be37be, + 0xe7be66be, 0xe4bf9abf, 0x66c0ecbf, 0x8bc1f2c0, 0xa2c21dc2, 0xbbc328c3, 0x84c428c4, 0x4fc5ebc4, 0x26c6cbc5, 0x05c787c6, 0x9dc789c7, 0xc8c7b1c7, + 0xf6c7dfc7, 0x27c80dc8, 0x5ac840c8, 0x8dc873c8, 0xc0c8a6c8, 0xfdc8d9c8, 0x37c91ec9, 0x69c950c9, 0x9bc982c9, 0xcdc9b4c9, 0x08cae6c9, 0x40ca29ca, + 0x6eca57ca, 0x9dca85ca, 0xcdcab3ca, 0x00cbe6ca, 0x33cb19cb, 0x66cb4ccb, 0xa3cb7fcb, 0xdbcbc4cb, 0x0accf2cb, 0x39cc22cc, 0x68cc51cc, 0x98cc7fcc, + 0xcbccb2cc, 0xfecce5cc, 0x31cd18cd, 0x6dcd4bcd, 0xa8cd91cd, 0xd7cdbfcd, 0x06ceeecd, 0x36ce1ece, 0x65ce4dce, 0x94ce7dce, 0xc3ceacce, 0xf2cedace, + 0x1fcf07cf, 0x4acf34cf, 0x78cf60cf, 0xa5cf8dcf, 0xd5cfbdcf, 0x02d0ebcf, 0x30d019d0, 0x5ad046d0, 0xf6d09dd0, 0xbad14bd1, 0x7ad22fd2, 0x29d3c8d2, + 0xbfd392d3, 0x0fd4e7d3, 0x02000000, 0x0000c100, 0xb6050a04, 0x07000300, 0x0b402b00, 0x09020205, 0x80037004, 0x05e54a03, 0x09060927, 0x03040348, + 0x331e8207, 0x332f323f, 0x5d2b2f01, 0x2f331133, 0x13303133, 0x37211121, 0xc1300382, 0xb7fc4903, 0xfd790268, 0xfab60587, 0xe604684a, 0x93245382, + 0x9101e3ff, 0x30085384, 0xb93a0017, 0xf0ff0100, 0x140a1340, 0x80191048, 0xa0199019, 0x0e030419, 0x0202049a, 0xc0ffb804, 0x0a070a40, 0x09010448, + 0x0302139b, 0xf52f3f00, 0x086182ce, 0x102f3347, 0x315d32e1, 0x23012b30, 0x34033303, 0x3233023e, 0x1415021e, 0x2223020e, 0x5001022e, 0xf0df3379, + 0x1b2e2214, 0x14222f1a, 0x1a2f2214, 0x14222e1b, 0x18049e01, 0x3526b9fa, 0x210f0f21, 0x35252635, 0x22101022, 0x24dd8335, 0x02a60385, 0x3e8984b2, + 0x40370007, 0x07980423, 0x09d00907, 0x2f0209e0, 0x7f096f09, 0x98000309, 0x03100300, 0x82f003e0, 0x020624e4, 0x82030702, 0x82332085, 0x2f0130df, + 0x5d5de15d, 0xe12f3912, 0x03013031, 0x82210323, 0x4a012f03, 0x02297329, 0x2972292d, 0xf0fdb605, 0x03831002, 0x33246383, 0xf8040000, 0x70086382, + 0x001f001b, 0x03584099, 0x181a1a03, 0x071d1e16, 0x17170604, 0x01001906, 0xb1050404, 0x15211818, 0x04081c1f, 0x12141409, 0x040b0e0f, 0x500ab113, + 0x10100110, 0x50090c0c, 0x1c0a010a, 0x010d4801, 0x080cae0d, 0x001f0c04, 0x1911ae10, 0x113f1115, 0x11df114f, 0x0c110c03, 0x13170511, 0x00050a06, + 0x333f332f, 0x2f393912, 0x33115d2f, 0x32e11033, 0x22068432, 0x8232325d, 0x2db383ac, 0xe4105d2f, 0x11323917, 0x11391712, 0x0a832f33, 0x0b863320, + 0x832f3321, 0x152121c5, 0x1320c582, 0x35230384, 0x82211321, 0x03332303, 0x03821321, 0x82011521, 0x0331080e, 0x18013fd7, 0x9352cdfe, 0x52ddfe54, + 0xfefe4e90, 0xfe411d01, 0x522b01ee, 0x25015293, 0x01549054, 0x01ebfc06, 0xddfe4023, 0xb8fe7d03, 0x0154fe89, 0x270383ac, 0x89480189, 0x50feb001, + 0x80080383, 0x01b8fe89, 0x00030048, 0x0389ff7b, 0x001206d9, 0x0036002d, 0x40b4003f, 0x292f3433, 0x212f2901, 0x70062101, 0x3c013c2f, 0x1e011e2f, + 0x01072013, 0x2e0d0707, 0x000f246e, 0xff02001f, 0x00000100, 0x41000701, 0x6e370d0d, 0x190119e0, 0x40c0ffb8, 0x480b0830, 0x14143319, 0x133c3c29, + 0x3d08372e, 0x25217328, 0x0e401f21, 0x1f1f4811, 0x0121501e, 0x211f210f, 0x34210802, 0x0e087313, 0x05060608, 0x33348208, 0x480d0ab3, 0x2b2f0008, + 0x112f3333, 0x32e11033, 0x5d5d5e2f, 0x2b200b82, 0x12320c84, 0x39123939, 0x11333311, 0x2b2f0133, 0x2f33e15d, 0x1e82d610, 0xe1327125, 0x822f3911, + 0x335d2525, 0x5d32e15d, 0x28080182, 0x14013031, 0x1507020e, 0x2e223523, 0x1e352702, 0x2e113303, 0x3e343503, 0x33353702, 0x17161615, 0x27262607, + 0x07031e11, 0x081d8234, 0x363611d8, 0x021e1401, 0x06061117, 0x5d32d903, 0x328a5485, 0x20546066, 0x65605721, 0x5683592f, 0x815b312a, 0xa9648a4f, + 0x8c384243, 0x5b87584a, 0x2b14b02e, 0x5b5d3346, 0x281112fe, 0x53593142, 0x7246be01, 0xe60c3754, 0x1a1209dd, 0x2110ac11, 0xb201111a, 0x6e55421e, + 0x536f434a, 0xb0b40935, 0x911f2a05, 0xfe062919, 0x53421f5a, 0x3721486b, 0xfe12262d, 0x02620e8b, 0x2f3924a3, 0x71011126, 0x00005910, 0xff660005, + 0x053306ec, 0x000900cb, 0x0027001d, 0x003f003b, 0x103cb25d, 0xf0ffb83e, 0x3e3c3340, 0x14283e3c, 0xb532b41e, 0x4128b423, 0x0501410f, 0x00b50ab4, + 0x201410b4, 0x03143014, 0x3e063f14, 0x37b62518, 0x2db621b7, 0x0fb60319, 0x19b607b7, 0xe13f0007, 0x0384e1f4, 0x2f013f23, 0x220b825d, 0x82de105d, + 0x12113505, 0x2f2f3939, 0x30313838, 0x33161413, 0x23101132, 0x14050622, 0x20059643, 0x06a64335, 0x19990120, 0x0123013d, 0x9c5047fa, 0x0147509c, + 0x734a24c7, 0x4c70494f, 0x71492326, 0x4d714b4e, 0x86ac0127, 0x23c62119, 0x4a221982, 0x19864b70, 0x274c2708, 0xd5fc00ff, 0x042c039e, 0x01a5a502, + 0xa348014a, 0x76ac6ca5, 0xac763f3f, 0x75aa6c6c, 0xaa753e3e, 0xa4a54afd, 0x18844901, 0x1883ab20, 0x1887ab20, 0x92035608, 0xb6054afa, 0x00030000, + 0x05ecff6d, 0x00cd057d, 0x00210011, 0x40800053, 0x1718274d, 0x2c49044a, 0x470a4849, 0x42474136, 0x36014220, 0x1d423642, 0x473c3b05, 0x47004804, + 0x2c102c00, 0x2c2c0802, 0x01482022, 0x481d5548, 0x22202210, 0x41412202, 0x4f511231, 0x323b8416, 0x3b3c470f, 0x49310405, 0x31500f15, 0x3fe12f00, + 0x82391712, 0xe13f2b02, 0x012f3911, 0x10e15d2f, 0x09825dc6, 0xe15d5e23, 0x2b178211, 0x2f2f3939, 0x10e1105d, 0x113311e1, 0x31382482, 0x1e140130, + 0x033e1702, 0x022e3435, 0x13062223, 0x37023e32, 0x15030e01, 0x25211582, 0x420b8234, 0xf2440569, 0x07620807, 0x37033e01, 0x07030e33, 0x0e272301, + 0x2e222303, 0x10a60102, 0x3b243421, 0x191c3856, 0x562a422f, 0x623a8764, 0xfe204854, 0x3750347d, 0x6042231c, 0x4d287dfe, 0x3c1f476f, 0x5e321c2d, + 0x8353588a, 0x5432305b, 0x60013c6d, 0x1b222b1b, 0x290fb80a, 0x01274135, 0x31a8e115, 0x4e7c6c60, 0x3d73a769, 0xd9828d04, 0x25436608, 0x46403e23, + 0x2c3d2429, 0xaffb5919, 0x1f362817, 0x3f219701, 0x36385548, 0xf024415b, 0x56647a4e, 0x574d242a, 0x774b3963, 0x532b2b53, 0x6d404b77, 0xfe244f5d, + 0x443c1d8c, 0x6f422f4e, 0xfe295562, 0x472dacdb, 0x67351b31, 0x00010095, 0x01a60385, 0x00b6054a, 0x402a0003, 0xd005c01c, 0x0305e005, 0x056f052f, + 0x0b6c4502, 0x03020227, 0x333f0003, 0x0568452f, 0x23056445, 0x73294a01, 0x20065b45, 0x24478200, 0x02bcfe52, 0x2a47822b, 0x401a0013, 0xf20e060d, + 0x823ff009, 0xf90e2615, 0x3f00f805, 0x0837833f, 0x3132e438, 0x3e341330, 0x06333702, 0x1e141502, 0x2e231702, 0x4a245203, 0x8cac4e71, 0x6a472591, + 0x714eaa45, 0x3102244a, 0xd3e5f37d, 0x32fec15d, 0xe2ec77f4, 0xce5a5ed4, 0x5d83f0e1, 0x5d823d20, 0x5d841720, 0x0e401c22, 0x0b225d82, 0x5d82b0f0, + 0xf80e1524, 0x5e83f905, 0x5dde1023, 0x3f5f83e1, 0x020e1401, 0x033e2307, 0x27023435, 0x02031e33, 0x714b2417, 0x6a45aa4e, 0x8d902448, 0x4b714eac, + 0x7c315f82, 0x5acee1f0, 0xece2d45e, 0xce01f477, 0xe5d35dc1, 0x2ebd84f3, 0x14047702, 0x0e001406, 0x15402400, 0x8201101f, 0x800e39fc, 0x030e900e, + 0x061f0e08, 0x00060601, 0x323f0000, 0x2f015d2f, 0x5de55d5e, 0x3708ff83, 0x13051725, 0x27030307, 0x05372513, 0x2b980203, 0xfe1a8d01, 0xb0b2f586, + 0xfef2b89e, 0x87011d89, 0xfe14062b, 0x1cc16f77, 0x0160bafe, 0x609afe66, 0xc11c4601, 0x0089016f, 0x3008b582, 0x04060166, 0x00a20402, 0x4029000b, + 0x010d1018, 0x03aa0906, 0x200100ef, 0xa0006000, 0x09000300, 0x0306ad00, 0x333f00b3, 0x2f0132e1, 0xe1325d5d, 0x08708332, 0x21352120, 0x21113311, + 0x23112115, 0x7dfee901, 0x01968301, 0x967dfe83, 0x01968702, 0x967bfe85, 0x59837ffe, 0xf8fe3f30, 0xee007901, 0x38000c00, 0x0ecf1440, 0xc1821001, + 0x0ea02108, 0x2b0c1b03, 0x010c020c, 0xb8070697, 0x0d40c0ff, 0x5f481410, 0x07100107, 0x9c060701, 0xed2f000c, 0x2b256583, 0x5d32ed33, 0x0868825d, + 0x0e172522, 0x3e230703, 0x6a013703, 0x2f270e0f, 0x0f8a1933, 0x08161b1d, 0x7a3617ee, 0x3d387b7c, 0x357d8384, 0x52266983, 0x4202d101, 0xae827902, + 0x09401525, 0x82400502, 0xb90025d6, 0xe12f0001, 0x102e4c82, 0x133031ce, 0x52152135, 0xd101f001, 0x1a82a8a8, 0xff932708, 0x009101e3, 0x001300fa, + 0x801b4035, 0xa0159015, 0x15110315, 0xc0960a01, 0x0200d000, 0x00440034, 0x00740064, 0x9e820004, 0x0a07b627, 0x9b050048, 0x2397840f, 0xed5d5d2b, + 0x37209483, 0x200e5648, 0x0f514893, 0x4c486f20, 0x0001280f, 0x02000014, 0x82b605e7, 0xb11e26a1, 0xffb80201, 0x25a782f0, 0x00100003, 0x12820105, + 0x112f3f38, 0x32383301, 0x3133382f, 0x23010130, 0xfde70201, 0x2102b3e0, 0x8544b605, 0x00022805, 0x04ecff62, 0x82cd0508, 0x00273db1, 0x1e154026, + 0x1029006f, 0x6f140129, 0x0a010a20, 0x070f7323, 0x19057319, 0x3fe13f00, 0xe124ef83, 0xe1de105d, 0x14394782, 0x23060602, 0x02262622, 0x36123435, + 0x16323336, 0x14051216, 0x3233021e, 0x0811823e, 0x23022e53, 0x04020e22, 0xb2713308, 0x73af767f, 0xb16f3339, 0x74b0777e, 0x1e13fd3a, 0x4d4d6b42, + 0x1f1f456c, 0x4d4d6c45, 0x021e426b, 0xe8feb1dd, 0xc26666c2, 0xb1b11801, 0x66c11801, 0xe8fec165, 0x95e096b2, 0xe1944a4b, 0x94e09697, 0xe0944a4a, + 0x00010000, 0x20e182b2, 0x08e182c7, 0x35001066, 0x12402140, 0x0e010f01, 0xbf6e000e, 0x0201ff01, 0x0001017e, 0x20011001, 0x04014001, 0x0f0d0106, + 0x00180006, 0x01cd3f3f, 0x5d5d5e2f, 0x2f33e15d, 0x315d3311, 0x11232130, 0x37023e34, 0x0707030e, 0x02330127, 0x0301b0c7, 0x1a110103, 0x94151e1b, + 0x967f0160, 0x622b9103, 0x12225961, 0x121b181a, 0x2b017b79, 0x2b087182, 0x03000060, 0x00cb05f0, 0x403c0023, 0x6f082320, 0x10251b1b, 0x6f220125, + 0x11012101, 0x01012011, 0x10220801, 0x0716730d, 0x01742202, 0xe1297082, 0x33e13f32, 0x2f013912, 0x2771835d, 0x115ded10, 0x33e12f33, 0x21227882, + 0x52450135, 0x27072308, 0x3f45033e, 0x154c0809, 0xfcf00321, 0x4b5e0170, 0x222c5376, 0x5f35563f, 0x28664599, 0x41766a5c, 0x3b6c9b60, 0x4b815d35, + 0xb102e7fe, 0x517d019c, 0x4c818086, 0x203f5a3b, 0x24773c4d, 0x361b2e3f, 0x555b9165, 0x5196959a, 0x0008d5fe, 0x52000100, 0xee03ecff, 0x4008a982, + 0x405d0039, 0x2130210b, 0x6f1a1230, 0x006f2709, 0x40c0ffb8, 0x48171428, 0x3b090000, 0x4f013b20, 0x06120112, 0x21ab7320, 0x01217901, 0x0801210b, + 0x2f152121, 0x0735732c, 0x0e127315, 0x333f0019, 0x41c184e1, 0xc8830536, 0xce105d2d, 0xe12b2f32, 0x3911e110, 0x482f2f39, 0x1621077a, 0x05f04a16, + 0x35272624, 0xef411616, 0x35232108, 0x22210a88, 0x08e68706, 0x2ec103a6, 0xb1477453, 0xca8441b8, 0x55c16d8a, 0x5c5dcb57, 0x35295786, 0x85598d62, + 0x557e5185, 0x5c42242c, 0x4aa36b38, 0x6e5d265c, 0xa36c467d, 0x6004386e, 0x39587849, 0xb516060c, 0x74a06091, 0xaa2d2240, 0x4a28322e, 0x6144436c, + 0x28971e3f, 0x343d664a, 0x431e3952, 0x361f7d36, 0x61361829, 0x00020085, 0x04000017, 0x00be053f, 0x0018000a, 0x092c404e, 0x00010056, 0x116e0200, + 0x20070b0c, 0x03030103, 0x011a101a, 0x18871877, 0x055f1802, 0x06090501, 0x05017418, 0x07110205, 0x00180206, 0x12333f3f, 0xe1332f39, 0x2105a64a, + 0x0c825d5d, 0x82335d21, 0x32e12400, 0x82325d2f, 0x234608ee, 0x21112311, 0x11330135, 0x34112133, 0x2337023e, 0x0107030e, 0xb0d53f04, 0x97025dfd, + 0x7bfed5bc, 0x01050403, 0x19150709, 0x65fe0b1a, 0xb8fe4801, 0x039f4801, 0x0130fcd7, 0x757b3864, 0x31142266, 0xfd102e31, 0x918200a0, 0xecff8328, + 0xb605f603, 0xa3822a00, 0x26182e08, 0x2c056f1a, 0x27012c10, 0x68282424, 0x23590123, 0xf0232301, 0xb80f010f, 0x1240c0ff, 0x0f480b08, 0x0000731d, + 0x24742715, 0x10731506, 0x0698410a, 0xe1279b82, 0x5d2b2f01, 0x825d2f33, 0x331126a3, 0xe1de105d, 0x4ca38233, 0x27230a7f, 0x41031e35, 0x95080584, + 0x0e222326, 0x13270702, 0x03211521, 0x21023636, 0x487fab63, 0x80c58644, 0x525b6333, 0x62592121, 0x7c4f2a63, 0xa8b02e56, 0x393f3f1b, 0x02375a15, + 0x27ecfdb2, 0x81036920, 0x69a06c37, 0x437eb672, 0x141e130a, 0x182417ac, 0x764e250d, 0x05978f51, 0x39040908, 0xfea6b002, 0x000e065d, 0x71000200, + 0x0a04ecff, 0x2b00cb05, 0x37003f00, 0x6e312040, 0x1041220c, 0x3b170141, 0x1000006f, 0x03002000, 0x1d753600, 0x732c071d, 0x73101927, 0x3f000707, + 0x11e13fe1, 0xbf822f39, 0x32e15d22, 0x3228b882, 0x133031e1, 0x33043e34, 0x1722bc82, 0xad832615, 0x33070422, 0x24091943, 0x022e2223, 0x0a484401, + 0x14158808, 0x1571021e, 0xc68e5c35, 0x2f2e1385, 0x5823112b, 0x64895a2b, 0x03142a43, 0x4c39140c, 0x9a5f3b5f, 0x743e3b6c, 0xaf6466a4, 0xdb014a80, + 0x2748633c, 0x42634221, 0x2b4e6f43, 0x026e4925, 0xbfd06971, 0x024579a4, 0x9b050705, 0x4e2b0c0c, 0x5094836c, 0x1a2d3f24, 0x6aa5723b, 0x447fb672, + 0xfef2a04e, 0x7f5329b9, 0x4e6f4657, 0x604b2f2a, 0x6a854330, 0x00010043, 0x0400005a, 0x00b60506, 0xb12b0006, 0xffb80006, 0x821140f0, 0x05012afc, + 0x01081008, 0x74020502, 0x05674403, 0x0132e127, 0xce105d2f, 0x08e08232, 0x31333880, 0x21012130, 0x01152135, 0x33021901, 0xac030efd, 0x1005d5fd, + 0xdbfa91a6, 0x6a000300, 0x0004ecff, 0x2700cd05, 0x4a003a00, 0x53408000, 0x6e32231e, 0x48280a0f, 0xd305c36e, 0x05b50205, 0x0f050501, 0x014c104c, + 0x3e196e28, 0x0123d56e, 0xba0123cc, 0x23230123, 0x19201910, 0x1e0a1902, 0x38983868, 0x01385902, 0x38383828, 0x38033848, 0x26014393, 0x02435643, + 0x2d004343, 0x3b191473, 0x6a410073, 0x5d5d2708, 0x5d5d5dc1, 0x9a823939, 0x822f3321, 0x10e12209, 0x82a383e1, 0x12e1260a, 0x11e11039, 0x09394239, + 0x031e0722, 0x2205cf43, 0x4935022e, 0x032009e4, 0x270acb45, 0x06062727, 0x15062201, 0x08071c4a, 0x350226b7, 0x42719554, 0x38604628, 0x35576f3a, + 0x66a97943, 0x3d75ab6e, 0x3a684c2d, 0x253f5631, 0xc7957243, 0x48684420, 0x24486b46, 0x3f664927, 0x01807e1e, 0x237d6a16, 0x3033573e, 0x7e243f55, + 0x582ccd05, 0x6c435884, 0x1f1c4557, 0x49765f4c, 0x3868955c, 0x5c926536, 0x4a60784b, 0x5a491f1c, 0x8357426d, 0xa6fb2c58, 0x233f5935, 0x385c4123, + 0x40485434, 0x9b3c0e1f, 0x656a5403, 0x33405239, 0x42341618, 0x6a653654, 0x00020000, 0x04ecff6a, 0x00cb0504, 0x003d0029, 0x391e4035, 0x3f006f15, + 0x2f013f10, 0x20100c6e, 0x20022020, 0x1b1b7534, 0x25732a07, 0x07751007, 0x0b87421a, 0x5de13330, 0x32e1de10, 0x14013031, 0x2223040e, 0xcc44022e, + 0x23372107, 0x4c05cb4a, 0x22220835, 0xf983020e, 0x23055843, 0x0404022e, 0x3e078842, 0x23112c2e, 0xae872b58, 0x0d052b66, 0x604c3814, 0x6c9a5f3b, + 0xa5733f3b, 0x80ae6566, 0x4225fe4a, 0x443c0786, 0x252b4e6e, 0x46036e49, 0xa5bed169, 0x05024578, 0x0d9c0506, 0xd6a15e0c, 0x2e3e2477, 0x29058442, + 0x4e447fb7, 0x4701f3a0, 0x84425428, 0x426b210b, 0x933be183, 0x9101e3ff, 0x13006604, 0x3e002700, 0x29101c40, 0x29902980, 0x1e0429a0, 0x4814960a, + 0x40291150, 0x480a070b, 0x199b2300, 0x05554810, 0x01ed3f2c, 0x5d5d2b2f, 0x5d32e533, 0x58483031, 0x4811200f, 0x78481f68, 0x9103361f, 0x0e213527, + 0x2735210e, 0x10223425, 0x00342210, 0xfe3f0002, 0x08af84f8, 0x20000c2b, 0x2f406100, 0x22802210, 0x22a02290, 0xc0961704, 0x020dd00d, 0x0d740d64, + 0x010d5002, 0x3b010d44, 0x0d1f010d, 0x0d020d2f, 0x0db2490d, 0xb2491120, 0x9b1c2309, 0xb6491012, 0x29c88305, 0x332b5d5d, 0x335d32ed, 0x00845d2f, + 0xc049e520, 0x108b510b, 0x200cd049, 0x49c98f11, 0x02210be1, 0x08c58fed, 0x66000141, 0x0204ee00, 0x0600dd04, 0x30404e00, 0x08400800, 0x01014001, + 0x05010201, 0x6f060305, 0x02007f00, 0x00010030, 0x03200400, 0x70035001, 0xd0038003, 0x0503f003, 0x0001033f, 0x03060103, 0x825e2f00, 0x337121a0, + 0x3228a883, 0x2f3d3912, 0x18013333, 0x4e08b482, 0x3031ce10, 0x01350125, 0x04010115, 0x0364fc02, 0x0221fd9c, 0xa801eedf, 0xa0e10166, 0xbefe94fe, + 0x66000200, 0x0204ba01, 0x0300e903, 0x5c000700, 0x02073d40, 0x01094009, 0x0100c604, 0xa90100bb, 0x00860100, 0x01007b01, 0x42010068, 0x82390100, + 0xad043981, 0x052f051f, 0x01057f02, 0x05100500, 0x05050602, 0x01f0ad00, 0x6f010f01, 0x0020ab82, 0xe1217282, 0x228b8333, 0x4101e171, 0x5d260633, + 0x105d335d, 0xb24a32ce, 0x35012605, 0x03661521, 0x2889839c, 0x95955403, 0x969666fe, 0x8c548200, 0x840520fb, 0x01062efb, 0x01040506, 0x6f000301, + 0x02067f06, 0x210e8230, 0xfba10206, 0xfb8e3320, 0x84011321, 0x026624fc, 0x8320fde0, 0x8f012b76, 0x6c014201, 0x661ffea0, 0xfb8258fe, 0xff253108, + 0x052503e3, 0x002700cb, 0x403e003b, 0x289a3221, 0x00462728, 0x460b1400, 0x3d2f3d1c, 0x170b1401, 0x0601000f, 0x9b2d0000, 0x51101337, 0x3f000417, + 0xe521dd82, 0x21e08232, 0xdf823912, 0xe1de1025, 0x822f3911, 0x31e12812, 0x34350130, 0x4937023e, 0x36210a75, 0x08754936, 0x15030e23, 0x102d4215, + 0x0f192008, 0x30324227, 0x1e152b44, 0x53385539, 0x513f4696, 0x955d61bc, 0x361b3868, 0x42343650, 0x42bb0e26, 0x26080f40, 0x39259e01, 0x2a4d505c, + 0x4f454329, 0x394f3035, 0x9122341f, 0x60333b2a, 0x6943578b, 0x2d2f545a, 0x2c423f43, 0x4bd1fe12, 0x71080fa9, 0xff6d0002, 0x0581064a, 0x005700b6, + 0x406f0068, 0x6017583f, 0x01171f27, 0x1701277f, 0x27464627, 0x314e0317, 0x00010020, 0x016a406a, 0x014e403b, 0x5b0c2c4e, 0x64120712, 0x1f120f1c, + 0x0312bf12, 0x011c0006, 0x121c1207, 0x5336401c, 0x49454003, 0xc1332f00, 0x3912c13f, 0x5e2f2f39, 0x105d5e5d, 0x103311c1, 0x013232c1, 0x5dc15d2f, + 0xc171de10, 0x19821711, 0x825d2f21, 0xc1102118, 0x440aeb44, 0x17250ee3, 0x14060603, 0x0be54414, 0x04222322, 0x2a05b74e, 0x023e3233, 0x06061537, + 0x4b242223, 0x242805ea, 0x16043233, 0x16140112, 0xc5081984, 0x23262637, 0x06020e22, 0x39251381, 0x2d3a614c, 0x06213449, 0x47361204, 0x774d3559, + 0x6f3b2b52, 0x5a2d629e, 0x17174552, 0x22150101, 0x462e172b, 0x9856182f, 0xfea97bd1, 0x4f5aaffe, 0x3d93e399, 0x2b646f77, 0xb382d856, 0x66c3e7fe, + 0x3701db76, 0x06019cc1, 0x15fc6abf, 0x4e375565, 0x0e041a32, 0x4a2a4d1c, 0x021c3f65, 0x717d3edb, 0x1e294861, 0x25234132, 0x381c3142, 0x65568e65, + 0x08447aa8, 0xfe08110e, 0x101b1660, 0x44350308, 0x683d0f28, 0xdd8e4e8c, 0xc76f4f98, 0x97a2effe, 0x0e52a0ea, 0x8d111f18, 0xc3662c26, 0xbcb31901, + 0x88ee4501, 0xf1febd65, 0x7785d5fe, 0x4573532d, 0x3a0d08fd, 0x0000785e, 0x00820002, 0xdd047e08, 0x0700bc05, 0x84001400, 0x05062440, 0x46010246, + 0x14020114, 0x01084903, 0x08010149, 0x0e0e0001, 0x10000003, 0x07800107, 0x07d00790, 0xffb80703, 0x061840c0, 0x1007480a, 0x0f160707, 0x2f161f16, + 0x9f168f16, 0x0616df16, 0xb8040307, 0x1140f0ff, 0x0e5f0204, 0x480e0a20, 0x1414050e, 0x00040305, 0x323f0012, 0x122f393f, 0x01e12b39, 0x5e33382f, + 0x2f33115d, 0x715d2b38, 0x39121133, 0x2416823d, 0x125d5d39, 0x08048239, 0x31333397, 0x21032130, 0x33012303, 0x2e030101, 0x030e2703, 0x1f040307, + 0xa2dffda0, 0xaa1902bc, 0x67fe1a02, 0x12110694, 0x12070812, 0x91061112, 0x3bfec501, 0x44fabc05, 0xa8016a02, 0x413c3412, 0x3d421f1f, 0x58fe1133, + 0x00030000, 0x040000c7, 0x00b60587, 0x00220017, 0x4062002f, 0x5a1e0b3e, 0xe5010605, 0x0206f506, 0x060106d6, 0x5b2a2406, 0x11801170, 0x31671102, + 0x318f317f, 0x01311002, 0x175a2418, 0x230b3064, 0x01187960, 0x0801180b, 0x24001818, 0x22121760, 0x494f8260, 0x5e3b06c7, 0x39e15d5d, 0xe1f61001, + 0x105d5d32, 0x12e15df6, 0x5d5d2f39, 0x3132e171, 0x4a211330, 0x0721068e, 0x06554815, 0x47132121, 0x26270538, 0x11112323, 0x4e3e3221, 0x7508051c, + 0x808f01c7, 0x274283c3, 0x45456d4a, 0x41345a79, 0xfe6fb07b, 0x54f4ba1b, 0x9a1f4672, 0x0a01dfa6, 0x20497758, 0x5c7c4b21, 0x5727b605, 0x6c3e678d, + 0x0a093752, 0x784f2d0c, 0x6d9d6456, 0x1e4a033a, 0x783b593b, 0xfd97fd68, 0x654828f0, 0x435e383d, 0x01000025, 0xecff7d00, 0xcb059804, 0x4c002300, + 0x0eaf1440, 0x15400e01, 0x0e0e4818, 0x0120ba18, 0x20702060, 0xb3412002, 0x20203807, 0x0125af25, 0x66185b05, 0x5f002124, 0x0a0d041d, 0x0013135f, + 0x8233e13f, 0x26d68302, 0x2f33115d, 0x825d5d2b, 0x5d2b24d6, 0x48013031, 0x36240800, 0x030e1537, 0x080cf34e, 0x2607176a, 0x6b190326, 0x3b437bae, + 0x5976b076, 0x4e274ea0, 0xa43b6155, 0x574c9df0, 0x6ca2faa9, 0x3f4e4fc4, 0x51270594, 0x8d89da98, 0x234e96db, 0x170fa217, 0xc66c070e, 0xa6a91601, + 0x6ec61401, 0x209c2a2c, 0x0002002e, 0x040000c7, 0x00b605fc, 0x0017000c, 0x0d154026, 0x1967005b, 0x14011910, 0x1864065a, 0x03076013, 0x12066014, + 0x3f219f82, 0x229d84e1, 0x82e1f610, 0x02143495, 0x21230406, 0x16322111, 0x34071216, 0x2323022e, 0x82203311, 0x60300846, 0xa8f7feb6, 0x970192fe, + 0x5faef899, 0xb87e42c5, 0x01a2c975, 0x020c0108, 0xe9feb9e9, 0xb6055ebb, 0xf4feb55c, 0x8ad592b6, 0x0189fb43, 0x01000024, 0x03217d83, 0x087d82be, + 0x42000b29, 0x08142640, 0x01080801, 0x0d670004, 0x015a0a06, 0x5f090c64, 0x0f01064f, 0x0206af06, 0x0a060608, 0x03025f05, 0x85015f0a, 0x3912258c, + 0x715d5e2f, 0x322a9384, 0x1132e610, 0x315d2f39, 0x92822130, 0x03861520, 0xfdbe0335, 0xfdf70209, 0xfd1702c3, 0x053d02e9, 0x3cfea4b6, 0x8af8fda2, + 0x00092471, 0x82114070, 0x0f24086e, 0x03ff0103, 0x90038001, 0x0303d003, 0xc0ffb803, 0x0a073840, 0x0b030348, 0x0b2f0b0f, 0x0baf0b8f, 0x00060704, + 0x0a238d82, 0x830f5f09, 0x063f348d, 0x06ff066f, 0x40060804, 0x06481d1a, 0x48151040, 0x83000606, 0x8200209b, 0xe13f2199, 0x2b219882, 0x209a882b, + 0x06ce415e, 0x16827120, 0x23229f82, 0x9f852111, 0xba810122, 0x9a829c87, 0xa4fcfd23, 0x06434200, 0x05f22908, 0x002b00cb, 0x2b1e4037, 0x5a290c2b, + 0x2d670214, 0x1f012d10, 0x2c660c5b, 0x00005f2b, 0x115f1a24, 0x075f2404, 0xe13f0013, 0xe1206a84, 0x29069441, 0x3911e132, 0x0130312f, 0x24421121, + 0x3324280a, 0x07171632, 0x4223032e, 0x55080844, 0x1137023e, 0x010e0321, 0x767037e4, 0xf29d4b82, 0xb65f56a6, 0x6fab0b01, 0x244858cc, 0x2e5d5853, + 0x427fbc7a, 0x86be7837, 0x373e492c, 0x03d5fe1a, 0x1233fd04, 0x690a131c, 0xae1701c3, 0xc31601ac, 0xa22a2c69, 0x0e171e11, 0x89da9851, 0x569cd882, + 0x050b0805, 0xbb83b401, 0x00c72d08, 0x05d50400, 0x000b00b6, 0x0923403d, 0x65005a01, 0x010dc00d, 0x20010dbf, 0x0408010d, 0x0c64055a, 0x080f5f03, + 0x08080801, 0x0503060a, 0x24058f44, 0x5e2f3933, 0x27c1845d, 0x5d5d5d32, 0x32e1f610, 0x3b052241, 0x33112311, 0x33112111, 0xfdbad504, 0x02baba66, + 0xaa02ba9a, 0xb60556fd, 0x680298fd, 0x52246b83, 0x64020000, 0x3b086b84, 0x0b264057, 0x020d2b0d, 0x0d9b0d7b, 0x0dfb0dab, 0x010d5404, 0x0d3b0d2b, + 0x1f030d4b, 0x0802010d, 0x055a0a0b, 0x0103c902, 0xf8ffb803, 0x100d1040, 0x01030048, 0x04090306, 0x0a030306, 0xc1258383, 0x32c13f32, 0x28858201, + 0x32c15d2b, 0x5f32c1f1, 0x2000825d, 0x08858271, 0x37352127, 0x21352711, 0x17110715, 0xeefd6402, 0x1202acac, 0x2966acac, 0x66299804, 0x68fb2966, + 0xff010029, 0x017bfe48, 0x08858273, 0x2f001324, 0x15df1c40, 0x70156001, 0x152f0215, 0x0c5a0f01, 0x0c000303, 0x07020c10, 0x07030d0c, 0x2f00005f, + 0x63833fe1, 0x102f3323, 0x235e82e1, 0x22033031, 0x8209bd50, 0x142408e9, 0x331d020e, 0x4e221c4c, 0x3d4b252d, 0x693bbb26, 0x0d7bfe93, 0x0b09a00b, + 0x44583213, 0x5efab605, 0x31659a69, 0x20076341, 0x377182a2, 0x4064000c, 0x660c022d, 0x000c010c, 0x0b100b0a, 0x0000010b, 0x07020010, 0x00290482, + 0x010eb00e, 0x10010e2f, 0x0575410e, 0x10020d2b, 0x0848100b, 0x40f0ffb8, 0x3208820c, 0x0a050802, 0x05000306, 0x333f0012, 0x3912333f, 0x452b2b39, + 0x5d27064a, 0x382f3311, 0x82335d5e, 0x11332205, 0x270d8239, 0x23213031, 0x23110701, 0x373fa082, 0x04013301, 0x3dfed3a2, 0x79baba8b, 0xfdd1c401, + 0x72ba02f8, 0xb605b8fd, 0x02a825fd, 0x4383fd33, 0x05360bc7, 0x13402300, 0x07af0704, 0x01071001, 0x64005a03, 0x03030106, 0x7082005f, 0x833fe121, + 0x845d206a, 0x8233205a, 0x15212555, 0x3d02bac7, 0xf021df82, 0x059543a6, 0x822f0621, 0x00193cdb, 0x3613408b, 0x00390119, 0x080e1701, 0x39480f0c, + 0x110e010e, 0xffb8195a, 0x821c40f8, 0x0019210e, 0x00321483, 0x090c0d0d, 0x4f1b6510, 0x1b20011b, 0x011b0f01, 0x20830b08, 0x20821a20, 0x010b263a, + 0x5a08020b, 0x181a6409, 0x09100101, 0x0e014812, 0x0c11030b, 0xb6f0ffb8, 0x0c210c82, 0x298a8308, 0x322b3232, 0x2b33333f, 0xfd843311, 0x2b5d3231, + 0x5d5d5d5e, 0x3911f610, 0x2b331139, 0x82e12b33, 0x31323411, 0x215d5d30, 0x17162301, 0x11151616, 0x01211123, 0x82210133, 0x343b0807, 0x37363736, + 0x23030123, 0x060845fe, 0xac050404, 0x9c011401, 0x019e0106, 0x0304ba14, 0xfe080304, 0x4a000541, 0x398b3f49, 0xb60596fc, 0xa80458fb, 0x77034afa, + 0x473d8634, 0x8502fb49, 0x0e0521e7, 0x2d08e782, 0x40510017, 0x01280e29, 0x5a150101, 0xb0196500, 0x198f0119, 0x10190001, 0x0c270219, 0x09030c01, + 0x18640a5a, 0x06100216, 0x0b024818, 0xbd830d03, 0x0d210a82, 0x20bd860a, 0x86a5823f, 0x82b884ba, 0x21af82b0, 0xae892321, 0x3301332e, 0x032e2726, + 0x05331135, 0x31fdd70e, 0xd533aa85, 0x0307cc02, 0x03030104, 0xba04ae01, 0x8e414c4d, 0x82e7fc39, 0x4c4c32a4, 0x4343204a, 0x20031a3e, 0x00020000, + 0x05ecff7d, 0x068f5571, 0x40342108, 0x005b1e20, 0x29c02967, 0x0129bf01, 0x2f012970, 0x02295f29, 0x660a5b14, 0x0f5f2328, 0x055f1904, 0x41058944, + 0x5d2105d9, 0x081d465d, 0x081f9d55, 0x51710548, 0xa39beda0, 0x4c4c9def, 0x9ba3f09e, 0xfb51a0eb, 0xa56b34d1, 0x6ba57272, 0xa46a3232, 0x6ca67272, + 0xa9dd0234, 0x6cc6eafe, 0x1701c66c, 0x1501aaaa, 0xc56b6bc4, 0x89abebfe, 0x515199db, 0x8a89db99, 0x515197da, 0xb183da97, 0x00c74108, 0x05330400, + 0x000e00b6, 0x40460019, 0x285b152c, 0x48003800, 0x67000300, 0x011bcf1b, 0x0f011b40, 0x0f06011b, 0x64085a07, 0x30600f1a, 0x02064006, 0x19070606, + 0x07030960, 0x3f3f0012, 0x2f3911e1, 0x42068544, 0x5d310505, 0x013031e1, 0x23020e14, 0x11231123, 0x021e3221, 0x08454801, 0x33046508, 0x98cf7e37, + 0x6a01ba96, 0x3c7ec286, 0x5d814efd, 0xa42e5b8b, 0x0a04a0ae, 0x4d81a85b, 0xb605c7fd, 0xfea06d39, 0x71472067, 0x00898e51, 0xfe7d0002, 0x05710562, + 0x001d00cd, 0x40380031, 0x005b2822, 0x33c03367, 0x0133bf01, 0x2f013370, 0x02335f33, 0x66145b1e, 0x195f2d32, 0x055f2304, 0x0009130f, 0xe1333f2f, + 0x41066a47, 0x8b8505d9, 0x5d5d0720, 0x41062006, 0x312d2158, 0x2b5d8e5f, 0x67795a89, 0x291133ad, 0x1f624112, 0xb5e2832d, 0x8f5e2684, 0xc6498e3c, + 0x4102027f, 0x3108256b, 0x00b605a0, 0x001c000f, 0x09564082, 0x020f190f, 0x0f010ff9, 0x480f0b08, 0x0c090c0f, 0x010c0701, 0x07085b16, 0x07020718, + 0x010e0907, 0x0ef90ee9, 0x1d830e02, 0x0d0e2008, 0x3f1e0d10, 0x9f1e8f1e, 0xdf1ebf1e, 0x1e20051e, 0x5a011001, 0x0c1d6402, 0x00601003, 0x82080100, + 0x601c3203, 0x010e0303, 0x333f0012, 0x3911e13f, 0xe15d5e2f, 0x08eb4912, 0x3238ce27, 0x32715d2b, 0x2313832f, 0x33115d5e, 0x31310c82, 0x23110130, + 0x16202111, 0x020e1415, 0x01230107, 0x05a94127, 0x022e7008, 0x81012323, 0x016401ba, 0x5131fe0a, 0x8e013768, 0xe5a1fedb, 0x517e5aa4, 0x7f532925, + 0x5c02a057, 0xb605a4fd, 0x8257d1ce, 0xfd143e5d, 0x9e5c0271, 0x45674523, 0x1d406448, 0x68000100, 0xc903ecff, 0x3300cb05, 0x27404200, 0x23012359, + 0x67005a11, 0xff35bf35, 0x35600235, 0x01353f01, 0x1b095a2a, 0x2a113466, 0x245f2705, 0x600e0420, 0x82130509, 0x3fe122b0, 0x83ac8233, 0xe13221ad, + 0x2105b941, 0xbb415d33, 0x22232205, 0x051c5526, 0x34353627, 0x2e27022e, 0x05dd5103, 0x07171625, 0x52232626, 0x5b0806d9, 0xc903031e, 0x73b88045, + 0x2241c16f, 0x32666057, 0x491d99a0, 0x83595d7a, 0x74402955, 0xbe7761a1, 0xa541434a, 0x1e867a58, 0x5b547346, 0x012f5c89, 0x6a996187, 0xb2222337, + 0x0f181f10, 0x50367078, 0x23253f43, 0x54846853, 0x325f8a58, 0x1d9c232d, 0x3960712b, 0x213b4353, 0x7e604c24, 0x5f08d382, 0x04000014, 0x00b60512, + 0x405e0007, 0x01090f32, 0x4f0109d0, 0x0209cf09, 0x09200910, 0xaf030930, 0x0206ef06, 0x06010684, 0x025a0706, 0x03e00340, 0x01030f02, 0x57030308, + 0x77026702, 0xb8020302, 0x0b40c0ff, 0x02480a07, 0x045f0307, 0x00120003, 0x32e13f3f, 0x5d2b2f01, 0x5d5e2f33, 0x32e1105d, 0x2005e04f, 0x05be4771, + 0x15213531, 0xbb710221, 0xfe035efe, 0x12055ffe, 0x8200a4a4, 0xb82b0881, 0xdd04ecff, 0x1700b805, 0x1c402f00, 0x65015a16, 0x0119b019, 0x19af196f, + 0x01191002, 0x640b5a0e, 0x065f1118, 0x03000c13, 0x42323f00, 0x4e4408ff, 0x5f112005, 0x1122074a, 0xf94d1133, 0x112a0806, 0x8542dd04, 0xc48088c9, + 0xadbb4485, 0x528059af, 0xb8050128, 0xc4724cfc, 0x8e4d5290, 0xae037ac7, 0xc0af48fc, 0x51886236, 0x7b82b803, 0x00000024, 0xfd828b04, 0x6c000c34, + 0x02031040, 0x00040909, 0x01700160, 0x01f001b0, 0xdb830104, 0x06162608, 0x1001480a, 0x2f0e0101, 0xbf0e7f0e, 0x400e030e, 0x05480906, 0xf0ffb804, + 0x040504b4, 0xffb80903, 0x110ab3e0, 0x22078248, 0x820a40f0, 0x0209251a, 0x01001203, 0x332daa82, 0x2b33333f, 0x01333f2b, 0x2b33382f, 0x05534d5d, + 0x3912332c, 0x33332f3d, 0x33013031, 0x03822301, 0x17161636, 0x03373636, 0x17fec6c5, 0xc519febb, 0x2a1d2701, 0x1f2e0f11, 0x2705005b, 0xa95b61fc, + 0x61a94a4a, 0x2105a341, 0xa582fe06, 0xdf002a2e, 0x150810b6, 0x0f104818, 0xb5f8ffb8, 0x0f210882, 0x22a58207, 0x821240f8, 0x0001210a, 0x00221983, + 0x06831d16, 0x821c1d21, 0x2f402120, 0x28081682, 0x0714251c, 0x44070401, 0x0307b407, 0x14250407, 0x44252425, 0x05255425, 0x25251607, 0x1e030716, + 0x010e000d, 0x0e800e70, 0x83db82c0, 0x071838f0, 0x100e480a, 0x6f2c0e0e, 0x022c7f2c, 0x2c302c20, 0x012c0f02, 0x821e1f08, 0x134024f2, 0x8220161e, + 0x101621ed, 0x1627e982, 0x031e000d, 0x41252507, 0x07820601, 0x82b6f021, 0x10252416, 0x8400121d, 0x331121fb, 0x33220682, 0x554e2b2b, 0x415d2005, + 0x71310603, 0x39171233, 0x2f2f2f3d, 0x715d5e5d, 0x332b3311, 0x3b04892b, 0x33013031, 0x17031e13, 0x1337033e, 0x03230133, 0x26272626, 0x06070627, + 0x23030706, 0x4d081988, 0xe5c52903, 0x13191d0f, 0x100c0406, 0xc7c80b13, 0xfebc91fe, 0x0c0b1a0e, 0x0a0b0b0b, 0xbcf20e19, 0xdfc57efe, 0x0e11140c, + 0x140f0505, 0xb6050d17, 0x7038a8fc, 0x26265e69, 0x3167635a, 0x4afa7203, 0x6c33aa03, 0x3334372f, 0x36702f37, 0x1f825cfc, 0x632e872a, 0x25265b62, + 0x316f6c62, 0x08061142, 0xb6056044, 0x81000b00, 0x0a091d40, 0x000a0a10, 0x0b010b37, 0x01053808, 0x01020205, 0x70010000, 0xc0008000, 0xb8000300, + 0x1440c0ff, 0x00480a07, 0x0d000010, 0x0d1f0d0f, 0x0d7f0d2f, 0x06070804, 0xb3f0ffb8, 0x6e4f0606, 0x04102b05, 0x27010228, 0x08020108, 0x12820904, + 0x00120030, 0x333f323f, 0x5d393912, 0x382f015d, 0x714f3232, 0x3d392a0c, 0x335d332f, 0x33115d33, 0x25178218, 0x23213031, 0x02820101, 0x01013329, + 0x60040133, 0x829efed3, 0xc50139eb, 0x01c65afe, 0xbe4e014c, 0x7b025bfe, 0xfc0285fd, 0xd1fdba02, 0x4cfd2f02, 0x00209a82, 0x04210082, 0x3dbd8237, + 0x40730008, 0x010aef19, 0x0c09400a, 0x07ab0848, 0x01079801, 0x1b010740, 0x070f0107, 0xa0820701, 0x072f403d, 0x80010507, 0x024f0102, 0x01021b01, + 0x02021002, 0x775a0400, 0x97058705, 0x534f0305, 0x072906b7, 0x01003605, 0x12040100, 0x05d14207, 0x82391221, 0x5d5e25b4, 0x39e15d5d, 0x0782b882, + 0x33113324, 0x0782382f, 0x335d5d26, 0x30315d2b, 0x113ba783, 0x33011123, 0x54011b02, 0xbb42fec8, 0x02cb42fe, 0xfce302d3, 0x02c7fd83, 0x4b87032f, + 0x032106a1, 0x08a182fe, 0x38000921, 0x09092040, 0x0b670703, 0x0b3f0b0f, 0x0b9f0b4f, 0x04080804, 0x0a660104, 0x055f0407, 0x4d080203, 0x392b05cf, + 0x0139e13f, 0x2f32e610, 0x825d5e32, 0x2f322606, 0x21213031, 0x05cc5835, 0xfe032135, 0xc70254fc, 0x83034dfd, 0xdb023afd, 0xa67f0491, 0x8381fb91, + 0xfea42465, 0x823902bc, 0x00073b65, 0x04174026, 0xf106f300, 0x01100100, 0x01c001b0, 0xf5050104, 0xf506f802, 0x395ef901, 0x32ed2108, 0x2135ba82, + 0x23152111, 0x39023311, 0x95016bfe, 0xbcfedfdf, 0xfa95fa06, 0x244b8331, 0x02000017, 0x254b82e9, 0xb7210003, 0x46820102, 0x03000528, 0xb4f0ffb8, + 0xc45e0203, 0x012f3505, 0x1133382f, 0x33113833, 0x01133031, 0x02c90123, 0xe0fdb220, 0x8305c443, 0xfe33243f, 0x84c901bc, 0x4024368b, 0xf3000314, + 0x0660f101, 0x06020670, 0x07f50009, 0x04f503f9, 0x238885f8, 0xe15dd610, 0x17248983, 0x35231133, 0x333f8d82, 0x9601dfdf, 0x05ae6afe, 0x06f995cf, + 0x00010000, 0x04250229, 0x00c10519, 0xb6120006, 0x82080303, 0x00062812, 0x2f01cd3f, 0x832f3311, 0x82332078, 0x0121087a, 0x66cb0129, 0xfea1bf01, + 0x02a3feaf, 0xfc9c0325, 0xfddf0264, 0xff010021, 0x03bcfefc, 0x0048ff4e, 0x293b8203, 0x01050000, 0x0002ba01, 0x3b86e12f, 0x3521012c, 0xfc4e0321, + 0xfe5203ae, 0x56828cbc, 0x89014708, 0x1203d904, 0x0d002106, 0x0a401600, 0x80080600, 0x005f000f, 0x2f000002, 0x01cc1a5d, 0x3031cd2f, 0x032e2301, + 0x1e333527, 0x12031703, 0x4d522378, 0x10db103f, 0x15302e2b, 0x531cd904, 0x151b5158, 0x4c515122, 0x3282001d, 0xff5e6f08, 0x049c03ec, 0x0023005e, + 0x40540032, 0x29011011, 0x34552347, 0x346f340f, 0x48300602, 0xffb81a0c, 0x0d1e40d0, 0x101a4811, 0x1a480c09, 0x33560c1a, 0x1d501619, 0x1010522a, + 0x5024101d, 0x00160702, 0x3f3f0015, 0x393fe133, 0xe110e12f, 0xe6100132, 0x2b2b2f32, 0x5d5ee110, 0x32e1f610, 0x21303132, 0x030e2327, 0x022e2223, + 0x37363435, 0x20643537, 0x27072105, 0x08065755, 0x32251162, 0x3535023e, 0x15030e07, 0x19031614, 0x42210825, 0x453f604e, 0xe7305574, 0x371db8ec, + 0x8f533451, 0xb64a4042, 0x61956664, 0x3d2ffe30, 0x8f2b4c68, 0x20497a5a, 0x412d9861, 0x5127142a, 0xb0a4547b, 0x43450708, 0x3018375a, 0x38288922, + 0x628a5929, 0x267f10fd, 0x634f754d, 0x39200407, 0x565c3351, 0x3308e583, 0x04ecffae, 0x0014063f, 0x002f001f, 0x482db538, 0x31315705, 0x40b8ffb8, + 0x15490a17, 0x12472510, 0x00133054, 0x502a1512, 0x20160a0f, 0x10001b50, 0xe1323f00, 0x3f21d483, 0x20c58401, 0x05cc462b, 0x2e0b315d, 0x11230723, + 0x06141133, 0x33070607, 0x4f17033e, 0x363708a5, 0x02263435, 0x6d9a5e9e, 0x9a6d3c3c, 0x4d603b5e, 0x250c173b, 0x8202b685, 0x08430800, 0x604d3a17, + 0x416b5019, 0x6c411b1b, 0x7f7f8751, 0x8f485e04, 0xd58d8cd4, 0x2b1a4990, 0x068b203a, 0x2388fe14, 0x2628224f, 0x192c3c23, 0x9c683397, 0x6b9d6569, + 0xd0ccda37, 0x000100ce, 0x03ecff71, 0x825e046f, 0x402a3ac1, 0x210d1d18, 0x217f215f, 0x01211002, 0x56054816, 0x0a511320, 0x00511910, 0x09ea5116, + 0xce105d29, 0x05303132, 0x48022e22, 0x440808b0, 0x2223032e, 0x16141506, 0x37363233, 0x02060615, 0x82b06552, 0xb2854c4a, 0x32954e66, 0x3c381736, + 0x909d1a3a, 0x83519491, 0x147b3636, 0x96d5893f, 0x3e89db9d, 0x0a9a1922, 0xc9090f13, 0x25c3d3d4, 0x1e1da219, 0x06c35d00, 0x14060222, 0x20088982, + 0x40340030, 0x1b00261d, 0x32551e47, 0x2e013210, 0x31560b48, 0x001c151f, 0x1016502b, 0x01502010, 0x20908206, 0x09474133, 0x20071142, 0x08104225, + 0x2e05056b, 0x27263317, 0x11352626, 0x25231133, 0x42023e32, 0xaa820723, 0x54032208, 0x4d3b1608, 0x9a5d3c60, 0x6e3c3c6e, 0x603b5d9a, 0x0c163c4d, + 0x04020303, 0xc6fe93b6, 0x1f41694c, 0x064a4102, 0x3d229324, 0x4d411a2e, 0x3a2c3108, 0x1a1f2220, 0xb4011037, 0x2e83ecf9, 0x295e8d5e, 0x21054941, + 0xbf85cdd1, 0xe1033008, 0x1e005e04, 0x43002700, 0x48232840, 0x29571019, 0x6f0129e0, 0x11220129, 0x28560548, 0x221b5011, 0x0f02222b, 0x22060122, + 0x501f1422, 0x4114100a, 0x1224075b, 0x5d5e2f39, 0x2308f650, 0xe132f610, 0x240b6441, 0x1515021e, 0x05d96021, 0x1537b908, 0x2203030e, 0x34210706, + 0x6002022e, 0x4883b66e, 0x65a77842, 0x3b6e9e63, 0x99054cfd, 0x51573397, 0x4d28274c, 0x72605751, 0xec010b85, 0x1458391b, 0x87d28e4a, 0x4e95d688, + 0x6eb58147, 0x0ab6c171, 0xa2121d13, 0x08121c13, 0x959cdb03, 0x2c507144, 0x1d000100, 0xf0020000, 0x1b001f06, 0x4e407000, 0x1ddf1dcf, 0x801d6002, + 0xa01d901d, 0x1d1f041d, 0x1d4f1d3f, 0x7f1b1b03, 0x0210bf10, 0x021a1010, 0x03070347, 0x051f050f, 0x05af052f, 0x00050504, 0x20031003, 0x90038003, + 0x0603a003, 0x05010306, 0x1a00074f, 0x0f1a0701, 0x010d5014, 0x3f001502, 0x5e3fe13f, 0x32e1335d, 0x3205ed50, 0x1033115d, 0x2f3232e1, 0x5d2f395d, + 0x30315d5d, 0x82112301, 0x37352101, 0x200cfe4a, 0x08ef820e, 0x8b0233b0, 0xc2c2b7f5, 0x4e7c552d, 0x2f27633b, 0x2828491f, 0xf513263a, 0x3ffcc103, + 0x444bc103, 0x548d6b60, 0x8d0e1723, 0x3013110b, 0x00684153, 0x25000300, 0xfc0314fe, 0x3f005e04, 0x5e005200, 0x1940a700, 0x5305320d, 0x2f123747, + 0x37703760, 0x37033780, 0x272f372f, 0x47591d48, 0xc0ffb805, 0x0a074d40, 0x01050548, 0xfd011d0a, 0x1db0011d, 0x011d8801, 0x1d301d20, 0x1d031d40, + 0x601f601d, 0xdf60bf01, 0x60a00260, 0x40274001, 0x27480f0c, 0x0d320502, 0x52563c04, 0x5c220a0a, 0x4e2c3c4f, 0x0701170f, 0x103c1717, 0x1b224f45, + 0x000f0001, 0xe782c13f, 0x5e2f3937, 0x1039c15d, 0x2f3911e1, 0x391712e1, 0xc12b2f01, 0x11715d5d, 0x3aea8333, 0x3933715d, 0x10e12b2f, 0x393911c1, + 0x105d2f2f, 0x12e110c1, 0x30313939, 0x62071501, 0x0e2609be, 0x1e141503, 0x195a3302, 0x05dd4407, 0x37023e28, 0x34352626, 0x244c3736, 0x83012009, + 0x36322e25, 0x022e3435, 0x0e222323, 0x16141302, 0x080e8333, 0x222326d2, 0xc5fc0306, 0x5f2f261c, 0x2c165d8c, 0x1b21110e, 0x38291811, 0x805db01f, + 0x86412451, 0xa06b8bcd, 0x4227356a, 0x362a2f57, 0x472b4540, 0x62321b31, 0x4f256192, 0x1a40fe1b, 0xba48613b, 0x5a3718b9, 0x4c23b041, 0x6c5c293f, + 0x69676463, 0x046a6364, 0x231b714a, 0x814c456d, 0x0301355e, 0x2820190a, 0x12211b18, 0x6d502f06, 0x618c583d, 0x71502a34, 0x425b3c47, 0x52130b2a, + 0x2a593d35, 0x60513f12, 0x628c5933, 0xfb090b34, 0x2e402502, 0x2e6c731b, 0x100c213a, 0x60034d2c, 0x776f7073, 0x0078747b, 0x00ae0001, 0x06120400, + 0x00190014, 0x001d4032, 0x1b551947, 0x1b601b10, 0x0f031b80, 0x0b470a0e, 0x04101a54, 0x0c101550, 0x15000b00, 0x3f323f00, 0x2a060157, 0x105d3232, + 0x3031e1f6, 0x82341121, 0x020e27e4, 0x11231115, 0xa2611133, 0x16510805, 0x5c031115, 0x6e517069, 0xb6b61d43, 0x45190a08, 0xb7305c52, 0x82c302b9, + 0x94663482, 0x06c7fd60, 0x9032fe14, 0x142a3f2b, 0x33fdd2bf, 0x00020000, 0x010000a0, 0x00e50575, 0x00110003, 0x10144025, 0x02132013, 0x0447000c, + 0x07125401, 0x020f0f53, 0x057b460f, 0x01e52f27, 0xe132f610, 0x05ab6532, 0x34033322, 0x0806b25b, 0x22230625, 0xb6640126, 0x2d3dc4b6, 0x111d2716, + 0x3d2d2c3f, 0x29014a04, 0x1c0d363c, 0x393a1e2b, 0xff020038, 0x8414febc, 0x13240861, 0x2e002100, 0x23101940, 0x1c022320, 0x140c470f, 0x540c0303, + 0x1f531722, 0x070f0d1f, 0x001b0050, 0x333fe13f, 0xe6246783, 0x10322f32, 0x13206a84, 0x20100854, 0x2f788b13, 0x173f3042, 0x1b23361a, 0xb613232e, + 0x136d4822, 0xfe348389, 0x940b0e14, 0x270f0b0a, 0xf4043341, 0x7b4d18fb, 0x5f072f57, 0x79419489, 0x033a0805, 0x001406f0, 0x405e000e, 0x0404070b, + 0x06030302, 0x05010544, 0x40c0ffb8, 0x480a0717, 0x05051005, 0x2f100f10, 0x0d070210, 0x540a4709, 0x00000b0f, 0x40f8ffb8, 0x480f0c10, 0x04820807, + 0x0307002a, 0x03150a06, 0x3f3f000f, 0x46052854, 0x5e2005c7, 0x2e06e14b, 0x33113333, 0x31331139, 0x01370130, 0x54010133, 0x2508072a, 0x87560103, + 0xfed32501, 0xd1ac016f, 0xb46db0fe, 0x370210b4, 0xfe6901aa, 0x0191fd25, 0x5afe52f8, 0x36fd1406, 0x9f85edfe, 0x82640121, 0x0003329f, 0x100e401a, + 0x02052005, 0x54014700, 0x00000204, 0x23718215, 0xe1f61001, 0x23068a41, 0xb6b66401, 0x4a082782, 0x00ae0001, 0x04870600, 0x002c005e, 0x233f4065, + 0x0bb9470a, 0xa60b9601, 0x0b89020b, 0x770b6701, 0x0b0b020b, 0x2c470016, 0x2ef02e55, 0x012ecf01, 0x2e502e20, 0x012e0f02, 0x47151908, 0x232d5416, + 0x0f041a1a, 0x101f2850, 0x42160f17, 0x3220056d, 0xe122d782, 0x02543232, 0x5d5e2106, 0x2205b34f, 0x822f3911, 0xe15d2208, 0x0d7e4232, 0x260a8842, + 0x033e3317, 0x86163233, 0x152e0806, 0x64d10511, 0x41664969, 0x6963b71e, 0x1b3f684d, 0x0a1a94b6, 0x594f4218, 0x269f782e, 0x57491a08, 0xb1af3260, + 0x8282c302, 0x58875b2f, 0xa842a2fd, 0x4a043009, 0x2a3f2b94, 0x2f5e5814, 0xbf162d44, 0x4133fdd2, 0x04210513, 0x3de18212, 0x40300018, 0x1847001c, + 0x1a101a55, 0x1a801a60, 0x470a0e03, 0x0f19540b, 0x10145004, 0x2c430f0c, 0x122b430e, 0x2a439b88, 0x43948208, 0x8186102a, 0x55657b84, 0x822d2005, + 0x0013227b, 0x3c7d821f, 0x00481a1d, 0x21402157, 0x21e021d0, 0x01210f03, 0x0a481406, 0x501d2056, 0x5017100f, 0x09224805, 0xf1535e20, 0x0dec6e08, + 0xa3440520, 0x2d042c0a, 0x6fb27d43, 0x477fae67, 0x84b37c43, 0x00fd2507, 0x879a9a89, 0x21080383, 0xd5892702, 0x914c4c91, 0xd38889d5, 0x914b4b91, + 0xd3d188d3, 0xcfd1d1d3, 0x020000cf, 0x14feae00, 0x91823f04, 0x20088f82, 0x1e403600, 0x571b482e, 0x01321032, 0x0c061026, 0x31540d47, 0x16115020, + 0x0c0f0e10, 0x05502b1b, 0x25928200, 0x3f3fe132, 0x4d58333f, 0x07414405, 0x2e220524, 0xc1552702, 0x41332008, 0x1e2b0517, 0x0e141502, 0x0e220302, + 0x45150702, 0x2622075b, 0x66499e02, 0x03032c05, 0x94b60402, 0x3a17081a, 0x493c604d, 0x81200681, 0x220b2448, 0x482b1a14, 0xfe280618, 0x9436062b, + 0x1b2d3d23, 0x25073248, 0x5e2edb03, 0x26485f8c, 0xced02106, 0x7120c383, 0x0220c382, 0x1022c382, 0xc3833000, 0x05202b26, 0x55244725, 0x0e2fc683, + 0x31561648, 0x0f221b24, 0x1b500b20, 0x82002c10, 0x06045ccd, 0x013f3f25, 0x48e1f610, 0x322205e8, 0xce483031, 0x4917200e, 0x1e25088e, 0x37331702, + 0x08915633, 0x02030e23, 0x20a88b35, 0x09f04866, 0x173c4c2f, 0xb6931b08, 0x03030204, 0x4d3b160c, 0x0dce4860, 0xbf879720, 0x3d2d1b31, 0xcaf99423, + 0x3a13d501, 0x2222201b, 0x421a2e3d, 0x03210593, 0x08c18208, 0x41001633, 0x03b20b40, 0x900203c2, 0x0203a003, 0xc0ffb803, 0x0b071b40, 0x18030348, + 0x18501830, 0x11031880, 0x540e470d, 0x0d0f0f17, 0x00071215, 0xc13f0010, 0x20c98533, 0x06025b32, 0x01303123, 0x06f35232, 0x0806d345, 0x3e33172c, + 0x1d890203, 0x1c181a48, 0x683f1a3b, 0x94b6294b, 0x39190816, 0x5e045847, 0x05a80505, 0x855f3307, 0x04b0fd51, 0x502bc94a, 0x8b82253d, 0xecff5a24, + 0x8b823f03, 0x00352e08, 0x252d4048, 0x00904713, 0x000200a0, 0x373f3757, 0x379f375f, 0x01371003, 0x9f09472c, 0x021daf1d, 0x2636561d, 0x2c135029, + 0x09102205, 0x05b1420e, 0x123f322c, 0x32e13939, 0x5df61001, 0x3a5ee132, 0x53332005, 0x1f5e0e9f, 0x18a05305, 0x3a3f5d08, 0x6d609a6d, 0x4c1f3b9c, + 0x412c5954, 0x141a395b, 0x48485c35, 0x372b5073, 0x61568c64, 0x413f48a1, 0x62664789, 0x465e3817, 0x2a507148, 0x78502d01, 0x22232851, 0x181f10a6, + 0x3b29160f, 0x31321f24, 0x3c1f1f32, 0x4643614a, 0x2a264a6d, 0x2b1d9322, 0x34233e43, 0x1e1d2f2e, 0x00604b3c, 0x4608df82, 0x02ecff21, 0x0046058f, + 0xb150001d, 0xffb80519, 0x082f40c0, 0x0505480b, 0x4f1f3f1f, 0x1b17021f, 0x121f1447, 0x1202122f, 0x10101000, 0x10b01020, 0x10d010c0, 0x1a100606, + 0x14164f12, 0x50000f17, 0x3f00160b, 0x49333fe1, 0xc6210680, 0x2408825d, 0x2f33115d, 0x25e7822b, 0x023e3225, 0x444d1537, 0x113e0806, 0x37373523, + 0x15211533, 0x16141121, 0x2d12fa01, 0x0d09232a, 0x19343028, 0x2c4d6a3e, 0x694e9b9b, 0xecfe1401, 0x0604813f, 0x068a0308, 0x2005090c, 0x0265854e, + 0xe64e517d, 0x83fd89fc, 0xa9826261, 0xffa42208, 0x040804ec, 0x001a004a, 0x011c4030, 0x551a4717, 0x601c101c, 0x031c801c, 0x540c470f, 0x0f0d181b, + 0x0bd74d12, 0xd1423320, 0x4d312008, 0xce530acb, 0x82352008, 0x75032209, 0x05cd471b, 0x8a5b2208, 0x6ab62f5c, 0x436e516f, 0x2b93b61d, 0x2e14293f, + 0x02699862, 0x823dfdcd, 0x94653482, 0xfb3a0260, 0x060351b6, 0x82d50321, 0x00112f81, 0x1100b96d, 0x0f40f8ff, 0x11480e0a, 0x05820800, 0x0909002c, + 0xb8100f01, 0x12b3c0ff, 0x07834815, 0x071c4025, 0x8210480b, 0x13200800, 0x13cf13bf, 0x500313ef, 0x130f0113, 0x134f132f, 0x01020703, 0x40f0ffb8, + 0x0947010a, 0x010f0901, 0x27060d48, 0x2f015d39, 0x5d5ec138, 0x2906ce52, 0x3912c12b, 0x2b332f3d, 0xbe822b33, 0x2005a252, 0x05bd5233, 0x77012408, + 0xc7bc89fe, 0x191e1e0b, 0x18050704, 0xc70b1e1e, 0x0489febc, 0x219dfd4a, 0x19606c68, 0x686c6019, 0x82630221, 0x000126b0, 0x05000014, 0x25af82e3, + 0xb9c3002f, 0xaf822f00, 0xa9820c20, 0x08002f29, 0x00480e09, 0x82b82027, 0x82122010, 0x1f20210a, 0x1f221083, 0xc7831009, 0x830f1021, 0x82092016, + 0x180f3216, 0x27012754, 0x40e0ffb8, 0x480a0715, 0x1801185b, 0x29078220, 0x18180927, 0x11032709, 0xeb862e2d, 0x40210783, 0x30eb8213, 0x2e2e102e, + 0x30312031, 0x310f0231, 0x11120701, 0x24e282b8, 0x1f2d1116, 0x3ae48209, 0x19270f11, 0x19661906, 0x19031976, 0x00151000, 0x5d33333f, 0x333f3311, + 0x8233335d, 0x823320f4, 0x331125f4, 0x2b2b382f, 0x2207c153, 0x822b5d2b, 0x0ec1531f, 0x2e032127, 0x27262703, 0x0cb65323, 0x23051341, 0x17031e13, + 0x59080985, 0xa8f00301, 0x0d0c0c04, 0x060f0e06, 0x190b0d0e, 0xfed3ac0b, 0x0a83bfe7, 0x040e1214, 0x15110506, 0xc4b30a16, 0x161709ac, 0x03060412, + 0x0b15120d, 0xe4feba89, 0x2d126802, 0x3a193432, 0x323a3f3e, 0x9cfd256a, 0xb8fd4a04, 0x5b67692d, 0x61571a1d, 0x6b02215f, 0x5c2295fd, 0x0d82585f, + 0x6d683008, 0xfb48022f, 0x000100b6, 0x03000023, 0x004a04db, 0x40e5000b, 0x010989a1, 0x06010386, 0x04f70104, 0x0104e501, 0x04010436, 0x0106e805, + 0x82e70306, 0x09890829, 0xf8010209, 0x02ea0102, 0x01023901, 0x056b0102, 0x5702057b, 0x053a0105, 0x6402054a, 0x02017401, 0x35010158, 0x02014501, + 0x01090105, 0x0b030509, 0xf7010806, 0x08e50108, 0x01083601, 0x16400708, 0x40074819, 0x6b48110e, 0x02077b07, 0x3a010757, 0x02074a07, 0x0d100d07, + 0x90020d30, 0x020db00d, 0x06010d0f, 0xc8010ad9, 0x0aba010a, 0x010a0901, 0x4b0b3b0a, 0x0b28020b, 0x150b0501, 0x070b020b, 0x000f0115, 0x2f013f3f, + 0x05216b5d, 0x5d5e5d26, 0xde10715d, 0x2b220d82, 0x0582c12b, 0x17127127, 0x182f3d39, 0x821f832f, 0x8410200e, 0x33112513, 0x5d33335d, 0x312d0b85, + 0x5d5d0030, 0x13330101, 0x01013313, 0x08028323, 0x9ffe9821, 0xcffafacf, 0x75019dfe, 0xfef4fecf, 0x3302cff2, 0x66fe1702, 0xe9fd9a01, 0xb401cdfd, + 0x82004cfe, 0xfe0a32f7, 0x04df0314, 0x0022004a, 0x1022b664, 0x0e000808, 0x0631420f, 0x24080783, 0x0b071d40, 0x0f100f48, 0x24bf240f, 0x24ef24cf, + 0x01245003, 0x242f240f, 0x0703244f, 0xb8000118, 0x0c40f0ff, 0x26368200, 0x15501c23, 0x82000e1b, 0x3f322bc1, 0x333311e1, 0x382f0133, 0x244333c1, + 0x3133240f, 0x42331330, 0x0e220a03, 0xe44a2303, 0x37440809, 0xd7bd0a37, 0x12191d0e, 0x16050604, 0xc70b1d1b, 0x1c4efebc, 0x50745641, 0x151b4c34, + 0x46302340, 0x390f2534, 0x9bfd4a04, 0x52585828, 0x61561923, 0x6302215e, 0x815127fb, 0x060b315a, 0x17070591, 0xa029402c, 0x5224d183, 0x35030000, + 0x092fd182, 0x0b406c00, 0x01039709, 0x0d090803, 0x82070348, 0x114036d6, 0x07480a07, 0x0b3f0b07, 0x0b7f0b5f, 0x01089803, 0xf8ffb808, 0x221e82b5, + 0x82020408, 0x12b7271f, 0x023f4815, 0x2b820201, 0x1240f02c, 0x07480c07, 0x0f054f04, 0x09821002, 0x4f080229, 0x3f001501, 0x832b32e1, 0x2f012703, + 0x33332b5d, 0x42455d2b, 0x5d2b2105, 0x9354d982, 0xfd35330a, 0xfe18021d, 0xfdb00209, 0x7d1e02f4, 0x92894403, 0x9983d1fc, 0xfe3d3008, 0x05a202bc, + 0x002700b6, 0x1a254040, 0x20f70505, 0x1323f127, 0x0c10f60f, 0x0f230c01, 0x0110d9f5, 0x105f100f, 0x29101002, 0xf819f51a, 0x5406f505, 0x122605a1, + 0x5d5d2f39, 0x738239e1, 0x3333e639, 0x2fe232f1, 0x05303132, 0x17021e14, 0x35032e15, 0x23263411, 0x82363235, 0x05c44507, 0x11154b08, 0x15070614, + 0x01151616, 0x412d18f4, 0x5f834d28, 0x7d7d8336, 0x835f3683, 0x2d41284d, 0x73737718, 0x3d301077, 0x96010d23, 0x6e472101, 0x674e014e, 0x67569b56, + 0x6e4e4d01, 0x95012147, 0x3d230d01, 0x69b4fe30, 0x140c147b, 0xb3826a7a, 0xe9014308, 0x7f0214fe, 0x03001406, 0x1f402d00, 0x30010500, 0x70054005, + 0x04058005, 0x0300aa02, 0x03400310, 0x03c00380, 0x02030705, 0x0000001b, 0x2f013f3f, 0x5de15d5e, 0x01303171, 0x01231133, 0x069696e9, 0x1882f814, + 0x33000122, 0x9820fb82, 0x2920fb82, 0x2308fb83, 0xf724240d, 0x1af10007, 0x900314f6, 0x041d011d, 0x19eff51a, 0xd90219ff, 0x19190119, 0x23f5240e, + 0x0ef50df9, 0x20051455, 0x22fb8811, 0x86e63333, 0x341326fb, 0x26353736, 0x7af28226, 0xf2820568, 0x33021e25, 0x82062215, 0x020e2708, 0x033e3507, + 0xe783e135, 0x2123ff87, 0x413e6041, 0x01230901, 0x827a6a3b, 0x697b27dd, 0x3d304c01, 0xf3820d23, 0x47216808, 0xb3fe4e6e, 0x142d4834, 0xfe67569b, + 0x476e4eb2, 0x01960121, 0x303d230d, 0x66000100, 0x02044a02, 0x23005a03, 0x0d403c00, 0x2510251d, 0x010a1001, 0x0aad170a, 0xc0ffb81f, 0x13101640, + 0x051f1f48, 0x0d0f1cad, 0x0d3f0d1f, 0x0d6f0d4f, 0x0d060d8f, 0x335d2f00, 0x2b2fc8f1, 0x2f01e132, 0xce105d5d, 0x2e013031, 0x83222303, 0x3629089c, + 0x021e3233, 0x33031e17, 0x37023e32, 0x22230615, 0x1202022e, 0x292d3725, 0x3b3c1c16, 0x94641938, 0x4337321d, 0x2f37252f, 0x22108428, 0x83956318, + 0x8b022f10, 0x050d1610, 0x192c2113, 0x0d056ca2, 0x0d8c1419, 0x00020033, 0x018bfe93, 0x005e0491, 0x00170003, 0x0000b941, 0x053b7eff, 0xa019302f, + 0xc019b019, 0x04020419, 0x03030e9a, 0x39b2830e, 0x480a070f, 0x9b09000e, 0x10020013, 0x02070202, 0x5d5e2f00, 0x01cef52f, 0x427e2b2f, 0x33132408, + 0x5b132313, 0x8a6d0758, 0x79d53b06, 0x13efdf33, 0x1a1b2e23, 0x1414232e, 0x1b1a2e23, 0x0213232e, 0x05e7fba4, 0x417e2648, 0x066a6d07, 0x01003408, + 0xecffbc00, 0xcb05ba03, 0x5a002500, 0x03122540, 0x04040f46, 0x2715250a, 0x1e012740, 0x300a0048, 0xd00a400a, 0x0a06040a, 0x120f731b, 0x0573210f, + 0x830f0502, 0x0f0c399a, 0x050f4812, 0x1003050f, 0x00190307, 0x39123f3f, 0x2b2f2f39, 0xe1103311, 0x5a420383, 0xc6103005, 0x2f391132, 0x3132e133, + 0x07062430, 0x7c352315, 0x84540d64, 0x7603360c, 0x57894c6e, 0x3534628a, 0x89568b61, 0x352e8848, 0x3b3c3817, 0x06865419, 0x1ed42008, 0x0dcec802, + 0x89c7854b, 0x4b88cb8d, 0x03a4ac0d, 0x0a9a1721, 0xca090f13, 0x25c3d2d4, 0x8200a118, 0x004437c7, 0x05230400, 0x002800c9, 0x0d114075, 0x0f236f11, + 0x020f1f0f, 0x05821f07, 0x17031922, 0xb323b382, 0x82480e0a, 0xc8300807, 0x09063040, 0x2a171748, 0x21012a10, 0x0e0b4019, 0x29191948, 0x0d752110, + 0x227f222f, 0x22af228f, 0x22df22bf, 0x220722ff, 0x74160022, 0x73071819, 0x820a1071, 0x011127cb, 0x332b2f33, 0x0582115d, 0x84332b21, 0x5d5e21f5, + 0x154be284, 0x1521270c, 0x0e141521, 0x07820702, 0x3e358508, 0x23353503, 0x34113335, 0x9a02023e, 0x4242ae6a, 0x304b8d38, 0x01213c52, 0x1788fe78, + 0x021b3327, 0x2c21fcec, 0xc61e3549, 0x92693bc6, 0x232dc905, 0x1b2b1d90, 0xfe425e3b, 0x3ed389d9, 0x102b4059, 0x290b9aa6, 0xd5436144, 0x57440189, + 0x00325f89, 0x017b0002, 0x04ec031d, 0x0023008b, 0x40860037, 0x168f0e23, 0x2e161601, 0x0c0f15ab, 0x211e0618, 0x70000803, 0x12120112, 0x01391039, + 0xaa242004, 0x00010080, 0x4508ff82, 0x0a063140, 0x38000048, 0x011f8017, 0x18060c1f, 0x04060f1e, 0x00ae2909, 0x0d1b011b, 0xcfae3305, 0x0209ef09, + 0x09a00990, 0x1f0309b0, 0x6f093f09, 0x00090309, 0x5d5d5d2f, 0x2f32c6e1, 0x1712e15d, 0xc6331139, 0xff84325d, 0x5d241383, 0x5d2f3311, 0x2b081582, + 0x5d2fc0f1, 0x13303132, 0x27373634, 0x36361737, 0x17163233, 0x16071737, 0x06141516, 0x27071707, 0x22230606, 0x27072726, 0x37262637, 0x080a0f72, + 0x0e222342, 0x1f23ba02, 0x2f7f6281, 0x6b3c3c6c, 0x8263812e, 0x2123251f, 0x2e81607f, 0x6e3c3c6b, 0x7f607f2d, 0x258a231f, 0x33325741, 0x26264259, + 0x32335942, 0x02254157, 0x2f6b3bd3, 0x20816281, 0x81202424, 0x6d202a82, 0x24212a88, 0x22318220, 0x823c6c2d, 0x26262125, 0x00203589, 0x08052b55, + 0x054c0422, 0x001600b6, 0x305b4095, 0x130f0118, 0x15aa160c, 0x0c151501, 0xab010804, 0x021f0102, 0x98020201, 0x2e082882, 0x5a0b0307, 0x14011499, + 0x010c0f10, 0x00010c8a, 0x400c100c, 0x0c07030c, 0x0f600e0a, 0x12060f07, 0x00031360, 0x8f0f7f13, 0x1330020f, 0x8213d001, 0x131f2a48, 0x0f130f02, + 0x120b0113, 0x07755b15, 0x2f2f392d, 0x5d715d5d, 0x10333311, 0x831132e1, 0x2f012204, 0x2811825e, 0xe15d3333, 0x5d393232, 0x341e8232, 0x11393933, + 0x335d2f33, 0x5d393912, 0x01013031, 0x15330133, 0x24018321, 0x21112311, 0x82018335, 0x33022e11, 0xfebf5a01, 0xd3feef7f, 0xd3fe2d01, 0x300685b2, + 0xc085feea, 0xe302d302, 0x9e8900fd, 0x01fafe89, 0x24068206, 0x00000003, 0x0afd4502, 0x00072608, 0x00254039, 0x09300109, 0x09700940, 0x02040980, + 0x0003aa06, 0x40071007, 0xc0078007, 0x07070507, 0x03040304, 0x05054606, 0xaf823920, 0x3322a083, 0x0b4632e1, 0x46112007, 0x9629060f, 0xfc140696, + 0xfc19fef4, 0x085f82f3, 0xff79005e, 0x065e03f6, 0x0045001f, 0x4079005a, 0x0856054b, 0x26214651, 0x463c464c, 0xff102929, 0x21a00121, 0x210221b0, + 0x015cc05c, 0x46015cbf, 0x46170046, 0x00310808, 0x00000100, 0x00300010, 0x00d000c0, 0x080600f0, 0x4c265b00, 0x56175605, 0x0d04294c, 0x152e5037, + 0x010d5014, 0x3fe13f00, 0x33055f42, 0x10013311, 0x715d5ec6, 0xe12f3232, 0x5d5de110, 0x5d5dce10, 0x122b0b83, 0xe1103939, 0x31393911, 0x55341330, + 0x3e22065b, 0x864e3302, 0x15062c07, 0x17021e14, 0x1415031e, 0x5507020e, 0xc8760999, 0x022e2508, 0x37032e27, 0x17242383, 0x3435033e, 0x28080e82, + 0x1a89030e, 0x4b1f3a2d, 0x8c643755, 0x489d6156, 0x478c4138, 0x39186663, 0x7148465f, 0x29182a4e, 0x4c451c34, 0x609b6c3b, 0x05254e6c, 0x452bc508, + 0x1117375d, 0x494c5e33, 0x9a295073, 0x48653f1c, 0x21291423, 0x6c411a15, 0x262f1952, 0x33290317, 0x0f2d4053, 0x3d547226, 0x28254462, 0x271c8b20, + 0x2e1b393b, 0x1c1d2f2c, 0x3e614e41, 0x31445534, 0x4e6d2610, 0x284d6f47, 0x0f9e2021, 0x180e171e, 0x1d1b3327, 0x1f312d2d, 0x644e3e1f, 0x3a3f2559, + 0x0d0f1e37, 0x22382e24, 0x393b4026, 0x2d1f081e, 0x0200003a, 0x0c053301, 0xd9056a03, 0x19000b00, 0x21403500, 0x14af860c, 0x06c01401, 0x10000086, + 0x50004000, 0x00060400, 0x1791030f, 0x09cf099f, 0x01093002, 0x5d2f0009, 0x32e5335d, 0x5d5e2f01, 0x5ddc1ae1, 0x013031e1, 0x32333634, 0x06141516, + 0x25262223, 0x080c0b55, 0x28383324, 0x273a3a27, 0x77013828, 0x23132838, 0x263a101a, 0x73053828, 0x35313036, 0x35323235, 0x190c3036, 0x09821b26, + 0x0300003b, 0xecff6400, 0xcb054406, 0x41002500, 0x6a005500, 0xc5054340, 0x220f0f1a, 0x0801821a, 0xc34c262c, 0xc0013400, 0x57340134, 0x0a26c342, + 0xc90015c9, 0x1f150f1f, 0x7f152f15, 0x9f158f15, 0x00080615, 0x601f101f, 0x801f701f, 0x1782051f, 0x472d1f2d, 0xc8513bc8, 0x3f00042d, 0x57e12fe1, + 0x5e2c0557, 0x10e1105d, 0xe12f01e1, 0x715dde10, 0x11231385, 0x83102f33, 0x084a5bbe, 0xf54e3e20, 0x41342009, 0x012008f9, 0x2105fd77, 0x7d751504, + 0x44042005, 0x2f080f5e, 0x5e3d7b03, 0x3d1d2140, 0x3617435f, 0x18193839, 0x233c3531, 0x33659866, 0x64996936, 0x3e3b843f, 0xbefc6134, 0xa78a6136, + 0xc06868c0, 0x36618aa7, 0x6d280b8b, 0x85eaaf65, 0x65afea85, 0x21080787, 0x532c1d04, 0x784e4b78, 0x0c072b52, 0x0b830911, 0x42070e12, 0x6567aa7a, + 0x214378a7, 0x1c1a7f1d, 0x448ebefe, 0x35628925, 0x82896235, 0x82458b5c, 0x0060084d, 0x44000200, 0x42021003, 0x1e00c705, 0x4e002d00, 0x012d2f40, + 0x1d00e00f, 0x1d021d10, 0x1f2f0f2f, 0x7f2f4f2f, 0x052faf2f, 0x170be024, 0x010b6017, 0xe42d2e0b, 0x011a0f0f, 0x0600e427, 0x1ae413c0, 0xe13f00de, + 0xe1c4dc1a, 0x2f391139, 0xc61001e1, 0x102f325d, 0xd6105de1, 0x3232e15d, 0x27013031, 0x230c625d, 0x06222326, 0x0805615d, 0x1115165c, 0x15030e03, + 0x32331614, 0x3535023e, 0x121ce701, 0x23382f27, 0x1d34482b, 0x3d638f8d, 0x2a5a3038, 0x3c753330, 0x33c9777d, 0x32122944, 0x2b3a222a, 0x521d0319, + 0x0d192316, 0x334d331a, 0x04056c66, 0x1d39481f, 0x241a6416, 0x3afe7a6a, 0x12033901, 0x331d2b1e, 0x412c152d, 0xd382312c, 0x00525308, 0x03930373, + 0x000600c7, 0x4060000d, 0x0d040211, 0x04500aeb, 0x04020460, 0x060a040a, 0xffb8090b, 0x092140c0, 0x0f09480c, 0x0f9f0f0f, 0x06030faf, 0x01039feb, + 0x03000603, 0x0a0a070d, 0x01030305, 0x0108050c, 0x2f332f00, 0x3d391233, 0x1139122f, 0x02823333, 0x2f180123, 0x22dd825d, 0x42322bc6, 0x1021052d, + 0x05ba5fe1, 0x13031726, 0x01250107, 0x523f0684, 0xee753501, 0xcbfe75ee, 0x36019701, 0x74eded74, 0x2902cafe, 0xfe4e9e01, 0x4ea4fea4, 0x891b9b01, + 0x0037080a, 0x01660001, 0x03020406, 0x0005001d, 0x02244039, 0x100701aa, 0x04960107, 0x01048b01, 0x56010479, 0x044b0104, 0x01043801, 0x09010412, + 0x04040104, 0x00b305ad, 0x4d01e13f, 0x5d3d06ca, 0xde105d5d, 0x013031e1, 0x21112311, 0x95020435, 0x1d03f9fc, 0x8101e9fd, 0xffff0096, 0x06e17f00, + 0x00060227, 0x00000010, 0x08374304, 0x00085e08, 0x003a001e, 0x40c2004e, 0xb416a47d, 0x0316c416, 0x17c417b4, 0x01161702, 0x170e1552, 0x15c5160e, + 0x1515140e, 0x00090e0e, 0x091ac519, 0x041504c5, 0x00011a00, 0xd01ac01a, 0x8f07031a, 0x041a0104, 0x451f041a, 0x012d00c3, 0x2d012dc0, 0x1fc33b50, + 0x00c9180e, 0x161b1600, 0xc9081a15, 0x082c821b, 0x1f1a0f26, 0x7f1a2f1a, 0x9f1a8f1a, 0x0008061a, 0x601b101b, 0x801b701b, 0x1b1a051b, 0x40261b1a, + 0x4a1334c8, 0x000426c8, 0x31057a71, 0x5d2f2f39, 0x10715d5e, 0x333311e1, 0x10391211, 0x7b4332e1, 0x201b830c, 0x82158211, 0x39113217, 0x102b1087, + 0x0587c100, 0x01c4102b, 0x5d30315d, 0x06b35a01, 0x14052334, 0x1607020e, 0x17021e17, 0x23032317, 0x33112311, 0x8f431632, 0xe7023d1f, 0x534f5b48, + 0x92014659, 0x1f392d1b, 0x2a173543, 0xb30a0a21, 0xe99d5fce, 0xebfb9ea8, 0x3b288943, 0x45480003, 0x30813b4a, 0x0d28394b, 0x4725576e, 0x01111138, + 0x03a0fe60, 0xc3fe827d, 0x28288343, 0x06faff01, 0x06060414, 0x196561a0, 0x06042708, 0x0c04f4fb, 0x008c1406, 0x7b000200, 0xf2025603, 0x1300cb05, + 0x43002700, 0xab1e2c40, 0x299f290a, 0x30aa1401, 0x1d824000, 0x10ae1930, 0x020f200f, 0x0ff00fe0, 0x010f6f02, 0x0e830f00, 0x0f060326, 0x05ae230f, + 0x2d056276, 0x5d5d5d5e, 0x2f01e171, 0x105de15d, 0xc746e1d6, 0x0b335c05, 0x2a0fbb44, 0x7355327b, 0x56734141, 0x83563232, 0x32552c07, 0x46341e7b, + 0x35462828, 0x83351e1e, 0x1e342307, 0x1e888f04, 0x31557235, 0x41725531, 0x1e344527, 0x2745341e, 0x1f354728, 0x8247351f, 0x662a0897, 0x02040000, + 0x0b00a204, 0x3a000f00, 0x11102140, 0x08080f01, 0x0caa0906, 0xef030101, 0x00200100, 0x00a00060, 0xad0d0003, 0x4318090c, 0x2f200942, 0x5d29a683, + 0x33113333, 0x113232e1, 0x4a431833, 0x2135240f, 0x18e90115, 0x23094e43, 0x9c037dfe, 0x09524318, 0xfafe4208, 0x01009696, 0x4a023100, 0xc9056d02, + 0x40001e00, 0xe1081540, 0x4f201700, 0x02207f20, 0x0a064020, 0x01e11d48, 0xb8010f0f, 0x0e40c0ff, 0x01481815, 0xe50b1d08, 0xe51dde12, 0x3f00dd01, + 0x12e13fe1, 0x06dd4c39, 0x105d2b2f, 0x31e132de, 0x35210130, 0x35033e37, 0x09c84434, 0x0805f857, 0x21070739, 0xc4fd6d02, 0x284839d1, 0x3336420f, + 0x364e2d5d, 0x613c5285, 0x361d2544, 0x0194334f, 0x704a028c, 0x43553ee4, 0x4041223b, 0x305e2632, 0x5b3f2141, 0x55563239, 0x829d375b, 0x021f249f, + 0x82680239, 0x0030389f, 0x033c4061, 0x0e191900, 0x00e11e06, 0x06e11500, 0x8f325f32, 0x83320232, 0x27272aa8, 0x2019400e, 0x19030e48, 0x055f43e4, + 0xdf1a5f35, 0x1a08051a, 0x2326121a, 0x12de2ce5, 0xdf0b0fe5, 0x82333f00, 0x123326b4, 0x5d5e2f39, 0x83ba85e1, 0x33e124b8, 0x8211e12f, 0x39122114, + 0x1421c082, 0x0b944806, 0x43161621, 0x35200742, 0x5d080884, 0x2223022e, 0x3e270706, 0x1e323303, 0x514e0202, 0x28585845, 0x46567e53, 0x843f397b, + 0x6b586235, 0x5c626260, 0x2f231454, 0x33613b1b, 0x443d1d45, 0x69452c4c, 0xe7042346, 0x17186a4e, 0x643c4e6a, 0x1f192847, 0x53262285, 0x71434a49, + 0x2f20404f, 0x25290e1e, 0x1a251760, 0x533c220f, 0x1d640100, 0x00062e0d, 0x0c0f8005, 0x0c020c5f, 0x1a5d2f00, 0x051d64cd, 0x033e3d08, 0x0e153337, + 0x01230703, 0x2f2f1689, 0x10db102a, 0x23514d3f, 0x1df40479, 0x2251514c, 0x58511b15, 0x00001c53, 0xfeae0001, 0x04120414, 0x001d004a, 0x0d224037, + 0x550a4709, 0x201f101f, 0x3507db47, 0x1c471d14, 0x1b1a1e54, 0x16115003, 0x091c150b, 0x333f000f, 0x2b703f3f, 0x5d322305, 0x257df610, 0x057b4605, + 0x11331125, 0x4c232723, 0x966f0517, 0x01333b07, 0x526f6a64, 0xb61c436e, 0x300a1b93, 0x6a486790, 0x02020123, 0x01b6b601, 0x30568287, 0x53932d08, + 0x262a2e54, 0x2a552328, 0x3606c0fe, 0x71289382, 0x6604fcfe, 0x13001406, 0x2d089382, 0x00990421, 0x40053005, 0x04055005, 0x0d050506, 0x15009901, + 0x00011510, 0x020d100d, 0x0012030d, 0x2f000005, 0x01c13f32, 0x105d5d2f, 0xb141e1d6, 0x07cc6005, 0x5f061121, 0x240807b7, 0x66042133, 0x3d79cf78, + 0x6d9b5f55, 0xa677413c, 0xfe330264, 0xf97906fc, 0x12330387, 0x8cc07633, 0x3278c593, 0x26798200, 0x01480293, 0x825e0391, 0x40332b79, 0x8015101a, + 0xa0159015, 0x45180415, 0xe5271d9e, 0x5d2b2f01, 0x435ded5d, 0x932011fd, 0x210f197a, 0xa94fd302, 0x23360812, 0x980114fe, 0x19000000, 0x1f403900, + 0x15131314, 0x128f127f, 0x06121202, 0x1b00840d, 0x8c121a06, 0x0e094015, 0x13151548, 0x00038d0a, 0x392fe12f, 0x01e12b2f, 0xed82c610, 0x2f391127, + 0x1133335d, 0x20ef8233, 0x22ea8214, 0x42352726, 0x34080686, 0x3727022e, 0x031e0733, 0x968d9801, 0x0f0f2d16, 0x50471031, 0x253f2e1a, 0x2239795a, + 0xfe192b3a, 0x066c61e1, 0x03036c03, 0x2318312b, 0xb009131a, 0x291a0873, 0x08ff833a, 0x4a023f3c, 0xb605ba01, 0x34000e00, 0x104f2140, 0x1002107f, + 0x480a0640, 0xe1020e0e, 0x8f037f00, 0x03200203, 0x03020330, 0x090ddd02, 0x00dc00e5, 0x3fcde13f, 0x5d5d2f01, 0x2f33e133, 0x72525d2b, 0x11530805, + 0x37023e34, 0x07070606, 0x87330127, 0x03030191, 0x16260e01, 0xb6054a5e, 0x040294fc, 0x383c3c19, 0x11281116, 0x00006049, 0x03420002, 0x058b0210, + 0x001300c7, 0xb22e001f, 0xb800e01a, 0x1440c0ff, 0x00480f09, 0x01210f21, 0x200ae014, 0xc005e417, 0x490fe41d, 0xf582051b, 0x5de1d625, 0x702bd610, + 0x6c5b0701, 0x0bd35c0a, 0x8b023408, 0x446d4d29, 0x2b4e6a3f, 0x446d4c29, 0x2c4e6b3e, 0x564b3afe, 0x554b4b55, 0x6d044b56, 0x2f598253, 0x5382592f, + 0x2e588153, 0x5381582e, 0x77797977, 0x83737378, 0x0054248f, 0x48960373, 0x562206eb, 0xd0482f40, 0xeb072406, 0x820a0204, 0x0b033701, 0xeb000e09, + 0x1001039f, 0x40032003, 0x0d030303, 0x00060a07, 0x01820a03, 0x230be348, 0x2f2f3d39, 0x2309e348, 0xc610e15d, 0x2d05e248, 0x5de13311, 0x01013031, + 0x37031327, 0x06850501, 0x96032008, 0xed74cafe, 0x360174ed, 0xcbfe68fe, 0x75eeee75, 0x0e023501, 0x014e65fe, 0x4e5c015c, 0x891b62fe, 0x003f080a, + 0x3f00ffff, 0x8b050000, 0x2600b605, 0x00007b00, 0x17022700, 0x00004a02, 0x3c020701, 0xb7fdfc02, 0x1d403000, 0x18160203, 0x16bf0203, 0x01168f01, + 0x1601163f, 0x01114001, 0x11011100, 0x82004000, 0x355d2307, 0x03845d11, 0x35355d26, 0x35353f00, 0x2c205182, 0xa0205182, 0xed205185, 0x35205185, + 0x00235183, 0x82330374, 0x40282d51, 0x18140218, 0x01140002, 0x11b00114, 0x11244c83, 0x01007000, 0x49844c85, 0x4a835182, 0x1f204982, 0xce224982, + 0x9b82c905, 0x9b867520, 0x4983a820, 0x033c0223, 0x2549823f, 0x0327403c, 0x9b823802, 0x38702108, 0x01385001, 0x33b40138, 0x0133a401, 0x64013384, + 0x33500133, 0x01333001, 0x33013320, 0x5d014c0f, 0x5d20a382, 0xac840083, 0x0032a784, 0xfe440002, 0x04440377, 0x0027005e, 0x4044003b, 0xff7d3212, + 0x0b320806, 0x3d0f3d14, 0x460b0801, 0xc0ffb81c, 0x1b0f1040, 0x170b1c48, 0x9b2d2727, 0x10131037, 0x2f001751, 0xe53f33e1, 0x39122f32, 0xe12b2f01, + 0xce105d5e, 0x12823911, 0x31e12f29, 0x14150130, 0x6307020e, 0x322406e5, 0x06173736, 0x24082b44, 0x35033e37, 0x0f7c5335, 0x10500224, 0x057e4127, + 0x54373407, 0x52404596, 0x955d61bc, 0x351b3867, 0x42343651, 0x53ba0e26, 0x25241199, 0x4c515b3a, 0x3509057e, 0x2a922333, 0x8a60333a, 0x5a684458, + 0x432d2f54, 0x132b433e, 0x10442f01, 0xffff220e, 0x08008200, 0x07dd0426, 0x00260273, 0x01000024, 0xff430007, 0x005201bd, 0x1502b415, 0xb8022605, + 0x1bb49cff, 0x25070415, 0x00352b01, 0x2f920282, 0x8d007622, 0x13242f82, 0x21020b40, 0x6c223082, 0x2d9b1b15, 0x004b0123, 0x225d8b1f, 0x931db4ff, + 0x8735205d, 0x202b828d, 0x205d8606, 0x225d821d, 0x922c1e01, 0x882b205d, 0x006a22bb, 0x2c2d8221, 0x030d4017, 0x26051e02, 0x15010203, 0x832f8529, + 0x003521bc, 0x0420bd88, 0x24083186, 0x1f500106, 0x4031007d, 0xef020320, 0x1adf011a, 0x011a5001, 0x20011a40, 0x1a10011a, 0x011a0001, 0x0002031a, + 0x21a0861f, 0x2a420035, 0x35320808, 0xff020000, 0x060000fe, 0x00b60556, 0x0013000f, 0x062a4084, 0x5a0e0a13, 0x10011101, 0xa9130403, 0x13240113, + 0x13541334, 0x01011003, 0x13010c14, 0x04820c01, 0x05033b08, 0x15670008, 0xffb80504, 0x052040f0, 0x065f1309, 0x0d105f03, 0x0a4f0a5f, 0xaf0a0f01, + 0x1008020a, 0x060a100a, 0x5f0e0403, 0x00120105, 0x2fe1333f, 0x2f39393f, 0x715d5e2f, 0x0183e110, 0x2f013228, 0xe6103338, 0x487f1132, 0x5d5d2706, + 0xc4c4877d, 0x21520111, 0x05ef7a05, 0x01230322, 0x0806537a, 0x01211152, 0x06231121, 0xfe08fd56, 0x02bacb25, 0xfdc9038f, 0xfd1602c3, 0xfb3d02ea, + 0x6c930175, 0x3bfec501, 0xfea4b605, 0xf8fda23c, 0xa802c601, 0x00ffff00, 0x0414fe7d, 0x02cb0598, 0x00260026, 0x00070100, 0x00fc017a, 0xb60b0000, + 0x242a4f01, 0x01252018, 0x2a05ff41, 0x030000c7, 0x027307be, 0x84280026, 0xff433425, 0x005201b7, 0x0c01b415, 0xb8012605, 0x12b4c2ff, 0x4200010c, + 0x2f8f0a2f, 0x3f007622, 0x2105d141, 0x30821801, 0x120c4a22, 0x01232d9b, 0x8bf1ff4b, 0xb4fd225d, 0x205d9314, 0x228d882b, 0x42f5ff6a, 0x02290501, + 0x26051501, 0x0c010102, 0x425f8520, 0x3e240801, 0x64020000, 0x2c20bf84, 0xfe21bf85, 0x20618bb5, 0x20bf8fa8, 0x202f8252, 0x222f8a8a, 0x8a78ff76, + 0x8e6a20bf, 0x821120bf, 0x89a9202d, 0x20bf822d, 0x202d860f, 0x20ed820c, 0x20bd8e02, 0x212d8240, 0xbd830777, 0x6a228b85, 0xbd8c0dff, 0xbd8d0020, + 0x02004008, 0x00002f00, 0xb605fc04, 0x1f001000, 0x3a405d00, 0x110e1a1a, 0x2167085b, 0x18012120, 0x100e5a1c, 0x640e0110, 0x5f101b20, 0x01000f18, + 0x003f000f, 0x00af006f, 0x00ff00df, 0x40000806, 0x82481d1a, 0x1c22086e, 0x17120e60, 0x00030260, 0xe13fe13f, 0x2b2f3911, 0x33715d5e, 0x100132e1, + 0x2f3232e6, 0x5d32e110, 0x1683f610, 0x13303123, 0x05d17d33, 0x02141538, 0x21230406, 0x34252311, 0x2323022e, 0x21152111, 0x00203311, 0xd77d982f, + 0x60450805, 0xa8f7feb6, 0x049892fe, 0xb87e4208, 0x5001c975, 0x01a2b0fe, 0x030c0108, 0x5c910225, 0xb0f4feb5, 0xbbe9feb9, 0x6083025e, 0x438ad592, + 0xfea20efe, 0xff24011d, 0x00c700ff, 0x070e0500, 0x00260235, 0x01000031, 0x20f58207, 0x0627418b, 0x26052027, 0x2f210a01, 0x0b43420a, 0xecff7d26, + 0x73077105, 0x32202d82, 0x2105b341, 0x2d825400, 0x02b4152c, 0x02260528, 0xb4abffb8, 0x2f9c282e, 0x02017622, 0x02215d85, 0x22308234, 0x9b2e2858, + 0x4b01232d, 0x2d86ae00, 0x05215e83, 0x835b9330, 0x828b84b9, 0x857d2029, 0x8430208b, 0xb4f0238b, 0x5d923f31, 0xbb882b20, 0xaa006a22, 0x2905e341, + 0x05310203, 0x01020326, 0x2f853c28, 0x0805a142, 0x00010021, 0x032d018d, 0x007b04dd, 0xb987000b, 0xf0ff0600, 0x481714b3, 0xe0ffb806, 0x120f1840, + 0x82100048, 0x2000210d, 0x09200982, 0x09200983, 0x03210983, 0x822485b8, 0x40e02207, 0x341a8230, 0x07010d40, 0x0b030505, 0x03500101, 0x0a080301, + 0x0202040a, 0x2a598220, 0x50002000, 0x80007000, 0x5500a000, 0x092c054a, 0x00b30006, 0x5d5e3f19, 0x33113271, 0x01240282, 0x11335d2f, 0x5d240184, + 0x2b003031, 0x01200082, 0x56080484, 0x01013701, 0x07010117, 0x01270101, 0x69c2fecb, 0x42013d01, 0x01bffe68, 0xbefe663f, 0x0267c3fe, 0x693f01d3, + 0x3e01c2fe, 0xfebffe67, 0x3d0166c0, 0x0067c5fe, 0x7d000300, 0x7105b4ff, 0x1a00fc05, 0x31002600, 0x3a405c00, 0x1e2a1f29, 0x5b271b04, 0x0e0b1901, + 0x78041104, 0x1b390fff, 0x3266115b, 0x2a1e291f, 0x5f222d04, 0x0b0e0119, 0x161a0904, 0x0c5f2d04, 0x06547709, 0x39171226, 0x391711e1, 0x8209617a, + 0x3210830c, 0x07013031, 0x14151216, 0x23060602, 0x27072722, 0x18022637, 0x08070c50, 0x01371780, 0x01171614, 0x22232626, 0x1005020e, 0x16160127, + 0x023e3233, 0x5b5c1405, 0xeda0515e, 0x4e85bd9b, 0x5b615a89, 0xa3f09e4c, 0x5042a15e, 0x302eb7fc, 0x72304302, 0x6ca67247, 0x586a0334, 0x722fbefd, + 0x6ba57245, 0x95ae0532, 0xb7defe63, 0xc6eafea9, 0x4e7f476c, 0x2a016491, 0x1501aabe, 0x262a6bc4, 0x83e1fc7f, 0xb1034ed1, 0x9751201d, 0x01018ada, + 0x1c54fc97, 0xdb99511e, 0xb800ffff, 0x5d47ecff, 0x42382006, 0x3d3106b9, 0x15005201, 0x051801b4, 0xffb80126, 0x181eb4c0, 0x0be9420b, 0x76222f8f, + 0x8b42c500, 0x24012105, 0x48223082, 0x2d9b1e18, 0x004b0123, 0x225d8b79, 0x9320b4fd, 0x022b235d, 0x8d850026, 0x7d006a22, 0x29058b42, 0x05210102, + 0x01010226, 0x5f852c18, 0x220c2f47, 0x82730737, 0x843c2031, 0x007622bf, 0x208f8631, 0x248f8215, 0x070f0963, 0x07eb4502, 0x00020022, 0x3f077b7b, + 0x001b0010, 0x1721403c, 0x1d67005b, 0x10011d9f, 0x0b11011d, 0x64085a07, 0x0660111c, 0x060b601b, 0x07200182, 0x2806707b, 0x2f393912, 0x10e1102f, + 0x051871e1, 0xc1685d20, 0x14012c05, 0x2323020e, 0x33112311, 0x7b323315, 0xba211373, 0x0d737bb0, 0x5b0e032b, 0xfe4d81a8, 0xfcb605c3, 0x07747b39, + 0x82888f21, 0x005d08b2, 0x04ecffae, 0x001f0675, 0x406d004b, 0x2e460748, 0x0f004735, 0x2f191f19, 0x40190319, 0x5f48130d, 0x022e6f2e, 0x001f000f, + 0x0803002f, 0x00002e19, 0x4103192e, 0x57114724, 0x204d104d, 0x034dc04d, 0x54414740, 0x3507244c, 0x503a1603, 0x15410147, 0x161a501f, 0x333f0016, + 0xe13f3fe1, 0x068a4212, 0x83f61021, 0x2f2f270a, 0x5d5d5e2f, 0xcd835d2b, 0x82303121, 0x150421c2, 0x20095258, 0x07f77923, 0x260b5766, 0x2e343504, + 0x67222302, 0x34200501, 0x0805bc70, 0x2bf20353, 0x2b3f4b3f, 0x3946270e, 0x213d5838, 0x558d6538, 0x1a358b61, 0x254c4841, 0x18345138, 0x38482b11, + 0x1635553f, 0x3e483e29, 0x533c2129, 0x42583133, 0x713fb627, 0x985c5c9c, 0xec043c6c, 0x3c495939, 0x151e3637, 0x26312721, 0x60524825, 0x517e573e, + 0x06786627, 0x2d194d08, 0x3b242840, 0x28233a38, 0x2a464344, 0x363f4f36, 0x2a2c433a, 0x1313293e, 0xfb415330, 0x68b0044e, 0x2625558d, 0xffff744c, + 0xecff5e00, 0x21069c03, 0x44002602, 0x06010000, 0x00944300, 0x02b41500, 0x02261133, 0xb4e5ffb8, 0x220c3339, 0x9207f741, 0x3576282d, 0x40130000, + 0x823f020b, 0x3385222e, 0x222b9b39, 0x85e24b01, 0x215a832b, 0x57923b33, 0x87e30521, 0x52012285, 0x202b85bd, 0x2257823b, 0x914a3c29, 0xd9052157, + 0x6a30b188, 0x170000de, 0x02030d40, 0x0326113c, 0x47332f02, 0xd9422d85, 0x20e18508, 0x205b8887, 0x202f8750, 0x212f8338, 0x89863d30, 0x00222f85, + 0x2f820003, 0x44066108, 0x38005e04, 0x50004700, 0x1a407c00, 0x1e4b142f, 0x42420448, 0x26484c00, 0x4f52571d, 0x9f525f52, 0x48390352, 0xffb80e00, + 0x0d2e40c0, 0x0e0e4811, 0x00515600, 0x02421042, 0x00501e42, 0x02041004, 0x1f4b0f04, 0x4b07024b, 0x3c21114b, 0x342c2f50, 0x0a0d4816, 0x11141750, + 0x333f0010, 0x3232e133, 0x11360584, 0x5d5e2f39, 0x32e15d33, 0xe610015d, 0x102b2f32, 0xf6105de1, 0x055fe132, 0x05be5a05, 0x210ff874, 0xfe741716, + 0x72152006, 0x23230a2e, 0x57272622, 0x372205c6, 0xaf571614, 0x0e072405, 0x72220103, 0x5e200544, 0x080d0f75, 0x2ba68327, 0x6167a633, 0xfd396c9a, + 0x93930560, 0x4a4e5531, 0x4f4b2725, 0xca8a3155, 0x5f4c223e, 0x7b474a74, 0x61bd345a, 0x0831754f, 0x6e85032b, 0xd7010b7f, 0x0154371a, 0x0d337533, + 0x555d5523, 0x0f74725d, 0x3673722c, 0x271f3b55, 0x5c527b51, 0x4c752656, 0x63023708, 0x7144959c, 0xff002c50, 0xfe7100ff, 0x046f0314, 0x0026025e, + 0x7d4a0046, 0x00422c05, 0xb60b0000, 0x20262f01, 0x4a250d05, 0x7126067d, 0xe103ecff, 0x25822106, 0x97424820, 0x11282b0b, 0xffb80226, 0x282eb4b9, + 0x97420f05, 0x212d8f0a, 0x3f425276, 0x82342005, 0x2876222e, 0x222b9b2e, 0x85de4b01, 0x215a832b, 0x57923003, 0x88d90521, 0xda6a2185, 0x27066b42, + 0x03261131, 0x3c280002, 0x3b425985, 0xffff2205, 0x214a82ff, 0xb5846701, 0xdb84f320, 0x55fe4322, 0x152cdb82, 0x110401b4, 0xffb80126, 0x040ab49a, + 0x240c054b, 0x020000ae, 0x222f8a42, 0x8230ff76, 0x4013242f, 0x8210010b, 0x04742230, 0x212d8b0a, 0x2d82bdff, 0x2d895520, 0xfe4b0123, 0x832d86bb, + 0x0c00215e, 0xff215b8c, 0x202d82ee, 0x85bb8425, 0x846a208b, 0x40172c2d, 0x0d01020d, 0x01022611, 0x4b180400, 0x61080b31, 0x6f000200, 0x2d04ecff, + 0x27002306, 0x74003900, 0x28124640, 0x20230048, 0x1c041916, 0x221c1822, 0x03181c22, 0x3b57000a, 0x3bd03b40, 0x0f033be0, 0x3206013b, 0x3a560a48, + 0x16231920, 0x21211704, 0x0f502d1d, 0x0faf0f12, 0x30020fbf, 0x0f17010f, 0x011d0f17, 0x16055037, 0x3fe13f00, 0x2f2f3939, 0xee615d5d, 0x45112005, + 0x5e24064b, 0xe6105d5d, 0x8305e24c, 0x53102012, 0x516e05f2, 0x1716270b, 0x27262637, 0x05832705, 0x82163721, 0x0717240d, 0x4507031e, 0x14250748, + 0x3233021e, 0x05676e36, 0xaf688708, 0x763f477f, 0x9a6669a8, 0x781f082b, 0x4a00ff5a, 0x2f5528d9, 0x3b7a4146, 0x43c34ae3, 0xbc2c4f6f, 0x4b6e4622, + 0x21466d4d, 0x4c6d4721, 0x3d02879a, 0x4f98dc8e, 0x77b97f42, 0x417eb877, 0x76043c3b, 0x729951c0, 0x1a371c83, 0x2c48207b, 0x4175718a, 0xb0ddbb9c, + 0x32526b38, 0x5583582e, 0x315a7d4c, 0xffff00c7, 0x0000ae00, 0xe3051204, 0x51002602, 0x06010000, 0x00f95201, 0x0b401300, 0x26112101, 0x30220201, + 0x9142170b, 0x2d04230d, 0x2b822106, 0xbf425220, 0x00d82f05, 0x02b41500, 0x02261120, 0xb4d7ffb8, 0x3b4a2026, 0xff71220c, 0x212d8cec, 0x59845076, + 0x822c0221, 0x204e222e, 0x222b9b26, 0x8afb4b01, 0xb4fa2259, 0x84599228, 0x228784b3, 0x84e25201, 0x8428202d, 0xb4fd2387, 0x5b913729, 0x88d90521, + 0xf96a2bb5, 0xb6190000, 0x11290203, 0xb7820326, 0x20b4f923, 0x0cc34a34, 0x00037508, 0x04f80066, 0x00ac0402, 0x00170003, 0x4060002b, 0x012d3015, + 0x1818aa22, 0x0356aa0e, 0x28020366, 0x02033803, 0xffb80003, 0x092840f0, 0x0400480d, 0x1d10ad27, 0x011d0f01, 0x09011d1d, 0x101300ad, 0x60132013, + 0xc013b013, 0x0713d013, 0x00131307, 0x00b301ad, 0x2f33e13f, 0x11e15d5e, 0x715d2f33, 0x332f01e1, 0x5d5d332b, 0xe12f33e1, 0x1330315d, 0x01152135, + 0x0e435218, 0x0f535218, 0x9c036634, 0x1f12bffd, 0x2a171829, 0x20121220, 0x2918172a, 0x0f8f121f, 0x96870236, 0x23eefe96, 0x0d0d1e2f, 0x21232f1e, + 0x0e0e1f2f, 0xdb022f1f, 0x5508108e, 0x00030000, 0x04b4ff73, 0x0091042f, 0x0024001a, 0x405c002d, 0x281f273b, 0x251b041e, 0x16181748, 0x0a080715, + 0x000d0809, 0x2f402f57, 0x2fe02fd0, 0x012f0f03, 0x0d481b06, 0x1e282e56, 0x2b041f27, 0x0a075022, 0x05041518, 0x2b101216, 0x16050850, 0xe1c63f00, + 0xdc4ac63f, 0x5d5e240a, 0x4af6105d, 0x142209db, 0xd64a020e, 0x35262106, 0x1627e584, 0x07173717, 0x4a051616, 0x062207d9, 0xd84a3405, 0x04363405, + 0xb27d432f, 0x44627d6f, 0x463f5083, 0x6fb37c43, 0x8231713f, 0x453e330b, 0x161300fd, 0x4b1d8d01, 0x02879a2d, 0x72fe2744, 0x0983481f, 0xd5892729, + 0x6d354c91, 0x7148834a, 0x26080576, 0x496c1c1d, 0x86d14981, 0x02338354, 0xcf121187, 0xfd639fd1, 0xd310117b, 0x00ffff00, 0x04ecffa4, 0x02210608, + 0x42580026, 0xa33105bb, 0xb4150000, 0x26111b01, 0x9bffb801, 0x0c1b21b4, 0x0ae94219, 0x76282d8f, 0x13000060, 0x27010b40, 0x57222e82, 0x2b9b211b, + 0x084b0122, 0x5a832b85, 0x92230021, 0xd9052157, 0x6a2b8588, 0x19000002, 0x240102b6, 0x82022611, 0xb4fb2387, 0x5b852f1b, 0x2408e947, 0x0314fe0a, + 0x20b784df, 0x21b7845c, 0x5d850e76, 0x89822f20, 0x29236723, 0x08314600, 0x08076772, 0x0014062a, 0x00310020, 0x2f1f4038, 0x33570a48, 0x27013310, + 0x1b151f20, 0x32541c47, 0x1b1b001d, 0x0f15502c, 0x00502116, 0x3f001005, 0x200a8d7a, 0x4a008232, 0x875906bd, 0x14152505, 0x2223020e, 0x220c7472, + 0x72250711, 0x01210d6a, 0x0b5c7264, 0x2806de7b, 0x04020303, 0x0108b6b6, 0x0bc2711f, 0x72b60321, 0x78720b5e, 0x0008250a, 0x119436fe, 0x220d6d72, + 0x8400ffff, 0xd90524f5, 0x85002602, 0xb16a30f5, 0x40170000, 0x2c01020d, 0x01022611, 0x8537230b, 0x0ce94bf7, 0xc106dd22, 0x22087953, 0x5333004d, + 0x172905a9, 0xb8022605, 0x15b4ffff, 0x0c7b5316, 0xecff5e26, 0x6f059c03, 0x21083f49, 0xc749e64d, 0x82352005, 0x3323225e, 0x056d4934, 0x200c3354, + 0x225b8840, 0x4c21004e, 0x02210545, 0x535c821a, 0x2d860862, 0xee205985, 0x4e215988, 0x205985d4, 0x20598238, 0x07974925, 0x00262b86, 0xdd0442fe, + 0x5988bc05, 0x62035126, 0x14000000, 0x803ae782, 0x27300127, 0x27270001, 0x01250000, 0x355d5d2b, 0x5e00ffff, 0xb80342fe, 0x59865e04, 0x51010724, + 0x2d825a02, 0x16402035, 0x0145f002, 0x900145a0, 0x45800145, 0x01453001, 0x86454500, 0x855d2036, 0xff7d2639, 0x079804ec, 0x081b5373, 0x0a017622, + 0x0127c185, 0x01260530, 0x532a24cd, 0x23530620, 0xff712605, 0x066f03ec, 0x06cb4821, 0x76000636, 0x1700004a, 0x2c010e40, 0x10012611, 0x20a70120, + 0x250d0526, 0x35209482, 0x5d8ec586, 0x004b0123, 0x0af54db4, 0x532c7721, 0x5d89077e, 0x5d898f20, 0xf54b0122, 0x20205d85, 0x28235d83, 0x49285301, + 0x5d20052f, 0x37205d8d, 0x0123bb87, 0x8600024f, 0x822f205d, 0x248022bb, 0x21bb912c, 0xbb86e505, 0x4f010725, 0x85003301, 0x852b205f, 0x204d22bd, + 0x22bd9d28, 0x86a8004c, 0x8229205f, 0x2f6b215f, 0xa020bd91, 0x4c21bd8a, 0x205d8506, 0x235d8325, 0x2b64012b, 0xc726bd8e, 0xfc040000, 0x8f827307, + 0x00002728, 0x4c010701, 0x97424a00, 0x051d2a05, 0xffb80226, 0x1823b4b7, 0x0b414f06, 0xecff7126, 0x14065205, 0x47202f82, 0x02232f83, 0x82d90238, + 0xb60b28bf, 0x3e3e5e02, 0x4a251d1d, 0x47530647, 0x06022306, 0x1d829200, 0x82000221, 0x04420835, 0x0014069e, 0x00380027, 0x1f314055, 0x472d001b, + 0x0b1d1d26, 0x3a552622, 0x36013a10, 0x39560b48, 0x1d251527, 0x1e1e224f, 0x33002010, 0x10001650, 0x10201010, 0x28101003, 0x16060050, 0xe1333f00, + 0x03825d3f, 0x2f391225, 0x7532e133, 0xe62b06b5, 0x2f391132, 0x3232e110, 0x7e303132, 0xa76716a4, 0x33152305, 0xac7e2315, 0x85fe272a, 0x9cb67b01, + 0xb27e939c, 0x46250812, 0x8786cc8a, 0x19478bce, 0x21203a2c, 0x10371a1f, 0xb6b6899e, 0x832bfb89, 0x5a85592c, 0x66956127, 0xc6c3cf34, 0x058153c3, + 0x06be0323, 0x073955c1, 0x004d0122, 0x2607d142, 0x0126050e, 0x4a0d0c02, 0x71260c91, 0xe103ecff, 0xf14a6f05, 0x432d8207, 0x2a260593, 0x11022611, + 0x494b2928, 0x05f1550c, 0x59884020, 0xfbff4e22, 0x20060f42, 0x21598211, 0xc1551606, 0x2059850d, 0x215988ee, 0x5985ea4e, 0x59822d20, 0x4b320f21, + 0x59850d77, 0x59881a20, 0x3f014f2a, 0x13003501, 0x17010b40, 0x07225982, 0xb392140c, 0x5986e520, 0x4f010725, 0x85002b01, 0x8233205b, 0x280c225b, + 0x25b58d30, 0xbe0342fe, 0x5b88b605, 0x21025122, 0x0e382d82, 0xff0100b9, 0x1212b4c1, 0x01250000, 0xffff352b, 0x61fe7100, 0x5e04e103, 0x23085588, + 0x003b0251, 0x4027001f, 0x3bf00213, 0x013be001, 0x90013ba0, 0x3b50013b, 0x013b0001, 0xb4caffb8, 0x1a1a3b3b, 0x5d203a82, 0x35210084, 0x07794100, + 0x23094157, 0xf9ff4c01, 0x210a1f41, 0x1f411704, 0x09f14c12, 0xe44c0122, 0x21091f41, 0x1f413309, 0xff7d240d, 0x84f204ec, 0x002a2859, 0x01070100, + 0x86d7004b, 0x052c2859, 0x346d0126, 0x47010c2c, 0x25240aa1, 0xfc0314fe, 0x4a205984, 0x06232d82, 0x84c64b01, 0x5f032859, 0x03032611, 0x55275f67, + 0x59820e81, 0xf5824020, 0x4e225985, 0x5986c900, 0x59823120, 0x92365f21, 0xee052159, 0x59852d82, 0x00b14e27, 0x03b41500, 0x24588264, 0xb4efffb8, + 0x205b9369, 0x225b8837, 0x860c024f, 0x8337205b, 0x342c215b, 0x0521b591, 0x255b86e5, 0x004f0107, 0x5d8400f2, 0x5d846a20, 0x5fb4ec23, 0x25b98d67, + 0xf2043bfe, 0x5d87cb05, 0x01390223, 0x252f8217, 0x5101b60b, 0x5886322c, 0x00ffff22, 0x220e0b41, 0x412d3a02, 0xb283050b, 0x8d651c21, 0x00c726af, + 0x07d50400, 0x21518273, 0x6541002b, 0x587f2005, 0xff240b41, 0x050c14b4, 0x200b3b41, 0x222f82ae, 0x82aa0712, 0x864b202f, 0x012b392f, 0x401f0089, + 0x010d7014, 0x01010c70, 0x1a011a70, 0x19012602, 0x180b1a22, 0x27059e41, 0x5d5d355d, 0x00020000, 0x30080082, 0xb6059c05, 0x17001300, 0x2f405600, + 0x5a0c0414, 0x19650b07, 0xaf0119b0, 0x19100119, 0x0f031701, 0x6410005a, 0x175f0e18, 0x60120a16, 0x13030713, 0x24018217, 0x120b1001, 0x05496c05, + 0x39123325, 0x6c2f2f39, 0x32220546, 0xd77ee110, 0x5d323005, 0xf6105d5d, 0x3232e132, 0x35133031, 0x82211533, 0x15332603, 0x11231123, 0x38038221, + 0x35013523, 0xbac71521, 0xc7ba9a02, 0x66fdbac7, 0x1b04c7ba, 0xc30466fd, 0x080082f3, 0xd3fb964f, 0x56fdaa02, 0xfe962d04, 0x00dfdf8b, 0x00120001, + 0x06120400, 0x00210014, 0x13344055, 0x2147000b, 0x23102355, 0x23802360, 0x12161703, 0x0b0f470a, 0x0d152254, 0x0ebf124f, 0x0e020ecf, 0x0417100e, + 0x101d0050, 0x031d201d, 0x0010101d, 0x06ea7f0b, 0x82e15d21, 0x5d2f24a7, 0x8632e133, 0x823220a0, 0x12e1229f, 0x0d777d39, 0x33352322, 0x2123a882, + 0x7f152115, 0x9c2711fe, 0x7b01b69c, 0x180885fe, 0x08080440, 0x82829a2f, 0x60946634, 0xd504f0fd, 0x89b6b689, 0x3f2b90b8, 0xd2bf142a, 0xff005cfd, + 0x00f5ffff, 0x07c40200, 0x00260235, 0x0100002c, 0xfe520107, 0x067142f3, 0x26051426, 0x23150101, 0x210b4744, 0x2d82a3ff, 0xe3057222, 0xf3202d82, + 0xa1202d86, 0x22054744, 0x82110c01, 0x1b0d212d, 0x200c7544, 0x222d823d, 0x88c1067c, 0xff4d225b, 0x205b8622, 0x455b830e, 0xff210d57, 0x222d82eb, + 0x886f052a, 0xfe4d225b, 0x205b86d0, 0x215b8306, 0x5b8c0504, 0x2d823020, 0x40078a22, 0x4e215b88, 0x075d5aff, 0x5b821120, 0x59450220, 0xdeff210d, + 0x38222d82, 0x5b88ee05, 0xbdfe4e22, 0x09205b86, 0x02215b82, 0x0c17500e, 0xfe520027, 0x05640242, 0x225b88b6, 0x439c0051, 0x00210527, 0x07a25b19, + 0x00ffff29, 0x0142fe44, 0x82e50583, 0x004c2f25, 0x01060100, 0x00002551, 0x020a4010, 0xa882256f, 0x25240b82, 0x355d2b01, 0x52202782, 0x64227b82, + 0x4d883707, 0x50004f22, 0x20060541, 0x20a98217, 0x0ba94500, 0x2405577c, 0x4a046401, 0x0fff7f00, 0xff7f0f20, 0x4a042113, 0xfe265f83, 0x0529047b, + 0xc14100b6, 0x2d002306, 0xad82b602, 0x40382808, 0x7f18010e, 0x184f0118, 0x07401801, 0xb8184807, 0x1740c0ff, 0xbf480606, 0x21a00121, 0x01218f01, + 0x0f012150, 0x83210121, 0x5d2b211c, 0x2b200083, 0x11200682, 0xa026b183, 0x870314fe, 0x5182e505, 0x0724d983, 0x12024d00, 0x2e3f5182, 0x02032040, + 0x011ecf1e, 0x9f0135df, 0x35800135, 0x01355f01, 0x20013540, 0x35000135, 0x82403501, 0x8247855b, 0x3511214b, 0xff234782, 0x5c7bfe48, 0x2d28065f, + 0x07010000, 0xcafe4b01, 0x1420f986, 0x1c23f983, 0x450e0d14, 0xff2b0983, 0x0214febc, 0x02210657, 0x86370226, 0x07a3412d, 0x26111424, 0x2d8d0001, + 0xfec7002b, 0x05a2043b, 0x002602b6, 0x2e2d822e, 0x73390206, 0xb90e0000, 0xb1ff0100, 0x44130db4, 0xff290573, 0xfeae00ff, 0x06f0033b, 0x20258214, + 0x2025854e, 0x25258621, 0x150fb4c4, 0x7d84050a, 0x00013708, 0x030000ae, 0x004a04f0, 0x40490011, 0x1010010a, 0x440f0f0e, 0xb8110111, 0x1c40c0ff, + 0x11480a07, 0x13111110, 0x132f130f, 0x03070702, 0x12540447, 0x050e010c, 0xb043040f, 0x39332705, 0xf6100139, 0x411832e1, 0x400808ff, 0x11393311, + 0x21303133, 0x23110701, 0x14113311, 0x07060706, 0x01330137, 0xfe230301, 0xb4b46dac, 0x04040305, 0xcd330183, 0xac016ffe, 0xfe51e901, 0xfe4a0468, + 0x26663ce7, 0x01b0242c, 0xfd16fe81, 0x0d1747a0, 0xb7822f20, 0x76000724, 0x574565ff, 0x05122b05, 0xffb80126, 0x0c06b470, 0x3b410400, 0xab002709, + 0x34020000, 0xe782ac07, 0x2f864f20, 0x8b012235, 0x14401f00, 0x70010370, 0x70010102, 0x02100110, 0x53660126, 0x5d23092e, 0x845d5d35, 0x3bfe2169, + 0x8306eb47, 0x02062369, 0x21412d39, 0x88dd2006, 0xffff2963, 0x3bfe6600, 0x14066c01, 0x02245f87, 0x00f7fe39, 0xe0212786, 0x475487b4, 0x052107cf, + 0x842782b7, 0x380234b7, 0xa3ff0001, 0x0d401600, 0x01030b01, 0x60010610, 0x83020c06, 0x625d20b7, 0xae2006bb, 0xb420b782, 0x06385788, 0x003b3802, + 0x11401800, 0x0e400401, 0x40044810, 0x5e480906, 0x03030404, 0x2b22e982, 0x5f88352b, 0x5f87b620, 0x014f012c, 0x0065fde3, 0xab01b60b, 0x10410e06, + 0x05855206, 0x06a2022b, 0x00260014, 0x0100004f, 0x08258207, 0x38fd2d21, 0x16402b00, 0xef0113ff, 0x139f0113, 0x01138f01, 0x5f01137f, 0x131f0113, + 0x01b80101, 0x4804b42e, 0x5d200669, 0x36820085, 0x1d003508, 0xbe030000, 0x0d00b605, 0x32406100, 0x0c05060b, 0x04030005, 0x0504040d, 0x08080a05, + 0x010faf0f, 0x0c010f10, 0x03060d0d, 0x000b5a07, 0x050e640a, 0x040c0d04, 0x012a0182, 0x120a5f07, 0x3f000301, 0x7146e13f, 0x11220806, 0xf6100133, + 0x32e13232, 0x332f3332, 0x33115d5d, 0x2f391211, 0x877d1033, 0x10c4c404, 0x31c4c487, 0x13821330, 0x17372508, 0x15211105, 0x27071121, 0x4ee3bac7, + 0x3d02cffe, 0x496109fd, 0x1203a402, 0x7d8f63fd, 0xa639febe, 0x7d3cf801, 0xff259982, 0x020000f6, 0x2ddf821d, 0x4069000b, 0x500d403b, 0x0609020d, + 0x9e830a05, 0x0b0a0b37, 0xdd04080b, 0x05bb0105, 0x0f0205cb, 0x2f051f05, 0x05060305, 0x2aa48205, 0x08000947, 0x0a0b0c54, 0x820a0405, 0x07012401, + 0x82000115, 0x27a190a2, 0x5d5e2f32, 0x11335d5d, 0x9f88a982, 0x875d0121, 0x110722a1, 0x369f8223, 0x4e6bb6ae, 0x4e6ab6b9, 0x1e03f602, 0x794559fd, + 0x023ffd78, 0x5e79464a, 0x732008cb, 0x2307cb5e, 0xf2007600, 0x220abd4d, 0x531e1855, 0xae260c4b, 0x12040000, 0x2d542106, 0x76002f07, 0x1300006f, + 0x25010b40, 0x5c012611, 0x2d541f19, 0xfec7260c, 0x050e053b, 0x235987b6, 0xd9003902, 0x21078142, 0x5787b4e1, 0x2305f143, 0x5e041204, 0x02225387, + 0xa7424c39, 0xb4de2106, 0xa7915187, 0x004c0123, 0x26a7869c, 0x0126051d, 0x9b182300, 0x4c0128a7, 0x1500000c, 0x821e01b4, 0xffb825a6, 0x1924b4fa, + 0x5d82a98b, 0x04003408, 0x00b605a1, 0x00510027, 0x0100008f, 0xe8070206, 0x40290000, 0x5518001d, 0x0127ef27, 0x9f0127bf, 0x275f0127, 0x01272f01, + 0x08084027, 0x06402748, 0x452b4806, 0x1022053b, 0x328234f6, 0xfec70023, 0x08ed837b, 0x00250044, 0x182a404a, 0x205a1f0c, 0x20150404, 0x27b02765, + 0x01278f01, 0x27102700, 0x0e131702, 0x64155a14, 0x160d1f26, 0x18121503, 0x5f07120c, 0xe12f0000, 0x3f3f333f, 0x10013333, 0x3232e1f6, 0x5d5d5d32, + 0x774de610, 0x30312206, 0x09707c01, 0x18013521, 0x0809fd43, 0x2633012c, 0x35262627, 0x14113311, 0x8b03020e, 0x221b4d33, 0x4b252d4e, 0x08fd263d, + 0x04040608, 0x02d5ac05, 0x040307cc, 0x37ae0503, 0x5b188f64, 0x59180a81, 0x75270b29, 0x7d384141, 0x18200334, 0x6a09935b, 0x2f0805dd, 0x0028005e, + 0x0322403a, 0x470c1703, 0x102a5524, 0x802a602a, 0x161a032a, 0x29541747, 0x2050101a, 0x170f1810, 0x00500715, 0xe13f001b, 0xe13f3f3f, 0x7861b885, + 0x20b18b08, 0x6b461813, 0x03152111, 0x0221b182, 0x0d4818ee, 0x69022909, 0x436e5170, 0x1a94b61d, 0x2208fc48, 0x186d4822, 0x210a1448, 0x0b496d03, + 0x04c72306, 0x0649944a, 0x95fc3b05, 0x2f577b4d, 0x7d00ffff, 0x7105ecff, 0x2602c106, 0x00003200, 0x4d010701, 0x1342bc00, 0x2a022705, 0x00022605, + 0x13422928, 0xff71260c, 0x052d04ec, 0x0707566f, 0x144d012a, 0x40130000, 0x1122020b, 0x20212b82, 0x842b8c21, 0x40072159, 0x4e225988, 0x5986aa00, + 0x59822d20, 0x61320121, 0x59850d55, 0x5988ee20, 0x00004e27, 0x02b41500, 0x24588225, 0xb4ffffb8, 0x0dbd562a, 0x0f625b85, 0x53012308, 0x5b82ec00, + 0x0d40172a, 0x05340203, 0x43020326, 0x820d5361, 0x0e4957e7, 0x46530123, 0x051d5c00, 0x82112c21, 0x5645202f, 0x02210ebf, 0x08618200, 0x05a40644, + 0x001900cd, 0x405b002a, 0x01161436, 0x14001616, 0x27275a18, 0x67001209, 0x012c1f2c, 0x66095b1f, 0x4f5f172b, 0x140f0114, 0x080214af, 0x12191414, + 0x1a03115f, 0x24040e5f, 0x1913045f, 0x0012005f, 0x0185e13f, 0x18391221, 0x27089f60, 0x32e6105d, 0xe12f3911, 0x5d250483, 0x21213031, 0xc4591806, + 0x6517200c, 0xb67409be, 0x37362b08, 0x06262611, 0x2b0afda4, 0x5918305b, 0x623d07c1, 0xfdf40254, 0xfd1702c2, 0xfc3e02e9, 0x6ca67256, 0xa56b3434, + 0x265a3472, 0x0b095926, 0x245b186c, 0x65172008, 0x043a05e1, 0xda975185, 0x99db898a, 0x040f1251, 0x00111058, 0x71000300, 0xe106ecff, 0xdf825e04, + 0x00364108, 0x4064003f, 0x3f03133b, 0x31d0481d, 0x0b313101, 0x1c254837, 0x410f4157, 0x0141ff01, 0x2b014140, 0x40560b48, 0x3f1b501d, 0x0f023f2b, + 0x3f06013f, 0x343c2e3f, 0x10131650, 0x502e2010, 0x16060003, 0x2405bd5c, 0xe133333f, 0xd04e1832, 0x5d5d220a, 0x06b75c71, 0x32e15d2a, 0x30313939, + 0x27262205, 0x2109f868, 0xb55c3233, 0x14012114, 0x09d24c18, 0x2e34053d, 0x06222302, 0x82600507, 0xc63f41cc, 0x7fae6780, 0xb37c4347, 0x3fc3796f, + 0x1875b93c, 0x3711fc4e, 0x9a899afb, 0x978c8b96, 0xf004879a, 0x3e58391b, 0x140b8572, 0x706d6d70, 0x07544818, 0x696a6f23, 0x0f995c70, 0xd13b0230, + 0xdcd1c9d3, 0x4462cfce, 0x9c2c5071, 0x29450095, 0xa0042605, 0x26027307, 0x059f6a00, 0x6f647620, 0x05292b07, 0xffb80226, 0x231db4ee, 0x89480d02, + 0x00ae230a, 0x19570300, 0x00552705, 0x00060100, 0xd345ce76, 0x11232805, 0x17400126, 0x8a030e1d, 0xfec7262b, 0x05a0043b, 0x2b5b86b6, 0x77390206, + 0xb90e0000, 0xb6ff0200, 0x81825588, 0x3bfe6026, 0x5e040803, 0x51832582, 0x39020725, 0x8400f1fe, 0xff012327, 0x5187b408, 0x012aa991, 0x010e004c, + 0xb4150052, 0xa9842202, 0x28b4a923, 0x20a98c1d, 0x22a98272, 0x8721060a, 0x4c012357, 0x578270ff, 0x01b41523, 0x25aa821c, 0xb4e3ffb8, 0xad8c1722, + 0xecff6826, 0x7307c903, 0x36202f82, 0x21056349, 0xc5433b00, 0x40012805, 0x70012605, 0x4e083a34, 0x5a200be9, 0x3f202d82, 0x56205d84, 0x06232d82, + 0x41dc7600, 0x42200507, 0x5d225c82, 0x2b8c3c36, 0x0123598e, 0x86edff4b, 0x82342059, 0x3c222259, 0x8e2d8c34, 0x4b012259, 0x2059859b, 0x22598236, + 0x8c363e1c, 0xfe68262b, 0x05c90314, 0x22b388cb, 0x4135017a, 0xfa22073b, 0x57863ab4, 0x00ffff23, 0x2227825a, 0x825e043f, 0x24ad8327, 0x007a0007, + 0x242782f0, 0x0101b60b, 0x8250873c, 0x22a78f25, 0x86e6ff4c, 0x823920a7, 0x3f1b21a7, 0x4c21a79d, 0x20a78597, 0x21a7823b, 0xa78d4118, 0x3bfe1426, + 0xb6051204, 0x37277f82, 0x06010000, 0x41f93902, 0xd82506e1, 0x030e08b4, 0x066f5205, 0x3bfe2126, 0x46058f02, 0x57202582, 0x07242582, 0x5dff3902, + 0xf724cd87, 0x12241eb4, 0x14262787, 0x12040000, 0x4d867307, 0x4c010724, 0xa786c8ff, 0xa7820d20, 0x08130322, 0x71565185, 0xff212606, 0x06e802ec, + 0x2c558614, 0x6f380206, 0xb60b0000, 0x24246101, 0x05835018, 0x0a275c18, 0x000f5c08, 0x1f4c4073, 0x11e00111, 0xdf115f01, 0x11200211, 0x11401130, + 0x05bf0803, 0x050205ff, 0x5a060a05, 0x50010f01, 0x0202f002, 0x0201021f, 0x01770d02, 0x01970187, 0x01013103, 0x01100100, 0x07030120, 0x600d0a01, + 0x03000007, 0x0206120b, 0x0003035f, 0x3f32e13f, 0x332f3912, 0x490132e1, 0x33360579, 0x125d5d2f, 0x32e11039, 0x395d2f32, 0x715d5d5d, 0x11013031, + 0x0c453521, 0x82232007, 0xb6013c0b, 0xfe035efe, 0x27015ffe, 0xfebbd9fe, 0x013303d7, 0xfea4a4df, 0x62fd9521, 0x18959e02, 0x080a2f49, 0x6a002541, + 0x011f14b6, 0x051c1c20, 0x40c0ffb8, 0x480b0837, 0x2f270505, 0x02273f27, 0x47231b1f, 0x1f160f13, 0x18160216, 0x10100014, 0xb010a010, 0x0510c010, + 0x22111007, 0x1f1f144f, 0x4f1e150b, 0x181b181a, 0x890c3c49, 0x333324a6, 0x82325dc4, 0x115d2ba1, 0x332b2f33, 0x5d003311, 0x49183031, 0x35230c49, + 0x82333523, 0x37372303, 0xb8821533, 0x49180384, 0x8b2e1151, 0x4e9b9b8b, 0xfe140169, 0xfe0201ec, 0x49183ffe, 0xfb2c0d57, 0x4e51f88a, 0xf889fce6, + 0x6261fb8a, 0x21083d66, 0xaf650235, 0x52012306, 0x03826000, 0x01b4152c, 0x01260520, 0xb4ffffb8, 0x0f662f21, 0xffa4260c, 0x050804ec, 0x272f82e3, + 0x01000058, 0xf3520106, 0x22098744, 0x5b322406, 0xb8200c73, 0xef592b82, 0x82382005, 0x0107242b, 0x858f004d, 0x861a205b, 0x1918215b, 0x6f205b92, + 0x4d215b88, 0x265b8521, 0x0126111d, 0x911c1b05, 0x4007215b, 0x4e22b788, 0x694a7d00, 0x6622200b, 0xb5850d95, 0x5988ee20, 0x850c4e21, 0x82202059, + 0x25042159, 0x840dfd5b, 0xd90721b5, 0x50225988, 0x316b7b00, 0x051d2507, 0x00010226, 0xd75a5b87, 0x215d8408, 0x5d888706, 0x5d825020, 0x0d401724, + 0x5e820102, 0x05010222, 0x2f885f87, 0x230e8167, 0xb2005301, 0x24206187, 0x36206183, 0x83102367, 0x5d0e2061, 0x01240917, 0x00005053, 0x27216184, + 0x20918211, 0x108f5c48, 0x42feb826, 0xb805dd04, 0x512ac388, 0x00001902, 0x01b60b00, 0xde67250d, 0xffff2307, 0x2582a400, 0x4a041622, 0x0724b786, + 0xb8025101, 0x0e252585, 0x1a1a2121, 0x06c75825, 0x00001426, 0x7307fe06, 0x3a272582, 0x07010000, 0x45014b01, 0x2b27079f, 0x00012605, 0x501e2b33, + 0x00200a6d, 0x05212d82, 0x20a984e3, 0x212d855a, 0x5382ae00, 0x0b401325, 0x82113001, 0x3038232d, 0xe96f2e11, 0x0afb670e, 0xff4b0123, 0x06c541d0, + 0x5b820920, 0x09110222, 0x5c09fb67, 0x655d076f, 0x4b012209, 0x097b42a9, 0x232b0222, 0x8209655d, 0x2374822b, 0x2b073704, 0x3c20b582, 0x00238783, + 0x41ceff6a, 0x12270763, 0x01022605, 0x851d0901, 0x0895415b, 0x00005223, 0x20e78503, 0x2231843d, 0x86390076, 0x8216208b, 0x0a5e228b, 0x0c275310, + 0x35202d83, 0x5d208b84, 0x20058746, 0x208b85d6, 0x20e58216, 0x222b9260, 0x823707fe, 0x2359848b, 0x29014f01, 0x210ae168, 0x9f6e0a0b, 0x2159840d, + 0x2d82e505, 0x07245983, 0xcd004f01, 0x20064141, 0x205b8215, 0x8a2d9214, 0x4c0123b5, 0x5b86e0ff, 0xb5820f20, 0x63150621, 0x00200cc7, 0x0122b58e, + 0xb585864c, 0x59820f20, 0x2b8b1020, 0x01003308, 0x0000ae00, 0x1f06be02, 0x25001300, 0x09091540, 0x10150015, 0x03152015, 0x54004713, 0x06500d14, + 0x00150001, 0x01e13f3f, 0x5de1f610, 0x312f3311, 0x0d613330, 0x724f1805, 0x2dae320a, 0x3b4e7c55, 0x1f2f2663, 0x3a282848, 0xb0041327, 0x5957186b, + 0x4efb210b, 0x32086582, 0x0314fecb, 0x00cb05e9, 0x404a002b, 0x012d302a, 0x011f1f29, 0x12161247, 0x0a121414, 0x1012000a, 0x40123012, 0x12070412, + 0x16600013, 0x230d2929, 0x82071c50, 0x001b217c, 0x45058379, 0x332107df, 0x2f82822f, 0xe1103311, 0x5d322f32, 0x11013031, 0x23020e14, 0x230a964d, + 0x37352311, 0x11065818, 0x8f021530, 0x4e7b552d, 0x1a1c3d20, 0x3b281f39, 0x58181326, 0xb1880713, 0x4403f624, 0xb4833ffc, 0x9906092d, 0x30130a08, + 0xc3034153, 0x8c89444b, 0x899125c6, 0x00040000, 0xc8080082, 0xaa07dd04, 0x23001600, 0x3e003100, 0x5e400101, 0x29012989, 0x302a2abe, 0x381d3131, + 0x1f0d0f83, 0x0d10020d, 0x0d020d20, 0x6623560d, 0x07230223, 0x69175908, 0x17060217, 0x83321d05, 0x001f000f, 0x0003006f, 0x010ad600, 0x0a470a37, + 0x0ac70a57, 0x03d90a04, 0x48033801, 0xc8035803, 0x1d030403, 0x1005091d, 0x04800104, 0x04d00490, 0xffb80403, 0x061840c0, 0x1004480a, 0x0f400404, + 0x2f401f40, 0x9f408f40, 0x0640df40, 0xb8090807, 0x3140f0ff, 0x235f0709, 0x0e0a201d, 0x030a1d48, 0x0135193c, 0x10128c35, 0x128f013c, 0x600212ef, + 0x31100112, 0x23023120, 0x3131123c, 0x04233c12, 0x04092904, 0x333f0012, 0x3917122f, 0x2000822f, 0x2800825d, 0x115de110, 0x2b333333, 0xc26f1810, + 0x3912260e, 0x5d332f3d, 0x2802835d, 0xe15d2f18, 0x39391211, 0x3a03835d, 0x715d2f33, 0x2f3311e1, 0xed2f3333, 0x0130315d, 0x01070614, 0x03210323, + 0x62260123, 0x1e2c0653, 0x2e030302, 0x030e2703, 0x3e130307, 0x0807ce79, 0x26341326, 0x15062223, 0x33171614, 0x50033632, 0xfc01333c, 0xd3fd9abe, + 0xf801bc9c, 0x3b203a33, 0x54313252, 0x940c233e, 0x0a057018, 0x30158523, 0x08ff792f, 0x3fbc7008, 0x333f3132, 0x3f320c31, 0x60469c05, 0x0123fb19, + 0x0479fe87, 0x466019db, 0x1d384f33, 0xfc4f371d, 0x107d015f, 0x1c3b362e, 0x2e363c1c, 0x0483fe0f, 0x413d188b, 0x16101c40, 0x16424741, 0x3c34f6fe, + 0x3b33343c, 0x05003c03, 0xecff5e00, 0xaa079c03, 0x31000d00, 0x54004000, 0x9c006000, 0x83552340, 0x411f410f, 0x4103412f, 0x4b835b41, 0x824b0d06, + 0x1a500801, 0x47370f1e, 0x3f625531, 0x483e0162, 0xffb8281a, 0x0d3a40d0, 0x10284811, 0x28480c09, 0x61561a28, 0x50508c58, 0x700d600d, 0x0d0d030d, + 0x5e055050, 0x5046408c, 0x46460246, 0x2b502427, 0x1e1e5238, 0x5032102b, 0x0e16150f, 0x01050f15, 0x5d2f0005, 0x0a8d5e18, 0x5d2f3326, 0x2f3911e1, + 0x10210682, 0x059c69e1, 0x2b059d69, 0x113232e1, 0x2f2f3939, 0xe110cd10, 0xe1231c82, 0x41013031, 0x01200842, 0x29af5e18, 0x18140121, 0x200d3a55, + 0x077d4107, 0x36323324, 0x5841c701, 0x23522508, 0x25520178, 0x27d95e18, 0x2386013c, 0x3231543d, 0x21213b52, 0x3032523b, 0x75233e54, 0x3f32313f, + 0x3f313839, 0x6d41b806, 0x5cf9220a, 0x035f1898, 0x08052929, 0x1d385133, 0x334f381d, 0x2406c841, 0x3c3c3534, 0x2d038235, 0xfeffffff, 0x56060000, + 0x26027307, 0xab458800, 0x25022105, 0x2905934c, 0x02260520, 0xb44801b8, 0x1f5b1a14, 0xff5e260c, 0x064406ec, 0x202f8221, 0x212f85a8, 0x53457501, + 0x5d032905, 0x71032611, 0x1c005751, 0x220a9546, 0x72b4ff7d, 0x9a20060b, 0x02202d86, 0x28055345, 0x26053e03, 0x38325803, 0x0b235611, 0xb4ff7324, + 0x5b842f04, 0x0946ba20, 0x05416705, 0x823a0321, 0x2e4c2359, 0xbd4c0d34, 0xfe68220b, 0x0a374c3b, 0x39020622, 0x2107674b, 0xe74cb4da, 0xffff2307, + 0x25825a00, 0x8209354c, 0x4bbb2025, 0xe12106b5, 0x08e14cb4, 0x01016b08, 0x03d90402, 0x0021069a, 0x40250014, 0x040e0f11, 0x08c00004, 0x00800e04, + 0x085f080f, 0x2f000802, 0xcc1a335d, 0x1a2f0132, 0x2f3d39cc, 0x30313333, 0x26262301, 0x07060627, 0x033e3523, 0x031e3337, 0x799a0317, 0x36346c33, + 0x1a79336a, 0x103b4344, 0x433b10c0, 0xd9041945, 0x37376122, 0x1d1b2261, 0x2251514c, 0x4c515122, 0x6b8e001d, 0x10050630, 0x0bc00010, 0x10800d13, + 0x065f060f, 0x6b840602, 0x6b8ccd20, 0x07030e33, 0x27032e23, 0x16163335, 0x37363617, 0x199a0333, 0x2b638645, 0x33791a44, 0x6c34366a, 0x06067933, + 0x50236482, 0x82502323, 0x221b2664, 0x61383861, 0x206b8222, 0x32d7821b, 0x006f055a, 0x40150003, 0x0000010a, 0x5f030f8f, 0x82030203, 0x7ee12064, + 0x212b0508, 0x1b012115, 0xc1fd3f02, 0x82966f05, 0x8221202f, 0x057b2d2f, 0x001500ee, 0x151c402f, 0x0100ff83, 0x83339c82, 0x0a7f000a, 0x0a9f0a8f, + 0x10800a03, 0x5f050f8f, 0x83050205, 0xcd1a2241, 0x27a7825d, 0x5ddc1ae1, 0x013031e1, 0x0805ba6c, 0x1e332731, 0x3e323303, 0x7b033702, 0x6d4d2c04, + 0x496d4947, 0x046c0327, 0x2c43301c, 0x22334124, 0x3dee0504, 0x27294a65, 0x2b3f6649, 0x09071932, 0x8228311b, 0x05a03c62, 0x05750100, 0x000d00e5, + 0x0810401c, 0x91030087, 0x0bcf0b9f, 0x30030bef, 0x820b010b, 0xe55d2369, 0x62822f01, 0x46181320, 0xa0200bcc, 0x09505b18, 0x3c73052f, 0x2b1c0d36, + 0x38393a1e, 0x01020000, 0x08c3826d, 0x87063131, 0x1f001300, 0x2d404000, 0x000f8314, 0x004f003f, 0x0004005f, 0x0a30831a, 0x8c170a01, 0x0f1f0f0f, + 0x0f4f0f3f, 0x0faf0f5f, 0x06070fff, 0x898c1d0f, 0x5ed428d6, 0x2f01e15d, 0x84d4e15d, 0x1ae243d6, 0x43310321, 0x202106a9, 0x0fa94320, 0x43b20521, + 0xed82166f, 0x42fe1f39, 0x00005e01, 0x16001400, 0x80060940, 0x120d8400, 0x000a8e03, 0x822fe12f, 0x1a3908e5, 0x173031cc, 0x32331614, 0x06153736, + 0x26222306, 0x023e3435, 0xb4063337, 0x2d192234, 0x1d401a0e, 0x2f1e6464, 0x8b811a38, 0x052b2dee, 0x08087104, 0x4b2a5a68, 0x85133440, 0x06594200, + 0x05d12808, 0x001b00e3, 0x0f234038, 0x02172f17, 0x20090017, 0x09070209, 0x0e8f0516, 0x48131040, 0x0b07400e, 0x130e0e48, 0x820f098f, 0x2f003489, + 0x33e1325d, 0xe12b2b2f, 0x5e2f0133, 0x315dcc5d, 0x51220130, 0x232005c2, 0x83051367, 0x0e333b87, 0x28fe0203, 0x20464c4f, 0x680e302d, 0x4a352105, + 0x4c512a2e, 0x2e2d1d45, 0x0d83690f, 0xdb042008, 0x35232b23, 0x45623c3e, 0x232a2325, 0x613c3e34, 0x00002645, 0x04df0002, 0x06be03d9, 0x820d0021, + 0x402d2d8f, 0x0e0e1419, 0x00504007, 0x4f003f01, 0x13241c82, 0x1b809205, 0x08964018, 0xed1a332e, 0x5d2f0132, 0x39cd1a5d, 0x3031cd2f, 0x2009cf46, + 0x08964525, 0x2f16df30, 0xc7102a2f, 0x514d3f10, 0x6b016523, 0x0d823015, 0x0d84c620, 0x40186420, 0x6b430cb5, 0xc1401805, 0xf8012108, 0x04208582, + 0x272c8584, 0x10051640, 0x0548110c, 0x000c4006, 0x8182fd82, 0x1a218088, 0x247e82ed, 0x32cd1a33, 0x0c0a462b, 0x0af82308, 0x04101314, 0x2d2106c7, + 0x046c1834, 0x514d1ef4, 0x18152150, 0x2056574e, 0x14010300, 0x89030c05, 0xdf84b406, 0x6600292b, 0x841c1940, 0x241f240f, 0x37048302, 0x240324cf, + 0x480c0940, 0x160d2424, 0xffb80e84, 0x092740c0, 0x0e0e480d, 0x0c3b8086, 0x0c92050d, 0x91111f0c, 0x0119ff27, 0x19b01960, 0x0f0319d0, 0x02191f19, + 0x4f001906, 0xe5230561, 0x822f3932, 0x82332093, 0x2f332491, 0x8211e12b, 0x715d2104, 0x200ca746, 0x0b0d4327, 0x0de74918, 0x190bfe39, 0xcf081618, + 0x3d383012, 0x38ea5220, 0x1a231329, 0x29263a10, 0x18b50138, 0x320af649, 0x4f4b1e87, 0x20142451, 0x2551504d, 0x0c303606, 0x181b2619, 0x250c044a, + 0xe9ffffff, 0xad670000, 0xfd54350c, 0x0097fff1, 0x1a02b618, 0x22300203, 0xe9ffb801, 0x042222b4, 0x18082b5b, 0x82732141, 0x82e720a5, 0x054d30a5, + 0x002700b8, 0x008f0028, 0x01070100, 0x82effd54, 0x2e2a08a7, 0x031101b4, 0xffb81201, 0x0f08b2c0, 0x9dffb848, 0x12120f40, 0x00250202, 0xbf1b6700, + 0x1b0f011b, 0x5d5d0101, 0x0134fe10, 0xe95b2b2b, 0x82ff2005, 0x50052149, 0x26234982, 0x897b2b00, 0x8a312047, 0x82112047, 0x40b12647, 0x06121212, + 0x29478206, 0x011b6f65, 0x10011b2f, 0x0482011b, 0x5d5d5d24, 0x4a8534fe, 0x95850020, 0x84600321, 0x002c2295, 0x22958afc, 0x83164066, 0x12c03696, + 0x0112a001, 0x20011230, 0x12100112, 0x01120001, 0x40a5ffb8, 0x3c58852f, 0xd00100f0, 0x00c00100, 0x0100af01, 0x60010070, 0x00500100, 0x01004001, + 0x0001003f, 0x286c8220, 0x48070740, 0x0907401b, 0x21ba8248, 0x7882115d, 0x35200285, 0x5c059e59, 0xff2c06b7, 0x05ecffe7, 0x00cd05c3, 0x52320026, + 0x2408cd89, 0x02304047, 0xa002032d, 0x2e80012e, 0x012e7001, 0x20012e50, 0x2e10012e, 0x012e0001, 0x0a2e2e24, 0x0001250a, 0x2a708450, 0x37bf6700, + 0x01370f01, 0x82100137, 0x5d5d23da, 0x5f863434, 0xe3866084, 0x84540521, 0x013c22e3, 0x2fe38a1d, 0x0e01b44b, 0xb80f0103, 0x16b6c0ff, 0x0fa04817, + 0x25080a84, 0x481109b2, 0x40d6ffb8, 0x070f0f1c, 0xc0002507, 0x05b00105, 0x01057f01, 0x05010520, 0x2f01183f, 0x180f0118, 0xc9820101, 0x3528d084, + 0x2b5d2b2b, 0x353f0035, 0x06216786, 0x22c98300, 0x895a7601, 0x403539c9, 0x03350123, 0x01362001, 0x00013610, 0x36160136, 0x25131336, 0x011d5000, + 0x1d280282, 0x013fbf67, 0x3f013f0f, 0xbb83bc87, 0xe42a4f87, 0x7702ecff, 0x2602b406, 0xb5848601, 0xd0fe5535, 0x18000000, 0x02030f40, 0x0124c001, + 0x20012440, 0x6a153a24, 0x35230687, 0x82ffff35, 0x0509431d, 0x24000623, 0x07715600, 0xb6058726, 0x25000602, 0x3c081b82, 0x00c70001, 0x05be0300, + 0x000500b6, 0xc40a4043, 0x0200f400, 0x020100b0, 0xc0ffb800, 0x13081f40, 0x07000048, 0x072f070f, 0x076f074f, 0x11400704, 0x5a034818, 0x02066404, + 0x0303055f, 0x07f84d12, 0x115d2b3a, 0x5f2b2f33, 0x30315d5d, 0x11211501, 0xbe031123, 0x05bac3fd, 0xf0faa6b6, 0x00215882, 0x21698302, 0x63846804, + 0x58000e30, 0x04051140, 0x0b020606, 0x7001605b, 0x6f18b001, 0x2608080c, 0x480a0627, 0x2f100101, 0x6f105f10, 0x9f107f10, 0x0610bf10, 0x09064010, + 0x025b0a48, 0x110a2006, 0x03040648, 0x82025f0a, 0x3fe12674, 0x2f012b33, 0x227585e1, 0x4812e15d, 0x2e0806d8, 0x35211525, 0x06073301, 0x21030706, + 0x04262603, 0x01bdfb68, 0x115ebbc2, 0x02fe1d2a, 0x2e1ffcae, 0x05857d7d, 0xa84acd31, 0x020afd5b, 0x41a861f0, 0xfb83060b, 0x00060224, 0x0f830028, + 0x00005226, 0xb605fe03, 0x3d200f82, 0x20082b41, 0x210f84d5, 0x1a82002b, 0x2205c35a, 0x7000cd05, 0x2208056b, 0x00344053, 0x0e010001, 0x67045b22, + 0x012dd02d, 0x80012dcf, 0x2d3f012d, 0x18022d6f, 0x2c660e5b, 0x7d0f6003, 0x042b0614, 0x1d000008, 0x04135f27, 0x18095f1d, 0x27084379, 0x01e15d5e, + 0x5de1f610, 0x06820082, 0x3939122b, 0x30312f2f, 0x21152101, 0x055c7a25, 0x597a2620, 0x18162009, 0x2b10668a, 0x1602ec01, 0x8503eafd, 0x9beda051, + 0x1d6b7318, 0xa1390326, 0xeafea945, 0x1fd07418, 0x84074963, 0x882c20ed, 0x84a220fd, 0x822e200f, 0x820120fd, 0x04003a03, 0x00b6058b, 0x405f000c, + 0xef0e2f1c, 0x030eff0e, 0x1512400e, 0x0d400e48, 0x08048210, 0x4809064c, 0x05050b0c, 0xffb80a09, 0x0a2240f0, 0x4f002f01, 0x9f005f00, 0xcf00af00, + 0x0700ef00, 0x00010010, 0x20050010, 0x05480e0a, 0x000a030b, 0x323f0012, 0x012b333f, 0x5d5d382f, 0x33382f32, 0x332f3d39, 0x2b2b2b33, 0x2130315d, + 0xa44a0123, 0x23013e05, 0x8b043301, 0x1fdbfec6, 0x2a110f2e, 0xc5d9fe1d, 0x03bbe701, 0x4ba8619a, 0xfc5ba84b, 0x278c8260, 0xc700ffff, 0x2f060000, + 0x3020a784, 0x0521b787, 0x200f840e, 0x26b38231, 0x00520003, 0x82ee0300, 0x00032e2a, 0x000b0007, 0x143e4063, 0x011b0100, 0x088e8201, 0x060b0124, + 0x01080006, 0x3f0108c0, 0x0d080108, 0x0d6f0d4f, 0x010d3002, 0x0b700707, 0x4f020b80, 0x030b010b, 0xbf820f5f, 0x0008022d, 0x5f0b0400, 0x5f07120a, + 0x7e000304, 0x6b4906cf, 0x335d2f05, 0x105d5d2f, 0x715d5dce, 0x39112f32, 0x0d822f39, 0x13303126, 0x03211521, 0x013c0382, 0xcd352115, 0x5afda602, + 0xfc4a0352, 0xfc7303b6, 0xa24e0364, 0xfba40a03, 0x00a4a492, 0x2507135d, 0x0602cd05, 0xa9823200, 0xc9830120, 0x82c10421, 0x072008a9, 0x1e403100, + 0x65005a01, 0x0109b009, 0x099f096f, 0x100309af, 0x5a040109, 0x03086405, 0x0503065f, 0x42053c41, 0x1025073f, 0x3031e1f6, 0x05536721, 0xc104212b, + 0xba7bfdbb, 0x1205fa03, 0x41f483fa, 0x0423051f, 0x82b60533, 0x84332065, 0x824e2065, 0x821220cc, 0x0b3a0865, 0x0d405a00, 0x20065b08, 0x02481714, + 0x01060206, 0xc0ffb80a, 0x15062640, 0x0d0a0a48, 0x0d2f0d0f, 0x0d8f0d6f, 0x09070604, 0x012f035b, 0x0102013f, 0x09020208, 0x03045f07, 0x7f835f09, + 0x433fe121, 0x0124057a, 0x335d2f18, 0x2606a163, 0x3939122b, 0x822b2f2f, 0x3324088e, 0x35010135, 0x01211521, 0x4e152101, 0x6efe9e01, 0x58fd7d03, + 0x67fe8501, 0x0298f702, 0x93250266, 0xfdeefda4, 0x20050541, 0x828f8514, 0x0037229f, 0x06b14400, 0xaf843720, 0xaf823c20, 0x00035b08, 0x05ecff68, + 0x00cb05ba, 0x002e0021, 0x4081003b, 0x67022250, 0x5a110111, 0x129a213b, 0x01128701, 0x1201127a, 0x5b281b12, 0x2f3d6708, 0x3d00013d, 0x013dd001, + 0x3dbf3daf, 0x013d9002, 0x30013d5f, 0x3d0f013d, 0x06023d1f, 0x661b5b35, 0x603b223c, 0x2e131013, 0x0221602f, 0x01821321, 0x00131126, 0x3f3f0004, + 0x1124b683, 0x32e11033, 0x01240484, 0x5ee1f610, 0x21059946, 0x0b827171, 0x2f391122, 0x33280d82, 0x325de133, 0x01303132, 0x35052a7c, 0x040e1415, + 0x23152323, 0x2e222335, 0x3e343504, 0x13333302, 0x747b3233, 0x032b2705, 0x15020e22, 0x13821e14, 0xb4025c08, 0xc28649bb, 0x34183c7e, 0x659f7854, + 0x652fbb2f, 0x3554789f, 0xc27e3d18, 0x1abb4a85, 0x2e5b8b5d, 0x577f5329, 0x5739bb39, 0x2e28547f, 0x1a5d8b5b, 0x5eb4cb05, 0x3d66c499, 0x526e7b81, + 0x30e1e130, 0x817b6e52, 0x99c4663d, 0x3b53fc5e, 0x4e589469, 0x3c3c688b, 0x584e8b68, 0x413b6994, 0x6408062d, 0x02b60560, 0x003b0006, 0x00010000, + 0x05000068, 0x00b605ba, 0x40700025, 0x09671f47, 0x1c5a0901, 0x87010a9a, 0x0a7a010a, 0x130a0a01, 0x67005b23, 0x01272f27, 0xd0012700, 0x27af0127, + 0x900227bf, 0x275f0127, 0x01273001, 0x271f270f, 0x5b160602, 0x1f266613, 0x0b08601c, 0x1d24090b, 0x12090314, 0x333f3f00, 0x069f5833, 0x2b151a41, + 0x31325de1, 0x0e140130, 0x11232304, 0x222b0182, 0x1135042e, 0x1e141133, 0x82333302, 0x32332207, 0x210e8236, 0x0341ba05, 0x84c1200e, 0xbb2608ee, + 0xc0b7ba1a, 0x7f3dd703, 0x2e4e6a77, 0xbe0142fe, 0x77684e2d, 0xe3013d7e, 0x8d5821fe, 0x5a033462, 0xb1c6a6fc, 0xdb83e301, 0xdb824e20, 0x05a64908, + 0x002f00cd, 0x0e51407c, 0x5b220b5b, 0x300b2025, 0x0b04020b, 0x3f252f01, 0xef25df25, 0x250b0425, 0x250b0701, 0x2b13250b, 0x1623065b, 0x1d230223, + 0x31d03167, 0x0131cf01, 0x3f013180, 0x02316f31, 0x0d190d09, 0x050d0802, 0x302be682, 0x04185f00, 0x0d0a2226, 0x820c255f, 0xe13324e5, 0x54323232, + 0x332005cc, 0x2905ff41, 0x5d32f610, 0x393911e1, 0x0f842f2f, 0x18e11021, 0x2a0be753, 0x35211517, 0x35032e21, 0x18023e34, 0x20086985, 0x20138221, + 0x0812823e, 0x02022e58, 0x6aa472fa, 0x83512332, 0x01b0fd5f, 0x506f4062, 0xeca0512e, 0xa0eb9b9a, 0x6e502e51, 0xfd620141, 0x51835fb0, 0xa46a3223, + 0x81442905, 0xbb6475ba, 0x934197ab, 0xa88730a4, 0xf4966fc7, 0xac5e5eac, 0xc76f96f4, 0xa43087a8, 0xab974193, 0xba7564bb, 0xff004481, 0x431800ff, + 0x03572ec9, 0x71200834, 0x9104ecff, 0x26022106, 0x00007e01, 0x54010601, 0x13000019, 0x4a020b40, 0x16022611, 0x2f16443e, 0x240a2551, 0x03ecff5a, + 0x202b845c, 0x202b8582, 0x292b84ca, 0x26114601, 0x403a6d01, 0x2b8a2d18, 0x14feae22, 0x21059164, 0x2b858401, 0x2b854420, 0x2b822520, 0x91646220, + 0xffa4240e, 0x847702ec, 0x05e94857, 0xcefe5422, 0x20053f5e, 0x262c8222, 0xb4fdffb8, 0x51152216, 0x2f820b53, 0x063d0423, 0x20b382b4, 0x305b8492, + 0x00001055, 0x0203b212, 0xeeffb801, 0x05422cb4, 0x2487831b, 0x02003535, 0x08dd8400, 0x005e0429, 0x003d0010, 0x381e4038, 0x2f47051e, 0x3f103f28, + 0x16480e01, 0x0f223e56, 0x1b500b1e, 0x2c2f380f, 0x11335000, 0x423f0016, 0x33200614, 0x24066971, 0x32e132d4, 0x1f671832, 0x17162a1a, 0x37363633, + 0x15030e33, 0x0a0c4f11, 0x27022e25, 0x18030e23, 0x08122a67, 0xa2713d2f, 0x31907064, 0x19210a0c, 0x0d130b8f, 0x0e223208, 0x410f0825, 0x323f2622, + 0x160c0c24, 0x83604d3b, 0x6898622f, 0x6b9d650f, 0xd1ccda37, 0x366718cd, 0x55533a08, 0x211f5223, 0x377e7968, 0x333c5dfe, 0x09850307, 0x40271011, + 0x2e3d2230, 0x065d761a, 0x1f067524, 0xe3821b00, 0x40594308, 0x05483934, 0x331f0508, 0x3302332f, 0x15053305, 0x570c472c, 0x303f203f, 0x1522023f, + 0x3e541647, 0x32081b15, 0x01330f50, 0x00333308, 0x11502722, 0x00501c16, 0xe13f0001, 0x1132e13f, 0x5d5e2f39, 0xfc8439e1, 0x34062b6d, 0x5d2f2f39, + 0xe1103912, 0x32013031, 0x1415021e, 0x16150706, 0x05827616, 0x1127262d, 0x3e341123, 0x0e221702, 0x51111502, 0x3525054f, 0x23022e34, 0x29911823, + 0x02660808, 0x76a36077, 0xb08f9843, 0xad783fb9, 0x3ca4606d, 0xa87945b6, 0x4b643863, 0x524e202c, 0x6f502452, 0x60351f46, 0x4d664f84, 0x254e7752, + 0x065f4426, 0x9462311f, 0x17ad9562, 0xbaca1506, 0x376da26c, 0xe9fd1f20, 0xb27b3406, 0x1f963773, 0xfc607f4c, 0x151e1292, 0x6f4d280b, 0x4d755047, + 0x49289825, 0x5e3f3d66, 0x62181f3e, 0x34080a7f, 0x4063001b, 0x12401d16, 0x1d504815, 0x2f1d0f01, 0x031d4f1d, 0x01051a07, 0xb8064805, 0x1540f0ff, + 0x000b0606, 0x1a0c1313, 0x1b201b00, 0x08031b40, 0x0d1b101b, 0x3a19830c, 0x0c1a0c0a, 0x0b00130f, 0x001b0515, 0x33333f3f, 0x2f01333f, 0x382f3338, + 0x4a335d5e, 0x33300574, 0xe1382f18, 0x5d5d5e5d, 0x2530312b, 0x2315030e, 0x3720fa82, 0x0ba96518, 0x60023708, 0x0c182216, 0x251b0fbe, 0xbd60fe15, + 0x1a1e0ed9, 0x05060414, 0x0b1b1914, 0x3e12bcc7, 0x347e8688, 0x8d89792a, 0xfd3e043f, 0x5a5d28ba, 0x521a1b50, 0x02215a5d, 0x0b7d004c, 0x1f440808, + 0x44003200, 0x2e405100, 0x3800461a, 0x332e0505, 0x57240f48, 0xd0464046, 0x0346e046, 0x0601460f, 0x562e483d, 0x42240045, 0x38380a1a, 0x2950420a, + 0x10501516, 0x3f00010a, 0xe13fe133, 0x122f3911, 0x33391239, 0x2206ce46, 0x8332f610, 0x39392512, 0x013031e1, 0x2209b644, 0x182e0717, 0x2108aa83, + 0x8f181e17, 0x01240c17, 0x27022e34, 0x084b4c18, 0x1402c208, 0x25435d38, 0x4a7d5c33, 0x51607144, 0x49204a23, 0x2a335b51, 0x1b12273c, 0x5547623c, + 0x45315c86, 0x676db27f, 0x43477fae, 0xb4019972, 0x3552391e, 0x44687e3a, 0x43694926, 0xaa03998e, 0x62564b20, 0x46694839, 0x271f1422, 0x26149113, + 0x2517121e, 0x3e251b32, 0x3129413d, 0x58937e6c, 0x4383c17f, 0x6eaa753d, 0x537aa36a, 0x6f4551fe, 0x101f4959, 0x6791623a, 0x2d516f42, 0x000100b4, + 0x03ecff5a, 0x005e045c, 0x40590039, 0x01231d37, 0x2d101801, 0x3ba03b57, 0x3bc03bb0, 0x5f3b3f03, 0x3b10023b, 0x23463401, 0x18470523, 0x021e3a56, + 0x0139bf50, 0x39893979, 0x0a393902, 0x10285031, 0x1613500a, 0x062e5a00, 0xe15d5d2d, 0xf6100139, 0xe12f33e1, 0x655d5d5d, 0x122c0527, 0x01303139, + 0x06222315, 0x021e1415, 0x09018a18, 0x35022e27, 0x37023e34, 0x0b2f4135, 0xa9582620, 0x08268205, 0x819c025f, 0x4629858a, 0x5c333760, 0x3b1f4751, + 0xa6716d9e, 0x3f26356c, 0x462b2c52, 0x693a1c33, 0x5a355690, 0x3f284d52, 0x6c47814b, 0x64482773, 0x9987023d, 0x45335e5b, 0x180f122a, 0x22a0101f, + 0x75563129, 0x3e583e43, 0x0e0b0f29, 0x32503e2b, 0x264a6d46, 0x141c1309, 0x4d262293, 0x27402d4d, 0x08f78212, 0x6ffe712b, 0x14066a03, 0x39003300, + 0x032e1f40, 0x1a461f03, 0x14011420, 0xc0351035, 0x480a0235, 0x29000029, 0x2e193456, 0x01500003, 0x23df8200, 0x012f3232, 0x2f27d082, 0x105de110, + 0x82325dd6, 0x7c3320e2, 0x0e2105b4, 0x23441805, 0x2307210a, 0x2005a346, 0x08d68327, 0x36361266, 0x06070637, 0x02ae2306, 0x7eb880b6, 0x2d0d284c, + 0x474b7854, 0x15193a5f, 0xaa162b22, 0x14222b18, 0x4d5b300e, 0x2e5c8759, 0x6cc99a5c, 0x60282f2b, 0x997b052f, 0xb3cd768d, 0x306f859a, 0x23406c59, + 0x3b2e0f11, 0x582d2a48, 0x201f4b52, 0x1d434848, 0x1f222514, 0x6c42110f, 0x01946698, 0x6cd9e801, 0x04020303, 0x08935318, 0x18005e28, 0x1d403100, + 0x6e184700, 0x0e2c0f69, 0x10145004, 0x150b0f0c, 0x3f001b00, 0x220daf68, 0x18013031, 0x290b9671, 0x033e3317, 0x15163233, 0x71180311, 0x93680795, + 0x14fe2309, 0x8668af04, 0x47fb2210, 0x05896600, 0x17042108, 0x13002b06, 0x27001e00, 0x3a405b00, 0x00471925, 0x290f2957, 0x0129d001, 0x299f297f, + 0x01294002, 0x21080d82, 0x471a2406, 0x1a28560a, 0x0124cb50, 0x890124ba, 0x02249924, 0x0801240f, 0x1f142424, 0x14010f50, 0x4a420550, 0x5d5e2108, + 0xe1210082, 0x05a36e01, 0x71200a82, 0x073b5418, 0x67060221, 0x98080c6e, 0x01121616, 0x37023e32, 0x13031e21, 0x07020e22, 0x04020221, 0xb3703417, + 0x74af767e, 0xb16f3338, 0x75b0767e, 0x492bfe3a, 0x03234568, 0x2102cbfd, 0x474a6844, 0x05234466, 0x84093302, 0xfebc0c03, 0x6d6dced7, 0xbc2901ce, + 0xce2901bc, 0xfecd6b6c, 0x4ab9fcd7, 0x9395df94, 0x054b95df, 0xcd894510, 0x01110189, 0x01000013, 0xecffa400, 0x48047702, 0x35001500, 0x09302340, + 0x17090901, 0x17101700, 0x17601720, 0x17901770, 0x17d017c0, 0x47010808, 0x04165414, 0x00160f50, 0x07c44f0f, 0x115d5e24, 0x345d2f33, 0x42162005, + 0x165705fe, 0x11353905, 0x483f5a01, 0x242a2d12, 0x30290d09, 0x6a3e1834, 0x48042c4d, 0x6261fcfc, 0x0ca86b18, 0xff040330, 0x00ae00ff, 0x04f00300, + 0x0006024a, 0x8b8200fa, 0xfff2ff36, 0x061704ec, 0x002e0021, 0x222a4068, 0x121a1515, 0x0a290112, 0x30080182, 0x011a5000, 0x1a441a34, 0x101a0002, + 0x031a201a, 0x60301a1a, 0x02309030, 0x0601300f, 0xffb8002e, 0x000f40f0, 0x0129152e, 0x50170e01, 0x5007161e, 0x058d460e, 0x2f391124, 0x6a183f33, + 0x2608092e, 0x125d5d5d, 0x2f3d3939, 0x33112f18, 0x39121133, 0x30313311, 0x2e270123, 0x06222303, 0x36363507, 0x021e3233, 0x82160117, 0x069256ce, + 0x022e6308, 0x032e0327, 0x06062327, 0x010e0307, 0x1f0d35b8, 0x222b3d2b, 0x421a1432, 0x4f694a23, 0x48011f3f, 0x0e262e12, 0x37170826, 0x2f3b2725, + 0x0b870f25, 0x05161b1d, 0x1f350d06, 0xa03304e5, 0x1b314329, 0x07910507, 0x87592a0a, 0x3636fc5d, 0x85030739, 0x28110e0c, 0xa2012e40, 0x57615e21, + 0x4faa4d19, 0xf782c1fd, 0x0a7b5618, 0x26403f25, 0x18090c0d, 0x2b0f7c56, 0x1b471a00, 0x1b1a1e54, 0x50030d14, 0x0c7f5618, 0x65483320, 0x32322b05, + 0xe1f6105d, 0x30313232, 0x56181401, 0x3a084f83, 0x03000000, 0x004a04cf, 0x403b0014, 0x07131416, 0x470d0007, 0x1016570e, 0x16b00116, 0x01160f01, + 0xb8000106, 0x00b6f0ff, 0x0d151407, 0x3f000f00, 0x01333f32, 0x5e32382f, 0x82715d5d, 0x05f74693, 0x30313c08, 0x1e133311, 0x3e331703, 0x33351202, + 0x06020214, 0xc9bc2307, 0x191e1f0c, 0x725a0605, 0x25b61942, 0xc0759a5c, 0xb0fd4a04, 0x5c676321, 0xe7cd6019, 0xa3970501, 0xf5fee0fe, 0x44007ffd, + 0x46320ad3, 0x4e407e00, 0x113b3b32, 0x4641012a, 0x242d2d38, 0xc765001c, 0x084b0805, 0x461c0101, 0x11011120, 0x5f483f48, 0xef487f48, 0x48100448, + 0x24480701, 0x323c4756, 0x2a395038, 0x591c4900, 0x031c691c, 0x07011c38, 0x16031c24, 0x00004f01, 0x16003916, 0x3f3f00fa, 0xe12f3912, 0x5d391711, + 0x1039115d, 0x513232e1, 0x10280564, 0xc0f15dd6, 0x115d5e2f, 0x33271d82, 0x113912e1, 0x45332f33, 0xa84d05f0, 0x06f94605, 0x5e081845, 0x372105ab, + 0x29078635, 0x06060706, 0x21352323, 0xd84d2315, 0x23032607, 0x577f51a2, 0x142a452d, 0xb8b22708, 0x37664e2f, 0x4f2d7265, 0x27223e6b, 0x3e2e5521, + 0x49378102, 0x20477391, 0x03517246, 0x55318977, 0x604e4171, 0x3645223b, 0x22330814, 0x7f4db5c7, 0x0c114363, 0x4875861c, 0x13314966, 0x04020303, + 0x4e268d99, 0x51354e75, 0xff001c37, 0xff7100ff, 0x042d04ec, 0x0006025e, 0x00000052, 0x82190001, 0xc925080f, 0x18004a04, 0x38405800, 0x168f470a, + 0x0e161601, 0x00141403, 0x02031003, 0x2f1a0303, 0xef1a9f1a, 0x0d10031a, 0x08b65147, 0x48151036, 0x1519540e, 0x1250100c, 0x00150e0f, 0x00160750, + 0x3f3fe13f, 0x33052f41, 0x33e15d2b, 0x2f33115d, 0x112f335d, 0x5d2f3912, 0x253031e1, 0x0809d659, 0x1121113c, 0x35231123, 0x23152137, 0x04161411, + 0x0f2f1c50, 0x71304a0f, 0xb66dfe71, 0x270489dd, 0x0d812fd3, 0x11099008, 0xbe028284, 0xb00350fc, 0xfd9a504a, 0x0037464e, 0xa4000200, 0xb78314fe, + 0x001a002f, 0x40390027, 0x00482521, 0x29cf2957, 0x06744501, 0x0f091f30, 0x28541047, 0x1016501b, 0x50221b0f, 0x92820508, 0x93833320, 0xf6100122, + 0x5e209782, 0x21052853, 0xbb5e3031, 0x27262105, 0x4d08636f, 0x0125067f, 0x11070622, 0x06d36b16, 0x2d044508, 0x68a7753f, 0x06368f4b, 0x01020201, + 0xa97841b6, 0x77a36169, 0x893bfe43, 0x8f360382, 0x7d7b8c4b, 0xd5892702, 0x2d2d4c91, 0x61272e2b, 0x04ddfe2e, 0x91d38813, 0xd3914b4b, 0xc8c41801, + 0x3133acfe, 0xcfd1d1d3, 0x0806ab42, 0x5e046f47, 0x51003100, 0x27273640, 0x00104615, 0x200a100a, 0x330a030a, 0x335f333f, 0x33ef337f, 0x01331004, + 0x561f4800, 0x512d2832, 0x28010a37, 0x48153815, 0x0a150315, 0x0f04001f, 0xfa0f1024, 0x123f3f00, 0x5d5d3917, 0x098b42e1, 0x33e13223, 0x18c9832f, + 0x47090864, 0x3e240b91, 0x16323302, 0x25079749, 0x491c2d01, 0x8e47617e, 0x844d3b10, 0x83493762, 0x954e6ab3, 0x38173632, 0x501a3a3c, 0x02224972, + 0x4e796006, 0x8d47162f, 0x410f3213, 0x9a82b476, 0x224995e2, 0x130a9a19, 0x7039090f, 0x060b4da4, 0x04852808, 0x0016004a, 0x40360029, 0x48212421, + 0x57001012, 0x902b102b, 0xb02ba02b, 0x052be02b, 0x560a4817, 0x5025122a, 0x461c0f0f, 0xc68507f6, 0x32f61023, 0x33471832, 0x15212510, 0x05031e21, + 0x08064149, 0x26343559, 0x0e222327, 0x3e2d0402, 0x6b75b47a, 0x4d447daf, 0x0180ce90, 0x25f6fee9, 0xfd1c3041, 0x6e472100, 0x476d4c4d, 0x3b4b4f21, + 0x2b5a8b5f, 0xc06ff801, 0x8a46508d, 0xda9c85cb, 0x299a3e8a, 0x367c6c5d, 0x3b699055, 0x4e866237, 0x2c59d790, 0x0000a163, 0xff120001, 0x826603e5, + 0x1c2508b1, 0x24403a00, 0x1f0d0f01, 0x0d06020d, 0x1e101e57, 0x3b1a2b01, 0x031a021a, 0xe0181047, 0x02180218, 0x0f1c5019, 0x07f44908, 0x2f01322c, + 0x5dc6e15d, 0x5ee6105d, 0xa656325d, 0x08e64905, 0x0807e746, 0x37352135, 0x8cfe6603, 0x243e2d19, 0x24282a12, 0x2e270d0d, 0x75401b35, 0xd7fe3459, + 0x9a4a0486, 0x523ba2fd, 0x06031733, 0x06870407, 0x1d060b0c, 0x0268864d, 0x83504a73, 0xffa42493, 0x823d04ec, 0x1d260893, 0x18402900, 0x571b4710, + 0x601f101f, 0x031f801f, 0x54054708, 0x0f06151e, 0x1600500d, 0x3fe13f00, 0xf6100133, 0x03825de1, 0x05303125, 0x51022e22, 0x59080723, 0x34353632, + 0x3327022e, 0x1015031e, 0x815c0202, 0xb62964aa, 0x46664220, 0x10098d92, 0x0fb60f17, 0xf4081018, 0xbd8c5014, 0xfd58026d, 0x638c56b2, 0x47f7e836, + 0x3d74757d, 0x8177723d, 0xfec1fe4b, 0x000200d3, 0x0514fe71, 0x005e0425, 0x00350025, 0x313c405e, 0x96164725, 0x1882a600, 0x26060037, 0x37571f48, + 0x0f013720, 0x37e00137, 0x7f376f01, 0x03379f37, 0x3b0f8340, 0x0602371f, 0x56064711, 0x0b502b36, 0x1631101a, 0x16012450, 0x3f001b00, 0x32e1333f, + 0x07530382, 0x08055308, 0x31231782, 0x4b110130, 0x3721050d, 0x051b4c17, 0x34111723, 0x08005136, 0x18011121, 0x0808694e, 0x02033ea2, 0x86b76d66, + 0x4e38204b, 0x3f258d2d, 0x5833192d, 0x91a54074, 0x3766925a, 0x68be9056, 0x361e4f01, 0x311b2b49, 0x7b481625, 0x14fe3359, 0x4305da01, 0x5397d589, + 0x377d8a98, 0x72683360, 0x996f477d, 0x02073061, 0x50c1bc5e, 0x957ac990, 0x054a90d9, 0x250426fe, 0x33659462, 0x41573517, 0x3b07a0fd, 0x00009f6b, + 0xfeecff01, 0x04250414, 0x0028004e, 0x681a40a0, 0x021f781f, 0x7709671f, 0x0309c709, 0x1c760609, 0x011c3701, 0x071e1c1c, 0xc0ffb808, 0x16130e40, + 0x01083448, 0x08081008, 0x120112c0, 0x3d081283, 0x480b0619, 0x0f2a1212, 0x4f2a3f2a, 0x042acf2a, 0xc025b006, 0x25250225, 0xffb81e1d, 0x1e1f40f0, + 0x1b1e291e, 0x06270617, 0x281c1802, 0x091c021c, 0x0004061f, 0x1b16500f, 0x50230f07, 0x36450f00, 0x17123505, 0x3f5d5d39, 0x2f330111, 0x2f333338, + 0x115d5e5d, 0x5d2b2f33, 0x5d3b0d82, 0x3912332b, 0x5d5d2f3d, 0x335d3333, 0x1330315d, 0x17021e32, 0x01330113, 0x5f031e13, 0xa508082a, 0x0327022e, + 0x03012301, 0x22232626, 0x36363507, 0x3a492dbc, 0x017b1531, 0x73feb21f, 0x261d0eb2, 0x2e1a2534, 0x28391610, 0x33475f43, 0xb6fe8317, 0xa0c601c2, + 0x2435471b, 0x043e161c, 0x5c3e1f4e, 0x02a8fe3d, 0xfef8fc4a, 0x33422620, 0x8d03051d, 0x46260b06, 0x6a014166, 0x3e0383fd, 0x594fbe01, 0x0a078f0a, + 0x00010000, 0x0514fea4, 0x00120671, 0x404c0027, 0x4717012f, 0x1e181826, 0x57114706, 0x40293029, 0xb0299029, 0x0529c029, 0x291f290f, 0x47210602, + 0x0b28541e, 0x26010f1f, 0x16191650, 0x00001b17, 0x15423f00, 0x084d4e06, 0x3911e123, 0x060f422f, 0x20064d4c, 0x053e4e33, 0x23110725, 0x42032e11, + 0x4a0806dc, 0x56031117, 0x345f834e, 0x10180f08, 0x101810b6, 0xc4935708, 0xbc6fb26d, 0x36b64c89, 0x0642785a, 0x0973fa12, 0x679c6c3c, 0x837e8047, + 0x7e834849, 0xdc9d447e, 0xfe07458c, 0x04da0126, 0x9ad68841, 0xd9fd1f02, 0x2e619a72, 0x828f0505, 0x713a08c1, 0x9605ecff, 0x3b004a04, 0x48407000, + 0x011d6738, 0x1ad5471d, 0x011ab701, 0x9a011aa9, 0x1a03011a, 0x4825051a, 0x043d5730, 0x023d143d, 0x3df43dc4, 0x9b3d7b02, 0x3d40023d, 0x07560201, + 0x48103a08, 0x1b3c5605, 0x0f0a2a1b, 0x39501520, 0x00160035, 0xe132323f, 0x39333f32, 0x20db862f, 0x06c84b5f, 0x5f21e082, 0x2200825d, 0x43395de1, + 0x342406b0, 0x3337023e, 0x2205f542, 0x433e3233, 0xa14905c0, 0x07c04305, 0x0e142708, 0x26222302, 0x06062327, 0x8c5ae901, 0x1f0f3260, 0x20ba202f, + 0x1d0f1f2f, 0x2e2d4b36, 0xb2162c44, 0x4b2d5163, 0x17831d36, 0x1783bb20, 0x60324708, 0x8b6b5a8d, 0x8b1f0a1f, 0xcb925214, 0x878f5179, 0x86494887, + 0x62528e87, 0x29346596, 0x01396248, 0x81cefe32, 0x9665348b, 0x878e5262, 0x87484986, 0x79518f87, 0x575292cb, 0x00575b5b, 0x1500ffff, 0x7702ecff, + 0x135cd905, 0x6a003b07, 0x0000e2fe, 0x0d401700, 0x111f0102, 0x32010226, 0x00142a16, 0x352b0125, 0x03830035, 0xa4243182, 0x3d04ecff, 0x92263184, + 0x06010000, 0x2f826a00, 0x02b61924, 0x2e832701, 0xdeffb825, 0x53321eb4, 0x3187062f, 0x280fd574, 0x00000e54, 0x020b4013, 0x2131822c, 0x4c18203d, + 0x5d840d1f, 0x82210621, 0x225d848f, 0x84105401, 0x2a01272b, 0x1d012611, 0x5985241e, 0xc9485882, 0x96052106, 0x96202b84, 0x07248982, 0xc3005401, + 0x21248b82, 0x48010940, 0x60302d82, 0xb83c013c, 0x0940c0ff, 0x3d480b09, 0x3005423c, 0x2b21c582, 0x6d46185d, 0x00c72507, 0x07be0300, 0x28915918, + 0x01006908, 0xecff1400, 0xb6050605, 0x85002500, 0x04045a40, 0x0f5a0c13, 0x21df0121, 0x210221ff, 0x270f2755, 0x277f276f, 0xf41a0603, 0x18a00118, + 0x740218b0, 0x18180118, 0x00135a12, 0x40153015, 0xc0155015, 0x15150515, 0x670113b0, 0x02137713, 0x3f01135e, 0x02134f13, 0x13011300, 0x1a1a5f11, + 0x5f151907, 0x12130316, 0x13005f07, 0x27051244, 0x2f391232, 0x5d2f01e1, 0x33250083, 0xe1105d2f, 0x270b8332, 0x105d5e32, 0xe1715df6, 0x31271c82, + 0x26220530, 0x42163527, 0x3526053f, 0x21232634, 0x8b702311, 0x32470807, 0x1515021e, 0x03020e14, 0x19462f9e, 0x2027441d, 0x69213340, 0xbbbbfe7b, + 0xb103acfe, 0x5a015efe, 0x3565925d, 0x14845f35, 0x09a00b0d, 0x5733130c, 0x74738545, 0x120523fd, 0x6ffea4a4, 0x598b5e31, 0x659a6989, 0x5dffff31, + 0x072505df, 0x01260273, 0x05c56661, 0x66330021, 0x012905c5, 0x01260512, 0x040c063e, 0x57551800, 0x014a0808, 0xecff7d00, 0xcb059804, 0x5f002600, + 0x40111340, 0x07481813, 0x1b110711, 0x700123ca, 0x02238023, 0xc0ffb823, 0x0a072440, 0x28232348, 0x050128bf, 0x661b5b08, 0x0f5f0827, 0x0205af05, + 0x0d050508, 0x205f0024, 0x105f0d04, 0x64181316, 0x01240c69, 0x32e1f610, 0x20051245, 0x05215a5d, 0x01303129, 0x07020e22, 0x45211521, 0x0e230606, + 0x5c222303, 0x17330af1, 0x03262607, 0x78a05f19, 0x74020d4d, 0x400586fd, 0x1871ab76, 0x29176a98, 0x6faf7a41, 0x8ac982a2, 0x98182348, 0x5973146b, + 0xcb052707, 0x36000602, 0xe95c0000, 0x30535712, 0xfe48ff27, 0x0573017b, 0x245182b6, 0x0000002d, 0x08558202, 0xdf06e96a, 0x2a00b605, 0x8d003500, + 0x5a2b25b5, 0xb8080d06, 0x5340f8ff, 0x08481714, 0x1e99235a, 0x1e101e01, 0x90060023, 0xe0060206, 0x23b40123, 0x23d423c4, 0x50230003, 0xa0239023, + 0x06070423, 0x15230623, 0x67005b2f, 0x0137cf37, 0x09064037, 0x36151548, 0x250f5f35, 0x080225af, 0x082b2525, 0x1903235f, 0x2b131260, 0x00120660, + 0x250aea77, 0x330111e1, 0xd1792b2f, 0x58392005, 0x5e2a05a4, 0x3833115d, 0x2be1105d, 0x9e491032, 0x11212708, 0x07030e21, 0x0c6d030e, 0x36372c0a, + 0x37121236, 0x32331121, 0x1801021e, 0x0807da65, 0xdf06237d, 0x86c27e3c, 0xc2febffe, 0x22211f0f, 0x4f351410, 0x4a234e6e, 0x203a171c, 0x1a2a3e30, + 0x27200c0c, 0x9302162b, 0x7ecf986d, 0x7777fd37, 0x5b2ea4ae, 0x01585d8b, 0x709e61ac, 0x7112053d, 0x51d4ecf4, 0x3b6fa267, 0x0d9a0b0e, 0x75623f10, + 0x01c83936, 0xaa3a0106, 0x714298fd, 0x849dfe98, 0x3c614688, 0x0002001b, 0x070000c7, 0x00b6050c, 0x00210016, 0x11324053, 0x060e5a17, 0x821b0a06, + 0x233108fe, 0x0f01230f, 0x7f231f23, 0x0423ff23, 0x0a5a090d, 0x08212264, 0x0d0f115f, 0x08020daf, 0x0b0f0d0d, 0x0a601703, 0x3f001206, 0x333fe133, + 0x5d5e2f39, 0x05544b33, 0x5b5d3221, 0x904606a7, 0x0e142305, 0xf3822302, 0x11231125, 0x82211133, 0x21e48d03, 0xe4850c07, 0xbab8fd26, 0xba4802ba, + 0x0229cd94, 0x0556fdaa, 0x0298fdb6, 0x74bc8d68, 0x052105ad, 0x08bd8206, 0x73001550, 0x5a084d40, 0x0f175507, 0x7f176f17, 0xf4060317, 0x14a00114, + 0x740214b0, 0x14140114, 0x0f5a0e00, 0x11301100, 0x11501140, 0x110511c0, 0x010fb011, 0x0f770f67, 0x010f5e02, 0x0f4f0f3f, 0x010f0002, 0x5f11150f, + 0x005f0d12, 0x03120700, 0xd683070f, 0x39123f25, 0x8210e12f, 0x442f20d4, 0x32200a38, 0x5e200c83, 0x2505374a, 0x1e322101, 0xd9821502, 0x210b2f44, + 0x10442302, 0x44ba2005, 0x03290a22, 0x8b5e3181, 0x01f2fd59, 0x071844f6, 0x27050d44, 0x7307a204, 0xb4012602, 0x20060d44, 0x060d4489, 0x26051726, + 0x110b2201, 0x82090d44, 0xff19262d, 0x07ae04ec, 0x202d8269, 0x232d83bd, 0x23003602, 0x27202d86, 0x0d232d82, 0x4413222c, 0x27080b3b, 0x047ffec7, + 0x00b605c1, 0x4063000b, 0xd602c641, 0x5a020202, 0x03d503c5, 0x0103a802, 0x03010396, 0x48110e10, 0x3a010347, 0x28080a82, 0x5a090503, 0xb00d6500, + 0x0d6f010d, 0x0daf0d9f, 0x010d1003, 0x64055a08, 0x03060a0c, 0x02055f08, 0x00050102, 0x2f33332f, 0x07324b10, 0xe2425d20, 0x5d2f3005, 0x5d5d2b5d, + 0x315de15d, 0x11212130, 0x41211123, 0x043405df, 0xb15afec1, 0x02ba5dfe, 0x7ffebb85, 0xb6058101, 0x1005f0fa, 0x420ffb62, 0x04210577, 0x08a18233, + 0x1b001031, 0x2e404b00, 0x0801085f, 0x5b151108, 0x0f1d6700, 0x7f1d5f1d, 0x041dcf1d, 0x5a110b06, 0x1b1c6406, 0xaf0b0f5f, 0x0b08020b, 0x5f0a110b, + 0x43110307, 0x12220776, 0xb7612f39, 0x5e322106, 0x0f829283, 0x01208b82, 0x20066f42, 0x0f4e4315, 0x3c330433, 0xfe86c27e, 0xfd140396, 0xcf9896a6, + 0x4efd377e, 0x053443a0, 0x34438120, 0xa4b62306, 0x1c433cfe, 0x06a3410b, 0x1808a163, 0x2c0a9541, 0x00610106, 0x00020000, 0x057ffe0e, 0x20c5820a, + 0x08c58211, 0x0b408b73, 0x1b281b18, 0x37071b02, 0xb8140114, 0x0b40f8ff, 0x14481714, 0x070f0e5a, 0xb8070701, 0x1040f0ff, 0x0ec00e30, 0x070e0702, + 0x5a12050e, 0x005a0110, 0x40c0ffb8, 0x48151025, 0x65100000, 0x011d201d, 0x08011d0f, 0x05055a04, 0x0e5f141c, 0x08510903, 0x5f06101b, 0x05050003, + 0x3f001203, 0x10332f33, 0x2f3232e1, 0x11e13fe2, 0xe12f3301, 0x105d5d5e, 0x1eab18e4, 0x5d56080a, 0x105d5e38, 0x115d2be1, 0x30315d33, 0x21112301, + 0x33112311, 0x2137053e, 0x11213311, 0x07050e21, 0xfcb00a05, 0x2f71b064, 0x30414d56, 0x6502041d, 0xfe83fec2, 0x2e1f04fa, 0x274d463d, 0x81017ffe, + 0x27027ffe, 0xe6d9c855, 0xfa69e3e8, 0x4c6a04f0, 0xc8d1cab9, 0x9b634bb7, 0x01002710, 0x00000400, 0xf5848106, 0x40cb4f08, 0x7609664e, 0x03098609, + 0x09470937, 0x09030957, 0x0d470606, 0x0d020df7, 0x7900695a, 0x03008900, 0x00480038, 0x00030058, 0x0ea80303, 0x99020eb8, 0x0e86010e, 0x670e5701, + 0x030e770e, 0x0a110e0e, 0x0b080807, 0x70010a00, 0xc00a800a, 0xf660030a, 0x073d0805, 0x100a480a, 0xf0130a0a, 0x13bf0113, 0x13df13cf, 0x0113a003, + 0x4001138f, 0x130f0113, 0x0802131f, 0x10010102, 0xf0ffb811, 0x11110f40, 0x03030612, 0x0e0a1104, 0x04010712, 0x333f0003, 0x23028233, 0x33113912, + 0x2006004c, 0x063d5e11, 0x33115d29, 0x5d2b382f, 0x82333371, 0x3912231a, 0x00825d2f, 0x5d2e0a82, 0x325de15d, 0x5d5d3311, 0x01013031, 0x36840133, + 0x01012408, 0x23110123, 0x02230111, 0xcdedfd25, 0x02b30a02, 0xedfdcd0a, 0xfdd32102, 0xeefdb3ee, 0x02f202d3, 0x873cfdc4, 0x0efd2503, 0x1bfde502, + 0x4e080383, 0x00010000, 0x03ecff48, 0x00cb05ec, 0x40680039, 0x005b273f, 0x30002105, 0x21000021, 0x1c130330, 0x3b670b5b, 0x70013b9f, 0x02138013, + 0x134f133f, 0x1303135f, 0x20053a13, 0x0121aa60, 0x0f012178, 0x21080121, 0x2c2f1921, 0x19043560, 0x47101460, 0xa6820cb6, 0xd0833920, 0x1020b482, + 0x07765c18, 0xf85b1120, 0x0e142306, 0xa0180702, 0x222b07ee, 0x1e352726, 0x36323303, 0x5b263435, 0x23210ae8, 0x276c1822, 0x03920808, 0x7d5b33d1, + 0x5e8a574b, 0xcd884332, 0x55c06e89, 0x6363602b, 0xcfb0b22e, 0x5cb0bfba, 0x2532618e, 0x6e3a5f44, 0x265c4ba9, 0x47837462, 0x3971a66d, 0x78496004, + 0x060c3958, 0x7759390b, 0x74a06048, 0xaa2d2240, 0x0d182417, 0x81878794, 0x65482797, 0x3a53363d, 0x7d36431e, 0x1829361f, 0x00856136, 0xc9000100, + 0x10050000, 0x1700b605, 0x1b406b00, 0x5a0e0b14, 0xd019650d, 0x19af0119, 0x30192001, 0x09160219, 0x64175a02, 0xb8091718, 0x14b3e8ff, 0x07824818, + 0x2340e031, 0x0648130a, 0x26091609, 0x0d090309, 0x82181412, 0x20142117, 0x09351382, 0x29141914, 0x14070314, 0x0003000b, 0x5e32323f, 0x3f2b2b5d, + 0x20048233, 0xfd9a1833, 0xf6103108, 0x313232e1, 0x11331330, 0x07020e14, 0x01330706, 0x09138518, 0x23013108, 0x0201aec9, 0x04040202, 0xd5cc0207, + 0x040406ac, 0x31fd0805, 0xfcb605d7, 0x433e1ae0, 0x4c4a2043, 0x4afab404, 0x8e391903, 0xfb4d4c41, 0xffff0046, 0x0725bd85, 0x01260269, 0x066945b2, + 0x52018932, 0x01b41500, 0x0126051d, 0xb4ebffb8, 0x0c001822, 0x240aa749, 0x040000c7, 0x30ed82a2, 0x405e000a, 0x09090821, 0x00010910, 0x02001000, + 0x08048207, 0xb00c0028, 0x0c2f010c, 0x010c1001, 0x56010a97, 0xb80a010a, 0x1440f8ff, 0x0a480c08, 0x5a030707, 0x070b6404, 0x05080402, 0x45640403, + 0x12332305, 0xd6843939, 0x2b331123, 0x3100835d, 0x382f3311, 0x33335d5e, 0x31331138, 0x01232130, 0xa1422311, 0xa2043705, 0xbabafddb, 0xcf3502ba, + 0xe502cbfd, 0xb6051bfd, 0xc4023cfd, 0xb08242fd, 0xff000025, 0x829304e9, 0x001f258f, 0x0308b162, 0x39086f83, 0x4817143b, 0x19895a03, 0x19101901, + 0xb4011ee0, 0xd41ec41e, 0x1e00031e, 0x1e801e50, 0x1e1e0703, 0x005a0110, 0x210f2165, 0x217f211f, 0x10100803, 0x1e5f0320, 0x11601403, 0x9683130d, + 0x2305bf5c, 0x5e2f3301, 0x2006f845, 0x2599825e, 0xe15d3833, 0xea64322b, 0x16ce4805, 0xba930424, 0xba4885fe, 0x48d0201a, 0x75441aa5, 0x0f4b6606, + 0x01680420, 0x0fb16508, 0xc72b0f82, 0xc1040000, 0x0602b605, 0x86006e01, 0x096b653f, 0x04272f85, 0x02cb0598, 0x84260006, 0x0ceb641f, 0x0806b955, + 0xb605ae5f, 0x6f002100, 0x01121040, 0x21131b1b, 0x00700060, 0x00f000b0, 0xffb80004, 0x061040c0, 0x1000480a, 0x0f230000, 0x02237f23, 0xb8130914, + 0x0c40f0ff, 0xe7221313, 0x021af71a, 0x1a011ad6, 0x40e0ffb8, 0x480e0a10, 0x031a0112, 0x0a5f0d00, 0x00131306, 0x323f0003, 0x11e1333f, 0x5d2b3917, + 0x0694445d, 0x29068c44, 0x11391233, 0x30313333, 0x0e4a0101, 0x0152080d, 0x031e0133, 0x033e3317, 0xae040137, 0x532654fe, 0x336f9c70, 0x5925255a, + 0x42523534, 0xeefd1c38, 0x057f01cc, 0x0409090a, 0x0b0b0302, 0x3701030b, 0xfafbb605, 0x487ba45d, 0x14b90f0f, 0x56351719, 0xfc3f043f, 0x1a180ad7, + 0x1f090917, 0x03071d21, 0x794b0018, 0xba052105, 0x0121ff83, 0x23ff8473, 0x04000000, 0x240bad64, 0x057ffec7, 0x32ff8271, 0x403b000b, 0x025a0321, + 0x005a0902, 0x010db00d, 0x48010daf, 0x002d0a12, 0x02055f08, 0x00120502, 0x102f333f, 0x30d982e1, 0xe1f61001, 0x105d5d5d, 0x2f33e1d4, 0x253031e1, + 0x0b0b4833, 0xfcb0b02a, 0x8502ba06, 0xd9fda6bb, 0x23070b48, 0xa6000100, 0x81207982, 0x32086982, 0x40480015, 0x5a01131d, 0x70176500, 0x0217a017, + 0x1001172f, 0x5a0d0117, 0x0a700a60, 0x0ab00aa0, 0xffb80a04, 0x070e40c0, 0x130a480a, 0x05055f10, 0x42030b14, 0x39270590, 0x0133e12f, 0x845d2b2f, + 0xe1f62178, 0x23058742, 0x22230606, 0x0806c753, 0x32331629, 0x33113736, 0x73ba8104, 0x925d62c3, 0x69ba3565, 0x70b95a7b, 0x2c5602ba, 0x8a5f312e, + 0xfd470259, 0x287473d1, 0x82c60228, 0x00c7248d, 0x84330700, 0x40603af7, 0x01085642, 0x05175a08, 0x96058601, 0x0305a605, 0x05770567, 0x01050502, + 0x08a38209, 0x0d000d32, 0x20020d10, 0x700d500d, 0xc00d800d, 0xe00dd00d, 0x0d0f070d, 0x5a040701, 0x0a0c6401, 0x08030206, 0x12015f04, 0x32e13f00, + 0x0133333f, 0x5ee1f610, 0x2205a859, 0x822f3911, 0x06284908, 0x2905044b, 0x07331121, 0xba94f933, 0x02831f02, 0x24052449, 0x1005f0fa, 0x238f8300, + 0xe3077ffe, 0x47088f82, 0x4071000f, 0x010c564b, 0x09175a0c, 0x96098601, 0x0309a609, 0x09770967, 0x05090902, 0x03005a0d, 0x0002025a, 0x11001165, + 0x20021110, 0x70115011, 0xc0118011, 0xe011d011, 0x110f0711, 0x5a080701, 0x0e106405, 0x0c03060a, 0x8c0eb141, 0x32e4259c, 0xe110e12f, 0xbd41a089, + 0x8411200b, 0xb0b021a4, 0xc441a688, 0x26ab850a, 0x00140002, 0x49d50400, 0x522b06c5, 0x110b3340, 0x0106905a, 0x49080606, 0x012e06c8, 0x1d2f1d0f, + 0x1d5f1d3f, 0x06051daf, 0xca490808, 0x5f08220b, 0x0fca4909, 0x33011124, 0x3c4c5e2f, 0x4d5d2007, 0x35200b30, 0x3810cc49, 0xc27e3cd5, 0xfe95fe86, + 0x950f02ac, 0x377fcf98, 0xaea04efd, 0x8a5c2da3, 0x07cc495d, 0x4ca41221, 0x03260d2c, 0x0000c700, 0xab82cf05, 0x000e3108, 0x001d0019, 0x132b4049, + 0x0100005b, 0x1a060000, 0x1f651d5a, 0x1f9f1f0f, 0x0f090602, 0x1e64065a, 0x090f5f19, 0x080209af, 0x071b0909, 0x1a600f03, 0x5e0be44c, 0x8a68075f, + 0x31e12106, 0x4c050359, 0x012311d9, 0x4a113311, 0xba200773, 0x220e704a, 0x4abb9303, 0xa58c0773, 0x0556fd25, 0x4b4afab6, 0xab830a1d, 0x2e404825, + 0x82905b13, 0x1b6731a9, 0x1b5f1b0f, 0x401b0602, 0x1b481815, 0x48130d40, 0x1a20ae84, 0xad83ae89, 0xe121ac83, 0x091b4b3f, 0x5e2b2b25, 0x74f6105d, + 0xa8910885, 0xa194a497, 0x43088682, 0x04ecff3b, 0x00cb0544, 0x40510024, 0x5b201d2f, 0x161e160c, 0x670c041e, 0xcf26bf26, 0x0326df26, 0x1e250404, + 0x011faa5f, 0x0f011f78, 0x1f08011f, 0x5f1a071f, 0x03131117, 0x04075f00, 0x33e13f00, 0x11e1333f, 0x5d2e9e83, 0x0111e15d, 0x105d2f33, 0x393911e6, + 0x214f2f2f, 0x06222805, 0x36362707, 0x18163233, 0x2108d867, 0x9751022e, 0x12990805, 0x21352113, 0xba01032e, 0x4e3f945e, 0xa26cc44f, 0x5252a2f4, + 0x3aa4f7a5, 0x274e5661, 0xed59a04e, 0x8bfd06f7, 0x47097102, 0x27059d73, 0x2a9c202e, 0xfec16d2c, 0xfeb39df6, 0x076dcae0, 0xa20f170e, 0x17012317, + 0x6fa20601, 0x00407ab0, 0xffc70002, 0x059e07ec, 0x001a00cd, 0x405e002e, 0x0a5b1b3c, 0x11011190, 0x5b250d11, 0x0f306700, 0x303f0130, 0x307f306f, + 0x30ff30ef, 0x11403005, 0x0c104814, 0x2f640d5a, 0x04165f2a, 0x100f5f0b, 0x10100801, 0x0d030e0d, 0x055f2012, 0x21d48213, 0x8d4c3f3f, 0x423f2005, + 0x2b20051e, 0x2408c542, 0x3031e133, 0x08446e01, 0x11212729, 0x11331123, 0x84033e21, 0x099c59e1, 0x022e2b08, 0x020e2223, 0x9b4f9e07, 0xe19796e5, + 0xfe065098, 0x01babaae, 0x98550b56, 0xe59591db, 0xfafb4f9a, 0x6c9d6731, 0x30669d6d, 0x07826530, 0x31679e2e, 0xfea9dd02, 0x646cc6ea, 0xa00301b7, + 0x26051e4f, 0x5aa7ec92, 0x18fec56b, 0x08141fa3, 0x0000192b, 0xb605f203, 0x1c000f00, 0x09409b00, 0xe6010006, 0x0200f600, 0xf8ffb800, 0x0f0b2440, + 0x5a0e1c48, 0x08000003, 0x3f1e650d, 0x9ea1181e, 0x0106280b, 0xf601e601, 0x83010201, 0x820d2028, 0x01590828, 0x0201024b, 0x480b0840, 0xf0ffb802, + 0x02022640, 0x08df5b16, 0x08ff08ef, 0x0f400803, 0x08074813, 0x08020817, 0x1c1d6608, 0x0f0f0360, 0x0b601101, 0x12010e03, 0x3f333f00, 0x2f3912e1, + 0x1001e133, 0x2b5d5ef6, 0x2f33e15d, 0x335d2b38, 0x5d715d2b, 0x11f6105d, 0xe1331139, 0x300c8232, 0x01013031, 0x032e0123, 0x33363435, 0x11231121, + 0x08e15d11, 0x02338908, 0xdbb2fe42, 0x63377d01, 0xfbfd2c4b, 0xbcbb7501, 0x294f734a, 0x51774e27, 0xfd5c02b4, 0x148f02a4, 0x5d88613e, 0x4afac9c6, + 0xbb025c02, 0x44613e1d, 0x284a6942, 0x00ffff00, 0x03ecff5e, 0x025e049c, 0x00440006, 0x00020000, 0x04ecff75, 0x00230621, 0x003b0027, 0x2d2c4049, + 0x571e0948, 0x013dd03d, 0x40013d7f, 0x3d0f013d, 0x37130601, 0x3c560048, 0x19135032, 0x50280819, 0x08091623, 0x0948100b, 0x00010851, 0x3f2be13f, + 0x62056957, 0x102b0964, 0x31e132f6, 0x12341330, 0x82373636, 0x0e172302, 0x02820703, 0x5e183320, 0x01200d0c, 0x83068b6c, 0x07c008cf, 0x75021e14, + 0x71a26831, 0x2166f27d, 0x757d7b32, 0x48643e2c, 0x120d0429, 0x406b543e, 0x32659663, 0x68ae7c45, 0x427bad6b, 0x623ce101, 0x3a1a2646, 0x6a3d415a, + 0x190d3953, 0x93027241, 0xcb1901b5, 0x311b197e, 0x1608a014, 0x0e0a1818, 0x71a57142, 0x20313c1d, 0x6cb48349, 0x458ace89, 0xfefdad59, 0x8f582794, + 0x5f865469, 0x49443033, 0x93bc641a, 0x00030059, 0x040000ae, 0x004a0419, 0x00200015, 0x405c002b, 0x211b033a, 0x0f000046, 0x57094716, 0x012d202d, + 0x2d902d40, 0x2dd02db0, 0x0f052df0, 0x2606012d, 0x540f471b, 0x501a032c, 0x790126bf, 0x02268926, 0x251b2626, 0x1b0f1050, 0x00150f50, 0x600eb865, + 0x2f28098e, 0x313912e1, 0x06140130, 0x29088e4c, 0x32211121, 0x3403021e, 0x09832326, 0x09863e20, 0x82323321, 0xf6500809, 0x61386b7b, 0x652f2947, + 0x39fe719f, 0x8e53c501, 0x82903b67, 0x0100ff80, 0x435d3804, 0x6c6d1e26, 0x3eecf5fe, 0x031f3f5c, 0x12756835, 0x3d240707, 0x74433f5b, 0x4a043056, + 0xfd6b401c, 0xfe485cc7, 0x452a12a8, 0x404d0c02, 0x240fd7fe, 0x0100003c, 0x0321e383, 0x3fe3820a, 0x402f0005, 0x1000001c, 0x00000200, 0x0107a007, + 0x50010781, 0x47020107, 0x01065403, 0x020f0450, 0x09244118, 0x115d5d25, 0x825d2f33, 0x11212fb2, 0x03211123, 0xb65afe0a, 0xb0035c02, 0x458250fc, + 0x29000226, 0x370483fe, 0x5a080982, 0x0017000f, 0x17104079, 0x0c461207, 0x073f072f, 0x1b070b02, 0xb8070207, 0x3940f0ff, 0x0cb20ca2, 0x140c0402, + 0x0c07020c, 0x10050c07, 0x46010e47, 0x0e200000, 0x19550e01, 0x19cf19af, 0x01193002, 0x0401192f, 0x18050546, 0x0f0c4f12, 0x50060e17, 0x00051503, + 0x323f00fb, 0x8232e13f, 0x01112103, 0x2106f966, 0x8b475de4, 0x2f392b06, 0x385d5d2f, 0xe1105d5d, 0xc94f3311, 0x1202210a, 0x0805ca4f, 0x030e2331, + 0xae370407, 0x56ae4efd, 0x22436341, 0x97170201, 0x07c0b2fe, 0x34513a24, 0x7d0183fe, 0x170283fe, 0x01f3df5f, 0x50fc7f00, 0xd7672403, 0x6053c2d1, + 0x032905a5, 0x025e04e1, 0x00480006, 0x05c14f00, 0x82be0521, 0x112208db, 0x1f409c00, 0x0a030306, 0x00000f46, 0xb9010bd6, 0x020bc90b, 0x97010ba6, + 0x0b0b010b, 0x0504070e, 0xe8820805, 0x12b3c024, 0x07834815, 0x24402e08, 0x0f480b07, 0x07060107, 0x13070710, 0x13101300, 0x0113df02, 0x13701330, + 0x0f031390, 0x11070113, 0x0e0d1010, 0x40f0ffb8, 0x120e0e0f, 0x27698203, 0x150a080d, 0x0f010411, 0x2817984f, 0x2f331171, 0x2b5d5e38, 0x0e974f2b, + 0x8432e121, 0x0d8f4ffc, 0x3301013e, 0x01a48f02, 0x58fec5a0, 0xfecece01, 0x44fea443, 0xfecf01cf, 0x3502c558, 0xebfd1502, 0xfd250383, 0xfd2d02cb, + 0x820384d3, 0x32e98213, 0x03ecff44, 0x005e0452, 0x405f0039, 0x1646053a, 0x8239161b, 0x0c310801, 0x57214734, 0xc03bb03b, 0x033bd03b, 0x20013b6f, + 0x0c29013b, 0x381b3a56, 0x0139cf50, 0x39993989, 0x01390f02, 0x11393908, 0x1626502f, 0x10115008, 0x08697200, 0xe15d5d27, 0xe6100139, 0x068a4f32, + 0x2f393923, 0x06884f2f, 0x023e3225, 0x4f263435, 0x15200a6b, 0x85139a4f, 0x23610824, 0x3d710135, 0x73274864, 0x4b81476c, 0x524d283f, 0x9056355a, + 0x331c3a69, 0x522c2b46, 0x6c35263f, 0xaf6d71a6, 0x574c1f3a, 0x60373361, 0x8a852946, 0x12870281, 0x4d2d4027, 0x9322264d, 0x09131c14, 0x466d4a26, + 0x293b4d32, 0x2c0e0b0e, 0x433e5a42, 0x23315675, 0x1f10a622, 0x2a120f18, 0x5b5e3345, 0x05114399, 0x3b043108, 0x0b004a04, 0x1b405100, 0x18091003, + 0x46060348, 0x000d5505, 0x200d100d, 0xc00da00d, 0xf00dd00d, 0xb80d070d, 0x0eb3c0ff, 0xb8094811, 0x1140f0ff, 0x092d2582, 0x540a4600, 0x0b03080c, + 0x0a02060f, 0x06ba4115, 0xf6100127, 0x2b2b32e1, 0x0806845d, 0x01303127, 0x33010711, 0x13112311, 0x01112301, 0x04020c5a, 0xfd0bace9, 0x4a04eafe, + 0x03fc64fd, 0x02b6fb98, 0xfc0f0187, 0x667c826a, 0x043f058b, 0x0217063b, 0x00d20126, 0x02060100, 0x00002536, 0x1101b415, 0xb8012611, 0x16b4ffff, + 0x4f040a0c, 0xae240a4f, 0xe5030000, 0x0a283882, 0x23404100, 0x04010100, 0x37053a63, 0x0c030310, 0x0a010c0f, 0x07470602, 0x02050b54, 0x00070a0a, + 0x07040f08, 0x3f209f83, 0x8405494d, 0x5d3230a2, 0x382f3311, 0x1133335d, 0x01303133, 0x4f010133, 0x022b0635, 0x61fec4fa, 0xfecec601, 0x82b4b44b, + 0xfdf126a5, 0xfd2d02c5, 0x280982d3, 0x000100eb, 0x03f2ff10, 0x087382b0, 0x4c001434, 0x46033140, 0xf4011304, 0x13800113, 0x13c01390, 0x540413d0, + 0x13130113, 0x0047010b, 0x160f1655, 0x16ff162f, 0x0b0b0603, 0x13500315, 0x084f0e0f, 0x81820116, 0x53e13f21, 0x5e200595, 0x2306224f, 0x715d5d5d, + 0x20060874, 0x057d6802, 0x35273008, 0x36323316, 0x21371236, 0xfeb6b003, 0x5f4014fe, 0x311c5682, 0x371b1710, 0x12334559, 0xb0035402, 0x94fefdfe, + 0x060669e6, 0xf1750683, 0x41fa6f01, 0x052105bf, 0x08958210, 0x5e002042, 0x011f3f40, 0x22550046, 0x400122cf, 0x02225022, 0x0601220f, 0x11461013, + 0x0f022154, 0x0f4b0f3b, 0x09030f5b, 0x290f190f, 0x1f0f030f, 0x19340f12, 0x19541944, 0x16190603, 0x03192619, 0x11010919, 0x3325a382, 0x5d5d3333, + 0x2104833f, 0xbf463311, 0x4d102008, 0x0e2a073d, 0x23010703, 0x27032e01, 0x1e822311, 0x17031e35, 0x0137033e, 0xa1100533, 0x12141106, 0x87f8fe07, + 0x8305f7fe, 0xa2320809, 0x0d0b01dd, 0x040f1316, 0x16130e06, 0xd90e010d, 0x39158103, 0xfd12363b, 0x0db00250, 0x1a3e3b31, 0x4a047ffc, 0x432247fd, + 0x1110323c, 0x21413b31, 0x8942bd02, 0x5b44080c, 0x06021740, 0x0d550547, 0x0d200d00, 0x400d3002, 0xd00d500d, 0x050df00d, 0xc0ffb80d, 0x110e2340, + 0x47090148, 0x080c540a, 0x0101eb50, 0x01b901a9, 0x1f010f02, 0x03012f01, 0x0a010106, 0x00031505, 0x323f000f, 0x21056f58, 0x6d495d5d, 0x3132260b, + 0x21110130, 0x057e4e11, 0x01112338, 0xb6210264, 0xb6dffdb6, 0x39fe4a04, 0xb6fbc701, 0x17fee901, 0xb1654a04, 0xae280812, 0x12040000, 0x07004a04, + 0x1c402d00, 0x55044705, 0x20091009, 0x70096009, 0x05098009, 0x54014700, 0x02500708, 0x1500050f, 0x71847883, 0xe5755d20, 0x64012e0c, 0xb66403b6, + 0x4a0408fe, 0xb003b6fb, 0x2b618200, 0x0414feae, 0x025e043f, 0x00530006, 0x71240f83, 0x6f03ecff, 0x462a0f84, 0x01000000, 0x00002900, 0x71845e03, + 0x3c405828, 0xdf010920, 0x6c830109, 0x095f0228, 0x01000f01, 0x058200cc, 0x8200bf21, 0x02003d3d, 0x05600347, 0x05d00570, 0x01051f03, 0x03000505, + 0x03b00310, 0x030403c0, 0x06500501, 0x3006c946, 0x5d2f0132, 0x5d5d2f33, 0x2f32e110, 0x715d5d5e, 0x4603825d, 0x353b07d2, 0xfe5e0321, 0xc1feb7c1, + 0xb0033503, 0xb00350fc, 0x00ffff9a, 0x0314fe0a, 0x824a04df, 0x825c205f, 0x00032c8d, 0x0514fe71, 0x00140623, 0x82220019, 0x74300899, 0x00274b40, + 0x171d460b, 0x49130d0c, 0x0cc90cb9, 0xa70c9702, 0x0c0c020c, 0x05482312, 0x2b202b57, 0x012b0f01, 0x2bef2b9f, 0x012b8002, 0x40012b6f, 0x1f371083, + 0x1a06022b, 0x2a561248, 0x1e260018, 0x10170050, 0x0a501d27, 0x620b160d, 0x322209be, 0x104f013f, 0x759e8305, 0x2b2508c7, 0x32e13333, 0x60ad8232, + 0x83080cac, 0x37023e34, 0x14013311, 0x0e111716, 0x26340503, 0x36361127, 0xbd712103, 0x86474c88, 0x72aa77be, 0x474c89bf, 0xaa79c185, 0xae9c0cfe, + 0x25507d58, 0xaa9b3903, 0x5a0499ac, 0xc68f550c, 0x91c87d7d, 0x24fe0b56, 0x560adc01, 0x7d7ec990, 0x0b558fc7, 0x13fcba01, 0x0313d2bb, 0x673d093c, + 0xccba5e91, 0x14c6fc14, 0xffff00d1, 0x00002300, 0x4a04db03, 0x5b000602, 0x01000000, 0x83feae00, 0x4a04b204, 0x44000b00, 0x4732d682, 0x0601000f, + 0x47070000, 0x0a010a8f, 0x200d100d, 0xf94f600d, 0x06063206, 0x0c540347, 0x0a0f0408, 0x15035006, 0x3f00fb01, 0x0809513f, 0x5dd41028, 0x5e2f33e1, + 0xba47e15d, 0x05ef4f06, 0xb2043336, 0xb6b2fcb6, 0xa0b6f801, 0x7d0183fe, 0x50fc4a04, 0x50fcb003, 0x9a207382, 0xfe208382, 0x18287382, 0x1c403100, + 0x0b470c08, 0x08f29b18, 0x1747012c, 0x03081954, 0x0b121250, 0xf6420915, 0x2f392205, 0x08b664e1, 0x60823220, 0x3314112b, 0x37023e32, 0x23113311, + 0x073a6511, 0x50012b08, 0x4c502db8, 0xb6b62a4d, 0x5e55502c, 0x527a4e3a, 0xfe4a042b, 0x1c0fae66, 0xd5011c2c, 0xe901b6fb, 0x1120301e, 0x4473542f, + 0x9943a601, 0x46062105, 0x2f08f384, 0x00434066, 0xc609b647, 0x09a90209, 0x09740301, 0x09940984, 0x01096703, 0x05090906, 0x55044701, 0x010d200d, + 0x80010d0f, 0x020df00d, 0x40010d6f, 0x2f300d83, 0x0806020d, 0x0c540547, 0x05500800, 0x02060a15, 0x2105e847, 0xed4132e1, 0x07ae6408, 0x5d5d5f22, + 0xe1230282, 0x5a253031, 0x11200628, 0x032f0782, 0xb7ba01d5, 0x01b668fa, 0x039ab6bb, 0x41b6fbb0, 0x89410517, 0xe5062105, 0x0f2d9582, 0x4e407700, + 0x07b6470a, 0xa90207c6, 0x32958207, 0x94078407, 0x07670307, 0x07070601, 0x0e470b03, 0x820e4701, 0x0024082e, 0x0e010ebf, 0x01112011, 0x4001110f, + 0xe0118011, 0x0411f011, 0x112f110f, 0x47060602, 0x0c105403, 0x0e0f0408, 0x200bac41, 0x0aa15132, 0xc4107126, 0x5d2f325d, 0x88050751, 0x5a0120a6, + 0xa88308d1, 0x06331126, 0x7ffab6e5, 0xb182a883, 0xc3419f20, 0xb0032b0b, 0x020050fc, 0x00002900, 0xb182fc04, 0x000e3708, 0x405c001b, 0x04470f3e, + 0x1d501d57, 0x1d901d60, 0x3f041de0, 0x1600011d, 0x0c000a47, 0xb0020c10, 0x020cf00c, 0x0a000c0c, 0x0a500a10, 0x0aa00a60, 0x150a0805, 0xc583bf50, + 0x500c1627, 0x50160f0d, 0x09634b0a, 0x2f01e12c, 0x2f335d5e, 0xe110715d, 0x745c5d32, 0x05e17308, 0x21112128, 0x34012135, 0x5c4b022e, 0x48022506, + 0xccd41401, 0x0805504b, 0x0298fe28, 0x2102021f, 0xff406041, 0x37040100, 0x0226445d, 0x4d9b9c87, 0x032f587c, 0xf8fc9ab0, 0x11284231, 0x2911a8fe, + 0x1b4c0042, 0x053f0805, 0x004a0450, 0x0010000c, 0x4061001d, 0x00471840, 0x20041004, 0xd0047004, 0x04060504, 0x470e0a04, 0x0f1f550d, 0x1fbf011f, + 0x1fdf1fcf, 0xa0041fff, 0x1f0f011f, 0x07021f7f, 0x0a471200, 0x85111e54, 0x0b0f25be, 0x0e50120f, 0x115ebd83, 0x069e4505, 0xc1635e20, 0x05164309, + 0x87323321, 0x01332bc0, 0x01331123, 0x3e323311, 0xc8833502, 0xec640122, 0x622dc186, 0xb6ec03b6, 0xdb14fcb6, 0x26435d38, 0x87c78221, 0x4a0427bf, + 0x4a04b6fb, 0xbe84a4fd, 0xc8833020, 0x02000022, 0x3e08df4c, 0x0019000c, 0x14294040, 0x1b570447, 0x00011b00, 0x701b201b, 0xb01b901b, 0x061bd01b, + 0x820e0008, 0x0d1a21ac, 0x0b22ac85, 0x68410e0f, 0x2f392106, 0x7127a888, 0x31e1f610, 0x89210130, 0x111122a0, 0x219c8921, 0x9d861501, 0x01b63923, + 0x8c989104, 0x014b0894, 0xecff3700, 0x5e044203, 0x5e002600, 0x0e0e3e40, 0x480f0c04, 0x8f285722, 0x0228af28, 0x18012840, 0x041f040f, 0x0403042f, + 0x48110c40, 0x0d275804, 0x010eef50, 0x0eb90ea9, 0x1f0e0f02, 0x030e2f0e, 0x070e0e06, 0x101d5112, 0x70005107, 0xe1250ce1, 0x2be61001, 0x050d4271, + 0x39113223, 0x0cba622f, 0x3521372b, 0x23262621, 0x07020e22, 0x09824e27, 0x42014c08, 0x36367c59, 0x74495283, 0xfe043052, 0x0ddb0123, 0x3b198c92, + 0x3517383c, 0x4e484018, 0x84b36626, 0xba8c514d, 0xa21d1e14, 0x54282519, 0xa69a5c84, 0x130f0997, 0x160c9a0a, 0x893e0910, 0xd4929ddb, 0x0000438a, + 0xffae0002, 0x820806ec, 0x821a20d1, 0x722008d3, 0x481b4b40, 0x0111200a, 0x1101114f, 0x48210d11, 0x0f285700, 0x02282f28, 0x28ff28ef, 0x01284702, + 0x26080c84, 0x0d470c10, 0x50242754, 0x500b1016, 0xa90110ef, 0x0210b910, 0x0b01102c, 0x02101b10, 0x0d101006, 0x150d0f0e, 0x8405501e, 0x123f21e0, + 0x21051552, 0x4551e15d, 0x09374206, 0x51715d21, 0x0e250547, 0x2e222302, 0x0b455102, 0x18021e21, 0x080b9583, 0x40080623, 0x626aab78, 0x074675a2, + 0xb6b6effe, 0x480a1301, 0x6263a076, 0xfd4479a7, 0x8f8e8029, 0x8e8f807e, 0x056b6c7e, 0xbe814230, 0x0417fe7c, 0x7439fe4a, 0x4b3e78b1, 0xa018d391, + 0x3e080b77, 0x03000023, 0x004a0491, 0x001c0011, 0x02144053, 0x18071111, 0x550e470f, 0x6f1e0f1e, 0x031e8f1e, 0xb8010006, 0x1940f0ff, 0x46120101, + 0x15124007, 0x1d560748, 0x18501002, 0x50190018, 0x480f0f0d, 0xce820629, 0x0132e137, 0xe12bf610, 0x33382f33, 0xf6105d5e, 0x391132e1, 0x30313311, + 0x05e45033, 0x023e4208, 0x23112133, 0x14032311, 0x3333021e, 0x06222311, 0x2301c6e9, 0x2841542d, 0x538a6438, 0xf4b6bc01, 0x5a4125dd, 0x6bfedb36, + 0x0ccd0168, 0x476c4c30, 0x2a51794e, 0xb001b6fb, 0x46305401, 0x6601162e, 0x075d485f, 0xd905e12b, 0x48002602, 0x06010000, 0x97741800, 0x01002b1c, + 0x14fe1200, 0x14061204, 0xdb823100, 0x1f322c08, 0x2d470c17, 0x33103355, 0x33803360, 0x1e222303, 0x171b4716, 0x19213254, 0x1a1a1e4f, 0x5010231c, + 0x29102900, 0x29032920, 0x18001c0f, 0x220bbf5c, 0x7c33e15d, 0x32220884, 0x257132e1, 0x39122205, 0x7a5d1831, 0x1811200c, 0x2109c85c, 0x65183523, + 0x142410c6, 0xf002020e, 0x09d15c18, 0x51706928, 0xb61d436e, 0x65189c9c, 0x5c180dd3, 0x44200ed5, 0x15e16518, 0x4dbefc26, 0x002f577b, 0x2e056b4c, + 0x21060a03, 0xcd012602, 0x06010000, 0x66d47600, 0x122705f1, 0x45012611, 0x61030c06, 0x97490b25, 0x00330806, 0x404f0022, 0x16171731, 0x8f240d1f, + 0x0224af24, 0x16012440, 0x56054819, 0xef501923, 0x16a90116, 0x0f0216b9, 0x2f161f16, 0x16060316, 0x51131c16, 0x431c100a, 0xf6261194, 0x5d5d32e1, + 0x9243ce10, 0x022e2107, 0x6e058b7c, 0x0624063b, 0x21152107, 0x2208fe72, 0x18655202, 0x380f35ab, 0x010e928b, 0x0923fedb, 0x83518a92, 0x147b3636, + 0x96d5893f, 0x3e89db9d, 0x05226e22, 0x9aa69729, 0x1925a4b8, 0x821e1da2, 0xff5a23e3, 0x5f4a03ec, 0x00562105, 0xa020f383, 0x7527e982, 0x0602e505, + 0x82004c00, 0xeeff210f, 0x2ded7518, 0xffffff26, 0x0114febc, 0x4d214185, 0x083c8200, 0xff100041, 0x041206f2, 0x001d004a, 0x406b002a, 0x1c460c45, + 0x0a472500, 0x90011cd4, 0x021ca01c, 0x00011c24, 0x0a1c011c, 0x1e140a1c, 0x2c570447, 0x2c2f2c0f, 0x2c5f2c3f, 0x2cbf2c7f, 0x14072cef, 0x45242b14, + 0x25290564, 0x0f1c500c, 0x16114f17, 0x066b4525, 0xe13fe126, 0x5d2f3912, 0x2706f855, 0x3911e1f6, 0x5d2f2f39, 0x10270082, 0xe11032e1, 0x46013031, + 0x2320091b, 0x3610384d, 0x022e3401, 0x33112323, 0x03023e32, 0xcbd4ec87, 0x719f652e, 0x4dd962fe, 0x2b2b0f4a, 0x4121d901, 0xdbd74060, 0x46435d38, + 0x5e4d0af6, 0x0b04470e, 0xae000226, 0x75060000, 0x2a08ef82, 0x00210014, 0x05304053, 0x0f02471c, 0x4715130f, 0xef235709, 0x23800123, 0x01233f01, + 0x01012310, 0x54134712, 0x50111b22, 0x8201bf05, 0x1c002400, 0x4c0f1350, 0xcc820892, 0x655d2f21, 0x1e500803, 0x6b112005, 0x21220896, 0xb9823311, + 0x2208b947, 0x8a112311, 0x640124ce, 0x46b6cf01, 0xfe2e08fa, 0x1505b631, 0x3f614121, 0x5d37dcd8, 0xc04c2644, 0x3dfe2105, 0x4c05bf47, 0xbd8b05c6, + 0x12000127, 0x12040000, 0x26bb8506, 0x01146832, 0x18000b14, 0x21179269, 0x69180e0e, 0x0f230b8d, 0x180b0010, 0x180c8d69, 0x230e8c69, 0x315d3911, + 0x0c84a918, 0x2112c643, 0xb9435c03, 0x18022016, 0x321b8d69, 0x0000ae00, 0x2106e503, 0xd4012602, 0x06010000, 0x43087600, 0x172805a7, 0x0c012611, + 0x0307110b, 0x4c071150, 0x062507b1, 0x00260217, 0x222b835c, 0x85b13602, 0x8228202b, 0x2d0a232b, 0x73180023, 0xc34b09cb, 0x04122205, 0x08d7824a, + 0x3d405924, 0xb70106d6, 0x0206c706, 0x07b54706, 0x07d507c5, 0x86077603, 0x074a0207, 0x0702075a, 0x47010907, 0xd74b5504, 0x0005340a, 0x0c540947, + 0x09500005, 0x0afb0615, 0x3f000f02, 0x4b3f3f33, 0x1128096f, 0x5d5d2f39, 0x5d5de15d, 0x2e08c24a, 0x11211123, 0x01640133, 0xb3feb6f8, 0x4aa0feb7, + 0x1a4a05c2, 0x21a68205, 0xe182c700, 0xe306be31, 0x44000700, 0x5a002c40, 0x03ef03df, 0x500303ff, 0x033505cc, 0xd009b009, 0x090f0209, 0x050209af, + 0x0864065a, 0x20075f04, 0x2e008201, 0x12060307, 0x333f3f00, 0xe1105d2f, 0x82f61001, 0x8211206e, 0xe15d260b, 0x11013031, 0x316f8233, 0x0e031123, + 0xbac3fdb0, 0x2d01b605, 0xf0fa2dfe, 0xc34bb605, 0x0a032305, 0x69828905, 0x1c403034, 0x00004705, 0x00020010, 0x47020900, 0x10085403, 0xff822006, + 0x4f010622, 0x8207f954, 0x8358834e, 0x20558356, 0x05ae5d21, 0xfe0a0332, 0xa601b65a, 0xfcc103b6, 0x014a043f, 0x00ffff3f, 0x0e655818, 0x00430023, + 0x050761e7, 0x26052b2b, 0xacffb801, 0x1e2b31b4, 0x0aa5410e, 0x0d675818, 0x4300062a, 0x1500004c, 0x113001b4, 0x9e252d83, 0x113036b4, 0x182d8d2e, + 0x230bc358, 0xa0017600, 0x13245d82, 0x37010b40, 0x64225e82, 0x5b9a312b, 0x2d820720, 0x00001724, 0x2d821300, 0x5e823c20, 0x36306922, 0x2b2c5b92, + 0x3a002602, 0x07010000, 0x39016a00, 0x19275b82, 0x340102b6, 0x82022605, 0xb4ff23bb, 0x5f853f2b, 0x8408876d, 0xd90521bd, 0x5a203382, 0x00213385, + 0x836182ac, 0x11392133, 0x30213386, 0x88658544, 0x20208233, 0x2b591804, 0x4300230a, 0x214172ff, 0x82092005, 0xffb824c2, 0x180fb4a4, 0x201b2d59, + 0x202f8207, 0x2342824b, 0x2301b415, 0x2f83c482, 0xcb422920, 0x5225080d, 0xae03d101, 0x03007902, 0x00b91d00, 0x40c0ff02, 0x480c060b, 0x00050202, + 0xbd01b900, 0x01e13f00, 0x2f33112f, 0x05537c2b, 0x5c035229, 0xa8a8d101, 0x82000100, 0xa8072035, 0xbb072035, 0xff022835, 0x0331fefc, 0x82d3ff4e, + 0x000734a1, 0x0418402a, 0x05090000, 0xefba0501, 0x0206ff06, 0x78ba0206, 0x01240642, 0xe15d2f00, 0x01220282, 0xb082332f, 0x30313325, 0x84352101, + 0x4e032501, 0x5203aefc, 0xfe250383, 0x8b8c8b31, 0x08bd8200, 0xc1031728, 0xb6055001, 0x25000c00, 0x0e5f1740, 0x070f0601, 0x076f075f, 0x07cf07bf, + 0x980c0705, 0x069c0c01, 0xe53f0003, 0x50822f01, 0x825d3321, 0x272108fb, 0x3337033e, 0x2507030e, 0x2e270e0e, 0x0f891934, 0x08161a1d, 0x3616c103, + 0x387b7c7a, 0x7c83843d, 0x82559335, 0x010f2d4a, 0x016f015f, 0x01cf01bf, 0x9c060105, 0x5583c282, 0x5583a782, 0x82170121, 0x82232051, 0x42012159, + 0x2f335682, 0x0e891933, 0x08161b1d, 0x3716b605, 0x387a7d79, 0x8284843c, 0x26578256, 0x01f8fe3f, 0x82ee0079, 0xb9352cad, 0xc0ff0e00, 0x180a1440, + 0x85980c48, 0x847f205a, 0x06012a5a, 0xc0ffb807, 0x481510b7, 0x20658207, 0x29bb84a8, 0x2f33332b, 0x312be15d, 0x67882530, 0x0e0f6a23, 0x21678227, + 0x67830f8a, 0x8717ee21, 0x837d20bd, 0x031926bd, 0x055201c1, 0x3a6582b6, 0x5f1c402b, 0x0f06010e, 0x6f055f05, 0xbf057f05, 0xdf05cf05, 0x05050705, + 0x880b9800, 0x82e120c2, 0x08c3835b, 0x031e132a, 0x032e2317, 0x08ee3727, 0x0f1d1a16, 0x2e341989, 0x050e0e27, 0x847c35b6, 0x7a383c84, 0x1637797d, + 0x17000200, 0xd102c103, 0x38085b84, 0x40620019, 0x011bbf48, 0x0f011b90, 0x6f1b5f1b, 0x0f13031b, 0x6f145f14, 0xbf147f14, 0xdf14cf14, 0x14140714, + 0x0c0e9819, 0x50010098, 0x70016001, 0xc001b001, 0x0701d001, 0x0da34101, 0x9c0c192d, 0x00030613, 0x32e5333f, 0x845d2f01, 0x852f20e8, 0x5d5d2492, + 0x41013031, 0x212007ae, 0x01210887, 0x0bb841a6, 0x41b8fd21, 0xd14118c6, 0x2cb79e0b, 0x14501400, 0x14701460, 0x14c014b0, 0x2ab785d0, 0x0e5f0e0f, + 0x0ebf0e6f, 0x82050ecf, 0x07a041c2, 0xcf01bf24, 0xc284df01, 0x06130725, 0x82000d9c, 0x833220b7, 0x20b685b7, 0x41b78a5d, 0x212007a8, 0x21151942, + 0x27424802, 0x0b324218, 0x00023008, 0x02f8fe3f, 0x00ee00fa, 0x0019000c, 0xd051407e, 0xf01be01b, 0x1ba4031b, 0x1bc41bb4, 0x011b9003, 0x301b2002, + 0x601b401b, 0x801b701b, 0x8713061b, 0x2bc783c9, 0x19141406, 0xe00e9098, 0x030ef00e, 0x0220ce83, 0xc683c88a, 0x42010621, 0x4024056b, 0x4818100a, + 0xa822cf85, 0xcf843f00, 0x21057042, 0xd1865d2f, 0x5d5d5f23, 0x0a7c425d, 0x8542d389, 0x42d38d0c, 0x9e420b93, 0x0069080b, 0x007b0001, 0x06680300, + 0x000b0014, 0x9052407c, 0xe00da00d, 0x040df00d, 0x10010d6f, 0x400d300d, 0x0607030d, 0x080804c0, 0xf40be403, 0x0bd6020b, 0x010b7701, 0x54010b6a, + 0x0b45010b, 0x010b2601, 0x0a09c00b, 0x36090901, 0xbe020102, 0x03100300, 0x030303a0, 0x05000104, 0x070a0bbf, 0x0008c206, 0x3f2f0003, 0x323232f6, + 0x2a0382e1, 0xe15d2f01, 0x3311325d, 0x82e61033, 0x250283c2, 0x332f3311, 0xcf8433e6, 0x13250136, 0x35051323, 0x03330305, 0xfe680325, 0x37d937b5, + 0x3701c9fe, 0x01310682, 0x1fdd034b, 0xfc0304fc, 0x011eb41f, 0x1e5ffea1, 0x20b58600, 0x08b5827d, 0xb000154e, 0x17007140, 0xb017a001, 0x0317f017, + 0x2001177f, 0x50174017, 0x0d080317, 0x0f0b0ec0, 0x0401050f, 0x12f40112, 0x0112e601, 0x7a011287, 0x12640112, 0x01125501, 0x12461236, 0x10c01202, + 0x10101114, 0x04000315, 0x0a0a05be, 0x05000609, 0x2508b982, 0x05200510, 0x05a00550, 0x080605b0, 0x0b131405, 0x1112bf0c, 0x0fc20d0e, 0x00010900, + 0x0306bf08, 0x05c20702, 0xd3872f00, 0x5e27dc8a, 0x3333715d, 0x83102f33, 0x20e58cea, 0x240d8271, 0xe633332f, 0x06dd5532, 0x87152521, 0x82f087eb, + 0x31022e10, 0xb4fe4c01, 0xfe38d937, 0x2f4c01b4, 0x2205832f, 0x8337d938, 0x012f3013, 0x1fb41ef0, 0x790187fe, 0x011eb41f, 0x83130122, 0xfe782206, + 0x08148388, 0x0000ed32, 0x01960001, 0x036d02e5, 0x001300f2, 0x2f244046, 0x6f155f15, 0xcf157f15, 0xff15ef15, 0x15100715, 0x6f0a5f01, 0xaf0a9f0a, + 0xef0adf0a, 0xd00a060a, 0xb82f3082, 0x0c40c0ff, 0x00480a07, 0x0f010f1f, 0x82010510, 0xc55d25cf, 0x2b2f015d, 0x5d200582, 0x12a69418, 0x24962b08, + 0x3132563f, 0x25254056, 0x32315640, 0x02243f56, 0x3f6447ec, 0x643f1c1c, 0x3f644647, 0x643f1e1e, 0x93000300, 0xdb05e3ff, 0x8582fa00, 0x00278a08, + 0x40a80039, 0x243b1476, 0x3bfb023b, 0x013be401, 0x3bcb3bbb, 0x013ba402, 0x64013b8b, 0x023b743b, 0x34013b4b, 0x3b0b013b, 0x66961e01, 0x02147614, + 0x28001414, 0x01322496, 0xe00132fb, 0x32d40132, 0x0132bb01, 0x8b0132a4, 0x32720132, 0x01326601, 0x3001324b, 0x20020132, 0x320f0132, 0x0a320601, + 0xf000e096, 0x00540200, 0x00020064, 0x20001000, 0x00070300, 0x9b05192d, 0x000f2337, 0xed33332f, 0x2f013232, 0x5d5d5d5e, 0x200583ed, 0x066c425f, + 0x71260682, 0x2f3911ed, 0x1088ed5d, 0x30317124, 0x4a183437, 0x23240974, 0x25022e22, 0x26210f9c, 0xb1951893, 0x91252010, 0x23132211, 0xc5e3182e, + 0x49363208, 0x2135266f, 0x35210f0f, 0x22352526, 0x35221010, 0x080f9b25, 0x07004252, 0xecff6600, 0xcb05f408, 0x1d000900, 0x3b002700, 0x49003f00, + 0x89005d00, 0xb4405c40, 0x1e4ab554, 0x23b532b4, 0x3ea028b4, 0x403c3001, 0x033cb03c, 0x28402830, 0x283c3e02, 0x033e3c28, 0x4ab44514, 0x4f5f3f5f, + 0x7f5f5f5f, 0x055faf5f, 0xb50ab405, 0x0913e118, 0x59b64727, 0x4fb643b7, 0x1be11819, 0xe13f231e, 0xe118e1f4, 0x1229091f, 0x2f2f3917, 0x5d5d5d2f, + 0x2f168210, 0x31e1f410, 0x16141330, 0x10113233, 0x05062223, 0x0e1a5918, 0x19990120, 0x01230122, 0xfa3a1d99, 0x9c9c5047, 0xc7014750, 0x4f734a24, + 0x264c7049, 0x4e714923, 0x274d714b, 0x1986ac01, 0xe118c620, 0x0226163f, 0x9b514797, 0x3a82519b, 0x4a2c208b, 0x04274c72, 0x01a5a502, 0xa348014a, + 0x2e59e118, 0xa502fc25, 0x844901a4, 0x76ab3d37, 0xab763f3f, 0x75aa6c6c, 0xaa753e3e, 0x8500ffff, 0x4a01a603, 0x0602b605, 0x00000a00, 0x02210f85, + 0x080f84b2, 0x00000540, 0x52000100, 0xfc017300, 0x0600c703, 0x04b13c00, 0xc0ffb802, 0x0c091f40, 0x3f080248, 0xaf089f08, 0xef08df08, 0x0608ff08, + 0x039feb06, 0x00060301, 0x05010303, 0x2f2f0001, 0x2f3d3912, 0x9e183333, 0x312309ef, 0x18011330, 0x180dde9e, 0x8c0bd49e, 0x403f2465, 0x4ceb0028, + 0x1025069b, 0x02032003, 0x24698c03, 0x01023f04, 0x25689302, 0x5d2f5d33, 0x9618e15d, 0x0126086c, 0x75cbfefc, 0x9618eded, 0xdf820e5b, 0xe3ff932c, + 0xb6056203, 0x04002700, 0xe082d101, 0x04000622, 0x0932e782, 0x01312fb5, 0x5d013110, 0x0100005d, 0x0000a0fe, 0x23826802, 0x1d000322, 0x0c3dde18, + 0x0012012d, 0x3f3f0003, 0x32382f01, 0x6433382f, 0x022a051d, 0x9dd5fc68, 0xb6052b03, 0x31824afa, 0x00013808, 0x021d036a, 0x00c70593, 0x40410014, + 0x00e00017, 0x16140114, 0x16c01660, 0x16f016e0, 0x01160f04, 0x0be00a0e, 0x40c0ffb8, 0x480f0a0e, 0xc0000a0b, 0x11e4040e, 0x82dc0cde, 0x33e12d56, + 0x0132cc1a, 0x32e12b2f, 0xd6105d5d, 0xb052cb84, 0x3329080a, 0x33363317, 0x02111532, 0x2d3f3f14, 0x7f152a41, 0x40091069, 0x1d03e582, 0x4451a601, + 0x41573415, 0x9d02a6fe, 0xfefa6558, 0x22c18250, 0x82006000, 0x088f82d6, 0x7600112a, 0x10024840, 0x00051002, 0x200b100b, 0x0b0b030b, 0x01133013, + 0x5a04000e, 0xdf050905, 0x07070107, 0x05100500, 0x070305c0, 0x603e0282, 0x11080008, 0x0e0f0e5f, 0x0e6f0e3f, 0x400e0803, 0x08481510, 0x040e080e, + 0x030a5f0d, 0xa3831204, 0x3939122a, 0x5e2b2f2f, 0x11e1105d, 0x070fa618, 0x5d2f3322, 0x32200b84, 0x2f200682, 0x2c05c377, 0x21013031, 0x23112115, + 0x33352311, 0x82098311, 0xc3013e03, 0xdcfe2401, 0x02b0b0b3, 0x02c3fdf0, 0x01eafd16, 0xfafe898f, 0x04890601, 0xfcfda427, 0x20b583a4, 0x32b58244, + 0x00c90523, 0x40870030, 0x150d1110, 0x23272b6f, 0x8223130f, 0x1e4b0801, 0xffb81b03, 0x093e40c0, 0x1b1b480e, 0x01321032, 0x401e2529, 0x1e480e0b, + 0x26752514, 0x29102611, 0x2a0d2a75, 0xd001266f, 0x2a0f012a, 0x2a3f2a1f, 0x2aaf2a4f, 0x26062abf, 0x002a262a, 0x1d741a1e, 0x00730718, 0xe13f0007, + 0x5132e13f, 0xb48407e3, 0x01240484, 0x33332b2f, 0x2b21bd83, 0x22df8433, 0x5c113311, 0x32230708, 0x56071716, 0x152105c0, 0x84c48215, 0x0da91803, + 0x8235200e, 0x343527e4, 0x9a02023e, 0xa918ae6a, 0x01240c11, 0x1788fe78, 0x0c15a918, 0x0f17a918, 0x9e89c031, 0x593e1389, 0xa6102b40, 0x44290b9a, + 0x82154361, 0xdd230810, 0x325f8957, 0x96000300, 0xb605ecff, 0x1b00b605, 0x35002a00, 0x18407900, 0x121c6f31, 0x186e0f10, 0x821c1815, 0x242c0801, + 0x050105ff, 0x48151240, 0xc0ffb805, 0x0e092c40, 0x37050548, 0x3701370f, 0x48100b40, 0x246e232b, 0x180f367c, 0x15121575, 0x1522732b, 0x24300182, + 0x06257335, 0x75001824, 0x3f001909, 0xe13f3fe1, 0xc741ea84, 0xf6102a07, 0x5d2b32e1, 0x2b2f3311, 0x05c2412b, 0x1033112f, 0x103232e1, 0x253031e1, + 0x37023e32, 0x07cd6c15, 0x37352334, 0x33153337, 0x14112315, 0x0e140116, 0x11232302, 0x43771123, 0x064a6206, 0x3b054a08, 0x1e23240f, 0x3f501707, + 0x24405835, 0x6b419c9c, 0xfe34d1d1, 0xcc7c348c, 0xfbb22f98, 0x3a7bbf86, 0x5d1abdfd, 0xa42e5b8b, 0x048139ae, 0x8a030806, 0x4622140c, 0xbf01486a, + 0xd3bd4d52, 0x4c56fe89, 0x5b89034e, 0xfd4d81a8, 0xbdca18c7, 0x0001320d, 0x04ecff3f, 0x00cb054a, 0xb4860039, 0x36280712, 0x08fb8319, 0x0d094b51, + 0x3b191948, 0x2c013b10, 0x05132323, 0x222e6f0d, 0x28012863, 0x23133a28, 0x24102460, 0x2d602c08, 0x245f2d05, 0x248f247f, 0x24ff24ef, 0x1f2d0f05, + 0x5f2d2f2d, 0xcf2d9f2d, 0x2d24062d, 0x37162d24, 0x07337400, 0x1d195f16, 0x333f0019, 0x42e13fe1, 0x5d200506, 0x3005d742, 0xe1103311, 0x33011132, + 0x33335d2f, 0x333232e1, 0x092a4211, 0x2709aa7a, 0x14060714, 0x17141415, 0x2d0b5555, 0x022e2223, 0x33352327, 0x34353426, 0x08823536, 0x33033e22, + 0x08054f42, 0x450803d3, 0x12435e76, 0x41feb001, 0x01020101, 0x2292fe81, 0x874b95b9, 0x5b853b3b, 0x5887b673, 0x0294a415, 0x12a09402, 0x72b88758, + 0x504fa061, 0x27057733, 0x5b8f6334, 0x0c0e0f89, 0x2913091a, 0xb8af8916, 0x1ca21a20, 0xc187491f, 0x1e178979, 0x082e161d, 0x90ca7d89, 0x92312b4e, + 0x00002b1f, 0xff8d0004, 0x05db05f8, 0x000300c1, 0x002b0017, 0x40860048, 0x3902010a, 0x0eb41846, 0xb8020003, 0x4a40f0ff, 0x46904670, 0x46d046a0, + 0x010edf04, 0x46021000, 0x0e00000e, 0x31040246, 0x040fb422, 0xff04ef01, 0x4a040204, 0x3100b440, 0x10310001, 0xe0312031, 0x0531f031, 0xfc423108, + 0xfc3dfd2c, 0xfc270736, 0xfc1dfd13, 0x06031909, 0x3f001801, 0xf4e13f3f, 0x056247e1, 0x715d5e25, 0x82de10e1, 0x17112304, 0x00822f39, 0x5d5d382a, + 0x10331138, 0x113311e1, 0x20063045, 0x0e604701, 0x210f746a, 0xaa562201, 0x2651080a, 0x06222326, 0x32331415, 0x06153736, 0xfc0a0506, 0x2b039dd5, + 0x502d6e01, 0x6e3f4470, 0x502c2f51, 0x6e3e4471, 0x33fe2f52, 0x2b3c2611, 0x11253c2a, 0x2a3c2511, 0x11263c2b, 0x7945cbfd, 0x5c35345a, 0x6433487d, + 0x551f2120, 0xc25f6722, 0x23235a33, 0x05a84563, 0x5398fb29, 0x2d2d577f, 0x87537f57, 0x337e0807, 0x23233e56, 0x3433563e, 0x21213d55, 0x9201553d, + 0x5a805226, 0x2652845f, 0x0d6b0f16, 0xe5767414, 0x126b1011, 0x02000013, 0xecff7700, 0xcb057b03, 0x3a002d00, 0x32405500, 0x4023702e, 0x23481410, + 0x06051123, 0x6e28353c, 0x11101419, 0x11301120, 0x11901180, 0x15181105, 0x11147636, 0x30002828, 0x00071e76, 0x06060b75, 0x3f00190b, 0xe1102f33, + 0x3912e13f, 0xe133332f, 0x2f013232, 0x0782c55d, 0xc1d61022, 0x2b201182, 0x30077143, 0x23030e33, 0x35022e22, 0x07060635, 0x37363635, 0x0ac54911, + 0x11070109, 0x13021e14, 0x0e222334, 0x3e111502, 0x206f0203, 0x031e2e39, 0x46260464, 0x6a3a4669, 0x612e3051, 0x2d5f3431, 0x4b68401c, 0x213d5736, + 0x477c5c35, 0x63372411, 0x17292066, 0x334e3609, 0x32167718, 0x83533b52, 0x5425305a, 0x11e76388, 0x0e790c1c, 0xee010f1e, 0x31536c3b, 0x456f4f2a, + 0x6886a663, 0x30d3fe26, 0x04213b51, 0x321bbc21, 0x6afe2a45, 0x79624e21, 0xc7000400, 0x89070000, 0x1700b605, 0x37002b00, 0xba003b00, 0x010e7240, + 0x39005a15, 0x22e12c39, 0xb0010010, 0x009f0100, 0x40003001, 0x22000200, 0x320a2200, 0x3a0f18e1, 0x3a2f3a1f, 0xef3a3a03, 0x67180118, 0xbf3d6f3d, + 0x033dcf3d, 0x0c013d40, 0x5a090308, 0x2f3c640a, 0xe5351de5, 0xdf1dcf27, 0x031def1d, 0x0b06401d, 0x1f270f48, 0x6f275f27, 0xef277f27, 0x1d060627, + 0x16271d27, 0x18061003, 0x030b0348, 0x0e38e539, 0xb6f0ffb8, 0x0e2b0d82, 0x00120a01, 0x2b33333f, 0x823fe033, 0x39392804, 0x5d5e2f2f, 0x18105d2b, + 0x2908c693, 0x105d5d32, 0x2f325de6, 0xd7571071, 0x4c0a8208, 0x312305ce, 0x18232130, 0x240e8977, 0x1135032e, 0x119d4233, 0x09087418, 0x35032308, + 0xa8041521, 0x0887fdcd, 0x05040406, 0x7602cfa6, 0x01040306, 0xa4010203, 0x4d29e102, 0x6b3f446d, 0x07832c4d, 0x4e6b3e3c, 0x4842fe2c, 0x47475151, + 0x63485151, 0xba04f001, 0x8e414c4d, 0x05e7fc39, 0xd018fbb6, 0xfc2409d9, 0x598253b9, 0x0c969f18, 0x73717e08, 0x6d727173, 0x931ffd6d, 0x00020093, + 0x05e50225, 0x00b60550, 0x00200007, 0x005d40a3, 0x0a1301c4, 0xc011c410, 0xe006d006, 0x066f0306, 0x40063001, 0x03065006, 0x0401061f, 0x11200106, + 0x010211d0, 0x06111106, 0x1e030301, 0xc4181519, 0x17af179f, 0x0f221702, 0x3f222f22, 0x40220322, 0x22481815, 0x48120f40, 0x03ef03cf, 0x091f0302, + 0x180c2009, 0x03070948, 0x141804c8, 0x40e0ffb8, 0x2e0e820c, 0x01081114, 0x04121501, 0x333f0003, 0x822f3333, 0x332b3503, 0x3332e110, 0x0133112b, + 0x2b2b5d2f, 0x5dd6105d, 0x323232e1, 0x4c05dd43, 0x27460574, 0x23013407, 0x21352311, 0x03012315, 0x15031e23, 0x33112311, 0x82331313, 0x3e343b06, + 0x03233702, 0xc47f6801, 0x02c70a02, 0x0107ba40, 0x7b010102, 0xb2bfb4ba, 0x0082017f, 0xc3066408, 0x6502e502, 0x9bfd6c6c, 0x22102502, 0xfe06181e, + 0xfdd10249, 0xfd2702d9, 0x09ac012f, 0x0c23231e, 0xffffdbfd, 0x00004e00, 0xcd05a605, 0x76010602, 0x02000000, 0xddff6600, 0x48048b04, 0x2f002200, + 0x21403b00, 0x111e4a23, 0x4a132f31, 0x05010510, 0x12181d1d, 0x3b2f2b4e, 0x2f2f022f, 0x0c4e2918, 0x5e4e180f, 0x5d2409b2, 0x2f3911e1, 0xe123cb82, + 0x18de1032, 0x2b0ae7c4, 0x1e323304, 0x11211502, 0x3233031e, 0x6408af82, 0x13030e17, 0x23032e11, 0x07020e22, 0x82790211, 0x2c4586c6, 0x8076664c, + 0x8ec2713f, 0x16c5fc51, 0x2e584d40, 0x4d5e744a, 0x53244822, 0x13cc8f6e, 0x355d4d3b, 0x3c495733, 0x9d5e2318, 0xa0636ecc, 0x1d3c5c7e, 0x83d1934f, + 0x2c189cfe, 0x3c201522, 0x39293757, 0x022c4d65, 0x1415018b, 0x1316232a, 0xfe172a21, 0x08d582e9, 0xecff5342, 0xb605d305, 0x7b002600, 0x27000014, + 0x5e021702, 0x07010000, 0x62034002, 0x3000b3fd, 0x03041f40, 0x01192702, 0xe40111f4, 0x11d00111, 0x0111b001, 0x300111a0, 0x2f110111, 0x590f0159, + 0x115d5d01, 0x25058441, 0x353f0035, 0x51823535, 0x51843320, 0x5182c920, 0x51867520, 0x518a8b20, 0x28403c22, 0x23085182, 0xf0011949, 0x33d00133, + 0x0133c401, 0xa00133b4, 0x33940133, 0x01336001, 0x24013330, 0x2f330133, 0x7b0f017b, 0x60825a89, 0x4f205d88, 0xaf825d84, 0x983d0221, 0x823d205d, + 0x01273f5d, 0xc40127d0, 0x27b40127, 0x0127a001, 0x60012794, 0x27300127, 0x01272401, 0x016f2f27, 0x5d956f0f, 0x5d887120, 0x41423f21, 0x3920050d, + 0x3422bb8a, 0xbb822240, 0x01191f3d, 0xeb0109f4, 0x09cb0109, 0x0109b401, 0x7f01099b, 0x092b0109, 0x512f0901, 0x8a510f01, 0x08b38557, 0x00020034, + 0x04ecff62, 0x00c5053b, 0x0043002b, 0x3321403b, 0x57004719, 0x01454045, 0x0601450f, 0x0c21483f, 0x4f384456, 0x212c1313, 0x0427501c, 0x1607502c, + 0x01483f00, 0xe12f2905, 0x32f61001, 0x5d5d5ee1, 0x3a059468, 0x040e1401, 0x022e2223, 0x043e3435, 0x17163233, 0x34353436, 0x0e222326, 0x60350702, + 0x012605da, 0x37043e32, 0x1282032e, 0x15047d08, 0x04021e14, 0x6541203b, 0x6a6db18a, 0x1722538c, 0x99735132, 0x2d935b62, 0x1f898b02, 0x1b414344, + 0x4f4b4318, 0x63a67d25, 0x359efd2a, 0x3543515e, 0x290a0a25, 0x3e2a493b, 0x253a4f66, 0x462d1512, 0xe16aa603, 0x528dbcd4, 0x4c8f6e42, 0x838d8d3c, + 0x454f3d65, 0xbe0b2a13, 0x1f160cc9, 0x170cae13, 0x96590a11, 0x2c73fcc4, 0x857a684d, 0x33452843, 0x6851301e, 0x322f6e6f, 0x00244056, 0x2a08f382, + 0x04000029, 0x00b60562, 0x000e0005, 0x02114058, 0x05090901, 0x04605b0e, 0x04b00470, 0x040404f0, 0x40c0ffb8, 0x480a0627, 0x18100404, 0x37115561, + 0x0d055b0d, 0x0912055f, 0x48110a20, 0x00030109, 0x3f2b333f, 0xe12f01e1, 0x21051f4a, 0xdd4de15d, 0x313b0805, 0x33013730, 0x01211501, 0x06272626, + 0x21030706, 0xbbbe0129, 0xc7fbc001, 0x2d207702, 0x1d2a110f, 0x71a602fa, 0xb9fa4505, 0x619a036f, 0xa84b4ba8, 0x0004fd5b, 0xfec70001, 0x82270514, + 0x00072e99, 0x00114037, 0x0965075a, 0x09300900, 0x05dd6840, 0x97830920, 0x18140f2f, 0x045a0348, 0x5f020864, 0x00040305, 0x08e6681b, 0x105d2b2b, + 0x3031e1f6, 0x11211101, 0x30038223, 0x14fd6d04, 0xfe6004ba, 0xf9fc0614, 0xf8a20704, 0x245d825e, 0x0414fe4a, 0x2f5d82e3, 0x405c000b, 0x705b080b, + 0x06020106, 0x0a000602, 0xb7275782, 0x0a480e09, 0x82070d0a, 0x40e02b63, 0x48180f09, 0x00000309, 0x71840d0c, 0x48181325, 0x18020208, 0x8207c05e, + 0x18e12071, 0x3207c05e, 0x1833112b, 0x2b33332f, 0x2f331132, 0x3939122b, 0x825d2f2f, 0x18132082, 0x3d0ac15e, 0xfd70024a, 0xfc4804a0, 0xfd3a02bc, + 0xfe9b03b0, 0x92037314, 0xa4722b03, 0x9dfc09fd, 0x938200a4, 0x02662408, 0x03020487, 0x0003001d, 0x021f4032, 0x01009605, 0x7901008b, 0x00560100, + 0x01004b01, 0x14010038, 0x82090100, 0xad002427, 0x1800b301, 0x2e0ba0ad, 0x3031ce10, 0x15213513, 0x029c0366, 0x83969687, 0xff25304b, 0x06c504f2, + 0x000800a0, 0x0113402c, 0x83050600, 0x080739de, 0x03030810, 0x070404ae, 0x2f2f0000, 0x01e12f39, 0x33382f2f, 0x2f193939, 0x2208ba82, 0x31333311, + 0x01230530, 0x13213523, 0x73023301, 0xb4ebfe85, 0x02e52901, 0x030e9200, 0x69fd8f0a, 0x8200ac05, 0x77790899, 0x31059101, 0x23000e04, 0x43003300, + 0x4f407600, 0x48011749, 0x45f0010d, 0x5f452f01, 0x273a0245, 0x276a274a, 0x01372a03, 0x27081a37, 0x2f773f04, 0x2f022f97, 0x301220aa, 0x78120212, + 0xab3f013f, 0xae2a3400, 0xae243a17, 0x1a273708, 0x00051704, 0x020d100d, 0x1f0d0d07, 0x2001179f, 0x00170117, 0x335d5d2f, 0x5d5e2f33, 0x39171233, + 0xe11032e1, 0xe12f0132, 0xe15d2f5d, 0x200f825d, 0x2b00825d, 0x5d5d3031, 0x020e1401, 0x27262223, 0x2606f848, 0x33023e34, 0x43171632, 0x8b08055b, + 0x37363205, 0x22232626, 0x1415020e, 0x2201021e, 0x16160706, 0x023e3233, 0x022e3435, 0x4d2b3105, 0x9b5d426d, 0x4e461d41, 0x6e412b53, 0x4e2b2d4f, + 0x9e55436f, 0x4f441d3e, 0x6d423057, 0x7bfc2b4d, 0x31346c3f, 0x4028456b, 0x2c15182c, 0x3f7c0241, 0x6c33376b, 0x2d402744, 0x402e1918, 0x723fcd02, + 0x73693457, 0x1e384f30, 0x4875522c, 0x31567341, 0x4e30706b, 0x522d1f38, 0x6157f975, 0x331d5a5e, 0x42242644, 0x6a011e32, 0x5c5d6157, 0x44080d82, + 0x31432627, 0x0001001c, 0x0314fe10, 0x00140606, 0x40370023, 0xd0251023, 0x04140225, 0x01040601, 0x1bac0d04, 0x15090115, 0x1e101501, 0x1e021e20, + 0x1c12ae19, 0x0000ae07, 0x3fe13f00, 0x5d2f01e1, 0xe15d5d33, 0x20f68432, 0x20e28201, 0x20d98615, 0x93721811, 0x343b080f, 0x8302023e, 0x12164b22, + 0x4233243d, 0x59321027, 0x4b244a7c, 0x233e1417, 0x122a4533, 0x0679572f, 0x93090914, 0x41271109, 0xd7fa2d54, 0x2956865e, 0x0893080b, 0x54402510, + 0x82270530, 0x00282a0e, 0x01660002, 0x0402047b, 0x08a18225, 0x4b004743, 0x1d412e40, 0x01491049, 0x200a102e, 0x400a020a, 0xaf31ad29, 0x0aad1743, + 0x051caf1f, 0xef0ddfad, 0x030dff0d, 0x120f400d, 0x3b0d0d48, 0xb3432ead, 0xe1333f00, 0x5d2b2f33, 0x32f533e1, 0xe1f510e1, 0x26ba8433, 0x3132ce10, + 0x472e0130, 0x3522051d, 0xba183336, 0x0320105a, 0x02271b9a, 0x2d372512, 0x181c1629, 0x201a76ba, 0x2e219a2f, 0x321d9761, 0xbc014337, 0x050d1610, + 0x182c2113, 0x231398ba, 0x1510ae01, 0x20281c82, 0x6da21a2c, 0x14190e05, 0x2d200d85, 0x74082a85, 0x66000100, 0x0204a400, 0x13000405, 0x1140a600, + 0x110e0d0a, 0x12120912, 0x07040300, 0x09081308, 0xf0ffb813, 0x10094f40, 0x09130913, 0x150b1006, 0x01011540, 0xbb0106c6, 0x06a90106, 0x01068601, + 0x6801067b, 0x06420106, 0x01063901, 0x08080906, 0x07ad040d, 0x11121213, 0x1f0ead00, 0x02032f03, 0x0001037f, 0x02031003, 0x0a030306, 0x0f0107f0, + 0x02076f07, 0x08fd4207, 0x33715d2f, 0x113232e1, 0x32e11033, 0x01331133, 0x05bb472f, 0x335d5d22, 0x2905a863, 0x382f2f39, 0x7d331138, 0x0082c487, + 0x10330122, 0x31270784, 0x35230130, 0x82211321, 0x07172603, 0x03211533, 0x08038221, 0x5e01272a, 0x793e01f8, 0xfc0149fe, 0xfa698a85, 0x017bc1fe, + 0x8100feba, 0x96ba0189, 0x01950401, 0x95e03b1b, 0xfe96fcfe, 0x020039ea, 0x2108ef82, 0x04020400, 0x000600dd, 0x4052000a, 0x0c000932, 0x08010c40, + 0x01010140, 0x05050102, 0x006f0603, 0xe718007f, 0xb48433bf, 0x25303135, 0x15013501, 0x21350209, 0xfc020415, 0xfd9c0364, 0x83df0221, 0x01ee2107, + 0x08c8e718, 0x9671fe24, 0x89920096, 0x89850520, 0x0601062a, 0x01010405, 0x066f0003, 0x354de718, 0x13218986, 0x218a8301, 0x8a821501, 0xe2026626, + 0x9c031efd, 0x012c8783, 0x0142018f, 0x1ffea26a, 0xee58fe66, 0x39088785, 0x0400006d, 0x00c3053f, 0x00090005, 0x0236405d, 0x04050901, 0x03070907, + 0x0b00ac06, 0x40010bff, 0x800b500b, 0xc00bb00b, 0x0b0f050b, 0x08020b2f, 0x010310aa, 0x00080303, 0x01820806, 0xad070222, 0xad302c82, 0xe12f0002, + 0x3912e13f, 0x2f2f3d39, 0x33113311, 0x2305ec54, 0xde105d5d, 0x11211483, 0x08128233, 0x30313331, 0x01230101, 0x03093301, 0x3cfe3f04, 0x013efe4c, + 0x0c014cc2, 0xcffecffe, 0xe1023101, 0xdf021ffd, 0x1efde402, 0x00fe0002, 0xff00fefd, 0x821d00ff, 0x172d0897, 0x26001f06, 0x00004900, 0x4c000701, + 0x0000a202, 0x18402400, 0x1daf0102, 0x011d5001, 0x0f011d1f, 0xaf1d011d, 0x2f40012f, 0x012f0f01, 0x06ff495d, 0x86353521, 0x8a06203d, 0x844f203d, + 0x4022223d, 0x263c8e17, 0x21400121, 0x89210f01, 0x01003f3c, 0xd904cf00, 0x1706cd03, 0x3f001500, 0x17002940, 0xaf021720, 0x0217cf17, 0x17701730, + 0x1f820f02, 0x0a000029, 0x06020a30, 0x827f0a0a, 0x0640360c, 0x00004809, 0x00058e10, 0x2f33e12f, 0x01335d2b, 0x335d5e2f, 0x060a5a2f, 0x2105bd45, + 0x494b3327, 0x08568206, 0x8d5d3143, 0x588c6764, 0x05aa0529, 0x354c321b, 0x2236492c, 0x4e170606, 0x27295176, 0x39507750, 0x13102949, 0x0035482b, + 0xfebcff01, 0x04640114, 0x0013004a, 0x10134023, 0x02152015, 0x030c470f, 0x14540c03, 0xafcc180d, 0xc15c1808, 0x30312207, 0x214d1813, 0x33112a0a, + 0x020e1411, 0x173f3042, 0x9dcc181a, 0x7d841809, 0x042c080a, 0x4d18fbf4, 0x002f577b, 0x87010100, 0x7902cd04, 0x0d001406, 0x0c401900, 0x063f8505, + 0x000c0601, 0x0005920c, 0x01e53f00, 0x5ddd332f, 0x0c906e18, 0x0987013a, 0x040e1112, 0x291f06b4, 0x0460162e, 0x514d1ee7, 0x19142150, 0x2056564e, + 0x6f264b82, 0x75023bfe, 0x4b8283ff, 0x09401628, 0x0500000c, 0x49830685, 0x48822f20, 0x2f32e125, 0x18303133, 0x320a8175, 0x181a0b6f, 0x06b20413, + 0x1d362c1f, 0x1956fe62, 0x8253544c, 0x574d2348, 0x95832156, 0xd9047d26, 0x21068302, 0x17224982, 0x49850a40, 0x82920521, 0x86938307, 0x030e384a, + 0x3e352307, 0x02333703, 0x181a0c83, 0x05b20412, 0x1c372d1f, 0x84060662, 0x1815214a, 0x2b089382, 0x00020021, 0x02390225, 0x00c7057f, 0x001d000b, + 0x0619402a, 0x4f1f0ce1, 0x021f7f1f, 0x0a06401f, 0x16e10048, 0xde1be509, 0xdf11e503, 0x24068b46, 0x105d2be1, 0x21f282de, 0xe94e1413, 0x0d045909, + 0x47b81624, 0x00824e51, 0x2b0f9258, 0x02049a95, 0xa79fa1a5, 0xa59f9fa5, 0x26065058, 0x74a96c6c, 0x8200ec3c, 0x020c3c85, 0x058f024a, 0x000a00bc, + 0x40460015, 0xe102092a, 0x0303070b, 0x8f175f17, 0x83170217, 0x15250889, 0x040105e1, 0x0b0f09e5, 0x0b2f0b1f, 0x0b0b0803, 0x07e50f02, 0x00dd02dc, + 0x12e13f3f, 0x5d5e2f39, 0x0132e133, 0x519d822f, 0x5f080626, 0x23013031, 0x21352315, 0x11330135, 0x34352133, 0x030e3736, 0x8f020707, 0x89fe8f7d, + 0x7d8d7901, 0x0303f4fe, 0x18161405, 0x0a039b09, 0x026fc0c0, 0xc3cdfd43, 0x0b31632a, 0x0f282a25, 0x010000f0, 0x37023b00, 0xb6056602, 0x4a002400, + 0x22211740, 0x1d1d1e22, 0xe114200b, 0x264f2605, 0x2602267f, 0x0b359383, 0x40c0ffb8, 0x48181211, 0x00e5170b, 0xe5211100, 0xe511dc1e, 0x05294108, + 0xe1298682, 0x2b2b2f01, 0xe1de105d, 0x21938433, 0x93823311, 0x021e3226, 0x23061415, 0x0ce84618, 0x0e224c08, 0x13270702, 0x07211521, 0x42013636, + 0x2d4f6b3d, 0x793fa1a6, 0x3d3c1a2c, 0x5f55183b, 0x250d595f, 0x430e2527, 0xfeba0121, 0x391412be, 0x44236d04, 0x9d8c4165, 0x128d1a1c, 0x4c0a131b, + 0x04554d58, 0x2b020706, 0xd77ba801, 0x41000603, 0xd53408d1, 0x2d001d00, 0x20403800, 0xe1210a10, 0x2f4f2f00, 0x2f022f7f, 0x152eb583, 0x240ae129, + 0x191915e4, 0x1ede0f10, 0xae8405e5, 0x2f393323, 0x21ae8233, 0xaf8432e1, 0x82391221, 0x0a7753a9, 0x0e173728, 0x36330703, 0xbd823336, 0x36320522, + 0x0806c74c, 0x1e141575, 0x2a7f0202, 0x40446f4e, 0x452f526e, 0x2d6eb27e, 0x40607f4f, 0x631b0b0f, 0x405a364a, 0x44dbfe24, 0x27474d54, 0x19192d3f, + 0x66033d2d, 0x2d506f41, 0x5380582d, 0x6d8fb36e, 0x401b6d27, 0x2b3b604f, 0x69482531, 0x52565cf7, 0x3729195a, 0x35492c1e, 0x0001001d, 0x024a022f, + 0x00b60564, 0xb9380006, 0xf0ff0000, 0x00001f40, 0x05e10102, 0x7f084f08, 0x83080208, 0x02d030c1, 0x02f002e0, 0xe5020203, 0xdd00dc03, 0x823f3f00, + 0x845d20ba, 0x391135b9, 0x3031382f, 0x35210113, 0x8d011521, 0x62fe4001, 0xbffe3502, 0x25085182, 0xfc647bf1, 0x000300f8, 0x02390231, 0x00c70571, + 0x00340025, 0x40770044, 0x21e13822, 0x0a05e142, 0x041c323d, 0x01822105, 0xe12c172a, 0x464f460f, 0x4602467f, 0x38086a83, 0xb817e126, 0x2740c0ff, + 0x17481815, 0x323d1c0a, 0x325b324b, 0x329b326b, 0x320532ab, 0x3db63514, 0x3dd63dc6, 0x29003d03, 0x35df14e5, 0x00de00e5, 0xe13fe13f, 0x115d3911, + 0x24038412, 0x2b2f0139, 0x2b9884e1, 0x2f393912, 0x3917122f, 0xe110e110, 0x22070642, 0x7407020e, 0x74180538, 0x2e2607e1, 0x3e343503, 0x59430302, + 0x022e2e06, 0x06062727, 0x15062213, 0x17021e14, 0x081b823e, 0x520126aa, 0x2a465e34, 0x1e342716, 0x1c303e22, 0x3f694d2a, 0x2a19968b, 0x2e1b1f38, + 0x482b1323, 0x484a625f, 0x27164b4a, 0x410f2137, 0x3f389442, 0x1a2d2012, 0x13202c18, 0x1bc70541, 0x25385437, 0x1128323e, 0x45372d13, 0x425d392a, + 0x2a738324, 0x112b3845, 0x3e352b14, 0x37533825, 0x3b68fd1c, 0x1e3b4646, 0x0f202730, 0x014d2206, 0x1b3637e8, 0x0d1d242a, 0x2c231c0c, 0x0037361c, + 0x02210002, 0x057b0239, 0x002500c9, 0x403b0035, 0xe0113122, 0x37001c09, 0x377f374f, 0x06403702, 0xe129480a, 0x11e42c1c, 0x26051717, 0x0cde21e5, + 0x21065742, 0x584212e1, 0x5d2b2506, 0x3911de10, 0x08144318, 0x21098b45, 0xbf4b2337, 0x021e220b, 0x4bef8325, 0x1d0908ab, 0x5a217b02, 0x401981a2, + 0x19361515, 0x1d406c53, 0x240d0903, 0x3c263d30, 0x29244460, 0x41436c4b, 0xfe305472, 0x4a5644cb, 0x2d3f264c, 0x3e2a1518, 0xbb604204, 0x07085b93, + 0x350a0d7d, 0x123d7257, 0x25111b24, 0x42416647, 0x2f2d516f, 0x5eac9361, 0x19584c58, 0x241a3329, 0x00243b48, 0x54001600, 0xc10781fe, 0x0500ee05, + 0x11000b00, 0x1b001700, 0x23001f00, 0x2b002700, 0x33002f00, 0x3b003700, 0x43003f00, 0x53004700, 0x6f005f00, 0x81007800, 0xe4009000, 0x2c345940, + 0x18381c20, 0x707a5157, 0x6467746f, 0x6b7e8264, 0x51c05170, 0x510351d0, 0x6f6b6b6f, 0x895d0351, 0x8c5f8c4f, 0x448c8c02, 0x17092428, 0x604b505d, + 0x4b4b024b, 0x00313d41, 0x46422a0c, 0x8632263e, 0x796f8f8f, 0x7a707067, 0x546f7a60, 0x6f704848, 0x61026f80, 0xb86f016f, 0x2540c0ff, 0x6f480c07, + 0x4e5a606f, 0x1f788a4e, 0x3f602f60, 0x04606f60, 0x2c016060, 0x0c12181c, 0x07213539, 0x0701010f, 0x5e2f0001, 0x7353335d, 0x12332306, 0x0c832f39, + 0x11332f28, 0x5d2b2f33, 0x0883335d, 0x73441120, 0x822f2006, 0x2103830d, 0x2d822f01, 0x82333321, 0x5e088828, 0x112006d7, 0x06824685, 0x2d843e82, + 0x1330313c, 0x23152111, 0x21352515, 0x01352311, 0x33153311, 0x33352115, 0x21113335, 0x09822135, 0x01152122, 0x01240782, 0x11331123, 0x0b870382, + 0x33200783, 0x35201786, 0x03831783, 0x3526222b, 0x32373634, 0x06141516, 0x06394427, 0x14150625, 0x84330116, 0x15072212, 0x23198316, 0x33132323, + 0x23221c85, 0x09861515, 0x16350523, 0x820a8316, 0x14230863, 0x54222306, 0x05c02f01, 0x6d3001ce, 0xc06f00f9, 0x6dc30e05, 0x110149fd, 0x0e01e1fb, + 0x0e01f2fe, 0x826db704, 0xc2fb3100, 0x30fc1001, 0xc0026f6f, 0x01771001, 0x6fa8fa11, 0x06290082, 0xfa6d6dfe, 0x87877f99, 0x0803837f, 0x3f3f483e, + 0x42424548, 0x6dac9f01, 0x382d2d70, 0xcf5e6d33, 0x242e427b, 0x4a3b3029, 0x34262531, 0x20100e01, 0x7d312514, 0x043d5f68, 0x6f3001be, 0xfe6fc1c1, + 0x02f9c1d0, 0x6dc22f01, 0xd1fec26d, 0x6d326482, 0x6f6ffe06, 0x0e01a8fa, 0x0f010202, 0x6d6d3bfa, 0x7f82a601, 0x69824a20, 0xfc6f4e08, 0x7910012f, + 0x68fd0f01, 0x8afe1001, 0x9b918e9f, 0x8e919c01, 0x5e67689f, 0x5e66665e, 0xea01675e, 0x44315343, 0x440b0408, 0x0159513a, 0x22202262, 0x2b9ae31d, + 0xfc2a2025, 0x24050366, 0xfe920132, 0x00645e72, 0xfe540003, 0x06aa07c1, 0x08098214, 0x2f00233e, 0x28405000, 0x24232304, 0x2a302a20, 0x2a032a40, + 0x01244f2a, 0x1c022424, 0x15020b0b, 0x23230215, 0x2d012d30, 0x0327272d, 0x03101019, 0x332f1900, 0x11332f18, 0x2f332f33, 0x012f335d, 0x0d830e84, + 0x0f820382, 0x06825d20, 0x30313337, 0x35050309, 0x36373634, 0x2e343536, 0x0e222302, 0x36170702, 0x068d4136, 0x15060623, 0x077d4415, 0x23267208, + 0xfe030622, 0x54fcac03, 0xeb0356fc, 0x4d634c21, 0x51835b31, 0x52575a2b, 0x7e445222, 0x273e3f38, 0x1b4a4552, 0x47444647, 0x47464447, 0x56fc1406, + 0xa90357fc, 0x3e2c2ffb, 0x59834c3a, 0x274a6b45, 0x14231b10, 0x3a2e22b2, 0x4144312f, 0x3b507935, 0x493eedfe, 0x49403e49, 0xffff0049, 0x14febcff, + 0x21065502, 0x37022602, 0x07000000, 0xbbfe4c01, 0x21178200, 0x3f691700, 0x06022305, 0x17820702, 0x00025608, 0x04ecff0a, 0x002b06b2, 0x004f000c, + 0x4d474075, 0x3e10430d, 0x47083b00, 0x3b1a4343, 0x10004f47, 0x51101001, 0x3f0151a0, 0x47330151, 0x1a101a00, 0x1a031a20, 0x3e295022, 0x004e4f4f, + 0x1029004e, 0x40293029, 0x05295029, 0x294e2906, 0x5005384e, 0x50380148, 0x05b35315, 0x02581220, 0x33112905, 0x1032e110, 0x5d2f01e1, 0x2406ad6c, + 0x3911e133, 0x2103822f, 0x21821139, 0x01303125, 0x4523032e, 0x05270583, 0x14151616, 0x53060602, 0x2d7f06d5, 0x36362708, 0x021e3233, 0x6c501415, + 0x32332605, 0x26341112, 0x05cb4527, 0x2a081883, 0x03153317, 0x4d390d6a, 0x564c305b, 0x01ab6a2e, 0x4002023c, 0x6f83c481, 0x0a225692, 0x1f1f0a0b, + 0x25103618, 0x32366425, 0x82132c45, 0x1560080f, 0xa43a4e30, 0xae0202a4, 0x274396f2, 0x68597f51, 0x124b75a1, 0x6cd1038f, 0x583d74aa, 0x52693848, + 0x3a168a33, 0xeefe9f1f, 0x5f3773c9, 0x5d28457d, 0x2d184b59, 0x7f0a0f21, 0x321c1a11, 0x56232844, 0x2a2d615d, 0x011f364a, 0x17300132, 0x4b02143e, + 0x43519a78, 0x542e5270, 0x898bdf9c, 0x00010000, 0x7d080082, 0xc3054804, 0x8f002200, 0x24af1b40, 0x240224ef, 0x480c0940, 0x0121ab22, 0x40012198, + 0x211b0121, 0x01210f01, 0xf0ffb821, 0x21214440, 0x0d1b1f00, 0x010d0f01, 0x1612200d, 0xaf0d9f48, 0x0d7d020d, 0x010d6b01, 0x4f010d5a, 0x0d2b010d, + 0x0d020d3b, 0x775a1e0d, 0x971f871f, 0x1f4f031f, 0x101f0001, 0x1f07021f, 0x211f001d, 0x11121f03, 0x3f00040a, 0x123f3fc1, 0x2f013939, 0x5d5d5d5e, + 0xc64e32e1, 0x712b2706, 0x33391171, 0x1382382f, 0x335d5d2a, 0x30315d2b, 0x37033e01, 0x5005f35c, 0x590806e1, 0x07050e07, 0x01112311, 0x191d0233, + 0x183c3f3d, 0x40352f16, 0x112b2329, 0x0b0d200d, 0x1323201c, 0x3632280d, 0xbb133236, 0x02cb42fe, 0xa0a84bdb, 0x3d282c89, 0x08091427, 0x07050391, + 0x18232a17, 0x85806e55, 0xe3fd3c85, 0x87032f02, 0x12000200, 0x6006ecff, 0x1c004a04, 0xfb823c00, 0x19476e08, 0x2f012f67, 0x012cd547, 0xa9012cb7, + 0x2c9a012c, 0x2c2c0301, 0xab483703, 0x0212bb12, 0x143e1212, 0x3e54013e, 0x3e843e64, 0x3eb43ea4, 0x013e4005, 0x013e3002, 0x22013e0f, 0x10030048, + 0x40033003, 0x05035003, 0xffb80306, 0x121540c0, 0x1a034815, 0x272d2d00, 0x50080e1d, 0x27320f0b, 0x16001650, 0xe1323f00, 0x32e13f32, 0x2f391232, + 0x31fe8212, 0xe15d5e2b, 0x5d5f5d5d, 0x3311715d, 0x11e15d2f, 0x0b822f39, 0x13825d20, 0x30313932, 0x35262205, 0x37023e34, 0x21373521, 0x031e2315, + 0x2306244a, 0x03060623, 0x0a235c18, 0x15333523, 0x081b4714, 0x02278b08, 0x12c3b629, 0xfe1a2b20, 0xc80586eb, 0x1b2618f3, 0x6ab5c40f, 0x1f0b1f8b, + 0x2816ba8b, 0x361d121f, 0x442e2d4b, 0x62b3162c, 0x364b2d52, 0x24190f1d, 0xf3ea1415, 0x7b7e7d39, 0x9a504a38, 0x7d7e7b38, 0x57eaf339, 0x03575b5b, + 0x797636c4, 0x83623a7a, 0x4829214e, 0xb0b03962, 0x4e218a82, 0x7a3a6283, 0x00367679, 0xc700ffff, 0x2f060000, 0x26027507, 0x00003000, 0x76000701, + 0x54017901, 0x0b401300, 0x26052701, 0x201a4b01, 0x196f0f09, 0x82ae200a, 0x0687222d, 0x202d8221, 0x822d8650, 0x282d843f, 0x0126113a, 0x16332d7a, + 0x262d8a2b, 0x04d5fd00, 0x82bc05dd, 0x8324202d, 0x5b022f2d, 0x00001b01, 0x03b70d00, 0x151f0102, 0x29830704, 0x83833520, 0xd5fd5e26, 0x5e049c03, + 0x44202782, 0x00212785, 0x212786bc, 0xac183d14, 0xff2508f5, 0xffd3feff, 0xef7918ec, 0x5c02230b, 0x278240fe, 0xb63f3008, 0x032d0203, 0xb8350203, + 0x09b2c0ff, 0xffb8480f, 0x351a4021, 0x250a0a35, 0x00b00001, 0x01008001, 0x5001007f, 0x00400100, 0x01001f01, 0x845d1100, 0x35352700, 0x35352b2b, + 0x03823f00, 0x00020032, 0x02d5fd73, 0x0083ff37, 0x001f0013, 0x1428403a, 0x10517f18, 0x8c1d2008, 0x05100500, 0x05400530, 0x05a00550, 0x060705f0, + 0x0f8c1705, 0xd4e12f00, 0x01e15d5e, 0x18e15d2f, 0x08204b7f, 0x23370220, 0x3231543d, 0x20203b52, 0x3032523b, 0x74233e54, 0x3f323140, 0x40313839, + 0x5133aefe, 0x82181d38, 0x998212bb, 0x68049328, 0xc705d902, 0x99820d00, 0x0940422b, 0x400e3015, 0x110e020e, 0x08ec821a, 0x091c4031, 0x1a1a4810, + 0x04010d2b, 0x020d140d, 0x0c05060d, 0x113f0c05, 0x115f114f, 0x001d1103, 0x395dcc2f, 0x012f2f39, 0x5d5dcd2f, 0x332b2f32, 0x43395dcd, 0x332f0586, + 0x07030e15, 0x36342523, 0x06061537, 0x4c1e1415, 0x013d06b4, 0x18190bb0, 0x12cf0816, 0x1f3e3830, 0x78e3fe52, 0x1f393c7a, 0x2f321f25, 0x8904453a, + 0x4a7d181e, 0x4e783809, 0x164c1f73, 0x1213182e, 0x251c1a10, 0xff004627, 0x001d00ff, 0x50b90600, 0x3a08076f, 0x49002700, 0x0000a202, 0x4c000701, + 0x00004405, 0x26403800, 0x398f0203, 0x01397001, 0x2f013940, 0x390f0139, 0xe0013901, 0x1fb0011f, 0x4baf1f01, 0x014b7001, 0x0f014b40, 0x505d014b, + 0x352005c4, 0x5005a341, 0x062107c9, 0x205992a8, 0x2259844f, 0x99254036, 0x013d2958, 0x40013d70, 0x3d0f013d, 0x4a08588f, 0x7d000200, 0x2506ecff, + 0x20001406, 0x4b003400, 0x061b2c40, 0x5b200913, 0x5b2b0101, 0xc0366709, 0x36bf0136, 0x01367001, 0x365f362f, 0x135b2102, 0x1b063566, 0x205f300e, + 0x5f260418, 0x3f00130e, 0xe1ce3fe1, 0x01393912, 0x82e1f610, 0x825d20b1, 0x2f332206, 0x065146e1, 0x030e1723, 0x084b4607, 0x02262627, 0x36123435, + 0x05bc5636, 0x14013524, 0xa956021e, 0x22232e07, 0x1706020e, 0x3f280c0e, 0x2d2b3f5a, 0xa0791851, 0xef280808, 0x51ec9ea4, 0x08193129, 0x6b34f2fb, + 0xa57272a5, 0x6a32326b, 0xa67272a4, 0x1406346c, 0x61703c16, 0xd859184c, 0xebfeaa7f, 0x0baa7918, 0x0c666f2b, 0x345d4a35, 0xdb89c9fc, 0x7fee1899, + 0xff71260f, 0x04f404ec, 0x08e982f2, 0x4a002c2d, 0x4a172c40, 0x121e1919, 0x0048270a, 0x02001000, 0x2e000007, 0x2e902e10, 0x2eb02ea0, 0x0a482104, + 0x1e122d56, 0x17502a05, 0x7a24100f, 0xc62006fa, 0x1124e988, 0x5d5e2f33, 0xec820d83, 0x860d434e, 0x853320de, 0x0bf57afb, 0x2d042308, 0x6fb27d43, + 0x477fae67, 0x6fb37c43, 0x2e3fa964, 0xc6061934, 0x3f2d100f, 0x24203956, 0x9a8900fd, 0x0383879a, 0x27026608, 0x4c91d589, 0x89d5914c, 0x4b91d388, + 0x370d4447, 0x17335d4b, 0x435e784a, 0x5e9e4114, 0xd1d3d3d1, 0x00d0d0d0, 0xb8000100, 0x4e06ecff, 0x24001406, 0x32405100, 0x08085b06, 0x9f015a23, + 0x0eb0010e, 0x010eaf01, 0x70260e0e, 0xf0268026, 0x265f0326, 0x10260001, 0x5a1b0226, 0x01256418, 0x06240d0d, 0x5f1e0319, 0x05bb4113, 0x2f333323, + 0x06bb4133, 0x5d24d382, 0xe133715d, 0x1523d285, 0x8435033e, 0x4f1120c4, 0x11220720, 0x94451133, 0x37420805, 0x34dd0411, 0xc60a203e, 0x55320f0f, + 0x85425b80, 0xc48088c9, 0xacbb4485, 0x528059b0, 0xb6050128, 0x4e3206c4, 0x47163864, 0x0f4a6982, 0xc47291fd, 0x8e4d5290, 0xae037ac7, 0xbfb048fc, + 0x51886236, 0xbd82b603, 0xffa44708, 0x047905ec, 0x002700f2, 0x1f334054, 0x0121214a, 0x271a4717, 0x29102927, 0xa0298001, 0x0329e029, 0x0001296f, + 0x30292029, 0x0f070329, 0x28540c47, 0x1f26261a, 0x120f0d18, 0x16070250, 0x3f001500, 0x3fe1333f, 0xc086c633, 0x465d5e21, 0x3322056f, 0xc08432e1, + 0x4d272121, 0xb7880770, 0x33113522, 0x0334d589, 0x190a1b75, 0x305c5245, 0x2f5c8a5b, 0x516f6ab6, 0xb61d436e, 0x9324d58a, 0x14293f2b, 0x0fd1d818, + 0xd8827b20, 0x1738653c, 0x486d8847, 0x00b0fc07, 0x8ffc0100, 0x19fed904, 0x0d002106, 0x0a401600, 0xe7180600, 0xfe3a1b9b, 0x51237919, 0xdb10404d, + 0x302e2b10, 0x1cd90416, 0x1b515853, 0x51502315, 0x49821d4c, 0x8248fd21, 0x87d12049, 0x00062549, 0x0c0f8005, 0x17c7c318, 0x1548fd25, 0x822b2e30, + 0x4d3f2b48, 0x04792252, 0x514c1df4, 0x83182350, 0xfc2c0805, 0xffd90446, 0x00e30514, 0x4038001b, 0x4c198418, 0x2842fe37, 0x1f474c4f, 0x680e302d, + 0x4a352105, 0x4d51292e, 0x2e2d1d45, 0x2b0d830f, 0x23db0449, 0x3e35232b, 0x2645613c, 0x0a198418, 0x04fd0128, 0x79feb804, 0x8d828f06, 0x12402628, + 0x0d080805, 0x05821500, 0x190f1234, 0x1902191f, 0x2f000680, 0x325dcc1a, 0x01331139, 0x0683cc2f, 0x25054d43, 0x27230707, 0xba4b033e, 0x06580805, + 0x36363507, 0xfe163233, 0x3c2d1b79, 0x0e710a22, 0x172a3c25, 0x1d322415, 0x1010341c, 0x85852932, 0x3a27d305, 0x6f071b29, 0x181006b0, 0x20181821, + 0x03030713, 0x5b05036c, 0xfd010000, 0xfe98fe31, 0x007dff06, 0xb50f000d, 0x0b008708, 0x2f000391, 0xe12f01e5, 0x34053031, 0x08050e4c, 0x23020e20, + 0x31fd2622, 0x3f2b2d3e, 0x15271d11, 0x3cf63e2d, 0x1d3c3737, 0x370e1c2b, 0xc700ffff, 0xbd180000, 0xc92a2c51, 0x10050000, 0x26027307, 0x7e82b201, + 0x43000734, 0x52014200, 0x01b41500, 0x01260518, 0xb4a3ffb8, 0x5818181e, 0x5f820995, 0xecff712a, 0x2106e103, 0x48002602, 0x06242f82, 0x00944300, + 0x02202d82, 0x1633b318, 0x0000ae24, 0x2d833b04, 0x85d20121, 0x83ca202d, 0x0c01222d, 0x215b8511, 0x49180c12, 0x5f080ca1, 0x07ecff7d, 0x00c9055e, + 0x40710045, 0x39041448, 0x36c5255a, 0xa6369601, 0x36890236, 0x1d363601, 0x670c5b41, 0x10470047, 0x47000247, 0x47504720, 0x47d04770, 0x070647e0, + 0x661d5b2e, 0x33373746, 0x035f2900, 0x22072626, 0x09201404, 0x3c14480e, 0x18115f33, 0x333f0013, 0x2b3232e1, 0x1133333f, 0x12260882, 0x10012f39, + 0x5418e1f6, 0x5d21090e, 0x2315825d, 0x01303139, 0x11215218, 0x23272626, 0x22230606, 0x6a0b0746, 0x14290743, 0x3233021e, 0x33113736, 0x0abe5c11, + 0x3c687708, 0x3b4c2a5e, 0xb777518f, 0x813f407d, 0xaa6f88c6, 0xa84b0249, 0x81c6886e, 0xb77d403f, 0x3b8f5177, 0x3c5f294c, 0x2b507145, 0x5c8a5c2e, + 0xbb2e7639, 0x5c3b762e, 0x2c2e5c8b, 0x25057150, 0x2a9c202e, 0xfeb8632c, 0xfeaaa6f8, 0x3277d2df, 0x77323030, 0xaa2101d2, 0xb80801a6, 0x9c2a2c63, + 0x8a462e20, 0xe58d88cf, 0x262459a4, 0x43febd01, 0xa4592426, 0xcf888de5, 0x3b4c468a, 0xf4053a05, 0x2c004a04, 0x0940e700, 0xc9011065, 0x0222f922, + 0xf0ffb821, 0x48100ab3, 0x2107832c, 0x07841b12, 0x0a19403a, 0x1000480f, 0x26481b0a, 0x210e220d, 0x002c1522, 0x660f5606, 0x0e0f020f, 0x49082582, + 0x0e1f4840, 0x7f0e6f01, 0xdf0e9f0e, 0x0e59040e, 0x010e4f01, 0x6b011574, 0x15240115, 0x24021534, 0x44063406, 0x94067406, 0x060e0506, 0x060e1515, + 0x471b0103, 0x1c101c00, 0x1c1c0702, 0x202e102e, 0xd02e302e, 0x052ee02e, 0x4c830102, 0x26011e2a, 0x481d1540, 0x140c2026, 0x22086d82, 0x0e1b0310, + 0x06150f01, 0x06360626, 0x00220602, 0x323f0015, 0x33115d32, 0x1733333f, 0x012b2b39, 0x8233382f, 0x5e2f2a0d, 0x1712e15d, 0x2f2f3d39, 0x068e4c18, + 0x84715d21, 0x11332618, 0x12113333, 0x36298239, 0x315d2b2b, 0x01215d30, 0x16161333, 0x033e3317, 0x33031337, 0x83031e13, 0x3598080a, 0x02021433, + 0x03230706, 0x0e352626, 0x01030703, 0xbc89fe77, 0x09261ce0, 0x1a150707, 0xa2770f1d, 0x1f0cc9bc, 0x0705181e, 0x1941725a, 0x9a5c25b7, 0x0c77c075, + 0x0906010d, 0x0498040a, 0x5756fd4a, 0x3a16339d, 0x01204541, 0xfdcf010c, 0x676321b0, 0xd067195c, 0xa398ffe2, 0xf5fedffe, 0x54017ffc, 0x01033520, + 0x0a1d1b13, 0x0000aafe, 0x00140002, 0x06bc0400, 0x00160014, 0x409b0021, 0x1700130a, 0x15150c5a, 0xb80c1006, 0x0d40c0ff, 0x2048271a, 0x9002010c, + 0x020ca00c, 0xb3231183, 0x84481813, 0x40440819, 0x0c480e0b, 0x5b1b0e0c, 0x00236706, 0x50233023, 0x80236023, 0x23e00523, 0x01239f01, 0x0e012350, + 0x16005f21, 0x13105f0d, 0x0100b010, 0x4f010089, 0x100f0100, 0x10000701, 0x00111000, 0x120c6017, 0x3fe13f00, 0x2005234f, 0x06db6a5d, 0x01e11023, + 0x370b822f, 0xe1f61071, 0x2b2f3911, 0x715f5d2b, 0x3912332b, 0x32e1102f, 0x01303132, 0x2a07064f, 0x21112123, 0x33112135, 0x82152111, 0x50322005, + 0x3808056a, 0x960a0223, 0x377ecf98, 0x86c27e3c, 0xc4fe96fe, 0x01ba3c01, 0xa087fe79, 0x5b2ea4ae, 0x03815d8b, 0x9871424e, 0x709e6157, 0xa460043d, + 0xf0fe1001, 0x8440fca4, 0x3c614688, 0x0601411b, 0x27056d32, 0x21001400, 0x09408100, 0x47160213, 0x010c0010, 0x472ce684, 0x0c481a0d, 0x0e000c00, + 0x5706471c, 0x103fe882, 0x23700223, 0x23c02390, 0x0e0423e0, 0x01025015, 0x1310500d, 0x1f020f10, 0x40020202, 0x82481e0c, 0x100f34e3, 0x0702101f, + 0x10021002, 0x3001117f, 0x16110111, 0x82150c50, 0x85db82ed, 0x2b7122ef, 0x0916505d, 0x1220ed83, 0x2b221783, 0xe785335d, 0x3230de82, 0x0e141516, + 0x11212302, 0x35333523, 0x01211533, 0x09684518, 0xfee30232, 0xd31501d5, 0x9f652fcd, 0xee39fe71, 0x2b01b6ee, 0x042c1082, 0x26435e37, 0x40604121, + 0xd7feb003, 0x08cb4618, 0x18dddd21, 0x080e7545, 0xecffc737, 0xcb05ec06, 0x58002d00, 0x05082f40, 0x07221b5b, 0x22071111, 0x2a2a1e03, 0x5a1d212f, + 0x2b2e641e, 0x04275f00, 0x5f1c081b, 0x210f0522, 0x21210801, 0x121e031f, 0x2867180d, 0x393f2308, 0x796c5e2f, 0xe13f3205, 0xf6100133, 0x331132e1, + 0x17122f7d, 0x2f2f1839, 0x6cbf822f, 0x1e2c0983, 0x36323303, 0x030e1537, 0x26262223, 0x0c954418, 0x07171627, 0x6d052626, 0x3367185f, 0x75230809, + 0xa05971ac, 0x564e274e, 0xeb9e3a61, 0xfe05529d, 0x01babab0, 0xa7630e56, 0xc46c95e9, 0x953f4e4f, 0x18412705, 0x080e3b67, 0x01b8644a, 0x56fd9f03, + 0x98fdb605, 0x5ca7eb8f, 0x209c2a2c, 0x0100002e, 0xecffae00, 0x5e047105, 0x64002900, 0x1d203940, 0x0c4f0548, 0x0c1f0c01, 0x1427081f, 0x070b2b14, + 0x2a540847, 0x1115511a, 0x06052010, 0xa90c1d50, 0x020bb90b, 0x2906f459, 0x090b0b06, 0x2315080f, 0x5b4f2651, 0x843f2005, 0x21ec86eb, 0xec88e133, + 0x39123322, 0x5d20ed83, 0x0522ed84, 0xdb8f2e22, 0xf1822e20, 0x6d070621, 0x043c0b7a, 0x81a96154, 0xf1fe074f, 0x1301b6b6, 0xa581550c, 0x32954e5e, + 0x3c381736, 0x918c193b, 0x07d84218, 0x3682523b, 0x3a147c35, 0xfe87c17b, 0xfe4a0417, 0x72b58039, 0x9a192234, 0x090f130a, 0xde421897, 0x00002308, + 0x00820002, 0x2f054908, 0x0b00b605, 0xae001800, 0x06084940, 0xe806d801, 0x07070206, 0xe707d701, 0x07a60207, 0x01019b01, 0x00a70077, 0x090a0d02, + 0x0704030c, 0x08131306, 0x000100a7, 0x09050101, 0x00010800, 0x20081008, 0x80087008, 0x0608c008, 0x4f080b82, 0x1a901a08, 0x1a021aa0, 0x40c0ffb8, + 0x4818150f, 0x40011a8f, 0x1a0f011a, 0x05040801, 0x40f0ffb8, 0x030b0513, 0x0a10135f, 0x0c13480e, 0x0004060c, 0x03061209, 0x333f3f00, 0x2f391233, + 0x32e12b39, 0x33382f01, 0x5d5d5d5e, 0x33115d2b, 0x715d382f, 0x33251783, 0x3d39115d, 0x2322832f, 0x39391239, 0x5d2d1c82, 0x31715d71, 0x11232130, + 0x01230123, 0x08038233, 0x21272395, 0x27032e27, 0x0207030e, 0xfe7fa6ec, 0x3902c5fe, 0xc73b02bb, 0xe87afefe, 0x12352301, 0x0711161c, 0x19151109, + 0xfdaa0211, 0xfab60556, 0xa4aa024a, 0x434c308f, 0x41252541, 0x002d4943, 0x0a000200, 0x5a040000, 0x0b004a04, 0xcf001700, 0x02393840, 0x02790259, + 0x1b040289, 0x02022b02, 0x960105b5, 0x0205a605, 0x09010587, 0x02031903, 0x08160806, 0x19120902, 0x11060212, 0x07021116, 0x11020312, 0x00b60908, + 0xffb80001, 0x0a1b40f8, 0x0bb9480f, 0x82080b01, 0x0b003607, 0x0c010cb4, 0x0605050c, 0x10010a06, 0xffb80102, 0x1512b3c0, 0x08078348, 0x07184037, + 0x0101480b, 0xe019c019, 0x19af0219, 0x01195001, 0x191f190f, 0xb80a0902, 0x0f40f0ff, 0x5008040a, 0x11110b0c, 0x0a0f0b01, 0x00150106, 0x3f33333f, + 0x122f3912, 0x05234139, 0x00825d20, 0x2f331126, 0x38332b2b, 0x332e1582, 0x2f3d3912, 0x2b33335d, 0x125d2b5d, 0x02823939, 0x1f825e20, 0x31290283, + 0x015d5d30, 0x23032301, 0x08018211, 0x0123032b, 0x07030e17, 0x27032e33, 0xb401a602, 0xa260bbbc, 0x01bdba60, 0x1b0571b4, 0xf00d2523, 0x1b23250e, + 0xfb4a0404, 0xfee901b6, 0x3f038317, 0x19794a04, 0x225e6055, 0x54605f22, 0x02000019, 0x0000c700, 0xb6052907, 0x20001300, 0x1b40bf00, 0x27081a42, + 0x15050e06, 0x03141112, 0x05263e82, 0x0e0f0100, 0xc383051b, 0x805d6208, 0x1bcb0101, 0x011b8401, 0x1b7b1b2b, 0x1f050f02, 0x7f052f05, 0xdf05cf05, + 0x0705ff05, 0x1b010508, 0x0305011b, 0x00101011, 0x70101010, 0xf010b010, 0x10100510, 0x50223022, 0xd022c022, 0x0522e022, 0x095a080c, 0x06132164, + 0x1b0d5f03, 0x48100920, 0x0e14141b, 0x11010409, 0x030e0a12, 0x3f333f00, 0x06374233, 0x32e13336, 0xf6100132, 0x115d32e1, 0x385d2f33, 0x3d391733, + 0x2f2f182f, 0x24050441, 0x33331138, 0x23018311, 0x11393912, 0x06820282, 0x425d5d21, 0x2122083e, 0x1c822311, 0x42132121, 0x042f0d46, 0xfe81a5e7, + 0x0801c4fd, 0xbaba7ffe, 0x42f1c101, 0x792a054d, 0x352301e9, 0x11151c13, 0x4d420808, 0x05514207, 0x0298fd23, 0x13554268, 0x00ae3c08, 0x04080600, + 0x0013004a, 0x40eb001f, 0x0105a531, 0x05960586, 0x01057702, 0x09160906, 0x29021902, 0x69024902, 0x05027902, 0x1a01020b, 0x08190203, 0x0b120914, + 0x0d110a13, 0x42c60e47, 0x1728064e, 0xc9480f0a, 0x08130113, 0x00290782, 0x0114c413, 0x05051414, 0x05254206, 0x0a2f1332, 0x0aaf0a3f, 0x0a060a03, + 0x540e0106, 0x10010220, 0x080c6242, 0x0b072c3d, 0x21010148, 0xbf0121d0, 0x21600121, 0x21902170, 0x01214f03, 0x08012100, 0x5008040b, 0x19131412, + 0x130f0219, 0x06090e0f, 0x3f001502, 0x3f333333, 0x2f391233, 0xe1333912, 0x41013232, 0x1131053e, 0x2b2b2f33, 0xe6103338, 0x2f393911, 0x33385d2f, + 0x0b6d4211, 0x32e11024, 0x54411211, 0x43112005, 0x5d23059b, 0x4230315d, 0x13200a71, 0x20076041, 0x06794217, 0x42540421, 0xc3280879, 0xb6b6e9fe, + 0x70b55401, 0x42167f42, 0xfe280583, 0x79c70139, 0x5f605419, 0x08098742, 0x00001424, 0xb6056a05, 0x26002300, 0x1140c000, 0x86012286, 0x1259011a, + 0x25021289, 0x480c0910, 0xf0ffb826, 0x08822c40, 0x0a255208, 0x2424060b, 0x261b5a1a, 0x100a0007, 0x030a200a, 0x07071b0a, 0x00030a1b, 0x20111012, + 0x11d00211, 0x90118001, 0xb8110211, 0x3b40c0ff, 0x11480a07, 0x281f2811, 0x0128f001, 0x28df28cf, 0x50284002, 0x03287028, 0x283f280f, 0x00230702, + 0x24611c19, 0x2305190b, 0x0a002d0a, 0x085f2607, 0x00121b03, 0x323f0012, 0x2b073d55, 0x33715d5e, 0x0132e133, 0x5d5e332f, 0x71200082, 0x2105e75a, + 0xc15a3371, 0x10240808, 0x2f3d39e1, 0x33113333, 0x5d5d2b2b, 0x335d3031, 0x37033e13, 0x15213501, 0x17031e01, 0x2e032313, 0x11232303, 0x59080182, + 0x07020e22, 0x21010103, 0x36187b14, 0xfe5f7c54, 0xfe490490, 0x56806185, 0xbe7a1837, 0x3626147b, 0xbb183d4f, 0x364f3d18, 0x017b1426, 0xfd4a01eb, + 0x55c5016f, 0x063a6288, 0x8b8be701, 0x380619fe, 0xfe568962, 0x48c1013b, 0xfd17395f, 0x17b80248, 0xfe485f39, 0x015a033f, 0xef4400b8, 0x04e53506, + 0x0023004a, 0x40c70026, 0x861a760d, 0x031a961a, 0x0c071025, 0x20053d41, 0x3c088218, 0x06011209, 0x060b0123, 0x461a2424, 0x260a251b, 0x011ba707, + 0xc0ffb80a, 0x19161040, 0x08484148, 0x01112023, 0x06d64411, 0x40280783, 0x480b073f, 0x10281111, 0x08064341, 0x9028602e, 0x281f0228, 0x2302284f, + 0x26070a00, 0x1c190850, 0x26241652, 0xa6243624, 0x0b240424, 0x061f060f, 0x065f064f, 0x06060704, 0x121b0f08, 0x2005034b, 0x0518483f, 0x32e15d29, + 0x3232e110, 0x41332f01, 0x2b200748, 0x25074741, 0x33115d2b, 0x4a413311, 0x5d5d2606, 0x315d2b2b, 0x1d484130, 0x21135308, 0x2c167b0a, 0xfe536742, + 0xfecf03ce, 0x436853c9, 0xba7b172c, 0x3024147b, 0xa6043544, 0x30463504, 0x017a1425, 0x0afefcb4, 0x653d5401, 0x0109314d, 0xfe696964, 0x4c31089c, + 0xacfe3d67, 0x48365001, 0xf6fd112b, 0x2b110a02, 0xb0fe3648, 0x2d018302, 0x11450000, 0x89240805, 0x2800b605, 0xca002b00, 0x1f861540, 0x89175901, + 0x0b100217, 0x5a1f2929, 0x09102a20, 0xb82b480c, 0x3340f0ff, 0x2a3c0882, 0x000c2b0f, 0x200f100f, 0x0f07030f, 0x0c20200c, 0x2816030f, 0x00c000b0, + 0x1f000f02, 0x4e084b82, 0x00170700, 0x02161016, 0x16801670, 0x160316c0, 0x40c0ffb8, 0x480a0734, 0xe02d1616, 0x2d9f012d, 0x40022dbf, 0x2d2f012d, + 0x5a060a01, 0x0f2c6407, 0x0d5f2b0c, 0x6121051e, 0x0b0f1029, 0x0b0b0801, 0x07030d08, 0x00032017, 0x173f0012, 0x41333f32, 0xe1210543, 0x05434132, + 0xe1f61023, 0x07344632, 0x21055647, 0x93425d5d, 0x5d5e2706, 0x33113311, 0x4d412b2b, 0x30312608, 0x36361321, 0x06b94337, 0x371a9a42, 0x137b3302, + 0x7bfe1c29, 0xa402baba, 0x4a0495fe, 0x806185fe, 0x7b183755, 0x23069f42, 0x3c19ba19, 0x220c9f42, 0x492e7344, 0x01210565, 0x22a342dd, 0x0000ae38, + 0x4a049806, 0x2b002800, 0x0d40cf00, 0x1f861f76, 0x2a031f96, 0x53410710, 0x822c2006, 0x09280808, 0x0b100117, 0x461f2929, 0x2b0f2a20, 0x0120a70c, + 0x0c0c200f, 0x16030f20, 0x002f001f, 0x0100ff02, 0x17070000, 0x16011620, 0x8306a242, 0x403a0807, 0x480b073f, 0xcf2d1616, 0x2db0012d, 0x012d9f01, + 0x4f012d60, 0x2d00012d, 0x0a022d30, 0x54074706, 0x2b0c0f2c, 0x051e0d50, 0x29a65221, 0x0f102901, 0x020b1f0b, 0x080b0b07, 0x4b820f0d, 0x15000322, + 0x200b5f41, 0x0f60415d, 0x115d5d2d, 0x2b2b2f33, 0x39123371, 0x43715d2f, 0xac4208f5, 0x2b2b2209, 0x2660415d, 0x0121133a, 0x1d107bbc, 0xb6edfe13, + 0xfe0b02b6, 0xfece03d5, 0x436853c9, 0xbb7b172d, 0x2409b742, 0x14243145, 0x06b7427b, 0x204b2a22, 0x2105ef49, 0xbb425e01, 0x018f0820, 0x46fe3900, + 0xd506ec03, 0x9f007600, 0x18212740, 0x59480e09, 0x4d515962, 0x3b51474d, 0x516c675b, 0x67354467, 0x67145114, 0x05443551, 0x725b2e24, 0x5a057867, + 0xc0ffb824, 0x18143640, 0x525d2448, 0x9f568f4d, 0x0356af56, 0x0b074056, 0x47565648, 0x4f60346c, 0x350f0135, 0x080235af, 0x43293535, 0x40036251, + 0x15034761, 0xfb1f5f0a, 0x13006029, 0x3fe13f00, 0xe13f33e1, 0x39123317, 0x715d5e2f, 0x331139e1, 0x335d2b2f, 0x2b2f01e1, 0x4ef610e1, 0x182105e3, + 0x2800822f, 0x10391211, 0x333311e1, 0x2503832f, 0x2b003031, 0xaf5c2205, 0x023e2707, 0x021e3233, 0x866b1517, 0x77232005, 0x2e6d0850, 0x23232205, + 0x098f5635, 0x2707062b, 0x2e373636, 0x33352703, 0x056b6d16, 0x5b171621, 0xcb6207ac, 0x3c5f1805, 0x012d0807, 0x345a47e1, 0x3d240e14, 0x5361412f, + 0x422b3251, 0x080c2331, 0x354d361f, 0x5c4a4731, 0x4f886846, 0x9d663120, 0x5180596c, 0x91673926, 0xbc6b1858, 0x3b80080d, 0x371867a6, 0x79143236, + 0x1a366133, 0x2a4b433b, 0x0b0e2f1f, 0x30161122, 0x52142e30, 0x332b557e, 0x574b7d5b, 0x43325e8a, 0x1214c483, 0x16182920, 0x040e1a24, 0x0a070404, + 0x07b6070f, 0x030c1012, 0x48290203, 0x623c3760, 0x48262646, 0x65474469, 0x27971d3f, 0x363e6448, 0x431e3a53, 0x4b307d36, 0x3f411e11, 0x221b173a, + 0x46243861, 0x05092338, 0x17070577, 0x0d213829, 0x45765c3f, 0x3958774a, 0x0a2e6c18, 0x01008008, 0x73fe1700, 0x52055203, 0xb7007000, 0x18407140, + 0x68480e09, 0x036c6268, 0x586c030c, 0x6c161146, 0x015fe011, 0x3311525f, 0x6c11336c, 0x43055f52, 0x571c474d, 0xd072c072, 0x0372e072, 0x3001727f, + 0x720f0172, 0x46260701, 0x110c4043, 0x16164348, 0x52895051, 0x0f025299, 0x52080152, 0x68486252, 0x40005207, 0x00481410, 0x480c0740, 0x006c5e00, + 0x0c505b03, 0x2b341062, 0x48fb3e50, 0x41162150, 0x333806e2, 0x2f3317e1, 0x33e12b2b, 0x2f391211, 0xe15d5d5e, 0x012f3d39, 0xe12b2f18, 0x5d210b82, + 0x0cea415d, 0xeb415d20, 0x0a356e10, 0x41067264, 0x232007a6, 0x200c0542, 0x15044216, 0x098b6d18, 0x52232621, 0x024205bf, 0xcf02300a, 0x0b0e2f1f, + 0x2e151121, 0x37132d2e, 0x18233f59, 0x080b045e, 0x2f594b53, 0x3a220e0f, 0x5d63322c, 0x47422153, 0x2822090d, 0x5520132c, 0x58396f64, 0x22184070, + 0x376e9056, 0x852c4c64, 0x3d61818a, 0x73274864, 0x4b81476c, 0x416b393f, 0x2c303117, 0x62337912, 0x433a1a36, 0x0952054b, 0x07057705, 0x1f332615, + 0x5845310e, 0x365e1835, 0x5b3a0808, 0x5674443d, 0x261a0e31, 0x18231617, 0x0304030d, 0x0a971316, 0x03060a0f, 0x472e0303, 0x592f2956, 0x2b132a46, + 0x5b5e3345, 0x40271299, 0x264d4d2d, 0x221c9322, 0x373b1c08, 0xfa411532, 0xffff3907, 0x00006800, 0xb605ba05, 0x75010602, 0xffff0000, 0x14fea400, + 0x12067105, 0x47080f82, 0x00000095, 0xff7d0003, 0x057105ec, 0x001300cd, 0x0029001e, 0x2532404f, 0x67005b19, 0x012bd02b, 0x80012bcf, 0x2b3f012b, + 0x24022b6f, 0x660a5b1a, 0x4f601a2a, 0x240f0124, 0x24df24af, 0x24240803, 0x0f5f1f14, 0x055f1404, 0x2005a543, 0x05a04312, 0x2205524b, 0x745d5d5d, + 0x02200725, 0x200efc53, 0xdd851816, 0x032e240e, 0x59517105, 0x9a3e0afa, 0xfd51a0ec, 0x6b9e6a87, 0x9afc0639, 0x9e6b3a06, 0x6c9c696d, 0x6403083d, + 0x9b693b08, 0xf559dd02, 0xc56b370e, 0x07fdebfe, 0x7ac28647, 0x4786c27a, 0x80439a04, 0xb87575b8, 0xd9834380, 0xecff7126, 0x5e042d04, 0x1a22d982, + 0xd9822100, 0x1f333008, 0x57004817, 0xd0234023, 0x0323e023, 0x1e01230f, 0x560a4818, 0xef501822, 0x1ea9011e, 0x0f021eb9, 0x2f1e1f1e, 0x1e06031e, + 0x501b141e, 0x5914100f, 0xe12006fe, 0x5d21da84, 0x05814f5d, 0x0e21d989, 0x094b4402, 0x01021e2f, 0x21373632, 0x22131616, 0x26210706, 0x0df45926, + 0x7fae6734, 0x8d23fe47, 0xbefd0a88, 0x898c8c09, 0x3e020e88, 0xef598a0d, 0x914b250d, 0xb2d4fdd3, 0x03290082, 0xa4a4a244, 0x010000a2, 0x08008200, + 0x05020522, 0x001c00c3, 0x0729405a, 0x010d0b06, 0x0d010dfb, 0x1990080d, 0x190219d0, 0x1e001e19, 0x011eb001, 0x2208b485, 0x1e5f1e4f, 0x07061e7f, + 0xffb80809, 0x080c40f0, 0x04166000, 0x0d030809, 0x00120706, 0x3f33333f, 0x4fe13f33, 0x712c0626, 0x5d2f3311, 0x2f3d3912, 0x3333715d, 0x2e062d51, + 0x33012301, 0x17161601, 0x13373636, 0x7133033e, 0x3c080583, 0x35249604, 0xfe12242a, 0x19fecdd7, 0x1d2701c5, 0x2a0e112e, 0x3d1f8d1a, 0x234b674c, + 0x35171a44, 0x48252d05, 0xe9fb4267, 0x61fcb605, 0x4e4faf5b, 0x000261bc, 0x2b629c71, 0x0997080d, 0x33bf860d, 0x52040e04, 0x6d001f00, 0xff1e00b9, + 0x0a1640f8, 0x081f480e, 0x2b080483, 0x0d20071e, 0x07074811, 0x0116e000, 0xe0ffb816, 0x0a071a40, 0x21161648, 0x21cf21bf, 0x500321ef, 0x210f0121, + 0x214f212f, 0x00010703, 0x0030d084, 0x151f071e, 0x0f134f1a, 0x000f0001, 0xe13f323f, 0xd086d482, 0xd0825d20, 0xd1842b20, 0x33332b27, 0x30312b2b, + 0x07c75411, 0x4208cc8a, 0x07062223, 0xc9bc2303, 0x1a1f200b, 0x14040605, 0x56091918, 0x58433519, 0x11221a3c, 0x2f12260b, 0xf3e0183a, 0xa2fd4a04, + 0x616e6a21, 0x6c5f1919, 0x40012167, 0x1842755e, 0x03870505, 0xfc585005, 0x41ffffdf, 0x0725058f, 0x02260273, 0x38de8280, 0x04760307, 0x005201b8, + 0x0102b619, 0x0226051d, 0x82ffb801, 0x081d31b4, 0x05d35f19, 0x35352b23, 0x23338500, 0x21060e04, 0x81203382, 0x50203386, 0x33834782, 0x84112021, + 0xb4942533, 0x16002034, 0x45083389, 0x7d000300, 0x5a0914fe, 0x1300cd05, 0x4a002700, 0x0a40a100, 0x381e5b00, 0x372f2f4a, 0xffb82829, 0x282340f0, + 0x40004028, 0xf0024010, 0x401f0140, 0x403f402f, 0x011e0003, 0x401e401e, 0x1037360a, 0x37e037d0, 0x064a3702, 0x0b2f0805, 0x4c373748, 0x0f014c0f, + 0x2f4c1f4c, 0x7f4c4f4c, 0xdf4cbf4c, 0x084cef4c, 0x0a5b1407, 0x2f384b66, 0x44284a4a, 0x361b3d50, 0x5f230f28, 0x4319040f, 0x3f2607ca, 0x11e13f33, + 0x6d181139, 0x8e4c0725, 0xc1382605, 0x2f393912, 0x06554b2f, 0x3d280d83, 0x1033332f, 0x013031e1, 0x57053464, 0x16230ae0, 0x5d140512, 0x25200de6, + 0x24099341, 0x030e0133, 0x0a206923, 0x05374808, 0xdd964c1f, 0x93e09891, 0xe1934747, 0x95dd9099, 0x2f23fc4c, 0x67679661, 0x2e2e6096, 0x68679460, + 0x042f6197, 0x0dd7bd43, 0x0413191d, 0x1b170406, 0xbcc70b1d, 0x401d4efe, 0x34507456, 0x40151b4c, 0x34463023, 0x44390f25, 0xab20141c, 0x080e0e5e, + 0x9bfde396, 0x53585828, 0x61561922, 0x6302215e, 0x815127fb, 0x060b315a, 0x17070591, 0xa029402c, 0x00ffff00, 0x0814fe71, 0x005e044e, 0x00520026, + 0x00070100, 0x006f045c, 0xb1110000, 0x04b80202, 0x2f20b414, 0x0125000a, 0x3500352b, 0x00020000, 0x0583ff7d, 0x003106c3, 0x003f001f, 0x30334052, + 0x4167005b, 0x41c441b4, 0x01419002, 0x80413002, 0x5b200241, 0x19406610, 0x180b0118, 0x14080401, 0x38070208, 0x1b5f3b35, 0x28031518, 0x05085f25, + 0x3f00120b, 0x32e13333, 0x322b0484, 0x5d5d5d5e, 0xe1f61001, 0x775d5f5d, 0x142706dc, 0x0607020e, 0x65222306, 0x372d0770, 0x32333636, 0x031e1716, + 0x021e1405, 0x08555f17, 0x022e3423, 0x08268527, 0x05030e95, 0xc58949c3, 0x374a0e7c, 0x810d483b, 0x454587c7, 0x0d81c787, 0x4a373b48, 0x89c57b0e, + 0x2d7ffb4a, 0x11537f57, 0x45313543, 0x57805211, 0x80572d2d, 0x31461052, 0x53114335, 0x022d577f, 0xc0fc95dd, 0x363f177d, 0x7d163f36, 0x9696fec0, + 0x177bbffb, 0x3d33313f, 0xfbbf7d17, 0x92c07496, 0x26301562, 0x62152e28, 0x7374c092, 0x166292bf, 0x30292932, 0xbf916116, 0x00020000, 0x0491ff71, + 0x00b604a8, 0x0037001f, 0x482cb554, 0x39395700, 0xb3c0ffb8, 0x8348140e, 0x24402907, 0x20480c09, 0x38561048, 0x2f0b0d41, 0x50352f32, 0x0f15021b, + 0x50232629, 0x160b0508, 0x41050e41, 0x2b240e0f, 0xe1f6102b, 0x4106215c, 0x1620160d, 0x24060c41, 0x34353636, 0x060b4126, 0x06064808, 0x6b39a804, + 0x3c095f99, 0x083b3a38, 0x3d6e995d, 0x629a6c39, 0x373a3b08, 0x985b093d, 0x85fc3c6d, 0x390b7b6f, 0x0c393234, 0x786e6d79, 0x3432390c, 0x6f7b0b39, + 0xbf762702, 0x39125a8e, 0x12382d2e, 0x77c08e5a, 0x828dbf75, 0x29e8080d, 0x5b123a2a, 0xac75bc8d, 0x202c1fcd, 0xcc1f2a20, 0x20c8a9ab, 0x2d20202b, + 0x0000c81f, 0xff7d0003, 0x083507ec, 0x0045003d, 0x006d005b, 0x379240da, 0x14042414, 0x03241404, 0x0c5b411c, 0x6f006f67, 0x00026f10, 0x506f206f, + 0x906f806f, 0xd06fa06f, 0x086fe06f, 0x661c5b2d, 0x4768636e, 0x51685c47, 0x52505240, 0x52035260, 0x68005f52, 0x68206810, 0x68906880, 0xe0680705, + 0xbf4d014d, 0x0256cf56, 0x46ef5256, 0x47474601, 0x5201524f, 0xc06b6052, 0xe06bd06b, 0x6f6b046b, 0xaf5f7f5f, 0x045fef5f, 0x5f015f10, 0x115f3c32, + 0x8f377f14, 0x40370237, 0x37480a07, 0x13111737, 0x28030325, 0x07215f00, 0x333f0004, 0x113332e1, 0x33333f33, 0x335d2b2f, 0x2f32e110, 0x5dcc5d5d, + 0x33712f32, 0x105dcd10, 0x5dcd5ddd, 0x5d5e2f01, 0x5d2c1d82, 0x32cd10cd, 0x1039112f, 0x715de1f6, 0x210a7a49, 0xe05b3311, 0x0ee24716, 0xdf5b1720, + 0x023e220c, 0x05fc7237, 0x2e34353e, 0x23150302, 0x23022e22, 0x15150622, 0x36343523, 0x021e3233, 0x06140533, 0x36363507, 0x12841e83, 0x3f051622, + 0x250e025c, 0x4745a267, 0x015c67a0, 0x562a2916, 0x1717424e, 0x2a564e42, 0x3d06045c, 0x90561003, 0x2e2a647a, 0x6d7c853a, 0x8577703a, 0x78effe4e, + 0x1f383c79, 0x2e321f24, 0x225c443b, 0x2c2a2310, 0x225c2a2c, 0x23132816, 0x2f1c1c2f, 0x5c591323, 0x022b0622, 0x2a2481a6, 0x10352d24, 0x82656b23, + 0x4de22708, 0x164c1f73, 0x0664192d, 0x268b0805, 0x00030046, 0x05ecff71, 0x000807df, 0x00590043, 0x40b2006c, 0x4567606b, 0x4f675a45, 0x50505040, + 0x5d505002, 0x679f676f, 0x01671002, 0x0b152467, 0x03033f35, 0x3f482c0b, 0x481e6e57, 0x006d560b, 0xdf4b014b, 0x50540154, 0x4401440f, 0x506f4545, + 0x00505001, 0x6ae0016a, 0x6a026af0, 0x5d7f5d0f, 0x2f5d0702, 0x1634511b, 0x10103a16, 0x00512921, 0x10402403, 0x40244815, 0x24480c07, 0x16000624, + 0x32323f00, 0x332b2b2f, 0x5d32e110, 0x2f2506a6, 0x5dcc5d5e, 0x05e14171, 0xdd107129, 0x0171cd5d, 0x82e1f610, 0x39122b02, 0x39122f3d, 0x18333912, + 0xf1415d2f, 0x3031230b, 0x3d432205, 0x022e2305, 0x384d3435, 0x2e072306, 0xb56e2303, 0x37362106, 0x08be7818, 0x5e182220, 0x13200dc4, 0x2318d841, + 0x042e3435, 0x0805d741, 0x5110043d, 0x6a2b2b6d, 0x7fa95f50, 0x936d3f4a, 0x3c401f54, 0x113f1434, 0x122b2b29, 0x888d6970, 0x16297349, 0x29423931, + 0x70698c85, 0x292b2b12, 0x35144011, 0x54203f3c, 0x4a3f6d93, 0x413aa97e, 0x862507d5, 0x70396e7c, 0x05d54178, 0x150f742e, 0x320f151a, 0x14443b2e, + 0x23202023, 0x07955b18, 0x16100939, 0x130a9a0c, 0xd3ca090f, 0x2034c3d3, 0x0e181e10, 0xcad3d3c3, 0x18130f09, 0x2e09355f, 0x3f89d596, 0x2482aa06, + 0x342e242b, 0x416c2311, 0x340808cf, 0x0f0d3329, 0x170f0a0c, 0x46262612, 0x00020000, 0x07ecff7d, 0x0004075e, 0x0053000d, 0x2362409b, 0x335a4712, + 0x960144c5, 0x0244a644, 0x44014489, 0x5b4f2b44, 0x081d821a, 0x1a2b0d47, 0x55005567, 0x00025510, 0x50552055, 0xd0557055, 0x0655e055, 0x2b5b3c07, + 0x45455466, 0x5f370e41, 0x09341130, 0x80000404, 0x023f060a, 0x02cf027f, 0x02ef02df, 0x15340205, 0x234a0430, 0x480e0920, 0x1f5f4123, 0x05695f26, + 0x3f322b32, 0x5d2f3333, 0xcd1a3333, 0x11332f39, 0x32e11033, 0x550a735f, 0x10250557, 0x2f3911e1, 0x08795f5d, 0x23071524, 0x03862327, 0x875f3520, + 0x528b2d42, 0x31b83222, 0x32b83123, 0x1c035022, 0x5f0e9143, 0x07242b94, 0x67ac1b04, 0xac230082, 0x5f21fe1b, 0x00203a9e, 0x2a05795a, 0x00a405f4, + 0x013a000d, 0x820d4023, 0x2a0d2907, 0x0130b90f, 0x2f013082, 0x2006a55f, 0x2207833a, 0x83481b13, 0x19402907, 0xa9480f0a, 0x100e010e, 0x0e211082, + 0x280c8210, 0x341c1b30, 0x1d011d66, 0x0825821c, 0x0f534054, 0x3f1c1f1c, 0x1c4f031c, 0x1c7f1c6f, 0x1cbf1c9f, 0x341c1c05, 0x90232f30, 0x23740123, + 0x01236b01, 0x23342324, 0x140e3a02, 0x24013490, 0x44143414, 0x94147414, 0x34230514, 0x23341414, 0x47290f03, 0x2a102a00, 0x2a2a0702, 0x203c103c, + 0x033c303c, 0x57830f10, 0x410f3521, 0x300806e5, 0x027f020f, 0x029f028f, 0x14400204, 0x34024817, 0x481d1540, 0x140c2034, 0x1e341b48, 0x1c290e03, + 0x14230f0f, 0x14361426, 0x0e301402, 0x333f0015, 0x05c75f33, 0x39171226, 0x2b2f2b2b, 0x2007fc41, 0x0fd25f01, 0x825d2f21, 0x53332027, 0x33310598, + 0x2f183311, 0x3338715d, 0xc0c0875d, 0x5d2b2b01, 0x2903822b, 0x3912115d, 0x312f2f39, 0x13420130, 0x5f03200c, 0x042123eb, 0x07f641ba, 0x50233123, + 0x29f75f04, 0x41a40521, 0xfa2107e4, 0x3003605c, 0x00014908, 0x0414fe7d, 0x00cb0598, 0x40540023, 0x0f5a1117, 0x10070110, 0x48120f40, 0xba181010, + 0x20600120, 0x20022070, 0x40c0ffb8, 0x480a061a, 0xaf252020, 0x5b050125, 0x21246618, 0x041d5f00, 0x135f0a0f, 0x001b1013, 0x33e13f3f, 0x4c06145e, + 0x5d270513, 0x2b2f3912, 0x4ce15d5e, 0x152005e5, 0x2306924a, 0x11231137, 0x08108e62, 0x6b19033a, 0x3b437bae, 0x1d76b076, 0x1525282d, 0xf0a410bb, + 0xa9574c9d, 0xc46ca2fa, 0x943f4e4f, 0x98512705, 0xdb8d89da, 0x09044e96, 0x62fd090d, 0xc66cd801, 0xa6aa1501, 0x6ec61401, 0x0808f95d, 0x14fe7135, + 0x5e046f03, 0x3e001f00, 0x471d2540, 0x110e401c, 0x041c1c48, 0x215f210c, 0x1002217f, 0x48150121, 0x1b205604, 0x161f5118, 0x51121b1c, 0x0010090d, + 0x83e1333f, 0x100128b5, 0x5d5de1f6, 0x8211ce10, 0x20ad82af, 0x077c4504, 0x45171621, 0xb8830c7b, 0xb0ed0128, 0x854c4a82, 0xc15d66b2, 0x909d2908, + 0x683e9491, 0x1412b723, 0x5d07fe44, 0x4e0806b5, 0xc3d3d3ca, 0x5afd141b, 0x0000d801, 0xff680001, 0x057904fa, 0x0113000a, 0x0d674025, 0x02111d11, + 0x011d010d, 0x120b0202, 0x0702020b, 0x07020712, 0x130c1110, 0x01000b12, 0x07020308, 0x0d040f04, 0x120a0c11, 0x0801090b, 0x05070206, 0x820d050e, + 0x0a11211e, 0x12212082, 0x21228209, 0x24820601, 0x04024408, 0x020b0c05, 0x4f0f0e01, 0x0b400101, 0x010b0501, 0x0b010f0f, 0x60120405, 0xf0117011, + 0xb8110311, 0x4d40c0ff, 0x11480a07, 0x15110708, 0x15301520, 0x00060302, 0x01070409, 0x0a130201, 0x0b040d10, 0x82121111, 0x0730080d, 0x0b0b0807, + 0x0c0b0b01, 0x0cc00cb0, 0x1f120f02, 0x08000212, 0x02020810, 0x0c0c0812, 0x04021208, 0x400e0f04, 0x0e480d07, 0x2f000405, 0x332b2f33, 0x20052155, + 0x05cf5c2f, 0x33117123, 0x8203832f, 0x82098214, 0x5d012105, 0x32270782, 0x335d2b2f, 0x822f3917, 0x825d2000, 0x3311210f, 0x10230183, 0x8dc0c087, + 0xc0082103, 0x10210185, 0x25078587, 0x3031c008, 0x58825e00, 0x05015d2a, 0x27032507, 0x05372513, 0x17210384, 0x080f8203, 0x014c0233, 0xe3fe471c, + 0xfeb481b4, 0x1f0146e5, 0x47e4fec6, 0x7fb61d01, 0x4a1f01b6, 0xb001e5fe, 0xfea47ba6, 0x3b014ac7, 0x01a47ba4, 0xa47da45a, 0xfe493901, 0x390c82c4, + 0xc9000100, 0xb0038f04, 0x1500b805, 0x0fb54200, 0x480a0720, 0xe0ffb803, 0x08821e40, 0x120c2808, 0x00001712, 0x20061006, 0xa0069006, 0x06070506, + 0x0f0f1606, 0x0303000b, 0x322f0000, 0x32cd102f, 0x3301112f, 0x825d5e2f, 0x332f29c1, 0x312b2b00, 0x06060130, 0x08065277, 0x3621332f, 0x16323336, + 0x23061415, 0x2c068b01, 0x09283830, 0x011d2517, 0x302d05c1, 0x392b2a38, 0x332cee04, 0x251c3833, 0x312d0916, 0x29393632, 0x26898200, 0x03e504f4, + 0x83d905df, 0x11403c89, 0x08900880, 0x17080802, 0x14101400, 0x07031420, 0xc0ffb814, 0x100d1240, 0x82141448, 0x09143454, 0x05bf400e, 0x09800501, + 0xdd1a2f00, 0x11cd1a5d, 0x83cd2f33, 0x5e2b228c, 0x200a825d, 0x2289825d, 0x83023e32, 0x1528087f, 0x26343523, 0x020e2223, 0x01352323, 0x77854e02, + 0x7c6d3a70, 0x2a2e3a85, 0x55917965, 0x24660510, 0x6c65242b, 0x2e341123, 0x81200882, 0x29088582, 0xd704e101, 0x3506d302, 0x20001100, 0x0e0b1240, + 0x064f063f, 0x3f000602, 0x5f034f03, 0x0f030303, 0x5dcc2f00, 0x5dcd2f01, 0x63823932, 0x0808b067, 0x16141524, 0x26261517, 0x3b44e101, 0x251f322f, + 0x7a3c391f, 0x39b60578, 0x1b262646, 0x1311111a, 0x4c152e19, 0x5d8b731f, 0x5d831320, 0x003f0729, 0x0002004f, 0x6e3f0e03, 0x03200617, 0x0d6e5d85, + 0x087c4a06, 0x2506a448, 0x7a78d302, 0x5748393c, 0xb6052808, 0x4c1f734d, 0x48192e15, 0x082e0b15, 0xc1fe2900, 0x9105c107, 0x27001300, 0x5f823b00, + 0x77006326, 0x9f008b00, 0x65567c82, 0x23072905, 0x32333636, 0x0317021e, 0x01200f8e, 0x21200f8e, 0x1fbf0f8e, 0x036f0435, 0x192e2418, 0x14212f1e, + 0x64054b03, 0x364d3167, 0x924f031e, 0xf4012313, 0x28821703, 0x212f1f27, 0x054c0313, 0x21288565, 0x14922ffb, 0x92310421, 0x20299514, 0x216882f0, + 0x5382192d, 0x68277c84, 0x1f364c31, 0x92bef903, 0xcf04313e, 0x0613231c, 0x1e231205, 0x331c685a, 0xf2f92b48, 0x59270f87, 0x47331d69, 0x8816012b, + 0x210f821f, 0x0d8d2b48, 0x8ddb0321, 0x210d8d0f, 0x0f8819fe, 0x4b836820, 0x27080d8d, 0x00080000, 0x077ffe29, 0x00d3057d, 0x0019000c, 0x00330026, + 0x004d0040, 0x0067005a, 0x0e170500, 0x3e230703, 0x27033703, 0x33200482, 0x012a0c82, 0x17031e37, 0x27032e15, 0x04820705, 0x0c823520, 0x82370121, + 0x2127831a, 0x1f820701, 0x03212783, 0x201a8227, 0x201a8337, 0x83048217, 0x37042e27, 0x201c0a0b, 0x0a611223, 0x05101215, 0x330c8b3b, 0x260e2302, + 0x27575755, 0x575b5d2a, 0x0e68fb25, 0x56575527, 0x03320c85, 0x502202a6, 0x45285654, 0x494e4f25, 0x02eafc1e, 0x0d884f23, 0x14112b33, 0x0f242729, + 0x34331743, 0x6a031732, 0x27281411, 0x240d8225, 0x16323434, 0x21428a23, 0x5c8a9804, 0x9816fe21, 0xaa012284, 0x224f8210, 0x83440f25, 0xfc16224f, + 0x210d8b95, 0x8683de02, 0x46285522, 0xe9208685, 0x0d878683, 0x02004f08, 0x7ffec900, 0x6807d305, 0x31001b00, 0x4840b300, 0x26301c1c, 0x0126d001, + 0x26cf26af, 0x30262002, 0x03268026, 0x0a172626, 0x181a1a19, 0x0007151b, 0x3365175a, 0xaf0133d0, 0x33200133, 0x13023330, 0x095a0c08, 0x9f263264, + 0x401c011c, 0x3e820906, 0x218e2c2d, 0x13fb1a05, 0xb3e8ffb8, 0x82481814, 0x40e03407, 0x48130a26, 0x13161306, 0x09031326, 0x005f1713, 0x82180612, + 0x2006211a, 0x09371682, 0x29061906, 0x06070306, 0x00030a16, 0x5e33333f, 0x3f2b2b5d, 0x833333e1, 0x2e078206, 0x335d2b2f, 0xe1f61001, 0x5d5d3232, + 0x82f4105d, 0x33332807, 0x11332f39, 0x822f3912, 0x33713110, 0x2130312f, 0x37363411, 0x01233736, 0x11331123, 0x09918418, 0x2303332b, 0x030e0313, + 0x022e2223, 0xac411827, 0x04ae0807, 0x04040564, 0x31fd0806, 0x0301aed7, 0x03040103, 0xd5cc0207, 0xa6da8fc3, 0x5d31069d, 0x8c67648d, 0xaa042a58, + 0x4c321c04, 0x37492b35, 0x19030622, 0x4c418f38, 0x0546fb4d, 0x1ae0fcb6, 0x1f44433e, 0xb4044c4a, 0xd9fdf0fa, 0x68078101, 0x2950774d, 0x50774f27, + 0x10294839, 0x35472c12, 0x00020000, 0x0483feae, 0x001706f2, 0x0025000f, 0x103a4096, 0x341a0410, 0x031a841a, 0x0b1a1a07, 0x0e0e0d05, 0x10090c0f, + 0x09481809, 0x0b460002, 0x27a42755, 0x27d427c4, 0x800427f4, 0x00020127, 0x20271027, 0x60275027, 0x06277027, 0xf0ffb803, 0x29822540, 0x0708033f, + 0x26540446, 0x01107f1a, 0x09064010, 0x20101048, 0x0e11158e, 0x050209fb, 0x08600b0f, 0x052a5f04, 0x333fe124, 0x2d413f33, 0x5d2b220c, 0x062f415f, + 0x30412b20, 0x5d5e2108, 0x29052e41, 0x11230113, 0x01071133, 0x23411133, 0x8f032f13, 0xeafefd0b, 0x04020cac, 0xb67bb7e9, 0x1941477a, 0x6d761814, + 0x64fd2e07, 0xfc9803fc, 0x01e9fd50, 0x4e17067d, 0xf1421876, 0x2c123609, 0x02003548, 0x00002f00, 0xb6053304, 0x21001600, 0x2c405200, 0x08096a13, + 0x2006e669, 0x08d2690e, 0x69008921, 0x032009cc, 0x680ecc69, 0xc66908da, 0x15c06905, 0x6906d768, 0x01210bc0, 0x0ac06981, 0xba989826, 0xc5fe3b01, + 0x2114be69, 0xbc69b2b2, 0x28b58209, 0x04000012, 0x00140619, 0x08b58214, 0x3b40613d, 0x1c0e0101, 0x23570847, 0x23bf236f, 0x23ff23df, 0x16000304, + 0x0e111247, 0x50152254, 0x500f0304, 0x04120012, 0x48240740, 0x0f01120f, 0x02121f12, 0x04120407, 0x16001312, 0x6a150e50, 0x71210991, 0x27c5872b, + 0x33c4f610, 0x5d3232e1, 0x1226cc82, 0x30312f39, 0xb3822101, 0x9f692120, 0x6911200d, 0x0125099d, 0xfe170164, 0x099f69e9, 0xb69c9c23, 0x089b6901, + 0x8921053a, 0x9b9ceffd, 0x2f587c4d, 0xf3899804, 0xa8fedafb, 0x30422911, 0x11284231, 0xc720c782, 0x3336c782, 0x1300b605, 0x88002200, 0x051b4f40, + 0x181a061a, 0x07071908, 0x01821906, 0x1e0c4a08, 0x3800285b, 0x03004800, 0xcf246700, 0x24400124, 0x01240f01, 0x5a0c1406, 0x1923640d, 0x1aaf1b18, + 0x141a1a01, 0x07b00622, 0x0c070701, 0x60140805, 0x0b400b30, 0x0c0b0b02, 0x030e6022, 0x3f00120c, 0x3911e13f, 0x39e15d2f, 0x20c78239, 0x0593435d, + 0x43393921, 0x5e2205ae, 0xe0825d5d, 0x12e15d27, 0x2f2f3939, 0x211b8311, 0x4c743239, 0x0e142b06, 0x07170702, 0x23230627, 0xe6822311, 0x021e4f08, + 0x36323301, 0x17372737, 0x34353636, 0x04232326, 0x4b2f1633, 0x816a6e36, 0xba967c5d, 0xc2866a01, 0x4efd3c7e, 0x1f442681, 0x33706d5c, 0xa0aea434, + 0x6f3a0a04, 0x9b205664, 0xfd1bb64e, 0x39b605c7, 0x67fea06d, 0x4c850505, 0x577324a0, 0xf782898e, 0xfeae4b08, 0x043f0414, 0x0023005e, 0x40720039, + 0x32353440, 0x202a3333, 0x371f1f1e, 0x1b2a2148, 0x3b303b57, 0x0c102a01, 0x3a540d47, 0x2f323533, 0x341f340f, 0x34cf346f, 0x34340704, 0x1050242f, + 0x0f0e1016, 0x0020201f, 0x1e211b0c, 0x8651502f, 0x20e38205, 0x23e4823f, 0x333f3f33, 0x5e21f383, 0x85d7825d, 0x823220e8, 0x391127e6, 0x392f39e1, + 0x04821133, 0x3133392e, 0x2e220530, 0x16232702, 0x15161617, 0x3328e182, 0x033e3317, 0x021e3233, 0x08640119, 0x0e220324, 0xbc4c0702, 0x82f78505, + 0x02ad08f6, 0x4d603b9e, 0x030c163c, 0xb6040203, 0x16081a94, 0x3c604d3b, 0x3c6e995e, 0x6a6d525a, 0x46411f75, 0x1f41694c, 0x6c411b02, 0x0f211151, + 0x546e6d6a, 0x2c19147f, 0x1f22203a, 0xfe10371a, 0x9436062b, 0x1b2d3e22, 0x8cd48f48, 0x9a44f2af, 0x0b09a64e, 0x5e2edb03, 0x65295e8d, 0x03376b9d, + 0x9e4c9805, 0xced0ee6a, 0x00010000, 0x0300002f, 0x00b605be, 0x4089000d, 0x2f051f15, 0x05050205, 0x1f000f08, 0x00900200, 0x00e000a0, 0xffb80003, + 0x071e40c0, 0x0000480a, 0x3f0f1f0f, 0xbf0f9f0f, 0x0703040f, 0x0a000c5a, 0x800a0601, 0x0208c008, 0x32228308, 0x480a0626, 0x5f090608, 0x2f0c0f03, + 0x4f0c3f0c, 0x820f040c, 0x0caf3006, 0x0cff0cdf, 0x0c0c0805, 0x0d5f0207, 0x18120703, 0x2a08ee44, 0x32e13371, 0x5d2b2f01, 0x825d5ec6, 0x05cf4d09, + 0x3912712b, 0x30315d2f, 0x11211501, 0x4f5b1821, 0xbe033708, 0x5001c3fd, 0x98bab0fe, 0xa6b60598, 0xfda215fe, 0xa283027d, 0xbd839102, 0xbd821220, + 0x4a040a22, 0x6e3ebd82, 0x0b0b1d40, 0x30062000, 0x06060206, 0xa00f700f, 0x030fc00f, 0x04470d09, 0x02ef02df, 0xc5830202, 0x1512b323, 0x08078348, + 0x06214022, 0x0c00480b, 0x4f094f01, 0x02045f04, 0x1c174004, 0x1b040b48, 0x04070204, 0x50080004, 0x15000f05, 0x2b20a588, 0xa6829c83, 0x87c62b21, + 0x825d20a5, 0x303125a3, 0x35231133, 0x83051e6e, 0x9cae3ca8, 0xfe5c029c, 0xfe17015a, 0x89e101e9, 0xfe9ae001, 0x1ffe89ba, 0xc7000100, 0x820400fe, + 0x003408b5, 0x40660026, 0x01150941, 0x05070707, 0x28125b22, 0x7f0128c0, 0x02288f28, 0x28402810, 0x0a1c1c02, 0x64055a04, 0x5f201d27, 0x60001c17, + 0x0d2f0d0f, 0x0f030d3f, 0xdf2d0482, 0x040dff0d, 0x050d0d08, 0x03065f09, 0x0a3b4105, 0x064fe120, 0x32f12905, 0x5d5d2fc0, 0xe1de105d, 0x00299484, + 0x22015d5e, 0x23110706, 0x4a948311, 0x5608059f, 0x020e1415, 0x022e2223, 0x16163527, 0x34112033, 0xfc01022e, 0xba1a3c25, 0xc3fdf702, 0x9a2d471d, + 0x5257a5f0, 0x3176c992, 0x1f3d444e, 0x01487f3f, 0xae7b4377, 0x05058302, 0xb60587fd, 0x050bfea6, 0xf2ab5c03, 0xa2f8aa97, 0x130c064f, 0x1817a20c, + 0xb979ef01, 0x8200407e, 0xae4a08db, 0xc5030afe, 0x23004a04, 0x39405c00, 0x22192209, 0x14032229, 0x480a1214, 0x250f251f, 0x5f02251f, 0xff257f25, + 0x03030325, 0x12471117, 0x00042454, 0x1a0b510d, 0x07021a1b, 0x16121a1a, 0x120f1350, 0x00510715, 0xe13f001b, 0x805d3f3f, 0x11e92105, 0x23054243, + 0x715d2f39, 0xd182d288, 0xbb842620, 0x35363225, 0x93232634, 0x023b08de, 0x2e6a4b29, 0x76426a2b, 0x1a9d9075, 0x02b61f3e, 0x1d5afe5c, 0xb3661f3b, + 0x6f404c85, 0x1f0afe96, 0x2518a11d, 0xcad4d2c3, 0x35fe080a, 0xfe9a4a04, 0x3e0505c3, 0x969ddb8a, 0x824088d5, 0xfe043cc7, 0x05cb067f, 0x001500b6, + 0x115740e2, 0x48181440, 0x13092011, 0x1a110a48, 0x83000211, 0x8400200e, 0x1a003c0e, 0x10070200, 0x5a020d0d, 0xa80a0a07, 0x0203b803, 0x8d010399, + 0x03570103, 0x82770367, 0x035e08e5, 0x00061203, 0x0f100f0e, 0x48180c40, 0x150f110f, 0x0112045a, 0x12841274, 0x120312c4, 0x40c0ffb8, 0x480a0727, + 0x04171212, 0x17f00117, 0x0117e401, 0x020117a0, 0x17301720, 0x17701760, 0x0f051790, 0x09080117, 0x06080508, 0x40f0ffb8, 0x16060613, 0x0a0dfb13, + 0x080f000a, 0x5f11030b, 0x4e680305, 0x3fe13505, 0x39123333, 0x113f3311, 0x382f3301, 0x33113333, 0x5f5d5d5e, 0x3006b25b, 0xe1715d2b, 0x2b2f3333, + 0x11323338, 0x5f2f3912, 0x8200825d, 0x32e12121, 0x2b332583, 0x2b2b5d2b, 0x01213031, 0x01112311, 0x33010123, 0x82331101, 0x82088244, 0xae053c10, + 0xfdb3eefd, 0x2102d3ee, 0x02cdedfd, 0x0a02b30a, 0x01edfdcd, 0x02b0c3a8, 0x841bfde5, 0x02f22403, 0x873cfdc4, 0xfd2e0803, 0x01d9fdb4, 0x01000081, + 0x83fe0400, 0x4a040406, 0x11011500, 0x10276c40, 0x29021037, 0x020e390e, 0x09360926, 0x370a2702, 0x0427020a, 0x04860437, 0x01370123, 0x1d5e4102, + 0x0d0d1037, 0x0a074602, 0x0103cd0a, 0xa90103b9, 0x03960103, 0x01038701, 0x095a4103, 0x5a410a20, 0x12462805, 0xb3c0ffb8, 0x83481512, 0x17403807, + 0x12480b07, 0x17101712, 0x01170001, 0x17f417e4, 0xc417b402, 0x82170217, 0x13402f23, 0x3048110d, 0x20020117, 0x170f0117, 0x60410701, 0x110f2415, + 0x49030560, 0x60410939, 0x5d2b2512, 0x1171715d, 0x4105bf62, 0x5d200e61, 0x20066241, 0x0661415d, 0x5d5d0024, 0x00835d01, 0x3c156a41, 0x43fef004, + 0xcf44fea4, 0x58fecf01, 0xa49f01c5, 0xfec5a001, 0xc54f0158, 0xfd2d02ae, 0x240384d3, 0xfd150235, 0x080387eb, 0xfd65fe2a, 0xff7d01e9, 0xfe4800ff, + 0x05ec0342, 0x012602cb, 0x010000b1, 0x017f0307, 0x00000048, 0x0101b111, 0xb4ffffb8, 0x0b134248, 0x8206b35c, 0x8244202b, 0x0452222b, 0x202b825e, + 0x212b85d1, 0x2b88f200, 0x2b82f820, 0x86212921, 0x0024082b, 0xfec70001, 0x05ec047f, 0x001000b6, 0x055940a6, 0x48181440, 0x05cd05bd, 0x050305dd, + 0x48100920, 0x052a051a, 0x27050443, 0x00cd00bd, 0x000300dd, 0x003c1584, 0x0602002a, 0x0e081010, 0x0f7f100f, 0x00020f9f, 0x400f300f, 0x0f06030f, + 0x5a04050f, 0x103a7282, 0x01070201, 0x12b01201, 0x5a080c01, 0x0c116409, 0x40f0ffb8, 0x48100b16, 0x04821006, 0x09060c3a, 0x00030a0f, 0x0905055f, + 0x00fb0212, 0x2f333f3f, 0x12333fe1, 0x2b2b3939, 0x2a08af6d, 0xe1335d5e, 0x5e2f3332, 0x82385d5d, 0x33112319, 0x01852b5d, 0x25303129, 0x11231133, + 0x82070123, 0x11333f05, 0x01330137, 0xb1b73504, 0x8b3dfe6c, 0x0179baba, 0xf8fdd1c4, 0x01d9fda6, 0x72ba0281, 0x2d19b8fd, 0x012f091e, 0x83feae00, + 0x4a042b04, 0x99000e00, 0x84086a40, 0xcd0826e7, 0x0308dd08, 0x24d18408, 0x02082a08, 0x26158403, 0xdd03cd03, 0x84030303, 0x033f0815, 0x0802032a, + 0x01004607, 0x01860176, 0x01016d02, 0x2b010155, 0x4b013b01, 0x01140301, 0x01010b01, 0x00010306, 0x02041004, 0x0e100404, 0x0b470a02, 0x02090f54, + 0x0b000e0e, 0x15085003, 0x600cfb05, 0x3f2105ca, 0x44c284e1, 0x322505dc, 0x5d2f3311, 0x05066c33, 0x115d5d22, 0xda89e582, 0x0120cc82, 0xdc84dd85, + 0xc4fa0238, 0x4b0161fe, 0xfe66aec1, 0x04b4b44b, 0xfef1fd4a, 0x01e9fd5f, 0x8118027d, 0x48080937, 0x040000c7, 0x00b605a2, 0xb9970012, 0xe0ff0f00, + 0x15125d40, 0x600f5048, 0x0f22020f, 0x0f420f32, 0x09400203, 0x070b480d, 0x1234085a, 0x12021254, 0x0103570f, 0x041d0c03, 0x01040b01, 0x08000404, + 0x11101364, 0x10000111, 0x08028200, 0x00070220, 0x14b01400, 0x01142f01, 0x0b011410, 0x20080905, 0x40043004, 0x0d040304, 0x09100d04, 0x65820803, + 0x3f323f2e, 0x2f393933, 0x12115d2f, 0x5d013939, 0x2408c083, 0x385d5e2f, 0x33113333, 0x3911e610, 0x335d5d2f, 0x32325dc1, 0x32e1105d, 0x2b003031, + 0x212b5d5d, 0x23150123, 0x06ad4111, 0x15331122, 0x3c08e382, 0xfed3a204, 0xba7785ae, 0x018577ba, 0xf8fdd141, 0x01cdf401, 0xd7fd6264, 0x06fdb605, + 0xb36301a4, 0x65fda601, 0xae000100, 0x23040000, 0x13004a04, 0x11b59c00, 0x48110b40, 0xc0ffb80a, 0x080782b3, 0xffb80e52, 0x085740f0, 0x0a0e480d, + 0x12011226, 0x99138907, 0x0313a913, 0x132f131f, 0x0b03133f, 0x13130113, 0x4702060f, 0x0b145403, 0x0f100c0c, 0x300f2010, 0x0f0f020f, 0x10150015, + 0x15000215, 0x15601540, 0x15a01580, 0x15e015c0, 0x0d0e0707, 0x13080606, 0x022b0182, 0x100f040b, 0x3f001502, 0x82333f33, 0x2f2f2ddc, 0x33113912, + 0x5d5e0133, 0x2f331171, 0xf622e286, 0x684e32e1, 0x20e58405, 0x28e2832b, 0x1127012b, 0x11331123, 0x24db8237, 0x15013313, 0x08ef8301, 0x6dcf0127, + 0x7d6db4b4, 0x50fec5eb, 0xfecfd701, 0xb2017df8, 0x04d3fd7b, 0x7bebfd4a, 0x01b94601, 0x4916fe0d, 0x2701e9fd, 0x057f49cd, 0xa2042708, 0x1400b605, + 0x40408500, 0x14661402, 0x04131401, 0x0e500e40, 0x000e0e02, 0x5a040c10, 0x64050709, 0x10131215, 0xa7411313, 0xb0163b0a, 0x162f0116, 0x01161001, + 0x0c5f060f, 0x02000909, 0x48100b10, 0xf0ffb810, 0x08830c40, 0x12050225, 0x4105030a, 0xcd8206b0, 0x822b2b21, 0xe13322b7, 0x0bb24132, 0x33382f25, + 0x82c6f610, 0x28d38414, 0x5d391211, 0x30313311, 0x055a4321, 0x22053d4d, 0x43231533, 0xa22a0562, 0x8b3dfed3, 0xba9898ba, 0x6443d5d5, 0xba023105, + 0x04b8fd72, 0xb2b2a460, 0xa87bfea4, 0x83fd3302, 0x2208cb82, 0x03000012, 0x001406f0, 0x40840016, 0x0e0e110f, 0x0908040f, 0x14471303, 0x06010600, + 0xb3c0ffb8, 0x83481510, 0x403a0807, 0x480e0935, 0x160f0606, 0x17541401, 0x0d100d0c, 0x0f35100f, 0x100f0001, 0x030f200f, 0x180f0f08, 0x0901180f, + 0x14140211, 0x4f15070f, 0x02010104, 0x0f0c150f, 0x3f000002, 0xc5853f3f, 0x20053f4c, 0x44af8201, 0x33210520, 0x21c98211, 0x1c82c632, 0x712b2b28, + 0x3217e110, 0xca833911, 0x3533132f, 0x15211533, 0x33031121, 0x01330137, 0x08d98601, 0xb49c122e, 0x85fe7b01, 0x01870410, 0x6ffed325, 0xfed1ac01, + 0x9cb46db0, 0xb6b65e05, 0xfe75fe89, 0x6901aaed, 0x91fd25fe, 0xfe52f801, 0x00d5045a, 0x143dd782, 0x44050000, 0x0e00b605, 0x33405700, 0x0d0e0e02, + 0x205a040a, 0x40053005, 0xf0058005, 0x24008205, 0x0d0c0700, 0x0a9e410d, 0x1010102a, 0x050a0201, 0x085f070c, 0x24078541, 0x391233e1, 0x21b28639, + 0xb1823338, 0xae822f20, 0x86e15d21, 0x067541aa, 0x21352123, 0x2aaa8311, 0xfed34405, 0xfebb8b3d, 0x410f02ac, 0x05240a6e, 0x25fda412, 0x08076b41, + 0x00002940, 0x4a04c904, 0x67000d00, 0x0d024040, 0x47060b0d, 0x00010700, 0x20071007, 0xc0076007, 0x07080507, 0x00090307, 0xf501d501, 0x04010201, + 0x03001003, 0x03020310, 0x0f400f03, 0x0f020fe0, 0x3382010f, 0x50090727, 0x070f0a00, 0x05f44203, 0x3912e127, 0x5d013311, 0x06ee425d, 0xa2820783, + 0x715d5e29, 0x113232e1, 0x41303133, 0x11220542, 0xa5821123, 0x11076908, 0xfec5dd03, 0xcfc70160, 0xfeb54cfe, 0x021f0298, 0xf1fd4a04, 0x2d02c5fd, + 0xb003d3fd, 0xedfd029a, 0x00010000, 0x057ffee5, 0x00b605a4, 0x4063000f, 0x045a043f, 0x01740101, 0x01940184, 0x11010103, 0x005a050d, 0xf411e411, + 0x11c00211, 0x11100201, 0x11401120, 0x0c041180, 0x64095a08, 0x0f5f0710, 0x0c08010c, 0x0a0e050c, 0x5f21c382, 0x05264605, 0x3f33e123, 0x20918433, + 0x052646e1, 0x5d5d5f26, 0x32e1dc10, 0x7121af83, 0x071846e1, 0xa06e1120, 0x33112d06, 0xb0b0f404, 0xbb67fdbb, 0xbb9902bb, 0x20051346, 0x05676eaa, + 0x82680221, 0xfeae269b, 0x04db0483, 0x3a9b824a, 0x08524079, 0x0b044700, 0x0f0b0b01, 0xd40cc447, 0x0c0c020c, 0x24110411, 0x83d40211, 0x82b0209e, + 0x8230209e, 0x8250209c, 0x9026089e, 0x0611a011, 0x04470307, 0xfb0d1054, 0x07eb5002, 0xb907a901, 0x070f0207, 0x072f071f, 0x07070603, 0x0f050900, + 0x8551500b, 0x86e12005, 0x5d5d23ad, 0xb0883fe1, 0xad837120, 0x2f33e128, 0x3132e15d, 0xac892130, 0x1133112f, 0x85031123, 0xb6b6dffd, 0xa0b62102, + 0x09e572b6, 0x82054d51, 0x00e536b1, 0x05480600, 0x000d00b6, 0x093b405d, 0x00005a01, 0x010b4005, 0x21b782e0, 0x3e43200f, 0x30210805, 0x600f400f, + 0xb00fa00f, 0x080fe00f, 0x5a040806, 0x0d0e6405, 0x060a0a5f, 0x080f5f03, 0x08080801, 0x078d4206, 0x5e2f3924, 0x8a82e15d, 0x29054941, 0x10715d5e, + 0x11715dc6, 0x95842f39, 0x96882320, 0x21152124, 0x4341f404, 0x0f022406, 0x4102acfe, 0xa4210841, 0x05a14500, 0x04a40523, 0x3391824a, 0x08214068, + 0x09054704, 0x00004701, 0x0e54050b, 0x000f0b0b, 0x02219582, 0x088b8290, 0xd00fc032, 0x050ff00f, 0xc0ffb80f, 0x0c071f40, 0xeb500348, 0x08a90108, + 0x0f0208b9, 0x2f081f08, 0x08060308, 0x0a0d0008, 0x00050f06, 0x323f0015, 0x12c4333f, 0x5d249e83, 0x2b01e15d, 0x33239482, 0x84e6102f, 0x92102099, + 0xb63b219c, 0x23053141, 0x97fe1f02, 0x20093241, 0x089b829a, 0x00fec72e, 0xb605db07, 0x5f002700, 0x0b093a40, 0x12120701, 0x215a2000, 0x5b182521, + 0x296f2908, 0x255a2401, 0x601d2864, 0x032f030f, 0x0f03033f, 0xdf3c0482, 0x0403ff03, 0x25030308, 0x03265f23, 0x13122521, 0x1c0d5f16, 0x33e13f00, + 0xe13f333f, 0x71299284, 0xf61001e1, 0xde105de1, 0x279084e1, 0x30312f39, 0x015d5e00, 0x2317684d, 0x11072223, 0x29054b41, 0x1ec10421, 0xf09a2e49, + 0x6b4d56a5, 0x3d433505, 0x497e3f1f, 0x7c437701, 0x334b6bae, 0xba7bfdbb, 0x1b03fa03, 0x26166b4d, 0x0589fd0c, 0x82eefa12, 0x015808cb, 0x0afeae00, + 0x4a047506, 0x77002400, 0x230b4e40, 0x0302231b, 0x47111903, 0xc2011202, 0x12a60112, 0x770212b6, 0x02128712, 0x0a161212, 0x0f262048, 0x02261f26, + 0x265f264f, 0x26ff26af, 0x01261004, 0x54164715, 0x0b510d25, 0x021b1b1b, 0x161b1b07, 0x0f175014, 0x04151612, 0x8906884d, 0x21e885e9, 0xea85715d, + 0x5d5d5d25, 0x8432e171, 0x158e4dee, 0x4c18e684, 0x04210844, 0x098f4dd9, 0x1f3e1c2a, 0xb608feb6, 0x3f3a6403, 0x28158f4d, 0x50fcb003, 0x27fe4a04, + 0x08914d0c, 0x00026608, 0x05acff7d, 0x00cd0596, 0x0052003e, 0x0550407a, 0x0432104e, 0x005b4900, 0x02201020, 0x20352035, 0x005b3f18, 0x540f5467, + 0x544f541f, 0x547f545f, 0x54af549f, 0x5b2b0707, 0x44536618, 0x00054e60, 0x203a103a, 0x703a603a, 0x063a803a, 0x26073a3a, 0x041d215f, 0x5f303210, + 0x0e5f0713, 0x0013130e, 0xe12f333f, 0x28d08210, 0x12e1333f, 0x395d2f39, 0x20ee8439, 0x3aa2185e, 0xe15d3608, 0x31391712, 0x0e140130, 0x33160702, + 0x15373632, 0x22230606, 0x10046527, 0x6e032e21, 0x3721097d, 0x084f6326, 0x2e340723, 0x08188702, 0x033e17ee, 0x41276f05, 0x51362d55, 0x1d1f4625, + 0x8ba6264f, 0x963c7c32, 0x4d519de8, 0x42a6f29e, 0x0a352578, 0x15333028, 0x336ca976, 0x64a0703c, 0x5b4f2630, 0x4c836037, 0x3962854b, 0x3d2a16c5, + 0x293d2927, 0x36291815, 0x2e422a1f, 0x65a60218, 0x246f90af, 0xaa0b0e19, 0x11620c0d, 0x01c06a11, 0x01b5a50e, 0x1669c71f, 0x0a059c0f, 0x9a510509, + 0xda948dde, 0x69074690, 0x859b1601, 0x383b7bc1, 0x5495c67b, 0x37366389, 0x48508762, 0x27657685, 0x88776221, 0x00020000, 0x04c5ff71, 0x005e04a4, + 0x004d000d, 0x44494079, 0x04321105, 0x5448003f, 0x02216421, 0x21352135, 0x3f480819, 0x573f4a4a, 0x8b4f7b4f, 0x034fbb4f, 0x4f6f4f5f, 0x014f1b02, + 0x07014f0f, 0x19482a02, 0x440b4e56, 0x473a3a05, 0x1e225025, 0x2f321110, 0x50471450, 0x16140e0e, 0x2d0a5a41, 0x2f3912e9, 0x01c13939, 0x5fe1f610, + 0x00825d5e, 0x32e61025, 0x78e1102f, 0x60410530, 0x021e2107, 0x2306e553, 0x22010622, 0x200d9764, 0x0d646616, 0x26373627, 0x3e343526, 0x05395302, + 0x07020e23, 0x07994116, 0xdd029208, 0x152a2014, 0x3d384839, 0x4c01413e, 0x28398845, 0xb3754762, 0x783c3f7a, 0x524279b4, 0x4a13291a, 0x4370542a, + 0x6e431e1c, 0x03322550, 0x55314a39, 0x6f404172, 0x341e2e52, 0x37142745, 0x1c391a1d, 0xf4014219, 0x394b5c35, 0x6b962812, 0xfd7a7a67, 0x11252a68, + 0xcc975717, 0x97d68375, 0x96061053, 0x6f3a1005, 0x945967a0, 0x02083c6b, 0x5e77b442, 0x272b5988, 0x46638a56, 0x1b4d6378, 0x08060d0a, 0xff070993, + 0xfe7d00ff, 0x05980442, 0x002602cb, 0x05754d26, 0x002f022d, 0xb70e0000, 0x32750101, 0x4d20182c, 0x27820572, 0x42fe712a, 0x5e046f03, 0x46002602, + 0x01212785, 0x24278671, 0x05282e52, 0x0827850d, 0x00010057, 0x047ffe14, 0x00b60512, 0x406f000b, 0x010d1f39, 0x5f010de0, 0x020ddf0d, 0x0d300d20, + 0x04030d40, 0x1f010f5a, 0x01070201, 0xef0aaf01, 0x0a0a020a, 0x40065a0b, 0x0207e007, 0x0801070f, 0x06570707, 0x06770667, 0xffb80603, 0x070f40c0, + 0x0b06480a, 0x03085f07, 0x084b4700, 0x32e13f31, 0x5d2b2f01, 0x5d5e2f33, 0x32e1105d, 0x82395d2f, 0x5de12409, 0x47715d5d, 0x35370949, 0x02211521, + 0xbbb0b071, 0xfe035efe, 0xfda65ffe, 0x058101d9, 0x82a4a412, 0x290027b6, 0x5e0383fe, 0x9d844a04, 0x0df04d39, 0x010daf01, 0x0d500d40, 0x010d2f02, + 0x08af470b, 0x08cf08bf, 0x82400803, 0x08330878, 0x0105df08, 0x8f01059d, 0x05050105, 0x60004707, 0xd0027002, 0x021f0302, 0x00020201, 0xb0001000, + 0x0400c000, 0x06fb0900, 0x0f035002, 0x15005007, 0x82e13f00, 0x183f209c, 0x820a568b, 0x82392095, 0x259d83ab, 0x2130315d, 0x98832111, 0x11331138, + 0x68011123, 0x3503c1fe, 0xb69fc1fe, 0x9a9ab003, 0xe9fdeafc, 0x956d7d01, 0x05372707, 0x000602b6, 0xad83003c, 0x14fe0024, 0xad82d503, 0x7c001336, + 0x0a0a1340, 0x01a64700, 0x97018701, 0x01010201, 0x10121103, 0x080c4e50, 0x0b072042, 0x15121248, 0xdf0115f0, 0x0215ef15, 0x15901550, 0x4f0315a0, + 0x15300115, 0x01150f01, 0xffb80304, 0x031040f0, 0x050f0311, 0x020a150a, 0x020a1307, 0x001b0015, 0x33333f3f, 0x333f5d5e, 0x33382f01, 0x0282b082, + 0x2f331129, 0x33382b2b, 0x722f3912, 0x312205ed, 0xb1820130, 0x13333908, 0x3317031e, 0x1337033e, 0x46020133, 0xbc71feb7, 0x1b2010c7, 0x04070514, + 0x10201b15, 0x71febcc7, 0xe80114fe, 0xcffd4e04, 0x4f5e642e, 0x5e4f1919, 0x31022e64, 0x0100b2fb, 0x0021c982, 0x08d58204, 0x0010002e, 0xef19409f, + 0x40120112, 0x00480c09, 0x5a080400, 0x96090d09, 0x09770109, 0x06020987, 0x40c0ffb8, 0x4818150d, 0x0606090b, 0x02030b09, 0x0805b364, 0x0fab383c, + 0x010f9001, 0x0f010f14, 0x10100201, 0x02ef0102, 0x0102d001, 0x800102bf, 0x024f0102, 0x1402025f, 0x02000102, 0x02020701, 0x5f0a0712, 0x0d0d0004, + 0x0f120801, 0x3f000301, 0xc2823f33, 0xe1333928, 0x33011132, 0xdb855e2f, 0x38715d23, 0x20d68233, 0x2ede825d, 0x2f2f3917, 0x5d5d2b2f, 0xe1103311, + 0x823d3932, 0x23e8820a, 0x15013301, 0x0805c255, 0x21352128, 0x02330135, 0xc854011b, 0x270142fe, 0xfebbd9fe, 0xfe2601da, 0xd302cb42, 0x83fce302, + 0xa8fea43d, 0x33a45801, 0xa7418703, 0x0019310b, 0x0e154085, 0x4701170e, 0x0102a606, 0x02970287, 0x07230082, 0x77101615, 0x37080cb2, 0x480b0720, + 0xf01b1616, 0x1bdf011b, 0x50021bef, 0xa01b901b, 0x1b4f031b, 0x011b3001, 0x08011b0f, 0xf0ffb807, 0x15071340, 0x03000f07, 0x150e054f, 0x0e07020e, + 0x01150617, 0x2107ac41, 0xae4132e1, 0x82ec8217, 0x303125c9, 0x11231105, 0x0120c082, 0x2a0bb441, 0x46021521, 0x01f6feb7, 0x4173fe08, 0x012910ba, + 0x9dfe890a, 0x04896301, 0x0ebe414a, 0x89b62b08, 0x00000100, 0xb4047ffe, 0x0f00b605, 0x88400601, 0x48010f47, 0x0f030109, 0x05060b00, 0x070e070a, + 0x090b000c, 0x0d080a05, 0x12820c08, 0x82090021, 0x05320814, 0x030f0c09, 0x080e0606, 0xaa01050a, 0xca05ba05, 0xfa05ea05, 0x30050505, 0x05480e0b, + 0x0d015a04, 0x0e0b100e, 0xbb0eab01, 0xeb0ecb0e, 0x050efb0e, 0x1982400e, 0x000a0e2f, 0xba00aa01, 0xea00ca00, 0x0500fa00, 0x082d8300, 0x04000e3e, + 0x02011401, 0x11010107, 0x11e411d4, 0xc00311f4, 0x20020111, 0x02114011, 0xc0ffb811, 0x14100b40, 0x01110f48, 0x070a0a0b, 0xf0ffb808, 0x28081440, + 0x0c270106, 0x05060c01, 0x07030a0d, 0x28093544, 0x12333f33, 0x5d5d3939, 0x057c5401, 0x5d2b5d24, 0x864d5d5f, 0x33332505, 0x2f715d2b, 0x38240382, + 0x32e11033, 0x11300782, 0x2f3d3912, 0x87103317, 0xc004c00e, 0x0ec08710, 0x08220482, 0x058608c0, 0x37820120, 0x5408cb51, 0x4308058f, 0x03013301, + 0x77b0b6fe, 0x91fe9efe, 0xfec501bc, 0x4c01c65a, 0xfebe4e01, 0xd9fda65b, 0x7b028101, 0xfc0285fd, 0xd1fdba02, 0x4cfd2f02, 0x00010000, 0x0483fe23, + 0x004a041f, 0x4039010f, 0x010d5925, 0xb4010356, 0x203ab282, 0x3d48110e, 0x0c29010c, 0x1b0c0b01, 0x0b0c020c, 0x03000846, 0x0d0d0306, 0xda830401, + 0x15714508, 0x04b54818, 0xa9049901, 0x046a0204, 0x048a047a, 0x55044503, 0x04060204, 0xdb050401, 0xfb02eb02, 0x02c90302, 0x0102bb01, 0x02a60296, + 0x75026502, 0x03028502, 0x025a024a, 0xdf010202, 0xff05ef05, 0x40050305, 0x3b3a6382, 0x02054b05, 0x0a010527, 0x02051a05, 0x01440134, 0x01012802, + 0x01150105, 0x06820502, 0x073b0f24, 0x8a830701, 0x08075408, 0x40c0ffb8, 0x480c0749, 0x60110808, 0x90118011, 0xd011b011, 0xf011e011, 0x0edb0711, + 0x010ec901, 0x65010eba, 0x850e750e, 0x0e4a030e, 0x09020e5a, 0x3b0e010e, 0x020f4b0f, 0x05010f28, 0x020f150f, 0x010d030f, 0x0c50070e, 0x04fb0915, + 0x3f000f01, 0x4e3f3f33, 0x2f24054c, 0xc55d5d5d, 0x2a068e43, 0x2b2f3311, 0x125d2b33, 0x832f3939, 0x22158216, 0x86105d2b, 0x2007861c, 0x0690412b, + 0x8432e121, 0x30312a1d, 0x015d5d00, 0x13133301, 0x05045633, 0x01232c08, 0x98012301, 0xfacf9ffe, 0x9dfecffa, 0xaeaa0f01, 0xfef4fe65, 0x3302cff2, + 0x66fe1702, 0xe9fd9a01, 0xe9fd67fe, 0xb4017d01, 0x46004cfe, 0x0633059f, 0x00b60560, 0x4094000f, 0x045a010d, 0x105a0804, 0x82d00105, 0x08f183fd, + 0x12074444, 0x11050548, 0xa00111df, 0x110f0111, 0x114f112f, 0x0704118f, 0x0e200e10, 0x0e500e40, 0x0e800e60, 0x000e0e06, 0x0b0f095a, 0x0b2f0b1f, + 0x0b6f0b5f, 0x08060baf, 0x09300b0b, 0x09500940, 0x09900980, 0x48830905, 0x0a071123, 0x30248248, 0x030c025f, 0x095f0004, 0x00fb0612, 0x32e13f3f, + 0x063e5a3f, 0x5e2f3322, 0x2005bf46, 0x2fd5825e, 0x2b2f3311, 0x33e1715d, 0x3031e12f, 0x33112125, 0x23210182, 0x062f4611, 0x02710228, 0xb0b0ba85, + 0xcc4606fc, 0x10052106, 0x2305b85f, 0xa4a41205, 0x2926cd82, 0x6d0583fe, 0xcd824a04, 0x0bb68028, 0x020e0e47, 0x7d820f47, 0x180eb323, 0x2a078348, + 0x0b073340, 0x110f0f48, 0x841f110f, 0x82bf20ca, 0x07062ed8, 0x08e00860, 0x080308f0, 0x03470a08, 0x061a421f, 0x0300052a, 0x03600310, 0x03040370, + 0x142fbd84, 0x09034818, 0x060c5005, 0x500a0e0f, 0x8f001503, 0x83bc87bd, 0x852b20ba, 0x880120b9, 0x82bb82b3, 0x6d0524c3, 0x46b2fcb7, 0x012705e7, + 0xfea0b6f8, 0x467d0183, 0x032405ed, 0x0050fcb0, 0xa63ebb82, 0x31057ffe, 0x1d00b605, 0x12406300, 0x0d1b0d0b, 0x5a041a02, 0x1da01d90, 0x031d1d02, + 0x8783005a, 0x072c2b08, 0x00004810, 0x1f1f0f1f, 0x4f1f2f1f, 0x7f1f5f1f, 0xbf1faf1f, 0x1207081f, 0x1e640f5a, 0x0a1a5f15, 0x101b040a, 0x045f1d03, + 0xa2840112, 0x12333f25, 0x4b332f39, 0x9c830618, 0x2307b44e, 0x2311255d, 0x0e260182, 0x2e222303, 0x4f183502, 0x37200883, 0x05350982, 0x3abab031, + 0x31616369, 0x3565925d, 0x2d7b69ba, 0x38665e5a, 0x05be43ba, 0x22165636, 0x5e310c16, 0x4702598b, 0x7473d1fd, 0x141e140a, 0xf0fac602, 0x2308bd82, + 0x0483fe9a, 0x004a049e, 0x4061001c, 0x1b090b17, 0x03092b09, 0x47001507, 0x471c1818, 0x19101900, 0x19031920, 0x2208c283, 0x48150e25, 0x0f1e1919, + 0x7f1e5f1e, 0xcf1ebf1e, 0x470e051e, 0x1a1d540b, 0x501015fb, 0x16000606, 0x48180f0c, 0xba83063d, 0x3f33e127, 0xe1f61001, 0x20ba835d, 0x27bb825d, + 0x303132e1, 0x11215d5e, 0x3323b78a, 0x83023e32, 0x823320b6, 0x480334ce, 0x5e55502c, 0x527a4e3a, 0x2db8b62b, 0x2a4d4c50, 0x18b7a0b6, 0x280baa91, + 0x0fae66fe, 0x011d2b1c, 0x088f4fd5, 0x00a65808, 0x05810400, 0x001d00b6, 0x0b2e4070, 0x02041b04, 0x041d0f1c, 0x020e140e, 0x060e0e07, 0x165a1713, + 0x1f701f65, 0x2f021fa0, 0x1f10011f, 0x605a0901, 0xa0067006, 0x0406b006, 0xc0ffb806, 0x0a071640, 0x100e0648, 0x1b131d0e, 0x5f0c031d, 0x14170101, + 0x12170307, 0x843f3f00, 0x331726be, 0x2f32322f, 0x06f64801, 0x3227c982, 0x5e2f3911, 0x82c1335d, 0x015d21c7, 0x250a7b41, 0x11331133, 0xc7833636, + 0x06112329, 0x23110706, 0x41215002, 0x0c2c067f, 0x44763885, 0x7742baba, 0xfc018539, 0x08097b41, 0xfe580121, 0x192209b4, 0x4afac602, 0x251a5602, + 0x00c9fe0b, 0x009a0001, 0x04fe0300, 0x001c004a, 0x8442406b, 0x072308cd, 0x501c0e1b, 0x0d04010d, 0x0d240d14, 0x0d0d0803, 0x5a161206, 0x101e5515, + 0x801e601e, 0x5a09031e, 0x4a1d5406, 0x0d28068b, 0x121c0d0f, 0x0b031c1a, 0x1625c682, 0x160f0713, 0x74c68d15, 0xc48805f3, 0x5e23c585, 0x8930315d, + 0x913320c8, 0x2f0e21c7, 0x08058e41, 0x2f7d0627, 0xb6b6335b, 0x7d325932, 0x542f6a01, 0xa6014473, 0x01ae66fe, 0x0ee5fe2d, 0xd5012330, 0xe901b6fb, + 0xff103323, 0x57c58200, 0x3a08070f, 0x40500017, 0x14070436, 0x0c070207, 0x19650b5a, 0x195f192f, 0x198f196f, 0x19af199f, 0x19ef19cf, 0x100919ff, + 0x16020119, 0x1864175a, 0x005f1015, 0x02051005, 0x0b170505, 0x83030012, 0x2f3923b9, 0xae57e15d, 0x755d2005, 0x002505a6, 0x33135d5e, 0x06e84f11, + 0x23113308, 0x23263411, 0x07020e22, 0xbac72311, 0x5d62c373, 0xbb356592, 0x5a2d7b68, 0xba38655f, 0xaafdb605, 0x5e312d2d, 0xb8fd598a, 0x75732f02, + 0x141e140a, 0x2d5139fd, 0x04240805, 0x004a0412, 0xb93f0018, 0xe0ff1400, 0x0a072240, 0x18470048, 0x1aef1a55, 0x601a1001, 0x031a801a, 0x0a47090d, + 0x07749418, 0x510a0f21, 0x3921050f, 0x238b8e2f, 0x3411212b, 0x11227e86, 0x4c601133, 0x03112206, 0x06b7425c, 0xc942b620, 0x016b0808, 0x1c0fae9a, + 0x2bfe1c2c, 0x16fe4a04, 0x11202f1f, 0x4473532f, 0x02005afe, 0xecff3d00, 0xcd050606, 0x36002b00, 0x3e406400, 0x0b145b32, 0x380f3867, 0x2902381f, + 0x22012220, 0x5b0c3122, 0x801f7000, 0x031fc01f, 0x0c1f371f, 0x2b4f3160, 0xaf2b0f01, 0x032bff2b, 0x0801250f, 0x252b252b, 0x145f1105, 0x5f2c131a, + 0x3f000405, 0x4d333fe1, 0x5e3905d8, 0x33715d5d, 0x100132e1, 0xe1325dd6, 0x5d2f3332, 0xf6105dc1, 0x3031e132, 0x2ca68301, 0x15121616, 0x031e2115, + 0x37363233, 0x05884315, 0x2227eb08, 0x36343526, 0x06063337, 0x01331415, 0x07020e22, 0x022e3421, 0x5b0a6601, 0x998ddd9c, 0xfc3e88d6, 0x743f0725, + 0xcf8070a9, 0x695b2a5b, 0xeb984c7c, 0x8f095ca4, 0x9c0b129a, 0x02670f06, 0x6e955b89, 0x12030741, 0x038b5625, 0xabf49a39, 0xfec56b5b, 0x7a45abeb, + 0x2c4786c2, 0x1a0faa20, 0xb3610a12, 0x7a759bfd, 0x0f17422a, 0x0161233e, 0xb97e41f0, 0x80b87578, 0x02000043, 0xecff3300, 0x5e04b604, 0x35002c00, + 0x2b408400, 0x1e274831, 0x37ff3757, 0xb0379001, 0x371f0237, 0x3002377f, 0x0f05481f, 0x080108df, 0x05001308, 0x05200510, 0x50054003, 0xb8050205, + 0x2840c0ff, 0x05481310, 0x501f0536, 0x2b121b30, 0x120f0212, 0x2b0b1b01, 0x0b0f020b, 0x0b120601, 0x2d220b12, 0x22101850, 0x16002751, 0xe1323f00, + 0x3912e13f, 0x3b4b2f39, 0xe1333205, 0xc6100132, 0x32715d2b, 0xc15d2f32, 0x5d32e110, 0x0623415d, 0x2e220525, 0x41262702, 0x1621090f, 0x07296233, + 0x21153408, 0x32331616, 0x1537023e, 0x2203030e, 0x34210706, 0x3503022e, 0x4b82b36b, 0x128e8504, 0x0e069509, 0x0e1b3131, 0x5a98744c, 0x3b6e9e63, + 0x99054cfd, 0x19573397, 0x080e9b38, 0x46145982, 0x0281c788, 0x3f27726f, 0x223a0e15, 0xa96c312f, 0x81473e75, 0xc1716eb5, 0x1d130ab6, 0x1c13a212, + 0xdb030812, 0x7144959c, 0x00002c50, 0xfe3d0002, 0x0506067f, 0x002e00cd, 0x40720039, 0x1c5a1b46, 0x5b35221c, 0x3b670b14, 0x3b1f3b0f, 0x25202c02, + 0x34252501, 0x70005b0c, 0xc0228022, 0x3a220322, 0x34600c22, 0x0f012e4f, 0xaf2e3f2e, 0x280f032e, 0x282e0801, 0x1a05282e, 0x1d601114, 0x2ffb1b12, + 0x22062b42, 0x5933e13f, 0x2d420561, 0x39122216, 0x1631422f, 0x23110725, 0x42032e11, 0x252a2a33, 0x3a64584e, 0x8ac480b6, 0x3442084d, 0x170e2d26, + 0xfe020b11, 0x10730191, 0x8eebb06d, 0x08133a42, 0x33000275, 0xb60483fe, 0x2d005e04, 0x92003600, 0x47043040, 0x320b0505, 0x57242d48, 0x0138ff38, + 0x38b03890, 0x7f381f02, 0x25310238, 0xdf150b48, 0x0e0e010e, 0x100b0019, 0x030b200b, 0x0b500b40, 0xffb80b02, 0x102b40c0, 0x370b4813, 0x3150250b, + 0x182b181b, 0x01180f02, 0x112b111b, 0x01110f02, 0x18111806, 0x502e2811, 0x5128101e, 0x1606032d, 0x3f00fb04, 0x4233333f, 0x39412443, 0x06252205, + 0x06284106, 0x201d4c42, 0x06494201, 0x4285042a, 0x54b64c80, 0x03386389, 0x361c4d42, 0x857283fe, 0x1bec010b, 0x20355939, 0x95fe0423, 0x54117501, + 0x426fb284, 0x02211952, 0x064d42f0, 0xffff3a08, 0x00005200, 0xb6056402, 0x2c000602, 0xffff0000, 0x00000400, 0x69078106, 0xb0012602, 0x07010000, + 0xf4003602, 0x13005201, 0x17010b40, 0x00012605, 0x0a11121c, 0x352b0125, 0x85028200, 0xbe05232d, 0x2d821706, 0x2d86d020, 0x18009321, 0x8209af8e, + 0x070e212d, 0x00202d87, 0x08057563, 0xb605e143, 0x67002500, 0x1b1b3f40, 0x115b2105, 0x0a100a09, 0x48180c40, 0x11040a0a, 0x40271027, 0x080b0227, + 0x055a0408, 0x5f1f2664, 0x081c161c, 0x2f600003, 0xef0c5f0c, 0x040cff0c, 0x1510400c, 0x050c0c48, 0x06736309, 0x39123329, 0xe15d2b2f, 0x493f3333, + 0x3223050f, 0x715d3311, 0x382905ca, 0x11e11033, 0x30312f39, 0x05976201, 0x01113324, 0xa1520133, 0x0d756307, 0x4146022c, 0xbaba285c, 0xfdcf3502, + 0x095606d1, 0x487f370d, 0x7c437701, 0x116f02ae, 0x05b0fd0e, 0x023cfdb6, 0x5558fdc4, 0x7663eca3, 0x76b3220e, 0x08db823a, 0x0afeae54, 0x4a04e903, + 0x72002300, 0x080b4740, 0x2202081b, 0x231f1023, 0x1d232301, 0x1e0d0d05, 0x25054814, 0x5f01250f, 0x7f256f25, 0xbf259f25, 0xff25df25, 0x21000725, + 0x1e471d21, 0x1c212454, 0x000b5119, 0x0702001b, 0x221e0000, 0x151e0f1f, 0x0a0e5111, 0xd882001b, 0x21057648, 0xe6825d5e, 0xf6100123, 0x55e383e1, + 0x112006fd, 0x7129fe82, 0x30313338, 0x1e015d00, 0x054f6403, 0x21099263, 0x9363022e, 0x08fb8306, 0x5e2b0229, 0x3f4578a3, 0x4c57966f, 0x692c2f69, + 0x23757643, 0x204e724a, 0xb4b42955, 0x02c49801, 0x8440056a, 0xd59694d0, 0x631f4088, 0x6a2d0592, 0x102d6097, 0x0450fe0d, 0x010afe4a, 0x26dd82f6, + 0x057ffe00, 0x82b60556, 0x733a08dd, 0xb80207b1, 0x4640f8ff, 0x02481714, 0x0118895a, 0xe0181018, 0x1db4011d, 0x1dd41dc4, 0x501d0003, 0x1d07021d, + 0x210f1f1d, 0x5a002222, 0x251f2023, 0x25c02590, 0x0f0325f0, 0xf9821f25, 0x0f080333, 0x5f02fb21, 0x6013031d, 0x5f1f130c, 0x3f001200, 0x2a0184e1, + 0x5d5e2f01, 0x32d4105d, 0x6c39e132, 0x0e820535, 0x38335d2f, 0x322be15d, 0x11213031, 0x07030e21, 0x0cbc7e0e, 0x12363625, 0x6b213712, 0xd92a0519, + 0x200f85fe, 0x14102121, 0xb8184f35, 0xd02c120a, 0xa5d98fc3, 0xf5711205, 0x6751d4eb, 0x12f9b718, 0x20056e4c, 0x08e58200, 0x83fe1041, 0x4a046604, + 0x58001800, 0x46023840, 0x12e412d4, 0x70126002, 0xb012a012, 0x12340412, 0x0a121201, 0x00171716, 0x14151847, 0x1a201a55, 0x0f021ab0, 0x0a08011a, + 0x5002fb16, 0x4f0d0f12, 0x4a141607, 0xd38306e8, 0xf420d185, 0x3925d186, 0x5d5d5d2f, 0x20ca84e1, 0xf8a01802, 0x39c4840f, 0xfefefa02, 0x825f4014, + 0x10311c56, 0x59371c16, 0x02123345, 0xb77ab654, 0xa118037b, 0xfc250f00, 0x01e9fd50, 0x08af837d, 0x00fee53b, 0xb605f404, 0x4b001b00, 0x05052b40, + 0x5a0c1410, 0xc01d6517, 0x1dbf011d, 0x011d2001, 0x105a0f13, 0x5f0e1c64, 0x0801130f, 0x15101313, 0x12100311, 0x00065f09, 0x323f001c, 0x085742e1, + 0xf6100122, 0x2106eb46, 0x334332e1, 0x022e2106, 0x2507d965, 0x23112111, 0x05823311, 0x14113326, 0xd102020e, 0x22078e66, 0x5bfdc6bb, 0x522405c0, + 0x00fec992, 0x23068266, 0x1f02f7f0, 0x2507c95b, 0xf8aaddfa, 0x17434fa2, 0x3b042305, 0xa3824a04, 0x1a406924, 0xa3820303, 0x17473408, 0x1d001d55, + 0x30021d20, 0x501d401d, 0xf01dd01d, 0xb81d051d, 0x2840c0ff, 0x1348110e, 0x5410470f, 0xeb500e1c, 0x13a90113, 0x0f0213b9, 0x2f131f13, 0x84060313, + 0x100f25bf, 0x04510715, 0xbf8a4a82, 0x071d4418, 0x715d2b22, 0xc186c883, 0x22060743, 0x8e35023e, 0x4ca02ac1, 0x692c2f69, 0x3d5b3b42, 0x05a15a1f, + 0x663fb621, 0x2d2f088a, 0x01699661, 0x0417feb2, 0x0139fe4a, 0x66f3fbc7, 0xe5360687, 0xb6057ffe, 0x0f00b605, 0x32405200, 0x0d030302, 0x01045a05, + 0x1a5d1100, 0x50c02007, 0x205d0533, 0xd4102f2b, 0x32e13232, 0x31332f39, 0x03332530, 0xd85b1323, 0x04332609, 0xd98fc2f4, 0x171e5da6, 0x00010029, + 0x0483feae, 0x824a04f2, 0x4076318d, 0x0e0e0d4f, 0x0f470008, 0xbb0bab0c, 0x110b020b, 0x22581c5d, 0x885dd410, 0x0c1c5db1, 0x0320bc82, 0x23071c5d, + 0x7ab67bb7, 0x4209eb5b, 0xa62209a5, 0x8f4d7ffe, 0x40592a06, 0x1a5a1d21, 0x5a00161a, 0x0c824d19, 0x5a0e3008, 0x0b700b60, 0x0bb00ba0, 0xffb80b04, + 0x071440c0, 0x160b480a, 0x06065f11, 0xfb1b1a0c, 0x121a5f1d, 0x00030c17, 0xe13f333f, 0x3912113f, 0x4d33e12f, 0x32250b7e, 0x3031e12f, 0x0b3f4e25, + 0x23059249, 0x23113311, 0x03210182, 0x11f94ec7, 0xa6b0ba24, 0xf74eb001, 0xfe4a2414, 0x4e27027f, 0x754d05fb, 0x40402a06, 0x18471b25, 0x471c1418, + 0x08624d17, 0x0a470d33, 0xfb191d54, 0x05500f14, 0x501b0b05, 0x0b151518, 0x849e840f, 0x05df4e9c, 0xe1f61023, 0x209a8432, 0x12d94e01, 0x33209883, + 0x2113da4e, 0xdb4ea0b6, 0xb6fb2514, 0x170283fe, 0xc73d9782, 0xf2067ffe, 0x1f00b605, 0x36b69a00, 0x0039011f, 0xffb81f01, 0x0c2c40f8, 0x001f480f, + 0x29058208, 0x0c0d0d00, 0x13120910, 0x0d830e13, 0x010e3934, 0x5a151d0e, 0x21101114, 0x21c02120, 0x01210f02, 0x30830b08, 0x2a821020, 0x010b263f, + 0x5a08020b, 0x10206409, 0xffb80c5f, 0x091640f0, 0x09004812, 0x1215030c, 0x011efb12, 0x24468201, 0x0a0e0148, 0x2ad98203, 0x33112b33, 0x33173f3f, + 0x8401e12b, 0x2b5d21d7, 0x2307ad45, 0x2b5d3232, 0x2b05b145, 0x2b331139, 0x30312b33, 0x01215d5d, 0x2308546d, 0x01330121, 0x0805a445, 0x34112339, + 0x3637023e, 0x03012337, 0x0845fe23, 0x06040405, 0x011401ac, 0x9e01069c, 0x90c31401, 0x01baa6d9, 0x03020202, 0x41fe0804, 0x494a0005, 0xfc398b3f, + 0xfbb60596, 0x45a80458, 0x032a059f, 0x413d1977, 0x49471e42, 0x054302fb, 0x05700805, 0x004a04c7, 0x40870024, 0x1807085a, 0x22201018, 0x001e2323, + 0xaf212446, 0x0220bf20, 0x26e02620, 0x0126cf01, 0x26402630, 0x26a02650, 0x01260f04, 0x460f1206, 0x22255410, 0x0e3b01fb, 0x0e5b0e4b, 0x1b0e0b03, + 0x030e2b0e, 0x111e0e0e, 0x3450200f, 0x54184418, 0x18050318, 0x18251815, 0x18100803, 0x00150003, 0x5d32173f, 0x333fe15d, 0x5d5d2f33, 0x2005b850, + 0x21f98232, 0x10435d5d, 0x12112109, 0x3338f882, 0x11213031, 0x0107030e, 0x032e0123, 0x11231127, 0x031e0133, 0x37033e17, 0x2206bb71, 0x18066f04, + 0x2f142da6, 0x0e06050e, 0x010d1613, 0x7bb7d90e, 0x81037ab6, 0x1f31a618, 0x49055443, 0x002b12b5, 0xdd040000, 0x26026907, 0x49002400, 0x212005b5, + 0x2805b549, 0x26051a02, 0x151f0002, 0x08874904, 0x5e263d82, 0xa103ecff, 0x2d821706, 0x2d824420, 0x36020632, 0x130000d4, 0x38020b40, 0x25022611, + 0x220c333d, 0x8207b349, 0x2059852b, 0x2259872b, 0x83006a00, 0x40172c59, 0x1e02030d, 0x02032605, 0x85291501, 0xfd95185b, 0x215d8308, 0x1419059c, + 0xff2d287b, 0x060000fe, 0x02b60556, 0x00880006, 0x239d8500, 0x5e044406, 0xa8200f82, 0xc7240f84, 0xc8030000, 0x2820db84, 0xff21db85, 0x29db85fb, + 0x26051101, 0x0c160601, 0xaf8a0001, 0xdb827120, 0xdb84e120, 0xdb854820, 0x0719ea20, 0x00221641, 0x2b820002, 0x12053e08, 0x1e00cd05, 0x49002900, + 0x1a242f40, 0x2b670e5b, 0x2b8f2b0f, 0x2bbf2baf, 0x0b402b04, 0x5b25480f, 0x2a661903, 0x192f5f25, 0x197f195f, 0x09191903, 0x13135f1f, 0x095f0003, + 0xe13f0004, 0x06597133, 0xf610012a, 0x5d2be132, 0x32e1f610, 0x2005734a, 0x07564f35, 0x09a14718, 0x21355208, 0x3203032e, 0x2137023e, 0x02021e14, + 0x5bcf8079, 0x7d695a2a, 0xa5f4a04c, 0xe89d5154, 0x87d79996, 0x07db033e, 0x43a97340, 0x426d955b, 0x26edfc07, 0x29058c55, 0x0faa202c, 0x6c0a131a, + 0xabe9fec6, 0xc2ebfeae, 0x01c46b68, 0x7a46ab15, 0xfb4786c1, 0x05354f66, 0x00447f22, 0x6620cb82, 0xd722f782, 0xcb825e04, 0x00272d08, 0x22294043, + 0x57054811, 0x0129b029, 0x2301293f, 0x56101948, 0x9f502328, 0xcf10af10, 0x0410df10, 0x1f001010, 0x19160a50, 0x10005114, 0x5d20c58f, 0x3222c587, + 0x534a021e, 0x022e2b05, 0x26213535, 0x0e222326, 0xd7820702, 0x36321322, 0x3a08c284, 0xb66ee701, 0x78424983, 0x9e6366a7, 0xb5023b6e, 0x33979a05, + 0x274c5057, 0x57514c28, 0x0b857360, 0x391b14fe, 0x4a5e0458, 0x8887d28e, 0x474e95d6, 0x716eb581, 0x130ab6c0, 0x82a1121c, 0xfc092203, 0x09834c25, + 0xff712a08, 0x071205ec, 0x0226022b, 0x010000e1, 0x006a0007, 0x00520146, 0x0203b619, 0x03260533, 0xd3ffb802, 0x183e2ab4, 0x2b01250e, 0x08654235, + 0x0521ef84, 0x203382d9, 0x243382e2, 0xc46a0006, 0x21318400, 0x31841131, 0x28b4f425, 0x8c050f3c, 0x00042431, 0x83810600, 0x05d94c65, 0xf4206582, + 0x172c6582, 0x01020d40, 0x0226051b, 0x26120001, 0x8805db4c, 0x21318263, 0x6383be05, 0x00d00122, 0x91219785, 0x82658300, 0x82112030, 0xffb82530, + 0x2612b4ff, 0x8805e14c, 0xff482433, 0x84ec03ec, 0x85b12065, 0xbfff2133, 0x0222cb84, 0x64834301, 0xf4ffb827, 0x134e3ab4, 0x20998c0b, 0x20338244, + 0x20678452, 0x203386d1, 0x20678655, 0x20678543, 0x6c3382d9, 0x6785051c, 0x00010022, 0x64086784, 0x2000b605, 0x2d407200, 0x1c1b5b00, 0x4020205b, + 0x1d481810, 0x1b20201b, 0x160d031d, 0x2267055b, 0x7001229f, 0x020d800d, 0x0d4f0d3f, 0x0d030d5f, 0x1e5f1d20, 0xf0ffb81b, 0x0d071840, 0xaa191b48, + 0x00780100, 0x01000f01, 0x1e000008, 0x0e601303, 0x3f00130a, 0x393fe133, 0x5d5d5e2f, 0x2b33335d, 0x0132e110, 0x230a822f, 0x12e1f610, 0x25054e5c, + 0xe110e110, 0x6f4c3031, 0x9744180b, 0x35233108, 0x21352101, 0x73f40115, 0x434784ba, 0x6e89cd88, 0x0a44bd18, 0x017b2108, 0x03a6fda6, 0x053b033d, + 0x66976435, 0x4074a060, 0x17aa2d22, 0x940d1824, 0x97818787, 0x91a6d101, 0x1b23d382, 0x630314fe, 0x3d080545, 0x003e4064, 0x4a201f4a, 0x13402424, + 0x1f214818, 0x211f2424, 0x47180d03, 0x6f265705, 0x02269f26, 0x0f012630, 0x0d070126, 0x48110c40, 0x5021240d, 0x001d1f22, 0x480c0920, 0x0f220000, + 0x3a4d5013, 0x2f392407, 0x8433332b, 0x832b20c3, 0x18c59fd0, 0x85089652, 0xa83e08c7, 0x497da85f, 0x73ba8447, 0x1f3ab573, 0x36665b4e, 0x30567747, + 0x548b6337, 0xfd92016d, 0x010603c6, 0x754107d5, 0xb76e6ca6, 0x22244984, 0x181f10a6, 0x7d572e0f, 0x527d564e, 0xed017d27, 0xbd18859a, 0x063d0731, + 0x012602c1, 0x010000b2, 0x004d0107, 0x005201b0, 0x1a01b415, 0xb8012605, 0x18b4feff, 0x9b641819, 0x00ae260c, 0x053b0400, 0x202f826f, 0x242f82d2, + 0x394d0106, 0x212d8300, 0x2d83110e, 0x0cb4ff25, 0x44040a0d, 0xc9260ae9, 0x10050000, 0x5d872b07, 0x006a0023, 0x0669429c, 0x69422120, 0x205f8205, + 0x425f852c, 0x91820535, 0xd9206185, 0x00226187, 0xcf42256a, 0x42152005, 0x63820567, 0x63852020, 0x7d243188, 0x7105ecff, 0x00216583, 0x059b4232, + 0x43aa0021, 0x032b0535, 0x26053102, 0x28010203, 0x42000a3c, 0x71250ccd, 0x2d04ecff, 0x21638205, 0x99435200, 0x43f92005, 0x29200599, 0x23059943, + 0x3420b4f9, 0x6384318e, 0x02cd052a, 0x007e0206, 0x00ffff00, 0x04214184, 0x200f825e, 0x880f847f, 0x211f8383, 0xe9820701, 0x04298386, 0x26053303, + 0x2a010304, 0x88518e3e, 0x82022083, 0x06012141, 0x00283182, 0x0d401700, 0x112b0304, 0x00222f82, 0x2f8e3622, 0xb3823b20, 0xe5834420, 0x82c70121, + 0x216182b3, 0x4b4197ff, 0x412e2006, 0xa625054b, 0x043925b4, 0x24e78c0c, 0x03ecff37, 0x21e78342, 0x3386e701, 0xb5433820, 0x41302006, 0xca25054d, + 0x033b27b4, 0x20338c22, 0x26678219, 0x02c106ae, 0x83bd0126, 0x4d012333, 0x11422700, 0x05242105, 0x22051142, 0x46132322, 0x0a2a0bcd, 0xdf0314fe, + 0x26026f05, 0x11425c00, 0x00bb2d05, 0x0b401300, 0x26112501, 0x24230101, 0x0c47f618, 0xc3845b84, 0xf3825b84, 0xc3861220, 0xc3852b20, 0x22b4fd23, + 0x415d8536, 0x131908dd, 0xa7281017, 0x40170000, 0x2c01020d, 0x0122c283, 0x61853723, 0x63852f88, 0xbf887320, 0x66005322, 0x22050d42, 0x832e0102, + 0x95512064, 0x21062161, 0x5321c188, 0x20618600, 0x2061832f, 0x2361905a, 0x040000a6, 0x2005a545, 0x055541c1, 0x87540021, 0x831f2061, 0x160f2261, + 0x0ebb412a, 0x00009a26, 0xd905fe03, 0xe1209382, 0x06233182, 0x86066a00, 0x83222061, 0x19082461, 0x410a172d, 0x434b0983, 0x034b0805, 0x00b605be, + 0x40640009, 0x0100140b, 0xd00100e4, 0x00020100, 0x40c0ffb8, 0x48130835, 0x2f0b0000, 0x6f0b4f0b, 0x040b8f0b, 0x1811400b, 0xbf5a0748, 0x0204cf04, + 0x0f010484, 0x02041f04, 0x03040407, 0x0a64085a, 0x03095f02, 0x5c075f03, 0x3f2006f8, 0x34051a4b, 0x5d5d5e2f, 0x5d2be15d, 0x2b2f3311, 0x715d5d5f, + 0x15013031, 0x078a4c21, 0xc3fdbe2e, 0x05bab0b0, 0x96fba6b6, 0x8101d9fd, 0x01288382, 0x83feae00, 0x4a040a03, 0x4e268d82, 0x02203240, 0x00820230, + 0xc00b2a08, 0x0ba1010b, 0x010b7001, 0x06bf4709, 0x840206cf, 0x060f0106, 0x0702061f, 0x47050606, 0x050a5400, 0x08150950, 0x015004fb, 0x05a6750f, + 0xf6100124, 0x7a8532e1, 0x25056d5d, 0x3330315d, 0x79862111, 0x5c02ae28, 0xb6a05afe, 0x88634a04, 0xffff2d06, 0x0000c700, 0x2b07cf05, 0xc5012602, + 0x20066541, 0x056541fc, 0x2703042b, 0x03042605, 0x06321e00, 0x0cb9421c, 0x3182ae20, 0xd9055022, 0xe5203182, 0xb0203186, 0x8205c941, 0x85112031, + 0x0d0a2131, 0x2f2a318c, 0xbe036dfe, 0x2602b605, 0x31839b02, 0x00800323, 0x2a3182a6, 0x1f01b30a, 0x1001071f, 0x8235113c, 0x82122087, 0x82fd8223, + 0x849c2023, 0x00812223, 0x20238789, 0x2a23870d, 0x046dfe00, 0x00b6059a, 0x843b0026, 0x03802223, 0x35238223, 0x1d01b117, 0xb2c0ffb8, 0xb8481513, + 0x1db49eff, 0x2500001d, 0x95542b01, 0x82232005, 0x04112231, 0x2031824a, 0x2231845b, 0x829a0281, 0xb3122831, 0x011d5001, 0x829affb8, 0x0707212c, + 0x5d212c82, 0x06bb6335, 0x5d826020, 0x00113308, 0x462740b2, 0x020f560f, 0x09590949, 0x01003602, 0x06010639, 0x04000f09, 0x0103030c, 0x3f011130, + 0x11070107, 0x01051107, 0xffb80a0b, 0x0a0ab3f0, 0x07820504, 0x05144034, 0x0e100e0d, 0x1001020e, 0x70010100, 0xc0018001, 0x64820301, 0x2740c028, + 0x01480a07, 0xc0501301, 0x137f3a05, 0x06000804, 0x28090f5f, 0x0c270103, 0x0a0c0301, 0x0d010909, 0x0105030a, 0x06d87012, 0x39112f2b, 0x115d5d39, + 0x0132e133, 0x6106825e, 0x332205b1, 0x0283382f, 0x11250383, 0x2f393912, 0x2621822f, 0x332f3d39, 0x825d3317, 0x30312400, 0x83230101, 0x35212502, + 0x01330121, 0x21260282, 0x01c50215, 0xa961d39b, 0xfe9a2605, 0xfe1401df, 0x06ad6192, 0x018e4008, 0xfdb4021c, 0xfd7b024c, 0xa4b40285, 0xd1fd5e02, + 0xa2fd2f02, 0x000100a4, 0x03000023, 0x004a04db, 0x40170111, 0x900880bf, 0x00080208, 0x0f0b0008, 0xf7010506, 0x05e50105, 0x01053601, 0x82070605, + 0x0d9508f0, 0x0d101001, 0xf8010309, 0x03ea0103, 0x01033901, 0x066b0203, 0x5702067b, 0x063a0106, 0x6402064a, 0x02027402, 0x35010258, 0x02024502, + 0x020d0206, 0x0f03060d, 0xf7010c06, 0x0ce5010c, 0x010c3601, 0x16400b0c, 0x400b4819, 0x6b48110e, 0x020b7b0b, 0x3a010b57, 0x020b4a0b, 0x10130b0b, + 0x02133013, 0x13b01390, 0x01130f02, 0xf8010e09, 0x0eea010e, 0x010e3901, 0x7b0f6b0e, 0x0f58020f, 0x450f3501, 0x0d0f020f, 0x044f100a, 0x0101ef07, + 0x011b010b, 0x015b012b, 0x289c826b, 0x0f020101, 0x0205150b, 0x074c410f, 0x5d5d5e26, 0x32e13333, 0x2405bd48, 0x5d5d5dc1, 0x22028271, 0x822fce10, + 0x2b2b2109, 0x12250f84, 0x2f3d3917, 0x07946118, 0x13841020, 0x83331121, 0x86048201, 0x0572410e, 0x13303123, 0x058e6121, 0x21152122, 0x08067041, + 0x0001685f, 0xfacfcffe, 0xcdfecffa, 0xf7fe0401, 0xfecf4a01, 0xcff2fef4, 0xfbfe4a01, 0xcf017b02, 0x9a0166fe, 0xfe8931fe, 0xfeb4010e, 0x00f2014c, + 0x89000200, 0xf6030000, 0x0e00b605, 0x40001900, 0x19062940, 0x1b65095a, 0x10011b9f, 0x5b15011b, 0x0f1a6600, 0x4f063f5f, 0x9f066f06, 0xdf06bf06, + 0x28008206, 0x095f1907, 0x00030712, 0x09634c3f, 0x9c4be120, 0x34132407, 0x8233023e, 0x211125a7, 0x01022e22, 0x0805d36a, 0x3333162e, 0xcf7f3789, + 0xfebb9598, 0x7ec28695, 0x81b2023c, 0x2e5b8a5d, 0x019fafa3, 0x719857ac, 0xfa680242, 0x9e703d4a, 0x3c1b5f01, 0x84884661, 0x27076747, 0x02140602, + 0x00470006, 0xff23a384, 0x823b06ec, 0x232108a3, 0x63003200, 0x09183f40, 0x1a1a5a32, 0x015a2211, 0x340f3465, 0x9f346f01, 0x0334ef34, 0x34503440, + 0x080e8202, 0x5b2a0633, 0x24336611, 0x2323175f, 0x174f173f, 0x17bf176f, 0x170517df, 0x1d031817, 0x0609602d, 0x3f00130e, 0x32e13333, 0x5d2f393f, + 0xe1102f33, 0xe1f61001, 0xe269185e, 0x39e12f09, 0x01303132, 0x020e1411, 0x27262223, 0x4718030e, 0xd4830756, 0x33161428, 0x35023e32, 0xd8870511, + 0x53080d83, 0x5b2d3b06, 0x99725e8c, 0x523f182b, 0xe4d73f67, 0x96d78a41, 0x6167bb7a, 0x1c33482c, 0x5d81bafd, 0x7e2d5b8b, 0x385b4386, 0xfe500317, + 0x668b5118, 0x264d613a, 0xd2192e3f, 0x72a367d6, 0xfb68023c, 0x1e6970b2, 0x01325039, 0x431ea6e8, 0x82804d6b, 0x294d3e25, 0x7120f383, 0x5a22f382, + 0xf1821406, 0x00433d08, 0x1039405c, 0x5047382c, 0x2e2e012e, 0x0647031b, 0x456f4555, 0x459f457f, 0x45ef45cf, 0x01454005, 0x452f450f, 0x48410602, + 0x0444561b, 0x503e3304, 0x2c102025, 0x50330000, 0x16160b10, 0x3f22ed86, 0x4e18e133, 0x5d21082e, 0x20f3825d, 0x2aff8211, 0x313932e1, 0x36322530, + 0x85331135, 0x022e23f1, 0x16522327, 0x063a6b06, 0x26331725, 0x83262627, 0x031e2220, 0x08ef8221, 0x34353737, 0x2223022e, 0x16141506, 0x626fd304, + 0x8b5c2fb6, 0x5167415b, 0x1b06173d, 0x51795b44, 0x3c6e9a5d, 0x5d9a6e3c, 0x3b4d603b, 0x03030c17, 0x01b60402, 0xfd512c0f, 0x087e7ea6, 0x7f7f873e, + 0x01828283, 0x69c1fe35, 0x1e2e6298, 0x292c4a36, 0x4820374a, 0x8d8cd48f, 0x1a4990d5, 0x0805937e, 0x0111366d, 0x3e92fbb4, 0x2e2d4e6a, 0x295f8c5e, + 0x376b9d65, 0xcdd1ccda, 0x00010000, 0x06ecff4e, 0x00cb0544, 0x4085003f, 0x205b0d56, 0x252b5b00, 0x2b200720, 0x0307202b, 0x365a3316, 0x417f4165, + 0x419f418f, 0x41ff41ef, 0x20410005, 0x03413041, 0x16801670, 0x4f163f02, 0x16160216, 0x60062540, 0x01340007, 0x07df3434, 0x0107aa01, 0x6b010778, + 0x1b280500, 0x133b5f30, 0x1b601215, 0x2109404f, 0x00825d5e, 0x5d2f3327, 0x1139e110, 0x4c078201, 0x11270571, 0x2f2f3917, 0x4c39122f, 0x34270672, + 0x2323022e, 0x4b323335, 0x222106a5, 0xc9af1806, 0x1507230b, 0xa97f031e, 0x0a644106, 0x29033a08, 0x5d926535, 0x8e5cb0bf, 0x44253261, 0xa96e3a5f, + 0x62265c4b, 0x6d478374, 0x333971a6, 0x574b7d5b, 0x18325e8a, 0x6f374f32, 0x6638b762, 0x94575991, 0x87013c6c, 0x21466d4d, 0xd55d1897, 0x1f74080a, + 0x36182936, 0x4a4f8561, 0x0c395877, 0x59390b06, 0x684a4877, 0x81771e41, 0x2dfec901, 0x2e629869, 0x009c642f, 0x50000100, 0xa205ecff, 0x3b005e04, + 0x23408100, 0x20004715, 0x31363146, 0x19310019, 0x03003119, 0x0b470827, 0x3d0f3d55, 0x013dd001, 0x30013dbf, 0xb827013d, 0x2940c0ff, 0x5f481512, + 0x27270127, 0x5019363c, 0xdf09091a, 0x1a99011a, 0x0b021aa9, 0x2e06907d, 0x50232605, 0x5005102c, 0x3f001610, 0x73e13fe1, 0x5d230566, 0x412f335d, + 0x2b20072a, 0x25075243, 0x2f2f3917, 0x2d41112f, 0x1e142308, 0x70423302, 0x3435220c, 0x083e4126, 0x41232621, 0x0331113d, 0x50311552, 0xb660693b, + 0x608f5f2f, 0x3564905c, 0x3b5d1885, 0x4d28360c, 0x56355a52, 0x1c3a6990, 0x322b4633, 0x01223c53, 0x3849274c, 0x09614221, 0x7b542b23, 0x105d184f, + 0x1d13240b, 0x18260913, 0x39088bbb, 0x523e2909, 0x00010000, 0x047ffe4e, 0x00cb059c, 0x40830031, 0x275b0f54, 0x01822209, 0x01184a08, 0x802e705a, + 0x2e2e022e, 0x2f2f5a00, 0x01330033, 0x33d033c0, 0x01339f02, 0x33203300, 0x70033330, 0x02188018, 0x184f183f, 0x32181802, 0x0827fb30, 0x0109df60, + 0x780109aa, 0x090f0109, 0x09090801, 0x60141701, 0x5f2e041d, 0x054f5a01, 0x23072641, 0x3f39e15d, 0x36075042, 0x3311715d, 0x2f32e12f, 0x3912e15d, + 0x122f2f39, 0x3031e139, 0x42112321, 0x15292155, 0x03231133, 0x6738bbec, 0x1f494295, 0x01b0b027, 0x416443a0, 0x1e3c4220, 0xd9fdfa38, 0x50000100, + 0xf20383fe, 0x2d005e04, 0x1a408d00, 0x221d460c, 0x0182061d, 0x00132308, 0x2d292947, 0x302a2047, 0x602a402a, 0xb82a042a, 0x0e40c0ff, 0x2a48130f, + 0x2fc02f2a, 0x2fe02fd0, 0x12831303, 0x122d2a08, 0x135f4815, 0x2e131301, 0x0522fb2b, 0x0106df50, 0x06a90699, 0x5f064f02, 0x060b0206, 0x0702061b, + 0x12000606, 0x1018500f, 0x07925a29, 0x20081441, 0x061441e9, 0x2305a44a, 0x2f32e15d, 0x25071241, 0x3031e110, 0x28421121, 0x1515281e, 0x11231133, + 0x42819c02, 0x2c29191f, 0xa0263f52, 0x5e2b01b7, 0x205f1865, 0x0d0f4209, 0x422c0e25, 0x5a913d5b, 0x770807c7, 0x06e9ff00, 0x00b605ec, 0x40920031, + 0xe706d765, 0x07060206, 0x01d70101, 0x010201f7, 0x10171c5a, 0x8b481810, 0x10170117, 0x17480e07, 0x1e5a311c, 0xe0011eb0, 0x1cb4011c, 0x1cd41cc4, + 0x501c0003, 0xa01c901c, 0x1c07041c, 0x0e1e1c1e, 0x65275a24, 0x6f334f33, 0x9f337f33, 0xdf33af33, 0x33200633, 0x01330f01, 0x1225250e, 0x031c5f01, + 0x2c601221, 0x3f00130b, 0x3f32e133, 0x2f20f782, 0x2207df50, 0x62393911, 0x102f0608, 0x2b3311e1, 0xe1102b5d, 0x5d32715d, 0x5c013031, 0x1420187b, + 0x08478218, 0x23020e27, 0x35022e22, 0x1e885c03, 0x446e6321, 0x92220768, 0x915c3a68, 0xd1fb231a, 0x5e447781, 0x2c4d0809, 0x006c9960, 0x10000100, + 0x0006ecff, 0x28004a04, 0x39405c00, 0x28114601, 0x13a01347, 0x0111db01, 0x900111c4, 0x0211a011, 0x10011124, 0x13110111, 0x1b091311, 0x2a551e47, + 0x2acf2a7f, 0x09032aef, 0x010c1c1c, 0x180f1150, 0x06234f0c, 0x22f98c16, 0x84e1f610, 0x05ac6af7, 0x20066845, 0x11a05c21, 0x5c114d44, 0x414414ae, + 0x6691220b, 0x10b95c36, 0x413dfd25, 0x44204162, 0x2e230933, 0x83699662, 0xffc728d9, 0x052d07ec, 0x821d00b6, 0x1b3724d9, 0x82a05a13, 0x003108ed, + 0x095a0617, 0x1fc01f65, 0xbf1faf01, 0x1f20021f, 0x011f0f01, 0x175a161a, 0x5f151e64, 0x0f07071a, 0x1a08011a, 0x181c171a, 0x03121703, 0x00130e5f, + 0x08d25c3f, 0x20076e48, 0x47d68332, 0x31220882, 0xb0410130, 0x091c5c10, 0x62d50437, 0xb6636e6f, 0x59906638, 0x3a689158, 0xbaba66fd, 0x01ba9a02, + 0x0f884187, 0x782d0121, 0x37080bab, 0x8b06ecff, 0x1f004a04, 0x47406c00, 0x05471a02, 0x470d1e05, 0x00215510, 0x02212021, 0x21502140, 0x21902180, + 0x21f021b0, 0x01210f06, 0x1e471d01, 0x501c2054, 0xeb0e0e01, 0x10c1bd18, 0x1f031e29, 0x0a151e0f, 0x8a161550, 0x05e745c7, 0x9f5d0120, 0x85712005, + 0x32e121c8, 0x8f5dc782, 0x10e14505, 0x1121353b, 0x64011123, 0x15b62102, 0x6a3b5031, 0x5f2fb65f, 0x925b608f, 0xdffd3666, 0x05d35cb6, 0x22138041, + 0x8217fe6e, 0x003808c2, 0xff7d0001, 0x055205ec, 0x002a00cb, 0x2a294047, 0x5b290c2a, 0x09401401, 0x1414480e, 0xbf2c6701, 0x2c70012c, 0x0c5b1f01, + 0x5f2a2b66, 0x1a240000, 0x0411155f, 0x13075f24, 0x3325af83, 0x2f3912e1, 0x27a883e1, 0xe6105d5d, 0x102b2f32, 0xa8821083, 0x18152121, 0x270ca15e, + 0x16323324, 0x032e0717, 0x0805d749, 0x33021e54, 0x35023e32, 0x02170321, 0xde8e423b, 0xa6f29d9c, 0x01b65f56, 0xcc6fab0b, 0x53244858, 0x7a2e5d58, + 0x36427fbc, 0x6c75ab70, 0xfe295d95, 0x56f60288, 0xaffefea8, 0x01c3695b, 0x01acae17, 0x2c69c316, 0x1e11a22a, 0x98510e17, 0xd88289da, 0x7742569c, + 0xc78264a6, 0xecff7131, 0x5e047b04, 0x81002800, 0x28285a40, 0x8247270c, 0x110c21c7, 0x4b08c783, 0x2a142a57, 0xe4022a24, 0x022af42a, 0x02012ad0, + 0x2a502a40, 0x2aa02a80, 0x1d052ac0, 0x29560c48, 0x40005028, 0xcb481915, 0xeb00db00, 0x00a90300, 0x8f0200b9, 0x02009f00, 0x001b000b, 0x0603002b, + 0x18220000, 0x10111550, 0x16075022, 0x5e21f888, 0x2000825d, 0x23fe852b, 0x715d5d5f, 0x440f0141, 0x3421061c, 0x82ef823e, 0x054957fe, 0x2005ac48, + 0x08fe823e, 0x027b0245, 0xba783900, 0x88cb8781, 0xdb954c44, 0x4dad6f8f, 0x5b943c3e, 0x34659561, 0x5e875629, 0x234a7451, 0x4a02b8fe, 0x89c88244, + 0xd3934f47, 0x94d38284, 0x8d272550, 0x6d3a291d, 0x9b5d629d, 0x502d3e70, 0x82004470, 0x821420f7, 0xc93508f7, 0x1900b605, 0x2f406500, 0x65095a06, + 0x7f1b4f1b, 0xaf1b9f1b, 0x1b00041b, 0xef18af01, 0x18840218, 0x00181801, 0x1540135a, 0x01150f01, 0x57151508, 0x77136713, 0x05534613, 0x0a07102c, + 0x15191348, 0x0707165f, 0x52430316, 0x2f392107, 0x74053f55, 0x9d490a90, 0x154e4305, 0x1521352a, 0x62710221, 0xb7626e6f, 0x27054a43, 0x5efe3a69, + 0x5ffefe03, 0x21114943, 0xdf6d9503, 0x08b58205, 0x4a046f3c, 0x6d001b00, 0x470d4a40, 0x0f1d5510, 0x1dcf011d, 0x1dff1def, 0x401d3003, 0x031d601d, + 0x1d1f1d0f, 0x01030f02, 0x0f0103cc, 0x0203bf03, 0x05030306, 0x00601a47, 0x00d00070, 0xf9821f03, 0x1a00003d, 0x1a021a10, 0x0a010e0e, 0x04161550, + 0x0f015000, 0x32e13f00, 0x3911e13f, 0x822f012f, 0x054a75ba, 0x5d5d5e23, 0x062e4971, 0x13303122, 0x1120aa83, 0x3a11d844, 0x35032911, 0x3115c1fe, + 0x5f693b50, 0x8f5f2fb7, 0x66925c60, 0x9ab00336, 0x44d7fd9a, 0x022111bc, 0x207d8235, 0x08c1826f, 0xcb050c43, 0x5d003900, 0x345b13b4, 0xffb8001a, + 0x172e40c0, 0x1a00481a, 0x0a2f1a00, 0x9f3b270a, 0x5b20013b, 0x343a662f, 0x18aa601b, 0x01187801, 0x0801180f, 0x23051818, 0x132a2660, 0x050b600e, + 0x333f0004, 0x820282e1, 0x34a482af, 0x0139e15d, 0x5de1f610, 0x2f32ce10, 0x2f393912, 0x39122b2f, 0x26b182e1, 0x33023e34, 0x77021e32, 0x33210c7f, + 0x08244d15, 0x0e793620, 0x022e2205, 0x08288235, 0x2e353763, 0x733b9c03, 0x7b486da9, 0x5c265a69, 0x3967a24b, 0x2c26445f, 0xc3578257, 0x65925dbf, + 0x6ca4aa35, 0xc05353cc, 0x83c38080, 0x895f3142, 0x54784a57, 0x4f60042d, 0x18366185, 0x7d1f3629, 0x3a1e4336, 0x643e3653, 0x21972748, 0x89436543, + 0xaa2b318e, 0x6f3c2526, 0x7b48609c, 0x060b3d5e, 0x7758390c, 0x30fb8200, 0x03ecff5c, 0x005e046a, 0xb46d0037, 0x011e4632, 0x20fb8323, 0x08fb823d, + 0x23012339, 0x0f2b1801, 0xe039d039, 0x0339f039, 0x4001398f, 0x47050139, 0x1d385618, 0x37ef5002, 0xb937a901, 0x370f0237, 0x372f371f, 0x37370603, + 0x2c502f0a, 0x500a1028, 0x4116130f, 0x1220060a, 0x41058458, 0x5d25060a, 0x32ce105d, 0x090b4111, 0x23150124, 0x43430622, 0x83f78f07, 0x323321ff, + 0x85066a43, 0x02830825, 0x858a819e, 0x37604629, 0x4d576133, 0x73af3c1e, 0x356ba26e, 0x30594328, 0x1e35492b, 0x5690693a, 0x3f50a25a, 0x6647834b, + 0x5f44266d, 0x99870239, 0x45335e5b, 0x160e122a, 0x1da2101e, 0x78563028, 0x405b3d47, 0x0e0b0d29, 0x324d3b29, 0x264a6d46, 0x22932725, 0x2d4d4d26, + 0x00122740, 0x0000ffff, 0x2f056dfe, 0x2602b605, 0x0000b501, 0x80030701, 0x0000b803, 0x01b40d00, 0x00313101, 0x113c1001, 0x83350035, 0xfe102627, + 0x044c046d, 0x2027824a, 0x212784d5, 0x07820281, 0x26212784, 0x26278b26, 0x0498fe00, 0x5dbc05dd, 0x672208cf, 0x4f82d304, 0x0b40132a, 0x27141802, + 0x1b150002, 0x210dcf5d, 0x841898fe, 0x67220cc3, 0x2d866f04, 0x27173626, 0x39330d02, 0x2012d15d, 0x225b88e1, 0x5dd10466, 0x0226054f, 0x0226051b, + 0x2b5e2a21, 0x069c2211, 0x202d828f, 0x23b18344, 0x75046602, 0x39255b86, 0x36022611, 0x132d5e48, 0x5b87d120, 0x04770323, 0x2d5b82cb, 0x0203b619, + 0x03260515, 0xffffb802, 0x5f861db4, 0x26085356, 0x04ecff5e, 0x877f0647, 0x20338261, 0x05595489, 0x33020323, 0x21348211, 0x63863b33, 0x1e823188, + 0x07dd0422, 0x78206589, 0x1d206588, 0x25216587, 0x0e955e1d, 0xecff1224, 0x658a9c03, 0x88047821, 0x843b2065, 0x3b432165, 0x8d052541, 0x4a082165, + 0x7920cb88, 0x0622cba6, 0xcb88f806, 0x65897920, 0x0821cb9b, 0x20658862, 0x20cba27a, 0x21cb835e, 0x65881007, 0xcb8e7a20, 0x31410b20, 0x98fe2511, + 0x7307dd04, 0x002a6585, 0x004b0127, 0x0152011f, 0x57420207, 0x40253105, 0x142d0310, 0x05150227, 0x2a000326, 0x25070430, 0x240ca941, 0x2b00352b, + 0x05595535, 0x98fe5e26, 0x21069c03, 0x00257985, 0xd44b0126, 0x2b458400, 0x0000006f, 0x03164022, 0x0227174b, 0x0d27e883, 0x220c4e48, 0x87250225, + 0x21428688, 0x2782ffff, 0xdd040024, 0xef881308, 0xef847b20, 0x0d401725, 0x82260203, 0x0002237e, 0xb9412129, 0x21ed840e, 0xed88c106, 0x7b047b22, + 0x27071f42, 0x03261144, 0x3f471e02, 0x8914b941, 0xb07c2063, 0xa67c2063, 0x88582063, 0x897d20c7, 0x841a2063, 0x13e742c7, 0x079c0323, 0x20c78806, + 0x2063897d, 0x41c78438, 0x002311b5, 0x42dd0400, 0x7e200a1b, 0x194263a6, 0x8f7e2009, 0x5e502163, 0x250f2b41, 0xdd0498fe, 0x19425b07, 0x004e2408, + 0x426d0121, 0x22270819, 0x2e031640, 0x83022714, 0x2b0026d2, 0x25070431, 0x084c6202, 0x2609d341, 0x0398fe5e, 0x42ee059c, 0x4e200815, 0x230e1542, + 0x0227174c, 0x0d22e283, 0x7d824f49, 0x621e0221, 0x41890762, 0x4182c720, 0xb605be22, 0x28214182, 0x05514200, 0x6544aa20, 0x0f012705, 0x03012714, + 0xe361120c, 0x222d820d, 0x825e04e1, 0x8648202d, 0x85be202d, 0x2b02212d, 0x30246982, 0x0f052e28, 0x260a275d, 0x030000c7, 0x88e107be, 0x0466225b, + 0x05ef4491, 0x05120126, 0x210d0126, 0x20133f62, 0x225b888f, 0x86980466, 0x112e265b, 0x3d2d0226, 0x205b9228, 0x235b8735, 0xd4ff5201, 0x15235b82, + 0x821401b4, 0xffb8255a, 0x2315b4fb, 0xff25b98d, 0x05e103ec, 0x2a5d86e3, 0xde520106, 0x40130000, 0x8230020b, 0x311e225b, 0x235b8f3f, 0xd1075c04, + 0x03235b87, 0x829e0477, 0xb619245b, 0x5b0c0102, 0x142007cf, 0xb344bb86, 0x45712008, 0x4824084b, 0x07010000, 0x250b4b45, 0x03261128, 0x35190302, + 0x318807bb, 0x00002724, 0x658abe03, 0x65887820, 0x0227c282, 0xfdffb801, 0x85141cb4, 0x203388c3, 0x21c58312, 0xc5867f06, 0x45030721, 0xc8820a4b, + 0x38216582, 0x88c98530, 0x00c72631, 0x081b0400, 0x20cb884a, 0x45cba679, 0xcb85054b, 0x960a4b45, 0x236582cb, 0x6208be03, 0x7a206588, 0x7120cba2, + 0x0721cb83, 0x45cb8810, 0xcb970a4b, 0x0398fe25, 0x857307be, 0x27002565, 0xf1ff4b01, 0x3a064b45, 0x000000aa, 0x02104025, 0x01271424, 0x0226050c, + 0x01272103, 0xb8012500, 0x41b4fdff, 0x4b4507a9, 0x8271200a, 0x06e12247, 0x24798521, 0x4b012600, 0x09f942de, 0x16402227, 0x27174003, 0x25e88302, + 0x05433d1c, 0xba41250f, 0x09354309, 0x00005226, 0xe1076402, 0x2c214182, 0x223b8300, 0x42b00366, 0x13200ad9, 0x200ed942, 0x22238262, 0x828f06d7, + 0x86f3202d, 0x825e202d, 0x40132aaf, 0x110a010b, 0x19130126, 0x0ca94204, 0x98fe5226, 0xb6056402, 0x67225b88, 0x2d82be03, 0x01b41523, 0x23dc820f, + 0xb4ffffb8, 0x260e9343, 0x0198fe9e, 0x82e50575, 0x844c202f, 0x0367225d, 0x212f846d, 0xc6821502, 0xfeffb827, 0x041812b4, 0x0a95430c, 0x98fe7d26, + 0xcd057105, 0x32202f82, 0x05212f85, 0x288d855c, 0x27142b02, 0x2e280002, 0x0b075f0a, 0x98fe7126, 0x5e042d04, 0xf3822d82, 0x02070125, 0x85b20467, + 0x8423205d, 0xb4ff235d, 0x2f8c2620, 0x20053160, 0x225d88e1, 0x414e0566, 0x02270519, 0x0226052e, 0x8c283d15, 0xff71262d, 0x062d04ec, 0x225d888f, + 0x86a40466, 0x1126268b, 0x35130226, 0x852d8c20, 0x87d1205b, 0x7703235b, 0x3b5d5805, 0x02032805, 0x03260528, 0x86300502, 0x0c95435d, 0x7f066822, + 0x03235f87, 0x82aa0477, 0xb619255f, 0x11200203, 0xb8243082, 0x28b4faff, 0x77616386, 0x2065890e, 0x20658978, 0x21658430, 0x075f3038, 0x8433200e, + 0x206589c5, 0x20658878, 0x90658728, 0x21cb8499, 0xcb884a08, 0xcba47920, 0xf8062d22, 0x7920cb88, 0x0821cba7, 0x20658862, 0x20cba07a, 0x21cb8371, + 0x65881007, 0xcba37a20, 0x0598fe25, 0x85730771, 0x27002565, 0xae004b01, 0x22059743, 0x48005c05, 0x402d059d, 0x28022714, 0x00032605, 0x000a433d, + 0x09a84125, 0x26095143, 0x0498fe71, 0x8521062d, 0x26002477, 0x43fb4b01, 0xb2200593, 0x28314182, 0x38030940, 0x20022717, 0xb8032611, 0x35b5ffff, + 0x4144833b, 0x47890bbc, 0xecff7d24, 0x8b832506, 0x005f0222, 0x00234182, 0x42060176, 0x4128067f, 0x02022605, 0x01133b35, 0x210db368, 0x7583f404, + 0x82600221, 0x0006342d, 0x00005076, 0x3a02b415, 0xb8022611, 0x2db4ebff, 0x8a190a33, 0x225b8f2d, 0x82540043, 0x202f825b, 0x255a8235, 0xb451ffb8, + 0x5d9c353b, 0x84d84321, 0x842e205d, 0xb4d7235d, 0xdd422d34, 0x22b9820f, 0x852602e1, 0x430220b9, 0x15230539, 0x843c02b4, 0xb4bc225d, 0x205d934a, + 0x832f828f, 0x020721bb, 0x82053b43, 0x8434202f, 0xb4b0235f, 0xbd922d42, 0x5f873520, 0x7d20b982, 0x3d20bd85, 0x96235f84, 0x914c3eb4, 0xe30521bd, + 0x06235f86, 0x84e25201, 0x842d20bd, 0xb4fd235d, 0xbd8d4436, 0x0698fe25, 0x88140625, 0x056723bd, 0x2f84005c, 0x27143827, 0xa7ffb802, 0x0f7941b4, + 0x0498fe25, 0x88f204f4, 0x085744bd, 0x83173021, 0x419b202f, 0xb8200f7b, 0xdd2e2f82, 0x2602b805, 0x00003800, 0x67020701, 0x29442f05, 0x1b012805, + 0x00012714, 0x440b1e18, 0xa4200bb5, 0x08222d82, 0x2d824a04, 0x2d855820, 0x84b80421, 0x1e012b8d, 0xb8012717, 0x1bb4feff, 0xd9410c21, 0xffb8260b, + 0x07dd04ec, 0x225d88e1, 0x421d0566, 0x01270535, 0x0126051e, 0x8d182d11, 0x222d825d, 0x888f0608, 0x0466225d, 0x268b86a6, 0x01261121, 0x8f1b300e, + 0x4e06235b, 0xe9827307, 0x91426120, 0xc5002105, 0x15235b82, 0x823101b4, 0xffb8275a, 0x2b25b490, 0x65420818, 0xffa4260a, 0x067905ec, 0x202f8221, + 0x282f8262, 0x60760006, 0xb1110000, 0x25b68201, 0x2e28b49f, 0x2a84210c, 0xff003527, 0xffb800ff, 0x22598cec, 0x853d0043, 0x84252059, 0xb4082359, + 0x599c252b, 0x86a34321, 0xe2fe2459, 0x91282eb4, 0x87e12059, 0x410220b3, 0x8585050f, 0x3ab45922, 0x85845687, 0x8f20af85, 0x0721af86, 0x050d4102, + 0x56222b85, 0x57923db4, 0x57873520, 0x09491e19, 0xb1842d20, 0x2eb44723, 0x21b1913c, 0x5b86e305, 0x52010623, 0x24b186f3, 0x31b44eff, 0x25b18c3f, + 0x4e0698fe, 0xb1881406, 0x29051f42, 0x2801b415, 0xb8012714, 0x654148ff, 0x98fe2510, 0xf2047905, 0x6720b588, 0x21072142, 0x2f83172b, 0x6a414520, + 0x057f4d09, 0x98fe002a, 0xb6053704, 0x3c002602, 0x20065142, 0x0551427f, 0x5f840c20, 0x09b4ff25, 0x4102070f, 0x0a260ac5, 0xdf0314fe, 0x7d654a04, + 0x02072406, 0x828b0567, 0xb111292f, 0x01b80101, 0x2923b432, 0x5005de65, 0x1882059b, 0x07370423, 0x225b88e1, 0x42710466, 0x0f26067d, 0x14012605, + 0x5991091e, 0x888f0621, 0x04662259, 0x067d424a, 0x82112921, 0x2338212d, 0x850c9b66, 0x8735205b, 0x5201235b, 0x5b86b3ff, 0x5b821120, 0x20120122, + 0x05215b91, 0x083366e3, 0x008c5228, 0x0b401300, 0x59822b01, 0x3a2c0122, 0x7126598c, 0x9e04bcfe, 0x2b821406, 0x0000d328, 0x42000701, 0x6c82b400, + 0xb90e5608, 0xd2ff0200, 0x0b393ab4, 0x2b012523, 0xfb020035, 0xfed904db, 0x002106ba, 0x001b000d, 0x1419402d, 0x40070e0e, 0x3f010050, 0x02004f00, + 0x92071500, 0x010f0f80, 0x0102015f, 0x335d2f00, 0x0132ed1a, 0x1a5d5d2f, 0xcd2f39cd, 0x23013031, 0x3527032e, 0x17031e33, 0x32098805, 0x2364bafe, + 0x103f4d51, 0x2f2a10c6, 0x96fe1530, 0x82522364, 0x84c7200d, 0xd9042d0d, 0x5158531c, 0x5023151b, 0x1b1d4c51, 0x42080b8a, 0x6afc0200, 0xbeffd904, + 0x10007f06, 0x52001c00, 0x0c0d3140, 0x01171004, 0x1c2f4017, 0x1c4f1c3f, 0x04041c03, 0x5f002f1c, 0x9f008f00, 0xc0000400, 0x1b1b1608, 0x8f0c7f04, + 0x800c020c, 0x5f080f00, 0x84080208, 0x5dcc229d, 0x2a988232, 0xcc1a2f01, 0x3d39395d, 0x822f182f, 0x115d23a9, 0xaa833333, 0x27262634, 0x23070606, + 0x37363635, 0x17161633, 0x37033e27, 0x11831533, 0xd9fe3c08, 0x346c3364, 0x65336a36, 0xc0307533, 0x4e337430, 0x1d1d2114, 0x6a2db410, 0xd9046537, + 0x30305422, 0x3b1b2254, 0x84454584, 0x2d19c23b, 0x1521342e, 0x002b673c, 0x0489fb02, 0x86ddfed9, 0x404a2fb1, 0x0c03042a, 0x1601161f, 0x0c0c1c40, + 0x92822f1c, 0x9f088f33, 0xc0080408, 0x12121600, 0x8f037f0c, 0x80030203, 0x20aa8a10, 0x21aa8fcd, 0xa986cd1a, 0x1521a086, 0x20b18623, 0x28088337, + 0x031e3335, 0x336ffc17, 0x34a18474, 0x366a3364, 0x64336b35, 0x6a38644d, 0x1d10b42d, 0x0414201e, 0x20a285f4, 0x29b0851b, 0x3c672bc3, 0x2e342115, + 0x5b41192d, 0x7d200806, 0x1000f806, 0x5e002800, 0x19163840, 0x0e062019, 0x111c1948, 0x3f232f80, 0x03234f23, 0x23040423, 0x250c5e41, 0x261f1919, + 0x62411818, 0x32cc2418, 0x41331139, 0x32230d66, 0x41112b39, 0x13361367, 0x07020e14, 0x36272307, 0x26343536, 0x07062223, 0x33363635, 0x74411632, + 0x14a43310, 0x06192e22, 0x41370a56, 0x27162b39, 0x1f260b0b, 0x7d416463, 0x7601330e, 0x151e2b1d, 0x09835106, 0x1925251f, 0x03520303, 0xdd824503, + 0xfe232682, 0x821007e9, 0x002c2bdd, 0x043b4061, 0x000c0c03, 0x82412828, 0xc0003a09, 0x27001a1a, 0x1fcf8e16, 0x1fef1fdf, 0x09401f03, 0x1f1f480d, + 0x11198e24, 0x16984111, 0x332f3228, 0x2b2f33e1, 0xe382e15d, 0x1a2f332c, 0x325dcc10, 0x3d39112f, 0xe083332f, 0x230f9e41, 0x022e2201, 0x232dd783, + 0x3233033e, 0x3233021e, 0x0e333736, 0x10aa4103, 0x24be0134, 0x1c404547, 0x5d0e2a28, 0x41301d05, 0x454a252a, 0x0d821a3e, 0x1c055c24, 0xbc414130, + 0x5a012a0e, 0x2a1c221c, 0x3b513032, 0x21088221, 0x0883312b, 0xe9820020, 0xd904733b, 0xc106cdfe, 0x1f000b00, 0x19403200, 0x0b0b8006, 0x010c2f1f, + 0x1415c00c, 0x360a8205, 0x0f1a8014, 0x02115f11, 0x5d2f0011, 0x32cd1a33, 0x01cc2f32, 0x821a332f, 0x2f3926bd, 0x3031cd1a, 0x08f24201, 0x030e2528, + 0x27262223, 0xb2821e33, 0x37023e27, 0x20145efd, 0x06f1421e, 0x6f012608, 0x6e4d2b05, 0x06919246, 0x301b046c, 0x41242c44, 0x05052133, 0x2e2c19f8, + 0x3c152135, 0x3c062c67, 0x8c264563, 0x4519197e, 0xfc022108, 0x3829958b, 0x80051e40, 0x1613400b, 0x229a8a48, 0x911f0000, 0x88cd209a, 0x842b209a, + 0x08e4429b, 0x9b8e1720, 0xe342d120, 0x93fc2009, 0x2cdd2a9a, 0x21153c67, 0x192c2e35, 0x419a8e15, 0x072c0731, 0x00130006, 0x4042002a, 0x1c1c1921, + 0x25288a82, 0x002f1325, 0x08090001, 0x222e0e82, 0x1b1bc028, 0x0e800813, 0x055f050f, 0x39410502, 0x2f392206, 0x06e2421a, 0x3d413320, 0x220d8405, + 0x8d013031, 0x4227209b, 0x332411db, 0xcdfe1632, 0x2b20a692, 0x2c06de42, 0x2c394138, 0x150b2715, 0x0563643a, 0x32af8de3, 0x1f2b1d96, 0x5a290614, + 0x25252009, 0x52030318, 0x42004506, 0x132d0add, 0x48002f00, 0x1d1c2740, 0x2b2a081d, 0x30c0842b, 0x2a0809c0, 0xdf22cf19, 0x0322ef22, 0x141c2722, + 0x27c79014, 0x33332f32, 0x32325dcd, 0x82066b41, 0x3311230e, 0xc791332f, 0x9414c242, 0x422f20c7, 0xd08f1ac5, 0xc5425020, 0x00013b13, 0x0142fe31, + 0x00000071, 0x40180014, 0x00800f09, 0x12020808, 0x2f00020b, 0xa682332f, 0x1a332f2e, 0x173031cc, 0x1e332734, 0x06141503, 0x08947b18, 0xdb363a08, + 0x391a818b, 0x64651e2f, 0x0e1a401d, 0x3422192d, 0x138569ee, 0x2a4b4034, 0x0808685a, 0x2b050471, 0x10000100, 0x77016dfe, 0x1100a600, 0x09b61200, + 0x060d1001, 0x2f0000fa, 0x2056833f, 0x070879c4, 0x0806fe7a, 0x11353622, 0x1a017701, 0x263f5939, 0x3b0e163f, 0xa6322e22, 0x6642d9fe, 0x09112446, + 0x310e0796, 0x003c0131, 0x9a204f88, 0x9a224fb4, 0x4f8be5fe, 0xf0823020, 0x1b220282, 0x57824a01, 0x02820882, 0x03823420, 0x03820120, 0x0a226983, + 0x17863400, 0x07000224, 0x0b863e00, 0x15000324, 0x0b864500, 0x89000421, 0x00052423, 0x865a000c, 0x00062417, 0x86660009, 0x0007240b, 0x866f004e, + 0x0008240b, 0x86bd0014, 0x000a240b, 0x86d10067, 0x000d240b, 0x8638012e, 0x000e230b, 0x3b87012a, 0x5f841220, 0x01000324, 0x93820904, 0x90016823, + 0x240b8500, 0x01140001, 0x240b86f8, 0x020e0002, 0x240b860c, 0x022a0003, 0x200b861a, 0x24238a04, 0x022c0005, 0x24178644, 0x02120006, 0x240b8670, + 0x029c0007, 0x240b8682, 0x03280008, 0x240b861e, 0x03ce000a, 0x240b8646, 0x0438000b, 0x240b8614, 0x045c000c, 0x200b864c, 0x200b820d, 0x080b86a8, + 0x54000e54, 0x69440405, 0x69746967, 0x2064657a, 0x61746164, 0x706f6320, 0x67697279, 0xa9207468, 0x30303220, 0x47202c37, 0x6c676f6f, 0x6f432065, + 0x726f7072, 0x6f697461, 0x72442e6e, 0x2064696f, 0x736e6153, 0x75676552, 0x4172616c, 0x6e656373, 0x20726564, 0x1b89202d, 0x72655623, 0x242d8273, + 0x302e3120, 0x83158430, 0x31088430, 0x20736920, 0x72742061, 0x6d656461, 0x206b7261, 0x6587666f, 0x646e6132, 0x79616d20, 0x20656220, 0x69676572, + 0x72657473, 0x69279982, 0x6563206e, 0x82617472, 0x756a2707, 0x64736972, 0x87836369, 0x882e7321, 0x899d8a77, 0x24668580, 0x616d7568, 0x2149826e, + 0xaf827320, 0x65732035, 0x20666972, 0x65707974, 0x65636166, 0x73656420, 0x826e6769, 0x6f662462, 0x82752072, 0x6920221c, 0x8373826e, 0x2073211b, + 0x652f8c83, 0x7463656c, 0x696e6f72, 0x6f632063, 0x82756d6d, 0x05034108, 0x82694c21, 0x827320f2, 0x84752039, 0x687427f8, 0x70412065, 0x06826361, + 0x2c211986, 0x07004120, 0x302e322e, 0x70747468, 0x772f2f3a, 0x612e7777, 0x2e252584, 0x2f67726f, 0x2943856c, 0x494c2f73, 0x534e4543, 0x29822d45, + 0x00440025, 0x82670069, 0x82742003, 0x007a2603, 0x00640065, 0x24038220, 0x00740061, 0x28098261, 0x006f0063, 0x00790070, 0x20258472, 0x22158268, + 0x82a90020, 0x00322217, 0x22018230, 0x822c0037, 0x8247200b, 0x826f2023, 0x826c2043, 0x0020223d, 0x200d8243, 0x20338272, 0x8333826f, 0x82692045, + 0x006e220f, 0x2067822e, 0x20098272, 0x205f8469, 0x245b8253, 0x0073006e, 0x26318252, 0x00750067, 0x8261006c, 0x8241202d, 0x82632011, 0x826e2011, + 0x82652023, 0x0020220f, 0x205d822d, 0x20098244, 0x837d826f, 0x20378797, 0x20258256, 0x852d8272, 0x0020225b, 0x835f8231, 0x0020228f, 0x204d8262, + 0x204f8269, 0x20398264, 0x20178231, 0x87778a33, 0x20518b3d, 0x20458269, 0x20e98420, 0x20af8474, 0x20598264, 0x208d846d, 0x2241826b, 0x9066006f, + 0x006121df, 0x20219f83, 0x20258300, 0x201d8279, 0x20f58462, 0x83c98472, 0x8474204d, 0x0547419b, 0x2b826920, 0x63002022, 0x74201184, 0x0f855582, + 0xa3826a20, 0xd1827220, 0x64007322, 0x63220582, 0x05827400, 0x29826f20, 0xc5827320, 0x41110341, 0x1541154f, 0x84202013, 0x20cd8553, 0x83638268, + 0x846e20a1, 0x82742013, 0x827320a7, 0x846e207f, 0x847320ed, 0x8469208f, 0x007424db, 0x82700079, 0x8266200f, 0x8463201d, 0x826420c9, 0x82732005, + 0x82672035, 0x24c58591, 0x006f0066, 0x20418272, 0x413d8275, 0xc7830597, 0x45847420, 0x73203787, 0x19411f82, 0x00652207, 0x831b826c, 0x827220d7, + 0x20818339, 0x06494263, 0x6d006d22, 0x11859782, 0x220b1b42, 0x82740068, 0x00702401, 0x822f003a, 0x00772101, 0x2e200183, 0x73219182, 0x0b0f4200, + 0x87846320, 0x2e007022, 0x6f201582, 0x2f214982, 0x8737b700, 0x20eb8df5, 0x20df8272, 0x2053842e, 0x22c1826d, 0x8669004c, 0x8273207d, 0x846420cd, + 0x099942ff, 0x27827420, 0x13826520, 0x70004122, 0x6320a782, 0x338d0d86, 0x1f822c20, 0x200fa942, 0x20bd8232, 0x89b79830, 0x842e204b, 0x006722eb, + 0x8b89822f, 0x82732087, 0x004c2a11, 0x00430049, 0x004e0045, 0x21058253, 0x5385002d, 0x02000023, 0x23008400, 0x660066ff, 0x048e0884, 0x00820325, + 0x82020100, 0x03380825, 0x05000400, 0x07000600, 0x09000800, 0x0b000a00, 0x0d000c00, 0x0f000e00, 0x11001000, 0x13001200, 0x15001400, 0x17001600, + 0x19001800, 0x1b001a00, 0x1d001c00, 0x1f001e00, 0x2130cf82, 0x23002200, 0x25002400, 0x27002600, 0x29002800, 0x7061c619, 0x00ac6f0e, 0x008400a3, + 0x00bd0085, 0x00e80096, 0x008e0086, 0x009d008b, 0x01a400a9, 0x018a0003, 0x00830004, 0x00f20093, 0x008d00f3, 0x01880097, 0x00de0005, 0x009e00f1, + 0x00f500aa, 0x00f600f4, 0x00ad00a2, 0x00c700c9, 0x006200ae, 0x00900063, 0x00cb0064, 0x00c80065, 0x00cf00ca, 0x00cd00cc, 0x00e900ce, 0x00d30066, + 0x00d100d0, 0x006700af, 0x009100f0, 0x00d400d6, 0x006800d5, 0x00ed00eb, 0x006a0089, 0x006b0069, 0x006c006d, 0x00a0006e, 0x0071006f, 0x00720070, + 0x00750073, 0x00760074, 0x00ea0077, 0x007a0078, 0x007b0079, 0x007c007d, 0x00a100b8, 0x007e007f, 0x00810080, 0x00ee00ec, 0x010601ba, 0x01080107, + 0x010a0109, 0x00fd000b, 0x010c01fe, 0x010e010d, 0x01ff000f, 0x01100100, 0x01120111, 0x01140113, 0x01160115, 0x01180117, 0x011a0119, 0x011c011b, + 0x011e011d, 0x00f8001f, 0x012001f9, 0x01220121, 0x01240123, 0x01260125, 0x01280127, 0x012a0129, 0x012c012b, 0x012e012d, 0x0030012f, 0x013101d7, + 0x01330132, 0x01350134, 0x01370136, 0x01390138, 0x013b013a, 0x013d013c, 0x003f013e, 0x01e300e2, 0x01410140, 0x01430142, 0x01450144, 0x01470146, + 0x01490148, 0x014b014a, 0x014d014c, 0x00b0004e, 0x014f01b1, 0x01510150, 0x01530152, 0x01550154, 0x01570156, 0x00fb0058, 0x00e400fc, 0x015901e5, + 0x015b015a, 0x015d015c, 0x015f015e, 0x01610160, 0x01630162, 0x01650164, 0x01670166, 0x01690168, 0x016b016a, 0x016d016c, 0x01bb006e, 0x0170016f, + 0x00720171, 0x01e700e6, 0x01a60073, 0x01750174, 0x01770176, 0x01790178, 0x007b017a, 0x01e100d8, 0x00db007c, 0x00dd00dc, 0x00d900e0, 0x017d01df, + 0x017f017e, 0x01810180, 0x01830182, 0x01850184, 0x01870186, 0x01890188, 0x018b018a, 0x018d018c, 0x018f018e, 0x01910190, 0x01930192, 0x01950194, + 0x01970196, 0x01990198, 0x019b019a, 0x019d019c, 0x019f019e, 0x01a101a0, 0x01a301a2, 0x01a501a4, 0x01a701a6, 0x01a901a8, 0x01ab01aa, 0x01ad01ac, + 0x01af01ae, 0x01b101b0, 0x01b301b2, 0x00b501b4, 0x01b6019b, 0x01b801b7, 0x01ba01b9, 0x01bc01bb, 0x01be01bd, 0x01c001bf, 0x01c201c1, 0x01c401c3, + 0x01c601c5, 0x01c801c7, 0x01ca01c9, 0x01cc01cb, 0x01ce01cd, 0x01d001cf, 0x01d201d1, 0x01d401d3, 0x01d601d5, 0x01d801d7, 0x01da01d9, 0x01dc01db, + 0x01de01dd, 0x01e001df, 0x01e201e1, 0x01e401e3, 0x01e601e5, 0x01e801e7, 0x01ea01e9, 0x01ec01eb, 0x01ee01ed, 0x01f001ef, 0x01f201f1, 0x01f401f3, + 0x01f601f5, 0x01f801f7, 0x01fa01f9, 0x01fc01fb, 0x01fe01fd, 0x020002ff, 0x02020201, 0x02040203, 0x02060205, 0x02080207, 0x020a0209, 0x020c020b, + 0x020e020d, 0x0210020f, 0x02120211, 0x02140213, 0x02160215, 0x02180217, 0x021a0219, 0x021c021b, 0x021e021d, 0x0220021f, 0x02220221, 0x02240223, + 0x02260225, 0x02280227, 0x00b20029, 0x022a02b3, 0x00b6002b, 0x02c400b7, 0x00b4002c, 0x00c500b5, 0x00c20082, 0x00ab0087, 0x022d02c6, 0x00be002e, + 0x002f02bf, 0x003002bc, 0x023102f7, 0x02330232, 0x02350234, 0x008c0036, 0x0237029f, 0x02390238, 0x003b023a, 0x003c0298, 0x0099009a, 0x00a500ef, + 0x009c0092, 0x008f00a7, 0x00950094, 0x023d02b9, 0x023f023e, 0x02410240, 0x02430242, 0x02450244, 0x02470246, 0x02490248, 0x024b024a, 0x024d024c, + 0x024f024e, 0x02510250, 0x02530252, 0x02550254, 0x02570256, 0x02590258, 0x025b025a, 0x025d025c, 0x025f025e, 0x02610260, 0x02630262, 0x02650264, + 0x02670266, 0x02690268, 0x026b026a, 0x026d026c, 0x026f026e, 0x02710270, 0x02730272, 0x02750274, 0x02770276, 0x02790278, 0x027b027a, 0x027d027c, + 0x027f027e, 0x02810280, 0x02830282, 0x02850284, 0x02870286, 0x02890288, 0x028b028a, 0x028d028c, 0x028f028e, 0x02910290, 0x02930292, 0x02950294, + 0x02970296, 0x02990298, 0x029b029a, 0x029d029c, 0x029f029e, 0x02a102a0, 0x02a302a2, 0x02a502a4, 0x02a702a6, 0x02a902a8, 0x02ab02aa, 0x02ad02ac, + 0x02af02ae, 0x02b102b0, 0x02b302b2, 0x02b502b4, 0x02b702b6, 0x02b902b8, 0x02bb02ba, 0x02bd02bc, 0x02bf02be, 0x02c102c0, 0x02c302c2, 0x02c502c4, + 0x02c702c6, 0x02c902c8, 0x02cb02ca, 0x02cd02cc, 0x02cf02ce, 0x02d102d0, 0x02d302d2, 0x02d502d4, 0x02d702d6, 0x02d902d8, 0x02db02da, 0x02dd02dc, + 0x02df02de, 0x02e102e0, 0x02e302e2, 0x02e502e4, 0x02e702e6, 0x02e902e8, 0x02eb02ea, 0x02ed02ec, 0x02ef02ee, 0x02f102f0, 0x02f302f2, 0x02f502f4, + 0x02f702f6, 0x02f902f8, 0x02fb02fa, 0x02fd02fc, 0x03ff02fe, 0x03010300, 0x03030302, 0x03050304, 0x03070306, 0x03090308, 0x030b030a, 0x030d030c, + 0x030f030e, 0x03110310, 0x03130312, 0x03150314, 0x03170316, 0x03190318, 0x031b031a, 0x031d031c, 0x031f031e, 0x03210320, 0x03230322, 0x03250324, + 0x03270326, 0x03290328, 0x032b032a, 0x032d032c, 0x032f032e, 0x03310330, 0x03330332, 0x03350334, 0x03370336, 0x03390338, 0x033b033a, 0x033d033c, + 0x033f033e, 0x03410340, 0x03430342, 0x03450344, 0x03470346, 0x03490348, 0x034b034a, 0x034d034c, 0x034f034e, 0x03510350, 0x03530352, 0x03550354, + 0x03570356, 0x03590358, 0x035b035a, 0x035d035c, 0x035f035e, 0x03610360, 0x03630362, 0x03650364, 0x03670366, 0x03690368, 0x036b036a, 0x036d036c, + 0x036f036e, 0x03710370, 0x03730372, 0x03750374, 0x03770376, 0x03790378, 0x037b037a, 0x037d037c, 0x037f037e, 0x03810380, 0x03830382, 0x03850384, + 0x03870386, 0x03890388, 0x6e2e058a, 0x076c6c75, 0x30696e75, 0x09444130, 0x7265766f, 0x726f6373, 0x65700e65, 0x646f6972, 0x746e6563, 0x64657265, + 0x616d4107, 0x6e6f7263, 0x07856107, 0x62410628, 0x65766572, 0x06846106, 0x6f410729, 0x656e6f67, 0x8561076b, 0x430b2d07, 0x63726963, 0x6c666d75, + 0x630b7865, 0x04260b89, 0x746f6443, 0x04826304, 0x63440623, 0x214e8261, 0x06856406, 0x72634425, 0x8274616f, 0x2106830d, 0x63854507, 0x85650721, + 0x45062107, 0x06216484, 0x21068465, 0x3e82450a, 0x83636121, 0x650a2198, 0x07210a88, 0x21798545, 0x07856507, 0x85450621, 0x84652058, 0x470b2106, + 0x0b218389, 0x210b8967, 0x40824704, 0x82670421, 0x470c2604, 0x6d6d6f63, 0x21578561, 0x0c8a670c, 0x89480b21, 0x680b212f, 0x04260b89, 0x72616248, + 0x04826804, 0x74490628, 0x65646c69, 0x06846906, 0x85490721, 0x690721b5, 0x06210785, 0x21b68449, 0x06846906, 0x85490721, 0x6907219f, 0x0a210785, + 0x27c28849, 0x024a4902, 0x4a0b6a69, 0x0b216289, 0x210b896a, 0x938a4b0c, 0x8c6b0c21, 0x7267330c, 0x6c6e6565, 0x69646e61, 0x614c0663, 0x65747563, + 0x06846c06, 0x8b4c0c21, 0x8a6c2027, 0x4c06280c, 0x6f726163, 0x846c066e, 0x4c042106, 0x04218582, 0x2104826c, 0x3f854e06, 0x3f856e20, 0x328a4e20, + 0x8a6e0c21, 0x4e06210c, 0x06213884, 0x3506846e, 0x70616e0b, 0x7274736f, 0x6568706f, 0x676e4503, 0x676e6503, 0xff854f07, 0x856f0721, 0x4f062807, + 0x76657262, 0x846f0665, 0x4f0d2f06, 0x676e7568, 0x6d757261, 0x7475616c, 0x0d8b6f0d, 0x84520621, 0x7206217c, 0x0c210684, 0x21768a52, 0x0c8a720c, + 0x84520621, 0x7206217c, 0x53200685, 0x06212e84, 0x21068473, 0x3a41530b, 0x730b2109, 0x0c210b89, 0x21408a54, 0x0c8a740c, 0x85540621, 0x84742046, + 0x54042606, 0x04726162, 0x28048274, 0x69745506, 0x0665646c, 0x21068475, 0xcd855507, 0x85750721, 0x55062107, 0x0621ce84, 0x27068475, 0x69725505, + 0x7505676e, 0x0d210583, 0x20e18c55, 0x210d8b75, 0xfd415507, 0x75072105, 0x0b210785, 0x21a18957, 0x0b8a770b, 0x0b8a5920, 0x0b897920, 0x845a0621, + 0x7a0621e4, 0x0a210684, 0x0843425a, 0x887a0a21, 0x6c05270a, 0x73676e6f, 0x8b83410a, 0x61202685, 0x07220a88, 0x12844541, 0x65610722, 0x0b260784, + 0x616c734f, 0x0b856873, 0x0b896f20, 0x41530c21, 0x0c210a20, 0x200c8a73, 0x2efe8506, 0x6e6f7405, 0x640d736f, 0x65726569, 0x84736973, 0x410a250d, + 0x6168706c, 0x092e0a84, 0x746f6e61, 0x69656c65, 0x70450c61, 0x91826973, 0x08221684, 0x1f867445, 0x866f4921, 0x4f0c2709, 0x7263696d, 0x1f846e6f, + 0x8a550c21, 0x4f0a242c, 0x8567656d, 0x6911212e, 0x6b8c2e82, 0x6b840520, 0x65420433, 0x47056174, 0x616d6d61, 0x696e7507, 0x34393330, 0x216f8607, + 0x1a825a04, 0x6f820320, 0x68540522, 0x04200982, 0x05367083, 0x7070614b, 0x614c0661, 0x6164626d, 0x02754d02, 0x5802754e, 0x81860769, 0x69500231, + 0x6f685203, 0x67695305, 0x5403616d, 0x86077561, 0x5003258d, 0x43036968, 0x50220382, 0x66856973, 0x0c394122, 0x91874f83, 0x28860f20, 0x0a210f87, + 0x08084161, 0x8a650c21, 0x820820d1, 0x20e78488, 0x84cf8309, 0x75142109, 0xdc8d1f85, 0x04213f84, 0x212e8262, 0xdc836705, 0x65640526, 0x0761746c, + 0x04214b86, 0x2018827a, 0x21038203, 0xda847405, 0x05214c83, 0x20da846b, 0x85da846c, 0x434229a4, 0x02756e02, 0x6f076978, 0x25056141, 0x6f687203, + 0xdc837306, 0x84053121, 0x74032106, 0x7f86e382, 0x82700321, 0x826320df, 0x268e8203, 0x656d6f05, 0x410c6167, 0x0f200b73, 0x0c20a68e, 0xc3845386, + 0x1c860c20, 0x0a200c84, 0x0a843c84, 0x66610929, 0x30316969, 0x87333230, 0x31352109, 0x32200988, 0x1d890988, 0x13883420, 0x09883520, 0x09883620, + 0x09883720, 0x09883820, 0x09873920, 0x88303621, 0x20638809, 0x21638736, 0x4f883431, 0x45883120, 0x45883120, 0x45883120, 0x45883220, 0x45883220, + 0xa9883220, 0x9f883220, 0x4f883220, 0x9f883220, 0x59883220, 0x59883220, 0x59883220, 0x59883320, 0x59883320, 0x59883320, 0x03413320, 0x88332008, + 0x88332063, 0x88332063, 0x88332063, 0x88332063, 0x88332063, 0x88342063, 0x88342063, 0x88342063, 0x88342063, 0x88342063, 0x09174163, 0x63883420, + 0x63883420, 0x63883420, 0x63883420, 0x95883620, 0x31883620, 0x31883620, 0x31883620, 0x31883620, 0x95883720, 0x8b883720, 0x8b883720, 0x8b883720, + 0x59883720, 0x59883720, 0x59883720, 0x59883720, 0x59883720, 0x59883820, 0xef883820, 0x63883820, 0x63883820, 0x63883820, 0x63883820, 0x63883820, + 0x63883820, 0x63883820, 0x63883820, 0x63883920, 0x63883920, 0x63883920, 0x63883920, 0x63883920, 0x63883920, 0x63883920, 0x63883920, 0x45893720, + 0x31216387, 0x21638730, 0x1d873031, 0x42303121, 0x302008bb, 0x31216387, 0x21638730, 0x63873031, 0x87303121, 0x30312163, 0x31216387, 0x21c78730, + 0x63883031, 0x63883120, 0x3520b389, 0x3829db89, 0x72675706, 0x06657661, 0x24068577, 0x75636157, 0x840d8274, 0x57092106, 0x21079d44, 0x09877709, + 0x85590621, 0x84792028, 0x61092d06, 0x30696966, 0x38303230, 0x646e750d, 0x2b06484a, 0x0d6c6264, 0x746f7571, 0x76657265, 0x65251282, 0x696d0664, + 0x2c55836e, 0x6f636573, 0x6509646e, 0x616c6378, 0x2925826d, 0x75736e09, 0x69726570, 0x4785726f, 0x3439382f, 0x65700631, 0x61746573, 0x72754504, + 0x2215846f, 0x42323136, 0x0982068f, 0x3d069f41, 0x35333136, 0x73650932, 0x616d6974, 0x09646574, 0x65656e6f, 0x74686769, 0x68740c68, 0x0b866572, + 0x660b7324, 0x0b877669, 0x82730c21, 0x856e208b, 0x05732e24, 0x746c6544, 0x6e750761, 0x30424669, 0x2a078631, 0x79630d32, 0x6c6c6972, 0x83626369, + 0x64082db7, 0x656c746f, 0x106a7373, 0x6f726163, 0x200b0849, 0x0a14470b, 0x0b8a1120, 0x746f7222, 0x0c248c82, 0x6f72657a, 0x0c24d687, 0x72756f66, + 0x8e820c89, 0x0b230c87, 0x87786973, 0x840d200b, 0x840d889b, 0x233488a4, 0x656e696e, 0xa9830c87, 0x30303223, 0x84078630, 0x303223b9, 0x0f863230, + 0x07863320, 0x07863420, 0x07863520, 0x07863620, 0x07863720, 0x07863820, 0x07863920, 0x07864120, 0x07834220, 0x46454623, 0x22078446, 0x86434646, + 0x83442007, 0x31302307, 0x07843046, 0x84423221, 0x33302317, 0x0f843144, 0x84443321, 0x840f827f, 0x45312367, 0x17834533, 0x47840782, 0x85453121, + 0x840782af, 0x4631222f, 0x2b4f8534, 0x09334632, 0x69736164, 0x69786f61, 0x84078b41, 0x42462bc1, 0x4f053430, 0x6e726f68, 0x05846f05, 0x05845520, + 0x05837520, 0x51857185, 0x41333021, 0x078205bb, 0x6804332e, 0x086b6f6f, 0x62746f64, 0x776f6c65, 0x34202584, 0x34212586, 0x216f8530, 0xbf853534, + 0x86353421, 0x8636200f, 0x8436200f, 0x34302297, 0x21c78536, 0x85843634, 0x34200f82, 0x36214785, 0x84078635, 0x201782df, 0x200f8637, 0x20078638, + 0x20078639, 0x20078641, 0x41078642, 0x34210527, 0x206f8736, 0x20178645, 0x21078546, 0x07863037, 0x07863120, 0x37207f86, 0x37207f86, 0x37207f86, + 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x37207f86, 0x38217f86, 0x21778530, + 0x07863138, 0x38207f86, 0x38207f86, 0x38207f86, 0x38207f86, 0x38207f86, 0x38207786, 0x38207786, 0x38207786, 0x38207786, 0x38207786, 0x38207786, + 0x38207786, 0x39207786, 0x39206786, 0x39206786, 0x39206786, 0x39206786, 0x39206786, 0x3920e786, 0x39206f86, 0x39206f86, 0x39206f86, 0x39206f86, + 0x39206f86, 0x39206f86, 0x39206f86, 0x41216f86, 0x21df8530, 0x07863141, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, + 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x41207f86, 0x42217f86, 0x21778530, 0x07863142, 0x42207f86, 0x42207f86, + 0x42207f86, 0x42207f86, 0x42207f86, 0x42207f86, 0x42207f86, 0x42207f86, 0x42207f86, 0x8f437f86, 0x42342106, 0x42207f86, 0x42207f86, 0x43217f86, + 0x21778530, 0x07863143, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, 0x43207f86, + 0x4320ff86, 0x43207f86, 0x43207f86, 0x44217f86, 0x44778530, 0x3420062f, 0x21062f44, 0x7f864434, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, + 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864420, 0x7f864520, 0x85314521, 0x86452087, 0x864520ff, + 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, 0x8645207f, + 0x0637457f, 0x31463422, 0x46207f85, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, 0x46207f86, + 0xa7457f86, 0x34302205, 0x207f8646, 0x457f8646, 0x302105c7, 0x06074535, 0x2d453520, 0x46352006, 0x1782052f, 0x35217f85, 0x217f8530, 0x7f853035, + 0x85303521, 0x3035217f, 0x35217f85, 0x217f8530, 0x7f853035, 0x85303521, 0x3035217f, 0x35217f85, 0x21ff8530, 0x7f853035, 0x85303521, 0x3035217f, + 0x3522ff85, 0xf7843031, 0x31313522, 0xff850786, 0x84313521, 0x4531217f, 0x82059f43, 0x821f8407, 0x821f8407, 0x841f8707, 0x840f829f, 0x8407829f, + 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x8407829f, 0x4531219f, 0x82059f43, 0x46312007, + 0x422005b7, 0x9f437f86, 0x86178205, 0x059f437f, 0x7f860f82, 0x82059f43, 0x437f860f, 0x0f82059f, 0x9f437f86, 0x860f8205, 0x059f437f, 0x7f860f82, + 0x21059f43, 0x9f434531, 0x86078205, 0x8643207f, 0x059f437f, 0x7f861782, 0x82059f43, 0x437f860f, 0x0f82059f, 0x9f437f86, 0x860f8205, 0x059f437f, + 0x7f860f82, 0x82059f43, 0x437f860f, 0x3121059f, 0x059f4345, 0x7f860782, 0x82059f43, 0x067f410f, 0x82059f43, 0x067f410f, 0x82059f43, 0x067f410f, + 0x82059f43, 0x067f410f, 0x82059f43, 0x067f410f, 0x82059f43, 0x067f410f, 0x82059f43, 0x067f410f, 0x21059f43, 0x9f434531, 0x86078205, 0x059f43ff, + 0xff860f82, 0x82059f43, 0x43ff860f, 0x0f82059f, 0x9f43ff86, 0x860f8205, 0x059f43ff, 0xff860f82, 0x82059f43, 0x43ff860f, 0x3121059f, 0x059f4345, + 0x31200782, 0x4305ff41, 0x0f82058f, 0x8f43ef86, 0x860f8205, 0x058f43ef, 0xef840f82, 0x46303221, 0x33230607, 0x51134630, 0x612809af, 0x65747563, + 0x626d6f63, 0x6723138a, 0x84766172, 0x89122013, 0x6f682327, 0x268e6b6f, 0x6c697423, 0x25268464, 0x6572620e, 0x49886576, 0x44880e85, 0x1d840d20, + 0x1c853f87, 0x10203a88, 0x8307cb4a, 0x656c241f, 0x4a117466, 0x692108dc, 0x21138367, 0x118f4355, 0x00434c22, 0x022a0082, 0x02000500, 0x0300ffff, + 0x0d820100, 0x03820c20, 0x15841620, 0x03210d82, 0x20138281, 0x820d8204, 0x2e05860b, 0x001e000a, 0x6c01002c, 0x006e7461, 0x82040008, 0x82002015, + 0x8201203b, 0x6b012307, 0x13837265, 0x84000021, 0x201b820d, 0x20218202, 0x21038301, 0x0d823aa5, 0x01003808, 0x03ea03f0, 0x074c07ea, 0x07d4085a, + 0x0a32095a, 0x0c220bc0, 0x0e3e0d10, 0x0f0a0f24, 0x127e11f0, 0x148213ac, 0x19de14b0, 0x1dee1960, 0x23362190, 0x07822768, 0x8268284c, 0x826e2001, + 0x29802603, 0x2930291a, 0x08098236, 0x48296830, 0x6e285629, 0xea29d429, 0x002aea29, 0xf02ada2a, 0xba2b4c07, 0xd62bc82b, 0x242e242e, 0x6630d62b, + 0x220bac32, 0xe435fe34, 0xfe34fe34, 0x0185240e, 0x37c23623, 0x23018744, 0x9e387e11, 0x39210185, 0x836184a8, 0x25038265, 0x6e284829, 0x0186623e, + 0x7a3e6c22, 0x29230187, 0x86943e48, 0x409e2601, 0x28320924, 0x27038368, 0x68284240, 0x6e28220b, 0x07830183, 0x85d44121, 0x5242214b, 0x0e230783, + 0x83584224, 0x362923db, 0x0183f00f, 0x83d44121, 0x21218505, 0xc3827e11, 0x05854820, 0x43293f85, 0x446e2842, 0x414c444c, 0x20ff82d4, 0x31038360, + 0xea29901d, 0xda2a6823, 0x8227c248, 0x384d8227, 0x73834e50, 0x6e283f08, 0x4a511c51, 0x86515851, 0x26521852, 0xca538c52, 0xee552854, 0xda58b858, + 0x0a5af459, 0xf25db45a, 0x1a5f005e, 0x9a60f45f, 0xf6644064, 0x7e652065, 0xbe65b065, 0x2a6a7066, 0x6828306a, 0x07824a6a, 0xa26a9c38, 0xda6ad06a, + 0x6828086b, 0xbc6b7a6b, 0x186ce26b, 0x446c366c, 0x03825a6c, 0x8a6c6c2c, 0xd66cc46c, 0x2c6d4829, 0xa3833e6d, 0x8c6d8d08, 0x646f6e6e, 0x3473b672, + 0xb4734a73, 0x64759274, 0xa0762a76, 0xf4795678, 0xc47c1a7c, 0x887f4a7d, 0x58819280, 0x2483f281, 0x94857e84, 0xe88b9e86, 0x208e768d, 0x9c8fda8e, + 0x10919690, 0x20929291, 0xfc929692, 0x14948293, 0x74943294, 0x2c95aa94, 0x2896a295, 0x0097b296, 0x20985e97, 0x2499b298, 0xf0999a99, 0x6e284a9a, + 0x229bb09a, 0x6e28689b, 0xb89baa9b, 0x6e286e28, 0x349c2a9c, 0x389dba9c, 0xb09d3e9d, 0x1494269e, 0xea29901d, 0x23250387, 0xa1da2a68, 0x08018290, + 0x9ea19e20, 0x32093209, 0xeea4aca4, 0x24837494, 0x10912098, 0x94852896, 0xf4790097, 0x9280f479, 0x0383aa94, 0x96248325, 0x837e8428, 0xe88b2305, + 0x03832098, 0x20207982, 0x03850f83, 0xa5209827, 0x99da8e30, 0x293b839a, 0x28967e84, 0x5e979e86, 0x11832a76, 0x83289621, 0x83478705, 0x850f8307, + 0x833b831f, 0x230d8369, 0x20989e86, 0x1d830383, 0x76270387, 0x8324832a, 0x834a7324, 0x874d8535, 0x4a732119, 0x94219d83, 0x21b18374, 0x47832896, + 0x3183a587, 0x99851185, 0x87289621, 0x850783b1, 0x5e972169, 0xd1859387, 0xcd89a385, 0x99833f85, 0x09212783, 0x42019532, 0xad420bf5, 0x240e2505, + 0x48297e11, 0xa4210397, 0x250187ac, 0x60196019, 0x0187eea4, 0x2a682323, 0x2f0387da, 0x2400d800, 0x2c00aeff, 0x37002900, 0x39005200, 0x3a240382, + 0x3b006600, 0x3c200f82, 0x3d200b82, 0x46240782, 0x4700c3ff, 0x48200382, 0x4a240382, 0x5200d7ff, 0x54200782, 0x57200382, 0x59201b82, 0x5a240382, + 0x5c001400, 0x82200782, 0x83204782, 0x84200382, 0x85200382, 0x86200382, 0x87200382, 0x88240382, 0x8e005cff, 0x8f201f82, 0x90200382, 0x91200382, + 0x9f200382, 0xa8205b82, 0xa9204382, 0xaa200382, 0xab200382, 0xac200382, 0xad200382, 0xb4200382, 0xb5200382, 0xb6200382, 0xb7200382, 0xb8200382, + 0xba200382, 0xbf200382, 0xc1203782, 0xc2200382, 0xc4205382, 0xc6200382, 0xc9200382, 0xcb201782, 0xcd200382, 0xcf200382, 0xd5200382, 0xd7200382, + 0xd9200382, 0xdb200382, 0xdd200382, 0xec200382, 0xf0203382, 0xf2280382, 0x0f012900, 0x1101c3ff, 0x13200382, 0x15200382, 0x24240382, 0x26015200, + 0x36280382, 0x37016600, 0x38011400, 0x39200b82, 0x3a202782, 0x3b200782, 0xff820782, 0x823f0121, 0xff432407, 0x825f01ae, 0x82692003, 0x82712003, + 0x8279201b, 0x827e203b, 0x82802003, 0x8282201b, 0x828a2007, 0x828c2007, 0x828e2007, 0x82902003, 0x21e38203, 0x07829301, 0x17829420, 0x07829620, + 0x03829920, 0x03829b20, 0x3b829d20, 0x9affa424, 0x0782a601, 0x3d00a824, 0x4f82aa01, 0x85ffae24, 0x0b82b001, 0x7f82b120, 0x0b82b520, 0x1b82bc20, + 0x0f82bd20, 0x0121ef82, 0x820b82c4, 0xd80121d7, 0xdb203b82, 0xdc200382, 0xdd204f82, 0xde200382, 0xea200b82, 0xed200382, 0xfa200382, 0xfb20bb82, + 0xfc203b82, 0xfd200782, 0xfe200782, 0xff300782, 0x00021400, 0x01025200, 0x28022900, 0x5802aeff, 0x60240382, 0x6a02c3ff, 0x6d200382, 0x72201382, + 0x76240f82, 0x7f023d00, 0x81200f82, 0x83200f82, 0x85200382, 0x87200b82, 0x89200382, 0x8b200382, 0x8d200f82, 0x9f200782, 0xa9202382, 0xaa204782, + 0xb2200f82, 0xb4200f82, 0xb5200382, 0xb6200f82, 0xb7200f82, 0xb8200782, 0xb9200782, 0xba200782, 0xbb200782, 0xbd202b82, 0xca200b82, 0xce240782, + 0xd90285ff, 0xdb206382, 0xdd200382, 0xe0200382, 0xe5203782, 0xf0201782, 0xf2200782, 0xf4200382, 0xf7200382, 0xf8200f82, 0xf9203782, 0xfa200782, + 0xfb200782, 0xfc280782, 0x05032900, 0x07033d00, 0x0a240382, 0x0c03c3ff, 0x0e200382, 0x10201382, 0x11240382, 0x160385ff, 0x17240f82, 0x18035200, + 0x1a200f82, 0x1b200b82, 0x1d241382, 0x1f03aeff, 0x21200382, 0x23200382, 0x25200382, 0x27200382, 0x29200382, 0x2b200382, 0x2d200382, 0x2f200382, + 0x31200382, 0x33200382, 0x36200382, 0x38203782, 0x3a200382, 0x3c200382, 0x3e200382, 0x40200382, 0x42200382, 0x44200382, 0x45200382, 0x47205b82, + 0x4a200382, 0x4c200b82, 0x4e200382, 0x50200382, 0x52200382, 0x54200382, 0x56200382, 0x58200382, 0x5a200382, 0x5c200382, 0x5e200382, 0x60200382, + 0x6f200382, 0x70209782, 0x71203782, 0x72200782, 0x73200782, 0x742e0782, 0x03002900, 0x7b002d00, 0x7b00f600, 0x0782a301, 0x26005e26, 0x2a00c3ff, + 0x32200382, 0x34200382, 0x37280382, 0x38009aff, 0x3900d7ff, 0x3a240782, 0x3c00aeff, 0x89200782, 0x94201782, 0x95200382, 0x96200382, 0x97200382, + 0x98200382, 0x9a200382, 0x9b200382, 0x9c202b82, 0x9d200382, 0x9e200382, 0x9f200382, 0xc8202f82, 0xce201782, 0xde200382, 0xe0200382, 0xe2200382, + 0xe4240382, 0x0e01c3ff, 0x12200382, 0x24240382, 0x26019aff, 0x2c240382, 0x3001d7ff, 0x32200382, 0x34200382, 0x36240382, 0x3801aeff, 0x3a201782, + 0x66200382, 0x6d202782, 0x71200382, 0xb8200b82, 0xbb200782, 0xbc200382, 0xfa200b82, 0xfc202382, 0xfe300382, 0x0002aeff, 0x5f029aff, 0x6102c3ff, + 0x6c02d7ff, 0x7e200782, 0x84200382, 0x86200382, 0x88200382, 0x8a200382, 0x8c200382, 0xa9200382, 0xb1202782, 0xb3200782, 0xb5200382, 0xb7200b82, + 0xb9200382, 0xbd200382, 0xe1200382, 0xe3201382, 0xef200382, 0xf1200382, 0xf3240382, 0x1503c3ff, 0x17240382, 0x19039aff, 0x49200782, 0x4b200382, + 0x4d200382, 0x4f200382, 0x51200382, 0x53200382, 0x55200382, 0x57200382, 0x59200382, 0x5b200382, 0x5d200382, 0x8b820382, 0xff610325, 0x826303d7, + 0x82652003, 0x82672003, 0x82692003, 0x826b2003, 0x826d2003, 0x826f2003, 0x82712053, 0xff732603, 0x0017009a, 0x82cd8237, 0x7201250d, 0xb001c3ff, + 0xb520fd82, 0xe1830382, 0xd982c420, 0xd1827620, 0x03829f20, 0xb18bb983, 0x1382bb20, 0xb582bd20, 0x0782ca20, 0x0382ce20, 0x5582e520, 0x03820520, + 0x03820720, 0x03821120, 0x1b2ab583, 0x6300d7ff, 0xaeff0500, 0x03820a00, 0xecff2624, 0x03822a00, 0x03823220, 0x03823420, 0x85ff3724, 0x07823800, + 0xc3ff3924, 0x29823a00, 0x2205df41, 0x829400ec, 0x82952013, 0x82962003, 0x82972003, 0x82982003, 0x829a2003, 0x829b2003, 0x829c2003, 0x829d2003, + 0x829e2003, 0x05df4103, 0xce00ec22, 0xde200b82, 0xe0200382, 0xe2200382, 0xe4240382, 0x0e01ecff, 0x12200382, 0x14200382, 0x2424c982, 0x260185ff, + 0x2c200382, 0x30200f82, 0x32200382, 0x34200382, 0x36200382, 0xe3411b82, 0x01ec2209, 0x2013826d, 0x20278271, 0x200782b8, 0x200382bb, 0x200b82bc, + 0x202382fa, 0x200382fc, 0x20e182fe, 0x24ed8200, 0x02aeff07, 0x2403820b, 0x02ecff5f, 0x20038261, 0x2003826c, 0x2003827e, 0x20038284, 0x20038286, + 0x20038288, 0x2003828a, 0x2403828c, 0x0285ffa9, 0x200782b1, 0x200382b3, 0x200b82b5, 0x200382b7, 0x200382b9, 0x200382bd, 0x201382e1, 0x200382e3, + 0x200382ef, 0x240382f1, 0x03ecfff3, 0x24038215, 0x0385ff17, 0x20078219, 0x20038249, 0x2003824b, 0x2003824d, 0x2003824f, 0x20038251, 0x20038253, + 0x20038255, 0x20038257, 0x20038259, 0x2003825b, 0x2003825d, 0x2003825f, 0x20038261, 0x20038263, 0x20038265, 0x20038267, 0x20038269, 0x2003826b, + 0x4103826d, 0x18260beb, 0xecff2c00, 0x03823700, 0x03823920, 0x03823b20, 0x03823c20, 0xed829f20, 0x03822420, 0x03822620, 0x03823820, 0x03823a20, + 0x03827120, 0x9982bc20, 0xc9840020, 0xb502ec22, 0xb7200782, 0xb9200382, 0xbd200382, 0xec22a984, 0x07824503, 0x61844720, 0x8203ec21, 0x7303212f, + 0x3b264b82, 0x29000500, 0x03820a00, 0x03820c20, 0xd7ff2624, 0x03822a00, 0x03823220, 0x03823420, 0x13824020, 0x03826020, 0x0b828920, 0x03829420, + 0x03829520, 0x03829620, 0x03829720, 0x03829820, 0x03829a20, 0x0382c820, 0x0382ce20, 0x0382de20, 0x0382e020, 0x0382e220, 0xd7ffe424, 0x03820e01, + 0x03821220, 0x03826620, 0x03826d20, 0x0382b820, 0xd7ffbb28, 0x29000702, 0x03820b02, 0x0b825f20, 0x03826c20, 0x03827e20, 0x03828420, 0x03828620, + 0x03828820, 0x03828a20, 0x03828c20, 0x0382b120, 0x0382b320, 0x0382e120, 0x0382e320, 0x0382ef20, 0x0382f120, 0xd7fff324, 0x03821503, 0x03821920, + 0x03824920, 0x03824b20, 0x03824d20, 0x03824f20, 0x03825120, 0x03825320, 0x03825520, 0x03825720, 0x03825920, 0x03825b20, 0x03825d20, 0x00276f82, + 0xff0f004b, 0x821100c3, 0x82242003, 0x055b41fb, 0x3900c322, 0x3a200b82, 0x22085f41, 0x823d00d7, 0x8282200b, 0x82832003, 0x82842003, 0x82852003, + 0x82862003, 0x82872003, 0x82882003, 0x828e203b, 0x828f2007, 0x82902003, 0x82912003, 0x829f2003, 0x82c220f1, 0x82c42007, 0x82c62003, 0x82ec2003, + 0x82f02003, 0xfff22803, 0xff2401ec, 0x822601c3, 0xff362803, 0xff3801ec, 0x823a01d7, 0x823b2003, 0x823d200b, 0x823f2003, 0x82432003, 0x825f2003, + 0x82692003, 0x82712003, 0x82aa2027, 0x82bc2007, 0x82fa2007, 0x82fc2007, 0xfffe2403, 0x820002ec, 0x822820f5, 0x82582007, 0x82722003, 0xffa92403, + 0x82b502c3, 0x82b72003, 0x82b92003, 0x82bd2003, 0x82d92003, 0x82db2017, 0xffdd2803, 0xff1703ec, 0x821d03c3, 0x821f2007, 0x82212003, 0x82232003, + 0x82252003, 0x82272003, 0x82292003, 0x822b2003, 0x822d2003, 0x822f2003, 0x82312003, 0x82332003, 0x091b4203, 0x7103d726, 0x7303d7ff, 0x3926d382, + 0x3d000500, 0x03820a00, 0x29000c28, 0x9aff0f00, 0x03821100, 0x0b822220, 0x1d842420, 0x3a001426, 0x3c001400, 0x27420382, 0x82822007, 0x82832017, + 0x82842003, 0x82852003, 0x82862003, 0x82872003, 0xff882403, 0x829f00c3, 0x82c22027, 0x82c4200b, 0xffc62803, 0x003601d7, 0x82380114, 0x823a2003, + 0x82432003, 0x825f200f, 0x82692003, 0x82aa2003, 0x82fa2003, 0x82fc2013, 0x00fe2403, 0x82000214, 0x00072403, 0x820b023d, 0xff282403, 0x825802d7, + 0x82722003, 0x82d92003, 0x82db2003, 0x82dd2003, 0x821d20ad, 0x821f2003, 0x82212003, 0x82232003, 0x82252003, 0x82272003, 0x82292003, 0x822b2003, + 0x822d2003, 0x822f2003, 0x82312003, 0x82332003, 0x006f2403, 0x82710314, 0x82732003, 0x43e58393, 0xf1440501, 0xff89210f, 0x2019dd44, 0x441b82c8, + 0xec231dc9, 0x44ff6601, 0xa14405a5, 0x0af94206, 0x4402ec21, 0x85441b89, 0x17754407, 0x20327144, 0x43e58b00, 0xdb430de3, 0x4314203b, 0x63268edf, + 0x9aff0500, 0x03820a00, 0x460fcb41, 0xae2409bd, 0xc3ff3a00, 0x41069d48, 0xbd4619df, 0x01ec2135, 0x2019bd46, 0x0aa148c3, 0x2917bd46, 0xfffc01c3, + 0xfffe01c3, 0xbd4602c3, 0x029a2505, 0x029aff0b, 0x45b7bd46, 0xd721176d, 0x056d4500, 0x3c00d723, 0x1f6d45ff, 0x4500d721, 0x3526e76d, 0x33ff0f00, + 0x03821100, 0x7d492420, 0x07ef4706, 0xd7ff3d23, 0x19954e00, 0x89007126, 0x9f00ecff, 0x514e0382, 0x069f440b, 0x1f480120, 0xff3b2407, 0x823d01d7, + 0x823f2003, 0x0b054e03, 0xaeffaa28, 0xecffbb01, 0x03820002, 0x2207614d, 0x4caeff72, 0x03200bf5, 0x212f994c, 0x5f48ff6f, 0x43034209, 0x0342c320, + 0x000b22e8, 0x0adb4937, 0x2107d349, 0xcf49ffa9, 0x20012714, 0x52000500, 0x03820a00, 0x9aff0f24, 0x9f471000, 0x4d85200c, 0x362c109f, 0x3700ecff, + 0x44001400, 0x460085ff, 0x47200382, 0x48200382, 0x4a200382, 0x50243782, 0x5100aeff, 0x52200382, 0x53200f82, 0x54200782, 0x55200782, 0x56200782, + 0x58200782, 0x59240782, 0x5a00c3ff, 0x5b200382, 0x5c200382, 0x5d200382, 0x82200382, 0x83201b82, 0x84200382, 0x85200382, 0x86200382, 0x87200382, + 0x88230382, 0x4d0071ff, 0xa2201bf7, 0xa3202382, 0xa4200382, 0xa5200382, 0xa6200382, 0xa7200382, 0xa8200382, 0xa9200382, 0xaa200382, 0xab200382, + 0xac200382, 0xad200382, 0xb3200382, 0xb4207f82, 0xb5200782, 0xb6200382, 0xb7200382, 0xb8200382, 0xba200382, 0xbb200382, 0xbc201b82, 0xbd200382, + 0xbe200382, 0xbf200382, 0xc1209782, 0xc2200382, 0xc3201b82, 0xc4200382, 0xc5200382, 0xc6200382, 0xc7200382, 0xc8200382, 0xc9201b82, 0xcb200782, + 0xcd200382, 0xce200382, 0xcf200f82, 0xd5200782, 0xd7200382, 0xd9200382, 0xdb200382, 0xdd200382, 0x834e0382, 0xff06240f, 0x820801ae, 0x820a2003, + 0xff0e2803, 0xff0f01c3, 0x82110185, 0x82122003, 0x8213200b, 0x82142007, 0x82152007, 0xff1c2407, 0x821d01ec, 0x821f2007, 0x82202003, 0x8221200b, + 0x82222007, 0x82232007, 0x00242407, 0x82260114, 0x82372003, 0x8239202b, 0x82402003, 0x82432003, 0x82442017, 0x824a2003, 0x825f2003, 0x82662003, + 0x82692013, 0x826d2007, 0x82712007, 0x8279202b, 0x827b200b, 0x827e2073, 0x82802007, 0x82822013, 0x82842007, 0x828a200f, 0x828c200b, 0x828e200b, + 0x82902003, 0x82912003, 0x8293200f, 0x82942007, 0x82962007, 0x82992007, 0x829b2003, 0x82a02003, 0x82aa207b, 0x080b4f07, 0xca205382, 0xf7820f82, + 0x82d80121, 0x82db2007, 0x82dc2003, 0x82dd2033, 0x82de2003, 0x82ea200b, 0x82ed2003, 0x82ee2003, 0x82fb2003, 0x82fd2013, 0xffff2403, 0x820102c3, + 0xff022c03, 0xff0302ae, 0x0007029a, 0x820b0252, 0xff282403, 0x82580285, 0x82592003, 0x825f2003, 0x8260201f, 0x826a2007, 0x826c2003, 0x21bf820b, + 0x0b827202, 0x0b827e20, 0x07827f20, 0x07828120, 0x674f8320, 0x82852006, 0x8286200f, 0x8287200b, 0x82882007, 0x82892007, 0x21cf8207, 0x0b828b02, + 0x03828c20, 0x0f828d20, 0x1400a924, 0x0b82aa02, 0x0382b120, 0x0f82b220, 0x0782b320, 0x0782b420, 0x1782b520, 0x0b82b620, 0x0782b720, 0x0782b820, + 0x0782b920, 0x0782ba20, 0x0782bd20, 0x1f82d920, 0x0382da20, 0x0221d382, 0x200782dc, 0x200382dd, 0x4f0382e0, 0xf0200bab, 0xf1200f82, 0xf2202f82, + 0xf3200782, 0xf4200782, 0xf8200782, 0xfa200782, 0xfc280382, 0x0a03c3ff, 0x0c0385ff, 0x0e200382, 0x10200b82, 0x15200382, 0x16200382, 0x17240f82, + 0x18031400, 0x19200b82, 0x1a200382, 0x1d200f82, 0x1e200382, 0x1f200382, 0x21200382, 0x22200382, 0x23200382, 0x24200382, 0x25200382, 0x26200382, + 0x27200382, 0x28200382, 0x29200382, 0x2a200382, 0x2b200382, 0x2c200382, 0x2d200382, 0x2e200382, 0x2f200382, 0x30200382, 0x31200382, 0x32200382, + 0x33200382, 0x34200382, 0x36200382, 0x38200382, 0x3a200382, 0x3c200382, 0x3e200382, 0x40200382, 0x42200382, 0x44200382, 0x49200382, 0x4a208382, + 0x4b200782, 0x4c200782, 0x4d200782, 0x4e200782, 0x4f200782, 0x50200782, 0x51200782, 0x52200782, 0x53200782, 0x54200782, 0x55200782, 0x56200782, + 0x57200782, 0x58200782, 0x59200782, 0x5a200782, 0x5b200782, 0x5c200782, 0x5d200782, 0x5e200782, 0x5f200782, 0x60200782, 0x62240782, 0x6403aeff, + 0x66200382, 0x68200382, 0x6a200382, 0x6c200382, 0x6e200382, 0x70200382, 0x72202382, 0x742a0382, 0x2300c3ff, 0xd7ff0f00, 0x03821100, 0x334d2420, + 0x00d7211c, 0x200a1f4d, 0x0bf34c01, 0xecffaa23, 0x0bdb4c02, 0x4c0bc74c, 0x00212ec3, 0x0c0f45e8, 0x2109ab4c, 0xd74e00c3, 0x8244200f, 0x0d0f56bb, + 0x5000c322, 0x5120c582, 0x20061756, 0x20078253, 0x20238254, 0x20078255, 0x20038256, 0x20038258, 0x200f8282, 0x20038283, 0x20038284, 0x20038285, + 0x20038286, 0x23038287, 0x0085ff88, 0x201b434b, 0x202382a2, 0x200382a3, 0x200382a4, 0x200382a5, 0x200382a6, 0x560382a7, 0xb3201737, 0xb4206b82, + 0x20163b56, 0x201b82bb, 0x200382bc, 0x200382bd, 0x200382be, 0x202782c2, 0x200382c3, 0x200382c4, 0x200382c5, 0x200382c6, 0x200382c7, 0x561b82c8, + 0xce200b53, 0x57560f82, 0x0fb74f17, 0xd7ff0624, 0x03820801, 0x03820a20, 0x03820e20, 0x20076b56, 0x240b8212, 0x01c3ff13, 0x20078214, 0x20078215, + 0x2007821d, 0x2003821f, 0x20038221, 0x20038223, 0x20138243, 0x20038244, 0x200b824a, 0x2007825f, 0x20078266, 0x20078269, 0x2007826d, 0x20078279, + 0x2007827b, 0x2007827e, 0x20038282, 0x560b8284, 0x93200b67, 0x5f561382, 0x82aa200b, 0x062f500f, 0x82ca0121, 0x0b3b560b, 0x220b3356, 0x44d7ffee, + 0xc3260a8b, 0xc3ff5802, 0x03825902, 0x17825f20, 0x20072756, 0x200b826c, 0x20138272, 0x2007827e, 0x8207827f, 0x8502217b, 0x86200782, 0x87200f82, + 0x88200782, 0x89200782, 0x77500782, 0x828d2007, 0x82b1200b, 0x82b22013, 0x82b32007, 0x82b42007, 0x82d92007, 0x82da2003, 0x82db2003, 0x82dc2003, + 0x82dd2003, 0x82e02003, 0x0b9b5003, 0x0f82f020, 0x2f82f120, 0x0782f220, 0x0782f320, 0xc3fff424, 0x03820a03, 0x03820c20, 0xd7ff1524, 0x07821603, + 0x07821920, 0x07821a20, 0x03821d20, 0x03821e20, 0x03821f20, 0x03822120, 0x03822220, 0x03822320, 0x03822420, 0x03822520, 0x03822620, 0x03822720, + 0x03822820, 0x03822920, 0x03822a20, 0x03822b20, 0x03822c20, 0x03822d20, 0x03822e20, 0x03822f20, 0x03823020, 0x03823120, 0x03823220, 0x03823320, + 0x03823420, 0x201f1756, 0x20838249, 0x2027824a, 0x2007824b, 0x2007824c, 0x2007824d, 0x2007824e, 0x2007824f, 0x20078250, 0x20078251, 0x20078252, + 0x20078253, 0x20078254, 0x20078255, 0x20078256, 0x20078257, 0x20078258, 0x20078259, 0x2007825a, 0x2007825b, 0x2007825c, 0x2007825d, 0x2007825e, + 0x2007825f, 0x20078260, 0x20078262, 0x20038264, 0x20038266, 0x20038268, 0x2003826a, 0x2a03826c, 0x00d7ff6e, 0x000500e9, 0x820a0066, 0xff0f2403, + 0x821100ae, 0x82242003, 0x0fab4d15, 0x13824420, 0x03824620, 0x03824720, 0x03824820, 0xecff4a24, 0x03825000, 0x03825120, 0x0f825220, 0x07825320, + 0x07825420, 0x07825520, 0x07825620, 0x07825820, 0x03825d20, 0x21197d50, 0xcb4f00ae, 0x82a2201b, 0x82a32043, 0x82a42003, 0x82a52003, 0x82a62003, + 0x82a72003, 0x82a82003, 0x82a92003, 0x82aa2003, 0x82ab2003, 0x82ac2003, 0x82ad2003, 0x82b32003, 0x82b4206b, 0x82b52007, 0x82b62003, 0x82b72003, + 0x82b82003, 0x82ba2003, 0x82bb2003, 0x82bc201b, 0x82bd2003, 0x82be2003, 0x82c22003, 0x82c32013, 0x82c42003, 0x82c52003, 0x82c62003, 0x82c72003, + 0x82c82003, 0x82c9201b, 0x82cb2007, 0x82cd2003, 0x82ce2003, 0x82cf200f, 0x82d52007, 0x82d72003, 0x82d92003, 0x82db2003, 0x82dd2003, 0x0f2d5503, + 0xecff0624, 0x03820801, 0x39550a20, 0xff0f2406, 0x821101d7, 0x82122003, 0x8213200f, 0x82142007, 0x82152007, 0x0fa14307, 0x17824020, 0x17824320, + 0x03824420, 0x2205a543, 0x826601d7, 0x82692013, 0x826d200f, 0x82792007, 0x827b2007, 0x827e2007, 0x82822007, 0x82842003, 0x828c200b, 0x828e2007, + 0x82902003, 0x82932003, 0x82962003, 0x82992003, 0x519b2003, 0xdb5006a9, 0xca012106, 0xcf200f82, 0xd8200382, 0xdb200382, 0xde200382, 0xea200382, + 0xed200382, 0xa5430382, 0x02662a05, 0x0266000b, 0x02d7ff28, 0x20038258, 0x24038259, 0x02ecff5f, 0x20078260, 0x2003826a, 0x200b826c, 0x20078272, + 0x2007827e, 0x2007827f, 0x20078284, 0x20078285, 0x20078286, 0x20078287, 0x20078288, 0x55078289, 0x8d2007ad, 0xb1200b82, 0xb2201382, 0xb3200782, + 0xb4200782, 0xd9200782, 0xda200382, 0x7f820382, 0x82dc0221, 0x82dd2007, 0x82e02003, 0x0b475103, 0x0f82f020, 0x2f82f120, 0x0782f220, 0x0782f320, + 0xd7fff424, 0x03820a03, 0x03820c20, 0xecff1524, 0x07821603, 0x07821920, 0x07821a20, 0x03821d20, 0x59521e20, 0x8222200a, 0x8223200b, 0x82242003, + 0x82252003, 0x82262003, 0x82272003, 0x82282003, 0x82292003, 0x822a2003, 0x822b2003, 0x822c2003, 0x822d2003, 0x822e2003, 0x822f2003, 0x82302003, + 0x82312003, 0x82322003, 0x82332003, 0x82342003, 0x82362003, 0x82382003, 0x823a2003, 0x823c2003, 0x823e2003, 0x82402003, 0x82422003, 0x82442003, + 0x82492003, 0x824a2083, 0x824b2007, 0x824c2007, 0x824d2007, 0x824e2007, 0x824f2007, 0x82502007, 0x82512007, 0x82522007, 0x82532007, 0x82542007, + 0x82552007, 0x82562007, 0x82572007, 0x82582007, 0x82592007, 0x825a2007, 0x825b2007, 0x825c2007, 0x825d2007, 0x825e2007, 0x825f2007, 0x82602007, + 0x82622007, 0x82642007, 0x82662003, 0x82682003, 0x826a2003, 0x826c2003, 0xff6e2403, 0x568c00ec, 0x37470813, 0x8246200f, 0x8247201d, 0x82482003, + 0x82522003, 0x82542003, 0x1bfb4603, 0x1f82a820, 0x0382a920, 0x0382aa20, 0x0382ab20, 0x0382ac20, 0x0382ad20, 0x0382b420, 0x0382b520, 0x0382b620, + 0x0382b720, 0x0382b820, 0x0382ba20, 0x2205b746, 0x82cb00ec, 0x82cd200b, 0x05b74603, 0xd500ec22, 0xd7200b82, 0xd9200382, 0xdb200382, 0xdd200382, + 0xb7460382, 0x05ab460f, 0x1101ec25, 0x4601ecff, 0xec2005ab, 0x2106ab46, 0x835601ec, 0x82792007, 0x827e201b, 0x82822003, 0x828c2003, 0x828e2003, + 0x82902003, 0x82932003, 0x82962003, 0x82992003, 0x829b2003, 0x077b4603, 0x0b82cf20, 0x0382d820, 0x0382db20, 0x0382de20, 0x0382ea20, 0xecffed22, + 0x200cc356, 0x200f8260, 0x5603826a, 0x7f2007cb, 0x63460b82, 0x02ec2105, 0x21056346, 0x634602ec, 0x02ec2105, 0x21096346, 0x634602ec, 0x02ec2105, + 0x22056346, 0x82e002ec, 0x0d4f4637, 0xf102ec26, 0xf202d7ff, 0x4f461782, 0x03ec2605, 0x03ecff0a, 0x4603820c, 0xec21054f, 0x054f4603, 0x3603ec22, + 0x38201382, 0x3a200382, 0x3c200382, 0x3e200382, 0x40200382, 0x42200382, 0x44200382, 0xf3450382, 0x03ec2105, 0x2105f345, 0xf34503ec, 0x03ec2105, + 0x2105f345, 0xf34503ec, 0x03ec2105, 0x2105f345, 0xf34503ec, 0x03ec2105, 0x2105f345, 0xf34503ec, 0x03ec2105, 0x2105f345, 0xf34503ec, 0x03ec2105, + 0x2205f345, 0x490601ec, 0x9a201679, 0x28107949, 0x00ecff36, 0x009aff44, 0x20038246, 0x20038247, 0x4e038248, 0xc3260581, 0xc3ff5100, 0x0f825200, + 0x07825320, 0x07825420, 0x07825520, 0xaeff5624, 0x07825800, 0xd7ff5b24, 0x3b825c00, 0x2205794e, 0x8283009a, 0x8284201f, 0x82852003, 0x82862003, + 0x82872003, 0x05794e03, 0x5800d721, 0xa22017a9, 0xa3202382, 0xa4200382, 0xa5200382, 0xa6200382, 0xa7200382, 0xa8200382, 0xa9200382, 0xaa200382, + 0xab200382, 0xac200382, 0xad200382, 0xb3200382, 0xb4207782, 0xb5200782, 0xb6200382, 0xb7200382, 0xb8200382, 0xba200382, 0xbb200382, 0xbc201b82, + 0xbd200382, 0xbe200382, 0xbf200382, 0xc1209b82, 0xc2200382, 0xc3201b82, 0xc4200382, 0xc5200382, 0xc6200382, 0xc7200382, 0xd9420382, 0x009a2205, + 0x200b82cb, 0x420382cd, 0x9a2205d9, 0x0b82d500, 0x0382d720, 0x0382d920, 0x0382db20, 0x0382dd20, 0x240fd942, 0x01c3ff06, 0x20038208, 0x4203820a, + 0x9a2405e5, 0x9aff1101, 0x2006e542, 0x06e5429a, 0x4e019a21, 0xae250579, 0xaeff1f01, 0x05794e01, 0x4e01ae21, 0xae250579, 0xecff3901, 0x056d4e01, + 0x44019a22, 0x4a203b82, 0x5f202382, 0xa5490782, 0x019a2105, 0x2205a549, 0x827b019a, 0x827e2063, 0x82802017, 0x8282202f, 0x82842007, 0x828a200f, + 0x828c200b, 0x828e200b, 0x82902003, 0x82932003, 0x82962003, 0x82992003, 0x829b2003, 0x05614e03, 0x49019a21, 0x9a2209b1, 0x1782cf01, 0x0382d820, + 0x0382db20, 0x3f82dd20, 0x0782de20, 0x0382ea20, 0x0382ed20, 0xaeffee26, 0xecff0102, 0x260ab949, 0xff58029a, 0x8259029a, 0x05b94903, 0x6a029a22, + 0x6c240b82, 0x6d02d7ff, 0x72202782, 0xbd490b82, 0x029a2205, 0x200f8281, 0x08614383, 0x61439a20, 0x439a2006, 0x9a220661, 0x33828a02, 0x1f828b20, + 0x07828c20, 0x37828d20, 0x20056543, 0x0665439a, 0xb8029a22, 0xba201b82, 0xd9200382, 0xda201b82, 0x9f820382, 0x82dc0221, 0x82dd2007, 0x82e02003, + 0x0d814303, 0x81439a20, 0x029a2106, 0x22058143, 0x82f8029a, 0x82fa203b, 0xfffc2803, 0xff0a03ec, 0x820c039a, 0x820e2003, 0x4310200b, 0x9a200895, + 0x22069543, 0x821d039a, 0x821e201b, 0x821f2003, 0x82212003, 0x82222003, 0x82232003, 0x82242003, 0x82252003, 0x82262003, 0x82272003, 0x82282003, + 0x82292003, 0x822a2003, 0x822b2003, 0x822c2003, 0x822d2003, 0x822e2003, 0x822f2003, 0x82302003, 0x82312003, 0x82322003, 0x82332003, 0x82342003, + 0x82362003, 0x82382003, 0x823a2003, 0x823c2003, 0x823e2003, 0x82402003, 0x82422003, 0x82442003, 0x05f14303, 0xf1439a20, 0x439a2006, 0x9a2006f1, + 0x2006f143, 0x06f1439a, 0xf1439a20, 0x439a2006, 0x9a2006f1, 0x2006f143, 0x06f1439a, 0xf1439a20, 0x439a2006, 0x9a2006f1, 0x2606f143, 0xff62039a, + 0x826403c3, 0x82662003, 0x82682003, 0x826a2003, 0x826c2003, 0x826e2003, 0xff702403, 0x827203ec, 0xff742203, 0x0c7758ec, 0x490d4f5e, 0x5d591b91, + 0x05b94821, 0xecff6d23, 0x835d5901, 0x0a000126, 0x0400d7ff, 0x20072f5b, 0x06af5a02, 0x4a260021, 0x592308ef, 0x64001400, 0x14220561, 0x0b82bf00, + 0x1400c124, 0x03823701, 0x03823920, 0x03828020, 0x03828a20, 0x03829120, 0x03829420, 0x0382dc20, 0x0382dd20, 0x0382fb20, 0x0382fd20, 0x1400ff24, + 0x03820102, 0x49000721, 0x6d200543, 0x81200b82, 0x83200382, 0x8b200382, 0xaa200382, 0xb6200382, 0xb8200382, 0xba200382, 0xf8200382, 0xfa200382, + 0xfc240382, 0x0e031400, 0x10200382, 0x18200382, 0x70200382, 0x72200382, 0x74200382, 0x05207f82, 0x2008e347, 0x2559844a, 0x000b0229, 0xc7830029, + 0xc784c320, 0x0a002924, 0xe7462900, 0x03002307, 0xdf825b00, 0xecff5d28, 0xecff4001, 0xd5881f00, 0x0d824420, 0x03824a20, 0x0382a220, 0x0382a320, + 0x0382a420, 0x0382a520, 0x0382a620, 0x0382a720, 0x0382c320, 0x0382c520, 0x3982c720, 0x01232b82, 0x82ecffca, 0x20c58553, 0x200b8259, 0x240382da, + 0x03ecffdc, 0x2003821e, 0x20038222, 0x20038224, 0x20038226, 0x20038228, 0x2003822a, 0x2003822c, 0x2003822e, 0x20038230, 0x20038232, 0x834b8234, + 0x825220b9, 0x0052229d, 0x20b98457, 0x20b98252, 0x55918252, 0x4920070b, 0x3620158a, 0x5220e588, 0xa820bf82, 0xb74b0382, 0x4b012016, 0x13240743, + 0x1501d7ff, 0xf74a0382, 0x4ad8201b, 0x054805df, 0x07c34a08, 0xd7ff7f24, 0x03828502, 0x03828720, 0x03828920, 0x03828d20, 0x0382b220, 0x874ab420, + 0x82f02006, 0x82f22007, 0x0b734a03, 0xd7ff1624, 0x03821a03, 0x03824a20, 0x03824c20, 0x03824e20, 0x03825020, 0x0321af82, 0x20078254, 0x20038256, + 0x20038258, 0x2003825a, 0x2003825c, 0x2003825e, 0x20c78260, 0x089b5d05, 0x3d2cef85, 0x3d000b02, 0x52003200, 0xa800ecff, 0x61490382, 0x26e78216, + 0xff1101ec, 0x821301ec, 0x49152003, 0xd8201e05, 0xde231f82, 0x4802ecff, 0x7f2007e1, 0x85200b82, 0x87200382, 0x89200382, 0x8d200382, 0xb2200382, + 0xb4200382, 0xe0200382, 0xf0200382, 0xf2200382, 0xf4210382, 0x09a948ff, 0x0b821620, 0x03821a20, 0x03824a20, 0x03824c20, 0x03824e20, 0x03825020, + 0xdf82a782, 0x5603ec22, 0x58200b82, 0x5a200382, 0x5c200382, 0x5e200382, 0x60200382, 0x0326bf82, 0xd7ff7101, 0x03827801, 0x29009123, 0x240d8300, + 0xff72019a, 0x221182c3, 0x629300c3, 0x0d2808a3, 0x0f0085ff, 0x1e004400, 0x22240382, 0x2600c3ff, 0x2a203982, 0x2d230382, 0x62005e00, 0x3d241bb7, + 0x49003b00, 0x57202782, 0x59240382, 0x5a00d7ff, 0x5c200782, 0x82200782, 0x97440382, 0x13155c1b, 0x3382bf20, 0xd14dc120, 0x12115e06, 0x00f60023, + 0x28df625e, 0xecff3728, 0x9aff3801, 0xf7823901, 0x07823a20, 0x3b003b23, 0x21ab8201, 0x07823f01, 0x4d5e6620, 0xff712406, 0x82800185, 0x828a201f, + 0x82912003, 0x82942003, 0x82a32003, 0x0b076363, 0x1382dc20, 0x0382dd20, 0x0382fa20, 0x3782fb20, 0x0782fc20, 0x0782fd20, 0x0782fe20, 0xecffff2b, + 0x9aff0002, 0xd7ff0102, 0x131f6302, 0x854d6d20, 0x82812006, 0x82832007, 0x0f2b6303, 0x13828b20, 0x20072f63, 0x630b82aa, 0xb6200b33, 0xb7240f82, + 0xb80285ff, 0xb9200782, 0xba200782, 0x3f630782, 0xf8022116, 0xfa201b82, 0xfc240382, 0x0e03d7ff, 0x10200382, 0x15280382, 0x1703ecff, 0x180385ff, + 0x6306854d, 0x70204f57, 0x71245782, 0x72039aff, 0x73200782, 0x74240782, 0x9000d7ff, 0x42204d42, 0x45423349, 0x4102104e, 0x91209c01, 0x200a4142, + 0x0a8f447f, 0x8f44d720, 0xff57282c, 0xff5900e5, 0x825a00d5, 0xff5c2207, 0x1cb152db, 0x22158744, 0x82c100db, 0x163b4937, 0x202e8744, 0x068744e5, + 0x4401db21, 0xdb261d87, 0xd5ff8a01, 0x03829101, 0x03829420, 0x25118744, 0xffdd01d5, 0x874401db, 0x01e52105, 0x21058744, 0x874401e5, 0x44e52005, + 0xdb200687, 0x2a168744, 0xff7e02db, 0xff8102ec, 0x828302db, 0x11874403, 0x4402db21, 0xd5200987, 0x230cbb67, 0x02d5ffb6, 0x21058744, 0x874402db, + 0x02db2105, 0x22198744, 0x82fa02db, 0xfffc245f, 0x820e03db, 0x82102003, 0x09874403, 0xdf67d520, 0x82702054, 0x05874463, 0x4403db21, 0xdb280587, + 0x05009400, 0x0a0066ff, 0x0d210382, 0x450210ff, 0x06283501, 0x070266ff, 0x0a02aeff, 0x0b200782, 0x20200782, 0x210e3b63, 0x5142ff6d, 0x09f365ed, + 0x65571020, 0x07c94606, 0xecff8424, 0x03828900, 0xc9688a20, 0x17c36b06, 0x22074b44, 0x463d00f6, 0x87480881, 0x82a32007, 0x837b4d13, 0xe34b3720, + 0x83e58f08, 0x678b20e1, 0xdd4022c3, 0x0020229b, 0x1a595d24, 0x2463555d, 0xff0c0056, 0x10376bd7, 0xf6ff2d24, 0x99823600, 0xc3ff3724, 0x1f823900, + 0x200fd165, 0x20138240, 0x6b038260, 0xd9651947, 0xf600292c, 0x1c01f6ff, 0x2001ecff, 0x22200382, 0x2032576b, 0x203382a0, 0x6b4382a3, 0x42208b5f, + 0x240c3d5f, 0x00ecff30, 0x2003823d, 0x1aef4144, 0xd7ff8823, 0x176b4f00, 0x6f4fc220, 0x4fc42006, 0xc6200673, 0x6c06774f, 0x5f820f6d, 0x716c0120, + 0xffaa2407, 0x5fca01ec, 0x59200a81, 0x72200b82, 0xd9200382, 0xda200382, 0xdb200382, 0xdc200382, 0xdd240382, 0x1d03ecff, 0x2006a74f, 0x2007821f, + 0x20038221, 0x20038222, 0x20038223, 0x20038224, 0x06b74f25, 0x07822720, 0x03822820, 0xbf4f2920, 0x4f2b2006, 0x2d2006c3, 0x2006c74f, 0x06cb4f2f, + 0x07823120, 0x796c3220, 0x82342006, 0x002e2a83, 0x00520005, 0x00c3ff09, 0x2507820a, 0x003d000c, 0x716c000d, 0x0dd56405, 0x24094f56, 0x00beff2d, + 0x242f8230, 0x00d7ff32, 0x20038234, 0x24ed8236, 0x00270037, 0x24378239, 0x0014003a, 0x56438240, 0x49230f67, 0x5600e5ff, 0x114e236b, 0x0b735607, + 0x4f826020, 0x56ff8221, 0x0024ec77, 0x01befff6, 0x24437b56, 0x01270024, 0x26038226, 0x01140036, 0x56ecff37, 0x7120248b, 0x79212f82, 0x178f56ff, + 0x5601d721, 0x91240b8f, 0x9301d7ff, 0x94202b82, 0x97560782, 0x82a3200f, 0x82aa20c3, 0x079b561b, 0x5782bc20, 0x0f82ca20, 0x4f0b9f56, 0xec21052d, + 0x0ea35601, 0x82fa0121, 0x82fb20af, 0x82fc20af, 0x82fd2007, 0x82fe2007, 0xffff2207, 0x68bb56ec, 0x2700a923, 0x05614f02, 0xb202d723, 0x09c356ff, + 0x1782b520, 0xd7ffb624, 0x0782b702, 0x8f82b820, 0x0782b920, 0x0782ba20, 0x0782bd20, 0x225bd756, 0x4f270017, 0xd7230699, 0x10ff1a03, 0x0501df16, + 0x0500022a, 0x0a0098ff, 0x0300d7ff, 0x02210987, 0x200d820b, 0x200d8206, 0x2417826f, 0xff49006f, 0x0c3d55db, 0xbe203183, 0xbe221982, 0xc3536100, + 0xff0f2408, 0x821100be, 0xff222803, 0xff4600b4, 0x824700f6, 0x82482003, 0x00492403, 0x824a0014, 0x82522007, 0x82542003, 0x00572403, 0x82a80006, + 0x82a92007, 0x82aa2003, 0x82ab2003, 0x82ac2003, 0x82ad2003, 0x82b42003, 0x82b52003, 0x82b62003, 0x82b72003, 0x82b82003, 0x82ba2003, 0x82c92003, + 0x82cb2003, 0x82cd2003, 0x82cf2003, 0x82d52003, 0x82d72003, 0x82d92003, 0x82db2003, 0xffdd2403, 0x820f01f6, 0x82112003, 0x82132003, 0x82152003, + 0x82792003, 0x827e2003, 0x82822003, 0x828c2003, 0x828e2003, 0x82902003, 0x82932003, 0x82962003, 0x82992003, 0x829b2003, 0x214f8203, 0x0782d801, + 0x0382db20, 0x0382de20, 0x0382ea20, 0xf6ffed2c, 0x3d000702, 0x8dff0802, 0x07820b02, 0x07820c20, 0x81ff1028, 0x0c001502, 0x1b826002, 0x03826a20, + 0x03827f20, 0x03828520, 0x03828720, 0x03828920, 0x03828d20, 0x0382b220, 0x0382b420, 0x0382e020, 0x0382f020, 0x0382f220, 0xf6fff424, 0x03820a03, + 0x03820c20, 0x03821620, 0x03821a20, 0x03823620, 0x03823820, 0x03823a20, 0x03823c20, 0x03823e20, 0x03824020, 0x03824220, 0x03824420, 0x03824a20, + 0x03824c20, 0x03824e20, 0x03825020, 0x03825220, 0x03825420, 0x03825620, 0x03825820, 0x03825a20, 0x03825c20, 0x03825e20, 0xff826020, 0x85410720, + 0x0b515510, 0xdb4f6420, 0x095b5408, 0x5b54e120, 0x2ff9511c, 0x5116af4f, 0x137728f1, 0x097d58ef, 0x8f000c28, 0xa4002200, 0x03824000, 0x52004524, + 0x03824b00, 0x3d004c24, 0x03824d00, 0x0b824e20, 0x03824f20, 0xb800602c, 0xf600ae00, 0xcd00b000, 0x0382b100, 0x1382e720, 0x2f82e920, 0x0a01eb24, + 0x0f82ed00, 0x1b82ef20, 0x2900f124, 0x3382f500, 0xe100f724, 0x1f82f900, 0x0382fc20, 0x5200fe24, 0x03820001, 0x03820220, 0x52000428, 0x8f000702, + 0x6f820b02, 0x2d000126, 0x3a006600, 0x4208734c, 0x52200915, 0x42081542, 0xed411b01, 0x8d377421, 0xe9884220, 0x14003022, 0x2006f14b, 0x0a3177d7, + 0x2405c371, 0x00ecff59, 0x2403825c, 0x00d7ff9f, 0x05095fbf, 0x280cad4b, 0x01ecff23, 0x01d7ff24, 0x20038226, 0x200b8236, 0x20078238, 0x20078239, + 0x2007823a, 0x20038271, 0x200b8280, 0x2003828a, 0x20038291, 0x20038294, 0x200382a0, 0x201782bc, 0x200782dc, 0x770382dd, 0x3d5e0f0d, 0x02292805, + 0x0229000b, 0x5eecff6d, 0x8b200815, 0xa9240b82, 0xaa02d7ff, 0xb5200782, 0xb6200782, 0xb7200782, 0xb8200782, 0xb9200782, 0xba200782, 0xbd200782, + 0xc55d0782, 0x07bd5d0b, 0xd7ff1728, 0xecff1803, 0x07826f03, 0x07827020, 0x07827120, 0x07827220, 0x07827320, 0x83827420, 0xe3601d20, 0x692f1016, + 0x2f105502, 0x20060261, 0x05754401, 0x2015194f, 0x0a8f7b5c, 0x210f194f, 0x194f00ec, 0x3b114f0f, 0x01090f10, 0x238d654f, 0x201d014f, 0x0c014fec, + 0x4e139165, 0x996523f9, 0xff0f251f, 0xff2802d7, 0x22599d65, 0x692700a9, 0xdd4e0607, 0x73d94e0d, 0x10ff1921, 0x0901d50e, 0xf549c520, 0x61102008, + 0x3d580a55, 0xff362707, 0xff3800d7, 0x0d6c00ec, 0x053b5313, 0x5c00d722, 0x6c2e4961, 0x75612f29, 0x82c9200b, 0x09316c8b, 0xcf00ec22, 0x316c0f82, + 0x00ec2115, 0x0f754418, 0xecff0f24, 0x03821101, 0x13631220, 0x05dd7206, 0x1c01ec26, 0x2001d7ff, 0x22200382, 0x44180382, 0x37200f89, 0x39201382, + 0x09590382, 0x07556c07, 0x13828020, 0x47828220, 0x07828a20, 0x520b5d6c, 0xec21059f, 0x059f5201, 0x6c01ec21, 0xa0200765, 0xb8202782, 0xbb202f82, + 0x696c0382, 0x058f520b, 0x6c01d721, 0x01210a71, 0x202b82fb, 0x220382fd, 0x61d7ffff, 0x431805b9, 0x9f630845, 0x6c612005, 0xec210885, 0x07c16102, + 0x13827f20, 0x200bc561, 0x6f0f8285, 0xec21054f, 0x054f6f02, 0x8a02ec22, 0xd1611382, 0x828d2007, 0x056f520b, 0xb202ec22, 0x576f0b82, 0x02ec2205, + 0x207382b6, 0x200382b8, 0x6c0382ba, 0xec2105a5, 0x0d451802, 0x82f02007, 0x054f6f27, 0x6f02ec21, 0xec20054f, 0x240cd961, 0x03ecff0a, 0x6103820c, + 0x16200be1, 0xe1610f82, 0x821a2007, 0x21bd6c0b, 0x4a03ec22, 0x0b6f2782, 0x03ec2105, 0x22050b6f, 0x644f03ec, 0x0b6f064b, 0x03ec2105, 0x21050b6f, + 0x0b6f03ec, 0x03ec2105, 0x22050b6f, 0x825903ec, 0x825a2027, 0x050b6f03, 0x6f03ec21, 0xec21050b, 0x050b6f03, 0x1803ec21, 0x241b8d45, 0x03d7ff70, + 0x24038272, 0x00d7ff74, 0x545d6533, 0x14000b22, 0x24746165, 0x0062010b, 0x05ff7129, 0x6d300782, 0x7101ecff, 0x720185ff, 0x73019aff, 0x7501d7ff, + 0x78200382, 0x88200b82, 0x91241b82, 0x0300c3ff, 0x08cd4218, 0xecff7326, 0x5f010b00, 0x64202f82, 0x67200382, 0x6c200382, 0x70200382, 0xc3203f84, + 0xd7223f82, 0x3b827401, 0x0f827720, 0x07827820, 0x2d828820, 0x10002422, 0x6d224182, 0x3582c3ff, 0x62019a22, 0x200a1b76, 0x20218273, 0x20038276, + 0x20698279, 0x06ed557a, 0x1f827d20, 0x0b827e20, 0xaeff8124, 0x07828201, 0x1f828320, 0x13828420, 0x07828520, 0x07828620, 0x03828720, 0x03828920, + 0x916c8c20, 0x828f2006, 0x82902007, 0x82922003, 0x82932013, 0x82942033, 0x82952027, 0x8296200b, 0x8298200b, 0x8299200b, 0x829a201b, 0xff9b280f, + 0xff0202ae, 0x840302c3, 0x827120cd, 0x82722011, 0x82782003, 0x0119220d, 0x20278279, 0x2003827d, 0x2003827e, 0x20038280, 0x20038281, 0x85c18283, + 0x01d72673, 0x01290088, 0x2013828a, 0x2013828b, 0x2007828c, 0x2007828d, 0x2003828f, 0x200b8290, 0x20078291, 0x20078292, 0x20038293, 0x200b8294, + 0x20078295, 0x85078296, 0x01d7227b, 0x240f829a, 0x00d7ff9b, 0x1049524f, 0x501b5764, 0xfd611b43, 0x21575013, 0x4218d720, 0xd7201a9b, 0x149b4218, + 0x29090b42, 0xff7801c3, 0xff91019a, 0x491801c3, 0x03201e61, 0x184fb165, 0x210bf54a, 0x491800ec, 0x8d421f05, 0x01d72605, 0x01ecff70, 0x20038271, + 0x20038272, 0x42038274, 0xec20058d, 0xec29c182, 0xecff9401, 0xecff0002, 0xa5401803, 0x1871200b, 0x7f083744, 0x97760b49, 0x4344180f, 0xff6d2513, + 0xff7d009a, 0x411d5f76, 0x441835af, 0x5f28254b, 0x620185ff, 0x66019aff, 0x6920e582, 0x6d200782, 0x73230782, 0x4301aeff, 0x85220555, 0x3d7e7a01, + 0x8281200e, 0x05417e23, 0x4301c321, 0x8a240b4d, 0x8c01c3ff, 0x8d202b82, 0x8e200782, 0x8f202382, 0x430a557e, 0x85220559, 0x1b829401, 0x26055943, + 0x0097019a, 0x82980129, 0x8299200f, 0x055d4327, 0xfa019a22, 0x44180f82, 0x02240bbf, 0x03029aff, 0x07200382, 0x44180382, 0x23420ac7, 0x51b22058, + 0x3b1016a1, 0x227101ff, 0x75140062, 0x71210873, 0x05b96bff, 0x2a095546, 0xff7901c3, 0x008801c3, 0x7b8d0129, 0x03201dbf, 0x20f7277b, 0x0b6d4708, + 0xff920125, 0x829501d7, 0x05734303, 0x9a01d726, 0x4600d7ff, 0x61109161, 0x81611789, 0xc94c1846, 0x82622028, 0xff6724a9, 0x486901ec, 0x78201619, + 0xcf551f82, 0xff28240f, 0x605802ec, 0x4c180663, 0x05203fb5, 0x200c3b41, 0x24858281, 0x00290088, 0x18d3782a, 0x181bbf78, 0x181fdb4e, 0x240bff4a, + 0x01aeff73, 0x05a54191, 0x23081970, 0x03d7ff5f, 0x2fa34e18, 0x2748cf20, 0x82222008, 0x4d2420b7, 0x5118127f, 0x40181389, 0x4b1851d1, 0x40182d1b, + 0xec2175e5, 0xe5401800, 0x00ec210d, 0x19e54018, 0x180dfb4d, 0x210de540, 0x401801ec, 0xec2109e5, 0xe5401801, 0xdf4b181b, 0x09434919, 0x0b094118, + 0x490bb56f, 0xd720114f, 0x21184f49, 0x4018ff28, 0xec220bcd, 0x0f826002, 0xecff6122, 0x257e1145, 0xff4a03ec, 0x874d03c3, 0x4dc32005, 0xc3200687, + 0x2106874d, 0x874d03c3, 0x4dc32005, 0xc3200687, 0x2006874d, 0x06874dc3, 0x874dc320, 0x03c32106, 0x2005874d, 0x06874dc3, 0x874dc320, 0x03c32106, + 0x6224df83, 0x6303d7ff, 0x6420e782, 0x65200782, 0x66200782, 0x67200782, 0x68200782, 0x69200782, 0x6a200782, 0x6b200782, 0x6c200782, 0x6d200782, + 0x6e200782, 0x0e1d5518, 0x2209a74c, 0x45290088, 0x21459a25, 0x05ad4a1b, 0x4501d721, 0x36205b25, 0x706d4c18, 0xaeff6228, 0xecff6401, 0x07826901, + 0x07827420, 0x03827820, 0xd7ff8124, 0x03828801, 0xd7ff8e22, 0x0b814c18, 0x3c714c18, 0xe9452920, 0x77b58262, 0x0220091d, 0x2033e545, 0x0cab4ae9, + 0x5c0de566, 0xb54c6151, 0x00d72105, 0x01c34b10, 0x05914d57, 0x1801c321, 0x240bc74b, 0x01c3ff73, 0x21038276, 0x954dff79, 0x187d2009, 0x500ad74b, + 0x852205ef, 0x13828401, 0x03828620, 0x03828720, 0x14008824, 0x4b188901, 0x994d0eeb, 0x01ae210d, 0x07f34b18, 0x27829520, 0x5b829620, 0x3d009724, + 0x0b829801, 0x2205994d, 0x189b01ae, 0x4d14c74b, 0x4b180699, 0x032019c7, 0x01df4a10, 0x002d2103, 0x25050f50, 0xff1100c3, 0xc152009a, 0x019a2511, + 0x01d7ff6d, 0x2105d941, 0xc55201d7, 0x01ae2905, 0x01c3ff7b, 0x01ecff7c, 0x22055152, 0x827f019a, 0x05774f23, 0x5201ae21, 0xe54113cd, 0x01c32105, + 0x21055d52, 0x7f4f019a, 0x019a2505, 0x019aff90, 0x20055d52, 0x08df68c3, 0x20057f4f, 0x0a7f4fae, 0x52019a21, 0x0a250fdd, 0xd7ff5f01, 0x09874b01, + 0x5201d721, 0x742007ed, 0x77209982, 0x78201b82, 0x88240782, 0x1700d7ff, 0x8308a54d, 0x827920c3, 0x22b785b3, 0x827e01ec, 0x8281200b, 0x82852003, + 0x82862003, 0x20a38303, 0x08f5528c, 0x9782ec20, 0x5201d721, 0xec2105f5, 0x0df15201, 0xf152ec20, 0x00ec2a06, 0xff0f000c, 0xff1100ae, 0x208f82ae, + 0x208f84c3, 0x20778269, 0x51461881, 0x82ec2008, 0x01ec21d5, 0x0a774318, 0x86030021, 0x01d722a9, 0x209d8278, 0x1065632c, 0x53073153, 0x09531b1d, + 0x09616321, 0x8b827320, 0xe9868020, 0x9120e183, 0x0cdb4318, 0xa950ec20, 0xee00212f, 0x5d1ac76c, 0x6d2779ad, 0x7d00c3ff, 0x1000d7ff, 0x3f01bf2c, + 0x5617b55d, 0x0f4409d1, 0x01c3231f, 0x0f44ff7e, 0x05754205, 0xe1569a20, 0x0d8f530c, 0x0f44ec20, 0xff8d2208, 0x0e1344d7, 0x5301d721, 0x9a210593, + 0x09ed5601, 0x440b9353, 0x9a200713, 0x5d0cab6c, 0x421016cd, 0x2a0401a7, 0x00880101, 0x01060029, 0x44d7ff79, 0x8c2408fb, 0x9001ecff, 0x93240382, + 0x1400ecff, 0xec201982, 0x2106d545, 0xbd4101ec, 0x01ec2105, 0x58091d45, 0x3183051f, 0x45091b58, 0xec220725, 0x45829501, 0x03829720, 0x03829820, + 0x03829920, 0x51829a20, 0x94010126, 0x0b00ecff, 0x20087d6a, 0x20638249, 0x241b8281, 0x0129008d, 0x2007828e, 0x200f8291, 0x20038294, 0xff5c1896, + 0x02002209, 0x05216701, 0x3789d720, 0x3783b184, 0xb9828c20, 0x20079358, 0x220b8293, 0x18d7ff99, 0x20088742, 0x2225821c, 0x587a01ae, 0xc32008e5, + 0xd726c182, 0xc3ff8101, 0x13828201, 0x20059346, 0x22cd82d7, 0x828601d7, 0x8287200f, 0x09f1587d, 0x8c01d722, 0x8d202782, 0x8f200382, 0x90200382, + 0x91200382, 0x7f420382, 0x82c32005, 0x01c322d9, 0x200f8296, 0x20038298, 0x46038299, 0xc322058b, 0xd7821000, 0x0a005224, 0x9f845200, 0x51827d20, + 0x03827e20, 0x5d828020, 0x20055359, 0x085359ec, 0x13828d20, 0x03829120, 0x9720b383, 0x09154618, 0x45090021, 0x418407fd, 0x21827e20, 0x03828120, + 0x45828220, 0xa5458c20, 0x0d002109, 0x830c3f41, 0x82802067, 0x24638321, 0x013d0088, 0x8531828a, 0x01c3225f, 0x0a0f4194, 0x2409f36b, 0x01140049, + 0x2003828d, 0x2853848e, 0x000b023d, 0x0003003d, 0x203b821e, 0x0505417e, 0x42185f82, 0x7f410afb, 0x01042108, 0x3982cf84, 0x29008a28, 0x14009101, + 0xe56d0700, 0x1801200b, 0x8307d343, 0x0091245b, 0x4b0e0029, 0x718208ef, 0x827d0021, 0x20218333, 0x83638281, 0x838c203f, 0x204b82a7, 0x2007828f, + 0x05fb4190, 0x071d4718, 0x8c040021, 0xff942457, 0x8b1500ec, 0x7901214b, 0x7a203382, 0x7e200382, 0x53850382, 0x8201d722, 0x85200b82, 0x13424782, + 0x01d72205, 0x200f8290, 0x05c94292, 0x82940121, 0x05b1477b, 0x9901d722, 0x8d0a6f41, 0x21498267, 0x5b821300, 0x4101ec21, 0xd72005bb, 0x21063142, + 0x5b4101ec, 0x01292205, 0x204f828c, 0x0873428d, 0x5b09eb42, 0xeb420703, 0x9b01210a, 0x3820b582, 0x2210a777, 0x6b3d002d, 0x91780833, 0x07435f3b, + 0xbd47be20, 0x635f180d, 0x003d2e70, 0x00c3ff05, 0x01c3ff0a, 0x0185ff9d, 0x240382a6, 0x01d7ffb0, 0x200782bc, 0x240782bd, 0x01ecffbf, 0x201b82c1, + 0x6f5718c4, 0x01ec2208, 0x201382df, 0x281382e1, 0x02aeffe4, 0x02c3ff07, 0x2003820b, 0x24c5826d, 0x02d7ff76, 0x200b827c, 0x2003827d, 0x20038280, + 0x20138281, 0x20078282, 0x20078283, 0x2003828b, 0x241f829f, 0x0285ffa9, 0x201382aa, 0x200782b5, 0x200782b6, 0x6a0782b7, 0x852205e7, 0x2382ba02, + 0x2382bb20, 0x1382bd20, 0x1b82bf20, 0x0382c020, 0x0382c120, 0x0382c220, 0x1782ca20, 0x0782d420, 0x0382d520, 0x0b82e520, 0x0382f720, 0x2f82f820, + 0x0782f920, 0x0782fa20, 0x0782fb20, 0x0782fc20, 0x1f82fd20, 0xc3fffe28, 0xd7ff0503, 0x03820703, 0x0b820d20, 0xecff0e24, 0x07820f03, 0x41181020, + 0xc32208a7, 0x8d42d400, 0xff102208, 0x08f17e5c, 0x1811db5c, 0x2c81775f, 0x01ecff9f, 0x019affa4, 0x0185ffaa, 0x200382ae, 0x740382b5, 0xec260517, + 0xc3ffbe01, 0x0f82ca01, 0xd7ffcb24, 0x0b82cc01, 0x0382cd20, 0x5cffce24, 0x1382cf01, 0x0b82d020, 0x0382d120, 0x0382d220, 0x0382d320, 0x0382d420, + 0x1b82d520, 0x0782d620, 0x0382d720, 0x2382d820, 0x0782d920, 0x0382da20, 0x0f4d5918, 0x1382df20, 0x0382e020, 0x0382e120, 0x0382e220, 0x0382e320, + 0x0382e420, 0x0382e520, 0x0382e620, 0x0382e720, 0x0382e820, 0x9782e920, 0x4782ea20, 0x0b82ec20, 0x0782ed20, 0xaeffee28, 0x3d00f001, 0x6782f201, + 0x1382f320, 0x0382f520, 0x0382f720, 0x0382f920, 0x200f675b, 0x06c54d07, 0xecff5f23, 0x05076202, 0x6b028529, 0x6c02c3ff, 0x1802d7ff, 0x20078559, + 0x0155187d, 0x02852108, 0x09895918, 0x8502d726, 0x860285ff, 0x87202782, 0x88200782, 0x89200782, 0x8a200782, 0x8b200782, 0x8c202f82, 0x8d200782, + 0x96200f82, 0x9a200b82, 0xa0200382, 0xa4200382, 0xa6200382, 0xaa200382, 0xac200382, 0xae200382, 0xb0200382, 0xb1200382, 0xb2202b82, 0xb3202b82, + 0xb4200782, 0x24069142, 0x02c3ffb8, 0x200382ba, 0x068142bc, 0x0782c220, 0x0382c420, 0xaeffc528, 0x71ffc602, 0x0782c702, 0x0f82cb20, 0x2f82ce20, + 0x5cffcf24, 0x0b82d102, 0x9942d320, 0x82d72006, 0x18d92007, 0x2218cd59, 0x82e302d7, 0x82e62067, 0x82ec2023, 0x82ee2003, 0x82ef2003, 0x82f0200f, + 0x82f1202f, 0x82f22007, 0x82f32007, 0xd9591807, 0xfe02250e, 0x0003c3ff, 0x06200382, 0x08200382, 0x09280382, 0x0a035cff, 0x0b0385ff, 0x59180782, + 0x11200bf1, 0x12201382, 0x14201382, 0x08b95518, 0x18038522, 0x21660b82, 0x03852205, 0x201f821b, 0x5e1f821c, 0x1f2057eb, 0x2008f946, 0x0821649f, + 0xbe01d726, 0xde01ecff, 0xe1200f82, 0x0720d982, 0x2406fd63, 0x02ecff6c, 0x180f827d, 0x1817d368, 0x20079b45, 0x202382c0, 0x200382c2, 0x0d5318d5, + 0x82f1200e, 0x82f3203f, 0xfffe2e03, 0xff1503d7, 0xff1903ec, 0x010500ec, 0x206982a0, 0x202982dc, 0x200382aa, 0x261982b6, 0x00d7ff18, 0x859f011a, + 0xdd012115, 0x83820782, 0x82e40121, 0x866d2037, 0x954d187f, 0x648b2007, 0x31640641, 0x02ec2205, 0x870f82ba, 0x82c5207b, 0x86c7204d, 0x0a7f6f83, + 0x7b830220, 0x8307836f, 0x09cf7d69, 0x4d0f7f5f, 0xc1833ff5, 0x25062b46, 0x29000b02, 0x6a185f02, 0x3d411e11, 0x3f541807, 0x0631410b, 0x4e072d41, + 0x34203021, 0x29076960, 0x85ffa601, 0xd7ffa801, 0x0382b001, 0xecffb522, 0x21062746, 0x274601ec, 0x01ae2105, 0x21052746, 0x6b4101d7, 0x02c32105, + 0x4607455f, 0xae2a051b, 0xd7ff7d02, 0xaeff8002, 0x03828202, 0x21090f46, 0x0f4602d7, 0x02d72605, 0x0285ffb7, 0x460382b9, 0xae220907, 0x3382c002, + 0x2f82c120, 0x0782c220, 0x0382ca20, 0xecffce24, 0x0f82d402, 0x0b82d520, 0x22050b46, 0x82f902ec, 0x82fb2013, 0x82fd2003, 0xfffe2217, 0x0aff45d7, + 0x0f03ae26, 0x1103aeff, 0x2608fb45, 0xff1b03d7, 0x883100ec, 0x07f546d1, 0xd187d585, 0x8201d721, 0x46cd8871, 0xec2205f1, 0x7182e401, 0xec22d189, + 0x6d827c02, 0x75827d20, 0xec21d189, 0x05e14602, 0xec21d193, 0x05d94602, 0xd182ae20, 0x8502ec21, 0x02ec22d1, 0x22cd88ca, 0x82e502ec, 0x82f7200b, + 0x82f92063, 0x82fb2003, 0x20cd8503, 0x22cd82ec, 0x820703ec, 0x820d20c1, 0x2ecd83c9, 0x0385ff17, 0x00d7ff18, 0xff9d011d, 0x82a6019a, 0x07774103, + 0x2209e742, 0x42f601c3, 0x6d2056eb, 0x2858ab56, 0x01d7ff9f, 0x012900a4, 0x460382b5, 0xd72d05e3, 0xaeffbe01, 0xecffcb01, 0x1400ce01, 0xab571801, + 0x096f680b, 0x4801d721, 0xd722058d, 0x3f82ea01, 0x6944ed20, 0x185f200a, 0x2208a757, 0x826d02d7, 0x094f460b, 0x6802d721, 0xd7220963, 0x1b828502, + 0x21054f46, 0x4f4602d7, 0x02d72205, 0x6813828a, 0xd7220563, 0x57448d02, 0x052f4606, 0x4602d721, 0xd720052f, 0x200c6368, 0x06a948c0, 0x2900ce24, + 0x0b82d502, 0x6c18e020, 0xf0200e05, 0xe7450f82, 0x02d72105, 0x2005e745, 0x0b7368d7, 0xfffe0223, 0xd35718c3, 0xff0e2408, 0x821003d7, 0x00112403, + 0x82150329, 0x44162007, 0x032005cf, 0x2205cb45, 0x821b03d7, 0x2fa15d17, 0xdb4c6720, 0x094d4808, 0xb501712e, 0xbb019aff, 0xbc01d7ff, 0xbe012900, + 0xc42c0782, 0xc9011400, 0xca01ecff, 0xcc01aeff, 0xcd200f82, 0x51480382, 0x01ae2205, 0x200b82d1, 0x200382d2, 0x200382d3, 0x480382d4, 0xd722054d, + 0x0b82d701, 0x2f82d820, 0x0782d920, 0x0382da20, 0x0b82db20, 0x0382de20, 0xf745e020, 0xe2012105, 0xe3200782, 0xe5200382, 0xe6200382, 0xe8200382, + 0xe9200382, 0xea200382, 0xec200382, 0xed200382, 0xee202b82, 0xf0280782, 0xf2015200, 0xf30171ff, 0xf5200b82, 0xf7200382, 0xf9200382, 0x240a6b61, + 0x02aeff6a, 0x240f826b, 0x0285ff72, 0x2007827d, 0x200f827f, 0x20038285, 0x20038287, 0x20038289, 0x2003828d, 0x20178296, 0x2003829a, 0x200382a4, + 0x240382a6, 0x022900a9, 0x200782ac, 0x200382ae, 0x200382b0, 0x202382b2, 0x200382b4, 0x201782b5, 0x200382b7, 0x200382b9, 0x450382bd, 0xc42007ef, + 0xce232382, 0x47029aff, 0xd72105d9, 0x21eb8202, 0x1382d502, 0x0382d720, 0x2205d947, 0x82db02ae, 0x82dc207f, 0x82dd2043, 0x82e02007, 0x20c38207, + 0x21bf8202, 0x0b82f002, 0x0382f220, 0x8344f420, 0xff002806, 0xff0a03d7, 0x820c03ae, 0xff112303, 0x9d47039a, 0x03d72205, 0x240f8216, 0x03290017, + 0x2007821a, 0x2417821b, 0x005cff1c, 0xa4676789, 0x9aff9d30, 0xecff9f01, 0x3d00a401, 0x85ffa601, 0xab43ae01, 0x01ec2108, 0x07cd7018, 0x45ffbe21, + 0x9a22073b, 0x1f82d501, 0x0f82dc20, 0x22059f43, 0x82e701c3, 0x82f2200f, 0x1e8f6703, 0xff6c0223, 0x065b45ec, 0x7e02c322, 0x180a5f45, 0x180f4d49, + 0x20094949, 0x494918d7, 0x0949460e, 0x20097345, 0x067345c3, 0x4902c321, 0xc32a05cb, 0xaeffc702, 0x2900ce02, 0x0382cf02, 0x21055146, 0x374702c3, + 0x45022012, 0xc3210587, 0x077f4503, 0x29001124, 0x03821203, 0x09714918, 0x1903d726, 0x1b03ecff, 0x1c201382, 0x63490382, 0x012a2657, 0x01d7ff9d, + 0x4d0382bc, 0xd7220d9b, 0xe748d001, 0x82e12006, 0xffe4211b, 0x2607874d, 0xff8002d7, 0x828202c3, 0x78a02003, 0xd7210863, 0x05637802, 0xb702d722, + 0xb9202782, 0xbc200382, 0x4d065f78, 0xd7210573, 0x05734d02, 0xcb02d722, 0x734d1782, 0x02d72205, 0x109946e6, 0xfe02c326, 0x0603d7ff, 0x0820f582, + 0x0d240382, 0x0f03c3ff, 0x17200382, 0x2205a944, 0x18002100, 0x2023ff71, 0x82b582b0, 0xbd01217d, 0xbf200782, 0x00206182, 0x76200382, 0x9f200382, + 0x120f7218, 0xa584bb20, 0x47052f47, 0xf5470527, 0x081f4708, 0x21691720, 0x4d8f200e, 0xb9420be5, 0x12494d05, 0x4d07454d, 0x5b519e41, 0x6a022207, + 0x290d10ff, 0x002f6401, 0xff9d0142, 0x00a301d7, 0x00a401f6, 0x82a60129, 0x00aa220b, 0x12f34414, 0x2005e54c, 0x201f82c1, 0x200382c4, 0x202b82ce, + 0x200382d5, 0x200b82e1, 0x320782e7, 0x016600f1, 0x022900f2, 0x02ecff6c, 0x02140072, 0x4cd7ff7c, 0x802008fd, 0x82200b82, 0x12ad5218, 0x4405d744, + 0xad430bd3, 0x82bd2009, 0x82bf202f, 0x05154b03, 0xc202d722, 0xc6200b82, 0xc7440382, 0x02d72209, 0x200f82d5, 0x206b82d9, 0x200382db, 0x440382dd, + 0xd72615d3, 0xd7fffe02, 0x03820d03, 0x6b480f20, 0x09d34406, 0x210ccf44, 0xaf543100, 0x82102008, 0x15a549d5, 0xcb01c322, 0xf1451b82, 0x84ae2009, + 0x000724f5, 0x820b023d, 0x846c2003, 0x02ae22f5, 0x3775187e, 0x05c17116, 0x20055949, 0x20dd84b6, 0x2ad982ae, 0xffc502ae, 0xffc602c3, 0x82c7029a, + 0x23e18707, 0x02aeffd5, 0x125f7518, 0xae21cd82, 0x09994503, 0x4318d720, 0x954508f5, 0x26002106, 0x2408a14e, 0x01ecffb1, 0x084945b5, 0xbe01ec22, + 0xbf200f82, 0xc1200f82, 0xc4200782, 0xc7200382, 0x200a9353, 0x200b827c, 0x20038280, 0x20038282, 0x200382a1, 0x829d82a9, 0x083d453b, 0x21058f41, + 0x3b8202ec, 0x82ce0221, 0x82d4201b, 0x82e72023, 0x82e92003, 0x82f52003, 0x82f72003, 0x099d4c03, 0x0d03ec26, 0x0f03ecff, 0x11240382, 0x1703d7ff, + 0x1b240382, 0x4c00d7ff, 0x210e6554, 0x761800d7, 0xeb670bcf, 0x05af413f, 0x554b3d20, 0x01d72112, 0x2205a942, 0x82e401ae, 0x62f220fd, 0x02200d1d, + 0x181fb341, 0x2107eb76, 0xab41ffc0, 0x2f9f4105, 0xfd831920, 0x21083147, 0x771803d7, 0x56202b13, 0x2494496a, 0x01d7ff9d, 0x200382a4, 0x240382a6, + 0x01ecffaa, 0x550382ae, 0xc322054d, 0x0b82bf01, 0x456ac420, 0x72022519, 0x7602ecff, 0x08077b18, 0x0d2b7718, 0x22050d4f, 0x82ca02c3, 0x82d9201f, + 0x82db2027, 0x82dd2003, 0x0f7b1803, 0x3f77180b, 0x43452047, 0x711808eb, 0xa4246bd9, 0xaa01aeff, 0xae220382, 0x934c9aff, 0x01ec2206, 0x200b82ce, + 0x241382d5, 0x02aefff2, 0x18ed8200, 0x22094f77, 0x825802ae, 0x82722013, 0x05ab4b03, 0x0df97118, 0xaeff0924, 0x734b0b03, 0x03ae2108, 0x2005634b, + 0x3c9f65ae, 0x09514218, 0x57717a18, 0x26053553, 0xffbb01d7, 0x55be01d7, 0x6318057b, 0x8d430cb1, 0x45c32005, 0x8d431841, 0x02c32a09, 0x02c3ffc2, + 0x02aeffc6, 0x450782d5, 0xc3201529, 0x378d7a18, 0x66520121, 0x25107c03, 0x275301fb, 0x01c3ff9f, 0x01ecffa0, 0x21058343, 0x83430185, 0x7b711807, + 0x82be200b, 0x00c42623, 0xffca0114, 0x0a695885, 0x69587120, 0x05655810, 0x58017121, 0xe5203765, 0xe6206782, 0x5d580382, 0x01c32205, 0x236f82ea, + 0x012900eb, 0x21096158, 0x27500185, 0x01852105, 0x180f6158, 0x580ff771, 0x71180761, 0x6d5817ef, 0x58c32005, 0xc3210e6d, 0xf7711802, 0x136d5833, + 0x1400a923, 0x11715802, 0xb202c326, 0xb30285ff, 0x1e177218, 0x1f82bc20, 0x3f82bd20, 0x58075552, 0xc3220581, 0x3b82c602, 0x1b82c720, 0x0382cb20, + 0x2005fb44, 0x2a815871, 0xe302c322, 0x81583782, 0x02c3210d, 0x21058158, 0x721802c3, 0x8158165b, 0x58852012, 0x72180681, 0xe3500d73, 0x03712105, + 0x21058158, 0x721803c3, 0x8b45137f, 0x10712005, 0x0401a727, 0x554b6320, 0xaeff2511, 0x9affaa01, 0x5306e75b, 0xbe270599, 0xc401ecff, 0x53012900, + 0xc3210591, 0x05e35b01, 0xcf017122, 0x4310db5b, 0x9a210b75, 0x09db5b01, 0xde01c322, 0xcf5b5782, 0x1169430f, 0x6543c320, 0x01c32206, 0x5b5b82ee, + 0x654305c7, 0x079d6110, 0xff6a0229, 0xff6b029a, 0x827202c3, 0x827d2007, 0x827f2007, 0x82852007, 0x82872003, 0x82892003, 0x828d2003, 0x07154303, + 0x7f5ba420, 0x0b7b5b06, 0x1f82b220, 0x0382b420, 0x200be142, 0x08d147c6, 0x2213d542, 0x82da029a, 0x82db201f, 0x057d5333, 0xe0029a22, 0xec200b82, + 0x20064b5b, 0x200b82f0, 0x200382f2, 0x5b0382f4, 0x09280733, 0x0a0385ff, 0x0b039aff, 0x0c200782, 0xa1420782, 0x8216200b, 0x821a200f, 0x06914203, + 0x5b510020, 0x05bd4905, 0xa801c32a, 0xaa01ecff, 0xae01d7ff, 0xb0220382, 0x2d4cc3ff, 0x01c32206, 0x200f82bf, 0x200f82c4, 0x200782c7, 0x200782ce, + 0x200382d5, 0x248182f2, 0x02d7ff72, 0x20078276, 0x2003829f, 0x200b82a1, 0xed8018a9, 0x82bb200e, 0x82bd200f, 0x82ca2003, 0x82ce2003, 0x82cf201f, + 0x0b801807, 0xe502210a, 0xe7200f82, 0xe9201782, 0xf5280382, 0x0503d7ff, 0x0703c3ff, 0x11200382, 0x12200b82, 0x17200782, 0x1b200382, 0x1c240b82, + 0x2e00c3ff, 0x220c695b, 0x4e3d00a4, 0xd7210e93, 0x05835301, 0xe101ec22, 0x755b5582, 0xff7c230b, 0x035702ec, 0x02ec2105, 0x5307d34c, 0xb1201353, + 0xb3202782, 0xbf200382, 0x855f0382, 0x02ec2205, 0x06814dc2, 0x1382d420, 0x20055748, 0x084f7fec, 0x21065f5a, 0x1b82fd02, 0xa982fe20, 0x5308e34c, + 0x1b530623, 0x30002106, 0x4f084d4f, 0xbc210b49, 0x06814dff, 0x01140023, 0x4f0b82c1, 0x14200541, 0xd721bd82, 0x0b414f01, 0x5c053d4f, 0xbd87053b, + 0x12657a18, 0xb5850220, 0xc102d722, 0xc2248d82, 0xc502d7ff, 0xc6200382, 0xc7200382, 0x2108254f, 0xc5850214, 0x4f02d721, 0xbd850b25, 0xa14dd720, + 0x24bd8209, 0x03140012, 0x08d95317, 0x3e001424, 0xa1829d01, 0xe100a32a, 0x3d00a401, 0x2900aa01, 0x83087b41, 0x82bd20c5, 0x82be200f, 0x86bf201f, + 0x82c420c9, 0x82c7200b, 0x82ce200b, 0x82d1202b, 0x051d4f07, 0xd984ec20, 0x1b82e420, 0x2921dd8d, 0x059f4102, 0x9b41d720, 0x00a12308, 0xe1830214, + 0xc982aa20, 0x0382b520, 0x8518b620, 0xe9900d1f, 0x20090350, 0x060350ec, 0xdb022926, 0xdd022900, 0xe7200382, 0xe9204b82, 0xf5200382, 0xf7200382, + 0xf9200f82, 0xfb200382, 0xf5950382, 0xf5842920, 0xf9881820, 0x1e002922, 0x230e2762, 0xffa80171, 0x62052762, 0xd720091f, 0x6206215b, 0x7c220513, + 0x7f54c3ff, 0x17155b08, 0x21059d55, 0x438202c3, 0x82d40221, 0xfffd232f, 0x4b5403c3, 0x05e55a09, 0xab5b2020, 0xffbc2214, 0x0a996285, 0x9a257987, + 0x9aff0b02, 0x2079af02, 0x207982c5, 0x970382c7, 0x01232181, 0x830bd94d, 0x071744f7, 0x20054950, 0x069355c3, 0xbf01ec26, 0xd501d7ff, 0xf2200382, + 0x500a0f44, 0x0b440f31, 0x02d72105, 0x22050b44, 0x82cf02c3, 0x82e5202b, 0x0a29507d, 0x220aff43, 0x501203c3, 0xc3220829, 0xf55b1c03, 0x09674e06, + 0xecffa822, 0x2106a544, 0x8d8501d7, 0x4f55d720, 0x01d72206, 0x228d8cce, 0x829f02d7, 0x5dbb2069, 0xd7200845, 0xd7217986, 0x22798d02, 0x820703d7, + 0x05794471, 0x4403d721, 0xd7240575, 0x0a001900, 0xdc204d82, 0x635c0382, 0x01ec2205, 0x200b82e4, 0x5f4d82f6, 0x4e18054f, 0x855f0dcf, 0xb96c1806, + 0xffc02408, 0x82c202ec, 0x82d52003, 0x0d475f03, 0x5f03ec21, 0x21200b47, 0xd020b384, 0xd7226988, 0x0b82df01, 0xe382e120, 0xd7226d89, 0x44187d02, + 0x8b200a23, 0xa0208182, 0x8209f75f, 0x02d72271, 0x200f82ba, 0x870382bc, 0x82cb2075, 0x2079830b, 0x180782e6, 0x250ac165, 0xecfffe02, 0xeb820603, + 0x03820820, 0x2407735b, 0x00d7ff18, 0x07994724, 0x20085757, 0x8f8582dd, 0x078f4e89, 0x8305595c, 0x02d722ff, 0x85618283, 0x02ec2191, 0x87090341, + 0x02ec2191, 0xec219189, 0x18918502, 0x860c7944, 0x03ec2291, 0x7d441808, 0x2091830a, 0x060d4f07, 0xed019a2e, 0xf201ecff, 0xcf029aff, 0x12039aff, + 0x1c2a0382, 0x10009aff, 0x1400ca01, 0x6d59ce01, 0x01d72a08, 0x01c3ffe4, 0x027b00f1, 0x0a19417d, 0x240b4f61, 0x021400da, 0x200382dc, 0x83f982fe, + 0x000d225f, 0x41e1820a, 0xec250577, 0xecffdf01, 0x05534102, 0xb602ec22, 0xbc200b82, 0xcb204582, 0xe6200382, 0x2f412d82, 0xff182407, 0x462000ec, + 0x995d0889, 0x08ef6109, 0x20108d5d, 0x8341826a, 0x716a188f, 0x20a38b1b, 0x182f82e0, 0x200a7d6a, 0x82ab8302, 0x0c0321a5, 0x16208582, 0x1a240382, + 0x1d00d7ff, 0x2408a941, 0x01ecffd1, 0x200382dc, 0x5f0382dd, 0xd72205af, 0x3550f601, 0x15f5610a, 0xb820df85, 0xf5612782, 0x18d5200b, 0x610d6d51, + 0xec220eed, 0xf7882100, 0x7618cb20, 0xe1201241, 0x09457618, 0xd308c14f, 0x692220fb, 0xd0200c63, 0xd1207582, 0xd520fb82, 0x200af162, 0x201382df, + 0x200f82f2, 0x060960f6, 0x430bf162, 0xf5620d33, 0x07e74105, 0x2f82cf20, 0x21052b43, 0x701802ec, 0x27430737, 0x03ec2609, 0x03ecff10, 0x29038212, + 0x03d7ff18, 0x00ecff1c, 0x7d8d0113, 0xdf01ec22, 0xe4207582, 0x7d820382, 0x86144942, 0x087d4361, 0xec204d85, 0x17204d84, 0x8208d341, 0xd8012125, + 0x08bd7418, 0x20054956, 0x189b826a, 0x213ad36b, 0x876a3000, 0xffca270c, 0xffce01d7, 0x6983019a, 0xc3ffd522, 0xd7226d82, 0x1382db01, 0x1400dd24, + 0x0782de01, 0x0382ed20, 0x1f82f220, 0x6d18f620, 0x0225099f, 0x02d7ff6a, 0x200f826d, 0x2007827f, 0x20078281, 0x18038283, 0x200b416d, 0x200f828b, + 0x456d188d, 0x82b8200a, 0x82ba200f, 0xffcf2403, 0x82da02c3, 0x18dc2017, 0x2011596d, 0xfd6e1802, 0x07e3420b, 0x07056f18, 0xc3ff1223, 0x06ef4203, + 0xff1c0323, 0x099d44c3, 0x82490021, 0xffca22a5, 0x21c182ec, 0xbd8501c3, 0xdc01ec22, 0xec22b984, 0x6d82f201, 0x4107a144, 0xaa201733, 0xb2249582, + 0xb402ecff, 0xb6200382, 0xec22a188, 0x6d18dc02, 0x8d851a1b, 0x1803ec28, 0x1a031400, 0x9184ecff, 0x89421c20, 0x0a3d631c, 0xbd459582, 0x0b7d4205, + 0x200fa945, 0x062746cf, 0xd7ffe622, 0x420ca145, 0x1d220b71, 0x4a18cb01, 0xde200e7f, 0xe1200f82, 0xea200382, 0x83062f42, 0x427d20f3, 0x95461e2b, + 0x0b6e180b, 0x2079840e, 0x20df820a, 0x2003820c, 0x82038216, 0x150022eb, 0x059b4a01, 0xdc012922, 0xe4206d86, 0x2406e559, 0x011400e9, 0x05e959f1, + 0x00f60124, 0x79830214, 0xb149aa20, 0x24658706, 0x022900cf, 0x201382d5, 0x244d82fe, 0x03290012, 0x24078218, 0x0029001c, 0x21558216, 0x1b4a013d, + 0x01ec2109, 0x21051b4a, 0xcb860114, 0x192059b8, 0x9a21a782, 0x05bb4601, 0x2407754a, 0xfff60171, 0x060d63c3, 0x28090563, 0x02d7ff8b, 0x029affaa, + 0x180382b6, 0x4507354b, 0x35470b8b, 0xfb6c180d, 0xff182409, 0x431c009a, 0xdc2108af, 0x4e6d90ff, 0x2547082f, 0x2071c505, 0x08254811, 0x4407f144, + 0xd724056f, 0xecfff201, 0xd722df82, 0x0148a002, 0x82cb2006, 0x136b4407, 0xecff1c24, 0x45981000, 0xff46f620, 0x0e0f4506, 0x830cad44, 0x3d5d1841, + 0x82012008, 0x1c00217f, 0x24064944, 0xffd501d7, 0x0649449a, 0x64050d47, 0xb7470597, 0x826a2005, 0x1b014791, 0x9affcf23, 0x0ef94602, 0x22081764, + 0x449aff12, 0x9a2d0a09, 0xeb010200, 0xf4013d00, 0x21003d00, 0x05bb4701, 0xdd019a26, 0xde01c3ff, 0x200a0347, 0x498b82e4, 0xc32205a5, 0x7b827d02, + 0xc3ff8124, 0x03828302, 0x03828b20, 0x41058543, 0xf76a07f5, 0x02d72107, 0x4907f941, 0xd7220537, 0x3782e602, 0x0a6d8418, 0x48fe0221, 0x0e240a07, + 0x1003c3ff, 0x18240382, 0x1f009aff, 0xf743858c, 0x01d72105, 0x02218182, 0xdf6d826d, 0x0101217d, 0x0021e782, 0x0a9b471c, 0x3166ec20, 0x0b89410a, + 0x25071948, 0x000b0229, 0x91410229, 0x178d411f, 0x23088348, 0xd7ffca01, 0x220c7f45, 0x82d7fff2, 0x02ec2155, 0x4513a746, 0xd7211573, 0x05154602, + 0x1802ec21, 0x45138f72, 0xda201373, 0x22c4c16e, 0x6e85ffbc, 0x7f6108c5, 0x294a189e, 0x73c16e10, 0x3f71a920, 0x1bc56e06, 0x220d5b71, 0x82b902c3, + 0x6eba2033, 0xbd2006d1, 0x53560b82, 0xb1d56e0d, 0x2005fd6a, 0x060d69c3, 0x2061d96e, 0xbb981803, 0xc300210b, 0x44b39d18, 0x19198f18, 0x45af9d18, + 0x0b558f18, 0x53a79d18, 0x27a39d18, 0x6f9f9d18, 0x279b9d18, 0x07359018, 0xc3ff6024, 0x03826a02, 0x0b939d18, 0x0f828520, 0x03828720, 0x03828920, + 0x23879d18, 0x5200b924, 0x9d18bb02, 0xf920327f, 0xfb223382, 0x9d183d00, 0x9d181073, 0x7132a36b, 0x73035200, 0x10005200, 0x3d004500, 0x66004900, + 0x07824b00, 0x09c76218, 0x4f003d22, 0x57200f82, 0x59201782, 0x5a200382, 0x5b240382, 0x5c002900, 0x5d280782, 0x70032900, 0x72036600, 0x74200382, + 0x41a70f82, 0x89005221, 0x8c142041, 0x03022e41, 0x0385ff09, 0x0085ff0b, 0x00960002, 0x32018205, 0x000a0000, 0x0001000b, 0x0011000f, 0x00240003, + 0x82060027, 0x8229207d, 0x002c2215, 0x3819822c, 0x002f002e, 0x0032000c, 0x000e0035, 0x003e0037, 0x00440012, 0x001a0046, 0x22c58248, 0x824e001d, + 0x00212201, 0x2edd8250, 0x00550022, 0x00250057, 0x005e0059, 0x826d0028, 0x002e2201, 0x3c01827d, 0x0082002f, 0x00300087, 0x00920089, 0x00940036, + 0x00400098, 0x009f009a, 0x00a20045, 0x224382ad, 0x82b800b3, 0x00ba2c37, 0x005d00bf, 0x00c900c1, 0x82cb0063, 0x006c2401, 0x82cf00cd, 0x00d12643, + 0x007000d1, 0x220182d5, 0x82d70071, 0x00722801, 0x00db00d9, 0x82dd0073, 0x00762201, 0x220182ec, 0x82f00077, 0x00782201, 0x220182f2, 0x82f80079, + 0x007a2801, 0x00fb00fa, 0x82fd007b, 0x7d040901, 0x0101ff00, 0x03017e00, 0x81000301, 0x06010601, 0x08018200, 0x83000801, 0x0a010a01, 0x0e018400, + 0x85000f01, 0x13011101, 0x15018700, 0x8a001501, 0x1d011d01, 0x1f018b00, 0x8c001f01, 0x24012101, 0x26018d00, 0x91002701, 0x2c012c01, 0x30019300, + 0x94003001, 0x32013201, 0x34019500, 0x96003401, 0x3b013601, 0x3d019700, 0x9d003d01, 0x40013f01, 0x43019e00, 0xa0004401, 0x4a014a01, 0x5601a200, + 0xa3005601, 0x62015a01, 0x6401a400, 0xad006401, 0x69016601, 0x6c01ae00, 0xb2006d01, 0x7c016f01, 0x7e01b400, 0xc2008401, 0x88018601, 0x8a01c900, + 0xcc008e01, 0x91019001, 0x9301d100, 0xd3009701, 0x99019901, 0x9b01d800, 0xd900a201, 0xa801a401, 0xaa01e100, 0xe600ae01, 0xb101b001, 0xb401eb00, + 0xed00b401, 0xb801b801, 0xba01ee00, 0xef00c001, 0xc401c301, 0xc601f600, 0xf800c801, 0xd101ca01, 0xd401fb00, 0x03220182, 0x0182d801, 0xda010434, + 0x0501e001, 0xea01e301, 0xec010c01, 0x1401ee01, 0x0182f001, 0x01177a09, 0x01f601f2, 0x02f80118, 0x021d0103, 0x01060206, 0x020a0229, 0x022a010a, + 0x01280228, 0x0258022b, 0x022c0158, 0x01600260, 0x0262022d, 0x022e0162, 0x016a026a, 0x026c022f, 0x02300172, 0x01740274, 0x02760237, 0x0238017c, + 0x018c027e, 0x0295023f, 0x024e019d, 0x01a0029f, 0x02a20257, 0x025901af, 0x01c002b1, 0x02c30267, 0x027701c3, 0x01c502c5, 0x02c70278, 0x027901c7, + 0x01cc02c9, 0x02ce027a, 0x027e01cf, 0x01d302d2, 0x02d60280, 0x028201d9, 0x01db02db, 0x02de0286, 0x028701de, 0x01e902e0, 0x02ef0288, 0x029201fc, + 0x010003ff, 0x030303a0, 0x03a20108, 0x011d030b, 0x031f03a8, 0x03bb011f, 0x01210321, 0x032303bc, 0x03bd0123, 0x01250325, 0x032703be, 0x03bf0127, + 0x01290329, 0x032b03c0, 0x03c1012b, 0x012d032d, 0x032f03c2, 0x03c3012f, 0x01310331, 0x033303c4, 0x03c50133, 0x01360336, 0x033803c6, 0x03c70138, + 0x013a033a, 0x033c03c8, 0x03c9013c, 0x013e033e, 0x034003ca, 0x03cb0140, 0x01420342, 0x034403cc, 0x03cd0145, 0x01470347, 0x034903cf, 0x03d00156, + 0x01580358, 0x035a03de, 0x03df015a, 0x015c035c, 0x035e03e0, 0x03e1015e, 0x01610360, 0x036303e2, 0x03e40163, 0x01660366, 0x036803e5, 0x03e60168, + 0x016a036a, 0x036c03e7, 0x03e8016c, 0x0174036e, 0xfba818e9, 0x001c2208, 0xfba8181e, 0x00002410, 0x05000000, 0x5d0350fa, 0x00000011, +}; + diff --git a/external/imgui/imgui_impl_glfw_gl3.cpp b/external/imgui/imgui_impl_glfw_gl3.cpp new file mode 100644 index 000000000..0278b9905 --- /dev/null +++ b/external/imgui/imgui_impl_glfw_gl3.cpp @@ -0,0 +1,449 @@ +// ImGui GLFW binding with OpenGL3 + shaders +// (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.) +// (GL3W is a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc.) + +// Implemented features: +// [X] User texture binding. Cast 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. +// [X] Gamepad navigation mapping. Enable with 'io.NavFlags |= ImGuiNavFlags_EnableGamepad'. + +// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. +// If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). +// If you are new to ImGui, see examples/README.txt and documentation at the top of imgui.cpp. +// https://github.com/ocornut/imgui + +#include +#include "imgui_impl_glfw_gl3.h" + +#include +#include + +#ifdef _WIN32 +#undef APIENTRY +#define GLFW_EXPOSE_NATIVE_WIN32 +#define GLFW_EXPOSE_NATIVE_WGL +#include +#endif + +// Data +static GLFWwindow* g_Window = NULL; +static double g_Time = 0.0f; +static bool g_MouseJustPressed[3] = { false, false, false }; +static GLuint g_FontTexture = 0; +static int g_ShaderHandle = 0, g_VertHandle = 0, g_FragHandle = 0; +static int g_AttribLocationTex = 0, g_AttribLocationProjMtx = 0; +static int g_AttribLocationPosition = 0, g_AttribLocationUV = 0, g_AttribLocationColor = 0; +static unsigned int g_VboHandle = 0, g_VaoHandle = 0, g_ElementsHandle = 0; + +// This is the main rendering function that you have to implement and provide to ImGui (via setting up 'RenderDrawListsFn' in the ImGuiIO structure) +// Note that this implementation is little overcomplicated because we are saving/setting up/restoring every OpenGL state explicitly, in order to be able to run within any OpenGL engine that doesn't do so. +// If text or lines are blurry when integrating ImGui in your engine: in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f) +void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data) +{ + // Avoid rendering when minimized, scale coordinates for retina displays (screen coordinates != framebuffer coordinates) + ImGuiIO& io = ImGui::GetIO(); + int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x); + int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y); + if (fb_width == 0 || fb_height == 0) + return; + draw_data->ScaleClipRects(io.DisplayFramebufferScale); + + // Backup GL state + GLenum last_active_texture; glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint*)&last_active_texture); + glActiveTexture(GL_TEXTURE0); + GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program); + GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); + GLint last_sampler; glGetIntegerv(GL_SAMPLER_BINDING, &last_sampler); + GLint last_array_buffer; glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer); + GLint last_element_array_buffer; glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &last_element_array_buffer); + GLint last_vertex_array; glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array); + GLint last_polygon_mode[2]; glGetIntegerv(GL_POLYGON_MODE, last_polygon_mode); + GLint last_viewport[4]; glGetIntegerv(GL_VIEWPORT, last_viewport); + GLint last_scissor_box[4]; glGetIntegerv(GL_SCISSOR_BOX, last_scissor_box); + GLenum last_blend_src_rgb; glGetIntegerv(GL_BLEND_SRC_RGB, (GLint*)&last_blend_src_rgb); + GLenum last_blend_dst_rgb; glGetIntegerv(GL_BLEND_DST_RGB, (GLint*)&last_blend_dst_rgb); + GLenum last_blend_src_alpha; glGetIntegerv(GL_BLEND_SRC_ALPHA, (GLint*)&last_blend_src_alpha); + GLenum last_blend_dst_alpha; glGetIntegerv(GL_BLEND_DST_ALPHA, (GLint*)&last_blend_dst_alpha); + GLenum last_blend_equation_rgb; glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint*)&last_blend_equation_rgb); + GLenum last_blend_equation_alpha; glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint*)&last_blend_equation_alpha); + GLboolean last_enable_blend = glIsEnabled(GL_BLEND); + GLboolean last_enable_cull_face = glIsEnabled(GL_CULL_FACE); + GLboolean last_enable_depth_test = glIsEnabled(GL_DEPTH_TEST); + GLboolean last_enable_scissor_test = glIsEnabled(GL_SCISSOR_TEST); + + // Setup render state: alpha-blending enabled, no face culling, no depth testing, scissor enabled, polygon fill + glEnable(GL_BLEND); + glBlendEquation(GL_FUNC_ADD); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + glEnable(GL_SCISSOR_TEST); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + + // Setup viewport, orthographic projection matrix + glViewport(0, 0, (GLsizei)fb_width, (GLsizei)fb_height); + const float ortho_projection[4][4] = + { + { 2.0f/io.DisplaySize.x, 0.0f, 0.0f, 0.0f }, + { 0.0f, 2.0f/-io.DisplaySize.y, 0.0f, 0.0f }, + { 0.0f, 0.0f, -1.0f, 0.0f }, + {-1.0f, 1.0f, 0.0f, 1.0f }, + }; + glUseProgram(g_ShaderHandle); + glUniform1i(g_AttribLocationTex, 0); + glUniformMatrix4fv(g_AttribLocationProjMtx, 1, GL_FALSE, &ortho_projection[0][0]); + glBindVertexArray(g_VaoHandle); + glBindSampler(0, 0); // Rely on combined texture/sampler state. + + for (int n = 0; n < draw_data->CmdListsCount; n++) + { + const ImDrawList* cmd_list = draw_data->CmdLists[n]; + const ImDrawIdx* idx_buffer_offset = 0; + + glBindBuffer(GL_ARRAY_BUFFER, g_VboHandle); + glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)cmd_list->VtxBuffer.Size * sizeof(ImDrawVert), (const GLvoid*)cmd_list->VtxBuffer.Data, GL_STREAM_DRAW); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, g_ElementsHandle); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, (GLsizeiptr)cmd_list->IdxBuffer.Size * sizeof(ImDrawIdx), (const GLvoid*)cmd_list->IdxBuffer.Data, GL_STREAM_DRAW); + + for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++) + { + const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i]; + if (pcmd->UserCallback) + { + pcmd->UserCallback(cmd_list, pcmd); + } + else + { + glBindTexture(GL_TEXTURE_2D, (GLuint)(intptr_t)pcmd->TextureId); + glScissor((int)pcmd->ClipRect.x, (int)(fb_height - pcmd->ClipRect.w), (int)(pcmd->ClipRect.z - pcmd->ClipRect.x), (int)(pcmd->ClipRect.w - pcmd->ClipRect.y)); + glDrawElements(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, idx_buffer_offset); + } + idx_buffer_offset += pcmd->ElemCount; + } + } + + // Restore modified GL state + glUseProgram(last_program); + glBindTexture(GL_TEXTURE_2D, last_texture); + glBindSampler(0, last_sampler); + glActiveTexture(last_active_texture); + glBindVertexArray(last_vertex_array); + glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, last_element_array_buffer); + glBlendEquationSeparate(last_blend_equation_rgb, last_blend_equation_alpha); + glBlendFuncSeparate(last_blend_src_rgb, last_blend_dst_rgb, last_blend_src_alpha, last_blend_dst_alpha); + if (last_enable_blend) glEnable(GL_BLEND); else glDisable(GL_BLEND); + if (last_enable_cull_face) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE); + if (last_enable_depth_test) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); + if (last_enable_scissor_test) glEnable(GL_SCISSOR_TEST); else glDisable(GL_SCISSOR_TEST); + glPolygonMode(GL_FRONT_AND_BACK, last_polygon_mode[0]); + glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2], (GLsizei)last_viewport[3]); + glScissor(last_scissor_box[0], last_scissor_box[1], (GLsizei)last_scissor_box[2], (GLsizei)last_scissor_box[3]); +} + +static const char* ImGui_ImplGlfwGL3_GetClipboardText(void* user_data) +{ + return glfwGetClipboardString((GLFWwindow*)user_data); +} + +static void ImGui_ImplGlfwGL3_SetClipboardText(void* user_data, const char* text) +{ + glfwSetClipboardString((GLFWwindow*)user_data, text); +} + +void ImGui_ImplGlfwGL3_MouseButtonCallback(GLFWwindow*, int button, int action, int /*mods*/) +{ + if (action == GLFW_PRESS && button >= 0 && button < 3) + g_MouseJustPressed[button] = true; +} + +void ImGui_ImplGlfwGL3_ScrollCallback(GLFWwindow*, double xoffset, double yoffset) +{ + ImGuiIO& io = ImGui::GetIO(); + io.MouseWheelH += (float)xoffset; + io.MouseWheel += (float)yoffset; +} + +void ImGui_ImplGlfwGL3_KeyCallback(GLFWwindow*, int key, int, int action, int mods) +{ + ImGuiIO& io = ImGui::GetIO(); + if (action == GLFW_PRESS) + io.KeysDown[key] = true; + if (action == GLFW_RELEASE) + io.KeysDown[key] = false; + + (void)mods; // Modifiers are not reliable across systems + io.KeyCtrl = io.KeysDown[GLFW_KEY_LEFT_CONTROL] || io.KeysDown[GLFW_KEY_RIGHT_CONTROL]; + io.KeyShift = io.KeysDown[GLFW_KEY_LEFT_SHIFT] || io.KeysDown[GLFW_KEY_RIGHT_SHIFT]; + io.KeyAlt = io.KeysDown[GLFW_KEY_LEFT_ALT] || io.KeysDown[GLFW_KEY_RIGHT_ALT]; + io.KeySuper = io.KeysDown[GLFW_KEY_LEFT_SUPER] || io.KeysDown[GLFW_KEY_RIGHT_SUPER]; +} + +void ImGui_ImplGlfwGL3_CharCallback(GLFWwindow*, unsigned int c) +{ + ImGuiIO& io = ImGui::GetIO(); + if (c > 0 && c < 0x10000) + io.AddInputCharacter((unsigned short)c); +} + +bool ImGui_ImplGlfwGL3_CreateFontsTexture() +{ + // Build texture atlas + ImGuiIO& io = ImGui::GetIO(); + unsigned char* pixels; + int width, height; + io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height); // Load as RGBA 32-bits (75% of the memory is wasted, but default font is so small) because it is more likely to be compatible with user's existing shaders. If your ImTextureId represent a higher-level concept than just a GL texture id, consider calling GetTexDataAsAlpha8() instead to save on GPU memory. + + // Upload texture to graphics system + GLint last_texture; + glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); + glGenTextures(1, &g_FontTexture); + glBindTexture(GL_TEXTURE_2D, g_FontTexture); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); + + // Store our identifier + io.Fonts->TexID = (void *)(intptr_t)g_FontTexture; + + // Restore state + glBindTexture(GL_TEXTURE_2D, last_texture); + + return true; +} + +bool ImGui_ImplGlfwGL3_CreateDeviceObjects() +{ + // Backup GL state + GLint last_texture, last_array_buffer, last_vertex_array; + glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); + glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer); + glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array); + + const GLchar *vertex_shader = + "#version 150\n" + "uniform mat4 ProjMtx;\n" + "in vec2 Position;\n" + "in vec2 UV;\n" + "in vec4 Color;\n" + "out vec2 Frag_UV;\n" + "out vec4 Frag_Color;\n" + "void main()\n" + "{\n" + " Frag_UV = UV;\n" + " Frag_Color = Color;\n" + " gl_Position = ProjMtx * vec4(Position.xy,0,1);\n" + "}\n"; + + const GLchar* fragment_shader = + "#version 150\n" + "uniform sampler2D Texture;\n" + "in vec2 Frag_UV;\n" + "in vec4 Frag_Color;\n" + "out vec4 Out_Color;\n" + "void main()\n" + "{\n" + " Out_Color = Frag_Color * texture( Texture, Frag_UV.st);\n" + "}\n"; + + g_ShaderHandle = glCreateProgram(); + g_VertHandle = glCreateShader(GL_VERTEX_SHADER); + g_FragHandle = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(g_VertHandle, 1, &vertex_shader, 0); + glShaderSource(g_FragHandle, 1, &fragment_shader, 0); + glCompileShader(g_VertHandle); + glCompileShader(g_FragHandle); + glAttachShader(g_ShaderHandle, g_VertHandle); + glAttachShader(g_ShaderHandle, g_FragHandle); + glLinkProgram(g_ShaderHandle); + + g_AttribLocationTex = glGetUniformLocation(g_ShaderHandle, "Texture"); + g_AttribLocationProjMtx = glGetUniformLocation(g_ShaderHandle, "ProjMtx"); + g_AttribLocationPosition = glGetAttribLocation(g_ShaderHandle, "Position"); + g_AttribLocationUV = glGetAttribLocation(g_ShaderHandle, "UV"); + g_AttribLocationColor = glGetAttribLocation(g_ShaderHandle, "Color"); + + glGenBuffers(1, &g_VboHandle); + glGenBuffers(1, &g_ElementsHandle); + + glGenVertexArrays(1, &g_VaoHandle); + glBindVertexArray(g_VaoHandle); + glBindBuffer(GL_ARRAY_BUFFER, g_VboHandle); + glEnableVertexAttribArray(g_AttribLocationPosition); + glEnableVertexAttribArray(g_AttribLocationUV); + glEnableVertexAttribArray(g_AttribLocationColor); + + glVertexAttribPointer(g_AttribLocationPosition, 2, GL_FLOAT, GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, pos)); + glVertexAttribPointer(g_AttribLocationUV, 2, GL_FLOAT, GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, uv)); + glVertexAttribPointer(g_AttribLocationColor, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, col)); + + ImGui_ImplGlfwGL3_CreateFontsTexture(); + + // Restore modified GL state + glBindTexture(GL_TEXTURE_2D, last_texture); + glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); + glBindVertexArray(last_vertex_array); + + return true; +} + +void ImGui_ImplGlfwGL3_InvalidateDeviceObjects() +{ + if (g_VaoHandle) glDeleteVertexArrays(1, &g_VaoHandle); + if (g_VboHandle) glDeleteBuffers(1, &g_VboHandle); + if (g_ElementsHandle) glDeleteBuffers(1, &g_ElementsHandle); + g_VaoHandle = g_VboHandle = g_ElementsHandle = 0; + + if (g_ShaderHandle && g_VertHandle) glDetachShader(g_ShaderHandle, g_VertHandle); + if (g_VertHandle) glDeleteShader(g_VertHandle); + g_VertHandle = 0; + + if (g_ShaderHandle && g_FragHandle) glDetachShader(g_ShaderHandle, g_FragHandle); + if (g_FragHandle) glDeleteShader(g_FragHandle); + g_FragHandle = 0; + + if (g_ShaderHandle) glDeleteProgram(g_ShaderHandle); + g_ShaderHandle = 0; + + if (g_FontTexture) + { + glDeleteTextures(1, &g_FontTexture); + ImGui::GetIO().Fonts->TexID = 0; + g_FontTexture = 0; + } +} + +bool ImGui_ImplGlfwGL3_Init(GLFWwindow* window, bool install_callbacks) +{ + g_Window = window; + + ImGuiIO& io = ImGui::GetIO(); + io.KeyMap[ImGuiKey_Tab] = GLFW_KEY_TAB; // Keyboard mapping. ImGui will use those indices to peek into the io.KeyDown[] array. + io.KeyMap[ImGuiKey_LeftArrow] = GLFW_KEY_LEFT; + io.KeyMap[ImGuiKey_RightArrow] = GLFW_KEY_RIGHT; + io.KeyMap[ImGuiKey_UpArrow] = GLFW_KEY_UP; + io.KeyMap[ImGuiKey_DownArrow] = GLFW_KEY_DOWN; + io.KeyMap[ImGuiKey_PageUp] = GLFW_KEY_PAGE_UP; + io.KeyMap[ImGuiKey_PageDown] = GLFW_KEY_PAGE_DOWN; + io.KeyMap[ImGuiKey_Home] = GLFW_KEY_HOME; + io.KeyMap[ImGuiKey_End] = GLFW_KEY_END; + io.KeyMap[ImGuiKey_Insert] = GLFW_KEY_INSERT; + io.KeyMap[ImGuiKey_Delete] = GLFW_KEY_DELETE; + io.KeyMap[ImGuiKey_Backspace] = GLFW_KEY_BACKSPACE; + io.KeyMap[ImGuiKey_Space] = GLFW_KEY_SPACE; + io.KeyMap[ImGuiKey_Enter] = GLFW_KEY_ENTER; + io.KeyMap[ImGuiKey_Escape] = GLFW_KEY_ESCAPE; + io.KeyMap[ImGuiKey_A] = GLFW_KEY_A; + io.KeyMap[ImGuiKey_C] = GLFW_KEY_C; + io.KeyMap[ImGuiKey_V] = GLFW_KEY_V; + io.KeyMap[ImGuiKey_X] = GLFW_KEY_X; + io.KeyMap[ImGuiKey_Y] = GLFW_KEY_Y; + io.KeyMap[ImGuiKey_Z] = GLFW_KEY_Z; + + io.RenderDrawListsFn = ImGui_ImplGlfwGL3_RenderDrawLists; // Alternatively you can set this to NULL and call ImGui::GetDrawData() after ImGui::Render() to get the same ImDrawData pointer. + io.SetClipboardTextFn = ImGui_ImplGlfwGL3_SetClipboardText; + io.GetClipboardTextFn = ImGui_ImplGlfwGL3_GetClipboardText; + io.ClipboardUserData = g_Window; +#ifdef _WIN32 + io.ImeWindowHandle = glfwGetWin32Window(g_Window); +#endif + + if (install_callbacks) + { + glfwSetMouseButtonCallback(window, ImGui_ImplGlfwGL3_MouseButtonCallback); + glfwSetScrollCallback(window, ImGui_ImplGlfwGL3_ScrollCallback); + glfwSetKeyCallback(window, ImGui_ImplGlfwGL3_KeyCallback); + glfwSetCharCallback(window, ImGui_ImplGlfwGL3_CharCallback); + } + + return true; +} + +void ImGui_ImplGlfwGL3_Shutdown() +{ + ImGui_ImplGlfwGL3_InvalidateDeviceObjects(); +} + +void ImGui_ImplGlfwGL3_NewFrame() +{ + if (!g_FontTexture) + ImGui_ImplGlfwGL3_CreateDeviceObjects(); + + ImGuiIO& io = ImGui::GetIO(); + + // Setup display size (every frame to accommodate for window resizing) + int w, h; + int display_w, display_h; + glfwGetWindowSize(g_Window, &w, &h); + glfwGetFramebufferSize(g_Window, &display_w, &display_h); + io.DisplaySize = ImVec2((float)w, (float)h); + io.DisplayFramebufferScale = ImVec2(w > 0 ? ((float)display_w / w) : 0, h > 0 ? ((float)display_h / h) : 0); + + // Setup time step + double current_time = glfwGetTime(); + io.DeltaTime = g_Time > 0.0 ? (float)(current_time - g_Time) : (float)(1.0f/60.0f); + g_Time = current_time; + + // Setup inputs + // (we already got mouse wheel, keyboard keys & characters from glfw callbacks polled in glfwPollEvents()) + if (glfwGetWindowAttrib(g_Window, GLFW_FOCUSED)) + { + if (io.WantMoveMouse) + { + glfwSetCursorPos(g_Window, (double)io.MousePos.x, (double)io.MousePos.y); // Set mouse position if requested by io.WantMoveMouse flag (used when io.NavMovesTrue is enabled by user and using directional navigation) + } + else + { + double mouse_x, mouse_y; + glfwGetCursorPos(g_Window, &mouse_x, &mouse_y); + io.MousePos = ImVec2((float)mouse_x, (float)mouse_y); + } + } + else + { + io.MousePos = ImVec2(-FLT_MAX,-FLT_MAX); + } + + for (int i = 0; i < 3; i++) + { + // If a mouse press event came, always pass it as "mouse held this frame", so we don't miss click-release events that are shorter than 1 frame. + io.MouseDown[i] = g_MouseJustPressed[i] || glfwGetMouseButton(g_Window, i) != 0; + g_MouseJustPressed[i] = false; + } + + // Hide OS mouse cursor if ImGui is drawing it + glfwSetInputMode(g_Window, GLFW_CURSOR, io.MouseDrawCursor ? GLFW_CURSOR_HIDDEN : GLFW_CURSOR_NORMAL); + + // Gamepad navigation mapping [BETA] + memset(io.NavInputs, 0, sizeof(io.NavInputs)); + if (io.NavFlags & ImGuiNavFlags_EnableGamepad) + { + // Update gamepad inputs + #define MAP_BUTTON(NAV_NO, BUTTON_NO) { if (buttons_count > BUTTON_NO && buttons[BUTTON_NO] == GLFW_PRESS) io.NavInputs[NAV_NO] = 1.0f; } + #define MAP_ANALOG(NAV_NO, AXIS_NO, V0, V1) { float v = (axes_count > AXIS_NO) ? axes[AXIS_NO] : V0; v = (v - V0) / (V1 - V0); if (v > 1.0f) v = 1.0f; if (io.NavInputs[NAV_NO] < v) io.NavInputs[NAV_NO] = v; } + int axes_count = 0, buttons_count = 0; + const float* axes = glfwGetJoystickAxes(GLFW_JOYSTICK_1, &axes_count); + const unsigned char* buttons = glfwGetJoystickButtons(GLFW_JOYSTICK_1, &buttons_count); + MAP_BUTTON(ImGuiNavInput_Activate, 0); // Cross / A + MAP_BUTTON(ImGuiNavInput_Cancel, 1); // Circle / B + MAP_BUTTON(ImGuiNavInput_Menu, 2); // Square / X + MAP_BUTTON(ImGuiNavInput_Input, 3); // Triangle / Y + MAP_BUTTON(ImGuiNavInput_DpadLeft, 13); // D-Pad Left + MAP_BUTTON(ImGuiNavInput_DpadRight, 11); // D-Pad Right + MAP_BUTTON(ImGuiNavInput_DpadUp, 10); // D-Pad Up + MAP_BUTTON(ImGuiNavInput_DpadDown, 12); // D-Pad Down + MAP_BUTTON(ImGuiNavInput_FocusPrev, 4); // L1 / LB + MAP_BUTTON(ImGuiNavInput_FocusNext, 5); // R1 / RB + MAP_BUTTON(ImGuiNavInput_TweakSlow, 4); // L1 / LB + MAP_BUTTON(ImGuiNavInput_TweakFast, 5); // R1 / RB + MAP_ANALOG(ImGuiNavInput_LStickLeft, 0, -0.3f, -0.9f); + MAP_ANALOG(ImGuiNavInput_LStickRight,0, +0.3f, +0.9f); + MAP_ANALOG(ImGuiNavInput_LStickUp, 1, +0.3f, +0.9f); + MAP_ANALOG(ImGuiNavInput_LStickDown, 1, -0.3f, -0.9f); + #undef MAP_BUTTON + #undef MAP_ANALOG + } + + // Start the frame. This call will update the io.WantCaptureMouse, io.WantCaptureKeyboard flag that you can use to dispatch inputs (or not) to your application. + ImGui::NewFrame(); +} diff --git a/external/imgui/imgui_impl_glfw_gl3.h b/external/imgui/imgui_impl_glfw_gl3.h new file mode 100644 index 000000000..6b4101f21 --- /dev/null +++ b/external/imgui/imgui_impl_glfw_gl3.h @@ -0,0 +1,30 @@ +// ImGui GLFW binding with OpenGL3 + shaders +// (GLFW is a cross-platform general purpose library for handling windows, inputs, OpenGL/Vulkan graphics context creation, etc.) +// (GL3W is a helper library to access OpenGL functions since there is no standard header to access modern OpenGL functions easily. Alternatives are GLEW, Glad, etc.) + +// Implemented features: +// [X] User texture binding. Cast 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID in imgui.cpp. +// [X] Gamepad navigation mapping. Enable with 'io.NavFlags |= ImGuiNavFlags_EnableGamepad'. + +// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. +// If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). +// If you are new to ImGui, see examples/README.txt and documentation at the top of imgui.cpp. +// https://github.com/ocornut/imgui + +struct GLFWwindow; + +IMGUI_API bool ImGui_ImplGlfwGL3_Init(GLFWwindow* window, bool install_callbacks); +IMGUI_API void ImGui_ImplGlfwGL3_Shutdown(); +IMGUI_API void ImGui_ImplGlfwGL3_NewFrame(); + +// Use if you want to reset your rendering device without losing ImGui state. +IMGUI_API void ImGui_ImplGlfwGL3_InvalidateDeviceObjects(); +IMGUI_API bool ImGui_ImplGlfwGL3_CreateDeviceObjects(); + +// GLFW callbacks (installed by default if you enable 'install_callbacks' during initialization) +// Provided here if you want to chain callbacks. +// You can also handle inputs yourself and use those as a reference. +IMGUI_API void ImGui_ImplGlfwGL3_MouseButtonCallback(GLFWwindow* window, int button, int action, int mods); +IMGUI_API void ImGui_ImplGlfwGL3_ScrollCallback(GLFWwindow* window, double xoffset, double yoffset); +IMGUI_API void ImGui_ImplGlfwGL3_KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods); +IMGUI_API void ImGui_ImplGlfwGL3_CharCallback(GLFWwindow* window, unsigned int c); diff --git a/external/lim/CMakeLists.txt b/external/lim/CMakeLists.txt index 30f22a2de..a8df4db90 100644 --- a/external/lim/CMakeLists.txt +++ b/external/lim/CMakeLists.txt @@ -24,5 +24,9 @@ add_library(lim STATIC UniformLaplacian_LIMSolver3D.cpp) target_include_directories(lim PRIVATE - "../nanogui/ext/eigen" + "../eigen" "../../include") + +if(TARGET igl::core) + target_link_libraries(lim PUBLIC igl::core) +endif() diff --git a/external/nanogui b/external/nanogui deleted file mode 160000 index 2c016fc9b..000000000 --- a/external/nanogui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2c016fc9b7d627cffab0fa97737a70b4171f3d3e diff --git a/external/os.jam b/external/os.jam new file mode 100644 index 000000000..a2f645575 --- /dev/null +++ b/external/os.jam @@ -0,0 +1,201 @@ +# Copyright 2001, 2002, 2003, 2005 Dave Abrahams +# Copyright 2006 Rene Rivera +# Copyright 2003, 2005 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +import modules ; +import string ; + + +# Return the value(s) of the given environment variable(s) at the time bjam was +# invoked. +rule environ ( variable-names + ) +{ + local result ; + for local var-name in $(variable-names) + { + # We check the various cases of the var name for a value to account + # for programs that change the casing of env vars. One such program + # is Python that upper-cases env var names on import, and resports + # them as upper-case instead of keeping the original case. + local value = [ modules.peek .ENVIRON : + $(var-name) $(var-name:U) $(var-name:L) ] ; + result += $(value[1]) ; + } + return $(result) ; +} + +.name = [ modules.peek : OS ] ; +.platform = [ modules.peek : OSPLAT ] ; +.version = [ modules.peek : OSVER ] ; + + +local rule constant ( c : os ? ) +{ + os ?= $(.name) ; + # First look for a platform-specific name, then the general value. + local variables = .$(c)-$(os) .$(c) ; + local result = $($(variables)) ; + return $(result[1]) ; +} + +rule get-constant ( os ? ) +{ + # Find the name of the constant being accessed, which is equal to the name + # used to invoke us. + local bt = [ BACKTRACE 1 ] ; + local rulename = [ MATCH ([^.]*)$ : $(bt[4]) ] ; + return [ constant $(rulename) : $(os) ] ; +} + + +# export all the common constants +.constants = name platform version shared-library-path-variable path-separator executable-path-variable executable-suffix ; +for local constant in $(.constants) +{ + IMPORT $(__name__) : get-constant : $(__name__) : $(constant) ; +} +EXPORT $(__name__) : $(.constants) ; + +.executable-path-variable-NT = PATH ; +# On Windows the case and capitalization of PATH is not always predictable, so +# let's find out what variable name was really set. +if $(.name) = NT +{ + for local n in [ VARNAMES .ENVIRON ] + { + if $(n:L) = path + { + .executable-path-variable-NT = $(n) ; + } + } +} + +# Specific constants for various platforms. There's no need to define any +# constant whose value would be the same as the default, below. +.shared-library-path-variable-NT = $(.executable-path-variable-NT) ; +.path-separator-NT = ";" ; +.expand-variable-prefix-NT = % ; +.expand-variable-suffix-NT = % ; +.executable-suffix-NT = .exe ; + +.shared-library-path-variable-CYGWIN = PATH ; + +.shared-library-path-variable-MACOSX = DYLD_LIBRARY_PATH ; + +.shared-library-path-variable-AIX = LIBPATH ; + +.shared-library-path-variable-HAIKU = LIBRARY_PATH ; + +.shared-library-path-variable-VMS = PATH ; +.path-separator-VMS = "," ; +.expand-variable-prefix-VMS = '' ; +.expand-variable-suffix-VMS = ' ; +.executable-suffix-VMS = .exe ; + +# Default constants +.shared-library-path-variable = LD_LIBRARY_PATH ; +.path-separator = ":" ; +.expand-variable-prefix = $ ; +.expand-variable-suffix = "" ; +.executable-path-variable = PATH ; +.executable-suffix = "" ; + + +# Return a list of the directories in the PATH. Yes, that information is (sort +# of) available in the global module, but jam code can change those values, and +# it isn't always clear what case/capitalization to use when looking. This rule +# is a more reliable way to get there. +rule executable-path ( ) +{ + return [ string.words [ environ [ constant executable-path-variable ] ] + : [ constant path-separator ] ] ; +} + + +# Initialize the list of home directories for the current user depending on the +# OS. +if $(.name) = NT +{ + local home = [ environ HOMEDRIVE HOMEPATH ] ; + .home-directories = $(home[1])$(home[2]) [ environ HOME ] [ environ USERPROFILE ] ; +} +else +{ + .home-directories = [ environ HOME ] ; +} + + +# Can't use 'constant' mechanism because it only returns 1-element values. +rule home-directories ( ) +{ + return $(.home-directories) ; +} + + +# Return the string needed to represent the expansion of the named shell +# variable. +rule expand-variable ( variable ) +{ + local prefix = [ constant expand-variable-prefix ] ; + local suffix = [ constant expand-variable-suffix ] ; + return $(prefix)$(variable)$(suffix) ; +} + + +# Returns true if running on windows, whether in cygwin or not. +rule on-windows ( ) +{ + local result ; + if [ modules.peek : NT ] + { + result = true ; + } + else if [ modules.peek : UNIX ] + { + switch [ modules.peek : JAMUNAME ] + { + case CYGWIN* : + { + result = true ; + } + } + } + return $(result) ; +} + + +rule on-vms ( ) +{ + local result ; + if [ modules.peek : VMS ] + { + result = true ; + } + return $(result) ; +} + + +if ! [ on-windows ] && ! [ on-vms ] +{ + .on-unix = 1 ; +} + + +rule on-unix +{ + return $(.on-unix) ; +} + + +rule __test__ +{ + import assert ; + if ! ( --quiet in [ modules.peek : ARGV ] ) + { + ECHO os: name= [ name ] ; + ECHO os: version= [ version ] ; + } + assert.true name ; +} diff --git a/external/pybind11 b/external/pybind11 new file mode 160000 index 000000000..2d0507db4 --- /dev/null +++ b/external/pybind11 @@ -0,0 +1 @@ +Subproject commit 2d0507db43cd5a117f7843e053b17dffca114107 diff --git a/external/stb_image/CMakeLists.txt b/external/stb_image/CMakeLists.txt index 25bfea9a6..93261e4ae 100644 --- a/external/stb_image/CMakeLists.txt +++ b/external/stb_image/CMakeLists.txt @@ -1,15 +1,11 @@ -cmake_minimum_required(VERSION 2.6) -project(stb_image) +cmake_minimum_required(VERSION 3.1) +project(igl_stb_image) -option(STBI_LOAD "Compile stbi" ON) -option(STBI_WRITE "Compile stbi_writeUse CoMiso" ON) +add_library(${PROJECT_NAME} SHARED igl_stb_image.cpp stb_image.h stb_image_write.h) +target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -if (STBI_LOAD) - add_definitions(-DSTBI_LOAD) -endif() - -if (STBI_WRITE) - add_definitions(-DSTBI_WRITE) -endif() - -add_library(stb_image STATIC stb_image.cpp stb_image.h stb_image_write.h) +# Export interface symbols and hide internal implementation +include(GenerateExportHeader) +generate_export_header(${PROJECT_NAME}) +target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR}) +set_target_properties(${PROJECT_NAME} PROPERTIES CXX_VISIBILITY_PRESET hidden) diff --git a/external/stb_image/igl_stb_image.cpp b/external/stb_image/igl_stb_image.cpp new file mode 100644 index 000000000..446a8eb32 --- /dev/null +++ b/external/stb_image/igl_stb_image.cpp @@ -0,0 +1,24 @@ +#include "igl_stb_image.h" + +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" + +#define STB_IMAGE_WRITE_IMPLEMENTATION +#include "stb_image_write.h" + + +unsigned char * igl::stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + return ::stbi_load(filename, x, y, comp, req_comp); +} + +void igl::stbi_image_free(void *retval_from_stbi_load) +{ + ::stbi_image_free(retval_from_stbi_load); +} + +int igl::stbi_write_png( + char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes) +{ + return ::stbi_write_png(filename, w, h, comp, data, stride_in_bytes); +} diff --git a/external/stb_image/igl_stb_image.h b/external/stb_image/igl_stb_image.h new file mode 100644 index 000000000..55c84048f --- /dev/null +++ b/external/stb_image/igl_stb_image.h @@ -0,0 +1,12 @@ +#ifndef IGL_STB_IMAGE_H +#define IGL_STB_IMAGE_H + +#include + +namespace igl { + IGL_STB_IMAGE_EXPORT unsigned char * stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp); + IGL_STB_IMAGE_EXPORT void stbi_image_free(void *retval_from_stbi_load); + IGL_STB_IMAGE_EXPORT int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +} // namespace igl + +#endif diff --git a/external/stb_image/stb_image.cpp b/external/stb_image/stb_image.cpp deleted file mode 100644 index ef2cabc1f..000000000 --- a/external/stb_image/stb_image.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// dummy cpp file to compile the code in case IGL is in header only mode -#ifdef STBI_LOAD - #define STB_IMAGE_IMPLEMENTATION - #include "stb_image.h" -#endif - -#ifdef STBI_WRITE - #define STB_IMAGE_WRITE_IMPLEMENTATION - #include "stb_image_write.h" -#endif - - \ No newline at end of file diff --git a/external/triangle b/external/triangle index 428a74fd9..d6761dd69 160000 --- a/external/triangle +++ b/external/triangle @@ -1 +1 @@ -Subproject commit 428a74fd93766f70ab7f718dec22026707283db6 +Subproject commit d6761dd691e2e1318c83bf7773fea88d9437464a diff --git a/file-formats/dmat.html b/file-formats/dmat.html index a4a173fb4..7e0cc3daa 100644 --- a/file-formats/dmat.html +++ b/file-formats/dmat.html @@ -12,7 +12,7 @@

A .dmat file contains a dense matrix in column major order. It can contain ASCII or binary data. Note that it is uncompressed so binary only reduces the -file size by 50%. But writing and reading binary is usualy faster. In MATLAB, +file size by 50%. But writing and reading binary is usually faster. In MATLAB, binary is almost 100x faster.

ASCII

@@ -33,7 +33,7 @@ Then there should be another header containing the size of the binary part:

[#cols] [#rows]

-Then coefficents are written in column-major order in Little-endian 8-byte +Then coefficients are written in column-major order in Little-endian 8-byte double precision IEEE floating point format.

Note: Line endings must be '\n' aka char(10) aka line feeds.

diff --git a/file-formats/index.html b/file-formats/index.html index 3e4ac7175..7bb97ebeb 100644 --- a/file-formats/index.html +++ b/file-formats/index.html @@ -20,7 +20,7 @@
  • .face TetGen's file format for simplicial facets.
  • .mesh Medit's triangle surface mesh + tetrahedral volume mesh file format, see page 33, section 7.2.1
  • -
  • .node List of points (vertices). Described indentically (upto +
  • .node List of points (vertices). Described identically (upto accepted dimensions, use of attributes and boundary markers) by Triangle, TetGen, and .png Portable Network Graphics image file. IGLLIB (in the libiglpng extra) supports png image files via the yimg - library. Alpha channels and compression are suppported.
  • + library. Alpha channels and compression are supported.
  • .poly Piecewise-linear complex. This format comes in many similar but importantly different flavors: triangle's, tetgen's, pyramid/SVR's
  • .rbr ASCII files for saving state of ReAntTweakBar
  • diff --git a/file-formats/tgf.html b/file-formats/tgf.html index 78bec8623..58c8b5ec3 100644 --- a/file-formats/tgf.html +++ b/file-formats/tgf.html @@ -11,7 +11,7 @@

    A .tgf file contains a graph of describing a set of control handles/structures: -point controls, bones of a skelton and cages made of "cage edges". +point controls, bones of a skeleton and cages made of "cage edges".

    The first part of the file consists of lines regarding each vertex of the graph. Each line reads: diff --git a/file-formats/xml.html b/file-formats/xml.html index e9652fa6c..b670af495 100644 --- a/file-formats/xml.html +++ b/file-formats/xml.html @@ -31,7 +31,7 @@ STL containers: std::array, std::vector, std::pair
    Eigen types: Eigen::Matrix, Eigen::SparseMatrix
    User defined types: XMLSerializable*.

    -There can also be a hierachical structure like vector<int>, this will result in the following serialization: +There can also be a hierarchical structure like vector<int>, this will result in the following serialization:

    <group>
       <vector size="3">
    diff --git a/include/igl/AABB.cpp b/include/igl/AABB.cpp
    index d71a53304..aa9e9231b 100644
    --- a/include/igl/AABB.cpp
    +++ b/include/igl/AABB.cpp
    @@ -15,6 +15,7 @@
     #include "sort.h"
     #include "volume.h"
     #include "ray_box_intersect.h"
    +#include "parallel_for.h"
     #include "ray_mesh_intersect.h"
     #include 
     #include 
    @@ -27,7 +28,7 @@ template 
     template 
     IGL_INLINE void igl::AABB::init(
         const Eigen::MatrixBase & V,
    -    const Eigen::MatrixBase & Ele, 
    +    const Eigen::MatrixBase & Ele,
         const Eigen::MatrixBase & bb_mins,
         const Eigen::MatrixBase & bb_maxs,
         const Eigen::MatrixBase & elements,
    @@ -106,7 +107,7 @@ template <
       typename DerivedI>
     IGL_INLINE void igl::AABB::init(
         const Eigen::MatrixBase & V,
    -    const Eigen::MatrixBase & Ele, 
    +    const Eigen::MatrixBase & Ele,
         const Eigen::MatrixBase & SI,
         const Eigen::MatrixBase & I)
     {
    @@ -204,15 +205,15 @@ template 
     template 
     IGL_INLINE std::vector igl::AABB::find(
         const Eigen::MatrixBase & V,
    -    const Eigen::MatrixBase & Ele, 
    +    const Eigen::MatrixBase & Ele,
         const Eigen::MatrixBase & q,
         const bool first) const
     {
       using namespace std;
       using namespace Eigen;
    -  assert(q.size() == DIM && 
    +  assert(q.size() == DIM &&
           "Query dimension should match aabb dimension");
    -  assert(Ele.cols() == V.cols()+1 && 
    +  assert(Ele.cols() == V.cols()+1 &&
           "AABB::find only makes sense for (d+1)-simplices");
       const Scalar epsilon = igl::EPS();
       // Check if outside bounding box
    @@ -250,7 +251,7 @@ IGL_INLINE std::vector igl::AABB::find(
               const Vector2S V2 = V.row(Ele(m_primitive,1));
               const Vector2S V3 = V.row(Ele(m_primitive,2));
               // Hack for now to keep templates simple. If becomes bottleneck
    -          // consider using std::enable_if_t 
    +          // consider using std::enable_if_t
               const Vector2S q2 = q.head(2);
               a1 = doublearea_single(V1,V2,q2);
               a2 = doublearea_single(V2,V3,q2);
    @@ -266,9 +267,9 @@ IGL_INLINE std::vector igl::AABB::find(
         a3 /= sum;
         a4 /= sum;
         if(
    -        a1>=-epsilon && 
    -        a2>=-epsilon && 
    -        a3>=-epsilon && 
    +        a1>=-epsilon &&
    +        a2>=-epsilon &&
    +        a3>=-epsilon &&
             a4>=-epsilon)
         {
           return std::vector(1,m_primitive);
    @@ -345,10 +346,10 @@ IGL_INLINE void igl::AABB::serialize(
     
     template 
     template 
    -IGL_INLINE typename igl::AABB::Scalar 
    +IGL_INLINE typename igl::AABB::Scalar
     igl::AABB::squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & p,
       int & i,
       Eigen::PlainObjectBase & c) const
    @@ -359,10 +360,10 @@ igl::AABB::squared_distance(
     
     template 
     template 
    -IGL_INLINE typename igl::AABB::Scalar 
    +IGL_INLINE typename igl::AABB::Scalar
     igl::AABB::squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & p,
       Scalar low_sqr_d,
       Scalar up_sqr_d,
    @@ -393,7 +394,7 @@ igl::AABB::squared_distance(
         {
           int i_left;
           RowVectorDIMS c_left = c;
    -      Scalar sqr_d_left = 
    +      Scalar sqr_d_left =
             m_left->squared_distance(V,Ele,p,low_sqr_d,sqr_d,i_left,c_left);
           this->set_min(p,sqr_d_left,i_left,c_left,sqr_d,i,c);
           looked_left = true;
    @@ -401,8 +402,8 @@ igl::AABB::squared_distance(
         const auto & look_right = [&]()
         {
           int i_right;
    -      Eigen::PlainObjectBase c_right = c;
    -      Scalar sqr_d_right = 
    +      RowVectorDIMS c_right = c;
    +      Scalar sqr_d_right =
             m_right->squared_distance(V,Ele,p,low_sqr_d,sqr_d,i_right,c_right);
           this->set_min(p,sqr_d_right,i_right,c_right,sqr_d,i,c);
           looked_right = true;
    @@ -418,9 +419,9 @@ igl::AABB::squared_distance(
           look_right();
         }
         // if haven't looked left and could be less than current min, then look
    -    Scalar left_up_sqr_d = 
    +    Scalar left_up_sqr_d =
           m_left->m_box.squaredExteriorDistance(p.transpose());
    -    Scalar right_up_sqr_d = 
    +    Scalar right_up_sqr_d =
           m_right->m_box.squaredExteriorDistance(p.transpose());
         if(left_up_sqr_d < right_up_sqr_d)
         {
    @@ -449,10 +450,10 @@ igl::AABB::squared_distance(
     
     template 
     template 
    -IGL_INLINE typename igl::AABB::Scalar 
    +IGL_INLINE typename igl::AABB::Scalar
     igl::AABB::squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & p,
       Scalar up_sqr_d,
       int & i,
    @@ -464,13 +465,13 @@ igl::AABB::squared_distance(
     template 
     template <
       typename DerivedEle,
    -  typename DerivedP, 
    -  typename DerivedsqrD, 
    -  typename DerivedI, 
    +  typename DerivedP,
    +  typename DerivedsqrD,
    +  typename DerivedI,
       typename DerivedC>
     IGL_INLINE void igl::AABB::squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const Eigen::MatrixBase & P,
       Eigen::PlainObjectBase & sqrD,
       Eigen::PlainObjectBase & I,
    @@ -482,35 +483,37 @@ IGL_INLINE void igl::AABB::squared_distance(
       C.resizeLike(P);
       // O( #P * log #Ele ), where log #Ele is really the depth of this AABB
       // hierarchy
    -  for(int p = 0;p
    -template < 
    +template <
       typename DerivedEle,
       typename Derivedother_V,
       typename Derivedother_Ele,
    -  typename DerivedsqrD, 
    -  typename DerivedI, 
    +  typename DerivedsqrD,
    +  typename DerivedI,
       typename DerivedC>
     IGL_INLINE void igl::AABB::squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const AABB & other,
       const Eigen::MatrixBase & other_V,
    -  const Eigen::MatrixBase & other_Ele, 
    +  const Eigen::MatrixBase & other_Ele,
       Eigen::PlainObjectBase & sqrD,
       Eigen::PlainObjectBase & I,
       Eigen::PlainObjectBase & C) const
     {
    -  assert(other_Ele.cols() == 1 && 
    +  assert(other_Ele.cols() == 1 &&
         "Only implemented for other as list of points");
       assert(other_V.cols() == V.cols() && "other must match this dimension");
       sqrD.setConstant(other_Ele.rows(),1,std::numeric_limits::infinity());
    @@ -528,20 +531,20 @@ IGL_INLINE void igl::AABB::squared_distance(
     }
     
     template 
    -template < 
    +template <
       typename DerivedEle,
       typename Derivedother_V,
       typename Derivedother_Ele,
    -  typename DerivedsqrD, 
    -  typename DerivedI, 
    +  typename DerivedsqrD,
    +  typename DerivedI,
       typename DerivedC>
    -IGL_INLINE typename igl::AABB::Scalar 
    +IGL_INLINE typename igl::AABB::Scalar
       igl::AABB::squared_distance_helper(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const AABB * other,
       const Eigen::MatrixBase & other_V,
    -  const Eigen::MatrixBase & other_Ele, 
    +  const Eigen::MatrixBase & other_Ele,
       const Scalar /*up_sqr_d*/,
       Eigen::PlainObjectBase & sqrD,
       Eigen::PlainObjectBase & I,
    @@ -584,7 +587,7 @@ IGL_INLINE typename igl::AABB::Scalar
         return sqr_d;
       }
     
    -  //// Exact minimum squared distance between arbitary primitives inside this and
    +  //// Exact minimum squared distance between arbitrary primitives inside this and
       //// othre's bounding boxes
       //const auto & min_squared_distance = [&](
       //  const AABB * A,
    @@ -731,9 +734,9 @@ IGL_INLINE typename igl::AABB::Scalar
           //assert(mc == mm);
           // Only look left/right in this_list if can possible decrease somebody's
           // distance in this_tree.
    -      const Scalar min_this_other = min_squared_distance(this_tree,other_tree); 
    +      const Scalar min_this_other = min_squared_distance(this_tree,other_tree);
           if(
    -          min_this_other < sqr_d && 
    +          min_this_other < sqr_d &&
               min_this_other < other_tree->m_low_sqr_d)
           {
             //cout<<"before: "<
     template 
     IGL_INLINE void igl::AABB::leaf_squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & p,
       const Scalar low_sqr_d,
       Scalar & sqr_d,
    @@ -789,7 +792,7 @@ template 
     template 
     IGL_INLINE void igl::AABB::leaf_squared_distance(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & p,
       Scalar & sqr_d,
       int & i,
    @@ -801,7 +804,7 @@ IGL_INLINE void igl::AABB::leaf_squared_distance(
     
     template 
     IGL_INLINE void igl::AABB::set_min(
    -  const RowVectorDIMS & 
    +  const RowVectorDIMS &
     #ifndef NDEBUG
       p
     #endif
    @@ -831,10 +834,10 @@ IGL_INLINE void igl::AABB::set_min(
     
     template 
     template 
    -IGL_INLINE bool 
    +IGL_INLINE bool
     igl::AABB::intersect_ray(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & origin,
       const RowVectorDIMS & dir,
       std::vector & hits) const
    @@ -874,10 +877,10 @@ igl::AABB::intersect_ray(
     
     template 
     template 
    -IGL_INLINE bool 
    +IGL_INLINE bool
     igl::AABB::intersect_ray(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & origin,
       const RowVectorDIMS & dir,
       igl::Hit & hit) const
    @@ -932,10 +935,10 @@ igl::AABB::intersect_ray(
     
     template 
     template 
    -IGL_INLINE bool 
    +IGL_INLINE bool
     igl::AABB::intersect_ray(
       const Eigen::MatrixBase & V,
    -  const Eigen::MatrixBase & Ele, 
    +  const Eigen::MatrixBase & Ele,
       const RowVectorDIMS & origin,
       const RowVectorDIMS & dir,
       const Scalar _min_t,
    @@ -1001,7 +1004,7 @@ igl::AABB::intersect_ray(
     
     // This is a bullshit template because AABB annoyingly needs templates for bad
     // combinations of 3D V with DIM=2 AABB
    -// 
    +//
     // _Define_ as a no-op rather than monkeying around with the proper code above
     //
     // Meanwhile, GCC seems to have a bug. Let's see if GCC likes using explicit
    @@ -1022,6 +1025,10 @@ namespace igl
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template double igl::AABB, 3>::squared_distance >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix const&, double, double, int&, Eigen::PlainObjectBase >&) const;
    +// generated by autoexplicit.sh
    +template void igl::AABB, 3>::init >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
     // generated by autoexplicit.sh
     template float igl::AABB, 3>::squared_distance >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix const&, float, float, int&, Eigen::PlainObjectBase >&) const;
     // generated by autoexplicit.sh
    diff --git a/include/igl/AtA_cached.cpp b/include/igl/AtA_cached.cpp
    new file mode 100644
    index 000000000..af7d0ad86
    --- /dev/null
    +++ b/include/igl/AtA_cached.cpp
    @@ -0,0 +1,130 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Daniele Panozzo 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#include "AtA_cached.h"
    +
    +#include 
    +#include 
    +#include 
    +
    +template 
    +IGL_INLINE void igl::AtA_cached_precompute(
    +    const Eigen::SparseMatrix& A,
    +    igl::AtA_cached_data& data,
    +    Eigen::SparseMatrix& AtA)
    +{
    +  // 1 Compute At (this could be avoided, but performance-wise it will not make a difference)
    +  std::vector > Col_RowPtr;
    +  std::vector > Col_IndexPtr;
    +
    +  Col_RowPtr.resize(A.cols());
    +  Col_IndexPtr.resize(A.cols());
    +
    +  for (unsigned k=0; k= 0);
    +      assert(row < A.rows());
    +      assert(row >= 0);
    +      assert(value_index >= 0);
    +      assert(value_index < A.nonZeros());
    +
    +      Col_RowPtr[col].push_back(row);
    +      Col_IndexPtr[col].push_back(value_index);
    +    }
    +  }
    +
    +  Eigen::SparseMatrix At = A.transpose();
    +  At.makeCompressed();
    +  AtA = At * A;
    +  AtA.makeCompressed();
    +
    +  assert(AtA.isCompressed());
    +
    +  // If weights are not provided, use 1
    +  if (data.W.size() == 0)
    +    data.W = Eigen::VectorXd::Ones(A.rows());
    +  assert(data.W.size() == A.rows());
    +
    +  data.I_outer.reserve(AtA.outerSize());
    +  data.I_row.reserve(2*AtA.nonZeros());
    +  data.I_col.reserve(2*AtA.nonZeros());
    +  data.I_w.reserve(2*AtA.nonZeros());
    +
    +  // 2 Construct the rules
    +  for (unsigned k=0; k= 0);
    +      assert(row < AtA.rows());
    +      assert(row >= 0);
    +      assert(value_index >= 0);
    +      assert(value_index < AtA.nonZeros());
    +
    +      data.I_outer.push_back(data.I_row.size());
    +
    +      // Find correspondences
    +      unsigned i=0;
    +      unsigned j=0;
    +      while (i Col_RowPtr[col][j])
    +            ++j;
    +          else
    +            ++i;
    +
    +      }
    +    }
    +  }
    +  data.I_outer.push_back(data.I_row.size()); // makes it more efficient to iterate later on
    +
    +  igl::AtA_cached(A,data,AtA);
    +}
    +
    +template 
    +IGL_INLINE void igl::AtA_cached(
    +    const Eigen::SparseMatrix& A,
    +    const igl::AtA_cached_data& data,
    +    Eigen::SparseMatrix& AtA)
    +{
    +  for (unsigned i=0; i(Eigen::SparseMatrix const&, igl::AtA_cached_data const&, Eigen::SparseMatrix&);
    +template void igl::AtA_cached_precompute(Eigen::SparseMatrix const&, igl::AtA_cached_data&, Eigen::SparseMatrix&);
    +#endif
    diff --git a/include/igl/AtA_cached.h b/include/igl/AtA_cached.h
    new file mode 100644
    index 000000000..776825411
    --- /dev/null
    +++ b/include/igl/AtA_cached.h
    @@ -0,0 +1,70 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +// 
    +// Copyright (C) 2017 Daniele Panozzo 
    +// 
    +// This Source Code Form is subject to the terms of the Mozilla Public License 
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_ATA_CACHED_H
    +#define IGL_ATA_CACHED_H
    +#include "igl_inline.h"
    +#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
    +#include 
    +#include 
    +namespace igl
    +{  
    +  struct AtA_cached_data
    +  {
    +    // Weights
    +    Eigen::VectorXd W;
    +
    +    // Flatten composition rules
    +    std::vector I_row;
    +    std::vector I_col;
    +    std::vector I_w;
    +
    +    // For each entry of AtA, points to the beginning
    +    // of the composition rules
    +    std::vector I_outer;
    +  };
    +
    +  // Computes At * W * A, where A is sparse and W is diagonal. Divides the 
    +  // construction in two phases, one
    +  // for fixing the sparsity pattern, and one to populate it with values. Compared to
    +  // evaluating it directly, this version is slower for the first time (since it requires a
    +  // precomputation), but faster to the subsequent evaluations.
    +  //
    +  // Input:
    +  //   A m x n sparse matrix
    +  //   data stores the precomputed sparsity pattern, data.W contains the optional diagonal weights (stored as a dense vector). If W is not provided, it is replaced by the identity.
    +  // Outputs:
    +  //   AtA  m by m matrix computed as AtA * W * A
    +  //
    +  // Example:
    +  // AtA_data = igl::AtA_cached_data();
    +  // AtA_data.W = W;
    +  // if (s.AtA.rows() == 0)
    +  //   igl::AtA_cached_precompute(s.A,s.AtA_data,s.AtA);
    +  // else
    +  //   igl::AtA_cached(s.A,s.AtA_data,s.AtA);
    +  template 
    +  IGL_INLINE void AtA_cached_precompute(
    +    const Eigen::SparseMatrix& A,
    +    AtA_cached_data& data,
    +    Eigen::SparseMatrix& AtA
    +    );
    +
    +  template 
    +  IGL_INLINE void AtA_cached(
    +    const Eigen::SparseMatrix& A,
    +    const AtA_cached_data& data,
    +    Eigen::SparseMatrix& AtA
    +    );
    +  
    +}
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "AtA_cached.cpp"
    +#endif
    +
    +#endif
    diff --git a/include/igl/Camera.h b/include/igl/Camera.h
    index 231bd8b56..1c8975dc0 100644
    --- a/include/igl/Camera.h
    +++ b/include/igl/Camera.h
    @@ -23,7 +23,7 @@ namespace igl
     
       // A simple camera class. The camera stores projection parameters (field of
       // view angle, aspect ratio, near and far clips) as well as a rigid
    -  // tranformation *of the camera as if it were also a scene object*. Thus, the
    +  // transformation *of the camera as if it were also a scene object*. Thus, the
       // **inverse** of this rigid transformation is the modelview transformation.
       class Camera
       {
    diff --git a/include/igl/ConjugateFFSolverData.h b/include/igl/ConjugateFFSolverData.h
    deleted file mode 100644
    index d32f49a44..000000000
    --- a/include/igl/ConjugateFFSolverData.h
    +++ /dev/null
    @@ -1,375 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2013 Olga Diamanti, 2015 Alec Jacobson
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_CONJUGATE_FF_SOLVER_DATA_H
    -#define IGL_CONJUGATE_FF_SOLVER_DATA_H
    -#include "igl_inline.h"
    -#include 
    -#include 
    -#include 
    -using namespace std;
    -namespace igl 
    -{
    -  // Data class for the Conjugate Frame Field Solver
    -  template 
    -  class ConjugateFFSolverData
    -  {
    -    public:
    -      const Eigen::PlainObjectBase &V; int numV;
    -      const Eigen::PlainObjectBase &F; int numF;
    -
    -      Eigen::MatrixXi EV; int numE;
    -      Eigen::MatrixXi F2E;
    -      Eigen::MatrixXi E2F;
    -      Eigen::VectorXd K;
    -
    -      Eigen::VectorXi isBorderEdge;
    -      int numInteriorEdges;
    -      Eigen::Matrix E2F_int;
    -      Eigen::VectorXi indInteriorToFull;
    -      Eigen::VectorXi indFullToInterior;
    -
    -      DerivedV B1, B2, FN;
    -
    -
    -      Eigen::Matrix kmin, kmax;
    -      Eigen::Matrix dmin, dmax;
    -      Eigen::Matrix dmin3, dmax3;
    -
    -      Eigen::VectorXd nonPlanarityMeasure;
    -      Eigen::SparseMatrix > planarityWeight;
    -
    -      //conjugacy matrix
    -      std::vector > H;
    -
    -      //conjugacy matrix eigenvectors and (scaled) eigenvalues
    -      std::vector > UH;
    -      std::vector > s;
    -
    -      //laplacians
    -      Eigen::SparseMatrix> DDA, DDB;
    -
    -  private:
    -    IGL_INLINE void computeCurvatureAndPrincipals();
    -    IGL_INLINE void precomputeConjugacyStuff();
    -    IGL_INLINE void computeLaplacians();
    -    IGL_INLINE void computek();
    -    IGL_INLINE void computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D);
    -
    -    IGL_INLINE void precomputeInteriorEdges();
    -
    -public:
    -    IGL_INLINE ConjugateFFSolverData(const Eigen::PlainObjectBase &_V,
    -                                   const Eigen::PlainObjectBase &_F);
    -    IGL_INLINE void evaluateConjugacy(const Eigen::Matrix &pvU,
    -                                      const Eigen::Matrix &pvV,
    -                                      Eigen::Matrix &conjValues) const ;
    -  };
    -}
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -template 
    -IGL_INLINE igl::ConjugateFFSolverData::
    -ConjugateFFSolverData(const Eigen::PlainObjectBase &_V,
    -                  const Eigen::PlainObjectBase &_F):
    -V(_V),
    -numV(_V.rows()),
    -F(_F),
    -numF(_F.rows())
    -{
    -  igl::edge_topology(V,F,EV,F2E,E2F);
    -  numE = EV.rows();
    -
    -  precomputeInteriorEdges();
    -
    -  igl::local_basis(V,F,B1,B2,FN);
    -
    -  computek();
    -
    -  computeLaplacians();
    -
    -  computeCurvatureAndPrincipals();
    -  precomputeConjugacyStuff();
    -
    -};
    -
    -
    -template 
    -IGL_INLINE void igl::ConjugateFFSolverData::computeCurvatureAndPrincipals()
    -{
    -  Eigen::MatrixXd VCBary;
    -  Eigen::MatrixXi FCBary;
    -
    -  VCBary.setZero(numV+numF,3);
    -  FCBary.setZero(3*numF,3);
    -  igl::false_barycentric_subdivision(V, F, VCBary, FCBary);
    -
    -  Eigen::MatrixXd dmax3_,dmin3_;
    -  igl::principal_curvature(VCBary, FCBary, dmax3_, dmin3_, kmax, kmin, 5,true);
    -
    -  dmax3 = dmax3_.bottomRows(numF);
    -  dmin3 = dmin3_.bottomRows(numF);
    -
    -  kmax = kmax.bottomRows(numF);
    -  kmin = kmin.bottomRows(numF);
    -
    -  //  kmax = dmax3.rowwise().norm();
    -  //  kmin = dmin3.rowwise().norm();
    -
    -  dmin3.rowwise().normalize();
    -  dmax3.rowwise().normalize();
    -  dmax.setZero(numF,2);
    -  dmin.setZero(numF,2);
    -  for (int i= 0; i (0, numF-1);
    -  igl::sparse(I, I, nonPlanarityMeasure, numF, numF, planarityWeight);
    -
    -}
    -
    -template 
    -IGL_INLINE void igl::ConjugateFFSolverData::precomputeConjugacyStuff()
    -{
    -  H.resize(numF);
    -  UH.resize(numF);
    -  s.resize(numF);
    -
    -  for (int i = 0; i Ht = H[i].transpose();
    -    H[i] = .5*(H[i]+Ht);
    -
    -    Eigen::EigenSolver > es(H[i]);
    -    s[i] = es.eigenvalues().real();//ok to do this because H symmetric
    -    //scale
    -    s[i] = s[i]/(s[i].cwiseAbs().minCoeff());
    -    UH[i] = es.eigenvectors().real();
    -
    -
    -  }
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::ConjugateFFSolverData::computeLaplacians()
    -{
    -  computeCoefficientLaplacian(2, DDA);
    -
    -  computeCoefficientLaplacian(4, DDB);
    -}
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolverData::
    -precomputeInteriorEdges()
    -{
    -  // Flag border edges
    -  numInteriorEdges = 0;
    -  isBorderEdge.setZero(numE,1);
    -  indFullToInterior = -1*Eigen::VectorXi::Ones(numE,1);
    -
    -  for(unsigned i=0; i
    -IGL_INLINE void igl::ConjugateFFSolverData::
    -computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D)
    -{
    -  std::vector >> tripletList;
    -
    -  // For every non-border edge
    -  for (unsigned eid=0; eid >(fid0,
    -                                                                                     fid0,
    -                                                                                     std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                                                                     fid1,
    -                                                                                     std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid0,
    -                                                                                     fid1,
    -                                                                                     -1.*std::polar(1.,-1.*n*K[eid])));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                                                                     fid0,
    -                                                                                     -1.*std::polar(1.,1.*n*K[eid])));
    -
    -    }
    -  }
    -  D.resize(numF,numF);
    -  D.setFromTriplets(tripletList.begin(), tripletList.end());
    -
    -
    -}
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolverData::
    -computek()
    -{
    -  K.setZero(numE);
    -  // For every non-border edge
    -  for (unsigned eid=0; eid N0 = FN.row(fid0);
    -      Eigen::Matrix N1 = FN.row(fid1);
    -
    -      // find common edge on triangle 0 and 1
    -      int fid0_vc = -1;
    -      int fid1_vc = -1;
    -      for (unsigned i=0;i<3;++i)
    -      {
    -        if (F2E(fid0,i) == eid)
    -          fid0_vc = i;
    -        if (F2E(fid1,i) == eid)
    -          fid1_vc = i;
    -      }
    -      assert(fid0_vc != -1);
    -      assert(fid1_vc != -1);
    -
    -      Eigen::Matrix common_edge = V.row(F(fid0,(fid0_vc+1)%3)) - V.row(F(fid0,fid0_vc));
    -      common_edge.normalize();
    -
    -      // Map the two triangles in a new space where the common edge is the x axis and the N0 the z axis
    -      Eigen::Matrix P;
    -      Eigen::Matrix o = V.row(F(fid0,fid0_vc));
    -      Eigen::Matrix tmp = -N0.cross(common_edge);
    -      P << common_edge, tmp, N0;
    -      //      P.transposeInPlace();
    -
    -
    -      Eigen::Matrix V0;
    -      V0.row(0) = V.row(F(fid0,0)) -o;
    -      V0.row(1) = V.row(F(fid0,1)) -o;
    -      V0.row(2) = V.row(F(fid0,2)) -o;
    -
    -      V0 = (P*V0.transpose()).transpose();
    -
    -      Eigen::Matrix V1;
    -      V1.row(0) = V.row(F(fid1,0)) -o;
    -      V1.row(1) = V.row(F(fid1,1)) -o;
    -      V1.row(2) = V.row(F(fid1,2)) -o;
    -      V1 = (P*V1.transpose()).transpose();
    -
    -      // compute rotation R such that R * N1 = N0
    -      // i.e. map both triangles to the same plane
    -      double alpha = -atan2(V1((fid1_vc+2)%3,2),V1((fid1_vc+2)%3,1));
    -
    -      Eigen::Matrix R;
    -      R << 1,          0,            0,
    -      0, cos(alpha), -sin(alpha) ,
    -      0, sin(alpha),  cos(alpha);
    -      V1 = (R*V1.transpose()).transpose();
    -
    -      // measure the angle between the reference frames
    -      // k_ij is the angle between the triangle on the left and the one on the right
    -      Eigen::Matrix ref0 = V0.row(1) - V0.row(0);
    -      Eigen::Matrix ref1 = V1.row(1) - V1.row(0);
    -
    -      ref0.normalize();
    -      ref1.normalize();
    -
    -      double ktemp = atan2(ref1(1),ref1(0)) - atan2(ref0(1),ref0(0));
    -
    -      // just to be sure, rotate ref0 using angle ktemp...
    -      Eigen::Matrix R2;
    -      R2 << cos(ktemp), -sin(ktemp), sin(ktemp), cos(ktemp);
    -
    -      Eigen::Matrix tmp1 = R2*(ref0.head(2)).transpose();
    -
    -      K[eid] = ktemp;
    -    }
    -  }
    -
    -}
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolverData::
    -evaluateConjugacy(const Eigen::Matrix &pvU,
    -                   const Eigen::Matrix &pvV,
    -                  Eigen::Matrix &conjValues) const 
    -{
    -  conjValues.resize(numF,1);
    -  for (int j =0; j x; x<
       class SortableRow
       {
    diff --git a/include/igl/WindingNumberTree.h b/include/igl/WindingNumberTree.h
    index d75cd3d21..317ad9442 100644
    --- a/include/igl/WindingNumberTree.h
    +++ b/include/igl/WindingNumberTree.h
    @@ -52,7 +52,7 @@ namespace igl
           MatrixXS SV;
           // Facets in this bounding volume
           MatrixXF F;
    -      // Tesselated boundary curve
    +      // Tessellated boundary curve
           MatrixXF cap;
           // Upper Bound on radius of enclosing ball
           typename DerivedV::Scalar radius;
    @@ -97,7 +97,7 @@ namespace igl
           // Same as above, but always computes winding number using exact method
           // (sum over every facet)
           inline typename DerivedV::Scalar winding_number_all(const Point & p) const;
    -      // Same as above, but always computes using sum over tesslated boundary
    +      // Same as above, but always computes using sum over tessllated boundary
           inline typename DerivedV::Scalar winding_number_boundary(const Point & p) const;
           //// Same as winding_number above, but if max_simple_abs_winding_number is
           //// less than some threshold min_max_w just return 0 (colloquially the "fast
    @@ -493,7 +493,7 @@ igl::WindingNumberTree::cached_winding_number(
       return 0;
     }
     
    -// Explicit instanciation of static variable
    +// Explicit instantiation of static variable
     template <
       typename Point,
       typename DerivedV, 
    diff --git a/include/igl/adjacency_matrix.cpp b/include/igl/adjacency_matrix.cpp
    index 632c11f03..f6db955c2 100644
    --- a/include/igl/adjacency_matrix.cpp
    +++ b/include/igl/adjacency_matrix.cpp
    @@ -23,15 +23,16 @@ IGL_INLINE void igl::adjacency_matrix(
       typedef Triplet IJV;
       vector ijv;
       ijv.reserve(F.size()*2);
    -  // Loop over faces
    +  // Loop over **simplex** (i.e., **not quad**)
       for(int i = 0;i d
           Index s = F(i,j);
    -      Index d = F(i,(j+1)%F.cols());
    +      Index d = F(i,k);
           ijv.push_back(IJV(s,d,1));
           ijv.push_back(IJV(d,s,1));
         }
    diff --git a/include/igl/angle_bound_frame_fields.cpp b/include/igl/angle_bound_frame_fields.cpp
    deleted file mode 100644
    index a953be31c..000000000
    --- a/include/igl/angle_bound_frame_fields.cpp
    +++ /dev/null
    @@ -1,759 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -
    -namespace igl {
    -
    -  template 
    -  class AngleBoundFFSolverData
    -  {
    -    public:
    -      const Eigen::PlainObjectBase &V; int numV;
    -      const Eigen::PlainObjectBase &F; int numF;
    -
    -      Eigen::MatrixXi EV; int numE;
    -      Eigen::MatrixXi F2E;
    -      Eigen::MatrixXi E2F;
    -      Eigen::VectorXd K;
    -
    -      Eigen::VectorXi isBorderEdge;
    -      int numInteriorEdges;
    -      Eigen::Matrix E2F_int;
    -      Eigen::VectorXi indInteriorToFull;
    -      Eigen::VectorXi indFullToInterior;
    -
    -      DerivedV B1, B2, FN;
    -
    -      //laplacians
    -      Eigen::SparseMatrix> DDA, DDB;
    -
    -  private:
    -    IGL_INLINE void computeLaplacians();
    -    IGL_INLINE void computek();
    -    IGL_INLINE void computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D);
    -    IGL_INLINE void precomputeInteriorEdges();
    -
    -public:
    -      IGL_INLINE AngleBoundFFSolverData(const Eigen::PlainObjectBase &_V,
    -                                   const Eigen::PlainObjectBase &_F);
    -  };
    -
    -  template 
    -  class AngleBoundFFSolver
    -  {
    -  public:
    -    IGL_INLINE AngleBoundFFSolver(const AngleBoundFFSolverData &_data,
    -                                  const typename DerivedV::Scalar &_thetaMin = 30,
    -                                 int _maxIter = 50,
    -                                 const typename DerivedV::Scalar &_lambdaInit = 100,
    -                                 const typename DerivedV::Scalar &_lambdaMultFactor = 1.01,
    -                                const bool _doHardConstraints = false);
    -    IGL_INLINE bool solve(const Eigen::VectorXi &isConstrained,
    -                          const Eigen::PlainObjectBase &initialSolution,
    -                          Eigen::PlainObjectBase &output,
    -                          typename DerivedV::Scalar *lambdaOut = NULL);
    -
    -  private:
    -
    -    const AngleBoundFFSolverData &data;
    -
    -    //polyVF data
    -    Eigen::Matrix, Eigen::Dynamic, 1> Acoeff, Bcoeff;
    -    Eigen::Matrix pvU, pvV;
    -    typename DerivedV::Scalar lambda;
    -
    -    //parameters
    -    typename DerivedV::Scalar lambdaInit,lambdaMultFactor;
    -    int maxIter;
    -    typename DerivedV::Scalar thetaMin;
    -    bool doHardConstraints;
    -
    -    typename DerivedV::Scalar computeAngle(const std::complex &u,
    -                                           const std::complex &v);
    -//    IGL_INLINE void computeAngles(Eigen::Matrix &angles);
    -
    -    IGL_INLINE int getNumOutOfBounds();
    -
    -    IGL_INLINE void rotateAroundBisector(const std::complex &uin,
    -                         const std::complex &vin,
    -                         const typename DerivedV::Scalar theta,
    -                         std::complex &uout,
    -                         std::complex &vout);
    -
    -    IGL_INLINE void localStep();
    -
    -    IGL_INLINE void globalStep(const Eigen::Matrix  &isConstrained,
    -                               const Eigen::Matrix, Eigen::Dynamic, 1>  &Ak,
    -                               const Eigen::Matrix, Eigen::Dynamic, 1>  &Bk);
    -
    -    IGL_INLINE void minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                         const Eigen::SparseMatrix > &f,
    -                         const Eigen::VectorXi isConstrained,
    -                         const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                                         Eigen::Matrix, Eigen::Dynamic, 1> &x);
    -    IGL_INLINE void setFieldFromCoefficients();
    -    IGL_INLINE void setCoefficientsFromField();
    -
    -  };
    -}
    -
    -//Implementation
    -/***************************** Data ***********************************/
    -
    -template 
    -IGL_INLINE igl::AngleBoundFFSolverData::
    -AngleBoundFFSolverData(const Eigen::PlainObjectBase &_V,
    -                  const Eigen::PlainObjectBase &_F):
    -V(_V),
    -numV(_V.rows()),
    -F(_F),
    -numF(_F.rows())
    -{
    -  igl::edge_topology(V,F,EV,F2E,E2F);
    -  numE = EV.rows();
    -
    -  precomputeInteriorEdges();
    -
    -  igl::local_basis(V,F,B1,B2,FN);
    -
    -  computek();
    -
    -  computeLaplacians();
    -
    -};
    -
    -
    -template 
    -IGL_INLINE void igl::AngleBoundFFSolverData::computeLaplacians()
    -{
    -  computeCoefficientLaplacian(2, DDA);
    -
    -  computeCoefficientLaplacian(4, DDB);
    -}
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolverData::
    -precomputeInteriorEdges()
    -{
    -  // Flag border edges
    -  numInteriorEdges = 0;
    -  isBorderEdge.setZero(numE,1);
    -  indFullToInterior = Eigen::VectorXi::Constant(numE,-1);
    -
    -  for(unsigned i=0; i
    -IGL_INLINE void igl::AngleBoundFFSolverData::
    -computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D)
    -{
    -  std::vector >> tripletList;
    -
    -  // For every non-border edge
    -  for (unsigned eid=0; eid >(fid0,
    -                                                                                     fid0,
    -                                                                                     std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                                                                     fid1,
    -                                                                                     std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid0,
    -                                                                                     fid1,
    -                                                                                     -1.*std::polar(1.,-1.*n*K[eid])));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                                                                     fid0,
    -                                                                                     -1.*std::polar(1.,1.*n*K[eid])));
    -
    -    }
    -  }
    -  D.resize(numF,numF);
    -  D.setFromTriplets(tripletList.begin(), tripletList.end());
    -
    -
    -}
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolverData::
    -computek()
    -{
    -  K.setZero(numE);
    -  // For every non-border edge
    -  for (unsigned eid=0; eid N0 = FN.row(fid0);
    -      Eigen::Matrix N1 = FN.row(fid1);
    -
    -      // find common edge on triangle 0 and 1
    -      int fid0_vc = -1;
    -      int fid1_vc = -1;
    -      for (unsigned i=0;i<3;++i)
    -      {
    -        if (F2E(fid0,i) == eid)
    -          fid0_vc = i;
    -        if (F2E(fid1,i) == eid)
    -          fid1_vc = i;
    -      }
    -      assert(fid0_vc != -1);
    -      assert(fid1_vc != -1);
    -
    -      Eigen::Matrix common_edge = V.row(F(fid0,(fid0_vc+1)%3)) - V.row(F(fid0,fid0_vc));
    -      common_edge.normalize();
    -
    -      // Map the two triangles in a new space where the common edge is the x axis and the N0 the z axis
    -      Eigen::Matrix P;
    -      Eigen::Matrix o = V.row(F(fid0,fid0_vc));
    -      Eigen::Matrix tmp = -N0.cross(common_edge);
    -      P << common_edge, tmp, N0;
    -      //      P.transposeInPlace();
    -
    -
    -      Eigen::Matrix V0;
    -      V0.row(0) = V.row(F(fid0,0)) -o;
    -      V0.row(1) = V.row(F(fid0,1)) -o;
    -      V0.row(2) = V.row(F(fid0,2)) -o;
    -
    -      V0 = (P*V0.transpose()).transpose();
    -
    -      Eigen::Matrix V1;
    -      V1.row(0) = V.row(F(fid1,0)) -o;
    -      V1.row(1) = V.row(F(fid1,1)) -o;
    -      V1.row(2) = V.row(F(fid1,2)) -o;
    -      V1 = (P*V1.transpose()).transpose();
    -
    -      // compute rotation R such that R * N1 = N0
    -      // i.e. map both triangles to the same plane
    -      double alpha = -atan2(V1((fid1_vc+2)%3,2),V1((fid1_vc+2)%3,1));
    -
    -      Eigen::Matrix R;
    -      R << 1,          0,            0,
    -      0, cos(alpha), -sin(alpha) ,
    -      0, sin(alpha),  cos(alpha);
    -      V1 = (R*V1.transpose()).transpose();
    -
    -      // measure the angle between the reference frames
    -      // k_ij is the angle between the triangle on the left and the one on the right
    -      Eigen::Matrix ref0 = V0.row(1) - V0.row(0);
    -      Eigen::Matrix ref1 = V1.row(1) - V1.row(0);
    -
    -      ref0.normalize();
    -      ref1.normalize();
    -
    -      double ktemp = atan2(ref1(1),ref1(0)) - atan2(ref0(1),ref0(0));
    -
    -      // just to be sure, rotate ref0 using angle ktemp...
    -      Eigen::Matrix R2;
    -      R2 << cos(ktemp), -sin(ktemp), sin(ktemp), cos(ktemp);
    -
    -      Eigen::Matrix tmp1 = R2*(ref0.head(2)).transpose();
    -
    -      K[eid] = ktemp;
    -    }
    -  }
    -
    -}
    -
    -
    -/***************************** Solver ***********************************/
    -template 
    -IGL_INLINE igl::AngleBoundFFSolver::
    -AngleBoundFFSolver(const AngleBoundFFSolverData &_data,
    -                   const typename DerivedV::Scalar &_thetaMin,
    -                  int _maxIter,
    -                  const typename DerivedV::Scalar &_lambdaInit,
    -                  const typename DerivedV::Scalar &_lambdaMultFactor,
    -                   const bool _doHardConstraints):
    -data(_data),
    -lambdaInit(_lambdaInit),
    -maxIter(_maxIter),
    -lambdaMultFactor(_lambdaMultFactor),
    -doHardConstraints(_doHardConstraints),
    -thetaMin(_thetaMin)
    -{
    -  Acoeff.resize(data.numF,1);
    -  Bcoeff.resize(data.numF,1);
    -  pvU.setZero(data.numF, 2);
    -  pvV.setZero(data.numF, 2);
    -};
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -rotateAroundBisector(const std::complex &uin,
    -                          const std::complex &vin,
    -                          const typename DerivedV::Scalar diff,
    -                          std::complex &uout,
    -                          std::complex &vout)
    -{
    -  //rotate 2D complex vectors u and v around their bisector so that their
    -  //angle is at least theta
    -
    -  uout = uin;
    -  vout = vin;
    -  typename DerivedV::Scalar au = arg(uin);
    -  typename DerivedV::Scalar av = arg(vin);
    -  if (au
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -localStep()
    -{
    -  for (int j =0; j u(pvU(j,0),pvU(j,1));
    -    std::complex v(pvV(j,0),pvV(j,1));
    -
    -    typename DerivedV::Scalar current_angle = computeAngle(u, v);
    -    if (current_angle=0.5*M_PI || arg(u)<-0.5*M_PI ))
    -        u = -u;
    -      if ((arg(v)>=0.5*M_PI || arg(v)<-0.5*M_PI ))
    -        v = -v;
    -      assert(fabs(computeAngle(u, v) - current_angle)<1e-5);
    -
    -      if ( fabs(arg(u) - arg(v)) >0.5*M_PI )
    -        v = -v;
    -      assert(fabs(computeAngle(u, v) - current_angle)<1e-5);
    -
    -      std::complex u1, v1;
    -      typename DerivedV::Scalar diff = thetaMin*M_PI/180 - current_angle + 1e-6;
    -      rotateAroundBisector(u, v, diff, u1, v1);
    -
    -//      if (computeAngle(u1, v1)=thetaMin*M_PI/180);
    -
    -
    -      pvU.row(j) << real(u1),imag(u1);
    -      pvV.row(j) << real(v1),imag(v1);
    -    }
    -  }
    -
    -}
    -
    -
    -//
    -//template
    -//IGL_INLINE void igl::AngleBoundFFSolver::
    -//computeAngles(Eigen::Matrix &angles)
    -//{
    -//  angles.resize(data.numF,1);
    -//  for (int i =0; i u(pvU(i,0),pvU(i,1));
    -//    std::complex v(pvV(i,0),pvV(i,1));
    -//    angles[i] = fabs(arg(u) - arg(v));
    -//    if (angles[i]>M_PI)
    -//      angles[i] = 2*M_PI-angles[i];
    -//    if (angles[i]>.5*M_PI)
    -//      angles[i] = M_PI-angles[i];
    -//  }
    -//}
    -
    -template
    -IGL_INLINE typename DerivedV::Scalar igl::AngleBoundFFSolver::
    -computeAngle(const std::complex &u,
    -             const std::complex &v)
    -{
    -  typename DerivedV::Scalar angle = std::min(fabs(arg(u*conj(v))), fabs(arg(u*conj(-v))));
    -
    -//  typename DerivedV::Scalar angle;
    -//  typename DerivedV::Scalar a1 = fabs(arg(u*conj(v)));
    -//  typename DerivedV::Scalar a2 = fabs(arg(u*conj(-v)));
    -//  if (a1 < a2)
    -//    angle = a1;
    -//  else
    -//  {
    -//    angle = a2; v = -v;
    -//  }
    -
    -//  typename DerivedV::Scalar angle = fabs(arg(u) - arg(v));
    -//  if (angle>M_PI)
    -//  {
    -//    u = -u;
    -//    angle = fabs(arg(u) - arg(v));
    -//  };
    -//
    -//  if (angle>.5*M_PI)
    -//  {
    -//    v = -v;
    -//    angle = fabs(arg(u) - arg(v));
    -//  };
    -//
    -//  assert(fabs(angle-angle1)<1e-6);
    -
    -//  if (angle>M_PI)
    -//    angle = 2*M_PI-angle;
    -//  if (angle>.5*M_PI)
    -//    angle = M_PI-angle;
    -
    -//  typename DerivedV::Scalar angle = fabs(arg(u) - arg(v));
    -//    if (angle>M_PI)
    -//      angle = 2*M_PI-angle;
    -//    if (angle>.5*M_PI)
    -//      angle = M_PI-angle;
    -
    -  assert(angle <= .5*M_PI && angle >0);
    -
    -  return angle;
    -}
    -
    -
    -template
    -IGL_INLINE int igl::AngleBoundFFSolver::
    -getNumOutOfBounds()
    -{
    -  Eigen::Matrix angles;
    -//  computeAngles(angles);
    -  int numOoB = 0;
    -  for (int i =0; i u(pvU(i,0),pvU(i,1));
    -    std::complex v(pvV(i,0),pvV(i,1));
    -    typename DerivedV::Scalar angle = computeAngle(u,v);
    -//    if (angles[i] 
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -setCoefficientsFromField()
    -{
    -  for (int i = 0; i  u(pvU(i,0),pvU(i,1));
    -    std::complex v(pvV(i,0),pvV(i,1));
    -    Acoeff(i) = u*u+v*v;
    -    Bcoeff(i) = u*u*v*v;
    -  }
    -}
    -
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -globalStep(const Eigen::Matrix  &isConstrained,
    -           const Eigen::Matrix, Eigen::Dynamic, 1>  &Ak,
    -           const Eigen::Matrix, Eigen::Dynamic, 1>  &Bk)
    -{
    -  setCoefficientsFromField();
    -
    -  Eigen::SparseMatrix > I;
    -  igl::speye(data.numF, data.numF, I);
    -  Eigen::SparseMatrix > QA = data.DDA+lambda*I;
    -  Eigen::SparseMatrix > fA = (-2*lambda*Acoeff).sparseView();
    -
    -  Eigen::SparseMatrix > QB = data.DDB+lambda*I;
    -  Eigen::SparseMatrix > fB = (-2*lambda*I*Bcoeff).sparseView();
    -
    -  if(doHardConstraints)
    -  {
    -    minQuadWithKnownMini(QA, fA, isConstrained, Ak, Acoeff);
    -    minQuadWithKnownMini(QB, fB, isConstrained, Bk, Bcoeff);
    -  }
    -  else
    -  {
    -    Eigen::Matrixisknown_; isknown_.setZero(data.numF,1);
    -    Eigen::Matrix, Eigen::Dynamic, 1> xknown_; xknown_.setZero(0,1);
    -    minQuadWithKnownMini(QA, fA, isknown_, xknown_, Acoeff);
    -    minQuadWithKnownMini(QB, fB, isknown_, xknown_, Bcoeff);
    -  }
    -  setFieldFromCoefficients();
    -
    -}
    -
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -setFieldFromCoefficients()
    -{
    -  for (int i = 0; i , Eigen::Dynamic, 1> polyCoeff(5,1);
    -    polyCoeff<<1., 0., -Acoeff(i), 0., Bcoeff(i);
    -
    -    Eigen::Matrix, Eigen::Dynamic, 1> roots;
    -    polyRoots>(polyCoeff,roots);
    -
    -    std::complex u = roots[0];
    -    int maxi = -1;
    -    float maxd = -1;
    -    for (int k =1; k<4; ++k)
    -    {
    -      float dist = abs(roots[k]+u);
    -      if (dist>maxd)
    -      {
    -        maxd = dist;
    -        maxi = k;
    -      }
    -    }
    -    std::complex v = roots[maxi];
    -    pvU(i,0) = real(u); pvU(i,1) = imag(u);
    -    pvV(i,0) = real(v); pvV(i,1) = imag(v);
    -  }
    -
    -}
    -
    -template
    -IGL_INLINE void igl::AngleBoundFFSolver::
    -minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                     const Eigen::SparseMatrix > &f,
    -                     const Eigen::VectorXi isConstrained,
    -                     const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                     Eigen::Matrix, Eigen::Dynamic, 1> &x)
    -{
    -  int N = Q.rows();
    -
    -  int nc = xknown.rows();
    -  Eigen::VectorXi known; known.setZero(nc,1);
    -  Eigen::VectorXi unknown; unknown.setZero(N-nc,1);
    -
    -  int indk = 0, indu = 0;
    -  for (int i = 0; i> Quu, Quk;
    -
    -  igl::slice(Q,unknown, unknown, Quu);
    -  igl::slice(Q,unknown, known, Quk);
    -
    -
    -  std::vector > > tripletList;
    -
    -  Eigen::SparseMatrix > fu(N-nc,1);
    -
    -  igl::slice(f,unknown, Eigen::VectorXi::Zero(1,1), fu);
    -
    -  Eigen::SparseMatrix > rhs = (Quk*xknown).sparseView()+.5*fu;
    -
    -  Eigen::SparseLU< Eigen::SparseMatrix>> solver;
    -  solver.compute(-Quu);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Decomposition failed!"<>  b  = solver.solve(rhs);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Solving failed!"<
    -IGL_INLINE bool igl::AngleBoundFFSolver::
    -solve(const Eigen::VectorXi &isConstrained,
    -      const Eigen::PlainObjectBase &initialSolution,
    -      Eigen::PlainObjectBase &output,
    -      typename DerivedV::Scalar *lambdaOut)
    -{
    -  int numConstrained = isConstrained.sum();
    -  // coefficient values
    -  Eigen::Matrix, Eigen::Dynamic, 1> Ak, Bk;
    -
    -  pvU.resize(data.numF,2);
    -  pvV.resize(data.numF,2);
    -  for (int fi = 0; fi  &b1 = data.B1.row(fi);
    -    const Eigen::Matrix &b2 = data.B2.row(fi);
    -    const Eigen::Matrix &u3 = initialSolution.block(fi,0,1,3);
    -    const Eigen::Matrix &v3 = initialSolution.block(fi,3,1,3);
    -    pvU.row(fi)<< u3.dot(b1), u3.dot(b2);
    -    pvV.row(fi)<< v3.dot(b1), v3.dot(b2);
    -  }
    -  setCoefficientsFromField();
    -  Ak.resize(numConstrained,1);
    -  Bk.resize(numConstrained,1);
    -  int ind = 0;
    -  for (int i = 0; i  &b1 = data.B1.row(fi);
    -    const Eigen::Matrix &b2 = data.B2.row(fi);
    -    output.block(fi,0, 1, 3) = pvU(fi,0)*b1 + pvU(fi,1)*b2;
    -    output.block(fi,3, 1, 3) = pvV(fi,0)*b1 + pvV(fi,1)*b2;
    -  }
    -
    -  if (lambdaOut)
    -    *lambdaOut = lambda;
    -
    -
    -  return (oob==0);
    -}
    -
    -
    -
    -template 
    -IGL_INLINE bool igl::angle_bound_frame_fields(const Eigen::PlainObjectBase &V,
    -                                            const Eigen::PlainObjectBase &F,
    -                                              const typename DerivedV::Scalar &thetaMin,
    -                                            const Eigen::VectorXi &isConstrained,
    -                                            const Eigen::PlainObjectBase &initialSolution,
    -                                            Eigen::PlainObjectBase &output,
    -                                            int maxIter,
    -                                            const typename DerivedV::Scalar &lambdaInit,
    -                                            const typename DerivedV::Scalar &lambdaMultFactor,
    -                                              const bool doHardConstraints)
    -{
    -  igl::AngleBoundFFSolverData csdata(V, F);
    -  igl::AngleBoundFFSolver cs(csdata, thetaMin, maxIter, lambdaInit, lambdaMultFactor, doHardConstraints);
    -  return (cs.solve(isConstrained, initialSolution, output));
    -}
    -
    -template 
    -IGL_INLINE bool igl::angle_bound_frame_fields(const igl::AngleBoundFFSolverData &csdata,
    -                                              const typename DerivedV::Scalar &thetaMin,
    -                                            const Eigen::VectorXi &isConstrained,
    -                                            const Eigen::PlainObjectBase &initialSolution,
    -                                            Eigen::PlainObjectBase &output,
    -                                            int maxIter,
    -                                            const typename DerivedV::Scalar &lambdaInit,
    -                                            const typename DerivedV::Scalar &lambdaMultFactor,
    -                                              const bool doHardConstraints,
    -                                            typename DerivedV::Scalar *lambdaOut)
    -{
    -  igl::AngleBoundFFSolver cs(csdata, thetaMin, maxIter, lambdaInit, lambdaMultFactor, doHardConstraints);
    -  return (cs.solve(isConstrained, initialSolution, output, lambdaOut));
    -}
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -#endif
    diff --git a/include/igl/angle_bound_frame_fields.h b/include/igl/angle_bound_frame_fields.h
    deleted file mode 100644
    index b0df04053..000000000
    --- a/include/igl/angle_bound_frame_fields.h
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_ANGLE_BOUND_FRAME_FIELDS_H
    -#define IGL_ANGLE_BOUND_FRAME_FIELDS_H
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  //todo
    -  /// Given 2 vectors centered on origin calculate the rotation matrix from first to the second
    -
    -  // Inputs:
    -  //   v0, v1         the two #3 by 1 vectors
    -  //   normalized     boolean, if false, then the vectors are normalized prior to the calculation
    -  // Output:
    -  //                  3 by 3 rotation matrix that takes v0 to v1
    -  //
    -  template 
    -  class AngleBoundFFSolverData;
    -
    -  template 
    -  IGL_INLINE bool angle_bound_frame_fields(const Eigen::PlainObjectBase &V,
    -                                         const Eigen::PlainObjectBase &F,
    -                                           const typename DerivedV::Scalar &thetaMin,
    -                                         const Eigen::VectorXi &isConstrained,
    -                                         const Eigen::PlainObjectBase &initialSolution,
    -                                         Eigen::PlainObjectBase &output,
    -                                         int _maxIter = 50,
    -                                         const typename DerivedV::Scalar &_lambdaInit = 100,
    -                                         const typename DerivedV::Scalar &_lambdaMultFactor = 1.5,
    -                                           const bool _doHardConstraints = false);
    -
    -  template 
    -  IGL_INLINE bool angle_bound_frame_fields(const AngleBoundFFSolverData &csdata,
    -                                           const typename DerivedV::Scalar &thetaMin,
    -                                         const Eigen::VectorXi &isConstrained,
    -                                         const Eigen::PlainObjectBase &initialSolution,
    -                                         Eigen::PlainObjectBase &output,
    -                                         int _maxIter = 50,
    -                                         const typename DerivedV::Scalar &_lambdaInit = 100,
    -                                         const typename DerivedV::Scalar &_lambdaMultFactor = 1.5,
    -                                           const bool _doHardConstraints = false,
    -                                         typename DerivedV::Scalar *lambdaOut = NULL);
    -
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "angle_bound_frame_fields.cpp"
    -#endif
    -
    -
    -#endif 
    diff --git a/include/igl/arap_dof.cpp b/include/igl/arap_dof.cpp
    index f5d882f70..033d1deb3 100644
    --- a/include/igl/arap_dof.cpp
    +++ b/include/igl/arap_dof.cpp
    @@ -34,7 +34,7 @@
     // defined if no early exit is supported, i.e., always take a fixed number of iterations
     #define IGL_ARAP_DOF_FIXED_ITERATIONS_COUNT
     
    -// A carefull derivation of this implementation is given in the corresponding
    +// A careful derivation of this implementation is given in the corresponding
     // matlab function arap_dof.m
     template 
     IGL_INLINE bool igl::arap_dof_precomputation(
    @@ -339,7 +339,7 @@ namespace igl
       }
       
       // converts CSM_M_SSCALAR[0], CSM_M_SSCALAR[1], CSM_M_SSCALAR[2] into one
    -  // "condensed" matrix CSM while checking we're not loosing any information by
    +  // "condensed" matrix CSM while checking we're not losing any information by
       // this process; specifically, returns maximal difference from scaled 3x3
       // identity blocks, which should be pretty small number
       template 
    @@ -449,7 +449,7 @@ namespace igl
       }
       
       // converts "Solve1" the "rotations" part of FullSolve matrix (the first part)
    -  // into one "condensed" matrix CSolve1 while checking we're not loosing any
    +  // into one "condensed" matrix CSolve1 while checking we're not losing any
       // information by this process; specifically, returns maximal difference from
       // scaled 3x3 identity blocks, which should be pretty small number
       template 
    diff --git a/include/igl/arap_dof.h b/include/igl/arap_dof.h
    index 211684c00..f3647a3a1 100644
    --- a/include/igl/arap_dof.h
    +++ b/include/igl/arap_dof.h
    @@ -127,7 +127,7 @@ namespace igl
       //   L0  #handles * dim * dim+1 list of initial guess transformation entries,
       //     also holds fixed transformation entries for fixed handles
       //   max_iters  maximum number of iterations
    -  //   tol  stopping critera parameter. If variables (linear transformation
    +  //   tol  stopping criteria parameter. If variables (linear transformation
       //     matrix entries) change by less than 'tol' the optimization terminates,
       //       0.75 (weak tolerance)
       //       0.0 (extreme tolerance)
    diff --git a/include/igl/barycenter.cpp b/include/igl/barycenter.cpp
    index e005fd5cf..065f82aab 100644
    --- a/include/igl/barycenter.cpp
    +++ b/include/igl/barycenter.cpp
    @@ -34,6 +34,10 @@ IGL_INLINE void igl::barycenter(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::barycenter, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/bbw.h b/include/igl/bbw.h
    index 9eaf250d6..bec20bb98 100644
    --- a/include/igl/bbw.h
    +++ b/include/igl/bbw.h
    @@ -49,7 +49,7 @@ namespace igl
       //   Ele  #Elements by simplex-size list of element indices
       //   b  #b boundary indices into V
       //   bc #b by #W list of boundary values
    -  //   data  object containing options, intial guess --> solution and results
    +  //   data  object containing options, initial guess --> solution and results
       // Outputs:
       //   W  #V by #W list of *unnormalized* weights to normalize use
       //    igl::normalize_row_sums(W,W);
    diff --git a/include/igl/bijective_composite_harmonic_mapping.h b/include/igl/bijective_composite_harmonic_mapping.h
    index f4288c543..f055e5293 100644
    --- a/include/igl/bijective_composite_harmonic_mapping.h
    +++ b/include/igl/bijective_composite_harmonic_mapping.h
    @@ -29,7 +29,7 @@ namespace igl
       //   bc  #b by 2 list of boundary conditions corresponding to b
       // Outputs:
       //   U  #V by 2 list of output mesh vertex locations
    -  // Returns true if and only if U contains a successfull bijectie mapping
    +  // Returns true if and only if U contains a successful bijectie mapping
       //
       // 
       template <
    @@ -46,12 +46,12 @@ namespace igl
         Eigen::PlainObjectBase & U);
       //
       // Inputs:
    -  //   min_steps  mininum number of steps to take from V(b,:) to bc
    -  //   max_steps  mininum number of steps to take from V(b,:) to bc (if
    +  //   min_steps  minimum number of steps to take from V(b,:) to bc
    +  //   max_steps  minimum number of steps to take from V(b,:) to bc (if
       //     max_steps == min_steps then no further number of steps will be tried)
       //   num_inner_iters  number of iterations of harmonic solves to run after
       //     for each morph step (to try to push flips back in)
    -  //   test_for_flips  wether to check if flips occured (and trigger more
    +  //   test_for_flips  whether to check if flips occurred (and trigger more
       //     steps). if test_for_flips = false then this function always returns
       //     true
       // 
    diff --git a/include/igl/boundary_conditions.cpp b/include/igl/boundary_conditions.cpp
    index b8e0a15a8..f7146cd70 100644
    --- a/include/igl/boundary_conditions.cpp
    +++ b/include/igl/boundary_conditions.cpp
    @@ -146,7 +146,7 @@ IGL_INLINE bool igl::boundary_conditions(
         bc(bim[bci[i]],bcj[i]) = bcv[i];
       }
     
    -  // Normalize accross rows so that conditions sum to one
    +  // Normalize across rows so that conditions sum to one
       for(i = 0;i(double, double, double,
     template void igl::colon(int, int, Eigen::Matrix&);
     #ifdef WIN32
     template void igl::colon(int, long long, class Eigen::Matrix &);
    +template void igl::colon(int, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> &);
     #endif
     #endif
    diff --git a/include/igl/colormap.cpp b/include/igl/colormap.cpp
    index 9a7210c62..560cbe6c0 100644
    --- a/include/igl/colormap.cpp
    +++ b/include/igl/colormap.cpp
    @@ -6,1457 +6,1429 @@
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "colormap.h"
    +#include "jet.h"
    +#include 
     
     // One of the new matplotlib colormaps by Nathaniel J.Smith, Stefan van der Walt, and (in the case of viridis) Eric Firing.
     // Released under the CC0 license / public domain dedication
     
    +namespace igl
    +{
     static double inferno_cm[256][3] = {
    -	{ 0.001462, 0.000466, 0.013866 },
    -	{ 0.002267, 0.001270, 0.018570 },
    -	{ 0.003299, 0.002249, 0.024239 },
    -	{ 0.004547, 0.003392, 0.030909 },
    -	{ 0.006006, 0.004692, 0.038558 },
    -	{ 0.007676, 0.006136, 0.046836 },
    -	{ 0.009561, 0.007713, 0.055143 },
    -	{ 0.011663, 0.009417, 0.063460 },
    -	{ 0.013995, 0.011225, 0.071862 },
    -	{ 0.016561, 0.013136, 0.080282 },
    -	{ 0.019373, 0.015133, 0.088767 },
    -	{ 0.022447, 0.017199, 0.097327 },
    -	{ 0.025793, 0.019331, 0.105930 },
    -	{ 0.029432, 0.021503, 0.114621 },
    -	{ 0.033385, 0.023702, 0.123397 },
    -	{ 0.037668, 0.025921, 0.132232 },
    -	{ 0.042253, 0.028139, 0.141141 },
    -	{ 0.046915, 0.030324, 0.150164 },
    -	{ 0.051644, 0.032474, 0.159254 },
    -	{ 0.056449, 0.034569, 0.168414 },
    -	{ 0.061340, 0.036590, 0.177642 },
    -	{ 0.066331, 0.038504, 0.186962 },
    -	{ 0.071429, 0.040294, 0.196354 },
    -	{ 0.076637, 0.041905, 0.205799 },
    -	{ 0.081962, 0.043328, 0.215289 },
    -	{ 0.087411, 0.044556, 0.224813 },
    -	{ 0.092990, 0.045583, 0.234358 },
    -	{ 0.098702, 0.046402, 0.243904 },
    -	{ 0.104551, 0.047008, 0.253430 },
    -	{ 0.110536, 0.047399, 0.262912 },
    -	{ 0.116656, 0.047574, 0.272321 },
    -	{ 0.122908, 0.047536, 0.281624 },
    -	{ 0.129285, 0.047293, 0.290788 },
    -	{ 0.135778, 0.046856, 0.299776 },
    -	{ 0.142378, 0.046242, 0.308553 },
    -	{ 0.149073, 0.045468, 0.317085 },
    -	{ 0.155850, 0.044559, 0.325338 },
    -	{ 0.162689, 0.043554, 0.333277 },
    -	{ 0.169575, 0.042489, 0.340874 },
    -	{ 0.176493, 0.041402, 0.348111 },
    -	{ 0.183429, 0.040329, 0.354971 },
    -	{ 0.190367, 0.039309, 0.361447 },
    -	{ 0.197297, 0.038400, 0.367535 },
    -	{ 0.204209, 0.037632, 0.373238 },
    -	{ 0.211095, 0.037030, 0.378563 },
    -	{ 0.217949, 0.036615, 0.383522 },
    -	{ 0.224763, 0.036405, 0.388129 },
    -	{ 0.231538, 0.036405, 0.392400 },
    -	{ 0.238273, 0.036621, 0.396353 },
    -	{ 0.244967, 0.037055, 0.400007 },
    -	{ 0.251620, 0.037705, 0.403378 },
    -	{ 0.258234, 0.038571, 0.406485 },
    -	{ 0.264810, 0.039647, 0.409345 },
    -	{ 0.271347, 0.040922, 0.411976 },
    -	{ 0.277850, 0.042353, 0.414392 },
    -	{ 0.284321, 0.043933, 0.416608 },
    -	{ 0.290763, 0.045644, 0.418637 },
    -	{ 0.297178, 0.047470, 0.420491 },
    -	{ 0.303568, 0.049396, 0.422182 },
    -	{ 0.309935, 0.051407, 0.423721 },
    -	{ 0.316282, 0.053490, 0.425116 },
    -	{ 0.322610, 0.055634, 0.426377 },
    -	{ 0.328921, 0.057827, 0.427511 },
    -	{ 0.335217, 0.060060, 0.428524 },
    -	{ 0.341500, 0.062325, 0.429425 },
    -	{ 0.347771, 0.064616, 0.430217 },
    -	{ 0.354032, 0.066925, 0.430906 },
    -	{ 0.360284, 0.069247, 0.431497 },
    -	{ 0.366529, 0.071579, 0.431994 },
    -	{ 0.372768, 0.073915, 0.432400 },
    -	{ 0.379001, 0.076253, 0.432719 },
    -	{ 0.385228, 0.078591, 0.432955 },
    -	{ 0.391453, 0.080927, 0.433109 },
    -	{ 0.397674, 0.083257, 0.433183 },
    -	{ 0.403894, 0.085580, 0.433179 },
    -	{ 0.410113, 0.087896, 0.433098 },
    -	{ 0.416331, 0.090203, 0.432943 },
    -	{ 0.422549, 0.092501, 0.432714 },
    -	{ 0.428768, 0.094790, 0.432412 },
    -	{ 0.434987, 0.097069, 0.432039 },
    -	{ 0.441207, 0.099338, 0.431594 },
    -	{ 0.447428, 0.101597, 0.431080 },
    -	{ 0.453651, 0.103848, 0.430498 },
    -	{ 0.459875, 0.106089, 0.429846 },
    -	{ 0.466100, 0.108322, 0.429125 },
    -	{ 0.472328, 0.110547, 0.428334 },
    -	{ 0.478558, 0.112764, 0.427475 },
    -	{ 0.484789, 0.114974, 0.426548 },
    -	{ 0.491022, 0.117179, 0.425552 },
    -	{ 0.497257, 0.119379, 0.424488 },
    -	{ 0.503493, 0.121575, 0.423356 },
    -	{ 0.509730, 0.123769, 0.422156 },
    -	{ 0.515967, 0.125960, 0.420887 },
    -	{ 0.522206, 0.128150, 0.419549 },
    -	{ 0.528444, 0.130341, 0.418142 },
    -	{ 0.534683, 0.132534, 0.416667 },
    -	{ 0.540920, 0.134729, 0.415123 },
    -	{ 0.547157, 0.136929, 0.413511 },
    -	{ 0.553392, 0.139134, 0.411829 },
    -	{ 0.559624, 0.141346, 0.410078 },
    -	{ 0.565854, 0.143567, 0.408258 },
    -	{ 0.572081, 0.145797, 0.406369 },
    -	{ 0.578304, 0.148039, 0.404411 },
    -	{ 0.584521, 0.150294, 0.402385 },
    -	{ 0.590734, 0.152563, 0.400290 },
    -	{ 0.596940, 0.154848, 0.398125 },
    -	{ 0.603139, 0.157151, 0.395891 },
    -	{ 0.609330, 0.159474, 0.393589 },
    -	{ 0.615513, 0.161817, 0.391219 },
    -	{ 0.621685, 0.164184, 0.388781 },
    -	{ 0.627847, 0.166575, 0.386276 },
    -	{ 0.633998, 0.168992, 0.383704 },
    -	{ 0.640135, 0.171438, 0.381065 },
    -	{ 0.646260, 0.173914, 0.378359 },
    -	{ 0.652369, 0.176421, 0.375586 },
    -	{ 0.658463, 0.178962, 0.372748 },
    -	{ 0.664540, 0.181539, 0.369846 },
    -	{ 0.670599, 0.184153, 0.366879 },
    -	{ 0.676638, 0.186807, 0.363849 },
    -	{ 0.682656, 0.189501, 0.360757 },
    -	{ 0.688653, 0.192239, 0.357603 },
    -	{ 0.694627, 0.195021, 0.354388 },
    -	{ 0.700576, 0.197851, 0.351113 },
    -	{ 0.706500, 0.200728, 0.347777 },
    -	{ 0.712396, 0.203656, 0.344383 },
    -	{ 0.718264, 0.206636, 0.340931 },
    -	{ 0.724103, 0.209670, 0.337424 },
    -	{ 0.729909, 0.212759, 0.333861 },
    -	{ 0.735683, 0.215906, 0.330245 },
    -	{ 0.741423, 0.219112, 0.326576 },
    -	{ 0.747127, 0.222378, 0.322856 },
    -	{ 0.752794, 0.225706, 0.319085 },
    -	{ 0.758422, 0.229097, 0.315266 },
    -	{ 0.764010, 0.232554, 0.311399 },
    -	{ 0.769556, 0.236077, 0.307485 },
    -	{ 0.775059, 0.239667, 0.303526 },
    -	{ 0.780517, 0.243327, 0.299523 },
    -	{ 0.785929, 0.247056, 0.295477 },
    -	{ 0.791293, 0.250856, 0.291390 },
    -	{ 0.796607, 0.254728, 0.287264 },
    -	{ 0.801871, 0.258674, 0.283099 },
    -	{ 0.807082, 0.262692, 0.278898 },
    -	{ 0.812239, 0.266786, 0.274661 },
    -	{ 0.817341, 0.270954, 0.270390 },
    -	{ 0.822386, 0.275197, 0.266085 },
    -	{ 0.827372, 0.279517, 0.261750 },
    -	{ 0.832299, 0.283913, 0.257383 },
    -	{ 0.837165, 0.288385, 0.252988 },
    -	{ 0.841969, 0.292933, 0.248564 },
    -	{ 0.846709, 0.297559, 0.244113 },
    -	{ 0.851384, 0.302260, 0.239636 },
    -	{ 0.855992, 0.307038, 0.235133 },
    -	{ 0.860533, 0.311892, 0.230606 },
    -	{ 0.865006, 0.316822, 0.226055 },
    -	{ 0.869409, 0.321827, 0.221482 },
    -	{ 0.873741, 0.326906, 0.216886 },
    -	{ 0.878001, 0.332060, 0.212268 },
    -	{ 0.882188, 0.337287, 0.207628 },
    -	{ 0.886302, 0.342586, 0.202968 },
    -	{ 0.890341, 0.347957, 0.198286 },
    -	{ 0.894305, 0.353399, 0.193584 },
    -	{ 0.898192, 0.358911, 0.188860 },
    -	{ 0.902003, 0.364492, 0.184116 },
    -	{ 0.905735, 0.370140, 0.179350 },
    -	{ 0.909390, 0.375856, 0.174563 },
    -	{ 0.912966, 0.381636, 0.169755 },
    -	{ 0.916462, 0.387481, 0.164924 },
    -	{ 0.919879, 0.393389, 0.160070 },
    -	{ 0.923215, 0.399359, 0.155193 },
    -	{ 0.926470, 0.405389, 0.150292 },
    -	{ 0.929644, 0.411479, 0.145367 },
    -	{ 0.932737, 0.417627, 0.140417 },
    -	{ 0.935747, 0.423831, 0.135440 },
    -	{ 0.938675, 0.430091, 0.130438 },
    -	{ 0.941521, 0.436405, 0.125409 },
    -	{ 0.944285, 0.442772, 0.120354 },
    -	{ 0.946965, 0.449191, 0.115272 },
    -	{ 0.949562, 0.455660, 0.110164 },
    -	{ 0.952075, 0.462178, 0.105031 },
    -	{ 0.954506, 0.468744, 0.099874 },
    -	{ 0.956852, 0.475356, 0.094695 },
    -	{ 0.959114, 0.482014, 0.089499 },
    -	{ 0.961293, 0.488716, 0.084289 },
    -	{ 0.963387, 0.495462, 0.079073 },
    -	{ 0.965397, 0.502249, 0.073859 },
    -	{ 0.967322, 0.509078, 0.068659 },
    -	{ 0.969163, 0.515946, 0.063488 },
    -	{ 0.970919, 0.522853, 0.058367 },
    -	{ 0.972590, 0.529798, 0.053324 },
    -	{ 0.974176, 0.536780, 0.048392 },
    -	{ 0.975677, 0.543798, 0.043618 },
    -	{ 0.977092, 0.550850, 0.039050 },
    -	{ 0.978422, 0.557937, 0.034931 },
    -	{ 0.979666, 0.565057, 0.031409 },
    -	{ 0.980824, 0.572209, 0.028508 },
    -	{ 0.981895, 0.579392, 0.026250 },
    -	{ 0.982881, 0.586606, 0.024661 },
    -	{ 0.983779, 0.593849, 0.023770 },
    -	{ 0.984591, 0.601122, 0.023606 },
    -	{ 0.985315, 0.608422, 0.024202 },
    -	{ 0.985952, 0.615750, 0.025592 },
    -	{ 0.986502, 0.623105, 0.027814 },
    -	{ 0.986964, 0.630485, 0.030908 },
    -	{ 0.987337, 0.637890, 0.034916 },
    -	{ 0.987622, 0.645320, 0.039886 },
    -	{ 0.987819, 0.652773, 0.045581 },
    -	{ 0.987926, 0.660250, 0.051750 },
    -	{ 0.987945, 0.667748, 0.058329 },
    -	{ 0.987874, 0.675267, 0.065257 },
    -	{ 0.987714, 0.682807, 0.072489 },
    -	{ 0.987464, 0.690366, 0.079990 },
    -	{ 0.987124, 0.697944, 0.087731 },
    -	{ 0.986694, 0.705540, 0.095694 },
    -	{ 0.986175, 0.713153, 0.103863 },
    -	{ 0.985566, 0.720782, 0.112229 },
    -	{ 0.984865, 0.728427, 0.120785 },
    -	{ 0.984075, 0.736087, 0.129527 },
    -	{ 0.983196, 0.743758, 0.138453 },
    -	{ 0.982228, 0.751442, 0.147565 },
    -	{ 0.981173, 0.759135, 0.156863 },
    -	{ 0.980032, 0.766837, 0.166353 },
    -	{ 0.978806, 0.774545, 0.176037 },
    -	{ 0.977497, 0.782258, 0.185923 },
    -	{ 0.976108, 0.789974, 0.196018 },
    -	{ 0.974638, 0.797692, 0.206332 },
    -	{ 0.973088, 0.805409, 0.216877 },
    -	{ 0.971468, 0.813122, 0.227658 },
    -	{ 0.969783, 0.820825, 0.238686 },
    -	{ 0.968041, 0.828515, 0.249972 },
    -	{ 0.966243, 0.836191, 0.261534 },
    -	{ 0.964394, 0.843848, 0.273391 },
    -	{ 0.962517, 0.851476, 0.285546 },
    -	{ 0.960626, 0.859069, 0.298010 },
    -	{ 0.958720, 0.866624, 0.310820 },
    -	{ 0.956834, 0.874129, 0.323974 },
    -	{ 0.954997, 0.881569, 0.337475 },
    -	{ 0.953215, 0.888942, 0.351369 },
    -	{ 0.951546, 0.896226, 0.365627 },
    -	{ 0.950018, 0.903409, 0.380271 },
    -	{ 0.948683, 0.910473, 0.395289 },
    -	{ 0.947594, 0.917399, 0.410665 },
    -	{ 0.946809, 0.924168, 0.426373 },
    -	{ 0.946392, 0.930761, 0.442367 },
    -	{ 0.946403, 0.937159, 0.458592 },
    -	{ 0.946903, 0.943348, 0.474970 },
    -	{ 0.947937, 0.949318, 0.491426 },
    -	{ 0.949545, 0.955063, 0.507860 },
    -	{ 0.951740, 0.960587, 0.524203 },
    -	{ 0.954529, 0.965896, 0.540361 },
    -	{ 0.957896, 0.971003, 0.556275 },
    -	{ 0.961812, 0.975924, 0.571925 },
    -	{ 0.966249, 0.980678, 0.587206 },
    -	{ 0.971162, 0.985282, 0.602154 },
    -	{ 0.976511, 0.989753, 0.616760 },
    -	{ 0.982257, 0.994109, 0.631017 },
    -	{ 0.988362, 0.998364, 0.644924 }
    +  { 0.001462, 0.000466, 0.013866 },
    +  { 0.002267, 0.001270, 0.018570 },
    +  { 0.003299, 0.002249, 0.024239 },
    +  { 0.004547, 0.003392, 0.030909 },
    +  { 0.006006, 0.004692, 0.038558 },
    +  { 0.007676, 0.006136, 0.046836 },
    +  { 0.009561, 0.007713, 0.055143 },
    +  { 0.011663, 0.009417, 0.063460 },
    +  { 0.013995, 0.011225, 0.071862 },
    +  { 0.016561, 0.013136, 0.080282 },
    +  { 0.019373, 0.015133, 0.088767 },
    +  { 0.022447, 0.017199, 0.097327 },
    +  { 0.025793, 0.019331, 0.105930 },
    +  { 0.029432, 0.021503, 0.114621 },
    +  { 0.033385, 0.023702, 0.123397 },
    +  { 0.037668, 0.025921, 0.132232 },
    +  { 0.042253, 0.028139, 0.141141 },
    +  { 0.046915, 0.030324, 0.150164 },
    +  { 0.051644, 0.032474, 0.159254 },
    +  { 0.056449, 0.034569, 0.168414 },
    +  { 0.061340, 0.036590, 0.177642 },
    +  { 0.066331, 0.038504, 0.186962 },
    +  { 0.071429, 0.040294, 0.196354 },
    +  { 0.076637, 0.041905, 0.205799 },
    +  { 0.081962, 0.043328, 0.215289 },
    +  { 0.087411, 0.044556, 0.224813 },
    +  { 0.092990, 0.045583, 0.234358 },
    +  { 0.098702, 0.046402, 0.243904 },
    +  { 0.104551, 0.047008, 0.253430 },
    +  { 0.110536, 0.047399, 0.262912 },
    +  { 0.116656, 0.047574, 0.272321 },
    +  { 0.122908, 0.047536, 0.281624 },
    +  { 0.129285, 0.047293, 0.290788 },
    +  { 0.135778, 0.046856, 0.299776 },
    +  { 0.142378, 0.046242, 0.308553 },
    +  { 0.149073, 0.045468, 0.317085 },
    +  { 0.155850, 0.044559, 0.325338 },
    +  { 0.162689, 0.043554, 0.333277 },
    +  { 0.169575, 0.042489, 0.340874 },
    +  { 0.176493, 0.041402, 0.348111 },
    +  { 0.183429, 0.040329, 0.354971 },
    +  { 0.190367, 0.039309, 0.361447 },
    +  { 0.197297, 0.038400, 0.367535 },
    +  { 0.204209, 0.037632, 0.373238 },
    +  { 0.211095, 0.037030, 0.378563 },
    +  { 0.217949, 0.036615, 0.383522 },
    +  { 0.224763, 0.036405, 0.388129 },
    +  { 0.231538, 0.036405, 0.392400 },
    +  { 0.238273, 0.036621, 0.396353 },
    +  { 0.244967, 0.037055, 0.400007 },
    +  { 0.251620, 0.037705, 0.403378 },
    +  { 0.258234, 0.038571, 0.406485 },
    +  { 0.264810, 0.039647, 0.409345 },
    +  { 0.271347, 0.040922, 0.411976 },
    +  { 0.277850, 0.042353, 0.414392 },
    +  { 0.284321, 0.043933, 0.416608 },
    +  { 0.290763, 0.045644, 0.418637 },
    +  { 0.297178, 0.047470, 0.420491 },
    +  { 0.303568, 0.049396, 0.422182 },
    +  { 0.309935, 0.051407, 0.423721 },
    +  { 0.316282, 0.053490, 0.425116 },
    +  { 0.322610, 0.055634, 0.426377 },
    +  { 0.328921, 0.057827, 0.427511 },
    +  { 0.335217, 0.060060, 0.428524 },
    +  { 0.341500, 0.062325, 0.429425 },
    +  { 0.347771, 0.064616, 0.430217 },
    +  { 0.354032, 0.066925, 0.430906 },
    +  { 0.360284, 0.069247, 0.431497 },
    +  { 0.366529, 0.071579, 0.431994 },
    +  { 0.372768, 0.073915, 0.432400 },
    +  { 0.379001, 0.076253, 0.432719 },
    +  { 0.385228, 0.078591, 0.432955 },
    +  { 0.391453, 0.080927, 0.433109 },
    +  { 0.397674, 0.083257, 0.433183 },
    +  { 0.403894, 0.085580, 0.433179 },
    +  { 0.410113, 0.087896, 0.433098 },
    +  { 0.416331, 0.090203, 0.432943 },
    +  { 0.422549, 0.092501, 0.432714 },
    +  { 0.428768, 0.094790, 0.432412 },
    +  { 0.434987, 0.097069, 0.432039 },
    +  { 0.441207, 0.099338, 0.431594 },
    +  { 0.447428, 0.101597, 0.431080 },
    +  { 0.453651, 0.103848, 0.430498 },
    +  { 0.459875, 0.106089, 0.429846 },
    +  { 0.466100, 0.108322, 0.429125 },
    +  { 0.472328, 0.110547, 0.428334 },
    +  { 0.478558, 0.112764, 0.427475 },
    +  { 0.484789, 0.114974, 0.426548 },
    +  { 0.491022, 0.117179, 0.425552 },
    +  { 0.497257, 0.119379, 0.424488 },
    +  { 0.503493, 0.121575, 0.423356 },
    +  { 0.509730, 0.123769, 0.422156 },
    +  { 0.515967, 0.125960, 0.420887 },
    +  { 0.522206, 0.128150, 0.419549 },
    +  { 0.528444, 0.130341, 0.418142 },
    +  { 0.534683, 0.132534, 0.416667 },
    +  { 0.540920, 0.134729, 0.415123 },
    +  { 0.547157, 0.136929, 0.413511 },
    +  { 0.553392, 0.139134, 0.411829 },
    +  { 0.559624, 0.141346, 0.410078 },
    +  { 0.565854, 0.143567, 0.408258 },
    +  { 0.572081, 0.145797, 0.406369 },
    +  { 0.578304, 0.148039, 0.404411 },
    +  { 0.584521, 0.150294, 0.402385 },
    +  { 0.590734, 0.152563, 0.400290 },
    +  { 0.596940, 0.154848, 0.398125 },
    +  { 0.603139, 0.157151, 0.395891 },
    +  { 0.609330, 0.159474, 0.393589 },
    +  { 0.615513, 0.161817, 0.391219 },
    +  { 0.621685, 0.164184, 0.388781 },
    +  { 0.627847, 0.166575, 0.386276 },
    +  { 0.633998, 0.168992, 0.383704 },
    +  { 0.640135, 0.171438, 0.381065 },
    +  { 0.646260, 0.173914, 0.378359 },
    +  { 0.652369, 0.176421, 0.375586 },
    +  { 0.658463, 0.178962, 0.372748 },
    +  { 0.664540, 0.181539, 0.369846 },
    +  { 0.670599, 0.184153, 0.366879 },
    +  { 0.676638, 0.186807, 0.363849 },
    +  { 0.682656, 0.189501, 0.360757 },
    +  { 0.688653, 0.192239, 0.357603 },
    +  { 0.694627, 0.195021, 0.354388 },
    +  { 0.700576, 0.197851, 0.351113 },
    +  { 0.706500, 0.200728, 0.347777 },
    +  { 0.712396, 0.203656, 0.344383 },
    +  { 0.718264, 0.206636, 0.340931 },
    +  { 0.724103, 0.209670, 0.337424 },
    +  { 0.729909, 0.212759, 0.333861 },
    +  { 0.735683, 0.215906, 0.330245 },
    +  { 0.741423, 0.219112, 0.326576 },
    +  { 0.747127, 0.222378, 0.322856 },
    +  { 0.752794, 0.225706, 0.319085 },
    +  { 0.758422, 0.229097, 0.315266 },
    +  { 0.764010, 0.232554, 0.311399 },
    +  { 0.769556, 0.236077, 0.307485 },
    +  { 0.775059, 0.239667, 0.303526 },
    +  { 0.780517, 0.243327, 0.299523 },
    +  { 0.785929, 0.247056, 0.295477 },
    +  { 0.791293, 0.250856, 0.291390 },
    +  { 0.796607, 0.254728, 0.287264 },
    +  { 0.801871, 0.258674, 0.283099 },
    +  { 0.807082, 0.262692, 0.278898 },
    +  { 0.812239, 0.266786, 0.274661 },
    +  { 0.817341, 0.270954, 0.270390 },
    +  { 0.822386, 0.275197, 0.266085 },
    +  { 0.827372, 0.279517, 0.261750 },
    +  { 0.832299, 0.283913, 0.257383 },
    +  { 0.837165, 0.288385, 0.252988 },
    +  { 0.841969, 0.292933, 0.248564 },
    +  { 0.846709, 0.297559, 0.244113 },
    +  { 0.851384, 0.302260, 0.239636 },
    +  { 0.855992, 0.307038, 0.235133 },
    +  { 0.860533, 0.311892, 0.230606 },
    +  { 0.865006, 0.316822, 0.226055 },
    +  { 0.869409, 0.321827, 0.221482 },
    +  { 0.873741, 0.326906, 0.216886 },
    +  { 0.878001, 0.332060, 0.212268 },
    +  { 0.882188, 0.337287, 0.207628 },
    +  { 0.886302, 0.342586, 0.202968 },
    +  { 0.890341, 0.347957, 0.198286 },
    +  { 0.894305, 0.353399, 0.193584 },
    +  { 0.898192, 0.358911, 0.188860 },
    +  { 0.902003, 0.364492, 0.184116 },
    +  { 0.905735, 0.370140, 0.179350 },
    +  { 0.909390, 0.375856, 0.174563 },
    +  { 0.912966, 0.381636, 0.169755 },
    +  { 0.916462, 0.387481, 0.164924 },
    +  { 0.919879, 0.393389, 0.160070 },
    +  { 0.923215, 0.399359, 0.155193 },
    +  { 0.926470, 0.405389, 0.150292 },
    +  { 0.929644, 0.411479, 0.145367 },
    +  { 0.932737, 0.417627, 0.140417 },
    +  { 0.935747, 0.423831, 0.135440 },
    +  { 0.938675, 0.430091, 0.130438 },
    +  { 0.941521, 0.436405, 0.125409 },
    +  { 0.944285, 0.442772, 0.120354 },
    +  { 0.946965, 0.449191, 0.115272 },
    +  { 0.949562, 0.455660, 0.110164 },
    +  { 0.952075, 0.462178, 0.105031 },
    +  { 0.954506, 0.468744, 0.099874 },
    +  { 0.956852, 0.475356, 0.094695 },
    +  { 0.959114, 0.482014, 0.089499 },
    +  { 0.961293, 0.488716, 0.084289 },
    +  { 0.963387, 0.495462, 0.079073 },
    +  { 0.965397, 0.502249, 0.073859 },
    +  { 0.967322, 0.509078, 0.068659 },
    +  { 0.969163, 0.515946, 0.063488 },
    +  { 0.970919, 0.522853, 0.058367 },
    +  { 0.972590, 0.529798, 0.053324 },
    +  { 0.974176, 0.536780, 0.048392 },
    +  { 0.975677, 0.543798, 0.043618 },
    +  { 0.977092, 0.550850, 0.039050 },
    +  { 0.978422, 0.557937, 0.034931 },
    +  { 0.979666, 0.565057, 0.031409 },
    +  { 0.980824, 0.572209, 0.028508 },
    +  { 0.981895, 0.579392, 0.026250 },
    +  { 0.982881, 0.586606, 0.024661 },
    +  { 0.983779, 0.593849, 0.023770 },
    +  { 0.984591, 0.601122, 0.023606 },
    +  { 0.985315, 0.608422, 0.024202 },
    +  { 0.985952, 0.615750, 0.025592 },
    +  { 0.986502, 0.623105, 0.027814 },
    +  { 0.986964, 0.630485, 0.030908 },
    +  { 0.987337, 0.637890, 0.034916 },
    +  { 0.987622, 0.645320, 0.039886 },
    +  { 0.987819, 0.652773, 0.045581 },
    +  { 0.987926, 0.660250, 0.051750 },
    +  { 0.987945, 0.667748, 0.058329 },
    +  { 0.987874, 0.675267, 0.065257 },
    +  { 0.987714, 0.682807, 0.072489 },
    +  { 0.987464, 0.690366, 0.079990 },
    +  { 0.987124, 0.697944, 0.087731 },
    +  { 0.986694, 0.705540, 0.095694 },
    +  { 0.986175, 0.713153, 0.103863 },
    +  { 0.985566, 0.720782, 0.112229 },
    +  { 0.984865, 0.728427, 0.120785 },
    +  { 0.984075, 0.736087, 0.129527 },
    +  { 0.983196, 0.743758, 0.138453 },
    +  { 0.982228, 0.751442, 0.147565 },
    +  { 0.981173, 0.759135, 0.156863 },
    +  { 0.980032, 0.766837, 0.166353 },
    +  { 0.978806, 0.774545, 0.176037 },
    +  { 0.977497, 0.782258, 0.185923 },
    +  { 0.976108, 0.789974, 0.196018 },
    +  { 0.974638, 0.797692, 0.206332 },
    +  { 0.973088, 0.805409, 0.216877 },
    +  { 0.971468, 0.813122, 0.227658 },
    +  { 0.969783, 0.820825, 0.238686 },
    +  { 0.968041, 0.828515, 0.249972 },
    +  { 0.966243, 0.836191, 0.261534 },
    +  { 0.964394, 0.843848, 0.273391 },
    +  { 0.962517, 0.851476, 0.285546 },
    +  { 0.960626, 0.859069, 0.298010 },
    +  { 0.958720, 0.866624, 0.310820 },
    +  { 0.956834, 0.874129, 0.323974 },
    +  { 0.954997, 0.881569, 0.337475 },
    +  { 0.953215, 0.888942, 0.351369 },
    +  { 0.951546, 0.896226, 0.365627 },
    +  { 0.950018, 0.903409, 0.380271 },
    +  { 0.948683, 0.910473, 0.395289 },
    +  { 0.947594, 0.917399, 0.410665 },
    +  { 0.946809, 0.924168, 0.426373 },
    +  { 0.946392, 0.930761, 0.442367 },
    +  { 0.946403, 0.937159, 0.458592 },
    +  { 0.946903, 0.943348, 0.474970 },
    +  { 0.947937, 0.949318, 0.491426 },
    +  { 0.949545, 0.955063, 0.507860 },
    +  { 0.951740, 0.960587, 0.524203 },
    +  { 0.954529, 0.965896, 0.540361 },
    +  { 0.957896, 0.971003, 0.556275 },
    +  { 0.961812, 0.975924, 0.571925 },
    +  { 0.966249, 0.980678, 0.587206 },
    +  { 0.971162, 0.985282, 0.602154 },
    +  { 0.976511, 0.989753, 0.616760 },
    +  { 0.982257, 0.994109, 0.631017 },
    +  { 0.988362, 0.998364, 0.644924 }
     };
     
     static double magma_cm[256][3] = {
    -	{ 0.001462, 0.000466, 0.013866 },
    -	{ 0.002258, 0.001295, 0.018331 },
    -	{ 0.003279, 0.002305, 0.023708 },
    -	{ 0.004512, 0.003490, 0.029965 },
    -	{ 0.005950, 0.004843, 0.037130 },
    -	{ 0.007588, 0.006356, 0.044973 },
    -	{ 0.009426, 0.008022, 0.052844 },
    -	{ 0.011465, 0.009828, 0.060750 },
    -	{ 0.013708, 0.011771, 0.068667 },
    -	{ 0.016156, 0.013840, 0.076603 },
    -	{ 0.018815, 0.016026, 0.084584 },
    -	{ 0.021692, 0.018320, 0.092610 },
    -	{ 0.024792, 0.020715, 0.100676 },
    -	{ 0.028123, 0.023201, 0.108787 },
    -	{ 0.031696, 0.025765, 0.116965 },
    -	{ 0.035520, 0.028397, 0.125209 },
    -	{ 0.039608, 0.031090, 0.133515 },
    -	{ 0.043830, 0.033830, 0.141886 },
    -	{ 0.048062, 0.036607, 0.150327 },
    -	{ 0.052320, 0.039407, 0.158841 },
    -	{ 0.056615, 0.042160, 0.167446 },
    -	{ 0.060949, 0.044794, 0.176129 },
    -	{ 0.065330, 0.047318, 0.184892 },
    -	{ 0.069764, 0.049726, 0.193735 },
    -	{ 0.074257, 0.052017, 0.202660 },
    -	{ 0.078815, 0.054184, 0.211667 },
    -	{ 0.083446, 0.056225, 0.220755 },
    -	{ 0.088155, 0.058133, 0.229922 },
    -	{ 0.092949, 0.059904, 0.239164 },
    -	{ 0.097833, 0.061531, 0.248477 },
    -	{ 0.102815, 0.063010, 0.257854 },
    -	{ 0.107899, 0.064335, 0.267289 },
    -	{ 0.113094, 0.065492, 0.276784 },
    -	{ 0.118405, 0.066479, 0.286321 },
    -	{ 0.123833, 0.067295, 0.295879 },
    -	{ 0.129380, 0.067935, 0.305443 },
    -	{ 0.135053, 0.068391, 0.315000 },
    -	{ 0.140858, 0.068654, 0.324538 },
    -	{ 0.146785, 0.068738, 0.334011 },
    -	{ 0.152839, 0.068637, 0.343404 },
    -	{ 0.159018, 0.068354, 0.352688 },
    -	{ 0.165308, 0.067911, 0.361816 },
    -	{ 0.171713, 0.067305, 0.370771 },
    -	{ 0.178212, 0.066576, 0.379497 },
    -	{ 0.184801, 0.065732, 0.387973 },
    -	{ 0.191460, 0.064818, 0.396152 },
    -	{ 0.198177, 0.063862, 0.404009 },
    -	{ 0.204935, 0.062907, 0.411514 },
    -	{ 0.211718, 0.061992, 0.418647 },
    -	{ 0.218512, 0.061158, 0.425392 },
    -	{ 0.225302, 0.060445, 0.431742 },
    -	{ 0.232077, 0.059889, 0.437695 },
    -	{ 0.238826, 0.059517, 0.443256 },
    -	{ 0.245543, 0.059352, 0.448436 },
    -	{ 0.252220, 0.059415, 0.453248 },
    -	{ 0.258857, 0.059706, 0.457710 },
    -	{ 0.265447, 0.060237, 0.461840 },
    -	{ 0.271994, 0.060994, 0.465660 },
    -	{ 0.278493, 0.061978, 0.469190 },
    -	{ 0.284951, 0.063168, 0.472451 },
    -	{ 0.291366, 0.064553, 0.475462 },
    -	{ 0.297740, 0.066117, 0.478243 },
    -	{ 0.304081, 0.067835, 0.480812 },
    -	{ 0.310382, 0.069702, 0.483186 },
    -	{ 0.316654, 0.071690, 0.485380 },
    -	{ 0.322899, 0.073782, 0.487408 },
    -	{ 0.329114, 0.075972, 0.489287 },
    -	{ 0.335308, 0.078236, 0.491024 },
    -	{ 0.341482, 0.080564, 0.492631 },
    -	{ 0.347636, 0.082946, 0.494121 },
    -	{ 0.353773, 0.085373, 0.495501 },
    -	{ 0.359898, 0.087831, 0.496778 },
    -	{ 0.366012, 0.090314, 0.497960 },
    -	{ 0.372116, 0.092816, 0.499053 },
    -	{ 0.378211, 0.095332, 0.500067 },
    -	{ 0.384299, 0.097855, 0.501002 },
    -	{ 0.390384, 0.100379, 0.501864 },
    -	{ 0.396467, 0.102902, 0.502658 },
    -	{ 0.402548, 0.105420, 0.503386 },
    -	{ 0.408629, 0.107930, 0.504052 },
    -	{ 0.414709, 0.110431, 0.504662 },
    -	{ 0.420791, 0.112920, 0.505215 },
    -	{ 0.426877, 0.115395, 0.505714 },
    -	{ 0.432967, 0.117855, 0.506160 },
    -	{ 0.439062, 0.120298, 0.506555 },
    -	{ 0.445163, 0.122724, 0.506901 },
    -	{ 0.451271, 0.125132, 0.507198 },
    -	{ 0.457386, 0.127522, 0.507448 },
    -	{ 0.463508, 0.129893, 0.507652 },
    -	{ 0.469640, 0.132245, 0.507809 },
    -	{ 0.475780, 0.134577, 0.507921 },
    -	{ 0.481929, 0.136891, 0.507989 },
    -	{ 0.488088, 0.139186, 0.508011 },
    -	{ 0.494258, 0.141462, 0.507988 },
    -	{ 0.500438, 0.143719, 0.507920 },
    -	{ 0.506629, 0.145958, 0.507806 },
    -	{ 0.512831, 0.148179, 0.507648 },
    -	{ 0.519045, 0.150383, 0.507443 },
    -	{ 0.525270, 0.152569, 0.507192 },
    -	{ 0.531507, 0.154739, 0.506895 },
    -	{ 0.537755, 0.156894, 0.506551 },
    -	{ 0.544015, 0.159033, 0.506159 },
    -	{ 0.550287, 0.161158, 0.505719 },
    -	{ 0.556571, 0.163269, 0.505230 },
    -	{ 0.562866, 0.165368, 0.504692 },
    -	{ 0.569172, 0.167454, 0.504105 },
    -	{ 0.575490, 0.169530, 0.503466 },
    -	{ 0.581819, 0.171596, 0.502777 },
    -	{ 0.588158, 0.173652, 0.502035 },
    -	{ 0.594508, 0.175701, 0.501241 },
    -	{ 0.600868, 0.177743, 0.500394 },
    -	{ 0.607238, 0.179779, 0.499492 },
    -	{ 0.613617, 0.181811, 0.498536 },
    -	{ 0.620005, 0.183840, 0.497524 },
    -	{ 0.626401, 0.185867, 0.496456 },
    -	{ 0.632805, 0.187893, 0.495332 },
    -	{ 0.639216, 0.189921, 0.494150 },
    -	{ 0.645633, 0.191952, 0.492910 },
    -	{ 0.652056, 0.193986, 0.491611 },
    -	{ 0.658483, 0.196027, 0.490253 },
    -	{ 0.664915, 0.198075, 0.488836 },
    -	{ 0.671349, 0.200133, 0.487358 },
    -	{ 0.677786, 0.202203, 0.485819 },
    -	{ 0.684224, 0.204286, 0.484219 },
    -	{ 0.690661, 0.206384, 0.482558 },
    -	{ 0.697098, 0.208501, 0.480835 },
    -	{ 0.703532, 0.210638, 0.479049 },
    -	{ 0.709962, 0.212797, 0.477201 },
    -	{ 0.716387, 0.214982, 0.475290 },
    -	{ 0.722805, 0.217194, 0.473316 },
    -	{ 0.729216, 0.219437, 0.471279 },
    -	{ 0.735616, 0.221713, 0.469180 },
    -	{ 0.742004, 0.224025, 0.467018 },
    -	{ 0.748378, 0.226377, 0.464794 },
    -	{ 0.754737, 0.228772, 0.462509 },
    -	{ 0.761077, 0.231214, 0.460162 },
    -	{ 0.767398, 0.233705, 0.457755 },
    -	{ 0.773695, 0.236249, 0.455289 },
    -	{ 0.779968, 0.238851, 0.452765 },
    -	{ 0.786212, 0.241514, 0.450184 },
    -	{ 0.792427, 0.244242, 0.447543 },
    -	{ 0.798608, 0.247040, 0.444848 },
    -	{ 0.804752, 0.249911, 0.442102 },
    -	{ 0.810855, 0.252861, 0.439305 },
    -	{ 0.816914, 0.255895, 0.436461 },
    -	{ 0.822926, 0.259016, 0.433573 },
    -	{ 0.828886, 0.262229, 0.430644 },
    -	{ 0.834791, 0.265540, 0.427671 },
    -	{ 0.840636, 0.268953, 0.424666 },
    -	{ 0.846416, 0.272473, 0.421631 },
    -	{ 0.852126, 0.276106, 0.418573 },
    -	{ 0.857763, 0.279857, 0.415496 },
    -	{ 0.863320, 0.283729, 0.412403 },
    -	{ 0.868793, 0.287728, 0.409303 },
    -	{ 0.874176, 0.291859, 0.406205 },
    -	{ 0.879464, 0.296125, 0.403118 },
    -	{ 0.884651, 0.300530, 0.400047 },
    -	{ 0.889731, 0.305079, 0.397002 },
    -	{ 0.894700, 0.309773, 0.393995 },
    -	{ 0.899552, 0.314616, 0.391037 },
    -	{ 0.904281, 0.319610, 0.388137 },
    -	{ 0.908884, 0.324755, 0.385308 },
    -	{ 0.913354, 0.330052, 0.382563 },
    -	{ 0.917689, 0.335500, 0.379915 },
    -	{ 0.921884, 0.341098, 0.377376 },
    -	{ 0.925937, 0.346844, 0.374959 },
    -	{ 0.929845, 0.352734, 0.372677 },
    -	{ 0.933606, 0.358764, 0.370541 },
    -	{ 0.937221, 0.364929, 0.368567 },
    -	{ 0.940687, 0.371224, 0.366762 },
    -	{ 0.944006, 0.377643, 0.365136 },
    -	{ 0.947180, 0.384178, 0.363701 },
    -	{ 0.950210, 0.390820, 0.362468 },
    -	{ 0.953099, 0.397563, 0.361438 },
    -	{ 0.955849, 0.404400, 0.360619 },
    -	{ 0.958464, 0.411324, 0.360014 },
    -	{ 0.960949, 0.418323, 0.359630 },
    -	{ 0.963310, 0.425390, 0.359469 },
    -	{ 0.965549, 0.432519, 0.359529 },
    -	{ 0.967671, 0.439703, 0.359810 },
    -	{ 0.969680, 0.446936, 0.360311 },
    -	{ 0.971582, 0.454210, 0.361030 },
    -	{ 0.973381, 0.461520, 0.361965 },
    -	{ 0.975082, 0.468861, 0.363111 },
    -	{ 0.976690, 0.476226, 0.364466 },
    -	{ 0.978210, 0.483612, 0.366025 },
    -	{ 0.979645, 0.491014, 0.367783 },
    -	{ 0.981000, 0.498428, 0.369734 },
    -	{ 0.982279, 0.505851, 0.371874 },
    -	{ 0.983485, 0.513280, 0.374198 },
    -	{ 0.984622, 0.520713, 0.376698 },
    -	{ 0.985693, 0.528148, 0.379371 },
    -	{ 0.986700, 0.535582, 0.382210 },
    -	{ 0.987646, 0.543015, 0.385210 },
    -	{ 0.988533, 0.550446, 0.388365 },
    -	{ 0.989363, 0.557873, 0.391671 },
    -	{ 0.990138, 0.565296, 0.395122 },
    -	{ 0.990871, 0.572706, 0.398714 },
    -	{ 0.991558, 0.580107, 0.402441 },
    -	{ 0.992196, 0.587502, 0.406299 },
    -	{ 0.992785, 0.594891, 0.410283 },
    -	{ 0.993326, 0.602275, 0.414390 },
    -	{ 0.993834, 0.609644, 0.418613 },
    -	{ 0.994309, 0.616999, 0.422950 },
    -	{ 0.994738, 0.624350, 0.427397 },
    -	{ 0.995122, 0.631696, 0.431951 },
    -	{ 0.995480, 0.639027, 0.436607 },
    -	{ 0.995810, 0.646344, 0.441361 },
    -	{ 0.996096, 0.653659, 0.446213 },
    -	{ 0.996341, 0.660969, 0.451160 },
    -	{ 0.996580, 0.668256, 0.456192 },
    -	{ 0.996775, 0.675541, 0.461314 },
    -	{ 0.996925, 0.682828, 0.466526 },
    -	{ 0.997077, 0.690088, 0.471811 },
    -	{ 0.997186, 0.697349, 0.477182 },
    -	{ 0.997254, 0.704611, 0.482635 },
    -	{ 0.997325, 0.711848, 0.488154 },
    -	{ 0.997351, 0.719089, 0.493755 },
    -	{ 0.997351, 0.726324, 0.499428 },
    -	{ 0.997341, 0.733545, 0.505167 },
    -	{ 0.997285, 0.740772, 0.510983 },
    -	{ 0.997228, 0.747981, 0.516859 },
    -	{ 0.997138, 0.755190, 0.522806 },
    -	{ 0.997019, 0.762398, 0.528821 },
    -	{ 0.996898, 0.769591, 0.534892 },
    -	{ 0.996727, 0.776795, 0.541039 },
    -	{ 0.996571, 0.783977, 0.547233 },
    -	{ 0.996369, 0.791167, 0.553499 },
    -	{ 0.996162, 0.798348, 0.559820 },
    -	{ 0.995932, 0.805527, 0.566202 },
    -	{ 0.995680, 0.812706, 0.572645 },
    -	{ 0.995424, 0.819875, 0.579140 },
    -	{ 0.995131, 0.827052, 0.585701 },
    -	{ 0.994851, 0.834213, 0.592307 },
    -	{ 0.994524, 0.841387, 0.598983 },
    -	{ 0.994222, 0.848540, 0.605696 },
    -	{ 0.993866, 0.855711, 0.612482 },
    -	{ 0.993545, 0.862859, 0.619299 },
    -	{ 0.993170, 0.870024, 0.626189 },
    -	{ 0.992831, 0.877168, 0.633109 },
    -	{ 0.992440, 0.884330, 0.640099 },
    -	{ 0.992089, 0.891470, 0.647116 },
    -	{ 0.991688, 0.898627, 0.654202 },
    -	{ 0.991332, 0.905763, 0.661309 },
    -	{ 0.990930, 0.912915, 0.668481 },
    -	{ 0.990570, 0.920049, 0.675675 },
    -	{ 0.990175, 0.927196, 0.682926 },
    -	{ 0.989815, 0.934329, 0.690198 },
    -	{ 0.989434, 0.941470, 0.697519 },
    -	{ 0.989077, 0.948604, 0.704863 },
    -	{ 0.988717, 0.955742, 0.712242 },
    -	{ 0.988367, 0.962878, 0.719649 },
    -	{ 0.988033, 0.970012, 0.727077 },
    -	{ 0.987691, 0.977154, 0.734536 },
    -	{ 0.987387, 0.984288, 0.742002 },
    -	{ 0.987053, 0.991438, 0.749504 }
    +  { 0.001462, 0.000466, 0.013866 },
    +  { 0.002258, 0.001295, 0.018331 },
    +  { 0.003279, 0.002305, 0.023708 },
    +  { 0.004512, 0.003490, 0.029965 },
    +  { 0.005950, 0.004843, 0.037130 },
    +  { 0.007588, 0.006356, 0.044973 },
    +  { 0.009426, 0.008022, 0.052844 },
    +  { 0.011465, 0.009828, 0.060750 },
    +  { 0.013708, 0.011771, 0.068667 },
    +  { 0.016156, 0.013840, 0.076603 },
    +  { 0.018815, 0.016026, 0.084584 },
    +  { 0.021692, 0.018320, 0.092610 },
    +  { 0.024792, 0.020715, 0.100676 },
    +  { 0.028123, 0.023201, 0.108787 },
    +  { 0.031696, 0.025765, 0.116965 },
    +  { 0.035520, 0.028397, 0.125209 },
    +  { 0.039608, 0.031090, 0.133515 },
    +  { 0.043830, 0.033830, 0.141886 },
    +  { 0.048062, 0.036607, 0.150327 },
    +  { 0.052320, 0.039407, 0.158841 },
    +  { 0.056615, 0.042160, 0.167446 },
    +  { 0.060949, 0.044794, 0.176129 },
    +  { 0.065330, 0.047318, 0.184892 },
    +  { 0.069764, 0.049726, 0.193735 },
    +  { 0.074257, 0.052017, 0.202660 },
    +  { 0.078815, 0.054184, 0.211667 },
    +  { 0.083446, 0.056225, 0.220755 },
    +  { 0.088155, 0.058133, 0.229922 },
    +  { 0.092949, 0.059904, 0.239164 },
    +  { 0.097833, 0.061531, 0.248477 },
    +  { 0.102815, 0.063010, 0.257854 },
    +  { 0.107899, 0.064335, 0.267289 },
    +  { 0.113094, 0.065492, 0.276784 },
    +  { 0.118405, 0.066479, 0.286321 },
    +  { 0.123833, 0.067295, 0.295879 },
    +  { 0.129380, 0.067935, 0.305443 },
    +  { 0.135053, 0.068391, 0.315000 },
    +  { 0.140858, 0.068654, 0.324538 },
    +  { 0.146785, 0.068738, 0.334011 },
    +  { 0.152839, 0.068637, 0.343404 },
    +  { 0.159018, 0.068354, 0.352688 },
    +  { 0.165308, 0.067911, 0.361816 },
    +  { 0.171713, 0.067305, 0.370771 },
    +  { 0.178212, 0.066576, 0.379497 },
    +  { 0.184801, 0.065732, 0.387973 },
    +  { 0.191460, 0.064818, 0.396152 },
    +  { 0.198177, 0.063862, 0.404009 },
    +  { 0.204935, 0.062907, 0.411514 },
    +  { 0.211718, 0.061992, 0.418647 },
    +  { 0.218512, 0.061158, 0.425392 },
    +  { 0.225302, 0.060445, 0.431742 },
    +  { 0.232077, 0.059889, 0.437695 },
    +  { 0.238826, 0.059517, 0.443256 },
    +  { 0.245543, 0.059352, 0.448436 },
    +  { 0.252220, 0.059415, 0.453248 },
    +  { 0.258857, 0.059706, 0.457710 },
    +  { 0.265447, 0.060237, 0.461840 },
    +  { 0.271994, 0.060994, 0.465660 },
    +  { 0.278493, 0.061978, 0.469190 },
    +  { 0.284951, 0.063168, 0.472451 },
    +  { 0.291366, 0.064553, 0.475462 },
    +  { 0.297740, 0.066117, 0.478243 },
    +  { 0.304081, 0.067835, 0.480812 },
    +  { 0.310382, 0.069702, 0.483186 },
    +  { 0.316654, 0.071690, 0.485380 },
    +  { 0.322899, 0.073782, 0.487408 },
    +  { 0.329114, 0.075972, 0.489287 },
    +  { 0.335308, 0.078236, 0.491024 },
    +  { 0.341482, 0.080564, 0.492631 },
    +  { 0.347636, 0.082946, 0.494121 },
    +  { 0.353773, 0.085373, 0.495501 },
    +  { 0.359898, 0.087831, 0.496778 },
    +  { 0.366012, 0.090314, 0.497960 },
    +  { 0.372116, 0.092816, 0.499053 },
    +  { 0.378211, 0.095332, 0.500067 },
    +  { 0.384299, 0.097855, 0.501002 },
    +  { 0.390384, 0.100379, 0.501864 },
    +  { 0.396467, 0.102902, 0.502658 },
    +  { 0.402548, 0.105420, 0.503386 },
    +  { 0.408629, 0.107930, 0.504052 },
    +  { 0.414709, 0.110431, 0.504662 },
    +  { 0.420791, 0.112920, 0.505215 },
    +  { 0.426877, 0.115395, 0.505714 },
    +  { 0.432967, 0.117855, 0.506160 },
    +  { 0.439062, 0.120298, 0.506555 },
    +  { 0.445163, 0.122724, 0.506901 },
    +  { 0.451271, 0.125132, 0.507198 },
    +  { 0.457386, 0.127522, 0.507448 },
    +  { 0.463508, 0.129893, 0.507652 },
    +  { 0.469640, 0.132245, 0.507809 },
    +  { 0.475780, 0.134577, 0.507921 },
    +  { 0.481929, 0.136891, 0.507989 },
    +  { 0.488088, 0.139186, 0.508011 },
    +  { 0.494258, 0.141462, 0.507988 },
    +  { 0.500438, 0.143719, 0.507920 },
    +  { 0.506629, 0.145958, 0.507806 },
    +  { 0.512831, 0.148179, 0.507648 },
    +  { 0.519045, 0.150383, 0.507443 },
    +  { 0.525270, 0.152569, 0.507192 },
    +  { 0.531507, 0.154739, 0.506895 },
    +  { 0.537755, 0.156894, 0.506551 },
    +  { 0.544015, 0.159033, 0.506159 },
    +  { 0.550287, 0.161158, 0.505719 },
    +  { 0.556571, 0.163269, 0.505230 },
    +  { 0.562866, 0.165368, 0.504692 },
    +  { 0.569172, 0.167454, 0.504105 },
    +  { 0.575490, 0.169530, 0.503466 },
    +  { 0.581819, 0.171596, 0.502777 },
    +  { 0.588158, 0.173652, 0.502035 },
    +  { 0.594508, 0.175701, 0.501241 },
    +  { 0.600868, 0.177743, 0.500394 },
    +  { 0.607238, 0.179779, 0.499492 },
    +  { 0.613617, 0.181811, 0.498536 },
    +  { 0.620005, 0.183840, 0.497524 },
    +  { 0.626401, 0.185867, 0.496456 },
    +  { 0.632805, 0.187893, 0.495332 },
    +  { 0.639216, 0.189921, 0.494150 },
    +  { 0.645633, 0.191952, 0.492910 },
    +  { 0.652056, 0.193986, 0.491611 },
    +  { 0.658483, 0.196027, 0.490253 },
    +  { 0.664915, 0.198075, 0.488836 },
    +  { 0.671349, 0.200133, 0.487358 },
    +  { 0.677786, 0.202203, 0.485819 },
    +  { 0.684224, 0.204286, 0.484219 },
    +  { 0.690661, 0.206384, 0.482558 },
    +  { 0.697098, 0.208501, 0.480835 },
    +  { 0.703532, 0.210638, 0.479049 },
    +  { 0.709962, 0.212797, 0.477201 },
    +  { 0.716387, 0.214982, 0.475290 },
    +  { 0.722805, 0.217194, 0.473316 },
    +  { 0.729216, 0.219437, 0.471279 },
    +  { 0.735616, 0.221713, 0.469180 },
    +  { 0.742004, 0.224025, 0.467018 },
    +  { 0.748378, 0.226377, 0.464794 },
    +  { 0.754737, 0.228772, 0.462509 },
    +  { 0.761077, 0.231214, 0.460162 },
    +  { 0.767398, 0.233705, 0.457755 },
    +  { 0.773695, 0.236249, 0.455289 },
    +  { 0.779968, 0.238851, 0.452765 },
    +  { 0.786212, 0.241514, 0.450184 },
    +  { 0.792427, 0.244242, 0.447543 },
    +  { 0.798608, 0.247040, 0.444848 },
    +  { 0.804752, 0.249911, 0.442102 },
    +  { 0.810855, 0.252861, 0.439305 },
    +  { 0.816914, 0.255895, 0.436461 },
    +  { 0.822926, 0.259016, 0.433573 },
    +  { 0.828886, 0.262229, 0.430644 },
    +  { 0.834791, 0.265540, 0.427671 },
    +  { 0.840636, 0.268953, 0.424666 },
    +  { 0.846416, 0.272473, 0.421631 },
    +  { 0.852126, 0.276106, 0.418573 },
    +  { 0.857763, 0.279857, 0.415496 },
    +  { 0.863320, 0.283729, 0.412403 },
    +  { 0.868793, 0.287728, 0.409303 },
    +  { 0.874176, 0.291859, 0.406205 },
    +  { 0.879464, 0.296125, 0.403118 },
    +  { 0.884651, 0.300530, 0.400047 },
    +  { 0.889731, 0.305079, 0.397002 },
    +  { 0.894700, 0.309773, 0.393995 },
    +  { 0.899552, 0.314616, 0.391037 },
    +  { 0.904281, 0.319610, 0.388137 },
    +  { 0.908884, 0.324755, 0.385308 },
    +  { 0.913354, 0.330052, 0.382563 },
    +  { 0.917689, 0.335500, 0.379915 },
    +  { 0.921884, 0.341098, 0.377376 },
    +  { 0.925937, 0.346844, 0.374959 },
    +  { 0.929845, 0.352734, 0.372677 },
    +  { 0.933606, 0.358764, 0.370541 },
    +  { 0.937221, 0.364929, 0.368567 },
    +  { 0.940687, 0.371224, 0.366762 },
    +  { 0.944006, 0.377643, 0.365136 },
    +  { 0.947180, 0.384178, 0.363701 },
    +  { 0.950210, 0.390820, 0.362468 },
    +  { 0.953099, 0.397563, 0.361438 },
    +  { 0.955849, 0.404400, 0.360619 },
    +  { 0.958464, 0.411324, 0.360014 },
    +  { 0.960949, 0.418323, 0.359630 },
    +  { 0.963310, 0.425390, 0.359469 },
    +  { 0.965549, 0.432519, 0.359529 },
    +  { 0.967671, 0.439703, 0.359810 },
    +  { 0.969680, 0.446936, 0.360311 },
    +  { 0.971582, 0.454210, 0.361030 },
    +  { 0.973381, 0.461520, 0.361965 },
    +  { 0.975082, 0.468861, 0.363111 },
    +  { 0.976690, 0.476226, 0.364466 },
    +  { 0.978210, 0.483612, 0.366025 },
    +  { 0.979645, 0.491014, 0.367783 },
    +  { 0.981000, 0.498428, 0.369734 },
    +  { 0.982279, 0.505851, 0.371874 },
    +  { 0.983485, 0.513280, 0.374198 },
    +  { 0.984622, 0.520713, 0.376698 },
    +  { 0.985693, 0.528148, 0.379371 },
    +  { 0.986700, 0.535582, 0.382210 },
    +  { 0.987646, 0.543015, 0.385210 },
    +  { 0.988533, 0.550446, 0.388365 },
    +  { 0.989363, 0.557873, 0.391671 },
    +  { 0.990138, 0.565296, 0.395122 },
    +  { 0.990871, 0.572706, 0.398714 },
    +  { 0.991558, 0.580107, 0.402441 },
    +  { 0.992196, 0.587502, 0.406299 },
    +  { 0.992785, 0.594891, 0.410283 },
    +  { 0.993326, 0.602275, 0.414390 },
    +  { 0.993834, 0.609644, 0.418613 },
    +  { 0.994309, 0.616999, 0.422950 },
    +  { 0.994738, 0.624350, 0.427397 },
    +  { 0.995122, 0.631696, 0.431951 },
    +  { 0.995480, 0.639027, 0.436607 },
    +  { 0.995810, 0.646344, 0.441361 },
    +  { 0.996096, 0.653659, 0.446213 },
    +  { 0.996341, 0.660969, 0.451160 },
    +  { 0.996580, 0.668256, 0.456192 },
    +  { 0.996775, 0.675541, 0.461314 },
    +  { 0.996925, 0.682828, 0.466526 },
    +  { 0.997077, 0.690088, 0.471811 },
    +  { 0.997186, 0.697349, 0.477182 },
    +  { 0.997254, 0.704611, 0.482635 },
    +  { 0.997325, 0.711848, 0.488154 },
    +  { 0.997351, 0.719089, 0.493755 },
    +  { 0.997351, 0.726324, 0.499428 },
    +  { 0.997341, 0.733545, 0.505167 },
    +  { 0.997285, 0.740772, 0.510983 },
    +  { 0.997228, 0.747981, 0.516859 },
    +  { 0.997138, 0.755190, 0.522806 },
    +  { 0.997019, 0.762398, 0.528821 },
    +  { 0.996898, 0.769591, 0.534892 },
    +  { 0.996727, 0.776795, 0.541039 },
    +  { 0.996571, 0.783977, 0.547233 },
    +  { 0.996369, 0.791167, 0.553499 },
    +  { 0.996162, 0.798348, 0.559820 },
    +  { 0.995932, 0.805527, 0.566202 },
    +  { 0.995680, 0.812706, 0.572645 },
    +  { 0.995424, 0.819875, 0.579140 },
    +  { 0.995131, 0.827052, 0.585701 },
    +  { 0.994851, 0.834213, 0.592307 },
    +  { 0.994524, 0.841387, 0.598983 },
    +  { 0.994222, 0.848540, 0.605696 },
    +  { 0.993866, 0.855711, 0.612482 },
    +  { 0.993545, 0.862859, 0.619299 },
    +  { 0.993170, 0.870024, 0.626189 },
    +  { 0.992831, 0.877168, 0.633109 },
    +  { 0.992440, 0.884330, 0.640099 },
    +  { 0.992089, 0.891470, 0.647116 },
    +  { 0.991688, 0.898627, 0.654202 },
    +  { 0.991332, 0.905763, 0.661309 },
    +  { 0.990930, 0.912915, 0.668481 },
    +  { 0.990570, 0.920049, 0.675675 },
    +  { 0.990175, 0.927196, 0.682926 },
    +  { 0.989815, 0.934329, 0.690198 },
    +  { 0.989434, 0.941470, 0.697519 },
    +  { 0.989077, 0.948604, 0.704863 },
    +  { 0.988717, 0.955742, 0.712242 },
    +  { 0.988367, 0.962878, 0.719649 },
    +  { 0.988033, 0.970012, 0.727077 },
    +  { 0.987691, 0.977154, 0.734536 },
    +  { 0.987387, 0.984288, 0.742002 },
    +  { 0.987053, 0.991438, 0.749504 }
     };
     
     static double plasma_cm[256][3] = {
    -	{ 0.050383, 0.029803, 0.527975 },
    -	{ 0.063536, 0.028426, 0.533124 },
    -	{ 0.075353, 0.027206, 0.538007 },
    -	{ 0.086222, 0.026125, 0.542658 },
    -	{ 0.096379, 0.025165, 0.547103 },
    -	{ 0.105980, 0.024309, 0.551368 },
    -	{ 0.115124, 0.023556, 0.555468 },
    -	{ 0.123903, 0.022878, 0.559423 },
    -	{ 0.132381, 0.022258, 0.563250 },
    -	{ 0.140603, 0.021687, 0.566959 },
    -	{ 0.148607, 0.021154, 0.570562 },
    -	{ 0.156421, 0.020651, 0.574065 },
    -	{ 0.164070, 0.020171, 0.577478 },
    -	{ 0.171574, 0.019706, 0.580806 },
    -	{ 0.178950, 0.019252, 0.584054 },
    -	{ 0.186213, 0.018803, 0.587228 },
    -	{ 0.193374, 0.018354, 0.590330 },
    -	{ 0.200445, 0.017902, 0.593364 },
    -	{ 0.207435, 0.017442, 0.596333 },
    -	{ 0.214350, 0.016973, 0.599239 },
    -	{ 0.221197, 0.016497, 0.602083 },
    -	{ 0.227983, 0.016007, 0.604867 },
    -	{ 0.234715, 0.015502, 0.607592 },
    -	{ 0.241396, 0.014979, 0.610259 },
    -	{ 0.248032, 0.014439, 0.612868 },
    -	{ 0.254627, 0.013882, 0.615419 },
    -	{ 0.261183, 0.013308, 0.617911 },
    -	{ 0.267703, 0.012716, 0.620346 },
    -	{ 0.274191, 0.012109, 0.622722 },
    -	{ 0.280648, 0.011488, 0.625038 },
    -	{ 0.287076, 0.010855, 0.627295 },
    -	{ 0.293478, 0.010213, 0.629490 },
    -	{ 0.299855, 0.009561, 0.631624 },
    -	{ 0.306210, 0.008902, 0.633694 },
    -	{ 0.312543, 0.008239, 0.635700 },
    -	{ 0.318856, 0.007576, 0.637640 },
    -	{ 0.325150, 0.006915, 0.639512 },
    -	{ 0.331426, 0.006261, 0.641316 },
    -	{ 0.337683, 0.005618, 0.643049 },
    -	{ 0.343925, 0.004991, 0.644710 },
    -	{ 0.350150, 0.004382, 0.646298 },
    -	{ 0.356359, 0.003798, 0.647810 },
    -	{ 0.362553, 0.003243, 0.649245 },
    -	{ 0.368733, 0.002724, 0.650601 },
    -	{ 0.374897, 0.002245, 0.651876 },
    -	{ 0.381047, 0.001814, 0.653068 },
    -	{ 0.387183, 0.001434, 0.654177 },
    -	{ 0.393304, 0.001114, 0.655199 },
    -	{ 0.399411, 0.000859, 0.656133 },
    -	{ 0.405503, 0.000678, 0.656977 },
    -	{ 0.411580, 0.000577, 0.657730 },
    -	{ 0.417642, 0.000564, 0.658390 },
    -	{ 0.423689, 0.000646, 0.658956 },
    -	{ 0.429719, 0.000831, 0.659425 },
    -	{ 0.435734, 0.001127, 0.659797 },
    -	{ 0.441732, 0.001540, 0.660069 },
    -	{ 0.447714, 0.002080, 0.660240 },
    -	{ 0.453677, 0.002755, 0.660310 },
    -	{ 0.459623, 0.003574, 0.660277 },
    -	{ 0.465550, 0.004545, 0.660139 },
    -	{ 0.471457, 0.005678, 0.659897 },
    -	{ 0.477344, 0.006980, 0.659549 },
    -	{ 0.483210, 0.008460, 0.659095 },
    -	{ 0.489055, 0.010127, 0.658534 },
    -	{ 0.494877, 0.011990, 0.657865 },
    -	{ 0.500678, 0.014055, 0.657088 },
    -	{ 0.506454, 0.016333, 0.656202 },
    -	{ 0.512206, 0.018833, 0.655209 },
    -	{ 0.517933, 0.021563, 0.654109 },
    -	{ 0.523633, 0.024532, 0.652901 },
    -	{ 0.529306, 0.027747, 0.651586 },
    -	{ 0.534952, 0.031217, 0.650165 },
    -	{ 0.540570, 0.034950, 0.648640 },
    -	{ 0.546157, 0.038954, 0.647010 },
    -	{ 0.551715, 0.043136, 0.645277 },
    -	{ 0.557243, 0.047331, 0.643443 },
    -	{ 0.562738, 0.051545, 0.641509 },
    -	{ 0.568201, 0.055778, 0.639477 },
    -	{ 0.573632, 0.060028, 0.637349 },
    -	{ 0.579029, 0.064296, 0.635126 },
    -	{ 0.584391, 0.068579, 0.632812 },
    -	{ 0.589719, 0.072878, 0.630408 },
    -	{ 0.595011, 0.077190, 0.627917 },
    -	{ 0.600266, 0.081516, 0.625342 },
    -	{ 0.605485, 0.085854, 0.622686 },
    -	{ 0.610667, 0.090204, 0.619951 },
    -	{ 0.615812, 0.094564, 0.617140 },
    -	{ 0.620919, 0.098934, 0.614257 },
    -	{ 0.625987, 0.103312, 0.611305 },
    -	{ 0.631017, 0.107699, 0.608287 },
    -	{ 0.636008, 0.112092, 0.605205 },
    -	{ 0.640959, 0.116492, 0.602065 },
    -	{ 0.645872, 0.120898, 0.598867 },
    -	{ 0.650746, 0.125309, 0.595617 },
    -	{ 0.655580, 0.129725, 0.592317 },
    -	{ 0.660374, 0.134144, 0.588971 },
    -	{ 0.665129, 0.138566, 0.585582 },
    -	{ 0.669845, 0.142992, 0.582154 },
    -	{ 0.674522, 0.147419, 0.578688 },
    -	{ 0.679160, 0.151848, 0.575189 },
    -	{ 0.683758, 0.156278, 0.571660 },
    -	{ 0.688318, 0.160709, 0.568103 },
    -	{ 0.692840, 0.165141, 0.564522 },
    -	{ 0.697324, 0.169573, 0.560919 },
    -	{ 0.701769, 0.174005, 0.557296 },
    -	{ 0.706178, 0.178437, 0.553657 },
    -	{ 0.710549, 0.182868, 0.550004 },
    -	{ 0.714883, 0.187299, 0.546338 },
    -	{ 0.719181, 0.191729, 0.542663 },
    -	{ 0.723444, 0.196158, 0.538981 },
    -	{ 0.727670, 0.200586, 0.535293 },
    -	{ 0.731862, 0.205013, 0.531601 },
    -	{ 0.736019, 0.209439, 0.527908 },
    -	{ 0.740143, 0.213864, 0.524216 },
    -	{ 0.744232, 0.218288, 0.520524 },
    -	{ 0.748289, 0.222711, 0.516834 },
    -	{ 0.752312, 0.227133, 0.513149 },
    -	{ 0.756304, 0.231555, 0.509468 },
    -	{ 0.760264, 0.235976, 0.505794 },
    -	{ 0.764193, 0.240396, 0.502126 },
    -	{ 0.768090, 0.244817, 0.498465 },
    -	{ 0.771958, 0.249237, 0.494813 },
    -	{ 0.775796, 0.253658, 0.491171 },
    -	{ 0.779604, 0.258078, 0.487539 },
    -	{ 0.783383, 0.262500, 0.483918 },
    -	{ 0.787133, 0.266922, 0.480307 },
    -	{ 0.790855, 0.271345, 0.476706 },
    -	{ 0.794549, 0.275770, 0.473117 },
    -	{ 0.798216, 0.280197, 0.469538 },
    -	{ 0.801855, 0.284626, 0.465971 },
    -	{ 0.805467, 0.289057, 0.462415 },
    -	{ 0.809052, 0.293491, 0.458870 },
    -	{ 0.812612, 0.297928, 0.455338 },
    -	{ 0.816144, 0.302368, 0.451816 },
    -	{ 0.819651, 0.306812, 0.448306 },
    -	{ 0.823132, 0.311261, 0.444806 },
    -	{ 0.826588, 0.315714, 0.441316 },
    -	{ 0.830018, 0.320172, 0.437836 },
    -	{ 0.833422, 0.324635, 0.434366 },
    -	{ 0.836801, 0.329105, 0.430905 },
    -	{ 0.840155, 0.333580, 0.427455 },
    -	{ 0.843484, 0.338062, 0.424013 },
    -	{ 0.846788, 0.342551, 0.420579 },
    -	{ 0.850066, 0.347048, 0.417153 },
    -	{ 0.853319, 0.351553, 0.413734 },
    -	{ 0.856547, 0.356066, 0.410322 },
    -	{ 0.859750, 0.360588, 0.406917 },
    -	{ 0.862927, 0.365119, 0.403519 },
    -	{ 0.866078, 0.369660, 0.400126 },
    -	{ 0.869203, 0.374212, 0.396738 },
    -	{ 0.872303, 0.378774, 0.393355 },
    -	{ 0.875376, 0.383347, 0.389976 },
    -	{ 0.878423, 0.387932, 0.386600 },
    -	{ 0.881443, 0.392529, 0.383229 },
    -	{ 0.884436, 0.397139, 0.379860 },
    -	{ 0.887402, 0.401762, 0.376494 },
    -	{ 0.890340, 0.406398, 0.373130 },
    -	{ 0.893250, 0.411048, 0.369768 },
    -	{ 0.896131, 0.415712, 0.366407 },
    -	{ 0.898984, 0.420392, 0.363047 },
    -	{ 0.901807, 0.425087, 0.359688 },
    -	{ 0.904601, 0.429797, 0.356329 },
    -	{ 0.907365, 0.434524, 0.352970 },
    -	{ 0.910098, 0.439268, 0.349610 },
    -	{ 0.912800, 0.444029, 0.346251 },
    -	{ 0.915471, 0.448807, 0.342890 },
    -	{ 0.918109, 0.453603, 0.339529 },
    -	{ 0.920714, 0.458417, 0.336166 },
    -	{ 0.923287, 0.463251, 0.332801 },
    -	{ 0.925825, 0.468103, 0.329435 },
    -	{ 0.928329, 0.472975, 0.326067 },
    -	{ 0.930798, 0.477867, 0.322697 },
    -	{ 0.933232, 0.482780, 0.319325 },
    -	{ 0.935630, 0.487712, 0.315952 },
    -	{ 0.937990, 0.492667, 0.312575 },
    -	{ 0.940313, 0.497642, 0.309197 },
    -	{ 0.942598, 0.502639, 0.305816 },
    -	{ 0.944844, 0.507658, 0.302433 },
    -	{ 0.947051, 0.512699, 0.299049 },
    -	{ 0.949217, 0.517763, 0.295662 },
    -	{ 0.951344, 0.522850, 0.292275 },
    -	{ 0.953428, 0.527960, 0.288883 },
    -	{ 0.955470, 0.533093, 0.285490 },
    -	{ 0.957469, 0.538250, 0.282096 },
    -	{ 0.959424, 0.543431, 0.278701 },
    -	{ 0.961336, 0.548636, 0.275305 },
    -	{ 0.963203, 0.553865, 0.271909 },
    -	{ 0.965024, 0.559118, 0.268513 },
    -	{ 0.966798, 0.564396, 0.265118 },
    -	{ 0.968526, 0.569700, 0.261721 },
    -	{ 0.970205, 0.575028, 0.258325 },
    -	{ 0.971835, 0.580382, 0.254931 },
    -	{ 0.973416, 0.585761, 0.251540 },
    -	{ 0.974947, 0.591165, 0.248151 },
    -	{ 0.976428, 0.596595, 0.244767 },
    -	{ 0.977856, 0.602051, 0.241387 },
    -	{ 0.979233, 0.607532, 0.238013 },
    -	{ 0.980556, 0.613039, 0.234646 },
    -	{ 0.981826, 0.618572, 0.231287 },
    -	{ 0.983041, 0.624131, 0.227937 },
    -	{ 0.984199, 0.629718, 0.224595 },
    -	{ 0.985301, 0.635330, 0.221265 },
    -	{ 0.986345, 0.640969, 0.217948 },
    -	{ 0.987332, 0.646633, 0.214648 },
    -	{ 0.988260, 0.652325, 0.211364 },
    -	{ 0.989128, 0.658043, 0.208100 },
    -	{ 0.989935, 0.663787, 0.204859 },
    -	{ 0.990681, 0.669558, 0.201642 },
    -	{ 0.991365, 0.675355, 0.198453 },
    -	{ 0.991985, 0.681179, 0.195295 },
    -	{ 0.992541, 0.687030, 0.192170 },
    -	{ 0.993032, 0.692907, 0.189084 },
    -	{ 0.993456, 0.698810, 0.186041 },
    -	{ 0.993814, 0.704741, 0.183043 },
    -	{ 0.994103, 0.710698, 0.180097 },
    -	{ 0.994324, 0.716681, 0.177208 },
    -	{ 0.994474, 0.722691, 0.174381 },
    -	{ 0.994553, 0.728728, 0.171622 },
    -	{ 0.994561, 0.734791, 0.168938 },
    -	{ 0.994495, 0.740880, 0.166335 },
    -	{ 0.994355, 0.746995, 0.163821 },
    -	{ 0.994141, 0.753137, 0.161404 },
    -	{ 0.993851, 0.759304, 0.159092 },
    -	{ 0.993482, 0.765499, 0.156891 },
    -	{ 0.993033, 0.771720, 0.154808 },
    -	{ 0.992505, 0.777967, 0.152855 },
    -	{ 0.991897, 0.784239, 0.151042 },
    -	{ 0.991209, 0.790537, 0.149377 },
    -	{ 0.990439, 0.796859, 0.147870 },
    -	{ 0.989587, 0.803205, 0.146529 },
    -	{ 0.988648, 0.809579, 0.145357 },
    -	{ 0.987621, 0.815978, 0.144363 },
    -	{ 0.986509, 0.822401, 0.143557 },
    -	{ 0.985314, 0.828846, 0.142945 },
    -	{ 0.984031, 0.835315, 0.142528 },
    -	{ 0.982653, 0.841812, 0.142303 },
    -	{ 0.981190, 0.848329, 0.142279 },
    -	{ 0.979644, 0.854866, 0.142453 },
    -	{ 0.977995, 0.861432, 0.142808 },
    -	{ 0.976265, 0.868016, 0.143351 },
    -	{ 0.974443, 0.874622, 0.144061 },
    -	{ 0.972530, 0.881250, 0.144923 },
    -	{ 0.970533, 0.887896, 0.145919 },
    -	{ 0.968443, 0.894564, 0.147014 },
    -	{ 0.966271, 0.901249, 0.148180 },
    -	{ 0.964021, 0.907950, 0.149370 },
    -	{ 0.961681, 0.914672, 0.150520 },
    -	{ 0.959276, 0.921407, 0.151566 },
    -	{ 0.956808, 0.928152, 0.152409 },
    -	{ 0.954287, 0.934908, 0.152921 },
    -	{ 0.951726, 0.941671, 0.152925 },
    -	{ 0.949151, 0.948435, 0.152178 },
    -	{ 0.946602, 0.955190, 0.150328 },
    -	{ 0.944152, 0.961916, 0.146861 },
    -	{ 0.941896, 0.968590, 0.140956 },
    -	{ 0.940015, 0.975158, 0.131326 }
    +  { 0.050383, 0.029803, 0.527975 },
    +  { 0.063536, 0.028426, 0.533124 },
    +  { 0.075353, 0.027206, 0.538007 },
    +  { 0.086222, 0.026125, 0.542658 },
    +  { 0.096379, 0.025165, 0.547103 },
    +  { 0.105980, 0.024309, 0.551368 },
    +  { 0.115124, 0.023556, 0.555468 },
    +  { 0.123903, 0.022878, 0.559423 },
    +  { 0.132381, 0.022258, 0.563250 },
    +  { 0.140603, 0.021687, 0.566959 },
    +  { 0.148607, 0.021154, 0.570562 },
    +  { 0.156421, 0.020651, 0.574065 },
    +  { 0.164070, 0.020171, 0.577478 },
    +  { 0.171574, 0.019706, 0.580806 },
    +  { 0.178950, 0.019252, 0.584054 },
    +  { 0.186213, 0.018803, 0.587228 },
    +  { 0.193374, 0.018354, 0.590330 },
    +  { 0.200445, 0.017902, 0.593364 },
    +  { 0.207435, 0.017442, 0.596333 },
    +  { 0.214350, 0.016973, 0.599239 },
    +  { 0.221197, 0.016497, 0.602083 },
    +  { 0.227983, 0.016007, 0.604867 },
    +  { 0.234715, 0.015502, 0.607592 },
    +  { 0.241396, 0.014979, 0.610259 },
    +  { 0.248032, 0.014439, 0.612868 },
    +  { 0.254627, 0.013882, 0.615419 },
    +  { 0.261183, 0.013308, 0.617911 },
    +  { 0.267703, 0.012716, 0.620346 },
    +  { 0.274191, 0.012109, 0.622722 },
    +  { 0.280648, 0.011488, 0.625038 },
    +  { 0.287076, 0.010855, 0.627295 },
    +  { 0.293478, 0.010213, 0.629490 },
    +  { 0.299855, 0.009561, 0.631624 },
    +  { 0.306210, 0.008902, 0.633694 },
    +  { 0.312543, 0.008239, 0.635700 },
    +  { 0.318856, 0.007576, 0.637640 },
    +  { 0.325150, 0.006915, 0.639512 },
    +  { 0.331426, 0.006261, 0.641316 },
    +  { 0.337683, 0.005618, 0.643049 },
    +  { 0.343925, 0.004991, 0.644710 },
    +  { 0.350150, 0.004382, 0.646298 },
    +  { 0.356359, 0.003798, 0.647810 },
    +  { 0.362553, 0.003243, 0.649245 },
    +  { 0.368733, 0.002724, 0.650601 },
    +  { 0.374897, 0.002245, 0.651876 },
    +  { 0.381047, 0.001814, 0.653068 },
    +  { 0.387183, 0.001434, 0.654177 },
    +  { 0.393304, 0.001114, 0.655199 },
    +  { 0.399411, 0.000859, 0.656133 },
    +  { 0.405503, 0.000678, 0.656977 },
    +  { 0.411580, 0.000577, 0.657730 },
    +  { 0.417642, 0.000564, 0.658390 },
    +  { 0.423689, 0.000646, 0.658956 },
    +  { 0.429719, 0.000831, 0.659425 },
    +  { 0.435734, 0.001127, 0.659797 },
    +  { 0.441732, 0.001540, 0.660069 },
    +  { 0.447714, 0.002080, 0.660240 },
    +  { 0.453677, 0.002755, 0.660310 },
    +  { 0.459623, 0.003574, 0.660277 },
    +  { 0.465550, 0.004545, 0.660139 },
    +  { 0.471457, 0.005678, 0.659897 },
    +  { 0.477344, 0.006980, 0.659549 },
    +  { 0.483210, 0.008460, 0.659095 },
    +  { 0.489055, 0.010127, 0.658534 },
    +  { 0.494877, 0.011990, 0.657865 },
    +  { 0.500678, 0.014055, 0.657088 },
    +  { 0.506454, 0.016333, 0.656202 },
    +  { 0.512206, 0.018833, 0.655209 },
    +  { 0.517933, 0.021563, 0.654109 },
    +  { 0.523633, 0.024532, 0.652901 },
    +  { 0.529306, 0.027747, 0.651586 },
    +  { 0.534952, 0.031217, 0.650165 },
    +  { 0.540570, 0.034950, 0.648640 },
    +  { 0.546157, 0.038954, 0.647010 },
    +  { 0.551715, 0.043136, 0.645277 },
    +  { 0.557243, 0.047331, 0.643443 },
    +  { 0.562738, 0.051545, 0.641509 },
    +  { 0.568201, 0.055778, 0.639477 },
    +  { 0.573632, 0.060028, 0.637349 },
    +  { 0.579029, 0.064296, 0.635126 },
    +  { 0.584391, 0.068579, 0.632812 },
    +  { 0.589719, 0.072878, 0.630408 },
    +  { 0.595011, 0.077190, 0.627917 },
    +  { 0.600266, 0.081516, 0.625342 },
    +  { 0.605485, 0.085854, 0.622686 },
    +  { 0.610667, 0.090204, 0.619951 },
    +  { 0.615812, 0.094564, 0.617140 },
    +  { 0.620919, 0.098934, 0.614257 },
    +  { 0.625987, 0.103312, 0.611305 },
    +  { 0.631017, 0.107699, 0.608287 },
    +  { 0.636008, 0.112092, 0.605205 },
    +  { 0.640959, 0.116492, 0.602065 },
    +  { 0.645872, 0.120898, 0.598867 },
    +  { 0.650746, 0.125309, 0.595617 },
    +  { 0.655580, 0.129725, 0.592317 },
    +  { 0.660374, 0.134144, 0.588971 },
    +  { 0.665129, 0.138566, 0.585582 },
    +  { 0.669845, 0.142992, 0.582154 },
    +  { 0.674522, 0.147419, 0.578688 },
    +  { 0.679160, 0.151848, 0.575189 },
    +  { 0.683758, 0.156278, 0.571660 },
    +  { 0.688318, 0.160709, 0.568103 },
    +  { 0.692840, 0.165141, 0.564522 },
    +  { 0.697324, 0.169573, 0.560919 },
    +  { 0.701769, 0.174005, 0.557296 },
    +  { 0.706178, 0.178437, 0.553657 },
    +  { 0.710549, 0.182868, 0.550004 },
    +  { 0.714883, 0.187299, 0.546338 },
    +  { 0.719181, 0.191729, 0.542663 },
    +  { 0.723444, 0.196158, 0.538981 },
    +  { 0.727670, 0.200586, 0.535293 },
    +  { 0.731862, 0.205013, 0.531601 },
    +  { 0.736019, 0.209439, 0.527908 },
    +  { 0.740143, 0.213864, 0.524216 },
    +  { 0.744232, 0.218288, 0.520524 },
    +  { 0.748289, 0.222711, 0.516834 },
    +  { 0.752312, 0.227133, 0.513149 },
    +  { 0.756304, 0.231555, 0.509468 },
    +  { 0.760264, 0.235976, 0.505794 },
    +  { 0.764193, 0.240396, 0.502126 },
    +  { 0.768090, 0.244817, 0.498465 },
    +  { 0.771958, 0.249237, 0.494813 },
    +  { 0.775796, 0.253658, 0.491171 },
    +  { 0.779604, 0.258078, 0.487539 },
    +  { 0.783383, 0.262500, 0.483918 },
    +  { 0.787133, 0.266922, 0.480307 },
    +  { 0.790855, 0.271345, 0.476706 },
    +  { 0.794549, 0.275770, 0.473117 },
    +  { 0.798216, 0.280197, 0.469538 },
    +  { 0.801855, 0.284626, 0.465971 },
    +  { 0.805467, 0.289057, 0.462415 },
    +  { 0.809052, 0.293491, 0.458870 },
    +  { 0.812612, 0.297928, 0.455338 },
    +  { 0.816144, 0.302368, 0.451816 },
    +  { 0.819651, 0.306812, 0.448306 },
    +  { 0.823132, 0.311261, 0.444806 },
    +  { 0.826588, 0.315714, 0.441316 },
    +  { 0.830018, 0.320172, 0.437836 },
    +  { 0.833422, 0.324635, 0.434366 },
    +  { 0.836801, 0.329105, 0.430905 },
    +  { 0.840155, 0.333580, 0.427455 },
    +  { 0.843484, 0.338062, 0.424013 },
    +  { 0.846788, 0.342551, 0.420579 },
    +  { 0.850066, 0.347048, 0.417153 },
    +  { 0.853319, 0.351553, 0.413734 },
    +  { 0.856547, 0.356066, 0.410322 },
    +  { 0.859750, 0.360588, 0.406917 },
    +  { 0.862927, 0.365119, 0.403519 },
    +  { 0.866078, 0.369660, 0.400126 },
    +  { 0.869203, 0.374212, 0.396738 },
    +  { 0.872303, 0.378774, 0.393355 },
    +  { 0.875376, 0.383347, 0.389976 },
    +  { 0.878423, 0.387932, 0.386600 },
    +  { 0.881443, 0.392529, 0.383229 },
    +  { 0.884436, 0.397139, 0.379860 },
    +  { 0.887402, 0.401762, 0.376494 },
    +  { 0.890340, 0.406398, 0.373130 },
    +  { 0.893250, 0.411048, 0.369768 },
    +  { 0.896131, 0.415712, 0.366407 },
    +  { 0.898984, 0.420392, 0.363047 },
    +  { 0.901807, 0.425087, 0.359688 },
    +  { 0.904601, 0.429797, 0.356329 },
    +  { 0.907365, 0.434524, 0.352970 },
    +  { 0.910098, 0.439268, 0.349610 },
    +  { 0.912800, 0.444029, 0.346251 },
    +  { 0.915471, 0.448807, 0.342890 },
    +  { 0.918109, 0.453603, 0.339529 },
    +  { 0.920714, 0.458417, 0.336166 },
    +  { 0.923287, 0.463251, 0.332801 },
    +  { 0.925825, 0.468103, 0.329435 },
    +  { 0.928329, 0.472975, 0.326067 },
    +  { 0.930798, 0.477867, 0.322697 },
    +  { 0.933232, 0.482780, 0.319325 },
    +  { 0.935630, 0.487712, 0.315952 },
    +  { 0.937990, 0.492667, 0.312575 },
    +  { 0.940313, 0.497642, 0.309197 },
    +  { 0.942598, 0.502639, 0.305816 },
    +  { 0.944844, 0.507658, 0.302433 },
    +  { 0.947051, 0.512699, 0.299049 },
    +  { 0.949217, 0.517763, 0.295662 },
    +  { 0.951344, 0.522850, 0.292275 },
    +  { 0.953428, 0.527960, 0.288883 },
    +  { 0.955470, 0.533093, 0.285490 },
    +  { 0.957469, 0.538250, 0.282096 },
    +  { 0.959424, 0.543431, 0.278701 },
    +  { 0.961336, 0.548636, 0.275305 },
    +  { 0.963203, 0.553865, 0.271909 },
    +  { 0.965024, 0.559118, 0.268513 },
    +  { 0.966798, 0.564396, 0.265118 },
    +  { 0.968526, 0.569700, 0.261721 },
    +  { 0.970205, 0.575028, 0.258325 },
    +  { 0.971835, 0.580382, 0.254931 },
    +  { 0.973416, 0.585761, 0.251540 },
    +  { 0.974947, 0.591165, 0.248151 },
    +  { 0.976428, 0.596595, 0.244767 },
    +  { 0.977856, 0.602051, 0.241387 },
    +  { 0.979233, 0.607532, 0.238013 },
    +  { 0.980556, 0.613039, 0.234646 },
    +  { 0.981826, 0.618572, 0.231287 },
    +  { 0.983041, 0.624131, 0.227937 },
    +  { 0.984199, 0.629718, 0.224595 },
    +  { 0.985301, 0.635330, 0.221265 },
    +  { 0.986345, 0.640969, 0.217948 },
    +  { 0.987332, 0.646633, 0.214648 },
    +  { 0.988260, 0.652325, 0.211364 },
    +  { 0.989128, 0.658043, 0.208100 },
    +  { 0.989935, 0.663787, 0.204859 },
    +  { 0.990681, 0.669558, 0.201642 },
    +  { 0.991365, 0.675355, 0.198453 },
    +  { 0.991985, 0.681179, 0.195295 },
    +  { 0.992541, 0.687030, 0.192170 },
    +  { 0.993032, 0.692907, 0.189084 },
    +  { 0.993456, 0.698810, 0.186041 },
    +  { 0.993814, 0.704741, 0.183043 },
    +  { 0.994103, 0.710698, 0.180097 },
    +  { 0.994324, 0.716681, 0.177208 },
    +  { 0.994474, 0.722691, 0.174381 },
    +  { 0.994553, 0.728728, 0.171622 },
    +  { 0.994561, 0.734791, 0.168938 },
    +  { 0.994495, 0.740880, 0.166335 },
    +  { 0.994355, 0.746995, 0.163821 },
    +  { 0.994141, 0.753137, 0.161404 },
    +  { 0.993851, 0.759304, 0.159092 },
    +  { 0.993482, 0.765499, 0.156891 },
    +  { 0.993033, 0.771720, 0.154808 },
    +  { 0.992505, 0.777967, 0.152855 },
    +  { 0.991897, 0.784239, 0.151042 },
    +  { 0.991209, 0.790537, 0.149377 },
    +  { 0.990439, 0.796859, 0.147870 },
    +  { 0.989587, 0.803205, 0.146529 },
    +  { 0.988648, 0.809579, 0.145357 },
    +  { 0.987621, 0.815978, 0.144363 },
    +  { 0.986509, 0.822401, 0.143557 },
    +  { 0.985314, 0.828846, 0.142945 },
    +  { 0.984031, 0.835315, 0.142528 },
    +  { 0.982653, 0.841812, 0.142303 },
    +  { 0.981190, 0.848329, 0.142279 },
    +  { 0.979644, 0.854866, 0.142453 },
    +  { 0.977995, 0.861432, 0.142808 },
    +  { 0.976265, 0.868016, 0.143351 },
    +  { 0.974443, 0.874622, 0.144061 },
    +  { 0.972530, 0.881250, 0.144923 },
    +  { 0.970533, 0.887896, 0.145919 },
    +  { 0.968443, 0.894564, 0.147014 },
    +  { 0.966271, 0.901249, 0.148180 },
    +  { 0.964021, 0.907950, 0.149370 },
    +  { 0.961681, 0.914672, 0.150520 },
    +  { 0.959276, 0.921407, 0.151566 },
    +  { 0.956808, 0.928152, 0.152409 },
    +  { 0.954287, 0.934908, 0.152921 },
    +  { 0.951726, 0.941671, 0.152925 },
    +  { 0.949151, 0.948435, 0.152178 },
    +  { 0.946602, 0.955190, 0.150328 },
    +  { 0.944152, 0.961916, 0.146861 },
    +  { 0.941896, 0.968590, 0.140956 },
    +  { 0.940015, 0.975158, 0.131326 }
     };
     
     static double viridis_cm[256][3] = {
    -	{ 0.267004, 0.004874, 0.329415 },
    -	{ 0.268510, 0.009605, 0.335427 },
    -	{ 0.269944, 0.014625, 0.341379 },
    -	{ 0.271305, 0.019942, 0.347269 },
    -	{ 0.272594, 0.025563, 0.353093 },
    -	{ 0.273809, 0.031497, 0.358853 },
    -	{ 0.274952, 0.037752, 0.364543 },
    -	{ 0.276022, 0.044167, 0.370164 },
    -	{ 0.277018, 0.050344, 0.375715 },
    -	{ 0.277941, 0.056324, 0.381191 },
    -	{ 0.278791, 0.062145, 0.386592 },
    -	{ 0.279566, 0.067836, 0.391917 },
    -	{ 0.280267, 0.073417, 0.397163 },
    -	{ 0.280894, 0.078907, 0.402329 },
    -	{ 0.281446, 0.084320, 0.407414 },
    -	{ 0.281924, 0.089666, 0.412415 },
    -	{ 0.282327, 0.094955, 0.417331 },
    -	{ 0.282656, 0.100196, 0.422160 },
    -	{ 0.282910, 0.105393, 0.426902 },
    -	{ 0.283091, 0.110553, 0.431554 },
    -	{ 0.283197, 0.115680, 0.436115 },
    -	{ 0.283229, 0.120777, 0.440584 },
    -	{ 0.283187, 0.125848, 0.444960 },
    -	{ 0.283072, 0.130895, 0.449241 },
    -	{ 0.282884, 0.135920, 0.453427 },
    -	{ 0.282623, 0.140926, 0.457517 },
    -	{ 0.282290, 0.145912, 0.461510 },
    -	{ 0.281887, 0.150881, 0.465405 },
    -	{ 0.281412, 0.155834, 0.469201 },
    -	{ 0.280868, 0.160771, 0.472899 },
    -	{ 0.280255, 0.165693, 0.476498 },
    -	{ 0.279574, 0.170599, 0.479997 },
    -	{ 0.278826, 0.175490, 0.483397 },
    -	{ 0.278012, 0.180367, 0.486697 },
    -	{ 0.277134, 0.185228, 0.489898 },
    -	{ 0.276194, 0.190074, 0.493001 },
    -	{ 0.275191, 0.194905, 0.496005 },
    -	{ 0.274128, 0.199721, 0.498911 },
    -	{ 0.273006, 0.204520, 0.501721 },
    -	{ 0.271828, 0.209303, 0.504434 },
    -	{ 0.270595, 0.214069, 0.507052 },
    -	{ 0.269308, 0.218818, 0.509577 },
    -	{ 0.267968, 0.223549, 0.512008 },
    -	{ 0.266580, 0.228262, 0.514349 },
    -	{ 0.265145, 0.232956, 0.516599 },
    -	{ 0.263663, 0.237631, 0.518762 },
    -	{ 0.262138, 0.242286, 0.520837 },
    -	{ 0.260571, 0.246922, 0.522828 },
    -	{ 0.258965, 0.251537, 0.524736 },
    -	{ 0.257322, 0.256130, 0.526563 },
    -	{ 0.255645, 0.260703, 0.528312 },
    -	{ 0.253935, 0.265254, 0.529983 },
    -	{ 0.252194, 0.269783, 0.531579 },
    -	{ 0.250425, 0.274290, 0.533103 },
    -	{ 0.248629, 0.278775, 0.534556 },
    -	{ 0.246811, 0.283237, 0.535941 },
    -	{ 0.244972, 0.287675, 0.537260 },
    -	{ 0.243113, 0.292092, 0.538516 },
    -	{ 0.241237, 0.296485, 0.539709 },
    -	{ 0.239346, 0.300855, 0.540844 },
    -	{ 0.237441, 0.305202, 0.541921 },
    -	{ 0.235526, 0.309527, 0.542944 },
    -	{ 0.233603, 0.313828, 0.543914 },
    -	{ 0.231674, 0.318106, 0.544834 },
    -	{ 0.229739, 0.322361, 0.545706 },
    -	{ 0.227802, 0.326594, 0.546532 },
    -	{ 0.225863, 0.330805, 0.547314 },
    -	{ 0.223925, 0.334994, 0.548053 },
    -	{ 0.221989, 0.339161, 0.548752 },
    -	{ 0.220057, 0.343307, 0.549413 },
    -	{ 0.218130, 0.347432, 0.550038 },
    -	{ 0.216210, 0.351535, 0.550627 },
    -	{ 0.214298, 0.355619, 0.551184 },
    -	{ 0.212395, 0.359683, 0.551710 },
    -	{ 0.210503, 0.363727, 0.552206 },
    -	{ 0.208623, 0.367752, 0.552675 },
    -	{ 0.206756, 0.371758, 0.553117 },
    -	{ 0.204903, 0.375746, 0.553533 },
    -	{ 0.203063, 0.379716, 0.553925 },
    -	{ 0.201239, 0.383670, 0.554294 },
    -	{ 0.199430, 0.387607, 0.554642 },
    -	{ 0.197636, 0.391528, 0.554969 },
    -	{ 0.195860, 0.395433, 0.555276 },
    -	{ 0.194100, 0.399323, 0.555565 },
    -	{ 0.192357, 0.403199, 0.555836 },
    -	{ 0.190631, 0.407061, 0.556089 },
    -	{ 0.188923, 0.410910, 0.556326 },
    -	{ 0.187231, 0.414746, 0.556547 },
    -	{ 0.185556, 0.418570, 0.556753 },
    -	{ 0.183898, 0.422383, 0.556944 },
    -	{ 0.182256, 0.426184, 0.557120 },
    -	{ 0.180629, 0.429975, 0.557282 },
    -	{ 0.179019, 0.433756, 0.557430 },
    -	{ 0.177423, 0.437527, 0.557565 },
    -	{ 0.175841, 0.441290, 0.557685 },
    -	{ 0.174274, 0.445044, 0.557792 },
    -	{ 0.172719, 0.448791, 0.557885 },
    -	{ 0.171176, 0.452530, 0.557965 },
    -	{ 0.169646, 0.456262, 0.558030 },
    -	{ 0.168126, 0.459988, 0.558082 },
    -	{ 0.166617, 0.463708, 0.558119 },
    -	{ 0.165117, 0.467423, 0.558141 },
    -	{ 0.163625, 0.471133, 0.558148 },
    -	{ 0.162142, 0.474838, 0.558140 },
    -	{ 0.160665, 0.478540, 0.558115 },
    -	{ 0.159194, 0.482237, 0.558073 },
    -	{ 0.157729, 0.485932, 0.558013 },
    -	{ 0.156270, 0.489624, 0.557936 },
    -	{ 0.154815, 0.493313, 0.557840 },
    -	{ 0.153364, 0.497000, 0.557724 },
    -	{ 0.151918, 0.500685, 0.557587 },
    -	{ 0.150476, 0.504369, 0.557430 },
    -	{ 0.149039, 0.508051, 0.557250 },
    -	{ 0.147607, 0.511733, 0.557049 },
    -	{ 0.146180, 0.515413, 0.556823 },
    -	{ 0.144759, 0.519093, 0.556572 },
    -	{ 0.143343, 0.522773, 0.556295 },
    -	{ 0.141935, 0.526453, 0.555991 },
    -	{ 0.140536, 0.530132, 0.555659 },
    -	{ 0.139147, 0.533812, 0.555298 },
    -	{ 0.137770, 0.537492, 0.554906 },
    -	{ 0.136408, 0.541173, 0.554483 },
    -	{ 0.135066, 0.544853, 0.554029 },
    -	{ 0.133743, 0.548535, 0.553541 },
    -	{ 0.132444, 0.552216, 0.553018 },
    -	{ 0.131172, 0.555899, 0.552459 },
    -	{ 0.129933, 0.559582, 0.551864 },
    -	{ 0.128729, 0.563265, 0.551229 },
    -	{ 0.127568, 0.566949, 0.550556 },
    -	{ 0.126453, 0.570633, 0.549841 },
    -	{ 0.125394, 0.574318, 0.549086 },
    -	{ 0.124395, 0.578002, 0.548287 },
    -	{ 0.123463, 0.581687, 0.547445 },
    -	{ 0.122606, 0.585371, 0.546557 },
    -	{ 0.121831, 0.589055, 0.545623 },
    -	{ 0.121148, 0.592739, 0.544641 },
    -	{ 0.120565, 0.596422, 0.543611 },
    -	{ 0.120092, 0.600104, 0.542530 },
    -	{ 0.119738, 0.603785, 0.541400 },
    -	{ 0.119512, 0.607464, 0.540218 },
    -	{ 0.119423, 0.611141, 0.538982 },
    -	{ 0.119483, 0.614817, 0.537692 },
    -	{ 0.119699, 0.618490, 0.536347 },
    -	{ 0.120081, 0.622161, 0.534946 },
    -	{ 0.120638, 0.625828, 0.533488 },
    -	{ 0.121380, 0.629492, 0.531973 },
    -	{ 0.122312, 0.633153, 0.530398 },
    -	{ 0.123444, 0.636809, 0.528763 },
    -	{ 0.124780, 0.640461, 0.527068 },
    -	{ 0.126326, 0.644107, 0.525311 },
    -	{ 0.128087, 0.647749, 0.523491 },
    -	{ 0.130067, 0.651384, 0.521608 },
    -	{ 0.132268, 0.655014, 0.519661 },
    -	{ 0.134692, 0.658636, 0.517649 },
    -	{ 0.137339, 0.662252, 0.515571 },
    -	{ 0.140210, 0.665859, 0.513427 },
    -	{ 0.143303, 0.669459, 0.511215 },
    -	{ 0.146616, 0.673050, 0.508936 },
    -	{ 0.150148, 0.676631, 0.506589 },
    -	{ 0.153894, 0.680203, 0.504172 },
    -	{ 0.157851, 0.683765, 0.501686 },
    -	{ 0.162016, 0.687316, 0.499129 },
    -	{ 0.166383, 0.690856, 0.496502 },
    -	{ 0.170948, 0.694384, 0.493803 },
    -	{ 0.175707, 0.697900, 0.491033 },
    -	{ 0.180653, 0.701402, 0.488189 },
    -	{ 0.185783, 0.704891, 0.485273 },
    -	{ 0.191090, 0.708366, 0.482284 },
    -	{ 0.196571, 0.711827, 0.479221 },
    -	{ 0.202219, 0.715272, 0.476084 },
    -	{ 0.208030, 0.718701, 0.472873 },
    -	{ 0.214000, 0.722114, 0.469588 },
    -	{ 0.220124, 0.725509, 0.466226 },
    -	{ 0.226397, 0.728888, 0.462789 },
    -	{ 0.232815, 0.732247, 0.459277 },
    -	{ 0.239374, 0.735588, 0.455688 },
    -	{ 0.246070, 0.738910, 0.452024 },
    -	{ 0.252899, 0.742211, 0.448284 },
    -	{ 0.259857, 0.745492, 0.444467 },
    -	{ 0.266941, 0.748751, 0.440573 },
    -	{ 0.274149, 0.751988, 0.436601 },
    -	{ 0.281477, 0.755203, 0.432552 },
    -	{ 0.288921, 0.758394, 0.428426 },
    -	{ 0.296479, 0.761561, 0.424223 },
    -	{ 0.304148, 0.764704, 0.419943 },
    -	{ 0.311925, 0.767822, 0.415586 },
    -	{ 0.319809, 0.770914, 0.411152 },
    -	{ 0.327796, 0.773980, 0.406640 },
    -	{ 0.335885, 0.777018, 0.402049 },
    -	{ 0.344074, 0.780029, 0.397381 },
    -	{ 0.352360, 0.783011, 0.392636 },
    -	{ 0.360741, 0.785964, 0.387814 },
    -	{ 0.369214, 0.788888, 0.382914 },
    -	{ 0.377779, 0.791781, 0.377939 },
    -	{ 0.386433, 0.794644, 0.372886 },
    -	{ 0.395174, 0.797475, 0.367757 },
    -	{ 0.404001, 0.800275, 0.362552 },
    -	{ 0.412913, 0.803041, 0.357269 },
    -	{ 0.421908, 0.805774, 0.351910 },
    -	{ 0.430983, 0.808473, 0.346476 },
    -	{ 0.440137, 0.811138, 0.340967 },
    -	{ 0.449368, 0.813768, 0.335384 },
    -	{ 0.458674, 0.816363, 0.329727 },
    -	{ 0.468053, 0.818921, 0.323998 },
    -	{ 0.477504, 0.821444, 0.318195 },
    -	{ 0.487026, 0.823929, 0.312321 },
    -	{ 0.496615, 0.826376, 0.306377 },
    -	{ 0.506271, 0.828786, 0.300362 },
    -	{ 0.515992, 0.831158, 0.294279 },
    -	{ 0.525776, 0.833491, 0.288127 },
    -	{ 0.535621, 0.835785, 0.281908 },
    -	{ 0.545524, 0.838039, 0.275626 },
    -	{ 0.555484, 0.840254, 0.269281 },
    -	{ 0.565498, 0.842430, 0.262877 },
    -	{ 0.575563, 0.844566, 0.256415 },
    -	{ 0.585678, 0.846661, 0.249897 },
    -	{ 0.595839, 0.848717, 0.243329 },
    -	{ 0.606045, 0.850733, 0.236712 },
    -	{ 0.616293, 0.852709, 0.230052 },
    -	{ 0.626579, 0.854645, 0.223353 },
    -	{ 0.636902, 0.856542, 0.216620 },
    -	{ 0.647257, 0.858400, 0.209861 },
    -	{ 0.657642, 0.860219, 0.203082 },
    -	{ 0.668054, 0.861999, 0.196293 },
    -	{ 0.678489, 0.863742, 0.189503 },
    -	{ 0.688944, 0.865448, 0.182725 },
    -	{ 0.699415, 0.867117, 0.175971 },
    -	{ 0.709898, 0.868751, 0.169257 },
    -	{ 0.720391, 0.870350, 0.162603 },
    -	{ 0.730889, 0.871916, 0.156029 },
    -	{ 0.741388, 0.873449, 0.149561 },
    -	{ 0.751884, 0.874951, 0.143228 },
    -	{ 0.762373, 0.876424, 0.137064 },
    -	{ 0.772852, 0.877868, 0.131109 },
    -	{ 0.783315, 0.879285, 0.125405 },
    -	{ 0.793760, 0.880678, 0.120005 },
    -	{ 0.804182, 0.882046, 0.114965 },
    -	{ 0.814576, 0.883393, 0.110347 },
    -	{ 0.824940, 0.884720, 0.106217 },
    -	{ 0.835270, 0.886029, 0.102646 },
    -	{ 0.845561, 0.887322, 0.099702 },
    -	{ 0.855810, 0.888601, 0.097452 },
    -	{ 0.866013, 0.889868, 0.095953 },
    -	{ 0.876168, 0.891125, 0.095250 },
    -	{ 0.886271, 0.892374, 0.095374 },
    -	{ 0.896320, 0.893616, 0.096335 },
    -	{ 0.906311, 0.894855, 0.098125 },
    -	{ 0.916242, 0.896091, 0.100717 },
    -	{ 0.926106, 0.897330, 0.104071 },
    -	{ 0.935904, 0.898570, 0.108131 },
    -	{ 0.945636, 0.899815, 0.112838 },
    -	{ 0.955300, 0.901065, 0.118128 },
    -	{ 0.964894, 0.902323, 0.123941 },
    -	{ 0.974417, 0.903590, 0.130215 },
    -	{ 0.983868, 0.904867, 0.136897 },
    -	{ 0.993248, 0.906157, 0.143936 }
    +  { 0.267004, 0.004874, 0.329415 },
    +  { 0.268510, 0.009605, 0.335427 },
    +  { 0.269944, 0.014625, 0.341379 },
    +  { 0.271305, 0.019942, 0.347269 },
    +  { 0.272594, 0.025563, 0.353093 },
    +  { 0.273809, 0.031497, 0.358853 },
    +  { 0.274952, 0.037752, 0.364543 },
    +  { 0.276022, 0.044167, 0.370164 },
    +  { 0.277018, 0.050344, 0.375715 },
    +  { 0.277941, 0.056324, 0.381191 },
    +  { 0.278791, 0.062145, 0.386592 },
    +  { 0.279566, 0.067836, 0.391917 },
    +  { 0.280267, 0.073417, 0.397163 },
    +  { 0.280894, 0.078907, 0.402329 },
    +  { 0.281446, 0.084320, 0.407414 },
    +  { 0.281924, 0.089666, 0.412415 },
    +  { 0.282327, 0.094955, 0.417331 },
    +  { 0.282656, 0.100196, 0.422160 },
    +  { 0.282910, 0.105393, 0.426902 },
    +  { 0.283091, 0.110553, 0.431554 },
    +  { 0.283197, 0.115680, 0.436115 },
    +  { 0.283229, 0.120777, 0.440584 },
    +  { 0.283187, 0.125848, 0.444960 },
    +  { 0.283072, 0.130895, 0.449241 },
    +  { 0.282884, 0.135920, 0.453427 },
    +  { 0.282623, 0.140926, 0.457517 },
    +  { 0.282290, 0.145912, 0.461510 },
    +  { 0.281887, 0.150881, 0.465405 },
    +  { 0.281412, 0.155834, 0.469201 },
    +  { 0.280868, 0.160771, 0.472899 },
    +  { 0.280255, 0.165693, 0.476498 },
    +  { 0.279574, 0.170599, 0.479997 },
    +  { 0.278826, 0.175490, 0.483397 },
    +  { 0.278012, 0.180367, 0.486697 },
    +  { 0.277134, 0.185228, 0.489898 },
    +  { 0.276194, 0.190074, 0.493001 },
    +  { 0.275191, 0.194905, 0.496005 },
    +  { 0.274128, 0.199721, 0.498911 },
    +  { 0.273006, 0.204520, 0.501721 },
    +  { 0.271828, 0.209303, 0.504434 },
    +  { 0.270595, 0.214069, 0.507052 },
    +  { 0.269308, 0.218818, 0.509577 },
    +  { 0.267968, 0.223549, 0.512008 },
    +  { 0.266580, 0.228262, 0.514349 },
    +  { 0.265145, 0.232956, 0.516599 },
    +  { 0.263663, 0.237631, 0.518762 },
    +  { 0.262138, 0.242286, 0.520837 },
    +  { 0.260571, 0.246922, 0.522828 },
    +  { 0.258965, 0.251537, 0.524736 },
    +  { 0.257322, 0.256130, 0.526563 },
    +  { 0.255645, 0.260703, 0.528312 },
    +  { 0.253935, 0.265254, 0.529983 },
    +  { 0.252194, 0.269783, 0.531579 },
    +  { 0.250425, 0.274290, 0.533103 },
    +  { 0.248629, 0.278775, 0.534556 },
    +  { 0.246811, 0.283237, 0.535941 },
    +  { 0.244972, 0.287675, 0.537260 },
    +  { 0.243113, 0.292092, 0.538516 },
    +  { 0.241237, 0.296485, 0.539709 },
    +  { 0.239346, 0.300855, 0.540844 },
    +  { 0.237441, 0.305202, 0.541921 },
    +  { 0.235526, 0.309527, 0.542944 },
    +  { 0.233603, 0.313828, 0.543914 },
    +  { 0.231674, 0.318106, 0.544834 },
    +  { 0.229739, 0.322361, 0.545706 },
    +  { 0.227802, 0.326594, 0.546532 },
    +  { 0.225863, 0.330805, 0.547314 },
    +  { 0.223925, 0.334994, 0.548053 },
    +  { 0.221989, 0.339161, 0.548752 },
    +  { 0.220057, 0.343307, 0.549413 },
    +  { 0.218130, 0.347432, 0.550038 },
    +  { 0.216210, 0.351535, 0.550627 },
    +  { 0.214298, 0.355619, 0.551184 },
    +  { 0.212395, 0.359683, 0.551710 },
    +  { 0.210503, 0.363727, 0.552206 },
    +  { 0.208623, 0.367752, 0.552675 },
    +  { 0.206756, 0.371758, 0.553117 },
    +  { 0.204903, 0.375746, 0.553533 },
    +  { 0.203063, 0.379716, 0.553925 },
    +  { 0.201239, 0.383670, 0.554294 },
    +  { 0.199430, 0.387607, 0.554642 },
    +  { 0.197636, 0.391528, 0.554969 },
    +  { 0.195860, 0.395433, 0.555276 },
    +  { 0.194100, 0.399323, 0.555565 },
    +  { 0.192357, 0.403199, 0.555836 },
    +  { 0.190631, 0.407061, 0.556089 },
    +  { 0.188923, 0.410910, 0.556326 },
    +  { 0.187231, 0.414746, 0.556547 },
    +  { 0.185556, 0.418570, 0.556753 },
    +  { 0.183898, 0.422383, 0.556944 },
    +  { 0.182256, 0.426184, 0.557120 },
    +  { 0.180629, 0.429975, 0.557282 },
    +  { 0.179019, 0.433756, 0.557430 },
    +  { 0.177423, 0.437527, 0.557565 },
    +  { 0.175841, 0.441290, 0.557685 },
    +  { 0.174274, 0.445044, 0.557792 },
    +  { 0.172719, 0.448791, 0.557885 },
    +  { 0.171176, 0.452530, 0.557965 },
    +  { 0.169646, 0.456262, 0.558030 },
    +  { 0.168126, 0.459988, 0.558082 },
    +  { 0.166617, 0.463708, 0.558119 },
    +  { 0.165117, 0.467423, 0.558141 },
    +  { 0.163625, 0.471133, 0.558148 },
    +  { 0.162142, 0.474838, 0.558140 },
    +  { 0.160665, 0.478540, 0.558115 },
    +  { 0.159194, 0.482237, 0.558073 },
    +  { 0.157729, 0.485932, 0.558013 },
    +  { 0.156270, 0.489624, 0.557936 },
    +  { 0.154815, 0.493313, 0.557840 },
    +  { 0.153364, 0.497000, 0.557724 },
    +  { 0.151918, 0.500685, 0.557587 },
    +  { 0.150476, 0.504369, 0.557430 },
    +  { 0.149039, 0.508051, 0.557250 },
    +  { 0.147607, 0.511733, 0.557049 },
    +  { 0.146180, 0.515413, 0.556823 },
    +  { 0.144759, 0.519093, 0.556572 },
    +  { 0.143343, 0.522773, 0.556295 },
    +  { 0.141935, 0.526453, 0.555991 },
    +  { 0.140536, 0.530132, 0.555659 },
    +  { 0.139147, 0.533812, 0.555298 },
    +  { 0.137770, 0.537492, 0.554906 },
    +  { 0.136408, 0.541173, 0.554483 },
    +  { 0.135066, 0.544853, 0.554029 },
    +  { 0.133743, 0.548535, 0.553541 },
    +  { 0.132444, 0.552216, 0.553018 },
    +  { 0.131172, 0.555899, 0.552459 },
    +  { 0.129933, 0.559582, 0.551864 },
    +  { 0.128729, 0.563265, 0.551229 },
    +  { 0.127568, 0.566949, 0.550556 },
    +  { 0.126453, 0.570633, 0.549841 },
    +  { 0.125394, 0.574318, 0.549086 },
    +  { 0.124395, 0.578002, 0.548287 },
    +  { 0.123463, 0.581687, 0.547445 },
    +  { 0.122606, 0.585371, 0.546557 },
    +  { 0.121831, 0.589055, 0.545623 },
    +  { 0.121148, 0.592739, 0.544641 },
    +  { 0.120565, 0.596422, 0.543611 },
    +  { 0.120092, 0.600104, 0.542530 },
    +  { 0.119738, 0.603785, 0.541400 },
    +  { 0.119512, 0.607464, 0.540218 },
    +  { 0.119423, 0.611141, 0.538982 },
    +  { 0.119483, 0.614817, 0.537692 },
    +  { 0.119699, 0.618490, 0.536347 },
    +  { 0.120081, 0.622161, 0.534946 },
    +  { 0.120638, 0.625828, 0.533488 },
    +  { 0.121380, 0.629492, 0.531973 },
    +  { 0.122312, 0.633153, 0.530398 },
    +  { 0.123444, 0.636809, 0.528763 },
    +  { 0.124780, 0.640461, 0.527068 },
    +  { 0.126326, 0.644107, 0.525311 },
    +  { 0.128087, 0.647749, 0.523491 },
    +  { 0.130067, 0.651384, 0.521608 },
    +  { 0.132268, 0.655014, 0.519661 },
    +  { 0.134692, 0.658636, 0.517649 },
    +  { 0.137339, 0.662252, 0.515571 },
    +  { 0.140210, 0.665859, 0.513427 },
    +  { 0.143303, 0.669459, 0.511215 },
    +  { 0.146616, 0.673050, 0.508936 },
    +  { 0.150148, 0.676631, 0.506589 },
    +  { 0.153894, 0.680203, 0.504172 },
    +  { 0.157851, 0.683765, 0.501686 },
    +  { 0.162016, 0.687316, 0.499129 },
    +  { 0.166383, 0.690856, 0.496502 },
    +  { 0.170948, 0.694384, 0.493803 },
    +  { 0.175707, 0.697900, 0.491033 },
    +  { 0.180653, 0.701402, 0.488189 },
    +  { 0.185783, 0.704891, 0.485273 },
    +  { 0.191090, 0.708366, 0.482284 },
    +  { 0.196571, 0.711827, 0.479221 },
    +  { 0.202219, 0.715272, 0.476084 },
    +  { 0.208030, 0.718701, 0.472873 },
    +  { 0.214000, 0.722114, 0.469588 },
    +  { 0.220124, 0.725509, 0.466226 },
    +  { 0.226397, 0.728888, 0.462789 },
    +  { 0.232815, 0.732247, 0.459277 },
    +  { 0.239374, 0.735588, 0.455688 },
    +  { 0.246070, 0.738910, 0.452024 },
    +  { 0.252899, 0.742211, 0.448284 },
    +  { 0.259857, 0.745492, 0.444467 },
    +  { 0.266941, 0.748751, 0.440573 },
    +  { 0.274149, 0.751988, 0.436601 },
    +  { 0.281477, 0.755203, 0.432552 },
    +  { 0.288921, 0.758394, 0.428426 },
    +  { 0.296479, 0.761561, 0.424223 },
    +  { 0.304148, 0.764704, 0.419943 },
    +  { 0.311925, 0.767822, 0.415586 },
    +  { 0.319809, 0.770914, 0.411152 },
    +  { 0.327796, 0.773980, 0.406640 },
    +  { 0.335885, 0.777018, 0.402049 },
    +  { 0.344074, 0.780029, 0.397381 },
    +  { 0.352360, 0.783011, 0.392636 },
    +  { 0.360741, 0.785964, 0.387814 },
    +  { 0.369214, 0.788888, 0.382914 },
    +  { 0.377779, 0.791781, 0.377939 },
    +  { 0.386433, 0.794644, 0.372886 },
    +  { 0.395174, 0.797475, 0.367757 },
    +  { 0.404001, 0.800275, 0.362552 },
    +  { 0.412913, 0.803041, 0.357269 },
    +  { 0.421908, 0.805774, 0.351910 },
    +  { 0.430983, 0.808473, 0.346476 },
    +  { 0.440137, 0.811138, 0.340967 },
    +  { 0.449368, 0.813768, 0.335384 },
    +  { 0.458674, 0.816363, 0.329727 },
    +  { 0.468053, 0.818921, 0.323998 },
    +  { 0.477504, 0.821444, 0.318195 },
    +  { 0.487026, 0.823929, 0.312321 },
    +  { 0.496615, 0.826376, 0.306377 },
    +  { 0.506271, 0.828786, 0.300362 },
    +  { 0.515992, 0.831158, 0.294279 },
    +  { 0.525776, 0.833491, 0.288127 },
    +  { 0.535621, 0.835785, 0.281908 },
    +  { 0.545524, 0.838039, 0.275626 },
    +  { 0.555484, 0.840254, 0.269281 },
    +  { 0.565498, 0.842430, 0.262877 },
    +  { 0.575563, 0.844566, 0.256415 },
    +  { 0.585678, 0.846661, 0.249897 },
    +  { 0.595839, 0.848717, 0.243329 },
    +  { 0.606045, 0.850733, 0.236712 },
    +  { 0.616293, 0.852709, 0.230052 },
    +  { 0.626579, 0.854645, 0.223353 },
    +  { 0.636902, 0.856542, 0.216620 },
    +  { 0.647257, 0.858400, 0.209861 },
    +  { 0.657642, 0.860219, 0.203082 },
    +  { 0.668054, 0.861999, 0.196293 },
    +  { 0.678489, 0.863742, 0.189503 },
    +  { 0.688944, 0.865448, 0.182725 },
    +  { 0.699415, 0.867117, 0.175971 },
    +  { 0.709898, 0.868751, 0.169257 },
    +  { 0.720391, 0.870350, 0.162603 },
    +  { 0.730889, 0.871916, 0.156029 },
    +  { 0.741388, 0.873449, 0.149561 },
    +  { 0.751884, 0.874951, 0.143228 },
    +  { 0.762373, 0.876424, 0.137064 },
    +  { 0.772852, 0.877868, 0.131109 },
    +  { 0.783315, 0.879285, 0.125405 },
    +  { 0.793760, 0.880678, 0.120005 },
    +  { 0.804182, 0.882046, 0.114965 },
    +  { 0.814576, 0.883393, 0.110347 },
    +  { 0.824940, 0.884720, 0.106217 },
    +  { 0.835270, 0.886029, 0.102646 },
    +  { 0.845561, 0.887322, 0.099702 },
    +  { 0.855810, 0.888601, 0.097452 },
    +  { 0.866013, 0.889868, 0.095953 },
    +  { 0.876168, 0.891125, 0.095250 },
    +  { 0.886271, 0.892374, 0.095374 },
    +  { 0.896320, 0.893616, 0.096335 },
    +  { 0.906311, 0.894855, 0.098125 },
    +  { 0.916242, 0.896091, 0.100717 },
    +  { 0.926106, 0.897330, 0.104071 },
    +  { 0.935904, 0.898570, 0.108131 },
    +  { 0.945636, 0.899815, 0.112838 },
    +  { 0.955300, 0.901065, 0.118128 },
    +  { 0.964894, 0.902323, 0.123941 },
    +  { 0.974417, 0.903590, 0.130215 },
    +  { 0.983868, 0.904867, 0.136897 },
    +  { 0.993248, 0.906157, 0.143936 }
     };
     
     static double parula_cm[256][3] = {
    -	{ 0.2081, 0.1663, 0.5292 },
    -	{ 0.2091, 0.1721, 0.5411 },
    -	{ 0.2101, 0.1779, 0.553	 },
    -	{ 0.2109, 0.1837, 0.565	 },
    -	{ 0.2116, 0.1895, 0.5771 },
    -	{ 0.2121, 0.1954, 0.5892 },
    -	{ 0.2124, 0.2013, 0.6013 },
    -	{ 0.2125, 0.2072, 0.6135 },
    -	{ 0.2123, 0.2132, 0.6258 },
    -	{ 0.2118, 0.2192, 0.6381 },
    -	{ 0.2111, 0.2253, 0.6505 },
    -	{ 0.2099, 0.2315, 0.6629 },
    -	{ 0.2084, 0.2377, 0.6753 },
    -	{ 0.2063, 0.244, 0.6878	 },
    -	{ 0.2038, 0.2503, 0.7003 },
    -	{ 0.2006, 0.2568, 0.7129 },
    -	{ 0.1968, 0.2632, 0.7255 },
    -	{ 0.1921, 0.2698, 0.7381 },
    -	{ 0.1867, 0.2764, 0.7507 },
    -	{ 0.1802, 0.2832, 0.7634 },
    -	{ 0.1728, 0.2902, 0.7762 },
    -	{ 0.1641, 0.2975, 0.789	 },
    -	{ 0.1541, 0.3052, 0.8017 },
    -	{ 0.1427, 0.3132, 0.8145 },
    -	{ 0.1295, 0.3217, 0.8269 },
    -	{ 0.1147, 0.3306, 0.8387 },
    -	{ 0.0986, 0.3397, 0.8495 },
    -	{ 0.0816, 0.3486, 0.8588 },
    -	{ 0.0646, 0.3572, 0.8664 },
    -	{ 0.0482, 0.3651, 0.8722 },
    -	{ 0.0329, 0.3724, 0.8765 },
    -	{ 0.0213, 0.3792, 0.8796 },
    -	{ 0.0136, 0.3853, 0.8815 },
    -	{ 0.0086, 0.3911, 0.8827 },
    -	{ 0.006,  0.3965, 0.8833 },
    -	{ 0.0051, 0.4017, 0.8834 },
    -	{ 0.0054, 0.4066, 0.8831 },
    -	{ 0.0067, 0.4113, 0.8825 },
    -	{ 0.0089, 0.4159, 0.8816 },
    -	{ 0.0116, 0.4203, 0.8805 },
    -	{ 0.0148, 0.4246, 0.8793 },
    -	{ 0.0184, 0.4288, 0.8779 },
    -	{ 0.0223, 0.4329, 0.8763 },
    -	{ 0.0264, 0.437, 0.8747	 },
    -	{ 0.0306, 0.441, 0.8729	 },
    -	{ 0.0349, 0.4449, 0.8711 },
    -	{ 0.0394, 0.4488, 0.8692 },
    -	{ 0.0437, 0.4526, 0.8672 },
    -	{ 0.0477, 0.4564, 0.8652 },
    -	{ 0.0514, 0.4602, 0.8632 },
    -	{ 0.0549, 0.464, 0.8611	 },
    -	{ 0.0582, 0.4677, 0.8589 },
    -	{ 0.0612, 0.4714, 0.8568 },
    -	{ 0.064,  0.4751, 0.8546 },
    -	{ 0.0666, 0.4788, 0.8525 },
    -	{ 0.0689, 0.4825, 0.8503 },
    -	{ 0.071,  0.4862, 0.8481 },
    -	{ 0.0729, 0.4899, 0.846	 },
    -	{ 0.0746, 0.4937, 0.8439 },
    -	{ 0.0761, 0.4974, 0.8418 },
    -	{ 0.0773, 0.5012, 0.8398 },
    -	{ 0.0782, 0.5051, 0.8378 },
    -	{ 0.0789, 0.5089, 0.8359 },
    -	{ 0.0794, 0.5129, 0.8341 },
    -	{ 0.0795, 0.5169, 0.8324 },
    -	{ 0.0793, 0.521, 0.8308	 },
    -	{ 0.0788, 0.5251, 0.8293 },
    -	{ 0.0778, 0.5295, 0.828	 },
    -	{ 0.0764, 0.5339, 0.827	 },
    -	{ 0.0746, 0.5384, 0.8261 },
    -	{ 0.0724, 0.5431, 0.8253 },
    -	{ 0.0698, 0.5479, 0.8247 },
    -	{ 0.0668, 0.5527, 0.8243 },
    -	{ 0.0636, 0.5577, 0.8239 },
    -	{ 0.06,   0.5627, 0.8237 },
    -	{ 0.0562, 0.5677, 0.8234 },
    -	{ 0.0523, 0.5727, 0.8231 },
    -	{ 0.0484, 0.5777, 0.8228 },
    -	{ 0.0445, 0.5826, 0.8223 },
    -	{ 0.0408, 0.5874, 0.8217 },
    -	{ 0.0372, 0.5922, 0.8209 },
    -	{ 0.0342, 0.5968, 0.8198 },
    -	{ 0.0317, 0.6012, 0.8186 },
    -	{ 0.0296, 0.6055, 0.8171 },
    -	{ 0.0279, 0.6097, 0.8154 },
    -	{ 0.0265, 0.6137, 0.8135 },
    -	{ 0.0255, 0.6176, 0.8114 },
    -	{ 0.0248, 0.6214, 0.8091 },
    -	{ 0.0243, 0.625, 0.8066	 },
    -	{ 0.0239, 0.6285, 0.8039 },
    -	{ 0.0237, 0.6319, 0.801	 },
    -	{ 0.0235, 0.6352, 0.798	 },
    -	{ 0.0233, 0.6384, 0.7948 },
    -	{ 0.0231, 0.6415, 0.7916 },
    -	{ 0.023,  0.6445, 0.7881 },
    -	{ 0.0229, 0.6474, 0.7846 },
    -	{ 0.0227, 0.6503, 0.781, },
    -	{ 0.0227, 0.6531, 0.7773 },
    -	{ 0.0232, 0.6558, 0.7735 },
    -	{ 0.0238, 0.6585, 0.7696 },
    -	{ 0.0246, 0.6611, 0.7656 },
    -	{ 0.0263, 0.6637, 0.7615 },
    -	{ 0.0282, 0.6663, 0.7574 },
    -	{ 0.0306, 0.6688, 0.7532 },
    -	{ 0.0338, 0.6712, 0.749	 },
    -	{ 0.0373, 0.6737, 0.7446 },
    -	{ 0.0418, 0.6761, 0.7402 },
    -	{ 0.0467, 0.6784, 0.7358 },
    -	{ 0.0516, 0.6808, 0.7313 },
    -	{ 0.0574, 0.6831, 0.7267 },
    -	{ 0.0629, 0.6854, 0.7221 },
    -	{ 0.0692, 0.6877, 0.7173 },
    -	{ 0.0755, 0.6899, 0.7126 },
    -	{ 0.082,  0.6921, 0.7078 },
    -	{ 0.0889, 0.6943, 0.7029 },
    -	{ 0.0956, 0.6965, 0.6979 },
    -	{ 0.1031, 0.6986, 0.6929 },
    -	{ 0.1104, 0.7007, 0.6878 },
    -	{ 0.118,  0.7028, 0.6827 },
    -	{ 0.1258, 0.7049, 0.6775 },
    -	{ 0.1335, 0.7069, 0.6723 },
    -	{ 0.1418, 0.7089, 0.6669 },
    -	{ 0.1499, 0.7109, 0.6616 },
    -	{ 0.1585, 0.7129, 0.6561 },
    -	{ 0.1671, 0.7148, 0.6507 },
    -	{ 0.1758, 0.7168, 0.6451 },
    -	{ 0.1849, 0.7186, 0.6395 },
    -	{ 0.1938, 0.7205, 0.6338 },
    -	{ 0.2033, 0.7223, 0.6281 },
    -	{ 0.2128, 0.7241, 0.6223 },
    -	{ 0.2224, 0.7259, 0.6165 },
    -	{ 0.2324, 0.7275, 0.6107 },
    -	{ 0.2423, 0.7292, 0.6048 },
    -	{ 0.2527, 0.7308, 0.5988 },
    -	{ 0.2631, 0.7324, 0.5929 },
    -	{ 0.2735, 0.7339, 0.5869 },
    -	{ 0.2845, 0.7354, 0.5809 },
    -	{ 0.2953, 0.7368, 0.5749 },
    -	{ 0.3064, 0.7381, 0.5689 },
    -	{ 0.3177, 0.7394, 0.563	 },
    -	{ 0.3289, 0.7406, 0.557	 },
    -	{ 0.3405, 0.7417, 0.5512 },
    -	{ 0.352,  0.7428, 0.5453 },
    -	{ 0.3635, 0.7438, 0.5396 },
    -	{ 0.3753, 0.7446, 0.5339 },
    -	{ 0.3869, 0.7454, 0.5283 },
    -	{ 0.3986, 0.7461, 0.5229 },
    -	{ 0.4103, 0.7467, 0.5175 },
    -	{ 0.4218, 0.7473, 0.5123 },
    -	{ 0.4334, 0.7477, 0.5072 },
    -	{ 0.4447, 0.7482, 0.5021 },
    -	{ 0.4561, 0.7485, 0.4972 },
    -	{ 0.4672, 0.7487, 0.4924 },
    -	{ 0.4783, 0.7489, 0.4877 },
    -	{ 0.4892, 0.7491, 0.4831 },
    -	{ 0.5,    0.7491, 0.4786 },
    -	{ 0.5106, 0.7492, 0.4741 },
    -	{ 0.5212, 0.7492, 0.4698 },
    -	{ 0.5315, 0.7491, 0.4655 },
    -	{ 0.5418, 0.749, 0.4613	 },
    -	{ 0.5519, 0.7489, 0.4571 },
    -	{ 0.5619, 0.7487, 0.4531 },
    -	{ 0.5718, 0.7485, 0.449	 },
    -	{ 0.5816, 0.7482, 0.4451 },
    -	{ 0.5913, 0.7479, 0.4412 },
    -	{ 0.6009, 0.7476, 0.4374 },
    -	{ 0.6103, 0.7473, 0.4335 },
    -	{ 0.6197, 0.7469, 0.4298 },
    -	{ 0.629,  0.7465, 0.4261 },
    -	{ 0.6382, 0.746, 0.4224	 },
    -	{ 0.6473, 0.7456, 0.4188 },
    -	{ 0.6564, 0.7451, 0.4152 },
    -	{ 0.6653, 0.7446, 0.4116 },
    -	{ 0.6742, 0.7441, 0.4081 },
    -	{ 0.683,  0.7435, 0.4046 },
    -	{ 0.6918, 0.743, 0.4011	 },
    -	{ 0.7004, 0.7424, 0.3976 },
    -	{ 0.7091, 0.7418, 0.3942 },
    -	{ 0.7176, 0.7412, 0.3908 },
    -	{ 0.7261, 0.7405, 0.3874 },
    -	{ 0.7346, 0.7399, 0.384	 },
    -	{ 0.743,  0.7392, 0.3806 },
    -	{ 0.7513, 0.7385, 0.3773 },
    -	{ 0.7596, 0.7378, 0.3739 },
    -	{ 0.7679, 0.7372, 0.3706 },
    -	{ 0.7761, 0.7364, 0.3673 },
    -	{ 0.7843, 0.7357, 0.3639 },
    -	{ 0.7924, 0.735, 0.3606	 },
    -	{ 0.8005, 0.7343, 0.3573 },
    -	{ 0.8085, 0.7336, 0.3539 },
    -	{ 0.8166, 0.7329, 0.3506 },
    -	{ 0.8246, 0.7322, 0.3472 },
    -	{ 0.8325, 0.7315, 0.3438 },
    -	{ 0.8405, 0.7308, 0.3404 },
    -	{ 0.8484, 0.7301, 0.337	 },
    -	{ 0.8563, 0.7294, 0.3336 },
    -	{ 0.8642, 0.7288, 0.33 	 },
    -	{ 0.872,  0.7282, 0.3265 },
    -	{ 0.8798, 0.7276, 0.3229 },
    -	{ 0.8877, 0.7271, 0.3193 },
    -	{ 0.8954, 0.7266, 0.3156 },
    -	{ 0.9032, 0.7262, 0.3117 },
    -	{ 0.911,  0.7259, 0.3078 },
    -	{ 0.9187, 0.7256, 0.3038 },
    -	{ 0.9264, 0.7256, 0.2996 },
    -	{ 0.9341, 0.7256, 0.2953 },
    -	{ 0.9417, 0.7259, 0.2907 },
    -	{ 0.9493, 0.7264, 0.2859 },
    -	{ 0.9567, 0.7273, 0.2808 },
    -	{ 0.9639, 0.7285, 0.2754 },
    -	{ 0.9708, 0.7303, 0.2696 },
    -	{ 0.9773, 0.7326, 0.2634 },
    -	{ 0.9831, 0.7355, 0.257	 },
    -	{ 0.9882, 0.739, 0.2504	 },
    -	{ 0.9922, 0.7431, 0.2437 },
    -	{ 0.9952, 0.7476, 0.2373 },
    -	{ 0.9973, 0.7524, 0.231	 },
    -	{ 0.9986, 0.7573, 0.2251 },
    -	{ 0.9991, 0.7624, 0.2195 },
    -	{ 0.999,  0.7675, 0.2141 },
    -	{ 0.9985, 0.7726, 0.209	 },
    -	{ 0.9976, 0.7778, 0.2042 },
    -	{ 0.9964, 0.7829, 0.1995 },
    -	{ 0.995,  0.788, 0.1949	 },
    -	{ 0.9933, 0.7931, 0.1905 },
    -	{ 0.9914, 0.7981, 0.1863 },
    -	{ 0.9894, 0.8032, 0.1821 },
    -	{ 0.9873, 0.8083, 0.178	 },
    -	{ 0.9851, 0.8133, 0.174	 },
    -	{ 0.9828, 0.8184, 0.17 	 },
    -	{ 0.9805, 0.8235, 0.1661 },
    -	{ 0.9782, 0.8286, 0.1622 },
    -	{ 0.9759, 0.8337, 0.1583 },
    -	{ 0.9736, 0.8389, 0.1544 },
    -	{ 0.9713, 0.8441, 0.1505 },
    -	{ 0.9692, 0.8494, 0.1465 },
    -	{ 0.9672, 0.8548, 0.1425 },
    -	{ 0.9654, 0.8603, 0.1385 },
    -	{ 0.9638, 0.8659, 0.1343 },
    -	{ 0.9623, 0.8716, 0.1301 },
    -	{ 0.9611, 0.8774, 0.1258 },
    -	{ 0.96,   0.8834, 0.1215 },
    -	{ 0.9593, 0.8895, 0.1171 },
    -	{ 0.9588, 0.8958, 0.1126 },
    -	{ 0.9586, 0.9022, 0.1082 },
    -	{ 0.9587, 0.9088, 0.1036 },
    -	{ 0.9591, 0.9155, 0.099	 },
    -	{ 0.9599, 0.9225, 0.0944 },
    -	{ 0.961,  0.9296, 0.0897 },
    -	{ 0.9624, 0.9368, 0.085	 },
    -	{ 0.9641, 0.9443, 0.0802 },
    -	{ 0.9662, 0.9518, 0.0753 },
    -	{ 0.9685, 0.9595, 0.0703 },
    -	{ 0.971,  0.9673, 0.0651 },
    -	{ 0.9736, 0.9752, 0.0597 },
    -	{ 0.9763, 0.9831, 0.0538 }
    +  { 0.2081, 0.1663, 0.5292 },
    +  { 0.2091, 0.1721, 0.5411 },
    +  { 0.2101, 0.1779, 0.553   },
    +  { 0.2109, 0.1837, 0.565   },
    +  { 0.2116, 0.1895, 0.5771 },
    +  { 0.2121, 0.1954, 0.5892 },
    +  { 0.2124, 0.2013, 0.6013 },
    +  { 0.2125, 0.2072, 0.6135 },
    +  { 0.2123, 0.2132, 0.6258 },
    +  { 0.2118, 0.2192, 0.6381 },
    +  { 0.2111, 0.2253, 0.6505 },
    +  { 0.2099, 0.2315, 0.6629 },
    +  { 0.2084, 0.2377, 0.6753 },
    +  { 0.2063, 0.244, 0.6878   },
    +  { 0.2038, 0.2503, 0.7003 },
    +  { 0.2006, 0.2568, 0.7129 },
    +  { 0.1968, 0.2632, 0.7255 },
    +  { 0.1921, 0.2698, 0.7381 },
    +  { 0.1867, 0.2764, 0.7507 },
    +  { 0.1802, 0.2832, 0.7634 },
    +  { 0.1728, 0.2902, 0.7762 },
    +  { 0.1641, 0.2975, 0.789   },
    +  { 0.1541, 0.3052, 0.8017 },
    +  { 0.1427, 0.3132, 0.8145 },
    +  { 0.1295, 0.3217, 0.8269 },
    +  { 0.1147, 0.3306, 0.8387 },
    +  { 0.0986, 0.3397, 0.8495 },
    +  { 0.0816, 0.3486, 0.8588 },
    +  { 0.0646, 0.3572, 0.8664 },
    +  { 0.0482, 0.3651, 0.8722 },
    +  { 0.0329, 0.3724, 0.8765 },
    +  { 0.0213, 0.3792, 0.8796 },
    +  { 0.0136, 0.3853, 0.8815 },
    +  { 0.0086, 0.3911, 0.8827 },
    +  { 0.006,  0.3965, 0.8833 },
    +  { 0.0051, 0.4017, 0.8834 },
    +  { 0.0054, 0.4066, 0.8831 },
    +  { 0.0067, 0.4113, 0.8825 },
    +  { 0.0089, 0.4159, 0.8816 },
    +  { 0.0116, 0.4203, 0.8805 },
    +  { 0.0148, 0.4246, 0.8793 },
    +  { 0.0184, 0.4288, 0.8779 },
    +  { 0.0223, 0.4329, 0.8763 },
    +  { 0.0264, 0.437, 0.8747   },
    +  { 0.0306, 0.441, 0.8729   },
    +  { 0.0349, 0.4449, 0.8711 },
    +  { 0.0394, 0.4488, 0.8692 },
    +  { 0.0437, 0.4526, 0.8672 },
    +  { 0.0477, 0.4564, 0.8652 },
    +  { 0.0514, 0.4602, 0.8632 },
    +  { 0.0549, 0.464, 0.8611   },
    +  { 0.0582, 0.4677, 0.8589 },
    +  { 0.0612, 0.4714, 0.8568 },
    +  { 0.064,  0.4751, 0.8546 },
    +  { 0.0666, 0.4788, 0.8525 },
    +  { 0.0689, 0.4825, 0.8503 },
    +  { 0.071,  0.4862, 0.8481 },
    +  { 0.0729, 0.4899, 0.846   },
    +  { 0.0746, 0.4937, 0.8439 },
    +  { 0.0761, 0.4974, 0.8418 },
    +  { 0.0773, 0.5012, 0.8398 },
    +  { 0.0782, 0.5051, 0.8378 },
    +  { 0.0789, 0.5089, 0.8359 },
    +  { 0.0794, 0.5129, 0.8341 },
    +  { 0.0795, 0.5169, 0.8324 },
    +  { 0.0793, 0.521, 0.8308   },
    +  { 0.0788, 0.5251, 0.8293 },
    +  { 0.0778, 0.5295, 0.828   },
    +  { 0.0764, 0.5339, 0.827   },
    +  { 0.0746, 0.5384, 0.8261 },
    +  { 0.0724, 0.5431, 0.8253 },
    +  { 0.0698, 0.5479, 0.8247 },
    +  { 0.0668, 0.5527, 0.8243 },
    +  { 0.0636, 0.5577, 0.8239 },
    +  { 0.06,   0.5627, 0.8237 },
    +  { 0.0562, 0.5677, 0.8234 },
    +  { 0.0523, 0.5727, 0.8231 },
    +  { 0.0484, 0.5777, 0.8228 },
    +  { 0.0445, 0.5826, 0.8223 },
    +  { 0.0408, 0.5874, 0.8217 },
    +  { 0.0372, 0.5922, 0.8209 },
    +  { 0.0342, 0.5968, 0.8198 },
    +  { 0.0317, 0.6012, 0.8186 },
    +  { 0.0296, 0.6055, 0.8171 },
    +  { 0.0279, 0.6097, 0.8154 },
    +  { 0.0265, 0.6137, 0.8135 },
    +  { 0.0255, 0.6176, 0.8114 },
    +  { 0.0248, 0.6214, 0.8091 },
    +  { 0.0243, 0.625, 0.8066   },
    +  { 0.0239, 0.6285, 0.8039 },
    +  { 0.0237, 0.6319, 0.801   },
    +  { 0.0235, 0.6352, 0.798   },
    +  { 0.0233, 0.6384, 0.7948 },
    +  { 0.0231, 0.6415, 0.7916 },
    +  { 0.023,  0.6445, 0.7881 },
    +  { 0.0229, 0.6474, 0.7846 },
    +  { 0.0227, 0.6503, 0.781, },
    +  { 0.0227, 0.6531, 0.7773 },
    +  { 0.0232, 0.6558, 0.7735 },
    +  { 0.0238, 0.6585, 0.7696 },
    +  { 0.0246, 0.6611, 0.7656 },
    +  { 0.0263, 0.6637, 0.7615 },
    +  { 0.0282, 0.6663, 0.7574 },
    +  { 0.0306, 0.6688, 0.7532 },
    +  { 0.0338, 0.6712, 0.749   },
    +  { 0.0373, 0.6737, 0.7446 },
    +  { 0.0418, 0.6761, 0.7402 },
    +  { 0.0467, 0.6784, 0.7358 },
    +  { 0.0516, 0.6808, 0.7313 },
    +  { 0.0574, 0.6831, 0.7267 },
    +  { 0.0629, 0.6854, 0.7221 },
    +  { 0.0692, 0.6877, 0.7173 },
    +  { 0.0755, 0.6899, 0.7126 },
    +  { 0.082,  0.6921, 0.7078 },
    +  { 0.0889, 0.6943, 0.7029 },
    +  { 0.0956, 0.6965, 0.6979 },
    +  { 0.1031, 0.6986, 0.6929 },
    +  { 0.1104, 0.7007, 0.6878 },
    +  { 0.118,  0.7028, 0.6827 },
    +  { 0.1258, 0.7049, 0.6775 },
    +  { 0.1335, 0.7069, 0.6723 },
    +  { 0.1418, 0.7089, 0.6669 },
    +  { 0.1499, 0.7109, 0.6616 },
    +  { 0.1585, 0.7129, 0.6561 },
    +  { 0.1671, 0.7148, 0.6507 },
    +  { 0.1758, 0.7168, 0.6451 },
    +  { 0.1849, 0.7186, 0.6395 },
    +  { 0.1938, 0.7205, 0.6338 },
    +  { 0.2033, 0.7223, 0.6281 },
    +  { 0.2128, 0.7241, 0.6223 },
    +  { 0.2224, 0.7259, 0.6165 },
    +  { 0.2324, 0.7275, 0.6107 },
    +  { 0.2423, 0.7292, 0.6048 },
    +  { 0.2527, 0.7308, 0.5988 },
    +  { 0.2631, 0.7324, 0.5929 },
    +  { 0.2735, 0.7339, 0.5869 },
    +  { 0.2845, 0.7354, 0.5809 },
    +  { 0.2953, 0.7368, 0.5749 },
    +  { 0.3064, 0.7381, 0.5689 },
    +  { 0.3177, 0.7394, 0.563   },
    +  { 0.3289, 0.7406, 0.557   },
    +  { 0.3405, 0.7417, 0.5512 },
    +  { 0.352,  0.7428, 0.5453 },
    +  { 0.3635, 0.7438, 0.5396 },
    +  { 0.3753, 0.7446, 0.5339 },
    +  { 0.3869, 0.7454, 0.5283 },
    +  { 0.3986, 0.7461, 0.5229 },
    +  { 0.4103, 0.7467, 0.5175 },
    +  { 0.4218, 0.7473, 0.5123 },
    +  { 0.4334, 0.7477, 0.5072 },
    +  { 0.4447, 0.7482, 0.5021 },
    +  { 0.4561, 0.7485, 0.4972 },
    +  { 0.4672, 0.7487, 0.4924 },
    +  { 0.4783, 0.7489, 0.4877 },
    +  { 0.4892, 0.7491, 0.4831 },
    +  { 0.5,    0.7491, 0.4786 },
    +  { 0.5106, 0.7492, 0.4741 },
    +  { 0.5212, 0.7492, 0.4698 },
    +  { 0.5315, 0.7491, 0.4655 },
    +  { 0.5418, 0.749, 0.4613   },
    +  { 0.5519, 0.7489, 0.4571 },
    +  { 0.5619, 0.7487, 0.4531 },
    +  { 0.5718, 0.7485, 0.449   },
    +  { 0.5816, 0.7482, 0.4451 },
    +  { 0.5913, 0.7479, 0.4412 },
    +  { 0.6009, 0.7476, 0.4374 },
    +  { 0.6103, 0.7473, 0.4335 },
    +  { 0.6197, 0.7469, 0.4298 },
    +  { 0.629,  0.7465, 0.4261 },
    +  { 0.6382, 0.746, 0.4224   },
    +  { 0.6473, 0.7456, 0.4188 },
    +  { 0.6564, 0.7451, 0.4152 },
    +  { 0.6653, 0.7446, 0.4116 },
    +  { 0.6742, 0.7441, 0.4081 },
    +  { 0.683,  0.7435, 0.4046 },
    +  { 0.6918, 0.743, 0.4011   },
    +  { 0.7004, 0.7424, 0.3976 },
    +  { 0.7091, 0.7418, 0.3942 },
    +  { 0.7176, 0.7412, 0.3908 },
    +  { 0.7261, 0.7405, 0.3874 },
    +  { 0.7346, 0.7399, 0.384   },
    +  { 0.743,  0.7392, 0.3806 },
    +  { 0.7513, 0.7385, 0.3773 },
    +  { 0.7596, 0.7378, 0.3739 },
    +  { 0.7679, 0.7372, 0.3706 },
    +  { 0.7761, 0.7364, 0.3673 },
    +  { 0.7843, 0.7357, 0.3639 },
    +  { 0.7924, 0.735, 0.3606   },
    +  { 0.8005, 0.7343, 0.3573 },
    +  { 0.8085, 0.7336, 0.3539 },
    +  { 0.8166, 0.7329, 0.3506 },
    +  { 0.8246, 0.7322, 0.3472 },
    +  { 0.8325, 0.7315, 0.3438 },
    +  { 0.8405, 0.7308, 0.3404 },
    +  { 0.8484, 0.7301, 0.337   },
    +  { 0.8563, 0.7294, 0.3336 },
    +  { 0.8642, 0.7288, 0.33    },
    +  { 0.872,  0.7282, 0.3265 },
    +  { 0.8798, 0.7276, 0.3229 },
    +  { 0.8877, 0.7271, 0.3193 },
    +  { 0.8954, 0.7266, 0.3156 },
    +  { 0.9032, 0.7262, 0.3117 },
    +  { 0.911,  0.7259, 0.3078 },
    +  { 0.9187, 0.7256, 0.3038 },
    +  { 0.9264, 0.7256, 0.2996 },
    +  { 0.9341, 0.7256, 0.2953 },
    +  { 0.9417, 0.7259, 0.2907 },
    +  { 0.9493, 0.7264, 0.2859 },
    +  { 0.9567, 0.7273, 0.2808 },
    +  { 0.9639, 0.7285, 0.2754 },
    +  { 0.9708, 0.7303, 0.2696 },
    +  { 0.9773, 0.7326, 0.2634 },
    +  { 0.9831, 0.7355, 0.257   },
    +  { 0.9882, 0.739, 0.2504   },
    +  { 0.9922, 0.7431, 0.2437 },
    +  { 0.9952, 0.7476, 0.2373 },
    +  { 0.9973, 0.7524, 0.231   },
    +  { 0.9986, 0.7573, 0.2251 },
    +  { 0.9991, 0.7624, 0.2195 },
    +  { 0.999,  0.7675, 0.2141 },
    +  { 0.9985, 0.7726, 0.209   },
    +  { 0.9976, 0.7778, 0.2042 },
    +  { 0.9964, 0.7829, 0.1995 },
    +  { 0.995,  0.788, 0.1949   },
    +  { 0.9933, 0.7931, 0.1905 },
    +  { 0.9914, 0.7981, 0.1863 },
    +  { 0.9894, 0.8032, 0.1821 },
    +  { 0.9873, 0.8083, 0.178   },
    +  { 0.9851, 0.8133, 0.174   },
    +  { 0.9828, 0.8184, 0.17    },
    +  { 0.9805, 0.8235, 0.1661 },
    +  { 0.9782, 0.8286, 0.1622 },
    +  { 0.9759, 0.8337, 0.1583 },
    +  { 0.9736, 0.8389, 0.1544 },
    +  { 0.9713, 0.8441, 0.1505 },
    +  { 0.9692, 0.8494, 0.1465 },
    +  { 0.9672, 0.8548, 0.1425 },
    +  { 0.9654, 0.8603, 0.1385 },
    +  { 0.9638, 0.8659, 0.1343 },
    +  { 0.9623, 0.8716, 0.1301 },
    +  { 0.9611, 0.8774, 0.1258 },
    +  { 0.96,   0.8834, 0.1215 },
    +  { 0.9593, 0.8895, 0.1171 },
    +  { 0.9588, 0.8958, 0.1126 },
    +  { 0.9586, 0.9022, 0.1082 },
    +  { 0.9587, 0.9088, 0.1036 },
    +  { 0.9591, 0.9155, 0.099   },
    +  { 0.9599, 0.9225, 0.0944 },
    +  { 0.961,  0.9296, 0.0897 },
    +  { 0.9624, 0.9368, 0.085   },
    +  { 0.9641, 0.9443, 0.0802 },
    +  { 0.9662, 0.9518, 0.0753 },
    +  { 0.9685, 0.9595, 0.0703 },
    +  { 0.971,  0.9673, 0.0651 },
    +  { 0.9736, 0.9752, 0.0597 },
    +  { 0.9763, 0.9831, 0.0538 }
     };
    -
    -template 
    -static IGL_INLINE void cm_jet(const T x_in, T & r, T & g, T & b)
    -{
    -	// Only important if the number of colors is small. In which case the rest is
    -	// still wrong anyway
    -	// x = linspace(0,1,jj)' * (1-1/jj) + 1/jj;
    -	//
    -	const double rone = 0.8;
    -	const double gone = 1.0;
    -	const double bone = 1.0;
    -	T x = x_in;
    -	x = (x_in<0 ? 0 : (x>1 ? 1 : x));
    -
    -	if (x<1. / 8.)
    -	{
    -		r = 0;
    -		g = 0;
    -		b = bone*(0.5 + (x) / (1. / 8.)*0.5);
    -	} else if (x<3. / 8.)
    -	{
    -		r = 0;
    -		g = gone*(x - 1. / 8.) / (3. / 8. - 1. / 8.);
    -		b = bone;
    -	} else if (x<5. / 8.)
    -	{
    -		r = rone*(x - 3. / 8.) / (5. / 8. - 3. / 8.);
    -		g = gone;
    -		b = (bone - (x - 3. / 8.) / (5. / 8. - 3. / 8.));
    -	} else if (x<7. / 8.)
    -	{
    -		r = rone;
    -		g = (gone - (x - 5. / 8.) / (7. / 8. - 5. / 8.));
    -		b = 0;
    -	} else
    -	{
    -		r = (rone - (x - 7. / 8.) / (1. - 7. / 8.)*0.5);
    -		g = 0;
    -		b = 0;
    -	}
     }
     
     template 
    -static IGL_INLINE void color_from_palette(const T x_in, T & r, T & g, T & b, double palette[256][3])
    +IGL_INLINE void igl::colormap(const ColorMapType cm, const T x, T * rgb)
     {
    -	static const unsigned int pal = 256;
    -	const T zero = 0.0;
    -	const T one = 1.0;
    -	T x_in_clamped = static_cast(std::max(zero, std::min(one, x_in)));
    -
    -	// simple rgb lerp from palette
    -	unsigned int least = std::floor(x_in_clamped * static_cast(pal - 1));
    -	unsigned int most = std::ceil(x_in_clamped * static_cast(pal - 1));
    -
    -	T _r[2] = { static_cast(palette[least][0]), static_cast(palette[most][0]) };
    -	T _g[2] = { static_cast(palette[least][1]), static_cast(palette[most][1]) };
    -	T _b[2] = { static_cast(palette[least][2]), static_cast(palette[most][2]) };
    -
    -	T t = std::max(zero, std::min(one, static_cast(fmod(x_in_clamped * static_cast(pal), one))));
    -
    -	r = std::max(zero, std::min(one, (one - t) * _r[0] + t * _r[1]));
    -	g = std::max(zero, std::min(one, (one - t) * _g[0] + t * _g[1]));
    -	b = std::max(zero, std::min(one, (one - t) * _b[0] + t * _b[1]));
    +  return colormap(cm,x,rgb[0],rgb[1],rgb[2]);
     }
     
     template 
    -IGL_INLINE void igl::colormap(const T x, T * rgb, ColorMapType cm)
    +IGL_INLINE void igl::colormap(
    +  const ColorMapType cm, const T x_in, T & r, T & g, T & b)
     {
    -  return colormap(x,rgb[0],rgb[1],rgb[2],cm);
    +  switch (cm) 
    +  {
    +    case COLOR_MAP_TYPE_INFERNO:
    +      colormap(inferno_cm, x_in, r, g, b);
    +      break;
    +    case COLOR_MAP_TYPE_JET:
    +      jet(x_in, r, g, b);
    +      break;
    +    case COLOR_MAP_TYPE_MAGMA:
    +      colormap(magma_cm, x_in, r, g, b);
    +      break;
    +    case COLOR_MAP_TYPE_PARULA:
    +      colormap(parula_cm, x_in, r, g, b);
    +      break;
    +    case COLOR_MAP_TYPE_PLASMA:
    +      colormap(plasma_cm, x_in, r, g, b);
    +      break;
    +    case COLOR_MAP_TYPE_VIRIDIS:
    +      colormap(viridis_cm, x_in, r, g, b);
    +      break;
    +    default: 
    +      throw std::invalid_argument("igl::colormap(): Selected colormap is unsupported!");
    +      break;
    +  }
     }
     
     template 
    -IGL_INLINE void igl::colormap(const T x_in, T & r, T & g, T & b, ColorMapType cm)
    +IGL_INLINE void igl::colormap(
    +  const double palette[256][3], const T x_in, T & r, T & g, T & b)
     {
    -	switch (cm) {
    -		case CM_INFERNO: {
    -			color_from_palette(x_in, r, g, b, inferno_cm);
    -			break;
    -		}
    -		case CM_JET: {
    -			cm_jet(x_in, r, g, b);
    -			break;
    -		}
    -		case CM_MAGMA: {
    -			color_from_palette(x_in, r, g, b, magma_cm);
    -			break;
    -		}
    -		case CM_PARULA: {
    -			color_from_palette(x_in, r, g, b, parula_cm);
    -			break;
    -		}
    -		case CM_PLASMA: {
    -			color_from_palette(x_in, r, g, b, plasma_cm);
    -			break;
    -		}
    -		case CM_VIRIDIS: {
    -			color_from_palette(x_in, r, g, b, viridis_cm);
    -			break;
    -		}
    -		default: {
    -			throw std::invalid_argument("igl::colormap(): Selected colormap is unsupported!");
    -			break;
    -		}
    -	}
    +  static const unsigned int pal = 256;
    +  const T zero = 0.0;
    +  const T one = 1.0;
    +  T x_in_clamped = static_cast(std::max(zero, std::min(one, x_in)));
    +
    +  // simple rgb lerp from palette
    +  unsigned int least = std::floor(x_in_clamped * static_cast(pal - 1));
    +  unsigned int most = std::ceil(x_in_clamped * static_cast(pal - 1));
    +
    +  T _r[2] = { static_cast(palette[least][0]), static_cast(palette[most][0]) };
    +  T _g[2] = { static_cast(palette[least][1]), static_cast(palette[most][1]) };
    +  T _b[2] = { static_cast(palette[least][2]), static_cast(palette[most][2]) };
    +
    +  T t = std::max(zero, std::min(one, static_cast(fmod(x_in_clamped * static_cast(pal), one))));
    +
    +  r = std::max(zero, std::min(one, (one - t) * _r[0] + t * _r[1]));
    +  g = std::max(zero, std::min(one, (one - t) * _g[0] + t * _g[1]));
    +  b = std::max(zero, std::min(one, (one - t) * _b[0] + t * _b[1]));
     }
     
     template 
     IGL_INLINE void igl::colormap(
    -  const Eigen::PlainObjectBase & Z,
    +  const ColorMapType cm,
    +  const Eigen::MatrixBase & Z,
       const bool normalize,
    -  Eigen::PlainObjectBase & C,
    -  ColorMapType cm)
    +  Eigen::PlainObjectBase & C)
     {
       const double min_z = normalize ? Z.minCoeff() : 0;
    -  const double max_z = normalize ? Z.maxCoeff() : -1;
    -  return colormap(Z, min_z, max_z, C, cm);
    +  const double max_z = normalize ? Z.maxCoeff() : 1;
    +  return colormap(cm, Z, min_z, max_z, C);
     }
     
     template 
     IGL_INLINE void igl::colormap(
    -  const Eigen::PlainObjectBase & Z,
    +  const ColorMapType cm,
    +  const Eigen::MatrixBase & Z,
       const double min_z,
       const double max_z,
    -  Eigen::PlainObjectBase & C,
    -  ColorMapType cm)
    +  Eigen::PlainObjectBase & C)
     {
       C.resize(Z.rows(),3);
       double denom = (max_z - min_z);
       denom = (denom == 0) ? 1 : denom;
       for(int r = 0; r < Z.rows(); ++r) {
    -	colormap(
    +  colormap(
    +      cm,
           (typename DerivedC::Scalar)((-min_z + Z(r,0)) / denom),
           C(r,0),
           C(r,1),
    -      C(r,2),
    -	  cm);
    +      C(r,2));
       }
     }
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap(double, double*, ColorMapType cm);
    -template void igl::colormap(double, double&, double&, double&, ColorMapType cm);
    -template void igl::colormap(float, float*, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap(float, float&, float&, float&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&, ColorMapType cm);
    -template void igl::colormap, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&, ColorMapType cm);
    +template void igl::colormap(igl::ColorMapType, float, float*);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap(igl::ColorMapType, double, double&, double&, double&);
    +// generated by autoexplicit.sh
    +template void igl::colormap(igl::ColorMapType, double, double*);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +
    +template void igl::colormap, Eigen::Matrix >(igl::ColorMapType, Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/colormap.h b/include/igl/colormap.h
    index 611ff6ec2..1d93d73b1 100644
    --- a/include/igl/colormap.h
    +++ b/include/igl/colormap.h
    @@ -13,61 +13,60 @@
     #include 
     
     namespace igl {
    -  // Colormap selector -- an interface to supported colormaps within igl
    +
    +  enum ColorMapType
    +  {
    +    COLOR_MAP_TYPE_INFERNO = 0,
    +    COLOR_MAP_TYPE_JET = 1,
    +    COLOR_MAP_TYPE_MAGMA = 2,
    +    COLOR_MAP_TYPE_PARULA = 3,
    +    COLOR_MAP_TYPE_PLASMA = 4,
    +    COLOR_MAP_TYPE_VIRIDIS = 5,
    +    NUM_COLOR_MAP_TYPES = 6
    +  };
    +  // Comput [r,g,b] values of the selected colormap for
    +  // a given factor f between 0 and 1
       //
       // Inputs:
    -  //   m  number of colors 
    -  //   cm colormap enum
    -  // Outputs:
    -  //   J  m by list of RGB colors between 0 and 1
    -  //
    -  // Wrapper for directly computing [r,g,b] values of the selected colormap for a given factor f between
    -  // 0 and 1
    -  //
    -  // Inputs:
    -  //   f  factor determining color value as if 0 was min and 1 was max
       //   c  colormap enum
    +  //   f  factor determining color value as if 0 was min and 1 was max
    +  // Outputs:
    +  //   rgb  red, green, blue value
    +  template 
    +  IGL_INLINE void colormap(const ColorMapType cm, const T f, T * rgb);
       // Outputs:
       //   r  red value
       //   g  green value
       //   b  blue value
    -
    -  enum ColorMapType
    -  {
    -	CM_INFERNO = 0,
    -	CM_JET = 1,
    -	CM_MAGMA = 2,
    -	CM_PARULA = 3,
    -	CM_PLASMA = 4,
    -	CM_VIRIDIS = 5
    -  };
    -
       template 
    -  IGL_INLINE void colormap(const T f, T * rgb, ColorMapType cm);
    -  template 
    -  IGL_INLINE void colormap(const T f, T & r, T & g, T & b, ColorMapType cm);
    +  IGL_INLINE void colormap(const ColorMapType cm, const T f, T & r, T & g, T & b);
       // Inputs:
    +  //    palette  256 by 3 array of color values
    +  template 
    +  IGL_INLINE void colormap(
    +    const double palette[256][3], const T x_in, T & r, T & g, T & b);
    +  // Inputs:
    +  //   cm selected colormap palette to interpolate from
       //   Z  #Z list of factors
       //   normalize  whether to normalize Z to be tightly between [0,1]
    -  //   cm selected colormap palette to interpolate from
       // Outputs:
       //   C  #C by 3 list of rgb colors
       template 
       IGL_INLINE void colormap(
    -    const Eigen::PlainObjectBase & Z,
    +    const ColorMapType cm,
    +    const Eigen::MatrixBase & Z,
         const bool normalize,
    -    Eigen::PlainObjectBase & C,
    -	ColorMapType cm);
    +    Eigen::PlainObjectBase & C);
       // Inputs:
    -  //   min_z  value at black
    -  //   max_z  value at yellow
    +  //   min_z  value at "0"
    +  //   max_z  value at "1"
       template 
       IGL_INLINE void colormap(
    -    const Eigen::PlainObjectBase & Z,
    +    const ColorMapType cm,
    +    const Eigen::MatrixBase & Z,
         const double min_Z,
         const double max_Z,
    -    Eigen::PlainObjectBase & C,
    -	ColorMapType cm);
    +    Eigen::PlainObjectBase & C);
     };
     
     #ifndef IGL_STATIC_LIBRARY
    diff --git a/include/igl/combine.cpp b/include/igl/combine.cpp
    index a15748997..52976aa05 100644
    --- a/include/igl/combine.cpp
    +++ b/include/igl/combine.cpp
    @@ -1,25 +1,32 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "combine.h"
     #include 
    +
     template <
    -  typename DerivedVV, 
    -  typename DerivedFF, 
    -  typename DerivedV, 
    -  typename DerivedF>
    +  typename DerivedVV,
    +  typename DerivedFF,
    +  typename DerivedV,
    +  typename DerivedF,
    +  typename DerivedVsizes,
    +  typename DerivedFsizes>
     IGL_INLINE void igl::combine(
       const std::vector & VV,
       const std::vector & FF,
       Eigen::PlainObjectBase & V,
    -  Eigen::PlainObjectBase & F)
    +  Eigen::PlainObjectBase & F,
    +  Eigen::PlainObjectBase & Vsizes,
    +  Eigen::PlainObjectBase & Fsizes)
     {
    -  assert(VV.size() == FF.size() && 
    +  assert(VV.size() == FF.size() &&
         "Lists of verex lists and face lists should be same size");
    +  Vsizes.resize(VV.size());
    +  Fsizes.resize(FF.size());
       // Dimension of vertex positions
       const int dim = VV.size() > 0 ? VV[0].cols() : 0;
       // Simplex/element size
    @@ -30,8 +37,10 @@ IGL_INLINE void igl::combine(
       {
         const auto & Vi = VV[i];
         const auto & Fi = FF[i];
    +    Vsizes(i) = Vi.rows();
         n+=Vi.rows();
         assert(dim == Vi.cols() && "All vertex lists should have same #columns");
    +    Fsizes(i) = Fi.rows();
         m+=Fi.rows();
         assert(ss == Fi.cols() && "All face lists should have same #columns");
       }
    @@ -55,3 +64,28 @@ IGL_INLINE void igl::combine(
         assert(kf == F.rows());
       }
     }
    +
    +template <
    +  typename DerivedVV,
    +  typename DerivedFF,
    +  typename DerivedV,
    +  typename DerivedF>
    +IGL_INLINE void igl::combine(
    +  const std::vector & VV,
    +  const std::vector & FF,
    +  Eigen::PlainObjectBase & V,
    +  Eigen::PlainObjectBase & F)
    +{
    +  Eigen::VectorXi Vsizes,Fsizes;
    +  return igl::combine(VV,FF,V,F,Vsizes,Fsizes);
    +}
    +
    +#ifdef IGL_STATIC_LIBRARY
    +// Explicit template instantiation
    +template void igl::combine, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(std::vector, std::allocator > > const&, std::vector, std::allocator > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::combine, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(std::vector, std::allocator > > const&, std::vector, std::allocator > > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::combine, Eigen::Matrix,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix >(class std::vector,class std::allocator > > const &,class std::vector,class std::allocator > > const &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &);
    +template void igl::combine, Eigen::Matrix,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix >(class std::vector,class std::allocator > > const &,class std::vector,class std::allocator > > const &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &,Eigen::PlainObjectBase > &);
    +#endif
    +#endif
    diff --git a/include/igl/combine.h b/include/igl/combine.h
    index 81fdb18a7..ff5e1ae34 100644
    --- a/include/igl/combine.h
    +++ b/include/igl/combine.h
    @@ -14,8 +14,8 @@
     
     namespace igl
     {
    -  // Combine k meshes into a single >=k connected component mesh with a single
    -  // vertex list and face list. Similar to Maya's Combine operation.
    +  // Concatenate k meshes into a single >=k connected component mesh with a
    +  // single vertex list and face list. Similar to Maya's Combine operation. 
       //
       // Inputs:
       //   VV  k-long list of lists of mesh vertex positions
    @@ -26,10 +26,27 @@ namespace igl
       //     vertex positions
       //   F   FF[0].rows()+...+FF[k-1].rows() by FF[0].cols() list of mesh faces
       //     indices into V
    +  //   Vsizes  k list so that Vsizes(i) is the #vertices in the ith input
    +  //   Fsizes  k list so that Fsizes(i) is the #faces in the ith input
       // Example:
       //   // Suppose you have mesh A (VA,FA) and mesh B (VB,FB)
       //   igl::combine({VA,VB},{FA,FB},V,F);
       //
    +  //
    +  template <
    +    typename DerivedVV, 
    +    typename DerivedFF, 
    +    typename DerivedV, 
    +    typename DerivedF,
    +    typename DerivedVsizes,
    +    typename DerivedFsizes>
    +  IGL_INLINE void combine(
    +    const std::vector & VV,
    +    const std::vector & FF,
    +    Eigen::PlainObjectBase & V,
    +    Eigen::PlainObjectBase & F,
    +    Eigen::PlainObjectBase & Vsizes,
    +    Eigen::PlainObjectBase & Fsizes);
       template <
         typename DerivedVV, 
         typename DerivedFF, 
    diff --git a/include/igl/conjugate_frame_fields.cpp b/include/igl/conjugate_frame_fields.cpp
    deleted file mode 100644
    index a2f996c16..000000000
    --- a/include/igl/conjugate_frame_fields.cpp
    +++ /dev/null
    @@ -1,433 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -
    -namespace igl {
    -  template 
    -  class ConjugateFFSolver
    -  {
    -  public:
    -    IGL_INLINE ConjugateFFSolver(const ConjugateFFSolverData &_data,
    -                                 int _maxIter = 50,
    -                                 const typename DerivedV::Scalar _lambdaOrtho = .1,
    -                                 const typename DerivedV::Scalar _lambdaInit = 100,
    -                                 const typename DerivedV::Scalar _lambdaMultFactor = 1.01,
    -                                 bool _doHardConstraints = true);
    -    IGL_INLINE typename DerivedV::Scalar solve(const Eigen::VectorXi &isConstrained,
    -                                               const Eigen::PlainObjectBase &initialSolution,
    -                                               Eigen::PlainObjectBase &output);
    -    
    -  private:
    -    
    -    const ConjugateFFSolverData &data;
    -    
    -    //polyVF data
    -    Eigen::Matrix, Eigen::Dynamic, 1> Acoeff, Bcoeff;
    -    Eigen::Matrix pvU, pvV;
    -    typename DerivedV::Scalar lambda;
    -    
    -    //parameters
    -    typename DerivedV::Scalar lambdaOrtho;
    -    typename DerivedV::Scalar lambdaInit,lambdaMultFactor;
    -    int maxIter;
    -    bool doHardConstraints;
    -    
    -    IGL_INLINE void localStep();
    -    IGL_INLINE void getPolyCoeffsForLocalSolve(const Eigen::Matrix &s,
    -                                               const Eigen::Matrix &z,
    -                                               Eigen::Matrix &polyCoeff);
    -    
    -    IGL_INLINE void globalStep(const Eigen::Matrix  &isConstrained,
    -                               const Eigen::Matrix, Eigen::Dynamic, 1>  &Ak,
    -                               const Eigen::Matrix, Eigen::Dynamic, 1>  &Bk);
    -    IGL_INLINE void minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                                         const Eigen::SparseMatrix > &f,
    -                                         const Eigen::VectorXi isConstrained,
    -                                         const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                                         Eigen::Matrix, Eigen::Dynamic, 1> &x);
    -    IGL_INLINE void setFieldFromCoefficients();
    -    IGL_INLINE void setCoefficientsFromField();
    -    
    -  };
    -}
    -
    -//Implementation
    -/***************************** Solver ***********************************/
    -template 
    -IGL_INLINE igl::ConjugateFFSolver::
    -ConjugateFFSolver(const ConjugateFFSolverData &_data,
    -                  int _maxIter,
    -                  const typename DerivedV::Scalar _lambdaOrtho,
    -                  const typename DerivedV::Scalar _lambdaInit,
    -                  const typename DerivedV::Scalar _lambdaMultFactor,
    -                  bool _doHardConstraints):
    -data(_data),
    -lambdaOrtho(_lambdaOrtho),
    -lambdaInit(_lambdaInit),
    -maxIter(_maxIter),
    -lambdaMultFactor(_lambdaMultFactor),
    -doHardConstraints(_doHardConstraints)
    -{
    -  Acoeff.resize(data.numF,1);
    -  Bcoeff.resize(data.numF,1);
    -  pvU.setZero(data.numF, 2);
    -  pvV.setZero(data.numF, 2);
    -};
    -
    -
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolver::
    -getPolyCoeffsForLocalSolve(const Eigen::Matrix &s,
    -                           const Eigen::Matrix &z,
    -                           Eigen::Matrix &polyCoeff)
    -{
    -  typename DerivedV::Scalar s0 = s(0);
    -  typename DerivedV::Scalar s1 = s(1);
    -  typename DerivedV::Scalar s2 = s(2);
    -  typename DerivedV::Scalar s3 = s(3);
    -  typename DerivedV::Scalar z0 = z(0);
    -  typename DerivedV::Scalar z1 = z(1);
    -  typename DerivedV::Scalar z2 = z(2);
    -  typename DerivedV::Scalar z3 = z(3);
    -  
    -  polyCoeff.resize(7,1);
    -  polyCoeff(0) =  s0*s0* s1*s1* s2*s2* s3* z3*z3 +  s0*s0* s1*s1* s2* s3*s3* z2*z2 +  s0*s0* s1* s2*s2* s3*s3* z1*z1 +  s0* s1*s1* s2*s2* s3*s3* z0*z0 ;
    -  polyCoeff(1) = 2* s0*s0* s1*s1* s2* s3* z2*z2 + 2* s0*s0* s1*s1* s2* s3* z3*z3 + 2* s0*s0* s1* s2*s2* s3* z1*z1 + 2* s0*s0* s1* s2*s2* s3* z3*z3 + 2* s0*s0* s1* s2* s3*s3* z1*z1 + 2* s0*s0* s1* s2* s3*s3* z2*z2 + 2* s0* s1*s1* s2*s2* s3* z0*z0 + 2* s0* s1*s1* s2*s2* s3* z3*z3 + 2* s0* s1*s1* s2* s3*s3* z0*z0 + 2* s0* s1*s1* s2* s3*s3* z2*z2 + 2* s0* s1* s2*s2* s3*s3* z0*z0 + 2* s0* s1* s2*s2* s3*s3* z1*z1 ;
    -  polyCoeff(2) =  s0*s0* s1*s1* s2* z2*z2 +  s0*s0* s1*s1* s3* z3*z3 +  s0*s0* s1* s2*s2* z1*z1 + 4* s0*s0* s1* s2* s3* z1*z1 + 4* s0*s0* s1* s2* s3* z2*z2 + 4* s0*s0* s1* s2* s3* z3*z3 +  s0*s0* s1* s3*s3* z1*z1 +  s0*s0* s2*s2* s3* z3*z3 +  s0*s0* s2* s3*s3* z2*z2 +  s0* s1*s1* s2*s2* z0*z0 + 4* s0* s1*s1* s2* s3* z0*z0 + 4* s0* s1*s1* s2* s3* z2*z2 + 4* s0* s1*s1* s2* s3* z3*z3 +  s0* s1*s1* s3*s3* z0*z0 + 4* s0* s1* s2*s2* s3* z0*z0 + 4* s0* s1* s2*s2* s3* z1*z1 + 4* s0* s1* s2*s2* s3* z3*z3 + 4* s0* s1* s2* s3*s3* z0*z0 + 4* s0* s1* s2* s3*s3* z1*z1 + 4* s0* s1* s2* s3*s3* z2*z2 +  s0* s2*s2* s3*s3* z0*z0 +  s1*s1* s2*s2* s3* z3*z3 +  s1*s1* s2* s3*s3* z2*z2 +  s1* s2*s2* s3*s3* z1*z1;
    -  polyCoeff(3) = 2* s0*s0* s1* s2* z1*z1 + 2* s0*s0* s1* s2* z2*z2 + 2* s0*s0* s1* s3* z1*z1 + 2* s0*s0* s1* s3* z3*z3 + 2* s0*s0* s2* s3* z2*z2 + 2* s0*s0* s2* s3* z3*z3 + 2* s0* s1*s1* s2* z0*z0 + 2* s0* s1*s1* s2* z2*z2 + 2* s0* s1*s1* s3* z0*z0 + 2* s0* s1*s1* s3* z3*z3 + 2* s0* s1* s2*s2* z0*z0 + 2* s0* s1* s2*s2* z1*z1 + 8* s0* s1* s2* s3* z0*z0 + 8* s0* s1* s2* s3* z1*z1 + 8* s0* s1* s2* s3* z2*z2 + 8* s0* s1* s2* s3* z3*z3 + 2* s0* s1* s3*s3* z0*z0 + 2* s0* s1* s3*s3* z1*z1 + 2* s0* s2*s2* s3* z0*z0 + 2* s0* s2*s2* s3* z3*z3 + 2* s0* s2* s3*s3* z0*z0 + 2* s0* s2* s3*s3* z2*z2 + 2* s1*s1* s2* s3* z2*z2 + 2* s1*s1* s2* s3* z3*z3 + 2* s1* s2*s2* s3* z1*z1 + 2* s1* s2*s2* s3* z3*z3 + 2* s1* s2* s3*s3* z1*z1 + 2* s1* s2* s3*s3* z2*z2 ;
    -  polyCoeff(4) =  s0*s0* s1* z1*z1 +  s0*s0* s2* z2*z2 +  s0*s0* s3* z3*z3 +  s0* s1*s1* z0*z0 + 4* s0* s1* s2* z0*z0 + 4* s0* s1* s2* z1*z1 + 4* s0* s1* s2* z2*z2 + 4* s0* s1* s3* z0*z0 + 4* s0* s1* s3* z1*z1 + 4* s0* s1* s3* z3*z3 +  s0* s2*s2* z0*z0 + 4* s0* s2* s3* z0*z0 + 4* s0* s2* s3* z2*z2 + 4* s0* s2* s3* z3*z3 +  s0* s3*s3* z0*z0 +  s1*s1* s2* z2*z2 +  s1*s1* s3* z3*z3 +  s1* s2*s2* z1*z1 + 4* s1* s2* s3* z1*z1 + 4* s1* s2* s3* z2*z2 + 4* s1* s2* s3* z3*z3 +  s1* s3*s3* z1*z1 +  s2*s2* s3* z3*z3 +  s2* s3*s3* z2*z2;
    -  polyCoeff(5) = 2* s0* s1* z0*z0 + 2* s0* s1* z1*z1 + 2* s0* s2* z0*z0 + 2* s0* s2* z2*z2 + 2* s0* s3* z0*z0 + 2* s0* s3* z3*z3 + 2* s1* s2* z1*z1 + 2* s1* s2* z2*z2 + 2* s1* s3* z1*z1 + 2* s1* s3* z3*z3 + 2* s2* s3* z2*z2 + 2* s2* s3* z3*z3 ;
    -  polyCoeff(6) =  s0* z0*z0 +  s1* z1*z1 +  s2* z2*z2 +  s3* z3*z3;
    -  
    -}
    -
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolver::
    -localStep()
    -{
    -  for (int j =0; j xproj; xproj << pvU.row(j).transpose(),pvV.row(j).transpose();
    -    Eigen::Matrix z = data.UH[j].transpose()*xproj;
    -    Eigen::Matrix x;
    -    
    -    Eigen::Matrix polyCoeff;
    -    getPolyCoeffsForLocalSolve(data.s[j], z, polyCoeff);
    -    Eigen::Matrix, Eigen::Dynamic, 1> roots;
    -    igl::polyRoots (polyCoeff, roots );
    -    
    -    //  find closest real root to xproj
    -    typename DerivedV::Scalar minDist = 1e10;
    -    for (int i =0; i< 6; ++i)
    -    {
    -      if (fabs(imag(roots[i]))>1e-10)
    -        continue;
    -      Eigen::Matrix D = ((Eigen::Matrix::Ones()+real(roots(i))*data.s[j]).array().inverse()).matrix().asDiagonal();
    -      Eigen::Matrix candidate = data.UH[j]*D*z;
    -      typename DerivedV::Scalar dist = (candidate-xproj).norm();
    -      if (dist
    -IGL_INLINE void igl::ConjugateFFSolver::
    -setCoefficientsFromField()
    -{
    -  for (int i = 0; i  u(pvU(i,0),pvU(i,1));
    -    std::complex v(pvV(i,0),pvV(i,1));
    -    Acoeff(i) = u*u+v*v;
    -    Bcoeff(i) = u*u*v*v;
    -  }
    -}
    -
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolver::
    -globalStep(const Eigen::Matrix  &isConstrained,
    -           const Eigen::Matrix, Eigen::Dynamic, 1>  &Ak,
    -           const Eigen::Matrix, Eigen::Dynamic, 1>  &Bk)
    -{
    -  setCoefficientsFromField();
    -  
    -  Eigen::SparseMatrix > I;
    -  igl::speye(data.numF, data.numF, I);
    -  Eigen::SparseMatrix > QA = data.DDA+lambda*data.planarityWeight+lambdaOrtho*I;
    -  Eigen::SparseMatrix > fA = (-2*lambda*data.planarityWeight*Acoeff).sparseView();
    -  
    -  Eigen::SparseMatrix > QB = data.DDB+lambda*data.planarityWeight;
    -  Eigen::SparseMatrix > fB = (-2*lambda*data.planarityWeight*Bcoeff).sparseView();
    -  
    -  if(doHardConstraints)
    -  {
    -    minQuadWithKnownMini(QA, fA, isConstrained, Ak, Acoeff);
    -    minQuadWithKnownMini(QB, fB, isConstrained, Bk, Bcoeff);
    -  }
    -  else
    -  {
    -    Eigen::Matrixisknown_; isknown_.setZero(data.numF,1);
    -    Eigen::Matrix, Eigen::Dynamic, 1> xknown_; xknown_.setZero(0,1);
    -    minQuadWithKnownMini(QA, fA, isknown_, xknown_, Acoeff);
    -    minQuadWithKnownMini(QB, fB, isknown_, xknown_, Bcoeff);
    -  }
    -  setFieldFromCoefficients();
    -  
    -}
    -
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolver::
    -setFieldFromCoefficients()
    -{
    -  for (int i = 0; i , Eigen::Dynamic, 1> polyCoeff(5,1);
    -    polyCoeff<<1., 0., -Acoeff(i), 0., Bcoeff(i);
    -    
    -    Eigen::Matrix, Eigen::Dynamic, 1> roots;
    -    polyRoots>(polyCoeff,roots);
    -    
    -    std::complex u = roots[0];
    -    int maxi = -1;
    -    float maxd = -1;
    -    for (int k =1; k<4; ++k)
    -    {
    -      float dist = abs(roots[k]+u);
    -      if (dist>maxd)
    -      {
    -        maxd = dist;
    -        maxi = k;
    -      }
    -    }
    -    std::complex v = roots[maxi];
    -    pvU(i,0) = real(u); pvU(i,1) = imag(u);
    -    pvV(i,0) = real(v); pvV(i,1) = imag(v);
    -  }
    -  
    -}
    -
    -template
    -IGL_INLINE void igl::ConjugateFFSolver::
    -minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                     const Eigen::SparseMatrix > &f,
    -                     const Eigen::VectorXi isConstrained,
    -                     const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                     Eigen::Matrix, Eigen::Dynamic, 1> &x)
    -{
    -  int N = Q.rows();
    -  
    -  int nc = xknown.rows();
    -  Eigen::VectorXi known; known.setZero(nc,1);
    -  Eigen::VectorXi unknown; unknown.setZero(N-nc,1);
    -  
    -  int indk = 0, indu = 0;
    -  for (int i = 0; i> Quu, Quk;
    -  
    -  igl::slice(Q,unknown, unknown, Quu);
    -  igl::slice(Q,unknown, known, Quk);
    -  
    -  
    -  std::vector > > tripletList;
    -  
    -  Eigen::SparseMatrix > fu(N-nc,1);
    -  
    -  igl::slice(f,unknown, Eigen::VectorXi::Zero(1,1), fu);
    -  
    -  Eigen::SparseMatrix > rhs = (Quk*xknown).sparseView()+.5*fu;
    -  
    -  Eigen::SparseLU< Eigen::SparseMatrix>> solver;
    -  solver.compute(-Quu);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Decomposition failed!"<>  b  = solver.solve(rhs);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Solving failed!"<
    -IGL_INLINE typename DerivedV::Scalar igl::ConjugateFFSolver::
    -solve(const Eigen::VectorXi &isConstrained,
    -      const Eigen::PlainObjectBase &initialSolution,
    -      Eigen::PlainObjectBase &output)
    -{
    -  int numConstrained = isConstrained.sum();
    -  // coefficient values
    -  Eigen::Matrix, Eigen::Dynamic, 1> Ak, Bk;
    -  
    -  pvU.resize(data.numF,2);
    -  pvV.resize(data.numF,2);
    -  for (int fi = 0; fi  &b1 = data.B1.row(fi);
    -    const Eigen::Matrix &b2 = data.B2.row(fi);
    -    const Eigen::Matrix &u3 = initialSolution.block(fi,0,1,3);
    -    const Eigen::Matrix &v3 = initialSolution.block(fi,3,1,3);
    -    pvU.row(fi)<< u3.dot(b1), u3.dot(b2);
    -    pvV.row(fi)<< v3.dot(b1), v3.dot(b2);
    -  }
    -  setCoefficientsFromField();
    -  Ak.resize(numConstrained,1);
    -  Bk.resize(numConstrained,1);
    -  int ind = 0;
    -  for (int i = 0; i  conjValues;
    -  typename DerivedV::Scalar meanConj;
    -  typename DerivedV::Scalar maxConj;
    -  
    -  data.evaluateConjugacy(pvU, pvV, conjValues);
    -  meanConj = conjValues.cwiseAbs().mean();
    -  maxConj = conjValues.cwiseAbs().maxCoeff();
    -  printf("Initial max non-conjugacy: %.5g\n",maxConj);
    -  
    -  smoothnessValue = (Acoeff.adjoint()*data.DDA*Acoeff + Bcoeff.adjoint()*data.DDB*Bcoeff).real()[0];
    -  printf("\n\nInitial smoothness: %.5g\n",smoothnessValue);
    -  
    -  lambda = lambdaInit;
    -  
    -  bool doit = false;
    -  for (int iter = 0; iter &b1 = data.B1.row(fi);
    -    const Eigen::Matrix &b2 = data.B2.row(fi);
    -    output.block(fi,0, 1, 3) = pvU(fi,0)*b1 + pvU(fi,1)*b2;
    -    output.block(fi,3, 1, 3) = pvV(fi,0)*b1 + pvV(fi,1)*b2;
    -  }
    -  
    -  return lambda;
    -}
    -
    -
    -
    -template 
    -IGL_INLINE void igl::conjugate_frame_fields(const Eigen::PlainObjectBase &V,
    -                                       const Eigen::PlainObjectBase &F,
    -                                       const Eigen::VectorXi &isConstrained,
    -                                       const Eigen::PlainObjectBase &initialSolution,
    -                                       Eigen::PlainObjectBase &output,
    -                                       int maxIter,
    -                                       const typename DerivedV::Scalar lambdaOrtho,
    -                                       const typename DerivedV::Scalar lambdaInit,
    -                                       const typename DerivedV::Scalar lambdaMultFactor,
    -                                       bool doHardConstraints)
    -{
    -  igl::ConjugateFFSolverData csdata(V, F);
    -  igl::ConjugateFFSolver cs(csdata, maxIter, lambdaOrtho, lambdaInit, lambdaMultFactor, doHardConstraints);
    -  cs.solve(isConstrained, initialSolution, output);
    -}
    -
    -template 
    -IGL_INLINE typename DerivedV::Scalar igl::conjugate_frame_fields(const igl::ConjugateFFSolverData &csdata,
    -                                                                 const Eigen::VectorXi &isConstrained,
    -                                                                 const Eigen::PlainObjectBase &initialSolution,
    -                                                                 Eigen::PlainObjectBase &output,
    -                                                                 int maxIter,
    -                                                                 const typename DerivedV::Scalar lambdaOrtho,
    -                                                                 const typename DerivedV::Scalar lambdaInit,
    -                                                                 const typename DerivedV::Scalar lambdaMultFactor,
    -                                                                 bool doHardConstraints)
    -{
    -  igl::ConjugateFFSolver cs(csdata, maxIter, lambdaOrtho, lambdaInit, lambdaMultFactor, doHardConstraints);
    -  typename DerivedV::Scalar lambdaOut = cs.solve(isConstrained, initialSolution, output);
    -  return lambdaOut;
    -}
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template Eigen::Matrix::Scalar igl::conjugate_frame_fields, Eigen::Matrix, Eigen::Matrix >(igl::ConjugateFFSolverData, Eigen::Matrix > const&, Eigen::Matrix const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, int, Eigen::Matrix::Scalar, Eigen::Matrix::Scalar, Eigen::Matrix::Scalar, bool);
    -#endif
    diff --git a/include/igl/conjugate_frame_fields.h b/include/igl/conjugate_frame_fields.h
    deleted file mode 100644
    index d5f9ee2e0..000000000
    --- a/include/igl/conjugate_frame_fields.h
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_CONJUGATE_FRAME_FIELDS_H
    -#define IGL_CONJUGATE_FRAME_FIELDS_H
    -#include "igl_inline.h"
    -#include "ConjugateFFSolverData.h"
    -#include 
    -#include 
    -
    -namespace igl {
    -  //todo
    -  // TODO: isConstrained should become a list of indices for consistency with
    -  //       n_polyvector
    -  
    -  template 
    -  IGL_INLINE void conjugate_frame_fields(const Eigen::PlainObjectBase &V,
    -                                         const Eigen::PlainObjectBase &F,
    -                                         const Eigen::VectorXi &isConstrained,
    -                                         const Eigen::PlainObjectBase &initialSolution,
    -                                         Eigen::PlainObjectBase &output,
    -                                         int _maxIter = 50,
    -                                         const typename DerivedV::Scalar _lambdaOrtho = .1,
    -                                         const typename DerivedV::Scalar _lambdaInit = 100,
    -                                         const typename DerivedV::Scalar _lambdaMultFactor = 1.01,
    -                                         bool _doHardConstraints = true);
    -  
    -  template 
    -  IGL_INLINE typename DerivedV::Scalar conjugate_frame_fields(const ConjugateFFSolverData &csdata,
    -                                                              const Eigen::VectorXi &isConstrained,
    -                                                              const Eigen::PlainObjectBase &initialSolution,
    -                                                              Eigen::PlainObjectBase &output,
    -                                                              int _maxIter = 50,
    -                                                              const typename DerivedV::Scalar _lambdaOrtho = .1,
    -                                                              const typename DerivedV::Scalar _lambdaInit = 100,
    -                                                              const typename DerivedV::Scalar _lambdaMultFactor = 1.01,
    -                                                              bool _doHardConstraints = true);
    -  
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "conjugate_frame_fields.cpp"
    -#endif
    -
    -
    -#endif
    diff --git a/include/igl/connect_boundary_to_infinity.h b/include/igl/connect_boundary_to_infinity.h
    index 9ffb75ee3..2fa2783d6 100644
    --- a/include/igl/connect_boundary_to_infinity.h
    +++ b/include/igl/connect_boundary_to_infinity.h
    @@ -11,7 +11,7 @@
     #include 
     namespace igl
     {
    -  // Connect all boundary edges to a ficticious point at infinity.
    +  // Connect all boundary edges to a fictitious point at infinity.
       //
       // Inputs:
       //   F  #F by 3 list of face indices into some V
    diff --git a/include/igl/copyleft/cgal/CGAL_includes.hpp b/include/igl/copyleft/cgal/CGAL_includes.hpp
    index c9da640b8..38d2fc749 100644
    --- a/include/igl/copyleft/cgal/CGAL_includes.hpp
    +++ b/include/igl/copyleft/cgal/CGAL_includes.hpp
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2014 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_CGAL_INCLUDES_H
     #define IGL_CGAL_INCLUDES_H
    diff --git a/include/igl/copyleft/cgal/SelfIntersectMesh.h b/include/igl/copyleft/cgal/SelfIntersectMesh.h
    index 698e22fc5..5a70fc39e 100644
    --- a/include/igl/copyleft/cgal/SelfIntersectMesh.h
    +++ b/include/igl/copyleft/cgal/SelfIntersectMesh.h
    @@ -236,7 +236,7 @@ namespace igl
     // a 2-manifold.
     // A: But! It seems we could use CGAL::Triangulation_3. Though it won't be easy
     // to take advantage of functions like insert_in_facet because we want to
    -// constrain segments. Hmmm. Actualy Triangulation_3 doesn't look right...
    +// constrain segments. Hmmm. Actually Triangulation_3 doesn't look right...
     
     // CGAL's box_self_intersection_d uses C-style function callbacks without
     // userdata. This is a leapfrog method for calling a member function. It should
    diff --git a/include/igl/copyleft/cgal/assign.cpp b/include/igl/copyleft/cgal/assign.cpp
    index 1f705791f..0631b58a7 100644
    --- a/include/igl/copyleft/cgal/assign.cpp
    +++ b/include/igl/copyleft/cgal/assign.cpp
    @@ -49,6 +49,10 @@ igl::copyleft::cgal::assign(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::copyleft::cgal::assign, -1, -1, 1, -1, -1>, Eigen::Matrix >(Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::copyleft::cgal::assign, Eigen::Matrix, -1, -1, 1, -1, -1> >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&);
    +// generated by autoexplicit.sh
     template void igl::copyleft::cgal::assign, Eigen::Matrix, -1, -1, 1, -1, -1> >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&);
     // generated by autoexplicit.sh
     template void igl::copyleft::cgal::assign, -1, 3, 0, -1, 3>,  Eigen::Matrix >(Eigen::MatrixBase, -1, 3, 0, -1, 3> > const&,   Eigen::PlainObjectBase >&);
    diff --git a/include/igl/copyleft/cgal/assign_scalar.cpp b/include/igl/copyleft/cgal/assign_scalar.cpp
    index 8769946c4..c38ee03a1 100644
    --- a/include/igl/copyleft/cgal/assign_scalar.cpp
    +++ b/include/igl/copyleft/cgal/assign_scalar.cpp
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2015 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "assign_scalar.h"
     
    @@ -97,3 +97,40 @@ IGL_INLINE void igl::copyleft::cgal::assign_scalar(
           d = next;
       } while (d < float(interval.second));
     }
    +
    +#ifndef WIN32
    +
    +IGL_INLINE void igl::copyleft::cgal::assign_scalar(
    +  const CGAL::Simple_cartesian::FT & cgal,
    +  CGAL::Simple_cartesian::FT & d)
    +{
    +  d = cgal;
    +}
    +
    +IGL_INLINE void igl::copyleft::cgal::assign_scalar(
    +  const CGAL::Simple_cartesian::FT & cgal,
    +  double & d)
    +{
    +  const auto interval = CGAL::to_interval(cgal);
    +  d = interval.first;
    +  do {
    +      const double next = nextafter(d, interval.second);
    +      if (CGAL::abs(cgal-d) < CGAL::abs(cgal-next)) break;
    +      d = next;
    +  } while (d < interval.second);
    +}
    +
    +IGL_INLINE void igl::copyleft::cgal::assign_scalar(
    +  const CGAL::Simple_cartesian::FT & cgal,
    +  float& d)
    +{
    +  const auto interval = CGAL::to_interval(cgal);
    +  d = interval.first;
    +  do {
    +      const float next = nextafter(d, float(interval.second));
    +      if (CGAL::abs(cgal-d) < CGAL::abs(cgal-next)) break;
    +      d = next;
    +  } while (d < float(interval.second));
    +}
    +
    +#endif // WIN32
    diff --git a/include/igl/copyleft/cgal/assign_scalar.h b/include/igl/copyleft/cgal/assign_scalar.h
    index 634e24b0b..feec928d5 100644
    --- a/include/igl/copyleft/cgal/assign_scalar.h
    +++ b/include/igl/copyleft/cgal/assign_scalar.h
    @@ -1,15 +1,19 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2015 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_COPYLEFT_CGAL_ASSIGN_SCALAR_H
     #define IGL_COPYLEFT_CGAL_ASSIGN_SCALAR_H
     #include "../../igl_inline.h"
     #include 
     #include 
    +#ifndef WIN32
    +#include 
    +#endif
    +
     namespace igl
     {
       namespace copyleft
    @@ -38,6 +42,7 @@ namespace igl
           IGL_INLINE void assign_scalar(
             const float& c,
             double& d);
    +
           IGL_INLINE void assign_scalar(
             const CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & cgal,
             CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & d);
    @@ -47,6 +52,19 @@ namespace igl
           IGL_INLINE void assign_scalar(
             const CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & cgal,
             float& d);
    +
    +#ifndef WIN32
    +      IGL_INLINE void assign_scalar(
    +        const CGAL::Simple_cartesian::FT & cgal,
    +        CGAL::Simple_cartesian::FT & d);
    +      IGL_INLINE void assign_scalar(
    +        const CGAL::Simple_cartesian::FT & cgal,
    +        double & d);
    +      IGL_INLINE void assign_scalar(
    +        const CGAL::Simple_cartesian::FT & cgal,
    +        float& d);
    +#endif // WIN32
    +
         }
       }
     }
    diff --git a/include/igl/copyleft/cgal/cell_adjacency.cpp b/include/igl/copyleft/cgal/cell_adjacency.cpp
    index d7c194a63..1824a37c8 100644
    --- a/include/igl/copyleft/cgal/cell_adjacency.cpp
    +++ b/include/igl/copyleft/cgal/cell_adjacency.cpp
    @@ -28,4 +28,7 @@ IGL_INLINE void igl::copyleft::cgal::cell_adjacency(
     
     #ifdef IGL_STATIC_LIBRARY
     template void igl::copyleft::cgal::cell_adjacency >(Eigen::PlainObjectBase > const&, unsigned long, std::vector::Scalar, bool, unsigned long>, std::less::Scalar, bool, unsigned long> >, std::allocator::Scalar, bool, unsigned long> > >, std::allocator::Scalar, bool, unsigned long>, std::less::Scalar, bool, unsigned long> >, std::allocator::Scalar, bool, unsigned long> > > > >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::cell_adjacency>(class Eigen::PlainObjectBase> const &, unsigned __int64, class std::vector, struct std::less>, class std::allocator>>, class std::allocator, struct std::less>, class std::allocator>>>> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/cell_adjacency.h b/include/igl/copyleft/cgal/cell_adjacency.h
    index 7e857951e..2244d3c4a 100644
    --- a/include/igl/copyleft/cgal/cell_adjacency.h
    +++ b/include/igl/copyleft/cgal/cell_adjacency.h
    @@ -27,7 +27,7 @@ namespace igl
           //   num_cells        number of cells.
           //
           // Outputs:
    -      //   adjacency_list  #C array of list of adjcent cell informations.  If
    +      //   adjacency_list  #C array of list of adjcent cell information.  If
           //                   cell i and cell j are adjacent via patch x, where i
           //                   is on the positive side of x, and j is on the
           //                   negative side.  Then,
    diff --git a/include/igl/copyleft/cgal/closest_facet.cpp b/include/igl/copyleft/cgal/closest_facet.cpp
    index c7f208f43..0b08dd4bc 100644
    --- a/include/igl/copyleft/cgal/closest_facet.cpp
    +++ b/include/igl/copyleft/cgal/closest_facet.cpp
    @@ -124,7 +124,7 @@ IGL_INLINE void igl::copyleft::cgal::closest_facet(
           case CGAL::COPLANAR:
             // Warning:
             // This can only happen if fid contains a boundary edge.
    -        // Catergorized this ambiguous case as negative side.
    +        // Categorized this ambiguous case as negative side.
             return false;
           default:
             throw std::runtime_error("Unknown CGAL state.");
    @@ -496,4 +496,9 @@ template void igl::copyleft::cgal::closest_facet, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, unsigned long, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 1, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, std::vector >, std::allocator > > > const&, CGAL::AABB_tree >::iterator, CGAL::Boolean_tag > > > const&, std::vector > const&, std::vector > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::closest_facet, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, -1, -1, 0, -1, -1>, unsigned long, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::closest_facet, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, -1, -1, 0, -1, -1>, unsigned __int64, class Eigen::Matrix, class CGAL::Epeck, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class std::vector>, class std::allocator>>> const &, class CGAL::AABB_tree>>>, struct CGAL::Boolean_tag<0>>>> const &, class std::vector, class std::allocator>> const &, class std::vector> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::closest_facet, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, -1, -1, 1, -1, -1>, unsigned __int64, class Eigen::Matrix, class CGAL::Epeck, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class std::vector>, class std::allocator>>> const &, class CGAL::AABB_tree>>>, struct CGAL::Boolean_tag<0>>>> const &, class std::vector, class std::allocator>> const &, class std::vector> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::closest_facet, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, -1, -1, 1, -1, -1>, unsigned __int64, class Eigen::Matrix, class CGAL::Epeck, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class std::vector>, class std::allocator>>> const &, class CGAL::AABB_tree>>>, struct CGAL::Boolean_tag<0>>>> const &, class std::vector, class std::allocator>> const &, class std::vector> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/extract_cells.cpp b/include/igl/copyleft/cgal/extract_cells.cpp
    index b1f7de0ea..a314edfae 100644
    --- a/include/igl/copyleft/cgal/extract_cells.cpp
    +++ b/include/igl/copyleft/cgal/extract_cells.cpp
    @@ -539,4 +539,9 @@ template unsigned long igl::copyleft::cgal::extract_cells
     template unsigned long igl::copyleft::cgal::extract_cells, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
     template unsigned long igl::copyleft::cgal::extract_cells, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template unsigned __int64 igl::copyleft::cgal::extract_cells, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +template unsigned __int64 igl::copyleft::cgal::extract_cells, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +template unsigned __int64 igl::copyleft::cgal::extract_cells, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/half_space_box.cpp b/include/igl/copyleft/cgal/half_space_box.cpp
    index 115c3f0d8..1bfa8ea52 100644
    --- a/include/igl/copyleft/cgal/half_space_box.cpp
    +++ b/include/igl/copyleft/cgal/half_space_box.cpp
    @@ -113,6 +113,8 @@ IGL_INLINE void igl::copyleft::cgal::half_space_box(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::copyleft::cgal::half_space_box >(CGAL::Plane_3 const&, Eigen::MatrixBase > const&, Eigen::Matrix, 8, 3, 0, 8, 3>&, Eigen::Matrix&);
    +// generated by autoexplicit.sh
     template void igl::copyleft::cgal::half_space_box >(CGAL::Plane_3 const&, Eigen::MatrixBase > const&, Eigen::Matrix, 8, 3, 0, 8, 3>&, Eigen::Matrix&);
     template void igl::copyleft::cgal::half_space_box, 1, 4, 1, 1, 4>, Eigen::Matrix, -1, 3, 0, -1, 3> >(Eigen::MatrixBase, 1, 4, 1, 1, 4> > const&, Eigen::MatrixBase, -1, 3, 0, -1, 3> > const&, Eigen::Matrix, 8, 3, 0, 8, 3>&, Eigen::Matrix&);
     template void igl::copyleft::cgal::half_space_box, 1, 4, 1, 1, 4>, Eigen::Matrix, -1, 4, 0, -1, 4> >(Eigen::MatrixBase, 1, 4, 1, 1, 4> > const&, Eigen::MatrixBase, -1, 4, 0, -1, 4> > const&, Eigen::Matrix, 8, 3, 0, 8, 3>&, Eigen::Matrix&);
    diff --git a/include/igl/copyleft/cgal/insert_into_cdt.cpp b/include/igl/copyleft/cgal/insert_into_cdt.cpp
    index 35d9d757f..2ea4e6de1 100644
    --- a/include/igl/copyleft/cgal/insert_into_cdt.cpp
    +++ b/include/igl/copyleft/cgal/insert_into_cdt.cpp
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2016 Alec Jacobson
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "insert_into_cdt.h"
     #include 
    @@ -22,30 +22,30 @@ IGL_INLINE void igl::copyleft::cgal::insert_into_cdt(
             CGAL::Constrained_triangulation_face_base_2< Kernel>
           >,
           CGAL::Exact_intersections_tag
    -    > 
    -  > 
    +    >
    +  >
       & cdt)
     {
       typedef CGAL::Point_3    Point_3;
    -  typedef CGAL::Segment_3  Segment_3; 
    -  typedef CGAL::Triangle_3 Triangle_3; 
    +  typedef CGAL::Segment_3  Segment_3;
    +  typedef CGAL::Triangle_3 Triangle_3;
     
    -  if(const Segment_3 *iseg = CGAL::object_cast(&obj)) 
    +  if(const Segment_3 *iseg = CGAL::object_cast(&obj))
       {
         // Add segment constraint
         cdt.insert_constraint( P.to_2d(iseg->vertex(0)),P.to_2d(iseg->vertex(1)));
    -  }else if(const Point_3 *ipoint = CGAL::object_cast(&obj)) 
    +  }else if(const Point_3 *ipoint = CGAL::object_cast(&obj))
       {
         // Add point
         cdt.insert(P.to_2d(*ipoint));
    -  } else if(const Triangle_3 *itri = CGAL::object_cast(&obj)) 
    +  } else if(const Triangle_3 *itri = CGAL::object_cast(&obj))
       {
         // Add 3 segment constraints
         cdt.insert_constraint( P.to_2d(itri->vertex(0)),P.to_2d(itri->vertex(1)));
         cdt.insert_constraint( P.to_2d(itri->vertex(1)),P.to_2d(itri->vertex(2)));
         cdt.insert_constraint( P.to_2d(itri->vertex(2)),P.to_2d(itri->vertex(0)));
    -  } else if(const std::vector *polyp = 
    -      CGAL::object_cast< std::vector >(&obj)) 
    +  } else if(const std::vector *polyp =
    +      CGAL::object_cast< std::vector >(&obj))
       {
         const std::vector & poly = *polyp;
         const size_t m = poly.size();
    diff --git a/include/igl/copyleft/cgal/insert_into_cdt.h b/include/igl/copyleft/cgal/insert_into_cdt.h
    index 3220ac45b..afca0233f 100644
    --- a/include/igl/copyleft/cgal/insert_into_cdt.h
    +++ b/include/igl/copyleft/cgal/insert_into_cdt.h
    @@ -1,14 +1,15 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2016 Alec Jacobson
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_COPYLEFT_CGAL_INSERT_INTO_CDT_H
     #define IGL_COPYLEFT_CGAL_INSERT_INTO_CDT_H
     #include "../../igl_inline.h"
     
    +#include  // Workaround https://github.com/CGAL/cgal/issues/2182 with CGAL 4.10-1
     #include 
     #include 
     #include 
    @@ -33,7 +34,7 @@ namespace igl
           //   cdt  current CDT, see output
           // Outputs:
           //   cdt  CDT updated to contain constraints for the given object
    -      // 
    +      //
           template 
           IGL_INLINE void insert_into_cdt(
             const CGAL::Object & obj,
    @@ -46,8 +47,8 @@ namespace igl
                   CGAL::Constrained_triangulation_face_base_2< Kernel>
                 >,
                 CGAL::Exact_intersections_tag
    -          > 
    -        > 
    +          >
    +        >
             & cdt);
         }
       }
    diff --git a/include/igl/copyleft/cgal/intersect_other.h b/include/igl/copyleft/cgal/intersect_other.h
    index cb21f9411..c1afdf87d 100644
    --- a/include/igl/copyleft/cgal/intersect_other.h
    +++ b/include/igl/copyleft/cgal/intersect_other.h
    @@ -12,13 +12,6 @@
     
     #include 
     
    -#ifdef MEX
    -#  include 
    -#  include 
    -#  undef assert
    -#  define assert( isOK ) ( (isOK) ? (void)0 : (void) mexErrMsgTxt(C_STR(__FILE__<<":"<<__LINE__<<": failed assertion `"<<#isOK<<"'"<, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template bool igl::copyleft::cgal::intersect_with_half_space, Eigen::Matrix, Eigen::Matrix, Eigen::CwiseUnaryOp, Eigen::Matrix const>, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, Eigen::Matrix const> > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template bool igl::copyleft::cgal::intersect_with_half_space, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template bool igl::copyleft::cgal::intersect_with_half_space, Eigen::Matrix, Eigen::Matrix, Eigen::CwiseUnaryOp, Eigen::Matrix const>, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, Eigen::Matrix const> > const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/copyleft/cgal/mesh_boolean.cpp b/include/igl/copyleft/cgal/mesh_boolean.cpp
    index 439e45f0a..dae58c681 100644
    --- a/include/igl/copyleft/cgal/mesh_boolean.cpp
    +++ b/include/igl/copyleft/cgal/mesh_boolean.cpp
    @@ -15,6 +15,7 @@
     #include "relabel_small_immersed_cells.h"
     #include "remesh_self_intersections.h"
     #include "string_to_mesh_boolean_type.h"
    +#include "../../combine.h"
     #include "../../cumsum.h"
     #include "../../extract_manifold_patches.h"
     #include "../../get_seconds.h"
    @@ -137,33 +138,11 @@ IGL_INLINE bool igl::copyleft::cgal::mesh_boolean(
         Eigen::PlainObjectBase & FC,
         Eigen::PlainObjectBase & J)
     {
    -  assert(Flist.size() == Vlist.size() && "#Vlist and #Flist should match");
    -  const size_t num_inputs = Vlist.size();
    -  // Gather sizes
    -  Eigen::Matrix sizes(num_inputs);
    -  int numf = 0;
    -  int numv = 0;
    -  for(int i = 0;i Vsizes,Fsizes;
    +  igl::combine(Vlist,Flist,VV,FF,Vsizes,Fsizes);
    +  return mesh_boolean(VV,FF,Fsizes,wind_num_op,keep,VC,FC,J);
     }
     
     template <
    @@ -432,6 +411,10 @@ IGL_INLINE bool igl::copyleft::cgal::mesh_boolean(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::copyleft::cgal::mesh_boolean, 8, 3, 0, 8, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, 8, 3, 0, 8, 3> > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template bool igl::copyleft::cgal::mesh_boolean, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template bool igl::copyleft::cgal::mesh_boolean, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template bool igl::copyleft::cgal::mesh_boolean, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, -1, -1, 1, -1, -1> > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase, -1, -1, 0, -1, -1> > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase, -1, -1, 1, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    @@ -452,4 +435,7 @@ template bool igl::copyleft::cgal::mesh_boolean, 8, 3, 0, 8, 3>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, 8, 3, 0, 8, 3> > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template bool igl::copyleft::cgal::mesh_boolean, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::MeshBooleanType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template bool igl::copyleft::cgal::mesh_boolean, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(std::vector, std::allocator > > const&, std::vector, std::allocator > > const&, std::function)> const&, std::function const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template bool igl::copyleft::cgal::mesh_boolean, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::MatrixBase, -1, 3, 0, -1, 3>> const &, class Eigen::MatrixBase> const &, class Eigen::MatrixBase, -1, 3, 0, -1, 3>> const &, class Eigen::MatrixBase> const &, enum igl::MeshBooleanType const &, class Eigen::PlainObjectBase, -1, 3, 0, -1, 3>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/minkowski_sum.cpp b/include/igl/copyleft/cgal/minkowski_sum.cpp
    index d317f3ffa..c9045a4c7 100644
    --- a/include/igl/copyleft/cgal/minkowski_sum.cpp
    +++ b/include/igl/copyleft/cgal/minkowski_sum.cpp
    @@ -106,6 +106,7 @@ IGL_INLINE void igl::copyleft::cgal::minkowski_sum(
         vJ[ee].resize(vG[ee].rows(),2);
         vJ[ee].col(0) = eJ.array() + (FA.rows()+1);
         vJ[ee].col(1).setConstant(ee);
    +    offsets[ee+1] = offsets[ee] + vW[ee].rows();
       }
       // Combine meshes
       int n=0,m=0;
    @@ -141,7 +142,7 @@ IGL_INLINE void igl::copyleft::cgal::minkowski_sum(
           W,
           G,
           SJ);
    -    J = slice(DerivedJ(J),SJ,1);
    +    slice(DerivedJ(J),SJ,1,J);
       }
     }
     
    diff --git a/include/igl/copyleft/cgal/order_facets_around_edge.cpp b/include/igl/copyleft/cgal/order_facets_around_edge.cpp
    index eb5938d47..13b585b50 100644
    --- a/include/igl/copyleft/cgal/order_facets_around_edge.cpp
    +++ b/include/igl/copyleft/cgal/order_facets_around_edge.cpp
    @@ -414,4 +414,15 @@ template void igl::copyleft::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::order_facets_around_edge, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, unsigned long, unsigned long, std::vector > const&, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase> &, bool);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase> &, bool);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase> &, bool);
    +template void igl::copyleft::cgal::order_facets_around_edge, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, 3, 0, -1, 3>> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase, -1, 3, 0, -1, 3>> const &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::order_facets_around_edge, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::order_facets_around_edge, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, unsigned __int64, unsigned __int64, class std::vector> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/order_facets_around_edge.h b/include/igl/copyleft/cgal/order_facets_around_edge.h
    index 3bb2ded0b..6e09129ac 100644
    --- a/include/igl/copyleft/cgal/order_facets_around_edge.h
    +++ b/include/igl/copyleft/cgal/order_facets_around_edge.h
    @@ -31,7 +31,7 @@ namespace igl
           //   V  #V by 3 list of vertices.
           //   F  #F by 3 list of faces
           //   s  Index of source vertex.
    -      //   d  Index of desination vertex.
    +      //   d  Index of destination vertex.
           //   adj_faces  List of adjacent face signed indices.
           // Output:
           //   order  List of face indices that orders adjacent faces around edge
    @@ -50,7 +50,7 @@ namespace igl
               Eigen::PlainObjectBase& order,
               bool debug=false);
     
    -      // This funciton is a wrapper around the one above.  Since the ordering
    +      // This function is a wrapper around the one above.  Since the ordering
           // is circular, the pivot point is used to define a starting point.  So
           // order[0] is the index into adj_face that is immediately after the
           // pivot face (s, d, pivot point) in clockwise order.
    diff --git a/include/igl/copyleft/cgal/outer_element.cpp b/include/igl/copyleft/cgal/outer_element.cpp
    index 63e7a7d93..2bef8cae1 100644
    --- a/include/igl/copyleft/cgal/outer_element.cpp
    +++ b/include/igl/copyleft/cgal/outer_element.cpp
    @@ -218,4 +218,15 @@ template void igl::copyleft::cgal::outer_edge, Eigen::Matrix, Eigen::Matrix, long, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, long&, long&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::outer_edge, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, long, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 1, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, long&, long&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::outer_edge, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, long, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 1, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, long&, long&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::outer_edge, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase, -1, 3, 0, -1, 3>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::outer_edge, class Eigen::Matrix, class Eigen::Matrix, __int64, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, __int64 &, __int64 &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/outer_facet.cpp b/include/igl/copyleft/cgal/outer_facet.cpp
    index 1f9dc9bd3..4525dd856 100644
    --- a/include/igl/copyleft/cgal/outer_facet.cpp
    +++ b/include/igl/copyleft/cgal/outer_facet.cpp
    @@ -172,4 +172,9 @@ template void igl::copyleft::cgal::outer_facet, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int&, bool&);
     template void igl::copyleft::cgal::outer_facet, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int&, bool&);
     template void igl::copyleft::cgal::outer_facet, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, int&, bool&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::outer_facet, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64>(class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, unsigned __int64 &, bool &);
    +template void igl::copyleft::cgal::outer_facet, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, unsigned __int64 &, bool &);
    +template void igl::copyleft::cgal::outer_facet, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, unsigned __int64 &, bool &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/outer_facet.h b/include/igl/copyleft/cgal/outer_facet.h
    index a7a91a44f..b025a94ab 100644
    --- a/include/igl/copyleft/cgal/outer_facet.h
    +++ b/include/igl/copyleft/cgal/outer_facet.h
    @@ -26,7 +26,7 @@ namespace igl
             // See cgal::remesh_self_intersections.h for how to obtain such input.
             //
             // This function differ from igl::outer_facet() in the fact this
    -        // funciton is more robust because it does not rely on facet normals.
    +        // function is more robust because it does not rely on facet normals.
             //
             // Inputs:
             //   V  #V by 3 list of vertex positions
    diff --git a/include/igl/copyleft/cgal/point_mesh_squared_distance.cpp b/include/igl/copyleft/cgal/point_mesh_squared_distance.cpp
    index 18e2fdf06..18b5706ae 100644
    --- a/include/igl/copyleft/cgal/point_mesh_squared_distance.cpp
    +++ b/include/igl/copyleft/cgal/point_mesh_squared_distance.cpp
    @@ -81,7 +81,7 @@ IGL_INLINE void igl::copyleft::cgal::point_mesh_squared_distance_precompute(
       // accelerate_distance_queries doesn't seem actually to do _all_ of the
       // precomputation. the tree (despite being const) will still do more
       // precomputation and reorganizing on the first call of `closest_point` or
    -  // `closest_point_and_primitive`. Therefor, call it once here.
    +  // `closest_point_and_primitive`. Therefore, call it once here.
       tree.closest_point_and_primitive(Point_3(0,0,0));
     }
     
    diff --git a/include/igl/copyleft/cgal/points_inside_component.cpp b/include/igl/copyleft/cgal/points_inside_component.cpp
    index 68e0fe3d4..1558e130d 100644
    --- a/include/igl/copyleft/cgal/points_inside_component.cpp
    +++ b/include/igl/copyleft/cgal/points_inside_component.cpp
    @@ -321,7 +321,7 @@ IGL_INLINE void igl::copyleft::cgal::points_inside_component(
                     inside(i,0) = determine_point_face_orientation(V, F, I, query, fid);
                     break;
                 default:
    -                throw "Unknow closest element type!";
    +                throw "Unknown closest element type!";
             }
         }
     }
    diff --git a/include/igl/copyleft/cgal/projected_cdt.cpp b/include/igl/copyleft/cgal/projected_cdt.cpp
    index e7b80e36d..f34352c66 100644
    --- a/include/igl/copyleft/cgal/projected_cdt.cpp
    +++ b/include/igl/copyleft/cgal/projected_cdt.cpp
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2016 Alec Jacobson
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "projected_cdt.h"
     #include "insert_into_cdt.h"
    @@ -29,8 +29,8 @@ IGL_INLINE void igl::copyleft::cgal::projected_cdt(
       size_t count=0;
       for (
         auto itr = cdt.finite_vertices_begin();
    -    itr != cdt.finite_vertices_end(); 
    -    itr++) 
    +    itr != cdt.finite_vertices_end();
    +    itr++)
       {
         vertices.push_back(P.to_3d(itr->point()));
         v2i[itr] = count;
    @@ -39,10 +39,10 @@ IGL_INLINE void igl::copyleft::cgal::projected_cdt(
       // Read off faces and store index triples
       for (
         auto itr = cdt.finite_faces_begin();
    -    itr != cdt.finite_faces_end(); 
    +    itr != cdt.finite_faces_end();
         itr++)
       {
    -    faces.push_back( 
    +    faces.push_back(
           { v2i[itr->vertex(0)], v2i[itr->vertex(1)], v2i[itr->vertex(2)] });
       }
     }
    @@ -75,4 +75,8 @@ template void igl::copyleft::cgal::projected_cdt(std::vector<
     // generated by autoexplicit.sh
     template void igl::copyleft::cgal::projected_cdt(std::vector > const&, CGAL::Plane_3 const&, std::vector, std::allocator > >&, std::vector >, std::allocator > > >&);
     #include 
    +#ifdef WIN32
    +template void igl::copyleft::cgal::projected_cdt(class std::vector> const &, class CGAL::Plane_3 const &, class std::vector, class std::allocator>> &, class std::vector>, class std::allocator>>> &);
    +template void igl::copyleft::cgal::projected_cdt(class std::vector> const &, class CGAL::Plane_3 const &, class std::vector, class std::allocator>> &, class std::vector>, class std::allocator>>> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/projected_cdt.h b/include/igl/copyleft/cgal/projected_cdt.h
    index dc16aefa1..a161cc450 100644
    --- a/include/igl/copyleft/cgal/projected_cdt.h
    +++ b/include/igl/copyleft/cgal/projected_cdt.h
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2016 Alec Jacobson
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_COPYLEFT_CGAL_PROJECTED_CDT_H
     #define IGL_COPYLEFT_CGAL_PROJECTED_CDT_H
    @@ -11,6 +11,7 @@
     #include 
     #include 
     #include 
    +#include 
     #include 
     namespace igl
     {
    @@ -32,7 +33,7 @@ namespace igl
           // Outputs:
           //   vertices  list of vertices of the CDT mesh _back on the 3D plane_
           //   faces  list of list of triangle indices into vertices
    -      //   
    +      //
           template 
           IGL_INLINE void projected_cdt(
             const std::vector & objects,
    diff --git a/include/igl/copyleft/cgal/propagate_winding_numbers.cpp b/include/igl/copyleft/cgal/propagate_winding_numbers.cpp
    index 09b758e93..7de9d98d2 100644
    --- a/include/igl/copyleft/cgal/propagate_winding_numbers.cpp
    +++ b/include/igl/copyleft/cgal/propagate_winding_numbers.cpp
    @@ -118,10 +118,11 @@ IGL_INLINE bool igl::copyleft::cgal::propagate_winding_numbers(
     #endif
     
       bool valid = true;
    -  if (!piecewise_constant_winding_number(F, uE, uE2E)) 
    +  // https://github.com/libigl/libigl/issues/674
    +  if (!igl::piecewise_constant_winding_number(F, uE, uE2E)) 
       {
    -    assert(false && "Input mesh is not orientable");
    -    std::cerr << "Input mesh is not orientable!" << std::endl;
    +    assert(false && "Input mesh is not PWN");
    +    std::cerr << "Input mesh is not PWN!" << std::endl;
         valid = false;
       }
     
    @@ -316,4 +317,8 @@ template bool igl::copyleft::cgal::propagate_winding_numbers, -1, -1, 1, -1, -1>, Eigen::Matrix, Eigen::Matrix, unsigned long, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 1, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, unsigned long, Eigen::PlainObjectBase > const&, unsigned long, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
     template bool igl::copyleft::cgal::propagate_winding_numbers, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase, -1, -1, 0, -1, -1> > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template bool igl::copyleft::cgal::propagate_winding_numbers, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, unsigned __int64, class Eigen::PlainObjectBase> const &, unsigned __int64, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +template bool igl::copyleft::cgal::propagate_winding_numbers, -1, -1, 1, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix>(class Eigen::PlainObjectBase, -1, -1, 1, -1, -1>> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, unsigned __int64, class Eigen::PlainObjectBase> const &, unsigned __int64, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/remesh_intersections.cpp b/include/igl/copyleft/cgal/remesh_intersections.cpp
    index e2787d732..39dabee48 100644
    --- a/include/igl/copyleft/cgal/remesh_intersections.cpp
    +++ b/include/igl/copyleft/cgal/remesh_intersections.cpp
    @@ -10,6 +10,7 @@
     #include "assign_scalar.h"
     #include "projected_cdt.h"
     #include "../../get_seconds.h"
    +#include "../../parallel_for.h"
     #include "../../LinSpaced.h"
     #include "../../unique_rows.h"
     
    @@ -375,18 +376,21 @@ IGL_INLINE void igl::copyleft::cgal::remesh_intersections(
         std::vector > cdt_vertices(num_cdts);
         std::vector > > cdt_faces(num_cdts);
     
    -    const auto cdt = [&](const size_t first, const size_t last) 
    +    //// Not clear whether this is safe because of reference counting on Point_3
    +    //// objects...
    +    //// 
    +    //// I tried it and got random segfaults (via MATLAB). Seems this is not
    +    //// safe.
    +    //igl::parallel_for(num_cdts,[&](int i)
    +    for (size_t i=0; i
             >(unique_vv.rows(), 0, unique_vv.rows()-1);
    @@ -511,4 +515,10 @@ template void igl::copyleft::cgal::remesh_intersections, 8, 3, 0, 8, 3>, Eigen::Matrix, CGAL::Epick, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, 8, 3, 0, 8, 3> > const&, Eigen::MatrixBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::vector::Index, CGAL::Object>, std::allocator::Index, CGAL::Object> > >, std::less::Index>, std::allocator::Index const, std::vector::Index, CGAL::Object>, std::allocator::Index, CGAL::Object> > > > > > const&, bool, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::remesh_intersections, 8, 3, 0, 8, 3>, Eigen::Matrix, CGAL::Epeck, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase, 8, 3, 0, 8, 3> > const&, Eigen::MatrixBase > const&, std::vector, std::allocator > > const&, std::map::Index, std::vector::Index, CGAL::Object>, std::allocator::Index, CGAL::Object> > >, std::less::Index>, std::allocator::Index const, std::vector::Index, CGAL::Object>, std::allocator::Index, CGAL::Object> > > > > > const&, bool, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::remesh_intersections, Eigen::Matrix, CGAL::Epeck,   Eigen::Matrix, -1, 3, 0, -1, 3>,   Eigen::Matrix, Eigen::Matrix,   Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector,   std::allocator > > const&,   std::map::Index,   std::vector::Index,   CGAL::Object>, std::allocator::Index, CGAL::Object> > >, std::less::Index>, std::allocator::Index const,   std::vector::Index,   CGAL::Object>, std::allocator::Index, CGAL::Object> > > > > > const&, bool,   Eigen::PlainObjectBase, -1, 3,   0, -1, 3> >&, Eigen::PlainObjectBase >&,   Eigen::PlainObjectBase >&,   Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::remesh_intersections, class Eigen::Matrix, class CGAL::Epeck, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase> const &, class Eigen::MatrixBase> const &, class std::vector, class std::allocator>> const &, class std::map<__int64, class std::vector, class std::allocator>>, struct std::less<__int64>, class std::allocator, class std::allocator>>>>> const &, bool, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::remesh_intersections, class Eigen::Matrix, class CGAL::Epick, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase> const &, class Eigen::MatrixBase> const &, class std::vector, class std::allocator>> const &, class std::map<__int64, class std::vector, class std::allocator>>, struct std::less<__int64>, class std::allocator, class std::allocator>>>>> const &, bool, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::remesh_intersections, -1, 3, 0, -1, 3>, class Eigen::Matrix, class CGAL::Epeck, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase, -1, 3, 0, -1, 3>> const &, class Eigen::MatrixBase> const &, class std::vector, class std::allocator>> const &, class std::map<__int64, class std::vector, class std::allocator>>, struct std::less<__int64>, class std::allocator, class std::allocator>>>>> const &, bool, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::remesh_intersections, -1, 3, 0, -1, 3>, class Eigen::Matrix, class CGAL::Epick, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase, -1, 3, 0, -1, 3>> const &, class Eigen::MatrixBase> const &, class std::vector, class std::allocator>> const &, class std::map<__int64, class std::vector, class std::allocator>>, struct std::less<__int64>, class std::allocator, class std::allocator>>>>> const &, bool, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/remesh_intersections.h b/include/igl/copyleft/cgal/remesh_intersections.h
    index 5640e8e3f..2b6a44a57 100644
    --- a/include/igl/copyleft/cgal/remesh_intersections.h
    +++ b/include/igl/copyleft/cgal/remesh_intersections.h
    @@ -30,7 +30,7 @@ namespace igl
           //   offending #offending map taking face indices into F to pairs of order
           //     of first finding and list of intersection objects from all
           //     intersections
    -      //   stitch_all  if true, merge all vertices with thte same coordiante.
    +      //   stitch_all  if true, merge all vertices with the same coordinate.
           // Outputs:
           //   VV  #VV by 3 list of vertex positions, if stitch_all = false then
           //     first #V vertices will always be V
    diff --git a/include/igl/copyleft/cgal/remesh_self_intersections.cpp b/include/igl/copyleft/cgal/remesh_self_intersections.cpp
    index 8e72e22b7..871152b30 100644
    --- a/include/igl/copyleft/cgal/remesh_self_intersections.cpp
    +++ b/include/igl/copyleft/cgal/remesh_self_intersections.cpp
    @@ -101,4 +101,8 @@ template void igl::copyleft::cgal::remesh_self_intersections, Eigen::Matrix, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::copyleft::cgal::RemeshSelfIntersectionsParam const&, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::remesh_self_intersections, Eigen::Matrix, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::copyleft::cgal::RemeshSelfIntersectionsParam const&, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::copyleft::cgal::remesh_self_intersections, Eigen::Matrix, Eigen::Matrix, -1, -1, 0, -1, -1>, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::copyleft::cgal::RemeshSelfIntersectionsParam const&, Eigen::PlainObjectBase, -1, -1, 0, -1, -1> >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::copyleft::cgal::remesh_self_intersections, class Eigen::Matrix, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase> const &, class Eigen::MatrixBase> const &, struct igl::copyleft::cgal::RemeshSelfIntersectionsParam const &, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +template void igl::copyleft::cgal::remesh_self_intersections, -1, 3, 0, -1, 3>, class Eigen::Matrix, class Eigen::Matrix, -1, -1, 0, -1, -1>, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix>(class Eigen::MatrixBase, -1, 3, 0, -1, 3>> const &, class Eigen::MatrixBase> const &, struct igl::copyleft::cgal::RemeshSelfIntersectionsParam const &, class Eigen::PlainObjectBase, -1, -1, 0, -1, -1>> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/copyleft/cgal/trim_with_solid.cpp b/include/igl/copyleft/cgal/trim_with_solid.cpp
    index c61e916af..1e67da71e 100644
    --- a/include/igl/copyleft/cgal/trim_with_solid.cpp
    +++ b/include/igl/copyleft/cgal/trim_with_solid.cpp
    @@ -56,7 +56,7 @@ IGL_INLINE void igl::copyleft::cgal::trim_with_solid(
       igl::slice_mask(Eigen::MatrixXi(F),A,1,F);
       igl::slice_mask(Eigen::VectorXi(P),A,1,P);
       igl::slice_mask(Eigen::VectorXi(J),A,1,J);
    -  // Agregate representative query points for each patch
    +  // Aggregate representative query points for each patch
       std::vector flag(num_patches);
       std::vector > vQ;
       Eigen::VectorXi P2Q(num_patches);
    diff --git a/include/igl/copyleft/cgal/wire_mesh.cpp b/include/igl/copyleft/cgal/wire_mesh.cpp
    index f2c59e643..6f36164c2 100644
    --- a/include/igl/copyleft/cgal/wire_mesh.cpp
    +++ b/include/igl/copyleft/cgal/wire_mesh.cpp
    @@ -18,6 +18,7 @@ IGL_INLINE void igl::copyleft::cgal::wire_mesh(
       const Eigen::MatrixBase & WE,
       const double th,
       const int poly_size,
    +  const bool solid,
       Eigen::PlainObjectBase & V,
       Eigen::PlainObjectBase & F,
       Eigen::PlainObjectBase & J)
    @@ -68,6 +69,8 @@ IGL_INLINE void igl::copyleft::cgal::wire_mesh(
         A[WE(e,1)].emplace_back(e,1);
         typedef Eigen::Matrix RowVector3S;
         const RowVector3S ev = WV.row(WE(e,1))-WV.row(WE(e,0));
    +    const Scalar len = ev.norm();
    +    // Unit edge vector
         const RowVector3S uv = ev.normalized();
         Eigen::Quaternion q;
         q = q.FromTwoVectors(RowVector3S(0,0,1),uv);
    @@ -78,9 +81,16 @@ IGL_INLINE void igl::copyleft::cgal::wire_mesh(
           // loop over endpoints
           for(int c = 0;c<2;c++)
           {
    -        // Move to endpoint, offset by factor of thickness
    +        // Direction moving along edge vector
    +        const Scalar dir = c==0?1:-1;
    +        // Amount (distance) to move along edge vector
    +        // Start with factor of thickness;
    +        // Max out amount at 1/3 of edge length so that there's always some
    +        // amount of edge
    +        Scalar dist = std::min(1.*th,len/3.0);
    +        // Move to endpoint, offset by amount
             V.row(index(e,c,p)) = 
    -          qp+WV.row(WE(e,c)) + 1.*th*Scalar(1-2*c)*uv;
    +          qp+WV.row(WE(e,c)) + dist*dir*uv;
           }
         }
       }
    @@ -166,12 +176,36 @@ IGL_INLINE void igl::copyleft::cgal::wire_mesh(
       }
     
       list_to_matrix(vF,F);
    -  // Self-union to clean up 
    -  igl::copyleft::cgal::mesh_boolean(
    -    Eigen::MatrixXd(V),Eigen::MatrixXi(F),Eigen::MatrixXd(),Eigen::MatrixXi(),
    -    "union",
    -    V,F,J);
    -  for(int j=0;j
    +IGL_INLINE void igl::copyleft::cgal::wire_mesh(
    +  const Eigen::MatrixBase & WV,
    +  const Eigen::MatrixBase & WE,
    +  const double th,
    +  const int poly_size,
    +  Eigen::PlainObjectBase & V,
    +  Eigen::PlainObjectBase & F,
    +  Eigen::PlainObjectBase & J)
    +{
    +  return wire_mesh(WV,WE,th,poly_size,true,V,F,J);
     }
     
     #ifdef IGL_STATIC_LIBRARY
    diff --git a/include/igl/copyleft/cgal/wire_mesh.h b/include/igl/copyleft/cgal/wire_mesh.h
    index d6b0626e7..9b798e6fd 100644
    --- a/include/igl/copyleft/cgal/wire_mesh.h
    +++ b/include/igl/copyleft/cgal/wire_mesh.h
    @@ -6,24 +6,42 @@ namespace igl
     {
       namespace copyleft
       {
    -    // Construct a "wire" or "wireframe" or "strut" surface mesh, given a
    -    // one-dimensional network of straight edges.
    -    //
    -    // Inputs:
    -    //   WV  #WV by 3 list of vertex positions
    -    //   WE  #WE by 2 list of edge indices into WV
    -    //   th  diameter thickness of wire 
    -    //   poly_size  number of sides on each wire (e.g., 4 would produce wires by
    -    //     connecting rectangular prisms).
    -    // Outputs:
    -    //   V  #V by 3 list of output vertices
    -    //   F  #F by 3 list of output triangle indices into V
    -    //   J  #F list of indices into [0,#WV+#WE) revealing "birth simplex" of
    -    //     output faces J(j) < #WV means the face corresponds to the J(j)th
    -    //     vertex in WV. J(j) >= #WV means the face corresponds to the
    -    //     (J(j)-#WV)th edge in WE.
         namespace cgal
         {
    +      // Construct a "wire" or "wireframe" or "strut" surface mesh, given a
    +      // one-dimensional network of straight edges.
    +      //
    +      // Inputs:
    +      //   WV  #WV by 3 list of vertex positions
    +      //   WE  #WE by 2 list of edge indices into WV
    +      //   th  diameter thickness of wire 
    +      //   poly_size  number of sides on each wire (e.g., 4 would produce wires by
    +      //     connecting rectangular prisms).
    +      //   solid  whether to resolve self-intersections to
    +      //     create a "solid" output mesh (cf., [Zhou et al. 2016]
    +      // Outputs:
    +      //   V  #V by 3 list of output vertices
    +      //   F  #F by 3 list of output triangle indices into V
    +      //   J  #F list of indices into [0,#WV+#WE) revealing "birth simplex" of
    +      //     output faces J(j) < #WV means the face corresponds to the J(j)th
    +      //     vertex in WV. J(j) >= #WV means the face corresponds to the
    +      //     (J(j)-#WV)th edge in WE.
    +      template <
    +        typename DerivedWV,
    +        typename DerivedWE,
    +        typename DerivedV,
    +        typename DerivedF,
    +        typename DerivedJ>
    +      IGL_INLINE void wire_mesh(
    +        const Eigen::MatrixBase & WV,
    +        const Eigen::MatrixBase & WE,
    +        const double th,
    +        const int poly_size,
    +        const bool solid,
    +        Eigen::PlainObjectBase & V,
    +        Eigen::PlainObjectBase & F,
    +        Eigen::PlainObjectBase & J);
    +      // Default with solid=true
           template <
             typename DerivedWV,
             typename DerivedWE,
    @@ -38,6 +56,7 @@ namespace igl
             Eigen::PlainObjectBase & V,
             Eigen::PlainObjectBase & F,
             Eigen::PlainObjectBase & J);
    +
         }
       }
     }
    diff --git a/include/igl/copyleft/comiso/miq.h b/include/igl/copyleft/comiso/miq.h
    index 0d5730b6b..f4581f65d 100644
    --- a/include/igl/copyleft/comiso/miq.h
    +++ b/include/igl/copyleft/comiso/miq.h
    @@ -43,7 +43,7 @@ namespace igl
         //   UV             #UV by 2 list of vertices in 2D
         //   FUV            #FUV by 3 list of face indices in UV
         //
    -    // TODO: rename the parameters name in the cpp consistenly
    +    // TODO: rename the parameters name in the cpp consistently
         //       improve the handling of hard_features, right now it might fail in difficult cases
     
         template 
    diff --git a/include/igl/copyleft/comiso/nrosy.h b/include/igl/copyleft/comiso/nrosy.h
    index 3a68b93fd..8054081a9 100644
    --- a/include/igl/copyleft/comiso/nrosy.h
    +++ b/include/igl/copyleft/comiso/nrosy.h
    @@ -32,7 +32,7 @@ namespace igl
         //   w_soft  #S by 1 weight for the soft constraints (0-1)
         //   bc_soft #S by 3 bc for soft constraints
         //   N       the degree of the N-RoSy vector field
    -    //   soft    the strenght of the soft contraints w.r.t. smoothness
    +    //   soft    the strength of the soft constraints w.r.t. smoothness
         //           (0 -> smoothness only, 1->constraints only)
         // Outputs:
         //   R       #F by 3 the representative vectors of the interpolated field
    diff --git a/include/igl/copyleft/marching_cubes.cpp b/include/igl/copyleft/marching_cubes.cpp
    index 1d188ea56..e203d9aeb 100644
    --- a/include/igl/copyleft/marching_cubes.cpp
    +++ b/include/igl/copyleft/marching_cubes.cpp
    @@ -211,6 +211,7 @@ public:
         if (num_vertices > vertices.rows())
           vertices.conservativeResize(vertices.rows()+10000, Eigen::NoChange);
     
    +    // Linear interpolation based on linearly interpolating values
         vertices.row(num_vertices-1)  = ((1.0f-t)*p0 + t*p1).template cast();
         edge2vertex[EdgeKey(i0, i1)] = num_vertices-1;
     
    @@ -244,6 +245,8 @@ IGL_INLINE void igl::copyleft::marching_cubes(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::copyleft::marching_cubes, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned int, unsigned int, unsigned int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::copyleft::marching_cubes, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned int, unsigned int, unsigned int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::copyleft::marching_cubes, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned int, unsigned int, unsigned int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/copyleft/offset_surface.cpp b/include/igl/copyleft/offset_surface.cpp
    index 6680c7672..c9e90553f 100644
    --- a/include/igl/copyleft/offset_surface.cpp
    +++ b/include/igl/copyleft/offset_surface.cpp
    @@ -4,13 +4,11 @@
     #include "../signed_distance.h"
     #include "../flood_fill.h"
     #include 
    -#include 
     
     template <
       typename DerivedV,
       typename DerivedF,
       typename isolevelType,
    -  typename sType,
       typename DerivedSV,
       typename DerivedSF,
       typename DerivedGV,
    @@ -20,7 +18,7 @@ void igl::copyleft::offset_surface(
       const Eigen::MatrixBase & V,
       const Eigen::MatrixBase & F,
       const isolevelType isolevel,
    -  const sType s,
    +  const typename Derivedside::Scalar s,
       const SignedDistanceType & signed_distance_type,
       Eigen::PlainObjectBase & SV,
       Eigen::PlainObjectBase & SF,
    @@ -60,12 +58,7 @@ void igl::copyleft::offset_surface(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template void igl::copyleft::offset_surface, Eigen::Matrix, float, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, float, int, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
    -template void igl::copyleft::offset_surface, Eigen::Matrix, float, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, float, int, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
    -template void igl::copyleft::offset_surface, Eigen::Matrix, double, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, int, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
    -template void igl::copyleft::offset_surface, Eigen::Matrix, float, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, float, int, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -template void igl::copyleft::offset_surface, Eigen::Matrix, double, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, int, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::copyleft::offset_surface, Eigen::Matrix, double, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::Matrix::Scalar, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::copyleft::offset_surface, Eigen::Matrix, float, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, float, Eigen::Matrix::Scalar, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::copyleft::offset_surface, Eigen::Matrix, double, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::Matrix::Scalar, igl::SignedDistanceType const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/copyleft/offset_surface.h b/include/igl/copyleft/offset_surface.h
    index ab30c010e..7c6307378 100644
    --- a/include/igl/copyleft/offset_surface.h
    +++ b/include/igl/copyleft/offset_surface.h
    @@ -8,7 +8,7 @@ namespace igl
     {
       namespace copyleft
       {
    -    // Compute a triangulated offset surface using maching cubes on a gride of
    +    // Compute a triangulated offset surface using matching cubes on a grid of
         // signed distance values from the input triangle mesh.
         //
         // Inputs:
    @@ -30,7 +30,6 @@ namespace igl
           typename DerivedV,
           typename DerivedF,
           typename isolevelType,
    -      typename sType,
           typename DerivedSV,
           typename DerivedSF,
           typename DerivedGV,
    @@ -40,7 +39,7 @@ namespace igl
           const Eigen::MatrixBase & V,
           const Eigen::MatrixBase & F,
           const isolevelType isolevel,
    -      const sType s,
    +      const typename Derivedside::Scalar s,
           const SignedDistanceType & signed_distance_type,
           Eigen::PlainObjectBase & SV,
           Eigen::PlainObjectBase & SF,
    diff --git a/include/igl/opengl2/render_to_tga.cpp b/include/igl/copyleft/opengl2/render_to_tga.cpp
    similarity index 98%
    rename from include/igl/opengl2/render_to_tga.cpp
    rename to include/igl/copyleft/opengl2/render_to_tga.cpp
    index c410a4b66..6d0f97ea1 100644
    --- a/include/igl/opengl2/render_to_tga.cpp
    +++ b/include/igl/copyleft/opengl2/render_to_tga.cpp
    @@ -8,7 +8,7 @@
     #include "render_to_tga.h"
     #include "tga.h"
     
    -#include "gl.h"
    +#include "../../opengl2/gl.h"
     
     #include 
     
    diff --git a/include/igl/opengl2/render_to_tga.h b/include/igl/copyleft/opengl2/render_to_tga.h
    similarity index 93%
    rename from include/igl/opengl2/render_to_tga.h
    rename to include/igl/copyleft/opengl2/render_to_tga.h
    index ff808eaee..d792c1e31 100644
    --- a/include/igl/opengl2/render_to_tga.h
    +++ b/include/igl/copyleft/opengl2/render_to_tga.h
    @@ -7,7 +7,7 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_OPENGL_RENDER_TO_TGA_H
     #define IGL_OPENGL_RENDER_TO_TGA_H
    -#include "../igl_inline.h"
    +#include "../../igl_inline.h"
     #include 
     
     namespace igl
    @@ -20,7 +20,7 @@ namespace igl
         //   width  width of scene and resulting image
         //   height height of scene and resulting image
         ///  alpha  whether to include alpha channel
    -    // Returns true only if no errors occured
    +    // Returns true only if no errors occurred
         //
         // See also: png/render_to_png which is slower but writes .png files
         IGL_INLINE bool render_to_tga(
    diff --git a/include/igl/opengl2/texture_from_tga.cpp b/include/igl/copyleft/opengl2/texture_from_tga.cpp
    similarity index 100%
    rename from include/igl/opengl2/texture_from_tga.cpp
    rename to include/igl/copyleft/opengl2/texture_from_tga.cpp
    diff --git a/include/igl/opengl2/texture_from_tga.h b/include/igl/copyleft/opengl2/texture_from_tga.h
    similarity index 93%
    rename from include/igl/opengl2/texture_from_tga.h
    rename to include/igl/copyleft/opengl2/texture_from_tga.h
    index 045bc4756..8a5f704c7 100644
    --- a/include/igl/opengl2/texture_from_tga.h
    +++ b/include/igl/copyleft/opengl2/texture_from_tga.h
    @@ -7,8 +7,8 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_OPENGL_TEXTURE_FROM_TGA_H
     #define IGL_OPENGL_TEXTURE_FROM_TGA_H
    -#include "../igl_inline.h"
    -#include "gl.h"
    +#include "../../igl_inline.h"
    +#include "../../opengl2/gl.h"
     #include 
     
     namespace igl
    diff --git a/include/igl/opengl2/tga.cpp b/include/igl/copyleft/opengl2/tga.cpp
    similarity index 99%
    rename from include/igl/opengl2/tga.cpp
    rename to include/igl/copyleft/opengl2/tga.cpp
    index e979a4cb0..2f1f99022 100644
    --- a/include/igl/opengl2/tga.cpp
    +++ b/include/igl/copyleft/opengl2/tga.cpp
    @@ -41,7 +41,7 @@
      */
     
     #include "tga.h"
    -#include "glext.h"
    +#include "../../opengl2/glext.h"
     #include 
     #include 
     #include 
    diff --git a/include/igl/opengl2/tga.h b/include/igl/copyleft/opengl2/tga.h
    similarity index 93%
    rename from include/igl/opengl2/tga.h
    rename to include/igl/copyleft/opengl2/tga.h
    index d02ca0bb4..b69f35496 100644
    --- a/include/igl/opengl2/tga.h
    +++ b/include/igl/copyleft/opengl2/tga.h
    @@ -7,9 +7,9 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_OPENGL_TGA_H
     #define IGL_OPENGL_TGA_H
    -#include "../igl_inline.h"
    +#include "../../igl_inline.h"
     
    -#include "gl.h"
    +#include "../../opengl2/gl.h"
     // See license in tga.cpp
     /* tga.h - interface for TrueVision (TGA) image file loader */
     #include 
    diff --git a/include/igl/copyleft/tetgen/cdt.h b/include/igl/copyleft/tetgen/cdt.h
    index 6a432bd18..e59a28029 100644
    --- a/include/igl/copyleft/tetgen/cdt.h
    +++ b/include/igl/copyleft/tetgen/cdt.h
    @@ -34,7 +34,7 @@ namespace igl
             // Flags to tetgen. Do not include the "c" flag here! {"Y"}
             std::string flags = "Y";
           };
    -      // Create a constrained delaunay tesselation containing convex hull of the
    +      // Create a constrained delaunay tessellation containing convex hull of the
           // given **non-selfintersecting** mesh.
           //
           // Inputs:
    diff --git a/include/igl/copyleft/tetgen/read_into_tetgenio.h b/include/igl/copyleft/tetgen/read_into_tetgenio.h
    index 659796819..dd4b4b998 100644
    --- a/include/igl/copyleft/tetgen/read_into_tetgenio.h
    +++ b/include/igl/copyleft/tetgen/read_into_tetgenio.h
    @@ -30,8 +30,8 @@ namespace igl
           //   .medit
           //   .vtk
           //   etc.
    -      // Noteably it does not support .obj which is loaded by hand here (also
    -      // demonstrating how to load points/faces programatically)
    +      // Notably it does not support .obj which is loaded by hand here (also
    +      // demonstrating how to load points/faces programmatically)
           //
           // If the file extension is not recognized the filename is assumed to be
           // the basename of a collection describe a tetmesh, (of which at least
    diff --git a/include/igl/cotmatrix.h b/include/igl/cotmatrix.h
    index 84a2c0657..bb8232f5a 100644
    --- a/include/igl/cotmatrix.h
    +++ b/include/igl/cotmatrix.h
    @@ -16,7 +16,7 @@
     //  Used const references rather than copying the entire mesh 
     //    Alec 9 October 2011
     //  removed cotan (uniform weights) optional parameter it was building a buggy
    -//    half of the uniform laplacian, please see adjacency_matrix istead 
    +//    half of the uniform laplacian, please see adjacency_matrix instead 
     //    Alec 9 October 2011
     
     namespace igl 
    diff --git a/include/igl/cotmatrix_entries.cpp b/include/igl/cotmatrix_entries.cpp
    index 1e16652cd..6f7dfbbd3 100644
    --- a/include/igl/cotmatrix_entries.cpp
    +++ b/include/igl/cotmatrix_entries.cpp
    @@ -35,10 +35,10 @@ IGL_INLINE void igl::cotmatrix_entries(
         case 3:
         {
           // Triangles
    -      //Compute Squared Edge lenghts 
    +      //Compute Squared Edge lengths 
           Matrix l2;
           igl::squared_edge_lengths(V,F,l2);
    -      //Compute Edge lenghts 
    +      //Compute Edge lengths 
           Matrix l;
           l = l2.array().sqrt();
           
    diff --git a/include/igl/crouzeix_raviart_cotmatrix.cpp b/include/igl/crouzeix_raviart_cotmatrix.cpp
    index 858d2b1be..2fc5f6d4a 100644
    --- a/include/igl/crouzeix_raviart_cotmatrix.cpp
    +++ b/include/igl/crouzeix_raviart_cotmatrix.cpp
    @@ -19,7 +19,7 @@ void igl::crouzeix_raviart_cotmatrix(
       Eigen::PlainObjectBase & E,
       Eigen::PlainObjectBase & EMAP)
     {
    -  // All occurances of directed "facets"
    +  // All occurrences of directed "facets"
       Eigen::MatrixXi allE;
       oriented_facets(F,allE);
       Eigen::VectorXi _1;
    diff --git a/include/igl/crouzeix_raviart_massmatrix.cpp b/include/igl/crouzeix_raviart_massmatrix.cpp
    index 359489d88..0873712d5 100644
    --- a/include/igl/crouzeix_raviart_massmatrix.cpp
    +++ b/include/igl/crouzeix_raviart_massmatrix.cpp
    @@ -24,7 +24,7 @@ void igl::crouzeix_raviart_massmatrix(
         Eigen::PlainObjectBase & E,
         Eigen::PlainObjectBase & EMAP)
     {
    -  // All occurances of directed "facets"
    +  // All occurrences of directed "facets"
       Eigen::MatrixXi allE;
       oriented_facets(F,allE);
       Eigen::VectorXi _1;
    diff --git a/include/igl/cumsum.cpp b/include/igl/cumsum.cpp
    index 2b325df58..430329a95 100644
    --- a/include/igl/cumsum.cpp
    +++ b/include/igl/cumsum.cpp
    @@ -64,4 +64,8 @@ template void igl::cumsum, Eigen::Matrix<
     template void igl::cumsum, Eigen::Matrix >(Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&);
     template void igl::cumsum, Eigen::Matrix >(Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&);
     template void igl::cumsum, Eigen::Matrix >(Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::cumsum, class Eigen::Matrix>(class Eigen::MatrixBase> const &, int, class Eigen::PlainObjectBase> &);
    +template void igl::cumsum, class Eigen::Matrix>(class Eigen::MatrixBase> const &, int, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/cut_mesh.cpp b/include/igl/cut_mesh.cpp
    index 2f5cef520..33a25ce93 100644
    --- a/include/igl/cut_mesh.cpp
    +++ b/include/igl/cut_mesh.cpp
    @@ -70,11 +70,11 @@ namespace igl {
         IGL_INLINE void FindInitialPos(const int vert, int &edge, int &face);
     
     
    -    // intialize the mapping given an initial pos
    +    // initialize the mapping given an initial pos
         // whih must be initialized with FindInitialPos
         IGL_INLINE void MapIndexes(const int  vert, const int edge_init, const int f_init);
     
    -    // intialize the mapping for a given vertex
    +    // initialize the mapping for a given vertex
         IGL_INLINE void InitMappingSeam(const int vert);
     
       };
    @@ -187,7 +187,7 @@ FindInitialPos(const int vert,
     
     
     
    -///intialize the mapping given an initial pos
    +///initialize the mapping given an initial pos
     ///whih must be initialized with FindInitialPos
     template 
     IGL_INLINE void igl::MeshCutterMini::
    diff --git a/include/igl/directed_edge_parents.h b/include/igl/directed_edge_parents.h
    index 1120d5056..bf42ab8f8 100644
    --- a/include/igl/directed_edge_parents.h
    +++ b/include/igl/directed_edge_parents.h
    @@ -13,7 +13,7 @@
     
     namespace igl
     {
    -  // Recover "parents" (preceeding edges) in a tree given just directed edges.
    +  // Recover "parents" (preceding edges) in a tree given just directed edges.
       //
       // Inputs:
       //   E  #E by 2 list of directed edges
    diff --git a/include/igl/edges.cpp b/include/igl/edges.cpp
    index 5fe332ac1..3d762d410 100644
    --- a/include/igl/edges.cpp
    +++ b/include/igl/edges.cpp
    @@ -7,6 +7,7 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "edges.h"
     #include "adjacency_matrix.h"
    +#include 
     
     template 
     IGL_INLINE void igl::edges(
    diff --git a/include/igl/embree/EmbreeIntersector.h b/include/igl/embree/EmbreeIntersector.h
    index 56f50260b..97df74fea 100644
    --- a/include/igl/embree/EmbreeIntersector.h
    +++ b/include/igl/embree/EmbreeIntersector.h
    @@ -209,7 +209,7 @@ inline void igl::embree::EmbreeIntersector::global_init()
       {
         rtcInit();
         if(rtcGetError() != RTC_NO_ERROR)
    -      std::cerr << "Embree: An error occured while initialiting embree core!" << std::endl;
    +      std::cerr << "Embree: An error occurred while initializing embree core!" << std::endl;
     #ifdef IGL_VERBOSE
         else
           std::cerr << "Embree: core initialized." << std::endl;
    @@ -324,7 +324,7 @@ inline void igl::embree::EmbreeIntersector::init(
       rtcCommit(scene);
     
       if(rtcGetError() != RTC_NO_ERROR)
    -      std::cerr << "Embree: An error occured while initializing the provided geometry!" << endl;
    +      std::cerr << "Embree: An error occurred while initializing the provided geometry!" << endl;
     #ifdef IGL_VERBOSE
       else
         std::cerr << "Embree: geometry added." << endl;
    @@ -348,7 +348,7 @@ void igl::embree::EmbreeIntersector::deinit()
     
         if(rtcGetError() != RTC_NO_ERROR)
         {
    -        std::cerr << "Embree: An error occured while resetting!" << std::endl;
    +        std::cerr << "Embree: An error occurred while resetting!" << std::endl;
         }
     #ifdef IGL_VERBOSE
         else
    @@ -374,7 +374,7 @@ inline bool igl::embree::EmbreeIntersector::intersectRay(
       rtcIntersect(scene,ray);
     #ifdef IGL_VERBOSE
       if(rtcGetError() != RTC_NO_ERROR)
    -      std::cerr << "Embree: An error occured while resetting!" << std::endl;
    +      std::cerr << "Embree: An error occurred while resetting!" << std::endl;
     #endif
     
       if((unsigned)ray.geomID != RTC_INVALID_GEOMETRY_ID)
    diff --git a/include/igl/exact_geodesic.cpp b/include/igl/exact_geodesic.cpp
    new file mode 100644
    index 000000000..0ffa8b039
    --- /dev/null
    +++ b/include/igl/exact_geodesic.cpp
    @@ -0,0 +1,3224 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2018 Zhongshi Jiang 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +
    +#include "exact_geodesic.h"
    +
    +//Copyright (C) 2008 Danil Kirsanov, MIT License
    +//Code from https://code.google.com/archive/p/geodesic/
    +// Compiled into a single file by Zhongshi Jiang
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +namespace igl{
    +namespace geodesic{
    +
    +//#include "geodesic_constants_and_simple_functions.h"
    +
    +//double const GEODESIC_INF = std::numeric_limits::max();
    +double const GEODESIC_INF = 1e100;
    +
    +//in order to avoid numerical problems with "infinitely small" intervals,
    +//we drop all the intervals smaller than SMALLEST_INTERVAL_RATIO*edge_length
    +double const SMALLEST_INTERVAL_RATIO = 1e-6;		
    +//double const SMALL_EPSILON = 1e-10;
    +
    +
    +inline double cos_from_edges(double const a,			//compute the cosine of the angle given the lengths of the edges
    +							 double const b,
    +							 double const c)
    +{
    +	assert(a>1e-50);
    +	assert(b>1e-50);
    +	assert(c>1e-50);
    +
    +	double result = (b*b + c*c - a*a)/(2.0*b*c);
    +	result = std::max(result, -1.0);
    +	return std::min(result, 1.0);
    +}
    +
    +inline double angle_from_edges(double const a,			//compute the cosine of the angle given the lengths of the edges
    +							   double const b,
    +							   double const c)
    +{
    +	return acos(cos_from_edges(a,b,c));
    +}
    +
    +template
    +inline bool read_mesh_from_file(char* filename,
    +								Points& points,
    +								Faces& faces)
    +{
    +	std::ifstream file(filename);
    +	assert(file.is_open());
    +	if(!file.is_open()) return false;
    +	
    +	unsigned num_points;
    +	file >> num_points;
    +	assert(num_points>=3);
    +
    +	unsigned num_faces;
    +	file >> num_faces;
    +
    +	points.resize(num_points*3);
    +	for(typename Points::iterator i=points.begin(); i!=points.end(); ++i)
    +	{
    +		file >> *i;
    +	}
    +
    +	faces.resize(num_faces*3);
    +	for(typename Faces::iterator i=faces.begin(); i!=faces.end(); ++i)
    +	{
    +		file >> *i;
    +	}
    +	file.close();
    +
    +	return true;
    +}
    +
    +// #include "geodesic_memory"
    +template			//quickly allocates multiple elements of a given type; no deallocation
    +class SimlpeMemoryAllocator
    +{
    +public:
    +	typedef T* pointer;
    +
    +	SimlpeMemoryAllocator(unsigned block_size = 0, 
    +						  unsigned max_number_of_blocks = 0)
    +	{
    +		reset(block_size, 
    +			  max_number_of_blocks);
    +	};
    +
    +	~SimlpeMemoryAllocator(){};
    +
    +	void reset(unsigned block_size, 
    +			   unsigned max_number_of_blocks)
    +	{
    +		m_block_size = block_size;
    +		m_max_number_of_blocks = max_number_of_blocks;
    +
    +
    +		m_current_position = 0;
    +
    +		m_storage.reserve(max_number_of_blocks);
    +		m_storage.resize(1);
    +		m_storage[0].resize(block_size);
    +	};
    +
    +	pointer allocate(unsigned const n)		//allocate n units
    +	{
    +		assert(n < m_block_size);
    +
    +		if(m_current_position + n >= m_block_size)
    +		{
    +			m_storage.push_back( std::vector() );
    +			m_storage.back().resize(m_block_size);
    +			m_current_position = 0;
    +		}
    +		pointer result = & m_storage.back()[m_current_position];
    +		m_current_position += n;
    +
    +		return result;
    +	};
    +private:
    +	std::vector > m_storage;	
    +	unsigned m_block_size;				//size of a single block
    +	unsigned m_max_number_of_blocks;		//maximum allowed number of blocks
    +	unsigned m_current_position;			//first unused element inside the current block
    +};
    +
    +
    +template		//quickly allocates and deallocates single elements of a given type
    +class MemoryAllocator
    +{
    +public:
    +	typedef T* pointer;
    +
    +	MemoryAllocator(unsigned block_size = 1024, 
    +				    unsigned max_number_of_blocks = 1024)
    +	{
    +		reset(block_size, 
    +			  max_number_of_blocks);
    +	};
    +
    +	~MemoryAllocator(){};
    +
    +	void clear()
    +	{
    +		reset(m_block_size, 
    +			  m_max_number_of_blocks);
    +	}
    +
    +	void reset(unsigned block_size, 
    +			   unsigned max_number_of_blocks)
    +	{
    +		m_block_size = block_size;
    +		m_max_number_of_blocks = max_number_of_blocks;
    +
    +		assert(m_block_size > 0);
    +		assert(m_max_number_of_blocks > 0);
    +
    +		m_current_position = 0;
    +
    +		m_storage.reserve(max_number_of_blocks);
    +		m_storage.resize(1);
    +		m_storage[0].resize(block_size);
    +
    +		m_deleted.clear();
    +		m_deleted.reserve(2*block_size);
    +	};
    +
    +	pointer allocate()		//allocates single unit of memory
    +	{
    +		pointer result;
    +		if(m_deleted.empty())
    +		{
    +			if(m_current_position + 1 >= m_block_size)
    +			{
    +				m_storage.push_back( std::vector() );
    +				m_storage.back().resize(m_block_size);
    +				m_current_position = 0;
    +			}
    +			result = & m_storage.back()[m_current_position];
    +			++m_current_position;
    +		}
    +		else
    +		{
    +			result = m_deleted.back();
    +			m_deleted.pop_back();
    +		}
    +
    +		return result;
    +	};
    +
    +	void deallocate(pointer p)		//allocate n units
    +	{
    +		if(m_deleted.size() < m_deleted.capacity())
    +		{
    +			m_deleted.push_back(p);
    +		}
    +	};
    +
    +private:
    +	std::vector > m_storage;
    +	unsigned m_block_size;				//size of a single block
    +	unsigned m_max_number_of_blocks;		//maximum allowed number of blocks
    +	unsigned m_current_position;			//first unused element inside the current block
    +
    +	std::vector m_deleted;			//pointers to deleted elemets
    +};
    +
    +
    +class OutputBuffer
    +{
    +public:
    +	OutputBuffer():
    +		m_num_bytes(0)
    +	{}
    +
    +	void clear()
    +	{
    +		m_num_bytes = 0;
    +		m_buffer = std::shared_ptr();
    +	}
    +
    +	template
    +	T* allocate(unsigned n)
    +	{
    +		double wanted = n*sizeof(T);
    +		if(wanted > m_num_bytes)
    +		{
    +			unsigned new_size = (unsigned) ceil(wanted / (double)sizeof(double));
    +			m_buffer = std::shared_ptr(new double[new_size]);
    +			m_num_bytes = new_size*sizeof(double);
    +		}
    +
    +		return (T*)m_buffer.get();
    +	}
    +
    +	template 
    +	T* get()
    +	{
    +		return (T*)m_buffer.get();
    +	}
    +
    +	template
    +	unsigned capacity()
    +	{
    +		return (unsigned)floor((double)m_num_bytes/(double)sizeof(T));
    +	};
    +
    +private:
    +
    +	std::shared_ptr m_buffer;
    +	unsigned m_num_bytes;
    +};
    +
    +
    +
    +
    +class Vertex; 
    +class Edge; 
    +class Face; 
    +class Mesh; 
    +class MeshElementBase;
    +
    +typedef Vertex* vertex_pointer;
    +typedef Edge* edge_pointer;
    +typedef Face* face_pointer;
    +typedef Mesh* mesh_pointer;
    +typedef MeshElementBase* base_pointer;
    +
    +template 		//simple vector that stores info about mesh references 
    +class SimpleVector			//for efficiency, it uses an outside memory allocator
    +{
    +public:
    +	SimpleVector():
    +	  m_size(0),
    +	  m_begin(NULL)
    +	{};
    +
    +	typedef Data* iterator;
    +
    +	unsigned size(){return m_size;};
    +	iterator begin(){return m_begin;};
    +	iterator end(){return m_begin + m_size;};
    +
    +	template
    +	void set_allocation(DataPointer begin, unsigned size)
    +	{
    +		assert(begin != NULL || size == 0);
    +		m_size = size;
    +		m_begin = (iterator)begin;
    +	}
    +
    +	Data& operator[](unsigned i)
    +	{
    +		assert(i < m_size);
    +		return *(m_begin + i);
    +	}
    +
    +	void clear()
    +	{
    +		m_size = 0;
    +		m_begin = NULL;
    +	}
    +
    +private:
    +	unsigned m_size;
    +	Data* m_begin;
    +};
    +
    +enum PointType
    +{
    +    VERTEX,
    +    EDGE,
    +    FACE,
    +	UNDEFINED_POINT
    +};
    +
    +class MeshElementBase	//prototype of vertices, edges and faces
    +{
    +public:
    +	typedef SimpleVector vertex_pointer_vector;	
    +	typedef SimpleVector edge_pointer_vector;	
    +	typedef SimpleVector face_pointer_vector;	
    +
    +	MeshElementBase():
    +		m_id(0),
    +		m_type(UNDEFINED_POINT)
    +	{};
    +
    +	vertex_pointer_vector& adjacent_vertices(){return m_adjacent_vertices;};
    +	edge_pointer_vector& adjacent_edges(){return m_adjacent_edges;};
    +	face_pointer_vector& adjacent_faces(){return m_adjacent_faces;};
    +
    +	unsigned& id(){return m_id;}; 
    +	PointType type(){return m_type;};
    +
    +protected:
    +	vertex_pointer_vector m_adjacent_vertices;		//list of the adjacent vertices
    +	edge_pointer_vector m_adjacent_edges;			//list of the adjacent edges
    +	face_pointer_vector m_adjacent_faces;			//list of the adjacent faces
    +
    +	unsigned m_id;							//unique id
    +	PointType m_type;							//vertex, edge or face
    +};
    +
    +class Point3D			//point in 3D and corresponding operations
    +{
    +public:
    +	Point3D(){};
    +	Point3D(Point3D* p)
    +	{
    +		x() = p->x();
    +		y() = p->y();
    +		z() = p->z();
    +	};
    +
    +	double* xyz(){return m_coordinates;};
    +	double& x(){return *m_coordinates;};
    +	double& y(){return *(m_coordinates+1);};
    +	double& z(){return *(m_coordinates+2);};
    +
    +	void set(double new_x, double new_y, double new_z)
    +	{
    +		x() = new_x;
    +		y() = new_y;
    +		z() = new_z;
    +	}
    +
    +	void set(double* data)
    +	{
    +		x() = *data;
    +		y() = *(data+1);
    +		z() = *(data+2);
    +	}
    +
    +	double distance(double* v)
    +	{
    +		double dx = m_coordinates[0] - v[0];
    +		double dy = m_coordinates[1] - v[1];
    +		double dz = m_coordinates[2] - v[2];
    +
    +		return sqrt(dx*dx + dy*dy + dz*dz);
    +	};
    +
    +    double distance(Point3D* v)
    +	{
    +		return distance(v->xyz());
    +	};
    +
    +	void add(Point3D* v)
    +	{
    +		x() += v->x();
    +		y() += v->y();
    +		z() += v->z();
    +	};
    +
    +	void multiply(double v)
    +	{
    +		x() *= v;
    +		y() *= v;
    +		z() *= v;
    +	};
    +
    +private:
    +	double m_coordinates[3];					//xyz
    +};
    +
    +class Vertex: public MeshElementBase, public Point3D
    +{
    +public:
    +	Vertex()
    +	{
    +		m_type = VERTEX;
    +	};
    +
    +	~Vertex(){};
    +
    +	bool& saddle_or_boundary(){return m_saddle_or_boundary;};
    +private:					
    +									//this flag speeds up exact geodesic algorithm
    +	bool m_saddle_or_boundary;		//it is true if total adjacent angle is larger than 2*PI or this vertex belongs to the mesh boundary
    +};
    +
    +
    +class Face: public MeshElementBase
    +{
    +public:
    +	Face()
    +	{
    +		m_type = FACE;
    +	};
    +
    +	~Face(){};
    +
    +	edge_pointer opposite_edge(vertex_pointer v);
    +	vertex_pointer opposite_vertex(edge_pointer e);
    +	edge_pointer next_edge(edge_pointer e, vertex_pointer v);
    +
    +	double vertex_angle(vertex_pointer v)
    +	{
    +		for(unsigned i=0; i<3; ++i)
    +		{
    +			if(adjacent_vertices()[i]->id() == v->id())
    +			{
    +				return m_corner_angles[i];
    +			}
    +		}
    +		assert(0);
    +		return 0;
    +	}
    +
    +	double* corner_angles(){return m_corner_angles;};
    +
    +private:
    +	double m_corner_angles[3];		//triangle angles in radians; angles correspond to vertices in m_adjacent_vertices
    +};
    +
    +class Edge: public MeshElementBase
    +{
    +public:
    +	Edge()
    +	{
    +		m_type = EDGE;
    +	};
    +
    +	~Edge(){};
    +
    +	double& length(){return m_length;};
    +
    +	face_pointer opposite_face(face_pointer f)
    +	{
    +		if(adjacent_faces().size() == 1)
    +		{
    +			assert(adjacent_faces()[0]->id() == f->id());
    +			return NULL;
    +		}
    +
    +		assert(adjacent_faces()[0]->id() == f->id() || 
    +			   adjacent_faces()[1]->id() == f->id());
    +
    +		return adjacent_faces()[0]->id() == f->id() ? 
    +			   adjacent_faces()[1] : adjacent_faces()[0];
    +	};
    +
    +	vertex_pointer opposite_vertex(vertex_pointer v)
    +	{
    +		assert(belongs(v));
    +
    +		return adjacent_vertices()[0]->id() == v->id() ?
    +			   adjacent_vertices()[1] : adjacent_vertices()[0];
    +	};
    +
    +	bool belongs(vertex_pointer v)
    +	{
    +		return adjacent_vertices()[0]->id() == v->id() || 
    +			   adjacent_vertices()[1]->id() == v->id();
    +	}
    +
    +	bool is_boundary(){return adjacent_faces().size() == 1;};
    +
    +	vertex_pointer v0(){return adjacent_vertices()[0];};
    +	vertex_pointer v1(){return adjacent_vertices()[1];};
    +
    +	void local_coordinates(Point3D* point, 
    +						   double& x, 
    +						   double& y)
    +	{
    +		double d0 = point->distance(v0());
    +		if(d0 < 1e-50)
    +		{
    +			x = 0.0;
    +			y = 0.0;
    +			return;
    +		}
    +
    +		double d1 = point->distance(v1());
    +		if(d1 < 1e-50)
    +		{
    +			x = m_length;
    +			y = 0.0;
    +			return;
    +		}
    +
    +		x = m_length/2.0 + (d0*d0 - d1*d1)/(2.0*m_length);
    +		y = sqrt(std::max(0.0, d0*d0 - x*x));
    +		return;
    +	}
    +
    +private:
    +	double m_length;							//length of the edge
    +};
    +
    +class SurfacePoint:public Point3D  //point on the surface of the mesh
    +{
    +public:
    +	SurfacePoint():
    +		m_p(NULL)
    +	{};
    +
    +	SurfacePoint(vertex_pointer v):		//set the surface point in the vertex
    +		SurfacePoint::Point3D(v),
    +		m_p(v)
    +	{};
    +
    +	SurfacePoint(face_pointer f):		//set the surface point in the center of the face
    +		m_p(f)
    +	{
    +		set(0,0,0);
    +		add(f->adjacent_vertices()[0]);
    +		add(f->adjacent_vertices()[1]);
    +		add(f->adjacent_vertices()[2]);
    +		multiply(1./3.);
    +	};
    +
    +	SurfacePoint(edge_pointer e,		//set the surface point in the middle of the edge
    +				 double a = 0.5):		
    +		m_p(e)
    +	{
    +		double b = 1 - a;
    +
    +		vertex_pointer v0 = e->adjacent_vertices()[0];
    +		vertex_pointer v1 = e->adjacent_vertices()[1];
    +
    +		x() = b*v0->x() + a*v1->x();
    +		y() = b*v0->y() + a*v1->y();
    +		z() = b*v0->z() + a*v1->z();
    +	};
    +
    +	SurfacePoint(base_pointer g, 
    +				 double x,
    +				 double y,
    +				 double z,
    +				 PointType t = UNDEFINED_POINT):
    +		m_p(g)
    +	{
    +		set(x,y,z);
    +	};
    +
    +	void initialize(SurfacePoint const& p)
    +	{
    +		*this = p;
    +	}
    +
    +	~SurfacePoint(){};
    +
    +	PointType type(){return m_p ? m_p->type() : UNDEFINED_POINT;};
    +	base_pointer& base_element(){return m_p;};
    +protected:
    +	base_pointer m_p;			//could be face, vertex or edge pointer
    +};
    +
    +inline edge_pointer Face::opposite_edge(vertex_pointer v)
    +{
    +	for(unsigned i=0; i<3; ++i)
    +	{
    +		edge_pointer e = adjacent_edges()[i];
    +		if(!e->belongs(v))
    +		{
    +			return e;
    +		}
    +	}
    +	assert(0);
    +	return NULL;
    +}
    +
    +inline vertex_pointer Face::opposite_vertex(edge_pointer e)
    +{
    +	for(unsigned i=0; i<3; ++i)
    +	{
    +		vertex_pointer v = adjacent_vertices()[i];
    +		if(!e->belongs(v))
    +		{
    +			return v;
    +		}
    +	}
    +	assert(0);
    +	return NULL;
    +}
    +
    +inline edge_pointer Face::next_edge(edge_pointer e, vertex_pointer v)
    +{
    +	assert(e->belongs(v));
    +
    +	for(unsigned i=0; i<3; ++i)
    +	{
    +		edge_pointer next = adjacent_edges()[i];
    +		if(e->id() != next->id() && next->belongs(v))
    +		{
    +			return next;
    +		}
    +	}
    +	assert(0);
    +	return NULL;
    +}
    +
    +struct HalfEdge			//prototype of the edge; used for mesh construction
    +{
    +	unsigned face_id;
    +	unsigned vertex_0;		//adjacent vertices sorted by id value
    +	unsigned vertex_1;		//they are sorted, vertex_0 < vertex_1
    +};
    +
    +inline bool operator < (const HalfEdge &x, const HalfEdge &y)
    +{
    +	if(x.vertex_0 == y.vertex_0)
    +	{
    +	    return x.vertex_1 < y.vertex_1;
    +	}
    +	else
    +	{
    +		return x.vertex_0 < y.vertex_0;
    +	}
    +}
    +
    +inline bool operator != (const HalfEdge &x, const HalfEdge &y)
    +{
    +	return x.vertex_0 != y.vertex_0 || x.vertex_1 != y.vertex_1;
    +}
    +
    +inline bool operator == (const HalfEdge &x, const HalfEdge &y)
    +{
    +	return x.vertex_0 == y.vertex_0 && x.vertex_1 == y.vertex_1;
    +}
    +
    +struct edge_visible_from_source
    +{
    +	unsigned source;
    +	edge_pointer edge;
    +};
    +
    +class Mesh
    +{
    +public:
    +	Mesh()
    +	{};
    +
    +	~Mesh(){};
    +
    +	template
    +	void initialize_mesh_data(unsigned num_vertices,
    +							  Points& p, 
    +							  unsigned num_faces,
    +							  Faces& tri);		//build mesh from regular point-triangle representation
    +
    +	template
    +	void initialize_mesh_data(Points& p, Faces& tri);		//build mesh from regular point-triangle representation
    +
    +	std::vector& vertices(){return m_vertices;};
    +	std::vector& edges(){return m_edges;};
    +	std::vector& faces(){return m_faces;};
    +
    +	unsigned closest_vertices(SurfacePoint* p, 
    +								 std::vector* storage = NULL);		//list vertices closest to the point
    +
    +private:
    +
    +	void build_adjacencies();		//build internal structure of the mesh
    +	bool verify();					//verifies connectivity of the mesh and prints some debug info
    +
    +	typedef void* void_pointer;
    +	void_pointer allocate_pointers(unsigned n) 
    +	{
    +		return m_pointer_allocator.allocate(n); 
    +	}
    +
    +	std::vector m_vertices;
    +	std::vector m_edges;
    +	std::vector m_faces;
    +
    +	SimlpeMemoryAllocator m_pointer_allocator;	//fast memory allocating for Face/Vertex/Edge cross-references
    +};
    +
    +inline unsigned Mesh::closest_vertices(SurfacePoint* p, 
    +										  std::vector* storage)
    +{
    +	assert(p->type() != UNDEFINED_POINT);
    +
    +	if(p->type() == VERTEX)
    +	{
    +		if(storage)
    +		{
    +			storage->push_back(static_cast(p->base_element()));
    +		}
    +		return 1;
    +	}
    +	else if(p->type() == FACE)
    +	{
    +		if(storage)
    +		{
    +			vertex_pointer* vp= p->base_element()->adjacent_vertices().begin();
    +			storage->push_back(*vp);
    +			storage->push_back(*(vp+1));
    +			storage->push_back(*(vp+2));
    +		}
    +		return 2;
    +	}
    +	else if(p->type() == EDGE)		//for edge include all 4 adjacent vertices
    +	{
    +		edge_pointer edge = static_cast(p->base_element());
    +
    +		if(storage)
    +		{
    +			storage->push_back(edge->adjacent_vertices()[0]);
    +			storage->push_back(edge->adjacent_vertices()[1]);
    +
    +			for(unsigned i = 0; i < edge->adjacent_faces().size(); ++i)
    +			{
    +				face_pointer face = edge->adjacent_faces()[i];
    +				storage->push_back(face->opposite_vertex(edge));
    +			}
    +		}
    +		return 2 + edge->adjacent_faces().size();
    +	}
    +
    +	assert(0);
    +	return 0;
    +}
    +
    +template
    +void Mesh::initialize_mesh_data(Points& p, Faces& tri)		//build mesh from regular point-triangle representation
    +{
    +	assert(p.size() % 3 == 0);
    +	unsigned const num_vertices = p.size() / 3;
    +	assert(tri.size() % 3 == 0);
    +	unsigned const num_faces = tri.size() / 3; 
    +
    +	initialize_mesh_data(num_vertices, p, num_faces, tri);
    +}
    +
    +template
    +void Mesh::initialize_mesh_data(unsigned num_vertices,
    +								Points& p, 
    +								unsigned num_faces,
    +								Faces& tri)
    +{
    +	unsigned const approximate_number_of_internal_pointers = (num_vertices + num_faces)*4;
    +	unsigned const max_number_of_pointer_blocks = 100; 
    +	m_pointer_allocator.reset(approximate_number_of_internal_pointers, 
    +							  max_number_of_pointer_blocks);
    +
    +	m_vertices.resize(num_vertices);
    +	for(unsigned i=0; iadjacent Faces
    +	std::vector count(m_vertices.size());	//count adjacent vertices
    +	for(unsigned i=0; iid();
    +			assert(vertex_id < m_vertices.size());
    +			count[vertex_id]++;
    +		}
    +	}
    +
    +	for(unsigned i=0; iadjacent_faces()[count[v->id()]++] = &f;
    +		}
    +	}
    +
    +	//find all edges
    +	//i.e. find all half-edges, sort and combine them into edges
    +	std::vector half_edges(m_faces.size()*3);
    +	unsigned k = 0;
    +	for(unsigned i=0; iid();
    +			unsigned vertex_id_2 = f.adjacent_vertices()[(j+1) % 3]->id();
    +			half_edges[k].vertex_0 = std::min(vertex_id_1, vertex_id_2);
    +			half_edges[k].vertex_1 = std::max(vertex_id_1, vertex_id_2);
    +
    +			k++;	
    +		}
    +	}
    +	std::sort(half_edges.begin(), half_edges.end());
    +
    +	unsigned number_of_edges = 1;
    +	for(unsigned i=1; iadjacent Vertices and Faces
    +	m_edges.resize(number_of_edges);
    +	unsigned edge_id = 0;
    +	for(unsigned i=0; idistance(e.adjacent_vertices()[1]);
    +		assert(e.length() > 1e-100);		//algorithm works well with non-degenerate meshes only 
    +
    +		if(i != half_edges.size()-1 && half_edges[i] == half_edges[i+1])	//double edge
    +		{
    +			e.adjacent_faces().set_allocation(allocate_pointers(2),2);
    +			e.adjacent_faces()[0] = &m_faces[half_edges[i].face_id];
    +			e.adjacent_faces()[1] = &m_faces[half_edges[i+1].face_id];
    +			i += 2;
    +		}
    +		else			//single edge
    +		{
    +			e.adjacent_faces().set_allocation(allocate_pointers(1),1);		//one adjucent faces
    +			e.adjacent_faces()[0] = &m_faces[half_edges[i].face_id];
    +			i += 1;
    +		}
    +	}
    +
    +	//			Vertices->adjacent Edges
    +	std::fill(count.begin(), count.end(), 0);
    +	for(unsigned i=0; iid()]++;
    +		count[e.adjacent_vertices()[1]->id()]++;
    +	}
    +	for(unsigned i=0; iadjacent_edges()[count[v->id()]++] = &e;
    +		}
    +	}	
    +
    +	//			Faces->adjacent Edges
    +	for(unsigned i=0; iid()]<3);
    +			f->adjacent_edges()[count[f->id()]++] = &e;
    +		}
    +	}	
    +
    +		//compute angles for the faces
    +	for(unsigned i=0; ilength();
    +			}
    +
    +			double angle = angle_from_edges(abc[0], abc[1], abc[2]);
    +			assert(angle>1e-5);						//algorithm works well with non-degenerate meshes only 
    +
    +			f.corner_angles()[j] = angle;
    +			sum += angle;
    +		}
    +		assert(std::abs(sum - igl::PI) < 1e-5);		//algorithm works well with non-degenerate meshes only 
    +	}
    +
    +		//define m_turn_around_flag for vertices
    +	std::vector total_vertex_angle(m_vertices.size());
    +	for(unsigned i=0; iid()] += f.corner_angles()[j];
    +		}
    +	}
    +
    +	for(unsigned i=0; i 2.0*igl::PI - 1e-5); 
    +	}
    +
    +	for(unsigned i=0; isaddle_or_boundary() = true;
    +			e.adjacent_vertices()[1]->saddle_or_boundary() = true;
    +		}
    +	}
    +
    +	assert(verify());
    +}
    +
    +inline bool Mesh::verify()		//verifies connectivity of the mesh and prints some debug info
    +{
    +	std::cout << std::endl;
    +	// make sure that all vertices are mentioned at least once. 
    +	// though the loose vertex is not a bug, it most likely indicates that something is wrong with the mesh
    +	std::vector map(m_vertices.size(), false);
    +	for(unsigned i=0; iadjacent_vertices()[0]->id()] = true;
    +		map[e->adjacent_vertices()[1]->id()] = true;
    +	}
    +	assert(std::find(map.begin(), map.end(), false) == map.end());
    +
    +	//make sure that the mesh is connected trough its edges
    +	//if mesh has more than one connected component, it is most likely a bug
    +	std::vector stack(1,&m_faces[0]);
    +	stack.reserve(m_faces.size());
    +
    +	map.resize(m_faces.size());
    +	std::fill(map.begin(), map.end(), false);
    +	map[0] = true;
    +
    +	while(!stack.empty())
    +	{
    +		face_pointer f = stack.back();
    +		stack.pop_back();
    +
    +		for(unsigned i=0; i<3; ++i)
    +		{
    +			edge_pointer e = f->adjacent_edges()[i];
    +			face_pointer f_adjacent = e->opposite_face(f);
    +			if(f_adjacent && !map[f_adjacent->id()])
    +			{
    +				map[f_adjacent->id()] = true;
    +				stack.push_back(f_adjacent);
    +			}
    +		}
    +	}
    +	assert(std::find(map.begin(), map.end(), false) == map.end());
    +
    +	//print some mesh statistics that can be useful in debugging
    +	// std::cout << "mesh has "	<< m_vertices.size() 
    +	// 		  << " vertices, "	<< m_faces.size() 
    +	// 		  << " faces, "		<< m_edges.size() 
    +	// 		  << " edges\n";
    +	
    +	unsigned total_boundary_edges = 0;
    +	double longest_edge = 0;
    +	double shortest_edge = 1e100;
    +	for(unsigned i=0; iset(data);
    +	unsigned type = (unsigned) data[3];
    +	unsigned id = (unsigned) data[4];
    +	
    +
    +	if(type == 0)		//vertex
    +	{
    +		point->base_element() = &mesh->vertices()[id];
    +	}
    +	else if(type == 1)	//edge
    +	{
    +		point->base_element() = &mesh->edges()[id];
    +	}
    +	else				//face
    +	{
    +		point->base_element() = &mesh->faces()[id];
    +	}
    +}
    +
    +inline void fill_surface_point_double(geodesic::SurfacePoint* point, 
    +									  double* data, 
    +									  long mesh_id)
    +{
    +	data[0] = point->x();
    +	data[1] = point->y();
    +	data[2] = point->z();
    +	data[4] = point->base_element()->id();
    +
    +	if(point->type() == VERTEX)		//vertex
    +	{
    +		data[3] = 0;
    +	}
    +	else if(point->type() == EDGE)	//edge
    +	{
    +		data[3] = 1;
    +	}
    +	else				//face
    +	{
    +		data[3] = 2;
    +	}
    +}
    +
    +class Interval;
    +class IntervalList;
    +typedef Interval* interval_pointer;
    +typedef IntervalList* list_pointer;
    +
    +class Interval						//interval of the edge
    +{
    +public:
    +	
    +	Interval(){};
    +	~Interval(){};
    +
    +	enum DirectionType
    +    {
    +        FROM_FACE_0,
    +		FROM_FACE_1,
    +		FROM_SOURCE,
    +		UNDEFINED_DIRECTION
    +    };
    +
    +	double signal(double x)		//geodesic distance function at point x
    +	{
    +		assert(x>=0.0 && x <= m_edge->length());
    +
    +		if(m_d == GEODESIC_INF)
    +		{
    +			return GEODESIC_INF;
    +		}
    +		else
    +		{
    +			double dx = x - m_pseudo_x;
    +			if(m_pseudo_y == 0.0)
    +			{
    +				return m_d + std::abs(dx);
    +			}
    +			else
    +			{
    +				return m_d + sqrt(dx*dx + m_pseudo_y*m_pseudo_y);
    +			}
    +		}
    +	}
    +
    +	double max_distance(double end)	
    +	{
    +		if(m_d == GEODESIC_INF)
    +		{
    +			return GEODESIC_INF;
    +		}
    +		else
    +		{
    +			double a = std::abs(m_start - m_pseudo_x);
    +			double b = std::abs(end - m_pseudo_x);
    +
    +			return a > b ? m_d + sqrt(a*a + m_pseudo_y*m_pseudo_y): 
    +						   m_d + sqrt(b*b + m_pseudo_y*m_pseudo_y);
    +		}
    +	}
    +
    +	void compute_min_distance(double stop)			//compute min, given c,d theta, start, end.
    +	{
    +		assert(stop > m_start);
    +
    +		if(m_d == GEODESIC_INF)
    +		{
    +			m_min = GEODESIC_INF;
    +		}
    +		else if(m_start > m_pseudo_x)
    +		{
    +			m_min = signal(m_start);
    +		}
    +		else if(stop < m_pseudo_x)
    +		{
    +			m_min = signal(stop);
    +		}
    +		else
    +		{
    +			assert(m_pseudo_y<=0);
    +			m_min = m_d - m_pseudo_y;
    +		} 
    +	}
    +			//compare two intervals in the queue
    +	bool operator()(interval_pointer const x, interval_pointer const y) const
    +	{
    +		if(x->min() != y->min())
    +		{
    +			return x->min() < y->min();
    +		}
    +		else if(x->start() != y->start())
    +		{
    +			return x->start() < y->start();
    +		}
    +		else
    +		{
    +			return x->edge()->id() < y->edge()->id();
    +		}
    +	}
    +
    +	double stop()		//return the endpoint of the interval
    +	{
    +		return m_next ? m_next->start() : m_edge->length();
    +	}		
    +
    +	double hypotenuse(double a, double b)
    +	{
    +		return sqrt(a*a + b*b);
    +	}
    +
    +	void find_closest_point(double const x, 
    +						    double const y,
    +						    double& offset, 
    +						    double& distance);			//find the point on the interval that is closest to the point (alpha, s)
    +
    +	double& start(){return m_start;}; 
    +	double& d(){return m_d;};
    +	double& pseudo_x(){return m_pseudo_x;};
    +	double& pseudo_y(){return m_pseudo_y;};
    +	double& min(){return m_min;};
    +	interval_pointer& next(){return m_next;};
    +	edge_pointer& edge(){return m_edge;};
    +	DirectionType& direction(){return m_direction;};
    +	bool visible_from_source(){return m_direction == FROM_SOURCE;};
    +	unsigned& source_index(){return m_source_index;};
    +
    +	void initialize(edge_pointer edge, 
    +					SurfacePoint* point = NULL, 
    +					unsigned source_index = 0);
    +
    +protected:
    +	double m_start;						//initial point of the interval on the edge
    +	double m_d;							//distance from the source to the pseudo-source
    +	double m_pseudo_x;					//coordinates of the pseudo-source in the local coordinate system
    +	double m_pseudo_y;					//y-coordinate should be always negative
    +	double m_min;						//minimum distance on the interval
    +
    +	interval_pointer m_next;			//pointer to the next interval in the list	
    +	edge_pointer m_edge;				//edge that the interval belongs to
    +	unsigned m_source_index;			//the source it belongs to
    +	DirectionType m_direction;			//where the interval is coming from
    +};
    +
    +struct IntervalWithStop : public Interval
    +{
    +public:
    +	double& stop(){return m_stop;};
    +protected:
    +	double m_stop;
    +};
    +
    +class IntervalList						//list of the of intervals of the given edge
    +{
    +public:
    +	IntervalList(){m_first = NULL;};	
    +	~IntervalList(){};
    +
    +	void clear()
    +	{
    +		m_first = NULL;
    +	};
    +
    +	void initialize(edge_pointer e)
    +	{
    +		m_edge = e;
    +		m_first = NULL;
    +	};
    +
    +	interval_pointer covering_interval(double offset)			//returns the interval that covers the offset
    +	{
    +		assert(offset >= 0.0 && offset <= m_edge->length());
    +
    +		interval_pointer p = m_first; 
    +		while(p && p->stop() < offset)
    +		{
    +			p = p->next();
    +		}
    +
    +		return p;// && p->start() <= offset ? p : NULL;
    +	};
    +
    +	void find_closest_point(SurfacePoint* point, 
    +							double& offset, 
    +							double& distance, 
    +							interval_pointer& interval)
    +	{
    +		interval_pointer p = m_first; 
    +		distance = GEODESIC_INF;
    +		interval = NULL;
    +
    +		double x,y;
    +		m_edge->local_coordinates(point, x, y);
    +
    +		while(p)
    +		{
    +			if(p->min()find_closest_point(x, y, o, d);
    +				if(d < distance)
    +				{
    +					distance = d;
    +					offset = o;
    +					interval = p;
    +				}
    +			}
    +			p = p->next();
    +		}
    +	};
    +
    +	unsigned number_of_intervals()
    +	{
    +		interval_pointer p = m_first; 
    +		unsigned count = 0;
    +		while(p)
    +		{
    +			++count;
    +			p = p->next();
    +		}
    +		return count;
    +	}
    +
    +	interval_pointer last()
    +	{
    +		interval_pointer p = m_first; 
    +		if(p)
    +		{
    +			while(p->next())
    +			{
    +				p = p->next();
    +			}
    +		}
    +		return p;
    +	}
    +
    +	double signal(double x)
    +	{
    +		interval_pointer interval = covering_interval(x);
    +
    +		return interval ? interval->signal(x) : GEODESIC_INF;
    +	}
    +
    +	interval_pointer& first(){return m_first;};
    +	edge_pointer& edge(){return m_edge;};
    +private:
    +	interval_pointer m_first;			//pointer to the first member of the list
    +	edge_pointer m_edge;				//edge that owns this list
    +};
    +
    +class SurfacePointWithIndex : public SurfacePoint
    +{
    +public:
    +	unsigned index(){return m_index;};
    +
    +	void initialize(SurfacePoint& p, unsigned index)
    +	{
    +		SurfacePoint::initialize(p);
    +		m_index = index;
    +	} 
    +
    +	bool operator()(SurfacePointWithIndex* x, SurfacePointWithIndex* y) const //used for sorting
    +	{
    +		assert(x->type() != UNDEFINED_POINT && y->type() !=UNDEFINED_POINT);
    +
    +		if(x->type() != y->type())
    +		{
    +			return x->type() < y->type();
    +		}
    +		else 
    +		{
    +			return x->base_element()->id() < y->base_element()->id();
    +		}
    +	}
    +
    +private:
    +	unsigned m_index;
    +}; 
    +
    +class SortedSources : public std::vector
    +{
    +private: 
    +	typedef std::vector sorted_vector_type;	
    +public:
    +	typedef sorted_vector_type::iterator sorted_iterator;
    +	typedef std::pair sorted_iterator_pair;
    +
    +	sorted_iterator_pair sources(base_pointer mesh_element)
    +	{
    +		m_search_dummy.base_element() = mesh_element;
    +
    +		return equal_range(m_sorted.begin(), 
    +						   m_sorted.end(), 
    +						   &m_search_dummy, 
    +						   m_compare_less);
    +	}
    +
    +	void initialize(std::vector& sources)	//we initialize the sources by copie
    +	{
    +		resize(sources.size());
    +		m_sorted.resize(sources.size());
    +		for(unsigned i=0; ilength();
    +		if(std::abs(hs+hc) < local_epsilon)
    +		{
    +			if(rs<=m_start)
    +			{
    +				r = m_start;
    +				d_out = signal(m_start) + std::abs(rs - m_start);
    +			}
    +			else if(rs>=end)
    +			{
    +				r = end;
    +				d_out = signal(end) + fabs(end - rs);
    +			}
    +			else
    +			{
    +				r = rs;
    +				d_out = signal(rs);
    +			}
    +		}
    +		else
    +		{
    +			double ri = (rs*hc + hs*rc)/(hs+hc);
    +
    +			if(riend)
    +			{
    +				r = end;
    +				d_out = signal(end) + hypotenuse(end - rs, hs);
    +			}
    +			else
    +			{
    +				r = ri;
    +				d_out = m_d + hypotenuse(rc - rs, hc + hs);
    +			}
    +		}
    +	}
    +
    +
    +inline void Interval::initialize(edge_pointer edge, 
    +								 SurfacePoint* source,		
    +								 unsigned source_index)
    +{
    +	m_next = NULL;
    +	//m_geodesic_previous = NULL;	
    +	m_direction = UNDEFINED_DIRECTION;
    +	m_edge = edge;
    +	m_source_index = source_index;
    +
    +	m_start = 0.0;
    +	//m_stop = edge->length();
    +	if(!source)
    +	{
    +		m_d = GEODESIC_INF;
    +		m_min = GEODESIC_INF;
    +		return;
    +	}
    +	m_d = 0;
    +
    +	if(source->base_element()->type() == VERTEX)
    +	{
    +		if(source->base_element()->id() == edge->v0()->id())
    +		{
    +			m_pseudo_x = 0.0;
    +			m_pseudo_y = 0.0;
    +			m_min = 0.0;
    +			return;
    +		}
    +		else if(source->base_element()->id() == edge->v1()->id())
    +		{
    +			m_pseudo_x = stop();
    +			m_pseudo_y = 0.0;
    +			m_min = 0.0;
    +			return;
    +		}
    +	}
    +
    +	edge->local_coordinates(source, m_pseudo_x, m_pseudo_y);
    +	m_pseudo_y = -m_pseudo_y;
    +
    +	compute_min_distance(stop());
    +} 
    +
    +
    +
    +// #include "geodesic_algorithm_base.h"
    +class GeodesicAlgorithmBase
    +{
    +public:
    +    enum AlgorithmType
    +    {
    +        EXACT,
    +		DIJKSTRA,
    +        SUBDIVISION,
    +		UNDEFINED_ALGORITHM
    +    };
    +
    +	GeodesicAlgorithmBase(geodesic::Mesh* mesh):
    +		m_type(UNDEFINED_ALGORITHM),
    +		m_max_propagation_distance(1e100),
    +		m_mesh(mesh)
    +	{};	
    +
    +	virtual ~GeodesicAlgorithmBase(){};
    +
    +	virtual void propagate(std::vector& sources,
    +   						   double max_propagation_distance = GEODESIC_INF,			//propagation algorithm stops after reaching the certain distance from the source
    +						   std::vector* stop_points = NULL) = 0; //or after ensuring that all the stop_points are covered
    +
    +	virtual void trace_back(SurfacePoint& destination,		//trace back piecewise-linear path
    +							std::vector& path) = 0;
    +
    +	void geodesic(SurfacePoint& source,
    +						  SurfacePoint& destination,
    +						  std::vector& path); //lazy people can find geodesic path with one function call
    +
    +	void geodesic(std::vector& sources,
    +						  std::vector& destinations,
    +						  std::vector >& paths); //lazy people can find geodesic paths with one function call
    +
    +	virtual unsigned best_source(SurfacePoint& point,			//after propagation step is done, quickly find what source this point belongs to and what is the distance to this source
    +								 double& best_source_distance) = 0; 
    +
    +	virtual void print_statistics()		//print info about timing and memory usage in the propagation step of the algorithm
    +	{
    +		std::cout << "propagation step took " << m_time_consumed << " seconds " << std::endl;
    +	};	
    +
    +	AlgorithmType type(){return m_type;};
    +
    +	virtual std::string name();
    +
    +	geodesic::Mesh* mesh(){return m_mesh;};
    +protected:
    +
    +	void set_stop_conditions(std::vector* stop_points, 
    +						     double stop_distance);
    +	double stop_distance()
    +	{
    +		return m_max_propagation_distance;
    +	}
    +
    +	AlgorithmType m_type;					   // type of the algorithm
    +
    +	typedef std::pair stop_vertex_with_distace_type;
    +	std::vector m_stop_vertices; // algorithm stops propagation after covering certain vertices
    +	double m_max_propagation_distance;			 // or reaching the certain distance
    +
    +	geodesic::Mesh* m_mesh;
    +
    +	double m_time_consumed;		//how much time does the propagation step takes
    +	double m_propagation_distance_stopped;		//at what distance (if any) the propagation algorithm stopped 
    +};
    +
    +inline double length(std::vector& path)
    +{
    +	double length = 0;
    +	if(!path.empty())
    +	{
    +		for(unsigned i=0; i& path)
    +{
    +	std::cout << "number of the points in the path = " << path.size()
    +			  << ", length of the path = " << length(path) 
    +			  << std::endl;
    +}
    +
    +inline std::string GeodesicAlgorithmBase::name()
    +{
    +	switch(m_type)
    +	{
    +	case EXACT:
    +		return "exact";
    +	case DIJKSTRA:
    +		return "dijkstra";
    +	case SUBDIVISION:
    +		return "subdivision";
    +	default:
    +	case UNDEFINED_ALGORITHM:
    +		return "undefined";
    +	}
    +}
    +
    +inline void GeodesicAlgorithmBase::geodesic(SurfacePoint& source,
    +											SurfacePoint& destination,
    +											std::vector& path) //lazy people can find geodesic path with one function call
    +{
    +	std::vector sources(1, source);
    +	std::vector stop_points(1, destination);
    +	double const max_propagation_distance = GEODESIC_INF;
    +
    +	propagate(sources, 
    +			  max_propagation_distance,
    +			  &stop_points);
    +
    +	trace_back(destination, path);
    +}
    +
    +inline void GeodesicAlgorithmBase::geodesic(std::vector& sources,
    +											std::vector& destinations,
    +											std::vector >& paths) //lazy people can find geodesic paths with one function call
    +{
    +	double const max_propagation_distance = GEODESIC_INF;
    +
    +	propagate(sources, 
    +			  max_propagation_distance,
    +			  &destinations);		//we use desinations as stop points
    +
    +	paths.resize(destinations.size());
    +
    +	for(unsigned i=0; i* stop_points, 
    +														double stop_distance)
    +{
    +	m_max_propagation_distance = stop_distance;
    +
    +	if(!stop_points)
    +	{
    +		m_stop_vertices.clear();
    +		return;
    +	}
    +
    +	m_stop_vertices.resize(stop_points->size());
    +
    +	std::vector possible_vertices;
    +	for(unsigned i = 0; i < stop_points->size(); ++i)
    +	{
    +		SurfacePoint* point = &(*stop_points)[i];
    +
    +		possible_vertices.clear();
    +		m_mesh->closest_vertices(point, &possible_vertices);
    +		
    +		vertex_pointer closest_vertex = NULL;
    +		double min_distance = 1e100;
    +		for(unsigned j = 0; j < possible_vertices.size(); ++j)
    +		{
    +			double distance = point->distance(possible_vertices[j]);
    +			if(distance < min_distance)
    +			{
    +				min_distance = distance;
    +				closest_vertex = possible_vertices[j];
    +			}
    +		}
    +		assert(closest_vertex);
    +
    +		m_stop_vertices[i].first = closest_vertex;
    +		m_stop_vertices[i].second = min_distance;
    +	}
    +}
    +
    +
    +
    +class GeodesicAlgorithmExact : public GeodesicAlgorithmBase
    +{
    +public:
    +	GeodesicAlgorithmExact(geodesic::Mesh* mesh):
    +	  	GeodesicAlgorithmBase(mesh),
    +		m_memory_allocator(mesh->edges().size(), mesh->edges().size()),
    +		m_edge_interval_lists(mesh->edges().size())
    +	{
    +		m_type = EXACT;
    +
    +		for(unsigned i=0; iedges()[i]);
    +		}
    +	};	
    +
    +	~GeodesicAlgorithmExact(){};
    +
    +	void propagate(std::vector& sources,
    +   				   double max_propagation_distance = GEODESIC_INF,			//propagation algorithm stops after reaching the certain distance from the source
    +				   std::vector* stop_points = NULL); //or after ensuring that all the stop_points are covered
    +
    +	void trace_back(SurfacePoint& destination,		//trace back piecewise-linear path
    +					std::vector& path);
    +
    +	unsigned best_source(SurfacePoint& point,			//quickly find what source this point belongs to and what is the distance to this source
    +		double& best_source_distance); 
    +
    +	void print_statistics();
    +
    +private:
    +	typedef std::set IntervalQueue;
    +
    +	void update_list_and_queue(list_pointer list,
    +							   IntervalWithStop* candidates,	//up to two candidates
    +							   unsigned num_candidates);
    +
    +	unsigned compute_propagated_parameters(double pseudo_x, 
    +											double pseudo_y, 
    +											double d,		//parameters of the interval
    +											double start, 
    +											double end,		//start/end of the interval
    +											double alpha,	//corner angle
    +											double L,		//length of the new edge
    +											bool first_interval,		//if it is the first interval on the edge
    +											bool last_interval,
    +											bool turn_left,
    +											bool turn_right,
    +											IntervalWithStop* candidates);		//if it is the last interval on the edge
    +
    +	void construct_propagated_intervals(bool invert, 
    +									  edge_pointer edge, 
    +									  face_pointer face,		//constructs iNew from the rest of the data
    +									  IntervalWithStop* candidates,
    +									  unsigned& num_candidates,
    +									  interval_pointer source_interval);
    +
    +	double compute_positive_intersection(double start,
    +										 double pseudo_x,
    +										 double pseudo_y,
    +										 double sin_alpha,
    +										 double cos_alpha);		//used in construct_propagated_intervals
    +
    +	unsigned intersect_intervals(interval_pointer zero, 
    +								    IntervalWithStop* one);			//intersecting two intervals with up to three intervals in the end
    +
    +	interval_pointer best_first_interval(SurfacePoint& point, 
    +										double& best_total_distance, 
    +										double& best_interval_position,
    +										unsigned& best_source_index);
    +
    +	bool check_stop_conditions(unsigned& index);
    +
    +	void clear()
    +	{
    +		m_memory_allocator.clear();
    +		m_queue.clear();
    +		for(unsigned i=0; iid()];
    +	};
    +
    +	void set_sources(std::vector& sources)
    +	{
    +		m_sources.initialize(sources);
    +	}
    +
    +	void initialize_propagation_data();		
    +
    +	void list_edges_visible_from_source(MeshElementBase* p,
    +										std::vector& storage); //used in initialization
    +
    +	long visible_from_source(SurfacePoint& point);	//used in backtracing
    +
    +	void best_point_on_the_edge_set(SurfacePoint& point, 
    +									std::vector const& storage,
    +									interval_pointer& best_interval,
    +									double& best_total_distance,
    +									double& best_interval_position);
    +
    +	void possible_traceback_edges(SurfacePoint& point, 
    +								  std::vector& storage);
    +
    +	bool erase_from_queue(interval_pointer p);
    +
    +	IntervalQueue m_queue;	//interval queue
    +
    +	MemoryAllocator m_memory_allocator;			//quickly allocate and deallocate intervals 
    +	std::vector m_edge_interval_lists;		//every edge has its interval data 
    +
    +	enum MapType {OLD, NEW};		//used for interval intersection
    +	MapType map[5];		
    +	double start[6];
    +	interval_pointer i_new[5];
    +
    +	unsigned m_queue_max_size;			//used for statistics
    +	unsigned m_iterations;			//used for statistics
    +
    +	SortedSources m_sources;
    +};
    +
    +inline void GeodesicAlgorithmExact::best_point_on_the_edge_set(SurfacePoint& point, 
    +															   std::vector const& storage,
    +															   interval_pointer& best_interval,
    +															   double& best_total_distance,
    +															   double& best_interval_position)
    +{
    +	best_total_distance = 1e100;
    +	for(unsigned i=0; ifind_closest_point(&point, 
    +								 offset, 
    +								 distance, 
    +								 interval);
    +
    +		if(distance < best_total_distance)
    +		{
    +			best_interval = interval;
    +			best_total_distance = distance;
    +			best_interval_position = offset;
    +		}
    +	}
    +}
    +
    +inline void GeodesicAlgorithmExact::possible_traceback_edges(SurfacePoint& point, 
    +															 std::vector& storage)
    +{
    +	storage.clear();
    +
    +	if(point.type() == VERTEX)
    +	{
    +		vertex_pointer v = static_cast(point.base_element());
    +		for(unsigned i=0; iadjacent_faces().size(); ++i)
    +		{
    +			face_pointer f = v->adjacent_faces()[i];
    +			storage.push_back(f->opposite_edge(v));
    +		}
    +	}
    +	else if(point.type() == EDGE)
    +	{
    +		edge_pointer e = static_cast(point.base_element());
    +		for(unsigned i=0; iadjacent_faces().size(); ++i)
    +		{
    +			face_pointer f = e->adjacent_faces()[i];
    +
    +			storage.push_back(f->next_edge(e,e->v0()));
    +			storage.push_back(f->next_edge(e,e->v1()));
    +		}
    +	}
    +	else
    +	{
    +		face_pointer f = static_cast(point.base_element());
    +		storage.push_back(f->adjacent_edges()[0]);
    +		storage.push_back(f->adjacent_edges()[1]);
    +		storage.push_back(f->adjacent_edges()[2]);
    +	}
    +}
    +
    +
    +inline long GeodesicAlgorithmExact::visible_from_source(SurfacePoint& point)	//negative if not visible
    +{
    +	assert(point.type() != UNDEFINED_POINT);
    +
    +	if(point.type() == EDGE)		
    +	{
    +		edge_pointer e = static_cast(point.base_element());
    +		list_pointer list = interval_list(e);
    +		double position = std::min(point.distance(e->v0()), e->length());
    +		interval_pointer interval = list->covering_interval(position);
    +		//assert(interval);
    +		if(interval && interval->visible_from_source())
    +		{
    +			return (long)interval->source_index();
    +		}
    +		else
    +		{
    +			return -1;
    +		}
    +	}
    +	else if(point.type() == FACE)		
    +	{
    +		return -1;
    +	}
    +	else if(point.type() == VERTEX)		
    +	{
    +		vertex_pointer v = static_cast(point.base_element());
    +		for(unsigned i=0; iadjacent_edges().size(); ++i)
    +		{
    +			edge_pointer e = v->adjacent_edges()[i];
    +			list_pointer list = interval_list(e);
    +
    +			double position = e->v0()->id() == v->id() ? 0.0 : e->length();
    +			interval_pointer interval = list->covering_interval(position);
    +			if(interval && interval->visible_from_source())
    +			{
    +				return (long)interval->source_index();
    +			}
    +		}
    +
    +		return -1;
    +	}
    +
    +	assert(0);
    +	return 0;
    +}
    +
    +inline double GeodesicAlgorithmExact::compute_positive_intersection(double start,
    +																	double pseudo_x,
    +																	double pseudo_y,
    +																	double sin_alpha,
    +																	double cos_alpha)
    +{
    +	assert(pseudo_y < 0);
    +
    +	double denominator = sin_alpha*(pseudo_x - start) - cos_alpha*pseudo_y;
    +	if(denominator<0.0)
    +	{
    +		return -1.0;
    +	}
    +
    +	double numerator = -pseudo_y*start;
    +
    +	if(numerator < 1e-30)
    +	{
    +		return 0.0;
    +	}
    +
    +	if(denominator < 1e-30)
    +	{
    +		return -1.0;
    +	}
    +
    +	return numerator/denominator;
    +}
    +
    +inline void GeodesicAlgorithmExact::list_edges_visible_from_source(MeshElementBase* p,
    +																   std::vector& storage)
    +{
    +	assert(p->type() != UNDEFINED_POINT);
    +
    +	if(p->type() == FACE)
    +	{
    +		face_pointer f = static_cast(p);
    +		for(unsigned i=0; i<3; ++i)
    +		{
    +			storage.push_back(f->adjacent_edges()[i]);
    +		}
    +	}
    +	else if(p->type() == EDGE)
    +	{
    +		edge_pointer e = static_cast(p);
    +		storage.push_back(e);
    +	}
    +	else			//VERTEX
    +	{
    +		vertex_pointer v = static_cast(p);
    +		for(unsigned i=0; iadjacent_edges().size(); ++i)
    +		{
    +			storage.push_back(v->adjacent_edges()[i]);
    +		}
    +
    +	}
    +}
    +
    +inline bool GeodesicAlgorithmExact::erase_from_queue(interval_pointer p)
    +{
    +	if(p->min() < GEODESIC_INF/10.0)// && p->min >= queue->begin()->first)
    +	{
    +		assert(m_queue.count(p)<=1);			//the set is unique
    +
    +		IntervalQueue::iterator it = m_queue.find(p);
    +
    +		if(it != m_queue.end())
    +		{
    +			m_queue.erase(it);
    +			return true;
    +		}
    +	}
    +
    +	return false;
    +}
    +
    +inline unsigned GeodesicAlgorithmExact::intersect_intervals(interval_pointer zero, 
    +															   IntervalWithStop* one)			//intersecting two intervals with up to three intervals in the end
    +{
    +	assert(zero->edge()->id() == one->edge()->id());
    +	assert(zero->stop() > one->start() && zero->start() < one->stop());
    +	assert(one->min() < GEODESIC_INF/10.0);
    +
    +	double const local_epsilon = SMALLEST_INTERVAL_RATIO*one->edge()->length(); 
    +
    +	unsigned N=0;
    +	if(zero->min() > GEODESIC_INF/10.0)
    +	{
    +		start[0] = zero->start();
    +		if(zero->start() < one->start() - local_epsilon)
    +		{
    +			map[0] = OLD;
    +			start[1] = one->start();
    +			map[1] = NEW;
    +			N = 2;
    +		}
    +		else
    +		{
    +			map[0] = NEW;
    +			N = 1;
    +		}
    +
    +		if(zero->stop() > one->stop() + local_epsilon)
    +		{
    +			map[N] = OLD;							//"zero" interval
    +			start[N++] = one->stop();
    +		}
    +
    +		start[N+1] = zero->stop();
    +		return N;
    +	}
    +
    +	double const local_small_epsilon = 1e-8*one->edge()->length(); 
    +
    +	double D = zero->d() - one->d();
    +	double x0 = zero->pseudo_x();
    +	double x1 = one->pseudo_x();
    +	double R0 = x0*x0 + zero->pseudo_y()*zero->pseudo_y();
    +	double R1 = x1*x1 + one->pseudo_y()*one->pseudo_y();
    +
    +	double inter[2];									//points of intersection
    +	char Ninter=0;										//number of the points of the intersection
    +
    +	if(std::abs(D)local_small_epsilon)
    +		{
    +			inter[0] =  (R1 - R0)/(2.*denom);					//one solution
    +			Ninter = 1;
    +		}
    +	}
    +	else
    +	{
    +		double D2 = D*D;
    +		double Q = 0.5*(R1-R0-D2);
    +		double X = x0 - x1;
    +
    +		double A = X*X - D2;
    +		double B = Q*X + D2*x0;
    +		double C = Q*Q - D2*R0;
    +
    +		if (std::abs(A)local_small_epsilon)
    +			{
    +				inter[0] =  -C/B;							//one solution
    +				Ninter = 1;
    +			}
    +		}
    +		else
    +		{
    +			double det = B*B-A*C;
    +			if(det>local_small_epsilon*local_small_epsilon)			//two roots
    +			{
    +				det = sqrt(det);
    +				if(A>0.0)								//make sure that the roots are ordered
    +				{
    +					inter[0] = (-B - det)/A;
    +					inter[1] = (-B + det)/A;
    +				}
    +				else
    +				{
    +					inter[0] = (-B + det)/A;
    +					inter[1] = (-B - det)/A;
    +				}
    +				
    +				if(inter[1] - inter[0] > local_small_epsilon)
    +				{
    +					Ninter = 2;
    +				}
    +				else
    +				{
    +					Ninter = 1;
    +				}
    +			}
    +			else if(det>=0.0)					//single root
    +			{
    +				inter[0] = -B/A;
    +				Ninter = 1;
    +			}
    +		}
    +	}
    +	//---------------------------find possible intervals---------------------------------------
    +	double left = std::max(zero->start(), one->start());		//define left and right boundaries of the intersection of the intervals
    +	double right = std::min(zero->stop(), one->stop());
    +
    +	double good_start[4];										//points of intersection within the (left, right) limits +"left" + "right"
    +	good_start[0] = left;
    +	char Ngood_start=1;										//number of the points of the intersection	
    +
    +	for(char i=0; i left + local_epsilon && x < right - local_epsilon)
    +		{
    +			good_start[Ngood_start++] = x;
    +		}
    +	}
    +	good_start[Ngood_start++] = right;
    +
    +	MapType mid_map[3];
    +	for(char i=0; isignal(mid) <= one->signal(mid) ? OLD : NEW;
    +	}
    +
    +	//-----------------------------------output----------------------------------
    +	N = 0;
    +	if(zero->start() < left - local_epsilon)						//additional "zero" interval
    +	{
    +		if(mid_map[0] == OLD)				//first interval in the map is already the old one
    +		{
    +			good_start[0] = zero->start();
    +		}
    +		else
    +		{
    +			map[N] = OLD;					//"zero" interval
    +			start[N++] = zero->start();
    +		}
    +	}
    +
    +	for(long i=0;istop() > one->stop() + local_epsilon)
    +	{
    +		if(N==0 || map[N-1] == NEW)
    +		{
    +			map[N] = OLD;							//"zero" interval
    +			start[N++] = one->stop();
    +		}
    +	}
    +
    +	start[0] = zero->start();		// just to make sure that epsilons do not damage anything
    +	//start[N] = zero->stop();
    +
    +	return N; 
    +}
    +
    +inline void GeodesicAlgorithmExact::initialize_propagation_data()
    +{
    +	clear();
    +
    +	IntervalWithStop candidate;
    +	std::vector edges_visible_from_source;
    +	for(unsigned i=0; ibase_element(), 
    +									   edges_visible_from_source);
    +		
    +		for(unsigned j=0; jlength();
    +			candidate.compute_min_distance(candidate.stop());
    +			candidate.direction() = Interval::FROM_SOURCE;
    +
    +			update_list_and_queue(interval_list(e), &candidate, 1);
    +		}
    +	}
    +}
    +
    +inline void GeodesicAlgorithmExact::propagate(std::vector& sources,
    +   									   double max_propagation_distance,			//propagation algorithm stops after reaching the certain distance from the source
    +									   std::vector* stop_points)
    +{
    +	set_stop_conditions(stop_points, max_propagation_distance);
    +	set_sources(sources);
    +	initialize_propagation_data();
    +
    +	clock_t start = clock();
    +
    +	unsigned satisfied_index = 0;
    +
    +	m_iterations = 0;		//for statistics
    +	m_queue_max_size = 0;
    +
    +	IntervalWithStop candidates[2];
    +
    +	while(!m_queue.empty())
    +	{
    +		m_queue_max_size = std::max(static_cast(m_queue.size()), m_queue_max_size);
    +
    +		unsigned const check_period = 10;
    +    	if(++m_iterations % check_period == 0)		//check if we covered all required vertices
    +		{
    +			if (check_stop_conditions(satisfied_index))
    +			{
    +				break;
    +			}
    +		}
    +
    +		interval_pointer min_interval = *m_queue.begin();
    +		m_queue.erase(m_queue.begin());
    +		edge_pointer edge = min_interval->edge();
    +		list_pointer list = interval_list(edge);
    +
    +		assert(min_interval->d() < GEODESIC_INF);
    +
    +		bool const first_interval = min_interval->start() == 0.0;
    +		//bool const last_interval = min_interval->stop() == edge->length();
    +		bool const last_interval = min_interval->next() == NULL;
    +
    +		bool const turn_left = edge->v0()->saddle_or_boundary();
    +		bool const turn_right = edge->v1()->saddle_or_boundary();
    +
    +		for(unsigned i=0; iadjacent_faces().size(); ++i)		//two possible faces to propagate
    +		{
    +			if(!edge->is_boundary())		//just in case, always propagate boundary edges
    +			{
    +				if((i == 0 && min_interval->direction() == Interval::FROM_FACE_0) ||
    +					(i == 1 && min_interval->direction() == Interval::FROM_FACE_1))
    +				{
    +					continue;
    +				}
    +			}
    +
    +			face_pointer face = edge->adjacent_faces()[i];			//if we come from 1, go to 2
    +			edge_pointer next_edge = face->next_edge(edge,edge->v0());
    +
    +			unsigned num_propagated = compute_propagated_parameters(min_interval->pseudo_x(), 
    +																	 min_interval->pseudo_y(), 
    +																	 min_interval->d(),		//parameters of the interval
    +																	 min_interval->start(), 
    +																	 min_interval->stop(),		//start/end of the interval
    +																	 face->vertex_angle(edge->v0()),	//corner angle
    +																	 next_edge->length(),		//length of the new edge
    +																	 first_interval,		//if it is the first interval on the edge
    +																	 last_interval,
    +																	 turn_left,
    +																	 turn_right,
    +																	 candidates);		//if it is the last interval on the edge
    +			bool propagate_to_right = true;
    +
    +			if(num_propagated)
    +			{
    +				if(candidates[num_propagated-1].stop() != next_edge->length()) 
    +				{
    +					propagate_to_right = false;
    +				}
    +				
    +				bool const invert = next_edge->v0()->id() != edge->v0()->id(); //if the origins coinside, do not invert intervals
    +
    +				construct_propagated_intervals(invert,		//do not inverse 
    +											 next_edge, 
    +											 face,
    +											 candidates,
    +											 num_propagated,
    +											 min_interval);
    +				
    +				update_list_and_queue(interval_list(next_edge), 
    +									  candidates, 
    +									  num_propagated);
    +			}
    +
    +			if(propagate_to_right)
    +			{
    +									//propogation to the right edge
    +				double length = edge->length();
    +				next_edge = face->next_edge(edge,edge->v1());
    +
    +				num_propagated = compute_propagated_parameters(length - min_interval->pseudo_x(), 
    +															 min_interval->pseudo_y(), 
    +															 min_interval->d(),		//parameters of the interval
    +															 length - min_interval->stop(), 
    +															 length - min_interval->start(),		//start/end of the interval
    +															 face->vertex_angle(edge->v1()),	//corner angle
    +															 next_edge->length(),		//length of the new edge
    +															 last_interval,		//if it is the first interval on the edge
    +															 first_interval,
    +															 turn_right,
    +															 turn_left,
    +															 candidates);		//if it is the last interval on the edge
    +
    +				if(num_propagated)
    +				{
    +					bool const invert = next_edge->v0()->id() != edge->v1()->id();		//if the origins coinside, do not invert intervals
    +
    +					construct_propagated_intervals(invert,		//do not inverse 
    +												 next_edge, 
    +												 face,
    +												 candidates,
    +												 num_propagated,
    +												 min_interval);
    +
    +					update_list_and_queue(interval_list(next_edge), 
    +									      candidates, 
    +										  num_propagated);
    +				}
    +			}
    +		} 
    +	} 
    +
    +	m_propagation_distance_stopped = m_queue.empty() ? GEODESIC_INF : (*m_queue.begin())->min();
    +	clock_t stop = clock();
    +	m_time_consumed = (static_cast(stop)-static_cast(start))/CLOCKS_PER_SEC;
    +
    +/*	for(unsigned i=0; ifirst();
    +		assert(p->start() == 0.0);
    +		while(p->next())
    +		{
    +			assert(p->stop() == p->next()->start());
    +			assert(p->d() < GEODESIC_INF);
    +			p = p->next();
    +		}
    +	}*/
    +}
    +
    +
    +inline bool GeodesicAlgorithmExact::check_stop_conditions(unsigned& index)
    +{
    +	double queue_distance = (*m_queue.begin())->min();
    +	if(queue_distance < stop_distance())
    +	{
    +		return false;
    +	}
    +
    +	while(index < m_stop_vertices.size())
    +	{
    +		vertex_pointer v = m_stop_vertices[index].first;
    +		edge_pointer edge = v->adjacent_edges()[0];				//take any edge
    +
    +		double distance = edge->v0()->id() == v->id() ? 
    +						  interval_list(edge)->signal(0.0) :
    +						  interval_list(edge)->signal(edge->length());
    +
    +		if(queue_distance < distance + m_stop_vertices[index].second)
    +		{
    +			return false;
    +		}
    +
    +		++index;
    +	}
    +	return true;
    +}
    +
    +
    +inline void GeodesicAlgorithmExact::update_list_and_queue(list_pointer list,
    +												IntervalWithStop* candidates,	//up to two candidates
    +												unsigned num_candidates)
    +{
    +	assert(num_candidates <= 2);
    +	//assert(list->first() != NULL);
    +	edge_pointer edge = list->edge();
    +	double const local_epsilon = SMALLEST_INTERVAL_RATIO * edge->length(); 
    +
    +	if(list->first() == NULL) 
    +	{
    +		interval_pointer* p = &list->first();
    +		IntervalWithStop* first;
    +		IntervalWithStop* second; 
    +
    +		if(num_candidates == 1)
    +		{
    +			first = candidates;
    +			second = candidates;
    +			first->compute_min_distance(first->stop());
    +		}
    +		else 
    +		{	
    +			if(candidates->start() <= (candidates+1)->start())
    +			{
    +				first = candidates;
    +				second = candidates+1;
    +			}
    +			else 
    +			{
    +				first = candidates+1;
    +				second = candidates;
    +			}
    +			assert(first->stop() == second->start());
    +
    +			first->compute_min_distance(first->stop());
    +			second->compute_min_distance(second->stop());
    +		}
    +
    +		if(first->start() > 0.0)
    +		{
    +			*p = m_memory_allocator.allocate();
    +			(*p)->initialize(edge);
    +			p = &(*p)->next();
    +		}
    +
    +		*p = m_memory_allocator.allocate();
    +		memcpy(*p,first,sizeof(Interval));
    +		m_queue.insert(*p);
    +
    +		if(num_candidates == 2)
    +		{
    +			p = &(*p)->next();
    +			*p = m_memory_allocator.allocate();
    +			memcpy(*p,second,sizeof(Interval));
    +			m_queue.insert(*p);
    +		}
    +
    +		if(second->stop() < edge->length())
    +		{
    +			p = &(*p)->next();
    +			*p = m_memory_allocator.allocate();
    +			(*p)->initialize(edge);
    +			(*p)->start() = second->stop();
    +		}
    +		else
    +		{
    +			(*p)->next() = NULL;
    +		}
    +		return;
    +	}
    +
    +	bool propagate_flag;
    +
    +	for(unsigned i=0; ifirst();
    +		assert(p->start() == 0.0);
    +
    +		while(p != NULL && p->stop() - local_epsilon < q->start())
    +		{
    +			p = p->next(); 
    +		}
    +
    +		while(p != NULL && p->start() < q->stop() - local_epsilon)			//go through all old intervals
    +		{
    +			unsigned const N = intersect_intervals(p, q);								//interset two intervals
    +
    +			if(N == 1)			
    +			{
    +				if(map[0]==OLD)	//if "p" is always better, we do not need to update anything)
    +				{
    +					if(previous)		//close previous interval and put in into the queue
    +					{
    +						previous->next() = p;
    +						previous->compute_min_distance(p->start());
    +						m_queue.insert(previous);
    +						previous = NULL;
    +					}
    +
    +					p = p->next(); 
    +					
    +				}
    +				else if(previous)	//extend previous interval to cover everything; remove p
    +				{
    +					previous->next() = p->next(); 
    +					erase_from_queue(p);
    +					m_memory_allocator.deallocate(p);
    +
    +					p = previous->next();
    +				}
    +				else				//p becomes "previous"
    +				{
    +					previous = p;
    +					interval_pointer next = p->next();
    +					erase_from_queue(p);
    +
    +					memcpy(previous,q,sizeof(Interval));
    +
    +					previous->start() = start[0];
    +					previous->next() = next;
    +
    +					p = next; 
    +				}
    +				continue;
    +			}
    +
    +			//update_flag = true;
    +
    +			Interval swap(*p);							//used for swapping information
    +			propagate_flag = erase_from_queue(p);
    +
    +			for(unsigned j=1; jnext() = p;
    +					previous->compute_min_distance(previous->stop());
    +					m_queue.insert(previous);
    +					previous = NULL;
    +				}
    +				i_new[0] = p;
    +				p->next() = i_new[1];
    +				p->start() = start[0];
    +			}
    +			else if(previous)	//extend previous interval to cover everything; remove p
    +			{
    +				i_new[0] = previous;
    +				previous->next() = i_new[1]; 
    +				m_memory_allocator.deallocate(p);
    +				previous = NULL;
    +			}
    +			else				//p becomes "previous"
    +			{
    +				i_new[0] = p;
    +				memcpy(p,q,sizeof(Interval));
    +
    +				p->next() = i_new[1];
    +				p->start() = start[0];
    +			}
    +
    +			assert(!previous);
    +
    +			for(unsigned j=1; jnext() = swap.next();
    +				}
    +				else			
    +				{
    +					current_interval->next() = i_new[j+1];
    +				}
    +
    +				current_interval->start() = start[j];
    +			}
    +
    +			for(unsigned j=0; jcompute_min_distance(current_interval->stop());					//compute minimal distance
    +
    +					if(map[j]==NEW || (map[j]==OLD && propagate_flag))
    +					{
    +						m_queue.insert(current_interval);
    +					}
    +				}
    +			}
    +
    +			p = swap.next();
    +		}
    +
    +		if(previous)		//close previous interval and put in into the queue
    +		{
    +			previous->compute_min_distance(previous->stop());
    +			m_queue.insert(previous);
    +			previous = NULL;
    +		}
    +	}
    +}
    +
    +inline unsigned GeodesicAlgorithmExact::compute_propagated_parameters(double pseudo_x, 
    +																		double pseudo_y, 
    +																		double d,		//parameters of the interval
    +																		double begin, 
    +																		double end,		//start/end of the interval
    +																		double alpha,	//corner angle
    +																		double L,		//length of the new edge
    +																		bool first_interval,		//if it is the first interval on the edge
    +																		bool last_interval,
    +																		bool turn_left,
    +																		bool turn_right,
    +																		IntervalWithStop* candidates)		//if it is the last interval on the edge
    +{				
    +	assert(pseudo_y<=0.0);
    +	assert(dstart() = 0.0;
    +			p->stop() = L;
    +			p->d() = d - pseudo_x;
    +			p->pseudo_x() = 0.0;
    +			p->pseudo_y() = 0.0;
    +			return 1;
    +		}
    +		else if(last_interval && pseudo_x >= end)
    +		{
    +			p->start() = 0.0;
    +			p->stop() = L;
    +			p->d() = d + pseudo_x-end;
    +			p->pseudo_x() = end*cos(alpha);
    +			p->pseudo_y() = -end*sin(alpha);
    +			return 1;
    +		}
    +		else if(pseudo_x >= begin && pseudo_x <= end)
    +		{
    +			p->start() = 0.0;
    +			p->stop() = L;
    +			p->d() = d;
    +			p->pseudo_x() = pseudo_x*cos(alpha);
    +			p->pseudo_y() = -pseudo_x*sin(alpha);
    +			return 1;
    +		}
    +		else
    +		{
    +			return 0;
    +		}
    +	}
    +
    +	double sin_alpha = sin(alpha);
    +	double cos_alpha = cos(alpha);
    +
    +	//important: for the first_interval, this function returns zero only if the new edge is "visible" from the source
    +	//if the new edge can be covered only after turn_over, the value is negative (-1.0)
    +	double L1 = compute_positive_intersection(begin, 
    +											  pseudo_x, 
    +											  pseudo_y, 
    +										      sin_alpha, 
    +										      cos_alpha);
    +
    +	if(L1 < 0 || L1 >= L)
    +	{
    +		if(first_interval && turn_left)
    +		{
    +			p->start() = 0.0;
    +			p->stop() = L;
    +			p->d() = d + sqrt(pseudo_x*pseudo_x + pseudo_y*pseudo_y);
    +			p->pseudo_y() = 0.0;
    +			p->pseudo_x() = 0.0;
    +			return 1;
    +		}
    +		else
    +		{
    +			return 0;
    +		}
    +	}
    +
    +	double L2 = compute_positive_intersection(end, 
    +											  pseudo_x, 
    +											  pseudo_y, 
    +											  sin_alpha, 
    +											  cos_alpha);
    +
    +	if(L2 < 0 || L2 >= L)
    +	{
    +		p->start() = L1;
    +		p->stop() = L;
    +		p->d() = d;
    +		p->pseudo_x() = cos_alpha*pseudo_x + sin_alpha*pseudo_y;
    +		p->pseudo_y() = -sin_alpha*pseudo_x + cos_alpha*pseudo_y;
    +
    +		return 1;
    +	}
    +
    +	p->start() = L1;
    +	p->stop() = L2;
    +	p->d() = d;
    +	p->pseudo_x() = cos_alpha*pseudo_x + sin_alpha*pseudo_y;
    +	p->pseudo_y() = -sin_alpha*pseudo_x + cos_alpha*pseudo_y;
    +	assert(p->pseudo_y() <= 0.0);
    +
    +	if(!(last_interval && turn_right))
    +	{
    +		return 1;
    +	}
    +	else
    +	{
    +		p = candidates + 1;
    +
    +		p->start() = L2;
    +		p->stop() = L;
    +		double dx = pseudo_x - end;
    +		p->d() = d + sqrt(dx*dx + pseudo_y*pseudo_y);
    +		p->pseudo_x() = end*cos_alpha;
    +		p->pseudo_y() = -end*sin_alpha;
    +
    +		return 2;
    +	}
    +}
    +
    +inline void GeodesicAlgorithmExact::construct_propagated_intervals(bool invert, 
    +																	edge_pointer edge, 
    +																	face_pointer face,		//constructs iNew from the rest of the data
    +																	IntervalWithStop* candidates,
    +																	unsigned& num_candidates,
    +																	interval_pointer source_interval)	//up to two candidates
    +{
    +	double edge_length = edge->length();
    +	double local_epsilon = SMALLEST_INTERVAL_RATIO * edge_length;
    +		
    +		//kill very small intervals in order to avoid precision problems
    +	if(num_candidates == 2)		
    +	{
    +		double start = std::min(candidates->start(), (candidates+1)->start());
    +		double stop = std::max(candidates->stop(), (candidates+1)->stop());
    +		if(candidates->stop()-candidates->start() < local_epsilon) // kill interval 0
    +		{
    +			*candidates = *(candidates+1);
    +			num_candidates = 1;
    +			candidates->start() = start;
    +			candidates->stop() = stop;
    +		}
    +		else if ((candidates+1)->stop() - (candidates+1)->start() < local_epsilon)
    +		{
    +			num_candidates = 1;
    +			candidates->start() = start;
    +			candidates->stop() = stop;
    +		}
    +	}
    +
    +	IntervalWithStop* first; 
    +	IntervalWithStop* second; 
    +	if(num_candidates == 1)
    +	{
    +		first = candidates;
    +		second = candidates;
    +	}
    +	else
    +	{
    +		if(candidates->start() <= (candidates+1)->start())
    +		{
    +			first = candidates;
    +			second = candidates+1;
    +		}
    +		else 
    +		{
    +			first = candidates+1;
    +			second = candidates;
    +		}
    +		assert(first->stop() == second->start());
    +	}
    +
    +	if(first->start() < local_epsilon)
    +	{
    +		first->start() = 0.0;
    +	}
    +	if(edge_length - second->stop() < local_epsilon)
    +	{
    +		second->stop() = edge_length;
    +	}
    +
    +		//invert intervals if necessary; fill missing data and set pointers correctly
    +	Interval::DirectionType direction = edge->adjacent_faces()[0]->id() == face->id() ? 
    +										Interval::FROM_FACE_0 : 
    +										Interval::FROM_FACE_1;
    +
    +	if(!invert)					//in this case everything is straighforward, we do not have to invert the intervals
    +	{
    +		for(unsigned i=0; inext() = (i == num_candidates - 1) ? NULL : candidates + i + 1;
    +			p->edge() = edge;
    +			p->direction() = direction;
    +			p->source_index() = source_interval->source_index();
    +
    +			p->min() = 0.0;					//it will be changed later on
    +
    +			assert(p->start() < p->stop());
    +		}
    +	}
    +	else				//now we have to invert the intervals 
    +	{
    +		for(unsigned i=0; inext() = (i == 0) ? NULL : candidates + i - 1;
    +			p->edge() = edge;
    +			p->direction() = direction;
    +			p->source_index() = source_interval->source_index();
    +
    +			double length = edge_length;
    +			p->pseudo_x() = length - p->pseudo_x();
    +
    +			double start = length - p->stop();
    +			p->stop() = length - p->start();
    +			p->start() = start;
    +
    +			p->min() = 0;
    +
    +			assert(p->start() < p->stop());
    +			assert(p->start() >= 0.0);
    +			assert(p->stop() <= edge->length());
    +		}
    +	}
    +}
    +
    +
    +inline unsigned GeodesicAlgorithmExact::best_source(SurfacePoint& point,			//quickly find what source this point belongs to and what is the distance to this source
    +													   double& best_source_distance)
    +{
    +	double best_interval_position; 
    +	unsigned best_source_index;
    +
    +	best_first_interval(point, 
    +						best_source_distance, 
    +						best_interval_position, 
    +						best_source_index);
    +	
    +	return best_source_index;
    +} 
    +
    +inline interval_pointer GeodesicAlgorithmExact::best_first_interval(SurfacePoint& point, 
    +															 double& best_total_distance, 
    +															 double& best_interval_position, 
    +															 unsigned& best_source_index)
    +{
    +	assert(point.type() != UNDEFINED_POINT);
    +
    +	interval_pointer best_interval = NULL;	
    +	best_total_distance = GEODESIC_INF;
    +
    +	if(point.type() == EDGE)		
    +	{
    +		edge_pointer e = static_cast(point.base_element());
    +		list_pointer list = interval_list(e);
    +
    +		best_interval_position = point.distance(e->v0());
    +		best_interval = list->covering_interval(best_interval_position);
    +		if(best_interval)
    +		{
    +			//assert(best_interval && best_interval->d() < GEODESIC_INF);
    +			best_total_distance = best_interval->signal(best_interval_position);
    +			best_source_index = best_interval->source_index();
    +		}
    +	}
    +	else if(point.type() == FACE)		
    +	{
    +		face_pointer f = static_cast(point.base_element());
    +		for(unsigned i=0; i<3; ++i)
    +		{
    +			edge_pointer e = f->adjacent_edges()[i];
    +			list_pointer list = interval_list(e);
    +
    +			double offset;
    +			double distance;
    +			interval_pointer interval;
    +
    +			list->find_closest_point(&point, 
    +									 offset, 
    +									 distance, 
    +									 interval);
    +
    +			if(interval && distance < best_total_distance)
    +			{
    +				best_interval = interval;
    +				best_total_distance = distance;
    +				best_interval_position = offset;
    +				best_source_index = interval->source_index();
    +			}
    +		}
    +
    +			//check for all sources that might be located inside this face
    +		SortedSources::sorted_iterator_pair local_sources = m_sources.sources(f);
    +		for(SortedSources::sorted_iterator it=local_sources.first; it != local_sources.second; ++it)
    +		{
    +			SurfacePointWithIndex* source = *it;
    +			double distance = point.distance(source);
    +			if(distance < best_total_distance)
    +			{
    +				best_interval = NULL;
    +				best_total_distance = distance;
    +				best_interval_position = 0.0;
    +				best_source_index = source->index();
    +			}
    +		}
    +	}
    +	else if(point.type() == VERTEX)		
    +	{
    +		vertex_pointer v = static_cast(point.base_element());
    +		for(unsigned i=0; iadjacent_edges().size(); ++i)
    +		{
    +			edge_pointer e = v->adjacent_edges()[i];
    +			list_pointer list = interval_list(e);
    +			
    +			double position = e->v0()->id() == v->id() ? 0.0 : e->length();
    +			interval_pointer interval = list->covering_interval(position);
    +			if(interval)
    +			{
    +				double distance = interval->signal(position);
    +
    +				if(distance < best_total_distance)
    +				{
    +					best_interval = interval;
    +					best_total_distance = distance;
    +					best_interval_position = position;
    +					best_source_index = interval->source_index();
    +				}
    +			}
    +		}
    +	}
    +
    +	if(best_total_distance > m_propagation_distance_stopped)		//result is unreliable
    +	{
    +		best_total_distance = GEODESIC_INF;
    +		return NULL;
    +	}
    +	else
    +	{
    +		return best_interval;
    +	}
    +}
    +
    +inline void GeodesicAlgorithmExact::trace_back(SurfacePoint& destination,		//trace back piecewise-linear path
    +										std::vector& path)
    +{					
    +	path.clear();
    +	double best_total_distance; 
    +	double best_interval_position;
    +	unsigned source_index = std::numeric_limits::max();
    +	interval_pointer best_interval = best_first_interval(destination, 
    +														 best_total_distance, 
    +														 best_interval_position, 
    +														 source_index);
    +
    +	if(best_total_distance >= GEODESIC_INF/2.0)		//unable to find the right path
    +	{
    +		return;
    +	}
    +
    +	path.push_back(destination);
    +
    +	if(best_interval)	//if we did not hit the face source immediately  
    +	{
    +		std::vector possible_edges;
    +		possible_edges.reserve(10);
    +	
    +		while(visible_from_source(path.back()) < 0)		//while this point is not in the direct visibility of some source (if we are inside the FACE, we obviously hit the source)
    +		{
    +			SurfacePoint& q = path.back();
    +
    +			possible_traceback_edges(q, possible_edges);
    +
    +			interval_pointer interval;
    +			double total_distance;
    +			double position;
    +
    +			best_point_on_the_edge_set(q, 
    +									   possible_edges,
    +									   interval,
    +									   total_distance,
    +									   position);
    +
    +			//std::cout << total_distance + length(path) << std::endl;
    +			assert(total_distancesource_index();
    +
    +			edge_pointer e = interval->edge();
    +			double local_epsilon = SMALLEST_INTERVAL_RATIO*e->length();
    +			if(position < local_epsilon)
    +			{
    +				path.push_back(SurfacePoint(e->v0()));
    +			}
    +			else if(position > e->length()-local_epsilon)
    +			{
    +				path.push_back(SurfacePoint(e->v1()));
    +			}
    +			else
    +			{
    +				double normalized_position = position/e->length();
    +				path.push_back(SurfacePoint(e, normalized_position));
    +			}
    +		}
    +	}
    +
    +	SurfacePoint& source = static_cast(m_sources[source_index]);
    +	if(path.back().distance(&source) > 0)
    +	{
    +		path.push_back(source);
    +	}
    +}
    +
    +inline void GeodesicAlgorithmExact::print_statistics()
    +{
    +	GeodesicAlgorithmBase::print_statistics();
    +
    +	unsigned interval_counter = 0;
    +	for(unsigned i=0; i
    +IGL_INLINE void igl::exact_geodesic(
    +  const Eigen::MatrixBase &V,
    +  const Eigen::MatrixBase &F,
    +  const Eigen::MatrixBase &VS,
    +  const Eigen::MatrixBase &FS,
    +  const Eigen::MatrixBase &VT,
    +  const Eigen::MatrixBase &FT,
    +  Eigen::PlainObjectBase &D)
    +{
    +  assert(V.cols() == 3 && F.cols() == 3 && "Only support 3D triangle mesh");
    +  assert(VS.cols() ==1 && FS.cols() == 1 && VT.cols() == 1 && FT.cols() ==1 && "Only support one dimensional inputs");
    +  std::vector points(V.rows() * V.cols());
    +  std::vector faces(F.rows() * F.cols());
    +  for (int i = 0; i < points.size(); i++)
    +  {
    +    points[i] = V(i / 3, i % 3);
    +  }
    +  for (int i = 0; i < faces.size(); i++)
    +  {
    +    faces[i] = F(i / 3, i % 3);
    +  }
    +
    +  igl::geodesic::Mesh mesh;
    +  mesh.initialize_mesh_data(points, faces);
    +  igl::geodesic::GeodesicAlgorithmExact exact_algorithm(&mesh);
    +
    +  std::vector source(VS.rows() + FS.rows());
    +  std::vector target(VT.rows() + FT.rows());
    +  for (int i = 0; i < VS.rows(); i++)
    +  {
    +    source[i] = (igl::geodesic::SurfacePoint(&mesh.vertices()[VS(i)]));
    +  }
    +  for (int i = 0; i < FS.rows(); i++)
    +  {
    +    source[i] = (igl::geodesic::SurfacePoint(&mesh.faces()[FS(i)]));
    +  }
    +
    +  for (int i = 0; i < VT.rows(); i++)
    +  {
    +    target[i] = (igl::geodesic::SurfacePoint(&mesh.vertices()[VT(i)]));
    +  }
    +  for (int i = 0; i < FT.rows(); i++)
    +  {
    +    target[i] = (igl::geodesic::SurfacePoint(&mesh.faces()[FT(i)]));
    +  }
    +
    +  exact_algorithm.propagate(source);
    +  std::vector path;
    +  D.resize(target.size(), 1);
    +  for (int i = 0; i < target.size(); i++)
    +  {
    +    exact_algorithm.trace_back(target[i], path);
    +    D(i) = igl::geodesic::length(path);
    +  }
    +}
    +
    +#ifdef IGL_STATIC_LIBRARY
    +template void igl::exact_geodesic, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix>(Eigen::MatrixBase> const &, Eigen::MatrixBase> const &, Eigen::MatrixBase> const &, Eigen::MatrixBase> const &, Eigen::MatrixBase> const &, Eigen::MatrixBase> const &, Eigen::PlainObjectBase> &);
    +#endif
    diff --git a/include/igl/exact_geodesic.h b/include/igl/exact_geodesic.h
    new file mode 100644
    index 000000000..cec59de69
    --- /dev/null
    +++ b/include/igl/exact_geodesic.h
    @@ -0,0 +1,55 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Zhongshi Jiang 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +
    +#ifndef IGL_EXACT_GEODESIC_H
    +#define IGL_EXACT_GEODESIC_H
    +
    +#include "igl_inline.h"
    +#include 
    +
    +namespace igl 
    +{
    +  // Exact geodesic algorithm for triangular mesh with the implementation from https://code.google.com/archive/p/geodesic/, 
    +  // and the algorithm first described by Mitchell, Mount and Papadimitriou in 1987
    +  //
    +  // Inputs:
    +  //   V  #V by 3 list of 3D vertex positions
    +  //   F  #F by 3 list of mesh faces
    +  //   VS #VS by 1 vector specifying indices of source vertices
    +  //   FS #FS by 1 vector specifying indices of source faces
    +  //   VT #VT by 1 vector specifying indices of target vertices
    +  //   FT #FT by 1 vector specifying indices of target faces
    +  // Output:
    +  //   D  #VT+#FT by 1 vector of geodesic distances of each target w.r.t. the nearest one in the source set
    +  //
    +  // Note: 
    +  //      Specifying a face as target/source means its center. 
    +  //
    +    template <
    +    typename DerivedV,
    +    typename DerivedF,
    +    typename DerivedVS,
    +    typename DerivedFS,
    +    typename DerivedVT,
    +    typename DerivedFT,
    +    typename DerivedD>
    +    IGL_INLINE void exact_geodesic(
    +      const Eigen::MatrixBase &V,
    +      const Eigen::MatrixBase &F,
    +      const Eigen::MatrixBase &VS,
    +      const Eigen::MatrixBase &FS,
    +      const Eigen::MatrixBase &VT,
    +      const Eigen::MatrixBase &FT,
    +      Eigen::PlainObjectBase &D);
    +}
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "exact_geodesic.cpp"
    +#endif
    +
    +#endif
    \ No newline at end of file
    diff --git a/include/igl/exterior_edges.cpp b/include/igl/exterior_edges.cpp
    index 953404627..04c1e9b8a 100644
    --- a/include/igl/exterior_edges.cpp
    +++ b/include/igl/exterior_edges.cpp
    @@ -67,7 +67,7 @@ IGL_INLINE void igl::exterior_edges(
       {
         int e = 0;
         const size_t nue = uE.rows();
    -    // Append each unique edge with a non-zero amount of signed occurances
    +    // Append each unique edge with a non-zero amount of signed occurrences
         for(size_t ue = 0; ue, Eigen::Matrix, unsigned long, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
     template unsigned long igl::extract_manifold_patches,   Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -#ifndef WIN32
     template size_t igl::extract_manifold_patches, Eigen::Matrix, unsigned long, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase >&);
    +template unsigned long igl::extract_manifold_patches, Eigen::Matrix, unsigned long, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase >&); 
    +#ifdef WIN32
    +template unsigned __int64 igl::extract_manifold_patches, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> &);
    +template unsigned __int64 igl::extract_manifold_patches, class Eigen::Matrix, unsigned __int64, class Eigen::Matrix>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, class Eigen::PlainObjectBase> &);
     #endif
     #endif
    diff --git a/include/igl/facet_components.h b/include/igl/facet_components.h
    index 1152ac8fc..8fe28583c 100644
    --- a/include/igl/facet_components.h
    +++ b/include/igl/facet_components.h
    @@ -16,7 +16,7 @@ namespace igl
       //
       // Inputs:
       //   F  #F by 3 list of triangle indices
    -  // Ouputs:
    +  // Outputs:
       //   C  #F list of connected component ids
       template 
       IGL_INLINE void facet_components(
    @@ -25,7 +25,7 @@ namespace igl
       // Inputs:
       //   TT  #TT by 3 list of list of adjacency triangles (see
       //   triangle_triangle_adjacency.h)
    -  // Ouputs:
    +  // Outputs:
       //   C  #F list of connected component ids
       //   counts #C list of number of facets in each components
       template <
    diff --git a/include/igl/field_local_global_conversions.cpp b/include/igl/field_local_global_conversions.cpp
    deleted file mode 100644
    index 3dadea650..000000000
    --- a/include/igl/field_local_global_conversions.cpp
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -
    - template 
    -IGL_INLINE void igl::global2local(
    -const Eigen::PlainObjectBase& B1,
    -const Eigen::PlainObjectBase& B2,
    -const Eigen::PlainObjectBase& global,
    -Eigen::PlainObjectBase& local)
    -{
    -
    -  int n = global.cols()/3;
    -  //get 2D vectors from 3D vectors
    -  local.resize(global.rows(), n*2);
    -  for (int i =0; i &g = global.block(i, k*3,1,3);
    -      local.block(i, k*2,1,2) << g.dot(B1.row(i).template cast()), g.dot(B2.row(i).template cast()) ;
    -    }
    -  }
    -}
    -
    -template 
    -IGL_INLINE void igl::local2global(
    -const Eigen::PlainObjectBase& B1,
    -const Eigen::PlainObjectBase& B2,
    -const Eigen::PlainObjectBase& local,
    -Eigen::PlainObjectBase& global)
    -{
    -  int n = local.cols()/2;
    -  //get 3D vectors from 2D vectors
    -  global.resize(local.rows(), n*3);
    -  for (int i =0; i &l = local.block(i, k*2,1,2);
    -      global.block(i, k*3, 1,3) = l[0]*B1.row(i).template cast() + l[1]*B2.row(i).template cast() ;
    -    }
    -  }
    -
    -}
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template void igl::global2local, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -template void igl::local2global, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -#endif
    diff --git a/include/igl/field_local_global_conversions.h b/include/igl/field_local_global_conversions.h
    deleted file mode 100644
    index d4c684247..000000000
    --- a/include/igl/field_local_global_conversions.h
    +++ /dev/null
    @@ -1,65 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_FIELD_LOCAL_GLOBAL_CONVERSIONS
    -#define IGL_FIELD_LOCAL_GLOBAL_CONVERSIONS
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Converts a face-based polyvector field consisting of n vectors per face
    -  // from its 3D coordinates to its local 2D representation (with respect to the
    -  // local bases of each triangle)
    -
    -  // Inputs:
    -  //   B1               #F by 3 list of the first basis vector of each triangle
    -  //   B2               #F by 3 list of the second basis vector of each triangle
    -  //   global           #F by 3n list of the 3D coordinates of the per-face vectors
    -  //                    (stacked horizontally for each triangle)
    -  // Output:
    -  //   local            #F by 2n list of the 2D representation of the per-face vectors
    -  //                    (stacked horizontally for each triangle)
    -  //
    -template 
    -IGL_INLINE void global2local(
    -const Eigen::PlainObjectBase& B1,
    -const Eigen::PlainObjectBase& B2,
    -const Eigen::PlainObjectBase& global,
    -Eigen::PlainObjectBase& local);
    -
    -// Converts a face-based polyvector field consisting of n vectors per face
    -// from its local 2D representation (with respect to the local bases of each
    -// triangle) to its 3D coordinates
    -
    -// Inputs:
    -//   B1               #F by 3 list of the first basis vector of each triangle
    -//   B2               #F by 3 list of the second basis vector of each triangle
    -//   local            #F by 2n list of the 2D representation of the per-face vectors
    -//                    (stacked horizontally for each triangle)
    -// Output:
    -//   global           #F by 3n list of the 3D coordinates of the per-face vectors
    -//                    (stacked horizontally for each triangle)
    -//
    -template 
    -IGL_INLINE void local2global(
    -const Eigen::PlainObjectBase& B1,
    -const Eigen::PlainObjectBase& B2,
    -const Eigen::PlainObjectBase& local,
    -Eigen::PlainObjectBase& global);
    -
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "field_local_global_conversions.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_FIELD_LOCAL_GLOBAL_CONVERSIONS) */
    diff --git a/include/igl/flood_fill.cpp b/include/igl/flood_fill.cpp
    index 675023332..a6c91361d 100644
    --- a/include/igl/flood_fill.cpp
    +++ b/include/igl/flood_fill.cpp
    @@ -92,6 +92,8 @@ IGL_INLINE void igl::flood_fill(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::flood_fill, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::flood_fill, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::flood_fill, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/grad.cpp b/include/igl/grad.cpp
    index 93d9ef939..9089e52c8 100644
    --- a/include/igl/grad.cpp
    +++ b/include/igl/grad.cpp
    @@ -36,10 +36,11 @@ IGL_INLINE void grad_tet(const Eigen::PlainObjectBase&V,
         F.row(3*m + i) << T(i,1), T(i,3), T(i,2);
       }
       // compute volume of each tet
    -  VectorXd vol; igl::volume(V,T,vol);
    +  Eigen::Matrix vol; 
    +  igl::volume(V,T,vol);
     
    -  VectorXd A(F.rows());
    -  MatrixXd N(F.rows(),3);
    +  Eigen::Matrix A(F.rows());
    +  Eigen::Matrix N(F.rows(),3);
       if (!uniform) {
         // compute tetrahedron face normals
         igl::per_face_normals(V,F,N); int norm_rows = N.rows();
    @@ -149,7 +150,7 @@ IGL_INLINE void grad_tri(const Eigen::PlainObjectBase&V,
           // get h (by the area of the triangle)
           double h = sqrt( (dblA)/sin(M_PI / 3.0)); // (h^2*sin(60))/2. = Area => h = sqrt(2*Area/sin_60)
     
    -      Eigen::Vector3d v1,v2,v3;
    +      Eigen::Matrix v1,v2,v3;
           v1 << 0,0,0;
           v2 << h,0,0;
           v3 << h/2.,(sqrt(3)/2.)*h,0;
    diff --git a/include/igl/grid.cpp b/include/igl/grid.cpp
    index 6b8a53dba..f572a0571 100644
    --- a/include/igl/grid.cpp
    +++ b/include/igl/grid.cpp
    @@ -28,7 +28,8 @@ IGL_INLINE void igl::grid(
           for(int xi = 0;xi(x,y,z);
           }
         }
    @@ -39,11 +40,12 @@ IGL_INLINE void igl::grid(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
    -template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     template void igl::grid, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/hausdorff.h b/include/igl/hausdorff.h
    index 2d5f48ce7..92e22b333 100644
    --- a/include/igl/hausdorff.h
    +++ b/include/igl/hausdorff.h
    @@ -59,7 +59,7 @@ namespace igl
       //   V   3 by 3 list of corner positions so that V.row(i) is the position of the
       //     ith corner
       //   dist_to_B  function taking the x,y,z coordinate of a query position and
    -  //     outputing the closest-point distance to some point-set B
    +  //     outputting the closest-point distance to some point-set B
       // Outputs:
       //   l  lower bound on Hausdorff distance 
       //   u  upper bound on Hausdorff distance
    diff --git a/include/igl/hessian.cpp b/include/igl/hessian.cpp
    index 56d82fb4b..ebf81cd7d 100644
    --- a/include/igl/hessian.cpp
    +++ b/include/igl/hessian.cpp
    @@ -27,15 +27,15 @@ IGL_INLINE void igl::hessian(
         typedef typename Eigen::SparseMatrix SparseMat;
         typedef typename Eigen::DiagonalMatrix
                             DiagMat;
    -    
    +
         int dim = V.cols();
         assert((dim==2 || dim==3) &&
                "The dimension of the vertices should be 2 or 3");
    -    
    +
         //Construct the combined gradient matric
         SparseMat G;
    -    igl::grad(Eigen::PlainObjectBase(V),
    -              Eigen::PlainObjectBase(F),
    +    igl::grad(DerivedV(V),
    +              DerivedF(F),
                   G, false);
         SparseMat GG(F.rows(), dim*V.rows());
         GG.reserve(G.nonZeros());
    @@ -43,12 +43,12 @@ IGL_INLINE void igl::hessian(
             GG.middleCols(i*G.cols(),G.cols()) = G.middleRows(i*F.rows(),F.rows());
         SparseMat D;
         igl::repdiag(GG,dim,D);
    -    
    +
         //Compute area matrix
         VecXd areas;
         igl::doublearea(V, F, areas);
         DiagMat A = (0.5*areas).replicate(dim,1).asDiagonal();
    -    
    +
         //Compute FEM Hessian
         H = D.transpose()*A*G;
     }
    diff --git a/include/igl/hessian_energy.cpp b/include/igl/hessian_energy.cpp
    index 65cf7b94e..fa0b10a7d 100644
    --- a/include/igl/hessian_energy.cpp
    +++ b/include/igl/hessian_energy.cpp
    @@ -25,35 +25,35 @@ IGL_INLINE void igl::hessian_energy(
         typedef typename Eigen::SparseMatrix SparseMat;
         typedef typename Eigen::DiagonalMatrix
                             DiagMat;
    -    
    +
         int dim = V.cols();
         assert((dim==2 || dim==3) &&
                "The dimension of the vertices should be 2 or 3");
    -    
    +
         SparseMat M;
         igl::massmatrix(V,F,igl::MASSMATRIX_TYPE_VORONOI,M);
    -    
    +
         //Kill non-interior DOFs
         VecXd Mint = M.diagonal();
         std::vector > bdryLoop;
    -    igl::boundary_loop(Eigen::PlainObjectBase(F),bdryLoop);
    +    igl::boundary_loop(DerivedF(F),bdryLoop);
         for(const std::vector& loop : bdryLoop)
             for(const int& bdryVert : loop)
                 Mint(bdryVert) = 0.;
    -    
    +
         //Invert Mint
         for(int i=0; i 0)
                 Mint(i) = 1./Mint(i);
    -    
    +
         //Repeat Mint to form diaginal matrix
         DiagMat stackedMinv = Mint.replicate(dim*dim,1).asDiagonal();
    -    
    +
         //Compute squared Hessian
         SparseMat H;
         igl::hessian(V,F,H);
         Q = H.transpose()*stackedMinv*H;
    -    
    +
     }
     
     
    diff --git a/include/igl/histc.h b/include/igl/histc.h
    index 4a9ca2246..2f0ed9135 100644
    --- a/include/igl/histc.h
    +++ b/include/igl/histc.h
    @@ -13,7 +13,7 @@
     
     namespace igl
     {
    -  // Like matlab's histc. Count occurances of values in X between consecutive
    +  // Like matlab's histc. Count occurrences of values in X between consecutive
       // entries in E
       //
       // Inputs:
    diff --git a/include/igl/integrable_polyvector_fields.cpp b/include/igl/integrable_polyvector_fields.cpp
    deleted file mode 100644
    index 29ce0c0bb..000000000
    --- a/include/igl/integrable_polyvector_fields.cpp
    +++ /dev/null
    @@ -1,1176 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -IGL_INLINE igl::integrable_polyvector_fields_parameters::integrable_polyvector_fields_parameters():
    -numIter(5),
    -wBarrier(0.1),
    -sBarrier(0.9),
    -wCurl(10),
    -wQuotCurl(10),
    -wSmooth(1.),
    -wCloseUnconstrained(1e-3),
    -wCloseConstrained(100),
    -redFactor_wsmooth(.8),
    -gamma(0.1),
    -tikh_gamma(1e-8)
    -{}
    -
    -
    -
    -
    -namespace igl {
    -  template 
    -  class IntegrableFieldSolver
    -  {
    -  private:
    -
    -    IntegrableFieldSolverData &data;
    -    //Symbolic calculations
    -    IGL_INLINE void rj_barrier_face(const Eigen::RowVectorXd &vec2D_a,
    -                                    const double &s,
    -                                    Eigen::VectorXd &residuals,
    -                                    bool do_jac = false,
    -                                    Eigen::MatrixXd &J = *(Eigen::MatrixXd*)NULL);
    -    IGL_INLINE void rj_polycurl_edge(const Eigen::RowVectorXd &vec2D_a,
    -                                     const Eigen::RowVector2d &ea,
    -                                     const Eigen::RowVectorXd &vec2D_b,
    -                                     const Eigen::RowVector2d &eb,
    -                                     Eigen::VectorXd &residuals,
    -                                     bool do_jac = false,
    -                                     Eigen::MatrixXd &Jac = *(Eigen::MatrixXd*)NULL);
    -    IGL_INLINE void rj_quotcurl_edge_polyversion(const Eigen::RowVectorXd &vec2D_a,
    -                                                 const Eigen::RowVector2d &ea,
    -                                                 const Eigen::RowVectorXd &vec2D_b,
    -                                                 const Eigen::RowVector2d &eb,
    -                                                 Eigen::VectorXd &residuals,
    -                                                 bool do_jac = false,
    -                                                 Eigen::MatrixXd &Jac = *(Eigen::MatrixXd*)NULL);
    -    IGL_INLINE void rj_smoothness_edge(const Eigen::RowVectorXd &vec2D_a,
    -                                       const Eigen::RowVectorXd &vec2D_b,
    -                                       const double &k,
    -                                       const int nA,
    -                                       const int nB,
    -                                       Eigen::VectorXd &residuals,
    -                                       bool do_jac = false,
    -                                       Eigen::MatrixXd &Jac = *(Eigen::MatrixXd*)NULL);
    -
    -  public:
    -    IGL_INLINE IntegrableFieldSolver(IntegrableFieldSolverData &cffsoldata);
    -
    -    IGL_INLINE bool solve(integrable_polyvector_fields_parameters ¶ms,
    -                          Eigen::PlainObjectBase& current_field,
    -                          bool current_field_is_not_ccw);
    -
    -    IGL_INLINE void solveGaussNewton(integrable_polyvector_fields_parameters ¶ms,
    -                                     const Eigen::VectorXd &x_initial,
    -                                     Eigen::VectorXd &x);
    -
    -    //Compute residuals and Jacobian for Gauss Newton
    -    IGL_INLINE double RJ(const Eigen::VectorXd &x,
    -                         const Eigen::VectorXd &x0,
    -                         const integrable_polyvector_fields_parameters ¶ms,
    -                         bool doJacs = false);
    -
    -    IGL_INLINE void RJ_Smoothness(const Eigen::MatrixXd &sol2D,
    -                                  const double &wSmoothSqrt,
    -                                  const int startRowInJacobian,
    -                                  bool doJacs = false,
    -                                  const int startIndexInVectors = 0);
    -    IGL_INLINE void RJ_Barrier(const Eigen::MatrixXd &sol2D,
    -                               const double &s,
    -                               const double &wBarrierSqrt,
    -                               const int startRowInJacobian,
    -                               bool doJacs = false,
    -                               const int startIndexInVectors = 0);
    -    IGL_INLINE void RJ_Closeness(const Eigen::MatrixXd &sol2D,
    -                                 const Eigen::MatrixXd &sol02D,
    -                                 const double &wCloseUnconstrainedSqrt,
    -                                 const double &wCloseConstrainedSqrt,
    -                                 const int startRowInJacobian,
    -                                 bool doJacs = false,
    -                                 const int startIndexInVectors = 0);
    -    IGL_INLINE void RJ_Curl(const Eigen::MatrixXd &sol2D,
    -                            const double &wCASqrt,
    -                            const double &wCBSqrt,
    -                            const int startRowInJacobian,
    -                            bool doJacs = false,
    -                            const int startIndexInVectors = 0);
    -    IGL_INLINE void RJ_QuotCurl(const Eigen::MatrixXd &sol2D,
    -                                const double &wQuotCurlSqrt,
    -                                const int startRowInJacobian,
    -                                bool doJacs = false,
    -                                const int startIndexInVectors = 0);
    -
    -
    -  };
    -};
    -
    -
    -
    -template 
    -IGL_INLINE igl::IntegrableFieldSolverData::IntegrableFieldSolverData()
    -{}
    -
    -
    -template
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -precomputeMesh(const Eigen::PlainObjectBase &_V,
    -               const Eigen::PlainObjectBase &_F)
    -{
    -  numV = _V.rows();
    -  numF = _F.rows();
    -  numVariables = 2*2*numF;
    -  //Mesh stuff
    -  igl::edge_topology(_V,_F,E,F2E,E2F);
    -  numE = E.rows();
    -  igl::local_basis(_V,_F,B1,B2,FN);
    -  computeInteriorEdges();
    -  igl::parallel_transport_angles(_V, _F, FN, E2F, F2E, K);
    -  EVecNorm.setZero(numE,3);
    -  for (int k = 0; k
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -initializeConstraints(const Eigen::VectorXi& b,
    -                      const Eigen::PlainObjectBase& bc,
    -                      const Eigen::VectorXi& constraint_level)
    -{
    -  //save constrained
    -  Eigen::VectorXi iSorted, constrained_unsorted;
    -  constrained_unsorted.resize(2*2*b.size());
    -  is_constrained_face.setZero(numF, 1);
    -  int ind = 0;
    -  indInConstrained.setConstant(numF,1,-1);
    -  for (int k =0; k();
    -
    -}
    -
    -template
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -makeFieldCCW(Eigen::MatrixXd &sol3D)
    -{
    -  //sort ccw
    -  Eigen::RowVectorXd t;
    -  Eigen::RowVectorXd all(1,2*2*3);
    -  Eigen::VectorXi order;
    -  for (int fi=0; fi::max();
    -      for (int i = 0; i<2*2; ++i)
    -      {
    -        double score = (t.segment(i*3,3) - constraint).norm();
    -        if (score
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -initializeOriginalVariable(const Eigen::PlainObjectBase& original_field)
    -{
    -  Eigen::MatrixXd sol2D;
    -  Eigen::MatrixXd sol3D = original_field.template cast();
    -  makeFieldCCW(sol3D);
    -  igl::global2local(B1, B2, sol3D, sol2D);
    -  xOriginal.setZero(numVariables);
    -  for (int i =0; i
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -computeInteriorEdges()
    -{
    -  Eigen::VectorXi isBorderEdge;
    -  // Flag border edges
    -  numInteriorEdges = 0;
    -  isBorderEdge.setZero(numE,1);
    -  indFullToInterior = -1*Eigen::VectorXi::Ones(numE,1);
    -
    -  for(unsigned i=0; i
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -add_Jacobian_to_svector(const int &toplace,
    -                        const Eigen::MatrixXd &tJac,
    -                        Eigen::VectorXd &SS_Jac)
    -{
    -  int numInnerRows = tJac.rows();
    -  int numInnerCols = tJac.cols();
    -  int ind = toplace;
    -  for (int j=0; j
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -add_jac_indices_face(const int numInnerRows,
    -                     const int numInnerCols,
    -                     const int startRowInJacobian,
    -                     const int startIndexInVectors,
    -                     Eigen::VectorXi &Rows,
    -                     Eigen::VectorXi &Columns)
    -{
    -  for (int fi=0; fi
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -face_Jacobian_indices(const int &startRow,
    -                      const int &toplace,
    -                      const int& fi,
    -                      const int& half_degree,
    -                      const int &numInnerRows,
    -                      const int &numInnerCols,
    -                      Eigen::VectorXi &rows,
    -                      Eigen::VectorXi &columns)
    -{
    -  int ind = toplace;
    -  for (int j=0; j
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -add_jac_indices_edge(const int numInnerRows,
    -                     const int numInnerCols,
    -                     const int startRowInJacobian,
    -                     const int startIndexInVectors,
    -                     Eigen::VectorXi &Rows,
    -                     Eigen::VectorXi &Columns)
    -{
    -  for (int ii=0; ii
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -edge_Jacobian_indices(const int &startRow,
    -                      const int &toplace,
    -                      const int& a,
    -                      const int& b,
    -                      const int& half_degree,
    -                      const int &numInnerRows,
    -                      const int &numInnerCols,
    -                      Eigen::VectorXi &rows,
    -                      Eigen::VectorXi &columns)
    -{
    -  int ind = toplace;
    -  for (int j=0; j
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -computeJacobianPattern()
    -{
    -  num_residuals_smooth = 4*numInteriorEdges;
    -  num_residuals_close = 4*numF;
    -  num_residuals_polycurl = 2*numInteriorEdges;
    -  num_residuals_quotcurl = numInteriorEdges;
    -  num_residuals_barrier = numF;
    -
    -  num_residuals = num_residuals_smooth + num_residuals_close + num_residuals_polycurl + num_residuals_quotcurl + num_residuals_barrier;
    -
    -  residuals.setZero(num_residuals,1);
    -
    -  //per edge
    -  numJacElements_smooth = numInteriorEdges*numInnerJacCols_edge*numInnerJacRows_smooth;
    -  numJacElements_polycurl = numInteriorEdges*numInnerJacCols_edge*numInnerJacRows_polycurl;
    -  numJacElements_quotcurl = numInteriorEdges*numInnerJacCols_edge*numInnerJacRows_quotcurl;
    -
    -  //per face
    -  numJacElements_barrier = numF*numInnerJacCols_face*numInnerJacRows_barrier;
    -  numJacElements_close = numF*numInnerJacCols_face*numInnerJacRows_close;
    -
    -  numJacElements = (numJacElements_smooth +numJacElements_polycurl + numJacElements_quotcurl) + (numJacElements_barrier +numJacElements_close);
    -  //allocate
    -  II_Jac.setZero(numJacElements);
    -  JJ_Jac.setZero(numJacElements);
    -  SS_Jac.setOnes(numJacElements);
    -
    -  //set stuff (attention: order !)
    -  int startRowInJacobian = 0;
    -  int startIndexInVectors = 0;
    -
    -  //smoothness
    -  add_jac_indices_edge(numInnerJacRows_smooth,
    -                       numInnerJacCols_edge,
    -                       startRowInJacobian,
    -                       startIndexInVectors,
    -                       II_Jac,
    -                       JJ_Jac);
    -  startRowInJacobian += num_residuals_smooth;
    -  startIndexInVectors += numJacElements_smooth;
    -
    -  //closeness
    -  add_jac_indices_face(numInnerJacRows_close,
    -                       numInnerJacCols_face,
    -                       startRowInJacobian,
    -                       startIndexInVectors,
    -                       II_Jac,
    -                       JJ_Jac);
    -  startRowInJacobian += num_residuals_close;
    -  startIndexInVectors += numJacElements_close;
    -
    -  //barrier
    -  add_jac_indices_face(numInnerJacRows_barrier,
    -                       numInnerJacCols_face,
    -                       startRowInJacobian,
    -                       startIndexInVectors,
    -                       II_Jac,
    -                       JJ_Jac);
    -  startRowInJacobian += num_residuals_barrier;
    -  startIndexInVectors += numJacElements_barrier;
    -
    -  //polycurl
    -  add_jac_indices_edge(numInnerJacRows_polycurl,
    -                       numInnerJacCols_edge,
    -                       startRowInJacobian,
    -                       startIndexInVectors,
    -                       II_Jac,
    -                       JJ_Jac);
    -  startRowInJacobian += num_residuals_polycurl;
    -  startIndexInVectors += numJacElements_polycurl;
    -
    -  //quotcurl
    -  add_jac_indices_edge(numInnerJacRows_quotcurl,
    -                       numInnerJacCols_edge,
    -                       startRowInJacobian,
    -                       startIndexInVectors,
    -                       II_Jac,
    -                       JJ_Jac);
    -  igl::sparse(II_Jac, JJ_Jac, SS_Jac, Jac);
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -computeHessianPattern()
    -{
    -  //II_Jac is sorted in ascending order already
    -  int starti = 0;
    -  int currI = II_Jac(0);
    -  for (int ii = 0; ii (JJ_Jac(ii),
    -                                                      JJ_Jac(jj),
    -                                                      SS_Jac(ii)*SS_Jac(jj)
    -                                                      )
    -                              );
    -    }
    -  }
    -  Hess.resize(Jac.cols(),Jac.cols());
    -  Hess.setFromTriplets(Hess_triplets.begin(), Hess_triplets.end());
    -  Hess.makeCompressed();
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolverData::
    -computeNewHessValues()
    -{
    -  for (int i =0; i(Hess_triplets[i].row(),
    -                                              Hess_triplets[i].col(),
    -                                              SS_Jac(indInSS_Hess_1_vec[i])*SS_Jac(indInSS_Hess_2_vec[i])
    -                                              );
    -
    -  Hess.setFromTriplets(Hess_triplets.begin(), Hess_triplets.end());
    -}
    -
    -
    -template 
    -IGL_INLINE igl::IntegrableFieldSolver::IntegrableFieldSolver( IntegrableFieldSolverData &cffsoldata):
    -data(cffsoldata)
    -{ };
    -
    -
    -template 
    -IGL_INLINE bool igl::IntegrableFieldSolver::
    -solve(igl::integrable_polyvector_fields_parameters ¶ms,
    -      Eigen::PlainObjectBase& current_field,
    -      bool current_field_is_not_ccw)
    -{
    -  Eigen::MatrixXd sol2D;
    -  Eigen::MatrixXd sol3D = current_field.template cast();
    -  if (current_field_is_not_ccw)
    -    data.makeFieldCCW(sol3D);
    -
    -  igl::global2local(data.B1, data.B2, sol3D, sol2D);
    -  Eigen::VectorXd x;
    -  x.setZero(data.numVariables);
    -  for (int i =0; i();
    -  return true;
    -}
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -solveGaussNewton(integrable_polyvector_fields_parameters ¶ms,
    -                 const Eigen::VectorXd &x_initial,
    -                 Eigen::VectorXd &x)
    -{
    -  bool converged = false;
    -
    -  double F;
    -  Eigen::VectorXd xprev = x;
    -  Eigen::VectorXd xc = igl::slice(x_initial, data.constrained, 1);
    -  //  double ESmooth, EClose, ECurl, EQuotCurl, EBarrier;
    -  for (int innerIter = 0; innerIter::infinity()).any())
    -    {
    -      std::cerr<<"IntegrableFieldSolver -- residuals: got infinity somewhere"< 1e-4)
    -    {
    -      std::cerr<<"IntegrableFieldSolver -- Could not solve"<
    -IGL_INLINE double igl::IntegrableFieldSolver::
    -RJ(const Eigen::VectorXd &x,
    -   const Eigen::VectorXd &x0,
    -   const integrable_polyvector_fields_parameters ¶ms,
    -   bool doJacs)
    -{
    -  Eigen::MatrixXd sol2D(data.numF,4), sol02D(data.numF,4);
    -  for (int i =0; i
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -rj_smoothness_edge(const Eigen::RowVectorXd &vec2D_a,
    -                   const Eigen::RowVectorXd &vec2D_b,
    -                   const double &k,
    -                   const int nA,
    -                   const int nB,
    -                   Eigen::VectorXd &residuals,
    -                   bool do_jac,
    -                   Eigen::MatrixXd &Jac)
    -{
    -  const Eigen::RowVector2d &ua = vec2D_a.segment(0, 2);
    -  const Eigen::RowVector2d &va = vec2D_a.segment(2, 2);
    -  const Eigen::RowVector2d &ub = vec2D_b.segment(0, 2);
    -  const Eigen::RowVector2d &vb = vec2D_b.segment(2, 2);
    -  const double &xua=ua[0], &yua=ua[1], &xva=va[0], &yva=va[1];
    -  const double &xub=ub[0], &yub=ub[1], &xvb=vb[0], &yvb=vb[1];
    -
    -  double xua_2 = xua*xua;
    -  double xva_2 = xva*xva;
    -  double yua_2 = yua*yua;
    -  double yva_2 = yva*yva;
    -  double xub_2 = xub*xub;
    -  double xvb_2 = xvb*xvb;
    -  double yub_2 = yub*yub;
    -  double yvb_2 = yvb*yvb;
    -
    -  double sA = sin(nA*k);
    -  double cA = cos(nA*k);
    -  double sB = sin(nB*k);
    -  double cB = cos(nB*k);
    -
    -  double t1 = xua*yua;
    -  double t2 = xva*yva;
    -  double t3 = xub*xvb;
    -  double t4 = yub*yvb;
    -  double t5 = xua*xva;
    -  double t6 = xub*yub;
    -  double t7 = yua*yva;
    -  double t8 = xvb*yvb;
    -
    -  double t9  = xva_2 - yva_2;
    -  double t10 = xua_2 - yua_2;
    -  double t11 = xvb_2 - yvb_2;
    -  double t12 = xub_2 - yub_2;
    -
    -  double t13 = 2*t1 + 2*t2;
    -
    -  double t17 = (2*t1*t9 + 2*t2*t10);
    -  double t19 = (t10*t9 - 4*t5*t7);
    -
    -
    -  residuals.resize(4, 1);
    -  residuals <<
    -  cA*(t10 + t9) - sA*(t13) - t12 - t11,
    -  sA*(t10 + t9) - 2*t8 - 2*t6 + cA*(t13),
    -  cB*t19 - (t12)*(t11) - sB*t17 + 4*t3*t4,
    -  cB*t17 + sB*t19 - 2*t6*(t11) - 2*t8*(t12);
    -
    -
    -  if (do_jac)
    -  {
    -    double t20 = 2*yua*t9 + 4*xua*t2;
    -    double t21 = 2*xua*t9 - 4*xva*t7;
    -    double t22 = 2*yva*t10 + 4*t5*yua;
    -    double t23 = 2*xva*t10 - 4*t1*yva;
    -
    -    Jac.resize(4,8);
    -    Jac <<                                                                     2*xua*cA - 2*yua*sA,                                                                     - 2*yua*cA - 2*xua*sA,                                                                     2*xva*cA - 2*yva*sA,                                                                     - 2*yva*cA - 2*xva*sA,                                  -2*xub,                                 2*yub,                                  -2*xvb,                                 2*yvb,
    -    2*yua*cA + 2*xua*sA,                                                                       2*xua*cA - 2*yua*sA,                                                                     2*yva*cA + 2*xva*sA,                                                                       2*xva*cA - 2*yva*sA,                                  -2*yub,                                -2*xub,                                  -2*yvb,                                -2*xvb,
    -    cB*(t21) - sB*(t20), - cB*(t20) - sB*(t21), cB*(t23) - sB*(t22), - cB*(t22) - sB*(t23),   4*xvb*t4 - 2*xub*t11, 2*yub*t11 + 4*t3*yvb,   4*xub*t4 - 2*xvb*t12, 2*yvb*t12 + 4*t3*yub,
    -    cB*(t20) + sB*(t21),   cB*(t21) - sB*(t20), cB*(t22) + sB*(t23),   cB*(t23) - sB*(t22), - 2*yub*t11 - 4*t3*yvb, 4*xvb*t4 - 2*xub*t11, - 2*yvb*t12 - 4*t3*yub, 4*xub*t4 - 2*xvb*t12;
    -  }
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -RJ_Smoothness(const Eigen::MatrixXd &sol2D,
    -              const double &wSmoothSqrt,
    -              const int startRowInJacobian,
    -              bool doJacs,
    -              const int startIndexInVectors)
    -{
    -  if (wSmoothSqrt ==0)
    -    return;
    -  for (int ii=0; ii
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -rj_barrier_face(const Eigen::RowVectorXd &vec2D_a,
    -                const double &s,
    -                Eigen::VectorXd &residuals,
    -                bool do_jac,
    -                Eigen::MatrixXd &Jac)
    -{
    -
    -  const Eigen::RowVector2d &ua = vec2D_a.segment(0, 2);
    -  const Eigen::RowVector2d &va = vec2D_a.segment(2, 2);
    -  const double &xua=ua[0], &yua=ua[1], &xva=va[0], &yva=va[1];
    -
    -
    -  double xva_2 = xva*xva;
    -  double yua_2 = yua*yua;
    -  double xua_2 = xua*xua;
    -  double yva_2 = yva*yva;
    -
    -  double s_2 = s*s;
    -  double s_3 = s*s_2;
    -
    -  double t00 = xua*yva;
    -  double t01 = xva*yua;
    -  double t05 = t00 - t01;
    -  double t05_2 = t05*t05;
    -  double t05_3 = t05*t05_2;
    -
    -  if (do_jac)
    -    Jac.setZero(1,4);
    -  residuals.resize(1, 1);
    -  if (t05>=s)
    -    residuals << 0;
    -  else if (t05<0)
    -    residuals << std::numeric_limits::infinity();
    -  else
    -  {
    -    residuals << 1/((3*t00 - 3*t01)/s - (3*t05_2)/s_2 + t05_3/s_3) - 1;
    -    double t03 = (s - t05)*(s - t05);
    -    double t06 = (3*s_2 - 3*s*t00 + 3*s*t01 + xua_2*yva_2 - 2*xua*t01*yva + xva_2*yua_2);
    -    double t04 = t06*t06;
    -    if (do_jac)
    -      Jac<<
    -      -(3*s_3*yva*t03)/(t05_2*t04),
    -      (3*s_3*xva*t03)/(t05_2*t04),
    -      (3*s_3*yua*t03)/(t05_2*t04),
    -      -(3*s_3*xua*t03)/(t05_2*t04);
    -  }
    -}
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -RJ_Barrier(const Eigen::MatrixXd &sol2D,
    -           const double &s,
    -           const double &wBarrierSqrt,
    -           const int startRowInJacobian,
    -           bool doJacs,
    -           const int startIndexInVectors)
    -{
    -  if (wBarrierSqrt ==0)
    -    return;
    -
    -  for (int fi=0; fi
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -RJ_Closeness(const Eigen::MatrixXd &sol2D,
    -             const Eigen::MatrixXd &sol02D,
    -             const double &wCloseUnconstrainedSqrt,
    -             const double &wCloseConstrainedSqrt,
    -             const int startRowInJacobian,
    -             bool doJacs,
    -             const int startIndexInVectors)
    -{
    -  if (wCloseUnconstrainedSqrt ==0 && wCloseConstrainedSqrt ==0)
    -    return;
    -  for (int fi=0; fi
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -rj_polycurl_edge(const Eigen::RowVectorXd &vec2D_a,
    -                 const Eigen::RowVector2d &ea,
    -                 const Eigen::RowVectorXd &vec2D_b,
    -                 const Eigen::RowVector2d &eb,
    -                 Eigen::VectorXd &residuals,
    -                 bool do_jac,
    -                 Eigen::MatrixXd &Jac)
    -{
    -  const Eigen::RowVector2d &ua = vec2D_a.segment(0, 2);
    -  const Eigen::RowVector2d &va = vec2D_a.segment(2, 2);
    -  const Eigen::RowVector2d &ub = vec2D_b.segment(0, 2);
    -  const Eigen::RowVector2d &vb = vec2D_b.segment(2, 2);
    -  const double &xua=ua[0], &yua=ua[1], &xva=va[0], &yva=va[1];
    -  const double &xub=ub[0], &yub=ub[1], &xvb=vb[0], &yvb=vb[1];
    -  const double &xea=ea[0], &yea=ea[1];
    -  const double &xeb=eb[0], &yeb=eb[1];
    -
    -  const double dua = (xea*xua + yea*yua);
    -  const double dub = (xeb*xub + yeb*yub);
    -  const double dva = (xea*xva + yea*yva);
    -  const double dvb = (xeb*xvb + yeb*yvb);
    -
    -  const double dua_2 = dua*dua;
    -  const double dva_2 = dva*dva;
    -  const double dub_2 = dub*dub;
    -  const double dvb_2 = dvb*dvb;
    -
    -  residuals.resize(2, 1);
    -  residuals << dua_2 - dub_2 + dva_2 - dvb_2,
    -  dua_2*dva_2 - dub_2*dvb_2 ;
    -
    -
    -
    -  if (do_jac)
    -  {
    -
    -    Jac.resize(2,8);
    -    Jac << 2*xea*dua,                       2*yea*dua,                       2*xea*dva,                       2*yea*dva,                       -2*xeb*dub,                       -2*yeb*dub,                       -2*xeb*dvb,                       -2*yeb*dvb,
    -    2*xea*dua*dva_2, 2*yea*dua*dva_2, 2*xea*dua_2*dva, 2*yea*dua_2*dva, -2*xeb*dub*dvb_2, -2*yeb*dub*dvb_2, -2*xeb*dub_2*dvb, -2*yeb*dub_2*dvb;
    -  }
    -}
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -RJ_Curl(const Eigen::MatrixXd &sol2D,
    -        const double &wCASqrt,
    -        const double &wCBSqrt,
    -        const int startRowInJacobian,
    -        bool doJacs,
    -        const int startIndexInVectors)
    -{
    -  if((wCASqrt==0) &&(wCBSqrt==0))
    -    return;
    -  for (int ii=0; ii
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -rj_quotcurl_edge_polyversion(const Eigen::RowVectorXd &vec2D_a,
    -                             const Eigen::RowVector2d &ea,
    -                             const Eigen::RowVectorXd &vec2D_b,
    -                             const Eigen::RowVector2d &eb,
    -                             Eigen::VectorXd &residuals,
    -                             bool do_jac,
    -                             Eigen::MatrixXd &Jac)
    -{
    -  const Eigen::RowVector2d &ua = vec2D_a.segment(0, 2);
    -  const Eigen::RowVector2d &va = vec2D_a.segment(2, 2);
    -  const Eigen::RowVector2d &ub = vec2D_b.segment(0, 2);
    -  const Eigen::RowVector2d &vb = vec2D_b.segment(2, 2);
    -  const double &xua=ua[0], &yua=ua[1], &xva=va[0], &yva=va[1];
    -  const double &xub=ub[0], &yub=ub[1], &xvb=vb[0], &yvb=vb[1];
    -  const double &xea=ea[0], &yea=ea[1];
    -  const double &xeb=eb[0], &yeb=eb[1];
    -
    -  double dua = (xea*xua + yea*yua);
    -  double dva = (xea*xva + yea*yva);
    -  double dub = (xeb*xub + yeb*yub);
    -  double dvb = (xeb*xvb + yeb*yvb);
    -
    -  double dua_2 = dua * dua;
    -  double dva_2 = dva * dva;
    -  double dub_2 = dub * dub;
    -  double dvb_2 = dvb * dvb;
    -  double t00 = (dub_2 - dvb_2);
    -  double t01 = (dua_2 - dva_2);
    -
    -
    -  residuals.resize(1, 1);
    -  residuals << dua*dva*t00 - dub*dvb*t01;
    -
    -  if (do_jac)
    -  {
    -    Jac.resize(1,8);
    -    Jac <<  xea*dva*t00 - 2*xea*dua*dub*dvb, yea*dva*t00 - 2*yea*dua*dub*dvb, xea*dua*t00 + 2*xea*dub*dva*dvb, yea*dua*t00 + 2*yea*dub*dva*dvb, 2*xeb*dua*dub*dva - xeb*dvb*t01, 2*yeb*dua*dub*dva - yeb*dvb*t01, - xeb*dub*t01 - 2*xeb*dua*dva*dvb, - yeb*dub*t01 - 2*yeb*dua*dva*dvb;
    -  }
    -}
    -
    -template 
    -IGL_INLINE void igl::IntegrableFieldSolver::
    -RJ_QuotCurl(const Eigen::MatrixXd &sol2D,
    -            const double &wQuotCurlSqrt,
    -            const int startRowInJacobian,
    -            bool doJacs,
    -            const int startIndexInVectors)
    -{
    -  for (int ii=0; ii
    -IGL_INLINE void igl::integrable_polyvector_fields_precompute(
    -                                                             const Eigen::PlainObjectBase& V,
    -                                                             const Eigen::PlainObjectBase& F,
    -                                                             const Eigen::VectorXi& b,
    -                                                             const Eigen::PlainObjectBase& bc,
    -                                                             const Eigen::VectorXi& constraint_level,
    -                                                             const Eigen::PlainObjectBase& original_field,
    -                                                             igl::IntegrableFieldSolverData &data)
    -{
    -  data.precomputeMesh(V,F);
    -
    -  data.computeJacobianPattern();
    -  data.computeHessianPattern();
    -  data.solver.analyzePattern(data.Hess);
    -
    -  data.initializeConstraints(b,bc,constraint_level);
    -  data.initializeOriginalVariable(original_field);
    -};
    -
    -
    -template 
    -IGL_INLINE void igl::integrable_polyvector_fields_solve(igl::IntegrableFieldSolverData &cffsoldata,
    -                                                        integrable_polyvector_fields_parameters ¶ms,
    -                                                        Eigen::PlainObjectBase& current_field,
    -                                                        bool current_field_is_not_ccw)
    -{
    -  igl::IntegrableFieldSolver cffs(cffsoldata);
    -  cffs.solve(params, current_field, current_field_is_not_ccw);
    -};
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template igl::IntegrableFieldSolverData, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >::IntegrableFieldSolverData();
    -template void igl::integrable_polyvector_fields_solve, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(igl::IntegrableFieldSolverData, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >&, igl::integrable_polyvector_fields_parameters&, Eigen::PlainObjectBase >&, bool);
    -template void igl::integrable_polyvector_fields_precompute, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::Matrix const&, Eigen::PlainObjectBase > const&, Eigen::Matrix const&, Eigen::PlainObjectBase > const&, igl::IntegrableFieldSolverData, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >&);
    -#endif
    diff --git a/include/igl/integrable_polyvector_fields.h b/include/igl/integrable_polyvector_fields.h
    deleted file mode 100644
    index 8945ded3e..000000000
    --- a/include/igl/integrable_polyvector_fields.h
    +++ /dev/null
    @@ -1,231 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_INTEGRABLE_POLYVECTOR_FIELDS
    -#define IGL_INTEGRABLE_POLYVECTOR_FIELDS
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Compute a curl-free frame field from user constraints, optionally starting
    -  // from a gived frame field (assumed to be interpolating the constraints).
    -  // Implementation of the paper "Integrable PolyVector Fields", SIGGRAPH 2015.
    -
    -  // Set of parameters used during solve
    -  struct integrable_polyvector_fields_parameters;
    -
    -  // All data necessary for solving. Gets initialized from the original field
    -  //  and gets updated during each solve.
    -  template  class IntegrableFieldSolverData;
    -
    -
    -  // Precomputes matrices and necessary initial variables from the mesh and the
    -  // original field. This function is meant to be called before solve().
    -  // Inputs:
    -  //   V                 #V by 3 list of mesh vertex coordinates
    -  //   F                 #F by 3 list of mesh faces (must be triangles)
    -  //   b                 #B by 1 list of constrained face indices
    -  //   bc                #B by 6 list of the representative vectors at the constrained faces
    -  //   constraint_level  #B by 1 list of "constraint level" flag (level=2 indicates that both directions are constrained,
    -  //                     level = 1 indicates a partially constrained face, i.e. only the first vector will be constrained)
    -  //   original_field    #F by 6 list of the representative vectors of the frame field to be used as a starting point
    -  //                     (up to permutation and sign, stacked horizontally for each face)
    -  // Returns:
    -  //   data              an IntegrableFieldSolverData object that holds all intermediate
    -  //                     data needed by the solve routine, with correctly initialized values.
    -  //
    -  template 
    -  IGL_INLINE void integrable_polyvector_fields_precompute(const Eigen::PlainObjectBase& V,
    -                                                    const Eigen::PlainObjectBase& F,
    -                                                    const Eigen::VectorXi& b,
    -                                                    const Eigen::PlainObjectBase& bc,
    -                                                    const Eigen::VectorXi& constraint_level,
    -                                                    const Eigen::PlainObjectBase& original_field,
    -                                                    igl::IntegrableFieldSolverData &data);
    -
    -
    -  // Given the current estimate of the field, performes one round of optimization
    -  // iterations and updates the current estimate. The intermediate data is saved
    -  // and returned for the next iteration.
    -  // Inputs:
    -  //   data                         an IntegrableFieldSolverData object that holds all intermediate
    -  //                                data needed by the solve routine, with their values at the current time instance.
    -  //   params                       solver parameters (see below)
    -  //   current_field                #F by 6 list of the representative vectors of the current frame field to be used as a starting point
    -  //   current_field_is_not_ccw     boolean, determines whether the representative vectors in the current field are in
    -  //                                non- ccw order - if true, they will be corrected before being passed to the solver.
    -  //                                The field returned by this routine is always in ccw order, so this flag typically only
    -  //                                needs to be set to true during the first call to solve(). If unsure, set to true.
    -  // Returns:
    -  //   current_field                updated estimate for the integrable field
    -  //
    -template 
    -  IGL_INLINE void integrable_polyvector_fields_solve(IntegrableFieldSolverData &cffsoldata,
    -    integrable_polyvector_fields_parameters ¶ms,
    -                                               Eigen::PlainObjectBase& current_field,
    -                                               bool current_field_is_not_ccw);
    -
    -
    -};
    -
    -
    -//parameters
    -struct igl::integrable_polyvector_fields_parameters
    -{
    -  // number of optimization iterations
    -  int numIter;
    -  //weight for barrier term (ensuring ccw ordering of the vectors per face)
    -  double wBarrier;
    -  //the s-parameter of the barrier term (see Schüller et al. 2013, Locally Injective Mappings)
    -  double sBarrier;
    -  //weight for the PolyCurl term of the energy
    -  double wCurl;
    -  //weight for the PolyQuotient term of the energy
    -  double wQuotCurl;
    -  //weight for the smoothness term of the energy
    -  double wSmooth;
    -  //weight for the closeness to the original field, for the unconstrained faces (regularization term)
    -  double wCloseUnconstrained;
    -  //weight for the closeness to the original field, for the constrained faces
    -  double wCloseConstrained;
    -  //the per-iteration reduction factor the smoothness weight
    -  double redFactor_wsmooth;
    -  //the step size for the Gauss-Newton optimization
    -  double gamma;
    -  //tikhonov regularization term (typically not needed, default value should suffice)
    -  double tikh_gamma;
    -
    -  IGL_INLINE integrable_polyvector_fields_parameters();
    -
    -};
    -
    -//solver data
    -template 
    -class igl::IntegrableFieldSolverData
    -{
    -public:
    -  //Original field
    -  Eigen::VectorXd xOriginal;
    -
    -  //Constraints
    -  Eigen::VectorXi constrained;
    -  Eigen::VectorXi is_constrained_face;//0 for unconstrained, 1 for constrained once (partial) and 2 for fully constrained
    -  Eigen::VectorXi indInConstrained;
    -  Eigen::MatrixXd constrained_vec3;
    -
    -  //Mesh data
    -  //edges and normalized edge vectors
    -  Eigen::MatrixXd EVecNorm;
    -  Eigen::MatrixXi E, E2F, F2E;
    -  int numV, numF, numE;
    -  //interior edge data
    -  int numInteriorEdges;
    -  Eigen::Matrix E2F_int;
    -  Eigen::VectorXi indInteriorToFull;
    -  Eigen::VectorXi indFullToInterior;
    -  //per-edge angles (for parallel transport)
    -  Eigen::VectorXd K;
    -  //local bases
    -  DerivedV B1, B2, FN;
    -
    -  //Solver Data
    -  Eigen::VectorXd residuals;
    -  Eigen::SparseMatrix Jac;
    -  Eigen::VectorXi II_Jac, JJ_Jac;
    -  Eigen::VectorXd SS_Jac;
    -  int numVariables;
    -  int num_residuals;
    -  int num_residuals_smooth;
    -  int num_residuals_close;
    -  int num_residuals_polycurl;
    -  int num_residuals_quotcurl;
    -  int num_residuals_barrier;
    -  const int numInnerJacCols_edge = 8;
    -  const int numInnerJacCols_face = 4;
    -  const int numInnerJacRows_smooth = 4;
    -  const int numInnerJacRows_polycurl = 2;
    -  const int numInnerJacRows_quotcurl = 1;
    -  const int numInnerJacRows_barrier = 1;
    -  const int numInnerJacRows_close = 4;
    -  int numJacElements_smooth;
    -  int numJacElements_polycurl;
    -  int numJacElements_quotcurl;
    -  int numJacElements_barrier;
    -  int numJacElements_close;
    -  int numJacElements;
    -  IGL_INLINE void add_jac_indices_face(const int numInnerRows,
    -                                       const int numInnerCols,
    -                                       const int startRowInJacobian,
    -                                       const int startIndexInVectors,
    -                                       Eigen::VectorXi &Rows,
    -                                       Eigen::VectorXi &Columns);
    -  IGL_INLINE void face_Jacobian_indices(const int &startRow,
    -                                        const int &toplace,
    -                                        const int& fi,
    -                                        const int& half_degree,
    -                                        const int &numInnerRows,
    -                                        const int &numInnerCols,
    -                                        Eigen::VectorXi &rows,
    -                                        Eigen::VectorXi &columns);
    -  IGL_INLINE void add_Jacobian_to_svector(const int &toplace,
    -                                          const Eigen::MatrixXd &tJac,
    -                                          Eigen::VectorXd &SS_Jac);
    -
    -  IGL_INLINE void add_jac_indices_edge(const int numInnerRows,
    -                                       const int numInnerCols,
    -                                       const int startRowInJacobian,
    -                                       const int startIndexInVectors,
    -                                       Eigen::VectorXi &Rows,
    -                                       Eigen::VectorXi &Columns);
    -  IGL_INLINE void edge_Jacobian_indices(const int &startRow,
    -                                        const int &toplace,
    -                                        const int& a,
    -                                        const int& b,
    -                                        const int& half_degree,
    -                                        const int &numInnerRows,
    -                                        const int &numInnerCols,
    -                                        Eigen::VectorXi &rows,
    -                                        Eigen::VectorXi &columns);
    -  std::vector indInSS_Hess_1_vec;
    -  std::vector indInSS_Hess_2_vec;
    -  Eigen::SparseMatrix Hess;
    -  std::vector > Hess_triplets;
    -  Eigen::SimplicialLDLT > solver;
    -
    -  IGL_INLINE void precomputeMesh(const Eigen::PlainObjectBase &_V,
    -                                 const Eigen::PlainObjectBase &_F);
    -  IGL_INLINE void computeInteriorEdges();
    -  IGL_INLINE void computeJacobianPattern();
    -  IGL_INLINE void computeHessianPattern();
    -  IGL_INLINE void computeNewHessValues();
    -  IGL_INLINE void initializeOriginalVariable(const Eigen::PlainObjectBase& original_field);
    -  IGL_INLINE void initializeConstraints(const Eigen::VectorXi& b,
    -                                        const Eigen::PlainObjectBase& bc,
    -                                        const Eigen::VectorXi& constraint_level);
    -  IGL_INLINE void makeFieldCCW(Eigen::MatrixXd &sol3D);
    -
    -public:
    -  IGL_INLINE IntegrableFieldSolverData();
    -
    -  IGL_INLINE IntegrableFieldSolverData(
    -                                     const Eigen::PlainObjectBase &_V,
    -                                     const Eigen::PlainObjectBase &_F,
    -                                     const Eigen::VectorXi& b,
    -                                     const Eigen::VectorXi& constraint_level,
    -                                     const Eigen::PlainObjectBase& original_field);
    -
    -};
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "integrable_polyvector_fields.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_INTEGRABLE_POLYVECTOR_FIELDS) */
    diff --git a/include/igl/is_boundary_edge.cpp b/include/igl/is_boundary_edge.cpp
    index 7e5e3281e..679214bbc 100644
    --- a/include/igl/is_boundary_edge.cpp
    +++ b/include/igl/is_boundary_edge.cpp
    @@ -47,14 +47,14 @@ void igl::is_boundary_edge(
       MatrixXi uE;
       VectorXi EMAP;
       unique_rows(sorted_EallE,uE,_,EMAP);
    -  // Counts of occurances
    +  // Counts of occurrences
       VectorXi N = VectorXi::Zero(uE.rows());
       for(int e = 0;ebool
       {
    -    stl_file = freopen(NULL,"rb",stl_file);
    +    //stl_file = freopen(NULL,"rb",stl_file);
         // Read 80 header
         char header[80];
         if(fread(header,sizeof(char),80,stl_file)!=80)
    @@ -27,7 +27,8 @@ IGL_INLINE bool igl::is_stl(FILE * stl_file, bool & is_ascii)
         }
         fseek(stl_file,0,SEEK_END);
         int file_size = ftell(stl_file);
    -    stl_file = freopen(NULL,"r",stl_file);
    +    fseek(stl_file,0,SEEK_SET);
    +    //stl_file = freopen(NULL,"r",stl_file);
         return (file_size == 80 + 4 + (4*12 + 2) * num_tri);
       };
       // Specifically 80 character header
    diff --git a/include/igl/ismember.cpp b/include/igl/ismember.cpp
    index ff90313f5..e3c3fd492 100644
    --- a/include/igl/ismember.cpp
    +++ b/include/igl/ismember.cpp
    @@ -12,6 +12,7 @@
     #include "sortrows.h"
     #include "unique.h"
     #include "unique_rows.h"
    +#include 
     
     template <
       typename DerivedA,
    @@ -153,10 +154,11 @@ IGL_INLINE void igl::ismember_rows(
         bool past = false;
         for(int a = 0;a=sB.size();
    +        past = bi>=sB.rows();
           }
           if(!past && (sA.row(a).array()==sB.row(bi).array()).all() )
           {
    @@ -179,4 +181,5 @@ template void igl::ismember, Eigen::Matrix
     template void igl::ismember_rows, Eigen::Matrix, Eigen::Array, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::ismember_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::ismember_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::ismember_rows, Eigen::Matrix, Eigen::Array, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/jet.cpp b/include/igl/jet.cpp
    index d23b2ddac..373f23bcb 100644
    --- a/include/igl/jet.cpp
    +++ b/include/igl/jet.cpp
    @@ -11,46 +11,83 @@
     template 
     IGL_INLINE void igl::jet(const T x, T * rgb)
     {
    -  igl::colormap(x, rgb, igl::CM_JET);
    +  igl::colormap(igl::COLOR_MAP_TYPE_JET, x, rgb);
     }
     
     template 
     IGL_INLINE void igl::jet(const T x_in, T & r, T & g, T & b)
     {
    -  igl::colormap(x_in, r, g, b, igl::CM_JET);
    +  // Only important if the number of colors is small. In which case the rest is
    +  // still wrong anyway
    +  // x = linspace(0,1,jj)' * (1-1/jj) + 1/jj;
    +  //
    +  const double rone = 0.8;
    +  const double gone = 1.0;
    +  const double bone = 1.0;
    +  T x = x_in;
    +  x = (x_in<0 ? 0 : (x>1 ? 1 : x));
    +
    +  if (x<1. / 8.)
    +  {
    +    r = 0;
    +    g = 0;
    +    b = bone*(0.5 + (x) / (1. / 8.)*0.5);
    +  } else if (x<3. / 8.)
    +  {
    +    r = 0;
    +    g = gone*(x - 1. / 8.) / (3. / 8. - 1. / 8.);
    +    b = bone;
    +  } else if (x<5. / 8.)
    +  {
    +    r = rone*(x - 3. / 8.) / (5. / 8. - 3. / 8.);
    +    g = gone;
    +    b = (bone - (x - 3. / 8.) / (5. / 8. - 3. / 8.));
    +  } else if (x<7. / 8.)
    +  {
    +    r = rone;
    +    g = (gone - (x - 5. / 8.) / (7. / 8. - 5. / 8.));
    +    b = 0;
    +  } else
    +  {
    +    r = (rone - (x - 7. / 8.) / (1. - 7. / 8.)*0.5);
    +    g = 0;
    +    b = 0;
    +  }
     }
     
     template 
     IGL_INLINE void igl::jet(
    -  const Eigen::PlainObjectBase & Z,
    +  const Eigen::MatrixBase & Z,
       const bool normalize,
       Eigen::PlainObjectBase & C)
     {
    -  igl::colormap(Z, normalize, C, igl::CM_JET);
    +  igl::colormap(igl::COLOR_MAP_TYPE_JET,Z, normalize, C);
     }
     
     template 
     IGL_INLINE void igl::jet(
    -  const Eigen::PlainObjectBase & Z,
    +  const Eigen::MatrixBase & Z,
       const double min_z,
       const double max_z,
       Eigen::PlainObjectBase & C)
     {
    -  igl::colormap(Z, min_z, max_z, C, igl::CM_JET);
    +  igl::colormap(igl::COLOR_MAP_TYPE_JET, Z, min_z, max_z, C);
     }
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
     template void igl::jet(double, double*);
     template void igl::jet(double, double&, double&, double&);
     template void igl::jet(float, float*);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
     template void igl::jet(float, float&, float&, float&);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&);
    -template void igl::jet, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
    +
    +template void igl::jet, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/jet.h b/include/igl/jet.h
    index e8ebb7c0d..411b53af3 100644
    --- a/include/igl/jet.h
    +++ b/include/igl/jet.h
    @@ -33,10 +33,8 @@ namespace igl
       //   g  green value
       //   b  blue value
       template 
    -  [[deprecated("The jet functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void jet(const T f, T * rgb);
       template 
    -  [[deprecated("The jet functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void jet(const T f, T & r, T & g, T & b);
       // Inputs:
       //   Z  #Z list of factors
    @@ -44,18 +42,16 @@ namespace igl
       // Outputs:
       //   C  #C by 3 list of rgb colors
       template 
    -  [[deprecated("The jet functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void jet(
    -    const Eigen::PlainObjectBase & Z,
    +    const Eigen::MatrixBase & Z,
         const bool normalize,
         Eigen::PlainObjectBase & C);
       // Inputs:
       //   min_z  value at blue
       //   max_z  value at red
       template 
    -  [[deprecated("The jet functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void jet(
    -    const Eigen::PlainObjectBase & Z,
    +    const Eigen::MatrixBase & Z,
         const double min_Z,
         const double max_Z,
         Eigen::PlainObjectBase & C);
    diff --git a/include/igl/lim/lim.h b/include/igl/lim/lim.h
    index ab4999d80..c4d3f4ad4 100644
    --- a/include/igl/lim/lim.h
    +++ b/include/igl/lim/lim.h
    @@ -59,7 +59,7 @@ namespace igl
         //--------------------------------------------------------------------------
         // Return values:
         //  Succeeded : Successful optimization with fulfilled tolerance
    -    //  LocalMinima : Convergenged to a local minima / tolerance not fullfilled
    +    //  LocalMinima : Convergenged to a local minima / tolerance not fulfilled
         //  IterationLimit : Max iteration reached before tolerance was fulfilled
         //  Infeasible : not feasible -> has inverted elements (decrease eps?)
       
    diff --git a/include/igl/list_to_matrix.cpp b/include/igl/list_to_matrix.cpp
    index 90ab0e0c7..a1ca1926b 100644
    --- a/include/igl/list_to_matrix.cpp
    +++ b/include/igl/list_to_matrix.cpp
    @@ -162,13 +162,14 @@ template bool igl::list_to_matrix >(std
     template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     
     #ifdef WIN32
    -template bool igl::list_to_matrix >(class std::vector > const &,class Eigen::PlainObjectBase > &);
     template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
    -template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     template bool igl::list_to_matrix >(class std::vector > const &, class Eigen::PlainObjectBase > &);
    +template bool igl::list_to_matrix >(class std::vector > const &,class Eigen::PlainObjectBase > &);
     template bool igl::list_to_matrix >(class std::vector > const &,class Eigen::PlainObjectBase > &);
    +template bool igl::list_to_matrix >(class std::vector > const &,class Eigen::PlainObjectBase > &);
    +template bool igl::list_to_matrix >(std::vector > const&, Eigen::PlainObjectBase >&);
     #endif
     #endif
    diff --git a/include/igl/matlab/mexErrMsgTxt.cpp b/include/igl/matlab/mexErrMsgTxt.cpp
    index bd405faa9..89dda1fa3 100644
    --- a/include/igl/matlab/mexErrMsgTxt.cpp
    +++ b/include/igl/matlab/mexErrMsgTxt.cpp
    @@ -7,9 +7,6 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "mexErrMsgTxt.h"
     
    -// Overload mexErrMsgTxt to check an assertion then print text only if
    -// assertion fails
    -#include "mex.h"
     IGL_INLINE void igl::matlab::mexErrMsgTxt(bool assertion, const char * text)
     {
       if(!assertion)
    diff --git a/include/igl/matlab/mexErrMsgTxt.h b/include/igl/matlab/mexErrMsgTxt.h
    index bdd76e75b..61b838e6e 100644
    --- a/include/igl/matlab/mexErrMsgTxt.h
    +++ b/include/igl/matlab/mexErrMsgTxt.h
    @@ -8,6 +8,9 @@
     #ifndef IGL_MATLAB_MEXERRMSGTXT_H
     #define IGL_MATLAB_MEXERRMSGTXT_H
     #include "../igl_inline.h"
    +// Overload mexErrMsgTxt to check an assertion then print text only if
    +// assertion fails
    +#include "mex.h"
     namespace igl
     {
       namespace matlab
    diff --git a/include/igl/matlab/validate_arg.h b/include/igl/matlab/validate_arg.h
    index 411a30474..db52c68d1 100644
    --- a/include/igl/matlab/validate_arg.h
    +++ b/include/igl/matlab/validate_arg.h
    @@ -16,9 +16,9 @@ namespace igl
         // Throw an error if arg i+1 is not a scalar
         //
         // Inputs:
    -    //   i  index of current arguement
    +    //   i  index of current argument
         //   nrhs  total number of arguments
    -    //   prhs  pointer to arguements array
    +    //   prhs  pointer to arguments array
         //   name   name of current argument
         IGL_INLINE void validate_arg_scalar(
           const int i, const int nrhs, const mxArray * prhs[], const char * name);
    diff --git a/include/igl/matlab_format.h b/include/igl/matlab_format.h
    index 6743176e0..e1f3ff830 100644
    --- a/include/igl/matlab_format.h
    +++ b/include/igl/matlab_format.h
    @@ -22,9 +22,9 @@ namespace igl
       // Templates:
       //   DerivedM  e.g. derived from MatrixXd
       // Input:
    -  //   input  some matrix to be formated
    +  //   input  some matrix to be formatted
       //   name  name of matrix
    -  // Returns  Formated matrix
    +  // Returns  Formatted matrix
       //
       // Example:
       // // M := [1 2 3;4 5 6];
    @@ -44,7 +44,7 @@ namespace igl
       IGL_INLINE const Eigen::WithFormat< DerivedM > matlab_format(
         const Eigen::DenseBase & M,
         const std::string name = "");
    -  // Same but for sparse matrices. Print IJV format into an auxillary variable
    +  // Same but for sparse matrices. Print IJV format into an auxiliary variable
       // and then print a call to sparse which will construct the sparse matrix
       // Example:
       // // S := [0 2 3;4 5 0];
    diff --git a/include/igl/min_quad_with_fixed.cpp b/include/igl/min_quad_with_fixed.cpp
    index aff6619e7..ffb1322c7 100644
    --- a/include/igl/min_quad_with_fixed.cpp
    +++ b/include/igl/min_quad_with_fixed.cpp
    @@ -204,7 +204,7 @@ IGL_INLINE bool igl::min_quad_with_fixed_precompute(
           data.preY.resize(data.unknown_lagrange.size(),0);
         }
     
    -    // Positive definite and no equality constraints (Postive definiteness
    +    // Positive definite and no equality constraints (Positive definiteness
         // implies symmetric)
     #ifdef MIN_QUAD_WITH_FIXED_CPP_DEBUG
         cout<<"    factorize"< solution and results
    +    //   data  object containing options, initial guess --> solution and results
         //   mosek_data  object containing mosek options
         // Outputs:
         //   W  #V by #W list of *unnormalized* weights to normalize use
    diff --git a/include/igl/mosek/mosek_linprog.cpp b/include/igl/mosek/mosek_linprog.cpp
    index d07eb47a3..fe09d5adb 100644
    --- a/include/igl/mosek/mosek_linprog.cpp
    +++ b/include/igl/mosek/mosek_linprog.cpp
    @@ -79,9 +79,9 @@ IGL_INLINE bool igl::mosek::mosek_linprog(
         {
           if(lxj == uxj)
           {
    -        k = MSK_BK_RA;
    -      }else{
             k = MSK_BK_FX;
    +      }else{
    +        k = MSK_BK_RA;
           }
         }else if(isfinite(lxj))
         {
    diff --git a/include/igl/mosek/mosek_quadprog.cpp b/include/igl/mosek/mosek_quadprog.cpp
    index 6126d767d..36d9e873b 100644
    --- a/include/igl/mosek/mosek_quadprog.cpp
    +++ b/include/igl/mosek/mosek_quadprog.cpp
    @@ -28,7 +28,10 @@ igl::mosek::MosekData::MosekData()
       // 1e-4 seems safe
       // 1e-8 MOSEK DEFAULT SOLUTION
       douparam[MSK_DPAR_INTPNT_TOL_REL_GAP]=1e-8;
    -  // Force using multiple threads, not sure if MOSEK is properly destorying
    +#if MSK_VERSION_MAJOR >= 8
    +  douparam[MSK_DPAR_INTPNT_QO_TOL_REL_GAP]=1e-12;
    +#endif
    +  // Force using multiple threads, not sure if MOSEK is properly destroying
       //extra threads...
     #if MSK_VERSION_MAJOR >= 7
       intparam[MSK_IPAR_NUM_THREADS] = 6;
    @@ -50,7 +53,7 @@ igl::mosek::MosekData::MosekData()
       //   choose the right ordering method when really any of them are
       //   instantaneous
       intparam[MSK_IPAR_INTPNT_ORDER_METHOD] = MSK_ORDER_METHOD_NONE;
    -  // 1.0 means optimizer is very leniant about declaring model infeasible
    +  // 1.0 means optimizer is very lenient about declaring model infeasible
       douparam[MSK_DPAR_INTPNT_TOL_INFEAS] = 1e-8;
       // Hard to say if this is doing anything, probably nothing dramatic
       douparam[MSK_DPAR_INTPNT_TOL_PSAFE]= 1e2;
    diff --git a/include/igl/n_polyvector.cpp b/include/igl/n_polyvector.cpp
    deleted file mode 100644
    index 80bd12945..000000000
    --- a/include/igl/n_polyvector.cpp
    +++ /dev/null
    @@ -1,518 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "LinSpaced.h"
    -#include "n_polyvector.h"
    -#include "edge_topology.h"
    -#include "local_basis.h"
    -#include "nchoosek.h"
    -#include "slice.h"
    -#include "polyroots.h"
    -#include "igl_inline.h"
    -#include 
    -
    -#include 
    -#include 
    -#include 
    -
    -namespace igl {
    -  template 
    -  class PolyVectorFieldFinder
    -  {
    -  private:
    -    const Eigen::PlainObjectBase &V;
    -    const Eigen::PlainObjectBase &F; int numF;
    -    const int n;
    -
    -    Eigen::MatrixXi EV; int numE;
    -    Eigen::MatrixXi F2E;
    -    Eigen::MatrixXi E2F;
    -    Eigen::VectorXd K;
    -
    -    Eigen::VectorXi isBorderEdge;
    -    int numInteriorEdges;
    -    Eigen::Matrix E2F_int;
    -    Eigen::VectorXi indInteriorToFull;
    -    Eigen::VectorXi indFullToInterior;
    -
    -    DerivedV B1, B2, FN;
    -
    -    IGL_INLINE void computek();
    -    IGL_INLINE void setFieldFromGeneralCoefficients(const  std::vector, Eigen::Dynamic,1> > &coeffs,
    -                                                    std::vector > &pv);
    -    IGL_INLINE void computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D);
    -    IGL_INLINE void getGeneralCoeffConstraints(const Eigen::VectorXi &isConstrained,
    -                                    const Eigen::Matrix &cfW,
    -                                    int k,
    -                                    Eigen::Matrix, Eigen::Dynamic,1> &Ck);
    -    IGL_INLINE void precomputeInteriorEdges();
    -
    -
    -    IGL_INLINE void minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                                         const Eigen::SparseMatrix > &f,
    -                                         const Eigen::VectorXi isConstrained,
    -                                         const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                                         Eigen::Matrix, Eigen::Dynamic, 1> &x);
    -
    -  public:
    -    IGL_INLINE PolyVectorFieldFinder(const Eigen::PlainObjectBase &_V,
    -                                     const Eigen::PlainObjectBase &_F,
    -                                     const int &_n);
    -    IGL_INLINE bool solve(const Eigen::VectorXi &isConstrained,
    -               const Eigen::Matrix &cfW,
    -               Eigen::Matrix &output);
    -
    -  };
    -}
    -
    -template
    -IGL_INLINE igl::PolyVectorFieldFinder::
    -          PolyVectorFieldFinder(const Eigen::PlainObjectBase &_V,
    -                                const Eigen::PlainObjectBase &_F,
    -                                const int &_n):
    -V(_V),
    -F(_F),
    -numF(_F.rows()),
    -n(_n)
    -{
    -
    -  igl::edge_topology(V,F,EV,F2E,E2F);
    -  numE = EV.rows();
    -
    -
    -  precomputeInteriorEdges();
    -
    -  igl::local_basis(V,F,B1,B2,FN);
    -
    -  computek();
    -
    -};
    -
    -
    -template
    -IGL_INLINE void igl::PolyVectorFieldFinder::
    -precomputeInteriorEdges()
    -{
    -  // Flag border edges
    -  numInteriorEdges = 0;
    -  isBorderEdge.setZero(numE,1);
    -  indFullToInterior = -1*Eigen::VectorXi::Ones(numE,1);
    -
    -  for(unsigned i=0; i
    -IGL_INLINE void igl::PolyVectorFieldFinder::
    -minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                          const Eigen::SparseMatrix > &f,
    -                     const Eigen::VectorXi isConstrained,
    -                          const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                          Eigen::Matrix, Eigen::Dynamic, 1> &x)
    -{
    -  int N = Q.rows();
    -
    -  int nc = xknown.rows();
    -  Eigen::VectorXi known; known.setZero(nc,1);
    -  Eigen::VectorXi unknown; unknown.setZero(N-nc,1);
    -
    -  int indk = 0, indu = 0;
    -  for (int i = 0; i > Quu, Quk;
    -
    -  igl::slice(Q,unknown, unknown, Quu);
    -  igl::slice(Q,unknown, known, Quk);
    -
    -
    -  std::vector > > tripletList;
    -
    -  Eigen::SparseMatrix > fu(N-nc,1);
    -
    -  igl::slice(f,unknown, Eigen::VectorXi::Zero(1,1), fu);
    -
    -  Eigen::SparseMatrix > rhs = (Quk*xknown).sparseView()+.5*fu;
    -
    -  Eigen::SparseLU< Eigen::SparseMatrix > > solver;
    -  solver.compute(-Quu);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Decomposition failed!"< >  b  = solver.solve(rhs);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Solving failed!"<
    -IGL_INLINE bool igl::PolyVectorFieldFinder::
    -                     solve(const Eigen::VectorXi &isConstrained,
    -                           const Eigen::Matrix &cfW,
    -                           Eigen::Matrix &output)
    -{
    -
    -  // polynomial is of the form:
    -  // (-1)^0 z^(2n) +
    -  // (-1)^1 c[0]z^(2n-2) +
    -  // (-1)^2 c[1]z^(2n-4) +
    -  // (-1)^3 c[2]z^(2n-6) +
    -  // ... +
    -  // (-1)^n c[n-1]
    -
    -  std::vector, Eigen::Dynamic,1> > coeffs(n,Eigen::Matrix, Eigen::Dynamic,1>::Zero(numF, 1));
    -
    -  for (int i =0; i, Eigen::Dynamic,1> Ck;
    -    getGeneralCoeffConstraints(isConstrained,
    -                               cfW,
    -                               i,
    -                               Ck);
    -
    -    Eigen::SparseMatrix > DD;
    -    computeCoefficientLaplacian(degree, DD);
    -    Eigen::SparseMatrix > f; f.resize(numF,1);
    -
    -    minQuadWithKnownMini(DD, f, isConstrained, Ck, coeffs[i]);
    -  }
    -
    -  std::vector > pv;
    -  setFieldFromGeneralCoefficients(coeffs, pv);
    -
    -  output.setZero(numF,3*n);
    -  for (int fi=0; fi &b1 = B1.row(fi);
    -    const Eigen::Matrix &b2 = B2.row(fi);
    -    for (int i=0; i
    -IGL_INLINE void igl::PolyVectorFieldFinder::setFieldFromGeneralCoefficients(const  std::vector, Eigen::Dynamic,1> > &coeffs,
    -                                                            std::vector > &pv)
    -{
    -  pv.assign(n, Eigen::Matrix::Zero(numF, 2));
    -  for (int i = 0; i , Eigen::Dynamic,1> polyCoeff;
    -    polyCoeff.setZero(2*n+1,1);
    -    polyCoeff[0] = 1.;
    -    int sign = 1;
    -    for (int k =0; k, Eigen::Dynamic,1> roots;
    -    igl::polyRoots, typename DerivedV::Scalar >(polyCoeff,roots);
    -
    -    Eigen::VectorXi done; done.setZero(2*n,1);
    -
    -    Eigen::Matrix, Eigen::Dynamic,1> u(n,1);
    -    int ind =0;
    -    for (int k=0; k<2*n; ++k)
    -    {
    -      if (done[k])
    -        continue;
    -      u[ind] = roots[k];
    -      done[k] = 1;
    -
    -      int mini = -1;
    -      double mind = 1e10;
    -      for (int l =k+1; l<2*n; ++l)
    -      {
    -        double dist = abs(roots[l]+u[ind]);
    -        if (dist
    -IGL_INLINE void igl::PolyVectorFieldFinder::computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D)
    -{
    -  std::vector > > tripletList;
    -
    -  // For every non-border edge
    -  for (unsigned eid=0; eid >(fid0,
    -                                           fid0,
    -                                           std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                           fid1,
    -                                           std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid0,
    -                                           fid1,
    -                                                                                     -1.*std::polar(1.,-1.*n*K[eid])));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                           fid0,
    -                                                                                     -1.*std::polar(1.,1.*n*K[eid])));
    -
    -    }
    -  }
    -  D.resize(numF,numF);
    -  D.setFromTriplets(tripletList.begin(), tripletList.end());
    -
    -
    -}
    -
    -template
    -IGL_INLINE void igl::PolyVectorFieldFinder::getGeneralCoeffConstraints(const Eigen::VectorXi &isConstrained,
    -                                                       const Eigen::Matrix &cfW,
    -                                                       int k,
    -                                                       Eigen::Matrix, Eigen::Dynamic,1> &Ck)
    -{
    -  int numConstrained = isConstrained.sum();
    -  Ck.resize(numConstrained,1);
    -  int n = cfW.cols()/3;
    -
    -  Eigen::MatrixXi allCombs;
    -  {
    -    Eigen::VectorXi V = igl::LinSpaced(n,0,n-1);
    -    igl::nchoosek(V,k+1,allCombs);
    -  }
    -
    -
    -  int ind = 0;
    -  for (int fi = 0; fi  &b1 = B1.row(fi);
    -    const Eigen::Matrix &b2 = B2.row(fi);
    -    if(isConstrained[fi])
    -    {
    -      std::complex ck(0);
    -
    -      for (int j = 0; j < allCombs.rows(); ++j)
    -      {
    -        std::complex tk(1.);
    -        //collect products
    -        for (int i = 0; i < allCombs.cols(); ++i)
    -        {
    -          int index = allCombs(j,i);
    -
    -          const Eigen::Matrix &w = cfW.block(fi,3*index,1,3);
    -          typename DerivedV::Scalar w0 = w.dot(b1);
    -          typename DerivedV::Scalar w1 = w.dot(b2);
    -          std::complex u(w0,w1);
    -          tk*= u*u;
    -        }
    -        //collect sum
    -        ck += tk;
    -      }
    -      Ck(ind) = ck;
    -      ind ++;
    -    }
    -  }
    -
    -
    -}
    -
    -template
    -IGL_INLINE void igl::PolyVectorFieldFinder::computek()
    -{
    -  K.setZero(numE);
    -  // For every non-border edge
    -  for (unsigned eid=0; eid N0 = FN.row(fid0);
    -      Eigen::Matrix N1 = FN.row(fid1);
    -
    -      // find common edge on triangle 0 and 1
    -      int fid0_vc = -1;
    -      int fid1_vc = -1;
    -      for (unsigned i=0;i<3;++i)
    -      {
    -        if (F2E(fid0,i) == eid)
    -          fid0_vc = i;
    -        if (F2E(fid1,i) == eid)
    -          fid1_vc = i;
    -      }
    -      assert(fid0_vc != -1);
    -      assert(fid1_vc != -1);
    -
    -      Eigen::Matrix common_edge = V.row(F(fid0,(fid0_vc+1)%3)) - V.row(F(fid0,fid0_vc));
    -      common_edge.normalize();
    -
    -      // Map the two triangles in a new space where the common edge is the x axis and the N0 the z axis
    -      Eigen::Matrix P;
    -      Eigen::Matrix o = V.row(F(fid0,fid0_vc));
    -      Eigen::Matrix tmp = -N0.cross(common_edge);
    -      P << common_edge, tmp, N0;
    -//      P.transposeInPlace();
    -
    -
    -      Eigen::Matrix V0;
    -      V0.row(0) = V.row(F(fid0,0)) -o;
    -      V0.row(1) = V.row(F(fid0,1)) -o;
    -      V0.row(2) = V.row(F(fid0,2)) -o;
    -
    -      V0 = (P*V0.transpose()).transpose();
    -
    -//      assert(V0(0,2) < 1e-10);
    -//      assert(V0(1,2) < 1e-10);
    -//      assert(V0(2,2) < 1e-10);
    -
    -      Eigen::Matrix V1;
    -      V1.row(0) = V.row(F(fid1,0)) -o;
    -      V1.row(1) = V.row(F(fid1,1)) -o;
    -      V1.row(2) = V.row(F(fid1,2)) -o;
    -      V1 = (P*V1.transpose()).transpose();
    -
    -//      assert(V1(fid1_vc,2) < 10e-10);
    -//      assert(V1((fid1_vc+1)%3,2) < 10e-10);
    -
    -      // compute rotation R such that R * N1 = N0
    -      // i.e. map both triangles to the same plane
    -      double alpha = -atan2(V1((fid1_vc+2)%3,2),V1((fid1_vc+2)%3,1));
    -
    -      Eigen::Matrix R;
    -      R << 1,          0,            0,
    -      0, cos(alpha), -sin(alpha) ,
    -      0, sin(alpha),  cos(alpha);
    -      V1 = (R*V1.transpose()).transpose();
    -
    -//      assert(V1(0,2) < 1e-10);
    -//      assert(V1(1,2) < 1e-10);
    -//      assert(V1(2,2) < 1e-10);
    -
    -      // measure the angle between the reference frames
    -      // k_ij is the angle between the triangle on the left and the one on the right
    -      Eigen::Matrix ref0 = V0.row(1) - V0.row(0);
    -      Eigen::Matrix ref1 = V1.row(1) - V1.row(0);
    -
    -      ref0.normalize();
    -      ref1.normalize();
    -
    -      double ktemp = atan2(ref1(1),ref1(0)) - atan2(ref0(1),ref0(0));
    -
    -      // just to be sure, rotate ref0 using angle ktemp...
    -      Eigen::Matrix R2;
    -      R2 << cos(ktemp), -sin(ktemp), sin(ktemp), cos(ktemp);
    -
    -      Eigen::Matrix tmp1 = R2*(ref0.head(2)).transpose();
    -
    -//      assert(tmp1(0) - ref1(0) < 1e-10);
    -//      assert(tmp1(1) - ref1(1) < 1e-10);
    -
    -      K[eid] = ktemp;
    -    }
    -  }
    -
    -}
    -
    -
    -IGL_INLINE void igl::n_polyvector(const Eigen::MatrixXd &V,
    -                             const Eigen::MatrixXi &F,
    -                             const Eigen::VectorXi& b,
    -                             const Eigen::MatrixXd& bc,
    -                             Eigen::MatrixXd &output)
    -{
    -  Eigen::VectorXi isConstrained = Eigen::VectorXi::Constant(F.rows(),0);
    -  Eigen::MatrixXd cfW = Eigen::MatrixXd::Constant(F.rows(),bc.cols(),0);
    -
    -  for(unsigned i=0; i pvff(V,F,n);
    -  pvff.solve(isConstrained, cfW, output);
    -}
    -
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -#endif
    diff --git a/include/igl/n_polyvector.h b/include/igl/n_polyvector.h
    deleted file mode 100644
    index ba34c5384..000000000
    --- a/include/igl/n_polyvector.h
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_N_POLYVECTOR
    -#define IGL_N_POLYVECTOR
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  //todo
    -  /// Given 2 vectors centered on origin calculate the rotation matrix from first to the second
    -
    -  // Inputs:
    -  //   v0, v1         the two #3 by 1 vectors
    -  //   normalized     boolean, if false, then the vectors are normalized prior to the calculation
    -  // Output:
    -  //                  3 by 3 rotation matrix that takes v0 to v1
    -  //
    -
    -  IGL_INLINE void n_polyvector(const Eigen::MatrixXd& V,
    -                               const Eigen::MatrixXi& F,
    -                               const Eigen::VectorXi& b,
    -                               const Eigen::MatrixXd& bc,
    -                               Eigen::MatrixXd &output);
    -
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "n_polyvector.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_N_POLYVECTOR) */
    diff --git a/include/igl/n_polyvector_general.cpp b/include/igl/n_polyvector_general.cpp
    deleted file mode 100644
    index 1e54a3b81..000000000
    --- a/include/igl/n_polyvector_general.cpp
    +++ /dev/null
    @@ -1,492 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "LinSpaced.h"
    -#include "n_polyvector_general.h"
    -#include "edge_topology.h"
    -#include "local_basis.h"
    -#include "nchoosek.h"
    -#include "slice.h"
    -#include "polyroots.h"
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -namespace igl {
    -  template 
    -  class GeneralPolyVectorFieldFinder
    -  {
    -  private:
    -    const Eigen::PlainObjectBase &V;
    -    const Eigen::PlainObjectBase &F; int numF;
    -    const int n;
    -
    -    Eigen::MatrixXi EV; int numE;
    -    Eigen::MatrixXi F2E;
    -    Eigen::MatrixXi E2F;
    -    Eigen::VectorXd K;
    -
    -    Eigen::VectorXi isBorderEdge;
    -    int numInteriorEdges;
    -    Eigen::Matrix E2F_int;
    -    Eigen::VectorXi indInteriorToFull;
    -    Eigen::VectorXi indFullToInterior;
    -
    -    DerivedV B1, B2, FN;
    -
    -    IGL_INLINE void computek();
    -    IGL_INLINE void setFieldFromGeneralCoefficients(const  std::vector, Eigen::Dynamic,1>> &coeffs,
    -                                                    std::vector > &pv);
    -    IGL_INLINE void computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D);
    -    IGL_INLINE void getGeneralCoeffConstraints(const Eigen::VectorXi &isConstrained,
    -                                    const Eigen::Matrix &cfW,
    -                                    int k,
    -                                    const Eigen::VectorXi &rootsIndex,
    -                                    Eigen::Matrix, Eigen::Dynamic,1> &Ck);
    -    IGL_INLINE void precomputeInteriorEdges();
    -
    -
    -    IGL_INLINE void minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                                         const Eigen::SparseMatrix > &f,
    -                                         const Eigen::VectorXi isConstrained,
    -                                         const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                                         Eigen::Matrix, Eigen::Dynamic, 1> &x);
    -
    -  public:
    -    IGL_INLINE GeneralPolyVectorFieldFinder(const Eigen::PlainObjectBase &_V,
    -                                     const Eigen::PlainObjectBase &_F,
    -                                     const int &_n);
    -    IGL_INLINE bool solve(const Eigen::VectorXi &isConstrained,
    -               const Eigen::Matrix &cfW,
    -               const Eigen::VectorXi &rootsIndex,
    -               Eigen::Matrix &output);
    -
    -  };
    -}
    -
    -template
    -IGL_INLINE igl::GeneralPolyVectorFieldFinder::
    -          GeneralPolyVectorFieldFinder(const Eigen::PlainObjectBase &_V,
    -                                const Eigen::PlainObjectBase &_F,
    -                                const int &_n):
    -V(_V),
    -F(_F),
    -numF(_F.rows()),
    -n(_n)
    -{
    -
    -  igl::edge_topology(V,F,EV,F2E,E2F);
    -  numE = EV.rows();
    -
    -
    -  precomputeInteriorEdges();
    -
    -  igl::local_basis(V,F,B1,B2,FN);
    -
    -  computek();
    -
    -};
    -
    -
    -template
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::
    -precomputeInteriorEdges()
    -{
    -  // Flag border edges
    -  numInteriorEdges = 0;
    -  isBorderEdge.setZero(numE,1);
    -  indFullToInterior = -1*Eigen::VectorXi::Ones(numE,1);
    -
    -  for(unsigned i=0; i
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::
    -minQuadWithKnownMini(const Eigen::SparseMatrix > &Q,
    -                          const Eigen::SparseMatrix > &f,
    -                     const Eigen::VectorXi isConstrained,
    -                          const Eigen::Matrix, Eigen::Dynamic, 1> &xknown,
    -                          Eigen::Matrix, Eigen::Dynamic, 1> &x)
    -{
    -  int N = Q.rows();
    -
    -  int nc = xknown.rows();
    -  Eigen::VectorXi known; known.setZero(nc,1);
    -  Eigen::VectorXi unknown; unknown.setZero(N-nc,1);
    -
    -  int indk = 0, indu = 0;
    -  for (int i = 0; i> Quu, Quk;
    -
    -  igl::slice(Q,unknown, unknown, Quu);
    -  igl::slice(Q,unknown, known, Quk);
    -
    -
    -  std::vector > > tripletList;
    -
    -  Eigen::SparseMatrix > fu(N-nc,1);
    -
    -  igl::slice(f,unknown, Eigen::VectorXi::Zero(1,1), fu);
    -
    -  Eigen::SparseMatrix > rhs = (Quk*xknown).sparseView()+.5*fu;
    -
    -  Eigen::SparseLU< Eigen::SparseMatrix>> solver;
    -  solver.compute(-Quu);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Decomposition failed!"<>  b  = solver.solve(rhs);
    -  if(solver.info()!=Eigen::Success)
    -  {
    -    std::cerr<<"Solving failed!"<
    -IGL_INLINE bool igl::GeneralPolyVectorFieldFinder::
    -                     solve(const Eigen::VectorXi &isConstrained,
    -                           const Eigen::Matrix &cfW,
    -                           const Eigen::VectorXi &rootsIndex,
    -                           Eigen::Matrix &output)
    -{
    -  // polynomial is of the form:
    -  // z^(2n) +
    -  // -c[0]z^(2n-1) +
    -  // c[1]z^(2n-2) +
    -  // -c[2]z^(2n-3) +
    -  // ... +
    -  // (-1)^n c[n-1]
    -  std::vector, Eigen::Dynamic,1>> coeffs(n,Eigen::Matrix, Eigen::Dynamic,1>::Zero(numF, 1));
    -  for (int i =0; i, Eigen::Dynamic,1> Ck;
    -    getGeneralCoeffConstraints(isConstrained,
    -                               cfW,
    -                               i,
    -                               rootsIndex,
    -                               Ck);
    -
    -    Eigen::SparseMatrix > DD;
    -    computeCoefficientLaplacian(degree, DD);
    -    Eigen::SparseMatrix > f; f.resize(numF,1);
    -
    -    if (isConstrained.sum() == numF)
    -      coeffs[i] = Ck;
    -    else
    -      minQuadWithKnownMini(DD, f, isConstrained, Ck, coeffs[i]);
    -  }
    -  std::vector > pv;
    -  setFieldFromGeneralCoefficients(coeffs, pv);
    -  output.setZero(numF,3*n);
    -  for (int fi=0; fi &b1 = B1.row(fi);
    -    const Eigen::Matrix &b2 = B2.row(fi);
    -    for (int i=0; i
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::setFieldFromGeneralCoefficients(const  std::vector, Eigen::Dynamic,1>> &coeffs,
    -                                                            std::vector> &pv)
    -{
    -  pv.assign(n, Eigen::Matrix::Zero(numF, 2));
    -  for (int i = 0; i , Eigen::Dynamic,1> polyCoeff;
    -    polyCoeff.setZero(n+1,1);
    -    polyCoeff[0] = 1.;
    -    int sign = 1;
    -    for (int k =0; k, Eigen::Dynamic,1> roots;
    -    igl::polyRoots, typename DerivedV::Scalar >(polyCoeff,roots);
    -    for (int k=0; k
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::computeCoefficientLaplacian(int n, Eigen::SparseMatrix > &D)
    -{
    -  std::vector >> tripletList;
    -
    -  // For every non-border edge
    -  for (unsigned eid=0; eid >(fid0,
    -                                           fid0,
    -                                           std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                           fid1,
    -                                           std::complex(1.)));
    -      tripletList.push_back(Eigen::Triplet >(fid0,
    -                                           fid1,
    -                                                                                     -1.*std::polar(1.,-1.*n*K[eid])));
    -      tripletList.push_back(Eigen::Triplet >(fid1,
    -                                           fid0,
    -                                                                                     -1.*std::polar(1.,1.*n*K[eid])));
    -
    -    }
    -  }
    -  D.resize(numF,numF);
    -  D.setFromTriplets(tripletList.begin(), tripletList.end());
    -
    -
    -}
    -
    -//this gives the coefficients without the (-1)^k that multiplies them
    -template
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::getGeneralCoeffConstraints(const Eigen::VectorXi &isConstrained,
    -                                                       const Eigen::Matrix &cfW,
    -                                                       int k,
    -                                                       const Eigen::VectorXi &rootsIndex,
    -                                                       Eigen::Matrix, Eigen::Dynamic,1> &Ck)
    -{
    -  int numConstrained = isConstrained.sum();
    -  Ck.resize(numConstrained,1);
    -  // int n = rootsIndex.cols();
    -
    -  Eigen::MatrixXi allCombs;
    -  {
    -    Eigen::VectorXi V = igl::LinSpaced(n,0,n-1);
    -    igl::nchoosek(V,k+1,allCombs);
    -  }
    -
    -  int ind = 0;
    -  for (int fi = 0; fi  &b1 = B1.row(fi);
    -    const Eigen::Matrix &b2 = B2.row(fi);
    -    if(isConstrained[fi])
    -    {
    -      std::complex ck(0);
    -
    -      for (int j = 0; j < allCombs.rows(); ++j)
    -      {
    -        std::complex tk(1.);
    -        //collect products
    -        for (int i = 0; i < allCombs.cols(); ++i)
    -        {
    -          int index = allCombs(j,i);
    -
    -          int ri = rootsIndex[index];
    -          Eigen::Matrix w;
    -          if (ri>0)
    -            w = cfW.block(fi,3*(ri-1),1,3);
    -          else
    -            w = -cfW.block(fi,3*(-ri-1),1,3);
    -          typename DerivedV::Scalar w0 = w.dot(b1);
    -          typename DerivedV::Scalar w1 = w.dot(b2);
    -          std::complex u(w0,w1);
    -          tk*= u;
    -        }
    -        //collect sum
    -        ck += tk;
    -      }
    -      Ck(ind) = ck;
    -      ind ++;
    -    }
    -  }
    -
    -
    -}
    -
    -template
    -IGL_INLINE void igl::GeneralPolyVectorFieldFinder::computek()
    -{
    -  K.setZero(numE);
    -  // For every non-border edge
    -  for (unsigned eid=0; eid N0 = FN.row(fid0);
    -      Eigen::Matrix N1 = FN.row(fid1);
    -
    -      // find common edge on triangle 0 and 1
    -      int fid0_vc = -1;
    -      int fid1_vc = -1;
    -      for (unsigned i=0;i<3;++i)
    -      {
    -        if (F2E(fid0,i) == eid)
    -          fid0_vc = i;
    -        if (F2E(fid1,i) == eid)
    -          fid1_vc = i;
    -      }
    -      assert(fid0_vc != -1);
    -      assert(fid1_vc != -1);
    -
    -      Eigen::Matrix common_edge = V.row(F(fid0,(fid0_vc+1)%3)) - V.row(F(fid0,fid0_vc));
    -      common_edge.normalize();
    -
    -      // Map the two triangles in a new space where the common edge is the x axis and the N0 the z axis
    -      Eigen::Matrix P;
    -      Eigen::Matrix o = V.row(F(fid0,fid0_vc));
    -      Eigen::Matrix tmp = -N0.cross(common_edge);
    -      P << common_edge, tmp, N0;
    -//      P.transposeInPlace();
    -
    -
    -      Eigen::Matrix V0;
    -      V0.row(0) = V.row(F(fid0,0)) -o;
    -      V0.row(1) = V.row(F(fid0,1)) -o;
    -      V0.row(2) = V.row(F(fid0,2)) -o;
    -
    -      V0 = (P*V0.transpose()).transpose();
    -
    -//      assert(V0(0,2) < 1e-10);
    -//      assert(V0(1,2) < 1e-10);
    -//      assert(V0(2,2) < 1e-10);
    -
    -      Eigen::Matrix V1;
    -      V1.row(0) = V.row(F(fid1,0)) -o;
    -      V1.row(1) = V.row(F(fid1,1)) -o;
    -      V1.row(2) = V.row(F(fid1,2)) -o;
    -      V1 = (P*V1.transpose()).transpose();
    -
    -//      assert(V1(fid1_vc,2) < 10e-10);
    -//      assert(V1((fid1_vc+1)%3,2) < 10e-10);
    -
    -      // compute rotation R such that R * N1 = N0
    -      // i.e. map both triangles to the same plane
    -      double alpha = -atan2(V1((fid1_vc+2)%3,2),V1((fid1_vc+2)%3,1));
    -
    -      Eigen::Matrix R;
    -      R << 1,          0,            0,
    -      0, cos(alpha), -sin(alpha) ,
    -      0, sin(alpha),  cos(alpha);
    -      V1 = (R*V1.transpose()).transpose();
    -
    -//      assert(V1(0,2) < 1e-10);
    -//      assert(V1(1,2) < 1e-10);
    -//      assert(V1(2,2) < 1e-10);
    -
    -      // measure the angle between the reference frames
    -      // k_ij is the angle between the triangle on the left and the one on the right
    -      Eigen::Matrix ref0 = V0.row(1) - V0.row(0);
    -      Eigen::Matrix ref1 = V1.row(1) - V1.row(0);
    -
    -      ref0.normalize();
    -      ref1.normalize();
    -
    -      double ktemp = atan2(ref1(1),ref1(0)) - atan2(ref0(1),ref0(0));
    -
    -      // just to be sure, rotate ref0 using angle ktemp...
    -      Eigen::Matrix R2;
    -      R2 << cos(ktemp), -sin(ktemp), sin(ktemp), cos(ktemp);
    -
    -      Eigen::Matrix tmp1 = R2*(ref0.head(2)).transpose();
    -
    -//      assert(tmp1(0) - ref1(0) < 1e-10);
    -//      assert(tmp1(1) - ref1(1) < 1e-10);
    -
    -      K[eid] = ktemp;
    -    }
    -  }
    -
    -}
    -
    -
    -IGL_INLINE void igl::n_polyvector_general(const Eigen::MatrixXd &V,
    -                             const Eigen::MatrixXi &F,
    -                             const Eigen::VectorXi& b,
    -                             const Eigen::MatrixXd& bc,
    -                             const Eigen::VectorXi &I,
    -                             Eigen::MatrixXd &output)
    -{
    -  Eigen::VectorXi isConstrained = Eigen::VectorXi::Constant(F.rows(),0);
    -  Eigen::MatrixXd cfW = Eigen::MatrixXd::Constant(F.rows(),bc.cols(),0);
    -
    -  for(unsigned i=0; i pvff(V,F,n);
    -  pvff.solve(isConstrained, cfW, I, output);
    -}
    -
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -#endif
    diff --git a/include/igl/n_polyvector_general.h b/include/igl/n_polyvector_general.h
    deleted file mode 100644
    index e8f994440..000000000
    --- a/include/igl/n_polyvector_general.h
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_N_POLYVECTOR_GENERAL
    -#define IGL_N_POLYVECTOR_GENERAL
    -#include "igl_inline.h"
    -
    -#include 
    -
    -namespace igl {
    -  //todo
    -  /// Given 2 vectors centered on origin calculate the rotation matrix from first to the second
    -
    -  // Inputs:
    -  //   v0, v1         the two #3 by 1 vectors
    -  //   normalized     boolean, if false, then the vectors are normalized prior to the calculation
    -  // Output:
    -  //                  3 by 3 rotation matrix that takes v0 to v1
    -  //
    -
    -  IGL_INLINE void n_polyvector_general(const Eigen::MatrixXd& V,
    -                               const Eigen::MatrixXi& F,
    -                               const Eigen::VectorXi& b,
    -                               const Eigen::MatrixXd& bc,
    -                               const Eigen::VectorXi &I,
    -                               Eigen::MatrixXd &output);
    -
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "n_polyvector_general.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_N_POLYVECTOR) */
    diff --git a/include/igl/opengl/MeshGL.cpp b/include/igl/opengl/MeshGL.cpp
    new file mode 100644
    index 000000000..3aee63401
    --- /dev/null
    +++ b/include/igl/opengl/MeshGL.cpp
    @@ -0,0 +1,316 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2014 Daniele Panozzo 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +
    +#include "MeshGL.h"
    +#include "bind_vertex_attrib_array.h"
    +#include "create_shader_program.h"
    +#include "destroy_shader_program.h"
    +#include 
    +
    +IGL_INLINE void igl::opengl::MeshGL::init_buffers()
    +{
    +  // Mesh: Vertex Array Object & Buffer objects
    +  glGenVertexArrays(1, &vao_mesh);
    +  glBindVertexArray(vao_mesh);
    +  glGenBuffers(1, &vbo_V);
    +  glGenBuffers(1, &vbo_V_normals);
    +  glGenBuffers(1, &vbo_V_ambient);
    +  glGenBuffers(1, &vbo_V_diffuse);
    +  glGenBuffers(1, &vbo_V_specular);
    +  glGenBuffers(1, &vbo_V_uv);
    +  glGenBuffers(1, &vbo_F);
    +  glGenTextures(1, &vbo_tex);
    +
    +  // Line overlay
    +  glGenVertexArrays(1, &vao_overlay_lines);
    +  glBindVertexArray(vao_overlay_lines);
    +  glGenBuffers(1, &vbo_lines_F);
    +  glGenBuffers(1, &vbo_lines_V);
    +  glGenBuffers(1, &vbo_lines_V_colors);
    +
    +  // Point overlay
    +  glGenVertexArrays(1, &vao_overlay_points);
    +  glBindVertexArray(vao_overlay_points);
    +  glGenBuffers(1, &vbo_points_F);
    +  glGenBuffers(1, &vbo_points_V);
    +  glGenBuffers(1, &vbo_points_V_colors);
    +
    +  dirty = MeshGL::DIRTY_ALL;
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::free_buffers()
    +{
    +  if (is_initialized)
    +  {
    +    glDeleteVertexArrays(1, &vao_mesh);
    +    glDeleteVertexArrays(1, &vao_overlay_lines);
    +    glDeleteVertexArrays(1, &vao_overlay_points);
    +
    +    glDeleteBuffers(1, &vbo_V);
    +    glDeleteBuffers(1, &vbo_V_normals);
    +    glDeleteBuffers(1, &vbo_V_ambient);
    +    glDeleteBuffers(1, &vbo_V_diffuse);
    +    glDeleteBuffers(1, &vbo_V_specular);
    +    glDeleteBuffers(1, &vbo_V_uv);
    +    glDeleteBuffers(1, &vbo_F);
    +    glDeleteBuffers(1, &vbo_lines_F);
    +    glDeleteBuffers(1, &vbo_lines_V);
    +    glDeleteBuffers(1, &vbo_lines_V_colors);
    +    glDeleteBuffers(1, &vbo_points_F);
    +    glDeleteBuffers(1, &vbo_points_V);
    +    glDeleteBuffers(1, &vbo_points_V_colors);
    +
    +    glDeleteTextures(1, &vbo_tex);
    +  }
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::bind_mesh()
    +{
    +  glBindVertexArray(vao_mesh);
    +  glUseProgram(shader_mesh);
    +  bind_vertex_attrib_array(shader_mesh,"position", vbo_V, V_vbo, dirty & MeshGL::DIRTY_POSITION);
    +  bind_vertex_attrib_array(shader_mesh,"normal", vbo_V_normals, V_normals_vbo, dirty & MeshGL::DIRTY_NORMAL);
    +  bind_vertex_attrib_array(shader_mesh,"Ka", vbo_V_ambient, V_ambient_vbo, dirty & MeshGL::DIRTY_AMBIENT);
    +  bind_vertex_attrib_array(shader_mesh,"Kd", vbo_V_diffuse, V_diffuse_vbo, dirty & MeshGL::DIRTY_DIFFUSE);
    +  bind_vertex_attrib_array(shader_mesh,"Ks", vbo_V_specular, V_specular_vbo, dirty & MeshGL::DIRTY_SPECULAR);
    +  bind_vertex_attrib_array(shader_mesh,"texcoord", vbo_V_uv, V_uv_vbo, dirty & MeshGL::DIRTY_UV);
    +
    +  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_F);
    +  if (dirty & MeshGL::DIRTY_FACE)
    +    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*F_vbo.size(), F_vbo.data(), GL_DYNAMIC_DRAW);
    +
    +  glActiveTexture(GL_TEXTURE0);
    +  glBindTexture(GL_TEXTURE_2D, vbo_tex);
    +  if (dirty & MeshGL::DIRTY_TEXTURE)
    +  {
    +    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    +    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    +    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    +    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    +    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    +    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex_u, tex_v, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex.data());
    +  }
    +  glUniform1i(glGetUniformLocation(shader_mesh,"tex"), 0);
    +  dirty &= ~MeshGL::DIRTY_MESH;
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::bind_overlay_lines()
    +{
    +  bool is_dirty = dirty & MeshGL::DIRTY_OVERLAY_LINES;
    +
    +  glBindVertexArray(vao_overlay_lines);
    +  glUseProgram(shader_overlay_lines);
    + bind_vertex_attrib_array(shader_overlay_lines,"position", vbo_lines_V, lines_V_vbo, is_dirty);
    + bind_vertex_attrib_array(shader_overlay_lines,"color", vbo_lines_V_colors, lines_V_colors_vbo, is_dirty);
    +
    +  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_lines_F);
    +  if (is_dirty)
    +    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*lines_F_vbo.size(), lines_F_vbo.data(), GL_DYNAMIC_DRAW);
    +
    +  dirty &= ~MeshGL::DIRTY_OVERLAY_LINES;
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::bind_overlay_points()
    +{
    +  bool is_dirty = dirty & MeshGL::DIRTY_OVERLAY_POINTS;
    +
    +  glBindVertexArray(vao_overlay_points);
    +  glUseProgram(shader_overlay_points);
    + bind_vertex_attrib_array(shader_overlay_points,"position", vbo_points_V, points_V_vbo, is_dirty);
    + bind_vertex_attrib_array(shader_overlay_points,"color", vbo_points_V_colors, points_V_colors_vbo, is_dirty);
    +
    +  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_points_F);
    +  if (is_dirty)
    +    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*points_F_vbo.size(), points_F_vbo.data(), GL_DYNAMIC_DRAW);
    +
    +  dirty &= ~MeshGL::DIRTY_OVERLAY_POINTS;
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::draw_mesh(bool solid)
    +{
    +  glPolygonMode(GL_FRONT_AND_BACK, solid ? GL_FILL : GL_LINE);
    +
    +  /* Avoid Z-buffer fighting between filled triangles & wireframe lines */
    +  if (solid)
    +  {
    +    glEnable(GL_POLYGON_OFFSET_FILL);
    +    glPolygonOffset(1.0, 1.0);
    +  }
    +  glDrawElements(GL_TRIANGLES, 3*F_vbo.rows(), GL_UNSIGNED_INT, 0);
    +
    +  glDisable(GL_POLYGON_OFFSET_FILL);
    +  glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::draw_overlay_lines()
    +{
    +  glDrawElements(GL_LINES, lines_F_vbo.rows(), GL_UNSIGNED_INT, 0);
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::draw_overlay_points()
    +{
    +  glDrawElements(GL_POINTS, points_F_vbo.rows(), GL_UNSIGNED_INT, 0);
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::init()
    +{
    +  if(is_initialized)
    +  {
    +    return;
    +  }
    +  is_initialized = true;
    +  std::string mesh_vertex_shader_string =
    +R"(#version 150
    +  uniform mat4 model;
    +  uniform mat4 view;
    +  uniform mat4 proj;
    +  in vec3 position;
    +  in vec3 normal;
    +  out vec3 position_eye;
    +  out vec3 normal_eye;
    +  in vec4 Ka;
    +  in vec4 Kd;
    +  in vec4 Ks;
    +  in vec2 texcoord;
    +  out vec2 texcoordi;
    +  out vec4 Kai;
    +  out vec4 Kdi;
    +  out vec4 Ksi;
    +
    +  void main()
    +  {
    +    position_eye = vec3 (view * model * vec4 (position, 1.0));
    +    normal_eye = vec3 (view * model * vec4 (normal, 0.0));
    +    normal_eye = normalize(normal_eye);
    +    gl_Position = proj * vec4 (position_eye, 1.0); //proj * view * model * vec4(position, 1.0);
    +    Kai = Ka;
    +    Kdi = Kd;
    +    Ksi = Ks;
    +    texcoordi = texcoord;
    +  }
    +)";
    +
    +  std::string mesh_fragment_shader_string = 
    +R"(#version 150
    +  uniform mat4 model;
    +  uniform mat4 view;
    +  uniform mat4 proj;
    +  uniform vec4 fixed_color;
    +  in vec3 position_eye;
    +  in vec3 normal_eye;
    +  uniform vec3 light_position_world;
    +  vec3 Ls = vec3 (1, 1, 1);
    +  vec3 Ld = vec3 (1, 1, 1);
    +  vec3 La = vec3 (1, 1, 1);
    +  in vec4 Ksi;
    +  in vec4 Kdi;
    +  in vec4 Kai;
    +  in vec2 texcoordi;
    +  uniform sampler2D tex;
    +  uniform float specular_exponent;
    +  uniform float lighting_factor;
    +  uniform float texture_factor;
    +  out vec4 outColor;
    +  void main()
    +  {
    +    vec3 Ia = La * vec3(Kai);    // ambient intensity
    +
    +    vec3 light_position_eye = vec3 (view * vec4 (light_position_world, 1.0));
    +    vec3 vector_to_light_eye = light_position_eye - position_eye;
    +    vec3 direction_to_light_eye = normalize (vector_to_light_eye);
    +    float dot_prod = dot (direction_to_light_eye, normal_eye);
    +    float clamped_dot_prod = max (dot_prod, 0.0);
    +    vec3 Id = Ld * vec3(Kdi) * clamped_dot_prod;    // Diffuse intensity
    +
    +    vec3 reflection_eye = reflect (-direction_to_light_eye, normal_eye);
    +    vec3 surface_to_viewer_eye = normalize (-position_eye);
    +    float dot_prod_specular = dot (reflection_eye, surface_to_viewer_eye);
    +    dot_prod_specular = float(abs(dot_prod)==dot_prod) * max (dot_prod_specular, 0.0);
    +    float specular_factor = pow (dot_prod_specular, specular_exponent);
    +    vec3 Is = Ls * vec3(Ksi) * specular_factor;    // specular intensity
    +    vec4 color = vec4(lighting_factor * (Is + Id) + Ia + (1.0-lighting_factor) * vec3(Kdi),(Kai.a+Ksi.a+Kdi.a)/3);
    +    outColor = mix(vec4(1,1,1,1), texture(tex, texcoordi), texture_factor) * color;
    +    if (fixed_color != vec4(0.0)) outColor = fixed_color;
    +  }
    +  )";
    +
    +  std::string overlay_vertex_shader_string =
    +R"(#version 150
    +  uniform mat4 model;
    +  uniform mat4 view;
    +  uniform mat4 proj;
    +  in vec3 position;
    +  in vec3 color;
    +  out vec3 color_frag;
    +
    +  void main()
    +  {
    +    gl_Position = proj * view * model * vec4 (position, 1.0);
    +    color_frag = color;
    +  }
    +)";
    +
    +  std::string overlay_fragment_shader_string =
    +R"(#version 150
    +  in vec3 color_frag;
    +  out vec4 outColor;
    +  void main()
    +  {
    +    outColor = vec4(color_frag, 1.0);
    +  }
    +)";
    +
    +  std::string overlay_point_fragment_shader_string =
    +R"(#version 150
    +  in vec3 color_frag;
    +  out vec4 outColor;
    +  void main()
    +  {
    +    if (length(gl_PointCoord - vec2(0.5)) > 0.5)
    +      discard;
    +    outColor = vec4(color_frag, 1.0);
    +  }
    +)";
    +
    +  init_buffers();
    +  create_shader_program(
    +    mesh_vertex_shader_string,
    +    mesh_fragment_shader_string,
    +    {},
    +    shader_mesh);
    +  create_shader_program(
    +    overlay_vertex_shader_string,
    +    overlay_fragment_shader_string,
    +    {},
    +    shader_overlay_lines);
    +  create_shader_program(
    +    overlay_vertex_shader_string,
    +    overlay_point_fragment_shader_string,
    +    {},
    +    shader_overlay_points);
    +}
    +
    +IGL_INLINE void igl::opengl::MeshGL::free()
    +{
    +  const auto free = [](GLuint & id)
    +  {
    +    if(id)
    +    {
    +      destroy_shader_program(id);
    +      id = 0;
    +    }
    +  };
    +
    +  if (is_initialized)
    +  {
    +    free(shader_mesh);
    +    free(shader_overlay_lines);
    +    free(shader_overlay_points);
    +    free_buffers();
    +  }
    +}
    diff --git a/include/igl/viewer/OpenGL_state.h b/include/igl/opengl/MeshGL.h
    similarity index 62%
    rename from include/igl/viewer/OpenGL_state.h
    rename to include/igl/opengl/MeshGL.h
    index 03cf5cb60..74c358903 100644
    --- a/include/igl/viewer/OpenGL_state.h
    +++ b/include/igl/opengl/MeshGL.h
    @@ -5,32 +5,50 @@
     // This Source Code Form is subject to the terms of the Mozilla Public License
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_OPENGL_STATE_H
    -#define IGL_VIEWER_OPENGL_STATE_H
    +#ifndef IGL_OPENGL_MESHGL_H
    +#define IGL_OPENGL_MESHGL_H
     
    -// Coverts mesh data inside a igl::viewer::ViewerData class in an OpenGL compatible format
    -// The class includes a shader and the opengl calls to plot the data
    +// Coverts mesh data inside a igl::ViewerData class in an OpenGL
    +// compatible format The class includes a shader and the opengl calls to plot
    +// the data
     
     #include 
    -#include 
    -#include 
    +#include 
     
     namespace igl
     {
    -namespace viewer
    +namespace opengl
     {
     
    -class OpenGL_state
    +class MeshGL
     {
     public:
       typedef unsigned int GLuint;
     
    +  enum DirtyFlags
    +  {
    +    DIRTY_NONE           = 0x0000,
    +    DIRTY_POSITION       = 0x0001,
    +    DIRTY_UV             = 0x0002,
    +    DIRTY_NORMAL         = 0x0004,
    +    DIRTY_AMBIENT        = 0x0008,
    +    DIRTY_DIFFUSE        = 0x0010,
    +    DIRTY_SPECULAR       = 0x0020,
    +    DIRTY_TEXTURE        = 0x0040,
    +    DIRTY_FACE           = 0x0080,
    +    DIRTY_MESH           = 0x00FF,
    +    DIRTY_OVERLAY_LINES  = 0x0100,
    +    DIRTY_OVERLAY_POINTS = 0x0200,
    +    DIRTY_ALL            = 0x03FF
    +  };
    +
    +  bool is_initialized = false;
       GLuint vao_mesh;
       GLuint vao_overlay_lines;
       GLuint vao_overlay_points;
    -  OpenGL_shader shader_mesh;
    -  OpenGL_shader shader_overlay_lines;
    -  OpenGL_shader shader_overlay_points;
    +  GLuint shader_mesh;
    +  GLuint shader_overlay_lines;
    +  GLuint shader_overlay_points;
     
       GLuint vbo_V; // Vertices of the current mesh (#V x 3)
       GLuint vbo_V_uv; // UV coordinates for the current mesh (#V x 2)
    @@ -50,24 +68,25 @@ public:
       GLuint vbo_points_V_colors; // Color values of the point overlay
     
       // Temporary copy of the content of each VBO
    -  Eigen::MatrixXf V_vbo;
    -  Eigen::MatrixXf V_normals_vbo;
    -  Eigen::MatrixXf V_ambient_vbo;
    -  Eigen::MatrixXf V_diffuse_vbo;
    -  Eigen::MatrixXf V_specular_vbo;
    -  Eigen::MatrixXf V_uv_vbo;
    -  Eigen::MatrixXf lines_V_vbo;
    -  Eigen::MatrixXf lines_V_colors_vbo;
    -  Eigen::MatrixXf points_V_vbo;
    -  Eigen::MatrixXf points_V_colors_vbo;
    +  typedef Eigen::Matrix RowMatrixXf;
    +  RowMatrixXf V_vbo;
    +  RowMatrixXf V_normals_vbo;
    +  RowMatrixXf V_ambient_vbo;
    +  RowMatrixXf V_diffuse_vbo;
    +  RowMatrixXf V_specular_vbo;
    +  RowMatrixXf V_uv_vbo;
    +  RowMatrixXf lines_V_vbo;
    +  RowMatrixXf lines_V_colors_vbo;
    +  RowMatrixXf points_V_vbo;
    +  RowMatrixXf points_V_colors_vbo;
     
       int tex_u;
       int tex_v;
       Eigen::Matrix tex;
     
    -  Eigen::Matrix F_vbo;
    -  Eigen::Matrix lines_F_vbo;
    -  Eigen::Matrix points_F_vbo;
    +  Eigen::Matrix F_vbo;
    +  Eigen::Matrix lines_F_vbo;
    +  Eigen::Matrix points_F_vbo;
     
       // Marks dirty buffers that need to be uploaded to OpenGL
       uint32_t dirty;
    @@ -81,9 +100,6 @@ public:
       // Create a new set of OpenGL buffer objects
       IGL_INLINE void init_buffers();
     
    -  // Update contents from a 'Data' instance
    -  IGL_INLINE void set_data(const igl::viewer::ViewerData &data, bool invert_normals);
    -
       // Bind the underlying OpenGL buffer objects for subsequent mesh draw calls
       IGL_INLINE void bind_mesh();
     
    @@ -111,7 +127,7 @@ public:
     }
     
     #ifndef IGL_STATIC_LIBRARY
    -#  include "OpenGL_state.cpp"
    +#  include "MeshGL.cpp"
     #endif
     
     #endif
    diff --git a/include/igl/viewer/ViewerCore.cpp b/include/igl/opengl/ViewerCore.cpp
    similarity index 67%
    rename from include/igl/viewer/ViewerCore.cpp
    rename to include/igl/opengl/ViewerCore.cpp
    index 127e0b9a0..758e5be3a 100644
    --- a/include/igl/viewer/ViewerCore.cpp
    +++ b/include/igl/opengl/ViewerCore.cpp
    @@ -7,18 +7,19 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     
     #include "ViewerCore.h"
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    +#include "gl.h"
    +#include "../quat_to_mat.h"
    +#include "../snap_to_fixed_up.h"
    +#include "../look_at.h"
    +#include "../frustum.h"
    +#include "../ortho.h"
    +#include "../massmatrix.h"
    +#include "../barycenter.h"
    +#include "../PI.h"
     #include 
     #include 
     
    -IGL_INLINE void igl::viewer::ViewerCore::align_camera_center(
    +IGL_INLINE void igl::opengl::ViewerCore::align_camera_center(
       const Eigen::MatrixXd& V,
       const Eigen::MatrixXi& F)
     {
    @@ -33,7 +34,7 @@ IGL_INLINE void igl::viewer::ViewerCore::align_camera_center(
       }
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::get_scale_and_shift_to_fit_mesh(
    +IGL_INLINE void igl::opengl::ViewerCore::get_scale_and_shift_to_fit_mesh(
       const Eigen::MatrixXd& V,
       const Eigen::MatrixXi& F,
       float& zoom,
    @@ -53,7 +54,7 @@ IGL_INLINE void igl::viewer::ViewerCore::get_scale_and_shift_to_fit_mesh(
       return get_scale_and_shift_to_fit_mesh(BC,zoom,shift);
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::align_camera_center(
    +IGL_INLINE void igl::opengl::ViewerCore::align_camera_center(
       const Eigen::MatrixXd& V)
     {
       if(V.rows() == 0)
    @@ -67,7 +68,7 @@ IGL_INLINE void igl::viewer::ViewerCore::align_camera_center(
       }
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::get_scale_and_shift_to_fit_mesh(
    +IGL_INLINE void igl::opengl::ViewerCore::get_scale_and_shift_to_fit_mesh(
       const Eigen::MatrixXd& V,
       float& zoom,
       Eigen::Vector3f& shift)
    @@ -84,7 +85,7 @@ IGL_INLINE void igl::viewer::ViewerCore::get_scale_and_shift_to_fit_mesh(
     }
     
     
    -IGL_INLINE void igl::viewer::ViewerCore::clear_framebuffers()
    +IGL_INLINE void igl::opengl::ViewerCore::clear_framebuffers()
     {
       glClearColor(background_color[0],
                    background_color[1],
    @@ -93,9 +94,8 @@ IGL_INLINE void igl::viewer::ViewerCore::clear_framebuffers()
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::draw(
    +IGL_INLINE void igl::opengl::ViewerCore::draw(
       ViewerData& data,
    -  OpenGL_state& opengl,
       bool update_matrices)
     {
       using namespace std;
    @@ -112,10 +112,10 @@ IGL_INLINE void igl::viewer::ViewerCore::draw(
       /* Bind and potentially refresh mesh/line/point data */
       if (data.dirty)
       {
    -    opengl.set_data(data, invert_normals);
    -    data.dirty = ViewerData::DIRTY_NONE;
    +    data.updateGL(data, data.invert_normals,data.meshgl);
    +    data.dirty = MeshGL::DIRTY_NONE;
       }
    -  opengl.bind_mesh();
    +  data.meshgl.bind_mesh();
     
       // Initialize uniform
       glViewport(viewport(0), viewport(1), viewport(2), viewport(3));
    @@ -162,21 +162,21 @@ IGL_INLINE void igl::viewer::ViewerCore::draw(
       }
     
       // Send transformations to the GPU
    -  GLint modeli = opengl.shader_mesh.uniform("model");
    -  GLint viewi  = opengl.shader_mesh.uniform("view");
    -  GLint proji  = opengl.shader_mesh.uniform("proj");
    +  GLint modeli = glGetUniformLocation(data.meshgl.shader_mesh,"model");
    +  GLint viewi  = glGetUniformLocation(data.meshgl.shader_mesh,"view");
    +  GLint proji  = glGetUniformLocation(data.meshgl.shader_mesh,"proj");
       glUniformMatrix4fv(modeli, 1, GL_FALSE, model.data());
       glUniformMatrix4fv(viewi, 1, GL_FALSE, view.data());
       glUniformMatrix4fv(proji, 1, GL_FALSE, proj.data());
     
       // Light parameters
    -  GLint specular_exponenti    = opengl.shader_mesh.uniform("specular_exponent");
    -  GLint light_position_worldi = opengl.shader_mesh.uniform("light_position_world");
    -  GLint lighting_factori      = opengl.shader_mesh.uniform("lighting_factor");
    -  GLint fixed_colori          = opengl.shader_mesh.uniform("fixed_color");
    -  GLint texture_factori       = opengl.shader_mesh.uniform("texture_factor");
    +  GLint specular_exponenti    = glGetUniformLocation(data.meshgl.shader_mesh,"specular_exponent");
    +  GLint light_position_worldi = glGetUniformLocation(data.meshgl.shader_mesh,"light_position_world");
    +  GLint lighting_factori      = glGetUniformLocation(data.meshgl.shader_mesh,"lighting_factor");
    +  GLint fixed_colori          = glGetUniformLocation(data.meshgl.shader_mesh,"fixed_color");
    +  GLint texture_factori       = glGetUniformLocation(data.meshgl.shader_mesh,"texture_factor");
     
    -  glUniform1f(specular_exponenti, shininess);
    +  glUniform1f(specular_exponenti, data.shininess);
       Vector3f rev_light = -1.*light_position;
       glUniform3fv(light_position_worldi, 1, rev_light.data());
       glUniform1f(lighting_factori, lighting_factor); // enables lighting
    @@ -185,108 +185,72 @@ IGL_INLINE void igl::viewer::ViewerCore::draw(
       if (data.V.rows()>0)
       {
         // Render fill
    -    if (show_faces)
    +    if (data.show_faces)
         {
           // Texture
    -      glUniform1f(texture_factori, show_texture ? 1.0f : 0.0f);
    -      opengl.draw_mesh(true);
    +      glUniform1f(texture_factori, data.show_texture ? 1.0f : 0.0f);
    +      data.meshgl.draw_mesh(true);
           glUniform1f(texture_factori, 0.0f);
         }
     
         // Render wireframe
    -    if (show_lines)
    +    if (data.show_lines)
         {
    -      glLineWidth(line_width);
    -      glUniform4f(fixed_colori, line_color[0], line_color[1],
    -        line_color[2], 1.0f);
    -      opengl.draw_mesh(false);
    +      glLineWidth(data.line_width);
    +      glUniform4f(fixed_colori, 
    +        data.line_color[0], 
    +        data.line_color[1],
    +        data.line_color[2], 1.0f);
    +      data.meshgl.draw_mesh(false);
           glUniform4f(fixed_colori, 0.0f, 0.0f, 0.0f, 0.0f);
         }
    -
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    if (show_vertid)
    -    {
    -      textrenderer.BeginDraw(view*model, proj, viewport, object_scale);
    -      for (int i=0; i 0)
         {
    -      opengl.bind_overlay_lines();
    -      modeli = opengl.shader_overlay_lines.uniform("model");
    -      viewi  = opengl.shader_overlay_lines.uniform("view");
    -      proji  = opengl.shader_overlay_lines.uniform("proj");
    +      data.meshgl.bind_overlay_lines();
    +      modeli = glGetUniformLocation(data.meshgl.shader_overlay_lines,"model");
    +      viewi  = glGetUniformLocation(data.meshgl.shader_overlay_lines,"view");
    +      proji  = glGetUniformLocation(data.meshgl.shader_overlay_lines,"proj");
     
           glUniformMatrix4fv(modeli, 1, GL_FALSE, model.data());
           glUniformMatrix4fv(viewi, 1, GL_FALSE, view.data());
           glUniformMatrix4fv(proji, 1, GL_FALSE, proj.data());
           // This must be enabled, otherwise glLineWidth has no effect
           glEnable(GL_LINE_SMOOTH);
    -      glLineWidth(line_width);
    +      glLineWidth(data.line_width);
     
    -      opengl.draw_overlay_lines();
    +      data.meshgl.draw_overlay_lines();
         }
     
         if (data.points.rows() > 0)
         {
    -      opengl.bind_overlay_points();
    -      modeli = opengl.shader_overlay_points.uniform("model");
    -      viewi  = opengl.shader_overlay_points.uniform("view");
    -      proji  = opengl.shader_overlay_points.uniform("proj");
    +      data.meshgl.bind_overlay_points();
    +      modeli = glGetUniformLocation(data.meshgl.shader_overlay_points,"model");
    +      viewi  = glGetUniformLocation(data.meshgl.shader_overlay_points,"view");
    +      proji  = glGetUniformLocation(data.meshgl.shader_overlay_points,"proj");
     
           glUniformMatrix4fv(modeli, 1, GL_FALSE, model.data());
           glUniformMatrix4fv(viewi, 1, GL_FALSE, view.data());
           glUniformMatrix4fv(proji, 1, GL_FALSE, proj.data());
    -      glPointSize(point_size);
    +      glPointSize(data.point_size);
     
    -      opengl.draw_overlay_points();
    +      data.meshgl.draw_overlay_points();
         }
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    if (data.labels_positions.rows() > 0)
    -    {
    -      textrenderer.BeginDraw(view*model, proj, viewport, object_scale);
    -      for (int i=0; i& R,
       Eigen::Matrix& G,
    @@ -336,7 +300,7 @@ IGL_INLINE void igl::viewer::ViewerCore::draw_buffer(ViewerData& data,
       viewport << 0,0,x,y;
     
       // Draw
    -  draw(data,opengl,update_matrices);
    +  draw(data,update_matrices);
     
       // Restore viewport
       viewport = viewport_ori;
    @@ -371,8 +335,8 @@ IGL_INLINE void igl::viewer::ViewerCore::draw_buffer(ViewerData& data,
       glDeleteFramebuffers(1, &frameBuffer);
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::set_rotation_type(
    -  const igl::viewer::ViewerCore::RotationType & value)
    +IGL_INLINE void igl::opengl::ViewerCore::set_rotation_type(
    +  const igl::opengl::ViewerCore::RotationType & value)
     {
       using namespace Eigen;
       using namespace std;
    @@ -386,14 +350,10 @@ IGL_INLINE void igl::viewer::ViewerCore::set_rotation_type(
     }
     
     
    -IGL_INLINE igl::viewer::ViewerCore::ViewerCore()
    +IGL_INLINE igl::opengl::ViewerCore::ViewerCore()
     {
    -  // Default shininess
    -  shininess = 35.0f;
    -
       // Default colors
       background_color << 0.3f, 0.3f, 0.5f, 1.0f;
    -  line_color << 0.0f, 0.0f, 0.0f, 1.0f;
     
       // Default lights settings
       light_position << 0.0f, -0.30f, -5.0f;
    @@ -417,36 +377,18 @@ IGL_INLINE igl::viewer::ViewerCore::ViewerCore()
       camera_center << 0, 0, 0;
       camera_up << 0, 1, 0;
     
    -  // Default visualization options
    -  show_faces = true;
    -  show_lines = true;
    -  invert_normals = false;
    -  show_overlay = true;
    -  show_overlay_depth = true;
    -  show_vertid = false;
    -  show_faceid = false;
    -  show_texture = false;
       depth_test = true;
     
    -  // Default point size / line width
    -  point_size = 30;
    -  line_width = 0.5f;
       is_animating = false;
       animation_max_fps = 30.;
     
       viewport.setZero();
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::init()
    +IGL_INLINE void igl::opengl::ViewerCore::init()
     {
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  textrenderer.Init();
    -#endif
     }
     
    -IGL_INLINE void igl::viewer::ViewerCore::shut()
    +IGL_INLINE void igl::opengl::ViewerCore::shut()
     {
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  textrenderer.Shut();
    -#endif
     }
    diff --git a/include/igl/viewer/ViewerCore.h b/include/igl/opengl/ViewerCore.h
    similarity index 57%
    rename from include/igl/viewer/ViewerCore.h
    rename to include/igl/opengl/ViewerCore.h
    index 289492c49..620d021f6 100644
    --- a/include/igl/viewer/ViewerCore.h
    +++ b/include/igl/opengl/ViewerCore.h
    @@ -5,14 +5,11 @@
     // This Source Code Form is subject to the terms of the Mozilla Public License
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_VIEWER_CORE_H
    -#define IGL_VIEWER_VIEWER_CORE_H
    +#ifndef IGL_OPENGL_VIEWERCORE_H
    +#define IGL_OPENGL_VIEWERCORE_H
     
    -#include 
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -#include 
    -#endif
    -#include 
    +#include 
    +#include 
     
     #include 
     #include 
    @@ -20,7 +17,7 @@
     
     namespace igl
     {
    -namespace viewer
    +namespace opengl
     {
     
     // Basic class of the 3D mesh viewer
    @@ -73,10 +70,11 @@ public:
       IGL_INLINE void clear_framebuffers();
     
       // Draw everything
    -  IGL_INLINE void draw(ViewerData& data, OpenGL_state& opengl, bool update_matrices = true);
    +  //
    +  // data cannot be const because it is being set to "clean"
    +  IGL_INLINE void draw(ViewerData& data, bool update_matrices = true);
       IGL_INLINE void draw_buffer(
         ViewerData& data,
    -    OpenGL_state& opengl,
         bool update_matrices,
         Eigen::Matrix& R,
         Eigen::Matrix& G,
    @@ -95,17 +93,8 @@ public:
     
       // ------------------- Properties
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  // Text rendering helper
    -  TextRenderer textrenderer;
    -#endif
    -
    -  // Shape material
    -  float shininess;
    -
       // Colors
       Eigen::Vector4f background_color;
    -  Eigen::Vector4f line_color;
     
       // Lighting
       Eigen::Vector3f light_position;
    @@ -119,7 +108,7 @@ public:
       float model_zoom;
       Eigen::Vector3f model_translation;
     
    -  // Model viewing paramters (uv coordinates)
    +  // Model viewing parameters (uv coordinates)
       float model_zoom_uv;
       Eigen::Vector3f model_translation_uv;
     
    @@ -133,21 +122,8 @@ public:
       float camera_dnear;
       float camera_dfar;
     
    -  // Visualization options
    -  bool show_overlay;
    -  bool show_overlay_depth;
    -  bool show_texture;
    -  bool show_faces;
    -  bool show_lines;
    -  bool show_vertid;
    -  bool show_faceid;
    -  bool invert_normals;
       bool depth_test;
     
    -  // Point size / line width
    -  float point_size;
    -  float line_width;
    -
       // Animation
       bool is_animating;
       double animation_max_fps;
    @@ -158,7 +134,8 @@ public:
       // Viewport size
       Eigen::Vector4f viewport;
     
    -  // Save the OpenGL transformation matrices used for the previous rendering pass
    +  // Save the OpenGL transformation matrices used for the previous rendering
    +  // pass
       Eigen::Matrix4f view;
       Eigen::Matrix4f model;
       Eigen::Matrix4f proj;
    @@ -169,76 +146,61 @@ public:
     }
     }
     
    -#ifdef ENABLE_SERIALIZATION
     #include 
     namespace igl {
    -	namespace serialization {
    +  namespace serialization {
     
    -		inline void serialization(bool s, igl::viewer::ViewerCore& obj, std::vector& buffer)
    -		{
    -			SERIALIZE_MEMBER(shininess);
    +    inline void serialization(bool s, igl::opengl::ViewerCore& obj, std::vector& buffer)
    +    {
     
    -			SERIALIZE_MEMBER(background_color);
    -			SERIALIZE_MEMBER(line_color);
    +      SERIALIZE_MEMBER(background_color);
     
    -			SERIALIZE_MEMBER(light_position);
    -			SERIALIZE_MEMBER(lighting_factor);
    +      SERIALIZE_MEMBER(light_position);
    +      SERIALIZE_MEMBER(lighting_factor);
     
    -			SERIALIZE_MEMBER(trackball_angle);
    -			SERIALIZE_MEMBER(rotation_type);
    +      SERIALIZE_MEMBER(trackball_angle);
    +      SERIALIZE_MEMBER(rotation_type);
     
    -			SERIALIZE_MEMBER(model_zoom);
    -			SERIALIZE_MEMBER(model_translation);
    +      SERIALIZE_MEMBER(model_zoom);
    +      SERIALIZE_MEMBER(model_translation);
     
    -			SERIALIZE_MEMBER(model_zoom_uv);
    -			SERIALIZE_MEMBER(model_translation_uv);
    +      SERIALIZE_MEMBER(model_zoom_uv);
    +      SERIALIZE_MEMBER(model_translation_uv);
     
    -			SERIALIZE_MEMBER(camera_zoom);
    -			SERIALIZE_MEMBER(orthographic);
    -			SERIALIZE_MEMBER(camera_view_angle);
    -			SERIALIZE_MEMBER(camera_dnear);
    -			SERIALIZE_MEMBER(camera_dfar);
    -			SERIALIZE_MEMBER(camera_eye);
    -			SERIALIZE_MEMBER(camera_center);
    -			SERIALIZE_MEMBER(camera_up);
    +      SERIALIZE_MEMBER(camera_zoom);
    +      SERIALIZE_MEMBER(orthographic);
    +      SERIALIZE_MEMBER(camera_view_angle);
    +      SERIALIZE_MEMBER(camera_dnear);
    +      SERIALIZE_MEMBER(camera_dfar);
    +      SERIALIZE_MEMBER(camera_eye);
    +      SERIALIZE_MEMBER(camera_center);
    +      SERIALIZE_MEMBER(camera_up);
     
    -			SERIALIZE_MEMBER(show_faces);
    -			SERIALIZE_MEMBER(show_lines);
    -			SERIALIZE_MEMBER(invert_normals);
    -			SERIALIZE_MEMBER(show_overlay);
    -			SERIALIZE_MEMBER(show_overlay_depth);
    -			SERIALIZE_MEMBER(show_vertid);
    -			SERIALIZE_MEMBER(show_faceid);
    -			SERIALIZE_MEMBER(show_texture);
    -			SERIALIZE_MEMBER(depth_test);
    +      SERIALIZE_MEMBER(depth_test);
    +      SERIALIZE_MEMBER(is_animating);
    +      SERIALIZE_MEMBER(animation_max_fps);
     
    -			SERIALIZE_MEMBER(point_size);
    -			SERIALIZE_MEMBER(line_width);
    -			SERIALIZE_MEMBER(is_animating);
    -			SERIALIZE_MEMBER(animation_max_fps);
    +      SERIALIZE_MEMBER(object_scale);
     
    -			SERIALIZE_MEMBER(object_scale);
    +      SERIALIZE_MEMBER(viewport);
    +      SERIALIZE_MEMBER(view);
    +      SERIALIZE_MEMBER(model);
    +      SERIALIZE_MEMBER(proj);
    +    }
     
    -			SERIALIZE_MEMBER(viewport);
    -			SERIALIZE_MEMBER(view);
    -			SERIALIZE_MEMBER(model);
    -			SERIALIZE_MEMBER(proj);
    -		}
    +    template<>
    +    inline void serialize(const igl::opengl::ViewerCore& obj, std::vector& buffer)
    +    {
    +      serialization(true, const_cast(obj), buffer);
    +    }
     
    -		template<>
    -		inline void serialize(const igl::viewer::ViewerCore& obj, std::vector& buffer)
    -		{
    -			serialization(true, const_cast(obj), buffer);
    -		}
    -
    -		template<>
    -		inline void deserialize(igl::viewer::ViewerCore& obj, const std::vector& buffer)
    -		{
    -			serialization(false, obj, const_cast&>(buffer));
    -		}
    +    template<>
    +    inline void deserialize(igl::opengl::ViewerCore& obj, const std::vector& buffer)
    +    {
    +      serialization(false, obj, const_cast&>(buffer));
    +    }
       }
     }
    -#endif
     
     #ifndef IGL_STATIC_LIBRARY
     #  include "ViewerCore.cpp"
    diff --git a/include/igl/opengl/ViewerData.cpp b/include/igl/opengl/ViewerData.cpp
    new file mode 100644
    index 000000000..0a7f2c44b
    --- /dev/null
    +++ b/include/igl/opengl/ViewerData.cpp
    @@ -0,0 +1,691 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2014 Daniele Panozzo 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +
    +#include "ViewerData.h"
    +
    +#include "../per_face_normals.h"
    +#include "../material_colors.h"
    +#include "../parula.h"
    +#include "../per_vertex_normals.h"
    +
    +#include 
    +
    +
    +IGL_INLINE igl::opengl::ViewerData::ViewerData()
    +: dirty(MeshGL::DIRTY_ALL),
    +  show_faces(true),
    +  show_lines(true),
    +  invert_normals(false),
    +  show_overlay(true),
    +  show_overlay_depth(true),
    +  show_vertid(false),
    +  show_faceid(false),
    +  show_texture(false),
    +  point_size(30),
    +  line_width(0.5f),
    +  line_color(0,0,0,1),
    +  shininess(35.0f),
    +  id(-1)
    +{
    +  clear();
    +};
    +
    +IGL_INLINE void igl::opengl::ViewerData::set_face_based(bool newvalue)
    +{
    +  if (face_based != newvalue)
    +  {
    +    face_based = newvalue;
    +    dirty = MeshGL::DIRTY_ALL;
    +  }
    +}
    +
    +// Helpers that draws the most common meshes
    +IGL_INLINE void igl::opengl::ViewerData::set_mesh(
    +    const Eigen::MatrixXd& _V, const Eigen::MatrixXi& _F)
    +{
    +  using namespace std;
    +
    +  Eigen::MatrixXd V_temp;
    +
    +  // If V only has two columns, pad with a column of zeros
    +  if (_V.cols() == 2)
    +  {
    +    V_temp = Eigen::MatrixXd::Zero(_V.rows(),3);
    +    V_temp.block(0,0,_V.rows(),2) = _V;
    +  }
    +  else
    +    V_temp = _V;
    +
    +  if (V.rows() == 0 && F.rows() == 0)
    +  {
    +    V = V_temp;
    +    F = _F;
    +
    +    compute_normals();
    +    uniform_colors(
    +      Eigen::Vector3d(GOLD_AMBIENT[0], GOLD_AMBIENT[1], GOLD_AMBIENT[2]),
    +      Eigen::Vector3d(GOLD_DIFFUSE[0], GOLD_DIFFUSE[1], GOLD_DIFFUSE[2]),
    +      Eigen::Vector3d(GOLD_SPECULAR[0], GOLD_SPECULAR[1], GOLD_SPECULAR[2]));
    +
    +    grid_texture();
    +  }
    +  else
    +  {
    +    if (_V.rows() == V.rows() && _F.rows() == F.rows())
    +    {
    +      V = V_temp;
    +      F = _F;
    +    }
    +    else
    +      cerr << "ERROR (set_mesh): The new mesh has a different number of vertices/faces. Please clear the mesh before plotting."<0 && C.cols() == 1)
    +  {
    +    Eigen::MatrixXd C3;
    +    igl::parula(C,true,C3);
    +    return set_colors(C3);
    +  }
    +  // Ambient color should be darker color
    +  const auto ambient = [](const MatrixXd & C)->MatrixXd
    +  {
    +    MatrixXd T = 0.1*C;
    +    T.col(3) = C.col(3);
    +    return T;
    +  };
    +  // Specular color should be a less saturated and darker color: dampened
    +  // highlights
    +  const auto specular = [](const MatrixXd & C)->MatrixXd
    +  {
    +    const double grey = 0.3;
    +    MatrixXd T = grey+0.1*(C.array()-grey);
    +    T.col(3) = C.col(3);
    +    return T;
    +  };
    +  if (C.rows() == 1)
    +  {
    +    for (unsigned i=0;i& R,
    +  const Eigen::Matrix& G,
    +  const Eigen::Matrix& B)
    +{
    +  texture_R = R;
    +  texture_G = G;
    +  texture_B = B;
    +  texture_A = Eigen::Matrix::Constant(R.rows(),R.cols(),255);
    +  dirty |= MeshGL::DIRTY_TEXTURE;
    +}
    +
    +IGL_INLINE void igl::opengl::ViewerData::set_texture(
    +  const Eigen::Matrix& R,
    +  const Eigen::Matrix& G,
    +  const Eigen::Matrix& B,
    +  const Eigen::Matrix& A)
    +{
    +  texture_R = R;
    +  texture_G = G;
    +  texture_B = B;
    +  texture_A = A;
    +  dirty |= MeshGL::DIRTY_TEXTURE;
    +}
    +
    +IGL_INLINE void igl::opengl::ViewerData::set_points(
    +  const Eigen::MatrixXd& P,
    +  const Eigen::MatrixXd& C)
    +{
    +  // clear existing points
    +  points.resize(0,0);
    +  add_points(P,C);
    +}
    +
    +IGL_INLINE void igl::opengl::ViewerData::add_points(const Eigen::MatrixXd& P,  const Eigen::MatrixXd& C)
    +{
    +  Eigen::MatrixXd P_temp;
    +
    +  // If P only has two columns, pad with a column of zeros
    +  if (P.cols() == 2)
    +  {
    +    P_temp = Eigen::MatrixXd::Zero(P.rows(),3);
    +    P_temp.block(0,0,P.rows(),2) = P;
    +  }
    +  else
    +    P_temp = P;
    +
    +  int lastid = points.rows();
    +  points.conservativeResize(points.rows() + P_temp.rows(),6);
    +  for (unsigned i=0; i=size2 && j>=size2))
    +        texture_R(i,j) = 255;
    +    }
    +  }
    +
    +  texture_G = texture_R;
    +  texture_B = texture_R;
    +  texture_A = Eigen::Matrix::Constant(texture_R.rows(),texture_R.cols(),255);
    +  dirty |= MeshGL::DIRTY_TEXTURE;
    +}
    +
    +IGL_INLINE void igl::opengl::ViewerData::updateGL(
    +  const igl::opengl::ViewerData& data,
    +  const bool invert_normals,
    +  igl::opengl::MeshGL& meshgl
    +  )
    +{
    +  if (!meshgl.is_initialized)
    +  {
    +    meshgl.init();
    +  }
    +
    +  bool per_corner_uv = (data.F_uv.rows() == data.F.rows());
    +  bool per_corner_normals = (data.F_normals.rows() == 3 * data.F.rows());
    +
    +  meshgl.dirty |= data.dirty;
    +
    +  // Input:
    +  //   X  #F by dim quantity
    +  // Output:
    +  //   X_vbo  #F*3 by dim scattering per corner
    +  const auto per_face = [&data](
    +      const Eigen::MatrixXd & X,
    +      MeshGL::RowMatrixXf & X_vbo)
    +  {
    +    assert(X.cols() == 4);
    +    X_vbo.resize(data.F.rows()*3,4);
    +    for (unsigned i=0; i();
    +  };
    +
    +  // Input:
    +  //   X  #V by dim quantity
    +  // Output:
    +  //   X_vbo  #F*3 by dim scattering per corner
    +  const auto per_corner = [&data](
    +      const Eigen::MatrixXd & X,
    +      MeshGL::RowMatrixXf & X_vbo)
    +  {
    +    X_vbo.resize(data.F.rows()*3,X.cols());
    +    for (unsigned i=0; i();
    +  };
    +
    +  if (!data.face_based)
    +  {
    +    if (!(per_corner_uv || per_corner_normals))
    +    {
    +      // Vertex positions
    +      if (meshgl.dirty & MeshGL::DIRTY_POSITION)
    +        meshgl.V_vbo = data.V.cast();
    +
    +      // Vertex normals
    +      if (meshgl.dirty & MeshGL::DIRTY_NORMAL)
    +      {
    +        meshgl.V_normals_vbo = data.V_normals.cast();
    +        if (invert_normals)
    +          meshgl.V_normals_vbo = -meshgl.V_normals_vbo;
    +      }
    +
    +      // Per-vertex material settings
    +      if (meshgl.dirty & MeshGL::DIRTY_AMBIENT)
    +        meshgl.V_ambient_vbo = data.V_material_ambient.cast();
    +      if (meshgl.dirty & MeshGL::DIRTY_DIFFUSE)
    +        meshgl.V_diffuse_vbo = data.V_material_diffuse.cast();
    +      if (meshgl.dirty & MeshGL::DIRTY_SPECULAR)
    +        meshgl.V_specular_vbo = data.V_material_specular.cast();
    +
    +      // Face indices
    +      if (meshgl.dirty & MeshGL::DIRTY_FACE)
    +        meshgl.F_vbo = data.F.cast();
    +
    +      // Texture coordinates
    +      if (meshgl.dirty & MeshGL::DIRTY_UV)
    +      {
    +        meshgl.V_uv_vbo = data.V_uv.cast();
    +      }
    +    }
    +    else
    +    {
    +
    +      // Per vertex properties with per corner UVs
    +      if (meshgl.dirty & MeshGL::DIRTY_POSITION)
    +      {
    +        per_corner(data.V,meshgl.V_vbo);
    +      }
    +
    +      if (meshgl.dirty & MeshGL::DIRTY_AMBIENT)
    +      {
    +        meshgl.V_ambient_vbo.resize(data.F.rows()*3,4);
    +        for (unsigned i=0; i();
    +      }
    +      if (meshgl.dirty & MeshGL::DIRTY_DIFFUSE)
    +      {
    +        meshgl.V_diffuse_vbo.resize(data.F.rows()*3,4);
    +        for (unsigned i=0; i();
    +      }
    +      if (meshgl.dirty & MeshGL::DIRTY_SPECULAR)
    +      {
    +        meshgl.V_specular_vbo.resize(data.F.rows()*3,4);
    +        for (unsigned i=0; i();
    +      }
    +
    +      if (meshgl.dirty & MeshGL::DIRTY_NORMAL)
    +      {
    +        meshgl.V_normals_vbo.resize(data.F.rows()*3,3);
    +        for (unsigned i=0; i() :
    +               data.V_normals.row(data.F(i,j)).cast();
    +
    +
    +        if (invert_normals)
    +          meshgl.V_normals_vbo = -meshgl.V_normals_vbo;
    +      }
    +
    +      if (meshgl.dirty & MeshGL::DIRTY_FACE)
    +      {
    +        meshgl.F_vbo.resize(data.F.rows(),3);
    +        for (unsigned i=0; i();
    +      }
    +    }
    +  }
    +  else
    +  {
    +    if (meshgl.dirty & MeshGL::DIRTY_POSITION)
    +    {
    +      per_corner(data.V,meshgl.V_vbo);
    +    }
    +    if (meshgl.dirty & MeshGL::DIRTY_AMBIENT)
    +    {
    +      per_face(data.F_material_ambient,meshgl.V_ambient_vbo);
    +    }
    +    if (meshgl.dirty & MeshGL::DIRTY_DIFFUSE)
    +    {
    +      per_face(data.F_material_diffuse,meshgl.V_diffuse_vbo);
    +    }
    +    if (meshgl.dirty & MeshGL::DIRTY_SPECULAR)
    +    {
    +      per_face(data.F_material_specular,meshgl.V_specular_vbo);
    +    }
    +
    +    if (meshgl.dirty & MeshGL::DIRTY_NORMAL)
    +    {
    +      meshgl.V_normals_vbo.resize(data.F.rows()*3,3);
    +      for (unsigned i=0; i() :
    +               data.F_normals.row(i).cast();
    +
    +      if (invert_normals)
    +        meshgl.V_normals_vbo = -meshgl.V_normals_vbo;
    +    }
    +
    +    if (meshgl.dirty & MeshGL::DIRTY_FACE)
    +    {
    +      meshgl.F_vbo.resize(data.F.rows(),3);
    +      for (unsigned i=0; i();
    +    }
    +  }
    +
    +  if (meshgl.dirty & MeshGL::DIRTY_TEXTURE)
    +  {
    +    meshgl.tex_u = data.texture_R.rows();
    +    meshgl.tex_v = data.texture_R.cols();
    +    meshgl.tex.resize(data.texture_R.size()*4);
    +    for (unsigned i=0;i(i, 0).cast();
    +      meshgl.lines_V_vbo.row(2*i+1) = data.lines.block<1, 3>(i, 3).cast();
    +      meshgl.lines_V_colors_vbo.row(2*i+0) = data.lines.block<1, 3>(i, 6).cast();
    +      meshgl.lines_V_colors_vbo.row(2*i+1) = data.lines.block<1, 3>(i, 6).cast();
    +      meshgl.lines_F_vbo(2*i+0) = 2*i+0;
    +      meshgl.lines_F_vbo(2*i+1) = 2*i+1;
    +    }
    +  }
    +
    +  if (meshgl.dirty & MeshGL::DIRTY_OVERLAY_POINTS)
    +  {
    +    meshgl.points_V_vbo.resize(data.points.rows(),3);
    +    meshgl.points_V_colors_vbo.resize(data.points.rows(),3);
    +    meshgl.points_F_vbo.resize(data.points.rows(),1);
    +    for (unsigned i=0; i(i, 0).cast();
    +      meshgl.points_V_colors_vbo.row(i) = data.points.block<1, 3>(i, 3).cast();
    +      meshgl.points_F_vbo(i) = i;
    +    }
    +  }
    +}
    diff --git a/include/igl/viewer/ViewerData.h b/include/igl/opengl/ViewerData.h
    similarity index 68%
    rename from include/igl/viewer/ViewerData.h
    rename to include/igl/opengl/ViewerData.h
    index 1a5990021..b3ec9178c 100644
    --- a/include/igl/viewer/ViewerData.h
    +++ b/include/igl/opengl/ViewerData.h
    @@ -5,46 +5,33 @@
     // This Source Code Form is subject to the terms of the Mozilla Public License
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_VIEWER_DATA_H
    -#define IGL_VIEWER_VIEWER_DATA_H
    +#ifndef IGL_VIEWERDATA_H
    +#define IGL_VIEWERDATA_H
     
    +#include "../igl_inline.h"
    +#include "MeshGL.h"
    +#include 
     #include 
    +#include 
    +#include 
     #include 
     
    -#include 
    -
    -#include 
    -
    +// Alec: This is a mesh class containing a variety of data types (normals,
    +// overlays, material colors, etc.)
    +//
     namespace igl
     {
    -namespace viewer
    -{
     
     // TODO: write documentation
    +namespace opengl
    +{
     
     class ViewerData
     {
     public:
       ViewerData();
     
    -  enum DirtyFlags
    -  {
    -    DIRTY_NONE           = 0x0000,
    -    DIRTY_POSITION       = 0x0001,
    -    DIRTY_UV             = 0x0002,
    -    DIRTY_NORMAL         = 0x0004,
    -    DIRTY_AMBIENT        = 0x0008,
    -    DIRTY_DIFFUSE        = 0x0010,
    -    DIRTY_SPECULAR       = 0x0020,
    -    DIRTY_TEXTURE        = 0x0040,
    -    DIRTY_FACE           = 0x0080,
    -    DIRTY_MESH           = 0x00FF,
    -    DIRTY_OVERLAY_LINES  = 0x0100,
    -    DIRTY_OVERLAY_POINTS = 0x0200,
    -    DIRTY_ALL            = 0x03FF
    -  };
    -
    -  // Empy all fields
    +  // Empty all fields
       IGL_INLINE void clear();
     
       // Change the visualization mode, invalidating the cache if necessary
    @@ -115,6 +102,8 @@ public:
       //   E  #E by 2 list of edge indices into P
       //   C  #E|1 by 3 color(s)
       IGL_INLINE void set_edges (const Eigen::MatrixXd& P, const Eigen::MatrixXi& E, const Eigen::MatrixXd& C);
    +  // Alec: This is very confusing. Why does add_edges have a different API from
    +  // set_edges? 
       IGL_INLINE void add_edges (const Eigen::MatrixXd& P1, const Eigen::MatrixXd& P2, const Eigen::MatrixXd& C);
       IGL_INLINE void add_label (const Eigen::VectorXd& P,  const std::string& str);
     
    @@ -186,66 +175,99 @@ public:
     
       // Enable per-face or per-vertex properties
       bool face_based;
    -  /*********************************/
    +
    +  // Visualization options
    +  bool show_overlay;
    +  bool show_overlay_depth;
    +  bool show_texture;
    +  bool show_faces;
    +  bool show_lines;
    +  bool show_vertid;
    +  bool show_faceid;
    +  bool invert_normals;
    +
    +  // Point size / line width
    +  float point_size;
    +  float line_width;
    +  Eigen::Vector4f line_color;
    +
    +  // Shape material
    +  float shininess;
    +
    +  // Unique identifier
    +  int id;
    +
    +  // OpenGL representation of the mesh
    +  igl::opengl::MeshGL meshgl;
    +
    +  // Update contents from a 'Data' instance
    +  IGL_INLINE void updateGL(
    +    const igl::opengl::ViewerData& data,
    +    const bool invert_normals,
    +    igl::opengl::MeshGL& meshgl);
     };
     
    -}
    -}
    +} // namespace opengl
    +} // namespace igl
    +
    +////////////////////////////////////////////////////////////////////////////////
     
    -#ifdef ENABLE_SERIALIZATION
     #include 
    -namespace igl {
    -	namespace serialization {
    -
    -		inline void serialization(bool s, igl::viewer::ViewerData& obj, std::vector& buffer)
    -		{
    -			SERIALIZE_MEMBER(V);
    -			SERIALIZE_MEMBER(F);
    -
    -			SERIALIZE_MEMBER(F_normals);
    -			SERIALIZE_MEMBER(F_material_ambient);
    -			SERIALIZE_MEMBER(F_material_diffuse);
    -			SERIALIZE_MEMBER(F_material_specular);
    -
    -			SERIALIZE_MEMBER(V_normals);
    -			SERIALIZE_MEMBER(V_material_ambient);
    -			SERIALIZE_MEMBER(V_material_diffuse);
    -			SERIALIZE_MEMBER(V_material_specular);
    -
    -			SERIALIZE_MEMBER(V_uv);
    -			SERIALIZE_MEMBER(F_uv);
    -
    -			SERIALIZE_MEMBER(texture_R);
    -			SERIALIZE_MEMBER(texture_G);
    -			SERIALIZE_MEMBER(texture_B);
    +namespace igl
    +{
    +  namespace serialization
    +  {
    +    inline void serialization(bool s, igl::opengl::ViewerData& obj, std::vector& buffer)
    +    {
    +      SERIALIZE_MEMBER(V);
    +      SERIALIZE_MEMBER(F);
    +      SERIALIZE_MEMBER(F_normals);
    +      SERIALIZE_MEMBER(F_material_ambient);
    +      SERIALIZE_MEMBER(F_material_diffuse);
    +      SERIALIZE_MEMBER(F_material_specular);
    +      SERIALIZE_MEMBER(V_normals);
    +      SERIALIZE_MEMBER(V_material_ambient);
    +      SERIALIZE_MEMBER(V_material_diffuse);
    +      SERIALIZE_MEMBER(V_material_specular);
    +      SERIALIZE_MEMBER(V_uv);
    +      SERIALIZE_MEMBER(F_uv);
    +      SERIALIZE_MEMBER(texture_R);
    +      SERIALIZE_MEMBER(texture_G);
    +      SERIALIZE_MEMBER(texture_B);
           SERIALIZE_MEMBER(texture_A);
    -
    -			SERIALIZE_MEMBER(lines);
    -			SERIALIZE_MEMBER(points);
    -
    -			SERIALIZE_MEMBER(labels_positions);
    -			SERIALIZE_MEMBER(labels_strings);
    -
    -			SERIALIZE_MEMBER(dirty);
    -
    -			SERIALIZE_MEMBER(face_based);
    -		}
    -
    -		template<>
    -		inline void serialize(const igl::viewer::ViewerData& obj, std::vector& buffer)
    -		{
    -			serialization(true, const_cast(obj), buffer);
    -		}
    -
    -		template<>
    -		inline void deserialize(igl::viewer::ViewerData& obj, const std::vector& buffer)
    -		{
    -			serialization(false, obj, const_cast&>(buffer));
    -			obj.dirty = igl::viewer::ViewerData::DIRTY_ALL;
    -		}
    -	}
    +      SERIALIZE_MEMBER(lines);
    +      SERIALIZE_MEMBER(points);
    +      SERIALIZE_MEMBER(labels_positions);
    +      SERIALIZE_MEMBER(labels_strings);
    +      SERIALIZE_MEMBER(dirty);
    +      SERIALIZE_MEMBER(face_based);
    +      SERIALIZE_MEMBER(show_faces);
    +      SERIALIZE_MEMBER(show_lines);
    +      SERIALIZE_MEMBER(invert_normals);
    +      SERIALIZE_MEMBER(show_overlay);
    +      SERIALIZE_MEMBER(show_overlay_depth);
    +      SERIALIZE_MEMBER(show_vertid);
    +      SERIALIZE_MEMBER(show_faceid);
    +      SERIALIZE_MEMBER(show_texture);
    +      SERIALIZE_MEMBER(point_size);
    +      SERIALIZE_MEMBER(line_width);
    +      SERIALIZE_MEMBER(line_color);
    +      SERIALIZE_MEMBER(shininess);
    +      SERIALIZE_MEMBER(id);
    +    }
    +    template<>
    +    inline void serialize(const igl::opengl::ViewerData& obj, std::vector& buffer)
    +    {
    +      serialization(true, const_cast(obj), buffer);
    +    }
    +    template<>
    +    inline void deserialize(igl::opengl::ViewerData& obj, const std::vector& buffer)
    +    {
    +      serialization(false, obj, const_cast&>(buffer));
    +      obj.dirty = igl::opengl::MeshGL::DIRTY_ALL;
    +    }
    +  }
     }
    -#endif
     
     #ifndef IGL_STATIC_LIBRARY
     #  include "ViewerData.cpp"
    diff --git a/include/igl/opengl/bind_vertex_attrib_array.cpp b/include/igl/opengl/bind_vertex_attrib_array.cpp
    new file mode 100644
    index 000000000..4aa807c18
    --- /dev/null
    +++ b/include/igl/opengl/bind_vertex_attrib_array.cpp
    @@ -0,0 +1,24 @@
    +#include "bind_vertex_attrib_array.h"
    +
    +IGL_INLINE GLint igl::opengl::bind_vertex_attrib_array(
    +  const GLuint program_shader,
    +  const std::string &name, 
    +  GLuint bufferID, 
    +  const Eigen::Matrix &M, 
    +  bool refresh)
    +{
    +  GLint id = glGetAttribLocation(program_shader, name.c_str());
    +  if (id < 0)
    +    return id;
    +  if (M.size() == 0)
    +  {
    +    glDisableVertexAttribArray(id);
    +    return id;
    +  }
    +  glBindBuffer(GL_ARRAY_BUFFER, bufferID);
    +  if (refresh)
    +    glBufferData(GL_ARRAY_BUFFER, sizeof(float)*M.size(), M.data(), GL_DYNAMIC_DRAW);
    +  glVertexAttribPointer(id, M.cols(), GL_FLOAT, GL_FALSE, 0, 0);
    +  glEnableVertexAttribArray(id);
    +  return id;
    +}
    diff --git a/include/igl/opengl/bind_vertex_attrib_array.h b/include/igl/opengl/bind_vertex_attrib_array.h
    new file mode 100644
    index 000000000..4e9443136
    --- /dev/null
    +++ b/include/igl/opengl/bind_vertex_attrib_array.h
    @@ -0,0 +1,32 @@
    +#ifndef IGL_OPENGL_BIND_VERTEX_ATTRIB_ARRAY_H
    +#define IGL_OPENGL_BIND_VERTEX_ATTRIB_ARRAY_H
    +#include "gl.h"
    +#include "../igl_inline.h"
    +#include 
    +#include 
    +namespace igl
    +{
    +  namespace opengl
    +  {
    +    // Bind a per-vertex array attribute and refresh its contents from an Eigen
    +    // matrix
    +    //
    +    // Inputs:
    +    //   program_shader  id of shader program
    +    //   name  name of attribute in vertex shader
    +    //   bufferID  id of buffer to bind to
    +    //   M  #V by dim matrix of per-vertex data
    +    //   refresh  whether to actually call glBufferData or just bind the buffer
    +    // Returns id of named attribute in shader
    +    IGL_INLINE GLint bind_vertex_attrib_array(
    +      const GLuint program_shader,
    +      const std::string &name, 
    +      GLuint bufferID, 
    +      const Eigen::Matrix &M, 
    +      bool refresh);
    +  }
    +}
    +#ifndef IGL_STATIC_LIBRARY
    +#include "bind_vertex_attrib_array.cpp"
    +#endif
    +#endif
    diff --git a/include/igl/opengl/gl.h b/include/igl/opengl/gl.h
    index 18a41bbbb..fc037c198 100644
    --- a/include/igl/opengl/gl.h
    +++ b/include/igl/opengl/gl.h
    @@ -1,9 +1,9 @@
     // This file is part of libigl, a simple c++ geometry processing library.
    -// 
    +//
     // Copyright (C) 2013, 2017 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_OPENGL_GL_H
     #define IGL_OPENGL_GL_H
    @@ -16,29 +16,10 @@
     //     #include "gl.h"
     // Instead of:
     //     #include 
    -// or 
    +// or
     //     #include 
     //
     
    -// For now this includes glu, glew and glext (perhaps these should be
    -// separated)
    -#ifdef _WIN32
    -#    define NOMINMAX
    -#    include 
    -#    undef DrawText
    -#    undef NOMINMAX
    -#endif
    -
    -#ifndef __APPLE__
    -#  define GLEW_STATIC
    -#  include 
    -#endif
    -
    -#ifdef __APPLE__
    -#  include 
    -#  define __gl_h_ /* Prevent inclusion of the old gl.h */
    -#else
    -#  include 
    -#endif
    +#include 
     
     #endif
    diff --git a/include/igl/viewer/Viewer.cpp b/include/igl/opengl/glfw/Viewer.cpp
    similarity index 72%
    rename from include/igl/viewer/Viewer.cpp
    rename to include/igl/opengl/glfw/Viewer.cpp
    index e19a4e471..f8825af58 100644
    --- a/include/igl/viewer/Viewer.cpp
    +++ b/include/igl/opengl/glfw/Viewer.cpp
    @@ -6,40 +6,14 @@
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     
    -// Must defined this before including Viewer.h
    -#define IGL_VIEWER_VIEWER_CPP
     #include "Viewer.h"
     
    -#ifdef _WIN32
    -#  include 
    -#  undef max
    -#  undef min
    -#endif
    -
     #include 
     #include 
     
    -#ifndef __APPLE__
    -#  define GLEW_STATIC
    -#  include 
    -#endif
    -
    -#ifdef __APPLE__
    -#   include 
    -#   define __gl_h_ /* Prevent inclusion of the old gl.h */
    -#else
    -#   include 
    -#endif
    -
     #include 
     
    -//#define GLFW_INCLUDE_GLU
    -#if defined(__APPLE__)
    -#define GLFW_INCLUDE_GLCOREARB
    -#else
    -#define GL_GLEXT_PROTOTYPES
    -#endif
    -
    +#include "../gl.h"
     #include 
     
     #include 
    @@ -52,11 +26,6 @@
     #include 
     #include 
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -#  include 
    -#  include 
    -#endif
    -
     #include 
     #include 
     #include 
    @@ -73,47 +42,30 @@
     #include 
     #include 
     #include 
    -
    -#ifdef ENABLE_SERIALIZATION
     #include 
    -#endif
     
     // Internal global variables used for glfw event handling
    -static igl::viewer::Viewer * __viewer;
    +static igl::opengl::glfw::Viewer * __viewer;
     static double highdpi = 1;
     static double scroll_x = 0;
     static double scroll_y = 0;
     
     static void glfw_mouse_press(GLFWwindow* window, int button, int action, int modifier)
     {
    -  bool tw_used =
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    __viewer->screen->mouseButtonCallbackEvent(button,action,modifier);
    -#else
    -    false;
    -#endif
     
    -  igl::viewer::Viewer::MouseButton mb;
    +  igl::opengl::glfw::Viewer::MouseButton mb;
     
       if (button == GLFW_MOUSE_BUTTON_1)
    -    mb = igl::viewer::Viewer::MouseButton::Left;
    +    mb = igl::opengl::glfw::Viewer::MouseButton::Left;
       else if (button == GLFW_MOUSE_BUTTON_2)
    -    mb = igl::viewer::Viewer::MouseButton::Right;
    +    mb = igl::opengl::glfw::Viewer::MouseButton::Right;
       else //if (button == GLFW_MOUSE_BUTTON_3)
    -    mb = igl::viewer::Viewer::MouseButton::Middle;
    +    mb = igl::opengl::glfw::Viewer::MouseButton::Middle;
     
       if (action == GLFW_PRESS)
    -  {
    -    if(!tw_used)
    -    {
    -      __viewer->mouse_down(mb,modifier);
    -    }
    -  } else
    -  {
    -    // Always call mouse_up on up
    +    __viewer->mouse_down(mb,modifier);
    +  else
         __viewer->mouse_up(mb,modifier);
    -  }
    -
     }
     
     static void glfw_error_callback(int error, const char* description)
    @@ -123,14 +75,7 @@ static void glfw_error_callback(int error, const char* description)
     
     static void glfw_char_mods_callback(GLFWwindow* window, unsigned int codepoint, int modifier)
     {
    -  // TODO: pass to nanogui (although it's also using physical key down/up
    -  // rather than character codes...
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  if(! __viewer->screen->charCallbackEvent(codepoint) )
    -#endif
    -  {
    -    __viewer->key_pressed(codepoint, modifier);
    -  }
    +  __viewer->key_pressed(codepoint, modifier);
     }
     
     static void glfw_key_callback(GLFWwindow* window, int key, int scancode, int action, int modifier)
    @@ -138,15 +83,10 @@ static void glfw_key_callback(GLFWwindow* window, int key, int scancode, int act
       if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
         glfwSetWindowShouldClose(window, GL_TRUE);
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  if (__viewer->screen->keyCallbackEvent(key,scancode,action,modifier) == false)
    -#endif
    -  {
    -    if (action == GLFW_PRESS)
    -      __viewer->key_down(key, modifier);
    -    else if(action == GLFW_RELEASE)
    -      __viewer->key_up(key, modifier);
    -  }
    +  if (action == GLFW_PRESS)
    +    __viewer->key_down(key, modifier);
    +  else if(action == GLFW_RELEASE)
    +    __viewer->key_up(key, modifier);
     }
     
     static void glfw_window_size(GLFWwindow* window, int width, int height)
    @@ -156,20 +96,11 @@ static void glfw_window_size(GLFWwindow* window, int width, int height)
     
       __viewer->post_resize(w, h);
     
    -  // TODO: repositioning of the nanogui
     }
     
     static void glfw_mouse_move(GLFWwindow* window, double x, double y)
     {
    -  if(
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -      __viewer->screen->cursorPosCallbackEvent(x,y) == false &&
    -#endif
    -      true
    -    )
    -  {
    -    __viewer->mouse_move(x*highdpi, y*highdpi);
    -  }
    +  __viewer->mouse_move(x*highdpi, y*highdpi);
     }
     
     static void glfw_mouse_scroll(GLFWwindow* window, double x, double y)
    @@ -178,95 +109,154 @@ static void glfw_mouse_scroll(GLFWwindow* window, double x, double y)
       scroll_x += x;
       scroll_y += y;
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  if (__viewer->screen->scrollCallbackEvent(x,y) == false)
    -#endif
    -  {
    -    __viewer->mouse_scroll(y);
    -  }
    +  __viewer->mouse_scroll(y);
     }
     
     static void glfw_drop_callback(GLFWwindow *window,int count,const char **filenames)
     {
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -  __viewer->screen->dropCallbackEvent(count,filenames);
    -#endif
     }
     
     namespace igl
     {
    -namespace viewer
    +namespace opengl
     {
    +namespace glfw
    +{
    +
    +  IGL_INLINE int Viewer::launch(bool resizable,bool fullscreen)
    +  {
    +    // TODO return values are being ignored...
    +    launch_init(resizable,fullscreen);
    +    launch_rendering(true);
    +    launch_shut();
    +    return EXIT_SUCCESS;
    +  }
    +
    +  IGL_INLINE int  Viewer::launch_init(bool resizable,bool fullscreen)
    +  {
    +    glfwSetErrorCallback(glfw_error_callback);
    +    if (!glfwInit())
    +    {
    +      return EXIT_FAILURE;
    +    }
    +    glfwWindowHint(GLFW_SAMPLES, 8);
    +    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    +    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    +    #ifdef __APPLE__
    +      glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    +      glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    +    #endif
    +    if(fullscreen)
    +    {
    +      GLFWmonitor *monitor = glfwGetPrimaryMonitor();
    +      const GLFWvidmode *mode = glfwGetVideoMode(monitor);
    +      window = glfwCreateWindow(mode->width,mode->height,"libigl viewer",monitor,nullptr);
    +    }
    +    else
    +    {
    +      if (core.viewport.tail<2>().any()) {
    +        window = glfwCreateWindow(core.viewport(2),core.viewport(3),"libigl viewer",nullptr,nullptr);
    +      } else {
    +        window = glfwCreateWindow(1280,800,"libigl viewer",nullptr,nullptr);
    +      }
    +    }
    +    if (!window)
    +    {
    +      glfwTerminate();
    +      return EXIT_FAILURE;
    +    }
    +    glfwMakeContextCurrent(window);
    +    // Load OpenGL and its extensions
    +    if (!gladLoadGLLoader((GLADloadproc) glfwGetProcAddress))
    +    {
    +      printf("Failed to load OpenGL and its extensions\n");
    +      return(-1);
    +    }
    +    #if defined(DEBUG) || defined(_DEBUG)
    +      printf("OpenGL Version %d.%d loaded\n", GLVersion.major, GLVersion.minor);
    +      int major, minor, rev;
    +      major = glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MAJOR);
    +      minor = glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MINOR);
    +      rev = glfwGetWindowAttrib(window, GLFW_CONTEXT_REVISION);
    +      printf("OpenGL version received: %d.%d.%d\n", major, minor, rev);
    +      printf("Supported OpenGL is %s\n", (const char*)glGetString(GL_VERSION));
    +      printf("Supported GLSL is %s\n", (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION));
    +    #endif
    +    glfwSetInputMode(window,GLFW_CURSOR,GLFW_CURSOR_NORMAL);
    +    // Initialize FormScreen
    +    __viewer = this;
    +    // Register callbacks
    +    glfwSetKeyCallback(window, glfw_key_callback);
    +    glfwSetCursorPosCallback(window,glfw_mouse_move);
    +    glfwSetWindowSizeCallback(window,glfw_window_size);
    +    glfwSetMouseButtonCallback(window,glfw_mouse_press);
    +    glfwSetScrollCallback(window,glfw_mouse_scroll);
    +    glfwSetCharModsCallback(window,glfw_char_mods_callback);
    +    glfwSetDropCallback(window,glfw_drop_callback);
    +    // Handle retina displays (windows and mac)
    +    int width, height;
    +    glfwGetFramebufferSize(window, &width, &height);
    +    int width_window, height_window;
    +    glfwGetWindowSize(window, &width_window, &height_window);
    +    highdpi = width/width_window;
    +    glfw_window_size(window,width_window,height_window);
    +    //opengl.init();
    +    core.align_camera_center(data().V,data().F);
    +    // Initialize IGL viewer
    +    init();
    +    return EXIT_SUCCESS;
    +  }
    +
    +
    +
    +  IGL_INLINE bool Viewer::launch_rendering(bool loop)
    +  {
    +    // glfwMakeContextCurrent(window);
    +    // Rendering loop
    +    const int num_extra_frames = 5;
    +    int frame_counter = 0;
    +    while (!glfwWindowShouldClose(window))
    +    {
    +      double tic = get_seconds();
    +      draw();
    +      glfwSwapBuffers(window);
    +      if(core.is_animating || frame_counter++ < num_extra_frames)
    +      {
    +        glfwPollEvents();
    +        // In microseconds
    +        double duration = 1000000.*(get_seconds()-tic);
    +        const double min_duration = 1000000./core.animation_max_fps;
    +        if(durationsetFixedSize(Eigen::Vector2i(60,20));
    -
    -    // Create nanogui widgets
    -    /* nanogui::Window *window = */ ngui->addWindow(Eigen::Vector2i(10,10),"libIGL-Viewer");
    -
    -    // ---------------------- LOADING ----------------------
    -
    -  #ifdef ENABLE_SERIALIZATION
    -    ngui->addGroup("Workspace");
    -    ngui->addButton("Load",[&](){this->load_scene();});
    -    ngui->addButton("Save",[&](){this->save_scene();});
    -  #endif
    -
    -  #ifdef ENABLE_IO
    -    ngui->addGroup("Mesh");
    -    ngui->addButton("Load",[&](){this->open_dialog_load_mesh();});
    -    ngui->addButton("Save",[&](){this->open_dialog_save_mesh();});
    -  #endif
    -
    -    ngui->addGroup("Viewing Options");
    -    ngui->addButton("Center object",[&](){this->core.align_camera_center(this->data.V,this->data.F);});
    -    ngui->addButton("Snap canonical view",[&]()
    -    {
    -      this->snap_to_canonical_quaternion();
    -    });
    -    ngui->addVariable("Zoom", core.camera_zoom);
    -    ngui->addVariable("Orthographic view", core.orthographic);
    -
    -    ngui->addGroup("Draw options");
    -
    -    ngui->addVariable("Face-based", [&](bool checked)
    -    {
    -      this->data.set_face_based(checked);
    -    },[&]()
    -    {
    -      return this->data.face_based;
    -    });
    -
    -    ngui->addVariable("Show texture",core.show_texture);
    -
    -    ngui->addVariable("Invert normals",[&](bool checked)
    -    {
    -      this->data.dirty |= ViewerData::DIRTY_NORMAL;
    -      this->core.invert_normals = checked;
    -    },[&]()
    -    {
    -      return this->core.invert_normals;
    -    });
    -
    -    ngui->addVariable("Show overlay", core.show_overlay);
    -    ngui->addVariable("Show overlay depth", core.show_overlay_depth);
    -    ngui->addVariable("Background", (nanogui::Color &) core.background_color);
    -    ngui->addVariable("Line color", (nanogui::Color &) core.line_color);
    -    ngui->addVariable("Shininess", core.shininess);
    -
    -    ngui->addGroup("Overlays");
    -    ngui->addVariable("Wireframe", core.show_lines);
    -    ngui->addVariable("Fill", core.show_faces);
    -    ngui->addVariable("Show vertex labels", core.show_vertid);
    -    ngui->addVariable("Show faces labels", core.show_faceid);
    -
    -    screen->setVisible(true);
    -    screen->performLayout();
    -#endif
    -
         core.init();
     
         if (callback_init)
    @@ -276,22 +266,37 @@ namespace viewer
         init_plugins();
       }
     
    -  IGL_INLINE Viewer::Viewer()
    +  IGL_INLINE void Viewer::init_plugins()
    +  {
    +    // Init all plugins
    +    for (unsigned int i = 0; iinit(this);
    +    }
    +  }
    +
    +  IGL_INLINE void Viewer::shutdown_plugins()
    +  {
    +    for (unsigned int i = 0; ishutdown();
    +    }
    +  }
    +
    +  IGL_INLINE Viewer::Viewer():
    +    data_list(1),
    +    selected_data_index(0),
    +    next_data_id(0)
       {
         window = nullptr;
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    ngui = nullptr;
    -    screen = nullptr;
    -#endif
    -
         // Temporary variables initialization
         down = false;
         hack_never_moved = true;
         scroll_position = 0.0f;
     
         // Per face
    -    data.set_face_based(false);
    +    data().set_face_based(false);
     
         // C-style callbacks
         callback_init         = nullptr;
    @@ -315,7 +320,7 @@ namespace viewer
         callback_key_up_data        = nullptr;
     
     #ifndef IGL_VIEWER_VIEWER_QUIET
    -    const std::string usage(R"(igl::viewer::Viewer usage:
    +    const std::string usage(R"(igl::opengl::glfw::Viewer usage:
       [drag]  Rotate scene
       A,a     Toggle animation (tight draw loop)
       F,f     Toggle face based
    @@ -325,41 +330,22 @@ namespace viewer
       T,t     Toggle filled faces
       Z       Snap to canonical view
       [,]     Toggle between rotation control types (trackball, two-axis
    -          valuator with fixed up, 2D mode with no rotation))"
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -		R"(
    +          valuator with fixed up, 2D mode with no rotation))
    +  <,>     Toggle between models
       ;       Toggle vertex labels
       :       Toggle face labels)"
    -#endif
     );
         std::cout<init(this);
    -    }
    -  }
    -
       IGL_INLINE Viewer::~Viewer()
       {
       }
     
    -  IGL_INLINE void Viewer::shutdown_plugins()
    +  IGL_INLINE bool Viewer::load_mesh_from_file(
    +      const std::string & mesh_file_name_string)
       {
    -    for (unsigned int i = 0; ishutdown();
    -    }
    -  }
    -
    -  IGL_INLINE bool Viewer::load_mesh_from_file(const char* mesh_file_name)
    -  {
    -    std::string mesh_file_name_string = std::string(mesh_file_name);
     
         // first try to load it with a plugin
         for (unsigned int i = 0; ipost_load())
    @@ -436,10 +430,9 @@ namespace viewer
         return true;
       }
     
    -  IGL_INLINE bool Viewer::save_mesh_to_file(const char* mesh_file_name)
    +  IGL_INLINE bool Viewer::save_mesh_to_file(
    +      const std::string & mesh_file_name_string)
       {
    -    std::string mesh_file_name_string(mesh_file_name);
    -
         // first try to load it with a plugin
         for (unsigned int i = 0; isave(mesh_file_name_string))
    @@ -449,13 +442,15 @@ namespace viewer
         if (last_dot == std::string::npos)
         {
           // No file type determined
    -      printf("Error: No file extension found in %s\n",mesh_file_name);
    +      std::cerr<<"Error: No file extension found in "<<
    +        mesh_file_name_string<':
    +      {
    +        selected_data_index =
    +          (selected_data_index + data_list.size() + (unicode_key=='>'?1:-1))%data_list.size();
    +        return true;
    +      }
           case ';':
    -        core.show_vertid = !core.show_vertid;
    +        data().show_vertid = !data().show_vertid;
             return true;
           case ':':
    -        core.show_faceid = !core.show_faceid;
    +        data().show_faceid = !data().show_faceid;
             return true;
    -#endif
           default: break;//do nothing
         }
         return false;
    @@ -603,12 +605,12 @@ namespace viewer
     
         // Initialization code for the trackball
         Eigen::RowVector3d center;
    -    if (data.V.rows() == 0)
    +    if (data().V.rows() == 0)
         {
           center << 0,0,0;
         }else
         {
    -      center = data.V.colwise().sum()/data.V.rows();
    +      center = data().V.colwise().sum()/data().V.rows();
         }
     
         Eigen::Vector3f coord =
    @@ -767,35 +769,19 @@ namespace viewer
         return true;
       }
     
    -  IGL_INLINE void Viewer::draw()
    +  IGL_INLINE bool Viewer::load_scene()
       {
    -    using namespace std;
    -    using namespace Eigen;
    +    std::string fname = igl::file_dialog_open();
    +    if(fname.length() == 0)
    +      return false;
    +    return load_scene(fname);
    +  }
     
    -    core.clear_framebuffers();
    -
    -    if (callback_pre_draw)
    -      if (callback_pre_draw(*this))
    -        return;
    -
    -    for (unsigned int i = 0; ipre_draw())
    -        return;
    -
    -    core.draw(data,opengl);
    -
    -    if (callback_post_draw)
    -      if (callback_post_draw(*this))
    -        return;
    -
    -    for (unsigned int i = 0; ipost_draw())
    -        break;
    -
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -	screen->drawContents();
    -	screen->drawWidgets();
    -#endif
    +  IGL_INLINE bool Viewer::load_scene(std::string fname)
    +  {
    +    igl::deserialize(core,"Core",fname.c_str());
    +    igl::deserialize(data(),"Data",fname.c_str());
    +    return true;
       }
     
       IGL_INLINE bool Viewer::save_scene()
    @@ -803,55 +789,77 @@ namespace viewer
         std::string fname = igl::file_dialog_save();
         if (fname.length() == 0)
           return false;
    +    return save_scene(fname);
    +  }
     
    -#ifdef ENABLE_SERIALIZATION
    -
    +  IGL_INLINE bool Viewer::save_scene(std::string fname)
    +  {
         igl::serialize(core,"Core",fname.c_str(),true);
    -
    -#ifndef ENABLE_SERIALIZATION_CORE_ONLY
    -    igl::serialize(data,"Data",fname.c_str());
    -    for(unsigned int i = 0; i plugin_name,fname.c_str());
    -#endif
    -
    -#endif
    +    igl::serialize(data(),"Data",fname.c_str());
     
         return true;
       }
     
    -  IGL_INLINE bool Viewer::load_scene()
    +  IGL_INLINE void Viewer::draw()
       {
    -    std::string fname = igl::file_dialog_open();
    -    if(fname.length() == 0)
    -      return false;
    +    using namespace std;
    +    using namespace Eigen;
     
    -    return load_scene(fname);
    -  }
    +    int width, height;
    +    glfwGetFramebufferSize(window, &width, &height);
     
    -  IGL_INLINE bool Viewer::load_scene(std::string fname)
    -  {
    -#ifdef ENABLE_SERIALIZATION
    +    int width_window, height_window;
    +    glfwGetWindowSize(window, &width_window, &height_window);
     
    -    igl::deserialize(core,"Core",fname.c_str());
    +    auto highdpi_tmp = width/width_window;
     
    -#ifndef ENABLE_SERIALIZATION_CORE_ONLY
    -    igl::deserialize(data,"Data",fname.c_str());
    -    for(unsigned int i = 0; i plugin_name,fname.c_str());
    -#endif
    +    if(fabs(highdpi_tmp-highdpi)>1e-8)
    +    {
    +      post_resize(width, height);
    +      highdpi=highdpi_tmp;
    +    }
     
    -#endif
    -
    -    return true;
    +    core.clear_framebuffers();
    +    if (callback_pre_draw)
    +    {
    +      if (callback_pre_draw(*this))
    +      {
    +        return;
    +      }
    +    }
    +    for (unsigned int i = 0; ipre_draw())
    +      {
    +        return;
    +      }
    +    }
    +    for(int i = 0;ipost_draw())
    +      {
    +        break;
    +      }
    +    }
       }
     
       IGL_INLINE void Viewer::resize(int w,int h)
       {
         if (window) {
           glfwSetWindowSize(window, w/highdpi, h/highdpi);
    -    } else {
    -      post_resize(w, h);
         }
    +    post_resize(w, h);
       }
     
       IGL_INLINE void Viewer::post_resize(int w,int h)
    @@ -889,165 +897,53 @@ namespace viewer
         this->save_mesh_to_file(fname.c_str());
       }
     
    -
    -  IGL_INLINE int  Viewer::launch_init(bool resizable,bool fullscreen)
    +  IGL_INLINE ViewerData& Viewer::data()
       {
    -    glfwSetErrorCallback(glfw_error_callback);
    -    if (!glfwInit())
    -      return EXIT_FAILURE;
    -
    -    glfwWindowHint(GLFW_SAMPLES, 8);
    -    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    -    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    -
    -    #ifdef __APPLE__
    -      glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    -      glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    -    #endif
    -
    -    if(fullscreen)
    -    {
    -      GLFWmonitor *monitor = glfwGetPrimaryMonitor();
    -      const GLFWvidmode *mode = glfwGetVideoMode(monitor);
    -      window = glfwCreateWindow(mode->width,mode->height,"libigl viewer",monitor,nullptr);
    -    }
    -    else
    -    {
    -      if (core.viewport.tail<2>().any()) {
    -        window = glfwCreateWindow(core.viewport(2),core.viewport(3),"libigl viewer",nullptr,nullptr);
    -      } else {
    -        window = glfwCreateWindow(1280,800,"libigl viewer",nullptr,nullptr);
    -      }
    -    }
    -
    -    if (!window)
    -    {
    -      glfwTerminate();
    -      return EXIT_FAILURE;
    -    }
    -
    -    glfwMakeContextCurrent(window);
    -
    -    #ifndef __APPLE__
    -      glewExperimental = true;
    -      GLenum err = glewInit();
    -      if(GLEW_OK != err)
    -      {
    -        /* Problem: glewInit failed, something is seriously wrong. */
    -       fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
    -      }
    -      glGetError(); // pull and savely ignonre unhandled errors like GL_INVALID_ENUM
    -      fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));
    -    #endif
    -
    -    #if defined(DEBUG) || defined(_DEBUG)
    -      int major, minor, rev;
    -      major = glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MAJOR);
    -      minor = glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MINOR);
    -      rev = glfwGetWindowAttrib(window, GLFW_CONTEXT_REVISION);
    -      printf("OpenGL version recieved: %d.%d.%d\n", major, minor, rev);
    -      printf("Supported OpenGL is %s\n", (const char*)glGetString(GL_VERSION));
    -      printf("Supported GLSL is %s\n", (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION));
    -    #endif
    -
    -    glfwSetInputMode(window,GLFW_CURSOR,GLFW_CURSOR_NORMAL);
    -
    -    // Initialize FormScreen
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    screen = new nanogui::Screen();
    -    screen->initialize(window, false);
    -    ngui = new nanogui::FormHelper(screen);
    -#endif
    -
    -    __viewer = this;
    -
    -    // Register callbacks
    -    glfwSetKeyCallback(window, glfw_key_callback);
    -    glfwSetCursorPosCallback(window,glfw_mouse_move);
    -    glfwSetWindowSizeCallback(window,glfw_window_size);
    -    glfwSetMouseButtonCallback(window,glfw_mouse_press);
    -    glfwSetScrollCallback(window,glfw_mouse_scroll);
    -    glfwSetCharModsCallback(window,glfw_char_mods_callback);
    -    glfwSetDropCallback(window,glfw_drop_callback);
    -
    -    // Handle retina displays (windows and mac)
    -    int width, height;
    -    glfwGetFramebufferSize(window, &width, &height);
    -
    -    int width_window, height_window;
    -    glfwGetWindowSize(window, &width_window, &height_window);
    -
    -    highdpi = width/width_window;
    -
    -    glfw_window_size(window,width_window,height_window);
    -
    -    opengl.init();
    -
    -    core.align_camera_center(data.V,data.F);
    -
    -    // Initialize IGL viewer
    -    init();
    -    return EXIT_SUCCESS;
    +    assert(!data_list.empty() && "data_list should never be empty");
    +    assert(
    +      (selected_data_index >= 0 && selected_data_index < data_list.size()) &&
    +      "selected_data_index should be in bounds");
    +    return data_list[selected_data_index];
       }
     
    -  IGL_INLINE bool Viewer::launch_rendering(bool loop)
    +  IGL_INLINE int Viewer::append_mesh()
       {
    -    // glfwMakeContextCurrent(window);
    +    assert(data_list.size() >= 1);
     
    -    // Rendering loop
    -    while (!glfwWindowShouldClose(window))
    +    data_list.emplace_back();
    +    selected_data_index = data_list.size()-1;
    +    data_list.back().id = next_data_id++;
    +    return data_list.back().id;
    +  }
    +
    +  IGL_INLINE bool Viewer::erase_mesh(const size_t index)
    +  {
    +    assert((index >= 0 && index < data_list.size()) && "index should be in bounds");
    +    assert(data_list.size() >= 1);
    +    if(data_list.size() == 1)
         {
    -      double tic = get_seconds();
    -      draw();
    -
    -      glfwSwapBuffers(window);
    -      if(core.is_animating)
    -      {
    -        glfwPollEvents();
    -        // In microseconds
    -        double duration = 1000000.*(get_seconds()-tic);
    -        const double min_duration = 1000000./core.animation_max_fps;
    -        if(duration= index && selected_data_index>0)
    +    {
    +      selected_data_index--;
    +    }
    +    return true;
       }
     
    -  IGL_INLINE void Viewer::launch_shut()
    -  {
    -    opengl.free();
    -    core.shut();
    -
    -    shutdown_plugins();
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    delete ngui;
    -    //delete screen;
    -    screen = nullptr;
    -    ngui = nullptr;
    -#endif
    -
    -    glfwDestroyWindow(window);
    -    glfwTerminate();
    -    return;
    +  IGL_INLINE size_t Viewer::mesh_index(const int id) {
    +    for (size_t i = 0; i < data_list.size(); ++i)
    +    {
    +      if (data_list[i].id == id)
    +        return i;
    +    }
    +    return 0;
       }
     
    -  IGL_INLINE int Viewer::launch(bool resizable,bool fullscreen)
    -  {
    -    // TODO return values are being ignored...
    -    launch_init(resizable,fullscreen);
    -    launch_rendering(true);
    -    launch_shut();
    -    return EXIT_SUCCESS;
    -  }
    +
    +} // end namespace
     } // end namespace
     }
    diff --git a/include/igl/viewer/Viewer.h b/include/igl/opengl/glfw/Viewer.h
    similarity index 67%
    rename from include/igl/viewer/Viewer.h
    rename to include/igl/opengl/glfw/Viewer.h
    index 507b3633e..489ebfc50 100644
    --- a/include/igl/viewer/Viewer.h
    +++ b/include/igl/opengl/glfw/Viewer.h
    @@ -5,70 +5,126 @@
     // This Source Code Form is subject to the terms of the Mozilla Public License
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_VIEWER_H
    -#define IGL_VIEWER_VIEWER_H
    +#ifndef IGL_OPENGL_GLFW_VIEWER_H
    +#define IGL_OPENGL_GLFW_VIEWER_H
     
     #ifndef IGL_OPENGL_4
     #define IGL_OPENGL_4
     #endif
     
    -#include 
    -#include 
    -#include 
    +#include "../../igl_inline.h"
    +#include "../MeshGL.h"
    +#include "../ViewerCore.h"
    +#include "../ViewerData.h"
    +#include "ViewerPlugin.h"
     
     #include 
     #include 
     
    -#include 
    -
    -#include "OpenGL_shader.h"
    -#include "OpenGL_state.h"
    -#include "ViewerCore.h"
    -#include "ViewerData.h"
    -#include "ViewerPlugin.h"
    +#include 
    +#include 
    +#include 
     
     #define IGL_MOD_SHIFT           0x0001
     #define IGL_MOD_CONTROL         0x0002
     #define IGL_MOD_ALT             0x0004
     #define IGL_MOD_SUPER           0x0008
     
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -namespace nanogui { class FormHelper; class Screen; }
    -#endif
    -
     struct GLFWwindow;
     
     namespace igl
     {
    -namespace viewer
    +namespace opengl
    +{
    +namespace glfw
     {
       // GLFW-based mesh viewer
       class Viewer
       {
       public:
    -    GLFWwindow* window;
    -
    +    // UI Enumerations
    +    enum class MouseButton {Left, Middle, Right};
    +    enum class MouseMode { None, Rotation, Zoom, Pan, Translation} mouse_mode;
         IGL_INLINE int launch(bool resizable = true,bool fullscreen = false);
         IGL_INLINE int launch_init(bool resizable = true,bool fullscreen = false);
         IGL_INLINE bool launch_rendering(bool loop = true);
         IGL_INLINE void launch_shut();
    -
         IGL_INLINE void init();
    -
    -    // Stores all the viewing options
    -    ViewerCore core;
    -
    -    // Stores all the data that should be visualized
    -    ViewerData data;
    -
    -    // Stores the vbos indices and opengl related settings
    -    OpenGL_state opengl;
    -
    -    // List of registered plugins
    -    std::vector plugins;
         IGL_INLINE void init_plugins();
         IGL_INLINE void shutdown_plugins();
    +    Viewer();
    +    ~Viewer();
    +    // Mesh IO
    +    IGL_INLINE bool load_mesh_from_file(const std::string & mesh_file_name);
    +    IGL_INLINE bool   save_mesh_to_file(const std::string & mesh_file_name);
    +    // Callbacks
    +    IGL_INLINE bool key_pressed(unsigned int unicode_key,int modifier);
    +    IGL_INLINE bool key_down(int key,int modifier);
    +    IGL_INLINE bool key_up(int key,int modifier);
    +    IGL_INLINE bool mouse_down(MouseButton button,int modifier);
    +    IGL_INLINE bool mouse_up(MouseButton button,int modifier);
    +    IGL_INLINE bool mouse_move(int mouse_x,int mouse_y);
    +    IGL_INLINE bool mouse_scroll(float delta_y);
    +    // Scene IO
    +    IGL_INLINE bool load_scene();
    +    IGL_INLINE bool load_scene(std::string fname);
    +    IGL_INLINE bool save_scene();
    +    IGL_INLINE bool save_scene(std::string fname);
    +    // Draw everything
    +    IGL_INLINE void draw();
    +    // OpenGL context resize
    +    IGL_INLINE void resize(int w,int h); // explicitly set window size
    +    IGL_INLINE void post_resize(int w,int h); // external resize due to user interaction
    +    // Helper functions
    +    IGL_INLINE void snap_to_canonical_quaternion();
    +    IGL_INLINE void open_dialog_load_mesh();
    +    IGL_INLINE void open_dialog_save_mesh();
    +    IGL_INLINE ViewerData& data();
     
    +    // Append a new "slot" for a mesh (i.e., create empty entires at the end of
    +    // the data_list and opengl_state_list.
    +    //
    +    // Returns the id of the last appended mesh
    +    //
    +    // Side Effects:
    +    //   selected_data_index is set this newly created, last entry (i.e.,
    +    //   #meshes-1)
    +    IGL_INLINE int append_mesh();
    +
    +    // Erase a mesh (i.e., its corresponding data and state entires in data_list
    +    // and opengl_state_list)
    +    //
    +    // Inputs:
    +    //   index  index of mesh to erase
    +    // Returns whether erasure was successful <=> cannot erase last mesh
    +    //
    +    // Side Effects:
    +    //   If selected_data_index is greater than or equal to index then it is
    +    //   decremented
    +    // Example:
    +    //   // Erase all mesh slots except first and clear remaining mesh
    +    //   viewer.selected_data_index = viewer.data_list.size()-1;
    +    //   while(viewer.erase_mesh(viewer.selected_data_index)){};
    +    //   viewer.data().clear();
    +    //
    +    IGL_INLINE bool erase_mesh(const size_t index);
    +
    +    // Retrieve mesh index from its unique identifier
    +    // Returns 0 if not found
    +    IGL_INLINE size_t mesh_index(const int id);
    +
    +    // Alec: I call this data_list instead of just data to avoid confusion with
    +    // old "data" variable.
    +    // Stores all the data that should be visualized
    +    std::vector data_list;
    +
    +    size_t selected_data_index;
    +    int next_data_id;
    +    GLFWwindow* window;
    +    // Stores all the viewing options
    +    ViewerCore core;
    +    // List of registered plugins
    +    std::vector plugins;
         // Temporary data stored when the mouse button is pressed
         Eigen::Quaternionf down_rotation;
         int current_mouse_x;
    @@ -79,54 +135,8 @@ namespace viewer
         Eigen::Vector3f down_translation;
         bool down;
         bool hack_never_moved;
    -
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -    nanogui::FormHelper* ngui;
    -    nanogui::Screen* screen;
    -#endif
    -
         // Keep track of the global position of the scrollwheel
         float scroll_position;
    -
    -    // UI Enumerations
    -    enum class MouseButton {Left, Middle, Right};
    -    enum class MouseMode { None, Rotation, Zoom, Pan, Translation} mouse_mode;
    -
    -    Viewer();
    -    ~Viewer();
    -
    -    // Mesh IO
    -    IGL_INLINE bool load_mesh_from_file(const char* mesh_file_name);
    -    IGL_INLINE bool save_mesh_to_file(const char* mesh_file_name);
    -
    -    // Callbacks
    -    IGL_INLINE bool key_pressed(unsigned int unicode_key,int modifier);
    -    IGL_INLINE bool key_down(int key,int modifier);
    -    IGL_INLINE bool key_up(int key,int modifier);
    -
    -    IGL_INLINE bool mouse_down(MouseButton button,int modifier);
    -    IGL_INLINE bool mouse_up(MouseButton button,int modifier);
    -
    -    IGL_INLINE bool mouse_move(int mouse_x,int mouse_y);
    -    IGL_INLINE bool mouse_scroll(float delta_y);
    -
    -    // Scene IO
    -    IGL_INLINE bool load_scene();
    -    IGL_INLINE bool load_scene(std::string fname);
    -    IGL_INLINE bool save_scene();
    -
    -    // Draw everything
    -    IGL_INLINE void draw();
    -
    -    // OpenGL context resize
    -    IGL_INLINE void resize(int w,int h); // explicitly set window size
    -    IGL_INLINE void post_resize(int w,int h); // external resize due to user interaction
    -
    -    // Helper functions
    -    IGL_INLINE void snap_to_canonical_quaternion();
    -    IGL_INLINE void open_dialog_load_mesh();
    -    IGL_INLINE void open_dialog_save_mesh();
    -
         // C++-style functions
         //
         // Returns **true** if action should be cancelled.
    @@ -139,9 +149,8 @@ namespace viewer
         std::function callback_mouse_scroll;
         std::function callback_key_pressed;
         // THESE SHOULD BE DEPRECATED:
    -    std::function callback_key_down;
    -    std::function callback_key_up;
    -
    +    std::function callback_key_down;
    +    std::function callback_key_up;
         // Pointers to per-callback data
         void* callback_init_data;
         void* callback_pre_draw_data;
    @@ -160,6 +169,7 @@ namespace viewer
     
     } // end namespace
     } // end namespace
    +} // end namespace
     
     #ifndef IGL_STATIC_LIBRARY
     #  include "Viewer.cpp"
    diff --git a/include/igl/viewer/ViewerPlugin.h b/include/igl/opengl/glfw/ViewerPlugin.h
    similarity index 97%
    rename from include/igl/viewer/ViewerPlugin.h
    rename to include/igl/opengl/glfw/ViewerPlugin.h
    index 44a0b464c..9ba7903a8 100644
    --- a/include/igl/viewer/ViewerPlugin.h
    +++ b/include/igl/opengl/glfw/ViewerPlugin.h
    @@ -5,8 +5,8 @@
     // This Source Code Form is subject to the terms of the Mozilla Public License
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_VIEWER_PLUGIN_H
    -#define IGL_VIEWER_VIEWER_PLUGIN_H
    +#ifndef IGL_OPENGL_GLFW_VIEWERPLUGIN_H
    +#define IGL_OPENGL_GLFW_VIEWERPLUGIN_H
     
     // TODO:
     // * create plugins/skeleton.h
    @@ -19,7 +19,9 @@
     
     namespace igl
     {
    -namespace viewer
    +namespace opengl
    +{
    +namespace glfw
     {
     
     // Abstract class for plugins
    @@ -160,7 +162,6 @@ protected:
       Viewer *viewer;
     };
     
    -#ifdef ENABLE_SERIALIZATION
     namespace serialization
     {
       inline void serialize(const ViewerPlugin& obj,std::vector& buffer)
    @@ -173,8 +174,8 @@ namespace serialization
         obj.deserialize(buffer);
       }
     }
    -#endif
     
    +}
     }
     }
     
    diff --git a/include/igl/opengl/glfw/background_window.cpp b/include/igl/opengl/glfw/background_window.cpp
    index 733da4b40..964202cc2 100644
    --- a/include/igl/opengl/glfw/background_window.cpp
    +++ b/include/igl/opengl/glfw/background_window.cpp
    @@ -17,16 +17,11 @@ IGL_INLINE bool igl::opengl::glfw::background_window(GLFWwindow* & window)
       window = glfwCreateWindow(1, 1,"", NULL, NULL);
       if(!window) return false;
       glfwMakeContextCurrent(window);
    -  #ifndef __APPLE__
    -    glewExperimental = true;
    -    GLenum err = glewInit();
    -    if(GLEW_OK != err)
    -    {
    -      /* Problem: glewInit failed, something is seriously wrong. */
    -     fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
    -    }
    -    glGetError(); // pull and savely ignonre unhandled errors like GL_INVALID_ENUM
    -  #endif
    +  if (!gladLoadGLLoader((GLADloadproc) glfwGetProcAddress))
    +  {
    +    printf("Failed to load OpenGL and its extensions");
    +  }
    +  glGetError(); // pull and safely ignore unhandled errors like GL_INVALID_ENUM
       return true;
     }
     
    diff --git a/include/igl/opengl/glfw/background_window.h b/include/igl/opengl/glfw/background_window.h
    index 5ed94a6d4..a37515b89 100644
    --- a/include/igl/opengl/glfw/background_window.h
    +++ b/include/igl/opengl/glfw/background_window.h
    @@ -1,9 +1,8 @@
     #ifndef IGL_OPENGL_GLFW_BACKGROUND_WINDOW_H
     #define IGL_OPENGL_GLFW_BACKGROUND_WINDOW_H
     #include "../../igl_inline.h"
    -#include "../gl.h"
     
    -#define GLFW_INCLUDE_GLU
    +#include "../gl.h"
     #include 
     
     namespace igl
    @@ -13,7 +12,7 @@ namespace igl
         namespace glfw
         {
           // Create a background window with a valid core profile opengl context
    -      // set to current. 
    +      // set to current.
           //
           // After you're finished with this window you may call
           // `glfwDestroyWindow(window)`
    diff --git a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h
    new file mode 100644
    index 000000000..892274b0f
    --- /dev/null
    +++ b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h
    @@ -0,0 +1,74 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2018 Jérémie Dumas 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_OPENGL_GLFW_IMGUI_IMGUIHELPERS_H
    +#define IGL_OPENGL_GLFW_IMGUI_IMGUIHELPERS_H
    +
    +////////////////////////////////////////////////////////////////////////////////
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +////////////////////////////////////////////////////////////////////////////////
    +
    +// Extend ImGui by populating its namespace directly
    +//
    +// Code snippets taken from there:
    +// https://eliasdaler.github.io/using-imgui-with-sfml-pt2/
    +namespace ImGui
    +{
    +
    +static auto vector_getter = [](void* vec, int idx, const char** out_text)
    +{
    +	auto& vector = *static_cast*>(vec);
    +	if (idx < 0 || idx >= static_cast(vector.size())) { return false; }
    +	*out_text = vector.at(idx).c_str();
    +	return true;
    +};
    +
    +inline bool Combo(const char* label, int* idx, std::vector& values)
    +{
    +	if (values.empty()) { return false; }
    +	return Combo(label, idx, vector_getter,
    +		static_cast(&values), values.size());
    +}
    +
    +inline bool Combo(const char* label, int* idx, std::function getter, int items_count)
    +{
    +	auto func = [](void* data, int i, const char** out_text) {
    +		auto &getter = *reinterpret_cast *>(data);
    +		const char *s = getter(i);
    +		if (s) { *out_text = s; return true; }
    +		else { return false; }
    +	};
    +	return Combo(label, idx, func, reinterpret_cast(&getter), items_count);
    +}
    +
    +inline bool ListBox(const char* label, int* idx, std::vector& values)
    +{
    +	if (values.empty()) { return false; }
    +	return ListBox(label, idx, vector_getter,
    +		static_cast(&values), values.size());
    +}
    +
    +inline bool InputText(const char* label, std::string &str, ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL)
    +{
    +  char buf[1024];
    +  std::fill_n(buf, 1024, 0);
    +  std::copy_n(str.begin(), std::min(1024, (int) str.size()), buf);
    +  if (ImGui::InputText(label, buf, 1024, flags, callback, user_data))
    +  {
    +    str = std::string(buf);
    +    return true;
    +  }
    +  return false;
    +}
    +
    +} // namespace ImGui
    +
    +#endif // IGL_OPENGL_GLFW_IMGUI_IMGUIHELPERS_H
    diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp
    new file mode 100644
    index 000000000..740f6b174
    --- /dev/null
    +++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp
    @@ -0,0 +1,386 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2018 Jérémie Dumas 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +////////////////////////////////////////////////////////////////////////////////
    +#include "ImGuiMenu.h"
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +////////////////////////////////////////////////////////////////////////////////
    +
    +namespace igl
    +{
    +namespace opengl
    +{
    +namespace glfw
    +{
    +namespace imgui
    +{
    +
    +IGL_INLINE void ImGuiMenu::init(igl::opengl::glfw::Viewer *_viewer)
    +{
    +  ViewerPlugin::init(_viewer);
    +  // Setup ImGui binding
    +  if (_viewer)
    +  {
    +    if (context_ == nullptr)
    +    {
    +      context_ = ImGui::CreateContext();
    +    }
    +    ImGui_ImplGlfwGL3_Init(viewer->window, false);
    +    ImGui::GetIO().IniFilename = nullptr;
    +    ImGui::StyleColorsDark();
    +    ImGuiStyle& style = ImGui::GetStyle();
    +    style.FrameRounding = 5.0f;
    +    reload_font();
    +  }
    +}
    +
    +IGL_INLINE void ImGuiMenu::reload_font(int font_size)
    +{
    +  hidpi_scaling_ = hidpi_scaling();
    +  pixel_ratio_ = pixel_ratio();
    +  ImGuiIO& io = ImGui::GetIO();
    +  io.Fonts->Clear();
    +  io.Fonts->AddFontFromMemoryCompressedTTF(droid_sans_compressed_data,
    +    droid_sans_compressed_size, font_size * hidpi_scaling_);
    +  io.FontGlobalScale = 1.0 / pixel_ratio_;
    +}
    +
    +IGL_INLINE void ImGuiMenu::shutdown()
    +{
    +  // Cleanup
    +  ImGui_ImplGlfwGL3_Shutdown();
    +  ImGui::DestroyContext(context_);
    +  context_ = nullptr;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::pre_draw()
    +{
    +  glfwPollEvents();
    +
    +  // Check whether window dpi has changed
    +  float scaling = hidpi_scaling();
    +  if (std::abs(scaling - hidpi_scaling_) > 1e-5)
    +  {
    +    reload_font();
    +    ImGui_ImplGlfwGL3_InvalidateDeviceObjects();
    +  }
    +
    +  ImGui_ImplGlfwGL3_NewFrame();
    +  return false;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::post_draw()
    +{
    +  draw_menu();
    +  ImGui::Render();
    +  return false;
    +}
    +
    +IGL_INLINE void ImGuiMenu::post_resize(int width, int height)
    +{
    +  if (context_)
    +  {
    +    ImGui::GetIO().DisplaySize.x = float(width);
    +    ImGui::GetIO().DisplaySize.y = float(height);
    +  }
    +}
    +
    +// Mouse IO
    +IGL_INLINE bool ImGuiMenu::mouse_down(int button, int modifier)
    +{
    +  ImGui_ImplGlfwGL3_MouseButtonCallback(viewer->window, button, GLFW_PRESS, modifier);
    +  return ImGui::GetIO().WantCaptureMouse;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::mouse_up(int button, int modifier)
    +{
    +  return ImGui::GetIO().WantCaptureMouse;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::mouse_move(int mouse_x, int mouse_y)
    +{
    +  return ImGui::GetIO().WantCaptureMouse;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::mouse_scroll(float delta_y)
    +{
    +  ImGui_ImplGlfwGL3_ScrollCallback(viewer->window, 0.f, delta_y);
    +  return ImGui::GetIO().WantCaptureMouse;
    +}
    +
    +// Keyboard IO
    +IGL_INLINE bool ImGuiMenu::key_pressed(unsigned int key, int modifiers)
    +{
    +  ImGui_ImplGlfwGL3_CharCallback(nullptr, key);
    +  return ImGui::GetIO().WantCaptureKeyboard;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::key_down(int key, int modifiers)
    +{
    +  ImGui_ImplGlfwGL3_KeyCallback(viewer->window, key, 0, GLFW_PRESS, modifiers);
    +  return ImGui::GetIO().WantCaptureKeyboard;
    +}
    +
    +IGL_INLINE bool ImGuiMenu::key_up(int key, int modifiers)
    +{
    +  ImGui_ImplGlfwGL3_KeyCallback(viewer->window, key, 0, GLFW_RELEASE, modifiers);
    +  return ImGui::GetIO().WantCaptureKeyboard;
    +}
    +
    +// Draw menu
    +IGL_INLINE void ImGuiMenu::draw_menu()
    +{
    +  // Text labels
    +  draw_labels_window();
    +
    +  // Viewer settings
    +  if (callback_draw_viewer_window) { callback_draw_viewer_window(); }
    +  else { draw_viewer_window(); }
    +
    +  // Other windows
    +  if (callback_draw_custom_window) { callback_draw_custom_window(); }
    +  else { draw_custom_window(); }
    +}
    +
    +IGL_INLINE void ImGuiMenu::draw_viewer_window()
    +{
    +  float menu_width = 180.f * menu_scaling();
    +  ImGui::SetNextWindowPos(ImVec2(0.0f, 0.0f), ImGuiSetCond_FirstUseEver);
    +  ImGui::SetNextWindowSize(ImVec2(0.0f, 0.0f), ImGuiSetCond_FirstUseEver);
    +  ImGui::SetNextWindowSizeConstraints(ImVec2(menu_width, -1.0f), ImVec2(menu_width, -1.0f));
    +  bool _viewer_menu_visible = true;
    +  ImGui::Begin(
    +      "Viewer", &_viewer_menu_visible,
    +      ImGuiWindowFlags_NoSavedSettings
    +      | ImGuiWindowFlags_AlwaysAutoResize
    +  );
    +  ImGui::PushItemWidth(ImGui::GetWindowWidth() * 0.4f);
    +  if (callback_draw_viewer_menu) { callback_draw_viewer_menu(); }
    +  else { draw_viewer_menu(); }
    +  ImGui::PopItemWidth();
    +  ImGui::End();
    +}
    +
    +IGL_INLINE void ImGuiMenu::draw_viewer_menu()
    +{
    +  // Workspace
    +  if (ImGui::CollapsingHeader("Workspace", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    float w = ImGui::GetContentRegionAvailWidth();
    +    float p = ImGui::GetStyle().FramePadding.x;
    +    if (ImGui::Button("Load##Workspace", ImVec2((w-p)/2.f, 0)))
    +    {
    +      viewer->load_scene();
    +    }
    +    ImGui::SameLine(0, p);
    +    if (ImGui::Button("Save##Workspace", ImVec2((w-p)/2.f, 0)))
    +    {
    +      viewer->save_scene();
    +    }
    +  }
    +
    +  // Mesh
    +  if (ImGui::CollapsingHeader("Mesh", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    float w = ImGui::GetContentRegionAvailWidth();
    +    float p = ImGui::GetStyle().FramePadding.x;
    +    if (ImGui::Button("Load##Mesh", ImVec2((w-p)/2.f, 0)))
    +    {
    +      viewer->open_dialog_load_mesh();
    +    }
    +    ImGui::SameLine(0, p);
    +    if (ImGui::Button("Save##Mesh", ImVec2((w-p)/2.f, 0)))
    +    {
    +      viewer->open_dialog_save_mesh();
    +    }
    +  }
    +
    +  // Viewing options
    +  if (ImGui::CollapsingHeader("Viewing Options", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    if (ImGui::Button("Center object", ImVec2(-1, 0)))
    +    {
    +      viewer->core.align_camera_center(viewer->data().V, viewer->data().F);
    +    }
    +    if (ImGui::Button("Snap canonical view", ImVec2(-1, 0)))
    +    {
    +      viewer->snap_to_canonical_quaternion();
    +    }
    +
    +    // Zoom
    +    ImGui::PushItemWidth(80 * menu_scaling());
    +    ImGui::DragFloat("Zoom", &(viewer->core.camera_zoom), 0.05f, 0.1f, 20.0f);
    +
    +    // Select rotation type
    +    static int rotation_type = static_cast(viewer->core.rotation_type);
    +    static Eigen::Quaternionf trackball_angle = Eigen::Quaternionf::Identity();
    +    static bool orthographic = true;
    +    if (ImGui::Combo("Camera Type", &rotation_type, "Trackball\0Two Axes\0002D Mode\0\0"))
    +    {
    +      using RT = igl::opengl::ViewerCore::RotationType;
    +      auto new_type = static_cast(rotation_type);
    +      if (new_type != viewer->core.rotation_type)
    +      {
    +        if (new_type == RT::ROTATION_TYPE_NO_ROTATION)
    +        {
    +          trackball_angle = viewer->core.trackball_angle;
    +          orthographic = viewer->core.orthographic;
    +          viewer->core.trackball_angle = Eigen::Quaternionf::Identity();
    +          viewer->core.orthographic = true;
    +        }
    +        else if (viewer->core.rotation_type == RT::ROTATION_TYPE_NO_ROTATION)
    +        {
    +          viewer->core.trackball_angle = trackball_angle;
    +          viewer->core.orthographic = orthographic;
    +        }
    +        viewer->core.set_rotation_type(new_type);
    +      }
    +    }
    +
    +    // Orthographic view
    +    ImGui::Checkbox("Orthographic view", &(viewer->core.orthographic));
    +    ImGui::PopItemWidth();
    +  }
    +
    +  // Draw options
    +  if (ImGui::CollapsingHeader("Draw Options", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    if (ImGui::Checkbox("Face-based", &(viewer->data().face_based)))
    +    {
    +      viewer->data().set_face_based(viewer->data().face_based);
    +    }
    +    ImGui::Checkbox("Show texture", &(viewer->data().show_texture));
    +    if (ImGui::Checkbox("Invert normals", &(viewer->data().invert_normals)))
    +    {
    +      viewer->data().dirty |= igl::opengl::MeshGL::DIRTY_NORMAL;
    +    }
    +    ImGui::Checkbox("Show overlay", &(viewer->data().show_overlay));
    +    ImGui::Checkbox("Show overlay depth", &(viewer->data().show_overlay_depth));
    +    ImGui::ColorEdit4("Background", viewer->core.background_color.data(),
    +        ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_PickerHueWheel);
    +    ImGui::ColorEdit4("Line color", viewer->data().line_color.data(),
    +        ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_PickerHueWheel);
    +    ImGui::PushItemWidth(ImGui::GetWindowWidth() * 0.3f);
    +    ImGui::DragFloat("Shininess", &(viewer->data().shininess), 0.05f, 0.0f, 100.0f);
    +    ImGui::PopItemWidth();
    +  }
    +
    +  // Overlays
    +  if (ImGui::CollapsingHeader("Overlays", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    ImGui::Checkbox("Wireframe", &(viewer->data().show_lines));
    +    ImGui::Checkbox("Fill", &(viewer->data().show_faces));
    +    ImGui::Checkbox("Show vertex labels", &(viewer->data().show_vertid));
    +    ImGui::Checkbox("Show faces labels", &(viewer->data().show_faceid));
    +  }
    +}
    +
    +IGL_INLINE void ImGuiMenu::draw_labels_window()
    +{
    +  // Text labels
    +  ImGui::SetNextWindowPos(ImVec2(0,0), ImGuiSetCond_Always);
    +  ImGui::SetNextWindowSize(ImGui::GetIO().DisplaySize, ImGuiSetCond_Always);
    +  bool visible = true;
    +  ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0,0,0,0));
    +  ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0);
    +  ImGui::Begin("ViewerLabels", &visible,
    +      ImGuiWindowFlags_NoTitleBar
    +      | ImGuiWindowFlags_NoResize
    +      | ImGuiWindowFlags_NoMove
    +      | ImGuiWindowFlags_NoScrollbar
    +      | ImGuiWindowFlags_NoScrollWithMouse
    +      | ImGuiWindowFlags_NoCollapse
    +      | ImGuiWindowFlags_NoSavedSettings
    +      | ImGuiWindowFlags_NoInputs);
    +  for (const auto & data : viewer->data_list)
    +  {
    +    draw_labels(data);
    +  }
    +  ImGui::End();
    +  ImGui::PopStyleColor();
    +  ImGui::PopStyleVar();
    +}
    +
    +IGL_INLINE void ImGuiMenu::draw_labels(const igl::opengl::ViewerData &data)
    +{
    +  if (data.show_vertid)
    +  {
    +    for (int i = 0; i < data.V.rows(); ++i)
    +    {
    +      draw_text(data.V.row(i), data.V_normals.row(i), std::to_string(i));
    +    }
    +  }
    +
    +  if (data.show_faceid)
    +  {
    +    for (int i = 0; i < data.F.rows(); ++i)
    +    {
    +      Eigen::RowVector3d p = Eigen::RowVector3d::Zero();
    +      for (int j = 0; j < data.F.cols(); ++j)
    +      {
    +        p += data.V.row(data.F(i,j));
    +      }
    +      p /= (double) data.F.cols();
    +
    +      draw_text(p, data.F_normals.row(i), std::to_string(i));
    +    }
    +  }
    +
    +  if (data.labels_positions.rows() > 0)
    +  {
    +    for (int i = 0; i < data.labels_positions.rows(); ++i)
    +    {
    +      draw_text(data.labels_positions.row(i), Eigen::Vector3d(0.0,0.0,0.0),
    +        data.labels_strings[i]);
    +    }
    +  }
    +}
    +
    +IGL_INLINE void ImGuiMenu::draw_text(Eigen::Vector3d pos, Eigen::Vector3d normal, const std::string &text)
    +{
    +  Eigen::Matrix4f view_matrix = viewer->core.view * viewer->core.model;
    +  pos += normal * 0.005f * viewer->core.object_scale;
    +  Eigen::Vector3f coord = igl::project(Eigen::Vector3f(pos.cast()),
    +    view_matrix, viewer->core.proj, viewer->core.viewport);
    +
    +  // Draw text labels slightly bigger than normal text
    +  ImDrawList* drawList = ImGui::GetWindowDrawList();
    +  drawList->AddText(ImGui::GetFont(), ImGui::GetFontSize() * 1.2,
    +      ImVec2(coord[0]/pixel_ratio_, (viewer->core.viewport[3] - coord[1])/pixel_ratio_),
    +      ImGui::GetColorU32(ImVec4(0, 0, 10, 255)),
    +      &text[0], &text[0] + text.size());
    +}
    +
    +IGL_INLINE float ImGuiMenu::pixel_ratio()
    +{
    +  // Computes pixel ratio for hidpi devices
    +  int buf_size[2];
    +  int win_size[2];
    +  GLFWwindow* window = glfwGetCurrentContext();
    +  glfwGetFramebufferSize(window, &buf_size[0], &buf_size[1]);
    +  glfwGetWindowSize(window, &win_size[0], &win_size[1]);
    +  return (float) buf_size[0] / (float) win_size[0];
    +}
    +
    +IGL_INLINE float ImGuiMenu::hidpi_scaling()
    +{
    +  // Computes scaling factor for hidpi devices
    +  float xscale, yscale;
    +  GLFWwindow* window = glfwGetCurrentContext();
    +  glfwGetWindowContentScale(window, &xscale, &yscale);
    +  return 0.5 * (xscale + yscale);
    +}
    +
    +} // end namespace
    +} // end namespace
    +} // end namespace
    +} // end namespace
    diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.h b/include/igl/opengl/glfw/imgui/ImGuiMenu.h
    new file mode 100644
    index 000000000..e7144a675
    --- /dev/null
    +++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.h
    @@ -0,0 +1,110 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2018 Jérémie Dumas 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_OPENGL_GLFW_IMGUI_IMGUIMENU_H
    +#define IGL_OPENGL_GLFW_IMGUI_IMGUIMENU_H
    +
    +////////////////////////////////////////////////////////////////////////////////
    +#include 
    +#include 
    +#include 
    +////////////////////////////////////////////////////////////////////////////////
    +
    +// Forward declarations
    +struct ImGuiContext;
    +
    +namespace igl
    +{
    +namespace opengl
    +{
    +namespace glfw
    +{
    +namespace imgui
    +{
    +
    +class ImGuiMenu : public igl::opengl::glfw::ViewerPlugin
    +{
    +protected:
    +  // Hidpi scaling to be used for text rendering.
    +  float hidpi_scaling_;
    +
    +  // Ratio between the framebuffer size and the window size.
    +  // May be different from the hipdi scaling!
    +  float pixel_ratio_;
    +
    +  // ImGui Context
    +  ImGuiContext * context_ = nullptr;
    +
    +public:
    +  IGL_INLINE virtual void init(igl::opengl::glfw::Viewer *_viewer) override;
    +
    +  IGL_INLINE virtual void reload_font(int font_size = 13);
    +
    +  IGL_INLINE virtual void shutdown() override;
    +
    +  IGL_INLINE virtual bool pre_draw() override;
    +
    +  IGL_INLINE  virtual bool post_draw() override;
    +
    +  IGL_INLINE virtual void post_resize(int width, int height) override;
    +
    +  // Mouse IO
    +  IGL_INLINE virtual bool mouse_down(int button, int modifier) override;
    +
    +  IGL_INLINE virtual bool mouse_up(int button, int modifier) override;
    +
    +  IGL_INLINE virtual bool mouse_move(int mouse_x, int mouse_y) override;
    +
    +  IGL_INLINE virtual bool mouse_scroll(float delta_y) override;
    +
    +  // Keyboard IO
    +  IGL_INLINE virtual bool key_pressed(unsigned int key, int modifiers) override;
    +
    +  IGL_INLINE virtual bool key_down(int key, int modifiers) override;
    +
    +  IGL_INLINE virtual bool key_up(int key, int modifiers) override;
    +
    +  // Draw menu
    +  IGL_INLINE virtual void draw_menu();
    +
    +  // Can be overwritten by `callback_draw_viewer_window`
    +  IGL_INLINE virtual void draw_viewer_window();
    +
    +  // Can be overwritten by `callback_draw_viewer_menu`
    +  IGL_INLINE virtual void draw_viewer_menu();
    +
    +  // Can be overwritten by `callback_draw_custom_window`
    +  IGL_INLINE virtual void draw_custom_window() { }
    +
    +  // Easy-to-customize callbacks
    +  std::function callback_draw_viewer_window;
    +  std::function callback_draw_viewer_menu;
    +  std::function callback_draw_custom_window;
    +
    +  IGL_INLINE void draw_labels_window();
    +
    +  IGL_INLINE void draw_labels(const igl::opengl::ViewerData &data);
    +
    +  IGL_INLINE void draw_text(Eigen::Vector3d pos, Eigen::Vector3d normal, const std::string &text);
    +
    +  IGL_INLINE float pixel_ratio();
    +
    +  IGL_INLINE float hidpi_scaling();
    +
    +  float menu_scaling() { return hidpi_scaling_ / pixel_ratio_; }
    +};
    +
    +} // end namespace
    +} // end namespace
    +} // end namespace
    +} // end namespace
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "ImGuiMenu.cpp"
    +#endif
    +
    +#endif // IGL_OPENGL_GLFW_IMGUI_IMGUIMENU_H
    diff --git a/include/igl/opengl/glfw/map_texture.cpp b/include/igl/opengl/glfw/map_texture.cpp
    index d0d98f373..7975d87d4 100644
    --- a/include/igl/opengl/glfw/map_texture.cpp
    +++ b/include/igl/opengl/glfw/map_texture.cpp
    @@ -1,14 +1,15 @@
    +#ifdef IGL_OPENGL_4
    +
     #include "map_texture.h"
     #include "background_window.h"
     #include "../create_shader_program.h"
    -#include "../gl.h"
     
    -#define GLFW_INCLUDE_GLU
    +#include "../gl.h"
     #include 
     
     #include 
     #include 
    -  
    +
     template 
     IGL_INLINE bool igl::opengl::glfw::map_texture(
       const Eigen::MatrixBase & _V,
    @@ -26,7 +27,7 @@ IGL_INLINE bool igl::opengl::glfw::map_texture(
       return map_texture(_V,_F,_U,in_data,w,h,nc,out_data,out_w,out_h,out_nc);
     }
     
    -  
    +
     template 
     IGL_INLINE bool igl::opengl::glfw::map_texture(
       const Eigen::MatrixBase & _V,
    @@ -47,7 +48,7 @@ IGL_INLINE bool igl::opengl::glfw::map_texture(
         glfwTerminate();
         return false;
       };
    -  // Force inputs to be RowMajor at the cost of a copy 
    +  // Force inputs to be RowMajor at the cost of a copy
       Eigen::Matrix<
         double,
         DerivedV::RowsAtCompileTime,
    @@ -71,7 +72,7 @@ IGL_INLINE bool igl::opengl::glfw::map_texture(
       }
     
       // Compile each shader
    -  std::string vertex_shader = dim == 2 ? 
    +  std::string vertex_shader = dim == 2 ?
         R"(
     #version 330 core
     layout(location = 0) in vec2 position;
    @@ -106,7 +107,7 @@ void main()
       color = texture(tex,tex_coord_f).rgb;
     }
     )";
    -  GLuint prog_id = 
    +  GLuint prog_id =
         igl::opengl::create_shader_program(vertex_shader,fragment_shader,{});
       glUniform1i(glGetUniformLocation(prog_id, "tex"),0);
       // Generate and attach buffers to vertex array
    @@ -129,7 +130,7 @@ void main()
       glBufferData(GL_ARRAY_BUFFER, sizeof(double)*V.size(), V.data(), GL_STATIC_DRAW);
       glVertexAttribLPointer(1, V.cols(), GL_DOUBLE, V.cols() * sizeof(GLdouble), (GLvoid*)0);
       glBindVertexArray(0);
    -  glBindBuffer(GL_ARRAY_BUFFER, 0); 
    +  glBindBuffer(GL_ARRAY_BUFFER, 0);
       glBindVertexArray(0);
       // Prepare texture
       GLuint in_tex;
    @@ -162,7 +163,7 @@ void main()
         GLenum bufs[1] = {GL_COLOR_ATTACHMENT0};
         glDrawBuffers(1, bufs);
       }
    -  if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) 
    +  if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
       {
         fail("framebuffer setup failed.");
       }
    @@ -206,3 +207,5 @@ void main()
     // generated by autoexplicit.sh
     template bool igl::opengl::glfw::map_texture, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, unsigned char const*, int, int, int, std::vector >&);
     #endif
    +
    +#endif // IGL_OPENGL_4
    diff --git a/include/igl/opengl/glfw/map_texture.h b/include/igl/opengl/glfw/map_texture.h
    index 6713dd676..ee3b30a45 100644
    --- a/include/igl/opengl/glfw/map_texture.h
    +++ b/include/igl/opengl/glfw/map_texture.h
    @@ -1,6 +1,8 @@
     #ifndef IGL_OPENGL_GLFW_MAP_TEXTURE_H
     #define IGL_OPENGL_GLFW_MAP_TEXTURE_H
     
    +#ifdef IGL_OPENGL_4
    +
     #include "../../igl_inline.h"
     #include 
     #include 
    @@ -56,4 +58,6 @@ namespace igl
     #  include "map_texture.cpp"
     #endif
     
    +#endif // IGL_OPENGL_4
    +
     #endif
    diff --git a/include/igl/opengl/load_shader.cpp b/include/igl/opengl/load_shader.cpp
    index 446f723e6..0ee0a978f 100644
    --- a/include/igl/opengl/load_shader.cpp
    +++ b/include/igl/opengl/load_shader.cpp
    @@ -10,8 +10,14 @@
     // Copyright Denis Kovacs 4/10/08
     #include "print_shader_info_log.h"
     #include 
    -IGL_INLINE GLuint igl::opengl::load_shader(const char *src,const GLenum type)
    +IGL_INLINE GLuint igl::opengl::load_shader(
    +  const std::string & src,const GLenum type)
     {
    +  if(src.empty())
    +  {
    +    return (GLuint) 0;
    +  }
    +
       GLuint s = glCreateShader(type);
       if(s == 0)
       {
    @@ -19,7 +25,8 @@ IGL_INLINE GLuint igl::opengl::load_shader(const char *src,const GLenum type)
         return 0;
       }
       // Pass shader source string
    -  glShaderSource(s, 1, &src, NULL);
    +  const char *c = src.c_str();
    +  glShaderSource(s, 1, &c, NULL);
       glCompileShader(s);
       // Print info log (if any)
       igl::opengl::print_shader_info_log(s);
    diff --git a/include/igl/opengl/load_shader.h b/include/igl/opengl/load_shader.h
    index 49b3b5242..6c234d8fc 100644
    --- a/include/igl/opengl/load_shader.h
    +++ b/include/igl/opengl/load_shader.h
    @@ -9,12 +9,14 @@
     #define IGL_OPENGL_LOAD_SHADER_H
     #include "../igl_inline.h" 
     #include "gl.h"
    +#include 
     
     namespace igl
     {
       namespace opengl
       {
         // Creates and compiles a shader from a given string
    +    //
         // Inputs:
         //   src  string containing GLSL shader code
         //   type  GLSL type of shader, one of:
    @@ -22,7 +24,10 @@ namespace igl
         //     GL_FRAGMENT_SHADER
         //     GL_GEOMETRY_SHADER
         // Returns  index id of the newly created shader, 0 on error
    -    IGL_INLINE GLuint load_shader(const char *src,const GLenum type);
    +    // 
    +    // Will immediately return 0 if src is empty.
    +    IGL_INLINE GLuint load_shader(
    +      const std::string & src,const GLenum type);
       }
     }
     
    diff --git a/include/igl/opengl/vertex_array.cpp b/include/igl/opengl/vertex_array.cpp
    new file mode 100644
    index 000000000..c07113ad3
    --- /dev/null
    +++ b/include/igl/opengl/vertex_array.cpp
    @@ -0,0 +1,61 @@
    +#include "vertex_array.h"
    +#include 
    +
    +template <
    +  typename DerivedV,
    +  typename DerivedF>
    +IGL_INLINE void igl::opengl::vertex_array(
    +  const Eigen::PlainObjectBase & V,
    +  const Eigen::PlainObjectBase & F,
    +  GLuint & va_id,
    +  GLuint & ab_id,
    +  GLuint & eab_id)
    +{
    +  // Inputs should be in RowMajor storage. If not, we have no choice but to
    +  // create a copy.
    +  if(!(V.Options & Eigen::RowMajor))
    +  {
    +    Eigen::Matrix<
    +      typename DerivedV::Scalar,
    +      DerivedV::RowsAtCompileTime,
    +      DerivedV::ColsAtCompileTime,
    +      Eigen::RowMajor> VR = V;
    +    return vertex_array(VR,F,va_id,ab_id,eab_id);
    +  }
    +  if(!(F.Options & Eigen::RowMajor))
    +  {
    +    Eigen::Matrix<
    +      typename DerivedF::Scalar,
    +      DerivedF::RowsAtCompileTime,
    +      DerivedF::ColsAtCompileTime,
    +      Eigen::RowMajor> FR = F;
    +    return vertex_array(V,FR,va_id,ab_id,eab_id);
    +  }
    +  // Generate and attach buffers to vertex array
    +  glGenVertexArrays(1, &va_id);
    +  glGenBuffers(1, &ab_id);
    +  glGenBuffers(1, &eab_id);
    +  glBindVertexArray(va_id);
    +  glBindBuffer(GL_ARRAY_BUFFER, ab_id);
    +  const auto size_VScalar = sizeof(typename DerivedV::Scalar);
    +  const auto size_FScalar = sizeof(typename DerivedF::Scalar);
    +  glBufferData(GL_ARRAY_BUFFER,size_VScalar*V.size(),V.data(),GL_STATIC_DRAW);
    +  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, eab_id);
    +  assert(sizeof(GLuint) == size_FScalar && "F type does not match GLuint");
    +  glBufferData(
    +    GL_ELEMENT_ARRAY_BUFFER, sizeof(GLuint)*F.size(), F.data(), GL_STATIC_DRAW);
    +  glVertexAttribPointer(
    +    0,
    +    V.cols(),
    +    size_VScalar==sizeof(float)?GL_FLOAT:GL_DOUBLE,
    +    GL_FALSE,
    +    V.cols()*size_VScalar,
    +    (GLvoid*)0);
    +  glEnableVertexAttribArray(0);
    +  glBindBuffer(GL_ARRAY_BUFFER, 0); 
    +  glBindVertexArray(0);
    +}
    +
    +#ifdef IGL_STATIC_LIBRARY
    +template void igl::opengl::vertex_array, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, unsigned int&, unsigned int&, unsigned int&);
    +#endif
    diff --git a/include/igl/opengl/vertex_array.h b/include/igl/opengl/vertex_array.h
    new file mode 100644
    index 000000000..1342a9c90
    --- /dev/null
    +++ b/include/igl/opengl/vertex_array.h
    @@ -0,0 +1,38 @@
    +#ifndef IGL_OPENGL_VERTEX_ARRAY_H
    +#define IGL_OPENGL_VERTEX_ARRAY_H
    +#include 
    +#include 
    +#include 
    +namespace igl
    +{
    +  namespace opengl
    +  {
    +    // Create a GL_VERTEX_ARRAY for a given mesh (V,F)
    +    //
    +    // Inputs:
    +    //   V  #V by dim list of mesh vertex positions
    +    //   F  #F by 3 list of mesh triangle indices into V
    +    // Outputs:
    +    //   va_id  id of vertex array
    +    //   ab_id  id of array buffer (vertex buffer object)
    +    //   eab_id  id of element array buffer (element/face buffer object)
    +    //
    +    template <
    +      typename DerivedV,
    +      typename DerivedF>
    +    IGL_INLINE void vertex_array(
    +      // Note: Unlike most libigl functions, the **input** Eigen matrices must
    +      // be `Eigen::PlainObjectBase` because we want to directly access it's
    +      // underlying storage. It cannot be `Eigen::MatrixBase` (see
    +      // http://stackoverflow.com/questions/25094948/)
    +      const Eigen::PlainObjectBase & V,
    +      const Eigen::PlainObjectBase & F,
    +      GLuint & va_id,
    +      GLuint & ab_id,
    +      GLuint & eab_id);
    +  }
    +}
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "vertex_array.cpp"
    +#endif
    +#endif
    diff --git a/include/igl/opengl2/MouseController.h b/include/igl/opengl2/MouseController.h
    index 051c0c874..eb38802ad 100644
    --- a/include/igl/opengl2/MouseController.h
    +++ b/include/igl/opengl2/MouseController.h
    @@ -24,7 +24,7 @@ namespace igl
         {
           public:
             typedef Eigen::VectorXi VectorXb;
    -        // Propogate selection to descendants so that selected bones and their
    +        // Propagate selection to descendants so that selected bones and their
             // subtrees are all selected.
             //
             // Input:
    @@ -495,7 +495,7 @@ inline void igl::opengl2::MouseController::set_selection(
       // Combine upward, group rigid parts, repeat
       while(true)
       {
    -    // Spread selection accross rigid pieces
    +    // Spread selection across rigid pieces
         VectorXb SRP(VectorXb::Zero(RP.maxCoeff()+1));
         for(int e = 0;e
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #ifndef IGL_OPENGL2_GL_H
     #define IGL_OPENGL2_GL_H
    @@ -16,7 +16,7 @@
     //     #include "gl.h"
     // Instead of:
     //     #include 
    -// or 
    +// or
     //     #include 
     //
     
    diff --git a/include/igl/opengl2/lens_flare.cpp b/include/igl/opengl2/lens_flare.cpp
    index 135d4ffe4..c99f634c8 100644
    --- a/include/igl/opengl2/lens_flare.cpp
    +++ b/include/igl/opengl2/lens_flare.cpp
    @@ -115,7 +115,7 @@ IGL_INLINE void igl::opengl2::lens_flare_draw(
       using namespace Eigen;
       using namespace std;
     
    -  //// view_dir  direction from eye to position is is looking at
    +  //// view_dir  direction from eye to position it is looking at
       //const Vector3f view_dir =  (at - from).normalized();
     
       //// near_clip  distance from eye to near clipping plane along view_dir
    diff --git a/include/igl/opengl2/lens_flare.h b/include/igl/opengl2/lens_flare.h
    index bbd73e7f3..280c27b69 100644
    --- a/include/igl/opengl2/lens_flare.h
    +++ b/include/igl/opengl2/lens_flare.h
    @@ -21,7 +21,7 @@ namespace igl
         struct Flare{
           int type;             /* flare texture index, 0..5 */
           float scale;
    -      float loc;            /* postion on axis */
    +      float loc;            /* position on axis */
           float color[3];
           Flare():
             type(-1),
    diff --git a/include/igl/opengl2/unproject_to_zero_plane.h b/include/igl/opengl2/unproject_to_zero_plane.h
    index c1a5fa8b4..d76337e20 100644
    --- a/include/igl/opengl2/unproject_to_zero_plane.h
    +++ b/include/igl/opengl2/unproject_to_zero_plane.h
    @@ -14,7 +14,7 @@ namespace igl
       namespace opengl2
       {
       // Wrapper for gluUnproject that uses the current GL_MODELVIEW_MATRIX,
    -    // GL_PROJECTION_MATRIX, and GL_VIEWPORT to unproject a screen postion
    +    // GL_PROJECTION_MATRIX, and GL_VIEWPORT to unproject a screen position
         // (winX,winY) to a 3d location at same depth as the current origin.
         // Inputs:
         //   win*  screen space x, y, and z coordinates respectively
    diff --git a/include/igl/parallel_for.h b/include/igl/parallel_for.h
    index 1dd8e6f76..458adace5 100644
    --- a/include/igl/parallel_for.h
    +++ b/include/igl/parallel_for.h
    @@ -31,7 +31,7 @@ namespace igl
       //
       // Inputs:
       //   loop_size  number of iterations. I.e. for(int i = 0;i= number of threads as only
       //     argument 
       //   func  function handle taking iteration index i and thread id t as only
    -  //     arguements to compute inner block of for loop I.e. 
    +  //     arguments to compute inner block of for loop I.e. 
       //     for(int i ...){ func(i,t); }
       //   accum_func  function handle taking thread index as only argument, to be
       //     called after all calls of func, e.g., for serial accumulation across
    diff --git a/include/igl/parula.cpp b/include/igl/parula.cpp
    index c19132dd1..b3daaa5e7 100644
    --- a/include/igl/parula.cpp
    +++ b/include/igl/parula.cpp
    @@ -11,43 +11,43 @@
     template 
     IGL_INLINE void igl::parula(const T x, T * rgb)
     {
    -  igl::colormap(x, rgb, igl::CM_PARULA);
    +  igl::colormap(igl::COLOR_MAP_TYPE_PARULA,x, rgb);
     }
     
     template 
     IGL_INLINE void igl::parula(const T f, T & r, T & g, T & b)
     {
    -  igl::colormap(f, r, g, b, igl::CM_PARULA);
    +  igl::colormap(igl::COLOR_MAP_TYPE_PARULA, f, r, g, b);
     }
     
     
     template 
     IGL_INLINE void igl::parula(
    -  const Eigen::PlainObjectBase & Z,
    +  const Eigen::MatrixBase & Z,
       const bool normalize,
       Eigen::PlainObjectBase & C)
     {
    -  igl::colormap(Z, normalize, C, igl::CM_PARULA);
    +  igl::colormap(igl::COLOR_MAP_TYPE_PARULA, Z, normalize, C);
     }
     template 
     IGL_INLINE void igl::parula(
    -  const Eigen::PlainObjectBase & Z,
    +  const Eigen::MatrixBase & Z,
       const double min_z,
       const double max_z,
       Eigen::PlainObjectBase & C)
     {
    -  igl::colormap(Z, min_z, max_z, C, igl::CM_PARULA);
    +  igl::colormap(igl::COLOR_MAP_TYPE_PARULA, Z, min_z, max_z, C);
     }
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template void igl::parula, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&);
    +template void igl::parula, Eigen::Matrix >(Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
    -template void igl::parula, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::parula, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
     template void igl::parula(double, double*);
     template void igl::parula(double, double&, double&, double&);
    -template void igl::parula, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    -template void igl::parula, Eigen::Matrix >(Eigen::PlainObjectBase > const&, bool, Eigen::PlainObjectBase >&);
    -template void igl::parula, Eigen::Matrix >(Eigen::PlainObjectBase > const&, double, double, Eigen::PlainObjectBase >&);
    +template void igl::parula, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::parula, Eigen::Matrix >(Eigen::MatrixBase > const&, bool, Eigen::PlainObjectBase >&);
    +template void igl::parula, Eigen::Matrix >(Eigen::MatrixBase > const&, double, double, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/parula.h b/include/igl/parula.h
    index 65ffb35a8..55cbd447f 100644
    --- a/include/igl/parula.h
    +++ b/include/igl/parula.h
    @@ -30,10 +30,8 @@ namespace igl
       //   g  green value
       //   b  blue value
       template 
    -  [[deprecated("The parula functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void parula(const T f, T * rgb);
       template 
    -  [[deprecated("The parula functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void parula(const T f, T & r, T & g, T & b);
       // Inputs:
       //   Z  #Z list of factors 
    @@ -41,18 +39,16 @@ namespace igl
       // Outputs:
       //   C  #C by 3 list of rgb colors
       template 
    -  [[deprecated("The parula functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void parula(
    -    const Eigen::PlainObjectBase & Z,
    +    const Eigen::MatrixBase & Z,
         const bool normalize,
         Eigen::PlainObjectBase & C);
       // Inputs:
       //   min_Z  value at blue
       //   max_Z  value at red
       template 
    -  [[deprecated("The parula functions have been refactored into a general colormap function set and are tagged for removal -- see igl/colormap.h")]]
       IGL_INLINE void parula(
    -    const Eigen::PlainObjectBase & Z,
    +    const Eigen::MatrixBase & Z,
         const double min_Z,
         const double max_Z,
         Eigen::PlainObjectBase & C);
    diff --git a/include/igl/pathinfo.cpp b/include/igl/pathinfo.cpp
    index e8b5f5f17..110535cd8 100644
    --- a/include/igl/pathinfo.cpp
    +++ b/include/igl/pathinfo.cpp
    @@ -9,7 +9,7 @@
     
     #include "dirname.h"
     #include "basename.h"
    -// Verbose should be removed once everythings working correctly
    +// Verbose should be removed once everything working correctly
     #include "verbose.h"
     #include 
     
    diff --git a/include/igl/per_corner_normals.h b/include/igl/per_corner_normals.h
    index c4ccef82a..f93f7eb46 100644
    --- a/include/igl/per_corner_normals.h
    +++ b/include/igl/per_corner_normals.h
    @@ -16,7 +16,7 @@ namespace igl
       // Compute vertex normals via vertex position list, face list
       // Inputs:
       //   V  #V by 3 eigen Matrix of mesh vertex 3D positions
    -  //   F  #F by 3 eigne Matrix of face (triangle) indices
    +  //   F  #F by 3 eigen Matrix of face (triangle) indices
       //   corner_threshold  threshold in degrees on sharp angles
       // Output:
       //   CN  #F*3 by 3 eigen Matrix of mesh vertex 3D normals, where the normal
    diff --git a/include/igl/per_edge_normals.cpp b/include/igl/per_edge_normals.cpp
    index aca615eba..8aa71791d 100644
    --- a/include/igl/per_edge_normals.cpp
    +++ b/include/igl/per_edge_normals.cpp
    @@ -35,7 +35,7 @@ IGL_INLINE void igl::per_edge_normals(
       assert(F.cols() == 3 && "Faces must be triangles");
       // number of faces
       const int m = F.rows();
    -  // All occurances of directed edges
    +  // All occurrences of directed edges
       MatrixXi allE;
       oriented_facets(F,allE);
       // Find unique undirected edges and mapping
    @@ -115,6 +115,8 @@ IGL_INLINE void igl::per_edge_normals(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::per_edge_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerEdgeNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::per_edge_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerEdgeNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::per_edge_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerEdgeNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/per_vertex_normals.cpp b/include/igl/per_vertex_normals.cpp
    index dd35e2657..c3bbda193 100644
    --- a/include/igl/per_vertex_normals.cpp
    +++ b/include/igl/per_vertex_normals.cpp
    @@ -121,6 +121,8 @@ IGL_INLINE void igl::per_vertex_normals(
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
    +// generated by autoexplicit.sh
    +template void igl::per_vertex_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerVertexNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     template void igl::per_vertex_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerVertexNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     template void igl::per_vertex_normals, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerVertexNormalsWeightingType, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     template void igl::per_vertex_normals, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::PerVertexNormalsWeightingType, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/piecewise_constant_winding_number.cpp b/include/igl/piecewise_constant_winding_number.cpp
    index ab3cb127c..bca36eda5 100644
    --- a/include/igl/piecewise_constant_winding_number.cpp
    +++ b/include/igl/piecewise_constant_winding_number.cpp
    @@ -74,4 +74,8 @@ IGL_INLINE bool igl::piecewise_constant_winding_number(
     // generated by autoexplicit.sh
     template bool igl::piecewise_constant_winding_number, Eigen::Matrix, unsigned long>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&);
     template bool igl::piecewise_constant_winding_number, Eigen::Matrix, unsigned long>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, std::vector >, std::allocator > > > const&);
    +#ifdef WIN32
    +template bool igl::piecewise_constant_winding_number, class Eigen::Matrix, unsigned __int64>(class Eigen::MatrixBase> const &, class Eigen::MatrixBase> const &, class std::vector>, class std::allocator>>> const &);
    +template bool igl::piecewise_constant_winding_number, class Eigen::Matrix, unsigned __int64>(class Eigen::MatrixBase> const &, class Eigen::MatrixBase> const &, class std::vector>, class std::allocator>>> const &);
    +#endif
     #endif
    diff --git a/include/igl/ply.h b/include/igl/ply.h
    index e4826d122..75a3bab47 100644
    --- a/include/igl/ply.h
    +++ b/include/igl/ply.h
    @@ -2249,7 +2249,7 @@ inline char **get_words(FILE *fp, int *nwords, char **orig_line)
       }
     
       /* convert line-feed and tabs into spaces */
    -  /* (this guarentees that there will be a space before the */
    +  /* (this guarantees that there will be a space before the */
       /*  null character at the end of the string) */
     
       str[BIG_STRING-2] = ' ';
    @@ -2349,7 +2349,7 @@ char **get_words(FILE *fp, int *nwords, char **orig_line)
       }
     
       // convert line-feed and tabs into spaces  
    -  // (this guarentees that there will be a space before the  
    +  // (this guarantees that there will be a space before the  
       //  null character at the end of the string)  
     
       str[BIG_STRING-2] = ' ';
    @@ -2368,7 +2368,7 @@ char **get_words(FILE *fp, int *nwords, char **orig_line)
         }
         else if (*ptr == '\r') {
           *ptr = '\0';
    -      *ptr2 = '\0'; //note dont break yet, on a pc \r is followed by \n
    +      *ptr2 = '\0'; //note don't break yet, on a pc \r is followed by \n
         }
       }
     
    diff --git a/include/igl/png/readPNG.cpp b/include/igl/png/readPNG.cpp
    index 0459c8574..8d42ad8d9 100644
    --- a/include/igl/png/readPNG.cpp
    +++ b/include/igl/png/readPNG.cpp
    @@ -6,7 +6,7 @@
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "readPNG.h"
    -#include 
    +#include 
     
     IGL_INLINE bool igl::png::readPNG(
       const std::string png_file,
    @@ -36,7 +36,7 @@ IGL_INLINE bool igl::png::readPNG(
         }
       }
     
    -  stbi_image_free(data);
    +  igl::stbi_image_free(data);
     
       return true;
     }
    diff --git a/include/igl/png/render_to_png.cpp b/include/igl/png/render_to_png.cpp
    index 23e5b3ba2..6533ad9ab 100644
    --- a/include/igl/png/render_to_png.cpp
    +++ b/include/igl/png/render_to_png.cpp
    @@ -6,7 +6,7 @@
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "render_to_png.h"
    -#include 
    +#include 
     
     #include "../opengl/gl.h"
     
    @@ -35,7 +35,7 @@ IGL_INLINE bool igl::png::render_to_png(
           data[4*(i+j*width)+3] = 255;
         }
       }
    -  bool ret = stbi_write_png(png_file.c_str(), width, height, 4, data, 4*width*sizeof(unsigned char));
    +  bool ret = igl::stbi_write_png(png_file.c_str(), width, height, 4, data, 4*width*sizeof(unsigned char));
       delete [] data;
       return ret;
     }
    diff --git a/include/igl/png/render_to_png.h b/include/igl/png/render_to_png.h
    index e90fcfe98..508e12b1f 100644
    --- a/include/igl/png/render_to_png.h
    +++ b/include/igl/png/render_to_png.h
    @@ -22,7 +22,7 @@ namespace igl
         //   height height of scene and resulting image
         //   alpha  whether to include alpha channel
         //   fast  sacrifice compression ratio for speed
    -    // Returns true only if no errors occured
    +    // Returns true only if no errors occurred
         //
         // See also: igl/render_to_tga which is faster but writes .tga files
         IGL_INLINE bool render_to_png(
    diff --git a/include/igl/png/render_to_png_async.cpp b/include/igl/png/render_to_png_async.cpp
    index f09d662de..033701e63 100644
    --- a/include/igl/png/render_to_png_async.cpp
    +++ b/include/igl/png/render_to_png_async.cpp
    @@ -7,7 +7,7 @@
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "render_to_png_async.h"
     #include "../opengl/gl.h"
    -#include 
    +#include 
     
     static IGL_INLINE bool render_to_png_async_helper(
       unsigned char * img, int width, int height,
    @@ -25,7 +25,7 @@ static IGL_INLINE bool render_to_png_async_helper(
         }
       }
     
    -  bool ret = stbi_write_png(png_file.c_str(), width, height, 4, img, width*sizeof(unsigned char));
    +  bool ret = igl::stbi_write_png(png_file.c_str(), width, height, 4, img, width*sizeof(unsigned char));
       delete [] img;
       return ret;
     }
    diff --git a/include/igl/png/render_to_png_async.h b/include/igl/png/render_to_png_async.h
    index f5b8d46fd..c4ac07c64 100644
    --- a/include/igl/png/render_to_png_async.h
    +++ b/include/igl/png/render_to_png_async.h
    @@ -26,7 +26,7 @@ namespace igl
         //   height height of scene and resulting image
         //   alpha  whether to include alpha channel
         //   fast  sacrifice compression ratio for speed
    -    // Returns true only if no errors occured
    +    // Returns true only if no errors occurred
         //
         // See also: igl/render_to_tga which is faster but writes .tga files
         IGL_INLINE std::thread render_to_png_async(
    diff --git a/include/igl/png/texture_from_png.cpp b/include/igl/png/texture_from_png.cpp
    index 6217bc535..fde3c002c 100644
    --- a/include/igl/png/texture_from_png.cpp
    +++ b/include/igl/png/texture_from_png.cpp
    @@ -8,12 +8,12 @@
     #include "texture_from_png.h"
     
     #include "../opengl/report_gl_error.h"
    -#include 
    +#include 
     
     IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const bool flip, GLuint & id)
     {
       int width,height,n;
    -  unsigned char *data = stbi_load(png_file.c_str(), &width, &height, &n, 4);
    +  unsigned char *data = igl::stbi_load(png_file.c_str(), &width, &height, &n, 4);
       if(data == NULL) {
         return false;
       }
    @@ -23,7 +23,7 @@ IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const boo
       {
         yimg.flip();
       }*/
    -  
    +
       glGenTextures(1, &id);
       glBindTexture(GL_TEXTURE_2D, id);
       glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    @@ -35,7 +35,7 @@ IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, const boo
         width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
       glBindTexture(GL_TEXTURE_2D, 0);
     
    -  stbi_image_free(data);
    +  igl::stbi_image_free(data);
     
       return true;
     }
    @@ -48,14 +48,14 @@ IGL_INLINE bool igl::png::texture_from_png(const std::string png_file, GLuint &
     
     IGL_INLINE bool igl::png::texture_from_png(
       const std::string png_file,
    -  Eigen::Matrix& R,
    -  Eigen::Matrix& G,
    -  Eigen::Matrix& B,
    -  Eigen::Matrix& A
    +  Eigen::Matrix& R,
    +  Eigen::Matrix& G,
    +  Eigen::Matrix& B,
    +  Eigen::Matrix& A
     )
     {
       int width,height,n;
    -  unsigned char *data = stbi_load(png_file.c_str(), &width, &height, &n, 4);
    +  unsigned char *data = igl::stbi_load(png_file.c_str(), &width, &height, &n, 4);
       if(data == NULL) {
         return false;
       }
    @@ -77,7 +77,7 @@ IGL_INLINE bool igl::png::texture_from_png(
         }
       }
     
    -  stbi_image_free(data);
    +  igl::stbi_image_free(data);
     
       return true;
     }
    diff --git a/include/igl/png/texture_from_png.h b/include/igl/png/texture_from_png.h
    index cc701e74e..db8c1988e 100644
    --- a/include/igl/png/texture_from_png.h
    +++ b/include/igl/png/texture_from_png.h
    @@ -39,10 +39,10 @@ namespace igl
         // Todo: this is an inappropriate function name. This is really just
         // reading a png.... Not necessarily as a texture.
         IGL_INLINE bool texture_from_png(const std::string png_file,
    -    Eigen::Matrix& R,
    -    Eigen::Matrix& G,
    -    Eigen::Matrix& B,
    -    Eigen::Matrix& A
    +    Eigen::Matrix& R,
    +    Eigen::Matrix& G,
    +    Eigen::Matrix& B,
    +    Eigen::Matrix& A
         );
       }
     }
    diff --git a/include/igl/png/writePNG.cpp b/include/igl/png/writePNG.cpp
    index 67ac7c561..9ab68d775 100644
    --- a/include/igl/png/writePNG.cpp
    +++ b/include/igl/png/writePNG.cpp
    @@ -6,7 +6,7 @@
     // v. 2.0. If a copy of the MPL was not distributed with this file, You can
     // obtain one at http://mozilla.org/MPL/2.0/.
     #include "writePNG.h"
    -#include 
    +#include 
     #include 
     
     IGL_INLINE bool igl::png::writePNG(
    @@ -21,7 +21,7 @@ IGL_INLINE bool igl::png::writePNG(
       assert((R.cols() == G.cols()) && (G.cols() == B.cols()) && (B.cols() == A.cols()));
     
       const int comp = 4;                                  // 4 Channels Red, Green, Blue, Alpha
    -  const int stride_in_bytes = R.rows()*comp;           // Lenght of one row in bytes
    +  const int stride_in_bytes = R.rows()*comp;           // Length of one row in bytes
       std::vector data(R.size()*comp,0);     // The image itself;
     
       for (unsigned i = 0; i
     
     template <
       typename DerivedP,
    @@ -29,6 +30,7 @@ IGL_INLINE void igl::point_mesh_squared_distance(
       switch(dim)
       {
         default:
    +      assert(false && "Unsupported dim");
           // fall-through and pray
         case 3:
         {
    diff --git a/include/igl/point_simplex_squared_distance.cpp b/include/igl/point_simplex_squared_distance.cpp
    index 537a043b8..fec9ad033 100644
    --- a/include/igl/point_simplex_squared_distance.cpp
    +++ b/include/igl/point_simplex_squared_distance.cpp
    @@ -164,6 +164,8 @@ namespace igl
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::point_simplex_squared_distance<3, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix::Index, double&, Eigen::MatrixBase >&);
    +// generated by autoexplicit.sh
     template void igl::point_simplex_squared_distance<3, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, float, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::Matrix::Index, float&, Eigen::MatrixBase >&);
     // generated by autoexplicit.sh
     // generated by autoexplicit.sh
    diff --git a/include/igl/polyroots.cpp b/include/igl/polyroots.cpp
    deleted file mode 100644
    index 0fb9a6be6..000000000
    --- a/include/igl/polyroots.cpp
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "polyroots.h"
    -#include 
    -
    -template 
    -IGL_INLINE void igl::polyRoots(Eigen::Matrix &polyCoeff, //real or comples coefficients
    -                          Eigen::Matrix, Eigen::Dynamic,1> &roots // complex roots (double or float)
    -)
    -{
    -  //  degree
    -  int n = polyCoeff.rows() - 1;
    -
    -  Eigen::Matrix d (n,1);
    -  d = polyCoeff.tail(n)/polyCoeff(0);
    -
    -  Eigen::Matrix I; I.setIdentity(n-1,n-1);
    -  Eigen::Matrix z; z.setZero(n-1,1);
    -
    -  Eigen::Matrix a(n,n);
    -  a<<-d.transpose(),I,z;
    -  roots = a.eigenvalues();
    -
    -}
    -
    -
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template void igl::polyRoots, double>(Eigen::Matrix, -1, 1, 0, -1, 1>&, Eigen::Matrix, -1, 1, 0, -1, 1>&);
    -template void igl::polyRoots(Eigen::Matrix&, Eigen::Matrix, -1, 1, 0, -1, 1>&);
    -#endif
    diff --git a/include/igl/polyroots.h b/include/igl/polyroots.h
    deleted file mode 100644
    index 2f960e1f3..000000000
    --- a/include/igl/polyroots.h
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYROOTS
    -#define IGL_POLYROOTS
    -#include "igl_inline.h"
    -
    -#include 
    -
    -namespace igl {
    -  //todo
    -  /// Given 2 vectors centered on origin calculate the rotation matrix from first to the second
    -
    -  // Inputs:
    -  //   v0, v1         the two #3 by 1 vectors
    -  //   normalized     boolean, if false, then the vectors are normalized prior to the calculation
    -  // Output:
    -  //                  3 by 3 rotation matrix that takes v0 to v1
    -  //
    -  template 
    -  IGL_INLINE void polyRoots(Eigen::Matrix &polyCoeff, //real or comples coefficients
    -                            Eigen::Matrix, Eigen::Dynamic,1> &roots // complex roots (double or float)
    -                            );
    -}
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyroots.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_NCHOOSEK) */
    diff --git a/include/igl/polyvector_field_comb_from_matchings_and_cuts.cpp b/include/igl/polyvector_field_comb_from_matchings_and_cuts.cpp
    deleted file mode 100644
    index a1a742f83..000000000
    --- a/include/igl/polyvector_field_comb_from_matchings_and_cuts.cpp
    +++ /dev/null
    @@ -1,119 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_comb_from_matchings_and_cuts(
    -  const Eigen::PlainObjectBase &V,
    -  const Eigen::PlainObjectBase &F,
    -  const Eigen::PlainObjectBase &TT,
    -  const Eigen::MatrixXi &E2F,
    -  const Eigen::MatrixXi &F2E,
    -  const Eigen::PlainObjectBase &sol3D,
    -  const Eigen::PlainObjectBase &match_ab,
    -  const Eigen::PlainObjectBase &match_ba,
    -  const Eigen::PlainObjectBase &cuts,
    -  Eigen::PlainObjectBase &sol3D_combed)
    -{
    -
    -  int half_degree = sol3D.cols()/3;
    -  int full_degree = 2*half_degree;
    -
    -  Eigen::MatrixXi used; used.setConstant(F.rows(),half_degree,-1);
    -
    -  //  Eigen::VectorXi mark;
    -  std::deque d;
    -  sol3D_combed.setZero(sol3D.rows(), sol3D.cols());
    -
    -  int start = 0;
    -  d.push_back(start);
    -  used.row(start) = igl::colon(0, half_degree-1);
    -  sol3D_combed.row(start) = sol3D.row(start);
    -  while (!d.empty())
    -  {
    -    int f0 = d.at(0);
    -    d.pop_front();
    -    for (int k=0; k<3; k++)
    -    {
    -      int f1 = TT(f0,k);
    -      if (f1==-1) continue;
    -      //do not comb across cuts
    -      if ((used.row(f1).array()!=-1).any()||cuts(f0,k))
    -        continue;
    -
    -
    -      // look at the edge between the two faces
    -      const int ¤t_edge = F2E(f0,k);
    -
    -      // check its orientation to determine whether match_ab or match_ba should be used
    -      if ((E2F(current_edge,0) == f0) &&
    -          (E2F(current_edge,1) == f1) )
    -      {
    -        //look at match_ab
    -        for(int i=0; i=half_degree)*half_degree)%full_degree;
    -        }
    -      }
    -      else
    -      {
    -        assert((E2F(current_edge,1) == f0) &&
    -               (E2F(current_edge,0) == f1));
    -        //look at match_ba
    -        for(int i=0; i=half_degree)*half_degree)%full_degree;
    -        }
    -      }
    -
    -      for (int i = 0; i=0).all());
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_comb_from_matchings_and_cuts(
    -  const Eigen::PlainObjectBase &V,
    -  const Eigen::PlainObjectBase &F,
    -  const Eigen::PlainObjectBase &sol3D,
    -  const Eigen::PlainObjectBase &match_ab,
    -  const Eigen::PlainObjectBase &match_ba,
    -  const Eigen::PlainObjectBase &cuts,
    -  Eigen::PlainObjectBase &sol3D_combed)
    -  {
    -    Eigen::MatrixXi TT, TTi;
    -    igl::triangle_triangle_adjacency(F,TT,TTi);
    -
    -    Eigen::MatrixXi E, E2F, F2E;
    -    igl::edge_topology(V,F,E,F2E,E2F);
    -
    -    igl::polyvector_field_comb_from_matchings_and_cuts(V, F, TT, E2F, F2E, sol3D, match_ab, match_ba, cuts, sol3D_combed);
    -  }
    -
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template void igl::polyvector_field_comb_from_matchings_and_cuts, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -template void igl::polyvector_field_comb_from_matchings_and_cuts, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -#endif
    diff --git a/include/igl/polyvector_field_comb_from_matchings_and_cuts.h b/include/igl/polyvector_field_comb_from_matchings_and_cuts.h
    deleted file mode 100644
    index d39dea926..000000000
    --- a/include/igl/polyvector_field_comb_from_matchings_and_cuts.h
    +++ /dev/null
    @@ -1,78 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYVECTOR_FIELD_COMB_FROM_MATCHINGS_AND_CUTS
    -#define IGL_POLYVECTOR_FIELD_COMB_FROM_MATCHINGS_AND_CUTS
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Given an mesh, an N- polyvector field with given matchings between
    -  // the vector sets across interior edges, and corresponding mesh cuts,
    -  // compute a "combed" polyvector field, i.e.
    -  // separate the vector set field into N vector fields, where the separation is defined
    -  // by the matchings. The cuts have previously been generated based on the field
    -  // singularities, see igl::polyvector_field_cut_mesh_with_singularities.
    -  // Inputs:
    -  //   V                #V by 3 list of the vertex positions
    -  //   F                #F by 3 list of the faces (must be triangles)
    -  //   TT               #F by 3 triangle to triangle adjacent matrix (e.g. computed
    -  //                    via igl:triangle_triangle_adjacency).
    -  //   E2F              #E by 2 list of the edge-to-face relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   F2E              #F by 3 list of the face-to-edge relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   sol3D            #F by 3n list of the 3D coordinates of the per-face vectors of the input vector set field
    -  //                    (stacked horizontally for each triangle). Vector #1 in one face does not necessarily match
    -  //                    vector #1 in the adjacent face.
    -  //   match_ab         #E by N matrix, describing for each edge the matching a->b, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #i of
    -  //                    the vector set in a is matched to vector #mab[i] in b)
    -  //   match_ba         #E by N matrix, describing for each edge the matching b->a, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #mba[i] of
    -  //                    the vector set in a is matched to vector #i in b)
    -  //   cuts             #F by 3 list of boolean flags, indicating the edges that need to be cut
    -  // Outputs:
    -  //   sol3D_combed     #F by 3n list of the 3D coordinates of the per-face vectors of the combed vector set field
    -  //                    (stacked horizontally for each triangle). Vector #1 in one face will match vector #1 in
    -  //                    the adjacent face.
    -  //
    -  template 
    -  IGL_INLINE void polyvector_field_comb_from_matchings_and_cuts(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const Eigen::PlainObjectBase &TT,
    -                                                                const Eigen::MatrixXi &E2F,
    -                                                                const Eigen::MatrixXi &F2E,
    -                                                                const Eigen::PlainObjectBase &sol3D,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                const Eigen::PlainObjectBase &cuts,
    -                                                                Eigen::PlainObjectBase &sol3D_combed);
    -  
    -  //Wrapper with only the mesh as input
    -  template 
    -  IGL_INLINE void polyvector_field_comb_from_matchings_and_cuts(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const Eigen::PlainObjectBase &sol3D,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                const Eigen::PlainObjectBase &cuts,
    -                                                                Eigen::PlainObjectBase &sol3D_combed);
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyvector_field_comb_from_matchings_and_cuts.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_POLYVECTOR_FIELD_COMB_FROM_MATCHINGS_AND_CUTS) */
    diff --git a/include/igl/polyvector_field_cut_mesh_with_singularities.cpp b/include/igl/polyvector_field_cut_mesh_with_singularities.cpp
    deleted file mode 100644
    index 19646a0f4..000000000
    --- a/include/igl/polyvector_field_cut_mesh_with_singularities.cpp
    +++ /dev/null
    @@ -1,112 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_cut_mesh_with_singularities(
    -                                                                  const Eigen::PlainObjectBase &V,
    -                                                                  const Eigen::PlainObjectBase &F,
    -                                                                  const std::vector >& VF,
    -                                                                  const std::vector >& VV,
    -                                                                  const Eigen::PlainObjectBase& TT,
    -                                                                  const Eigen::PlainObjectBase& TTi,
    -                                                                  const Eigen::PlainObjectBase &singularities,
    -                                                                  Eigen::PlainObjectBase &cuts)
    -{
    -
    -  //first, get a spanning tree for the mesh (no missmatch needed)
    -  igl::cut_mesh_from_singularities(V, F, Eigen::MatrixXd::Zero(F.rows(), 3).eval(), cuts);
    -
    -  std::set vertices_in_cut;
    -  for (int i =0; i< cuts.rows(); ++i)
    -    for (int j =0;j< cuts.cols(); ++j)
    -      if (cuts(i,j))
    -        vertices_in_cut.insert(F(i,j));
    -
    -  //then, add all singularities one by one by using Dijkstra's algorithm
    -  for (int i = 0; i path;
    -    Eigen::VectorXd min_distance;
    -    Eigen::VectorXi previous;
    -    int vertex_found = igl::dijkstra_compute_paths(singularities[i], vertices_in_cut, VV, min_distance, previous);
    -    if(vertex_found ==-1)
    -      // this means that there are no cuts
    -      path.push_back(singularities[i]);
    -    else
    -      igl::dijkstra_get_shortest_path_to(vertex_found, previous, path);
    -
    -    vertices_in_cut.insert(path.begin(), path.end());
    -
    -    //insert to cut
    -    for (int ii = 0; ii vf0 = VF[v0];
    -      std::sort(vf0.begin(), vf0.end());
    -      std::vector vf1 = VF[v1];
    -      std::sort(vf1.begin(), vf1.end());
    -      std::vector common_face_v(std::max(vf0.size(),vf1.size()));
    -      std::vector::iterator it;
    -      it=std::set_intersection (vf0.begin(), vf0.end(), vf1.begin(), vf1.end(), common_face_v.begin());
    -      common_face_v.resize(it-common_face_v.begin());
    -      assert(common_face_v.size() == 2);
    -
    -      const int &fi = common_face_v[0];
    -      int j=-1;
    -      for (unsigned z=0; z<3; ++z)
    -        if (((F(fi,z) == v0) && (F(fi,(z+1)%3) == v1)) ||((F(fi,z) == v1) && (F(fi,(z+1)%3) == v0)))
    -          j=z;
    -      assert(j!=-1);
    -      cuts(fi,j) = 1;
    -      cuts(TT(fi,j), TTi(fi,j)) = 1;
    -
    -    }
    -  }
    -
    -}
    -
    -
    -//Wrapper of the above with only vertices and faces as mesh input
    -template 
    -IGL_INLINE void igl::polyvector_field_cut_mesh_with_singularities(
    -                                                                  const Eigen::PlainObjectBase &V,
    -                                                                  const Eigen::PlainObjectBase &F,
    -                                                                  const Eigen::PlainObjectBase &singularities,
    -                                                                  Eigen::PlainObjectBase &cuts)
    -{
    -
    -  std::vector > VF, VFi;
    -  igl::vertex_triangle_adjacency(V,F,VF,VFi);
    -
    -  std::vector > VV;
    -  igl::adjacency_list(F, VV);
    -
    -  Eigen::MatrixXi TT, TTi;
    -  igl::triangle_triangle_adjacency(F,TT,TTi);
    -
    -  igl::polyvector_field_cut_mesh_with_singularities(V, F, VF, VV, TT, TTi, singularities, cuts);
    -
    -
    -}
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template void igl::polyvector_field_cut_mesh_with_singularities, Eigen::Matrix, int, int, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > > const&, std::vector >, std::allocator > > > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -template void igl::polyvector_field_cut_mesh_with_singularities, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -#endif
    diff --git a/include/igl/polyvector_field_cut_mesh_with_singularities.h b/include/igl/polyvector_field_cut_mesh_with_singularities.h
    deleted file mode 100644
    index c45a920d3..000000000
    --- a/include/igl/polyvector_field_cut_mesh_with_singularities.h
    +++ /dev/null
    @@ -1,66 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYVECTOR_FIELD_CUT_MESH_WITH_SINGULARITIES
    -#define IGL_POLYVECTOR_FIELD_CUT_MESH_WITH_SINGULARITIES
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Given a mesh and the singularities of a polyvector field, cut the mesh
    -  // to disk topology in such a way that the singularities lie at the boundary of
    -  // the disk, as described in the paper "Mixed Integer Quadrangulation" by
    -  // Bommes et al. 2009.
    -  // Inputs:
    -  //   V                #V by 3 list of the vertex positions
    -  //   F                #F by 3 list of the faces (must be triangles)
    -  //   VF               #V list of lists of incident faces (adjacency list), e.g.
    -  //                    as returned by igl::vertex_triangle_adjacency
    -  //   VV               #V list of lists of incident vertices (adjacency list), e.g.
    -  //                    as returned by igl::adjacency_list
    -  //   TT               #F by 3 triangle to triangle adjacent matrix (e.g. computed
    -  //                    via igl:triangle_triangle_adjacency)
    -  //   TTi              #F by 3 adjacent matrix, the element i,j is the id of edge of the
    -  //                    triangle TT(i,j) that is adjacent with triangle i (e.g. computed
    -  //                    via igl:triangle_triangle_adjacency)
    -  //   singularities    #S by 1 list of the indices of the singular vertices
    -  // Outputs:
    -  //   cuts             #F by 3 list of boolean flags, indicating the edges that need to be cut
    -  //                    (has 1 at the face edges that are to be cut, 0 otherwise)
    -  //
    -  template 
    -  IGL_INLINE void polyvector_field_cut_mesh_with_singularities(
    -                                                               const Eigen::PlainObjectBase &V,
    -                                                               const Eigen::PlainObjectBase &F,
    -                                                               const std::vector >& VF,
    -                                                               const std::vector >& VV,
    -                                                               const Eigen::PlainObjectBase& TT,
    -                                                               const Eigen::PlainObjectBase& TTi,
    -                                                               const Eigen::PlainObjectBase &singularities,
    -                                                               Eigen::PlainObjectBase &cuts);
    -  
    -  
    -  //Wrapper of the above with only vertices and faces as mesh input
    -  template 
    -  IGL_INLINE void polyvector_field_cut_mesh_with_singularities(
    -                                                               const Eigen::PlainObjectBase &V,
    -                                                               const Eigen::PlainObjectBase &F,
    -                                                               const Eigen::PlainObjectBase &singularities,
    -                                                               Eigen::PlainObjectBase &cuts);
    -  
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyvector_field_cut_mesh_with_singularities.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_POLYVECTOR_FIELD_CUT_MESH_WITH_SINGULARITIES) */
    diff --git a/include/igl/polyvector_field_matchings.cpp b/include/igl/polyvector_field_matchings.cpp
    deleted file mode 100644
    index 508b9e5ad..000000000
    --- a/include/igl/polyvector_field_matchings.cpp
    +++ /dev/null
    @@ -1,274 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_matching(
    -                                               const Eigen::PlainObjectBase& _ua,
    -                                               const Eigen::PlainObjectBase& _ub,
    -                                               const Eigen::PlainObjectBase& na,
    -                                               const Eigen::PlainObjectBase& nb,
    -                                               const Eigen::PlainObjectBase& e,
    -                                               bool match_with_curl,
    -                                               Eigen::PlainObjectBase& mab,
    -                                               Eigen::PlainObjectBase& mba,
    -                                               bool is_symmetric)
    -{
    -  // make sure the matching preserve ccw order of the vectors across the edge
    -  // 1) order vectors in a, ccw  e.g. (0,1,2,3)_a not ccw --> (0,3,2,1)_a ccw
    -  // 2) order vectors in b, ccw  e.g. (0,1,2,3)_b not ccw --> (0,2,1,3)_b ccw
    -  // 3) the vectors in b that match the ordered vectors in a (in this case  (0,3,2,1)_a ) must be a circular shift of the ccw ordered vectors in b  - so we need to explicitely check only these matchings to find the best ccw one, there are N of them
    -  int hN = _ua.cols()/3;
    -  int N;
    -  if (is_symmetric)
    -    N = 2*hN;
    -  else
    -    N = hN;
    -
    -  Eigen::Matrix ua (1,N*3);
    -  Eigen::Matrix ub (1,N*3);
    -  if (is_symmetric)
    -  {
    -    ua <<_ua, -_ua;
    -    ub <<_ub, -_ub;
    -  }
    -  else
    -  {
    -    ua =_ua;
    -    ub =_ub;
    -  }
    -
    -  Eigen::Matrix order_a, order_b;
    -  igl::sort_vectors_ccw(ua, na, order_a);
    -  igl::sort_vectors_ccw(ub, nb, order_b);
    -
    -  //checking all possible circshifts of order_b as matches for order_a
    -  Eigen::Matrix all_matches(N,N);
    -  Eigen::Matrix all_scores(1,N);
    -  for (int s =0; s< N; ++s)
    -  {
    -    all_matches.row(s) = order_b;
    -    typename DerivedS::Scalar current_score=0;
    -    for (int i=0; i< N; ++i)
    -    {
    -      if (match_with_curl)
    -        current_score += fabs(ua.segment(order_a[i]*3, 3).dot(e) - ub.segment(order_b[i]*3, 3).dot(e));
    -      else
    -      {
    -        Eigen::Matrix na_ = na.transpose();
    -        Eigen::Matrix nb_ = nb.transpose();
    -
    -        Eigen::Matrix uaRot = igl::rotation_matrix_from_directions(na_, nb_)*ua.segment(order_a[i]*3, 3).transpose();
    -        current_score += (uaRot-ub.segment(order_b[i]*3, 3)).norm();
    -      }
    -    }
    -    all_scores[s] = current_score;
    -    // do a circshift on order_b to check the next preserving matching
    -    int temp = order_b[0];
    -    for (int i =0; i< N-1; ++i)
    -      order_b[i] = order_b[i+1];
    -    order_b(N-1) = temp;
    -  }
    -  Eigen::Matrix best_matching_for_sorted_a;
    -  int best_i;
    -  all_scores.minCoeff(&best_i);
    -  best_matching_for_sorted_a = all_matches.row(best_i);
    -  // best_matching_for_sorted_a is the matching for the sorted vectors in a
    -  // get the matching for the initial (unsorted) vectors
    -  mab.resize(1,N);
    -  for (int i=0; i< N; ++i)
    -    mab[order_a[i]] = best_matching_for_sorted_a[i];
    -
    -  //mab contains the best matching a->b, get the opposite too
    -  mba.resize(1, N);
    -  for (int i=0; i< N; ++i)
    -    mba[mab[i]] = i;
    -
    -  if (is_symmetric)
    -  {
    -  mab = mab.head(hN);
    -  mba = mba.head(hN);
    -}
    -}
    -
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_matchings(
    -                                                                     const Eigen::PlainObjectBase& sol3D,
    -                                                                     const Eigen::PlainObjectBase&V,
    -                                                                     const Eigen::PlainObjectBase&F,
    -                                                                     const Eigen::PlainObjectBase&E,
    -                                                                     const Eigen::PlainObjectBase& FN,
    -                                                                     const Eigen::MatrixXi &E2F,
    -                                                                     bool match_with_curl,
    -                                                bool is_symmetric,
    -                                                                     Eigen::PlainObjectBase& match_ab,
    -                                                Eigen::PlainObjectBase& match_ba)
    -{
    -  int numEdges = E.rows();
    -  int half_degree = sol3D.cols()/3;
    -
    -  Eigen::VectorXi isBorderEdge;
    -  isBorderEdge.setZero(numEdges,1);
    -  for(unsigned i=0; i ce = (V.row(E(ei,1))-V.row(E(ei,0))).normalized().template cast();
    -
    -    Eigen::Matrix mab, mba;
    -    igl::polyvector_field_matching(sol3D.row(a).eval(),
    -                                   sol3D.row(b).eval(),
    -                                   FN.row(a).eval(),
    -                                   FN.row(b).eval(),
    -                                   ce,
    -                                   match_with_curl,
    -                                   mab,
    -                                   mba,
    -                                   is_symmetric);
    -
    -    match_ab.row(ei) = mab;
    -    match_ba.row(ei) = mba;
    -  }
    -}
    -
    -
    -template 
    -IGL_INLINE typename DerivedC::Scalar igl::polyvector_field_matchings(
    -                                                                     const Eigen::PlainObjectBase& sol3D,
    -                                                                     const Eigen::PlainObjectBase&V,
    -                                                                     const Eigen::PlainObjectBase&F,
    -                                                                     const Eigen::PlainObjectBase&E,
    -                                                                     const Eigen::PlainObjectBase& FN,
    -                                                                     const Eigen::MatrixXi &E2F,
    -                                                                     bool match_with_curl,
    -                                                                     bool is_symmetric,
    -                                                                     Eigen::PlainObjectBase& match_ab,
    -                                                                     Eigen::PlainObjectBase& match_ba,
    -                                                                     Eigen::PlainObjectBase& curl)
    -{
    -  int numEdges = E.rows();
    -  int half_degree = sol3D.cols()/3;
    -
    -  Eigen::VectorXi isBorderEdge;
    -  isBorderEdge.setZero(numEdges,1);
    -  for(unsigned i=0; i &mab = match_ab.row(ei);
    -    const Eigen::Matrix &mba = match_ba.row(ei);
    -
    -    Eigen::Matrix matched;
    -    matched.resize(1, 3*half_degree);
    -    for (int i = 0; i ce = (V.row(E(ei,1))-V.row(E(ei,0))).normalized().template cast();
    -    typename DerivedC::Scalar avgCurl = 0;
    -    for (int i = 0; i
    -IGL_INLINE typename DerivedC::Scalar igl::polyvector_field_matchings(
    -                                                                     const Eigen::PlainObjectBase& sol3D,
    -                                                                     const Eigen::PlainObjectBase&V,
    -                                                                     const Eigen::PlainObjectBase&F,
    -                                                                     bool match_with_curl,
    -                                                                     bool is_symmetric,
    -                                                                     Eigen::PlainObjectBase& match_ab,
    -                                                                     Eigen::PlainObjectBase& match_ba,
    -                                                                     Eigen::PlainObjectBase& curl)
    -{
    -  Eigen::MatrixXi E, E2F, F2E;
    -  igl::edge_topology(V,F,E,F2E,E2F);
    -
    -//#warning "Poor templating of igl::polyvector_field_matchings forces FN to be DerivedV (this could cause issues if DerivedV has fixed number of rows)"
    -  DerivedV FN;
    -  igl::per_face_normals(V,F,FN);
    -
    -  return igl::polyvector_field_matchings(sol3D, V, F, E, FN, E2F, match_with_curl, is_symmetric, match_ab, match_ba, curl);
    -}
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_matchings(
    -                                                const Eigen::PlainObjectBase& sol3D,
    -                                                const Eigen::PlainObjectBase&V,
    -                                                const Eigen::PlainObjectBase&F,
    -                                                bool match_with_curl,
    -                                                bool is_symmetric,
    -                                                Eigen::PlainObjectBase& match_ab,
    -                                                Eigen::PlainObjectBase& match_ba)
    -{
    -  Eigen::MatrixXi E, E2F, F2E;
    -  igl::edge_topology(V,F,E,F2E,E2F);
    -
    -  DerivedV FN;
    -  igl::per_face_normals(V,F,FN);
    -
    -  igl::polyvector_field_matchings(sol3D, V, F, E, FN, E2F, match_with_curl, is_symmetric, match_ab, match_ba);
    -}
    -
    -
    -#ifdef IGL_STATIC_LIBRARY
    -// Explicit template instantiation
    -template void igl::polyvector_field_matchings, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -template Eigen::Matrix::Scalar igl::polyvector_field_matchings, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -#endif
    diff --git a/include/igl/polyvector_field_matchings.h b/include/igl/polyvector_field_matchings.h
    deleted file mode 100644
    index 3d3e82c93..000000000
    --- a/include/igl/polyvector_field_matchings.h
    +++ /dev/null
    @@ -1,138 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYVECTOR_FIELD_MATCHINGS
    -#define IGL_POLYVECTOR_FIELD_MATCHINGS
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Given a pair of adjacent faces a and b, and a set of N unordered vectors
    -  // of a vector set defined on each face, the function computes the best order-preserving
    -  // matching between them, where "best" means "minimum curl", or "smoothest".
    -  // Inputs:
    -  //   _ua              1 by 3N row vector of the vectors on face a, stacked horizontally
    -  //   _ub              1 by 3N row vector of the vectors on face b, stacked horizontally
    -  //   na               1 by 3, normal of face a
    -  //   nb               1 by 3, normal of face b
    -  //   e                1 by 3, the vector corresponding to the shared edge between a and b
    -  //   match_with_curl  boolean flag, determines whether a curl or a smoothness matching will
    -  //                    be computed
    -  //   is_symmetric     boolean flag, determines whether the input vector set field is symmetric(
    -  //                    =consists of pairwise collinear vectors in each set, in which case only one
    -  //                    of the vectors in the pair is stored) or not, i.e. the set contains all the vectors
    -  // )
    -  // Outputs:
    -  //   mab              1 by N row vector, describing the matching a->b (i.e. vector #i of the
    -  //                    vector set in a is matched to vector #mab[i] in b)
    -  //   mba              1 by N row vector, describing the matching b->a (i.e. vector #mba[i]
    -  //                    of the vector set in a is matched to vector #i in b)
    -  //
    -  template 
    -  IGL_INLINE void polyvector_field_matching(
    -                                            const Eigen::PlainObjectBase& _ua,
    -                                            const Eigen::PlainObjectBase& _ub,
    -                                            const Eigen::PlainObjectBase& na,
    -                                            const Eigen::PlainObjectBase& nb,
    -                                            const Eigen::PlainObjectBase& e,
    -                                            bool match_with_curl,
    -                                            Eigen::PlainObjectBase& mab,
    -                                            Eigen::PlainObjectBase& mba,
    -                                            bool is_symmetric);
    -
    -
    -  // Given a mesh and a vector set field consisting of unordered N-vector sets defined
    -  // on the faces of the mesh, the function computes, for each (non-boundary) edge
    -  // the best order-preserving matching between the vector sets of the faces across
    -  // the edge, where "best" means to "with minimum curl", or "smoothest"
    -  // Inputs:
    -  //   sol3D            #F by 3n list of the 3D coordinates of the per-face vectors
    -  //                    (stacked horizontally for each triangle)
    -  //   V                #V by 3 list of mesh vertex coordinates
    -  //   F                #F by 3 list of mesh faces
    -  //   E                #E by 2 list of mesh edges (pairs of vertex indices)
    -  //   FN               #F by 3 list of face normals
    -  //   E2F              #E by 2 list of the edge-to-face relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   match_with_curl  boolean flag, determines whether curl or smoothness matchings will
    -  //                    be computed
    -  //   is_symmetric     boolean flag, determines whether the input vector set field is symmetric(
    -  //                    =consists of pairwise collinear vectors in each set, in which case only one
    -  //                    of the vectors in the pair is stored) or not, i.e. the set contains all the vectors
    -  // Outputs:
    -  //   match_ab         #E by N matrix, describing for each edge the matching a->b, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #i of
    -  //                    the vector set in a is matched to vector #mab[i] in b)
    -  //   match_ba         #E by N matrix, describing for each edge the matching b->a, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #mba[i] of
    -  //                    the vector set in a is matched to vector #i in b)
    -  //   curl             the per-edge curl of the matchings (zero for boundary edges)
    -  // Returns:
    -  //   meanCurl         the average of the per-edge curl values (only non-boundary edges are counted)
    -  //
    -  template 
    -  IGL_INLINE typename DerivedC::Scalar polyvector_field_matchings(
    -                                                                  const Eigen::PlainObjectBase& sol3D,
    -                                                                  const Eigen::PlainObjectBase&V,
    -                                                                  const Eigen::PlainObjectBase&F,
    -                                                                  const Eigen::PlainObjectBase&E,
    -                                                                  const Eigen::PlainObjectBase& FN,
    -                                                                  const Eigen::MatrixXi &E2F,
    -                                                                  bool match_with_curl,
    -                                                                  bool is_symmetric,
    -                                                                  Eigen::PlainObjectBase& match_ab,
    -                                                                  Eigen::PlainObjectBase& match_ba,
    -                                                                  Eigen::PlainObjectBase& curl);
    -
    -
    -  //Wrapper of the above with only vertices and faces as mesh input
    -  template 
    -  IGL_INLINE typename DerivedC::Scalar polyvector_field_matchings(
    -                                                                  const Eigen::PlainObjectBase& sol3D,
    -                                                                  const Eigen::PlainObjectBase&V,
    -                                                                  const Eigen::PlainObjectBase&F,
    -                                                                  bool match_with_curl,
    -                                                                  bool is_symmetric,
    -                                                                  Eigen::PlainObjectBase& match_ab,
    -                                                                  Eigen::PlainObjectBase& match_ba,
    -                                                                  Eigen::PlainObjectBase& curl);
    -
    -  //Wrappers with no curl output
    -  template 
    -  IGL_INLINE void polyvector_field_matchings(
    -                                             const Eigen::PlainObjectBase& sol3D,
    -                                             const Eigen::PlainObjectBase&V,
    -                                             const Eigen::PlainObjectBase&F,
    -                                             bool match_with_curl,
    -                                             bool is_symmetric,
    -                                             Eigen::PlainObjectBase& match_ab,
    -                                             Eigen::PlainObjectBase& match_ba);
    -  template 
    -  IGL_INLINE void polyvector_field_matchings(
    -                                             const Eigen::PlainObjectBase& sol3D,
    -                                             const Eigen::PlainObjectBase&V,
    -                                             const Eigen::PlainObjectBase&F,
    -                                             const Eigen::PlainObjectBase&E,
    -                                             const Eigen::PlainObjectBase& FN,
    -                                             const Eigen::MatrixXi &E2F,
    -                                             bool match_with_curl,
    -                                             bool is_symmetric,
    -                                             Eigen::PlainObjectBase& match_ab,
    -                                             Eigen::PlainObjectBase& match_ba);
    -  
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyvector_field_matchings.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_POLYVECTOR_FIELD_MATCHINGS) */
    diff --git a/include/igl/polyvector_field_poisson_reconstruction.cpp b/include/igl/polyvector_field_poisson_reconstruction.cpp
    deleted file mode 100644
    index 79f5646e9..000000000
    --- a/include/igl/polyvector_field_poisson_reconstruction.cpp
    +++ /dev/null
    @@ -1,123 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -#include 
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_poisson_reconstruction(
    -  const Eigen::PlainObjectBase &Vcut,
    -  const Eigen::PlainObjectBase &Fcut,
    -  const Eigen::PlainObjectBase &sol3D_combed,
    -                                                               Eigen::PlainObjectBase &scalars)
    -  {
    -    Eigen::SparseMatrix gradMatrix;
    -    igl::grad(Vcut, Fcut, gradMatrix);
    -
    -    Eigen::VectorXd FAreas;
    -    igl::doublearea(Vcut, Fcut, FAreas);
    -    FAreas = FAreas.array() * .5;
    -
    -    int nf = FAreas.rows();
    -    Eigen::SparseMatrix M,M1;
    -    Eigen::VectorXi II = igl::colon(0, nf-1);
    -
    -    igl::sparse(II, II, FAreas, M1);
    -    igl::repdiag(M1, 3, M) ;
    -
    -    int half_degree = sol3D_combed.cols()/3;
    -
    -    int numF = Fcut.rows();
    -    scalars.setZero(Vcut.rows(),half_degree);
    -
    -    Eigen::SparseMatrix Q = gradMatrix.transpose()* M *gradMatrix;
    -
    -    //fix one point at Ik=fix, value at fixed xk=0
    -    int fix = 0;
    -    Eigen::VectorXi Ik(1);Ik<(0, fix-1),  igl::colon(fix+1,Vcut.rows()-1);
    -
    -    Eigen::SparseMatrix Quu, Quk;
    -    igl::slice(Q, Iu, Iu, Quu);
    -    igl::slice(Q, Iu, Ik, Quk);
    -    Eigen::SimplicialLDLT > solver;
    -    solver.compute(Quu);
    -
    -
    -    Eigen::VectorXd vec; vec.setZero(3*numF,1);
    -    for (int i =0; i
    -IGL_INLINE double igl::polyvector_field_poisson_reconstruction(
    -                                                               const Eigen::PlainObjectBase &Vcut,
    -                                                               const Eigen::PlainObjectBase &Fcut,
    -                                                               const Eigen::PlainObjectBase &sol3D_combed,
    -                                                               Eigen::PlainObjectBase &scalars,
    -                                                               Eigen::PlainObjectBase &sol3D_recon,
    -                                                               Eigen::PlainObjectBase &max_error )
    -{
    -  
    -  igl::polyvector_field_poisson_reconstruction(Vcut, Fcut, sol3D_combed, scalars);
    -
    -  Eigen::SparseMatrix gradMatrix;
    -  igl::grad(Vcut, Fcut, gradMatrix);
    -  int numF = Fcut.rows();
    -  int half_degree = sol3D_combed.cols()/3;
    -
    -    //    evaluate gradient of found scalar function
    -  sol3D_recon.setZero(sol3D_combed.rows(),sol3D_combed.cols());
    -  
    -    for (int i =0; i());
    -    }
    -
    -    return max_error.mean();
    -  }
    -
    -
    -  #ifdef IGL_STATIC_LIBRARY
    -  // Explicit template instantiation
    -  template double igl::polyvector_field_poisson_reconstruction, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -template double igl::polyvector_field_poisson_reconstruction, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -  #endif
    diff --git a/include/igl/polyvector_field_poisson_reconstruction.h b/include/igl/polyvector_field_poisson_reconstruction.h
    deleted file mode 100644
    index 3112a610d..000000000
    --- a/include/igl/polyvector_field_poisson_reconstruction.h
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYVECTOR_FIELD_POISSON_RECONSTRUCTION
    -#define IGL_POLYVECTOR_FIELD_POISSON_RECONSTRUCTION
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  // Poisson integration on a combed n-polyvector field, defined on a cut mesh.
    -  // The function finds n new integrable vector fields that are as close as possible to the
    -  // N-vector fields of the original combed polyvector field. Integrable means
    -  // that the vector fields are gradients of scalar functions. The deviation from the input
    -  // field measures how much the input field deviates from integrability.
    -  // Inputs:
    -  //   Vcut             #V by 3 list of the vertex positions
    -  //   Fcut             #F by 3 list of the faces (must be triangles)
    -  //   sol3D_combed     #F by 3n list of the 3D coordinates of the per-face vectors of the combed vector set field
    -  //                    (stacked horizontally for each triangle). Vector #1 in one face will match vector #1 in
    -  //                    the adjacent face.
    -  // Outputs:
    -  //   scalars          #V by n list of the per-vertex scalar functions of which the input field
    -  //                    is approximately the gradients
    -  //   sol3D_recon      #F by 3n list of the 3D coordinates of the per-face vectors of the reconstructed
    -  //                    vector set fields (stacked horizontally for each triangle). The fields are the
    -  //                    gradients of the scalar functions sF.
    -  //   max_error        #V by 1 list of the maximal (across the n vector fields) reconstruction error.
    -  //
    -  template 
    -  IGL_INLINE double polyvector_field_poisson_reconstruction(
    -                                                            const Eigen::PlainObjectBase &Vcut,
    -                                                            const Eigen::PlainObjectBase &Fcut,
    -                                                            const Eigen::PlainObjectBase &sol3D_combed,
    -                                                            Eigen::PlainObjectBase &scalars,
    -                                                            Eigen::PlainObjectBase &sol3D_recon,
    -                                                            Eigen::PlainObjectBase &max_error );
    -  //Wrappers with less output
    -  template 
    -  IGL_INLINE void polyvector_field_poisson_reconstruction(
    -                                                            const Eigen::PlainObjectBase &Vcut,
    -                                                            const Eigen::PlainObjectBase &Fcut,
    -                                                            const Eigen::PlainObjectBase &sol3D_combed,
    -                                                            Eigen::PlainObjectBase &scalars);
    -
    -
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyvector_field_poisson_reconstruction.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_POLYVECTOR_FIELD_POISSON_RECONSTRUCTION) */
    diff --git a/include/igl/polyvector_field_singularities_from_matchings.cpp b/include/igl/polyvector_field_singularities_from_matchings.cpp
    deleted file mode 100644
    index e76acf74c..000000000
    --- a/include/igl/polyvector_field_singularities_from_matchings.cpp
    +++ /dev/null
    @@ -1,240 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -// 
    -// Copyright (C) 2016 Alec Jacobson 
    -// 
    -// This Source Code Form is subject to the terms of the Mozilla Public License 
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -template 
    -void igl::polyvector_field_one_ring_matchings(const Eigen::PlainObjectBase &V,
    -                                              const Eigen::PlainObjectBase &F,
    -                                              const std::vector >& VF,
    -                                              const Eigen::MatrixXi& E2F,
    -                                              const Eigen::MatrixXi& F2E,
    -                                              const Eigen::PlainObjectBase& TT,
    -                                              const Eigen::PlainObjectBase &match_ab,
    -                                              const Eigen::PlainObjectBase &match_ba,
    -                                              const int vi,
    -                                              Eigen::MatrixXi &mvi,
    -                                              Eigen::VectorXi &fi)
    -{
    -  int half_degree = match_ab.cols();
    -  mvi.resize(VF[vi].size()+1,half_degree);
    -  fi.resize(VF[vi].size()+1,1);
    -  //start from one face
    -  //first, check if the vertex is on a boundary
    -  //then there must be two faces that are on the boundary
    -  //(other cases not supported)
    -
    -  int fstart = -1;
    -  int ind = 0;
    -  for (int i =0; i1 )
    -  {
    -    std::cerr<<"igl::polyvector_field_one_ring_matchings -- vertex "<=half_degree)
    -          mvi(i,k) = (mvi(i,k)+half_degree)%(2*half_degree);
    -      }
    -    }
    -    current_face = next_face;
    -    fi[i] = current_face;
    -  }
    -}
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_singularities_from_matchings(
    -                                                                   const Eigen::PlainObjectBase &V,
    -                                                                   const Eigen::PlainObjectBase &F,
    -                                                                   const Eigen::PlainObjectBase &match_ab,
    -                                                                   const Eigen::PlainObjectBase &match_ba,
    -                                                                   Eigen::PlainObjectBase &singularities)
    -{
    -
    -  std::vector V_border = igl::is_border_vertex(V,F);
    -  std::vector > VF, VFi;
    -  igl::vertex_triangle_adjacency(V,F,VF,VFi);
    -
    -  Eigen::MatrixXi TT, TTi;
    -  igl::triangle_triangle_adjacency(F,TT,TTi);
    -
    -  Eigen::MatrixXi E, E2F, F2E;
    -  igl::edge_topology(V,F,E,F2E,E2F);
    -
    -  igl::polyvector_field_singularities_from_matchings(V, F, V_border, VF, TT, E2F, F2E, match_ab, match_ba, singularities);
    -}
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_singularities_from_matchings(
    -                                                                   const Eigen::PlainObjectBase &V,
    -                                                                   const Eigen::PlainObjectBase &F,
    -                                                                   const std::vector &V_border,
    -                                                                   const std::vector > &VF,
    -                                                                   const Eigen::MatrixXi &TT,
    -                                                                   const Eigen::MatrixXi &E2F,
    -                                                                   const Eigen::MatrixXi &F2E,
    -                                                                   const Eigen::PlainObjectBase &match_ab,
    -                                                                   const Eigen::PlainObjectBase &match_ba,
    -                                                                   Eigen::PlainObjectBase &singularities)
    -{
    -
    -  int numV = V.rows();
    -
    -  std::vector singularities_v;
    -  int half_degree = match_ab.cols();
    -  for (int vi =0; vi
    -IGL_INLINE void igl::polyvector_field_singularities_from_matchings(
    -                                                                   const Eigen::PlainObjectBase &V,
    -                                                                   const Eigen::PlainObjectBase &F,
    -                                                                   const Eigen::PlainObjectBase &match_ab,
    -                                                                   const Eigen::PlainObjectBase &match_ba,
    -                                                                   Eigen::PlainObjectBase &singularities,
    -                                                                   Eigen::PlainObjectBase &singularity_indices)
    -{
    -
    -  std::vector V_border = igl::is_border_vertex(V,F);
    -  std::vector > VF, VFi;
    -  igl::vertex_triangle_adjacency(V,F,VF,VFi);
    -
    -  Eigen::MatrixXi TT, TTi;
    -  igl::triangle_triangle_adjacency(V,F,TT,TTi);
    -
    -  Eigen::MatrixXi E, E2F, F2E;
    -  igl::edge_topology(V,F,E,F2E,E2F);
    -
    -  igl::polyvector_field_singularities_from_matchings(V, F, V_border, VF, TT, E2F, F2E, match_ab, match_ba, singularities, singularity_indices);
    -}
    -
    -template 
    -IGL_INLINE void igl::polyvector_field_singularities_from_matchings(
    -                                                                   const Eigen::PlainObjectBase &V,
    -                                                                   const Eigen::PlainObjectBase &F,
    -                                                                   const std::vector &V_border,
    -                                                                   const std::vector > &VF,
    -                                                                   const Eigen::MatrixXi &TT,
    -                                                                   const Eigen::MatrixXi &E2F,
    -                                                                   const Eigen::MatrixXi &F2E,
    -                                                                   const Eigen::PlainObjectBase &match_ab,
    -                                                                   const Eigen::PlainObjectBase &match_ba,
    -                                                                   Eigen::PlainObjectBase &singularities,
    -                                                                   Eigen::PlainObjectBase &singularity_indices)
    -{
    -  igl::polyvector_field_singularities_from_matchings(V, F, V_border, VF, TT, E2F, F2E, match_ab, match_ba, singularities);
    -
    -  singularity_indices.setZero(singularities.size(), 1);
    -
    -  //get index from first vector only
    -  int vector_to_match = 0;
    -  for (int i =0; i, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    -#endif
    diff --git a/include/igl/polyvector_field_singularities_from_matchings.h b/include/igl/polyvector_field_singularities_from_matchings.h
    deleted file mode 100644
    index c54b34e2c..000000000
    --- a/include/igl/polyvector_field_singularities_from_matchings.h
    +++ /dev/null
    @@ -1,150 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2015 Olga Diamanti 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_POLYVECTOR_FIELD_SINGULARITIES_FROM_MATCHINGS
    -#define IGL_POLYVECTOR_FIELD_SINGULARITIES_FROM_MATCHINGS
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl {
    -  
    -  // We are given a polyvector field on a mesh (with N vectors per face), and matchings between the vector sets
    -  // across all non-boundary edges.  The function computes, for the one-ring
    -  // neighborhood of a given vertex, and for each of the vectors of the vector set,
    -  // the sequence of the vectors that match to it around the one-ring. If the vector that
    -  // we land on by following the matchings is not the original vector that we started from,
    -  // the vertex is a singularity.
    -  //
    -  // Inputs:
    -  //   V                #V by 3 list of the vertex positions
    -  //   F                #F by 3 list of the faces (must be triangles)
    -  //   VF               #V list of lists of incident faces (adjacency list), e.g.
    -  //                    as returned by igl::vertex_triangle_adjacency
    -  //   E2F              #E by 2 list of the edge-to-face relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   F2E              #F by 3 list of the face-to-edge relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   TT               #F by 3 triangle to triangle adjacent matrix (e.g. computed
    -  //                    via igl:triangle_triangle_adjacency)
    -  //   match_ab         #E by N matrix, describing for each edge the matching a->b, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #i of
    -  //                    the vector set in a is matched to vector #mab[i] in b)
    -  //   match_ba         #E by N matrix, describing for each edge the matching b->a, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #mba[i] of
    -  //                    the vector set in a is matched to vector #i in b)
    -  //   vi               the selected one ring
    -  //
    -  // Output:
    -  //   mvi              #numOneRingFaces by 1 list of the indices of the sequentially matching vectors
    -  //                    in the faces of the one ring (first enty is always vector_id, then the vector matching
    -  //                    vector_id in the next face, then the vector matching that in the third face etc.)
    -  //   fi               #numOneRingFaces by 1 list of the sequentially visited faces in the one ring neighborhood.
    -  //                    The one-ring is traversed in CLOCKWISE order with respect to the outward normal. (=opposite)
    -  //
    -  template 
    -  void polyvector_field_one_ring_matchings(const Eigen::PlainObjectBase &V,
    -                                           const Eigen::PlainObjectBase &F,
    -                                           const std::vector >& VF,
    -                                           const Eigen::MatrixXi& E2F,
    -                                           const Eigen::MatrixXi& F2E,
    -                                           const Eigen::PlainObjectBase& TT,
    -                                           const Eigen::PlainObjectBase &match_ab,
    -                                           const Eigen::PlainObjectBase &match_ba,
    -                                           const int vi,
    -                                           Eigen::MatrixXi &mvi,
    -                                           Eigen::VectorXi &fi);
    -  
    -  
    -  // Given a polyvector field on a mesh, and matchings between the vector sets
    -  // across all non-boundary edges, the function computes the singularities of the
    -  // polyvector field, by computing the one ring matchings.
    -  //
    -  // Inputs:
    -  //   V                #V by 3 list of the vertex positions
    -  //   F                #F by 3 list of the faces (must be triangles)
    -  //   V_border         #V by 1 list of booleans, indicating if the corresponging vertex is
    -  //                    at the mesh boundary, e.g. as returned by igl::is_border_vertex
    -  //   VF               #V list of lists of incident faces (adjacency list), e.g.
    -  //                    as returned by igl::vertex_triangle_adjacency
    -  //   TT               #F by 3 triangle to triangle adjacent matrix (e.g. computed
    -  //                    via igl:triangle_triangle_adjacency)
    -  //   E2F              #E by 2 list of the edge-to-face relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   F2E              #F by 3 list of the face-to-edge relation (e.g. computed
    -  //                    via igl::edge_topology)
    -  //   match_ab         #E by N matrix, describing for each edge the matching a->b, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #i of
    -  //                    the vector set in a is matched to vector #mab[i] in b)
    -  //   match_ba         #E by N matrix, describing for each edge the matching b->a, where a
    -  //                    and b are the faces adjacent to the edge (i.e. vector #mba[i] of
    -  //                    the vector set in a is matched to vector #i in b)
    -  //
    -  // Output:
    -  //   singularities    #S by 1 list of the indices of the singular vertices
    -  //
    -  template 
    -  IGL_INLINE void polyvector_field_singularities_from_matchings(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const std::vector &V_border,
    -                                                                const std::vector > &VF,
    -                                                                const Eigen::MatrixXi &TT,
    -                                                                const Eigen::MatrixXi &E2F,
    -                                                                const Eigen::MatrixXi &F2E,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                Eigen::PlainObjectBase &singularities);
    -  
    -  
    -  // Wrapper with only V,F and the matchings as input
    -  template 
    -  IGL_INLINE void polyvector_field_singularities_from_matchings(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                Eigen::PlainObjectBase &singularities);
    -  
    -  
    -  // Same pair as above but also returns singularity indices
    -  template 
    -  IGL_INLINE void polyvector_field_singularities_from_matchings(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                Eigen::PlainObjectBase &singularities,
    -                                                                Eigen::PlainObjectBase &singularity_indices);
    -  
    -  template 
    -  IGL_INLINE void polyvector_field_singularities_from_matchings(
    -                                                                const Eigen::PlainObjectBase &V,
    -                                                                const Eigen::PlainObjectBase &F,
    -                                                                const std::vector &V_border,
    -                                                                const std::vector > &VF,
    -                                                                const Eigen::MatrixXi &TT,
    -                                                                const Eigen::MatrixXi &E2F,
    -                                                                const Eigen::MatrixXi &F2E,
    -                                                                const Eigen::PlainObjectBase &match_ab,
    -                                                                const Eigen::PlainObjectBase &match_ba,
    -                                                                Eigen::PlainObjectBase &singularities,
    -                                                                Eigen::PlainObjectBase &singularity_indices);
    -
    -  
    -  
    -};
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#include "polyvector_field_singularities_from_matchings.cpp"
    -#endif
    -
    -
    -#endif /* defined(IGL_POLYVECTOR_FIELD_SINGULARITIES_FROM_MATCHINGS) */
    diff --git a/include/igl/principal_curvature.cpp b/include/igl/principal_curvature.cpp
    index 5054cccac..5712130a0 100644
    --- a/include/igl/principal_curvature.cpp
    +++ b/include/igl/principal_curvature.cpp
    @@ -105,13 +105,12 @@ public:
         }
     
     
    -    IGL_INLINE static Quadric fit(std::vector &VV, bool zeroDetCheck, bool svd)
    +    IGL_INLINE static Quadric fit(const std::vector &VV)
         {
    -      using namespace std;
           assert(VV.size() >= 5);
           if (VV.size() < 5)
           {
    -        cerr << "ASSERT FAILED!" << endl;
    +        std::cerr << "ASSERT FAILED! fit function requires at least 5 points: Only " << VV.size() << " were given." << std::endl;
             exit(0);
           }
     
    @@ -160,8 +159,6 @@ public:
       bool localMode; /* Use local mode */
       bool projectionPlaneCheck; /* Check collected vertices on tangent plane */
       bool montecarlo;
    -  bool svd; /* Use svd calculation instead of pseudoinverse */
    -  bool zeroDetCheck; /* Check if the determinant is close to zero */
       unsigned int montecarloN;
     
       searchType st; /* Use either a sphere search or a k-ring search */
    @@ -179,23 +176,23 @@ public:
       IGL_INLINE CurvatureCalculator();
       IGL_INLINE void init(const Eigen::MatrixXd& V, const Eigen::MatrixXi& F);
     
    -  IGL_INLINE void finalEigenStuff (int, std::vector, Quadric );
    -  IGL_INLINE void fitQuadric (Eigen::Vector3d, std::vector ref, const  std::vector& , Quadric *);
    -  IGL_INLINE void applyProjOnPlane(Eigen::Vector3d, std::vector, std::vector&);
    +  IGL_INLINE void finalEigenStuff(int, const std::vector&, Quadric&);
    +  IGL_INLINE void fitQuadric(const Eigen::Vector3d&, const std::vector& ref, const std::vector& , Quadric *);
    +  IGL_INLINE void applyProjOnPlane(const Eigen::Vector3d&, const std::vector&, std::vector&);
       IGL_INLINE void getSphere(const int, const double, std::vector&, int min);
       IGL_INLINE void getKRing(const int, const double,std::vector&);
    -  IGL_INLINE Eigen::Vector3d project(Eigen::Vector3d, Eigen::Vector3d, Eigen::Vector3d);
    -  IGL_INLINE void computeReferenceFrame(int, Eigen::Vector3d, std::vector&);
    -  IGL_INLINE void getAverageNormal(int, std::vector, Eigen::Vector3d&);
    -  IGL_INLINE void getProjPlane(int, std::vector, Eigen::Vector3d&);
    -  IGL_INLINE void applyMontecarlo(std::vector&,std::vector*);
    +  IGL_INLINE Eigen::Vector3d project(const Eigen::Vector3d&, const Eigen::Vector3d&, const Eigen::Vector3d&);
    +  IGL_INLINE void computeReferenceFrame(int, const Eigen::Vector3d&, std::vector&);
    +  IGL_INLINE void getAverageNormal(int, const std::vector&, Eigen::Vector3d&);
    +  IGL_INLINE void getProjPlane(int, const std::vector&, Eigen::Vector3d&);
    +  IGL_INLINE void applyMontecarlo(const std::vector&,std::vector*);
       IGL_INLINE void computeCurvature();
    -  IGL_INLINE void printCurvature(std::string outpath);
    +  IGL_INLINE void printCurvature(const std::string& outpath);
       IGL_INLINE double getAverageEdge();
     
    -  IGL_INLINE static int rotateForward (float *v0, float *v1, float *v2)
    +  IGL_INLINE static int rotateForward (double *v0, double *v1, double *v2)
       {
    -    float t;
    +    double t;
     
         if (std::abs(*v2) >= std::abs(*v1) && std::abs(*v2) >= std::abs(*v0))
           return 0;
    @@ -208,9 +205,9 @@ public:
         return 1 + rotateForward (v0, v1, v2);
       }
     
    -  IGL_INLINE static void rotateBackward (int nr, float *v0, float *v1, float *v2)
    +  IGL_INLINE static void rotateBackward (int nr, double *v0, double *v1, double *v2)
       {
    -    float t;
    +    double t;
     
         if (nr == 0)
           return;
    @@ -223,18 +220,18 @@ public:
         rotateBackward (nr - 1, v0, v1, v2);
       }
     
    -  IGL_INLINE static Eigen::Vector3d chooseMax (Eigen::Vector3d n, Eigen::Vector3d abc, float ab)
    +  IGL_INLINE static Eigen::Vector3d chooseMax (Eigen::Vector3d n, Eigen::Vector3d abc, double ab)
       {
    -    int i, max_i;
    -    float max_sp;
    +    int max_i;
    +    double max_sp;
         Eigen::Vector3d nt[8];
     
         n.normalize ();
         abc.normalize ();
     
    -    max_sp = - std::numeric_limits::max();
    +    max_sp = - std::numeric_limits::max();
     
    -    for (i = 0; i < 4; i++)
    +    for (int i = 0; i < 4; ++i)
         {
           nt[i] = n;
           if (ab > 0)
    @@ -290,7 +287,6 @@ public:
             max_i = i;
           }
         }
    -
         return nt[max_i];
       }
     
    @@ -315,8 +311,6 @@ IGL_INLINE CurvatureCalculator::CurvatureCalculator()
       this->montecarlo=false;
       this->montecarloN=0;
       this->kRing=3;
    -  this->svd=true;
    -  this->zeroDetCheck=true;
       this->curvatureComputed=false;
       this->expStep=true;
     }
    @@ -337,7 +331,7 @@ IGL_INLINE void CurvatureCalculator::init(const Eigen::MatrixXd& V, const Eigen:
       igl::per_vertex_normals(V, F, face_normals, vertex_normals);
     }
     
    -IGL_INLINE void CurvatureCalculator::fitQuadric (Eigen::Vector3d v, std::vector ref, const std::vector& vv, Quadric *q)
    +IGL_INLINE void CurvatureCalculator::fitQuadric(const Eigen::Vector3d& v, const std::vector& ref, const std::vector& vv, Quadric *q)
     {
       std::vector points;
       points.reserve (vv.size());
    @@ -354,17 +348,25 @@ IGL_INLINE void CurvatureCalculator::fitQuadric (Eigen::Vector3d v, std::vector<
         double z = vTang.dot(ref[2]);
         points.push_back(Eigen::Vector3d (x,y,z));
       }
    -  *q = Quadric::fit (points, zeroDetCheck, svd);
    +  if (points.size() < 5)
    +  {
    +    std::cerr << "ASSERT FAILED! fit function requires at least 5 points: Only " << points.size() << " were given." << std::endl;
    +    *q = Quadric(0,0,0,0,0);
    +  }
    +  else
    +  {
    +    *q = Quadric::fit (points);
    +  }
     }
     
    -IGL_INLINE void CurvatureCalculator::finalEigenStuff (int i, std::vector ref, Quadric q)
    +IGL_INLINE void CurvatureCalculator::finalEigenStuff(int i, const std::vector& ref, Quadric& q)
     {
     
    -  double a = q.a();
    -  double b = q.b();
    -  double c = q.c();
    -  double d = q.d();
    -  double e = q.e();
    +  const double a = q.a();
    +  const double b = q.b();
    +  const double c = q.c();
    +  const double d = q.d();
    +  const double e = q.e();
     
     //  if (fabs(a) < 10e-8 || fabs(b) < 10e-8)
     //  {
    @@ -457,7 +459,7 @@ IGL_INLINE void CurvatureCalculator::getKRing(const int start, const double r, s
         vv.push_back(toVisit);
         if (distance<(int)r)
         {
    -      for (unsigned int i=0; ifront();
         queue->pop_front();
         vv.push_back(toVisit);
    -    for (unsigned int i=0; ipush_back(neighbor);
             else if ((int)vv.size() cand=extra_candidates->top();
         extra_candidates->pop();
         vv.push_back(cand.first);
    -    for (unsigned int i=0; ipush(std::pair(neighbor,distance));
             visited[neighbor]=true;
           }
    @@ -525,16 +527,15 @@ IGL_INLINE void CurvatureCalculator::getSphere(const int start, const double r,
       free(visited);
     }
     
    -IGL_INLINE Eigen::Vector3d CurvatureCalculator::project(Eigen::Vector3d v, Eigen::Vector3d  vp, Eigen::Vector3d ppn)
    +IGL_INLINE Eigen::Vector3d CurvatureCalculator::project(const Eigen::Vector3d& v, const Eigen::Vector3d& vp, const Eigen::Vector3d& ppn)
     {
       return (vp - (ppn * ((vp - v).dot(ppn))));
     }
     
    -IGL_INLINE void CurvatureCalculator::computeReferenceFrame(int i, Eigen::Vector3d normal, std::vector& ref )
    +IGL_INLINE void CurvatureCalculator::computeReferenceFrame(int i, const Eigen::Vector3d& normal, std::vector& ref )
     {
     
    -  Eigen::Vector3d longest_v=Eigen::Vector3d::Zero();
    -  longest_v=Eigen::Vector3d(vertices.row(vertex_to_vertices[i][0]));
    +  Eigen::Vector3d longest_v=Eigen::Vector3d(vertices.row(vertex_to_vertices[i][0]));
     
       longest_v=(project(vertices.row(i),longest_v,normal)-Eigen::Vector3d(vertices.row(i))).normalized();
     
    @@ -546,25 +547,25 @@ IGL_INLINE void CurvatureCalculator::computeReferenceFrame(int i, Eigen::Vector3
       ref[2]=normal;
     }
     
    -IGL_INLINE void CurvatureCalculator::getAverageNormal(int j, std::vector vv, Eigen::Vector3d& normal)
    +IGL_INLINE void CurvatureCalculator::getAverageNormal(int j, const std::vector& vv, Eigen::Vector3d& normal)
     {
       normal=(vertex_normals.row(j)).normalized();
       if (localMode)
         return;
     
    -  for (unsigned int i=0; i vv, Eigen::Vector3d& ppn)
    +IGL_INLINE void CurvatureCalculator::getProjPlane(int j, const std::vector& vv, Eigen::Vector3d& ppn)
     {
       int nr;
    -  float a, b, c;
    -  float nx, ny, nz;
    -  float abcq;
    +  double a, b, c;
    +  double nx, ny, nz;
    +  double abcq;
     
       a = b = c = 0;
     
    @@ -605,9 +606,9 @@ IGL_INLINE double CurvatureCalculator::getAverageEdge()
       double sum = 0;
       int count = 0;
     
    -  for (int i = 0; i vin, std::vector &vout)
    +IGL_INLINE void CurvatureCalculator::applyProjOnPlane(const Eigen::Vector3d& ppn, const std::vector& vin, std::vector &vout)
     {
    -  for (std::vector::iterator vpi = vin.begin(); vpi != vin.end(); ++vpi)
    -    if (vertex_normals.row(*vpi) * ppn > 0.0f)
    -      vout.push_back (*vpi);
    +  for (std::vector::const_iterator vpi = vin.begin(); vpi != vin.end(); ++vpi)
    +    if (vertex_normals.row(*vpi) * ppn > 0.0)
    +      vout.push_back(*vpi);
     }
     
    -IGL_INLINE void CurvatureCalculator::applyMontecarlo(std::vector& vin, std::vector *vout)
    +IGL_INLINE void CurvatureCalculator::applyMontecarlo(const std::vector& vin, std::vector *vout)
     {
       if (montecarloN >= vin.size ())
       {
    @@ -639,24 +640,22 @@ IGL_INLINE void CurvatureCalculator::applyMontecarlo(std::vector& vin, std:
       }
     
       float p = ((float) montecarloN) / (float) vin.size();
    -  for (std::vector::iterator vpi = vin.begin(); vpi != vin.end(); ++vpi)
    +  for (std::vector::const_iterator vpi = vin.begin(); vpi != vin.end(); ++vpi)
       {
         float r;
         if ((r = ((float)rand () / RAND_MAX)) < p)
         {
    -      vout->push_back (*vpi);
    +      vout->push_back(*vpi);
         }
       }
     }
     
     IGL_INLINE void CurvatureCalculator::computeCurvature()
     {
    -  using namespace std;
    -
       //CHECK che esista la mesh
    -  size_t vertices_count=vertices.rows() ;
    +  const size_t vertices_count=vertices.rows();
     
    -  if (vertices_count <=0)
    +  if (vertices_count ==0)
         return;
     
       curvDir=std::vector< std::vector >(vertices_count);
    @@ -691,10 +690,9 @@ IGL_INLINE void CurvatureCalculator::computeCurvature()
             return;
         }
     
    -    std::vector ref(3);
         if (vv.size()<6)
         {
    -      std::cerr << "Could not compute curvature of radius " << scaledRadius << endl;
    +      std::cerr << "Could not compute curvature of radius " << scaledRadius << std::endl;
           return;
         }
     
    @@ -704,8 +702,7 @@ IGL_INLINE void CurvatureCalculator::computeCurvature()
           vvtmp.reserve (vv.size ());
           applyProjOnPlane (vertex_normals.row(i), vv, vvtmp);
           if (vvtmp.size() >= 6 && vvtmp.size() ref(3);
         computeReferenceFrame(i,normal,ref);
     
         Quadric q;
    @@ -748,7 +746,7 @@ IGL_INLINE void CurvatureCalculator::computeCurvature()
       curvatureComputed=true;
     }
     
    -IGL_INLINE void CurvatureCalculator::printCurvature(std::string outpath)
    +IGL_INLINE void CurvatureCalculator::printCurvature(const std::string& outpath)
     {
       using namespace std;
       if (!curvatureComputed)
    @@ -765,7 +763,7 @@ IGL_INLINE void CurvatureCalculator::printCurvature(std::string outpath)
     
       int vertices_count=vertices.rows();
       of << vertices_count << endl;
    -  for (int i=0; i= 2, fixing it to 2." << endl;
    +    std::cout << "WARNING: igl::principal_curvature needs a radius >= 2, fixing it to 2." << std::endl;
       }
     
       // Preallocate memory
    @@ -823,10 +819,8 @@ IGL_INLINE void igl::principal_curvature(
       cc.computeCurvature();
     
       // Copy it back
    -  for (unsigned i=0; i 10e-6)
         {
    -      cerr << "PRINCIPAL_CURVATURE: Something is wrong with vertex: i" << endl;
    +      std::cerr << "PRINCIPAL_CURVATURE: Something is wrong with vertex: " << i << std::endl;
           PD1.row(i) *= 0;
           PD2.row(i) *= 0;
         }
    diff --git a/include/igl/principal_curvature.h b/include/igl/principal_curvature.h
    index d739333a3..958e58418 100644
    --- a/include/igl/principal_curvature.h
    +++ b/include/igl/principal_curvature.h
    @@ -27,7 +27,7 @@ namespace igl
       // Inputs:
       //   V       eigen matrix #V by 3
       //   F       #F by 3 list of mesh faces (must be triangles)
    -  //   radius  controls the size of the neighbourhood used, 1 = average edge lenght
    +  //   radius  controls the size of the neighbourhood used, 1 = average edge length
       //
       // Outputs:
       //   PD1 #V by 3 maximal curvature direction for each vertex.
    diff --git a/include/igl/project_to_line.h b/include/igl/project_to_line.h
    index 006894f8a..d11399a76 100644
    --- a/include/igl/project_to_line.h
    +++ b/include/igl/project_to_line.h
    @@ -12,7 +12,7 @@
     
     namespace igl
     {
    -  // PROJECT_TO_LINE  project points onto vectors, that is find the paramter
    +  // PROJECT_TO_LINE  project points onto vectors, that is find the parameter
       // t for a point p such that proj_p = (y-x).*t, additionally compute the
       // squared distance from p to the line of the vector, such that 
       // |p - proj_p|² = sqr_d
    diff --git a/include/igl/project_to_line_segment.h b/include/igl/project_to_line_segment.h
    index 6e6340072..2fe33f2d4 100644
    --- a/include/igl/project_to_line_segment.h
    +++ b/include/igl/project_to_line_segment.h
    @@ -12,7 +12,7 @@
     
     namespace igl
     {
    -  // PROJECT_TO_LINE_SEGMENT project points onto vectors, that is find the paramter
    +  // PROJECT_TO_LINE_SEGMENT project points onto vectors, that is find the parameter
       // t for a point p such that proj_p = (y-x).*t, additionally compute the
       // squared distance from p to the line of the vector, such that 
       // |p - proj_p|² = sqr_d
    diff --git a/include/igl/pseudonormal_test.cpp b/include/igl/pseudonormal_test.cpp
    index 6bc58d5f1..b56fdf7ba 100644
    --- a/include/igl/pseudonormal_test.cpp
    +++ b/include/igl/pseudonormal_test.cpp
    @@ -199,6 +199,8 @@ namespace igl
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::pseudonormal_test, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&, double&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::pseudonormal_test, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, float, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, int, Eigen::PlainObjectBase >&, float&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     // generated by autoexplicit.sh
    diff --git a/include/igl/raytri.c b/include/igl/raytri.c
    index 28521b165..b5e7f7b1f 100644
    --- a/include/igl/raytri.c
    +++ b/include/igl/raytri.c
    @@ -129,7 +129,7 @@ inline int intersect_triangle1(double orig[3], double dir[3],
           if (*v > 0.0 || *u + *v < det)
     	 return 0;
        }
    -   else return 0;  /* ray is parallell to the plane of the triangle */
    +   else return 0;  /* ray is parallel to the plane of the triangle */
     
     
        inv_det = 1.0 / det;
    @@ -196,7 +196,7 @@ inline int intersect_triangle2(double orig[3], double dir[3],
           if (*v > 0.0 || *u + *v < det)
     	 return 0;
        }
    -   else return 0;  /* ray is parallell to the plane of the triangle */
    +   else return 0;  /* ray is parallel to the plane of the triangle */
     
        /* calculate t, ray intersects triangle */
        *t = IGL_RAY_TRI_DOT(edge2, qvec) * inv_det;
    @@ -256,7 +256,7 @@ inline int intersect_triangle3(double orig[3], double dir[3],
           if (*v > 0.0 || *u + *v < det)
     	 return 0;
        }
    -   else return 0;  /* ray is parallell to the plane of the triangle */
    +   else return 0;  /* ray is parallel to the plane of the triangle */
     
        *t = IGL_RAY_TRI_DOT(edge2, qvec) * inv_det;
        (*u) *= inv_det;
    diff --git a/include/igl/readDMAT.cpp b/include/igl/readDMAT.cpp
    index 99706c683..1ae9fdd65 100644
    --- a/include/igl/readDMAT.cpp
    +++ b/include/igl/readDMAT.cpp
    @@ -223,4 +223,7 @@ template bool igl::readDMAT >(std::string, E
     template bool igl::readDMAT >(std::string, Eigen::PlainObjectBase >&);
     template bool igl::readDMAT >(std::string, Eigen::PlainObjectBase >&);
     template bool igl::readDMAT >(std::string, Eigen::PlainObjectBase >&);
    +template bool igl::readDMAT >( std::string, Eigen::PlainObjectBase >&);
    +template bool igl::readDMAT >(std::string, Eigen::PlainObjectBase >&);
     #endif
    +
    diff --git a/include/igl/readOBJ.cpp b/include/igl/readOBJ.cpp
    index 937ffdeb0..42173fc84 100644
    --- a/include/igl/readOBJ.cpp
    +++ b/include/igl/readOBJ.cpp
    @@ -48,7 +48,7 @@ IGL_INLINE bool igl::readOBJ(
       std::vector > & FTC,
       std::vector > & FN)
     {
    -  // File open was succesfull so clear outputs
    +  // File open was successful so clear outputs
       V.clear();
       TC.clear();
       N.clear();
    @@ -56,7 +56,7 @@ IGL_INLINE bool igl::readOBJ(
       FTC.clear();
       FN.clear();
     
    -  // variables an constants to assist parsing the .obj file
    +  // variables and constants to assist parsing the .obj file
       // Constant strings to compare against
       std::string v("v");
       std::string vn("vn");
    diff --git a/include/igl/readPLY.cpp b/include/igl/readPLY.cpp
    index ae0b8762c..33758a669 100644
    --- a/include/igl/readPLY.cpp
    +++ b/include/igl/readPLY.cpp
    @@ -220,4 +220,5 @@ template bool igl::readPLY(std::basic_string, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator > const, Eigen::PlainObjectBase > &, Eigen::PlainObjectBase > &, Eigen::PlainObjectBase > &, Eigen::PlainObjectBase > &);
     
     template bool igl::readPLY, Eigen::Matrix >(std::basic_string, std::allocator > const, Eigen::PlainObjectBase > &, Eigen::PlainObjectBase > &);
    +template bool igl::readPLY, Eigen::Matrix >(std::string, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/readSTL.cpp b/include/igl/readSTL.cpp
    index e0eebfd07..fcdeddcdd 100644
    --- a/include/igl/readSTL.cpp
    +++ b/include/igl/readSTL.cpp
    @@ -71,7 +71,7 @@ IGL_INLINE bool igl::readSTL(
       std::vector > & N)
     {
       using namespace std;
    -  stl_file = freopen(NULL,"rb",stl_file);
    +  //stl_file = freopen(NULL,"rb",stl_file);
       if(NULL==stl_file)
       {
         fprintf(stderr,"IOError: stl file could not be reopened as binary (1) ...\n");
    @@ -122,7 +122,8 @@ IGL_INLINE bool igl::readSTL(
       {
         // Rewind to end of header
         //stl_file = fopen(filename.c_str(),"r");
    -    stl_file = freopen(NULL,"r",stl_file);
    +    //stl_file = freopen(NULL,"r",stl_file);
    +    fseek(stl_file, 0, SEEK_SET);
         if(NULL==stl_file)
         {
           fprintf(stderr,"IOError: stl file could not be reopened as ascii ...\n");
    @@ -213,7 +214,8 @@ IGL_INLINE bool igl::readSTL(
       }else
       {
         // Binary
    -    stl_file = freopen(NULL,"rb",stl_file);
    +    //stl_file = freopen(NULL,"rb",stl_file);
    +    fseek(stl_file, 0, SEEK_SET);
         // Read 80 header
         char header[80];
         if(fread(header,sizeof(char),80,stl_file)!=80)
    diff --git a/include/igl/readTGF.h b/include/igl/readTGF.h
    index 8111b519c..68c5ddef8 100644
    --- a/include/igl/readTGF.h
    +++ b/include/igl/readTGF.h
    @@ -25,7 +25,7 @@ namespace igl
       //
       // Input:
       //  filename  .tgf file name
    -  // Ouput:
    +  // Output:
       //  V  # vertices by 3 list of vertex positions
       //  E  # edges by 2 list of edge indices
       //  P  # point-handles list of point handle indices
    diff --git a/include/igl/read_triangle_mesh.cpp b/include/igl/read_triangle_mesh.cpp
    index 2eeaa51f0..77d13cb5c 100644
    --- a/include/igl/read_triangle_mesh.cpp
    +++ b/include/igl/read_triangle_mesh.cpp
    @@ -84,7 +84,7 @@ IGL_INLINE bool igl::read_triangle_mesh(
       pathinfo(filename,dir,base,ext,name);
       // Convert extension to lower case
       transform(ext.begin(), ext.end(), ext.begin(), ::tolower);
    -  FILE * fp = fopen(filename.c_str(),"r");
    +  FILE * fp = fopen(filename.c_str(),"rb");
       if(NULL==fp)
       {
         fprintf(stderr,"IOError: %s could not be opened...\n",
    diff --git a/include/igl/remove_duplicate_vertices.cpp b/include/igl/remove_duplicate_vertices.cpp
    index 901875d36..815ee51f8 100644
    --- a/include/igl/remove_duplicate_vertices.cpp
    +++ b/include/igl/remove_duplicate_vertices.cpp
    @@ -68,6 +68,10 @@ IGL_INLINE void igl::remove_duplicate_vertices(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    @@ -75,4 +79,5 @@ template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::remove_duplicate_vertices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, double, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/remove_unreferenced.cpp b/include/igl/remove_unreferenced.cpp
    index 3d79d126b..3ee8260aa 100644
    --- a/include/igl/remove_unreferenced.cpp
    +++ b/include/igl/remove_unreferenced.cpp
    @@ -100,6 +100,8 @@ IGL_INLINE void igl::remove_unreferenced(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::remove_unreferenced, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::remove_unreferenced, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     // generated by autoexplicit.sh
    diff --git a/include/igl/reorder.cpp b/include/igl/reorder.cpp
    index a39fbd4cd..ee74b2096 100644
    --- a/include/igl/reorder.cpp
    +++ b/include/igl/reorder.cpp
    @@ -31,6 +31,7 @@ IGL_INLINE void igl::reorder(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::reorder(std::vector > const&, std::vector > const&, std::vector >&);
     template void igl::reorder(std::vector > const&, std::vector > const&, std::vector >&);
     template void igl::reorder(std::vector > const&, std::vector > const&, std::vector >&);
     #  ifndef IGL_NO_EIGEN
    @@ -38,4 +39,7 @@ template void igl::reorder(std::vector > const&, s
       template void igl::reorder > >(std::vector >, std::allocator > > > const&, std::vector > const&, std::vector >, std::allocator > > >&);
     #  endif
     template void igl::reorder(std::vector > const&, std::vector > const&, std::vector >&);
    +#ifdef WIN32
    +template void igl::reorder(class std::vector > const &,class std::vector > const &,class std::vector > &);
    +#endif
     #endif
    diff --git a/include/igl/resolve_duplicated_faces.cpp b/include/igl/resolve_duplicated_faces.cpp
    index 2beac48d7..3b26b8ecc 100644
    --- a/include/igl/resolve_duplicated_faces.cpp
    +++ b/include/igl/resolve_duplicated_faces.cpp
    @@ -90,4 +90,7 @@ template void igl::resolve_duplicated_faces,
     template void igl::resolve_duplicated_faces, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::resolve_duplicated_faces, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::resolve_duplicated_faces, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::resolve_duplicated_faces, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/round.cpp b/include/igl/round.cpp
    index 0bb3aa255..acde47316 100644
    --- a/include/igl/round.cpp
    +++ b/include/igl/round.cpp
    @@ -36,6 +36,8 @@ IGL_INLINE void igl::round(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::round, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::round, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::round, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/serialize.h b/include/igl/serialize.h
    index 183ffd912..54967293b 100644
    --- a/include/igl/serialize.h
    +++ b/include/igl/serialize.h
    @@ -1254,5 +1254,5 @@ namespace igl
         }
       }
     }
    - 
    +
     #endif
    diff --git a/include/igl/setdiff.cpp b/include/igl/setdiff.cpp
    index a271d3bfd..46934db09 100644
    --- a/include/igl/setdiff.cpp
    +++ b/include/igl/setdiff.cpp
    @@ -42,7 +42,7 @@ IGL_INLINE void igl::setdiff(
           }
         }
         assert(k == C.size());
    -    // Have to use << instead of = becasue Eigen's PlainObjectBase is annoying
    +    // Have to use << instead of = because Eigen's PlainObjectBase is annoying
         IA << igl::LinSpaced >(
           C.size(),0,C.size()-1);
       }
    diff --git a/include/igl/shapeup.cpp b/include/igl/shapeup.cpp
    new file mode 100644
    index 000000000..bec48ea11
    --- /dev/null
    +++ b/include/igl/shapeup.cpp
    @@ -0,0 +1,237 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Amir Vaxman 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +namespace igl
    +{
    +    
    +  //This projection does nothing but render points into projP. Mostly used for "echoing" the global step
    +  IGL_INLINE bool shapeup_identity_projection(const Eigen::PlainObjectBase& P, const Eigen::PlainObjectBase& SC, const Eigen::PlainObjectBase& S,  Eigen::PlainObjectBase& projP){
    +    projP.conservativeResize(SC.rows(), 3*SC.maxCoeff());
    +    for (int i=0;i& P, const Eigen::PlainObjectBase& SC, const Eigen::PlainObjectBase& S,  Eigen::PlainObjectBase& projP){
    +    projP.conservativeResize(SC.rows(), 3*SC.maxCoeff());
    +    for (int currRow=0;currRow svd(corrMat, Eigen::ComputeFullU | Eigen::ComputeFullV);
    +      Eigen::MatrixXd R=svd.matrixU()*svd.matrixV().transpose();
    +      //getting scale by edge length change average. TODO: by singular values
    +      Eigen::VectorXd sourceEdgeLengths(N);
    +      Eigen::VectorXd targetEdgeLengths(N);
    +      for (int j=0;j
    +  IGL_INLINE bool shapeup_precomputation(const Eigen::PlainObjectBase& P,
    +                                         const Eigen::PlainObjectBase& SC,
    +                                         const Eigen::PlainObjectBase& S,
    +                                         const Eigen::PlainObjectBase& E,
    +                                         const Eigen::PlainObjectBase& b,
    +                                         const Eigen::PlainObjectBase& wShape,
    +                                         const Eigen::PlainObjectBase& wSmooth,
    +                                         ShapeupData & sudata)
    +  {
    +      using namespace std;
    +      using namespace Eigen;
    +      sudata.P=P;
    +      sudata.SC=SC;
    +      sudata.S=S;
    +      sudata.b=b;
    +      typedef typename DerivedP::Scalar Scalar;
    +      
    +      //checking for consistency of the input
    +      assert(SC.rows()==S.rows());
    +      assert(SC.rows()==wShape.rows());
    +      assert(E.rows()==wSmooth.rows());
    +      assert(b.rows()!=0);  //would lead to matrix becoming SPD
    +      
    +      sudata.DShape.conservativeResize(SC.sum(), P.rows());  //Shape matrix (integration);
    +      sudata.DClose.conservativeResize(b.rows(), P.rows());  //Closeness matrix for positional constraints
    +      sudata.DSmooth.conservativeResize(E.rows(), P.rows());  //smoothness matrix
    +        
    +      //Building shape matrix
    +      std::vector > DShapeTriplets;
    +      int currRow=0;
    +      for (int i=0;i(currRow+j, S(i,k), (1.0-avgCoeff)));
    +              else
    +                DShapeTriplets.push_back(Triplet(currRow+j, S(i,k), (-avgCoeff)));
    +            }
    +          }
    +        currRow+=SC(i);
    +        
    +      }
    + 
    +      sudata.DShape.setFromTriplets(DShapeTriplets.begin(), DShapeTriplets.end());
    +
    +      //Building closeness matrix
    +      std::vector > DCloseTriplets;
    +      for (int i=0;i(i,b(i), 1.0));
    +      
    +      sudata.DClose.setFromTriplets(DCloseTriplets.begin(), DCloseTriplets.end());
    +      
    +      //Building smoothness matrix
    +      std::vector > DSmoothTriplets;
    +      for (int i=0; i(i, E(i, 0), -1));
    +        DSmoothTriplets.push_back(Triplet(i, E(i, 1), 1));
    +      }
    +        
    +      SparseMatrix tempMat;
    +      igl::cat(1, sudata.DShape, sudata.DClose, tempMat);
    +      igl::cat(1, tempMat, sudata.DSmooth, sudata.A);
    +        
    +      //weight matrix
    +      vector > WTriplets;
    +        
    +      //one weight per set in S.
    +      currRow=0;
    +      for (int i=0;i(currRow+j,currRow+j,sudata.shapeCoeff*wShape(i)));
    +          currRow+=SC(i);
    +      }
    +        
    +      for (int i=0;i(SC.sum()+i, SC.sum()+i, sudata.closeCoeff));
    +        
    +      for (int i=0;i(SC.sum()+b.size()+i, SC.sum()+b.size()+i, sudata.smoothCoeff*wSmooth(i)));
    +        
    +      sudata.W.conservativeResize(SC.sum()+b.size()+E.rows(), SC.sum()+b.size()+E.rows());
    +      sudata.W.setFromTriplets(WTriplets.begin(), WTriplets.end());
    +        
    +      sudata.At=sudata.A.transpose();  //for efficieny, as we use the transpose a lot in the iteration
    +      sudata.Q=sudata.At*sudata.W*sudata.A;
    +
    +      return min_quad_with_fixed_precompute(sudata.Q,VectorXi(),SparseMatrix(),true,sudata.solver_data);
    +  }
    +
    +
    +  template <
    +  typename DerivedP,
    +  typename DerivedSC,
    +  typename DerivedS>
    +  IGL_INLINE bool shapeup_solve(const Eigen::PlainObjectBase& bc,
    +                                const std::function&, const Eigen::PlainObjectBase&, const Eigen::PlainObjectBase&,  Eigen::PlainObjectBase&)>& local_projection,
    +                                const Eigen::PlainObjectBase& P0,
    +                                const ShapeupData & sudata,
    +                                const bool quietIterations,
    +                                Eigen::PlainObjectBase& P)
    +  {
    +    using namespace Eigen;
    +    using namespace std;
    +    MatrixXd currP=P0;
    +    MatrixXd prevP=P0;
    +    MatrixXd projP;
    +    
    +    assert(bc.rows()==sudata.b.rows());
    +    
    +		MatrixXd rhs(sudata.A.rows(), 3); rhs.setZero();
    +    rhs.block(sudata.DShape.rows(), 0, sudata.b.rows(),3)=bc;  //this stays constant throughout the iterations
    +        
    +    if (!quietIterations){
    +        cout<<"Shapeup Iterations, "< lsrhs=-sudata.At*sudata.W*rhs;
    +      MatrixXd Y(0,3), Beq(0,3);  //We do not use the min_quad_solver fixed variables mechanism; they are treated with the closeness energy of ShapeUp.
    +      min_quad_with_fixed_solve(sudata.solver_data, lsrhs,Y,Beq,currP);
    +      
    +      double currChange=(currP-prevP).lpNorm();
    +      if (!quietIterations)
    +        cout << "Iteration "<, typename Eigen::Matrix, typename Eigen::Matrix, typename Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&,   Eigen::PlainObjectBase > const&, igl::ShapeupData&);
    +
    +template bool igl::shapeup_solve, typename Eigen::Matrix, typename Eigen::Matrix >(const Eigen::PlainObjectBase >& bc, const std::function >&, const Eigen::PlainObjectBase >&, const Eigen::PlainObjectBase >&,  Eigen::PlainObjectBase >& ) >& local_projection, const Eigen::PlainObjectBase >& P0, const igl::ShapeupData & sudata, const bool quietIterations, Eigen::PlainObjectBase >& P);
    +#endif
    diff --git a/include/igl/shapeup.h b/include/igl/shapeup.h
    new file mode 100644
    index 000000000..2d310ec1b
    --- /dev/null
    +++ b/include/igl/shapeup.h
    @@ -0,0 +1,127 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Amir Vaxman 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_SHAPEUP_H
    +#define IGL_SHAPEUP_H
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +
    +//This file implements the following algorithm:
    +
    +//Boaziz et al.
    +//Shape-Up: Shaping Discrete Geometry with Projections
    +//Computer Graphics Forum (Proc. SGP) 31(5), 2012
    +
    +namespace igl
    +{
    +  struct ShapeupData{
    +    //input data
    +    Eigen::MatrixXd P;
    +    Eigen::VectorXi SC;
    +    Eigen::MatrixXi S;
    +    Eigen::VectorXi b;
    +    int maxIterations; //referring to number of local-global pairs.
    +    double pTolerance;   //algorithm stops when max(|P_k-P_{k-1}|) DShape, DClose, DSmooth, Q, A, At, W;
    +          
    +    min_quad_with_fixed_data solver_data;
    +          
    +    ShapeupData():
    +    maxIterations(50),
    +    pTolerance(10e-6),
    +    shapeCoeff(1.0),
    +    closeCoeff(100.0),
    +    smoothCoeff(0.0){}
    +  };
    +      
    +  //Every function here defines a local projection for ShapeUp, and must have the following structure to qualify:
    +  //Input:
    +  //	P		#P by 3				the set of points, either the initial solution, or from previous iteration.
    +  //  SC		#Set by 1           cardinalities of sets in S
    +  //  S		#Sets by max(SC)    independent sets where the local projection applies. Values beyond column SC(i)-1 in row S(i,:) are "don't care"
    +  //Output:
    +  //	projP	#S by 3*max(SC) in format xyzxyzxyz,  where the projected points correspond to each set in S in the same order.
    +  typedef std::function&, const Eigen::PlainObjectBase&, const Eigen::PlainObjectBase&, Eigen::PlainObjectBase&)> shapeup_projection_function;
    +
    +  
    +  //This projection does nothing but render points into projP. Mostly used for "echoing" the global step
    +  IGL_INLINE bool shapeup_identity_projection(const Eigen::PlainObjectBase& P, const Eigen::PlainObjectBase& SC, const Eigen::PlainObjectBase& S,  Eigen::PlainObjectBase& projP);
    +  
    +  //the projection assumes that the sets are vertices of polygons in cyclic order
    +  IGL_INLINE bool shapeup_regular_face_projection(const Eigen::PlainObjectBase& P, const Eigen::PlainObjectBase& SC, const Eigen::PlainObjectBase& S,  Eigen::PlainObjectBase& projP);
    +
    +    
    +  //This function precomputation the necessary matrices for the ShapeUp process, and prefactorizes them.
    +    
    +  //input:
    +  //  P   #P by 3             point positions
    +  //  SC  #Set by 1           cardinalities of sets in S
    +  //  S   #Sets by max(SC)    independent sets where the local projection applies. Values beyond column SC(i)-1 in row S(i,:) are "don't care"
    +  //  E   #E by 2             the "edges" of the set P; used for the smoothness energy.
    +  //  b   #b by 1             boundary (fixed) vertices from P.
    +  //  wShape,   #Set by 1
    +  //  wSmooth   #b by 1       weights for constraints from S and positional constraints (used in the global step)
    +
    +  // Output:
    +  //  sudata struct ShapeupData     the data necessary to solve the system in shapeup_solve
    +
    +  template <
    +  typename DerivedP,
    +  typename DerivedSC,
    +  typename DerivedS,
    +  typename Derivedw>
    +  IGL_INLINE bool shapeup_precomputation(const Eigen::PlainObjectBase& P,
    +                                         const Eigen::PlainObjectBase& SC,
    +                                         const Eigen::PlainObjectBase& S,
    +                                         const Eigen::PlainObjectBase& E,
    +                                         const Eigen::PlainObjectBase& b,
    +                                         const Eigen::PlainObjectBase& wShape,
    +                                         const Eigen::PlainObjectBase& wSmooth,
    +                                         ShapeupData & sudata);
    +    
    +    
    +    
    +  //This function solve the shapeup project optimization. shapeup_precompute must be called before with the same sudata, or results are unpredictable
    +    
    +  //Input:
    +  //bc                #b by 3 fixed point values corresonding to "b" in sudata
    +  //local_projection  function pointer taking (P,SC,S,projP),
    +  // where the first three parameters are as defined, and "projP" is the output, as a #S by 3*max(SC) function in format xyzxyzxyz, and where it returns the projected points corresponding to each set in S in the same order.
    +  //NOTE: the input values in P0 don't need to correspond to prescribed values in bc; the iterations will project them automatically (by design).
    +  //P0                #P by 3 initial solution (point positions)
    +  //sudata            the ShapeUpData structure computed in shapeup_precomputation()
    +  //quietIterations   flagging if to output iteration information.
    +
    +  //Output:
    +  //P                 the solution to the problem, indices corresponding to P0.
    +  template <
    +  typename DerivedP,
    +  typename DerivedSC,
    +  typename DerivedS>
    +  IGL_INLINE bool shapeup_solve(const Eigen::PlainObjectBase& bc,
    +                                const std::function&, const Eigen::PlainObjectBase&, const Eigen::PlainObjectBase&,  Eigen::PlainObjectBase&)>& local_projection,
    +                                const Eigen::PlainObjectBase& P0,
    +                                const ShapeupData & sudata,
    +                                const bool quietIterations,
    +                                Eigen::PlainObjectBase& P);
    +  
    +}
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#include "shapeup.cpp"
    +#endif
    +
    +#endif
    diff --git a/include/igl/signed_angle.cpp b/include/igl/signed_angle.cpp
    index 2bcf9787d..69f8aa6f5 100644
    --- a/include/igl/signed_angle.cpp
    +++ b/include/igl/signed_angle.cpp
    @@ -48,6 +48,10 @@ IGL_INLINE typename DerivedA::Scalar igl::signed_angle(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template Eigen::Block const, 1, 3, true>::Scalar igl::signed_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
    +template Eigen::Block const, 1, 3, true>::Scalar igl::signed_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
     template Eigen::Block const, 1, -1, false>::Scalar igl::signed_angle const, 1, -1, false>, Eigen::Block const, 1, -1, false>, Eigen::Matrix >(Eigen::MatrixBase const, 1, -1, false> > const&, Eigen::MatrixBase const, 1, -1, false> > const&, Eigen::MatrixBase > const&);
     // generated by autoexplicit.sh
     template Eigen::Block const, 1, 3, true>::Scalar igl::signed_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    diff --git a/include/igl/signed_distance.cpp b/include/igl/signed_distance.cpp
    index c1c43863b..f638b1f58 100644
    --- a/include/igl/signed_distance.cpp
    +++ b/include/igl/signed_distance.cpp
    @@ -447,6 +447,8 @@ IGL_INLINE void igl::signed_distance_winding_number(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::signed_distance, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::SignedDistanceType, Eigen::Matrix::Scalar, Eigen::Matrix::Scalar, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::signed_distance, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::SignedDistanceType, Eigen::Matrix::Scalar, Eigen::Matrix::Scalar, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::signed_distance, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, igl::SignedDistanceType, Eigen::Matrix::Scalar, Eigen::Matrix::Scalar, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    diff --git a/include/igl/slice.cpp b/include/igl/slice.cpp
    index 97a31445c..df3a8e9ce 100644
    --- a/include/igl/slice.cpp
    +++ b/include/igl/slice.cpp
    @@ -248,6 +248,14 @@ IGL_INLINE DerivedX igl::slice(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::slice >, Eigen::Matrix, Eigen::PlainObjectBase > >(Eigen::MatrixBase > const&, Eigen::DenseBase > const&, int, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
     template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::slice >, Eigen::Matrix, Eigen::PlainObjectBase > >(Eigen::PlainObjectBase > const&, Eigen::DenseBase > const&, int, Eigen::PlainObjectBase >&);
    @@ -345,4 +353,10 @@ template void igl::slice(Eigen::SparseMatrix const&, Eige
     template void igl::slice, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::Matrix const&, Eigen::PlainObjectBase >&);
     template Eigen::Matrix igl::slice >(Eigen::DenseBase > const&, Eigen::Matrix const&);
     template void igl::slice >, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::DenseBase > const&, int, Eigen::Matrix&);
    +template void igl::slice, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::DenseBase > const&, Eigen::PlainObjectBase >&);
    +template void igl::slice(Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::SparseMatrix&);
    +#ifdef WIN32
    +template void igl::slice, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::PlainObjectBase>>(class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> const &, class Eigen::DenseBase> const &, int, class Eigen::PlainObjectBase> &);
    +template void igl::slice>, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::PlainObjectBase>>(class Eigen::PlainObjectBase> const &, class Eigen::DenseBase> const &, int, class Eigen::PlainObjectBase> &);
    +#endif
     #endif
    diff --git a/include/igl/slice_cached.cpp b/include/igl/slice_cached.cpp
    new file mode 100644
    index 000000000..e0f13d804
    --- /dev/null
    +++ b/include/igl/slice_cached.cpp
    @@ -0,0 +1,57 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Daniele Panozzo 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#include "slice_cached.h"
    +
    +#include 
    +#include 
    +#include 
    +#include "slice.h"
    +
    +template 
    +IGL_INLINE void igl::slice_cached_precompute(
    +  const Eigen::SparseMatrix& X,
    +  const Eigen::Matrix & R,
    +  const Eigen::Matrix & C,
    +  Eigen::MatrixBase& data,
    +  Eigen::SparseMatrix& Y
    +  )
    +{
    +  // Create a sparse matrix whose entries are the ids
    +  Eigen::SparseMatrix TS = X.template cast();
    +
    +  TS.makeCompressed();
    +  for (unsigned i=0;i TS_sliced;
    +  igl::slice(TS,R,C,TS_sliced);
    +  Y = TS_sliced.cast();
    +
    +  data.resize(TS_sliced.nonZeros());
    +  for (unsigned i=0;i
    +IGL_INLINE void igl::slice_cached(
    +  const Eigen::SparseMatrix& X,
    +  const Eigen::MatrixBase& data,
    +  Eigen::SparseMatrix& Y
    +  )
    +{
    +  for (unsigned i=0; i >(Eigen::SparseMatrix const&, Eigen::MatrixBase > const&, Eigen::SparseMatrix&);
    +template void igl::slice_cached_precompute >(Eigen::SparseMatrix const&, Eigen::Matrix const&, Eigen::Matrix const&, Eigen::MatrixBase >&, Eigen::SparseMatrix&);
    +#endif
    diff --git a/include/igl/slice_cached.h b/include/igl/slice_cached.h
    new file mode 100644
    index 000000000..84ced8dc9
    --- /dev/null
    +++ b/include/igl/slice_cached.h
    @@ -0,0 +1,69 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +// 
    +// Copyright (C) 2017 Daniele Panozzo 
    +// 
    +// This Source Code Form is subject to the terms of the Mozilla Public License 
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_SLICE_CACHED_H
    +#define IGL_SLICE_CACHED_H
    +#include "igl_inline.h"
    +#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
    +#include 
    +#include 
    +namespace igl
    +{  
    +
    +  // Act like the matlab X(row_indices,col_indices) operator, where row_indices,
    +  // col_indices are non-negative integer indices. This is a fast version of
    +  // igl::slice that can analyze and store the sparsity structure. It is slower
    +  // at the irst evaluation (slice_cached_precompute), but faster on the
    +  // subsequent ones.
    +  // 
    +  // Inputs:
    +  //   X  m by n matrix
    +  //   R  list of row indices
    +  //   C  list of column indices
    +  //   
    +  // Output:
    +  //   Y  #R by #C matrix
    +  //   data Temporary data used by slice_cached to repeat this operation
    +  //
    +  // Usage:
    +  //
    +  // // Construct and slice up Laplacian
    +  // SparseMatrix L,L_sliced;
    +  // igl::cotmatrix(V,F,L);
    +
    +  // // Normal igl::slice call
    +  // igl::slice(L,in,in,L_in_in);
    +
    +  // // Fast version
    +  // static VectorXi data; // static or saved in a global state
    +  // if (data.size() == 0)
    +  //   igl::slice_cached_precompute(L,in,in,data,L_sliced);
    +  // else
    +  //   igl::slice_cached(L,data,L_sliced);
    +
    +template 
    +IGL_INLINE void slice_cached_precompute(
    +  const Eigen::SparseMatrix& X,
    +  const Eigen::Matrix & R,
    +  const Eigen::Matrix & C,
    +  Eigen::MatrixBase& data,
    +  Eigen::SparseMatrix& Y
    +  );
    +
    +template 
    +IGL_INLINE void slice_cached(
    +  const Eigen::SparseMatrix& X,
    +  const Eigen::MatrixBase& data,
    +  Eigen::SparseMatrix& Y
    +  );
    +}
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "slice_cached.cpp"
    +#endif
    +
    +#endif
    diff --git a/include/igl/slice_tets.cpp b/include/igl/slice_tets.cpp
    index 9e31557f5..dbe042fa1 100644
    --- a/include/igl/slice_tets.cpp
    +++ b/include/igl/slice_tets.cpp
    @@ -8,8 +8,11 @@
     #include "slice_tets.h"
     #include "LinSpaced.h"
     #include "sort.h"
    +#include "edges.h"
    +#include "slice.h"
     #include "cat.h"
    -#include "per_face_normals.h"
    +#include "ismember.h"
    +#include "unique_rows.h"
     #include 
     #include 
     #include 
    @@ -17,30 +20,99 @@
     template <
       typename DerivedV, 
       typename DerivedT, 
    -  typename Derivedplane,
    -  typename DerivedU,
    -  typename DerivedG,
    +  typename DerivedS,
    +  typename DerivedSV,
    +  typename DerivedSF,
       typename DerivedJ,
       typename BCType>
     IGL_INLINE void igl::slice_tets(
    -  const Eigen::PlainObjectBase& V,
    -  const Eigen::PlainObjectBase& T,
    -  const Eigen::PlainObjectBase & plane,
    -  Eigen::PlainObjectBase& U,
    -  Eigen::PlainObjectBase& G,
    +  const Eigen::MatrixBase& V,
    +  const Eigen::MatrixBase& T,
    +  const Eigen::MatrixBase & S,
    +  Eigen::PlainObjectBase& SV,
    +  Eigen::PlainObjectBase& SF,
       Eigen::PlainObjectBase& J,
       Eigen::SparseMatrix & BC)
     {
    +  Eigen::MatrixXi sE;
    +  Eigen::Matrix lambda;
    +  igl::slice_tets(V,T,S,SV,SF,J,sE,lambda);
    +  const int ns = SV.rows();
    +  std::vector > BCIJV(ns*2);
    +  for(int i = 0;i(i,sE(i,0),    lambda(i));
    +    BCIJV[2*i+1] = Eigen::Triplet(i,sE(i,1),1.0-lambda(i));
    +  }
    +  BC.resize(SV.rows(),V.rows());
    +  BC.setFromTriplets(BCIJV.begin(),BCIJV.end());
    +}
    +
    +template <
    +  typename DerivedV, 
    +  typename DerivedT, 
    +  typename DerivedS,
    +  typename DerivedSV,
    +  typename DerivedSF,
    +  typename DerivedJ>
    +IGL_INLINE void igl::slice_tets(
    +  const Eigen::MatrixBase& V,
    +  const Eigen::MatrixBase& T,
    +  const Eigen::MatrixBase & S,
    +  Eigen::PlainObjectBase& SV,
    +  Eigen::PlainObjectBase& SF,
    +  Eigen::PlainObjectBase& J)
    +{
    +  Eigen::MatrixXi sE;
    +  Eigen::Matrix lambda;
    +  igl::slice_tets(V,T,S,SV,SF,J,sE,lambda);
    +}
    +
    +template <
    +  typename DerivedV, 
    +  typename DerivedT, 
    +  typename DerivedS,
    +  typename DerivedSV,
    +  typename DerivedSF,
    +  typename DerivedJ,
    +  typename DerivedsE,
    +  typename Derivedlambda>
    +IGL_INLINE void igl::slice_tets(
    +  const Eigen::MatrixBase& V,
    +  const Eigen::MatrixBase& T,
    +  const Eigen::MatrixBase & S,
    +  Eigen::PlainObjectBase& SV,
    +  Eigen::PlainObjectBase& SF,
    +  Eigen::PlainObjectBase& J,
    +  Eigen::PlainObjectBase& sE,
    +  Eigen::PlainObjectBase& lambda)
    +{
    +
       using namespace Eigen;
       using namespace std;
       assert(V.cols() == 3 && "V should be #V by 3");
       assert(T.cols() == 4 && "T should be #T by 4");
    -  assert(plane.size() == 4 && "Plane equation should be 4 coefficients");
    +
    +  static const Eigen::Matrix flipped_order = 
    +    (Eigen::Matrix(12,4)<<
    +      3,2,0,1,
    +      3,1,2,0,
    +      3,0,1,2,
    +      2,3,1,0,
    +      2,1,0,3,
    +      2,0,3,1,
    +      1,3,0,2,
    +      1,2,3,0,
    +      1,0,2,3,
    +      0,3,2,1,
    +      0,2,1,3,
    +      0,1,3,2
    +    ).finished();
     
       // number of tets
       const size_t m = T.rows();
     
    -  typedef typename DerivedV::Scalar Scalar;
    +  typedef typename DerivedS::Scalar Scalar;
       typedef typename DerivedT::Scalar Index;
       typedef Matrix VectorXS;
       typedef Matrix MatrixX4S;
    @@ -48,28 +120,29 @@ IGL_INLINE void igl::slice_tets(
       typedef Matrix MatrixX2S;
       typedef Matrix MatrixX4I;
       typedef Matrix MatrixX3I;
    +  typedef Matrix MatrixX2I;
       typedef Matrix VectorXI;
    -  typedef Matrix VectorXb;
    +  typedef Array ArrayXb;
       
    -  // Value of plane's implicit function at all vertices
    -  VectorXS IV = 
    -    (V.col(0)*plane(0) + 
    -     V.col(1)*plane(1) + 
    -     V.col(2)*plane(2)).array()
    -    + plane(3);
       MatrixX4S IT(m,4);
       for(size_t t = 0;t & T,
    +    const MatrixBase & T,
         const MatrixX4S & IT,
    -    const VectorXb & I,
    +    const ArrayXb & I,
         MatrixX4I  & TI,
         MatrixX4S & ITI,
         VectorXI & JI)
    @@ -94,9 +167,9 @@ IGL_INLINE void igl::slice_tets(
         }
       };
     
    -  VectorXb I13 = (IT.array()<0).rowwise().count()==1;
    -  VectorXb I31 = (IT.array()>0).rowwise().count()==1;
    -  VectorXb I22 = (IT.array()<0).rowwise().count()==2;
    +  ArrayXb I13 = (IT.array()<0).rowwise().count()==1;
    +  ArrayXb I31 = (IT.array()>0).rowwise().count()==1;
    +  ArrayXb I22 = (IT.array()<0).rowwise().count()==2;
       MatrixX4I T13,T31,T22;
       MatrixX4S IT13,IT31,IT22;
       VectorXI J13,J31,J22;
    @@ -104,7 +177,7 @@ IGL_INLINE void igl::slice_tets(
       extract_rows(T,IT,I31,T31,IT31,J31);
       extract_rows(T,IT,I22,T22,IT22,J22);
     
    -  const auto & apply_sort = [] (
    +  const auto & apply_sort4 = [] (
          const MatrixX4I & T, 
          const MatrixX4I & sJ, 
          MatrixX4I & sT)
    @@ -119,116 +192,165 @@ IGL_INLINE void igl::slice_tets(
         }
       };
     
    -  const auto & one_below = [&V,&apply_sort](
    +  const auto & apply_sort2 = [] (
    +     const MatrixX2I & E, 
    +     const MatrixX2I & sJ, 
    +     Eigen::PlainObjectBase& sE)
    +  {
    +    sE.resize(E.rows(),2);
    +    for(size_t t = 0;t<(size_t)E.rows();t++)
    +    {
    +      for(size_t c = 0;c<2;c++)
    +      {
    +        sE(t,c) = E(t,sJ(t,c));
    +      }
    +    }
    +  };
    +
    +  const auto & one_below = [&apply_sort4](
         const MatrixX4I & T,
         const MatrixX4S & IT,
    -    MatrixX3I & G,
    -    SparseMatrix & BC)
    +    MatrixX2I & U,
    +    MatrixX3I & SF)
       {
         // Number of tets
         const size_t m = T.rows();
    +    if(m == 0)
    +    {
    +      U.resize(0,2);
    +      SF.resize(0,3);
    +      return;
    +    }
         MatrixX4S sIT;
         MatrixX4I sJ;
         sort(IT,2,true,sIT,sJ);
         MatrixX4I sT;
    -    apply_sort(T,sJ,sT);
    -    MatrixX3S lambda = 
    -      sIT.rightCols(3).array() /
    -      (sIT.rightCols(3).colwise()-sIT.col(0)).array();
    -    vector > IJV;
    -    IJV.reserve(m*3*2);
    +    apply_sort4(T,sJ,sT);
    +    U.resize(3*m,2);
    +    U<<
    +      sT.col(0),sT.col(1),
    +      sT.col(0),sT.col(2),
    +      sT.col(0),sT.col(3);
    +    SF.resize(m,3);
         for(size_t c = 0;c<3;c++)
         {
    -      for(size_t t = 0;t<(size_t)m;t++)
    -      {
    -        IJV.push_back(Triplet(c*m+t,  sT(t,0),  lambda(t,c)));
    -        IJV.push_back(Triplet(c*m+t,sT(t,c+1),1-lambda(t,c)));
    -      }
    -    }
    -    BC.resize(m*3,V.rows());
    -    BC.reserve(m*3*2);
    -    BC.setFromTriplets(IJV.begin(),IJV.end());
    -    G.resize(m,3);
    -    for(size_t c = 0;c<3;c++)
    -    {
    -      G.col(c) = 
    +      SF.col(c) = 
             igl::LinSpaced<
    -        Eigen::Matrix >
    +        Eigen::Matrix >
             (m,0+c*m,(m-1)+c*m);
         }
    +    ArrayXb flip;
    +    {
    +      VectorXi _;
    +      ismember_rows(sJ,flipped_order,flip,_);
    +    }
    +    for(int i = 0;i & BC)
    +    MatrixX2I & U,
    +    MatrixX3I & SF)
       {
         // Number of tets
         const size_t m = T.rows();
    +    if(m == 0)
    +    {
    +      U.resize(0,2);
    +      SF.resize(0,3);
    +      return;
    +    }
         MatrixX4S sIT;
         MatrixX4I sJ;
         sort(IT,2,true,sIT,sJ);
         MatrixX4I sT;
    -    apply_sort(T,sJ,sT);
    -    MatrixX2S lambda = 
    -      sIT.rightCols(2).array() /
    -      (sIT.rightCols(2).colwise()-sIT.col(0)).array();
    -    MatrixX2S gamma = 
    -      sIT.rightCols(2).array() /
    -      (sIT.rightCols(2).colwise()-sIT.col(1)).array();
    -    vector > IJV;
    -    IJV.reserve(m*4*2);
    -    for(size_t c = 0;c<2;c++)
    +    apply_sort4(T,sJ,sT);
    +    U.resize(4*m,2);
    +    U<<
    +      sT.col(0),sT.col(2),
    +      sT.col(0),sT.col(3),
    +      sT.col(1),sT.col(2),
    +      sT.col(1),sT.col(3);
    +    SF.resize(2*m,3);
    +    SF.block(0,0,m,1) = igl::LinSpaced(m,0+0*m,(m-1)+0*m);
    +    SF.block(0,1,m,1) = igl::LinSpaced(m,0+1*m,(m-1)+1*m);
    +    SF.block(0,2,m,1) = igl::LinSpaced(m,0+3*m,(m-1)+3*m);
    +    SF.block(m,0,m,1) = igl::LinSpaced(m,0+0*m,(m-1)+0*m);
    +    SF.block(m,1,m,1) = igl::LinSpaced(m,0+3*m,(m-1)+3*m);
    +    SF.block(m,2,m,1) = igl::LinSpaced(m,0+2*m,(m-1)+2*m);
    +    ArrayXb flip;
         {
    -      for(size_t t = 0;t<(size_t)m;t++)
    +      VectorXi _;
    +      ismember_rows(sJ,flipped_order,flip,_);
    +    }
    +    for(int i = 0;i(0*2*m+c*m+t,  sT(t,0),  lambda(t,c)));
    -        IJV.push_back(Triplet(0*2*m+c*m+t,sT(t,c+2),1-lambda(t,c)));
    -        IJV.push_back(Triplet(1*2*m+c*m+t,  sT(t,1),   gamma(t,c)));
    -        IJV.push_back(Triplet(1*2*m+c*m+t,sT(t,c+2),1- gamma(t,c)));
    +        SF.row(i  ) = SF.row(i  ).reverse().eval();
    +        SF.row(i+m) = SF.row(i+m).reverse().eval();
           }
         }
    -    BC.resize(m*4,V.rows());
    -    BC.reserve(m*4*2);
    -    BC.setFromTriplets(IJV.begin(),IJV.end());
    -    G.resize(2*m,3);
    -    G.block(0,0,m,1) = igl::LinSpaced(m,0+0*m,(m-1)+0*m);
    -    G.block(0,1,m,1) = igl::LinSpaced(m,0+1*m,(m-1)+1*m);
    -    G.block(0,2,m,1) = igl::LinSpaced(m,0+3*m,(m-1)+3*m);
    -    G.block(m,0,m,1) = igl::LinSpaced(m,0+0*m,(m-1)+0*m);
    -    G.block(m,1,m,1) = igl::LinSpaced(m,0+3*m,(m-1)+3*m);
    -    G.block(m,2,m,1) = igl::LinSpaced(m,0+2*m,(m-1)+2*m);
       };
     
    -  MatrixX3I G13,G31,G22;
    -  SparseMatrix BC13,BC31,BC22;
    -  one_below(T13,IT13,G13,BC13);
    -  one_below(T31,-IT31,G31,BC31);
    -  two_below(T22,IT22,G22,BC22);
    -
    -  BC = cat(1,cat(1,BC13,BC31),BC22);
    -  U = BC*V;
    -  G.resize(G13.rows()+G31.rows()+G22.rows(),3);
    -  G< planeN(plane(0),plane(1),plane(2));
    -  VectorXb flip = (N.array().rowwise() * planeN.array()).rowwise().sum()<0;
    -  for(size_t g = 0;g<(size_t)G.rows();g++)
    +  MatrixX3I SF13,SF31,SF22;
    +  MatrixX2I U13,U31,U22;
    +  one_below(T13, IT13,U13,SF13);
    +  one_below(T31,-IT31,U31,SF31);
    +  two_below(T22, IT22,U22,SF22);
    +  // https://forum.kde.org/viewtopic.php?f=74&t=107974
    +  const MatrixX2I U = 
    +    (MatrixX2I(U13.rows()+ U31.rows()+ U22.rows(),2)<()*lambda(e) + 
    +                V.row(sE(e,1)).template cast()*(1.0-lambda(e));
    +  }
    +  SF.resize( SF13.rows()+SF31.rows()+SF22.rows(),3);
    +  SF<<
    +    SF13,
    +    U13.rows()+           SF31.rowwise().reverse().array(),
    +    U13.rows()+U31.rows()+SF22.array();
     
    -  J.resize(G.rows());
    +  std::for_each(
    +    SF.data(),
    +    SF.data()+SF.size(),
    +    [&uJ](typename DerivedSF::Scalar & i){i=uJ(i);});
    +
    +  J.resize(SF.rows());
       J<, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::SparseMatrix&);
    -template void igl::slice_tets, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::SparseMatrix&);
    +template void igl::slice_tets, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, double>(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::SparseMatrix&);
     #endif
    diff --git a/include/igl/slice_tets.h b/include/igl/slice_tets.h
    index c2fb60254..349c5d790 100644
    --- a/include/igl/slice_tets.h
    +++ b/include/igl/slice_tets.h
    @@ -22,33 +22,69 @@ namespace igl
       // Inputs:
       //   V  #V by 3 list of tet mesh vertices
       //   T  #T by 4 list of tet indices into V 
    -  //   plane  list of 4 coefficients in the plane equation: [x y z 1]'*plane = 0
    -  //   Optional:
    -  //     'Manifold' followed by whether to stitch together triangles into a
    -  //       manifold mesh {true}: results in more compact U but slightly slower.
    +  ////   plane  list of 4 coefficients in the plane equation: [x y z 1]'*plane = 0
    +  //   S  #V list of values so that S = 0 is the desired isosurface
       // Outputs:
    -  //   U  #U by 3 list of triangle mesh vertices along slice
    -  //   G  #G by 3 list of triangles indices into U
    -  //   J  #G list of indices into T revealing from which tet each faces comes
    -  //   BC  #U by #V list of barycentric coordinates (or more generally: linear
    -  //     interpolation coordinates) so that U = BC*V
    +  //   SV  #SV by 3 list of triangle mesh vertices along slice
    +  //   SF  #SF by 3 list of triangles indices into SV
    +  //   J  #SF list of indices into T revealing from which tet each faces comes
    +  //   BC  #SU by #V list of barycentric coordinates (or more generally: linear
    +  //     interpolation coordinates) so that SV = BC*V
       // 
       template <
         typename DerivedV, 
         typename DerivedT, 
    -    typename Derivedplane,
    -    typename DerivedU,
    -    typename DerivedG,
    +    typename DerivedS,
    +    typename DerivedSV,
    +    typename DerivedSF,
         typename DerivedJ,
         typename BCType>
       IGL_INLINE void slice_tets(
    -    const Eigen::PlainObjectBase& V,
    -    const Eigen::PlainObjectBase& T,
    -    const Eigen::PlainObjectBase & plane,
    -    Eigen::PlainObjectBase& U,
    -    Eigen::PlainObjectBase& G,
    +    const Eigen::MatrixBase& V,
    +    const Eigen::MatrixBase& T,
    +    const Eigen::MatrixBase & S,
    +    Eigen::PlainObjectBase& SV,
    +    Eigen::PlainObjectBase& SF,
         Eigen::PlainObjectBase& J,
         Eigen::SparseMatrix & BC);
    +  template <
    +    typename DerivedV, 
    +    typename DerivedT, 
    +    typename DerivedS,
    +    typename DerivedSV,
    +    typename DerivedSF,
    +    typename DerivedJ>
    +  IGL_INLINE void slice_tets(
    +    const Eigen::MatrixBase& V,
    +    const Eigen::MatrixBase& T,
    +    const Eigen::MatrixBase & S,
    +    Eigen::PlainObjectBase& SV,
    +    Eigen::PlainObjectBase& SF,
    +    Eigen::PlainObjectBase& J);
    +  // Outputs:
    +  //   sE  #SV by 2 list of sorted edge indices into V
    +  //   lambda  #SV by 1 list of parameters along each edge in sE so that:
    +  //     SV(i,:) = V(sE(i,1),:)*lambda(i) + V(sE(i,2),:)*(1-lambda(i));
    +  template <
    +    typename DerivedV, 
    +    typename DerivedT, 
    +    typename DerivedS,
    +    typename DerivedSV,
    +    typename DerivedSF,
    +    typename DerivedJ,
    +    typename DerivedsE,
    +    typename Derivedlambda
    +    >
    +  IGL_INLINE void slice_tets(
    +    const Eigen::MatrixBase& V,
    +    const Eigen::MatrixBase& T,
    +    const Eigen::MatrixBase & S,
    +    Eigen::PlainObjectBase& SV,
    +    Eigen::PlainObjectBase& SF,
    +    Eigen::PlainObjectBase& J,
    +    Eigen::PlainObjectBase& sE,
    +    Eigen::PlainObjectBase& lambda);
    +
     }
     
     #ifndef IGL_STATIC_LIBRARY
    diff --git a/include/igl/slim.cpp b/include/igl/slim.cpp
    index 93b800251..a88674274 100644
    --- a/include/igl/slim.cpp
    +++ b/include/igl/slim.cpp
    @@ -34,6 +34,14 @@
     #include 
     #include 
     
    +#include "Timer.h"
    +#include "sparse_cached.h"
    +#include "AtA_cached.h"
    +
    +#ifdef CHOLMOD
    +#include 
    +#endif
    +
     namespace igl
     {
       namespace slim
    @@ -42,8 +50,8 @@ namespace igl
         IGL_INLINE void compute_surface_gradient_matrix(const Eigen::MatrixXd &V, const Eigen::MatrixXi &F,
                                                         const Eigen::MatrixXd &F1, const Eigen::MatrixXd &F2,
                                                         Eigen::SparseMatrix &D1, Eigen::SparseMatrix &D2);
    -    IGL_INLINE void buildA(igl::SLIMData& s, Eigen::SparseMatrix &A);
    -    IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &At);
    +    IGL_INLINE void buildA(igl::SLIMData& s, std::vector > & IJV);
    +    IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &A);
         IGL_INLINE void add_soft_constraints(igl::SLIMData& s, Eigen::SparseMatrix &L);
         IGL_INLINE double compute_energy(igl::SLIMData& s, Eigen::MatrixXd &V_new);
         IGL_INLINE double compute_soft_const_energy(igl::SLIMData& s,
    @@ -395,8 +403,12 @@ namespace igl
           Eigen::SparseMatrix L;
           build_linear_system(s,L);
     
    +      igl::Timer t;
    +      
    +      //t.start();
           // solve
           Eigen::VectorXd Uc;
    +#ifndef CHOLMOD
           if (s.dim == 2)
           {
             SimplicialLDLT > solver;
    @@ -406,13 +418,21 @@ namespace igl
           { // seems like CG performs much worse for 2D and way better for 3D
             Eigen::VectorXd guess(uv.rows() * s.dim);
             for (int i = 0; i < s.v_num; i++) for (int j = 0; j < s.dim; j++) guess(uv.rows() * j + i) = uv(i, j); // flatten vector
    -        ConjugateGradient, Eigen::Lower | Upper> solver;
    -        solver.setTolerance(1e-8);
    -        Uc = solver.compute(L).solveWithGuess(s.rhs, guess);
    +        ConjugateGradient, Lower | Upper> cg;
    +        cg.setTolerance(1e-8);
    +        cg.compute(L);
    +        Uc = cg.solveWithGuess(s.rhs, guess);
           }
    -
    +#else
    +        CholmodSimplicialLDLT > solver;
    +        Uc = solver.compute(L).solve(s.rhs);
    +#endif
           for (int i = 0; i < s.dim; i++)
             uv.col(i) = Uc.block(i * s.v_n, 0, s.v_n, 1);
    +
    +      // t.stop();
    +      // std::cerr << "solve: " << t.getElapsedTime() << std::endl;
    +
         }
     
     
    @@ -478,20 +498,60 @@ namespace igl
         IGL_INLINE void build_linear_system(igl::SLIMData& s, Eigen::SparseMatrix &L)
         {
           // formula (35) in paper
    +      std::vector > IJV;
    +      
    +      #ifdef SLIM_CACHED
    +      buildA(s,IJV);
    +      if (s.A.rows() == 0)
    +      {
    +        s.A = Eigen::SparseMatrix(s.dim * s.dim * s.f_n, s.dim * s.v_n);
    +        igl::sparse_cached_precompute(IJV,s.A_data,s.A);
    +      }
    +      else
    +        igl::sparse_cached(IJV,s.A_data,s.A);
    +      #else
           Eigen::SparseMatrix A(s.dim * s.dim * s.f_n, s.dim * s.v_n);
    -      buildA(s,A);
    +      buildA(s,IJV);
    +      A.setFromTriplets(IJV.begin(),IJV.end());
    +      A.makeCompressed();
    +      #endif
     
    +      #ifdef SLIM_CACHED
    +      #else
           Eigen::SparseMatrix At = A.transpose();
           At.makeCompressed();
    +      #endif
    +
    +      #ifdef SLIM_CACHED
    +      Eigen::SparseMatrix id_m(s.A.cols(), s.A.cols());
    +      #else
    +      Eigen::SparseMatrix id_m(A.cols(), A.cols());
    +      #endif
     
    -      Eigen::SparseMatrix id_m(At.rows(), At.rows());
           id_m.setIdentity();
     
           // add proximal penalty
    -      L = At * s.WGL_M.asDiagonal() * A + s.proximal_p * id_m; //add also a proximal term
    +      #ifdef SLIM_CACHED
    +      s.AtA_data.W = s.WGL_M;
    +      if (s.AtA.rows() == 0)
    +        igl::AtA_cached_precompute(s.A,s.AtA_data,s.AtA);
    +      else
    +        igl::AtA_cached(s.A,s.AtA_data,s.AtA);
    +
    +      L = s.AtA + s.proximal_p * id_m; //add also a proximal 
           L.makeCompressed();
     
    -      buildRhs(s, At);
    +      #else
    +      L = At * s.WGL_M.asDiagonal() * A + s.proximal_p * id_m; //add also a proximal term
    +      L.makeCompressed();
    +      #endif
    +
    +      #ifdef SLIM_CACHED
    +      buildRhs(s, s.A);
    +      #else
    +      buildRhs(s, A);
    +      #endif
    +
           Eigen::SparseMatrix OldL = L;
           add_soft_constraints(s,L);
           L.makeCompressed();
    @@ -657,10 +717,9 @@ namespace igl
           return energy;
         }
     
    -    IGL_INLINE void buildA(igl::SLIMData& s, Eigen::SparseMatrix &A)
    +    IGL_INLINE void buildA(igl::SLIMData& s, std::vector > & IJV)
         {
           // formula (35) in paper
    -      std::vector > IJV;
           if (s.dim == 2)
           {
             IJV.reserve(4 * (s.Dx.outerSize() + s.Dy.outerSize()));
    @@ -780,10 +839,9 @@ namespace igl
               }
             }
           }
    -      A.setFromTriplets(IJV.begin(), IJV.end());
         }
     
    -    IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &At)
    +    IGL_INLINE void buildRhs(igl::SLIMData& s, const Eigen::SparseMatrix &A)
         {
           Eigen::VectorXd f_rhs(s.dim * s.dim * s.f_n);
           f_rhs.setZero();
    @@ -830,7 +888,7 @@ namespace igl
             for (int j = 0; j < s.v_n; j++)
               uv_flat(s.v_n * i + j) = s.V_o(j, i);
     
    -      s.rhs = (At * s.WGL_M.asDiagonal() * f_rhs + s.proximal_p * uv_flat);
    +      s.rhs = (f_rhs.transpose() * s.WGL_M.asDiagonal() * A).transpose() + s.proximal_p * uv_flat;
         }
     
       }
    diff --git a/include/igl/slim.h b/include/igl/slim.h
    index 30972a922..1965e2bba 100644
    --- a/include/igl/slim.h
    +++ b/include/igl/slim.h
    @@ -12,6 +12,14 @@
     #include 
     #include 
     
    +// This option makes the iterations faster (all except the first) by caching the 
    +// sparsity pattern of the matrix involved in the assembly. It should be on if you plan to do many iterations, off if you have to change the matrix structure at every iteration.
    +#define SLIM_CACHED 
    +
    +#ifdef SLIM_CACHED
    +#include 
    +#endif
    +
     namespace igl
     {
     
    @@ -64,6 +72,13 @@ struct SLIMData
       bool first_solve;
       bool has_pre_calc = false;
       int dim;
    +
    +  #ifdef SLIM_CACHED
    +  Eigen::SparseMatrix A;
    +  Eigen::VectorXi A_data;
    +  Eigen::SparseMatrix AtA;
    +  igl::AtA_cached_data AtA_data;
    +  #endif
     };
     
     // Compute necessary information to start using SLIM
    diff --git a/include/igl/solid_angle.cpp b/include/igl/solid_angle.cpp
    index 547fd7c47..bbb478af3 100644
    --- a/include/igl/solid_angle.cpp
    +++ b/include/igl/solid_angle.cpp
    @@ -57,6 +57,10 @@ IGL_INLINE typename DerivedA::Scalar igl::solid_angle(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template Eigen::Block const, 1, 3, true>::Scalar igl::solid_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
    +template Eigen::Block const, 1, 3, true>::Scalar igl::solid_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
     template Eigen::Block const, 1, -1, false>::Scalar igl::solid_angle const, 1, -1, false>, Eigen::Block const, 1, -1, false>, Eigen::Block const, 1, -1, false>, Eigen::Matrix >(Eigen::MatrixBase const, 1, -1, false> > const&, Eigen::MatrixBase const, 1, -1, false> > const&, Eigen::MatrixBase const, 1, -1, false> > const&, Eigen::MatrixBase > const&);
     // generated by autoexplicit.sh
     template Eigen::Block const, 1, 3, true>::Scalar igl::solid_angle const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Block const, 1, 3, true>, Eigen::Matrix >(Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase const, 1, 3, true> > const&, Eigen::MatrixBase > const&);
    diff --git a/include/igl/sort.cpp b/include/igl/sort.cpp
    index 979c78d2f..251b3063e 100644
    --- a/include/igl/sort.cpp
    +++ b/include/igl/sort.cpp
    @@ -25,6 +25,7 @@ IGL_INLINE void igl::sort(
       Eigen::PlainObjectBase& Y,
       Eigen::PlainObjectBase& IX)
     {
    +  typedef typename DerivedX::Scalar Scalar;
       // get number of rows (or columns)
       int num_inner = (dim == 1 ? X.rows() : X.cols() );
       // Special case for swapping
    @@ -51,15 +52,15 @@ IGL_INLINE void igl::sort(
       {
         // Unsorted index map for this column (or row)
         std::vector index_map(num_inner);
    -    std::vector data(num_inner);
    +    std::vector data(num_inner);
         for(int j = 0;j, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, int, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::sort, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, int, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::sort, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, int, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sort, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, int, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sort, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, int, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::sort,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,int,bool,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +#endif
     #endif
    diff --git a/include/igl/sort_angles.cpp b/include/igl/sort_angles.cpp
    index 760e92621..486f621ea 100644
    --- a/include/igl/sort_angles.cpp
    +++ b/include/igl/sort_angles.cpp
    @@ -18,7 +18,7 @@ IGL_INLINE void igl::sort_angles(
         assert(num_cols >= 2);
     
         R.resize(num_rows);
    -    // Have to use << instead of = becasue Eigen's PlainObjectBase is annoying
    +    // Have to use << instead of = because Eigen's PlainObjectBase is annoying
         R << igl::LinSpaced<
           Eigen::Matrix >
           (num_rows, 0, num_rows-1);
    diff --git a/include/igl/sort_triangles.cpp b/include/igl/sort_triangles.cpp
    index 66a456b4e..98fd8ab1a 100644
    --- a/include/igl/sort_triangles.cpp
    +++ b/include/igl/sort_triangles.cpp
    @@ -390,7 +390,7 @@ IGL_INLINE void igl::sort_triangles(
     //  assert(false && 
     //    "THIS WILL NEVER WORK because depth sorting is not a numerical sort where"
     //    "pairwise comparisons of triangles are transitive.  Rather it is a"
    -//    "topological sort on a dependecy graph. Dependency encodes 'This triangle"
    +//    "topological sort on a dependency graph. Dependency encodes 'This triangle"
     //    "must be drawn before that one'");
     //  using namespace std;
     //  using namespace Eigen;
    diff --git a/include/igl/sortrows.cpp b/include/igl/sortrows.cpp
    index 05481ce8a..a5e084fd8 100644
    --- a/include/igl/sortrows.cpp
    +++ b/include/igl/sortrows.cpp
    @@ -107,6 +107,14 @@ IGL_INLINE void igl::sortrows(
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
    @@ -125,4 +133,10 @@ template void igl::sortrows, Eigen::Matri
     template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::sortrows, Eigen::Matrix >(Eigen::DenseBase > const&, bool, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +#ifdef WIN32
    +template void igl::sortrows,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,bool,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::sortrows,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,bool,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::sortrows,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,bool,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::sortrows,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,bool,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +#endif
     #endif
    diff --git a/include/igl/sparse_cached.cpp b/include/igl/sparse_cached.cpp
    new file mode 100644
    index 000000000..f35543291
    --- /dev/null
    +++ b/include/igl/sparse_cached.cpp
    @@ -0,0 +1,122 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +//
    +// Copyright (C) 2017 Daniele Panozzo 
    +//
    +// This Source Code Form is subject to the terms of the Mozilla Public License
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#include "sparse_cached.h"
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +template 
    +IGL_INLINE void igl::sparse_cached_precompute(
    +  const Eigen::MatrixBase & I,
    +  const Eigen::MatrixBase & J,
    +  Eigen::VectorXi& data,
    +  Eigen::SparseMatrix& X)
    +{
    +  // Generates the triplets
    +  std::vector > t(I.size());
    +  for (unsigned i = 0; i(I[i],J[i],1);
    +
    +  // Call the triplets version
    +  sparse_cached_precompute(t,X,data);
    +}
    +
    +template 
    +IGL_INLINE void igl::sparse_cached_precompute(
    +  const std::vector >& triplets,
    +  Eigen::VectorXi& data,
    +  Eigen::SparseMatrix& X)
    +{
    +    // Construct an empty sparse matrix
    +    X.setFromTriplets(triplets.begin(),triplets.end());
    +    X.makeCompressed();
    +
    +    std::vector > T(triplets.size());
    +    for (unsigned i=0; i= 0);
    +        assert(row < X.rows());
    +        assert(row >= 0);
    +        assert(value_index >= 0);
    +        assert(value_index < X.nonZeros());
    +
    +        std::pair p_m = std::make_pair(row,col);
    +
    +        while (t
    +IGL_INLINE void igl::sparse_cached(
    +  const std::vector >& triplets,
    +  const Eigen::VectorXi& data,
    +  Eigen::SparseMatrix& X)
    +{
    +  assert(triplets.size() == data.size());
    +
    +  // Clear it first
    +  for (unsigned i = 0; i
    +IGL_INLINE void igl::sparse_cached(
    +  const Eigen::MatrixBase& V,
    +  const Eigen::VectorXi& data,
    +  Eigen::SparseMatrix& X)
    +{
    +  assert(V.size() == data.size());
    +
    +  // Clear it first
    +  for (unsigned i = 0; i(std::vector::Index>, std::allocator::Index> > > const&, Eigen::Matrix const&, Eigen::SparseMatrix&);
    +template void igl::sparse_cached_precompute(std::vector::Index>, std::allocator::Index> > > const&, Eigen::Matrix&, Eigen::SparseMatrix&);
    +#endif
    diff --git a/include/igl/sparse_cached.h b/include/igl/sparse_cached.h
    new file mode 100644
    index 000000000..40d288962
    --- /dev/null
    +++ b/include/igl/sparse_cached.h
    @@ -0,0 +1,85 @@
    +// This file is part of libigl, a simple c++ geometry processing library.
    +// 
    +// Copyright (C) 2017 Daniele Panozzo 
    +// 
    +// This Source Code Form is subject to the terms of the Mozilla Public License 
    +// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
    +// obtain one at http://mozilla.org/MPL/2.0/.
    +#ifndef IGL_SPARSE_CACHED_H
    +#define IGL_SPARSE_CACHED_H
    +#include "igl_inline.h"
    +#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
    +#include 
    +#include 
    +namespace igl
    +{
    +  // Build a sparse matrix from list of indices and values (I,J,V), similarly to 
    +  // the sparse function in matlab. Divides the construction in two phases, one
    +  // for fixing the sparsity pattern, and one to populate it with values. Compared to
    +  // igl::sparse, this version is slower for the first time (since it requires a
    +  // precomputation), but faster to the subsequent evaluations.
    +  //
    +  // Templates:
    +  //   IndexVector  list of indices, value should be non-negative and should
    +  //     expect to be cast to an index. Must implement operator(i) to retrieve
    +  //     ith element
    +  //   ValueVector  list of values, value should be expect to be cast to type
    +  //     T. Must implement operator(i) to retrieve ith element
    +  //   T  should be a eigen sparse matrix primitive type like int or double
    +  // Input:
    +  //   I  nnz vector of row indices of non zeros entries in X
    +  //   J  nnz vector of column indices of non zeros entries in X
    +  //   V  nnz vector of non-zeros entries in X
    +  //   Optional:
    +  //     m  number of rows
    +  //     n  number of cols
    +  // Outputs:
    +  //   X  m by n matrix of type T whose entries are to be found 
    +  //
    +  // Example:
    +  //   Eigen::SparseMatrix A;
    +  //   std::vector > IJV;
    +  //   buildA(IJV);
    +  //   if (A.rows() == 0)
    +  //   {
    +  //     A = Eigen::SparseMatrix(rows,cols);
    +  //     igl::sparse_cached_precompute(IJV,A,A_data);
    +  //   }
    +  //   else
    +  //     igl::sparse_cached(IJV,s.A,s.A_data);
    +
    +  template 
    +  IGL_INLINE void sparse_cached_precompute(
    +    const Eigen::MatrixBase & I,
    +    const Eigen::MatrixBase & J,
    +    Eigen::VectorXi& data,
    +    Eigen::SparseMatrix& X
    +    );
    +  
    +  template 
    +  IGL_INLINE void sparse_cached_precompute(
    +    const std::vector >& triplets,
    +    Eigen::VectorXi& data,
    +    Eigen::SparseMatrix& X
    +    );
    +
    +  template 
    +  IGL_INLINE void sparse_cached(
    +    const std::vector >& triplets,
    +    const Eigen::VectorXi& data,
    +    Eigen::SparseMatrix& X);
    +
    +  template 
    +  IGL_INLINE void sparse_cached(
    +    const Eigen::MatrixBase& V,
    +    const Eigen::VectorXi& data,
    +    Eigen::SparseMatrix& X
    +    );
    +  
    +}
    +
    +#ifndef IGL_STATIC_LIBRARY
    +#  include "sparse_cached.cpp"
    +#endif
    +
    +#endif
    diff --git a/include/igl/streamlines.cpp b/include/igl/streamlines.cpp
    deleted file mode 100644
    index da98d8d23..000000000
    --- a/include/igl/streamlines.cpp
    +++ /dev/null
    @@ -1,166 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2016 Francisca Gil Ureta 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "edge_topology.h"
    -#include "sort_vectors_ccw.h"
    -#include "streamlines.h"
    -#include "per_face_normals.h"
    -#include "polyvector_field_matchings.h"
    -#include "segment_segment_intersect.h"
    -#include "triangle_triangle_adjacency.h"
    -#include "barycenter.h"
    -#include "slice.h"
    -
    -#include 
    -
    -
    -
    -IGL_INLINE void igl::streamlines_init(
    -                                      const Eigen::MatrixXd V,
    -                                      const Eigen::MatrixXi F,
    -                                      const Eigen::MatrixXd &temp_field,
    -                                      const bool treat_as_symmetric,
    -                                      StreamlineData &data,
    -                                      StreamlineState &state,
    -                                      double percentage
    -                                      ){
    -  using namespace Eigen;
    -  using namespace std;
    -  
    -  igl::edge_topology(V, F, data.E, data.F2E, data.E2F);
    -  igl::triangle_triangle_adjacency(F, data.TT);
    -  
    -  // prepare vector field
    -  // --------------------------
    -  int half_degree = temp_field.cols() / 3;
    -  int degree = treat_as_symmetric ? half_degree * 2 : half_degree;
    -  data.degree = degree;
    -  
    -  Eigen::MatrixXd FN;
    -  Eigen::VectorXi order;
    -  Eigen::RowVectorXd sorted;
    -  
    -  igl::per_face_normals(V, F, FN);
    -  data.field.setZero(F.rows(), degree * 3);
    -  for (unsigned i = 0; i < F.rows(); ++i){
    -    const Eigen::RowVectorXd &n = FN.row(i);
    -    Eigen::RowVectorXd temp(1, degree * 3);
    -    if (treat_as_symmetric)
    -      temp << temp_field.row(i), -temp_field.row(i);
    -    else
    -      temp = temp_field.row(i);
    -    igl::sort_vectors_ccw(temp, n, order, sorted);
    -    
    -    // project vectors to tangent plane
    -    for (int j = 0; j < degree; ++j)
    -    {
    -      Eigen::RowVector3d pd = sorted.segment(j * 3, 3);
    -      pd = (pd - (n.dot(pd)) * n).normalized();
    -      data.field.block(i, j * 3, 1, 3) = pd;
    -    }
    -  }
    -  Eigen::VectorXd curl;
    -  igl::polyvector_field_matchings(data.field, V, F, false, treat_as_symmetric, data.match_ab, data.match_ba, curl);
    -  
    -  // create seeds for tracing
    -  // --------------------------
    -  Eigen::VectorXi samples;
    -  int nsamples;
    -  
    -  nsamples = percentage * F.rows();
    -  Eigen::VectorXd r;
    -  r.setRandom(nsamples, 1);
    -  r = (1 + r.array()) / 2.;
    -  samples = (r.array() * F.rows()).cast();
    -  data.nsample = nsamples;
    -  
    -  Eigen::MatrixXd BC, BC_sample;
    -  igl::barycenter(V, F, BC);
    -  igl::slice(BC, samples, 1, BC_sample);
    -  
    -  // initialize state for tracing vector field
    -  
    -  state.start_point = BC_sample.replicate(degree,1);
    -  state.end_point = state.start_point;
    -  
    -  state.current_face = samples.replicate(1, degree);
    -  
    -  state.current_direction.setZero(nsamples, degree);
    -  for (int i = 0; i < nsamples; ++i)
    -    for (int j = 0; j < degree; ++j)
    -      state.current_direction(i, j) = j;
    -  
    -}
    -
    -IGL_INLINE void igl::streamlines_next(
    -                                      const Eigen::MatrixXd V,
    -                                      const Eigen::MatrixXi F,
    -                                      const StreamlineData & data,
    -                                      StreamlineState & state
    -                                      ){
    -  using namespace Eigen;
    -  using namespace std;
    -  
    -  int degree = data.degree;
    -  int nsample = data.nsample;
    -  
    -  state.start_point = state.end_point;
    -  
    -  for (int i = 0; i < degree; ++i)
    -  {
    -    for (int j = 0; j < nsample; ++j)
    -    {
    -      int f0 = state.current_face(j,i);
    -      if (f0 == -1) // reach boundary
    -        continue;
    -      int m0 = state.current_direction(j, i);
    -      
    -      // the starting point of the vector
    -      const Eigen::RowVector3d &p = state.start_point.row(j + nsample * i);
    -      // the direction where we are trying to go
    -      const Eigen::RowVector3d &r = data.field.block(f0, 3 * m0, 1, 3);
    -      
    -      
    -      // new state,
    -      int f1, m1;
    -      
    -      for (int k = 0; k < 3; ++k)
    -      {
    -        f1 = data.TT(f0, k);
    -        
    -        // edge vertices
    -        const Eigen::RowVector3d &q = V.row(F(f0, k));
    -        const Eigen::RowVector3d &qs = V.row(F(f0, (k + 1) % 3));
    -        // edge direction
    -        Eigen::RowVector3d s = qs - q;
    -        
    -        double u;
    -        double t;
    -        if (igl::segments_intersect(p, r, q, s, t, u))
    -        {
    -          // point on next face
    -          state.end_point.row(j + nsample * i) = p + t * r;
    -          state.current_face(j,i) = f1;
    -          
    -          // matching direction on next face
    -          int e1 = data.F2E(f0, k);
    -          if (data.E2F(e1, 0) == f0)
    -            m1 = data.match_ab(e1, m0);
    -          else
    -            m1 = data.match_ba(e1, m0);
    -          
    -          state.current_direction(j, i) = m1;
    -          break;
    -        }
    -        
    -      }
    -      
    -      
    -    }
    -  }
    -}
    diff --git a/include/igl/streamlines.h b/include/igl/streamlines.h
    deleted file mode 100644
    index fb86762b7..000000000
    --- a/include/igl/streamlines.h
    +++ /dev/null
    @@ -1,88 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2016 Francisca Gil Ureta 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_STREAMLINES_H
    -#define IGL_STREAMLINES_H
    -
    -#include "igl_inline.h"
    -
    -#include 
    -#include 
    -
    -namespace igl
    -{
    -    struct StreamlineData
    -    {
    -        Eigen::MatrixXi TT;         //  #F by #3 adjacent matrix
    -        Eigen::MatrixXi E;          //  #E by #3
    -        Eigen::MatrixXi F2E;        //  #Fx3, Stores the Triangle-Edge relation
    -        Eigen::MatrixXi E2F;        //  #Ex2, Stores the Edge-Triangle relation
    -        Eigen::MatrixXd field;      //  #F by 3N list of the 3D coordinates of the per-face vectors
    -                                    //      (N degrees stacked horizontally for each triangle)
    -        Eigen::MatrixXi match_ab;   //  #E by N matrix, describing for each edge the matching a->b, where a
    -                                    //      and b are the faces adjacent to the edge (i.e. vector #i of
    -                                    //      the vector set in a is matched to vector #mab[i] in b)
    -        Eigen::MatrixXi match_ba;   //  #E by N matrix, describing the inverse relation to match_ab
    -        int nsample;                //  #S, number of sample points
    -        int degree;                 //  #N, degrees of the vector field
    -    };
    -
    -    struct StreamlineState
    -    {
    -        Eigen::MatrixXd start_point;        //  #N*S by 3 starting points of segment (stacked vertically for each degree)
    -        Eigen::MatrixXd end_point;          //  #N*S by 3 endpoints points of segment (stacked vertically for each degree)
    -        Eigen::MatrixXi current_face;       //  #S by N face indices (stacked horizontally for each degree)
    -        Eigen::MatrixXi current_direction;  //  #S by N field direction indices (stacked horizontally for each degree)
    -
    -    };
    -
    -
    -    // Given a mesh and a field the function computes the /data/ necessary for tracing the field'
    -    // streamlines, and creates the initial /state/ for the tracing.
    -    // Inputs:
    -    //   V             #V by 3 list of mesh vertex coordinates
    -    //   F             #F by 3 list of mesh faces
    -    //   temp_field    #F by 3n list of the 3D coordinates of the per-face vectors
    -    //                    (n-degrees stacked horizontally for each triangle)
    -    //   treat_as_symmetric
    -    //              if true, adds n symmetry directions to the field (N = 2n). Else N = n
    -    //   percentage    [0-1] percentage of faces sampled
    -    // Outputs:
    -    //   data          struct containing topology information of the mesh and field
    -    //   state         struct containing the state of the tracing
    -    IGL_INLINE void streamlines_init(
    -            const Eigen::MatrixXd V,
    -            const Eigen::MatrixXi F,
    -            const Eigen::MatrixXd &temp_field,
    -            const bool treat_as_symmetric,
    -            StreamlineData &data,
    -            StreamlineState &state,
    -            double percentage = 0.3
    -
    -    );
    -
    -    // The function computes the next state for each point in the sample
    -    //   V             #V by 3 list of mesh vertex coordinates
    -    //   F             #F by 3 list of mesh faces
    -    //   data          struct containing topology information
    -    //   state         struct containing the state of the tracing
    -    IGL_INLINE void streamlines_next(
    -            const Eigen::MatrixXd V,
    -            const Eigen::MatrixXi F,
    -            const StreamlineData & data,
    -            StreamlineState & state
    -
    -    );
    -}
    -
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#  include "streamlines.cpp"
    -#endif
    -
    -#endif
    diff --git a/include/igl/triangle_fan.h b/include/igl/triangle_fan.h
    index 141752b24..b56a05bc7 100644
    --- a/include/igl/triangle_fan.h
    +++ b/include/igl/triangle_fan.h
    @@ -11,13 +11,13 @@
     #include 
     namespace igl
     {
    -  // Given a list of faces tesselate all of the "exterior" edges forming another
    +  // Given a list of faces tessellate all of the "exterior" edges forming another
       // list of 
       //
       // Inputs:
       //   E  #E by simplex_size-1  list of exterior edges (see exterior_edges.h)
       // Outputs:
    -  //   cap  #cap by simplex_size  list of "faces" tessleating the boundary edges
    +  //   cap  #cap by simplex_size  list of "faces" tessellating the boundary edges
       IGL_INLINE void triangle_fan(
         const Eigen::MatrixXi & E,
         Eigen::MatrixXi & cap);
    diff --git a/include/igl/triangle_triangle_adjacency.cpp b/include/igl/triangle_triangle_adjacency.cpp
    index a45382200..39653adeb 100644
    --- a/include/igl/triangle_triangle_adjacency.cpp
    +++ b/include/igl/triangle_triangle_adjacency.cpp
    @@ -219,4 +219,8 @@ template void igl::triangle_triangle_adjacency, Eigen::Matrix, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::triangle_triangle_adjacency, long, long>(Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&);
     template void igl::triangle_triangle_adjacency, int>(Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > >, std::allocator >, std::allocator > > > > >&);
    +#ifdef WIN32
    +template void igl::triangle_triangle_adjacency, __int64, __int64>(class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>>, class std::allocator>, class std::allocator>>>>> &, class std::vector>, class std::allocator>>>, class std::allocator>, class std::allocator>>>>> &);
    +template void igl::triangle_triangle_adjacency, class Eigen::Matrix, unsigned __int64, int, int>(class Eigen::PlainObjectBase> const &, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> const &, bool, class std::vector>, class std::allocator>>>, class std::allocator>, class std::allocator>>>>> &, class std::vector>, class std::allocator>>>, class std::allocator>, class std::allocator>>>>> &);
    +#endif
     #endif
    diff --git a/include/igl/unique.cpp b/include/igl/unique.cpp
    index ca2292408..9c5c7cb8d 100644
    --- a/include/igl/unique.cpp
    +++ b/include/igl/unique.cpp
    @@ -216,4 +216,7 @@ template void igl::unique(std::vector > c
     template void igl::unique(std::vector > const&, std::vector >&);
     template void igl::unique(std::vector > const&, std::vector >&, std::vector >&, std::vector >&);
     template void igl::unique(std::vector > const&, std::vector >&, std::vector >&, std::vector >&);
    +#ifdef WIN32
    +template void igl::unique,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +#endif
     #endif
    diff --git a/include/igl/unique_edge_map.cpp b/include/igl/unique_edge_map.cpp
    index 010cebc5e..a69be58a0 100644
    --- a/include/igl/unique_edge_map.cpp
    +++ b/include/igl/unique_edge_map.cpp
    @@ -17,7 +17,7 @@ template <
       typename DerivedEMAP,
       typename uE2EType>
     IGL_INLINE void igl::unique_edge_map(
    -  const Eigen::PlainObjectBase & F,
    +  const Eigen::MatrixBase & F,
       Eigen::PlainObjectBase & E,
       Eigen::PlainObjectBase & uE,
       Eigen::PlainObjectBase & EMAP,
    @@ -25,7 +25,7 @@ IGL_INLINE void igl::unique_edge_map(
     {
       using namespace Eigen;
       using namespace std;
    -  // All occurances of directed edges
    +  // All occurrences of directed edges
       oriented_facets(F,E);
       const size_t ne = E.rows();
       // This is 2x faster to create than a map from pairs to lists of edges and 5x
    @@ -46,22 +46,24 @@ IGL_INLINE void igl::unique_edge_map(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
     // generated by autoexplicit.sh
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
     // generated by autoexplicit.sh
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    -template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, int>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
    +template void igl::unique_edge_map, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix, unsigned long>(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, std::vector >, std::allocator > > >&);
     
     #ifdef WIN32
    -template void __cdecl igl::unique_edge_map, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, __int64>(class Eigen::PlainObjectBase > const &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class std::vector >, class std::allocator > > > &);
    -template void __cdecl igl::unique_edge_map,class Eigen::Matrix,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,__int64>(class Eigen::PlainObjectBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class std::vector >,class std::allocator > > > &);
    +template void igl::unique_edge_map, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, __int64>(class Eigen::MatrixBase > const &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class std::vector >, class std::allocator > > > &);
    +template void igl::unique_edge_map,class Eigen::Matrix,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,__int64>(class Eigen::MatrixBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class std::vector >,class std::allocator > > > &);
    +template void igl::unique_edge_map, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64>(class Eigen::MatrixBase> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class std::vector>, class std::allocator>>> &);
    +template void igl::unique_edge_map, class Eigen::Matrix, class Eigen::Matrix, class Eigen::Matrix, unsigned __int64>(class Eigen::MatrixBase> const &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class Eigen::PlainObjectBase> &, class std::vector>, class std::allocator>>> &);
     #endif
     
     #endif 
    diff --git a/include/igl/unique_edge_map.h b/include/igl/unique_edge_map.h
    index cb9508100..4915db66f 100644
    --- a/include/igl/unique_edge_map.h
    +++ b/include/igl/unique_edge_map.h
    @@ -30,7 +30,7 @@ namespace igl
         typename DerivedEMAP,
         typename uE2EType>
       IGL_INLINE void unique_edge_map(
    -    const Eigen::PlainObjectBase & F,
    +    const Eigen::MatrixBase & F,
         Eigen::PlainObjectBase & E,
         Eigen::PlainObjectBase & uE,
         Eigen::PlainObjectBase & EMAP,
    diff --git a/include/igl/unique_rows.cpp b/include/igl/unique_rows.cpp
    index 46ef2d5c5..1973a80c2 100644
    --- a/include/igl/unique_rows.cpp
    +++ b/include/igl/unique_rows.cpp
    @@ -74,7 +74,17 @@ IGL_INLINE void igl::unique_rows(
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +// generated by autoexplicit.sh
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    +template void igl::unique_rows, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::DenseBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::unique_rows,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix >(Eigen::DenseBase > const&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&);
     template void igl::unique_rows,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix >(Eigen::DenseBase > const&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&);
     template void igl::unique_rows,Eigen::Matrix,Eigen::Matrix,Eigen::Matrix >(Eigen::DenseBase > const&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&,Eigen::PlainObjectBase >&);
    @@ -94,5 +104,8 @@ template void igl::unique_rows,Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> >(class Eigen::DenseBase > const &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &);
     template void igl::unique_rows,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::unique_rows,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::unique_rows,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
    +template void igl::unique_rows,class Eigen::Matrix,class Eigen::Matrix<__int64,-1,1,0,-1,1>,class Eigen::Matrix<__int64,-1,1,0,-1,1> >(class Eigen::DenseBase > const &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &,class Eigen::PlainObjectBase > &);
     #endif
     #endif
    diff --git a/include/igl/unique_simplices.cpp b/include/igl/unique_simplices.cpp
    index 3128cc1c0..463459866 100644
    --- a/include/igl/unique_simplices.cpp
    +++ b/include/igl/unique_simplices.cpp
    @@ -59,6 +59,6 @@ template void igl::unique_simplices, Eige
     template void igl::unique_simplices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::unique_simplices, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #ifdef WIN32
    -template void __cdecl igl::unique_simplices, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> >(class Eigen::MatrixBase > const &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &);
    +template void igl::unique_simplices, class Eigen::Matrix, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1>, class Eigen::Matrix<__int64, -1, 1, 0, -1, 1> >(class Eigen::MatrixBase > const &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &, class Eigen::PlainObjectBase > &);
     #endif
     #endif
    diff --git a/include/igl/vertex_triangle_adjacency.cpp b/include/igl/vertex_triangle_adjacency.cpp
    index 25cf74efb..e276748ed 100644
    --- a/include/igl/vertex_triangle_adjacency.cpp
    +++ b/include/igl/vertex_triangle_adjacency.cpp
    @@ -54,4 +54,8 @@ template void igl::vertex_triangle_adjacency, long, long>(Eigen::Matrix::Scalar, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&);
     template void igl::vertex_triangle_adjacency, unsigned long, unsigned long>(Eigen::Matrix::Scalar, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&);
     template void igl::vertex_triangle_adjacency, Eigen::Matrix, int>(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, std::vector >, std::allocator > > >&, std::vector >, std::allocator > > >&);
    +#ifdef WIN32
    +template void igl::vertex_triangle_adjacency, unsigned __int64, unsigned __int64>(int, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> &, class std::vector>, class std::allocator>>> &);
    +template void igl::vertex_triangle_adjacency, unsigned __int64, unsigned __int64>(int, class Eigen::PlainObjectBase> const &, class std::vector>, class std::allocator>>> &, class std::vector>, class std::allocator>>> &);
    +#endif
     #endif
    diff --git a/include/igl/viewer/OpenGL_shader.cpp b/include/igl/viewer/OpenGL_shader.cpp
    deleted file mode 100644
    index a898d5d3f..000000000
    --- a/include/igl/viewer/OpenGL_shader.cpp
    +++ /dev/null
    @@ -1,173 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Wenzel Jacob 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "OpenGL_shader.h"
    -
    -#include 
    -#include 
    -
    -IGL_INLINE bool igl::viewer::OpenGL_shader::init_from_files(
    -  const std::string &vertex_shader_filename,
    -  const std::string &fragment_shader_filename,
    -  const std::string &fragment_data_name,
    -  const std::string &geometry_shader_filename,
    -  int geometry_shader_max_vertices)
    -{
    -  auto file_to_string = [](const std::string &filename)->std::string
    -  {
    -    std::ifstream t(filename);
    -    return std::string((std::istreambuf_iterator(t)),
    -                        std::istreambuf_iterator());
    -  };
    -
    -  return init(
    -    file_to_string(vertex_shader_filename),
    -    file_to_string(fragment_shader_filename),
    -    fragment_data_name,
    -    file_to_string(geometry_shader_filename),
    -    geometry_shader_max_vertices
    - );
    -}
    -
    -IGL_INLINE bool igl::viewer::OpenGL_shader::init(
    -  const std::string &vertex_shader_string,
    -  const std::string &fragment_shader_string,
    -  const std::string &fragment_data_name,
    -  const std::string &geometry_shader_string,
    -  int geometry_shader_max_vertices)
    -{
    -  using namespace std;
    -  vertex_shader = create_shader_helper(GL_VERTEX_SHADER, vertex_shader_string);
    -  geometry_shader = create_shader_helper(GL_GEOMETRY_SHADER, geometry_shader_string);
    -  fragment_shader = create_shader_helper(GL_FRAGMENT_SHADER, fragment_shader_string);
    -
    -  if (!vertex_shader || !fragment_shader)
    -    return false;
    -
    -  program_shader = glCreateProgram();
    -
    -  glAttachShader(program_shader, vertex_shader);
    -  glAttachShader(program_shader, fragment_shader);
    -
    -  if (geometry_shader)
    -  {
    -    glAttachShader(program_shader, geometry_shader);
    -
    -    /* This covers only basic cases and may need to be modified */
    -    glProgramParameteri(program_shader, GL_GEOMETRY_INPUT_TYPE, GL_TRIANGLES);
    -    glProgramParameteri(program_shader, GL_GEOMETRY_OUTPUT_TYPE, GL_TRIANGLES);
    -    glProgramParameteri(program_shader, GL_GEOMETRY_VERTICES_OUT, geometry_shader_max_vertices);
    -  }
    -
    -  glBindFragDataLocation(program_shader, 0, fragment_data_name.c_str());
    -  glLinkProgram(program_shader);
    -
    -  GLint status;
    -  glGetProgramiv(program_shader, GL_LINK_STATUS, &status);
    -
    -  if (status != GL_TRUE)
    -  {
    -    char buffer[512];
    -    glGetProgramInfoLog(program_shader, 512, NULL, buffer);
    -    cerr << "Linker error: " << endl << buffer << endl;
    -    program_shader = 0;
    -    return false;
    -  }
    -
    -  return true;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_shader::bind()
    -{
    -  glUseProgram(program_shader);
    -}
    -
    -IGL_INLINE GLint igl::viewer::OpenGL_shader::attrib(const std::string &name) const
    -{
    -  return glGetAttribLocation(program_shader, name.c_str());
    -}
    -
    -IGL_INLINE GLint igl::viewer::OpenGL_shader::uniform(const std::string &name) const
    -{
    -  return glGetUniformLocation(program_shader, name.c_str());
    -}
    -
    -IGL_INLINE GLint igl::viewer::OpenGL_shader::bindVertexAttribArray(
    -  const std::string &name, GLuint bufferID, const Eigen::MatrixXf &M, bool refresh) const
    -{
    -  GLint id = attrib(name);
    -  if (id < 0)
    -    return id;
    -  if (M.size() == 0)
    -  {
    -    glDisableVertexAttribArray(id);
    -    return id;
    -  }
    -  glBindBuffer(GL_ARRAY_BUFFER, bufferID);
    -  if (refresh)
    -    glBufferData(GL_ARRAY_BUFFER, sizeof(float)*M.size(), M.data(), GL_DYNAMIC_DRAW);
    -  glVertexAttribPointer(id, M.rows(), GL_FLOAT, GL_FALSE, 0, 0);
    -  glEnableVertexAttribArray(id);
    -  return id;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_shader::free()
    -{
    -  if (program_shader)
    -  {
    -    glDeleteProgram(program_shader);
    -    program_shader = 0;
    -  }
    -  if (vertex_shader)
    -  {
    -    glDeleteShader(vertex_shader);
    -    vertex_shader = 0;
    -  }
    -  if (fragment_shader)
    -  {
    -    glDeleteShader(fragment_shader);
    -    fragment_shader = 0;
    -  }
    -  if (geometry_shader)
    -  {
    -    glDeleteShader(geometry_shader);
    -    geometry_shader = 0;
    -  }
    -}
    -
    -IGL_INLINE GLuint igl::viewer::OpenGL_shader::create_shader_helper(GLint type, const std::string &shader_string)
    -{
    -  using namespace std;
    -  if (shader_string.empty())
    -    return (GLuint) 0;
    -
    -  GLuint id = glCreateShader(type);
    -  const char *shader_string_const = shader_string.c_str();
    -  glShaderSource(id, 1, &shader_string_const, NULL);
    -  glCompileShader(id);
    -
    -  GLint status;
    -  glGetShaderiv(id, GL_COMPILE_STATUS, &status);
    -
    -  if (status != GL_TRUE)
    -  {
    -    char buffer[512];
    -    if (type == GL_VERTEX_SHADER)
    -      cerr << "Vertex shader:" << endl;
    -    else if (type == GL_FRAGMENT_SHADER)
    -      cerr << "Fragment shader:" << endl;
    -    else if (type == GL_GEOMETRY_SHADER)
    -      cerr << "Geometry shader:" << endl;
    -    cerr << shader_string << endl << endl;
    -    glGetShaderInfoLog(id, 512, NULL, buffer);
    -    cerr << "Error: " << endl << buffer << endl;
    -    return (GLuint) 0;
    -  }
    -
    -  return id;
    -}
    diff --git a/include/igl/viewer/OpenGL_shader.h b/include/igl/viewer/OpenGL_shader.h
    deleted file mode 100644
    index 75cddb5c5..000000000
    --- a/include/igl/viewer/OpenGL_shader.h
    +++ /dev/null
    @@ -1,98 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Wenzel Jacob 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_VIEWER_OPENGL_SHADER_H
    -#define IGL_VIEWER_OPENGL_SHADER_H
    -
    -#include 
    -#include 
    -#include 
    -
    -#ifdef _WIN32
    -#  include 
    -#  undef max
    -#  undef min
    -#  undef DrawText
    -#endif
    -
    -#ifndef __APPLE__
    -#  define GLEW_STATIC
    -#  include 
    -#endif
    -
    -#ifdef __APPLE__
    -#   include 
    -#   define __gl_h_ /* Prevent inclusion of the old gl.h */
    -#else
    -#   include 
    -#endif
    -
    -namespace igl
    -{
    -namespace viewer
    -{
    -
    -// This class wraps an OpenGL program composed of three shaders
    -// TODO: write documentation
    -
    -class OpenGL_shader
    -{
    -public:
    -  typedef unsigned int GLuint;
    -  typedef int GLint;
    -
    -  GLuint vertex_shader;
    -  GLuint fragment_shader;
    -  GLuint geometry_shader;
    -  GLuint program_shader;
    -
    -  IGL_INLINE OpenGL_shader() : vertex_shader(0), fragment_shader(0),
    -    geometry_shader(0), program_shader(0) { }
    -
    -  // Create a new shader from the specified source strings
    -  IGL_INLINE bool init(const std::string &vertex_shader_string,
    -    const std::string &fragment_shader_string,
    -    const std::string &fragment_data_name,
    -    const std::string &geometry_shader_string = "",
    -    int geometry_shader_max_vertices = 3);
    -
    -  // Create a new shader from the specified files on disk
    -  IGL_INLINE bool init_from_files(const std::string &vertex_shader_filename,
    -    const std::string &fragment_shader_filename,
    -    const std::string &fragment_data_name,
    -    const std::string &geometry_shader_filename = "",
    -    int geometry_shader_max_vertices = 3);
    -
    -  // Select this shader for subsequent draw calls
    -  IGL_INLINE void bind();
    -
    -  // Release all OpenGL objects
    -  IGL_INLINE void free();
    -
    -  // Return the OpenGL handle of a named shader attribute (-1 if it does not exist)
    -  IGL_INLINE GLint attrib(const std::string &name) const;
    -
    -  // Return the OpenGL handle of a uniform attribute (-1 if it does not exist)
    -  IGL_INLINE GLint uniform(const std::string &name) const;
    -
    -  // Bind a per-vertex array attribute and refresh its contents from an Eigen amtrix
    -  IGL_INLINE GLint bindVertexAttribArray(const std::string &name, GLuint bufferID,
    -    const Eigen::MatrixXf &M, bool refresh) const;
    -
    -  IGL_INLINE GLuint create_shader_helper(GLint type, const std::string &shader_string);
    -
    -};
    -
    -}
    -}
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#  include "OpenGL_shader.cpp"
    -#endif
    -
    -#endif
    diff --git a/include/igl/viewer/OpenGL_state.cpp b/include/igl/viewer/OpenGL_state.cpp
    deleted file mode 100644
    index 4af1e9ee7..000000000
    --- a/include/igl/viewer/OpenGL_state.cpp
    +++ /dev/null
    @@ -1,488 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Daniele Panozzo 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "OpenGL_state.h"
    -#include "ViewerData.h"
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::init_buffers()
    -{
    -  // Mesh: Vertex Array Object & Buffer objects
    -  glGenVertexArrays(1, &vao_mesh);
    -  glBindVertexArray(vao_mesh);
    -  glGenBuffers(1, &vbo_V);
    -  glGenBuffers(1, &vbo_V_normals);
    -  glGenBuffers(1, &vbo_V_ambient);
    -  glGenBuffers(1, &vbo_V_diffuse);
    -  glGenBuffers(1, &vbo_V_specular);
    -  glGenBuffers(1, &vbo_V_uv);
    -  glGenBuffers(1, &vbo_F);
    -  glGenTextures(1, &vbo_tex);
    -
    -  // Line overlay
    -  glGenVertexArrays(1, &vao_overlay_lines);
    -  glBindVertexArray(vao_overlay_lines);
    -  glGenBuffers(1, &vbo_lines_F);
    -  glGenBuffers(1, &vbo_lines_V);
    -  glGenBuffers(1, &vbo_lines_V_colors);
    -
    -  // Point overlay
    -  glGenVertexArrays(1, &vao_overlay_points);
    -  glBindVertexArray(vao_overlay_points);
    -  glGenBuffers(1, &vbo_points_F);
    -  glGenBuffers(1, &vbo_points_V);
    -  glGenBuffers(1, &vbo_points_V_colors);
    -
    -  dirty = ViewerData::DIRTY_ALL;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::free_buffers()
    -{
    -  glDeleteVertexArrays(1, &vao_mesh);
    -  glDeleteVertexArrays(1, &vao_overlay_lines);
    -  glDeleteVertexArrays(1, &vao_overlay_points);
    -
    -  glDeleteBuffers(1, &vbo_V);
    -  glDeleteBuffers(1, &vbo_V_normals);
    -  glDeleteBuffers(1, &vbo_V_ambient);
    -  glDeleteBuffers(1, &vbo_V_diffuse);
    -  glDeleteBuffers(1, &vbo_V_specular);
    -  glDeleteBuffers(1, &vbo_V_uv);
    -  glDeleteBuffers(1, &vbo_F);
    -  glDeleteBuffers(1, &vbo_lines_F);
    -  glDeleteBuffers(1, &vbo_lines_V);
    -  glDeleteBuffers(1, &vbo_lines_V_colors);
    -  glDeleteBuffers(1, &vbo_points_F);
    -  glDeleteBuffers(1, &vbo_points_V);
    -  glDeleteBuffers(1, &vbo_points_V_colors);
    -
    -  glDeleteTextures(1, &vbo_tex);
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::set_data(const igl::viewer::ViewerData &data, bool invert_normals)
    -{
    -  bool per_corner_uv = (data.F_uv.rows() == data.F.rows());
    -  bool per_corner_normals = (data.F_normals.rows() == 3 * data.F.rows());
    -
    -  dirty |= data.dirty;
    -
    -  if (!data.face_based)
    -  {
    -    if (!per_corner_uv)
    -    {
    -      // Vertex positions
    -      if (dirty & ViewerData::DIRTY_POSITION)
    -        V_vbo = (data.V.transpose()).cast();
    -
    -      // Vertex normals
    -      if (dirty & ViewerData::DIRTY_NORMAL)
    -      {
    -        V_normals_vbo = (data.V_normals.transpose()).cast();
    -        if (invert_normals)
    -          V_normals_vbo = -V_normals_vbo;
    -      }
    -
    -      // Per-vertex material settings
    -      if (dirty & ViewerData::DIRTY_AMBIENT)
    -        V_ambient_vbo = (data.V_material_ambient.transpose()).cast();
    -      if (dirty & ViewerData::DIRTY_DIFFUSE)
    -        V_diffuse_vbo = (data.V_material_diffuse.transpose()).cast();
    -      if (dirty & ViewerData::DIRTY_SPECULAR)
    -        V_specular_vbo = (data.V_material_specular.transpose()).cast();
    -
    -      // Face indices
    -      if (dirty & ViewerData::DIRTY_FACE)
    -        F_vbo = (data.F.transpose()).cast();
    -
    -      // Texture coordinates
    -      if (dirty & ViewerData::DIRTY_UV)
    -        V_uv_vbo = (data.V_uv.transpose()).cast();
    -    }
    -    else
    -    {
    -      // Per vertex properties with per corner UVs
    -      if (dirty & ViewerData::DIRTY_POSITION)
    -      {
    -        V_vbo.resize(3,data.F.rows()*3);
    -        for (unsigned i=0; i();
    -      }
    -
    -      if (dirty & ViewerData::DIRTY_AMBIENT)
    -      {
    -        V_ambient_vbo.resize(3,data.F.rows()*3);
    -        for (unsigned i=0; i();
    -      }
    -
    -      if (dirty & ViewerData::DIRTY_DIFFUSE)
    -      {
    -        V_diffuse_vbo.resize(3,data.F.rows()*3);
    -        for (unsigned i=0; i();
    -      }
    -
    -      if (dirty & ViewerData::DIRTY_SPECULAR)
    -      {
    -        V_specular_vbo.resize(3,data.F.rows()*3);
    -        for (unsigned i=0; i();
    -      }
    -
    -      if (dirty & ViewerData::DIRTY_NORMAL)
    -      {
    -        V_normals_vbo.resize(3,data.F.rows()*3);
    -        for (unsigned i=0; i();
    -
    -        if (invert_normals)
    -          V_normals_vbo = -V_normals_vbo;
    -      }
    -
    -      if (dirty & ViewerData::DIRTY_FACE)
    -      {
    -        F_vbo.resize(3,data.F.rows());
    -        for (unsigned i=0; i();
    -      }
    -    }
    -  }
    -  else
    -  {
    -    if (dirty & ViewerData::DIRTY_POSITION)
    -    {
    -      V_vbo.resize(3,data.F.rows()*3);
    -      for (unsigned i=0; i();
    -    }
    -
    -    if (dirty & ViewerData::DIRTY_AMBIENT)
    -    {
    -      V_ambient_vbo.resize(4,data.F.rows()*3);
    -      for (unsigned i=0; i();
    -    }
    -
    -    if (dirty & ViewerData::DIRTY_DIFFUSE)
    -    {
    -      V_diffuse_vbo.resize(4,data.F.rows()*3);
    -      for (unsigned i=0; i();
    -    }
    -
    -    if (dirty & ViewerData::DIRTY_SPECULAR)
    -    {
    -      V_specular_vbo.resize(4,data.F.rows()*3);
    -      for (unsigned i=0; i();
    -    }
    -
    -    if (dirty & ViewerData::DIRTY_NORMAL)
    -    {
    -      V_normals_vbo.resize(3,data.F.rows()*3);
    -      for (unsigned i=0; i() :
    -               data.F_normals.row(i).transpose().cast();
    -
    -      if (invert_normals)
    -        V_normals_vbo = -V_normals_vbo;
    -    }
    -
    -    if (dirty & ViewerData::DIRTY_FACE)
    -    {
    -      F_vbo.resize(3,data.F.rows());
    -      for (unsigned i=0; i();
    -    }
    -  }
    -
    -  if (dirty & ViewerData::DIRTY_TEXTURE)
    -  {
    -    tex_u = data.texture_R.rows();
    -    tex_v = data.texture_R.cols();
    -    tex.resize(data.texture_R.size()*4);
    -    for (unsigned i=0;i(i, 0).transpose().cast();
    -      lines_V_vbo.col(2*i+1) = data.lines.block<1, 3>(i, 3).transpose().cast();
    -      lines_V_colors_vbo.col(2*i+0) = data.lines.block<1, 3>(i, 6).transpose().cast();
    -      lines_V_colors_vbo.col(2*i+1) = data.lines.block<1, 3>(i, 6).transpose().cast();
    -      lines_F_vbo(2*i+0) = 2*i+0;
    -      lines_F_vbo(2*i+1) = 2*i+1;
    -    }
    -  }
    -
    -  if (dirty & ViewerData::DIRTY_OVERLAY_POINTS)
    -  {
    -    points_V_vbo.resize(3, data.points.rows());
    -    points_V_colors_vbo.resize(3, data.points.rows());
    -    points_F_vbo.resize(1, data.points.rows());
    -    for (unsigned i=0; i(i, 0).transpose().cast();
    -      points_V_colors_vbo.col(i) = data.points.block<1, 3>(i, 3).transpose().cast();
    -      points_F_vbo(i) = i;
    -    }
    -  }
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::bind_mesh()
    -{
    -  glBindVertexArray(vao_mesh);
    -  shader_mesh.bind();
    -  shader_mesh.bindVertexAttribArray("position", vbo_V, V_vbo, dirty & ViewerData::DIRTY_POSITION);
    -  shader_mesh.bindVertexAttribArray("normal", vbo_V_normals, V_normals_vbo, dirty & ViewerData::DIRTY_NORMAL);
    -  shader_mesh.bindVertexAttribArray("Ka", vbo_V_ambient, V_ambient_vbo, dirty & ViewerData::DIRTY_AMBIENT);
    -  shader_mesh.bindVertexAttribArray("Kd", vbo_V_diffuse, V_diffuse_vbo, dirty & ViewerData::DIRTY_DIFFUSE);
    -  shader_mesh.bindVertexAttribArray("Ks", vbo_V_specular, V_specular_vbo, dirty & ViewerData::DIRTY_SPECULAR);
    -  shader_mesh.bindVertexAttribArray("texcoord", vbo_V_uv, V_uv_vbo, dirty & ViewerData::DIRTY_UV);
    -
    -  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_F);
    -  if (dirty & ViewerData::DIRTY_FACE)
    -    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*F_vbo.size(), F_vbo.data(), GL_DYNAMIC_DRAW);
    -
    -  glActiveTexture(GL_TEXTURE0);
    -  glBindTexture(GL_TEXTURE_2D, vbo_tex);
    -  if (dirty & ViewerData::DIRTY_TEXTURE)
    -  {
    -    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    -    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    -    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    -    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    -    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    -    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex_u, tex_v, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex.data());
    -  }
    -  glUniform1i(shader_mesh.uniform("tex"), 0);
    -  dirty &= ~ViewerData::DIRTY_MESH;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::bind_overlay_lines()
    -{
    -  bool is_dirty = dirty & ViewerData::DIRTY_OVERLAY_LINES;
    -
    -  glBindVertexArray(vao_overlay_lines);
    -  shader_overlay_lines.bind();
    -  shader_overlay_lines.bindVertexAttribArray("position", vbo_lines_V, lines_V_vbo, is_dirty);
    -  shader_overlay_lines.bindVertexAttribArray("color", vbo_lines_V_colors, lines_V_colors_vbo, is_dirty);
    -
    -  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_lines_F);
    -  if (is_dirty)
    -    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*lines_F_vbo.size(), lines_F_vbo.data(), GL_DYNAMIC_DRAW);
    -
    -  dirty &= ~ViewerData::DIRTY_OVERLAY_LINES;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::bind_overlay_points()
    -{
    -  bool is_dirty = dirty & ViewerData::DIRTY_OVERLAY_POINTS;
    -
    -  glBindVertexArray(vao_overlay_points);
    -  shader_overlay_points.bind();
    -  shader_overlay_points.bindVertexAttribArray("position", vbo_points_V, points_V_vbo, is_dirty);
    -  shader_overlay_points.bindVertexAttribArray("color", vbo_points_V_colors, points_V_colors_vbo, is_dirty);
    -
    -  glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_points_F);
    -  if (is_dirty)
    -    glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned)*points_F_vbo.size(), points_F_vbo.data(), GL_DYNAMIC_DRAW);
    -
    -  dirty &= ~ViewerData::DIRTY_OVERLAY_POINTS;
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::draw_mesh(bool solid)
    -{
    -  glPolygonMode(GL_FRONT_AND_BACK, solid ? GL_FILL : GL_LINE);
    -
    -  /* Avoid Z-buffer fighting between filled triangles & wireframe lines */
    -  if (solid)
    -  {
    -    glEnable(GL_POLYGON_OFFSET_FILL);
    -    glPolygonOffset(1.0, 1.0);
    -  }
    -  glDrawElements(GL_TRIANGLES, 3*F_vbo.cols(), GL_UNSIGNED_INT, 0);
    -
    -  glDisable(GL_POLYGON_OFFSET_FILL);
    -  glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::draw_overlay_lines()
    -{
    -  glDrawElements(GL_LINES, lines_F_vbo.cols(), GL_UNSIGNED_INT, 0);
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::draw_overlay_points()
    -{
    -  glDrawElements(GL_POINTS, points_F_vbo.cols(), GL_UNSIGNED_INT, 0);
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::init()
    -{
    -  std::string mesh_vertex_shader_string =
    -  "#version 150\n"
    -  "uniform mat4 model;"
    -  "uniform mat4 view;"
    -  "uniform mat4 proj;"
    -  "in vec3 position;"
    -  "in vec3 normal;"
    -  "out vec3 position_eye;"
    -  "out vec3 normal_eye;"
    -  "in vec4 Ka;"
    -  "in vec4 Kd;"
    -  "in vec4 Ks;"
    -  "in vec2 texcoord;"
    -  "out vec2 texcoordi;"
    -  "out vec4 Kai;"
    -  "out vec4 Kdi;"
    -  "out vec4 Ksi;"
    -
    -  "void main()"
    -  "{"
    -  "  position_eye = vec3 (view * model * vec4 (position, 1.0));"
    -  "  normal_eye = vec3 (view * model * vec4 (normal, 0.0));"
    -  "  normal_eye = normalize(normal_eye);"
    -  "  gl_Position = proj * vec4 (position_eye, 1.0);" //proj * view * model * vec4(position, 1.0);"
    -  "  Kai = Ka;"
    -  "  Kdi = Kd;"
    -  "  Ksi = Ks;"
    -  "  texcoordi = texcoord;"
    -  "}";
    -
    -  std::string mesh_fragment_shader_string =
    -  "#version 150\n"
    -  "uniform mat4 model;"
    -  "uniform mat4 view;"
    -  "uniform mat4 proj;"
    -  "uniform vec4 fixed_color;"
    -  "in vec3 position_eye;"
    -  "in vec3 normal_eye;"
    -  "uniform vec3 light_position_world;"
    -  "vec3 Ls = vec3 (1, 1, 1);"
    -  "vec3 Ld = vec3 (1, 1, 1);"
    -  "vec3 La = vec3 (1, 1, 1);"
    -  "in vec4 Ksi;"
    -  "in vec4 Kdi;"
    -  "in vec4 Kai;"
    -  "in vec2 texcoordi;"
    -  "uniform sampler2D tex;"
    -  "uniform float specular_exponent;"
    -  "uniform float lighting_factor;"
    -  "uniform float texture_factor;"
    -  "out vec4 outColor;"
    -  "void main()"
    -  "{"
    -  "vec3 Ia = La * vec3(Kai);"    // ambient intensity
    -
    -  "vec3 light_position_eye = vec3 (view * vec4 (light_position_world, 1.0));"
    -  "vec3 vector_to_light_eye = light_position_eye - position_eye;"
    -  "vec3 direction_to_light_eye = normalize (vector_to_light_eye);"
    -  "float dot_prod = dot (direction_to_light_eye, normal_eye);"
    -  "float clamped_dot_prod = max (dot_prod, 0.0);"
    -  "vec3 Id = Ld * vec3(Kdi) * clamped_dot_prod;"    // Diffuse intensity
    -
    -  "vec3 reflection_eye = reflect (-direction_to_light_eye, normal_eye);"
    -  "vec3 surface_to_viewer_eye = normalize (-position_eye);"
    -  "float dot_prod_specular = dot (reflection_eye, surface_to_viewer_eye);"
    -  "dot_prod_specular = float(abs(dot_prod)==dot_prod) * max (dot_prod_specular, 0.0);"
    -  "float specular_factor = pow (dot_prod_specular, specular_exponent);"
    -  "vec3 Is = Ls * vec3(Ksi) * specular_factor;"    // specular intensity
    -  "vec4 color = vec4(lighting_factor * (Is + Id) + Ia + (1.0-lighting_factor) * vec3(Kdi),(Kai.a+Ksi.a+Kdi.a)/3);"
    -  "outColor = mix(vec4(1,1,1,1), texture(tex, texcoordi), texture_factor) * color;"
    -  "if (fixed_color != vec4(0.0)) outColor = fixed_color;"
    -  "}";
    -
    -  std::string overlay_vertex_shader_string =
    -  "#version 150\n"
    -  "uniform mat4 model;"
    -  "uniform mat4 view;"
    -  "uniform mat4 proj;"
    -  "in vec3 position;"
    -  "in vec3 color;"
    -  "out vec3 color_frag;"
    -
    -  "void main()"
    -  "{"
    -  "  gl_Position = proj * view * model * vec4 (position, 1.0);"
    -  "  color_frag = color;"
    -  "}";
    -
    -  std::string overlay_fragment_shader_string =
    -  "#version 150\n"
    -  "in vec3 color_frag;"
    -  "out vec4 outColor;"
    -  "void main()"
    -  "{"
    -  "  outColor = vec4(color_frag, 1.0);"
    -  "}";
    -
    -  std::string overlay_point_fragment_shader_string =
    -  "#version 150\n"
    -  "in vec3 color_frag;"
    -  "out vec4 outColor;"
    -  "void main()"
    -  "{"
    -  "  if (length(gl_PointCoord - vec2(0.5)) > 0.5)"
    -  "    discard;"
    -  "  outColor = vec4(color_frag, 1.0);"
    -  "}";
    -
    -  init_buffers();
    -  shader_mesh.init(mesh_vertex_shader_string,
    -      mesh_fragment_shader_string, "outColor");
    -  shader_overlay_lines.init(overlay_vertex_shader_string,
    -      overlay_fragment_shader_string, "outColor");
    -  shader_overlay_points.init(overlay_vertex_shader_string,
    -      overlay_point_fragment_shader_string, "outColor");
    -}
    -
    -IGL_INLINE void igl::viewer::OpenGL_state::free()
    -{
    -  shader_mesh.free();
    -  shader_overlay_lines.free();
    -  shader_overlay_points.free();
    -  free_buffers();
    -}
    diff --git a/include/igl/viewer/TODOs.txt b/include/igl/viewer/TODOs.txt
    deleted file mode 100644
    index f74861f3a..000000000
    --- a/include/igl/viewer/TODOs.txt
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -- `align_and_center_object` continues to zoom out on repeated calls
    -- trackball_angle should be a quaternion
    -- data.lines, data.points should not concatenate colors with coordinates
    -- snap to canonical recenters origin but trackball does not
    -- rewrite in libigl style
    -- separate various class into their own .h/.cpp pairs
    -- remove use of double underscores (http://stackoverflow.com/a/224420/148668)
    -- document inputs and outputs to all functions
    -- document all member fields
    -- document all classes
    -- light direction is backwards
    -- remove global variables (not threadsafe)
    -- encapsulate (in igl namespace) and move static/global functions, use lambdas?
    -- preface macros with "IGL_"
    -- trackball mouseup captured by tweakbar
    -- zoom with pan rather than scaling
    -- refresh draw while resizing
    -- use constructor initializer list rather than complicated constructor
    -- support per-element alpha values
    -+ snap to canonical view key shortcut is not working
    -+ resize TwBar with window
    -+ trackball should be able to drag over TwBar
    -+ don't zoom on horizontal scale
    -+ remove global `using namespace std`
    -+ remove `#define IGL_HEADER_ONLY`
    -+ guard `#undef max`
    -+ fix all -Wsign-compare
    -+ missing `#include `
    -+ missing `#include `
    -+ fix all -Wunused-but-set-variable
    -+ makefile for libiglviewer.a
    -+ Viewer.h should include Viewer.cpp
    -+ depth test for overlays cannot be disabled
    diff --git a/include/igl/viewer/TextRenderer.cpp b/include/igl/viewer/TextRenderer.cpp
    deleted file mode 100644
    index e3010b542..000000000
    --- a/include/igl/viewer/TextRenderer.cpp
    +++ /dev/null
    @@ -1,94 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Wenzel Jacob 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -#include "TextRenderer.h"
    -#include "TextRenderer_fonts.h"
    -#include 
    -
    -#include 
    -#include 
    -
    -#include 
    -
    -#define NANOVG_GL3
    -#include 
    -
    -
    -IGL_INLINE igl::viewer::TextRenderer::TextRenderer(): ctx(nullptr) {}
    -
    -IGL_INLINE int igl::viewer::TextRenderer::Init()
    -{
    -  using namespace std;
    -  #ifdef NDEBUG
    -    ctx = nvgCreateGL3(NVG_STENCIL_STROKES | NVG_ANTIALIAS);
    -  #else
    -    ctx = nvgCreateGL3(NVG_STENCIL_STROKES | NVG_ANTIALIAS | NVG_DEBUG);
    -  #endif
    -
    -  nvgCreateFontMem(ctx, "sans", igl_roboto_regular_ttf,
    -                             igl_roboto_regular_ttf_size, 0);
    -
    -  return 0;
    -}
    -
    -IGL_INLINE int igl::viewer::TextRenderer::Shut()
    -{
    -  using namespace std;
    -  if(ctx)
    -    nvgDeleteGL3(ctx);
    -  return 0;
    -}
    -
    -IGL_INLINE void igl::viewer::TextRenderer::BeginDraw(
    -  const Eigen::Matrix4f &view,
    -  const Eigen::Matrix4f &proj,
    -  const Eigen::Vector4f &_viewport,
    -  float _object_scale)
    -{
    -  using namespace std;
    -  viewport = _viewport;
    -  proj_matrix = proj;
    -  view_matrix = view;
    -  object_scale = _object_scale;
    -
    -  Eigen::Vector2i mFBSize;
    -  Eigen::Vector2i mSize;
    -
    -  GLFWwindow* mGLFWWindow = glfwGetCurrentContext();
    -  glfwGetFramebufferSize(mGLFWWindow,&mFBSize[0],&mFBSize[1]);
    -  glfwGetWindowSize(mGLFWWindow,&mSize[0],&mSize[1]);
    -  glViewport(0,0,mFBSize[0],mFBSize[1]);
    -
    -  glClear(GL_STENCIL_BUFFER_BIT);
    -
    -  /* Calculate pixel ratio for hi-dpi devices. */
    -  mPixelRatio = (float)mFBSize[0] / (float)mSize[0];
    -  nvgBeginFrame(ctx,mSize[0],mSize[1],mPixelRatio);
    -}
    -
    -IGL_INLINE void igl::viewer::TextRenderer::EndDraw()
    -{
    -  using namespace std;
    -  nvgEndFrame(ctx);
    -}
    -
    -IGL_INLINE void igl::viewer::TextRenderer::DrawText(
    -  Eigen::Vector3d pos, Eigen::Vector3d normal, const std::string &text)
    -{
    -  using namespace std;
    -  pos += normal * 0.005f * object_scale;
    -  Eigen::Vector3f coord = igl::project(Eigen::Vector3f(pos(0), pos(1), pos(2)),
    -      view_matrix, proj_matrix, viewport);
    -
    -  nvgFontSize(ctx, 16*mPixelRatio);
    -  nvgFontFace(ctx, "sans");
    -  nvgTextAlign(ctx, NVG_ALIGN_LEFT | NVG_ALIGN_MIDDLE);
    -  nvgFillColor(ctx, nvgRGBA(10,10,250,255));
    -  nvgText(ctx, coord[0]/mPixelRatio, (viewport[3] - coord[1])/mPixelRatio, text.c_str(), NULL);
    -}
    -#endif
    diff --git a/include/igl/viewer/TextRenderer.h b/include/igl/viewer/TextRenderer.h
    deleted file mode 100644
    index 1fe992e9c..000000000
    --- a/include/igl/viewer/TextRenderer.h
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Wenzel Jacob 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -#ifndef IGL_VIEWER_TEXT_RENDERER_H
    -#define IGL_VIEWER_TEXT_RENDERER_H
    -#ifdef IGL_VIEWER_WITH_NANOGUI
    -
    -#include 
    -
    -#include 
    -#include 
    -
    -struct NVGcontext;
    -
    -namespace igl
    -{
    -namespace viewer
    -{
    -
    -  class TextRenderer
    -  {
    -  public:
    -    IGL_INLINE TextRenderer();
    -
    -    IGL_INLINE virtual int Init();
    -    IGL_INLINE virtual int Shut();
    -
    -    IGL_INLINE void BeginDraw(const Eigen::Matrix4f &view,const Eigen::Matrix4f &proj,
    -      const Eigen::Vector4f &_viewport,float _object_scale);
    -
    -    IGL_INLINE void EndDraw();
    -
    -    IGL_INLINE void DrawText(Eigen::Vector3d pos,Eigen::Vector3d normal,const std::string &text);
    -
    -  protected:
    -    std::map m_textObjects;
    -    Eigen::Matrix4f view_matrix,proj_matrix;
    -    Eigen::Vector4f viewport;
    -    float object_scale;
    -    float mPixelRatio;
    -    NVGcontext *ctx;
    -  };
    -
    -}
    -}
    -
    -#ifndef IGL_STATIC_LIBRARY
    -#  include "TextRenderer.cpp"
    -#endif
    -
    -#endif
    -#endif
    diff --git a/include/igl/viewer/TextRenderer_fonts.cpp b/include/igl/viewer/TextRenderer_fonts.cpp
    deleted file mode 100644
    index 36fdb5c0c..000000000
    --- a/include/igl/viewer/TextRenderer_fonts.cpp
    +++ /dev/null
    @@ -1,26404 +0,0 @@
    -/* Autogenerated by bin2c */
    -
    -#include 
    -
    -uint8_t igl_entypo_ttf[] = {
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x80, 0x00, 0x03, 0x00, 0x50, 
    -	0x46, 0x46, 0x54, 0x4d, 0x5e, 0x30, 0xea, 0x0e, 0x00, 0x00, 0x8a, 0x24, 
    -	0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, 0x00, 0x29, 0x00, 0xf8, 
    -	0x00, 0x00, 0x8a, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x4f, 0x53, 0x2f, 0x32, 
    -	0x2b, 0xae, 0x50, 0x85, 0x00, 0x00, 0x01, 0x58, 0x00, 0x00, 0x00, 0x60, 
    -	0x63, 0x6d, 0x61, 0x70, 0x75, 0xbf, 0xe7, 0x03, 0x00, 0x00, 0x05, 0x80, 
    -	0x00, 0x00, 0x09, 0x8e, 0x67, 0x61, 0x73, 0x70, 0xff, 0xff, 0x00, 0x03, 
    -	0x00, 0x00, 0x89, 0xfc, 0x00, 0x00, 0x00, 0x08, 0x67, 0x6c, 0x79, 0x66, 
    -	0x69, 0xf6, 0xa9, 0x89, 0x00, 0x00, 0x10, 0xf8, 0x00, 0x00, 0x6b, 0x6c, 
    -	0x68, 0x65, 0x61, 0x64, 0xfa, 0xd6, 0xad, 0x9c, 0x00, 0x00, 0x00, 0xdc, 
    -	0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x05, 0x18, 0x02, 0x53, 
    -	0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, 
    -	0xde, 0x3d, 0x2e, 0x7c, 0x00, 0x00, 0x01, 0xb8, 0x00, 0x00, 0x03, 0xc8, 
    -	0x6c, 0x6f, 0x63, 0x61, 0x09, 0x04, 0xee, 0x6e, 0x00, 0x00, 0x0f, 0x10, 
    -	0x00, 0x00, 0x01, 0xe6, 0x6d, 0x61, 0x78, 0x70, 0x01, 0x42, 0x00, 0x76, 
    -	0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, 
    -	0xc5, 0x58, 0xe9, 0x7c, 0x00, 0x00, 0x7c, 0x64, 0x00, 0x00, 0x03, 0xb1, 
    -	0x70, 0x6f, 0x73, 0x74, 0x15, 0xdd, 0xbc, 0x01, 0x00, 0x00, 0x80, 0x18, 
    -	0x00, 0x00, 0x09, 0xe3, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 
    -	0x55, 0xd7, 0xd2, 0x74, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x0b, 0x03, 0xe8, 
    -	0x00, 0x00, 0x00, 0x00, 0xcc, 0xae, 0xb5, 0x41, 0x00, 0x00, 0x00, 0x00, 
    -	0xcc, 0xae, 0xb5, 0x41, 0x00, 0x32, 0xff, 0xff, 0x02, 0x28, 0x01, 0xf5, 
    -	0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x00, 0x02, 0xee, 0xff, 0x06, 0x00, 0x00, 0x02, 0x5a, 
    -	0x00, 0x00, 0x00, 0x00, 0x02, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x73, 0x00, 0x0e, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0xfc, 
    -	0x01, 0x90, 0x00, 0x05, 0x00, 0x04, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, 
    -	0x00, 0x4b, 0x02, 0x8a, 0x02, 0x58, 0x00, 0x00, 0x01, 0x5e, 0x00, 0x00, 
    -	0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x42, 0x00, 0x00, 0x00, 0x40, 
    -	0x20, 0x16, 0xff, 0xff, 0x02, 0xee, 0xff, 0x06, 0x00, 0x00, 0x03, 0xe8, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x01, 0xf4, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x00, 0x01, 0x6d, 0x00, 0x32, 
    -	0x01, 0x4a, 0x00, 0x32, 0x02, 0x4e, 0x00, 0x32, 0x01, 0x5e, 0x00, 0x32, 
    -	0x02, 0x4e, 0x00, 0x32, 0x01, 0x5e, 0x00, 0x32, 0x02, 0x0d, 0x00, 0x32, 
    -	0x01, 0xd8, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x08, 0x00, 0x32, 0x02, 0x08, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x01, 0xf4, 0x00, 0x32, 0x02, 0x27, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x1c, 0x00, 0x32, 0x02, 0x1c, 0x00, 0x32, 
    -	0x01, 0x90, 0x00, 0x32, 0x01, 0x90, 0x00, 0x32, 0x01, 0x7c, 0x00, 0x32, 
    -	0x00, 0xd2, 0x00, 0x32, 0x01, 0x81, 0x00, 0x32, 0x02, 0x30, 0x00, 0x32, 
    -	0x02, 0x24, 0x00, 0x32, 0x01, 0x90, 0x00, 0x32, 0x01, 0x4a, 0x00, 0x32, 
    -	0x01, 0x5e, 0x00, 0x32, 0x01, 0x2c, 0x00, 0x32, 0x01, 0x4a, 0x00, 0x32, 
    -	0x01, 0x2c, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x08, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x1c, 0x00, 0x32, 
    -	0x02, 0x1c, 0x00, 0x32, 0x01, 0xba, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x01, 0xff, 0x00, 0x32, 0x02, 0x14, 0x00, 0x32, 0x02, 0x14, 0x00, 0x32, 
    -	0x01, 0x87, 0x00, 0x32, 0x01, 0xd7, 0x00, 0x32, 0x01, 0x90, 0x00, 0x32, 
    -	0x02, 0x27, 0x00, 0x32, 0x02, 0x57, 0x00, 0x32, 0x02, 0x08, 0x00, 0x32, 
    -	0x02, 0x46, 0x00, 0x32, 0x01, 0x2e, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 
    -	0x01, 0xeb, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 0x01, 0xb3, 0x00, 0x32, 
    -	0x02, 0x08, 0x00, 0x32, 0x01, 0x50, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x01, 0x86, 0x00, 0x32, 0x01, 0xe1, 0x00, 0x32, 0x01, 0x86, 0x00, 0x32, 
    -	0x01, 0x86, 0x00, 0x32, 0x01, 0xd1, 0x00, 0x32, 0x02, 0x12, 0x00, 0x32, 
    -	0x02, 0x26, 0x00, 0x32, 0x02, 0x3a, 0x00, 0x32, 0x02, 0x3a, 0x00, 0x32, 
    -	0x01, 0xd1, 0x00, 0x32, 0x01, 0xae, 0x00, 0x32, 0x01, 0xae, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 0x01, 0xd1, 0x00, 0x32, 
    -	0x01, 0xd1, 0x00, 0x32, 0x01, 0xe0, 0x00, 0x32, 0x01, 0xe0, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x32, 0x00, 0x32, 0x02, 0x32, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x26, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x4e, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x01, 0xf4, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x01, 0x5e, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x46, 0x00, 0x32, 0x01, 0xe0, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x01, 0xc2, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x01, 0xe0, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 
    -	0x01, 0xf0, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x01, 0x4a, 0x00, 0x32, 
    -	0x02, 0x30, 0x00, 0x32, 0x02, 0x30, 0x00, 0x32, 0x02, 0x30, 0x00, 0x32, 
    -	0x02, 0x30, 0x00, 0x32, 0x01, 0x86, 0x00, 0x32, 0x01, 0x0e, 0x00, 0x32, 
    -	0x01, 0x0e, 0x00, 0x32, 0x01, 0x86, 0x00, 0x32, 0x01, 0x4c, 0x00, 0x32, 
    -	0x00, 0xe8, 0x00, 0x32, 0x00, 0xe8, 0x00, 0x32, 0x01, 0x4c, 0x00, 0x32, 
    -	0x02, 0x14, 0x00, 0x32, 0x01, 0x4c, 0x00, 0x32, 0x01, 0x4c, 0x00, 0x32, 
    -	0x02, 0x14, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x3a, 0x00, 0x32, 
    -	0x02, 0x30, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 0x02, 0x27, 0x00, 0x32, 
    -	0x02, 0x32, 0x00, 0x32, 0x01, 0x7d, 0x00, 0x32, 0x02, 0x45, 0x00, 0x32, 
    -	0x01, 0xfe, 0x00, 0x32, 0x02, 0x4e, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x00, 
    -	0x02, 0x26, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 
    -	0x02, 0x3a, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 
    -	0x01, 0xa4, 0x00, 0x32, 0x02, 0x4f, 0x00, 0x32, 0x02, 0x3b, 0x00, 0x32, 
    -	0x02, 0x4e, 0x00, 0x32, 0x02, 0x12, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x02, 0x26, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x02, 0x13, 0x00, 0x32, 0x02, 0x3a, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x01, 0xc3, 0x00, 0x32, 0x02, 0x28, 0x00, 0x32, 0x02, 0x3a, 0x00, 0x32, 
    -	0x01, 0x7c, 0x00, 0x32, 0x02, 0x28, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x02, 0x30, 0x00, 0x32, 0x02, 0x5a, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x02, 0x26, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x01, 0xc2, 0x00, 0x32, 0x02, 0x39, 0x00, 0x32, 0x01, 0x77, 0x00, 0x32, 
    -	0x01, 0xc2, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x02, 0x13, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 0x02, 0x59, 0x00, 0x32, 
    -	0x02, 0x26, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 0x01, 0x86, 0x00, 0x32, 
    -	0x02, 0x4e, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x02, 0x27, 0x00, 0x32, 0x02, 0x2e, 0x00, 0x32, 0x01, 0x72, 0x00, 0x32, 
    -	0x02, 0x58, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 0x02, 0x00, 0x00, 0x32, 
    -	0x01, 0xc2, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x1e, 0x00, 0x32, 
    -	0x02, 0x2c, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x01, 0xef, 0x00, 0x32, 
    -	0x01, 0xea, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 0x01, 0xc2, 0x00, 0x32, 
    -	0x01, 0xf4, 0x00, 0x32, 0x01, 0x18, 0x00, 0x32, 0x01, 0xf4, 0x00, 0x32, 
    -	0x02, 0x0d, 0x00, 0x32, 0x02, 0x27, 0x00, 0x32, 0x02, 0x4e, 0x00, 0x32, 
    -	0x02, 0x32, 0x00, 0x32, 0x02, 0x46, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 
    -	0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 
    -	0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 
    -	0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 0x02, 0x44, 0x00, 0x32, 
    -	0x02, 0x30, 0x00, 0x32, 0x01, 0xa4, 0x00, 0x32, 0x01, 0xa4, 0x00, 0x32, 
    -	0x02, 0x3a, 0x00, 0x32, 0x00, 0xdc, 0x00, 0x32, 0x01, 0xa4, 0x00, 0x32, 
    -	0x01, 0xcf, 0x00, 0x32, 0x02, 0x26, 0x00, 0x32, 0x02, 0x13, 0x00, 0x32, 
    -	0x02, 0x44, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 0x02, 0x58, 0x00, 0x32, 
    -	0x02, 0x46, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 
    -	0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0xb4, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0x00, 0x03, 0x00, 0x01, 
    -	0x00, 0x00, 0x00, 0x2c, 0x00, 0x03, 0x00, 0x0a, 0x00, 0x00, 0x02, 0xb4, 
    -	0x00, 0x04, 0x02, 0x88, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x80, 0x00, 0x06, 
    -	0x00, 0x1e, 0x20, 0x16, 0x21, 0x39, 0x21, 0x93, 0x21, 0xb0, 0x21, 0xb3, 
    -	0x21, 0xc6, 0x22, 0x1e, 0x22, 0x96, 0x22, 0x9f, 0x23, 0x02, 0x23, 0x28, 
    -	0x23, 0x2b, 0x23, 0xea, 0x23, 0xee, 0x23, 0xf7, 0x25, 0xa0, 0x25, 0xb4, 
    -	0x25, 0xb6, 0x25, 0xb8, 0x25, 0xbe, 0x25, 0xc2, 0x25, 0xcf, 0x25, 0xd1, 
    -	0x25, 0xf4, 0x26, 0x01, 0x26, 0x06, 0x26, 0x15, 0x26, 0x30, 0x26, 0x3d, 
    -	0x26, 0x61, 0x26, 0x65, 0x26, 0x6b, 0x26, 0x8f, 0x26, 0x92, 0x26, 0x99, 
    -	0x26, 0xa1, 0x26, 0xc8, 0x27, 0x09, 0x27, 0x0e, 0x27, 0x13, 0x27, 0x16, 
    -	0x27, 0x4c, 0x27, 0x4e, 0x27, 0x53, 0x27, 0x5e, 0x27, 0x96, 0x27, 0xa2, 
    -	0x27, 0xa6, 0x27, 0xf3, 0x2b, 0x07, 0xe0, 0x03, 0xe0, 0x05, 0xe4, 0xb0, 
    -	0xe7, 0x00, 0xe7, 0x05, 0xe7, 0x0a, 0xe7, 0x0c, 0xe7, 0x18, 0xe7, 0x20, 
    -	0xe7, 0x24, 0xe7, 0x29, 0xe7, 0x31, 0xe7, 0x37, 0xe7, 0x3a, 0xe7, 0x3e, 
    -	0xe7, 0x41, 0xe7, 0x44, 0xe7, 0x46, 0xe7, 0x4f, 0xe7, 0x6b, 0xe7, 0x71, 
    -	0xe7, 0x78, 0xe7, 0x89, 0xe7, 0x9a, 0xe7, 0xa1, 0xe8, 0x00, 0xf0, 0x20, 
    -	0xf6, 0x01, 0xff, 0xff, 0x00, 0x00, 0x20, 0x16, 0x21, 0x39, 0x21, 0x90, 
    -	0x21, 0xb0, 0x21, 0xb3, 0x21, 0xc6, 0x22, 0x1e, 0x22, 0x95, 0x22, 0x9e, 
    -	0x23, 0x02, 0x23, 0x28, 0x23, 0x2b, 0x23, 0xe9, 0x23, 0xed, 0x23, 0xf3, 
    -	0x25, 0xa0, 0x25, 0xb4, 0x25, 0xb6, 0x25, 0xb8, 0x25, 0xbe, 0x25, 0xc2, 
    -	0x25, 0xcf, 0x25, 0xd1, 0x25, 0xf4, 0x26, 0x01, 0x26, 0x05, 0x26, 0x15, 
    -	0x26, 0x30, 0x26, 0x3d, 0x26, 0x61, 0x26, 0x65, 0x26, 0x6a, 0x26, 0x8f, 
    -	0x26, 0x91, 0x26, 0x99, 0x26, 0xa0, 0x26, 0xc8, 0x27, 0x07, 0x27, 0x0e, 
    -	0x27, 0x12, 0x27, 0x16, 0x27, 0x4c, 0x27, 0x4e, 0x27, 0x53, 0x27, 0x5e, 
    -	0x27, 0x95, 0x27, 0xa1, 0x27, 0xa6, 0x27, 0xf2, 0x2b, 0x05, 0xe0, 0x03, 
    -	0xe0, 0x05, 0xe4, 0xad, 0xe7, 0x00, 0xe7, 0x04, 0xe7, 0x0a, 0xe7, 0x0c, 
    -	0xe7, 0x11, 0xe7, 0x20, 0xe7, 0x22, 0xe7, 0x27, 0xe7, 0x30, 0xe7, 0x36, 
    -	0xe7, 0x3a, 0xe7, 0x3c, 0xe7, 0x40, 0xe7, 0x44, 0xe7, 0x46, 0xe7, 0x4c, 
    -	0xe7, 0x58, 0xe7, 0x71, 0xe7, 0x76, 0xe7, 0x88, 0xe7, 0x9a, 0xe7, 0xa1, 
    -	0xe8, 0x00, 0xf0, 0x20, 0xf6, 0x01, 0xff, 0xff, 0xdf, 0xed, 0xde, 0xcb, 
    -	0xde, 0x75, 0xde, 0x59, 0xde, 0x57, 0xde, 0x45, 0xdd, 0xee, 0xdd, 0x78, 
    -	0xdd, 0x71, 0xdd, 0x0f, 0xdc, 0xea, 0xdc, 0xe8, 0xdc, 0x2b, 0xdc, 0x29, 
    -	0xdc, 0x25, 0xda, 0x7d, 0xda, 0x6a, 0xda, 0x69, 0xda, 0x68, 0xda, 0x63, 
    -	0xda, 0x60, 0xda, 0x54, 0xda, 0x53, 0xda, 0x31, 0xda, 0x25, 0xda, 0x22, 
    -	0xda, 0x14, 0xd9, 0xfa, 0xd9, 0xee, 0xd9, 0xcb, 0xd9, 0xc8, 0xd9, 0xc4, 
    -	0xd9, 0xa1, 0xd9, 0xa0, 0xd9, 0x9a, 0xd9, 0x94, 0xd9, 0x6e, 0xd9, 0x30, 
    -	0xd9, 0x2c, 0xd9, 0x29, 0xd9, 0x27, 0xd8, 0xf2, 0xd8, 0xf1, 0xd8, 0xed, 
    -	0xd8, 0xe3, 0xd8, 0xad, 0xd8, 0xa3, 0xd8, 0xa0, 0xd8, 0x55, 0xd5, 0x44, 
    -	0x20, 0x49, 0x20, 0x48, 0x1b, 0xa1, 0x19, 0x52, 0x19, 0x4f, 0x19, 0x4b, 
    -	0x19, 0x4a, 0x19, 0x46, 0x19, 0x3f, 0x19, 0x3e, 0x19, 0x3c, 0x19, 0x36, 
    -	0x19, 0x32, 0x19, 0x30, 0x19, 0x2f, 0x19, 0x2e, 0x19, 0x2c, 0x19, 0x2b, 
    -	0x19, 0x26, 0x19, 0x1e, 0x19, 0x19, 0x19, 0x15, 0x19, 0x06, 0x18, 0xf6, 
    -	0x18, 0xf0, 0x18, 0x92, 0x10, 0x73, 0x0a, 0x93, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x05, 0xd4, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x20, 0x16, 
    -	0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x21, 0x39, 0x00, 0x00, 0x21, 0x39, 
    -	0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x21, 0x90, 0x00, 0x00, 0x21, 0x93, 
    -	0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x21, 0xb0, 0x00, 0x00, 0x21, 0xb0, 
    -	0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x21, 0xb3, 0x00, 0x00, 0x21, 0xb3, 
    -	0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x21, 0xc6, 0x00, 0x00, 0x21, 0xc6, 
    -	0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x22, 0x1e, 0x00, 0x00, 0x22, 0x1e, 
    -	0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x22, 0x95, 0x00, 0x00, 0x22, 0x96, 
    -	0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x22, 0x9e, 0x00, 0x00, 0x22, 0x9f, 
    -	0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x23, 0x02, 0x00, 0x00, 0x23, 0x02, 
    -	0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x23, 0x28, 0x00, 0x00, 0x23, 0x28, 
    -	0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x23, 0x2b, 0x00, 0x00, 0x23, 0x2b, 
    -	0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x23, 0xe9, 0x00, 0x00, 0x23, 0xea, 
    -	0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x23, 0xed, 0x00, 0x00, 0x23, 0xee, 
    -	0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x23, 0xf3, 0x00, 0x00, 0x23, 0xf7, 
    -	0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x25, 0xa0, 0x00, 0x00, 0x25, 0xa0, 
    -	0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x25, 0xb4, 0x00, 0x00, 0x25, 0xb4, 
    -	0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x25, 0xb6, 0x00, 0x00, 0x25, 0xb6, 
    -	0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x25, 0xb8, 0x00, 0x00, 0x25, 0xb8, 
    -	0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x25, 0xbe, 0x00, 0x00, 0x25, 0xbe, 
    -	0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x25, 0xc2, 0x00, 0x00, 0x25, 0xc2, 
    -	0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x25, 0xcf, 0x00, 0x00, 0x25, 0xcf, 
    -	0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x25, 0xd1, 0x00, 0x00, 0x25, 0xd1, 
    -	0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x25, 0xf4, 0x00, 0x00, 0x25, 0xf4, 
    -	0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x26, 0x01, 0x00, 0x00, 0x26, 0x01, 
    -	0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x26, 0x05, 0x00, 0x00, 0x26, 0x06, 
    -	0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x26, 0x15, 0x00, 0x00, 0x26, 0x15, 
    -	0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x26, 0x30, 0x00, 0x00, 0x26, 0x30, 
    -	0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x26, 0x3d, 0x00, 0x00, 0x26, 0x3d, 
    -	0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x26, 0x61, 0x00, 0x00, 0x26, 0x61, 
    -	0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x26, 0x65, 0x00, 0x00, 0x26, 0x65, 
    -	0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x26, 0x6a, 0x00, 0x00, 0x26, 0x6b, 
    -	0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x26, 0x8f, 0x00, 0x00, 0x26, 0x8f, 
    -	0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x26, 0x91, 0x00, 0x00, 0x26, 0x92, 
    -	0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x26, 0x99, 0x00, 0x00, 0x26, 0x99, 
    -	0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x26, 0xa0, 0x00, 0x00, 0x26, 0xa1, 
    -	0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x26, 0xc8, 0x00, 0x00, 0x26, 0xc8, 
    -	0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x27, 0x07, 0x00, 0x00, 0x27, 0x09, 
    -	0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x27, 0x0e, 
    -	0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x27, 0x12, 0x00, 0x00, 0x27, 0x13, 
    -	0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x27, 0x16, 0x00, 0x00, 0x27, 0x16, 
    -	0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x27, 0x4c, 0x00, 0x00, 0x27, 0x4c, 
    -	0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x27, 0x4e, 0x00, 0x00, 0x27, 0x4e, 
    -	0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x27, 0x53, 0x00, 0x00, 0x27, 0x53, 
    -	0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x27, 0x5e, 0x00, 0x00, 0x27, 0x5e, 
    -	0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x27, 0x95, 0x00, 0x00, 0x27, 0x96, 
    -	0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x27, 0xa1, 0x00, 0x00, 0x27, 0xa2, 
    -	0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x27, 0xa6, 0x00, 0x00, 0x27, 0xa6, 
    -	0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x27, 0xf2, 0x00, 0x00, 0x27, 0xf3, 
    -	0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x2b, 0x05, 0x00, 0x00, 0x2b, 0x07, 
    -	0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03, 
    -	0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0xe0, 0x05, 0x00, 0x00, 0xe0, 0x05, 
    -	0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0xe4, 0xad, 0x00, 0x00, 0xe4, 0xb0, 
    -	0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xe7, 0x00, 
    -	0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0xe7, 0x04, 0x00, 0x00, 0xe7, 0x05, 
    -	0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0xe7, 0x0a, 0x00, 0x00, 0xe7, 0x0a, 
    -	0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0xe7, 0x0c, 0x00, 0x00, 0xe7, 0x0c, 
    -	0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0xe7, 0x11, 0x00, 0x00, 0xe7, 0x18, 
    -	0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0xe7, 0x20, 0x00, 0x00, 0xe7, 0x20, 
    -	0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0xe7, 0x22, 0x00, 0x00, 0xe7, 0x24, 
    -	0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xe7, 0x27, 0x00, 0x00, 0xe7, 0x29, 
    -	0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0xe7, 0x30, 0x00, 0x00, 0xe7, 0x31, 
    -	0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0xe7, 0x36, 0x00, 0x00, 0xe7, 0x37, 
    -	0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0xe7, 0x3a, 0x00, 0x00, 0xe7, 0x3a, 
    -	0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0xe7, 0x3c, 0x00, 0x00, 0xe7, 0x3e, 
    -	0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0xe7, 0x40, 0x00, 0x00, 0xe7, 0x41, 
    -	0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0xe7, 0x44, 0x00, 0x00, 0xe7, 0x44, 
    -	0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xe7, 0x46, 0x00, 0x00, 0xe7, 0x46, 
    -	0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0xe7, 0x4c, 0x00, 0x00, 0xe7, 0x4f, 
    -	0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0xe7, 0x58, 0x00, 0x00, 0xe7, 0x6b, 
    -	0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0xe7, 0x71, 0x00, 0x00, 0xe7, 0x71, 
    -	0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0xe7, 0x76, 0x00, 0x00, 0xe7, 0x78, 
    -	0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0xe7, 0x88, 0x00, 0x00, 0xe7, 0x89, 
    -	0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0xe7, 0x9a, 0x00, 0x00, 0xe7, 0x9a, 
    -	0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0xe7, 0xa1, 0x00, 0x00, 0xe7, 0xa1, 
    -	0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0xe8, 0x00, 
    -	0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0xf0, 0x20, 0x00, 0x00, 0xf0, 0x20, 
    -	0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0xf6, 0x01, 0x00, 0x00, 0xf6, 0x01, 
    -	0x00, 0x00, 0x00, 0x94, 0x00, 0x01, 0xf3, 0x04, 0x00, 0x01, 0xf3, 0x04, 
    -	0x00, 0x00, 0x00, 0x95, 0x00, 0x01, 0xf3, 0x0e, 0x00, 0x01, 0xf3, 0x0e, 
    -	0x00, 0x00, 0x00, 0x96, 0x00, 0x01, 0xf3, 0x42, 0x00, 0x01, 0xf3, 0x42, 
    -	0x00, 0x00, 0x00, 0x97, 0x00, 0x01, 0xf3, 0x93, 0x00, 0x01, 0xf3, 0x94, 
    -	0x00, 0x00, 0x00, 0x98, 0x00, 0x01, 0xf3, 0xa4, 0x00, 0x01, 0xf3, 0xa4, 
    -	0x00, 0x00, 0x00, 0x9a, 0x00, 0x01, 0xf3, 0xa8, 0x00, 0x01, 0xf3, 0xa8, 
    -	0x00, 0x00, 0x00, 0x9b, 0x00, 0x01, 0xf3, 0xab, 0x00, 0x01, 0xf3, 0xac, 
    -	0x00, 0x00, 0x00, 0x9c, 0x00, 0x01, 0xf3, 0xaf, 0x00, 0x01, 0xf3, 0xaf, 
    -	0x00, 0x00, 0x00, 0x9e, 0x00, 0x01, 0xf3, 0xb5, 0x00, 0x01, 0xf3, 0xb5, 
    -	0x00, 0x00, 0x00, 0x9f, 0x00, 0x01, 0xf3, 0xc6, 0x00, 0x01, 0xf3, 0xc6, 
    -	0x00, 0x00, 0x00, 0xa0, 0x00, 0x01, 0xf4, 0x4d, 0x00, 0x01, 0xf4, 0x4e, 
    -	0x00, 0x00, 0x00, 0xa1, 0x00, 0x01, 0xf4, 0x5c, 0x00, 0x01, 0xf4, 0x5c, 
    -	0x00, 0x00, 0x00, 0xa3, 0x00, 0x01, 0xf4, 0x64, 0x00, 0x01, 0xf4, 0x65, 
    -	0x00, 0x00, 0x00, 0xa4, 0x00, 0x01, 0xf4, 0xa1, 0x00, 0x01, 0xf4, 0xa1, 
    -	0x00, 0x00, 0x00, 0xa6, 0x00, 0x01, 0xf4, 0xa5, 0x00, 0x01, 0xf4, 0xa8, 
    -	0x00, 0x00, 0x00, 0xa7, 0x00, 0x01, 0xf4, 0xb3, 0x00, 0x01, 0xf4, 0xb3, 
    -	0x00, 0x00, 0x00, 0xab, 0x00, 0x01, 0xf4, 0xbb, 0x00, 0x01, 0xf4, 0xbc, 
    -	0x00, 0x00, 0x00, 0xac, 0x00, 0x01, 0xf4, 0xbe, 0x00, 0x01, 0xf4, 0xbf, 
    -	0x00, 0x00, 0x00, 0xae, 0x00, 0x01, 0xf4, 0xc1, 0x00, 0x01, 0xf4, 0xc1, 
    -	0x00, 0x00, 0x00, 0xb0, 0x00, 0x01, 0xf4, 0xc4, 0x00, 0x01, 0xf4, 0xc5, 
    -	0x00, 0x00, 0x00, 0xb1, 0x00, 0x01, 0xf4, 0xc8, 0x00, 0x01, 0xf4, 0xc8, 
    -	0x00, 0x00, 0x00, 0xb3, 0x00, 0x01, 0xf4, 0xca, 0x00, 0x01, 0xf4, 0xcb, 
    -	0x00, 0x00, 0x00, 0xb4, 0x00, 0x01, 0xf4, 0xce, 0x00, 0x01, 0xf4, 0xce, 
    -	0x00, 0x00, 0x00, 0xb6, 0x00, 0x01, 0xf4, 0xd1, 0x00, 0x01, 0xf4, 0xd1, 
    -	0x00, 0x00, 0x00, 0xb7, 0x00, 0x01, 0xf4, 0xd5, 0x00, 0x01, 0xf4, 0xd6, 
    -	0x00, 0x00, 0x00, 0xb8, 0x00, 0x01, 0xf4, 0xde, 0x00, 0x01, 0xf4, 0xde, 
    -	0x00, 0x00, 0x00, 0xba, 0x00, 0x01, 0xf4, 0xe3, 0x00, 0x01, 0xf4, 0xe6, 
    -	0x00, 0x00, 0x00, 0xbb, 0x00, 0x01, 0xf4, 0xf0, 0x00, 0x01, 0xf4, 0xf1, 
    -	0x00, 0x00, 0x00, 0xbf, 0x00, 0x01, 0xf4, 0xf6, 0x00, 0x01, 0xf4, 0xf8, 
    -	0x00, 0x00, 0x00, 0xc1, 0x00, 0x01, 0xf4, 0xfd, 0x00, 0x01, 0xf5, 0x01, 
    -	0x00, 0x00, 0x00, 0xc4, 0x00, 0x01, 0xf5, 0x04, 0x00, 0x01, 0xf5, 0x07, 
    -	0x00, 0x00, 0x00, 0xc9, 0x00, 0x01, 0xf5, 0x0a, 0x00, 0x01, 0xf5, 0x0b, 
    -	0x00, 0x00, 0x00, 0xcd, 0x00, 0x01, 0xf5, 0x0d, 0x00, 0x01, 0xf5, 0x0d, 
    -	0x00, 0x00, 0x00, 0xcf, 0x00, 0x01, 0xf5, 0x11, 0x00, 0x01, 0xf5, 0x14, 
    -	0x00, 0x00, 0x00, 0xd0, 0x00, 0x01, 0xf5, 0x16, 0x00, 0x01, 0xf5, 0x17, 
    -	0x00, 0x00, 0x00, 0xd4, 0x00, 0x01, 0xf5, 0x19, 0x00, 0x01, 0xf5, 0x19, 
    -	0x00, 0x00, 0x00, 0xd6, 0x00, 0x01, 0xf5, 0x26, 0x00, 0x01, 0xf5, 0x26, 
    -	0x00, 0x00, 0x00, 0xd7, 0x00, 0x01, 0xf5, 0x3e, 0x00, 0x01, 0xf5, 0x3f, 
    -	0x00, 0x00, 0x00, 0xd8, 0x00, 0x01, 0xf5, 0x45, 0x00, 0x01, 0xf5, 0x4f, 
    -	0x00, 0x00, 0x00, 0xda, 0x00, 0x01, 0xf5, 0x54, 0x00, 0x01, 0xf5, 0x54, 
    -	0x00, 0x00, 0x00, 0xe5, 0x00, 0x01, 0xf5, 0x68, 0x00, 0x01, 0xf5, 0x6c, 
    -	0x00, 0x00, 0x00, 0xe6, 0x00, 0x01, 0xf5, 0xf9, 0x00, 0x01, 0xf5, 0xfa, 
    -	0x00, 0x00, 0x00, 0xeb, 0x00, 0x01, 0xf6, 0x80, 0x00, 0x01, 0xf6, 0x80, 
    -	0x00, 0x00, 0x00, 0xed, 0x00, 0x01, 0xf6, 0xab, 0x00, 0x01, 0xf6, 0xab, 
    -	0x00, 0x00, 0x00, 0xee, 0x00, 0x01, 0xf6, 0xc6, 0x00, 0x01, 0xf6, 0xc8, 
    -	0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x01, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x1c, 0x00, 0x54, 0x00, 0x66, 0x00, 0x78, 0x00, 0x8a, 0x00, 0x9c, 
    -	0x00, 0xb2, 0x00, 0xc8, 0x00, 0xe2, 0x01, 0x22, 0x01, 0x42, 0x01, 0x5a, 
    -	0x01, 0x84, 0x01, 0xa6, 0x01, 0xce, 0x02, 0x32, 0x02, 0x64, 0x02, 0x90, 
    -	0x02, 0xbc, 0x02, 0xe2, 0x03, 0x06, 0x03, 0x8c, 0x03, 0xa0, 0x03, 0xc0, 
    -	0x03, 0xee, 0x04, 0x08, 0x04, 0x1e, 0x04, 0x2a, 0x04, 0x44, 0x04, 0x50, 
    -	0x04, 0x5e, 0x04, 0x6a, 0x04, 0x7e, 0x05, 0x26, 0x05, 0x48, 0x05, 0x70, 
    -	0x05, 0x86, 0x05, 0xae, 0x05, 0xde, 0x06, 0x14, 0x06, 0x30, 0x06, 0x6a, 
    -	0x06, 0x88, 0x06, 0xb8, 0x06, 0xea, 0x07, 0x26, 0x07, 0x50, 0x07, 0xec, 
    -	0x08, 0x42, 0x08, 0x6a, 0x08, 0x8c, 0x08, 0xe4, 0x09, 0x26, 0x09, 0x4e, 
    -	0x09, 0x88, 0x09, 0xb6, 0x0a, 0x0a, 0x0a, 0x30, 0x0a, 0x56, 0x0a, 0x8a, 
    -	0x0a, 0xba, 0x0b, 0x0a, 0x0b, 0x48, 0x0b, 0x66, 0x0b, 0x78, 0x0b, 0x88, 
    -	0x0b, 0xb2, 0x0b, 0xca, 0x0b, 0xf2, 0x0c, 0x1a, 0x0c, 0x2a, 0x0c, 0x3a, 
    -	0x0c, 0x4c, 0x0c, 0x98, 0x0c, 0xfc, 0x0d, 0x0c, 0x0d, 0x1c, 0x0d, 0x2c, 
    -	0x0d, 0x3e, 0x0d, 0x8c, 0x0d, 0xf0, 0x0e, 0x36, 0x0e, 0x7a, 0x0e, 0xc8, 
    -	0x0e, 0xf6, 0x0f, 0x12, 0x0f, 0x36, 0x0f, 0x66, 0x0f, 0x9e, 0x0f, 0xe2, 
    -	0x10, 0x08, 0x10, 0x26, 0x10, 0x5a, 0x10, 0xa8, 0x10, 0xe8, 0x11, 0x0e, 
    -	0x11, 0x58, 0x11, 0xa8, 0x11, 0xec, 0x12, 0x10, 0x12, 0x3c, 0x12, 0x7e, 
    -	0x12, 0xa0, 0x12, 0xc8, 0x13, 0x06, 0x13, 0x4c, 0x13, 0x98, 0x13, 0xc6, 
    -	0x13, 0xf4, 0x14, 0x10, 0x14, 0x2c, 0x14, 0x58, 0x14, 0xa6, 0x14, 0xea, 
    -	0x14, 0xfc, 0x15, 0x26, 0x15, 0x52, 0x15, 0x7e, 0x15, 0xac, 0x15, 0xcc, 
    -	0x15, 0xee, 0x16, 0x10, 0x16, 0x30, 0x16, 0x4e, 0x16, 0x6a, 0x16, 0x86, 
    -	0x16, 0xa2, 0x16, 0xc0, 0x16, 0xde, 0x16, 0xfa, 0x17, 0x18, 0x17, 0x3c, 
    -	0x17, 0x64, 0x17, 0x92, 0x17, 0xc6, 0x17, 0xf8, 0x18, 0x9a, 0x18, 0xd8, 
    -	0x19, 0x1c, 0x19, 0x7a, 0x19, 0xb4, 0x19, 0xee, 0x1a, 0x2e, 0x1a, 0x8a, 
    -	0x1a, 0x8a, 0x1a, 0xb4, 0x1a, 0xf2, 0x1b, 0x8c, 0x1b, 0xc0, 0x1c, 0x1a, 
    -	0x1c, 0xb0, 0x1c, 0xf8, 0x1d, 0x32, 0x1d, 0x74, 0x1d, 0xae, 0x1d, 0xe0, 
    -	0x1e, 0x20, 0x1e, 0x84, 0x1e, 0xc4, 0x1f, 0x06, 0x1f, 0x46, 0x1f, 0x88, 
    -	0x1f, 0xfe, 0x20, 0x4c, 0x20, 0xd4, 0x21, 0x1c, 0x21, 0x56, 0x21, 0xe0, 
    -	0x22, 0x3c, 0x22, 0x6e, 0x22, 0xb4, 0x22, 0xe0, 0x23, 0x00, 0x23, 0x34, 
    -	0x23, 0x68, 0x23, 0x9e, 0x23, 0xf0, 0x24, 0x1a, 0x24, 0x44, 0x24, 0x9c, 
    -	0x24, 0xc2, 0x24, 0xfe, 0x25, 0x4e, 0x25, 0x8a, 0x25, 0xe8, 0x26, 0x22, 
    -	0x26, 0x5a, 0x26, 0x84, 0x26, 0xd2, 0x27, 0x04, 0x27, 0x40, 0x27, 0x8e, 
    -	0x27, 0xd2, 0x28, 0x0c, 0x28, 0x6a, 0x28, 0x9c, 0x28, 0xea, 0x29, 0x12, 
    -	0x29, 0x48, 0x29, 0xce, 0x2a, 0x7a, 0x2a, 0xca, 0x2b, 0x3c, 0x2b, 0x94, 
    -	0x2b, 0xc0, 0x2c, 0x0e, 0x2c, 0x42, 0x2c, 0x74, 0x2c, 0xcc, 0x2c, 0xe2, 
    -	0x2d, 0x48, 0x2d, 0x66, 0x2d, 0xb0, 0x2d, 0xd8, 0x2e, 0x12, 0x2e, 0x80, 
    -	0x2e, 0xc0, 0x2f, 0x28, 0x2f, 0x8e, 0x2f, 0xe2, 0x30, 0x32, 0x30, 0x62, 
    -	0x30, 0xba, 0x31, 0x0c, 0x31, 0x64, 0x31, 0xba, 0x31, 0xe6, 0x32, 0x4a, 
    -	0x32, 0xb4, 0x33, 0x42, 0x33, 0x7e, 0x33, 0xf0, 0x34, 0x48, 0x34, 0x60, 
    -	0x34, 0xb2, 0x34, 0xe8, 0x35, 0x22, 0x35, 0x6e, 0x35, 0xb6, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x4b, 0x01, 0x3b, 0x01, 0xa9, 0x00, 0x07, 
    -	0x00, 0x0f, 0x00, 0x00, 0x12, 0x32, 0x15, 0x11, 0x14, 0x22, 0x35, 0x11, 
    -	0x26, 0x32, 0x15, 0x11, 0x14, 0x22, 0x35, 0x11, 0xe1, 0x5a, 0x5a, 0xaf, 
    -	0x5a, 0x5a, 0x01, 0xa9, 0x20, 0xfe, 0xe3, 0x21, 0x21, 0x01, 0x1d, 0x20, 
    -	0x20, 0xfe, 0xe3, 0x21, 0x21, 0x01, 0x1d, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x00, 0x01, 0x18, 0x01, 0xf4, 0x00, 0x0b, 0x00, 0x22, 0x00, 0x00, 
    -	0x13, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x34, 0x36, 
    -	0x03, 0x22, 0x3f, 0x01, 0x36, 0x23, 0x22, 0x06, 0x07, 0x27, 0x3e, 0x01, 
    -	0x33, 0x32, 0x0f, 0x01, 0x06, 0x33, 0x32, 0x37, 0x17, 0x0e, 0x01, 0xe2, 
    -	0x18, 0x1a, 0x27, 0x1c, 0x18, 0x1a, 0x01, 0x23, 0x48, 0x32, 0x17, 0x1e, 
    -	0x07, 0x07, 0x06, 0x2a, 0x0f, 0x0d, 0x2d, 0x63, 0x1a, 0x27, 0x15, 0x23, 
    -	0x08, 0x0b, 0x16, 0x25, 0x0f, 0x2a, 0x5b, 0x01, 0xf4, 0x1b, 0x15, 0x19, 
    -	0x26, 0x1a, 0x17, 0x17, 0x27, 0xfe, 0x0c, 0x59, 0x7f, 0x1c, 0x12, 0x0a, 
    -	0x16, 0x27, 0x30, 0x51, 0x85, 0x20, 0x1e, 0x14, 0x2b, 0x2e, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x7d, 0x02, 0x1c, 0x01, 0x77, 0x00, 0x06, 
    -	0x00, 0x00, 0x37, 0x27, 0x37, 0x15, 0x21, 0x15, 0x21, 0xaa, 0x78, 0x78, 
    -	0x01, 0x72, 0xfe, 0x8e, 0x7d, 0x7d, 0x7d, 0x50, 0x59, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x05, 0x01, 0x2c, 0x01, 0xef, 0x00, 0x06, 
    -	0x00, 0x00, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 0x37, 0x01, 0x2c, 0x51, 
    -	0x58, 0x51, 0x7d, 0x01, 0x78, 0xfe, 0x8d, 0x01, 0x73, 0x77, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x7d, 0x02, 0x1c, 0x01, 0x77, 0x00, 0x06, 
    -	0x00, 0x00, 0x25, 0x35, 0x21, 0x35, 0x21, 0x35, 0x17, 0x01, 0xa5, 0xfe, 
    -	0x8d, 0x01, 0x73, 0x77, 0x7d, 0x51, 0x59, 0x50, 0x7d, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x05, 0x01, 0x2c, 0x01, 0xef, 0x00, 0x06, 
    -	0x00, 0x00, 0x25, 0x07, 0x27, 0x33, 0x11, 0x33, 0x11, 0x01, 0x2c, 0x7d, 
    -	0x7d, 0x51, 0x58, 0x7d, 0x78, 0x78, 0x01, 0x72, 0xfe, 0x8e, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x82, 0x01, 0xdb, 0x01, 0x72, 0x00, 0x0b, 
    -	0x00, 0x00, 0x37, 0x15, 0x27, 0x37, 0x15, 0x21, 0x32, 0x16, 0x1d, 0x01, 
    -	0x23, 0x35, 0x96, 0x64, 0x64, 0x01, 0x13, 0x14, 0x1e, 0x46, 0xfa, 0x2d, 
    -	0x50, 0x55, 0x32, 0x1d, 0x15, 0x8c, 0x78, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x64, 0x01, 0xa6, 0x01, 0x90, 0x00, 0x0b, 0x00, 0x00, 0x37, 0x22, 
    -	0x26, 0x3d, 0x01, 0x33, 0x15, 0x33, 0x35, 0x17, 0x07, 0x35, 0x64, 0x15, 
    -	0x1d, 0x46, 0xb6, 0x78, 0x78, 0xaf, 0x1e, 0x14, 0xaf, 0x9b, 0x4b, 0x6e, 
    -	0x6e, 0x4b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x51, 0x02, 0x26, 
    -	0x01, 0xa5, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x15, 0x23, 0x15, 
    -	0x27, 0x37, 0x15, 0x05, 0x07, 0x35, 0x23, 0x35, 0x33, 0x35, 0x01, 0x90, 
    -	0xfa, 0x64, 0x64, 0x01, 0x90, 0x64, 0xfa, 0xfa, 0x01, 0x73, 0x46, 0x2d, 
    -	0x50, 0x55, 0x32, 0xd2, 0x50, 0x2d, 0x46, 0x32, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x8c, 0x02, 0x26, 0x01, 0x68, 0x00, 0x17, 0x00, 0x20, 0x00, 0x29, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 
    -	0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 
    -	0x3e, 0x01, 0x05, 0x32, 0x36, 0x37, 0x2e, 0x01, 0x23, 0x22, 0x14, 0x21, 
    -	0x32, 0x34, 0x23, 0x22, 0x06, 0x07, 0x1e, 0x01, 0x01, 0xc0, 0x2a, 0x3c, 
    -	0x3c, 0x2a, 0x27, 0x4f, 0x1e, 0x1d, 0x4f, 0x27, 0x2b, 0x3c, 0x3c, 0x2b, 
    -	0x27, 0x4f, 0x1d, 0x1d, 0x50, 0xff, 0x00, 0x1e, 0x43, 0x17, 0x17, 0x42, 
    -	0x1f, 0x39, 0x01, 0x60, 0x39, 0x39, 0x1f, 0x43, 0x16, 0x16, 0x43, 0x01, 
    -	0x68, 0x35, 0x39, 0x38, 0x36, 0x28, 0x21, 0x21, 0x28, 0x36, 0x38, 0x39, 
    -	0x35, 0x27, 0x21, 0x21, 0x27, 0xb0, 0x25, 0x1d, 0x1d, 0x25, 0x84, 0x84, 
    -	0x25, 0x1d, 0x1d, 0x25, 0x00, 0x02, 0x00, 0x32, 0x00, 0x28, 0x01, 0xd6, 
    -	0x01, 0xcc, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x12, 0x32, 0x16, 0x14, 
    -	0x06, 0x22, 0x26, 0x34, 0x17, 0x33, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 
    -	0x15, 0x33, 0x15, 0x33, 0xad, 0xae, 0x7b, 0x7b, 0xae, 0x7b, 0xec, 0x64, 
    -	0x64, 0x33, 0x65, 0x65, 0x33, 0x01, 0xcc, 0x7b, 0xae, 0x7b, 0x7b, 0xae, 
    -	0x70, 0x33, 0x65, 0x65, 0x33, 0x65, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x28, 0x01, 0xd6, 0x01, 0xcc, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 
    -	0x12, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x05, 0x23, 0x15, 0x33, 
    -	0xad, 0xae, 0x7b, 0x7b, 0xae, 0x7b, 0x01, 0x50, 0xfc, 0xfc, 0x01, 0xcc, 
    -	0x7b, 0xae, 0x7b, 0x7b, 0xae, 0x3d, 0x33, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x05, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 0x15, 
    -	0x33, 0x15, 0x33, 0x35, 0x01, 0x90, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0xd4, 
    -	0x14, 0x1e, 0x1e, 0x14, 0x01, 0x13, 0x64, 0x32, 0x64, 0x64, 0x32, 0x01, 
    -	0xc2, 0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x2c, 0x15, 
    -	0x1d, 0xe1, 0x32, 0x64, 0x64, 0x32, 0x64, 0x64, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x05, 0x35, 0x23, 0x15, 0x01, 0x90, 0x15, 0x1d, 
    -	0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x13, 0xfa, 0x01, 
    -	0xc2, 0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x2c, 0x15, 
    -	0x1d, 0xe1, 0x32, 0x32, 0x00, 0x01, 0x00, 0x32, 0x00, 0x31, 0x01, 0xf5, 
    -	0x01, 0xc4, 0x00, 0x1a, 0x00, 0x00, 0x25, 0x16, 0x06, 0x2b, 0x01, 0x15, 
    -	0x14, 0x0e, 0x01, 0x2b, 0x01, 0x35, 0x23, 0x15, 0x23, 0x22, 0x26, 0x3d, 
    -	0x01, 0x23, 0x22, 0x26, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 0xee, 0x08, 
    -	0x05, 0x0b, 0x2a, 0x01, 0x07, 0x08, 0x66, 0x66, 0x61, 0x0e, 0x07, 0x2a, 
    -	0x0b, 0x05, 0x08, 0xc8, 0x08, 0x16, 0x08, 0xf3, 0x08, 0x0b, 0x9b, 0x07, 
    -	0x07, 0x06, 0x9b, 0x9b, 0x0a, 0x0a, 0x9b, 0x0b, 0x08, 0xc9, 0x08, 0x08, 
    -	0x00, 0x0e, 0x00, 0x32, 0x00, 0x64, 0x02, 0x26, 0x01, 0x90, 0x00, 0x0f, 
    -	0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 
    -	0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x37, 0x00, 0x3b, 0x00, 0x3f, 
    -	0x00, 0x43, 0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 
    -	0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x17, 0x15, 0x33, 0x35, 
    -	0x17, 0x23, 0x15, 0x33, 0x27, 0x15, 0x33, 0x35, 0x17, 0x23, 0x15, 0x33, 
    -	0x27, 0x15, 0x33, 0x35, 0x17, 0x23, 0x15, 0x33, 0x27, 0x15, 0x33, 0x35, 
    -	0x17, 0x23, 0x15, 0x33, 0x07, 0x35, 0x23, 0x15, 0x21, 0x35, 0x23, 0x15, 
    -	0x21, 0x35, 0x23, 0x15, 0x27, 0x33, 0x35, 0x23, 0x37, 0x35, 0x23, 0x15, 
    -	0x02, 0x03, 0x0e, 0x15, 0x15, 0x0e, 0xfe, 0x52, 0x0e, 0x15, 0x15, 0x0e, 
    -	0xf0, 0x32, 0x19, 0x32, 0x32, 0x96, 0x32, 0x19, 0x32, 0x32, 0x96, 0x32, 
    -	0x19, 0x32, 0x32, 0x96, 0x32, 0x19, 0x32, 0x32, 0x19, 0x32, 0x01, 0x45, 
    -	0xfa, 0x01, 0x45, 0x32, 0x19, 0x32, 0x32, 0x4b, 0x64, 0x01, 0x90, 0x15, 
    -	0x0e, 0xe6, 0x0f, 0x14, 0x14, 0x0f, 0xe6, 0x0e, 0x15, 0x32, 0x32, 0x32, 
    -	0x4b, 0x32, 0x7d, 0x32, 0x32, 0x4b, 0x32, 0x7d, 0x32, 0x32, 0x4b, 0x32, 
    -	0x7d, 0x32, 0x32, 0x4b, 0x32, 0x4b, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 
    -	0x4b, 0x32, 0x19, 0x32, 0x32, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x4b, 0x02, 0x26, 0x01, 0xa9, 0x00, 0x10, 0x00, 0x1c, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x2f, 0x01, 
    -	0x26, 0x3f, 0x01, 0x36, 0x33, 0x13, 0x37, 0x27, 0x37, 0x27, 0x07, 0x27, 
    -	0x07, 0x17, 0x07, 0x17, 0x37, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x15, 0xef, 
    -	0x13, 0x10, 0xaa, 0x0e, 0x0e, 0xaa, 0x0f, 0x14, 0xa9, 0x24, 0x40, 0x40, 
    -	0x24, 0x40, 0x40, 0x24, 0x40, 0x40, 0x24, 0x40, 0x01, 0xa9, 0x1d, 0x15, 
    -	0xfa, 0x14, 0x1e, 0x0e, 0x94, 0x0d, 0x0e, 0x94, 0x0d, 0xfe, 0xed, 0x25, 
    -	0x3f, 0x40, 0x24, 0x3f, 0x3f, 0x24, 0x40, 0x3f, 0x25, 0x40, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x6e, 0x01, 0xea, 0x01, 0x87, 0x00, 0x0c, 
    -	0x00, 0x19, 0x00, 0x00, 0x01, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x26, 
    -	0x3d, 0x01, 0x34, 0x36, 0x17, 0x07, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 
    -	0x26, 0x3d, 0x01, 0x34, 0x36, 0x17, 0x01, 0xe3, 0x07, 0x07, 0xba, 0x0b, 
    -	0x0f, 0x0f, 0x0b, 0x29, 0x07, 0x07, 0xb4, 0x0a, 0x10, 0x10, 0x0a, 0x01, 
    -	0x06, 0x05, 0x07, 0x07, 0x04, 0x7c, 0x07, 0x08, 0x0e, 0xf1, 0x0e, 0x08, 
    -	0x07, 0x7c, 0x05, 0x07, 0x07, 0x04, 0x7c, 0x07, 0x08, 0x0e, 0xf1, 0x0e, 
    -	0x08, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x6e, 0x01, 0xea, 
    -	0x01, 0x87, 0x00, 0x0c, 0x00, 0x19, 0x00, 0x00, 0x37, 0x34, 0x3f, 0x01, 
    -	0x36, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2f, 0x01, 0x26, 0x37, 0x34, 0x3f, 
    -	0x01, 0x36, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2f, 0x01, 0x26, 0x32, 0x07, 
    -	0xbb, 0x0a, 0x10, 0x10, 0x0a, 0xbb, 0x07, 0xe3, 0x07, 0xb4, 0x0a, 0x10, 
    -	0x10, 0x0a, 0xb4, 0x07, 0xfa, 0x07, 0x05, 0x7c, 0x07, 0x08, 0x0e, 0xf1, 
    -	0x0e, 0x08, 0x07, 0x7c, 0x04, 0x07, 0x07, 0x05, 0x7c, 0x07, 0x08, 0x0e, 
    -	0xf1, 0x0e, 0x08, 0x07, 0x7c, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x69, 0x01, 0x5e, 0x01, 0x8c, 0x00, 0x0c, 0x00, 0x16, 0x00, 0x00, 
    -	0x01, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x26, 0x3d, 0x01, 0x34, 0x36, 
    -	0x17, 0x37, 0x32, 0x1d, 0x01, 0x14, 0x23, 0x22, 0x3d, 0x01, 0x34, 0x01, 
    -	0x00, 0x07, 0x07, 0xb5, 0x0b, 0x0e, 0x0e, 0x0b, 0xee, 0x25, 0x25, 0x26, 
    -	0x01, 0x06, 0x05, 0x07, 0x06, 0x05, 0x72, 0x07, 0x09, 0x0d, 0xdd, 0x0d, 
    -	0x09, 0x07, 0x14, 0x1d, 0xe9, 0x1d, 0x1d, 0xe9, 0x1d, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x69, 0x01, 0x5e, 0x01, 0x8c, 0x00, 0x0c, 
    -	0x00, 0x16, 0x00, 0x00, 0x37, 0x34, 0x3f, 0x01, 0x36, 0x16, 0x1d, 0x01, 
    -	0x14, 0x06, 0x2f, 0x01, 0x26, 0x27, 0x34, 0x33, 0x32, 0x1d, 0x01, 0x14, 
    -	0x23, 0x22, 0x35, 0x89, 0x07, 0xb6, 0x0a, 0x0e, 0x0e, 0x0a, 0xb6, 0x07, 
    -	0x57, 0x26, 0x25, 0x25, 0x26, 0xfa, 0x07, 0x05, 0x72, 0x07, 0x09, 0x0d, 
    -	0xdd, 0x0d, 0x09, 0x07, 0x72, 0x05, 0x7b, 0x1d, 0x1d, 0xe9, 0x1d, 0x1d, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x00, 0x01, 0x4a, 0x01, 0xf4, 0x00, 0x1b, 
    -	0x00, 0x29, 0x00, 0x63, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x01, 0x14, 0x1e, 
    -	0x01, 0x1d, 0x01, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x3e, 0x01, 
    -	0x34, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x36, 0x32, 0x16, 0x15, 0x07, 0x30, 
    -	0x07, 0x06, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x27, 0x26, 0x23, 0x22, 
    -	0x17, 0x34, 0x3e, 0x03, 0x37, 0x36, 0x35, 0x37, 0x06, 0x22, 0x27, 0x17, 
    -	0x14, 0x17, 0x1e, 0x06, 0x15, 0x14, 0x0e, 0x07, 0x07, 0x06, 0x1d, 0x01, 
    -	0x3e, 0x02, 0x35, 0x34, 0x32, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x35, 0x34, 
    -	0x27, 0x2e, 0x06, 0x01, 0x4a, 0x30, 0x31, 0x31, 0x30, 0x56, 0x6c, 0x56, 
    -	0x30, 0x31, 0x31, 0x30, 0x57, 0x6a, 0x57, 0xf1, 0x09, 0x02, 0x04, 0x2e, 
    -	0x3e, 0x42, 0x2c, 0x07, 0x0f, 0x30, 0x35, 0x3c, 0x48, 0x04, 0x0e, 0x06, 
    -	0x19, 0x02, 0x2e, 0x01, 0x32, 0x7a, 0x32, 0x02, 0x2d, 0x03, 0x10, 0x07, 
    -	0x0c, 0x05, 0x06, 0x03, 0x01, 0x05, 0x03, 0x08, 0x04, 0x0b, 0x05, 0x0d, 
    -	0x02, 0x2d, 0x04, 0x3a, 0x22, 0x1a, 0x21, 0x3d, 0x03, 0x2e, 0x02, 0x11, 
    -	0x05, 0x0d, 0x05, 0x07, 0x02, 0x01, 0x82, 0x16, 0x34, 0x2f, 0x1e, 0x2e, 
    -	0x33, 0x17, 0x3b, 0x11, 0x27, 0x27, 0x11, 0x3b, 0x17, 0x33, 0x2e, 0x1e, 
    -	0x2f, 0x34, 0x16, 0x3b, 0x10, 0x27, 0x27, 0x10, 0x03, 0x07, 0x04, 0x03, 
    -	0x1a, 0x19, 0x05, 0x0a, 0x1b, 0xdb, 0x09, 0x0f, 0x12, 0x07, 0x18, 0x02, 
    -	0x2e, 0x0f, 0x19, 0x1b, 0x1b, 0x19, 0x10, 0x2d, 0x03, 0x0f, 0x07, 0x0c, 
    -	0x09, 0x0b, 0x0c, 0x06, 0x05, 0x09, 0x09, 0x07, 0x0a, 0x05, 0x0b, 0x04, 
    -	0x0c, 0x02, 0x2d, 0x10, 0x21, 0x02, 0x13, 0x18, 0x11, 0x0f, 0x0f, 0x11, 
    -	0x18, 0x13, 0x02, 0x21, 0x0f, 0x2e, 0x02, 0x10, 0x05, 0x0e, 0x08, 0x0c, 
    -	0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0xc3, 0x00, 0xa0, 
    -	0x01, 0x31, 0x00, 0x09, 0x00, 0x00, 0x12, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x22, 0x26, 0x35, 0x34, 0x52, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0x01, 0x31, 
    -	0x20, 0x17, 0x16, 0x21, 0x21, 0x16, 0x17, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0xc3, 0x01, 0x4f, 0x01, 0x31, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 
    -	0x12, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x34, 0x52, 0x2e, 0x20, 0x20, 0x2e, 
    -	0x20, 0xcf, 0x2e, 0x20, 0x21, 0x16, 0x17, 0x20, 0x01, 0x31, 0x20, 0x17, 
    -	0x16, 0x21, 0x20, 0x2e, 0x20, 0x20, 0x17, 0x16, 0x21, 0x20, 0x2e, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0xc3, 0x01, 0xfe, 0x01, 0x31, 0x00, 0x09, 
    -	0x00, 0x13, 0x00, 0x1d, 0x00, 0x00, 0x12, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 
    -	0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 
    -	0x52, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0xcf, 0x2e, 0x20, 0x21, 0x2c, 0x21, 
    -	0xcf, 0x2e, 0x20, 0x20, 0x2e, 0x20, 0x01, 0x31, 0x20, 0x17, 0x16, 0x21, 
    -	0x21, 0x16, 0x17, 0x20, 0x20, 0x17, 0x16, 0x21, 0x21, 0x16, 0x17, 0x20, 
    -	0x20, 0x17, 0x16, 0x21, 0x21, 0x16, 0x17, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x7d, 0x01, 0xf2, 0x01, 0x79, 0x00, 0x0c, 0x00, 0x00, 0x25, 0x14, 
    -	0x06, 0x23, 0x21, 0x22, 0x26, 0x36, 0x37, 0x25, 0x36, 0x16, 0x15, 0x01, 
    -	0xf2, 0x18, 0x10, 0xfe, 0x7a, 0x0b, 0x09, 0x06, 0x09, 0x01, 0x91, 0x0e, 
    -	0x14, 0xa5, 0x11, 0x17, 0x05, 0x0a, 0x05, 0xe2, 0x09, 0x0b, 0x11, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x64, 0x01, 0x5e, 0x01, 0x90, 0x00, 0x0c, 
    -	0x00, 0x00, 0x01, 0x32, 0x1d, 0x01, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 
    -	0x34, 0x36, 0x33, 0x01, 0x39, 0x25, 0x25, 0xe1, 0x26, 0x12, 0x14, 0x01, 
    -	0x90, 0x20, 0xeb, 0x21, 0x21, 0xeb, 0x12, 0x0e, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x96, 0x01, 0x18, 0x01, 0x5e, 0x00, 0x02, 0x00, 0x00, 0x3f, 0x01, 
    -	0x17, 0x32, 0x73, 0x73, 0x96, 0xc8, 0xc8, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x64, 0x01, 0x2c, 0x01, 0x91, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x16, 
    -	0x15, 0x14, 0x0f, 0x01, 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 
    -	0x25, 0x07, 0x07, 0xd6, 0x0c, 0x11, 0x11, 0x0c, 0x01, 0x07, 0x05, 0x08, 
    -	0x07, 0x05, 0x85, 0x08, 0x0a, 0x0f, 0x01, 0x01, 0x0f, 0x0a, 0x08, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x87, 0x00, 0xfa, 0x01, 0x6d, 0x00, 0x02, 
    -	0x00, 0x00, 0x13, 0x17, 0x07, 0x32, 0xc8, 0xc8, 0x01, 0x6d, 0x73, 0x73, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x96, 0x01, 0x18, 0x01, 0x5e, 0x00, 0x02, 
    -	0x00, 0x00, 0x01, 0x07, 0x27, 0x01, 0x18, 0x73, 0x73, 0x01, 0x5e, 0xc8, 
    -	0xc8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x87, 0x00, 0xfa, 
    -	0x01, 0x6d, 0x00, 0x02, 0x00, 0x00, 0x13, 0x15, 0x27, 0xfa, 0xc8, 0x01, 
    -	0x6d, 0xe6, 0x73, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x4b, 0x01, 0x90, 
    -	0x01, 0xa9, 0x00, 0x09, 0x00, 0x00, 0x12, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x22, 0x26, 0x35, 0x34, 0x98, 0x92, 0x66, 0x66, 0x92, 0x66, 0x01, 0xa9, 
    -	0x66, 0x49, 0x48, 0x67, 0x67, 0x48, 0x49, 0x00, 0x00, 0x0a, 0x00, 0x32, 
    -	0x00, 0x00, 0x02, 0x26, 0x01, 0xf4, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x1c, 
    -	0x00, 0x28, 0x00, 0x34, 0x00, 0x40, 0x00, 0x4a, 0x00, 0x58, 0x00, 0x66, 
    -	0x00, 0x6f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x2b, 0x01, 0x22, 
    -	0x35, 0x34, 0x36, 0x33, 0x24, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 
    -	0x35, 0x34, 0x17, 0x35, 0x22, 0x06, 0x15, 0x14, 0x16, 0x27, 0x14, 0x2b, 
    -	0x01, 0x22, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x36, 0x22, 0x26, 
    -	0x3d, 0x01, 0x34, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x02, 0x32, 0x16, 
    -	0x1d, 0x01, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x13, 0x07, 0x06, 
    -	0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x16, 0x01, 0x3e, 0x01, 0x17, 0x16, 
    -	0x06, 0x0f, 0x01, 0x0e, 0x01, 0x27, 0x26, 0x37, 0x36, 0x13, 0x17, 0x16, 
    -	0x07, 0x06, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x16, 0x01, 
    -	0x26, 0x36, 0x1f, 0x01, 0x16, 0x06, 0x27, 0x26, 0x02, 0x0d, 0x0a, 0x0f, 
    -	0x19, 0x18, 0x19, 0x0f, 0x0a, 0xfe, 0xfe, 0x72, 0x51, 0x51, 0x72, 0x50, 
    -	0x8c, 0x2b, 0x3c, 0x3c, 0x87, 0x19, 0x19, 0x19, 0x0f, 0x0a, 0x19, 0x0a, 
    -	0x0f, 0xb7, 0x10, 0x0c, 0x0c, 0x10, 0x0c, 0x1c, 0x10, 0x0c, 0x0c, 0x10, 
    -	0x0c, 0xcc, 0x11, 0x11, 0x0f, 0x0e, 0x12, 0x02, 0x0f, 0x12, 0x1c, 0xfe, 
    -	0x90, 0x07, 0x13, 0x05, 0x06, 0x02, 0x07, 0x12, 0x07, 0x13, 0x05, 0x0f, 
    -	0x12, 0x03, 0x19, 0x12, 0x12, 0x0f, 0x05, 0x13, 0x07, 0x0f, 0x03, 0x07, 
    -	0x02, 0x06, 0x05, 0x13, 0x01, 0x2e, 0x12, 0x1c, 0x12, 0x11, 0x12, 0x1c, 
    -	0x12, 0x0f, 0x01, 0x0e, 0x0c, 0x08, 0x14, 0x14, 0x08, 0x0c, 0x75, 0x50, 
    -	0x39, 0x3a, 0x50, 0x50, 0x3a, 0x39, 0x9d, 0xc8, 0x3b, 0x29, 0x2a, 0x3a, 
    -	0x64, 0x14, 0x14, 0x08, 0x0c, 0x0c, 0xa7, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 
    -	0x0f, 0x0a, 0x19, 0x0a, 0xfe, 0x93, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0x0f, 
    -	0x0a, 0x19, 0x0a, 0x01, 0x59, 0x11, 0x11, 0x0d, 0x0e, 0x12, 0x03, 0x0f, 
    -	0x11, 0x1c, 0xfe, 0xc8, 0x08, 0x02, 0x06, 0x06, 0x13, 0x07, 0x12, 0x07, 
    -	0x02, 0x06, 0x0e, 0x12, 0x02, 0x01, 0x52, 0x12, 0x12, 0x0e, 0x05, 0x02, 
    -	0x07, 0x0f, 0x02, 0x07, 0x13, 0x06, 0x06, 0x02, 0xfe, 0x9a, 0x12, 0x1c, 
    -	0x12, 0x11, 0x12, 0x1c, 0x11, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x28, 0x01, 0xd6, 0x01, 0xcc, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 
    -	0x13, 0x15, 0x23, 0x3e, 0x01, 0x37, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x33, 0x32, 0x36, 0x35, 0xea, 0xb8, 0x09, 0x67, 0x7d, 
    -	0x4e, 0x69, 0x7b, 0x58, 0x50, 0x76, 0x0b, 0xd4, 0x0a, 0x0f, 0x01, 0xcc, 
    -	0xb8, 0x49, 0x67, 0x08, 0x0a, 0x77, 0x50, 0x57, 0x7c, 0x69, 0x4f, 0x0e, 
    -	0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x58, 0x02, 0x26, 
    -	0x01, 0x9d, 0x00, 0x18, 0x00, 0x00, 0x01, 0x32, 0x16, 0x14, 0x06, 0x23, 
    -	0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x26, 0x35, 
    -	0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x01, 0xae, 0x32, 0x46, 0x46, 
    -	0x32, 0xfe, 0xdf, 0x25, 0x36, 0x35, 0x26, 0x01, 0x08, 0x01, 0x01, 0x4e, 
    -	0x37, 0x2d, 0x46, 0x0c, 0x0e, 0x01, 0x42, 0x44, 0x62, 0x44, 0x34, 0x24, 
    -	0x25, 0x34, 0x01, 0x06, 0x0d, 0x36, 0x4c, 0x34, 0x29, 0x02, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x1e, 0x01, 0xea, 0x01, 0xd6, 0x00, 0x09, 
    -	0x00, 0x00, 0x01, 0x17, 0x33, 0x07, 0x17, 0x27, 0x07, 0x37, 0x27, 0x33, 
    -	0x01, 0x0e, 0x3c, 0xa0, 0x83, 0x2f, 0x88, 0x88, 0x2f, 0x83, 0xa0, 0x01, 
    -	0xd6, 0xa8, 0x62, 0xae, 0x68, 0x68, 0xae, 0x62, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x1e, 0x01, 0xea, 0x01, 0xd6, 0x00, 0x09, 0x00, 0x13, 0x00, 0x00, 
    -	0x01, 0x07, 0x17, 0x27, 0x07, 0x37, 0x27, 0x33, 0x37, 0x17, 0x07, 0x17, 
    -	0x27, 0x37, 0x07, 0x27, 0x07, 0x27, 0x17, 0x07, 0x01, 0xea, 0x83, 0x2f, 
    -	0x88, 0x88, 0x2f, 0x83, 0xa0, 0x3c, 0x3c, 0x3c, 0x4b, 0x1f, 0x48, 0x58, 
    -	0x1c, 0x1b, 0x58, 0x47, 0x1f, 0x01, 0x2e, 0x62, 0xae, 0x68, 0x68, 0xae, 
    -	0x62, 0xa8, 0xa8, 0x77, 0x3e, 0x59, 0x39, 0x02, 0x65, 0x65, 0x02, 0x39, 
    -	0x59, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x2d, 0x01, 0x88, 
    -	0x01, 0xc7, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x32, 0x16, 0x07, 
    -	0x03, 0x0e, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x03, 0x26, 0x3e, 0x01, 0x16, 
    -	0x32, 0x3e, 0x01, 0x34, 0x2e, 0x01, 0x22, 0x0e, 0x01, 0x14, 0x16, 0xdd, 
    -	0x4c, 0x61, 0x03, 0x24, 0x01, 0x20, 0x41, 0x48, 0x40, 0x21, 0x01, 0x24, 
    -	0x02, 0x28, 0x51, 0x0f, 0x48, 0x41, 0x21, 0x21, 0x41, 0x48, 0x41, 0x21, 
    -	0x21, 0x01, 0xc7, 0x29, 0x17, 0xfe, 0xd7, 0x07, 0x16, 0x14, 0x14, 0x16, 
    -	0x07, 0x01, 0x29, 0x0e, 0x1d, 0x15, 0x6c, 0x0f, 0x12, 0x0c, 0x11, 0x0f, 
    -	0x0f, 0x11, 0x0c, 0x12, 0x00, 0x03, 0x00, 0x32, 0x00, 0x7d, 0x01, 0x90, 
    -	0x01, 0x77, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x23, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x35, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x14, 0x06, 0x23, 0x15, 0x32, 
    -	0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x01, 0x77, 
    -	0x0b, 0x0e, 0x0f, 0x0a, 0xfe, 0xd4, 0x0a, 0x0f, 0x0e, 0x0b, 0x0a, 0x0f, 
    -	0x0e, 0x0b, 0x01, 0x2c, 0x0b, 0x0e, 0x0f, 0x0a, 0x0b, 0x0e, 0x0f, 0x0a, 
    -	0xfe, 0xd4, 0x0a, 0x0f, 0x0e, 0x0b, 0x01, 0x13, 0x0f, 0x14, 0x0f, 0x0f, 
    -	0x14, 0x0f, 0x32, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x96, 0x0f, 0x14, 
    -	0x0f, 0x0f, 0x14, 0x0f, 0x00, 0x01, 0x00, 0x32, 0x00, 0x2d, 0x01, 0xcd, 
    -	0x01, 0xc7, 0x00, 0x0d, 0x00, 0x00, 0x24, 0x3e, 0x01, 0x27, 0x16, 0x17, 
    -	0x16, 0x14, 0x06, 0x22, 0x27, 0x26, 0x27, 0x16, 0x01, 0x03, 0x6a, 0x13, 
    -	0x24, 0x1a, 0x16, 0x40, 0x80, 0xb6, 0x40, 0x14, 0x10, 0x3e, 0x8d, 0x6a, 
    -	0x92, 0x3e, 0x0d, 0x17, 0x40, 0xb5, 0x80, 0x40, 0x14, 0x1b, 0x23, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x4b, 0x01, 0xe2, 0x01, 0xaa, 0x00, 0x0f, 
    -	0x00, 0x23, 0x00, 0x00, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x27, 0x26, 0x34, 
    -	0x37, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x32, 0x17, 0x36, 0x35, 0x34, 
    -	0x27, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 
    -	0x15, 0x14, 0x1f, 0x01, 0x01, 0xbe, 0x23, 0x23, 0xb4, 0xb4, 0x23, 0x23, 
    -	0x20, 0x58, 0x1f, 0x1d, 0x1c, 0x20, 0x58, 0x05, 0x15, 0x13, 0x13, 0x20, 
    -	0x1a, 0x1a, 0x34, 0x35, 0x18, 0x1b, 0x20, 0x14, 0x13, 0x16, 0x99, 0x01, 
    -	0x8c, 0x20, 0x5c, 0x20, 0xa5, 0xa5, 0x20, 0x5c, 0x20, 0x1d, 0x1d, 0x1a, 
    -	0x1a, 0x1d, 0x9f, 0x14, 0x20, 0x21, 0x11, 0x13, 0x18, 0x2e, 0x2e, 0x18, 
    -	0x13, 0x12, 0x20, 0x21, 0x13, 0x8f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x4b, 0x01, 0xe2, 0x01, 0xaa, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x16, 
    -	0x14, 0x0f, 0x01, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x37, 
    -	0x36, 0x32, 0x01, 0xbe, 0x23, 0x23, 0xb4, 0xb4, 0x23, 0x23, 0x1f, 0x59, 
    -	0x20, 0x1c, 0x1d, 0x1f, 0x58, 0x01, 0x8d, 0x20, 0x5c, 0x21, 0xa5, 0xa5, 
    -	0x21, 0x5c, 0x20, 0x1d, 0x1d, 0x1a, 0x1a, 0x1d, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x0f, 0x01, 0x55, 0x01, 0xe5, 0x00, 0x1a, 0x00, 0x00, 0x13, 0x14, 
    -	0x1e, 0x02, 0x07, 0x06, 0x27, 0x26, 0x37, 0x36, 0x2e, 0x02, 0x27, 0x11, 
    -	0x16, 0x06, 0x07, 0x06, 0x2e, 0x01, 0x36, 0x37, 0x36, 0x17, 0x11, 0xf1, 
    -	0x2e, 0x2c, 0x11, 0x1c, 0x0a, 0x03, 0x01, 0x01, 0x05, 0x04, 0x09, 0x22, 
    -	0x18, 0x01, 0x27, 0x21, 0x25, 0x45, 0x14, 0x28, 0x26, 0x2b, 0x24, 0x01, 
    -	0xe5, 0x15, 0x37, 0x2d, 0x4a, 0x28, 0x11, 0x09, 0x03, 0x05, 0x09, 0x26, 
    -	0x28, 0x21, 0x04, 0xfe, 0xf4, 0x18, 0x2f, 0x0c, 0x0e, 0x14, 0x38, 0x3b, 
    -	0x0d, 0x0f, 0x0d, 0x01, 0x46, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x0b, 0x01, 0xa5, 0x01, 0xea, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x25, 
    -	0x11, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x17, 
    -	0x35, 0x07, 0x15, 0x14, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 
    -	0x36, 0x17, 0x99, 0x01, 0x0b, 0x01, 0x20, 0x1b, 0x20, 0x2e, 0x08, 0x09, 
    -	0x19, 0x1e, 0x1a, 0x1b, 0xb1, 0x20, 0x1b, 0x20, 0x2d, 0x08, 0x09, 0x18, 
    -	0x1e, 0x1b, 0x1b, 0x01, 0xb0, 0x3a, 0xfe, 0xa0, 0x15, 0x27, 0x0a, 0x0c, 
    -	0x10, 0x18, 0x18, 0x31, 0x0c, 0x0a, 0x05, 0xbc, 0x29, 0xf5, 0x15, 0x27, 
    -	0x0a, 0x0b, 0x0f, 0x18, 0x18, 0x31, 0x0c, 0x0a, 0x05, 0x00, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x64, 0x01, 0x5e, 0x01, 0x90, 0x00, 0x0b, 
    -	0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x00, 0x13, 0x32, 0x1d, 0x01, 
    -	0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 
    -	0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x33, 0x07, 0x32, 0x1d, 0x01, 
    -	0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 
    -	0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x33, 0x87, 0x28, 0x28, 0x2d, 
    -	0x28, 0x28, 0xdc, 0x28, 0x28, 0x2d, 0x28, 0x28, 0x82, 0x28, 0x28, 0x2d, 
    -	0x28, 0x28, 0xdc, 0x28, 0x28, 0x2d, 0x28, 0x28, 0x01, 0x90, 0x28, 0x2d, 
    -	0x28, 0x28, 0x2d, 0x28, 0x28, 0x2d, 0x28, 0x28, 0x2d, 0x28, 0xaf, 0x28, 
    -	0x2d, 0x28, 0x28, 0x2d, 0x28, 0x28, 0x2d, 0x28, 0x28, 0x2d, 0x28, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x26, 0x01, 0xf5, 0x01, 0xd0, 0x00, 0x16, 
    -	0x00, 0x00, 0x01, 0x36, 0x16, 0x07, 0x0e, 0x02, 0x2e, 0x02, 0x06, 0x07, 
    -	0x17, 0x23, 0x03, 0x37, 0x3e, 0x01, 0x1e, 0x03, 0x36, 0x01, 0xe7, 0x07, 
    -	0x08, 0x04, 0x30, 0x44, 0x2a, 0x1f, 0x1d, 0x22, 0x3b, 0x28, 0x2d, 0x32, 
    -	0x5c, 0x2e, 0x2d, 0x3e, 0x24, 0x1c, 0x22, 0x2d, 0x54, 0x01, 0x7f, 0x03, 
    -	0x07, 0x06, 0x45, 0x4b, 0x0f, 0x0d, 0x18, 0x10, 0x14, 0x21, 0xb0, 0x01, 
    -	0x68, 0x11, 0x21, 0x14, 0x11, 0x22, 0x25, 0x19, 0x05, 0x00, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x1d, 0x02, 0x25, 0x01, 0xd8, 0x00, 0x2e, 
    -	0x00, 0x3a, 0x00, 0x59, 0x00, 0x61, 0x00, 0x00, 0x13, 0x0e, 0x01, 0x14, 
    -	0x23, 0x0e, 0x01, 0x07, 0x06, 0x2f, 0x01, 0x26, 0x37, 0x3e, 0x01, 0x37, 
    -	0x36, 0x32, 0x37, 0x3e, 0x01, 0x37, 0x32, 0x3e, 0x01, 0x37, 0x36, 0x37, 
    -	0x32, 0x17, 0x32, 0x07, 0x06, 0x07, 0x06, 0x17, 0x16, 0x17, 0x16, 0x07, 
    -	0x0e, 0x01, 0x07, 0x06, 0x27, 0x2e, 0x01, 0x1f, 0x01, 0x16, 0x0f, 0x01, 
    -	0x06, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x36, 0x25, 0x16, 0x07, 0x06, 0x27, 
    -	0x26, 0x0f, 0x01, 0x27, 0x37, 0x3e, 0x01, 0x26, 0x37, 0x36, 0x37, 0x36, 
    -	0x16, 0x07, 0x06, 0x07, 0x06, 0x16, 0x17, 0x16, 0x37, 0x3e, 0x01, 0x37, 
    -	0x36, 0x16, 0x01, 0x37, 0x17, 0x07, 0x06, 0x2f, 0x01, 0x26, 0x7f, 0x04, 
    -	0x03, 0x01, 0x01, 0x0f, 0x02, 0x08, 0x06, 0x23, 0x05, 0x06, 0x01, 0x10, 
    -	0x02, 0x03, 0x15, 0x08, 0x07, 0x04, 0x03, 0x01, 0x07, 0x13, 0x0b, 0x43, 
    -	0x1a, 0x3d, 0x0d, 0x06, 0x0a, 0x3c, 0x10, 0x28, 0x16, 0x11, 0x02, 0x04, 
    -	0x05, 0x01, 0x24, 0x01, 0x07, 0x02, 0x15, 0x1d, 0x7c, 0xcd, 0x09, 0x0a, 
    -	0x18, 0x0b, 0x08, 0xcf, 0x04, 0x04, 0x24, 0x06, 0x01, 0x19, 0x08, 0x10, 
    -	0x19, 0x34, 0x1c, 0x16, 0x29, 0x22, 0x22, 0x0c, 0x07, 0x01, 0x03, 0x06, 
    -	0x40, 0x06, 0x06, 0x02, 0x06, 0x11, 0x07, 0x02, 0x13, 0x1d, 0x13, 0x03, 
    -	0x14, 0x01, 0x02, 0x09, 0xfe, 0x54, 0x7f, 0x26, 0x7b, 0x0a, 0x09, 0x17, 
    -	0x0b, 0x01, 0x48, 0x04, 0x0e, 0x0b, 0x01, 0x0d, 0x02, 0x07, 0x09, 0x26, 
    -	0x06, 0x06, 0x01, 0x0c, 0x02, 0x03, 0x07, 0x07, 0x18, 0x03, 0x07, 0x0f, 
    -	0x08, 0x2d, 0x03, 0x01, 0x04, 0x1a, 0x0c, 0x1c, 0x1d, 0x17, 0x01, 0x04, 
    -	0x03, 0x01, 0x21, 0x01, 0x04, 0x02, 0x18, 0x0c, 0x19, 0xee, 0x0b, 0x08, 
    -	0x15, 0x07, 0x09, 0xec, 0x04, 0x06, 0x1f, 0x04, 0x60, 0x34, 0x1f, 0x2c, 
    -	0x0d, 0x06, 0x16, 0x27, 0x27, 0x23, 0x0c, 0x1d, 0x24, 0x0b, 0x1c, 0x1c, 
    -	0x03, 0x09, 0x03, 0x06, 0x22, 0x05, 0x19, 0x0e, 0x14, 0x1f, 0x06, 0x1d, 
    -	0x02, 0x05, 0x01, 0xfe, 0xa2, 0x7c, 0x2b, 0x79, 0x0a, 0x08, 0x17, 0x09, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x28, 0x01, 0xd6, 0x01, 0xcc, 0x00, 0x2d, 
    -	0x00, 0x35, 0x00, 0x00, 0x25, 0x14, 0x17, 0x06, 0x07, 0x26, 0x07, 0x06, 
    -	0x17, 0x06, 0x07, 0x26, 0x22, 0x07, 0x26, 0x27, 0x36, 0x27, 0x26, 0x07, 
    -	0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 0x37, 0x16, 0x37, 0x36, 0x27, 
    -	0x36, 0x37, 0x16, 0x32, 0x37, 0x16, 0x17, 0x06, 0x17, 0x16, 0x37, 0x16, 
    -	0x17, 0x0e, 0x01, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x01, 0xae, 
    -	0x28, 0x06, 0x0b, 0x23, 0x21, 0x1b, 0x0a, 0x14, 0x16, 0x17, 0x56, 0x17, 
    -	0x16, 0x14, 0x0a, 0x1b, 0x1b, 0x29, 0x07, 0x0a, 0x29, 0x29, 0x0a, 0x07, 
    -	0x25, 0x1f, 0x1b, 0x0a, 0x15, 0x15, 0x17, 0x56, 0x17, 0x15, 0x15, 0x0a, 
    -	0x1b, 0x21, 0x23, 0x0b, 0x06, 0x28, 0xd0, 0x4c, 0x35, 0x35, 0x4c, 0x35, 
    -	0xfa, 0x24, 0x19, 0x14, 0x15, 0x09, 0x1f, 0x1d, 0x27, 0x0a, 0x08, 0x29, 
    -	0x29, 0x08, 0x0a, 0x28, 0x1c, 0x1b, 0x0a, 0x0d, 0x1c, 0x1a, 0x28, 0x24, 
    -	0x1a, 0x1c, 0x0d, 0x09, 0x1f, 0x1c, 0x28, 0x0b, 0x06, 0x28, 0x28, 0x06, 
    -	0x0b, 0x27, 0x1d, 0x1f, 0x09, 0x15, 0x14, 0x19, 0x80, 0x35, 0x4c, 0x36, 
    -	0x36, 0x4c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x26, 0x02, 0x14, 
    -	0x01, 0xcf, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15, 0x00, 0x00, 0x25, 0x16, 
    -	0x07, 0x06, 0x23, 0x21, 0x22, 0x27, 0x26, 0x37, 0x13, 0x36, 0x32, 0x17, 
    -	0x13, 0x35, 0x23, 0x15, 0x37, 0x35, 0x23, 0x15, 0x02, 0x11, 0x05, 0x05, 
    -	0x05, 0x0a, 0xfe, 0x42, 0x09, 0x05, 0x06, 0x05, 0xdf, 0x04, 0x16, 0x04, 
    -	0x0d, 0x37, 0x37, 0x37, 0x3f, 0x08, 0x09, 0x08, 0x08, 0x09, 0x08, 0x01, 
    -	0x87, 0x09, 0x09, 0xfe, 0x92, 0x32, 0x32, 0x57, 0x96, 0x96, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x18, 0x00, 0xfc, 0x01, 0xdc, 0x00, 0x11, 
    -	0x00, 0x00, 0x37, 0x26, 0x3e, 0x01, 0x2e, 0x01, 0x27, 0x26, 0x3e, 0x01, 
    -	0x17, 0x16, 0x06, 0x1e, 0x01, 0x17, 0x16, 0x06, 0x47, 0x02, 0x27, 0x28, 
    -	0x02, 0x5c, 0x03, 0x02, 0x58, 0x5c, 0x02, 0x03, 0x50, 0x02, 0x5d, 0x02, 
    -	0x02, 0xb2, 0x19, 0x02, 0x5a, 0x5c, 0x06, 0x27, 0x08, 0x06, 0x6c, 0x65, 
    -	0x02, 0x02, 0xb6, 0x04, 0x27, 0x09, 0x0a, 0xcf, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x58, 0x02, 0x26, 0x01, 0x9d, 0x00, 0x18, 0x00, 0x3b, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x33, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 
    -	0x36, 0x07, 0x36, 0x35, 0x34, 0x27, 0x23, 0x26, 0x27, 0x37, 0x32, 0x35, 
    -	0x34, 0x27, 0x26, 0x07, 0x0e, 0x02, 0x07, 0x06, 0x15, 0x14, 0x1f, 0x01, 
    -	0x16, 0x17, 0x0f, 0x01, 0x06, 0x15, 0x14, 0x17, 0x16, 0x37, 0x36, 0x01, 
    -	0xae, 0x32, 0x46, 0x46, 0x32, 0xfe, 0xdf, 0x25, 0x36, 0x35, 0x26, 0x01, 
    -	0x08, 0x01, 0x01, 0x4e, 0x37, 0x2d, 0x46, 0x0c, 0x0e, 0x5a, 0x07, 0x0f, 
    -	0x02, 0x0d, 0x06, 0x19, 0x03, 0x04, 0x08, 0x09, 0x01, 0x1c, 0x21, 0x06, 
    -	0x06, 0x0f, 0x02, 0x04, 0x0f, 0x1a, 0x01, 0x01, 0x04, 0x09, 0x08, 0x32, 
    -	0x01, 0x42, 0x44, 0x62, 0x44, 0x34, 0x24, 0x25, 0x34, 0x01, 0x06, 0x0d, 
    -	0x36, 0x4c, 0x34, 0x29, 0x02, 0x6c, 0x08, 0x07, 0x0a, 0x06, 0x07, 0x01, 
    -	0x3a, 0x0a, 0x07, 0x02, 0x05, 0x09, 0x01, 0x1e, 0x24, 0x08, 0x09, 0x06, 
    -	0x0b, 0x04, 0x01, 0x02, 0x06, 0x39, 0x04, 0x04, 0x03, 0x05, 0x04, 0x05, 
    -	0x0a, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x87, 0x02, 0x26, 
    -	0x01, 0x6d, 0x00, 0x17, 0x00, 0x21, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x07, 0x33, 0x26, 0x35, 0x34, 0x36, 0x05, 0x14, 
    -	0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x04, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x01, 0xb3, 0x30, 0x43, 0x43, 0x30, 
    -	0xfe, 0xf2, 0x2f, 0x44, 0x44, 0x2f, 0x30, 0x43, 0x14, 0x50, 0x14, 0x44, 
    -	0xfe, 0xe0, 0x26, 0x36, 0x26, 0x26, 0x36, 0x26, 0x01, 0x34, 0x36, 0x26, 
    -	0x26, 0x36, 0x26, 0x01, 0x6d, 0x43, 0x30, 0x2f, 0x44, 0x44, 0x2f, 0x30, 
    -	0x43, 0x43, 0x30, 0x24, 0x1d, 0x20, 0x21, 0x30, 0x43, 0x73, 0x1a, 0x27, 
    -	0x27, 0x1a, 0x1b, 0x26, 0x26, 0x5c, 0x27, 0x1a, 0x1b, 0x26, 0x26, 0x1b, 
    -	0x1a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x0f, 0x02, 0x26, 
    -	0x01, 0xe5, 0x00, 0x19, 0x00, 0x00, 0x3f, 0x01, 0x23, 0x07, 0x23, 0x37, 
    -	0x27, 0x33, 0x17, 0x33, 0x27, 0x33, 0x17, 0x33, 0x3a, 0x01, 0x1e, 0x02, 
    -	0x15, 0x14, 0x06, 0x0f, 0x01, 0x23, 0x07, 0xb8, 0x3e, 0x5a, 0x38, 0x32, 
    -	0x28, 0x28, 0x32, 0x38, 0x5a, 0x3e, 0x32, 0x70, 0x81, 0x03, 0x0a, 0x1a, 
    -	0x14, 0x10, 0x26, 0x12, 0x13, 0x81, 0x70, 0x0f, 0xc8, 0x32, 0x55, 0x55, 
    -	0x32, 0xc8, 0xc8, 0x04, 0x07, 0x0e, 0x0a, 0x10, 0x11, 0x01, 0x01, 0xc8, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x69, 0x01, 0xf4, 0x01, 0x8b, 0x00, 0x12, 
    -	0x00, 0x24, 0x00, 0x00, 0x13, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, 0x07, 
    -	0x06, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x05, 
    -	0x36, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 
    -	0x1f, 0x01, 0x16, 0x32, 0x37, 0x41, 0x10, 0x02, 0x01, 0x0c, 0x01, 0xa7, 
    -	0x13, 0x09, 0x04, 0x08, 0x07, 0xb2, 0x02, 0x08, 0x0f, 0x0e, 0x09, 0x02, 
    -	0xb2, 0x01, 0xa2, 0x0a, 0x11, 0x08, 0xfe, 0x70, 0x08, 0x11, 0x0a, 0xc0, 
    -	0x09, 0x1c, 0x09, 0x01, 0x70, 0x09, 0x0b, 0x07, 0x10, 0x07, 0x04, 0x03, 
    -	0x60, 0x01, 0x05, 0x05, 0x01, 0x60, 0x2f, 0x05, 0x0a, 0xb8, 0x08, 0x10, 
    -	0x10, 0x08, 0xb8, 0x0a, 0x05, 0x64, 0x05, 0x05, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x37, 0x01, 0xb9, 0x01, 0xbe, 0x00, 0x0b, 0x00, 0x19, 0x00, 0x00, 
    -	0x01, 0x1e, 0x01, 0x1d, 0x01, 0x0f, 0x02, 0x3f, 0x02, 0x36, 0x03, 0x37, 
    -	0x26, 0x27, 0x2e, 0x01, 0x23, 0x27, 0x0f, 0x01, 0x16, 0x17, 0x16, 0x17, 
    -	0x01, 0x99, 0x10, 0x0f, 0x7e, 0x91, 0x77, 0x19, 0x91, 0x7e, 0x1b, 0xd3, 
    -	0x0c, 0x01, 0x19, 0x0b, 0x17, 0x06, 0x07, 0x0b, 0x09, 0x0e, 0x09, 0x0c, 
    -	0x06, 0x01, 0x9f, 0x10, 0x20, 0x08, 0x08, 0x7e, 0x90, 0x1a, 0x78, 0x90, 
    -	0x7e, 0x06, 0xfe, 0x9c, 0x0c, 0x16, 0x19, 0x0b, 0x0d, 0x01, 0x0c, 0x28, 
    -	0x08, 0x09, 0x0c, 0x0c, 0x00, 0x01, 0x00, 0x32, 0x00, 0x00, 0x01, 0x90, 
    -	0x01, 0xf5, 0x00, 0x34, 0x00, 0x00, 0x37, 0x06, 0x27, 0x26, 0x37, 0x36, 
    -	0x37, 0x26, 0x37, 0x1e, 0x02, 0x37, 0x36, 0x2e, 0x01, 0x37, 0x3e, 0x01, 
    -	0x37, 0x0e, 0x01, 0x16, 0x17, 0x32, 0x36, 0x37, 0x36, 0x16, 0x17, 0x16, 
    -	0x06, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x17, 0x16, 0x37, 0x0e, 0x02, 0x07, 
    -	0x06, 0x16, 0x37, 0x0e, 0x03, 0x07, 0x06, 0x51, 0x03, 0x0a, 0x09, 0x01, 
    -	0x02, 0x17, 0x32, 0x18, 0x05, 0x16, 0x16, 0x05, 0x04, 0x08, 0x03, 0x0e, 
    -	0x0b, 0x3a, 0x17, 0x0c, 0x09, 0x05, 0x08, 0x06, 0x48, 0x11, 0x17, 0x44, 
    -	0x07, 0x06, 0x0c, 0x0e, 0x16, 0x66, 0x06, 0x08, 0x0e, 0x1b, 0x3d, 0x1c, 
    -	0x50, 0x34, 0x01, 0x02, 0x35, 0x18, 0x0f, 0x21, 0x15, 0x37, 0x0f, 0x0a, 
    -	0x06, 0x0a, 0x06, 0x04, 0x0d, 0x32, 0x3f, 0x4d, 0x51, 0x10, 0x2e, 0x22, 
    -	0x02, 0x02, 0x4f, 0x57, 0x23, 0x16, 0x32, 0x0a, 0x17, 0x30, 0x1e, 0x01, 
    -	0x78, 0x01, 0x02, 0x21, 0x10, 0x0c, 0x37, 0x0e, 0x16, 0x12, 0x03, 0x05, 
    -	0x0c, 0x18, 0x0e, 0x28, 0x22, 0x04, 0x03, 0x0c, 0x1e, 0x08, 0x1c, 0x1c, 
    -	0x07, 0x04, 0x02, 0x20, 0x00, 0x01, 0x00, 0x32, 0x00, 0x4b, 0x01, 0x81, 
    -	0x01, 0xaa, 0x00, 0x13, 0x00, 0x00, 0x37, 0x22, 0x2f, 0x01, 0x26, 0x3e, 
    -	0x01, 0x16, 0x1f, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x1e, 0x01, 0x07, 0x03, 
    -	0x06, 0x23, 0xaf, 0x11, 0x0b, 0x5a, 0x08, 0x04, 0x16, 0x1d, 0x09, 0x3b, 
    -	0x94, 0x08, 0x1b, 0x0d, 0x0c, 0x06, 0x07, 0xaf, 0x0a, 0x12, 0x4b, 0x0e, 
    -	0x76, 0x0c, 0x1c, 0x12, 0x04, 0x0c, 0x4d, 0xed, 0x0c, 0x06, 0x07, 0x08, 
    -	0x1b, 0x0d, 0xfe, 0xe8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x28, 0x01, 0xd6, 0x01, 0xcc, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 
    -	0x12, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x17, 0x37, 0x27, 0x07, 
    -	0x27, 0x07, 0x17, 0x07, 0x17, 0x37, 0x17, 0x37, 0xad, 0xae, 0x7b, 0x7b, 
    -	0xae, 0x7b, 0xfd, 0x4d, 0x2b, 0x4d, 0x4c, 0x2c, 0x4d, 0x4d, 0x2c, 0x4c, 
    -	0x4d, 0x2b, 0x01, 0xcc, 0x7b, 0xae, 0x7b, 0x7b, 0xae, 0x57, 0x4d, 0x2b, 
    -	0x4c, 0x4c, 0x2b, 0x4d, 0x4c, 0x2b, 0x4c, 0x4c, 0x2b, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x78, 0x01, 0x1e, 0x01, 0x7d, 0x00, 0x1f, 
    -	0x00, 0x00, 0x25, 0x16, 0x14, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 
    -	0x22, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 
    -	0x1f, 0x01, 0x37, 0x36, 0x32, 0x17, 0x16, 0x14, 0x0f, 0x01, 0x01, 0x15, 
    -	0x09, 0x09, 0x09, 0x19, 0x09, 0x42, 0x42, 0x09, 0x19, 0x09, 0x08, 0x08, 
    -	0x45, 0x45, 0x08, 0x08, 0x09, 0x19, 0x09, 0x42, 0x42, 0x09, 0x19, 0x09, 
    -	0x09, 0x09, 0x45, 0xac, 0x09, 0x19, 0x09, 0x08, 0x08, 0x4c, 0x4c, 0x08, 
    -	0x08, 0x09, 0x19, 0x09, 0x4e, 0x4f, 0x09, 0x19, 0x09, 0x08, 0x08, 0x4c, 
    -	0x4c, 0x08, 0x08, 0x09, 0x19, 0x09, 0x4f, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x13, 0x37, 0x27, 0x37, 0x27, 0x07, 0x27, 0x07, 
    -	0x17, 0x07, 0x17, 0x37, 0x01, 0x90, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0xd4, 
    -	0x14, 0x1e, 0x1e, 0x14, 0xe3, 0x2b, 0x4d, 0x4d, 0x2b, 0x4d, 0x4c, 0x2c, 
    -	0x4d, 0x4d, 0x2c, 0x4c, 0x01, 0xc2, 0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 
    -	0x1e, 0x14, 0x01, 0x2c, 0x15, 0x1d, 0xfe, 0xc1, 0x2b, 0x4c, 0x4d, 0x2b, 
    -	0x4c, 0x4c, 0x2b, 0x4d, 0x4c, 0x2b, 0x4c, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0x54, 0x01, 0xdb, 0x00, 0x28, 0x00, 0x33, 0x00, 0x00, 
    -	0x01, 0x16, 0x15, 0x14, 0x07, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x06, 0x07, 
    -	0x14, 0x2b, 0x01, 0x22, 0x35, 0x36, 0x37, 0x3e, 0x01, 0x3f, 0x01, 0x36, 
    -	0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x23, 
    -	0x36, 0x37, 0x36, 0x33, 0x32, 0x03, 0x32, 0x16, 0x07, 0x0e, 0x01, 0x27, 
    -	0x22, 0x26, 0x3e, 0x01, 0x01, 0x29, 0x2b, 0x15, 0x06, 0x26, 0x17, 0x14, 
    -	0x04, 0x03, 0x01, 0x08, 0x40, 0x08, 0x02, 0x0c, 0x08, 0x20, 0x0c, 0x0c, 
    -	0x0b, 0x06, 0x0e, 0x0d, 0x0e, 0x20, 0x22, 0x0d, 0x0e, 0x53, 0x03, 0x36, 
    -	0x23, 0x30, 0x41, 0x42, 0x16, 0x1d, 0x01, 0x01, 0x1e, 0x16, 0x16, 0x1d, 
    -	0x02, 0x1e, 0x01, 0xbd, 0x1f, 0x3d, 0x20, 0x1e, 0x0a, 0x1e, 0x0f, 0x11, 
    -	0x0d, 0x08, 0x0e, 0x07, 0x06, 0x31, 0x0d, 0x0b, 0x1a, 0x08, 0x07, 0x08, 
    -	0x09, 0x16, 0x0d, 0x14, 0x13, 0x12, 0x16, 0x15, 0x19, 0x51, 0x23, 0x15, 
    -	0xfe, 0xa4, 0x1e, 0x16, 0x17, 0x1b, 0x01, 0x1d, 0x2e, 0x1b, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x55, 0x01, 0xaf, 0x01, 0x9f, 0x00, 0x13, 
    -	0x00, 0x27, 0x00, 0x00, 0x13, 0x32, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 
    -	0x23, 0x35, 0x32, 0x37, 0x36, 0x27, 0x26, 0x23, 0x22, 0x26, 0x34, 0x36, 
    -	0x33, 0x32, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 0x23, 0x35, 0x32, 0x37, 
    -	0x36, 0x27, 0x26, 0x23, 0x22, 0x26, 0x34, 0x36, 0x7b, 0x49, 0x13, 0x13, 
    -	0x27, 0x28, 0x48, 0x10, 0x11, 0x38, 0x23, 0x1b, 0x0e, 0x08, 0x17, 0x1e, 
    -	0x2b, 0x2b, 0xf0, 0x49, 0x13, 0x13, 0x27, 0x28, 0x48, 0x10, 0x11, 0x38, 
    -	0x23, 0x1b, 0x0e, 0x08, 0x17, 0x1e, 0x2b, 0x2b, 0x01, 0x9f, 0x49, 0x46, 
    -	0x51, 0x54, 0x12, 0x04, 0x23, 0x36, 0x2b, 0x1e, 0x12, 0x2c, 0x3e, 0x2c, 
    -	0x49, 0x46, 0x51, 0x54, 0x12, 0x04, 0x23, 0x36, 0x2b, 0x1e, 0x12, 0x2c, 
    -	0x3e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x69, 0x01, 0x54, 
    -	0x01, 0x8b, 0x00, 0x13, 0x00, 0x00, 0x01, 0x32, 0x14, 0x2b, 0x01, 0x15, 
    -	0x14, 0x22, 0x3d, 0x01, 0x23, 0x22, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x32, 
    -	0x1d, 0x01, 0x01, 0x45, 0x0f, 0x0f, 0x69, 0x32, 0x69, 0x0f, 0x0f, 0x69, 
    -	0x32, 0x01, 0x13, 0x32, 0x69, 0x0f, 0x0f, 0x69, 0x32, 0x69, 0x0f, 0x0f, 
    -	0x69, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0xe1, 0x01, 0x54, 
    -	0x01, 0x13, 0x00, 0x07, 0x00, 0x00, 0x01, 0x32, 0x14, 0x23, 0x21, 0x22, 
    -	0x34, 0x33, 0x01, 0x45, 0x0f, 0x0f, 0xfe, 0xfc, 0x0f, 0x0f, 0x01, 0x13, 
    -	0x32, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x55, 0x01, 0x9f, 
    -	0x01, 0x9f, 0x00, 0x06, 0x00, 0x00, 0x13, 0x17, 0x07, 0x35, 0x23, 0x35, 
    -	0x33, 0xe1, 0xbe, 0xbe, 0xaf, 0xaf, 0x01, 0x9f, 0xa5, 0xa5, 0x60, 0x8b, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x23, 0x01, 0xe0, 0x01, 0xd2, 0x00, 0x12, 
    -	0x00, 0x15, 0x00, 0x00, 0x00, 0x1e, 0x01, 0x0e, 0x02, 0x07, 0x0e, 0x01, 
    -	0x0f, 0x01, 0x2f, 0x01, 0x36, 0x37, 0x3e, 0x03, 0x0f, 0x01, 0x17, 0x01, 
    -	0xd6, 0x08, 0x03, 0x05, 0x05, 0x0e, 0x05, 0x1b, 0x5d, 0x20, 0x21, 0x1b, 
    -	0xbe, 0xdd, 0x7f, 0x0a, 0x1c, 0x0b, 0x0e, 0x21, 0x98, 0x0e, 0x01, 0xcf, 
    -	0x08, 0x08, 0x0e, 0x0c, 0x1b, 0x0b, 0x38, 0xae, 0x3b, 0x3b, 0xbe, 0x1c, 
    -	0x7b, 0x3d, 0x05, 0x0f, 0x05, 0x04, 0x37, 0x8c, 0x75, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x50, 0x01, 0xf4, 0x01, 0xa4, 0x00, 0x0c, 
    -	0x00, 0x00, 0x25, 0x22, 0x06, 0x07, 0x3e, 0x04, 0x33, 0x35, 0x17, 0x07, 
    -	0x01, 0x40, 0x69, 0x7a, 0x2b, 0x02, 0x09, 0x29, 0x37, 0x65, 0x3e, 0xb4, 
    -	0xb4, 0xc9, 0x2d, 0x4c, 0x0a, 0x21, 0x54, 0x40, 0x35, 0x60, 0xa1, 0xa7, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x21, 0x02, 0x08, 0x01, 0xbb, 0x00, 0x18, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x14, 0x06, 0x23, 0x22, 0x27, 0x37, 0x16, 
    -	0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x33, 0x07, 0x27, 
    -	0x33, 0x3e, 0x01, 0x01, 0x3c, 0x55, 0x77, 0x77, 0x55, 0x47, 0x37, 0x23, 
    -	0x2a, 0x31, 0x3f, 0x5a, 0x5a, 0x3f, 0x3e, 0x5a, 0x01, 0x47, 0x5c, 0x5c, 
    -	0x3e, 0x01, 0x78, 0x01, 0xbb, 0x78, 0xaa, 0x78, 0x2c, 0x25, 0x1e, 0x5a, 
    -	0x80, 0x5a, 0x57, 0x3e, 0x66, 0x66, 0x53, 0x75, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x2d, 0x02, 0x08, 0x01, 0xc7, 0x00, 0x18, 0x00, 0x00, 0x12, 0x32, 
    -	0x16, 0x17, 0x33, 0x07, 0x27, 0x33, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 
    -	0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x22, 0x26, 0x34, 0xaa, 
    -	0xa8, 0x77, 0x02, 0x3d, 0x5c, 0x5c, 0x48, 0x02, 0x5a, 0x3e, 0x3f, 0x5a, 
    -	0x5a, 0x3f, 0x34, 0x27, 0x23, 0x37, 0x47, 0x54, 0x78, 0x01, 0xc7, 0x74, 
    -	0x53, 0x67, 0x67, 0x3e, 0x56, 0x5a, 0x40, 0x3f, 0x5a, 0x1e, 0x26, 0x2c, 
    -	0x78, 0xaa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x55, 0x01, 0x9f, 
    -	0x01, 0x9f, 0x00, 0x06, 0x00, 0x00, 0x37, 0x27, 0x37, 0x15, 0x33, 0x15, 
    -	0x23, 0xef, 0xbd, 0xbd, 0xb0, 0xb0, 0x55, 0xa5, 0xa5, 0x5f, 0x8b, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x44, 0x01, 0x7c, 0x01, 0xb1, 0x00, 0x06, 
    -	0x00, 0x00, 0x25, 0x23, 0x15, 0x23, 0x35, 0x23, 0x37, 0x01, 0x7c, 0x60, 
    -	0x8a, 0x60, 0xa5, 0xf3, 0xaf, 0xaf, 0xbe, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x44, 0x01, 0x7c, 0x01, 0xb1, 0x00, 0x06, 0x00, 0x00, 0x01, 0x07, 
    -	0x27, 0x33, 0x35, 0x33, 0x15, 0x01, 0x7c, 0xa5, 0xa5, 0x60, 0x8a, 0x01, 
    -	0x02, 0xbe, 0xbe, 0xaf, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x7d, 0x02, 0x26, 0x01, 0x77, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x2b, 
    -	0x00, 0x37, 0x00, 0x00, 0x13, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x17, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x25, 0x32, 0x14, 0x2b, 0x01, 0x15, 0x14, 0x22, 
    -	0x3d, 0x01, 0x23, 0x22, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x32, 0x1d, 0x01, 
    -	0x27, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x34, 0x36, 0x33, 
    -	0xe1, 0x0b, 0x0e, 0x0f, 0x0a, 0x96, 0x0a, 0x0f, 0x0e, 0x0b, 0x96, 0x0b, 
    -	0x0e, 0x0f, 0x0a, 0x96, 0x0a, 0x0f, 0x0e, 0x0b, 0x01, 0xcc, 0x0f, 0x0f, 
    -	0x55, 0x32, 0x52, 0x0f, 0x0f, 0x52, 0x32, 0xe1, 0x0b, 0x0e, 0x0f, 0x0a, 
    -	0x96, 0x0a, 0x0f, 0x0e, 0x0b, 0x01, 0x13, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 
    -	0x0f, 0x64, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x64, 0x32, 0x55, 0x0f, 
    -	0x0f, 0x55, 0x32, 0x55, 0x0f, 0x0f, 0x55, 0x64, 0x0f, 0x14, 0x0f, 0x0f, 
    -	0x14, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x32, 0x00, 0x7d, 0x01, 0x90, 
    -	0x01, 0x77, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, 
    -	0x00, 0x47, 0x00, 0x00, 0x37, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x37, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x37, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x17, 0x22, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x32, 
    -	0x16, 0x14, 0x06, 0x23, 0x15, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x17, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x34, 0x36, 0x33, 0x64, 0x0a, 0x0f, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 
    -	0x0e, 0x0b, 0x19, 0x0a, 0x0f, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0x0e, 0x0b, 
    -	0x19, 0x0a, 0x0f, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0x0e, 0x0b, 0x7d, 0x0a, 
    -	0x0f, 0x0f, 0x0a, 0xaf, 0x0b, 0x0e, 0x0f, 0x0a, 0x0b, 0x0e, 0x0f, 0x0a, 
    -	0xaf, 0x0a, 0x0f, 0x0f, 0x0a, 0xaf, 0x0b, 0x0e, 0x0f, 0x0a, 0xaf, 0x0a, 
    -	0x0f, 0x0f, 0x0a, 0xaf, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x64, 0x0f, 
    -	0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x64, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 
    -	0x32, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x32, 0x0f, 0x14, 0x0f, 0x0f, 
    -	0x14, 0x0f, 0x64, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x0f, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x3c, 0x01, 0x9f, 0x01, 0xb8, 0x00, 0x06, 
    -	0x00, 0x00, 0x13, 0x15, 0x33, 0x15, 0x23, 0x15, 0x27, 0xef, 0xb0, 0xb0, 
    -	0xbd, 0x01, 0xb8, 0x5f, 0xbd, 0x60, 0xbe, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x3c, 0x01, 0x9f, 0x01, 0xb8, 0x00, 0x06, 0x00, 0x00, 0x13, 0x17, 
    -	0x07, 0x35, 0x23, 0x35, 0x33, 0xe1, 0xbe, 0xbe, 0xaf, 0xaf, 0x01, 0xb8, 
    -	0xbe, 0xbe, 0x60, 0xbd, 0x00, 0x01, 0x00, 0x32, 0x00, 0x44, 0x01, 0xae, 
    -	0x01, 0xb1, 0x00, 0x06, 0x00, 0x00, 0x25, 0x23, 0x15, 0x23, 0x35, 0x23, 
    -	0x37, 0x01, 0xae, 0x60, 0xbc, 0x60, 0xbe, 0xf3, 0xaf, 0xaf, 0xbe, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x44, 0x01, 0xae, 0x01, 0xb1, 0x00, 0x06, 
    -	0x00, 0x00, 0x01, 0x07, 0x27, 0x33, 0x35, 0x33, 0x15, 0x01, 0xae, 0xbe, 
    -	0xbe, 0x60, 0xbc, 0x01, 0x02, 0xbe, 0xbe, 0xaf, 0xaf, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x19, 0x02, 0x26, 0x01, 0xdb, 0x00, 0x28, 
    -	0x00, 0x34, 0x00, 0x00, 0x25, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x36, 0x37, 
    -	0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x34, 0x36, 0x3f, 
    -	0x01, 0x26, 0x27, 0x26, 0x36, 0x32, 0x16, 0x0f, 0x01, 0x16, 0x15, 0x0e, 
    -	0x03, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x37, 0x33, 0x15, 0x23, 0x15, 
    -	0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x01, 0x68, 0x5a, 0xfe, 0x70, 
    -	0x12, 0x17, 0x2f, 0x23, 0x17, 0x04, 0x01, 0x15, 0x02, 0x05, 0x02, 0x02, 
    -	0x04, 0x02, 0x03, 0x2e, 0x72, 0x2e, 0x02, 0x07, 0x09, 0x01, 0x07, 0x07, 
    -	0x07, 0x01, 0x05, 0x17, 0x24, 0xa2, 0x4b, 0x4b, 0x32, 0x4b, 0x4b, 0x32, 
    -	0x8b, 0x20, 0x1d, 0x35, 0x65, 0x07, 0x06, 0x11, 0x23, 0x1e, 0x0b, 0x1a, 
    -	0x18, 0x06, 0x0d, 0x18, 0x08, 0x0a, 0x01, 0x02, 0x19, 0x13, 0x1b, 0x3a, 
    -	0x3a, 0x1b, 0x2c, 0x04, 0x11, 0x0e, 0x0f, 0x02, 0x06, 0x06, 0x17, 0x1b, 
    -	0x0b, 0x1e, 0x23, 0x77, 0x32, 0x4b, 0x4b, 0x32, 0x4b, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x13, 0x02, 0x00, 0x01, 0xe1, 0x00, 0x0a, 
    -	0x00, 0x18, 0x00, 0x43, 0x00, 0x00, 0x12, 0x36, 0x16, 0x17, 0x16, 0x06, 
    -	0x07, 0x06, 0x26, 0x27, 0x26, 0x17, 0x32, 0x36, 0x35, 0x36, 0x26, 0x2b, 
    -	0x01, 0x22, 0x06, 0x07, 0x14, 0x16, 0x17, 0x37, 0x36, 0x35, 0x34, 0x27, 
    -	0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x15, 0x33, 0x35, 0x34, 0x37, 0x36, 
    -	0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x0f, 0x01, 0x0e, 0x03, 
    -	0x07, 0x06, 0x07, 0x15, 0x33, 0x35, 0x34, 0x37, 0x36, 0x3f, 0x01, 0x36, 
    -	0xb7, 0xbe, 0x88, 0x02, 0x01, 0x85, 0x5f, 0x5f, 0x89, 0x01, 0x02, 0xe4, 
    -	0x0f, 0x13, 0x01, 0x13, 0x0f, 0x01, 0x0e, 0x13, 0x01, 0x13, 0x0e, 0x54, 
    -	0x0d, 0x1b, 0x1a, 0x29, 0x20, 0x14, 0x22, 0x02, 0x37, 0x08, 0x08, 0x13, 
    -	0x14, 0x06, 0x08, 0x08, 0x04, 0x06, 0x03, 0x03, 0x0a, 0x0a, 0x0b, 0x03, 
    -	0x07, 0x02, 0x36, 0x02, 0x03, 0x0b, 0x0e, 0x17, 0x01, 0xdf, 0x02, 0x84, 
    -	0x5f, 0x5f, 0x89, 0x02, 0x01, 0x85, 0x5f, 0x5f, 0xe8, 0x13, 0x0e, 0x0f, 
    -	0x13, 0x12, 0x0e, 0x0f, 0x13, 0x01, 0xa4, 0x11, 0x16, 0x27, 0x13, 0x13, 
    -	0x0d, 0x15, 0x34, 0x02, 0x02, 0x0d, 0x0e, 0x0c, 0x0a, 0x0a, 0x0c, 0x09, 
    -	0x0b, 0x06, 0x04, 0x02, 0x02, 0x07, 0x08, 0x09, 0x04, 0x0a, 0x1d, 0x04, 
    -	0x02, 0x06, 0x08, 0x0a, 0x08, 0x09, 0x11, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x13, 0x02, 0x00, 0x01, 0xe1, 0x00, 0x0a, 0x00, 0x15, 0x00, 0x2b, 
    -	0x00, 0x00, 0x12, 0x36, 0x16, 0x17, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 
    -	0x26, 0x25, 0x22, 0x06, 0x15, 0x06, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x03, 0x32, 0x36, 0x37, 0x27, 0x06, 0x23, 0x22, 0x3f, 0x01, 0x36, 0x23, 
    -	0x22, 0x06, 0x07, 0x17, 0x36, 0x33, 0x32, 0x0f, 0x01, 0x06, 0xb7, 0xbe, 
    -	0x88, 0x02, 0x01, 0x85, 0x5f, 0x5f, 0x89, 0x01, 0x02, 0x00, 0xff, 0x15, 
    -	0x17, 0x01, 0x11, 0x10, 0x13, 0x17, 0x5a, 0x0f, 0x36, 0x1a, 0x09, 0x18, 
    -	0x0c, 0x07, 0x05, 0x15, 0x0d, 0x18, 0x0f, 0x3b, 0x1c, 0x08, 0x1a, 0x0b, 
    -	0x06, 0x06, 0x12, 0x0d, 0x01, 0xdf, 0x02, 0x84, 0x5f, 0x5f, 0x89, 0x02, 
    -	0x01, 0x85, 0x5f, 0x5f, 0x3e, 0x18, 0x0d, 0x0e, 0x10, 0x16, 0x10, 0x1d, 
    -	0xfe, 0xd7, 0x1a, 0x1a, 0x0c, 0x12, 0x13, 0x50, 0x30, 0x1d, 0x17, 0x0d, 
    -	0x11, 0x11, 0x4c, 0x34, 0x00, 0x03, 0x00, 0x32, 0x00, 0x6e, 0x02, 0x26, 
    -	0x01, 0x86, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x2d, 0x00, 0x00, 0x12, 0x32, 
    -	0x1e, 0x03, 0x14, 0x0e, 0x03, 0x22, 0x2e, 0x03, 0x34, 0x3e, 0x02, 0x16, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x37, 0x16, 0x3e, 
    -	0x01, 0x17, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x0e, 
    -	0x01, 0xfe, 0x5c, 0x55, 0x38, 0x2b, 0x14, 0x14, 0x2b, 0x38, 0x55, 0x5c, 
    -	0x55, 0x38, 0x2b, 0x14, 0x14, 0x2b, 0x38, 0x55, 0x5c, 0x41, 0x41, 0x5c, 
    -	0x41, 0x6f, 0x04, 0x1d, 0x15, 0x02, 0x21, 0x2e, 0x20, 0x20, 0x17, 0x07, 
    -	0x04, 0x08, 0x01, 0x86, 0x19, 0x25, 0x28, 0x1f, 0x0e, 0x1e, 0x29, 0x25, 
    -	0x19, 0x19, 0x25, 0x29, 0x1e, 0x0e, 0x1f, 0x28, 0x25, 0xde, 0x3f, 0x2c, 
    -	0x2d, 0x3f, 0x3f, 0x2d, 0x2c, 0x2c, 0x04, 0x06, 0x05, 0x07, 0x16, 0x1f, 
    -	0x1f, 0x16, 0x17, 0x1f, 0x17, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x00, 0x02, 0x12, 0x01, 0xf5, 0x00, 0x1c, 0x00, 0x2e, 0x00, 0x00, 
    -	0x01, 0x16, 0x06, 0x07, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x0f, 0x01, 0x06, 
    -	0x2f, 0x01, 0x26, 0x36, 0x3f, 0x01, 0x36, 0x3b, 0x01, 0x32, 0x1f, 0x01, 
    -	0x36, 0x27, 0x26, 0x37, 0x36, 0x07, 0x36, 0x27, 0x07, 0x06, 0x23, 0x22, 
    -	0x27, 0x26, 0x3f, 0x01, 0x26, 0x07, 0x0e, 0x01, 0x17, 0x1e, 0x01, 0x02, 
    -	0x0a, 0x12, 0x2c, 0x2a, 0x09, 0x08, 0x05, 0x18, 0x06, 0x0c, 0xe8, 0x15, 
    -	0x0b, 0x69, 0x06, 0x03, 0x09, 0xe8, 0x0d, 0x0e, 0x4f, 0x0f, 0x09, 0x0e, 
    -	0x54, 0x1b, 0x05, 0x0e, 0x10, 0x69, 0x14, 0x03, 0x10, 0x04, 0x02, 0x09, 
    -	0x05, 0x06, 0x0e, 0x0c, 0x18, 0x16, 0x0e, 0x06, 0x0a, 0x09, 0x21, 0x01, 
    -	0xea, 0x35, 0x5d, 0x20, 0x0c, 0x0e, 0x0d, 0x4f, 0x0f, 0x08, 0xa4, 0x0f, 
    -	0x11, 0x98, 0x09, 0x15, 0x06, 0xa4, 0x09, 0x0d, 0x14, 0x41, 0x4e, 0x0e, 
    -	0x06, 0x04, 0xf8, 0x10, 0x18, 0x08, 0x02, 0x09, 0x0f, 0x05, 0x07, 0x11, 
    -	0x11, 0x09, 0x21, 0x0e, 0x0d, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x58, 0x02, 0x26, 0x01, 0x9d, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x14, 0x06, 0x2b, 0x01, 0x35, 0x33, 0x27, 0x07, 0x33, 0x15, 0x23, 
    -	0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x17, 0x36, 0x01, 0xae, 0x32, 0x46, 0x46, 0x32, 0x5f, 
    -	0x35, 0x58, 0x57, 0x34, 0x7c, 0x25, 0x36, 0x35, 0x26, 0x07, 0x03, 0x01, 
    -	0x4e, 0x37, 0x2d, 0x46, 0x0c, 0x0e, 0x01, 0x42, 0x44, 0x62, 0x44, 0x5f, 
    -	0x73, 0x73, 0x5f, 0x34, 0x24, 0x25, 0x34, 0x01, 0x06, 0x0d, 0x36, 0x4c, 
    -	0x34, 0x29, 0x02, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x50, 0x01, 0xf4, 
    -	0x01, 0xa4, 0x00, 0x0e, 0x00, 0x00, 0x25, 0x2e, 0x01, 0x23, 0x15, 0x27, 
    -	0x37, 0x15, 0x32, 0x1e, 0x04, 0x17, 0x01, 0xf4, 0x2b, 0x7a, 0x68, 0xb5, 
    -	0xb5, 0x2d, 0x4e, 0x35, 0x2b, 0x1a, 0x12, 0x03, 0x50, 0x4c, 0x2d, 0x6d, 
    -	0xa7, 0xa1, 0x60, 0x1b, 0x2b, 0x34, 0x34, 0x2b, 0x0d, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x50, 0x02, 0x26, 0x01, 0xa4, 0x00, 0x05, 
    -	0x00, 0x12, 0x00, 0x00, 0x13, 0x07, 0x17, 0x15, 0x27, 0x37, 0x17, 0x32, 
    -	0x1e, 0x02, 0x1f, 0x01, 0x2e, 0x01, 0x23, 0x15, 0x27, 0x37, 0xe7, 0x6a, 
    -	0x6a, 0xb5, 0xb5, 0x7d, 0x34, 0x4e, 0x25, 0x17, 0x02, 0x02, 0x2b, 0x52, 
    -	0x45, 0xb5, 0xb5, 0x01, 0x61, 0x5e, 0x62, 0x45, 0xa7, 0xa1, 0x60, 0x32, 
    -	0x48, 0x48, 0x19, 0x19, 0x4d, 0x2c, 0x6d, 0xa7, 0xa1, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x63, 0x02, 0x26, 0x01, 0x90, 0x00, 0x0d, 
    -	0x00, 0x19, 0x00, 0x00, 0x13, 0x16, 0x14, 0x0f, 0x01, 0x17, 0x16, 0x14, 
    -	0x07, 0x06, 0x2f, 0x01, 0x37, 0x36, 0x1f, 0x01, 0x07, 0x06, 0x27, 0x26, 
    -	0x3f, 0x01, 0x27, 0x26, 0x37, 0x36, 0xf0, 0x08, 0x08, 0x7b, 0x7b, 0x08, 
    -	0x08, 0x0f, 0x0f, 0xa0, 0xa0, 0x0f, 0xa6, 0x9f, 0x9f, 0x10, 0x0f, 0x10, 
    -	0x10, 0x7c, 0x7c, 0x10, 0x10, 0x0f, 0x01, 0x89, 0x07, 0x12, 0x06, 0x70, 
    -	0x71, 0x06, 0x12, 0x07, 0x0f, 0x0f, 0x90, 0x8f, 0x0f, 0x0f, 0x8f, 0x90, 
    -	0x0f, 0x0f, 0x10, 0x0f, 0x71, 0x70, 0x0f, 0x10, 0x0f, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x37, 0x02, 0x26, 0x01, 0xbd, 0x00, 0x15, 
    -	0x00, 0x24, 0x00, 0x00, 0x25, 0x35, 0x37, 0x15, 0x14, 0x06, 0x23, 0x21, 
    -	0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x0e, 0x01, 0x0f, 0x01, 
    -	0x23, 0x15, 0x25, 0x22, 0x06, 0x07, 0x34, 0x3e, 0x05, 0x33, 0x35, 0x17, 
    -	0x07, 0x01, 0xa9, 0x32, 0x0f, 0x0a, 0xfe, 0x89, 0x0a, 0x0f, 0x0e, 0x0b, 
    -	0x90, 0x10, 0x1b, 0x06, 0x05, 0x41, 0x01, 0x1c, 0x53, 0x4c, 0x2a, 0x01, 
    -	0x08, 0x0e, 0x1e, 0x28, 0x43, 0x29, 0xa6, 0xa6, 0x69, 0x1c, 0x29, 0x5e, 
    -	0x0a, 0x0f, 0x0f, 0x0a, 0x01, 0x13, 0x0b, 0x0e, 0x0c, 0x19, 0x07, 0x06, 
    -	0xe1, 0xae, 0x29, 0x46, 0x04, 0x0e, 0x2a, 0x25, 0x2e, 0x21, 0x17, 0x4e, 
    -	0x7d, 0x82, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x26, 0x02, 0x1c, 
    -	0x01, 0xcf, 0x00, 0x15, 0x00, 0x29, 0x00, 0x2d, 0x00, 0x00, 0x13, 0x22, 
    -	0x37, 0x36, 0x37, 0x32, 0x3e, 0x01, 0x3b, 0x01, 0x35, 0x33, 0x15, 0x33, 
    -	0x32, 0x1e, 0x01, 0x33, 0x16, 0x07, 0x06, 0x23, 0x17, 0x32, 0x16, 0x1d, 
    -	0x01, 0x14, 0x06, 0x2b, 0x01, 0x17, 0x21, 0x37, 0x23, 0x22, 0x26, 0x3d, 
    -	0x01, 0x34, 0x36, 0x33, 0x17, 0x21, 0x27, 0x23, 0x53, 0x0d, 0x02, 0x02, 
    -	0x04, 0x01, 0x2f, 0x2e, 0x06, 0x16, 0xbe, 0x17, 0x06, 0x2d, 0x2f, 0x01, 
    -	0x09, 0x03, 0x02, 0x08, 0x05, 0x0a, 0x11, 0x11, 0x0a, 0x32, 0x16, 0xfe, 
    -	0x84, 0x16, 0x31, 0x0a, 0x12, 0x12, 0x0a, 0x4d, 0x01, 0x18, 0x23, 0xd2, 
    -	0x01, 0x52, 0x0b, 0x05, 0x02, 0x11, 0x0f, 0x4b, 0x4b, 0x0f, 0x11, 0x04, 
    -	0x09, 0x05, 0x1c, 0x13, 0x0b, 0x57, 0x0b, 0x13, 0x7d, 0x7d, 0x13, 0x0b, 
    -	0x57, 0x0b, 0x13, 0xde, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x64, 0x02, 0x26, 0x01, 0x90, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 
    -	0x37, 0x33, 0x17, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x37, 0x17, 0x23, 
    -	0x05, 0x33, 0x07, 0x27, 0x33, 0x35, 0x23, 0x27, 0x33, 0x32, 0x16, 0x15, 
    -	0xaf, 0x88, 0x40, 0xe0, 0x15, 0x1d, 0x33, 0x58, 0x57, 0x32, 0x01, 0x45, 
    -	0x32, 0x57, 0x58, 0x33, 0x89, 0x40, 0xe1, 0x14, 0x1e, 0xaa, 0x46, 0x1e, 
    -	0x14, 0x97, 0x63, 0x63, 0x65, 0x64, 0x64, 0x82, 0x46, 0x1d, 0x15, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x4b, 0x01, 0xc2, 0x01, 0xa9, 0x00, 0x12, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 
    -	0x27, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x01, 0x90, 0x15, 
    -	0x1d, 0x1d, 0x15, 0x64, 0x64, 0x64, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0xa9, 
    -	0x1d, 0x15, 0xaf, 0x14, 0x1e, 0x4b, 0x4b, 0x1e, 0x14, 0xaf, 0x15, 0x1d, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x19, 0x02, 0x26, 0x01, 0xdb, 0x00, 0x14, 
    -	0x00, 0x24, 0x00, 0x00, 0x37, 0x33, 0x32, 0x37, 0x33, 0x15, 0x14, 0x06, 
    -	0x2b, 0x01, 0x07, 0x35, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 
    -	0x01, 0x25, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x27, 
    -	0x23, 0x35, 0x34, 0x36, 0x33, 0xc3, 0xaf, 0x01, 0x02, 0x02, 0x1d, 0x15, 
    -	0x7d, 0x4b, 0x19, 0x14, 0x1e, 0x1e, 0x14, 0x5f, 0x01, 0x31, 0x15, 0x1d, 
    -	0x1d, 0x15, 0x19, 0x4b, 0xaf, 0x1e, 0x14, 0xc3, 0x01, 0x2e, 0x14, 0x1e, 
    -	0x4b, 0x4b, 0x1e, 0x14, 0x96, 0x15, 0x1d, 0x7d, 0x1d, 0x15, 0x96, 0x14, 
    -	0x1e, 0x4b, 0x4b, 0xc8, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x32, 
    -	0x00, 0x32, 0x02, 0x26, 0x01, 0xc2, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 
    -	0x00, 0x1b, 0x00, 0x1f, 0x00, 0x32, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 
    -	0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 
    -	0x01, 0x11, 0x21, 0x11, 0x37, 0x15, 0x23, 0x35, 0x37, 0x15, 0x23, 0x35, 
    -	0x37, 0x15, 0x23, 0x35, 0x05, 0x17, 0x23, 0x34, 0x33, 0x36, 0x35, 0x34, 
    -	0x26, 0x35, 0x34, 0x32, 0x15, 0x14, 0x06, 0x15, 0x14, 0x16, 0x17, 0x01, 
    -	0xf4, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0x70, 0x14, 0x1e, 0x1e, 0x14, 0x01, 
    -	0x90, 0xfe, 0x70, 0xaf, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x01, 0x2a, 0x02, 
    -	0x7d, 0x03, 0x2a, 0x1b, 0x5a, 0x1c, 0x15, 0x0b, 0x01, 0xc2, 0x1d, 0x15, 
    -	0xfe, 0xd4, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x2c, 0x15, 0x1d, 0xfe, 0xa2, 
    -	0x01, 0x2c, 0xfe, 0xd4, 0x62, 0x2d, 0x2d, 0x4b, 0x2d, 0x2d, 0x4b, 0x2d, 
    -	0x2d, 0xa0, 0x23, 0x23, 0x0b, 0x16, 0x08, 0x28, 0x18, 0x37, 0x37, 0x18, 
    -	0x28, 0x08, 0x0a, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x02, 0x26, 0x01, 0xdb, 0x00, 0x1b, 0x00, 0x2a, 0x00, 0x00, 
    -	0x01, 0x32, 0x15, 0x11, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x23, 0x22, 
    -	0x27, 0x26, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x37, 0x36, 0x3b, 
    -	0x01, 0x35, 0x34, 0x33, 0x05, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x06, 
    -	0x2b, 0x01, 0x27, 0x33, 0x32, 0x16, 0x17, 0x01, 0x07, 0x0a, 0x0a, 0x17, 
    -	0x0a, 0x58, 0x08, 0x06, 0x06, 0x07, 0x3c, 0x05, 0x05, 0x3c, 0x07, 0x06, 
    -	0x04, 0x0a, 0x58, 0x0a, 0x01, 0x31, 0x05, 0x05, 0x3b, 0x0b, 0x02, 0x07, 
    -	0x07, 0x97, 0x14, 0xab, 0x09, 0x0a, 0x08, 0x01, 0xdb, 0x0a, 0xfe, 0x52, 
    -	0x0a, 0x0a, 0xdc, 0x03, 0x01, 0x05, 0x29, 0x03, 0x0a, 0x03, 0x29, 0x05, 
    -	0x01, 0x02, 0x5f, 0x0a, 0x68, 0x03, 0x0a, 0x03, 0x29, 0x06, 0x03, 0x73, 
    -	0x04, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x32, 0x01, 0x2c, 
    -	0x01, 0xc2, 0x00, 0x0e, 0x00, 0x16, 0x00, 0x00, 0x12, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x0f, 0x01, 0x2e, 0x04, 0x35, 0x34, 0x16, 0x32, 0x36, 0x34, 
    -	0x26, 0x22, 0x06, 0x14, 0x7b, 0x68, 0x49, 0x3e, 0x20, 0x1f, 0x05, 0x11, 
    -	0x2b, 0x21, 0x1b, 0x61, 0x38, 0x28, 0x28, 0x38, 0x27, 0x01, 0xc2, 0x49, 
    -	0x34, 0x35, 0x89, 0x2b, 0x2a, 0x06, 0x17, 0x42, 0x40, 0x53, 0x21, 0x34, 
    -	0x79, 0x28, 0x38, 0x27, 0x27, 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x32, 
    -	0x00, 0x32, 0x02, 0x26, 0x01, 0xc3, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 
    -	0x00, 0x29, 0x00, 0x2d, 0x00, 0x00, 0x01, 0x16, 0x15, 0x11, 0x14, 0x07, 
    -	0x06, 0x23, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x2f, 0x01, 0x07, 0x06, 0x27, 
    -	0x26, 0x35, 0x11, 0x34, 0x3f, 0x01, 0x36, 0x1f, 0x01, 0x37, 0x36, 0x17, 
    -	0x01, 0x35, 0x07, 0x15, 0x33, 0x35, 0x27, 0x15, 0x33, 0x35, 0x07, 0x15, 
    -	0x33, 0x35, 0x27, 0x15, 0x02, 0x1e, 0x08, 0x08, 0x04, 0x04, 0x04, 0x05, 
    -	0x6c, 0x6c, 0x09, 0x08, 0x6d, 0x6c, 0x08, 0x09, 0x08, 0x08, 0x75, 0x09, 
    -	0x08, 0x6c, 0x6d, 0x08, 0x08, 0xfe, 0xfe, 0x54, 0xc9, 0x54, 0xc9, 0x55, 
    -	0xc9, 0x54, 0x01, 0x77, 0x05, 0x0a, 0xfe, 0xdc, 0x0a, 0x05, 0x03, 0x03, 
    -	0x44, 0x44, 0x05, 0x05, 0x44, 0x44, 0x05, 0x05, 0x05, 0x0a, 0x01, 0x24, 
    -	0x0a, 0x05, 0x49, 0x05, 0x05, 0x44, 0x44, 0x05, 0x05, 0xfe, 0xd6, 0xfd, 
    -	0x34, 0xfd, 0xfd, 0x34, 0xfd, 0xfd, 0x34, 0xfd, 0xfd, 0x34, 0xfd, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x09, 0x02, 0x14, 0x01, 0xeb, 0x00, 0x0b, 
    -	0x00, 0x15, 0x00, 0x24, 0x00, 0x2e, 0x00, 0x00, 0x01, 0x36, 0x16, 0x17, 
    -	0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x13, 0x3e, 0x01, 0x2e, 
    -	0x01, 0x07, 0x0e, 0x01, 0x1e, 0x01, 0x27, 0x3e, 0x04, 0x3f, 0x01, 0x0e, 
    -	0x02, 0x07, 0x0e, 0x01, 0x07, 0x37, 0x06, 0x14, 0x17, 0x16, 0x32, 0x37, 
    -	0x36, 0x37, 0x06, 0x01, 0x20, 0x63, 0x8e, 0x02, 0x01, 0x8a, 0x64, 0x63, 
    -	0x8f, 0x01, 0x02, 0x8b, 0x6a, 0x4e, 0x6e, 0x02, 0x71, 0x4e, 0x4f, 0x6d, 
    -	0x02, 0x70, 0x26, 0x02, 0x08, 0x21, 0x2c, 0x51, 0x1e, 0x1e, 0x02, 0x08, 
    -	0x21, 0x16, 0x15, 0x52, 0x1e, 0x3c, 0x0b, 0x0b, 0x0a, 0x1d, 0x0a, 0x1a, 
    -	0x12, 0x44, 0x01, 0xea, 0x01, 0x8a, 0x63, 0x64, 0x8e, 0x02, 0x01, 0x8b, 
    -	0x63, 0x64, 0x8e, 0xfe, 0x54, 0x01, 0x70, 0x9e, 0x6d, 0x01, 0x01, 0x70, 
    -	0x9e, 0x6d, 0x4e, 0x0d, 0x28, 0x58, 0x2c, 0x20, 0x05, 0x05, 0x0d, 0x28, 
    -	0x58, 0x16, 0x15, 0x20, 0x05, 0x84, 0x0a, 0x1c, 0x0b, 0x0b, 0x0b, 0x1a, 
    -	0x43, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x0b, 0x01, 0xae, 
    -	0x01, 0xeb, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x2c, 0x00, 0x00, 0x13, 0x16, 
    -	0x32, 0x37, 0x07, 0x0e, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x13, 0x1e, 0x01, 
    -	0x1d, 0x01, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3f, 0x01, 
    -	0x36, 0x3b, 0x01, 0x32, 0x17, 0x07, 0x33, 0x26, 0x27, 0x26, 0x2b, 0x01, 
    -	0x22, 0x0f, 0x01, 0x33, 0x37, 0x33, 0x4b, 0x3d, 0xd0, 0x3d, 0x1b, 0x01, 
    -	0x21, 0x43, 0x4a, 0x42, 0x22, 0x01, 0xd9, 0x2f, 0x40, 0x70, 0x9c, 0x70, 
    -	0x40, 0x2f, 0x15, 0x0b, 0x18, 0x2e, 0x1a, 0x09, 0x06, 0x2a, 0x2e, 0x06, 
    -	0x07, 0x09, 0x33, 0x0b, 0x05, 0x35, 0x2a, 0x20, 0x29, 0x01, 0x30, 0x23, 
    -	0x23, 0xf3, 0x07, 0x16, 0x15, 0x15, 0x16, 0x07, 0x01, 0x89, 0x09, 0x25, 
    -	0x11, 0x05, 0x1d, 0x29, 0x29, 0x1d, 0x05, 0x11, 0x25, 0x09, 0x18, 0x0d, 
    -	0x0d, 0x50, 0x37, 0x08, 0x08, 0x08, 0x3f, 0x21, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0x90, 0x01, 0xdb, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x13, 0x11, 0x23, 0x11, 0x01, 0x5e, 0x15, 0x1d, 
    -	0x1d, 0x15, 0xfa, 0x14, 0x1e, 0x1e, 0x14, 0xfa, 0xfa, 0x01, 0xdb, 0x1d, 
    -	0x15, 0xfe, 0xa2, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x5e, 0x15, 0x1d, 0xfe, 
    -	0x70, 0x01, 0x5e, 0xfe, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0x90, 0x01, 0xdb, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 
    -	0x00, 0x1b, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 
    -	0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x17, 0x15, 0x33, 0x35, 
    -	0x15, 0x35, 0x23, 0x15, 0x37, 0x35, 0x23, 0x15, 0x01, 0x5e, 0x15, 0x1d, 
    -	0x1d, 0x15, 0xfa, 0x14, 0x1e, 0x1e, 0x14, 0x14, 0xd2, 0xd2, 0xd2, 0xd1, 
    -	0x01, 0xdb, 0x1d, 0x15, 0xfe, 0xa2, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x5e, 
    -	0x15, 0x1d, 0x68, 0x2c, 0x2c, 0xf0, 0x2c, 0x2c, 0x62, 0x2d, 0x2d, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x00, 0x02, 0x27, 0x01, 0xf5, 0x00, 0x16, 
    -	0x00, 0x1a, 0x00, 0x22, 0x00, 0x00, 0x01, 0x16, 0x07, 0x03, 0x0e, 0x01, 
    -	0x2f, 0x01, 0x2e, 0x01, 0x3f, 0x01, 0x07, 0x06, 0x27, 0x03, 0x26, 0x3f, 
    -	0x01, 0x36, 0x16, 0x1f, 0x01, 0x25, 0x13, 0x37, 0x03, 0x13, 0x37, 0x27, 
    -	0x17, 0x16, 0x0f, 0x02, 0x02, 0x17, 0x13, 0x04, 0x4b, 0x02, 0x0e, 0x08, 
    -	0xcb, 0x08, 0x08, 0x02, 0x0c, 0x5a, 0x14, 0x05, 0x50, 0x05, 0x13, 0xe3, 
    -	0x08, 0x0e, 0x02, 0x21, 0xfe, 0xfe, 0x48, 0xc4, 0x48, 0x9b, 0x42, 0x95, 
    -	0x26, 0x05, 0x13, 0x62, 0x0d, 0x01, 0x3b, 0x05, 0x12, 0xfe, 0xea, 0x08, 
    -	0x07, 0x02, 0x37, 0x02, 0x0e, 0x07, 0x2e, 0x18, 0x05, 0x12, 0x01, 0x2d, 
    -	0x12, 0x06, 0x3d, 0x02, 0x07, 0x08, 0x7a, 0x2d, 0xfe, 0xf1, 0x35, 0x01, 
    -	0x0e, 0xfe, 0x59, 0xf6, 0x29, 0x8d, 0x11, 0x06, 0x1a, 0x33, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x4b, 0x02, 0x26, 0x01, 0xa9, 0x00, 0x0f, 
    -	0x00, 0x13, 0x00, 0x00, 0x13, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 
    -	0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x25, 0x21, 0x15, 0x21, 
    -	0x32, 0x1e, 0x14, 0x01, 0x90, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0x70, 0x14, 
    -	0x1e, 0x01, 0xc2, 0xfe, 0x70, 0x01, 0x90, 0x01, 0x77, 0x15, 0x1d, 0x1d, 
    -	0x15, 0xfa, 0x14, 0x1e, 0x1e, 0x14, 0xfa, 0xfa, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x3c, 0x01, 0xae, 0x01, 0xb8, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x19, 
    -	0x00, 0x00, 0x13, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x15, 0x32, 
    -	0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x16, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x22, 0x26, 0x35, 0x34, 0x32, 0x9d, 0xdf, 0x3b, 0xbc, 0x85, 0x6d, 0x99, 
    -	0x3b, 0x77, 0x54, 0x22, 0x2e, 0x22, 0x22, 0x2e, 0x22, 0x01, 0xb8, 0xdf, 
    -	0x9d, 0x85, 0xbb, 0x3b, 0x99, 0x6c, 0x53, 0x77, 0x59, 0x21, 0x18, 0x17, 
    -	0x21, 0x21, 0x17, 0x18, 0x00, 0x01, 0x00, 0x32, 0x00, 0x19, 0x01, 0xc2, 
    -	0x01, 0xdb, 0x00, 0x2a, 0x00, 0x00, 0x25, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x22, 0x26, 0x35, 0x34, 0x36, 0x35, 0x27, 0x06, 0x23, 0x22, 0x26, 0x34, 
    -	0x36, 0x33, 0x32, 0x17, 0x37, 0x34, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x07, 0x16, 0x15, 0x14, 0x07, 0x17, 
    -	0x36, 0x01, 0x77, 0x1f, 0x2c, 0x2c, 0x3e, 0x2c, 0x01, 0x82, 0x15, 0x19, 
    -	0x1f, 0x2c, 0x2c, 0x1f, 0x1b, 0x13, 0x82, 0x01, 0x2c, 0x3e, 0x2c, 0x2c, 
    -	0x1f, 0x1a, 0x13, 0x83, 0x01, 0x01, 0x83, 0x12, 0xaf, 0x2b, 0x20, 0x1f, 
    -	0x2c, 0x2c, 0x1f, 0x03, 0x08, 0x02, 0x4e, 0x10, 0x2c, 0x3e, 0x2c, 0x0f, 
    -	0x4e, 0x02, 0x08, 0x02, 0x1f, 0x2c, 0x2b, 0x20, 0x1f, 0x2c, 0x10, 0x4e, 
    -	0x04, 0x09, 0x08, 0x04, 0x4e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x33, 
    -	0x00, 0x00, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x06, 0x16, 0x33, 0x21, 0x15, 0x14, 0x2b, 0x03, 0x22, 
    -	0x3d, 0x01, 0x2f, 0x01, 0x23, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 
    -	0x21, 0x15, 0x14, 0x07, 0x7d, 0x1e, 0x14, 0x15, 0x1d, 0x1d, 0x15, 0x14, 
    -	0x1e, 0xfa, 0x1e, 0x14, 0x15, 0x1d, 0x1d, 0x15, 0x14, 0x1e, 0xa1, 0x12, 
    -	0x02, 0x15, 0x01, 0x19, 0x0a, 0x41, 0xfa, 0x0c, 0x0a, 0x05, 0x31, 0x31, 
    -	0x0a, 0x4e, 0x0a, 0x01, 0x60, 0x09, 0x4b, 0x14, 0x1e, 0x1e, 0x14, 0x15, 
    -	0x1d, 0x1d, 0x15, 0x14, 0x1e, 0x1e, 0x14, 0x15, 0x1d, 0x1d, 0x8b, 0x05, 
    -	0x0d, 0x26, 0x0a, 0x0a, 0x26, 0x17, 0xe3, 0x28, 0x0a, 0x0a, 0x2b, 0x89, 
    -	0x0b, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x32, 0x02, 0x26, 
    -	0x01, 0xc2, 0x00, 0x09, 0x00, 0x1e, 0x00, 0x33, 0x00, 0x00, 0x37, 0x34, 
    -	0x36, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x27, 0x06, 0x2b, 0x01, 
    -	0x35, 0x33, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x16, 0x14, 0x07, 0x06, 0x22, 
    -	0x27, 0x26, 0x23, 0x22, 0x06, 0x05, 0x33, 0x15, 0x23, 0x0e, 0x01, 0x23, 
    -	0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x36, 0xdc, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x2f, 0x39, 0x07, 0x1a, 
    -	0x50, 0x3b, 0x14, 0x69, 0x42, 0x52, 0x3c, 0x08, 0x08, 0x09, 0x19, 0x09, 
    -	0x27, 0x3c, 0x32, 0x4c, 0x01, 0x28, 0x50, 0x3b, 0x14, 0x68, 0x43, 0x52, 
    -	0x3b, 0x09, 0x09, 0x08, 0x19, 0x09, 0x29, 0x3a, 0x32, 0x4c, 0x0b, 0x06, 
    -	0xfa, 0x22, 0x2e, 0x2e, 0x22, 0x21, 0x2f, 0x2f, 0x3f, 0x1e, 0x3c, 0x3e, 
    -	0x4e, 0x3a, 0x09, 0x19, 0x09, 0x08, 0x08, 0x29, 0x3e, 0x4e, 0x3c, 0x3e, 
    -	0x4e, 0x3b, 0x09, 0x19, 0x08, 0x09, 0x09, 0x29, 0x3f, 0x2f, 0x1e, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x17, 
    -	0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 
    -	0x01, 0x22, 0x26, 0x3d, 0x01, 0x33, 0x15, 0x33, 0x11, 0x23, 0x15, 0x23, 
    -	0x35, 0x34, 0x36, 0x33, 0x13, 0x35, 0x23, 0x35, 0x33, 0x35, 0x17, 0x01, 
    -	0xc2, 0x15, 0x1d, 0x1d, 0x15, 0xe1, 0x14, 0x1d, 0x31, 0xe1, 0xe1, 0x31, 
    -	0x1d, 0x14, 0x32, 0xe1, 0xe1, 0x64, 0x01, 0xdb, 0x1d, 0x15, 0xfe, 0xa2, 
    -	0x14, 0x1e, 0x1e, 0x14, 0x32, 0x32, 0x01, 0x5e, 0x4b, 0x4b, 0x15, 0x1d, 
    -	0xfe, 0xb1, 0x3c, 0x4b, 0x3c, 0x61, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x17, 0x00, 0x1e, 0x00, 0x00, 
    -	0x25, 0x35, 0x33, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 
    -	0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x23, 0x35, 0x23, 0x11, 
    -	0x25, 0x07, 0x35, 0x23, 0x35, 0x33, 0x35, 0x01, 0x2d, 0x31, 0x1d, 0x15, 
    -	0xc8, 0x14, 0x1e, 0x1e, 0x14, 0xc8, 0x15, 0x1d, 0x31, 0xc9, 0x01, 0x90, 
    -	0x63, 0xe1, 0xe1, 0x4b, 0x32, 0x32, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x5e, 
    -	0x15, 0x1d, 0x1d, 0x15, 0x4b, 0x4b, 0xfe, 0xa2, 0xa3, 0x62, 0x3c, 0x4b, 
    -	0x3c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x35, 0x01, 0xbe, 
    -	0x01, 0xc0, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x33, 0x15, 0x27, 
    -	0x07, 0x27, 0x37, 0x07, 0x17, 0x07, 0x17, 0x23, 0x35, 0x17, 0x01, 0x20, 
    -	0x9e, 0x32, 0x49, 0x32, 0x4c, 0xb0, 0x32, 0x4c, 0x3d, 0x9e, 0x32, 0x01, 
    -	0xc0, 0x9e, 0x3e, 0x4c, 0x32, 0x49, 0xad, 0x32, 0x49, 0x32, 0x9e, 0x3d, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x06, 
    -	0x00, 0x0d, 0x00, 0x00, 0x37, 0x27, 0x33, 0x15, 0x27, 0x07, 0x27, 0x01, 
    -	0x07, 0x17, 0x23, 0x35, 0x17, 0x37, 0x80, 0x35, 0x94, 0x32, 0x49, 0x32, 
    -	0x01, 0xc2, 0x4d, 0x34, 0x93, 0x32, 0x48, 0x94, 0x32, 0x94, 0x35, 0x4e, 
    -	0x32, 0x01, 0x5e, 0x48, 0x32, 0x93, 0x34, 0x4d, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x1c, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x17, 0x35, 0x23, 0x15, 0x27, 0x15, 
    -	0x33, 0x15, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x01, 0x90, 0x15, 0x1d, 0x1d, 
    -	0x15, 0xc8, 0x14, 0x1e, 0x1d, 0x15, 0xc8, 0xc8, 0x64, 0x96, 0x96, 0x14, 
    -	0x1e, 0x01, 0xc2, 0x1d, 0x15, 0xc8, 0x14, 0x1e, 0x1e, 0x14, 0xc9, 0x14, 
    -	0x1d, 0xfa, 0xc8, 0xc8, 0x32, 0x96, 0x32, 0x1e, 0x14, 0x96, 0x00, 0x00, 
    -	0x00, 0x05, 0x00, 0x32, 0x00, 0x19, 0x02, 0x26, 0x01, 0xdb, 0x00, 0x17, 
    -	0x00, 0x21, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x36, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x35, 0x33, 0x35, 0x21, 0x15, 
    -	0x33, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x17, 0x32, 
    -	0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 
    -	0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x25, 0x35, 0x21, 0x15, 0x1f, 0x01, 
    -	0x23, 0x15, 0x23, 0x35, 0x23, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x15, 0x63, 
    -	0x64, 0xfe, 0x6f, 0x64, 0x64, 0x14, 0x1e, 0x1e, 0x14, 0x0f, 0x13, 0x0b, 
    -	0x10, 0x0b, 0x0b, 0x3a, 0x13, 0x0b, 0x10, 0x0b, 0x0b, 0x01, 0x58, 0xfe, 
    -	0xd3, 0x63, 0x79, 0x4b, 0x5c, 0x4b, 0x01, 0xdb, 0x1e, 0x14, 0xfe, 0xd4, 
    -	0x15, 0x1d, 0x31, 0xe7, 0xe7, 0x31, 0x1d, 0x15, 0x01, 0x2c, 0x14, 0x1e, 
    -	0x54, 0x13, 0x08, 0x0a, 0x0b, 0x07, 0x08, 0x0b, 0x13, 0x08, 0x0a, 0x0b, 
    -	0x07, 0x08, 0x0b, 0x03, 0x1f, 0x1f, 0x63, 0x78, 0x96, 0x96, 0x00, 0x00, 
    -	0x00, 0x05, 0x00, 0x32, 0x00, 0x32, 0x02, 0x26, 0x01, 0xc2, 0x00, 0x0f, 
    -	0x00, 0x19, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 
    -	0x36, 0x33, 0x16, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 
    -	0x07, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x22, 0x06, 0x01, 0x35, 
    -	0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x15, 
    -	0xfe, 0x70, 0x14, 0x1e, 0x1e, 0x14, 0x49, 0x10, 0x0b, 0x0b, 0x08, 0x13, 
    -	0x58, 0x0b, 0x08, 0x13, 0x0b, 0x10, 0x0b, 0x01, 0x95, 0xfe, 0x6f, 0x01, 
    -	0x91, 0xfe, 0xd3, 0x01, 0xc2, 0x1e, 0x14, 0xfe, 0xd4, 0x15, 0x1d, 0x1d, 
    -	0x15, 0x01, 0x2c, 0x14, 0x1e, 0x2f, 0x0b, 0x07, 0x08, 0x0b, 0x13, 0x08, 
    -	0x08, 0x08, 0x0b, 0x13, 0x08, 0x0a, 0x0b, 0xfe, 0xdc, 0xe6, 0xe6, 0x01, 
    -	0x0e, 0x1e, 0x1e, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x01, 0x18, 
    -	0x01, 0xf4, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x13, 0x17, 0x23, 0x13, 
    -	0x27, 0x33, 0xa5, 0x73, 0xe6, 0x73, 0x73, 0xe6, 0x01, 0xf4, 0xb6, 0xfe, 
    -	0xc2, 0xb7, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x14, 0x01, 0xfe, 
    -	0x01, 0xe0, 0x00, 0x07, 0x00, 0x11, 0x00, 0x18, 0x00, 0x00, 0x12, 0x32, 
    -	0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x22, 0x06, 0x15, 0x14, 0x37, 0x15, 0x33, 0x07, 0x27, 0x33, 0x35, 0xb9, 
    -	0xbe, 0x87, 0x87, 0xbe, 0x87, 0x9c, 0x94, 0x6a, 0x6a, 0x94, 0x6a, 0xe1, 
    -	0x38, 0x65, 0x65, 0x38, 0x01, 0xe0, 0x87, 0xbe, 0x87, 0x87, 0xbe, 0xfe, 
    -	0xed, 0x6a, 0x4a, 0x4b, 0x69, 0x69, 0x4b, 0x4a, 0xab, 0x67, 0x5f, 0x5f, 
    -	0x67, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x14, 0x01, 0xfe, 
    -	0x01, 0xe0, 0x00, 0x09, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x00, 0x25, 0x14, 
    -	0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x14, 0x16, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x05, 0x23, 0x15, 0x27, 0x37, 0x15, 
    -	0x33, 0x01, 0xfe, 0x87, 0xbe, 0x87, 0x87, 0xbe, 0x87, 0xfe, 0x66, 0x6a, 
    -	0x94, 0x6a, 0x6a, 0x94, 0x6a, 0x01, 0x14, 0x66, 0x5f, 0x5f, 0x66, 0xfa, 
    -	0x5f, 0x87, 0x87, 0x5f, 0x60, 0x86, 0x86, 0x60, 0x4a, 0x6a, 0x6a, 0x4a, 
    -	0x4b, 0x69, 0x69, 0x78, 0x38, 0x65, 0x66, 0x39, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x14, 0x01, 0xfe, 0x01, 0xe0, 0x00, 0x07, 0x00, 0x13, 0x00, 0x1a, 
    -	0x00, 0x00, 0x36, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x25, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x33, 
    -	0x35, 0x17, 0x07, 0x35, 0x23, 0x32, 0x87, 0xbe, 0x87, 0x87, 0xbe, 0x01, 
    -	0x13, 0x69, 0x4b, 0x4a, 0x6a, 0x6a, 0x4a, 0x4b, 0x69, 0xfe, 0xec, 0x66, 
    -	0x5f, 0x5f, 0x66, 0x9b, 0xbe, 0x87, 0x87, 0xbe, 0x87, 0xe6, 0x4b, 0x69, 
    -	0x69, 0x4b, 0x4a, 0x6a, 0x6a, 0x77, 0x39, 0x66, 0x65, 0x38, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x14, 0x01, 0xfe, 0x01, 0xe0, 0x00, 0x09, 
    -	0x00, 0x15, 0x00, 0x1c, 0x00, 0x00, 0x24, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x32, 0x16, 0x15, 0x14, 0x03, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x03, 0x35, 0x23, 0x37, 0x17, 0x23, 0x15, 0x01, 
    -	0x77, 0xbe, 0x87, 0x87, 0xbe, 0x87, 0xe6, 0x4a, 0x6a, 0x6a, 0x4a, 0x4b, 
    -	0x69, 0x69, 0x78, 0x38, 0x65, 0x65, 0x38, 0x14, 0x87, 0x5f, 0x60, 0x86, 
    -	0x86, 0x60, 0x5f, 0x01, 0x13, 0x69, 0x4b, 0x4a, 0x6a, 0x6a, 0x4a, 0x4b, 
    -	0x69, 0xfe, 0xec, 0x66, 0x60, 0x60, 0x66, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0xa5, 0x01, 0x54, 0x01, 0x50, 0x00, 0x10, 0x00, 0x00, 0x01, 0x07, 
    -	0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x36, 0x1f, 0x01, 0x37, 0x36, 
    -	0x17, 0x16, 0x14, 0x01, 0x4c, 0x75, 0x09, 0x16, 0x09, 0x75, 0x08, 0x08, 
    -	0x13, 0x14, 0x62, 0x62, 0x14, 0x13, 0x08, 0x01, 0x1e, 0x70, 0x09, 0x09, 
    -	0x70, 0x08, 0x19, 0x08, 0x13, 0x13, 0x5e, 0x5e, 0x13, 0x13, 0x08, 0x19, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x69, 0x00, 0xdc, 0x01, 0x8c, 0x00, 0x12, 
    -	0x00, 0x00, 0x13, 0x36, 0x32, 0x17, 0x16, 0x0f, 0x01, 0x17, 0x16, 0x07, 
    -	0x06, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x36, 0xab, 0x07, 0x19, 
    -	0x08, 0x13, 0x13, 0x5d, 0x5d, 0x13, 0x13, 0x08, 0x18, 0x08, 0x71, 0x08, 
    -	0x08, 0x67, 0x01, 0x84, 0x08, 0x08, 0x12, 0x16, 0x62, 0x61, 0x16, 0x12, 
    -	0x08, 0x08, 0x76, 0x08, 0x0b, 0x0c, 0x08, 0x6b, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x69, 0x00, 0xdc, 0x01, 0x8c, 0x00, 0x11, 0x00, 0x00, 0x13, 0x17, 
    -	0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x27, 0x26, 0x3f, 0x01, 0x27, 
    -	0x26, 0x37, 0x36, 0x32, 0x63, 0x71, 0x08, 0x08, 0x71, 0x08, 0x18, 0x08, 
    -	0x12, 0x12, 0x5d, 0x5d, 0x12, 0x12, 0x08, 0x19, 0x01, 0x84, 0x76, 0x08, 
    -	0x0c, 0x0b, 0x08, 0x76, 0x08, 0x08, 0x12, 0x16, 0x61, 0x62, 0x16, 0x12, 
    -	0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0xa5, 0x01, 0x54, 
    -	0x01, 0x4f, 0x00, 0x10, 0x00, 0x00, 0x25, 0x16, 0x14, 0x07, 0x06, 0x2f, 
    -	0x01, 0x07, 0x06, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 
    -	0x4c, 0x08, 0x08, 0x13, 0x14, 0x62, 0x62, 0x14, 0x13, 0x08, 0x08, 0x75, 
    -	0x08, 0x18, 0x08, 0xd7, 0x08, 0x19, 0x08, 0x13, 0x13, 0x5e, 0x5e, 0x13, 
    -	0x13, 0x08, 0x19, 0x08, 0x70, 0x08, 0x08, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0xb9, 0x01, 0x1a, 0x01, 0x3c, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x36, 
    -	0x17, 0x16, 0x0f, 0x01, 0x06, 0x2f, 0x01, 0x26, 0x37, 0x36, 0x1f, 0x01, 
    -	0xfc, 0x0b, 0x0d, 0x0d, 0x0d, 0x62, 0x0b, 0x0d, 0x62, 0x0d, 0x0d, 0x0c, 
    -	0x0d, 0x55, 0x01, 0x36, 0x0d, 0x0d, 0x0b, 0x0d, 0x60, 0x0b, 0x0b, 0x60, 
    -	0x0d, 0x0b, 0x0c, 0x0c, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x87, 0x00, 0xb6, 0x01, 0x6e, 0x00, 0x0d, 0x00, 0x00, 0x37, 0x16, 
    -	0x07, 0x06, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x36, 0x17, 0x16, 0x0f, 0x01, 
    -	0xb0, 0x0d, 0x0d, 0x0d, 0x0b, 0x60, 0x0c, 0x0c, 0x60, 0x0b, 0x0d, 0x0d, 
    -	0x0d, 0x4e, 0xa5, 0x0d, 0x0b, 0x0d, 0x0d, 0x61, 0x0c, 0x0d, 0x61, 0x0d, 
    -	0x0d, 0x0b, 0x0d, 0x56, 0x00, 0x01, 0x00, 0x32, 0x00, 0x87, 0x00, 0xb6, 
    -	0x01, 0x6e, 0x00, 0x0d, 0x00, 0x00, 0x3f, 0x01, 0x27, 0x26, 0x37, 0x36, 
    -	0x1f, 0x01, 0x16, 0x0f, 0x01, 0x06, 0x27, 0x26, 0x38, 0x4f, 0x4f, 0x0d, 
    -	0x0d, 0x0d, 0x0b, 0x60, 0x0c, 0x0c, 0x60, 0x0b, 0x0d, 0x0d, 0xa5, 0x55, 
    -	0x56, 0x0d, 0x0b, 0x0d, 0x0d, 0x61, 0x0d, 0x0c, 0x61, 0x0d, 0x0d, 0x0b, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0xb9, 0x01, 0x1a, 0x01, 0x3c, 0x00, 0x0d, 
    -	0x00, 0x00, 0x37, 0x06, 0x27, 0x26, 0x3f, 0x01, 0x36, 0x1f, 0x01, 0x16, 
    -	0x07, 0x06, 0x2f, 0x01, 0x51, 0x0d, 0x0c, 0x0c, 0x0c, 0x62, 0x0d, 0x0b, 
    -	0x62, 0x0c, 0x0c, 0x0c, 0x0d, 0x55, 0xbe, 0x0b, 0x0b, 0x0c, 0x0d, 0x5f, 
    -	0x0d, 0x0d, 0x5f, 0x0d, 0x0c, 0x0b, 0x0b, 0x4f, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x87, 0x01, 0xe2, 0x01, 0x6e, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x17, 
    -	0x37, 0x36, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x2f, 0x01, 0x26, 0x37, 0x36, 
    -	0x51, 0xb9, 0xba, 0x0b, 0x0d, 0x0d, 0x0d, 0xc6, 0x0b, 0x0d, 0xc6, 0x0d, 
    -	0x0d, 0x0c, 0x01, 0x68, 0xb2, 0xb2, 0x0d, 0x0d, 0x0b, 0x0d, 0xc4, 0x0b, 
    -	0x0b, 0xc4, 0x0d, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x23, 0x01, 0x1a, 0x01, 0xd2, 0x00, 0x0d, 0x00, 0x00, 0x25, 0x16, 
    -	0x07, 0x06, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x36, 0x17, 0x16, 0x0f, 0x01, 
    -	0x01, 0x14, 0x0d, 0x0d, 0x0d, 0x0b, 0xc4, 0x0c, 0x0c, 0xc4, 0x0b, 0x0d, 
    -	0x0d, 0x0d, 0xb3, 0x41, 0x0d, 0x0b, 0x0d, 0x0d, 0xc5, 0x0c, 0x0d, 0xc5, 
    -	0x0d, 0x0d, 0x0b, 0x0d, 0xba, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x23, 0x01, 0x1a, 0x01, 0xd2, 0x00, 0x0d, 0x00, 0x00, 0x3f, 0x01, 
    -	0x27, 0x26, 0x37, 0x36, 0x1f, 0x01, 0x16, 0x0f, 0x01, 0x06, 0x27, 0x26, 
    -	0x38, 0xb3, 0xb3, 0x0d, 0x0d, 0x0d, 0x0b, 0xc4, 0x0c, 0x0c, 0xc4, 0x0b, 
    -	0x0d, 0x0d, 0x41, 0xb9, 0xba, 0x0d, 0x0b, 0x0d, 0x0d, 0xc5, 0x0d, 0x0c, 
    -	0xc5, 0x0d, 0x0d, 0x0b, 0x00, 0x01, 0x00, 0x32, 0x00, 0x87, 0x01, 0xe2, 
    -	0x01, 0x6e, 0x00, 0x0d, 0x00, 0x00, 0x25, 0x27, 0x07, 0x06, 0x27, 0x26, 
    -	0x3f, 0x01, 0x36, 0x1f, 0x01, 0x16, 0x07, 0x06, 0x01, 0xc4, 0xba, 0xb9, 
    -	0x0d, 0x0c, 0x0c, 0x0c, 0xc6, 0x0d, 0x0b, 0xc6, 0x0c, 0x0c, 0x0d, 0x8c, 
    -	0xb3, 0xb3, 0x0b, 0x0b, 0x0c, 0x0d, 0xc3, 0x0d, 0x0d, 0xc3, 0x0d, 0x0c, 
    -	0x0b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x7d, 0x02, 0x26, 
    -	0x01, 0x77, 0x00, 0x10, 0x00, 0x14, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 
    -	0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 
    -	0x15, 0x07, 0x35, 0x21, 0x15, 0x02, 0x26, 0x1d, 0x15, 0xfe, 0x70, 0x14, 
    -	0x1e, 0x1e, 0x14, 0x01, 0x90, 0x15, 0x1d, 0x32, 0xfe, 0x70, 0x01, 0x2c, 
    -	0x7d, 0x15, 0x1d, 0x1d, 0x15, 0x96, 0x14, 0x1e, 0x1e, 0x14, 0x96, 0x96, 
    -	0x96, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x7d, 0x02, 0x26, 
    -	0x01, 0x77, 0x00, 0x10, 0x00, 0x14, 0x00, 0x18, 0x00, 0x00, 0x01, 0x15, 
    -	0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 
    -	0x32, 0x16, 0x15, 0x07, 0x35, 0x21, 0x15, 0x37, 0x35, 0x33, 0x15, 0x02, 
    -	0x26, 0x1d, 0x15, 0xfe, 0x70, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x90, 0x15, 
    -	0x1d, 0x32, 0xfe, 0x70, 0x19, 0x64, 0x01, 0x2c, 0x7d, 0x15, 0x1d, 0x1d, 
    -	0x15, 0x96, 0x14, 0x1e, 0x1e, 0x14, 0x96, 0x96, 0x96, 0x19, 0x63, 0x63, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x7d, 0x02, 0x26, 0x01, 0x77, 0x00, 0x10, 
    -	0x00, 0x14, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 
    -	0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 
    -	0x15, 0x07, 0x35, 0x21, 0x15, 0x37, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 
    -	0x15, 0x02, 0x26, 0x1d, 0x15, 0xfe, 0x70, 0x14, 0x1e, 0x1e, 0x14, 0x01, 
    -	0x90, 0x15, 0x1d, 0x32, 0xfe, 0x70, 0x19, 0x64, 0x19, 0x64, 0x01, 0x2c, 
    -	0x7d, 0x15, 0x1d, 0x1d, 0x15, 0x96, 0x14, 0x1e, 0x1e, 0x14, 0x96, 0x96, 
    -	0x96, 0x19, 0x63, 0x63, 0x63, 0x63, 0x00, 0x00, 0x00, 0x05, 0x00, 0x32, 
    -	0x00, 0x7d, 0x02, 0x26, 0x01, 0x77, 0x00, 0x10, 0x00, 0x14, 0x00, 0x18, 
    -	0x00, 0x1c, 0x00, 0x20, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 
    -	0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x07, 
    -	0x35, 0x21, 0x15, 0x37, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x37, 
    -	0x33, 0x15, 0x23, 0x02, 0x26, 0x1d, 0x15, 0xfe, 0x70, 0x14, 0x1e, 0x1e, 
    -	0x14, 0x01, 0x90, 0x15, 0x1d, 0x32, 0xfe, 0x70, 0x19, 0x64, 0x19, 0x64, 
    -	0x19, 0x64, 0x64, 0x01, 0x2c, 0x7d, 0x15, 0x1d, 0x1d, 0x15, 0x96, 0x14, 
    -	0x1e, 0x1e, 0x14, 0x96, 0x96, 0x96, 0x19, 0x63, 0x63, 0x63, 0x63, 0x63, 
    -	0x63, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x2d, 0x02, 0x08, 
    -	0x01, 0xc7, 0x00, 0x19, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x14, 
    -	0x06, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x33, 0x07, 0x27, 0x33, 0x3e, 0x01, 0x17, 0x33, 
    -	0x15, 0x17, 0x07, 0x27, 0x01, 0x3c, 0x55, 0x77, 0x77, 0x55, 0x45, 0x39, 
    -	0x23, 0x29, 0x32, 0x3f, 0x5a, 0x5a, 0x3f, 0x3e, 0x59, 0x02, 0x47, 0x5c, 
    -	0x5c, 0x3e, 0x02, 0x77, 0x41, 0x23, 0x41, 0x19, 0x4b, 0x01, 0xc7, 0x78, 
    -	0xaa, 0x78, 0x2c, 0x26, 0x1e, 0x5a, 0x3f, 0x40, 0x5a, 0x56, 0x3e, 0x67, 
    -	0x67, 0x53, 0x74, 0x5f, 0x66, 0x41, 0x19, 0x4b, 0x00, 0x08, 0x00, 0x32, 
    -	0x00, 0x14, 0x01, 0xfe, 0x01, 0xe0, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x27, 
    -	0x00, 0x37, 0x00, 0x42, 0x00, 0x4e, 0x00, 0x5d, 0x00, 0x69, 0x00, 0x00, 
    -	0x13, 0x22, 0x07, 0x26, 0x27, 0x36, 0x37, 0x16, 0x17, 0x06, 0x15, 0x14, 
    -	0x17, 0x06, 0x07, 0x26, 0x07, 0x14, 0x17, 0x06, 0x07, 0x26, 0x35, 0x34, 
    -	0x37, 0x16, 0x17, 0x06, 0x37, 0x22, 0x07, 0x26, 0x27, 0x36, 0x33, 0x32, 
    -	0x17, 0x06, 0x07, 0x26, 0x17, 0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 
    -	0x37, 0x16, 0x33, 0x32, 0x37, 0x16, 0x17, 0x06, 0x17, 0x36, 0x37, 0x36, 
    -	0x37, 0x06, 0x07, 0x36, 0x35, 0x34, 0x26, 0x27, 0x06, 0x07, 0x26, 0x27, 
    -	0x36, 0x37, 0x16, 0x33, 0x32, 0x37, 0x16, 0x37, 0x16, 0x15, 0x14, 0x07, 
    -	0x06, 0x07, 0x26, 0x27, 0x26, 0x27, 0x36, 0x3d, 0x01, 0x36, 0x03, 0x16, 
    -	0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x36, 0xa2, 0x0b, 
    -	0x0a, 0x18, 0x16, 0x1b, 0x25, 0x2e, 0x1e, 0x03, 0x02, 0x1f, 0x1b, 0x08, 
    -	0x37, 0x0a, 0x1e, 0x0a, 0x21, 0x19, 0x13, 0x17, 0x04, 0xa8, 0x0e, 0x0b, 
    -	0x1d, 0x1c, 0x2a, 0x27, 0x3c, 0x37, 0x26, 0x2b, 0x0d, 0x35, 0x50, 0x41, 
    -	0x02, 0x07, 0x13, 0x1e, 0x0d, 0x0f, 0x07, 0x0c, 0x2f, 0x14, 0x08, 0x3b, 
    -	0x13, 0x08, 0x1d, 0x19, 0x17, 0x3c, 0x03, 0x01, 0x4b, 0x5f, 0x39, 0x2d, 
    -	0x22, 0x06, 0x22, 0x03, 0x07, 0x0f, 0x0b, 0x47, 0xb0, 0x4b, 0x02, 0x20, 
    -	0x21, 0x0c, 0x20, 0x18, 0x32, 0x05, 0x32, 0x0d, 0x07, 0x09, 0x01, 0x07, 
    -	0x2b, 0x36, 0x1d, 0x1b, 0x37, 0x01, 0x47, 0x05, 0x1a, 0x26, 0x25, 0x16, 
    -	0x13, 0x16, 0x08, 0x08, 0x03, 0x08, 0x18, 0x1c, 0x02, 0x31, 0x11, 0x0d, 
    -	0x39, 0x3b, 0x35, 0x41, 0x37, 0x30, 0x1f, 0x19, 0x0c, 0x98, 0x07, 0x15, 
    -	0x0e, 0x0f, 0x1f, 0x07, 0x12, 0x0d, 0xe6, 0x0c, 0x2c, 0x0a, 0x05, 0x0c, 
    -	0x0e, 0x16, 0x17, 0x0a, 0x04, 0x36, 0x42, 0x07, 0x4b, 0x07, 0x17, 0x02, 
    -	0x07, 0x49, 0x2b, 0x18, 0x19, 0x05, 0x12, 0x26, 0x30, 0x58, 0x12, 0x25, 
    -	0x48, 0x41, 0x01, 0x07, 0x31, 0xe9, 0x44, 0x66, 0x0b, 0x16, 0x09, 0x03, 
    -	0x1c, 0x02, 0x49, 0x3b, 0x0a, 0x0b, 0x05, 0x15, 0xfe, 0xf6, 0x05, 0x04, 
    -	0x09, 0x11, 0x28, 0x20, 0x15, 0x06, 0x50, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x8a, 0x02, 0x27, 0x01, 0x6b, 0x00, 0x1a, 0x00, 0x26, 0x00, 0x00, 
    -	0x01, 0x16, 0x0f, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x2f, 0x01, 
    -	0x26, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x3b, 0x02, 0x32, 0x17, 0x1e, 0x02, 
    -	0x07, 0x33, 0x27, 0x21, 0x07, 0x33, 0x32, 0x1f, 0x01, 0x33, 0x37, 0x36, 
    -	0x02, 0x16, 0x14, 0x05, 0x0e, 0x02, 0x12, 0x0b, 0xfe, 0x68, 0x0b, 0x12, 
    -	0x02, 0x0e, 0x04, 0x14, 0x04, 0x1c, 0x28, 0x06, 0x0b, 0x0f, 0x81, 0x81, 
    -	0x0f, 0x0b, 0x08, 0x25, 0x1e, 0x81, 0x59, 0x33, 0xfe, 0xea, 0x33, 0x59, 
    -	0x04, 0x02, 0x14, 0x96, 0x14, 0x02, 0x01, 0x12, 0x15, 0x0f, 0x4d, 0x0a, 
    -	0x0d, 0x0d, 0x0a, 0x4d, 0x10, 0x14, 0x05, 0x1c, 0x27, 0x06, 0x0b, 0x0b, 
    -	0x08, 0x24, 0x1d, 0x15, 0x39, 0x39, 0x04, 0x32, 0x32, 0x04, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x3f, 0x01, 0xf5, 0x01, 0xb6, 0x00, 0x1a, 
    -	0x00, 0x2a, 0x00, 0x00, 0x25, 0x16, 0x0f, 0x01, 0x0e, 0x01, 0x23, 0x21, 
    -	0x22, 0x26, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x36, 0x3b, 0x01, 0x07, 0x23, 
    -	0x17, 0x37, 0x23, 0x27, 0x33, 0x32, 0x1f, 0x01, 0x36, 0x26, 0x23, 0x21, 
    -	0x22, 0x06, 0x1f, 0x01, 0x1e, 0x01, 0x33, 0x21, 0x32, 0x36, 0x37, 0x01, 
    -	0xec, 0x0c, 0x05, 0x11, 0x01, 0x11, 0x0b, 0xfe, 0x9c, 0x0b, 0x11, 0x01, 
    -	0x11, 0x04, 0x0b, 0x4f, 0x0b, 0x19, 0x34, 0x0a, 0x43, 0x7f, 0x80, 0x44, 
    -	0x09, 0x33, 0x19, 0x0c, 0x2c, 0x01, 0x0c, 0x0b, 0xfe, 0xbe, 0x0b, 0x0c, 
    -	0x01, 0x07, 0x01, 0x11, 0x0a, 0x01, 0x28, 0x0b, 0x11, 0x01, 0xe4, 0x1a, 
    -	0x16, 0x5c, 0x0a, 0x0f, 0x0f, 0x0a, 0x5c, 0x19, 0x17, 0xbb, 0x17, 0x66, 
    -	0x69, 0x69, 0x66, 0x17, 0xfd, 0x0b, 0x10, 0x10, 0x0b, 0x25, 0x0b, 0x0f, 
    -	0x0f, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x32, 0x00, 0x13, 0x02, 0x00, 
    -	0x01, 0xe1, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x26, 0x00, 0x30, 
    -	0x00, 0x3a, 0x00, 0x00, 0x12, 0x36, 0x16, 0x17, 0x16, 0x06, 0x07, 0x06, 
    -	0x26, 0x27, 0x26, 0x37, 0x22, 0x07, 0x17, 0x36, 0x32, 0x17, 0x37, 0x26, 
    -	0x03, 0x26, 0x35, 0x34, 0x37, 0x27, 0x06, 0x15, 0x16, 0x1f, 0x01, 0x36, 
    -	0x37, 0x27, 0x06, 0x22, 0x27, 0x07, 0x16, 0x36, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x22, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x36, 0x27, 0x34, 0x27, 0x07, 
    -	0x16, 0x15, 0x14, 0xb7, 0xbe, 0x88, 0x02, 0x01, 0x85, 0x5f, 0x5f, 0x89, 
    -	0x01, 0x02, 0xe5, 0x2f, 0x2a, 0x1f, 0x1c, 0x42, 0x1c, 0x1f, 0x2c, 0xae, 
    -	0x0e, 0x0e, 0x33, 0x17, 0x01, 0x16, 0xb4, 0x31, 0x28, 0x1f, 0x1e, 0x3e, 
    -	0x1e, 0x1f, 0x2b, 0x03, 0x5c, 0x40, 0x40, 0x5c, 0x40, 0xec, 0x34, 0x17, 
    -	0x01, 0x16, 0x34, 0x0e, 0x01, 0xdf, 0x02, 0x84, 0x5f, 0x5f, 0x89, 0x02, 
    -	0x01, 0x85, 0x5f, 0x5f, 0x6c, 0x16, 0x34, 0x0e, 0x0e, 0x34, 0x17, 0xfe, 
    -	0xfa, 0x1e, 0x1f, 0x20, 0x1e, 0x1f, 0x2c, 0x33, 0x30, 0x2a, 0x6c, 0x02, 
    -	0x15, 0x34, 0x0f, 0x0f, 0x34, 0x17, 0x5a, 0x41, 0x2d, 0x2e, 0x40, 0x40, 
    -	0x2e, 0x2d, 0x10, 0x1f, 0x30, 0x2f, 0x30, 0x2a, 0x1f, 0x1e, 0x20, 0x1f, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x01, 0x4b, 0x01, 0xf5, 0x00, 0x13, 
    -	0x00, 0x1f, 0x00, 0x00, 0x25, 0x16, 0x06, 0x07, 0x06, 0x26, 0x2f, 0x01, 
    -	0x26, 0x36, 0x37, 0x27, 0x26, 0x37, 0x36, 0x1f, 0x01, 0x36, 0x16, 0x17, 
    -	0x07, 0x3e, 0x01, 0x27, 0x2e, 0x01, 0x07, 0x0e, 0x01, 0x17, 0x1e, 0x01, 
    -	0x01, 0x45, 0x0e, 0x2d, 0x2f, 0x2f, 0x51, 0x0b, 0x35, 0x0a, 0x1a, 0x1d, 
    -	0x30, 0x07, 0x0e, 0x0f, 0x09, 0x31, 0x28, 0x4a, 0x0e, 0x61, 0x0e, 0x0c, 
    -	0x04, 0x05, 0x19, 0x0e, 0x0e, 0x0c, 0x04, 0x05, 0x19, 0x8c, 0x28, 0x4d, 
    -	0x11, 0x0e, 0x25, 0x28, 0xc0, 0x22, 0x42, 0x14, 0x5d, 0x11, 0x07, 0x09, 
    -	0x10, 0x60, 0x0b, 0x26, 0x27, 0x34, 0x05, 0x1a, 0x0e, 0x0e, 0x0d, 0x04, 
    -	0x05, 0x1a, 0x0e, 0x0e, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x0e, 0x02, 0x13, 0x01, 0xe5, 0x00, 0x0e, 0x00, 0x20, 0x00, 0x00, 
    -	0x37, 0x36, 0x16, 0x17, 0x1e, 0x01, 0x07, 0x06, 0x07, 0x06, 0x37, 0x34, 
    -	0x37, 0x3e, 0x01, 0x01, 0x16, 0x06, 0x07, 0x06, 0x07, 0x06, 0x27, 0x26, 
    -	0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x6d, 0x13, 0x2f, 
    -	0x14, 0x15, 0x06, 0x12, 0x2b, 0x47, 0x2a, 0x02, 0x03, 0x1a, 0x0c, 0x01, 
    -	0xb6, 0x0d, 0xae, 0x3b, 0x13, 0x2b, 0x04, 0x04, 0x09, 0x0f, 0x10, 0x11, 
    -	0x08, 0x04, 0x20, 0x14, 0x3b, 0xe2, 0xa0, 0x11, 0x05, 0x14, 0x14, 0x2f, 
    -	0x12, 0x2a, 0x09, 0x06, 0x0d, 0x02, 0x03, 0x1e, 0x55, 0x01, 0x54, 0x0d, 
    -	0xde, 0x3a, 0x13, 0x21, 0x03, 0x07, 0x11, 0x0f, 0x10, 0x08, 0x03, 0x05, 
    -	0x2a, 0x13, 0x3a, 0xab, 0x00, 0x03, 0x00, 0x32, 0x00, 0x1d, 0x01, 0xcc, 
    -	0x01, 0xd6, 0x00, 0x07, 0x00, 0x11, 0x00, 0x27, 0x00, 0x00, 0x25, 0x37, 
    -	0x17, 0x07, 0x06, 0x2f, 0x01, 0x22, 0x27, 0x37, 0x17, 0x16, 0x06, 0x23, 
    -	0x07, 0x06, 0x26, 0x35, 0x27, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 
    -	0x14, 0x0f, 0x01, 0x27, 0x37, 0x35, 0x34, 0x26, 0x22, 0x06, 0x1d, 0x01, 
    -	0x17, 0x07, 0x01, 0x35, 0x08, 0x82, 0x08, 0x02, 0x0e, 0x64, 0x0e, 0xf5, 
    -	0x81, 0x08, 0x01, 0x08, 0x07, 0x63, 0x06, 0x0a, 0x15, 0x01, 0x78, 0xaa, 
    -	0x78, 0x01, 0x08, 0x81, 0x08, 0x2c, 0x3e, 0x2c, 0x08, 0x81, 0x35, 0x52, 
    -	0x0a, 0x53, 0x0e, 0x02, 0x08, 0x57, 0x0a, 0x52, 0x06, 0x09, 0x08, 0x01, 
    -	0x08, 0x05, 0xda, 0x06, 0x0b, 0x50, 0x71, 0x71, 0x50, 0x0b, 0x06, 0x55, 
    -	0x0b, 0x55, 0x06, 0x1d, 0x29, 0x29, 0x1d, 0x06, 0x55, 0x0b, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x32, 0x02, 0x1c, 0x01, 0xc2, 0x00, 0x0b, 
    -	0x00, 0x15, 0x00, 0x2f, 0x00, 0x3d, 0x00, 0x00, 0x01, 0x15, 0x21, 0x35, 
    -	0x34, 0x36, 0x37, 0x33, 0x21, 0x32, 0x1e, 0x01, 0x27, 0x32, 0x1e, 0x01, 
    -	0x15, 0x23, 0x34, 0x36, 0x37, 0x33, 0x05, 0x16, 0x17, 0x16, 0x0f, 0x01, 
    -	0x0e, 0x01, 0x07, 0x23, 0x21, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x3e, 
    -	0x01, 0x37, 0x36, 0x3f, 0x01, 0x15, 0x21, 0x35, 0x07, 0x35, 0x23, 0x15, 
    -	0x23, 0x35, 0x23, 0x15, 0x14, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x01, 0xd5, 
    -	0xfe, 0xa4, 0x0d, 0x06, 0x06, 0x01, 0x2a, 0x03, 0x08, 0x0e, 0x4a, 0x03, 
    -	0x08, 0x0e, 0xf9, 0x0d, 0x06, 0x06, 0x01, 0x43, 0x11, 0x02, 0x03, 0x03, 
    -	0x26, 0x02, 0x10, 0x06, 0x07, 0xfe, 0xa4, 0x1a, 0x04, 0x03, 0x21, 0x03, 
    -	0x05, 0x07, 0x03, 0x09, 0x03, 0x02, 0x0f, 0x01, 0xa2, 0x6d, 0x23, 0x82, 
    -	0x22, 0x18, 0x96, 0x0b, 0x0d, 0x01, 0x77, 0x19, 0x19, 0x0b, 0x0d, 0x01, 
    -	0x01, 0x0d, 0x40, 0x01, 0x0d, 0x0b, 0x0b, 0x0d, 0x01, 0x64, 0x10, 0x07, 
    -	0x09, 0x12, 0xe1, 0x0b, 0x0d, 0x01, 0x19, 0x0d, 0xc5, 0x0f, 0x0b, 0x16, 
    -	0x04, 0x08, 0x03, 0x02, 0x0f, 0x28, 0x28, 0x96, 0x32, 0x28, 0x28, 0x32, 
    -	0x19, 0x0c, 0x06, 0x00, 0x00, 0x04, 0x00, 0x32, 0x00, 0x64, 0x01, 0xf4, 
    -	0x01, 0x90, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x13, 0x00, 0x19, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x1d, 0x01, 0x23, 0x35, 0x03, 0x35, 0x33, 0x15, 0x23, 
    -	0x22, 0x33, 0x35, 0x33, 0x15, 0x14, 0x06, 0x23, 0x01, 0x34, 0x3b, 0x01, 
    -	0x15, 0x23, 0x01, 0xdb, 0x0a, 0x0f, 0xfa, 0xc8, 0x96, 0x82, 0x14, 0xc8, 
    -	0xfa, 0x0e, 0x0b, 0xfe, 0x57, 0x14, 0x82, 0x96, 0x01, 0x90, 0x0f, 0x0a, 
    -	0x64, 0x7d, 0xfe, 0xed, 0x64, 0x7d, 0x7d, 0x64, 0x0b, 0x0e, 0x01, 0x13, 
    -	0x19, 0x7d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x0d, 0x02, 0x26, 
    -	0x01, 0xe8, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x26, 0x00, 0x00, 0x01, 0x23, 
    -	0x27, 0x07, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x27, 0x26, 0x37, 0x25, 0x36, 
    -	0x1f, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 
    -	0x3d, 0x01, 0x34, 0x36, 0x33, 0x05, 0x35, 0x27, 0x0f, 0x01, 0x27, 0x07, 
    -	0x15, 0x01, 0xde, 0x32, 0x3e, 0x6b, 0x5a, 0x1a, 0x26, 0x36, 0x05, 0x10, 
    -	0x01, 0x54, 0x12, 0x07, 0x68, 0x08, 0x0b, 0x0b, 0x08, 0xfe, 0x96, 0x08, 
    -	0x0b, 0x0b, 0x08, 0x01, 0x4e, 0x24, 0x53, 0x41, 0x45, 0x2e, 0x01, 0x4e, 
    -	0x4b, 0x4b, 0x27, 0x1a, 0x50, 0x94, 0x13, 0x07, 0x7c, 0x05, 0x11, 0xba, 
    -	0x0c, 0x08, 0xec, 0x08, 0x0c, 0x0c, 0x08, 0xec, 0x08, 0x0c, 0xe2, 0x51, 
    -	0x50, 0x1e, 0x42, 0x55, 0x6b, 0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x0b, 0x00, 0x24, 0x00, 0x59, 
    -	0x00, 0x67, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x34, 0x36, 0x05, 0x34, 0x26, 0x27, 0x06, 0x17, 0x1e, 0x01, 
    -	0x3e, 0x01, 0x17, 0x16, 0x0e, 0x01, 0x17, 0x16, 0x33, 0x1e, 0x01, 0x17, 
    -	0x16, 0x07, 0x06, 0x17, 0x36, 0x03, 0x0e, 0x01, 0x07, 0x32, 0x1e, 0x03, 
    -	0x17, 0x16, 0x06, 0x15, 0x14, 0x16, 0x15, 0x14, 0x16, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x2e, 
    -	0x04, 0x23, 0x2e, 0x01, 0x06, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x37, 0x3e, 
    -	0x02, 0x37, 0x3e, 0x01, 0x03, 0x16, 0x33, 0x32, 0x37, 0x26, 0x07, 0x0e, 
    -	0x01, 0x07, 0x06, 0x23, 0x0e, 0x01, 0x01, 0x22, 0x64, 0x8c, 0x8c, 0x64, 
    -	0x63, 0x8d, 0x8d, 0x01, 0x30, 0x4e, 0x3e, 0x09, 0x01, 0x02, 0x0e, 0x10, 
    -	0x10, 0x02, 0x0b, 0x16, 0x17, 0x0b, 0x11, 0x1f, 0x0e, 0x0f, 0x01, 0x05, 
    -	0x0c, 0x0b, 0x12, 0x2b, 0xe9, 0x38, 0x57, 0x14, 0x03, 0x10, 0x0c, 0x0e, 
    -	0x0a, 0x01, 0x02, 0x12, 0x26, 0x08, 0x24, 0x08, 0x05, 0x01, 0x03, 0x07, 
    -	0x06, 0x2f, 0x04, 0x08, 0x07, 0x0a, 0x18, 0x11, 0x14, 0x01, 0x08, 0x1a, 
    -	0x0a, 0x11, 0x0f, 0x14, 0x04, 0x04, 0x09, 0x0d, 0x07, 0x02, 0x15, 0x21, 
    -	0x21, 0x1f, 0x40, 0x31, 0x0d, 0x2e, 0x0c, 0x29, 0x03, 0x25, 0x01, 0x06, 
    -	0x0e, 0x01, 0xea, 0x8d, 0x63, 0x64, 0x8c, 0x8c, 0x64, 0x63, 0x8d, 0xf0, 
    -	0x42, 0x6b, 0x15, 0x0c, 0x04, 0x13, 0x0d, 0x06, 0x06, 0x02, 0x0c, 0x17, 
    -	0x21, 0x16, 0x20, 0x01, 0x22, 0x10, 0x28, 0x1e, 0x16, 0x10, 0x38, 0x01, 
    -	0x0f, 0x07, 0x46, 0x34, 0x02, 0x01, 0x03, 0x05, 0x04, 0x06, 0x21, 0x0e, 
    -	0x0f, 0x1a, 0x0a, 0x0e, 0x28, 0x02, 0x06, 0x2a, 0x16, 0x20, 0x04, 0x10, 
    -	0x15, 0x15, 0x1c, 0x09, 0x11, 0x1b, 0x10, 0x0c, 0x05, 0x04, 0x03, 0x01, 
    -	0x04, 0x0f, 0x07, 0x05, 0x11, 0x14, 0x05, 0x07, 0x07, 0x09, 0x06, 0x02, 
    -	0x0d, 0xfe, 0x78, 0x0a, 0x22, 0x16, 0x05, 0x01, 0x0f, 0x01, 0x08, 0x01, 
    -	0x0c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x41, 0x02, 0x08, 
    -	0x01, 0xb4, 0x00, 0x1f, 0x00, 0x00, 0x13, 0x36, 0x17, 0x16, 0x17, 0x16, 
    -	0x07, 0x0e, 0x03, 0x07, 0x06, 0x27, 0x06, 0x07, 0x06, 0x26, 0x37, 0x3e, 
    -	0x03, 0x3f, 0x01, 0x22, 0x0e, 0x03, 0x07, 0x26, 0xa8, 0x5b, 0xa2, 0x54, 
    -	0x0e, 0x02, 0x03, 0x26, 0x36, 0x18, 0x29, 0x1a, 0x45, 0x7a, 0x21, 0x18, 
    -	0x06, 0x23, 0x05, 0x16, 0x55, 0x5b, 0x55, 0x1c, 0x1b, 0x07, 0x1b, 0x4d, 
    -	0x47, 0x5b, 0x23, 0x0b, 0x01, 0x8e, 0x35, 0x14, 0x0b, 0x0e, 0x03, 0x02, 
    -	0x14, 0x45, 0x3f, 0x45, 0x12, 0x30, 0x2e, 0x26, 0x32, 0x0c, 0x11, 0x0b, 
    -	0x32, 0x5d, 0x3c, 0x2e, 0x0b, 0x0a, 0x01, 0x0d, 0x19, 0x3b, 0x29, 0x79, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x3c, 0x02, 0x26, 0x01, 0xb9, 0x00, 0x11, 
    -	0x00, 0x2b, 0x00, 0x38, 0x00, 0x00, 0x37, 0x17, 0x37, 0x0e, 0x04, 0x07, 
    -	0x0e, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x25, 0x16, 0x14, 0x0f, 
    -	0x01, 0x27, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 
    -	0x07, 0x06, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x17, 0x13, 0x36, 
    -	0x26, 0x2f, 0x01, 0x37, 0x1e, 0x02, 0x07, 0x0e, 0x01, 0x26, 0x85, 0xa7, 
    -	0x8a, 0x02, 0x04, 0x02, 0x09, 0x0f, 0x0f, 0x14, 0x28, 0x17, 0x10, 0x18, 
    -	0x28, 0x14, 0x24, 0x1f, 0x01, 0x8d, 0x0c, 0x0c, 0x27, 0x9a, 0x0b, 0x22, 
    -	0x14, 0x1b, 0x1b, 0x14, 0x0d, 0x05, 0x92, 0x86, 0x1e, 0x1e, 0xd0, 0x0c, 
    -	0x0c, 0xd0, 0x1e, 0x1e, 0x90, 0x09, 0x05, 0x07, 0x07, 0x23, 0x03, 0x06, 
    -	0x0b, 0x09, 0x02, 0x12, 0x11, 0xc2, 0x54, 0x44, 0x0b, 0x19, 0x0a, 0x0d, 
    -	0x0a, 0x06, 0x09, 0x17, 0x0b, 0x0d, 0x18, 0x08, 0x10, 0x25, 0x9f, 0x07, 
    -	0x13, 0x07, 0x16, 0x33, 0x12, 0x10, 0x18, 0x10, 0x02, 0x22, 0x4c, 0x10, 
    -	0x10, 0x75, 0x07, 0x13, 0x07, 0x75, 0x10, 0x10, 0xfe, 0xae, 0x3a, 0x42, 
    -	0x0c, 0x0b, 0x13, 0x04, 0x14, 0x51, 0x3a, 0x0d, 0x04, 0x09, 0x00, 0x00, 
    -	0x00, 0x05, 0x00, 0x32, 0x00, 0x3b, 0x02, 0x27, 0x01, 0xb8, 0x00, 0x3b, 
    -	0x00, 0x44, 0x00, 0x4e, 0x00, 0x67, 0x00, 0x6a, 0x00, 0x00, 0x25, 0x16, 
    -	0x06, 0x07, 0x22, 0x2e, 0x01, 0x27, 0x26, 0x37, 0x3e, 0x01, 0x27, 0x0e, 
    -	0x03, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x37, 0x36, 0x37, 0x27, 0x06, 0x23, 
    -	0x06, 0x27, 0x34, 0x26, 0x35, 0x26, 0x36, 0x33, 0x37, 0x34, 0x27, 0x34, 
    -	0x33, 0x32, 0x37, 0x32, 0x1d, 0x01, 0x36, 0x33, 0x36, 0x17, 0x14, 0x16, 
    -	0x15, 0x16, 0x0f, 0x01, 0x15, 0x33, 0x32, 0x16, 0x07, 0x16, 0x37, 0x27, 
    -	0x06, 0x07, 0x06, 0x15, 0x14, 0x37, 0x3e, 0x02, 0x27, 0x26, 0x23, 0x22, 
    -	0x06, 0x23, 0x27, 0x1e, 0x02, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x35, 0x27, 
    -	0x23, 0x06, 0x07, 0x14, 0x2b, 0x01, 0x22, 0x35, 0x36, 0x13, 0x36, 0x3b, 
    -	0x01, 0x32, 0x07, 0x33, 0x27, 0x02, 0x20, 0x0f, 0x28, 0x2f, 0x05, 0x02, 
    -	0x0e, 0x01, 0x01, 0x02, 0x2b, 0x1f, 0x15, 0x08, 0x17, 0x24, 0x32, 0x1c, 
    -	0x1a, 0x20, 0x1e, 0x19, 0x20, 0x01, 0x46, 0x03, 0x03, 0x02, 0x05, 0x01, 
    -	0x03, 0x02, 0x4e, 0x01, 0x04, 0x17, 0x03, 0x05, 0x4f, 0x03, 0x04, 0x01, 
    -	0x04, 0x02, 0x04, 0x58, 0x06, 0x2b, 0x3e, 0xad, 0x0e, 0x11, 0x02, 0x11, 
    -	0x0d, 0x16, 0x54, 0x0e, 0x1e, 0x0f, 0x04, 0x12, 0x1e, 0x01, 0x04, 0x01, 
    -	0xe1, 0x05, 0x2b, 0x28, 0x02, 0x2b, 0x03, 0x19, 0x58, 0x18, 0x01, 0x03, 
    -	0x2b, 0x02, 0x05, 0x53, 0x01, 0x04, 0x30, 0x05, 0x41, 0x48, 0x24, 0xe4, 
    -	0x29, 0x5e, 0x21, 0x02, 0x11, 0x01, 0x03, 0x02, 0x1e, 0x5c, 0x1c, 0x13, 
    -	0x26, 0x2a, 0x17, 0x04, 0x03, 0x23, 0x1d, 0x2a, 0x20, 0x19, 0x08, 0x32, 
    -	0x0c, 0x01, 0x03, 0x01, 0x1b, 0x02, 0x01, 0x02, 0x0e, 0x37, 0x02, 0x04, 
    -	0x01, 0x04, 0x34, 0x0b, 0x02, 0x05, 0x01, 0x15, 0x02, 0x05, 0x01, 0x0f, 
    -	0x33, 0x24, 0x70, 0x03, 0x06, 0x6b, 0x06, 0x0e, 0x16, 0x20, 0x21, 0x0b, 
    -	0x0c, 0x2c, 0x23, 0x03, 0x09, 0x01, 0x59, 0x0e, 0x89, 0x7c, 0x01, 0x02, 
    -	0x02, 0x53, 0x52, 0x01, 0x02, 0x02, 0x09, 0x01, 0x0b, 0x04, 0xa2, 0x84, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x00, 0x01, 0x72, 0x01, 0xf4, 0x00, 0x27, 
    -	0x00, 0x2f, 0x00, 0x37, 0x00, 0x00, 0x01, 0x32, 0x1d, 0x01, 0x14, 0x06, 
    -	0x07, 0x15, 0x33, 0x32, 0x1d, 0x01, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 
    -	0x34, 0x3b, 0x01, 0x35, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 
    -	0x1d, 0x01, 0x14, 0x16, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x33, 0x06, 0x22, 
    -	0x26, 0x3d, 0x01, 0x33, 0x15, 0x14, 0x35, 0x15, 0x23, 0x35, 0x34, 0x36, 
    -	0x32, 0x16, 0x01, 0x68, 0x0a, 0x45, 0x42, 0x41, 0x0a, 0x0a, 0xb4, 0x0a, 
    -	0x0a, 0x41, 0x42, 0x45, 0x0a, 0x0f, 0x0a, 0x3b, 0x84, 0x3b, 0x0a, 0x5f, 
    -	0x50, 0x23, 0x96, 0x96, 0x23, 0x50, 0x23, 0x01, 0x3f, 0x0a, 0x45, 0x2e, 
    -	0x48, 0x06, 0x42, 0x0a, 0x1e, 0x0a, 0x0a, 0x1e, 0x0a, 0x42, 0x06, 0x48, 
    -	0x2e, 0x45, 0x0a, 0x0a, 0x45, 0x21, 0x39, 0x39, 0x21, 0x45, 0x0a, 0x77, 
    -	0x19, 0x0f, 0x4f, 0x4f, 0x0f, 0xeb, 0x6a, 0x6a, 0x0f, 0x19, 0x19, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x3c, 0x02, 0x1d, 0x01, 0xb9, 0x00, 0x17, 
    -	0x00, 0x21, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x06, 0x07, 0x06, 0x26, 0x06, 
    -	0x07, 0x06, 0x1e, 0x01, 0x07, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x37, 0x3e, 
    -	0x01, 0x37, 0x36, 0x03, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 
    -	0x16, 0x01, 0xdf, 0x24, 0x1d, 0x09, 0x0d, 0x08, 0x26, 0x2a, 0x13, 0x0f, 
    -	0x09, 0x19, 0x01, 0x01, 0x22, 0x5c, 0x3e, 0x5d, 0x69, 0x05, 0x04, 0x60, 
    -	0x3c, 0x91, 0x24, 0x0f, 0x16, 0x16, 0x0f, 0x10, 0x16, 0x16, 0x01, 0x82, 
    -	0x18, 0x3e, 0x2a, 0x03, 0x02, 0x0e, 0x04, 0x15, 0x17, 0x1d, 0x24, 0x07, 
    -	0x0d, 0x25, 0x25, 0x65, 0x48, 0x3b, 0x75, 0x11, 0x2a, 0xfe, 0xc5, 0x16, 
    -	0x20, 0x15, 0x15, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x0e, 0x02, 0x09, 0x01, 0xe5, 0x00, 0x03, 0x00, 0x23, 0x00, 0x27, 
    -	0x00, 0x00, 0x3f, 0x01, 0x17, 0x07, 0x25, 0x16, 0x14, 0x07, 0x01, 0x06, 
    -	0x22, 0x2f, 0x01, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x26, 
    -	0x34, 0x37, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x37, 0x03, 0x37, 0x27, 0x07, 0x9e, 0xa3, 0x59, 0xa3, 0x01, 0x0a, 
    -	0x07, 0x07, 0xfe, 0xed, 0x08, 0x14, 0x08, 0x26, 0x06, 0x1d, 0x15, 0x0b, 
    -	0x0e, 0x25, 0x08, 0x08, 0x01, 0x13, 0x07, 0x16, 0x07, 0x25, 0x06, 0x1e, 
    -	0x15, 0x0d, 0x0b, 0xe4, 0xcb, 0x81, 0xcc, 0xd3, 0xa3, 0x59, 0xa3, 0xd3, 
    -	0x07, 0x16, 0x07, 0xfe, 0xed, 0x08, 0x08, 0x26, 0x0a, 0x0e, 0x15, 0x1e, 
    -	0x07, 0x26, 0x08, 0x14, 0x08, 0x01, 0x13, 0x07, 0x07, 0x26, 0x0b, 0x0d, 
    -	0x15, 0x1d, 0x06, 0xfe, 0xdf, 0xcb, 0x81, 0xcb, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x4b, 0x02, 0x1c, 0x01, 0xa9, 0x00, 0x27, 0x00, 0x2a, 0x00, 0x00, 
    -	0x01, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 
    -	0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x33, 0x35, 0x23, 
    -	0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x34, 0x36, 0x33, 
    -	0x21, 0x32, 0x16, 0x15, 0x05, 0x37, 0x27, 0x02, 0x1c, 0x32, 0x32, 0x32, 
    -	0x32, 0x32, 0x32, 0x0c, 0x08, 0xfe, 0x3e, 0x08, 0x0c, 0x32, 0x32, 0x32, 
    -	0x32, 0x32, 0x32, 0x0c, 0x08, 0x01, 0xc2, 0x08, 0x0c, 0xfe, 0xd4, 0x7d, 
    -	0x7d, 0x01, 0x77, 0x32, 0x32, 0x32, 0x32, 0x32, 0x1e, 0x08, 0x0c, 0x0c, 
    -	0x08, 0x1e, 0x32, 0x32, 0x32, 0x32, 0x32, 0x1e, 0x09, 0x0b, 0x0b, 0x09, 
    -	0xe6, 0x4b, 0x4b, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x23, 0x01, 0xe0, 
    -	0x01, 0xd1, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x00, 0x12, 0x32, 0x16, 0x14, 
    -	0x06, 0x22, 0x26, 0x34, 0x13, 0x3e, 0x01, 0x37, 0x23, 0x35, 0x33, 0x2e, 
    -	0x01, 0x27, 0x15, 0x23, 0x35, 0x0e, 0x01, 0x07, 0x33, 0x15, 0x23, 0x1e, 
    -	0x01, 0x17, 0x35, 0x33, 0xb0, 0xb2, 0x7e, 0x7e, 0xb2, 0x7e, 0xe9, 0x3e, 
    -	0x58, 0x06, 0x60, 0x60, 0x06, 0x58, 0x3e, 0x23, 0x3e, 0x59, 0x06, 0x61, 
    -	0x61, 0x06, 0x59, 0x3e, 0x23, 0x01, 0xd1, 0x7e, 0xb2, 0x7e, 0x7e, 0xb2, 
    -	0xfe, 0xf9, 0x07, 0x58, 0x3e, 0x23, 0x3e, 0x58, 0x07, 0x61, 0x61, 0x07, 
    -	0x58, 0x3e, 0x23, 0x3e, 0x58, 0x07, 0x61, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0x90, 0x01, 0xdb, 0x00, 0x0f, 0x00, 0x29, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x17, 0x36, 0x2e, 0x02, 0x35, 0x23, 0x15, 0x26, 
    -	0x07, 0x0e, 0x01, 0x17, 0x1e, 0x01, 0x37, 0x36, 0x3d, 0x01, 0x1e, 0x01, 
    -	0x06, 0x07, 0x06, 0x33, 0x32, 0x01, 0x5e, 0x15, 0x1d, 0x1d, 0x15, 0xfa, 
    -	0x14, 0x1e, 0x1e, 0x14, 0xc3, 0x10, 0x09, 0x18, 0x19, 0x1e, 0x15, 0x18, 
    -	0x15, 0x16, 0x05, 0x06, 0x29, 0x16, 0x2c, 0x12, 0x13, 0x01, 0x01, 0x02, 
    -	0x03, 0x02, 0x01, 0xdb, 0x1d, 0x15, 0xfe, 0xa2, 0x14, 0x1e, 0x1e, 0x14, 
    -	0x01, 0x5e, 0x15, 0x1d, 0xee, 0x16, 0x30, 0x20, 0x22, 0x0a, 0xb8, 0x08, 
    -	0x09, 0x07, 0x22, 0x0f, 0x10, 0x0d, 0x07, 0x0f, 0x22, 0x83, 0x03, 0x1a, 
    -	0x1a, 0x08, 0x05, 0x00, 0x00, 0x04, 0x00, 0x32, 0x00, 0x14, 0x01, 0xf4, 
    -	0x01, 0xe0, 0x00, 0x29, 0x00, 0x2f, 0x00, 0x3d, 0x00, 0x43, 0x00, 0x00, 
    -	0x25, 0x15, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 
    -	0x36, 0x37, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x3b, 
    -	0x01, 0x36, 0x33, 0x32, 0x17, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 
    -	0x07, 0x0e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x23, 0x06, 0x26, 0x22, 0x0e, 
    -	0x01, 0x15, 0x14, 0x1e, 0x01, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x05, 
    -	0x1e, 0x01, 0x17, 0x26, 0x27, 0x01, 0x31, 0x23, 0x2e, 0x41, 0x2e, 0x2d, 
    -	0x42, 0x2e, 0x24, 0x21, 0x28, 0x1c, 0x1f, 0x2c, 0x14, 0x0b, 0x07, 0x56, 
    -	0x18, 0x61, 0x62, 0x18, 0x55, 0x07, 0x0b, 0x14, 0x2c, 0x1f, 0x1c, 0x27, 
    -	0x21, 0x45, 0x28, 0x2e, 0x04, 0x3f, 0x03, 0x5c, 0x3e, 0x2e, 0x12, 0x12, 
    -	0x2e, 0x3e, 0x2e, 0x12, 0x12, 0xfe, 0xf6, 0x04, 0x2e, 0x28, 0x18, 0x03, 
    -	0x8e, 0x21, 0x04, 0x18, 0x10, 0x12, 0x1b, 0x1b, 0x12, 0x10, 0x18, 0x04, 
    -	0x21, 0x19, 0x22, 0x1b, 0x12, 0x19, 0x2f, 0x3d, 0x26, 0x07, 0x0a, 0x2e, 
    -	0x2e, 0x0a, 0x07, 0x26, 0x3d, 0x2f, 0x19, 0x12, 0x1a, 0x23, 0x65, 0x1c, 
    -	0x3a, 0x2d, 0x4f, 0x82, 0x0f, 0x11, 0x06, 0x07, 0x11, 0x0f, 0x0f, 0x11, 
    -	0x07, 0x06, 0x11, 0x24, 0x2d, 0x3a, 0x1c, 0x34, 0x4f, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x19, 0x01, 0xc2, 0x01, 0xdb, 0x00, 0x18, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x3d, 0x01, 0x34, 0x3e, 0x03, 0x37, 0x3e, 0x02, 0x17, 0x16, 0x0e, 
    -	0x01, 0x07, 0x32, 0x07, 0x06, 0x1d, 0x01, 0x14, 0x17, 0x16, 0x23, 0x22, 
    -	0x2e, 0x01, 0x3d, 0x01, 0x34, 0x3e, 0x01, 0x01, 0x55, 0x01, 0x38, 0x34, 
    -	0x3d, 0x17, 0x48, 0x90, 0x0f, 0x1f, 0x16, 0x28, 0x03, 0x19, 0x36, 0x1f, 
    -	0x05, 0x18, 0x13, 0x28, 0xd8, 0x07, 0x07, 0x19, 0x1a, 0x05, 0x06, 0x0d, 
    -	0x1d, 0x21, 0x21, 0x1e, 0x01, 0x3b, 0x03, 0x07, 0x11, 0x0f, 0x24, 0xd4, 
    -	0x2a, 0x17, 0xab, 0x07, 0x14, 0x19, 0x10, 0x1b, 0x02, 0x11, 0x42, 0x26, 
    -	0x06, 0x26, 0x3d, 0x3a, 0x03, 0x07, 0x19, 0x1b, 0x9f, 0x19, 0x1b, 0x05, 
    -	0x08, 0x25, 0x1f, 0x79, 0x1f, 0x26, 0x09, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x18, 0x01, 0xc2, 0x01, 0xdb, 0x00, 0x1a, 0x00, 0x2d, 0x00, 0x00, 
    -	0x37, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 
    -	0x0e, 0x05, 0x07, 0x0e, 0x02, 0x27, 0x26, 0x3e, 0x01, 0x37, 0x22, 0x37, 
    -	0x36, 0x3d, 0x01, 0x34, 0x27, 0x26, 0x33, 0x32, 0x1e, 0x01, 0x1d, 0x01, 
    -	0x14, 0x0e, 0x02, 0x9f, 0x01, 0x37, 0x35, 0x3e, 0x16, 0x48, 0x90, 0x08, 
    -	0x11, 0x0f, 0x1b, 0x0e, 0x1b, 0x03, 0x19, 0x36, 0x1f, 0x05, 0x18, 0x13, 
    -	0x28, 0xd8, 0x06, 0x07, 0x18, 0x1a, 0x05, 0x06, 0x0d, 0x1d, 0x21, 0x12, 
    -	0x1b, 0x15, 0xb8, 0x03, 0x07, 0x11, 0x0f, 0x24, 0xd5, 0x2b, 0x17, 0xab, 
    -	0x05, 0x0e, 0x10, 0x0d, 0x13, 0x0a, 0x12, 0x02, 0x11, 0x42, 0x26, 0x06, 
    -	0x26, 0x3d, 0x3a, 0x03, 0x07, 0x19, 0x1b, 0x9f, 0x19, 0x1b, 0x05, 0x08, 
    -	0x25, 0x1f, 0x79, 0x18, 0x21, 0x0f, 0x06, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x28, 0x01, 0xe1, 0x01, 0xcc, 0x00, 0x15, 0x00, 0x21, 0x00, 0x25, 
    -	0x00, 0x00, 0x01, 0x16, 0x07, 0x03, 0x06, 0x23, 0x21, 0x22, 0x27, 0x02, 
    -	0x27, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x3b, 0x01, 0x32, 0x17, 0x16, 
    -	0x07, 0x32, 0x3e, 0x02, 0x37, 0x23, 0x06, 0x22, 0x27, 0x23, 0x16, 0x27, 
    -	0x21, 0x27, 0x23, 0x01, 0xd4, 0x0e, 0x02, 0x31, 0x04, 0x0f, 0xfe, 0xdb, 
    -	0x0e, 0x06, 0x2f, 0x01, 0x02, 0x0d, 0x03, 0x30, 0x04, 0x09, 0x13, 0xf0, 
    -	0x13, 0x09, 0x27, 0xbb, 0x1c, 0x2a, 0x15, 0x09, 0x02, 0x2e, 0x13, 0x4a, 
    -	0x13, 0x2e, 0x17, 0x61, 0x01, 0x60, 0x37, 0xf2, 0x01, 0x99, 0x0d, 0x11, 
    -	0xfe, 0xbc, 0x0f, 0x0f, 0x01, 0x36, 0x0e, 0x11, 0x0d, 0x03, 0x25, 0x03, 
    -	0x08, 0x08, 0x1d, 0xe8, 0x22, 0x37, 0x22, 0x10, 0x5e, 0x5e, 0x8b, 0xb8, 
    -	0x3a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x19, 0x02, 0x08, 
    -	0x01, 0xdb, 0x00, 0x2b, 0x00, 0x00, 0x25, 0x16, 0x1d, 0x01, 0x2b, 0x01, 
    -	0x35, 0x34, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x03, 0x27, 
    -	0x34, 0x36, 0x3f, 0x01, 0x26, 0x27, 0x26, 0x36, 0x32, 0x16, 0x0f, 0x01, 
    -	0x16, 0x15, 0x0e, 0x03, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x01, 0xa2, 
    -	0x66, 0xeb, 0xeb, 0x66, 0x2f, 0x22, 0x16, 0x05, 0x01, 0x07, 0x07, 0x07, 
    -	0x01, 0x05, 0x02, 0x02, 0x04, 0x02, 0x02, 0x2d, 0x70, 0x2e, 0x03, 0x06, 
    -	0x09, 0x01, 0x07, 0x07, 0x07, 0x01, 0x04, 0x17, 0x23, 0x8b, 0x24, 0x19, 
    -	0x35, 0x35, 0x19, 0x24, 0x11, 0x23, 0x1e, 0x0b, 0x1b, 0x17, 0x06, 0x06, 
    -	0x02, 0x0f, 0x0e, 0x08, 0x0a, 0x01, 0x02, 0x19, 0x13, 0x1b, 0x3a, 0x3a, 
    -	0x1b, 0x2c, 0x04, 0x11, 0x0e, 0x0f, 0x02, 0x06, 0x06, 0x18, 0x1a, 0x0b, 
    -	0x1e, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x1e, 0x02, 0x26, 
    -	0x01, 0xd6, 0x00, 0x27, 0x00, 0x4e, 0x00, 0x00, 0x25, 0x23, 0x35, 0x34, 
    -	0x26, 0x27, 0x36, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x34, 0x37, 
    -	0x26, 0x27, 0x26, 0x36, 0x32, 0x16, 0x0f, 0x01, 0x16, 0x15, 0x0e, 0x01, 
    -	0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 
    -	0x27, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x35, 0x34, 
    -	0x26, 0x27, 0x2e, 0x01, 0x27, 0x34, 0x36, 0x3f, 0x01, 0x26, 0x27, 0x26, 
    -	0x36, 0x32, 0x16, 0x0f, 0x01, 0x16, 0x15, 0x0e, 0x01, 0x07, 0x0e, 0x01, 
    -	0x15, 0x14, 0x16, 0x02, 0x26, 0x70, 0x1e, 0x3e, 0x14, 0x0d, 0x03, 0x01, 
    -	0x0c, 0x01, 0x06, 0x03, 0x01, 0x02, 0x1b, 0x44, 0x1c, 0x02, 0x04, 0x06, 
    -	0x01, 0x0c, 0x01, 0x03, 0x0d, 0x15, 0x1c, 0x38, 0x09, 0x03, 0x03, 0x01, 
    -	0xf4, 0x5b, 0xfe, 0xa5, 0x2a, 0x26, 0x1c, 0x13, 0x03, 0x01, 0x10, 0x02, 
    -	0x03, 0x02, 0x02, 0x03, 0x02, 0x02, 0x25, 0x5a, 0x25, 0x02, 0x05, 0x07, 
    -	0x02, 0x10, 0x01, 0x03, 0x13, 0x1c, 0x1e, 0x4b, 0x1b, 0x1b, 0x1f, 0x0f, 
    -	0x1b, 0x08, 0x11, 0x11, 0x04, 0x08, 0x11, 0x0c, 0x03, 0x11, 0x0d, 0x13, 
    -	0x28, 0x28, 0x13, 0x1e, 0x03, 0x0c, 0x11, 0x08, 0x04, 0x11, 0x11, 0x08, 
    -	0x15, 0x18, 0x0c, 0x17, 0x11, 0x04, 0x35, 0x18, 0x6b, 0x27, 0x17, 0x45, 
    -	0x5c, 0x16, 0x11, 0x10, 0x20, 0x1c, 0x0a, 0x18, 0x16, 0x05, 0x0c, 0x16, 
    -	0x07, 0x09, 0x02, 0x01, 0x17, 0x12, 0x19, 0x35, 0x35, 0x19, 0x29, 0x04, 
    -	0x0f, 0x16, 0x0c, 0x05, 0x16, 0x18, 0x0a, 0x1c, 0x20, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0xff, 0xff, 0x01, 0x91, 0x01, 0xf4, 0x00, 0x06, 
    -	0x00, 0x18, 0x00, 0x33, 0x00, 0x00, 0x37, 0x35, 0x33, 0x15, 0x06, 0x27, 
    -	0x06, 0x37, 0x23, 0x34, 0x2e, 0x02, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 
    -	0x17, 0x16, 0x0e, 0x03, 0x27, 0x06, 0x16, 0x06, 0x16, 0x06, 0x1e, 0x04, 
    -	0x17, 0x16, 0x17, 0x33, 0x36, 0x37, 0x3e, 0x05, 0x27, 0x26, 0x23, 0x22, 
    -	0x9b, 0x8d, 0x23, 0x24, 0x23, 0x67, 0x87, 0x24, 0x2a, 0x20, 0x03, 0x04, 
    -	0x56, 0x54, 0x55, 0x55, 0x05, 0x02, 0x14, 0x20, 0x21, 0x18, 0xbd, 0x02, 
    -	0x04, 0x02, 0x07, 0x01, 0x09, 0x02, 0x0b, 0x03, 0x0c, 0x02, 0x2c, 0x0c, 
    -	0x29, 0x0c, 0x2c, 0x02, 0x15, 0x04, 0x0d, 0x03, 0x03, 0x01, 0x08, 0x72, 
    -	0x71, 0x14, 0x34, 0x34, 0x15, 0x01, 0x01, 0x67, 0x24, 0x44, 0x2d, 0x43, 
    -	0x24, 0x3c, 0x56, 0x56, 0x3c, 0x1e, 0x35, 0x2b, 0x2a, 0x36, 0xda, 0x02, 
    -	0x10, 0x04, 0x0f, 0x03, 0x0f, 0x04, 0x0f, 0x04, 0x11, 0x03, 0x3d, 0x2d, 
    -	0x2f, 0x3b, 0x03, 0x1d, 0x07, 0x16, 0x0b, 0x11, 0x09, 0x62, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x0a, 0x01, 0xf6, 0x01, 0xeb, 0x00, 0x4e, 
    -	0x00, 0x52, 0x00, 0x56, 0x00, 0x00, 0x25, 0x16, 0x06, 0x0f, 0x01, 0x0e, 
    -	0x01, 0x1f, 0x01, 0x16, 0x06, 0x2f, 0x01, 0x26, 0x06, 0x0f, 0x01, 0x0e, 
    -	0x01, 0x2f, 0x01, 0x26, 0x0f, 0x01, 0x06, 0x26, 0x3f, 0x01, 0x36, 0x26, 
    -	0x2f, 0x01, 0x2e, 0x01, 0x3f, 0x01, 0x36, 0x34, 0x2f, 0x01, 0x26, 0x36, 
    -	0x3f, 0x01, 0x3e, 0x01, 0x2f, 0x01, 0x34, 0x36, 0x1f, 0x01, 0x16, 0x36, 
    -	0x3f, 0x01, 0x36, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x3f, 0x01, 0x36, 0x16, 
    -	0x0f, 0x01, 0x06, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x0f, 0x01, 0x06, 0x14, 
    -	0x17, 0x07, 0x35, 0x23, 0x15, 0x37, 0x35, 0x23, 0x15, 0x01, 0xed, 0x0a, 
    -	0x04, 0x0c, 0x27, 0x0c, 0x10, 0x01, 0x02, 0x01, 0x10, 0x0b, 0x2b, 0x0b, 
    -	0x19, 0x05, 0x17, 0x06, 0x11, 0x08, 0x19, 0x11, 0x1b, 0x3d, 0x0b, 0x0a, 
    -	0x04, 0x1b, 0x04, 0x0c, 0x0c, 0x35, 0x0c, 0x05, 0x0a, 0x2b, 0x0a, 0x0a, 
    -	0x2b, 0x0a, 0x04, 0x0c, 0x27, 0x0c, 0x11, 0x01, 0x03, 0x0f, 0x0b, 0x28, 
    -	0x0c, 0x19, 0x06, 0x17, 0x06, 0x12, 0x06, 0x19, 0x06, 0x17, 0x0b, 0x44, 
    -	0x0b, 0x08, 0x04, 0x1e, 0x05, 0x0c, 0x0d, 0x39, 0x0d, 0x04, 0x0a, 0x2b, 
    -	0x09, 0x09, 0x95, 0x32, 0x32, 0x32, 0xc0, 0x08, 0x11, 0x03, 0x0b, 0x03, 
    -	0x16, 0x0d, 0x29, 0x0c, 0x0a, 0x05, 0x16, 0x06, 0x08, 0x0b, 0x2c, 0x0b, 
    -	0x01, 0x0a, 0x27, 0x18, 0x0e, 0x23, 0x07, 0x08, 0x0c, 0x52, 0x0c, 0x14, 
    -	0x01, 0x06, 0x02, 0x0e, 0x08, 0x26, 0x08, 0x19, 0x08, 0x26, 0x08, 0x11, 
    -	0x03, 0x0b, 0x03, 0x16, 0x0d, 0x29, 0x0d, 0x0a, 0x05, 0x13, 0x05, 0x08, 
    -	0x0b, 0x28, 0x0b, 0x01, 0x0b, 0x2b, 0x0b, 0x07, 0x07, 0x2a, 0x07, 0x08, 
    -	0x0c, 0x55, 0x0b, 0x13, 0x01, 0x06, 0x01, 0x0e, 0x08, 0x26, 0x08, 0x19, 
    -	0x08, 0x54, 0x34, 0x34, 0x50, 0x82, 0x82, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x00, 0x02, 0x08, 0x01, 0xf4, 0x00, 0x0f, 0x00, 0x20, 0x00, 0x30, 
    -	0x00, 0x00, 0x13, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 
    -	0x3e, 0x01, 0x37, 0x36, 0x32, 0x05, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x22, 
    -	0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x36, 0x32, 0x07, 0x36, 0x32, 0x15, 
    -	0x1e, 0x02, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x86, 
    -	0x05, 0x28, 0x21, 0x30, 0x42, 0x30, 0x21, 0x28, 0x05, 0x01, 0x05, 0x01, 
    -	0x34, 0x05, 0x28, 0x21, 0x30, 0x42, 0x30, 0x15, 0x1b, 0x1a, 0x04, 0x01, 
    -	0x05, 0xa0, 0x01, 0x05, 0x05, 0x28, 0x21, 0x30, 0x42, 0x30, 0x21, 0x28, 
    -	0x01, 0xf1, 0x2b, 0x45, 0x36, 0x1d, 0x21, 0x2f, 0x2f, 0x21, 0x1d, 0x36, 
    -	0x45, 0x2b, 0x02, 0x02, 0x2b, 0x45, 0x36, 0x1d, 0x21, 0x2f, 0x2f, 0x21, 
    -	0x18, 0x2d, 0x21, 0x3b, 0x22, 0x02, 0xe0, 0x02, 0x02, 0x2b, 0x45, 0x36, 
    -	0x1d, 0x21, 0x2f, 0x2f, 0x21, 0x1d, 0x36, 0x45, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x0a, 0x01, 0x4a, 0x01, 0xeb, 0x00, 0x11, 0x00, 0x25, 0x00, 0x00, 
    -	0x13, 0x1e, 0x03, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 
    -	0x37, 0x36, 0x32, 0x07, 0x36, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x0e, 0x02, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 0x37, 0x3e, 0x01, 0xc3, 0x07, 
    -	0x2e, 0x2e, 0x24, 0x53, 0x72, 0x53, 0x24, 0x2e, 0x2e, 0x07, 0x01, 0x09, 
    -	0x15, 0x01, 0x02, 0x03, 0x08, 0x02, 0x14, 0x10, 0x10, 0x12, 0x11, 0x0c, 
    -	0x1d, 0x15, 0x01, 0x03, 0x01, 0xe6, 0x3b, 0x65, 0x3a, 0x4e, 0x29, 0x39, 
    -	0x52, 0x52, 0x39, 0x29, 0x4e, 0x3a, 0x65, 0x3b, 0x04, 0xc8, 0x02, 0x05, 
    -	0x03, 0x03, 0x1d, 0x17, 0x18, 0x33, 0x19, 0x0c, 0x11, 0x22, 0x2f, 0x4c, 
    -	0x03, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x41, 0x01, 0xf6, 
    -	0x01, 0xb4, 0x00, 0x1a, 0x00, 0x39, 0x00, 0x59, 0x00, 0x00, 0x13, 0x06, 
    -	0x26, 0x27, 0x26, 0x36, 0x37, 0x3e, 0x02, 0x1e, 0x02, 0x36, 0x37, 0x36, 
    -	0x17, 0x16, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x0e, 0x01, 0x05, 
    -	0x36, 0x17, 0x16, 0x07, 0x0e, 0x02, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x0e, 
    -	0x01, 0x07, 0x06, 0x26, 0x27, 0x26, 0x37, 0x3e, 0x03, 0x16, 0x17, 0x1e, 
    -	0x01, 0x3e, 0x01, 0x17, 0x36, 0x17, 0x16, 0x06, 0x07, 0x0e, 0x02, 0x23, 
    -	0x22, 0x27, 0x2e, 0x01, 0x0e, 0x01, 0x07, 0x06, 0x26, 0x27, 0x26, 0x37, 
    -	0x3e, 0x03, 0x16, 0x17, 0x1e, 0x01, 0x3e, 0x01, 0x5c, 0x08, 0x14, 0x07, 
    -	0x07, 0x02, 0x08, 0x18, 0x1f, 0x3a, 0x47, 0x58, 0x43, 0x21, 0x1c, 0x13, 
    -	0x10, 0x10, 0x13, 0x3d, 0x38, 0x32, 0x3d, 0x22, 0x33, 0x2a, 0x17, 0x01, 
    -	0x5a, 0x13, 0x10, 0x10, 0x13, 0x14, 0x19, 0x2f, 0x19, 0x30, 0x3f, 0x22, 
    -	0x33, 0x2a, 0x17, 0x16, 0x07, 0x15, 0x07, 0x10, 0x13, 0x13, 0x16, 0x2f, 
    -	0x29, 0x40, 0x23, 0x22, 0x33, 0x2a, 0x17, 0x16, 0x13, 0x10, 0x07, 0x02, 
    -	0x08, 0x14, 0x19, 0x2f, 0x19, 0x30, 0x3f, 0x22, 0x33, 0x2a, 0x18, 0x15, 
    -	0x07, 0x15, 0x07, 0x10, 0x13, 0x13, 0x16, 0x2f, 0x29, 0x40, 0x23, 0x22, 
    -	0x33, 0x2a, 0x17, 0x01, 0x56, 0x07, 0x02, 0x08, 0x07, 0x16, 0x07, 0x14, 
    -	0x14, 0x14, 0x10, 0x32, 0x03, 0x13, 0x18, 0x0f, 0x12, 0x14, 0x10, 0x37, 
    -	0x23, 0x13, 0x0e, 0x0e, 0x0f, 0x49, 0x10, 0x13, 0x14, 0x10, 0x11, 0x13, 
    -	0x13, 0x23, 0x13, 0x0e, 0x0e, 0x0f, 0x12, 0x07, 0x02, 0x08, 0x14, 0x10, 
    -	0x11, 0x10, 0x16, 0x01, 0x10, 0x14, 0x13, 0x0e, 0x0e, 0x0f, 0x6e, 0x10, 
    -	0x13, 0x07, 0x16, 0x07, 0x11, 0x13, 0x13, 0x23, 0x13, 0x0e, 0x0d, 0x10, 
    -	0x12, 0x07, 0x02, 0x08, 0x14, 0x10, 0x11, 0x10, 0x16, 0x01, 0x10, 0x14, 
    -	0x13, 0x0e, 0x0e, 0x0f, 0x00, 0x09, 0x00, 0x32, 0x00, 0x4b, 0x02, 0x26, 
    -	0x01, 0xa9, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x27, 
    -	0x00, 0x2b, 0x00, 0x2f, 0x00, 0x35, 0x00, 0x41, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 
    -	0x36, 0x33, 0x01, 0x35, 0x21, 0x15, 0x25, 0x35, 0x21, 0x15, 0x17, 0x33, 
    -	0x15, 0x23, 0x17, 0x33, 0x35, 0x33, 0x35, 0x33, 0x15, 0x23, 0x15, 0x23, 
    -	0x15, 0x23, 0x33, 0x23, 0x35, 0x33, 0x07, 0x23, 0x35, 0x33, 0x37, 0x15, 
    -	0x23, 0x35, 0x33, 0x15, 0x07, 0x15, 0x23, 0x35, 0x33, 0x35, 0x33, 0x35, 
    -	0x33, 0x15, 0x23, 0x15, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0x70, 
    -	0x14, 0x1e, 0x1e, 0x14, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0xfe, 0x70, 
    -	0x32, 0x0f, 0x0f, 0x5a, 0x0f, 0x0f, 0x1e, 0x0f, 0x0f, 0x1e, 0x3c, 0x0f, 
    -	0x0f, 0x4b, 0x1e, 0x1e, 0x0f, 0x0f, 0x1e, 0x4b, 0x1e, 0x0f, 0x0f, 0x1e, 
    -	0x0f, 0x01, 0xa9, 0x1e, 0x14, 0xfa, 0x15, 0x1d, 0x1d, 0x15, 0xfa, 0x14, 
    -	0x1e, 0xfe, 0xd4, 0x96, 0x96, 0xe1, 0x19, 0x19, 0x80, 0x0f, 0x0f, 0x0f, 
    -	0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x1e, 0x0f, 0x0f, 
    -	0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x1e, 0x02, 0x26, 0x01, 0xd6, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x0f, 0x01, 0x30, 0x17, 0x16, 
    -	0x2b, 0x01, 0x22, 0x37, 0x36, 0x31, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 
    -	0x36, 0x33, 0x01, 0x11, 0x21, 0x11, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x14, 
    -	0x6d, 0x2b, 0x19, 0x23, 0xfa, 0x31, 0x41, 0x12, 0x6e, 0x14, 0x1d, 0x1e, 
    -	0x14, 0x01, 0x90, 0xfe, 0x70, 0x01, 0xd6, 0x1e, 0x14, 0xfe, 0xed, 0x15, 
    -	0x23, 0x04, 0x16, 0x13, 0x0e, 0x1a, 0x07, 0x16, 0x04, 0x23, 0x15, 0x01, 
    -	0x13, 0x14, 0x1e, 0xfe, 0xbd, 0x01, 0x16, 0xfe, 0xea, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x26, 0x02, 0x26, 0x01, 0xcf, 0x00, 0x19, 
    -	0x00, 0x21, 0x00, 0x2e, 0x00, 0x00, 0x25, 0x15, 0x23, 0x36, 0x37, 0x36, 
    -	0x3b, 0x01, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x3b, 0x01, 0x32, 0x16, 0x17, 
    -	0x16, 0x17, 0x33, 0x32, 0x1f, 0x01, 0x23, 0x35, 0x27, 0x07, 0x33, 0x27, 
    -	0x26, 0x2b, 0x01, 0x22, 0x13, 0x35, 0x33, 0x06, 0x07, 0x06, 0x23, 0x21, 
    -	0x22, 0x35, 0x27, 0x33, 0x15, 0x01, 0x16, 0xe4, 0x04, 0x01, 0x02, 0x30, 
    -	0x50, 0x08, 0x15, 0x01, 0x07, 0x09, 0x0e, 0x6f, 0x0d, 0x0a, 0x06, 0x09, 
    -	0x15, 0x50, 0x30, 0x02, 0x05, 0xe3, 0x52, 0x0e, 0x92, 0x0e, 0x07, 0x0e, 
    -	0x4c, 0x0e, 0x4b, 0xd7, 0x03, 0x02, 0x03, 0x2a, 0xfe, 0x89, 0x2d, 0x05, 
    -	0xd7, 0xee, 0x32, 0x71, 0x21, 0x36, 0x0d, 0x29, 0x02, 0x0d, 0x06, 0x07, 
    -	0x0c, 0x10, 0x28, 0x36, 0x92, 0x32, 0xb1, 0x1b, 0x1b, 0x0d, 0xfe, 0xc5, 
    -	0x32, 0x2c, 0x27, 0x2a, 0x2a, 0x53, 0x32, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0d, 0x00, 0x17, 0x00, 0x1b, 
    -	0x00, 0x00, 0x01, 0x17, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x17, 0x35, 0x23, 0x15, 0x14, 0x16, 0x3b, 0x01, 
    -	0x32, 0x36, 0x27, 0x15, 0x23, 0x35, 0x01, 0x7b, 0x47, 0x1d, 0x15, 0xfe, 
    -	0xd4, 0x14, 0x1e, 0x1e, 0x14, 0xfa, 0xc8, 0x0f, 0x0a, 0x96, 0x0a, 0x0f, 
    -	0x19, 0x32, 0x01, 0xc2, 0x4e, 0xfe, 0xf0, 0x14, 0x1e, 0x1e, 0x14, 0x01, 
    -	0x2c, 0x15, 0x1d, 0x96, 0x7d, 0x7d, 0x0a, 0x0f, 0x0f, 0x6e, 0x64, 0x64, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x14, 0x01, 0xfe, 0x01, 0xe0, 0x00, 0x07, 
    -	0x00, 0x11, 0x00, 0x00, 0x12, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 
    -	0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0xb9, 0xbe, 
    -	0x87, 0x87, 0xbe, 0x87, 0xc7, 0x3e, 0x2c, 0x2b, 0x20, 0x1f, 0x2c, 0x01, 
    -	0xe0, 0x87, 0xbe, 0x87, 0x87, 0xbe, 0xaa, 0x2c, 0x1f, 0x20, 0x2b, 0x2c, 
    -	0x3e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x32, 0x02, 0x28, 
    -	0x01, 0xc2, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 0x16, 0x0f, 
    -	0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x2f, 0x01, 0x26, 0x36, 0x33, 0x25, 
    -	0x17, 0x21, 0x37, 0x3e, 0x01, 0x3b, 0x01, 0x32, 0x1f, 0x01, 0x16, 0x3b, 
    -	0x01, 0x32, 0x16, 0x02, 0x10, 0x10, 0x08, 0x01, 0x15, 0x01, 0x0a, 0x10, 
    -	0xfe, 0x6d, 0x1a, 0x02, 0x15, 0x01, 0x08, 0x10, 0x01, 0xb5, 0x05, 0xfe, 
    -	0x59, 0x07, 0x02, 0x10, 0x0a, 0x52, 0x1a, 0x11, 0x0f, 0x10, 0x1b, 0xaa, 
    -	0x0a, 0x12, 0x01, 0x45, 0x0c, 0x0c, 0xe2, 0x0c, 0x0d, 0x19, 0xe2, 0x0c, 
    -	0x0c, 0x37, 0x14, 0x42, 0x0a, 0x0e, 0x11, 0x0f, 0x12, 0x0c, 0x00, 0x00, 
    -	0x00, 0x05, 0x00, 0x32, 0x00, 0x19, 0x01, 0x90, 0x01, 0xdb, 0x00, 0x03, 
    -	0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x37, 0x35, 
    -	0x33, 0x15, 0x37, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 
    -	0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x13, 0x11, 0x23, 0x11, 0x13, 0x15, 
    -	0x23, 0x35, 0x17, 0x15, 0x23, 0x35, 0x9c, 0x8c, 0x36, 0x15, 0x1d, 0x1d, 
    -	0x15, 0xfa, 0x14, 0x1e, 0x1e, 0x14, 0xfa, 0xfa, 0xc3, 0x8c, 0x8c, 0x8c, 
    -	0xe5, 0x2d, 0x2d, 0xf6, 0x1d, 0x15, 0xfe, 0xa2, 0x14, 0x1e, 0x1e, 0x14, 
    -	0x01, 0x5e, 0x15, 0x1d, 0xfe, 0x70, 0x01, 0x5e, 0xfe, 0xa2, 0x01, 0x28, 
    -	0x2c, 0x2c, 0xc4, 0x2c, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 
    -	0x00, 0x23, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 
    -	0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x15, 0x33, 0x35, 
    -	0x33, 0x15, 0x33, 0x35, 0x13, 0x35, 0x21, 0x15, 0x13, 0x15, 0x23, 0x35, 
    -	0x21, 0x15, 0x23, 0x35, 0x01, 0xc2, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0xa2, 
    -	0x14, 0x1e, 0x1e, 0x14, 0x17, 0x50, 0x91, 0x50, 0x16, 0xfe, 0xa2, 0x50, 
    -	0x23, 0x01, 0x04, 0x23, 0x01, 0xa9, 0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 
    -	0x1e, 0x14, 0x01, 0x2c, 0x15, 0x1d, 0x32, 0x32, 0x32, 0x32, 0xfe, 0xa2, 
    -	0xc8, 0xc8, 0x01, 0x90, 0x55, 0x55, 0x55, 0x55, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x23, 0x02, 0x27, 0x01, 0xd2, 0x00, 0x06, 0x00, 0x18, 0x00, 0x30, 
    -	0x00, 0x00, 0x37, 0x26, 0x37, 0x36, 0x1f, 0x01, 0x07, 0x25, 0x36, 0x16, 
    -	0x17, 0x16, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x02, 0x37, 0x17, 0x16, 
    -	0x1f, 0x01, 0x27, 0x03, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x13, 
    -	0x36, 0x37, 0x36, 0x1f, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x0f, 0x01, 
    -	0x06, 0x27, 0x43, 0x15, 0x05, 0x05, 0x16, 0x31, 0x1a, 0x01, 0x9b, 0x07, 
    -	0x13, 0x06, 0x10, 0x11, 0x7e, 0x06, 0x09, 0x07, 0x07, 0x8f, 0x1b, 0x19, 
    -	0x12, 0x06, 0x02, 0x84, 0x86, 0xaf, 0x06, 0x0d, 0x06, 0x06, 0x08, 0x04, 
    -	0x05, 0xbb, 0x04, 0x0a, 0x09, 0x09, 0x7b, 0x71, 0x05, 0x12, 0x08, 0x13, 
    -	0x0d, 0x7e, 0x0c, 0x13, 0xd9, 0x05, 0x17, 0x15, 0x05, 0x0c, 0x28, 0x02, 
    -	0x06, 0x01, 0x07, 0x10, 0x10, 0x71, 0x06, 0x05, 0x6e, 0x07, 0x28, 0x04, 
    -	0x02, 0x02, 0x66, 0xd3, 0xfe, 0xed, 0x0b, 0x04, 0x05, 0x13, 0x07, 0x01, 
    -	0x26, 0x08, 0x02, 0x03, 0x06, 0x4e, 0xa3, 0x08, 0x03, 0x06, 0x0c, 0x13, 
    -	0xb5, 0x12, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x19, 0x01, 0xc2, 
    -	0x01, 0xdb, 0x00, 0x08, 0x00, 0x11, 0x00, 0x1a, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x33, 0x07, 0x32, 0x16, 0x15, 0x11, 
    -	0x23, 0x11, 0x34, 0x33, 0x07, 0x32, 0x16, 0x1d, 0x01, 0x23, 0x35, 0x34, 
    -	0x33, 0x01, 0xa9, 0x0b, 0x0e, 0x64, 0x14, 0x5f, 0x0b, 0x0e, 0x64, 0x14, 
    -	0x5f, 0x0b, 0x0e, 0x64, 0x14, 0x01, 0xdb, 0x0f, 0x0a, 0xfe, 0x57, 0x01, 
    -	0xa9, 0x19, 0x96, 0x0f, 0x0a, 0xfe, 0xed, 0x01, 0x13, 0x19, 0x96, 0x0f, 
    -	0x0a, 0x7d, 0x7d, 0x19, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x01, 0x90, 
    -	0x01, 0xf4, 0x00, 0x11, 0x00, 0x19, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 
    -	0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 
    -	0x17, 0x33, 0x27, 0x23, 0x27, 0x33, 0x37, 0x33, 0x17, 0x33, 0x01, 0x6d, 
    -	0x0e, 0x15, 0x15, 0x0e, 0xfe, 0xe8, 0x0e, 0x15, 0x15, 0x0e, 0x1e, 0xdc, 
    -	0x14, 0xb4, 0x16, 0x36, 0x12, 0x50, 0x12, 0x37, 0x01, 0xc2, 0x15, 0x0e, 
    -	0xfe, 0x84, 0x0f, 0x14, 0x14, 0x0f, 0x01, 0x7c, 0x0e, 0x15, 0x4b, 0x19, 
    -	0x32, 0x32, 0x32, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x05, 0x02, 0x07, 
    -	0x01, 0xf1, 0x00, 0x35, 0x00, 0x00, 0x37, 0x22, 0x27, 0x2e, 0x01, 0x3f, 
    -	0x01, 0x36, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x07, 0x06, 
    -	0x27, 0x26, 0x36, 0x3f, 0x01, 0x36, 0x16, 0x0f, 0x01, 0x06, 0x17, 0x16, 
    -	0x37, 0x36, 0x3f, 0x01, 0x36, 0x27, 0x26, 0x27, 0x26, 0x0f, 0x01, 0x06, 
    -	0x16, 0x17, 0x1e, 0x01, 0x3f, 0x01, 0x36, 0x17, 0x16, 0x0f, 0x01, 0x06, 
    -	0xac, 0x33, 0x22, 0x24, 0x02, 0x2b, 0xf8, 0x28, 0x2f, 0x16, 0x23, 0x06, 
    -	0x0d, 0x28, 0xed, 0x14, 0x18, 0x18, 0x10, 0x0f, 0x03, 0x16, 0xa6, 0x0c, 
    -	0x1a, 0x0d, 0xa6, 0x16, 0x0c, 0x06, 0x06, 0x0c, 0x0b, 0xed, 0x19, 0x08, 
    -	0x08, 0x1e, 0x1b, 0x1b, 0xf7, 0x21, 0x02, 0x19, 0x19, 0x43, 0x25, 0xf8, 
    -	0x0c, 0x0d, 0x0d, 0x0d, 0xf8, 0x29, 0x05, 0x24, 0x23, 0x60, 0x2f, 0xf8, 
    -	0x28, 0x0d, 0x06, 0x23, 0x16, 0x30, 0x28, 0xed, 0x14, 0x03, 0x02, 0x10, 
    -	0x0c, 0x32, 0x15, 0xa7, 0x0d, 0x1a, 0x0c, 0xa6, 0x16, 0x0d, 0x04, 0x01, 
    -	0x02, 0x0b, 0xed, 0x19, 0x1d, 0x1e, 0x08, 0x07, 0x19, 0xf7, 0x26, 0x43, 
    -	0x19, 0x18, 0x02, 0x20, 0xf7, 0x0c, 0x0c, 0x0b, 0x0d, 0xf8, 0x29, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x01, 0x45, 0x01, 0xf4, 0x00, 0x0c, 
    -	0x00, 0x16, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x27, 0x11, 0x34, 
    -	0x26, 0x2b, 0x01, 0x34, 0x33, 0x07, 0x32, 0x16, 0x15, 0x11, 0x27, 0x07, 
    -	0x11, 0x34, 0x33, 0x01, 0x2c, 0x0a, 0x0f, 0x4b, 0x0f, 0x0a, 0x32, 0x14, 
    -	0x14, 0x0a, 0x0f, 0x4b, 0x4b, 0x14, 0x01, 0xf4, 0x0f, 0x0a, 0xfe, 0x57, 
    -	0x5a, 0x01, 0x36, 0x0a, 0x0f, 0x19, 0x4b, 0x0f, 0x0a, 0xfe, 0x70, 0x5a, 
    -	0x5a, 0x01, 0x90, 0x19, 0x00, 0x01, 0x00, 0x32, 0x00, 0x09, 0x01, 0x90, 
    -	0x01, 0xed, 0x00, 0x25, 0x00, 0x00, 0x01, 0x16, 0x15, 0x11, 0x14, 0x06, 
    -	0x23, 0x22, 0x35, 0x11, 0x34, 0x2f, 0x01, 0x26, 0x07, 0x06, 0x07, 0x17, 
    -	0x16, 0x15, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x27, 
    -	0x26, 0x35, 0x03, 0x34, 0x37, 0x3e, 0x01, 0x17, 0x01, 0x87, 0x09, 0x0c, 
    -	0x08, 0x17, 0x06, 0xca, 0x10, 0x12, 0x16, 0x06, 0xcc, 0x09, 0x09, 0x03, 
    -	0x05, 0x07, 0x03, 0x04, 0xc2, 0x09, 0x0d, 0x03, 0x07, 0x0e, 0x4a, 0x15, 
    -	0x01, 0x74, 0x04, 0x0a, 0xfe, 0xe7, 0x07, 0x0b, 0x12, 0x01, 0x05, 0x06, 
    -	0x03, 0x6c, 0x05, 0x0a, 0x0a, 0x0c, 0x72, 0x04, 0x0a, 0xfe, 0xed, 0x0b, 
    -	0x03, 0x02, 0x02, 0x03, 0x79, 0x05, 0x09, 0x08, 0x01, 0x06, 0x0e, 0x0c, 
    -	0x17, 0x1f, 0x0b, 0x00, 0x00, 0x07, 0x00, 0x32, 0x00, 0x19, 0x01, 0xf4, 
    -	0x01, 0xdc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x20, 0x00, 0x24, 0x00, 0x28, 
    -	0x00, 0x2c, 0x00, 0x30, 0x00, 0x00, 0x37, 0x15, 0x27, 0x35, 0x37, 0x15, 
    -	0x27, 0x35, 0x25, 0x16, 0x15, 0x11, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x06, 
    -	0x22, 0x26, 0x23, 0x2f, 0x01, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, 0x1f, 
    -	0x01, 0x37, 0x36, 0x03, 0x11, 0x27, 0x11, 0x21, 0x11, 0x07, 0x11, 0x37, 
    -	0x15, 0x07, 0x35, 0x37, 0x15, 0x07, 0x35, 0xdc, 0x64, 0x64, 0x64, 0x01, 
    -	0x71, 0x0b, 0x10, 0xc7, 0x04, 0x02, 0x03, 0x02, 0x03, 0x01, 0x05, 0xc7, 
    -	0x10, 0x0b, 0x0b, 0x0c, 0xbf, 0xbf, 0x0c, 0xe4, 0xa0, 0x01, 0x72, 0xa0, 
    -	0x82, 0x64, 0x64, 0x64, 0xc2, 0x22, 0x28, 0x22, 0x40, 0x22, 0x28, 0x22, 
    -	0x85, 0x06, 0x0f, 0xfe, 0xc0, 0x11, 0x06, 0x50, 0x01, 0x01, 0x01, 0x01, 
    -	0x50, 0x06, 0x11, 0x01, 0x40, 0x0f, 0x06, 0x08, 0x05, 0x4d, 0x4d, 0x05, 
    -	0xfe, 0x6e, 0x01, 0x18, 0x40, 0xfe, 0xe8, 0x01, 0x18, 0x40, 0xfe, 0xe8, 
    -	0x9d, 0x22, 0x28, 0x22, 0x90, 0x22, 0x28, 0x22, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x32, 0x01, 0xc2, 0x01, 0xc3, 0x00, 0x24, 0x00, 0x00, 0x25, 0x36, 
    -	0x27, 0x26, 0x27, 0x2e, 0x01, 0x36, 0x37, 0x3e, 0x02, 0x32, 0x1e, 0x02, 
    -	0x17, 0x16, 0x06, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x03, 0x3e, 0x02, 0x37, 
    -	0x3e, 0x01, 0x1e, 0x01, 0x17, 0x16, 0x01, 0x19, 0x51, 0x16, 0x01, 0x03, 
    -	0x0f, 0x0b, 0x07, 0x15, 0x0a, 0x11, 0x12, 0x0c, 0x11, 0x07, 0x13, 0x01, 
    -	0x18, 0x36, 0x4b, 0x4b, 0x91, 0x18, 0x01, 0x15, 0x04, 0x0e, 0x01, 0x01, 
    -	0x0e, 0x0c, 0x15, 0x1c, 0x1a, 0x09, 0x0f, 0x16, 0xdc, 0x51, 0x16, 0x01, 
    -	0x03, 0x0f, 0x12, 0x24, 0x1a, 0x0c, 0x0f, 0x01, 0x0d, 0x05, 0x14, 0x01, 
    -	0x18, 0x92, 0x4a, 0x4b, 0x37, 0x18, 0x01, 0x14, 0x05, 0x13, 0x0c, 0x12, 
    -	0x11, 0x0a, 0x11, 0x0d, 0x0b, 0x07, 0x0f, 0x16, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0xe1, 0x01, 0xdc, 0x00, 0x2c, 0x00, 0x39, 0x00, 0x00, 
    -	0x01, 0x1e, 0x01, 0x07, 0x06, 0x2e, 0x02, 0x07, 0x0e, 0x01, 0x17, 0x16, 
    -	0x17, 0x1e, 0x01, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 0x27, 0x26, 0x27, 
    -	0x2e, 0x01, 0x27, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 0x3e, 
    -	0x05, 0x37, 0x36, 0x1e, 0x01, 0x3e, 0x01, 0x26, 0x27, 0x2e, 0x02, 0x0e, 
    -	0x01, 0x1e, 0x02, 0x01, 0xbe, 0x1d, 0x09, 0x18, 0x0e, 0x21, 0x20, 0x43, 
    -	0x29, 0x0e, 0x0e, 0x04, 0x0b, 0x0c, 0x02, 0x14, 0x02, 0x07, 0x12, 0x19, 
    -	0x1a, 0x0f, 0x0c, 0x10, 0x0d, 0x03, 0x1c, 0x09, 0x0f, 0x04, 0x11, 0x28, 
    -	0x07, 0x08, 0x0b, 0x10, 0x3f, 0x57, 0x25, 0x16, 0x03, 0x0c, 0x0c, 0x18, 
    -	0x52, 0x0c, 0x08, 0x02, 0x0d, 0x0e, 0x0e, 0x27, 0x1c, 0x08, 0x02, 0x0c, 
    -	0x1c, 0x28, 0x01, 0x45, 0x45, 0x78, 0x0a, 0x06, 0x0f, 0x19, 0x10, 0x04, 
    -	0x02, 0x0f, 0x0b, 0x1c, 0x1a, 0x05, 0x0c, 0x04, 0x11, 0x06, 0x0b, 0x09, 
    -	0x05, 0x1a, 0x26, 0x1c, 0x06, 0x05, 0x0d, 0x05, 0x02, 0x06, 0x18, 0x12, 
    -	0x10, 0x2f, 0x07, 0x1a, 0x38, 0x2f, 0x2d, 0x21, 0x1a, 0x05, 0x0a, 0x5a, 
    -	0xdd, 0x04, 0x22, 0x40, 0x20, 0x21, 0x39, 0x1b, 0x04, 0x26, 0x43, 0x42, 
    -	0x35, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x26, 0x02, 0x27, 
    -	0x01, 0xcf, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x01, 0x17, 0x23, 0x15, 
    -	0x23, 0x35, 0x23, 0x05, 0x1e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x23, 0x21, 
    -	0x22, 0x26, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x33, 0x07, 0x33, 0x32, 0x1f, 
    -	0x01, 0x33, 0x37, 0x36, 0x3b, 0x01, 0x27, 0x33, 0x01, 0x2c, 0x82, 0x52, 
    -	0x5f, 0x53, 0x01, 0x6c, 0x09, 0x09, 0x03, 0x0e, 0x02, 0x12, 0x0b, 0xfe, 
    -	0x68, 0x0b, 0x12, 0x02, 0x0e, 0x05, 0x15, 0x4f, 0x31, 0x55, 0x59, 0x04, 
    -	0x02, 0x14, 0x96, 0x14, 0x04, 0x02, 0x59, 0x55, 0x31, 0x01, 0xcf, 0x7a, 
    -	0x80, 0x80, 0xa7, 0x05, 0x16, 0x09, 0x4d, 0x0a, 0x0d, 0x0d, 0x0a, 0x4d, 
    -	0x18, 0x0c, 0x36, 0x41, 0x04, 0x37, 0x37, 0x04, 0x41, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x26, 0x02, 0x27, 0x01, 0xcf, 0x00, 0x1c, 
    -	0x00, 0x23, 0x00, 0x00, 0x25, 0x1e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x23, 
    -	0x21, 0x22, 0x26, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x33, 0x07, 0x33, 0x32, 
    -	0x1f, 0x01, 0x33, 0x37, 0x36, 0x3b, 0x01, 0x27, 0x33, 0x27, 0x07, 0x27, 
    -	0x33, 0x35, 0x33, 0x15, 0x02, 0x16, 0x09, 0x09, 0x03, 0x0e, 0x02, 0x12, 
    -	0x0b, 0xfe, 0x68, 0x0b, 0x12, 0x02, 0x0e, 0x05, 0x15, 0x4f, 0x31, 0x55, 
    -	0x59, 0x04, 0x02, 0x14, 0x96, 0x14, 0x04, 0x02, 0x59, 0x55, 0x31, 0x18, 
    -	0x82, 0x82, 0x53, 0x5f, 0xae, 0x05, 0x16, 0x09, 0x4d, 0x0a, 0x0d, 0x0d, 
    -	0x0a, 0x4d, 0x18, 0x0c, 0x36, 0x41, 0x04, 0x37, 0x37, 0x04, 0x41, 0x6b, 
    -	0x7a, 0x7a, 0x80, 0x80, 0x00, 0x03, 0x00, 0x32, 0x00, 0x32, 0x01, 0xf4, 
    -	0x01, 0xc2, 0x00, 0x09, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x36, 0x33, 0x13, 0x11, 0x21, 0x11, 
    -	0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x37, 0x15, 0x33, 0x35, 0x01, 0xe5, 
    -	0x06, 0x09, 0xfe, 0x3e, 0x09, 0x06, 0x0a, 0x01, 0x90, 0x15, 0x0e, 0xfe, 
    -	0xb6, 0x0e, 0x15, 0x7d, 0x96, 0x01, 0xc2, 0x09, 0x06, 0x3c, 0x3c, 0x06, 
    -	0x09, 0xfe, 0x93, 0x01, 0x09, 0xfe, 0xf7, 0x0f, 0x14, 0x14, 0xe6, 0x32, 
    -	0x32, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x19, 0x01, 0xc2, 
    -	0x01, 0xdb, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 
    -	0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 
    -	0x11, 0x34, 0x36, 0x33, 0x01, 0x11, 0x21, 0x11, 0x37, 0x15, 0x23, 0x35, 
    -	0x37, 0x15, 0x23, 0x3d, 0x02, 0x33, 0x15, 0x27, 0x15, 0x23, 0x35, 0x17, 
    -	0x15, 0x23, 0x35, 0x17, 0x35, 0x33, 0x1d, 0x02, 0x23, 0x35, 0x37, 0x35, 
    -	0x33, 0x15, 0x01, 0x90, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0xd4, 0x14, 0x1e, 
    -	0x1e, 0x14, 0x01, 0x2c, 0xfe, 0xd4, 0xaf, 0x7d, 0xc8, 0x64, 0x64, 0x7d, 
    -	0x4b, 0x32, 0x32, 0x4b, 0x7d, 0xc8, 0x96, 0x32, 0x01, 0xdb, 0x1d, 0x15, 
    -	0xfe, 0xa2, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x5e, 0x15, 0x1d, 0xfe, 0x70, 
    -	0x01, 0x5e, 0xfe, 0xa2, 0x7d, 0x19, 0x19, 0x64, 0x19, 0x19, 0x19, 0x32, 
    -	0x32, 0x32, 0x64, 0x64, 0x7d, 0x19, 0x19, 0x19, 0x19, 0x19, 0x4b, 0x19, 
    -	0x19, 0x19, 0x19, 0x19, 0x00, 0x03, 0x00, 0x32, 0x00, 0x05, 0x01, 0x54, 
    -	0x01, 0xef, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 
    -	0x36, 0x33, 0x13, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 
    -	0x16, 0x37, 0x11, 0x23, 0x11, 0x01, 0x22, 0x15, 0x1d, 0x1d, 0x15, 0xbe, 
    -	0x14, 0x1e, 0x1e, 0x14, 0x5f, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x15, 0x15, 
    -	0x77, 0xd2, 0x01, 0xef, 0x1d, 0x15, 0xfe, 0x7a, 0x14, 0x1e, 0x1e, 0x14, 
    -	0x01, 0x86, 0x15, 0x1d, 0xfe, 0x2a, 0x0f, 0x0a, 0x0b, 0x0e, 0x0f, 0x14, 
    -	0x0f, 0x4b, 0x01, 0x4a, 0xfe, 0xb6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x32, 0x02, 0x1c, 0x01, 0xc2, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x1b, 
    -	0x00, 0x23, 0x00, 0x00, 0x25, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x34, 0x36, 0x27, 0x36, 0x32, 0x17, 0x07, 0x26, 0x22, 0x07, 
    -	0x27, 0x36, 0x32, 0x17, 0x07, 0x26, 0x22, 0x07, 0x27, 0x36, 0x20, 0x17, 
    -	0x07, 0x26, 0x22, 0x07, 0x01, 0x27, 0x15, 0x1d, 0x1d, 0x15, 0x14, 0x1d, 
    -	0x1d, 0x55, 0x2c, 0x7a, 0x2c, 0x23, 0x1d, 0x52, 0x1d, 0x69, 0x49, 0xcd, 
    -	0x48, 0x23, 0x3a, 0xa3, 0x3b, 0x69, 0x66, 0x01, 0x1f, 0x65, 0x23, 0x57, 
    -	0xf6, 0x57, 0x96, 0x1e, 0x14, 0x15, 0x1d, 0x1d, 0x15, 0x14, 0x1e, 0x38, 
    -	0x2c, 0x2c, 0x24, 0x1d, 0x1d, 0x6a, 0x4a, 0x4a, 0x23, 0x3b, 0x3b, 0x6a, 
    -	0x67, 0x67, 0x23, 0x58, 0x58, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x32, 0x02, 0x26, 0x01, 0xc2, 0x00, 0x08, 0x00, 0x24, 0x00, 0x2c, 
    -	0x00, 0x35, 0x00, 0x00, 0x01, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 
    -	0x36, 0x37, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 
    -	0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x3f, 0x01, 0x36, 0x3b, 0x01, 
    -	0x32, 0x1f, 0x01, 0x16, 0x33, 0x02, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 
    -	0x14, 0x24, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x01, 0x2c, 
    -	0x20, 0x2b, 0x2c, 0x3e, 0x2c, 0x2c, 0xe7, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 
    -	0x70, 0x14, 0x1e, 0x1e, 0x14, 0x3c, 0x0e, 0x06, 0x0f, 0x05, 0x0f, 0xaa, 
    -	0x0f, 0x05, 0x0f, 0x06, 0x0e, 0xc0, 0x68, 0x49, 0x49, 0x68, 0x49, 0x01, 
    -	0x2d, 0x0e, 0x0a, 0x0a, 0x07, 0x12, 0x01, 0x2c, 0x2c, 0x3e, 0x2c, 0x2c, 
    -	0x3e, 0x2c, 0x4b, 0x1d, 0x15, 0xe1, 0x14, 0x1e, 0x1e, 0x14, 0xe1, 0x15, 
    -	0x1d, 0x0f, 0x2e, 0x0e, 0x0e, 0x2e, 0x0f, 0xfe, 0xed, 0x49, 0x68, 0x49, 
    -	0x49, 0x68, 0x75, 0x0b, 0x0e, 0x0a, 0x11, 0x08, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x1e, 0x01, 0x90, 0x01, 0xd6, 0x00, 0x11, 0x00, 0x22, 0x00, 0x2e, 
    -	0x00, 0x00, 0x25, 0x36, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3d, 
    -	0x01, 0x34, 0x36, 0x17, 0x1e, 0x01, 0x32, 0x36, 0x37, 0x36, 0x17, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x17, 0x1e, 0x01, 0x32, 
    -	0x36, 0x26, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 
    -	0x34, 0x01, 0x89, 0x07, 0x68, 0x47, 0x46, 0x69, 0x04, 0x03, 0x10, 0x5d, 
    -	0x76, 0x5d, 0x11, 0x04, 0x02, 0x66, 0x49, 0x48, 0x67, 0x07, 0x0f, 0x5e, 
    -	0x76, 0x5e, 0xe1, 0x90, 0x67, 0x67, 0x90, 0x67, 0xb3, 0x0a, 0x0b, 0x32, 
    -	0x25, 0x3d, 0x3d, 0x25, 0x32, 0x04, 0x02, 0x05, 0x1a, 0x22, 0x22, 0x99, 
    -	0x08, 0x08, 0x3a, 0x22, 0x2e, 0x2e, 0x22, 0x3a, 0x0a, 0x0a, 0x17, 0x1d, 
    -	0x1d, 0xbb, 0x27, 0x1b, 0x20, 0x1d, 0x29, 0x29, 0x1d, 0x20, 0x1b, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x3e, 0x01, 0xf5, 0x01, 0xb5, 0x00, 0x13, 
    -	0x00, 0x23, 0x00, 0x00, 0x25, 0x16, 0x0f, 0x01, 0x0e, 0x01, 0x23, 0x21, 
    -	0x22, 0x26, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x36, 0x3b, 0x01, 0x32, 0x1f, 
    -	0x01, 0x36, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1f, 0x01, 0x1e, 0x01, 0x33, 
    -	0x21, 0x32, 0x36, 0x37, 0x01, 0xec, 0x0d, 0x06, 0x11, 0x01, 0x11, 0x0b, 
    -	0xfe, 0x9c, 0x0a, 0x12, 0x01, 0x11, 0x04, 0x0b, 0x4f, 0x0b, 0x19, 0xcc, 
    -	0x19, 0x0c, 0x2c, 0x01, 0x0c, 0x0b, 0xfe, 0xbe, 0x0b, 0x0c, 0x01, 0x07, 
    -	0x01, 0x11, 0x0b, 0x01, 0x27, 0x0b, 0x11, 0x01, 0xe3, 0x16, 0x1a, 0x5c, 
    -	0x0a, 0x0f, 0x0f, 0x0a, 0x5c, 0x1a, 0x16, 0xbb, 0x17, 0x17, 0xfd, 0x0b, 
    -	0x10, 0x10, 0x0b, 0x25, 0x0b, 0x0f, 0x0f, 0x0b, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x23, 0x01, 0xfc, 0x01, 0xd1, 0x00, 0x29, 0x00, 0x2f, 0x00, 0x3c, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x07, 0x06, 0x02, 0x07, 0x0e, 0x02, 0x22, 
    -	0x2e, 0x01, 0x27, 0x34, 0x27, 0x16, 0x36, 0x37, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x0e, 0x01, 0x27, 0x2e, 0x01, 
    -	0x27, 0x26, 0x37, 0x26, 0x27, 0x26, 0x36, 0x07, 0x1e, 0x01, 0x17, 0x27, 
    -	0x06, 0x36, 0x32, 0x3e, 0x01, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 
    -	0x14, 0x16, 0x01, 0x38, 0x57, 0x70, 0x04, 0x03, 0x2a, 0x01, 0x01, 0x23, 
    -	0x48, 0x52, 0x47, 0x23, 0x01, 0x02, 0x29, 0x51, 0x1d, 0x0e, 0x14, 0x14, 
    -	0x0f, 0x0e, 0x15, 0x05, 0x18, 0x43, 0x20, 0x33, 0x37, 0x02, 0x04, 0x52, 
    -	0x09, 0x02, 0x04, 0x70, 0x8c, 0x02, 0x21, 0x1d, 0x10, 0x32, 0xbb, 0x52, 
    -	0x4b, 0x26, 0x26, 0x4a, 0x2a, 0x29, 0x4a, 0x26, 0x26, 0x01, 0xd1, 0x31, 
    -	0x1c, 0x13, 0xfe, 0xf3, 0x06, 0x09, 0x1a, 0x18, 0x18, 0x1a, 0x09, 0x01, 
    -	0x0e, 0x03, 0x29, 0x26, 0x14, 0x0f, 0x0e, 0x15, 0x15, 0x0e, 0x0a, 0x08, 
    -	0x1d, 0x1f, 0x02, 0x05, 0x2f, 0x1f, 0x3d, 0x1f, 0x2f, 0x16, 0x1c, 0x31, 
    -	0xeb, 0x10, 0x1b, 0x06, 0x66, 0x16, 0x4b, 0x12, 0x15, 0x0e, 0x15, 0x12, 
    -	0x12, 0x15, 0x0e, 0x15, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x01, 0x40, 
    -	0x01, 0xf4, 0x00, 0x12, 0x00, 0x20, 0x00, 0x00, 0x37, 0x1e, 0x01, 0x15, 
    -	0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x34, 0x3b, 0x01, 
    -	0x32, 0x16, 0x15, 0x02, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x35, 0x23, 
    -	0x15, 0x0e, 0x01, 0x15, 0x14, 0xfa, 0x20, 0x26, 0x4f, 0x70, 0x4f, 0x26, 
    -	0x20, 0x14, 0x55, 0x0a, 0x0f, 0x64, 0x46, 0x32, 0x20, 0x1a, 0x32, 0x1b, 
    -	0x23, 0xfd, 0x12, 0x3e, 0x26, 0x38, 0x4f, 0x4f, 0x38, 0x26, 0x3e, 0x12, 
    -	0xde, 0x19, 0x0f, 0x0a, 0xfe, 0x57, 0x32, 0x23, 0x1c, 0x2c, 0x08, 0xb9, 
    -	0xb8, 0x08, 0x2d, 0x1c, 0x23, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x26, 0x02, 0x26, 0x01, 0xcf, 0x00, 0x19, 0x00, 0x25, 0x00, 0x34, 
    -	0x00, 0x00, 0x01, 0x22, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x2b, 0x01, 0x35, 
    -	0x33, 0x32, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x3b, 0x01, 0x35, 0x17, 0x07, 
    -	0x35, 0x05, 0x26, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x17, 0x0e, 0x01, 0x07, 
    -	0x06, 0x17, 0x35, 0x17, 0x07, 0x35, 0x23, 0x22, 0x27, 0x36, 0x37, 0x34, 
    -	0x36, 0x37, 0x16, 0x33, 0x01, 0xab, 0x1b, 0x33, 0x1d, 0x1b, 0x18, 0x1b, 
    -	0x33, 0x38, 0x21, 0x34, 0x34, 0x1b, 0x34, 0x1d, 0x1b, 0x1f, 0x27, 0x4d, 
    -	0x2b, 0x12, 0x69, 0x69, 0xfe, 0xfc, 0x25, 0x2e, 0x34, 0x34, 0x46, 0x39, 
    -	0x07, 0x17, 0x02, 0x04, 0xfc, 0x69, 0x69, 0x12, 0x46, 0x3c, 0x17, 0x0d, 
    -	0x06, 0x01, 0x2a, 0x2d, 0x01, 0x4d, 0x20, 0x22, 0x23, 0x1f, 0x20, 0x2d, 
    -	0x15, 0x46, 0x20, 0x22, 0x23, 0x29, 0x2c, 0x2c, 0x3c, 0x5a, 0x5a, 0x32, 
    -	0x2c, 0x27, 0x46, 0x36, 0x08, 0x1d, 0x02, 0x06, 0x83, 0x32, 0x5a, 0x5a, 
    -	0x3c, 0x3a, 0x1d, 0x11, 0x01, 0x07, 0x02, 0x2c, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x64, 0x01, 0xf4, 0x01, 0x90, 0x00, 0x1a, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 
    -	0x36, 0x3b, 0x01, 0x35, 0x17, 0x07, 0x35, 0x23, 0x15, 0x21, 0x35, 0x23, 
    -	0x35, 0x01, 0xc2, 0x15, 0x1d, 0x1d, 0x15, 0xfe, 0xa2, 0x14, 0x1e, 0x1e, 
    -	0x14, 0x7d, 0x64, 0x64, 0x69, 0x01, 0x36, 0x4b, 0x01, 0x59, 0x1d, 0x15, 
    -	0x91, 0x14, 0x1e, 0x1e, 0x14, 0x91, 0x15, 0x1d, 0x37, 0x5a, 0x5a, 0x37, 
    -	0x69, 0x69, 0x46, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x2d, 0x01, 0xce, 
    -	0x01, 0xc7, 0x00, 0x0e, 0x00, 0x1d, 0x00, 0x00, 0x3f, 0x01, 0x15, 0x27, 
    -	0x37, 0x26, 0x36, 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x0e, 0x01, 0x37, 
    -	0x17, 0x07, 0x16, 0x06, 0x07, 0x06, 0x07, 0x27, 0x36, 0x37, 0x3e, 0x01, 
    -	0x27, 0x07, 0x90, 0x3a, 0x8a, 0x2c, 0x3a, 0x02, 0x3b, 0x32, 0x46, 0x02, 
    -	0x32, 0x24, 0x2c, 0x02, 0xd1, 0x8a, 0x2c, 0x3a, 0x02, 0x3b, 0x30, 0x48, 
    -	0x01, 0x31, 0x24, 0x2c, 0x02, 0x2b, 0x39, 0x91, 0x3a, 0x92, 0x08, 0x2b, 
    -	0x3d, 0xa8, 0x3c, 0x32, 0x08, 0x33, 0x08, 0x24, 0x2c, 0x7d, 0xfd, 0x08, 
    -	0x2b, 0x3d, 0xa8, 0x3c, 0x31, 0x0a, 0x34, 0x08, 0x24, 0x2c, 0x7d, 0x2e, 
    -	0x3a, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x4b, 0x01, 0x90, 
    -	0x01, 0xa9, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x28, 0x00, 0x31, 
    -	0x00, 0x39, 0x00, 0x40, 0x00, 0x48, 0x00, 0x50, 0x00, 0x58, 0x00, 0x00, 
    -	0x13, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x17, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 
    -	0x26, 0x32, 0x16, 0x15, 0x14, 0x22, 0x35, 0x34, 0x24, 0x16, 0x07, 0x0e, 
    -	0x01, 0x27, 0x26, 0x36, 0x37, 0x16, 0x32, 0x16, 0x15, 0x14, 0x23, 0x22, 
    -	0x35, 0x34, 0x06, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x26, 0x36, 
    -	0x16, 0x07, 0x0e, 0x01, 0x27, 0x26, 0x36, 0x17, 0x1e, 0x01, 0x07, 0x06, 
    -	0x27, 0x17, 0x26, 0x36, 0x17, 0x1e, 0x01, 0x07, 0x06, 0x02, 0x22, 0x26, 
    -	0x34, 0x36, 0x32, 0x16, 0x14, 0xe1, 0x22, 0x2e, 0x2e, 0x22, 0x21, 0x2f, 
    -	0x2f, 0x21, 0x16, 0x1d, 0x1d, 0x16, 0x15, 0x1e, 0x1e, 0x8b, 0x14, 0x0f, 
    -	0x32, 0x01, 0x1c, 0x1c, 0x12, 0x07, 0x13, 0x05, 0x06, 0x02, 0x07, 0x31, 
    -	0x14, 0x0f, 0x19, 0x18, 0x86, 0x10, 0x0c, 0x0c, 0x10, 0x0c, 0x75, 0x24, 
    -	0x1c, 0x12, 0x07, 0x13, 0x05, 0x10, 0x1c, 0x12, 0x07, 0x02, 0x05, 0x0f, 
    -	0x11, 0xd4, 0x11, 0x1c, 0x12, 0x07, 0x02, 0x06, 0x0f, 0x65, 0x10, 0x0c, 
    -	0x0c, 0x10, 0x0c, 0x01, 0x4a, 0x2f, 0x21, 0x22, 0x2e, 0x2e, 0x22, 0x21, 
    -	0x2f, 0x84, 0x1e, 0x16, 0x15, 0x1e, 0x1e, 0x15, 0x16, 0x1e, 0x48, 0x0c, 
    -	0x08, 0x14, 0x14, 0x08, 0x80, 0x1c, 0x12, 0x07, 0x02, 0x06, 0x06, 0x13, 
    -	0x07, 0x63, 0x0c, 0x08, 0x14, 0x14, 0x08, 0x85, 0x0f, 0x14, 0x0f, 0x0f, 
    -	0x14, 0x1c, 0x24, 0x1c, 0x12, 0x07, 0x02, 0x05, 0xe9, 0x1c, 0x12, 0x07, 
    -	0x13, 0x05, 0x0e, 0x11, 0xd2, 0x12, 0x1c, 0x12, 0x07, 0x13, 0x05, 0x0e, 
    -	0x01, 0x07, 0x0f, 0x14, 0x0f, 0x0f, 0x14, 0x00, 0x00, 0x0a, 0x00, 0x32, 
    -	0x00, 0x00, 0x02, 0x26, 0x01, 0xf4, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x1f, 
    -	0x00, 0x2b, 0x00, 0x37, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x5b, 0x00, 0x69, 
    -	0x00, 0x72, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x2b, 0x01, 0x22, 
    -	0x35, 0x34, 0x36, 0x33, 0x24, 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 
    -	0x35, 0x34, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 
    -	0x27, 0x14, 0x2b, 0x01, 0x22, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 
    -	0x36, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x14, 
    -	0x02, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x34, 
    -	0x13, 0x07, 0x06, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x16, 0x01, 0x3e, 
    -	0x01, 0x17, 0x16, 0x06, 0x0f, 0x01, 0x0e, 0x01, 0x27, 0x26, 0x37, 0x36, 
    -	0x13, 0x17, 0x16, 0x07, 0x06, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x37, 
    -	0x36, 0x16, 0x01, 0x26, 0x36, 0x1f, 0x01, 0x16, 0x06, 0x27, 0x26, 0x02, 
    -	0x0d, 0x0a, 0x0f, 0x19, 0x18, 0x19, 0x0f, 0x0a, 0xfe, 0xfe, 0x72, 0x51, 
    -	0x51, 0x72, 0x50, 0x60, 0x52, 0x3b, 0x3b, 0x52, 0x3b, 0x4b, 0x19, 0x19, 
    -	0x19, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0xb7, 0x10, 0x0c, 0x0c, 0x10, 0x0c, 
    -	0x1c, 0x10, 0x0c, 0x0c, 0x10, 0x0c, 0xcc, 0x11, 0x11, 0x0f, 0x0e, 0x12, 
    -	0x02, 0x0f, 0x12, 0x1c, 0xfe, 0x90, 0x07, 0x13, 0x05, 0x06, 0x02, 0x07, 
    -	0x12, 0x07, 0x13, 0x05, 0x0f, 0x12, 0x03, 0x19, 0x12, 0x12, 0x0f, 0x05, 
    -	0x13, 0x07, 0x0f, 0x03, 0x07, 0x02, 0x06, 0x05, 0x13, 0x01, 0x2e, 0x12, 
    -	0x1c, 0x12, 0x11, 0x12, 0x1c, 0x12, 0x0f, 0x01, 0x0e, 0x0c, 0x08, 0x14, 
    -	0x14, 0x08, 0x0c, 0x75, 0x50, 0x39, 0x3a, 0x50, 0x50, 0x3a, 0x39, 0x9d, 
    -	0x3a, 0x2a, 0x29, 0x3b, 0x3b, 0x29, 0x2a, 0x2a, 0x14, 0x14, 0x08, 0x0c, 
    -	0x0c, 0xa7, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0x0f, 0x0a, 0x19, 0x0a, 0xfe, 
    -	0x93, 0x0f, 0x0a, 0x19, 0x0a, 0x0f, 0x0f, 0x0a, 0x19, 0x0a, 0x01, 0x59, 
    -	0x11, 0x11, 0x0d, 0x0e, 0x12, 0x03, 0x0f, 0x11, 0x1c, 0xfe, 0xc8, 0x08, 
    -	0x02, 0x06, 0x06, 0x13, 0x07, 0x12, 0x07, 0x02, 0x06, 0x0e, 0x12, 0x02, 
    -	0x01, 0x52, 0x12, 0x12, 0x0e, 0x05, 0x02, 0x07, 0x0f, 0x02, 0x07, 0x13, 
    -	0x06, 0x06, 0x02, 0xfe, 0x9a, 0x12, 0x1c, 0x12, 0x11, 0x12, 0x1c, 0x11, 
    -	0x0f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x1e, 0x01, 0xec, 
    -	0x01, 0xd7, 0x00, 0x0d, 0x00, 0x1f, 0x00, 0x2e, 0x00, 0x00, 0x01, 0x16, 
    -	0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x34, 0x37, 0x01, 0x36, 
    -	0x07, 0x37, 0x1e, 0x01, 0x07, 0x0e, 0x03, 0x27, 0x37, 0x1e, 0x02, 0x37, 
    -	0x36, 0x2e, 0x01, 0x27, 0x07, 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x07, 
    -	0x2e, 0x01, 0x07, 0x06, 0x1e, 0x01, 0x01, 0xe4, 0x08, 0x08, 0xfe, 0x79, 
    -	0x09, 0x08, 0x09, 0x09, 0x08, 0x08, 0x01, 0x87, 0x11, 0x5a, 0x19, 0x25, 
    -	0x1b, 0x11, 0x0c, 0x33, 0x50, 0x51, 0x2a, 0x8b, 0x16, 0x2c, 0x17, 0x05, 
    -	0x03, 0x04, 0x16, 0x9a, 0x87, 0x14, 0x44, 0x20, 0x11, 0x47, 0x2c, 0x1a, 
    -	0x1d, 0x2f, 0x05, 0x02, 0x02, 0x11, 0x01, 0xd0, 0x08, 0x14, 0x08, 0xfe, 
    -	0x79, 0x07, 0x07, 0x07, 0x16, 0x07, 0x01, 0x87, 0x10, 0xd1, 0x19, 0x2e, 
    -	0x50, 0x12, 0x0c, 0x21, 0x26, 0x07, 0x0f, 0x8a, 0x10, 0x16, 0x03, 0x02, 
    -	0x05, 0x18, 0x2c, 0x35, 0x87, 0x42, 0x97, 0x20, 0x10, 0x15, 0x20, 0x19, 
    -	0x13, 0x0f, 0x05, 0x04, 0x14, 0x26, 0x00, 0x00, 0x00, 0x05, 0x00, 0x32, 
    -	0x00, 0x11, 0x01, 0xfa, 0x01, 0xe4, 0x00, 0x0d, 0x00, 0x1d, 0x00, 0x2a, 
    -	0x00, 0x38, 0x00, 0x46, 0x00, 0x00, 0x13, 0x36, 0x1e, 0x02, 0x07, 0x0e, 
    -	0x02, 0x2e, 0x02, 0x3e, 0x01, 0x17, 0x36, 0x2e, 0x01, 0x27, 0x2e, 0x02, 
    -	0x07, 0x06, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x37, 0x22, 0x27, 0x26, 0x34, 
    -	0x3f, 0x01, 0x36, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x27, 0x2e, 0x01, 0x3f, 
    -	0x01, 0x36, 0x17, 0x1e, 0x01, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x1e, 0x01, 
    -	0x06, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x36, 0x3f, 0x01, 0x36, 
    -	0x8a, 0x15, 0x6b, 0x6e, 0x2f, 0x15, 0x0e, 0x40, 0x5c, 0x66, 0x4a, 0x0a, 
    -	0x27, 0x27, 0xf6, 0x04, 0x0b, 0x26, 0x1d, 0x1c, 0x3e, 0x27, 0x05, 0x04, 
    -	0x0b, 0x26, 0x1c, 0x1d, 0x3e, 0x27, 0x08, 0x09, 0x08, 0x08, 0x08, 0x2f, 
    -	0x12, 0x12, 0x10, 0x10, 0x30, 0x08, 0x64, 0x09, 0x05, 0x05, 0x1b, 0x0d, 
    -	0x15, 0x09, 0x05, 0x05, 0x1b, 0x07, 0x0e, 0x07, 0xd0, 0x0a, 0x06, 0x09, 
    -	0x30, 0x08, 0x04, 0x0e, 0x08, 0x05, 0x06, 0x09, 0x30, 0x09, 0x01, 0x71, 
    -	0x15, 0x2f, 0x6e, 0x6b, 0x15, 0x0e, 0x27, 0x27, 0x0a, 0x4a, 0x66, 0x5c, 
    -	0x40, 0xe2, 0x05, 0x27, 0x3e, 0x1c, 0x1d, 0x26, 0x0b, 0x04, 0x05, 0x27, 
    -	0x3e, 0x1d, 0x1c, 0x26, 0x0b, 0xc9, 0x08, 0x07, 0x15, 0x07, 0x30, 0x10, 
    -	0x10, 0x12, 0x12, 0x2f, 0x08, 0x3e, 0x05, 0x14, 0x09, 0x30, 0x16, 0x0c, 
    -	0x05, 0x14, 0x09, 0x30, 0x0d, 0x3f, 0x12, 0x14, 0x05, 0x1b, 0x04, 0x0d, 
    -	0x09, 0x14, 0x05, 0x1b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x64, 0x02, 0x26, 0x01, 0x90, 0x00, 0x15, 0x00, 0x2d, 0x00, 0x39, 
    -	0x00, 0x00, 0x25, 0x14, 0x16, 0x3b, 0x01, 0x0e, 0x01, 0x2b, 0x01, 0x22, 
    -	0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x17, 0x23, 0x22, 0x06, 
    -	0x07, 0x36, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x27, 
    -	0x26, 0x07, 0x06, 0x17, 0x16, 0x17, 0x16, 0x36, 0x3f, 0x01, 0x17, 0x16, 
    -	0x37, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x34, 0x36, 0x33, 
    -	0x01, 0xb3, 0x24, 0x15, 0x21, 0x0f, 0x22, 0x2a, 0xfa, 0x41, 0x45, 0x45, 
    -	0x41, 0xfa, 0x2a, 0x22, 0x0f, 0x21, 0x15, 0x24, 0x44, 0x05, 0x09, 0x44, 
    -	0x15, 0x08, 0x0a, 0x08, 0x02, 0x03, 0x0b, 0x4a, 0x0d, 0x04, 0x04, 0x08, 
    -	0x44, 0x16, 0x11, 0x08, 0x05, 0x0c, 0x49, 0x0d, 0x9f, 0x0b, 0x11, 0x11, 
    -	0x0b, 0x13, 0x0b, 0x10, 0x10, 0x0b, 0xfa, 0x31, 0x3b, 0x17, 0x13, 0x5e, 
    -	0x38, 0x37, 0x5f, 0x13, 0x17, 0x3c, 0x5d, 0x06, 0x07, 0x43, 0x0f, 0x05, 
    -	0x03, 0x08, 0x04, 0x07, 0x1c, 0x21, 0x06, 0x06, 0x07, 0x07, 0x42, 0x0f, 
    -	0x08, 0x05, 0x0d, 0x1d, 0x22, 0x06, 0x67, 0x1b, 0x2c, 0x1c, 0x1c, 0x2c, 
    -	0x1b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x35, 0x01, 0xbd, 
    -	0x01, 0xc0, 0x00, 0x11, 0x00, 0x1a, 0x00, 0x00, 0x25, 0x16, 0x0f, 0x01, 
    -	0x06, 0x2f, 0x01, 0x06, 0x23, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x15, 
    -	0x14, 0x07, 0x26, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x01, 
    -	0xb4, 0x0f, 0x0c, 0x17, 0x12, 0x10, 0x5f, 0x25, 0x29, 0x40, 0x5f, 0x5a, 
    -	0x80, 0x60, 0x17, 0xf4, 0x44, 0x58, 0x3f, 0x44, 0x58, 0x72, 0x11, 0x0e, 
    -	0x17, 0x10, 0x10, 0x5f, 0x15, 0x5f, 0x80, 0x5b, 0x5f, 0x40, 0x2c, 0x25, 
    -	0x81, 0x58, 0x44, 0x3f, 0x2d, 0x2c, 0x43, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x04, 0x01, 0xb8, 0x01, 0xef, 0x00, 0x19, 0x00, 0x2f, 0x00, 0x00, 
    -	0x01, 0x16, 0x06, 0x07, 0x06, 0x27, 0x0f, 0x02, 0x06, 0x0f, 0x01, 0x06, 
    -	0x26, 0x2f, 0x01, 0x26, 0x3f, 0x01, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 
    -	0x16, 0x07, 0x36, 0x26, 0x27, 0x26, 0x06, 0x07, 0x0e, 0x01, 0x1e, 0x04, 
    -	0x17, 0x1e, 0x03, 0x32, 0x3e, 0x01, 0x01, 0xb5, 0x0a, 0x30, 0x33, 0x21, 
    -	0x20, 0x3b, 0x23, 0x34, 0x07, 0x10, 0x26, 0x06, 0x0a, 0x01, 0x08, 0x04, 
    -	0x0a, 0x81, 0x0c, 0x07, 0x09, 0x47, 0x39, 0x35, 0x59, 0x36, 0x0f, 0x09, 
    -	0x15, 0x15, 0x32, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x0b, 0x07, 0x0f, 0x04, 
    -	0x03, 0x10, 0x07, 0x0c, 0x07, 0x0a, 0x08, 0x01, 0x7d, 0x3a, 0x63, 0x09, 
    -	0x06, 0x05, 0x61, 0x06, 0x53, 0x0e, 0x02, 0x07, 0x02, 0x08, 0x07, 0x31, 
    -	0x0f, 0x0d, 0xc1, 0x19, 0x23, 0x35, 0x51, 0x0a, 0x0a, 0x41, 0x5e, 0x16, 
    -	0x35, 0x0f, 0x10, 0x0a, 0x16, 0x06, 0x0b, 0x09, 0x07, 0x0a, 0x05, 0x0b, 
    -	0x03, 0x02, 0x0c, 0x04, 0x08, 0x01, 0x07, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x26, 0x01, 0x90, 0x01, 0xcf, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x0f, 0x01, 0x06, 0x2b, 0x01, 0x22, 
    -	0x2f, 0x01, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, 
    -	0x32, 0x16, 0x1d, 0x01, 0x27, 0x15, 0x33, 0x35, 0x34, 0x26, 0x22, 0x06, 
    -	0x01, 0x72, 0x0a, 0x14, 0x18, 0x1e, 0x15, 0x1b, 0x91, 0x1c, 0x15, 0x1e, 
    -	0x18, 0x0f, 0x0a, 0x32, 0x33, 0x62, 0x33, 0x96, 0x64, 0x1b, 0x2e, 0x1b, 
    -	0x01, 0x39, 0x13, 0x0b, 0xc3, 0x18, 0x09, 0x09, 0x08, 0x08, 0x09, 0x09, 
    -	0x18, 0xc3, 0x0b, 0x13, 0x23, 0x37, 0x3c, 0x3c, 0x37, 0x23, 0x2d, 0x2d, 
    -	0x2d, 0x1a, 0x1d, 0x1d, 0x00, 0x01, 0x00, 0x32, 0x00, 0x19, 0x01, 0x90, 
    -	0x01, 0xdb, 0x00, 0x23, 0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 
    -	0x06, 0x0f, 0x01, 0x06, 0x2b, 0x01, 0x22, 0x2f, 0x01, 0x2e, 0x01, 0x3d, 
    -	0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x22, 0x1d, 0x01, 0x23, 0x35, 
    -	0x34, 0x36, 0x33, 0x32, 0x1d, 0x01, 0x01, 0x72, 0x0a, 0x14, 0x0e, 0x0a, 
    -	0x1e, 0x1a, 0x16, 0x91, 0x17, 0x1a, 0x1e, 0x0a, 0x0e, 0x0f, 0x0a, 0xc8, 
    -	0x64, 0x32, 0x33, 0x31, 0x64, 0x01, 0x2c, 0x14, 0x0a, 0xc3, 0x0a, 0x13, 
    -	0x03, 0x0a, 0x08, 0x08, 0x0a, 0x03, 0x13, 0x0a, 0xc3, 0x0b, 0x13, 0x46, 
    -	0x37, 0x37, 0x14, 0x0a, 0x37, 0x3c, 0x73, 0x3c, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x1d, 0x01, 0xc2, 0x01, 0xd8, 0x00, 0x19, 0x00, 0x28, 0x00, 0x33, 
    -	0x00, 0x00, 0x01, 0x1e, 0x03, 0x17, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 
    -	0x26, 0x36, 0x27, 0x26, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x16, 0x37, 
    -	0x36, 0x16, 0x02, 0x3e, 0x02, 0x27, 0x2e, 0x01, 0x06, 0x07, 0x0e, 0x02, 
    -	0x17, 0x1e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x17, 0x16, 0x06, 0x07, 0x06, 
    -	0x27, 0x36, 0x01, 0x6e, 0x08, 0x18, 0x15, 0x17, 0x06, 0x0b, 0x60, 0x4e, 
    -	0x52, 0x85, 0x0b, 0x0a, 0x20, 0x07, 0x1c, 0x09, 0x34, 0x0d, 0x03, 0x0d, 
    -	0x0c, 0x16, 0x11, 0x42, 0x42, 0x5a, 0x58, 0x47, 0x1d, 0x02, 0x04, 0x29, 
    -	0x53, 0x34, 0x33, 0x47, 0x17, 0x03, 0x02, 0x2e, 0x65, 0x04, 0x0d, 0x02, 
    -	0x01, 0x07, 0x1f, 0x1d, 0x30, 0x1c, 0x27, 0x01, 0x20, 0x11, 0x12, 0x04, 
    -	0x13, 0x12, 0x1f, 0x63, 0x1d, 0x1d, 0x0d, 0x1f, 0x1b, 0x39, 0x1b, 0x60, 
    -	0x6c, 0x2a, 0x0b, 0x1d, 0x05, 0x04, 0x14, 0x01, 0x01, 0x44, 0xfe, 0xc2, 
    -	0x20, 0x35, 0x26, 0x06, 0x0b, 0x0b, 0x0a, 0x13, 0x13, 0x31, 0x23, 0x09, 
    -	0x06, 0x0a, 0x6d, 0x01, 0x05, 0x01, 0x01, 0x14, 0x2b, 0x0a, 0x12, 0x19, 
    -	0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x19, 0x00, 0xe6, 
    -	0x01, 0xdb, 0x00, 0x09, 0x00, 0x00, 0x13, 0x32, 0x16, 0x15, 0x11, 0x27, 
    -	0x07, 0x11, 0x34, 0x33, 0xcd, 0x0b, 0x0e, 0x5a, 0x5a, 0x14, 0x01, 0xdb, 
    -	0x0f, 0x0a, 0xfe, 0x57, 0x5a, 0x5a, 0x01, 0xa9, 0x19, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x32, 0x01, 0xc2, 0x01, 0xc3, 0x00, 0x1f, 
    -	0x00, 0x42, 0x00, 0x00, 0x37, 0x36, 0x32, 0x17, 0x16, 0x0f, 0x01, 0x06, 
    -	0x23, 0x22, 0x26, 0x35, 0x34, 0x3f, 0x01, 0x3e, 0x01, 0x17, 0x16, 0x14, 
    -	0x07, 0x06, 0x27, 0x26, 0x0f, 0x01, 0x06, 0x14, 0x17, 0x16, 0x32, 0x37, 
    -	0x13, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x34, 
    -	0x37, 0x36, 0x32, 0x17, 0x16, 0x3f, 0x01, 0x36, 0x35, 0x34, 0x27, 0x2e, 
    -	0x01, 0x0f, 0x01, 0x06, 0x22, 0x27, 0x26, 0x3f, 0x01, 0x36, 0x16, 0xc5, 
    -	0x07, 0x14, 0x08, 0x10, 0x10, 0x15, 0x1c, 0x26, 0x27, 0x38, 0x1c, 0x4a, 
    -	0x23, 0x4a, 0x1b, 0x08, 0x08, 0x12, 0x11, 0x19, 0x29, 0x4a, 0x0d, 0x0d, 
    -	0x0d, 0x25, 0x0d, 0xf6, 0x1c, 0x1c, 0x4f, 0x25, 0x26, 0x1f, 0x19, 0x07, 
    -	0x07, 0x07, 0x15, 0x07, 0x19, 0x24, 0x4f, 0x0e, 0x0e, 0x0c, 0x20, 0x0e, 
    -	0x19, 0x08, 0x14, 0x07, 0x11, 0x11, 0x19, 0x1b, 0x49, 0x85, 0x07, 0x07, 
    -	0x11, 0x12, 0x14, 0x1c, 0x38, 0x26, 0x27, 0x1c, 0x4a, 0x22, 0x09, 0x1a, 
    -	0x08, 0x14, 0x08, 0x10, 0x10, 0x18, 0x29, 0x49, 0x0d, 0x26, 0x0c, 0x0d, 
    -	0x0d, 0x01, 0x33, 0x1c, 0x26, 0x27, 0x1c, 0x4f, 0x24, 0x19, 0x07, 0x14, 
    -	0x08, 0x07, 0x07, 0x18, 0x24, 0x4e, 0x0e, 0x12, 0x13, 0x0c, 0x0d, 0x05, 
    -	0x0d, 0x19, 0x07, 0x07, 0x11, 0x12, 0x19, 0x1b, 0x03, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0x00, 0x64, 0x01, 0xdb, 0x01, 0x90, 0x00, 0x10, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x35, 
    -	0x21, 0x35, 0x23, 0x15, 0x27, 0x37, 0x15, 0x01, 0xa9, 0x14, 0x1e, 0x1e, 
    -	0x14, 0xfe, 0xa7, 0x01, 0x45, 0xfa, 0x69, 0x69, 0x01, 0x59, 0x1d, 0x15, 
    -	0x91, 0x14, 0x1e, 0x46, 0x69, 0x37, 0x5a, 0x5a, 0x37, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x19, 0x01, 0xf5, 0x01, 0xdc, 0x00, 0x14, 
    -	0x00, 0x1d, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x1e, 0x01, 0x0f, 0x01, 0x0e, 
    -	0x01, 0x27, 0x07, 0x06, 0x26, 0x27, 0x2e, 0x01, 0x3f, 0x01, 0x26, 0x36, 
    -	0x3f, 0x01, 0x36, 0x03, 0x16, 0x37, 0x36, 0x27, 0x26, 0x0e, 0x02, 0x37, 
    -	0x1e, 0x02, 0x37, 0x36, 0x2e, 0x04, 0x06, 0x1e, 0x01, 0x01, 0xa7, 0x3e, 
    -	0x17, 0x0e, 0x43, 0x08, 0x2e, 0x19, 0xcc, 0x09, 0x27, 0x12, 0x12, 0x0d, 
    -	0x09, 0xcc, 0x03, 0x0a, 0x08, 0x44, 0x0c, 0x7d, 0x10, 0x18, 0x17, 0x10, 
    -	0x07, 0x18, 0x14, 0x03, 0xaf, 0x0f, 0x26, 0x18, 0x02, 0x01, 0x06, 0x14, 
    -	0x1e, 0x24, 0x17, 0x04, 0x05, 0x14, 0x01, 0xcb, 0x3e, 0x44, 0x0c, 0x43, 
    -	0x08, 0x0a, 0x03, 0xcc, 0x09, 0x0c, 0x13, 0x12, 0x26, 0x09, 0xcc, 0x19, 
    -	0x2e, 0x08, 0x44, 0x0e, 0xfe, 0xfd, 0x10, 0x17, 0x17, 0x12, 0x07, 0x04, 
    -	0x14, 0x17, 0x8d, 0x0f, 0x14, 0x05, 0x02, 0x02, 0x17, 0x25, 0x1e, 0x14, 
    -	0x06, 0x04, 0x18, 0x26, 0x00, 0x01, 0x00, 0x32, 0x00, 0x37, 0x02, 0x1c, 
    -	0x01, 0xbe, 0x00, 0x14, 0x00, 0x00, 0x01, 0x36, 0x15, 0x11, 0x21, 0x22, 
    -	0x26, 0x3f, 0x01, 0x36, 0x1f, 0x01, 0x16, 0x36, 0x3f, 0x01, 0x36, 0x1f, 
    -	0x01, 0x16, 0x37, 0x02, 0x14, 0x08, 0xfe, 0x1e, 0x06, 0x03, 0x04, 0x73, 
    -	0x0a, 0x0a, 0x25, 0x05, 0x0b, 0x03, 0x4f, 0x08, 0x0b, 0x38, 0x0a, 0x09, 
    -	0x01, 0xb9, 0x0b, 0x0d, 0xfe, 0x80, 0x07, 0x05, 0x90, 0x0b, 0x0a, 0x21, 
    -	0x04, 0x01, 0x05, 0x77, 0x0d, 0x0b, 0x34, 0x0a, 0x0c, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x00, 0x41, 0x02, 0x00, 0x01, 0xb4, 0x00, 0x19, 
    -	0x00, 0x1f, 0x00, 0x00, 0x01, 0x36, 0x16, 0x07, 0x06, 0x02, 0x07, 0x0e, 
    -	0x01, 0x2f, 0x02, 0x37, 0x36, 0x37, 0x36, 0x26, 0x07, 0x05, 0x2f, 0x01, 
    -	0x26, 0x34, 0x37, 0x36, 0x24, 0x01, 0x35, 0x17, 0x06, 0x07, 0x06, 0x01, 
    -	0xf2, 0x07, 0x08, 0x02, 0x01, 0x46, 0x02, 0x01, 0x0c, 0x06, 0x7c, 0x0f, 
    -	0x0b, 0xc2, 0x03, 0x02, 0x05, 0x02, 0xfe, 0xed, 0x38, 0x5f, 0x06, 0x06, 
    -	0x04, 0x01, 0xb1, 0xfe, 0xe1, 0x50, 0x41, 0x06, 0x09, 0x01, 0xb3, 0x02, 
    -	0x07, 0x06, 0x03, 0xfe, 0xd0, 0x06, 0x07, 0x05, 0x03, 0x43, 0x08, 0x0d, 
    -	0xd2, 0x03, 0x02, 0x05, 0x02, 0xc9, 0x16, 0x26, 0x02, 0x08, 0x02, 0x02, 
    -	0x99, 0xfe, 0x95, 0x66, 0x29, 0x3a, 0x06, 0x07, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x09, 0x02, 0x14, 0x01, 0xeb, 0x00, 0x0b, 0x00, 0x15, 0x00, 0x2e, 
    -	0x00, 0x47, 0x00, 0x00, 0x01, 0x36, 0x16, 0x17, 0x16, 0x06, 0x07, 0x06, 
    -	0x26, 0x27, 0x26, 0x36, 0x13, 0x3e, 0x01, 0x2e, 0x01, 0x07, 0x0e, 0x01, 
    -	0x1e, 0x01, 0x37, 0x32, 0x37, 0x17, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 
    -	0x26, 0x34, 0x36, 0x33, 0x32, 0x17, 0x07, 0x2e, 0x01, 0x23, 0x22, 0x15, 
    -	0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 0x0e, 0x01, 0x23, 0x22, 0x27, 
    -	0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x07, 0x2e, 0x01, 0x23, 
    -	0x22, 0x15, 0x14, 0x16, 0x01, 0x20, 0x63, 0x8e, 0x02, 0x01, 0x8a, 0x64, 
    -	0x63, 0x8f, 0x01, 0x02, 0x8b, 0x6a, 0x4e, 0x6e, 0x02, 0x71, 0x4e, 0x4f, 
    -	0x6d, 0x02, 0x70, 0x11, 0x14, 0x09, 0x1c, 0x0a, 0x0f, 0x10, 0x13, 0x1f, 
    -	0x13, 0x13, 0x26, 0x1d, 0x2b, 0x13, 0x1f, 0x05, 0x0e, 0x07, 0x1e, 0x07, 
    -	0x09, 0x93, 0x15, 0x07, 0x1d, 0x09, 0x20, 0x13, 0x20, 0x12, 0x13, 0x13, 
    -	0x13, 0x1e, 0x2a, 0x12, 0x1e, 0x05, 0x0e, 0x07, 0x1f, 0x10, 0x01, 0xea, 
    -	0x01, 0x8a, 0x63, 0x64, 0x8e, 0x02, 0x01, 0x8b, 0x63, 0x64, 0x8e, 0xfe, 
    -	0x54, 0x01, 0x70, 0x9e, 0x6d, 0x01, 0x01, 0x70, 0x9e, 0x6d, 0x96, 0x14, 
    -	0x0f, 0x12, 0x08, 0x0a, 0x13, 0x12, 0x44, 0x26, 0x21, 0x10, 0x0a, 0x08, 
    -	0x29, 0x13, 0x0a, 0x0b, 0x14, 0x0f, 0x10, 0x14, 0x13, 0x12, 0x22, 0x20, 
    -	0x15, 0x13, 0x21, 0x10, 0x0a, 0x08, 0x29, 0x12, 0x16, 0x00, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x05, 
    -	0x00, 0x15, 0x00, 0x21, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x22, 0x34, 0x33, 
    -	0x32, 0x14, 0x17, 0x32, 0x17, 0x16, 0x1d, 0x01, 0x23, 0x15, 0x23, 0x35, 
    -	0x23, 0x35, 0x34, 0x37, 0x36, 0x33, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x22, 0x06, 0x15, 0x14, 0x01, 0x22, 0x21, 0x21, 0x22, 0x0f, 0x07, 0x04, 
    -	0x05, 0x1c, 0x4a, 0x1c, 0x05, 0x04, 0x07, 0x31, 0x64, 0x8c, 0x8c, 0x64, 
    -	0x63, 0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 0x73, 0x01, 0x52, 0x44, 
    -	0x44, 0x0d, 0x04, 0x05, 0x06, 0x62, 0x75, 0x75, 0x62, 0x06, 0x05, 0x04, 
    -	0xa5, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 
    -	0x51, 0x52, 0x72, 0x72, 0x52, 0x51, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x0b, 0x00, 0x29, 0x00, 0x48, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x34, 0x36, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x27, 
    -	0x06, 0x07, 0x06, 0x07, 0x15, 0x23, 0x35, 0x22, 0x27, 0x37, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x2f, 0x03, 0x1f, 0x01, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x17, 0x36, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 
    -	0x16, 0x17, 0x07, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x1f, 0x02, 
    -	0x01, 0x22, 0x64, 0x8c, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x56, 0x0b, 0x73, 
    -	0x51, 0x37, 0x5c, 0x19, 0x59, 0x04, 0x13, 0x13, 0x18, 0x1c, 0x27, 0x22, 
    -	0x21, 0x19, 0x1d, 0x0c, 0x12, 0x07, 0x17, 0x1c, 0x26, 0x83, 0x79, 0x07, 
    -	0x73, 0x51, 0x33, 0x56, 0x1b, 0x5b, 0x06, 0x11, 0x10, 0x17, 0x1c, 0x22, 
    -	0x1a, 0x1f, 0x16, 0x14, 0x0c, 0x07, 0x09, 0x02, 0x1e, 0x15, 0x01, 0xea, 
    -	0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xaf, 0x1f, 0x22, 0x51, 
    -	0x73, 0x38, 0x2e, 0x28, 0x17, 0x0e, 0x0f, 0x02, 0x25, 0x25, 0x1d, 0x21, 
    -	0x16, 0x0c, 0x0c, 0x09, 0x06, 0x0a, 0x0d, 0x10, 0x06, 0x36, 0x16, 0x1c, 
    -	0x52, 0x72, 0x30, 0x29, 0x29, 0x12, 0x0d, 0x0b, 0x01, 0x25, 0x25, 0x02, 
    -	0x14, 0x20, 0x0e, 0x04, 0x05, 0x0a, 0x04, 0x02, 0x0e, 0x09, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x0b, 
    -	0x00, 0x2d, 0x00, 0x48, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x27, 0x23, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 
    -	0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 
    -	0x35, 0x23, 0x35, 0x33, 0x1f, 0x01, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x07, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x23, 
    -	0x22, 0x07, 0x06, 0x07, 0x17, 0x33, 0x15, 0x01, 0x22, 0x64, 0x8c, 0x8c, 
    -	0x64, 0x63, 0x8d, 0x8d, 0x56, 0x0b, 0x73, 0x51, 0x37, 0x5b, 0x1a, 0x7b, 
    -	0x57, 0x05, 0x08, 0x13, 0x21, 0x17, 0x17, 0x09, 0x1c, 0x22, 0x40, 0x22, 
    -	0x11, 0x06, 0x1a, 0x16, 0x01, 0x17, 0x05, 0xb5, 0x83, 0x06, 0x73, 0x51, 
    -	0x33, 0x57, 0x1b, 0x4f, 0x04, 0x0a, 0x24, 0x38, 0x23, 0x1a, 0x0c, 0x14, 
    -	0x18, 0x20, 0x12, 0x05, 0x03, 0x1c, 0x44, 0x01, 0xea, 0x8c, 0x64, 0x63, 
    -	0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xb0, 0x1f, 0x21, 0x51, 0x73, 0x37, 0x2f, 
    -	0x36, 0x12, 0x0a, 0x14, 0x0a, 0x2d, 0x0f, 0x2e, 0x16, 0x1e, 0x1d, 0x07, 
    -	0x02, 0x08, 0x02, 0x1c, 0x1c, 0x3a, 0x18, 0x1a, 0x52, 0x72, 0x30, 0x29, 
    -	0x23, 0x07, 0x0c, 0x29, 0x0c, 0x2e, 0x0a, 0x16, 0x05, 0x09, 0x0c, 0x1c, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x0b, 
    -	0x00, 0x22, 0x00, 0x26, 0x00, 0x39, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x07, 0x06, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x37, 0x27, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 
    -	0x35, 0x33, 0x35, 0x27, 0x23, 0x35, 0x33, 0x17, 0x33, 0x27, 0x07, 0x37, 
    -	0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x17, 0x27, 0x33, 
    -	0x1f, 0x01, 0x37, 0x33, 0x07, 0x33, 0x01, 0x22, 0x64, 0x8c, 0x8c, 0x64, 
    -	0x63, 0x8d, 0x8d, 0x58, 0x09, 0x73, 0x51, 0x35, 0x59, 0x1a, 0x4c, 0x3f, 
    -	0x3b, 0x3e, 0x3e, 0x06, 0x38, 0x1b, 0x5e, 0x38, 0x35, 0x03, 0x3f, 0x60, 
    -	0x08, 0x73, 0x51, 0x35, 0x58, 0x1a, 0x4f, 0x1b, 0x40, 0x26, 0x17, 0x29, 
    -	0x40, 0x3d, 0x26, 0x01, 0xea, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 
    -	0x8c, 0xb6, 0x1b, 0x1f, 0x51, 0x73, 0x34, 0x2c, 0x22, 0x22, 0x36, 0x36, 
    -	0x25, 0x12, 0x0c, 0x25, 0x43, 0x18, 0x06, 0x20, 0x2b, 0x1d, 0x1b, 0x52, 
    -	0x72, 0x33, 0x2b, 0x23, 0x31, 0x53, 0x0a, 0x5d, 0x70, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x20, 
    -	0x00, 0x2c, 0x00, 0x36, 0x00, 0x00, 0x01, 0x32, 0x17, 0x16, 0x15, 0x14, 
    -	0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x33, 0x16, 0x33, 0x32, 0x37, 
    -	0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x33, 0x07, 0x27, 0x33, 
    -	0x36, 0x37, 0x36, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x35, 0x34, 0x36, 0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 
    -	0x14, 0x01, 0x21, 0x39, 0x21, 0x21, 0x22, 0x25, 0x35, 0x28, 0x1f, 0x1d, 
    -	0x06, 0x3c, 0x03, 0x32, 0x19, 0x10, 0x0f, 0x0e, 0x0f, 0x1a, 0x30, 0x06, 
    -	0x12, 0x30, 0x2f, 0x12, 0x07, 0x1d, 0x1d, 0x2a, 0x64, 0x8c, 0x8c, 0x64, 
    -	0x63, 0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 0x73, 0x01, 0x79, 0x25, 
    -	0x24, 0x39, 0x37, 0x25, 0x25, 0x19, 0x18, 0x2d, 0x2b, 0x15, 0x16, 0x25, 
    -	0x26, 0x14, 0x14, 0x2b, 0x2f, 0x2f, 0x2d, 0x18, 0x18, 0x71, 0x8c, 0x64, 
    -	0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 0x51, 0x52, 0x72, 
    -	0x72, 0x52, 0x51, 0x00, 0x00, 0x04, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 
    -	0x01, 0xea, 0x00, 0x03, 0x00, 0x07, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x00, 
    -	0x13, 0x35, 0x33, 0x15, 0x07, 0x35, 0x33, 0x15, 0x03, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x12, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0xcb, 0xae, 0xae, 0xae, 0x57, 0x64, 
    -	0x8c, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 0x73, 
    -	0x01, 0x0a, 0x29, 0x29, 0x4d, 0x29, 0x29, 0x01, 0x2d, 0x8c, 0x64, 0x63, 
    -	0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 0x51, 0x52, 0x72, 0x72, 
    -	0x52, 0x51, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 
    -	0x01, 0xea, 0x00, 0x0b, 0x00, 0x26, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x07, 0x06, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x27, 0x1e, 0x01, 0x33, 0x32, 
    -	0x3f, 0x01, 0x17, 0x0e, 0x01, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 
    -	0x3f, 0x01, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x17, 
    -	0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 0x27, 0x26, 0x23, 0x22, 0x01, 0x22, 
    -	0x64, 0x8c, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x56, 0x0b, 0x73, 0x51, 0x37, 
    -	0x5b, 0x1a, 0xd4, 0x01, 0x1a, 0x19, 0x12, 0x0e, 0x03, 0x23, 0x02, 0x06, 
    -	0x01, 0x1f, 0x25, 0x2b, 0x49, 0x03, 0x4e, 0xdc, 0x06, 0x73, 0x51, 0x33, 
    -	0x57, 0x1b, 0x4a, 0x20, 0x42, 0x2c, 0x1f, 0x27, 0x04, 0x03, 0x0b, 0x0f, 
    -	0x1a, 0x01, 0xea, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xb0, 
    -	0x1f, 0x21, 0x51, 0x73, 0x37, 0x2f, 0x5e, 0x1b, 0x2a, 0x0d, 0x03, 0x2a, 
    -	0x01, 0x05, 0x02, 0x15, 0x3a, 0x41, 0x10, 0x0f, 0x11, 0x61, 0x18, 0x1a, 
    -	0x52, 0x72, 0x30, 0x29, 0x21, 0x33, 0x1b, 0x28, 0x04, 0x02, 0x08, 0x00, 
    -	0x00, 0x05, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x09, 
    -	0x00, 0x12, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x36, 0x00, 0x00, 0x12, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x17, 0x14, 0x17, 0x37, 
    -	0x36, 0x27, 0x26, 0x23, 0x22, 0x17, 0x32, 0x35, 0x34, 0x27, 0x07, 0x06, 
    -	0x17, 0x16, 0x33, 0x32, 0x15, 0x32, 0x16, 0x13, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x12, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x22, 0x06, 0x15, 0x14, 0xec, 0x6c, 0x2d, 0x2d, 0x6c, 0x2d, 0x38, 
    -	0x02, 0x35, 0x07, 0x0a, 0x06, 0x03, 0x2b, 0x2b, 0x2b, 0x03, 0x3b, 0x0b, 
    -	0x11, 0x01, 0x02, 0x01, 0x01, 0x06, 0x02, 0x64, 0x8c, 0x8c, 0x64, 0x63, 
    -	0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 0x73, 0x01, 0x85, 0x51, 0x3a, 
    -	0x39, 0x51, 0x51, 0x39, 0x3a, 0x3a, 0x09, 0x18, 0x61, 0x0c, 0x09, 0x02, 
    -	0xad, 0x56, 0x14, 0x16, 0x66, 0x0f, 0x08, 0x01, 0x01, 0x01, 0x01, 0x46, 
    -	0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 0x51, 
    -	0x52, 0x72, 0x72, 0x52, 0x51, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x32, 
    -	0x00, 0x0a, 0x02, 0x12, 0x01, 0xea, 0x00, 0x1a, 0x00, 0x24, 0x00, 0x28, 
    -	0x00, 0x34, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 
    -	0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 
    -	0x34, 0x37, 0x36, 0x37, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x23, 0x33, 0x35, 
    -	0x23, 0x15, 0x33, 0x35, 0x34, 0x37, 0x36, 0x17, 0x35, 0x23, 0x15, 0x13, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x12, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x01, 0x84, 0x06, 
    -	0x08, 0x08, 0x06, 0x82, 0x06, 0x08, 0x34, 0x05, 0x08, 0x03, 0x02, 0x07, 
    -	0x84, 0x05, 0x08, 0x50, 0x36, 0x69, 0x27, 0x04, 0x02, 0x7d, 0x69, 0x14, 
    -	0x64, 0x8c, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 
    -	0x73, 0x01, 0x3f, 0x08, 0x05, 0xb1, 0x05, 0x08, 0x08, 0x05, 0x34, 0x08, 
    -	0x06, 0xb0, 0x06, 0x03, 0x03, 0x02, 0x08, 0x06, 0x34, 0x27, 0x96, 0x62, 
    -	0x05, 0x04, 0x02, 0xaf, 0x97, 0x97, 0x01, 0x5c, 0x8c, 0x64, 0x63, 0x8d, 
    -	0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 0x51, 0x52, 0x72, 0x72, 0x52, 
    -	0x51, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 
    -	0x01, 0xea, 0x00, 0x11, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x2d, 
    -	0x00, 0x37, 0x00, 0x00, 0x25, 0x17, 0x15, 0x0f, 0x02, 0x2f, 0x02, 0x07, 
    -	0x27, 0x35, 0x37, 0x27, 0x35, 0x37, 0x17, 0x15, 0x07, 0x35, 0x23, 0x35, 
    -	0x27, 0x15, 0x17, 0x35, 0x3f, 0x01, 0x27, 0x07, 0x17, 0x35, 0x07, 0x15, 
    -	0x03, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x01, 0xbf, 
    -	0x05, 0x05, 0x3a, 0x02, 0x03, 0x7e, 0x04, 0x3e, 0x3e, 0x3a, 0x01, 0x41, 
    -	0x93, 0x14, 0x01, 0x6e, 0x6e, 0x08, 0x27, 0x24, 0x26, 0x56, 0x2b, 0x68, 
    -	0x64, 0x8c, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x12, 0xa2, 0x73, 0x73, 0xa2, 
    -	0x73, 0xf6, 0x02, 0x44, 0x02, 0x19, 0x01, 0x01, 0x34, 0x02, 0x1a, 0x1b, 
    -	0x3d, 0x18, 0x01, 0x44, 0x1c, 0x3d, 0x3b, 0x63, 0x2b, 0x01, 0x2d, 0x2b, 
    -	0x2e, 0x01, 0x37, 0x10, 0x0f, 0x10, 0x34, 0x2a, 0x12, 0x2a, 0x01, 0x42, 
    -	0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0xfe, 0x4c, 0x73, 0x51, 
    -	0x52, 0x72, 0x72, 0x52, 0x51, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x14, 0x01, 0xfe, 0x01, 0xe0, 0x00, 0x07, 0x00, 0x13, 0x00, 0x19, 
    -	0x00, 0x00, 0x12, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x13, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x13, 0x15, 
    -	0x17, 0x07, 0x27, 0x35, 0xb9, 0xbe, 0x87, 0x87, 0xbe, 0x87, 0xe6, 0x4b, 
    -	0x69, 0x69, 0x4b, 0x4a, 0x6a, 0x6a, 0x5c, 0x4b, 0x19, 0x55, 0x01, 0xe0, 
    -	0x87, 0xbe, 0x87, 0x87, 0xbe, 0xfe, 0xed, 0x6a, 0x4a, 0x4b, 0x69, 0x69, 
    -	0x4b, 0x4a, 0x6a, 0x01, 0x36, 0x7a, 0x4b, 0x19, 0x55, 0x89, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x0f, 0x01, 0x72, 0x01, 0xe5, 0x00, 0x2a, 
    -	0x00, 0x34, 0x00, 0x3e, 0x00, 0x48, 0x00, 0x00, 0x25, 0x32, 0x16, 0x14, 
    -	0x06, 0x23, 0x22, 0x27, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x26, 0x35, 0x34, 
    -	0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x14, 0x3b, 0x01, 0x36, 0x33, 
    -	0x32, 0x16, 0x14, 0x06, 0x23, 0x22, 0x27, 0x23, 0x22, 0x27, 0x15, 0x14, 
    -	0x3b, 0x01, 0x3e, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 
    -	0x34, 0x25, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x12, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x01, 0x36, 0x19, 
    -	0x23, 0x23, 0x19, 0x28, 0x0f, 0x52, 0x2c, 0x2b, 0x24, 0x23, 0x32, 0x23, 
    -	0x24, 0x27, 0x52, 0x0f, 0x28, 0x19, 0x23, 0x23, 0x19, 0x28, 0x0f, 0x52, 
    -	0x15, 0x12, 0x27, 0x52, 0x0f, 0x36, 0x1c, 0x15, 0x15, 0x1c, 0x15, 0xfe, 
    -	0xf2, 0x15, 0x1c, 0x15, 0x15, 0x1c, 0x15, 0xdd, 0x1c, 0x15, 0x15, 0x1c, 
    -	0x15, 0x87, 0x23, 0x32, 0x23, 0x25, 0x36, 0x20, 0xe8, 0x11, 0x26, 0x19, 
    -	0x23, 0x23, 0x19, 0x26, 0x11, 0x39, 0x27, 0x24, 0x23, 0x32, 0x23, 0x25, 
    -	0x08, 0x61, 0x27, 0x24, 0x96, 0x14, 0x0f, 0x0e, 0x14, 0x14, 0x0e, 0x0f, 
    -	0xa0, 0x0e, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0xfe, 0x71, 0x14, 0x0e, 
    -	0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 
    -	0x00, 0x28, 0x01, 0x72, 0x01, 0xcc, 0x00, 0x2c, 0x00, 0x36, 0x00, 0x40, 
    -	0x00, 0x4a, 0x00, 0x00, 0x01, 0x14, 0x07, 0x0e, 0x03, 0x07, 0x0e, 0x03, 
    -	0x07, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x37, 0x35, 0x26, 
    -	0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x36, 0x37, 0x3e, 
    -	0x02, 0x37, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x14, 0x16, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x22, 0x06, 0x15, 0x14, 0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 
    -	0x15, 0x14, 0x01, 0x72, 0x25, 0x03, 0x16, 0x27, 0x1d, 0x17, 0x15, 0x15, 
    -	0x1a, 0x0c, 0x02, 0x23, 0x23, 0x32, 0x23, 0x24, 0x24, 0x23, 0x32, 0x23, 
    -	0x24, 0x14, 0x31, 0x1d, 0x1a, 0x19, 0x02, 0x23, 0x23, 0x32, 0x23, 0xfe, 
    -	0xda, 0x14, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x14, 0x1c, 0x15, 0x15, 0x1c, 
    -	0x14, 0xdc, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x01, 0x90, 0x28, 0x0f, 0x1d, 
    -	0x2b, 0x1a, 0x0c, 0x07, 0x07, 0x08, 0x10, 0x18, 0x12, 0x0f, 0x28, 0x19, 
    -	0x23, 0x23, 0x19, 0x27, 0x11, 0xbd, 0x11, 0x26, 0x19, 0x23, 0x23, 0x19, 
    -	0x26, 0x11, 0x66, 0x0f, 0x0f, 0x09, 0x0b, 0x1e, 0x17, 0x10, 0x26, 0x19, 
    -	0x23, 0x23, 0x19, 0x0e, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0xfe, 0xa3, 
    -	0x14, 0x0e, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x01, 0x18, 0x14, 0x0e, 0x0f, 
    -	0x14, 0x14, 0x0f, 0x0e, 0x00, 0x05, 0x00, 0x32, 0x00, 0x0f, 0x02, 0x08, 
    -	0x01, 0xe5, 0x00, 0x43, 0x00, 0x4d, 0x00, 0x57, 0x00, 0x61, 0x00, 0x6b, 
    -	0x00, 0x00, 0x25, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x37, 
    -	0x35, 0x34, 0x2b, 0x01, 0x22, 0x27, 0x15, 0x16, 0x15, 0x14, 0x06, 0x22, 
    -	0x26, 0x35, 0x34, 0x37, 0x35, 0x06, 0x2b, 0x01, 0x22, 0x0e, 0x01, 0x1d, 
    -	0x01, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x37, 0x35, 0x34, 
    -	0x36, 0x3b, 0x01, 0x32, 0x3d, 0x01, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 
    -	0x15, 0x14, 0x07, 0x15, 0x14, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x05, 0x34, 
    -	0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x13, 0x14, 0x16, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x13, 0x34, 0x26, 0x22, 0x06, 0x15, 
    -	0x14, 0x16, 0x32, 0x36, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 
    -	0x15, 0x14, 0x01, 0xe4, 0x24, 0x23, 0x32, 0x23, 0x24, 0x26, 0x32, 0x16, 
    -	0x11, 0x24, 0x23, 0x32, 0x23, 0x24, 0x0f, 0x17, 0x32, 0x11, 0x13, 0x03, 
    -	0x24, 0x23, 0x32, 0x23, 0x24, 0x2b, 0x2c, 0x32, 0x26, 0x24, 0x23, 0x32, 
    -	0x23, 0x24, 0x27, 0x32, 0x2b, 0x2b, 0xfe, 0xad, 0x15, 0x1c, 0x14, 0x14, 
    -	0x1c, 0x15, 0x6a, 0x14, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x45, 0x15, 0x1c, 
    -	0x14, 0x14, 0x1c, 0x15, 0x7e, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x83, 0x11, 
    -	0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0x39, 0x27, 0x06, 0x66, 0x11, 
    -	0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0x66, 0x06, 0x13, 0x0e, 0x06, 
    -	0x39, 0x11, 0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0x39, 0x20, 0x36, 
    -	0x1a, 0x46, 0x11, 0x26, 0x19, 0x23, 0x23, 0x19, 0x26, 0x11, 0x46, 0x1a, 
    -	0x36, 0x20, 0x71, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x14, 0x14, 0x01, 0x6c, 
    -	0x0e, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0xfe, 0x93, 0x0f, 0x14, 0x14, 
    -	0x0f, 0x0e, 0x14, 0x14, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x28, 0x00, 0xaa, 0x01, 0xcc, 0x00, 0x13, 
    -	0x00, 0x1d, 0x00, 0x27, 0x00, 0x00, 0x37, 0x16, 0x15, 0x14, 0x06, 0x22, 
    -	0x26, 0x35, 0x34, 0x37, 0x35, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 
    -	0x14, 0x07, 0x27, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 
    -	0x12, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x86, 0x24, 
    -	0x23, 0x32, 0x23, 0x24, 0x24, 0x23, 0x32, 0x23, 0x24, 0x3a, 0x14, 0x1c, 
    -	0x15, 0x15, 0x1c, 0x14, 0x14, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x9c, 0x11, 
    -	0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0xbd, 0x11, 0x26, 0x19, 0x23, 
    -	0x23, 0x19, 0x26, 0x11, 0x37, 0x0e, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 
    -	0xfe, 0xa3, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x00, 0x00, 0x00, 
    -	0x00, 0x06, 0x00, 0x32, 0x00, 0x28, 0x01, 0x72, 0x01, 0xcc, 0x00, 0x13, 
    -	0x00, 0x1d, 0x00, 0x27, 0x00, 0x3b, 0x00, 0x45, 0x00, 0x4f, 0x00, 0x00, 
    -	0x13, 0x14, 0x07, 0x15, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 
    -	0x37, 0x35, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x03, 0x34, 0x26, 0x22, 
    -	0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x02, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x22, 0x06, 0x15, 0x14, 0x05, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 
    -	0x34, 0x37, 0x35, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 
    -	0x27, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x12, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0xaa, 0x24, 0x24, 0x23, 
    -	0x32, 0x23, 0x24, 0x24, 0x23, 0x32, 0x23, 0x19, 0x15, 0x1c, 0x14, 0x14, 
    -	0x1c, 0x15, 0x31, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x01, 0x02, 0x24, 0x23, 
    -	0x32, 0x23, 0x24, 0x24, 0x23, 0x32, 0x23, 0x24, 0x3a, 0x14, 0x1c, 0x15, 
    -	0x15, 0x1c, 0x14, 0x14, 0x1c, 0x15, 0x15, 0x1c, 0x14, 0x01, 0x90, 0x26, 
    -	0x11, 0xbd, 0x11, 0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0xbd, 0x11, 
    -	0x26, 0x19, 0x23, 0x23, 0xfe, 0xbb, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x14, 
    -	0x14, 0x01, 0x18, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0xe6, 0x11, 
    -	0x27, 0x19, 0x23, 0x23, 0x19, 0x27, 0x11, 0xbd, 0x11, 0x26, 0x19, 0x23, 
    -	0x23, 0x19, 0x26, 0x11, 0x37, 0x0e, 0x14, 0x14, 0x0e, 0x0f, 0x14, 0x14, 
    -	0xfe, 0xa3, 0x14, 0x0e, 0x0f, 0x14, 0x14, 0x0f, 0x0e, 0x00, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x32, 0x00, 0x00, 0x01, 0x9d, 0x01, 0xf4, 0x00, 0x18, 
    -	0x00, 0x22, 0x00, 0x2a, 0x00, 0x33, 0x00, 0x00, 0x25, 0x16, 0x07, 0x0e, 
    -	0x01, 0x2f, 0x01, 0x07, 0x27, 0x37, 0x06, 0x2f, 0x01, 0x37, 0x17, 0x16, 
    -	0x17, 0x37, 0x17, 0x07, 0x17, 0x1e, 0x01, 0x07, 0x06, 0x2f, 0x01, 0x07, 
    -	0x14, 0x07, 0x17, 0x16, 0x3e, 0x01, 0x26, 0x07, 0x16, 0x3e, 0x01, 0x26, 
    -	0x2f, 0x01, 0x07, 0x17, 0x16, 0x3e, 0x01, 0x26, 0x2f, 0x01, 0x0f, 0x01, 
    -	0x01, 0x43, 0x18, 0x1a, 0x15, 0x49, 0x27, 0x20, 0x36, 0x1c, 0x67, 0x22, 
    -	0x21, 0x3c, 0x5d, 0x3d, 0x21, 0x0d, 0x67, 0x1d, 0x36, 0x20, 0x26, 0x16, 
    -	0x15, 0x18, 0x1e, 0x20, 0x3e, 0x01, 0x1f, 0x1a, 0x30, 0x1c, 0x0d, 0xf5, 
    -	0x1a, 0x30, 0x1c, 0x0d, 0x19, 0x20, 0x40, 0x6e, 0x1a, 0x30, 0x1c, 0x0e, 
    -	0x19, 0x1f, 0x02, 0x3e, 0xc3, 0x2d, 0x2d, 0x23, 0x12, 0x16, 0x12, 0x5c, 
    -	0x10, 0xb3, 0x05, 0x13, 0x23, 0xa2, 0x23, 0x14, 0x1e, 0xb3, 0x11, 0x5d, 
    -	0x12, 0x16, 0x4b, 0x22, 0x2c, 0x95, 0x13, 0x6c, 0x01, 0x02, 0x12, 0x0f, 
    -	0x0d, 0x30, 0x31, 0x60, 0x0f, 0x0d, 0x30, 0x32, 0x0e, 0x13, 0x6f, 0x99, 
    -	0x0f, 0x0d, 0x30, 0x31, 0x0f, 0x12, 0x02, 0x6c, 0x00, 0x01, 0x00, 0x32, 
    -	0x00, 0x19, 0x01, 0xf4, 0x01, 0xdb, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x01, 0x13, 
    -	0x8a, 0x57, 0x57, 0x8a, 0x89, 0x58, 0x58, 0x01, 0xdb, 0x58, 0x89, 0x8a, 
    -	0x57, 0x57, 0x8a, 0x89, 0x58, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 
    -	0x00, 0x25, 0x01, 0xe1, 0x01, 0xde, 0x00, 0x29, 0x00, 0x35, 0x00, 0x00, 
    -	0x25, 0x1e, 0x01, 0x0e, 0x04, 0x07, 0x06, 0x26, 0x3f, 0x01, 0x27, 0x07, 
    -	0x06, 0x26, 0x37, 0x3e, 0x05, 0x3a, 0x01, 0x17, 0x3e, 0x04, 0x17, 0x32, 
    -	0x17, 0x16, 0x17, 0x16, 0x0e, 0x02, 0x07, 0x37, 0x16, 0x32, 0x37, 0x36, 
    -	0x34, 0x27, 0x26, 0x22, 0x07, 0x06, 0x14, 0x01, 0x42, 0x03, 0x02, 0x0a, 
    -	0x03, 0x20, 0x0d, 0x39, 0x0e, 0x10, 0x0d, 0x05, 0x14, 0x41, 0x35, 0x0e, 
    -	0x0f, 0x06, 0x06, 0x13, 0x08, 0x0e, 0x0b, 0x12, 0x17, 0x1d, 0x15, 0x05, 
    -	0x13, 0x3a, 0x3c, 0x55, 0x28, 0x04, 0x03, 0x02, 0x01, 0x05, 0x1c, 0x30, 
    -	0x32, 0x12, 0x07, 0x0b, 0x20, 0x0b, 0x0b, 0x0b, 0x0b, 0x20, 0x0b, 0x0b, 
    -	0xc1, 0x19, 0x1f, 0x1c, 0x0c, 0x14, 0x06, 0x19, 0x06, 0x06, 0x10, 0x0e, 
    -	0x37, 0x42, 0x14, 0x06, 0x0e, 0x10, 0x0f, 0x31, 0x10, 0x1d, 0x07, 0x0d, 
    -	0x03, 0x07, 0x19, 0x3c, 0x2c, 0x1f, 0x06, 0x03, 0x02, 0x05, 0x29, 0x56, 
    -	0x41, 0x35, 0x0e, 0x86, 0x0b, 0x0b, 0x0c, 0x20, 0x0c, 0x0b, 0x0b, 0x0c, 
    -	0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x32, 0x00, 0x0a, 0x02, 0x12, 
    -	0x01, 0xea, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x14, 0x00, 0x15, 0x00, 0x1d, 
    -	0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x34, 0x36, 0x17, 0x05, 0x14, 0x17, 0x01, 0x26, 0x23, 0x22, 0x06, 0x1f, 
    -	0x01, 0x32, 0x36, 0x35, 0x34, 0x27, 0x01, 0x16, 0x01, 0x22, 0x64, 0x8c, 
    -	0x8c, 0x64, 0x63, 0x8d, 0x8d, 0xe4, 0xfe, 0xc9, 0x29, 0x01, 0x01, 0x32, 
    -	0x42, 0x4c, 0x6a, 0x35, 0x81, 0x4c, 0x6b, 0x29, 0xfe, 0xff, 0x31, 0x01, 
    -	0xea, 0x8c, 0x64, 0x63, 0x8d, 0x8d, 0x63, 0x64, 0x8c, 0x6e, 0x82, 0x42, 
    -	0x31, 0x01, 0x01, 0x29, 0x6b, 0xcd, 0x35, 0x6b, 0x4b, 0x41, 0x33, 0xfe, 
    -	0xff, 0x29, 0x00, 0x00, 0x00, 0x04, 0x00, 0x32, 0x00, 0x19, 0x02, 0x26, 
    -	0x01, 0xdb, 0x00, 0x09, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x05, 0x34, 
    -	0x36, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x26, 0x35, 0x01, 0x15, 0x33, 0x11, 
    -	0x21, 0x11, 0x33, 0x35, 0x36, 0x32, 0x17, 0x35, 0x26, 0x23, 0x22, 0x07, 
    -	0x15, 0x01, 0xf4, 0x15, 0x1d, 0x1d, 0x15, 0x19, 0xfe, 0x57, 0x1e, 0x14, 
    -	0x19, 0x19, 0x14, 0x1e, 0x01, 0x4f, 0x37, 0xfe, 0xe8, 0x37, 0x31, 0x48, 
    -	0x13, 0x1a, 0x1d, 0x1b, 0x1c, 0x01, 0x90, 0x1e, 0x14, 0xfe, 0xed, 0x15, 
    -	0x1d, 0x01, 0x77, 0x32, 0x14, 0x1e, 0xfe, 0x89, 0x1d, 0x15, 0x01, 0x79, 
    -	0x34, 0xfe, 0x89, 0x01, 0x77, 0x34, 0x17, 0x4b, 0x21, 0x0c, 0x0c, 0x21, 
    -	0x00, 0x03, 0x00, 0x32, 0x00, 0x54, 0x02, 0x26, 0x01, 0xa1, 0x00, 0x08, 
    -	0x00, 0x1d, 0x00, 0x2f, 0x00, 0x00, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x02, 
    -	0x07, 0x06, 0x26, 0x37, 0x22, 0x06, 0x15, 0x14, 0x17, 0x16, 0x0e, 0x01, 
    -	0x26, 0x27, 0x34, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x07, 0x26, 
    -	0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x2b, 0x01, 0x2e, 0x01, 0x37, 
    -	0x36, 0x35, 0x34, 0x27, 0x3e, 0x01, 0xfd, 0x11, 0xb4, 0x07, 0x06, 0x6c, 
    -	0x0f, 0x19, 0x56, 0x47, 0x54, 0x74, 0x01, 0x01, 0x0e, 0x14, 0x10, 0x01, 
    -	0x01, 0x91, 0x69, 0x24, 0x1f, 0x23, 0x14, 0xa9, 0x45, 0x01, 0x01, 0x0e, 
    -	0x0a, 0x02, 0x0b, 0x0d, 0x01, 0x01, 0x28, 0x03, 0x0e, 0xa4, 0x1c, 0xe4, 
    -	0x04, 0x03, 0xfe, 0xf0, 0x1b, 0x2b, 0x32, 0xe9, 0x7f, 0x5c, 0x0f, 0x08, 
    -	0x0b, 0x0f, 0x02, 0x0e, 0x0a, 0x04, 0x12, 0x05, 0x71, 0x9c, 0x09, 0x2b, 
    -	0x02, 0x1f, 0x4d, 0x6f, 0x13, 0x09, 0x0a, 0x0d, 0x02, 0x10, 0x0a, 0x07, 
    -	0x10, 0x4b, 0x3b, 0x07, 0x25, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 
    -	0x00, 0x18, 0x02, 0x14, 0x01, 0xdb, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x2b, 
    -	0x00, 0x00, 0x24, 0x22, 0x26, 0x27, 0x36, 0x37, 0x1e, 0x01, 0x33, 0x32, 
    -	0x36, 0x37, 0x16, 0x17, 0x06, 0x26, 0x22, 0x27, 0x37, 0x36, 0x32, 0x17, 
    -	0x16, 0x1f, 0x01, 0x1e, 0x01, 0x0f, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 
    -	0x36, 0x3f, 0x01, 0x07, 0x14, 0x16, 0x32, 0x36, 0x37, 0x27, 0x01, 0x50, 
    -	0x5a, 0x42, 0x02, 0x16, 0x06, 0x05, 0x31, 0x1f, 0x20, 0x30, 0x05, 0x06, 
    -	0x16, 0x02, 0x3f, 0x60, 0x0e, 0x1a, 0x05, 0x3e, 0x06, 0x06, 0x13, 0x9e, 
    -	0x14, 0x01, 0x13, 0xb0, 0x13, 0x35, 0x13, 0xb1, 0x13, 0x02, 0x14, 0x5e, 
    -	0x0b, 0x50, 0x70, 0x50, 0x01, 0x0b, 0xc6, 0x1b, 0x13, 0x3e, 0x11, 0x0e, 
    -	0x12, 0x12, 0x0e, 0x11, 0x3e, 0x13, 0x8c, 0x16, 0x47, 0x11, 0x11, 0x13, 
    -	0x34, 0xd6, 0x08, 0x19, 0x0b, 0x5e, 0x0b, 0x0b, 0x5e, 0x0a, 0x1a, 0x08, 
    -	0x26, 0x1e, 0x18, 0x22, 0x22, 0x18, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x1c, 
    -	0x01, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 
    -	0x00, 0x3e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 
    -	0x00, 0x6b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 
    -	0x00, 0x82, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x11, 
    -	0x00, 0xae, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x06, 
    -	0x00, 0xce, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 
    -	0x00, 0xe1, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 
    -	0x00, 0xf5, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x25, 
    -	0x01, 0x48, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 
    -	0x01, 0x88, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0c, 
    -	0x01, 0xaf, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x12, 
    -	0x01, 0xe2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x12, 
    -	0x02, 0x1b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x06, 
    -	0x02, 0x3c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x07, 
    -	0x02, 0x53, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x3c, 
    -	0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x0c, 
    -	0x00, 0x5d, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, 
    -	0x00, 0x72, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x22, 
    -	0x00, 0x8a, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x0c, 
    -	0x00, 0xc0, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x0a, 
    -	0x00, 0xd5, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x0c, 
    -	0x00, 0xe7, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, 0x00, 0x4a, 
    -	0x00, 0xfc, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x08, 0x00, 0x18, 
    -	0x01, 0x6e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x09, 0x00, 0x18, 
    -	0x01, 0x95, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0b, 0x00, 0x24, 
    -	0x01, 0xbc, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0c, 0x00, 0x24, 
    -	0x01, 0xf5, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x10, 0x00, 0x0c, 
    -	0x02, 0x2e, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x11, 0x00, 0x0e, 
    -	0x02, 0x43, 0x00, 0x43, 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, 
    -	0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 
    -	0x00, 0x6d, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x20, 
    -	0x00, 0x43, 0x00, 0x43, 0x00, 0x20, 0x00, 0x42, 0x00, 0x59, 0x00, 0x2d, 
    -	0x00, 0x53, 0x00, 0x41, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 
    -	0x00, 0x32, 0x00, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x76, 0x65, 
    -	0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x20, 0x43, 0x43, 0x20, 
    -	0x42, 0x59, 0x2d, 0x53, 0x41, 0x20, 0x32, 0x30, 0x31, 0x32, 0x00, 0x00, 
    -	0x45, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x6f, 0x00, 
    -	0x00, 0x45, 0x6e, 0x74, 0x79, 0x70, 0x6f, 0x00, 0x00, 0x52, 0x00, 0x65, 
    -	0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 
    -	0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x00, 0x00, 0x46, 0x00, 0x4f, 
    -	0x00, 0x4e, 0x00, 0x54, 0x00, 0x4c, 0x00, 0x41, 0x00, 0x42, 0x00, 0x3a, 
    -	0x00, 0x4f, 0x00, 0x54, 0x00, 0x46, 0x00, 0x45, 0x00, 0x58, 0x00, 0x50, 
    -	0x00, 0x4f, 0x00, 0x52, 0x00, 0x54, 0x00, 0x00, 0x46, 0x4f, 0x4e, 0x54, 
    -	0x4c, 0x41, 0x42, 0x3a, 0x4f, 0x54, 0x46, 0x45, 0x58, 0x50, 0x4f, 0x52, 
    -	0x54, 0x00, 0x00, 0x45, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 
    -	0x00, 0x6f, 0x00, 0x00, 0x45, 0x6e, 0x74, 0x79, 0x70, 0x6f, 0x00, 0x00, 
    -	0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x32, 
    -	0x2e, 0x30, 0x30, 0x30, 0x00, 0x00, 0x45, 0x00, 0x6e, 0x00, 0x74, 0x00, 
    -	0x79, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x00, 0x45, 0x6e, 0x74, 0x79, 0x70, 
    -	0x6f, 0x00, 0x00, 0x45, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 
    -	0x00, 0x6f, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 
    -	0x00, 0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 
    -	0x00, 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x6f, 
    -	0x00, 0x66, 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x69, 
    -	0x00, 0x65, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x75, 
    -	0x00, 0x63, 0x00, 0x65, 0x00, 0x00, 0x45, 0x6e, 0x74, 0x79, 0x70, 0x6f, 
    -	0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 
    -	0x61, 0x72, 0x6b, 0x20, 0x6f, 0x66, 0x20, 0x44, 0x61, 0x6e, 0x69, 0x65, 
    -	0x6c, 0x20, 0x42, 0x72, 0x75, 0x63, 0x65, 0x00, 0x00, 0x44, 0x00, 0x61, 
    -	0x00, 0x6e, 0x00, 0x69, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x42, 
    -	0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x65, 0x00, 0x00, 0x44, 0x61, 
    -	0x6e, 0x69, 0x65, 0x6c, 0x20, 0x42, 0x72, 0x75, 0x63, 0x65, 0x00, 0x00, 
    -	0x44, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x69, 0x00, 0x65, 0x00, 0x6c, 0x00, 
    -	0x20, 0x00, 0x42, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x65, 0x00, 
    -	0x00, 0x44, 0x61, 0x6e, 0x69, 0x65, 0x6c, 0x20, 0x42, 0x72, 0x75, 0x63, 
    -	0x65, 0x00, 0x00, 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x64, 
    -	0x00, 0x61, 0x00, 0x6e, 0x00, 0x69, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x62, 
    -	0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x73, 
    -	0x00, 0x65, 0x00, 0x00, 0x77, 0x77, 0x77, 0x2e, 0x64, 0x61, 0x6e, 0x69, 
    -	0x65, 0x6c, 0x62, 0x72, 0x75, 0x63, 0x65, 0x2e, 0x73, 0x65, 0x00, 0x00, 
    -	0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x61, 0x00, 
    -	0x6e, 0x00, 0x69, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x62, 0x00, 0x72, 0x00, 
    -	0x75, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x73, 0x00, 0x65, 0x00, 
    -	0x00, 0x77, 0x77, 0x77, 0x2e, 0x64, 0x61, 0x6e, 0x69, 0x65, 0x6c, 0x62, 
    -	0x72, 0x75, 0x63, 0x65, 0x2e, 0x73, 0x65, 0x00, 0x00, 0x45, 0x00, 0x6e, 
    -	0x00, 0x74, 0x00, 0x79, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x00, 0x45, 0x6e, 
    -	0x74, 0x79, 0x70, 0x6f, 0x00, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 
    -	0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 0x00, 0x52, 0x65, 0x67, 
    -	0x75, 0x6c, 0x61, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 
    -	0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 
    -	0x01, 0x08, 0x01, 0x09, 0x01, 0x0a, 0x00, 0x92, 0x01, 0x0b, 0x01, 0x0c, 
    -	0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 
    -	0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 
    -	0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 
    -	0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 
    -	0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a, 
    -	0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 
    -	0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 
    -	0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 
    -	0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x00, 0x0e, 0x00, 0xef, 0x01, 0x40, 
    -	0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 
    -	0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 
    -	0x01, 0x4d, 0x01, 0x4e, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 
    -	0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 
    -	0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 
    -	0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 
    -	0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 
    -	0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, 
    -	0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 
    -	0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x7c, 
    -	0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 
    -	0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 
    -	0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 
    -	0x00, 0x03, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x93, 
    -	0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 
    -	0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 
    -	0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 
    -	0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, 
    -	0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 
    -	0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 
    -	0x01, 0xb8, 0x01, 0xb9, 0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 
    -	0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 0x01, 0xc3, 
    -	0x01, 0xc4, 0x01, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 
    -	0x01, 0xca, 0x01, 0xcb, 0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 
    -	0x01, 0xd0, 0x01, 0xd1, 0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd5, 
    -	0x01, 0xd6, 0x01, 0xd7, 0x01, 0xd8, 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, 
    -	0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe1, 
    -	0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe4, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 
    -	0x01, 0xe8, 0x01, 0xe9, 0x01, 0xea, 0x01, 0xeb, 0x01, 0xec, 0x04, 0x70, 
    -	0x61, 0x75, 0x73, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x09, 0x6c, 0x65, 0x66, 
    -	0x74, 0x2d, 0x74, 0x68, 0x69, 0x6e, 0x07, 0x75, 0x70, 0x2d, 0x74, 0x68, 
    -	0x69, 0x6e, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2d, 0x74, 0x68, 0x69, 
    -	0x6e, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x2d, 0x74, 0x68, 0x69, 0x6e, 0x08, 
    -	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2d, 0x75, 0x70, 0x0a, 0x6c, 0x65, 0x76, 
    -	0x65, 0x6c, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x06, 0x73, 0x77, 0x69, 0x74, 
    -	0x63, 0x68, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x70, 
    -	0x6c, 0x75, 0x73, 0x0d, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 
    -	0x6d, 0x69, 0x6e, 0x75, 0x73, 0x0c, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 
    -	0x64, 0x2d, 0x70, 0x6c, 0x75, 0x73, 0x0d, 0x73, 0x71, 0x75, 0x61, 0x72, 
    -	0x65, 0x64, 0x2d, 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x04, 0x68, 0x6f, 0x6d, 
    -	0x65, 0x08, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x05, 0x65, 
    -	0x72, 0x61, 0x73, 0x65, 0x02, 0x66, 0x66, 0x02, 0x66, 0x62, 0x06, 0x74, 
    -	0x6f, 0x2d, 0x65, 0x6e, 0x64, 0x08, 0x74, 0x6f, 0x2d, 0x73, 0x74, 0x61, 
    -	0x72, 0x74, 0x09, 0x68, 0x6f, 0x75, 0x72, 0x67, 0x6c, 0x61, 0x73, 0x73, 
    -	0x03, 0x64, 0x6f, 0x74, 0x08, 0x74, 0x77, 0x6f, 0x2d, 0x64, 0x6f, 0x74, 
    -	0x73, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2d, 0x64, 0x6f, 0x74, 0x73, 
    -	0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x04, 0x73, 0x74, 0x6f, 0x70, 
    -	0x0b, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x75, 0x70, 
    -	0x04, 0x70, 0x6c, 0x61, 0x79, 0x0e, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 
    -	0x6c, 0x65, 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0d, 0x74, 0x72, 0x69, 
    -	0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x0d, 0x74, 
    -	0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x6c, 0x65, 0x66, 0x74, 
    -	0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x06, 0x61, 0x64, 0x6a, 0x75, 
    -	0x73, 0x74, 0x09, 0x70, 0x69, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x72, 0x74, 
    -	0x05, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x04, 0x73, 0x74, 0x61, 0x72, 0x0a, 
    -	0x73, 0x74, 0x61, 0x72, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x03, 0x63, 
    -	0x75, 0x70, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x04, 0x6d, 0x6f, 0x6f, 0x6e, 
    -	0x0b, 0x68, 0x65, 0x61, 0x72, 0x74, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 
    -	0x05, 0x68, 0x65, 0x61, 0x72, 0x74, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x0c, 
    -	0x62, 0x65, 0x61, 0x6d, 0x65, 0x64, 0x2d, 0x6e, 0x6f, 0x74, 0x65, 0x73, 
    -	0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x04, 0x66, 0x6c, 0x61, 0x67, 
    -	0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x03, 0x63, 0x6f, 0x67, 0x07, 0x77, 
    -	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x04, 0x62, 0x6f, 0x6c, 0x74, 0x0d, 
    -	0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 
    -	0x64, 0x09, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x08, 
    -	0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x04, 0x6d, 0x61, 0x69, 
    -	0x6c, 0x06, 0x70, 0x65, 0x6e, 0x63, 0x69, 0x6c, 0x07, 0x66, 0x65, 0x61, 
    -	0x74, 0x68, 0x65, 0x72, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x0d, 0x63, 
    -	0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x63, 0x72, 0x6f, 0x73, 0x73, 
    -	0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0d, 0x73, 0x71, 0x75, 0x61, 0x72, 
    -	0x65, 0x64, 0x2d, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x04, 0x68, 0x65, 0x6c, 
    -	0x70, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x05, 0x72, 0x69, 0x67, 0x68, 
    -	0x74, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x07, 
    -	0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x03, 0x63, 0x63, 0x77, 0x02, 
    -	0x63, 0x77, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x02, 0x75, 0x70, 0x04, 0x64, 
    -	0x6f, 0x77, 0x6e, 0x0b, 0x61, 0x64, 0x64, 0x2d, 0x74, 0x6f, 0x2d, 0x6c, 
    -	0x69, 0x73, 0x74, 0x0d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x65, 0x64, 
    -	0x2d, 0x6c, 0x69, 0x73, 0x74, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x2d, 0x62, 
    -	0x6f, 0x6c, 0x64, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2d, 0x62, 0x6f, 
    -	0x6c, 0x64, 0x07, 0x75, 0x70, 0x2d, 0x62, 0x6f, 0x6c, 0x64, 0x09, 0x64, 
    -	0x6f, 0x77, 0x6e, 0x2d, 0x62, 0x6f, 0x6c, 0x64, 0x08, 0x61, 0x64, 0x64, 
    -	0x2d, 0x75, 0x73, 0x65, 0x72, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 
    -	0x64, 0x2d, 0x68, 0x65, 0x6c, 0x70, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 
    -	0x65, 0x64, 0x2d, 0x69, 0x6e, 0x66, 0x6f, 0x03, 0x65, 0x79, 0x65, 0x03, 
    -	0x74, 0x61, 0x67, 0x0c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2d, 0x63, 
    -	0x6c, 0x6f, 0x75, 0x64, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x09, 0x72, 
    -	0x65, 0x70, 0x6c, 0x79, 0x2d, 0x61, 0x6c, 0x6c, 0x04, 0x63, 0x6f, 0x64, 
    -	0x65, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x05, 0x70, 0x72, 0x69, 
    -	0x6e, 0x74, 0x07, 0x72, 0x65, 0x74, 0x77, 0x65, 0x65, 0x74, 0x07, 0x63, 
    -	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x04, 0x63, 0x68, 0x61, 0x74, 0x05, 
    -	0x76, 0x63, 0x61, 0x72, 0x64, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 
    -	0x73, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x03, 0x6d, 
    -	0x61, 0x70, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x05, 0x74, 
    -	0x72, 0x61, 0x73, 0x68, 0x03, 0x64, 0x6f, 0x63, 0x11, 0x74, 0x65, 0x78, 
    -	0x74, 0x2d, 0x64, 0x6f, 0x63, 0x2d, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 
    -	0x65, 0x64, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x0d, 0x6c, 0x61, 0x6e, 0x64, 
    -	0x73, 0x63, 0x61, 0x70, 0x65, 0x2d, 0x64, 0x6f, 0x63, 0x03, 0x72, 0x73, 
    -	0x73, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x04, 0x63, 0x61, 0x72, 0x74, 
    -	0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x05, 0x6c, 
    -	0x6f, 0x67, 0x69, 0x6e, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x0b, 
    -	0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x0c, 
    -	0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 
    -	0x05, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x07, 0x70, 0x75, 0x62, 0x6c, 0x69, 
    -	0x73, 0x68, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x0b, 0x61, 
    -	0x72, 0x72, 0x6f, 0x77, 0x2d, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x0c, 0x63, 
    -	0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x0c, 
    -	0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x6c, 0x65, 0x66, 0x74, 
    -	0x0d, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x72, 0x69, 0x67, 
    -	0x68, 0x74, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x64, 0x2d, 0x75, 
    -	0x70, 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x64, 0x6f, 
    -	0x77, 0x6e, 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x6c, 
    -	0x65, 0x66, 0x74, 0x0d, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 
    -	0x72, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 
    -	0x6e, 0x2d, 0x75, 0x70, 0x12, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 
    -	0x2d, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x12, 
    -	0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x73, 0x6d, 0x61, 0x6c, 
    -	0x6c, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x13, 0x63, 0x68, 0x65, 0x76, 0x72, 
    -	0x6f, 0x6e, 0x2d, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x2d, 0x72, 0x69, 0x67, 
    -	0x68, 0x74, 0x10, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x73, 
    -	0x6d, 0x61, 0x6c, 0x6c, 0x2d, 0x75, 0x70, 0x11, 0x63, 0x68, 0x65, 0x76, 
    -	0x72, 0x6f, 0x6e, 0x2d, 0x74, 0x68, 0x69, 0x6e, 0x2d, 0x64, 0x6f, 0x77, 
    -	0x6e, 0x11, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x74, 0x68, 
    -	0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x63, 0x68, 0x65, 0x76, 
    -	0x72, 0x6f, 0x6e, 0x2d, 0x74, 0x68, 0x69, 0x6e, 0x2d, 0x72, 0x69, 0x67, 
    -	0x68, 0x74, 0x0f, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x2d, 0x74, 
    -	0x68, 0x69, 0x6e, 0x2d, 0x75, 0x70, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 
    -	0x65, 0x73, 0x73, 0x2d, 0x30, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 
    -	0x73, 0x73, 0x2d, 0x31, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 
    -	0x73, 0x2d, 0x32, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 
    -	0x2d, 0x33, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x2d, 0x69, 0x6e, 0x2d, 0x74, 
    -	0x69, 0x6d, 0x65, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x05, 
    -	0x69, 0x6e, 0x62, 0x6f, 0x78, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 
    -	0x6c, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x62, 0x75, 0x6f, 0x79, 0x05, 0x6d, 
    -	0x6f, 0x75, 0x73, 0x65, 0x05, 0x62, 0x72, 0x75, 0x73, 0x68, 0x06, 0x6d, 
    -	0x61, 0x67, 0x6e, 0x65, 0x74, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 
    -	0x65, 0x06, 0x73, 0x77, 0x65, 0x64, 0x65, 0x6e, 0x07, 0x70, 0x69, 0x63, 
    -	0x74, 0x75, 0x72, 0x65, 0x05, 0x67, 0x6c, 0x6f, 0x62, 0x65, 0x04, 0x6c, 
    -	0x65, 0x61, 0x66, 0x0e, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x74, 0x69, 
    -	0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x70, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 
    -	0x61, 0x67, 0x65, 0x03, 0x6d, 0x69, 0x63, 0x07, 0x70, 0x61, 0x6c, 0x65, 
    -	0x74, 0x74, 0x65, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x05, 0x76, 
    -	0x69, 0x64, 0x65, 0x6f, 0x0a, 0x68, 0x61, 0x69, 0x72, 0x2d, 0x63, 0x72, 
    -	0x6f, 0x73, 0x73, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x06, 0x74, 0x72, 
    -	0x6f, 0x70, 0x68, 0x79, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x2d, 
    -	0x75, 0x70, 0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x2d, 0x64, 0x6f, 
    -	0x77, 0x6e, 0x03, 0x62, 0x61, 0x67, 0x04, 0x75, 0x73, 0x65, 0x72, 0x05, 
    -	0x75, 0x73, 0x65, 0x72, 0x73, 0x0a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2d, 
    -	0x62, 0x75, 0x6c, 0x62, 0x03, 0x6e, 0x65, 0x77, 0x05, 0x77, 0x61, 0x74, 
    -	0x65, 0x72, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x6c, 0x65, 0x74, 0x03, 0x61, 
    -	0x69, 0x72, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x63, 0x61, 
    -	0x72, 0x64, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x09, 0x62, 
    -	0x72, 0x69, 0x65, 0x66, 0x63, 0x61, 0x73, 0x65, 0x04, 0x73, 0x61, 0x76, 
    -	0x65, 0x02, 0x63, 0x64, 0x06, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x08, 
    -	0x74, 0x65, 0x78, 0x74, 0x2d, 0x64, 0x6f, 0x63, 0x08, 0x63, 0x61, 0x6c, 
    -	0x65, 0x6e, 0x64, 0x61, 0x72, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x2d, 0x67, 
    -	0x72, 0x61, 0x70, 0x68, 0x09, 0x62, 0x61, 0x72, 0x2d, 0x67, 0x72, 0x61, 
    -	0x70, 0x68, 0x09, 0x63, 0x6c, 0x69, 0x70, 0x62, 0x6f, 0x61, 0x72, 0x64, 
    -	0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x09, 0x62, 0x6f, 0x6f, 0x6b, 
    -	0x6d, 0x61, 0x72, 0x6b, 0x73, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x09, 0x6f, 
    -	0x70, 0x65, 0x6e, 0x2d, 0x62, 0x6f, 0x6f, 0x6b, 0x05, 0x70, 0x68, 0x6f, 
    -	0x6e, 0x65, 0x09, 0x6d, 0x65, 0x67, 0x61, 0x70, 0x68, 0x6f, 0x6e, 0x65, 
    -	0x06, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x08, 0x64, 0x6f, 0x77, 0x6e, 
    -	0x6c, 0x6f, 0x61, 0x64, 0x03, 0x62, 0x6f, 0x78, 0x09, 0x6e, 0x65, 0x77, 
    -	0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 
    -	0x65, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x06, 0x63, 0x61, 0x6d, 
    -	0x65, 0x72, 0x61, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 
    -	0x05, 0x64, 0x72, 0x69, 0x76, 0x65, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 
    -	0x74, 0x0b, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x6d, 0x65, 0x74, 0x65, 
    -	0x72, 0x07, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x04, 0x6c, 0x6f, 
    -	0x6f, 0x70, 0x05, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x0a, 0x6c, 0x69, 0x67, 
    -	0x68, 0x74, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x08, 0x6c, 0x69, 0x67, 0x68, 
    -	0x74, 0x2d, 0x75, 0x70, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x05, 0x73, 0x6f, 
    -	0x75, 0x6e, 0x64, 0x07, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x06, 
    -	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x03, 0x6b, 0x65, 0x79, 0x04, 0x6c, 
    -	0x6f, 0x63, 0x6b, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x2d, 0x6f, 0x70, 0x65, 
    -	0x6e, 0x04, 0x62, 0x65, 0x6c, 0x6c, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 
    -	0x61, 0x72, 0x6b, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x04, 0x62, 0x61, 0x63, 
    -	0x6b, 0x0a, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 
    -	0x0a, 0x61, 0x72, 0x65, 0x61, 0x2d, 0x67, 0x72, 0x61, 0x70, 0x68, 0x0b, 
    -	0x70, 0x61, 0x70, 0x65, 0x72, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x02, 
    -	0x63, 0x63, 0x05, 0x63, 0x63, 0x2d, 0x62, 0x79, 0x05, 0x63, 0x63, 0x2d, 
    -	0x6e, 0x63, 0x08, 0x63, 0x63, 0x2d, 0x6e, 0x63, 0x2d, 0x65, 0x75, 0x08, 
    -	0x63, 0x63, 0x2d, 0x6e, 0x63, 0x2d, 0x6a, 0x70, 0x05, 0x63, 0x63, 0x2d, 
    -	0x73, 0x61, 0x05, 0x63, 0x63, 0x2d, 0x6e, 0x64, 0x05, 0x63, 0x63, 0x2d, 
    -	0x70, 0x64, 0x07, 0x63, 0x63, 0x2d, 0x7a, 0x65, 0x72, 0x6f, 0x08, 0x63, 
    -	0x63, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x08, 0x63, 0x63, 0x2d, 0x72, 
    -	0x65, 0x6d, 0x69, 0x78, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x0c, 0x66, 
    -	0x6c, 0x6f, 0x77, 0x2d, 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x0b, 
    -	0x66, 0x6c, 0x6f, 0x77, 0x2d, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x09, 
    -	0x66, 0x6c, 0x6f, 0x77, 0x2d, 0x74, 0x72, 0x65, 0x65, 0x09, 0x66, 0x6c, 
    -	0x6f, 0x77, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x0d, 0x66, 0x6c, 0x6f, 0x77, 
    -	0x2d, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x07, 0x64, 0x62, 
    -	0x2d, 0x6c, 0x6f, 0x67, 0x6f, 0x08, 0x64, 0x62, 0x2d, 0x73, 0x68, 0x61, 
    -	0x70, 0x65, 0x06, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x05, 0x62, 0x6c, 
    -	0x6f, 0x63, 0x6b, 0x08, 0x73, 0x75, 0x69, 0x74, 0x63, 0x61, 0x73, 0x65, 
    -	0x05, 0x67, 0x61, 0x75, 0x67, 0x65, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 
    -	0x69, 0x63, 0x2d, 0x63, 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x01, 
    -	0xff, 0xff, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 
    -	0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0xf1, 
    -	0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xdb, 0x94, 0xd7, 
    -	0x00, 0x00, 0x00, 0x00, 0xcc, 0xa7, 0xdd, 0x44, 0x00, 0x00, 0x00, 0x00, 
    -	0xcc, 0xad, 0x77, 0xf2, 
    -	0x00
    -};
    -
    -uint32_t igl_entypo_ttf_size = 35392;
    -
    -uint8_t igl_roboto_bold_ttf[] = {
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x04, 0x00, 0x10, 
    -	0x47, 0x50, 0x4f, 0x53, 0xe8, 0x84, 0xd5, 0x97, 0x00, 0x01, 0xbe, 0x28, 
    -	0x00, 0x00, 0x4f, 0x16, 0x47, 0x53, 0x55, 0x42, 0x38, 0x1a, 0x1f, 0x82, 
    -	0x00, 0x02, 0x0d, 0x40, 0x00, 0x00, 0x05, 0x4a, 0x4c, 0x54, 0x53, 0x48, 
    -	0x46, 0x47, 0x22, 0xd7, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x04, 0x0f, 
    -	0x4f, 0x53, 0x2f, 0x32, 0xba, 0xf3, 0x01, 0x64, 0x00, 0x00, 0x01, 0x98, 
    -	0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, 0x24, 0x28, 0x33, 0xbe, 
    -	0x00, 0x00, 0x16, 0x30, 0x00, 0x00, 0x05, 0xbc, 0x63, 0x76, 0x74, 0x20, 
    -	0x1e, 0x90, 0x03, 0xb5, 0x00, 0x00, 0x1f, 0x88, 0x00, 0x00, 0x00, 0x3c, 
    -	0x66, 0x70, 0x67, 0x6d, 0x47, 0xec, 0x54, 0xab, 0x00, 0x00, 0x1b, 0xec, 
    -	0x00, 0x00, 0x01, 0xbc, 0x67, 0x61, 0x73, 0x70, 0x00, 0x08, 0x00, 0x13, 
    -	0x00, 0x01, 0xbe, 0x1c, 0x00, 0x00, 0x00, 0x0c, 0x67, 0x6c, 0x79, 0x66, 
    -	0x35, 0xf5, 0xa0, 0xa9, 0x00, 0x00, 0x27, 0xdc, 0x00, 0x01, 0x6e, 0x28, 
    -	0x68, 0x65, 0x61, 0x64, 0xf7, 0xb0, 0x28, 0x9f, 0x00, 0x00, 0x01, 0x1c, 
    -	0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x0d, 0x18, 0x0a, 0x45, 
    -	0x00, 0x00, 0x01, 0x54, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, 
    -	0x96, 0xc0, 0x0e, 0x2e, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x10, 0x28, 
    -	0x6c, 0x6f, 0x63, 0x61, 0x05, 0x47, 0x60, 0xe4, 0x00, 0x00, 0x1f, 0xc4, 
    -	0x00, 0x00, 0x08, 0x18, 0x6d, 0x61, 0x78, 0x70, 0x06, 0x38, 0x03, 0xfa, 
    -	0x00, 0x00, 0x01, 0x78, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, 
    -	0x47, 0x45, 0x05, 0xd0, 0x00, 0x01, 0x96, 0x04, 0x00, 0x00, 0x04, 0x5f, 
    -	0x70, 0x6f, 0x73, 0x74, 0xae, 0xf2, 0x34, 0x91, 0x00, 0x01, 0x9a, 0x64, 
    -	0x00, 0x00, 0x23, 0xb6, 0x70, 0x72, 0x65, 0x70, 0x20, 0x4a, 0xa6, 0x04, 
    -	0x00, 0x00, 0x1d, 0xa8, 0x00, 0x00, 0x01, 0xdd, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x00, 0xe8, 0xc8, 0xcb, 0x98, 0x5f, 0x0f, 0x3c, 0xf5, 
    -	0x00, 0x19, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0xf0, 0x11, 0x2e, 
    -	0x00, 0x00, 0x00, 0x00, 0xce, 0x14, 0xcc, 0x22, 0xfb, 0xf5, 0xfd, 0xd5, 
    -	0x09, 0x88, 0x08, 0x7c, 0x00, 0x01, 0x00, 0x09, 0x00, 0x02, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x62, 0xfd, 0xd5, 
    -	0x00, 0x00, 0x09, 0x4f, 0xfb, 0xf5, 0xff, 0x17, 0x08, 0xbe, 0x00, 0x01, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x04, 0x09, 0x00, 0x01, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x97, 
    -	0x00, 0x16, 0x00, 0x5f, 0x00, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x0e, 0x00, 0x00, 0x02, 0x00, 0x03, 0x02, 0x00, 0x03, 0x00, 0x01, 
    -	0x00, 0x03, 0x04, 0xa5, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x00, 0x05, 0x9a, 
    -	0x05, 0x33, 0x00, 0x00, 0x01, 0x1f, 0x05, 0x9a, 0x05, 0x33, 0x00, 0x00, 
    -	0x03, 0xd1, 0x00, 0x66, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x02, 0xef, 0x50, 0x00, 
    -	0x20, 0x5b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x00, 0x20, 0x00, 0x0d, 0xff, 0xfd, 0x08, 0x62, 0xfd, 0xd5, 
    -	0x00, 0x00, 0x08, 0x62, 0x02, 0x2b, 0x20, 0x00, 0x01, 0x9f, 0x4f, 0x01, 
    -	0x00, 0x00, 0x04, 0x3a, 0x05, 0xb0, 0x00, 0x20, 0x00, 0x20, 0x00, 0x02, 
    -	0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x00, 0x00, 
    -	0x01, 0xfe, 0x00, 0x00, 0x02, 0x2d, 0x00, 0x86, 0x02, 0x90, 0x00, 0x32, 
    -	0x04, 0xc3, 0x00, 0x30, 0x04, 0x97, 0x00, 0x5c, 0x05, 0xe9, 0x00, 0x5f, 
    -	0x05, 0x42, 0x00, 0x3d, 0x01, 0x4a, 0x00, 0x32, 0x02, 0xc7, 0x00, 0x7c, 
    -	0x02, 0xc9, 0x00, 0x1f, 0x03, 0x8c, 0x00, 0x1b, 0x04, 0x5d, 0x00, 0x38, 
    -	0x02, 0x10, 0x00, 0x3f, 0x03, 0x21, 0x00, 0x71, 0x02, 0x54, 0x00, 0x90, 
    -	0x03, 0x39, 0xff, 0xf2, 0x04, 0x97, 0x00, 0x5f, 0x04, 0x97, 0x00, 0xab, 
    -	0x04, 0x97, 0x00, 0x47, 0x04, 0x97, 0x00, 0x41, 0x04, 0x97, 0x00, 0x39, 
    -	0x04, 0x97, 0x00, 0x69, 0x04, 0x97, 0x00, 0x63, 0x04, 0x97, 0x00, 0x3c, 
    -	0x04, 0x97, 0x00, 0x5b, 0x04, 0x97, 0x00, 0x52, 0x02, 0x46, 0x00, 0x90, 
    -	0x02, 0x32, 0x00, 0x72, 0x04, 0x13, 0x00, 0x36, 0x04, 0x9d, 0x00, 0x88, 
    -	0x04, 0x22, 0x00, 0x77, 0x03, 0xfd, 0x00, 0x1d, 0x07, 0x19, 0x00, 0x31, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x05, 0x22, 0x00, 0x88, 0x05, 0x1d, 0x00, 0x5d, 
    -	0x05, 0x3e, 0x00, 0x88, 0x04, 0x98, 0x00, 0x88, 0x04, 0x9e, 0x00, 0x88, 
    -	0x05, 0x59, 0x00, 0x63, 0x05, 0xaa, 0x00, 0x88, 0x02, 0x59, 0x00, 0x9a, 
    -	0x04, 0x91, 0x00, 0x3a, 0x05, 0x2b, 0x00, 0x88, 0x04, 0x54, 0x00, 0x88, 
    -	0x06, 0xfb, 0x00, 0x88, 0x05, 0xaa, 0x00, 0x88, 0x05, 0x77, 0x00, 0x5c, 
    -	0x05, 0x36, 0x00, 0x88, 0x05, 0x99, 0x00, 0x5c, 0x05, 0x4a, 0x00, 0x88, 
    -	0x05, 0x13, 0x00, 0x55, 0x04, 0x91, 0x00, 0x1c, 0x05, 0x7f, 0x00, 0x78, 
    -	0x05, 0x17, 0x00, 0x07, 0x07, 0x17, 0x00, 0x18, 0x05, 0x17, 0x00, 0x1f, 
    -	0x05, 0x0c, 0x00, 0x05, 0x04, 0xb6, 0x00, 0x4d, 0x02, 0x3a, 0x00, 0x77, 
    -	0x03, 0x5f, 0x00, 0x02, 0x02, 0x3a, 0x00, 0x0d, 0x03, 0x80, 0x00, 0x2c, 
    -	0x03, 0x92, 0x00, 0x01, 0x02, 0xa6, 0x00, 0x4d, 0x04, 0x4c, 0x00, 0x37, 
    -	0x04, 0x84, 0x00, 0x70, 0x04, 0x24, 0x00, 0x3e, 0x04, 0x84, 0x00, 0x43, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x02, 0xdc, 0x00, 0x1b, 0x04, 0x84, 0x00, 0x43, 
    -	0x04, 0x84, 0x00, 0x69, 0x02, 0x23, 0x00, 0x7f, 0x02, 0x1f, 0xff, 0x9e, 
    -	0x04, 0x49, 0x00, 0x70, 0x02, 0x23, 0x00, 0x7f, 0x06, 0xec, 0x00, 0x70, 
    -	0x04, 0x84, 0x00, 0x6b, 0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x70, 
    -	0x04, 0x84, 0x00, 0x43, 0x02, 0xcd, 0x00, 0x70, 0x04, 0x20, 0x00, 0x3a, 
    -	0x02, 0xcb, 0x00, 0x09, 0x04, 0x84, 0x00, 0x69, 0x04, 0x16, 0x00, 0x10, 
    -	0x05, 0xe3, 0x00, 0x1d, 0x04, 0x16, 0x00, 0x13, 0x04, 0x16, 0x00, 0x05, 
    -	0x04, 0x16, 0x00, 0x4b, 0x02, 0xa4, 0x00, 0x30, 0x02, 0x07, 0x00, 0xad, 
    -	0x02, 0xa4, 0x00, 0x22, 0x05, 0x2f, 0x00, 0x69, 0x01, 0xfe, 0x00, 0x00, 
    -	0x02, 0x44, 0x00, 0x8e, 0x04, 0x9d, 0x00, 0x48, 0x04, 0xc0, 0x00, 0x5c, 
    -	0x05, 0x89, 0x00, 0x50, 0x04, 0xe5, 0x00, 0x16, 0x02, 0x05, 0x00, 0x7f, 
    -	0x05, 0x07, 0x00, 0x5e, 0x04, 0x42, 0x00, 0x9c, 0x06, 0x46, 0x00, 0x56, 
    -	0x03, 0x8d, 0x00, 0x70, 0x04, 0x01, 0x00, 0x62, 0x04, 0x69, 0x00, 0x7e, 
    -	0x03, 0x21, 0x00, 0x71, 0x06, 0x46, 0x00, 0x56, 0x04, 0x04, 0x00, 0x94, 
    -	0x03, 0x1c, 0x00, 0x7e, 0x04, 0x4d, 0x00, 0x5a, 0x03, 0x5c, 0x00, 0x66, 
    -	0x03, 0x58, 0x00, 0x59, 0x02, 0xd7, 0x00, 0x6c, 0x04, 0xf0, 0x00, 0x8b, 
    -	0x04, 0x36, 0x00, 0x3d, 0x02, 0x6b, 0x00, 0x9f, 0x02, 0x25, 0x00, 0x61, 
    -	0x02, 0x3d, 0x00, 0x4e, 0x03, 0xa9, 0x00, 0x76, 0x04, 0x01, 0x00, 0x66, 
    -	0x05, 0xd5, 0x00, 0xa7, 0x06, 0x11, 0x00, 0xa7, 0x06, 0xb5, 0x00, 0x69, 
    -	0x04, 0x0d, 0x00, 0x4b, 0x05, 0x1f, 0x00, 0x0c, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x05, 0x1f, 0x00, 0x0c, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x07, 0x85, 0x00, 0x03, 0x05, 0x1d, 0x00, 0x5d, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x98, 0x00, 0x88, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x98, 0x00, 0x88, 0x02, 0x59, 0xff, 0xc6, 0x02, 0x59, 0x00, 0x98, 
    -	0x02, 0x59, 0xff, 0xc0, 0x02, 0x59, 0xff, 0xaf, 0x05, 0x5c, 0x00, 0x1f, 
    -	0x05, 0xaa, 0x00, 0x88, 0x05, 0x77, 0x00, 0x5c, 0x05, 0x77, 0x00, 0x5c, 
    -	0x05, 0x77, 0x00, 0x5c, 0x05, 0x77, 0x00, 0x5c, 0x05, 0x77, 0x00, 0x5c, 
    -	0x04, 0x40, 0x00, 0x40, 0x05, 0x82, 0x00, 0x5c, 0x05, 0x7f, 0x00, 0x78, 
    -	0x05, 0x7f, 0x00, 0x78, 0x05, 0x7f, 0x00, 0x78, 0x05, 0x7f, 0x00, 0x78, 
    -	0x05, 0x0c, 0x00, 0x05, 0x04, 0xdf, 0x00, 0x84, 0x05, 0x0e, 0x00, 0x87, 
    -	0x04, 0x4c, 0x00, 0x37, 0x04, 0x4c, 0x00, 0x37, 0x04, 0x4c, 0x00, 0x37, 
    -	0x04, 0x4c, 0x00, 0x37, 0x04, 0x4c, 0x00, 0x37, 0x04, 0x4c, 0x00, 0x37, 
    -	0x06, 0xc1, 0x00, 0x2e, 0x04, 0x24, 0x00, 0x3e, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x3c, 0x00, 0x4d, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x02, 0x32, 0xff, 0xb2, 0x02, 0x32, 0x00, 0x84, 0x02, 0x32, 0xff, 0xac, 
    -	0x02, 0x32, 0xff, 0x9b, 0x04, 0xc2, 0x00, 0x30, 0x04, 0x84, 0x00, 0x6b, 
    -	0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x43, 
    -	0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x43, 0x04, 0x90, 0x00, 0x3f, 
    -	0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x69, 0x04, 0x84, 0x00, 0x69, 
    -	0x04, 0x84, 0x00, 0x69, 0x04, 0x84, 0x00, 0x69, 0x04, 0x16, 0x00, 0x05, 
    -	0x04, 0x8a, 0x00, 0x79, 0x04, 0x16, 0x00, 0x05, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x05, 0x1d, 0x00, 0x5d, 
    -	0x04, 0x24, 0x00, 0x3e, 0x05, 0x1d, 0x00, 0x5d, 0x04, 0x24, 0x00, 0x3e, 
    -	0x05, 0x1d, 0x00, 0x5d, 0x04, 0x24, 0x00, 0x3e, 0x05, 0x1d, 0x00, 0x5d, 
    -	0x04, 0x24, 0x00, 0x3e, 0x05, 0x3e, 0x00, 0x88, 0x05, 0x1a, 0x00, 0x43, 
    -	0x05, 0x5c, 0x00, 0x1f, 0x04, 0xa2, 0x00, 0x43, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x05, 0x59, 0x00, 0x63, 0x04, 0x84, 0x00, 0x43, 0x05, 0x59, 0x00, 0x63, 
    -	0x04, 0x84, 0x00, 0x43, 0x05, 0x59, 0x00, 0x63, 0x04, 0x84, 0x00, 0x43, 
    -	0x05, 0x59, 0x00, 0x63, 0x04, 0x84, 0x00, 0x43, 0x05, 0xaa, 0x00, 0x88, 
    -	0x04, 0x84, 0x00, 0x69, 0x05, 0xa5, 0x00, 0x10, 0x04, 0xa2, 0xff, 0xfa, 
    -	0x02, 0x59, 0xff, 0xb7, 0x02, 0x32, 0xff, 0xa3, 0x02, 0x59, 0xff, 0xc2, 
    -	0x02, 0x32, 0xff, 0xae, 0x02, 0x59, 0xff, 0xd4, 0x02, 0x32, 0xff, 0xc0, 
    -	0x02, 0x59, 0x00, 0x29, 0x02, 0x23, 0x00, 0x0e, 0x02, 0x59, 0x00, 0x92, 
    -	0x02, 0x32, 0x00, 0x85, 0x06, 0xea, 0x00, 0x9a, 0x04, 0x42, 0x00, 0x7f, 
    -	0x04, 0x91, 0x00, 0x3a, 0x02, 0x42, 0xff, 0xa6, 0x05, 0x2b, 0x00, 0x88, 
    -	0x04, 0x49, 0x00, 0x70, 0x04, 0xba, 0x00, 0x81, 0x04, 0x54, 0x00, 0x88, 
    -	0x02, 0x23, 0x00, 0x7d, 0x04, 0x54, 0x00, 0x88, 0x02, 0x23, 0x00, 0x6e, 
    -	0x04, 0x54, 0x00, 0x88, 0x02, 0xb9, 0x00, 0x7f, 0x04, 0x54, 0x00, 0x88, 
    -	0x02, 0xff, 0x00, 0x7f, 0x04, 0x10, 0x00, 0x0c, 0x02, 0x52, 0x00, 0x0f, 
    -	0x05, 0xaa, 0x00, 0x88, 0x04, 0x84, 0x00, 0x6b, 0x05, 0xaa, 0x00, 0x88, 
    -	0x04, 0x84, 0x00, 0x6b, 0x05, 0xaa, 0x00, 0x88, 0x04, 0x84, 0x00, 0x6b, 
    -	0x04, 0x84, 0xff, 0xe6, 0x05, 0x9e, 0x00, 0x83, 0x04, 0x84, 0x00, 0x6b, 
    -	0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0x00, 0x5c, 
    -	0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 
    -	0x07, 0xc0, 0x00, 0x61, 0x07, 0x38, 0x00, 0x43, 0x05, 0x4a, 0x00, 0x88, 
    -	0x02, 0xcd, 0x00, 0x70, 0x05, 0x4a, 0x00, 0x88, 0x02, 0xcd, 0x00, 0x6c, 
    -	0x05, 0x4a, 0x00, 0x88, 0x02, 0xcd, 0x00, 0x21, 0x05, 0x13, 0x00, 0x55, 
    -	0x04, 0x20, 0x00, 0x3a, 0x05, 0x13, 0x00, 0x55, 0x04, 0x20, 0x00, 0x3a, 
    -	0x05, 0x13, 0x00, 0x55, 0x04, 0x20, 0x00, 0x3a, 0x05, 0x13, 0x00, 0x55, 
    -	0x04, 0x20, 0x00, 0x3a, 0x04, 0x91, 0x00, 0x1c, 0x02, 0xcb, 0x00, 0x09, 
    -	0x04, 0x91, 0x00, 0x1c, 0x02, 0xf3, 0x00, 0x09, 0x04, 0x91, 0x00, 0x1c, 
    -	0x02, 0xcb, 0xff, 0xf3, 0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 
    -	0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 0x05, 0x7f, 0x00, 0x78, 
    -	0x04, 0x84, 0x00, 0x69, 0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 
    -	0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 0x05, 0x7f, 0x00, 0x78, 
    -	0x04, 0x84, 0x00, 0x69, 0x07, 0x17, 0x00, 0x18, 0x05, 0xe3, 0x00, 0x1d, 
    -	0x05, 0x0c, 0x00, 0x05, 0x04, 0x16, 0x00, 0x05, 0x05, 0x0c, 0x00, 0x05, 
    -	0x04, 0xb6, 0x00, 0x4d, 0x04, 0x16, 0x00, 0x4b, 0x04, 0xb6, 0x00, 0x4d, 
    -	0x04, 0x16, 0x00, 0x4b, 0x04, 0xb6, 0x00, 0x4d, 0x04, 0x16, 0x00, 0x4b, 
    -	0x02, 0x14, 0x00, 0x74, 0x02, 0xe4, 0xff, 0xce, 0x05, 0x9b, 0x00, 0x57, 
    -	0x04, 0xa7, 0x00, 0x43, 0x05, 0xb4, 0x00, 0x78, 0x04, 0x8e, 0x00, 0x69, 
    -	0x02, 0x42, 0xff, 0x97, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x07, 0x85, 0x00, 0x03, 0x06, 0xc1, 0x00, 0x2e, 0x05, 0x82, 0x00, 0x5c, 
    -	0x04, 0x84, 0x00, 0x43, 0x05, 0x13, 0x00, 0x55, 0x04, 0x20, 0x00, 0x3a, 
    -	0x02, 0x42, 0xff, 0xac, 0x01, 0x95, 0x00, 0x39, 0x03, 0xf8, 0x00, 0x89, 
    -	0x03, 0xc5, 0x00, 0x63, 0x03, 0x8e, 0x00, 0x6a, 0x02, 0x75, 0x00, 0x92, 
    -	0x02, 0xaa, 0x00, 0x81, 0x02, 0x6a, 0x00, 0x53, 0x03, 0xda, 0x00, 0x77, 
    -	0x03, 0x6c, 0x00, 0x8d, 0x02, 0x98, 0x00, 0x9e, 0x00, 0x00, 0xfc, 0xe9, 
    -	0x00, 0x00, 0xfc, 0xf7, 0x00, 0x00, 0xfc, 0x7d, 0x00, 0x00, 0xfd, 0x1d, 
    -	0x00, 0x00, 0xfb, 0xf5, 0x00, 0x00, 0xfd, 0x06, 0x02, 0xb7, 0x00, 0xee, 
    -	0x04, 0x65, 0x00, 0x99, 0x05, 0x1f, 0x00, 0x0c, 0x02, 0x6b, 0x00, 0x9f, 
    -	0x04, 0xfc, 0xff, 0x76, 0x06, 0x0e, 0xff, 0x9f, 0x02, 0xbd, 0xff, 0xa8, 
    -	0x05, 0x8b, 0xff, 0xf1, 0x05, 0x70, 0xff, 0x3e, 0x05, 0x74, 0xff, 0xe6, 
    -	0x02, 0xa9, 0xff, 0x8f, 0x05, 0x1f, 0x00, 0x0c, 0x05, 0x22, 0x00, 0x88, 
    -	0x04, 0x75, 0x00, 0x88, 0x05, 0xd6, 0x00, 0x16, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0xb6, 0x00, 0x4d, 0x05, 0xaa, 0x00, 0x88, 0x05, 0x82, 0x00, 0x5c, 
    -	0x02, 0x59, 0x00, 0x9a, 0x05, 0x2b, 0x00, 0x88, 0x05, 0x30, 0x00, 0x13, 
    -	0x06, 0xfb, 0x00, 0x88, 0x05, 0xaa, 0x00, 0x88, 0x04, 0x8b, 0x00, 0x62, 
    -	0x05, 0x77, 0x00, 0x5c, 0x05, 0xaa, 0x00, 0x88, 0x05, 0x36, 0x00, 0x88, 
    -	0x04, 0x8b, 0x00, 0x48, 0x04, 0x91, 0x00, 0x1c, 0x05, 0x0c, 0x00, 0x05, 
    -	0x05, 0xe3, 0x00, 0x3b, 0x05, 0x17, 0x00, 0x1f, 0x05, 0xcb, 0x00, 0x38, 
    -	0x05, 0x60, 0x00, 0x68, 0x02, 0x59, 0xff, 0xaf, 0x05, 0x0c, 0x00, 0x05, 
    -	0x04, 0x82, 0x00, 0x49, 0x04, 0x74, 0x00, 0x5f, 0x04, 0x84, 0x00, 0x6b, 
    -	0x02, 0xa9, 0x00, 0x89, 0x04, 0x84, 0x00, 0x71, 0x04, 0x82, 0x00, 0x49, 
    -	0x04, 0xd1, 0x00, 0x8e, 0x04, 0x16, 0x00, 0x10, 0x04, 0x84, 0x00, 0x43, 
    -	0x04, 0x74, 0x00, 0x5f, 0x04, 0x0a, 0x00, 0x4b, 0x04, 0x84, 0x00, 0x6b, 
    -	0x04, 0xb9, 0x00, 0x65, 0x02, 0xa9, 0x00, 0x89, 0x04, 0xba, 0x00, 0x81, 
    -	0x04, 0x4e, 0x00, 0x0c, 0x04, 0xf0, 0x00, 0x8b, 0x04, 0x16, 0x00, 0x10, 
    -	0x04, 0x49, 0x00, 0x67, 0x04, 0x84, 0x00, 0x43, 0x05, 0x31, 0x00, 0x4e, 
    -	0x04, 0x84, 0x00, 0x70, 0x04, 0x1c, 0x00, 0x3e, 0x04, 0x94, 0x00, 0x41, 
    -	0x04, 0x34, 0x00, 0x33, 0x04, 0x84, 0x00, 0x71, 0x05, 0xf9, 0x00, 0x35, 
    -	0x04, 0x49, 0x00, 0x17, 0x05, 0xf6, 0x00, 0x44, 0x06, 0xe0, 0x00, 0x50, 
    -	0x02, 0xa9, 0xff, 0xac, 0x04, 0x84, 0x00, 0x71, 0x04, 0x84, 0x00, 0x43, 
    -	0x04, 0x84, 0x00, 0x71, 0x06, 0xe0, 0x00, 0x50, 0x05, 0x74, 0x00, 0x7a, 
    -	0x04, 0xb2, 0xff, 0xf3, 0x06, 0xa0, 0x00, 0x13, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x75, 0x00, 0x88, 0x05, 0x0a, 0x00, 0x6e, 
    -	0x05, 0x13, 0x00, 0x55, 0x02, 0x59, 0x00, 0x9a, 0x02, 0x59, 0xff, 0xaf, 
    -	0x04, 0x91, 0x00, 0x3a, 0x08, 0x79, 0x00, 0x2a, 0x08, 0x7b, 0x00, 0x88, 
    -	0x05, 0x2b, 0x00, 0x88, 0x05, 0x9c, 0x00, 0x7e, 0x05, 0x0d, 0x00, 0x24, 
    -	0x05, 0x9d, 0x00, 0x7b, 0x05, 0x1f, 0x00, 0x0c, 0x05, 0x03, 0x00, 0x77, 
    -	0x05, 0x22, 0x00, 0x88, 0x04, 0x75, 0x00, 0x88, 0x04, 0x98, 0x00, 0x88, 
    -	0x05, 0x41, 0x00, 0x57, 0x05, 0x9c, 0x00, 0x7e, 0x05, 0x9c, 0x00, 0x7e, 
    -	0x05, 0x2b, 0x00, 0x88, 0x05, 0xa7, 0x00, 0x2a, 0x06, 0xfb, 0x00, 0x88, 
    -	0x05, 0xaa, 0x00, 0x88, 0x05, 0x77, 0x00, 0x5c, 0x05, 0xaa, 0x00, 0x88, 
    -	0x05, 0x36, 0x00, 0x88, 0x05, 0x1d, 0x00, 0x5d, 0x04, 0x91, 0x00, 0x1c, 
    -	0x05, 0x17, 0x00, 0x1f, 0x06, 0x21, 0x00, 0x96, 0x05, 0x8f, 0x00, 0x8b, 
    -	0x06, 0xf9, 0x00, 0x95, 0x05, 0x08, 0x00, 0x56, 0x07, 0x8f, 0x00, 0x9a, 
    -	0x04, 0x4c, 0x00, 0x37, 0x04, 0x84, 0x00, 0x7f, 0x03, 0x57, 0x00, 0x6b, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x84, 0x00, 0x6b, 0x04, 0x84, 0x00, 0x6b, 
    -	0x04, 0x7c, 0x00, 0x81, 0x04, 0x7d, 0x00, 0x0f, 0x06, 0x15, 0x00, 0x81, 
    -	0x04, 0x84, 0x00, 0x6b, 0x04, 0x84, 0x00, 0x43, 0x04, 0x84, 0x00, 0x6b, 
    -	0x04, 0x84, 0x00, 0x70, 0x04, 0x24, 0x00, 0x3e, 0x04, 0x2e, 0x00, 0x30, 
    -	0x04, 0x16, 0x00, 0x05, 0x04, 0x16, 0x00, 0x13, 0x04, 0xdf, 0x00, 0x6b, 
    -	0x04, 0x7b, 0x00, 0x67, 0x06, 0x9b, 0x00, 0x6b, 0x07, 0x3f, 0x00, 0x6b, 
    -	0x06, 0xa7, 0x00, 0x95, 0x04, 0x77, 0x00, 0x81, 0x04, 0x28, 0x00, 0x3f, 
    -	0x06, 0x7e, 0x00, 0x85, 0x04, 0x84, 0x00, 0x33, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x84, 0xff, 0xf1, 0x03, 0x57, 0x00, 0x6b, 
    -	0x04, 0x28, 0x00, 0x48, 0x04, 0x20, 0x00, 0x3a, 0x02, 0x23, 0x00, 0x7f, 
    -	0x02, 0x32, 0xff, 0x9b, 0x02, 0x1f, 0xff, 0x9e, 0x06, 0xeb, 0x00, 0x19, 
    -	0x06, 0xe8, 0x00, 0x6b, 0x04, 0x84, 0x00, 0x1d, 0x04, 0x7c, 0x00, 0x81, 
    -	0x04, 0x84, 0x00, 0x6b, 0x04, 0x16, 0x00, 0x05, 0x04, 0x84, 0x00, 0x6b, 
    -	0x05, 0x03, 0xff, 0xe6, 0x05, 0x42, 0x00, 0x12, 0x04, 0x7a, 0x00, 0x07, 
    -	0x07, 0x7f, 0x00, 0xad, 0x06, 0x66, 0x00, 0xa6, 0x06, 0xf8, 0x00, 0x71, 
    -	0x05, 0xdd, 0x00, 0x6e, 0x09, 0x4f, 0x00, 0x9a, 0x08, 0x0e, 0x00, 0x85, 
    -	0x04, 0x1c, 0x00, 0x05, 0x04, 0x09, 0x00, 0x1c, 0x05, 0xcb, 0x00, 0x38, 
    -	0x05, 0xf6, 0x00, 0x44, 0x04, 0x16, 0x00, 0x10, 0x04, 0x16, 0xff, 0xd1, 
    -	0x09, 0x8d, 0x00, 0x5c, 0x08, 0x9a, 0x00, 0x43, 0x05, 0x82, 0x00, 0x5c, 
    -	0x04, 0x84, 0x00, 0x43, 0x04, 0xfd, 0x00, 0x5c, 0x04, 0x47, 0x00, 0x56, 
    -	0x04, 0xfb, 0x00, 0x6b, 0x03, 0x90, 0x00, 0x5c, 0x03, 0xb8, 0x00, 0x66, 
    -	0x01, 0xdc, 0x00, 0x7d, 0x01, 0xeb, 0x00, 0x6b, 0x08, 0x14, 0x00, 0x37, 
    -	0x07, 0xd0, 0x00, 0x49, 0x05, 0x9c, 0x00, 0x7e, 0x04, 0x84, 0x00, 0x6b, 
    -	0x05, 0x03, 0xff, 0xe6, 0x04, 0x72, 0x00, 0x77, 0x03, 0xb2, 0x00, 0x6b, 
    -	0x04, 0x75, 0xff, 0xf4, 0x03, 0x57, 0xff, 0xd2, 0x05, 0x2b, 0x00, 0x88, 
    -	0x04, 0x7c, 0x00, 0x81, 0x05, 0x47, 0x00, 0x84, 0x04, 0xa0, 0x00, 0x81, 
    -	0x05, 0x3f, 0xff, 0xc2, 0x04, 0x5d, 0xff, 0xcd, 0x05, 0xaa, 0x00, 0x88, 
    -	0x04, 0x84, 0x00, 0x6b, 0x07, 0xe3, 0x00, 0x88, 0x05, 0xa6, 0x00, 0x6b, 
    -	0x04, 0x91, 0x00, 0x1c, 0x04, 0x2e, 0x00, 0x30, 0x05, 0x0c, 0x00, 0x05, 
    -	0x04, 0x16, 0x00, 0x10, 0x05, 0x0c, 0x00, 0x05, 0x04, 0x16, 0x00, 0x10, 
    -	0x05, 0x17, 0x00, 0x1f, 0x04, 0x16, 0x00, 0x13, 0x07, 0x31, 0x00, 0x2b, 
    -	0x05, 0x8c, 0x00, 0x2e, 0x05, 0x8f, 0x00, 0x8b, 0x04, 0x7b, 0x00, 0x67, 
    -	0x05, 0x72, 0x00, 0x8b, 0x04, 0x7c, 0x00, 0x67, 0x05, 0x99, 0x00, 0x4e, 
    -	0x04, 0x7c, 0x00, 0x5f, 0x06, 0x90, 0xff, 0xee, 0x04, 0xc9, 0xff, 0xbc, 
    -	0x02, 0x59, 0x00, 0x9a, 0x05, 0xa7, 0x00, 0x2a, 0x04, 0x7d, 0x00, 0x0f, 
    -	0x05, 0xaa, 0x00, 0x88, 0x04, 0x84, 0x00, 0x6b, 0x05, 0xaa, 0x00, 0x88, 
    -	0x04, 0x84, 0x00, 0x6b, 0x05, 0x8f, 0x00, 0x8b, 0x04, 0x7b, 0x00, 0x67, 
    -	0x06, 0xfb, 0x00, 0x88, 0x06, 0x15, 0x00, 0x81, 0x02, 0x59, 0x00, 0x9a, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x04, 0x4c, 0x00, 0x37, 0x07, 0x85, 0x00, 0x03, 0x06, 0xc1, 0x00, 0x2e, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 0x05, 0xe2, 0x00, 0x56, 
    -	0x04, 0x39, 0x00, 0x5f, 0x05, 0xe2, 0x00, 0x56, 0x04, 0x39, 0x00, 0x5f, 
    -	0x07, 0xf0, 0x00, 0x12, 0x06, 0xda, 0x00, 0x19, 0x05, 0x41, 0x00, 0x57, 
    -	0x04, 0x1d, 0x00, 0x46, 0x04, 0xa2, 0x00, 0x54, 0x04, 0xa2, 0x00, 0x54, 
    -	0x05, 0x9c, 0x00, 0x7e, 0x04, 0x84, 0x00, 0x6b, 0x05, 0x9c, 0x00, 0x7e, 
    -	0x04, 0x84, 0x00, 0x6b, 0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 
    -	0x05, 0x08, 0x00, 0x56, 0x04, 0x28, 0x00, 0x3f, 0x04, 0x16, 0x00, 0x05, 
    -	0x04, 0x16, 0x00, 0x05, 0x04, 0x16, 0x00, 0x05, 0x05, 0x8f, 0x00, 0x8b, 
    -	0x04, 0x7b, 0x00, 0x67, 0x04, 0x75, 0x00, 0x88, 0x03, 0x57, 0x00, 0x6b, 
    -	0x06, 0xf9, 0x00, 0x95, 0x06, 0xa7, 0x00, 0x95, 0x04, 0xcf, 0x00, 0x4b, 
    -	0x03, 0x60, 0x00, 0x4c, 0x05, 0x17, 0x00, 0x1f, 0x04, 0x16, 0x00, 0x13, 
    -	0x05, 0x17, 0x00, 0x1f, 0x04, 0x16, 0x00, 0x13, 0x05, 0x03, 0x00, 0x4c, 
    -	0x04, 0x84, 0x00, 0x43, 0x07, 0x38, 0x00, 0x72, 0x06, 0xd4, 0x00, 0x5a, 
    -	0x06, 0x4f, 0x00, 0x41, 0x05, 0x24, 0x00, 0x2d, 0x04, 0xb3, 0x00, 0x42, 
    -	0x04, 0x7d, 0x00, 0x6e, 0x07, 0xba, 0x00, 0x41, 0x06, 0xc9, 0x00, 0x3c, 
    -	0x07, 0xf6, 0x00, 0x85, 0x06, 0x9a, 0x00, 0x5c, 0x05, 0x10, 0x00, 0x4b, 
    -	0x04, 0x3d, 0x00, 0x46, 0x05, 0xa6, 0x00, 0x20, 0x05, 0x19, 0x00, 0x42, 
    -	0x05, 0x41, 0x00, 0x6f, 0x04, 0x74, 0x00, 0x5f, 0x05, 0xa7, 0x00, 0x2a, 
    -	0x04, 0x7d, 0x00, 0x0f, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x06, 0xfb, 0x00, 0x88, 0x06, 0xec, 0x00, 0x70, 0x07, 0x17, 0x00, 0x18, 
    -	0x05, 0xe3, 0x00, 0x1d, 0x07, 0x17, 0x00, 0x18, 0x05, 0xe3, 0x00, 0x1d, 
    -	0x07, 0x17, 0x00, 0x18, 0x05, 0xe3, 0x00, 0x1d, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0xff, 0xa8, 
    -	0x04, 0x4c, 0xff, 0x38, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 
    -	0x04, 0x4c, 0x00, 0x37, 0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 
    -	0x05, 0x1f, 0x00, 0x0c, 0x04, 0x4c, 0x00, 0x37, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0xff, 0x74, 0x04, 0x3c, 0xff, 0x3a, 
    -	0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 
    -	0x04, 0x3c, 0x00, 0x4d, 0x04, 0x98, 0x00, 0x88, 0x04, 0x3c, 0x00, 0x4d, 
    -	0x02, 0x59, 0x00, 0x9a, 0x02, 0x32, 0x00, 0x85, 0x02, 0x59, 0x00, 0x89, 
    -	0x02, 0x23, 0x00, 0x6e, 0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 
    -	0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0x00, 0x5c, 
    -	0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0xff, 0xd3, 0x04, 0x84, 0xff, 0x59, 
    -	0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0x00, 0x5c, 
    -	0x04, 0x84, 0x00, 0x43, 0x05, 0x77, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x43, 
    -	0x05, 0x9b, 0x00, 0x57, 0x04, 0xa7, 0x00, 0x43, 0x05, 0x9b, 0x00, 0x57, 
    -	0x04, 0xa7, 0x00, 0x43, 0x05, 0x9b, 0x00, 0x57, 0x04, 0xa7, 0x00, 0x43, 
    -	0x05, 0x9b, 0x00, 0x57, 0x04, 0xa7, 0x00, 0x43, 0x05, 0x9b, 0x00, 0x57, 
    -	0x04, 0xa7, 0x00, 0x43, 0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 
    -	0x05, 0x7f, 0x00, 0x78, 0x04, 0x84, 0x00, 0x69, 0x05, 0xb4, 0x00, 0x78, 
    -	0x04, 0x8e, 0x00, 0x69, 0x05, 0xb4, 0x00, 0x78, 0x04, 0x8e, 0x00, 0x69, 
    -	0x05, 0xb4, 0x00, 0x78, 0x04, 0x8e, 0x00, 0x69, 0x05, 0xb4, 0x00, 0x78, 
    -	0x04, 0x8e, 0x00, 0x69, 0x05, 0xb4, 0x00, 0x78, 0x04, 0x8e, 0x00, 0x69, 
    -	0x05, 0x0c, 0x00, 0x05, 0x04, 0x16, 0x00, 0x05, 0x05, 0x0c, 0x00, 0x05, 
    -	0x04, 0x16, 0x00, 0x05, 0x05, 0x0c, 0x00, 0x05, 0x04, 0x16, 0x00, 0x05, 
    -	0x05, 0x0c, 0x00, 0x05, 0x04, 0x16, 0x00, 0x05, 0x05, 0x77, 0xff, 0x41, 
    -	0x04, 0x14, 0x00, 0x00, 0x08, 0x29, 0x00, 0x00, 0x04, 0x14, 0x00, 0x00, 
    -	0x08, 0x29, 0x00, 0x00, 0x02, 0xb9, 0x00, 0x00, 0x02, 0x0a, 0x00, 0x00, 
    -	0x01, 0x5c, 0x00, 0x00, 0x04, 0x7f, 0x00, 0x00, 0x02, 0x30, 0x00, 0x00, 
    -	0x01, 0xa2, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x05, 0x85, 0x00, 0x97, 0x06, 0x86, 0x00, 0x99, 0x06, 0x86, 0x00, 0x99, 
    -	0x03, 0x91, 0x00, 0x02, 0x01, 0x95, 0x00, 0x32, 0x01, 0x95, 0x00, 0x39, 
    -	0x01, 0x96, 0x00, 0x32, 0x01, 0xad, 0x00, 0x11, 0x02, 0xe6, 0x00, 0x32, 
    -	0x02, 0xee, 0x00, 0x39, 0x02, 0xdc, 0x00, 0x32, 0x04, 0x4e, 0x00, 0x39, 
    -	0x04, 0xa2, 0x00, 0x62, 0x02, 0xe1, 0x00, 0x87, 0x04, 0x2e, 0x00, 0x90, 
    -	0x05, 0xef, 0x00, 0x90, 0x07, 0xae, 0x00, 0x59, 0x01, 0x4a, 0x00, 0x32, 
    -	0x02, 0x90, 0x00, 0x32, 0x02, 0x7f, 0x00, 0x6c, 0x02, 0x6b, 0x00, 0x50, 
    -	0x04, 0x5a, 0x00, 0x86, 0x03, 0x91, 0x00, 0x1d, 0x03, 0xa5, 0x00, 0x36, 
    -	0x03, 0x58, 0x00, 0x56, 0x04, 0x9e, 0x00, 0x12, 0x04, 0xc0, 0x00, 0x58, 
    -	0x06, 0xe4, 0x00, 0x8d, 0x04, 0xa2, 0x00, 0x43, 0x04, 0x5c, 0x00, 0x47, 
    -	0x05, 0xe0, 0x00, 0x64, 0x03, 0xf4, 0x00, 0x1a, 0x08, 0xc3, 0x00, 0x7f, 
    -	0x05, 0x0e, 0x00, 0x60, 0x05, 0x10, 0x00, 0x94, 0x06, 0xd4, 0x00, 0x5a, 
    -	0x07, 0x6c, 0x00, 0x5d, 0x07, 0x9c, 0x00, 0x5f, 0x07, 0x00, 0x00, 0x4e, 
    -	0x04, 0xd7, 0x00, 0x3f, 0x05, 0x8b, 0x00, 0xa4, 0x05, 0x06, 0x00, 0x39, 
    -	0x04, 0x71, 0x00, 0x92, 0x04, 0x83, 0x00, 0x37, 0x08, 0x60, 0x00, 0x60, 
    -	0x02, 0x38, 0xff, 0xa5, 0x04, 0x9d, 0x00, 0x65, 0x04, 0x6c, 0x00, 0x88, 
    -	0x04, 0x55, 0x00, 0x8d, 0x04, 0x57, 0x00, 0x89, 0x04, 0x30, 0x00, 0x1f, 
    -	0x01, 0xd4, 0x00, 0x3d, 0x04, 0xe1, 0x00, 0x14, 0x04, 0xff, 0x00, 0x1b, 
    -	0x07, 0xbd, 0x00, 0x1b, 0x07, 0xdb, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 
    -	0x08, 0x2c, 0x00, 0x57, 0x08, 0x35, 0x00, 0x5c, 0x02, 0x27, 0xff, 0xa9, 
    -	0x03, 0x46, 0x00, 0x72, 0x03, 0x82, 0x00, 0x5f, 0x03, 0x5e, 0x00, 0x57, 
    -	0x04, 0x4c, 0x00, 0x61, 0x04, 0x61, 0x00, 0x2a, 0x04, 0x2d, 0x00, 0x42, 
    -	0x04, 0x1b, 0x00, 0x4d, 0x02, 0x99, 0x00, 0x3e, 0x04, 0x95, 0x00, 0x61, 
    -	0x04, 0x5c, 0x00, 0x44, 0x04, 0x46, 0x00, 0x07, 0x04, 0x8e, 0x00, 0x1f, 
    -	0x06, 0x1d, 0x00, 0x28, 0x04, 0xa6, 0x00, 0x0f, 0x04, 0xfc, 0x00, 0x71, 
    -	0x04, 0x34, 0x00, 0x30, 0x04, 0x6f, 0x00, 0x43, 0x04, 0xa2, 0x00, 0x81, 
    -	0x04, 0xd5, 0x00, 0x5f, 0x04, 0xbf, 0x00, 0x6e, 0x04, 0xc9, 0x00, 0x5b, 
    -	0x05, 0x26, 0x00, 0x81, 0x03, 0xd3, 0x00, 0x9c, 0x06, 0x15, 0x00, 0x81, 
    -	0x03, 0xbc, 0x00, 0x81, 0x04, 0x8f, 0x00, 0x81, 0x04, 0x1f, 0x00, 0x1c, 
    -	0x02, 0x27, 0x00, 0x81, 0x05, 0x2a, 0x00, 0x81, 0x04, 0xe3, 0x00, 0x5f, 
    -	0x04, 0x35, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 0x04, 0xb4, 0x00, 0x81, 
    -	0x04, 0x96, 0x00, 0x5f, 0x04, 0xa2, 0x00, 0x81, 0x02, 0x01, 0x00, 0x7d, 
    -	0x03, 0x9d, 0x00, 0x6a, 0x04, 0xd7, 0x00, 0x0f, 0x04, 0x07, 0x00, 0x5a, 
    -	0x04, 0x07, 0xff, 0x10, 0x04, 0x07, 0x00, 0x56, 0x04, 0x07, 0x00, 0x57, 
    -	0x03, 0x9d, 0x00, 0x6a, 0x03, 0x9d, 0x00, 0x6b, 0x03, 0x9d, 0x00, 0x6a, 
    -	0x01, 0xdb, 0x00, 0x5a, 0x02, 0x6a, 0x00, 0x21, 0x02, 0x1b, 0xff, 0x9e, 
    -	0x03, 0x44, 0xff, 0x9c, 0x03, 0x2f, 0x00, 0x2d, 0x04, 0x97, 0x00, 0x4e, 
    -	0x04, 0xa2, 0x00, 0x46, 0x04, 0x9f, 0x00, 0x3d, 0x04, 0x9f, 0x00, 0x6e, 
    -	0x04, 0x9f, 0x00, 0x6e, 0x03, 0xf0, 0x00, 0x0f, 0x04, 0xbe, 0x00, 0x5b, 
    -	0x04, 0x9f, 0x00, 0x56, 0x04, 0xa2, 0x00, 0x81, 0x04, 0x48, 0x00, 0x42, 
    -	0x03, 0x6e, 0x00, 0x67, 0x03, 0x6e, 0x00, 0x61, 0x03, 0x80, 0x00, 0x40, 
    -	0x03, 0x5e, 0x00, 0x59, 0x03, 0x4d, 0x00, 0x66, 0x02, 0xaa, 0x00, 0x90, 
    -	0x02, 0x38, 0x00, 0x4e, 0x03, 0x97, 0x00, 0x67, 0x04, 0x2c, 0x00, 0x36, 
    -	0x04, 0x58, 0x00, 0x4c, 0x03, 0x9d, 0x00, 0x30, 0x02, 0xeb, 0x00, 0x42, 
    -	0x03, 0x8e, 0x00, 0x6a, 0x04, 0xb4, 0xff, 0xdf, 0x04, 0xb4, 0xff, 0xdf, 
    -	0x04, 0x34, 0x00, 0x30, 0x04, 0xd7, 0x00, 0x0f, 0x04, 0xd7, 0x00, 0x0f, 
    -	0x04, 0xd7, 0x00, 0x0f, 0x04, 0xd7, 0x00, 0x0f, 0x04, 0xd7, 0x00, 0x0f, 
    -	0x04, 0xd7, 0x00, 0x0f, 0x04, 0xd7, 0x00, 0x0f, 0x04, 0x96, 0x00, 0x5f, 
    -	0x04, 0x46, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 
    -	0x04, 0x46, 0x00, 0x81, 0x02, 0x27, 0xff, 0xad, 0x02, 0x27, 0x00, 0x7f, 
    -	0x02, 0x27, 0xff, 0xa7, 0x02, 0x27, 0xff, 0x96, 0x05, 0x26, 0x00, 0x81, 
    -	0x04, 0xc9, 0x00, 0x5b, 0x04, 0xc9, 0x00, 0x5b, 0x04, 0xc9, 0x00, 0x5b, 
    -	0x04, 0xc9, 0x00, 0x5b, 0x04, 0xc9, 0x00, 0x5b, 0x04, 0xfc, 0x00, 0x71, 
    -	0x04, 0xfc, 0x00, 0x71, 0x04, 0xfc, 0x00, 0x71, 0x04, 0xfc, 0x00, 0x71, 
    -	0x04, 0x46, 0x00, 0x07, 0x04, 0xd7, 0x00, 0x0f, 0x04, 0xd7, 0x00, 0x0f, 
    -	0x04, 0xd7, 0x00, 0x0f, 0x04, 0x96, 0x00, 0x5f, 0x04, 0x96, 0x00, 0x5f, 
    -	0x04, 0x96, 0x00, 0x5f, 0x04, 0x96, 0x00, 0x5f, 0x04, 0xb4, 0x00, 0x81, 
    -	0x04, 0x46, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 
    -	0x04, 0x46, 0x00, 0x81, 0x04, 0x46, 0x00, 0x81, 0x04, 0xe3, 0x00, 0x5f, 
    -	0x04, 0xe3, 0x00, 0x5f, 0x04, 0xe3, 0x00, 0x5f, 0x04, 0xe3, 0x00, 0x5f, 
    -	0x05, 0x2a, 0x00, 0x81, 0x02, 0x27, 0xff, 0x9e, 0x04, 0xfc, 0x00, 0x71, 
    -	0x02, 0x27, 0xff, 0xbb, 0x02, 0x27, 0x00, 0x3d, 0x02, 0x27, 0x00, 0x7a, 
    -	0x04, 0x1f, 0x00, 0x1c, 0x04, 0x8f, 0x00, 0x81, 0x03, 0xbc, 0x00, 0x50, 
    -	0x03, 0xbc, 0x00, 0x81, 0x03, 0xbc, 0x00, 0x81, 0x03, 0xbc, 0x00, 0x81, 
    -	0x05, 0x26, 0x00, 0x81, 0x05, 0x26, 0x00, 0x81, 0x05, 0x26, 0x00, 0x81, 
    -	0x04, 0xc9, 0x00, 0x5b, 0x04, 0xc9, 0x00, 0x5b, 0x04, 0xc9, 0x00, 0x5b, 
    -	0x04, 0xa2, 0x00, 0x81, 0x04, 0xa2, 0x00, 0x81, 0x04, 0xa2, 0x00, 0x81, 
    -	0x04, 0x6f, 0x00, 0x43, 0x04, 0x6f, 0x00, 0x43, 0x04, 0x6f, 0x00, 0x43, 
    -	0x04, 0x6f, 0x00, 0x43, 0x04, 0x34, 0x00, 0x30, 0x04, 0x34, 0x00, 0x30, 
    -	0x04, 0xfc, 0x00, 0x71, 0x04, 0xfc, 0x00, 0x71, 0x04, 0xfc, 0x00, 0x71, 
    -	0x04, 0xfc, 0x00, 0x71, 0x08, 0xde, 0x00, 0x43, 0x04, 0x5c, 0x00, 0x44, 
    -	0x04, 0x5c, 0x00, 0x44, 0x04, 0x5c, 0x00, 0x44, 0x04, 0x46, 0x00, 0x07, 
    -	0x04, 0x46, 0x00, 0x07, 0x06, 0x1d, 0x00, 0x28, 0x04, 0xfc, 0x00, 0x71, 
    -	0x05, 0xfc, 0x00, 0x1e, 0x06, 0x33, 0x00, 0x25, 0x05, 0xfd, 0x00, 0x1b, 
    -	0x07, 0xf0, 0x00, 0x12, 0x05, 0x0d, 0x00, 0x24, 0x06, 0x8b, 0x00, 0x49, 
    -	0x07, 0xa9, 0x00, 0x85, 0x08, 0x2e, 0x00, 0x85, 0x06, 0x2b, 0x00, 0x1a, 
    -	0x05, 0x03, 0x00, 0x84, 0x04, 0xcd, 0xff, 0xef, 0x04, 0x8f, 0x00, 0x54, 
    -	0x05, 0x0f, 0x00, 0x21, 0x06, 0xda, 0x00, 0x19, 0x04, 0x1d, 0x00, 0x46, 
    -	0x05, 0xd9, 0x00, 0x44, 0x05, 0x42, 0x00, 0x22, 0x07, 0x8a, 0x00, 0x7b, 
    -	0x06, 0x94, 0x00, 0x63, 0x04, 0x77, 0xff, 0xe6, 0x07, 0x24, 0x00, 0x81, 
    -	0x06, 0x0a, 0x00, 0x74, 0x05, 0x82, 0x00, 0x61, 0x04, 0x84, 0x00, 0x41, 
    -	0x05, 0x23, 0x00, 0x0d, 0x05, 0x23, 0x00, 0x0d, 0x07, 0x88, 0x00, 0x7b, 
    -	0x06, 0x79, 0x00, 0x6c, 0x07, 0x8b, 0x00, 0x7b, 0x06, 0x94, 0x00, 0x63, 
    -	0x04, 0x77, 0xff, 0xe6, 0x05, 0x08, 0x00, 0x88, 0x04, 0x82, 0x00, 0x70, 
    -	0x04, 0x7d, 0x00, 0x88, 0x04, 0x3d, 0x00, 0x6b, 0x07, 0xf0, 0x00, 0x12, 
    -	0x06, 0xda, 0x00, 0x19, 0x04, 0xec, 0x00, 0x57, 0x04, 0x1d, 0x00, 0x46, 
    -	0x06, 0x9c, 0x00, 0x25, 0x05, 0xba, 0x00, 0x3a, 0x08, 0x5d, 0x00, 0x88, 
    -	0x06, 0xed, 0x00, 0x6b, 0x06, 0x65, 0x00, 0x61, 0x05, 0x2c, 0x00, 0x54, 
    -	0x05, 0x1d, 0x00, 0x5d, 0x04, 0x24, 0x00, 0x3e, 0x06, 0x11, 0xff, 0xee, 
    -	0x04, 0xc9, 0xff, 0xbc, 0x07, 0xf0, 0x00, 0x12, 0x06, 0xda, 0x00, 0x19, 
    -	0x05, 0x30, 0x00, 0x84, 0x04, 0x92, 0x00, 0x81, 0x05, 0x82, 0x00, 0x61, 
    -	0x04, 0x84, 0x00, 0x41, 0x05, 0x82, 0x00, 0x61, 0x04, 0x84, 0x00, 0x41, 
    -	0x05, 0x0d, 0x00, 0x24, 0x00, 0x24, 0x00, 0x24, 0x00, 0x00, 0x04, 0x0b, 
    -	0x07, 0x01, 0x07, 0x07, 0x01, 0x28, 0x16, 0x01, 0x01, 0x01, 0x01, 0x25, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0e, 0x1f, 0x06, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0d, 0x2f, 0x01, 0x01, 0x0d, 
    -	0x01, 0x0d, 0x1f, 0x22, 0x1a, 0x20, 0x01, 0x01, 0x09, 0x01, 0x17, 0x01, 
    -	0x2b, 0x2e, 0x01, 0x01, 0x01, 0x01, 0x1d, 0x01, 0x01, 0x20, 0x1d, 0x20, 
    -	0x01, 0x01, 0x20, 0x20, 0x01, 0x01, 0x2b, 0x01, 0x1b, 0x20, 0x20, 0x20, 
    -	0x20, 0x01, 0x01, 0x01, 0x20, 0x2f, 0x01, 0x2f, 0x2f, 0x2f, 0x01, 0x01, 
    -	0x01, 0x1c, 0x07, 0x1f, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 
    -	0x01, 0x01, 0x28, 0x01, 0x01, 0x01, 0x1c, 0x01, 0x1a, 0x01, 0x01, 0x12, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x19, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x1a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x2f, 
    -	0x2f, 0x2f, 0x01, 0x0d, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x01, 0x01, 0x09, 
    -	0x09, 0x09, 0x09, 0x2b, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x1d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 
    -	0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 
    -	0x01, 0x2f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1d, 0x01, 0x1d, 
    -	0x01, 0x1d, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 
    -	0x01, 0x20, 0x0d, 0x20, 0x01, 0x01, 0x2f, 0x01, 0x2f, 0x01, 0x2f, 0x01, 
    -	0x2f, 0x01, 0x2f, 0x01, 0x01, 0x20, 0x01, 0x01, 0x01, 0x2b, 0x22, 0x0d, 
    -	0x01, 0x0d, 0x01, 0x0d, 0x01, 0x0d, 0x0d, 0x01, 0x01, 0x0d, 0x20, 0x0d, 
    -	0x20, 0x0d, 0x20, 0x20, 0x01, 0x20, 0x1f, 0x20, 0x1f, 0x20, 0x1f, 0x20, 
    -	0x01, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x20, 
    -	0x09, 0x20, 0x09, 0x20, 0x09, 0x20, 0x09, 0x20, 0x09, 0x20, 0x17, 0x01, 
    -	0x2b, 0x2f, 0x2b, 0x2e, 0x2f, 0x2e, 0x2f, 0x2e, 0x2f, 0x1a, 0x01, 0x01, 
    -	0x32, 0x01, 0x25, 0x01, 0x01, 0x01, 0x1a, 0x01, 0x01, 0x20, 0x01, 0x01, 
    -	0x01, 0x31, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0b, 0x01, 0x01, 0x05, 0x01, 0x01, 
    -	0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 0x24, 0x01, 0x01, 0x2e, 0x0d, 0x01, 
    -	0x2f, 0x01, 0x01, 0x01, 0x0d, 0x17, 0x1f, 0x0d, 0x22, 0x17, 0x01, 0x2b, 
    -	0x01, 0x01, 0x01, 0x01, 0x2f, 0x2b, 0x01, 0x2d, 0x20, 0x01, 0x20, 0x01, 
    -	0x01, 0x2f, 0x20, 0x2d, 0x01, 0x20, 0x0c, 0x01, 0x22, 0x01, 0x12, 0x2f, 
    -	0x2b, 0x20, 0x30, 0x20, 0x25, 0x01, 0x01, 0x20, 0x03, 0x2b, 0x01, 0x01, 
    -	0x01, 0x20, 0x20, 0x20, 0x01, 0x22, 0x18, 0x01, 0x01, 0x01, 0x24, 0x01, 
    -	0x01, 0x2f, 0x2f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x24, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0d, 0x1f, 0x0d, 
    -	0x22, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 0x01, 0x20, 0x01, 
    -	0x01, 0x20, 0x20, 0x22, 0x01, 0x31, 0x20, 0x20, 0x20, 0x20, 0x1d, 0x17, 
    -	0x2f, 0x2f, 0x01, 0x01, 0x01, 0x11, 0x04, 0x01, 0x01, 0x09, 0x20, 0x01, 
    -	0x01, 0x20, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0c, 0x20, 0x22, 
    -	0x20, 0x2f, 0x20, 0x01, 0x01, 0x01, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x25, 0x01, 0x01, 0x01, 0x2f, 0x2f, 0x32, 0x01, 0x01, 0x20, 0x05, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 0x01, 0x01, 
    -	0x24, 0x01, 0x01, 0x22, 0x01, 0x01, 0x11, 0x01, 0x0d, 0x20, 0x01, 0x01, 
    -	0x01, 0x17, 0x2b, 0x2f, 0x2b, 0x2f, 0x01, 0x2f, 0x06, 0x20, 0x01, 0x01, 
    -	0x01, 0x22, 0x1a, 0x22, 0x01, 0x01, 0x2f, 0x01, 0x01, 0x0d, 0x20, 0x0d, 
    -	0x20, 0x01, 0x01, 0x01, 0x31, 0x2f, 0x01, 0x01, 0x01, 0x01, 0x1a, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x20, 0x01, 0x20, 0x1f, 0x20, 0x20, 0x01, 0x2f, 0x2f, 0x2f, 0x01, 
    -	0x01, 0x24, 0x01, 0x01, 0x04, 0x01, 0x01, 0x01, 0x2f, 0x01, 0x2f, 0x01, 
    -	0x20, 0x01, 0x01, 0x01, 0x16, 0x29, 0x01, 0x2d, 0x01, 0x01, 0x01, 0x10, 
    -	0x01, 0x01, 0x01, 0x01, 0x2d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1b, 0x17, 
    -	0x01, 0x17, 0x01, 0x17, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x01, 0x2f, 
    -	0x01, 0x1f, 0x20, 0x1f, 0x20, 0x1f, 0x20, 0x1f, 0x20, 0x1f, 0x20, 0x1f, 
    -	0x20, 0x1f, 0x20, 0x01, 0x32, 0x01, 0x32, 0x01, 0x32, 0x01, 0x32, 0x01, 
    -	0x32, 0x09, 0x20, 0x09, 0x20, 0x01, 0x25, 0x01, 0x25, 0x01, 0x25, 0x01, 
    -	0x25, 0x01, 0x25, 0x2b, 0x2f, 0x2b, 0x2f, 0x2b, 0x2f, 0x2b, 0x2f, 0x1f, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x14, 0x14, 0x26, 0x31, 0x31, 0x01, 0x20, 0x29, 0x10, 0x01, 0x01, 
    -	0x01, 0x01, 0x17, 0x01, 0x01, 0x01, 0x28, 0x09, 0x01, 0x23, 0x26, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x10, 0x01, 
    -	0x08, 0x01, 0x01, 0x14, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x0e, 0x01, 
    -	0x25, 0x30, 0x01, 0x01, 0x01, 0x0d, 0x2f, 0x1d, 0x01, 0x18, 0x01, 0x28, 
    -	0x01, 0x01, 0x01, 0x01, 0x16, 0x01, 0x01, 0x15, 0x31, 0x01, 0x01, 0x25, 
    -	0x01, 0x26, 0x05, 0x01, 0x2f, 0x01, 0x19, 0x11, 0x01, 0x01, 0x01, 0x31, 
    -	0x01, 0x01, 0x01, 0x28, 0x19, 0x1c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x14, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1d, 0x01, 0x01, 
    -	0x01, 0x32, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x0f, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01, 0x26, 
    -	0x01, 0x01, 0x01, 0x01, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x28, 0x28, 0x28, 0x28, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x05, 0x05, 0x05, 0x05, 0x01, 0x14, 0x14, 0x14, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1c, 0x1c, 0x1c, 0x1c, 
    -	0x19, 0x28, 0x05, 0x28, 0x28, 0x28, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x2f, 0x2f, 
    -	0x2f, 0x01, 0x01, 0x05, 0x05, 0x05, 0x05, 0x18, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x05, 0x03, 0x15, 0x03, 0x01, 0x01, 0x01, 0x01, 0x17, 0x01, 
    -	0x01, 0x01, 0x01, 0x23, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 
    -	0x01, 0x01, 0x20, 0x08, 0x08, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2d, 0x22, 0x2a, 0x01, 0x01, 
    -	0x01, 0x1d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x20, 0x01, 0x20, 
    -	0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 
    -	0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 
    -	0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x03, 0xb0, 
    -	0x00, 0x00, 0x00, 0xac, 0x00, 0x80, 0x00, 0x06, 0x00, 0x2c, 0x00, 0x0d, 
    -	0x00, 0x7e, 0x01, 0x7f, 0x01, 0x92, 0x01, 0xa1, 0x01, 0xb0, 0x01, 0xf0, 
    -	0x01, 0xff, 0x02, 0x19, 0x02, 0x37, 0x02, 0xbc, 0x02, 0xc7, 0x02, 0xc9, 
    -	0x02, 0xdd, 0x02, 0xf3, 0x03, 0x01, 0x03, 0x03, 0x03, 0x09, 0x03, 0x0f, 
    -	0x03, 0x23, 0x03, 0x8a, 0x03, 0x8c, 0x03, 0xa1, 0x03, 0xce, 0x03, 0xd2, 
    -	0x03, 0xd6, 0x04, 0x16, 0x04, 0x22, 0x04, 0x37, 0x04, 0x43, 0x04, 0x4a, 
    -	0x04, 0x5f, 0x04, 0x65, 0x04, 0x71, 0x04, 0x7f, 0x04, 0x86, 0x04, 0x8c, 
    -	0x04, 0xab, 0x04, 0xbd, 0x04, 0xc4, 0x04, 0xe7, 0x04, 0xf2, 0x05, 0x13, 
    -	0x1e, 0x01, 0x1e, 0x3f, 0x1e, 0x85, 0x1e, 0xf9, 0x1f, 0x4d, 0x20, 0x0b, 
    -	0x20, 0x15, 0x20, 0x1e, 0x20, 0x22, 0x20, 0x26, 0x20, 0x30, 0x20, 0x33, 
    -	0x20, 0x3a, 0x20, 0x3c, 0x20, 0x44, 0x20, 0x74, 0x20, 0x7f, 0x20, 0xa4, 
    -	0x20, 0xa7, 0x20, 0xac, 0x21, 0x05, 0x21, 0x13, 0x21, 0x16, 0x21, 0x22, 
    -	0x21, 0x26, 0x21, 0x2e, 0x21, 0x5e, 0x22, 0x02, 0x22, 0x06, 0x22, 0x0f, 
    -	0x22, 0x12, 0x22, 0x1a, 0x22, 0x1e, 0x22, 0x2b, 0x22, 0x48, 0x22, 0x60, 
    -	0x22, 0x65, 0x25, 0xca, 0xf6, 0xc3, 0xfb, 0x04, 0xfe, 0xff, 0xff, 0xfd, 
    -	0xff, 0xff, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x20, 0x00, 0xa0, 0x01, 0x92, 
    -	0x01, 0xa0, 0x01, 0xaf, 0x01, 0xf0, 0x01, 0xfa, 0x02, 0x18, 0x02, 0x37, 
    -	0x02, 0xbc, 0x02, 0xc6, 0x02, 0xc9, 0x02, 0xd8, 0x02, 0xf3, 0x03, 0x00, 
    -	0x03, 0x03, 0x03, 0x09, 0x03, 0x0f, 0x03, 0x23, 0x03, 0x84, 0x03, 0x8c, 
    -	0x03, 0x8e, 0x03, 0xa3, 0x03, 0xd1, 0x03, 0xd6, 0x04, 0x00, 0x04, 0x17, 
    -	0x04, 0x23, 0x04, 0x38, 0x04, 0x44, 0x04, 0x4b, 0x04, 0x60, 0x04, 0x66, 
    -	0x04, 0x72, 0x04, 0x80, 0x04, 0x88, 0x04, 0x8d, 0x04, 0xac, 0x04, 0xbe, 
    -	0x04, 0xc5, 0x04, 0xe8, 0x04, 0xf3, 0x1e, 0x00, 0x1e, 0x3e, 0x1e, 0x80, 
    -	0x1e, 0xa0, 0x1f, 0x4d, 0x20, 0x00, 0x20, 0x13, 0x20, 0x17, 0x20, 0x20, 
    -	0x20, 0x25, 0x20, 0x30, 0x20, 0x32, 0x20, 0x39, 0x20, 0x3c, 0x20, 0x44, 
    -	0x20, 0x74, 0x20, 0x7f, 0x20, 0xa3, 0x20, 0xa7, 0x20, 0xab, 0x21, 0x05, 
    -	0x21, 0x13, 0x21, 0x16, 0x21, 0x22, 0x21, 0x26, 0x21, 0x2e, 0x21, 0x5b, 
    -	0x22, 0x02, 0x22, 0x06, 0x22, 0x0f, 0x22, 0x11, 0x22, 0x1a, 0x22, 0x1e, 
    -	0x22, 0x2b, 0x22, 0x48, 0x22, 0x60, 0x22, 0x64, 0x25, 0xca, 0xf6, 0xc3, 
    -	0xfb, 0x01, 0xfe, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xe3, 
    -	0xff, 0xc2, 0xff, 0xb0, 0xff, 0xa3, 0xff, 0x96, 0xff, 0x57, 0xff, 0x4e, 
    -	0xff, 0x36, 0xff, 0x19, 0xfe, 0x95, 0xfe, 0x8c, 0xfd, 0xa8, 0xfe, 0x7c, 
    -	0xfe, 0x67, 0xfe, 0x5b, 0xfe, 0x5a, 0xfe, 0x55, 0xfe, 0x50, 0xfe, 0x3d, 
    -	0xfd, 0xdd, 0xfd, 0xdc, 0xfd, 0xdb, 0xfd, 0xda, 0xfd, 0xd8, 0xfd, 0xd5, 
    -	0x00, 0x00, 0xfd, 0xa8, 0x00, 0x00, 0xfd, 0x9d, 0x00, 0x00, 0xfd, 0x9b, 
    -	0x00, 0x00, 0xfd, 0x96, 0x00, 0x00, 0xfd, 0x8e, 0xfd, 0x8d, 0x00, 0x00, 
    -	0xfd, 0x7c, 0x00, 0x00, 0xfd, 0x76, 0x00, 0x00, 0xfd, 0x6f, 0xe4, 0x83, 
    -	0xe4, 0x47, 0xe4, 0x07, 0xe3, 0xed, 0xe3, 0x9a, 0xe2, 0xe8, 0xe2, 0xe1, 
    -	0xe2, 0xe0, 0xe2, 0xdf, 0xe2, 0xdd, 0xe2, 0xd4, 0xe2, 0xd3, 0xe2, 0xce, 
    -	0xe2, 0xcd, 0xe2, 0xc6, 0xe2, 0x97, 0xe2, 0x8d, 0xe2, 0x6a, 0xe2, 0x68, 
    -	0xe2, 0x65, 0xe2, 0x0d, 0xe2, 0x00, 0xe1, 0xfe, 0xe1, 0xf3, 0xe0, 0x5d, 
    -	0xe1, 0xe8, 0xe1, 0xbc, 0xe1, 0x19, 0xdf, 0x69, 0xe1, 0x0d, 0xe1, 0x0c, 
    -	0xe1, 0x05, 0xe1, 0x02, 0xe0, 0xf6, 0xe0, 0xda, 0xe0, 0xc3, 0xe0, 0xc0, 
    -	0xdd, 0x5c, 0x0c, 0x64, 0x08, 0x27, 0x04, 0x2d, 0x03, 0x31, 0x00, 0x01, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 
    -	0x00, 0xc8, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x01, 0x2a, 0x00, 0x00, 0x01, 0x34, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x01, 0xac, 0x01, 0xad, 0x03, 0xcf, 0x01, 0xae, 
    -	0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 
    -	0x01, 0xb5, 0x03, 0xd0, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb9, 
    -	0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x03, 0xd1, 0x01, 0xbe, 
    -	0x03, 0xd2, 0x03, 0xd3, 0x03, 0xd4, 0x01, 0xcb, 0x01, 0xcc, 0x01, 0xcd, 
    -	0x03, 0xd5, 0x03, 0xd6, 0x03, 0xd7, 0x01, 0xce, 0x03, 0xd8, 0x01, 0xcf, 
    -	0x01, 0xd0, 0x03, 0xd9, 0x01, 0xd1, 0x03, 0xda, 0x01, 0xd2, 0x01, 0xd3, 
    -	0x03, 0xdb, 0x01, 0xd4, 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xde, 0x01, 0xe1, 
    -	0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe4, 0x01, 0xe5, 0x03, 0xdf, 0x03, 0xe0, 
    -	0x03, 0xe1, 0x01, 0xfb, 0x03, 0xe2, 0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe5, 
    -	0x03, 0xe6, 0x03, 0xe7, 0x02, 0x08, 0x03, 0xe8, 0x02, 0x09, 0x02, 0x0a, 
    -	0x02, 0x0b, 0x02, 0x0c, 0x02, 0x0d, 0x03, 0xe9, 0x03, 0xea, 0x03, 0xeb, 
    -	0x03, 0xec, 0x03, 0xed, 0x03, 0xee, 0x03, 0xef, 0x02, 0x1a, 0x02, 0x1b, 
    -	0x02, 0x1c, 0x02, 0x1d, 0x03, 0xf0, 0x03, 0xf1, 0x03, 0xf2, 0x03, 0xf3, 
    -	0x03, 0xf4, 0x03, 0xf5, 0x02, 0x1e, 0x02, 0x1f, 0x02, 0x20, 0x02, 0x21, 
    -	0x02, 0x22, 0x02, 0x23, 0x03, 0xf6, 0x03, 0xf7, 0x02, 0x24, 0x02, 0x25, 
    -	0x02, 0x26, 0x02, 0x27, 0x03, 0xf8, 0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfb, 
    -	0x03, 0xfc, 0x03, 0xfd, 0x03, 0xfe, 0x03, 0xff, 0x02, 0x3a, 0x04, 0x00, 
    -	0x04, 0x01, 0x04, 0x02, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x04, 0x06, 
    -	0x04, 0x07, 0x02, 0x5e, 0x02, 0x5f, 0x04, 0x08, 0x02, 0x60, 0x04, 0x09, 
    -	0x02, 0x61, 0x04, 0x0a, 0x00, 0x06, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x0d, 
    -	0x00, 0xf3, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 
    -	0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 
    -	0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 
    -	0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 
    -	0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 
    -	0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 
    -	0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 
    -	0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 
    -	0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 
    -	0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 
    -	0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 
    -	0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 
    -	0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 
    -	0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 
    -	0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 
    -	0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 
    -	0x00, 0x61, 0x00, 0x00, 0x00, 0x86, 0x00, 0x87, 0x00, 0x89, 0x00, 0x8b, 
    -	0x00, 0x93, 0x00, 0x98, 0x00, 0x9e, 0x00, 0xa3, 0x00, 0xa2, 0x00, 0xa4, 
    -	0x00, 0xa6, 0x00, 0xa5, 0x00, 0xa7, 0x00, 0xa9, 0x00, 0xab, 0x00, 0xaa, 
    -	0x00, 0xac, 0x00, 0xad, 0x00, 0xaf, 0x00, 0xae, 0x00, 0xb0, 0x00, 0xb1, 
    -	0x00, 0xb3, 0x00, 0xb5, 0x00, 0xb4, 0x00, 0xb6, 0x00, 0xb8, 0x00, 0xb7, 
    -	0x00, 0xbc, 0x00, 0xbb, 0x00, 0xbd, 0x00, 0xbe, 0x02, 0xff, 0x00, 0x72, 
    -	0x00, 0x64, 0x00, 0x65, 0x00, 0x69, 0x03, 0x01, 0x00, 0x78, 0x00, 0xa1, 
    -	0x00, 0x70, 0x00, 0x6b, 0x03, 0x15, 0x00, 0x76, 0x00, 0x6a, 0x03, 0x23, 
    -	0x00, 0x88, 0x00, 0x9a, 0x03, 0x20, 0x00, 0x73, 0x03, 0x24, 0x03, 0x25, 
    -	0x00, 0x67, 0x00, 0x77, 0x03, 0x1b, 0x03, 0x1d, 0x03, 0x1c, 0x01, 0x9a, 
    -	0x03, 0x21, 0x00, 0x6c, 0x00, 0x7c, 0x01, 0x83, 0x00, 0xa8, 0x00, 0xba, 
    -	0x00, 0x81, 0x00, 0x63, 0x00, 0x6e, 0x03, 0x1f, 0x01, 0x42, 0x03, 0x22, 
    -	0x01, 0x6f, 0x00, 0x6d, 0x00, 0x7d, 0x03, 0x03, 0x00, 0x62, 0x00, 0x82, 
    -	0x00, 0x85, 0x00, 0x97, 0x01, 0x14, 0x01, 0x15, 0x02, 0xf4, 0x02, 0xf5, 
    -	0x02, 0xfc, 0x02, 0xfd, 0x02, 0xf8, 0x02, 0xf9, 0x00, 0xb9, 0x03, 0x26, 
    -	0x00, 0xc1, 0x01, 0x3a, 0x03, 0x0a, 0x03, 0x11, 0x03, 0x07, 0x03, 0x08, 
    -	0x03, 0x28, 0x03, 0x29, 0x03, 0x00, 0x00, 0x79, 0x02, 0xfa, 0x02, 0xfe, 
    -	0x03, 0x04, 0x00, 0x84, 0x00, 0x8c, 0x00, 0x83, 0x00, 0x8d, 0x00, 0x8a, 
    -	0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x8e, 0x00, 0x95, 0x00, 0x96, 
    -	0x00, 0x00, 0x00, 0x94, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9b, 0x00, 0xf3, 
    -	0x01, 0x52, 0x01, 0x58, 0x00, 0x71, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 
    -	0x00, 0x7a, 0x01, 0x59, 0x01, 0x57, 0x01, 0x53, 0xb0, 0x00, 0x2c, 0x4b, 
    -	0xb0, 0x09, 0x50, 0x58, 0xb1, 0x01, 0x01, 0x8e, 0x59, 0xb8, 0x01, 0xff, 
    -	0x85, 0xb0, 0x84, 0x1d, 0xb1, 0x09, 0x03, 0x5f, 0x5e, 0x2d, 0xb0, 0x01, 
    -	0x2c, 0x20, 0x20, 0x45, 0x69, 0x44, 0xb0, 0x01, 0x60, 0x2d, 0xb0, 0x02, 
    -	0x2c, 0xb0, 0x01, 0x2a, 0x21, 0x2d, 0xb0, 0x03, 0x2c, 0x20, 0x46, 0xb0, 
    -	0x03, 0x25, 0x46, 0x52, 0x58, 0x23, 0x59, 0x20, 0x8a, 0x20, 0x8a, 0x49, 
    -	0x64, 0x8a, 0x20, 0x46, 0x20, 0x68, 0x61, 0x64, 0xb0, 0x04, 0x25, 0x46, 
    -	0x20, 0x68, 0x61, 0x64, 0x52, 0x58, 0x23, 0x65, 0x8a, 0x59, 0x2f, 0x20, 
    -	0xb0, 0x00, 0x53, 0x58, 0x69, 0x20, 0xb0, 0x00, 0x54, 0x58, 0x21, 0xb0, 
    -	0x40, 0x59, 0x1b, 0x69, 0x20, 0xb0, 0x00, 0x54, 0x58, 0x21, 0xb0, 0x40, 
    -	0x65, 0x59, 0x59, 0x3a, 0x2d, 0xb0, 0x04, 0x2c, 0x20, 0x46, 0xb0, 0x04, 
    -	0x25, 0x46, 0x52, 0x58, 0x23, 0x8a, 0x59, 0x20, 0x46, 0x20, 0x6a, 0x61, 
    -	0x64, 0xb0, 0x04, 0x25, 0x46, 0x20, 0x6a, 0x61, 0x64, 0x52, 0x58, 0x23, 
    -	0x8a, 0x59, 0x2f, 0xfd, 0x2d, 0xb0, 0x05, 0x2c, 0x4b, 0x20, 0xb0, 0x03, 
    -	0x26, 0x50, 0x58, 0x51, 0x58, 0xb0, 0x80, 0x44, 0x1b, 0xb0, 0x40, 0x44, 
    -	0x59, 0x1b, 0x21, 0x21, 0x20, 0x45, 0xb0, 0xc0, 0x50, 0x58, 0xb0, 0xc0, 
    -	0x44, 0x1b, 0x21, 0x59, 0x59, 0x2d, 0xb0, 0x06, 0x2c, 0x20, 0x20, 0x45, 
    -	0x69, 0x44, 0xb0, 0x01, 0x60, 0x20, 0x20, 0x45, 0x7d, 0x69, 0x18, 0x44, 
    -	0xb0, 0x01, 0x60, 0x2d, 0xb0, 0x07, 0x2c, 0xb0, 0x06, 0x2a, 0x2d, 0xb0, 
    -	0x08, 0x2c, 0x4b, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0xb0, 0x40, 0x1b, 
    -	0xb0, 0x00, 0x59, 0x8a, 0x8a, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0x23, 
    -	0x21, 0xb0, 0x80, 0x8a, 0x8a, 0x1b, 0x8a, 0x23, 0x59, 0x20, 0xb0, 0x03, 
    -	0x26, 0x53, 0x58, 0x23, 0x21, 0xb0, 0xc0, 0x8a, 0x8a, 0x1b, 0x8a, 0x23, 
    -	0x59, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0x23, 0x21, 0xb8, 0x01, 0x00, 
    -	0x8a, 0x8a, 0x1b, 0x8a, 0x23, 0x59, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 
    -	0x23, 0x21, 0xb8, 0x01, 0x40, 0x8a, 0x8a, 0x1b, 0x8a, 0x23, 0x59, 0x20, 
    -	0xb0, 0x03, 0x26, 0x53, 0x58, 0xb0, 0x03, 0x25, 0x45, 0xb8, 0x01, 0x80, 
    -	0x50, 0x58, 0x23, 0x21, 0xb8, 0x01, 0x80, 0x23, 0x21, 0x1b, 0xb0, 0x03, 
    -	0x25, 0x45, 0x23, 0x21, 0x23, 0x21, 0x59, 0x1b, 0x21, 0x59, 0x44, 0x2d, 
    -	0xb0, 0x09, 0x2c, 0x4b, 0x53, 0x58, 0x45, 0x44, 0x1b, 0x21, 0x21, 0x59, 
    -	0x2d, 0xb0, 0x0a, 0x2c, 0xb0, 0x1c, 0x45, 0x2d, 0xb0, 0x0b, 0x2c, 0xb0, 
    -	0x1d, 0x45, 0x2d, 0xb0, 0x0c, 0x2c, 0xb1, 0x27, 0x01, 0x88, 0x20, 0x8a, 
    -	0x53, 0x58, 0xb9, 0x40, 0x00, 0x04, 0x00, 0x63, 0xb8, 0x08, 0x00, 0x88, 
    -	0x54, 0x58, 0xb9, 0x00, 0x1c, 0x03, 0xe8, 0x70, 0x59, 0x1b, 0xb0, 0x23, 
    -	0x53, 0x58, 0xb0, 0x20, 0x88, 0xb8, 0x10, 0x00, 0x54, 0x58, 0xb9, 0x00, 
    -	0x1c, 0x03, 0xe8, 0x70, 0x59, 0x59, 0x59, 0x2d, 0xb0, 0x0d, 0x2c, 0xb0, 
    -	0x40, 0x88, 0xb8, 0x20, 0x00, 0x5a, 0x58, 0xb1, 0x1d, 0x00, 0x44, 0x1b, 
    -	0xb9, 0x00, 0x1d, 0x03, 0xe8, 0x44, 0x59, 0x2d, 0xb0, 0x0c, 0x2b, 0xb0, 
    -	0x00, 0x2b, 0x00, 0xb2, 0x01, 0x09, 0x02, 0x2b, 0x00, 0xb7, 0x01, 0x33, 
    -	0x2a, 0x24, 0x1a, 0x10, 0x00, 0x08, 0x2b, 0xb7, 0x02, 0x3f, 0x33, 0x24, 
    -	0x1a, 0x10, 0x00, 0x08, 0x2b, 0xb7, 0x03, 0x43, 0x37, 0x2d, 0x1f, 0x12, 
    -	0x00, 0x08, 0x2b, 0xb7, 0x04, 0x46, 0x39, 0x2d, 0x1f, 0x12, 0x00, 0x08, 
    -	0x2b, 0xb7, 0x05, 0x4d, 0x3f, 0x31, 0x23, 0x15, 0x00, 0x08, 0x2b, 0xb7, 
    -	0x06, 0x49, 0x3c, 0x2f, 0x22, 0x14, 0x00, 0x08, 0x2b, 0xb7, 0x07, 0x6d, 
    -	0x59, 0x45, 0x32, 0x1a, 0x00, 0x08, 0x2b, 0xb7, 0x08, 0x51, 0x42, 0x33, 
    -	0x24, 0x17, 0x00, 0x08, 0x2b, 0xb7, 0x09, 0x43, 0x37, 0x2b, 0x1f, 0x17, 
    -	0x00, 0x08, 0x2b, 0x00, 0xb2, 0x0a, 0x09, 0x07, 0x2b, 0xb0, 0x00, 0x20, 
    -	0x45, 0x7d, 0x69, 0x18, 0x44, 0xb2, 0xd0, 0x0c, 0x01, 0x73, 0xb2, 0x30, 
    -	0x0c, 0x01, 0x73, 0xb2, 0x80, 0x0c, 0x01, 0x73, 0xb2, 0x70, 0x0c, 0x01, 
    -	0x73, 0xb2, 0x20, 0x0c, 0x01, 0x74, 0xb2, 0x3f, 0x0e, 0x01, 0x73, 0xb2, 
    -	0x5f, 0x0e, 0x01, 0x73, 0xb2, 0x7f, 0x0e, 0x01, 0x73, 0xb2, 0x2f, 0x0e, 
    -	0x01, 0x74, 0xb2, 0x4f, 0x0e, 0x01, 0x74, 0xb2, 0x6f, 0x0e, 0x01, 0x74, 
    -	0xb2, 0x8f, 0x0e, 0x01, 0x74, 0xb2, 0xaf, 0x0e, 0x01, 0x74, 0xb2, 0xff, 
    -	0x0e, 0x01, 0x74, 0xb2, 0x1f, 0x0e, 0x01, 0x75, 0xb2, 0x3f, 0x0e, 0x01, 
    -	0x75, 0xb2, 0x5f, 0x0e, 0x01, 0x75, 0xb2, 0x7f, 0x0e, 0x01, 0x75, 0xb2, 
    -	0x0f, 0x10, 0x01, 0x73, 0xb2, 0x7f, 0x10, 0x01, 0x73, 0xb2, 0xef, 0x10, 
    -	0x01, 0x73, 0xb2, 0x1f, 0x10, 0x01, 0x74, 0xb2, 0x5f, 0x10, 0x01, 0x74, 
    -	0xb2, 0x8f, 0x10, 0x01, 0x74, 0xb2, 0xcf, 0x10, 0x01, 0x74, 0xb2, 0xff, 
    -	0x10, 0x01, 0x74, 0xb2, 0x3f, 0x10, 0x01, 0x75, 0xb2, 0x6f, 0x10, 0x01, 
    -	0x75, 0xb2, 0xbf, 0x12, 0x01, 0x73, 0xb2, 0x2f, 0x12, 0x01, 0x74, 0xb2, 
    -	0x9f, 0x12, 0x01, 0x74, 0xb2, 0xbf, 0x12, 0x01, 0x74, 0xb2, 0x0f, 0x12, 
    -	0x01, 0x75, 0xb2, 0x2f, 0x12, 0x01, 0x75, 0xb2, 0x2f, 0x14, 0x01, 0x73, 
    -	0xb2, 0x5f, 0x14, 0x01, 0x73, 0xb2, 0xaf, 0x14, 0x01, 0x73, 0xb2, 0xff, 
    -	0x14, 0x01, 0x73, 0xb2, 0x4f, 0x14, 0x01, 0x74, 0xb2, 0xcf, 0x14, 0x01, 
    -	0x74, 0xb2, 0x9f, 0x14, 0x01, 0x74, 0xb2, 0x1f, 0x14, 0x01, 0x75, 0xb2, 
    -	0x6f, 0x14, 0x01, 0x75, 0xb2, 0x9f, 0x16, 0x01, 0x73, 0xb2, 0xef, 0x16, 
    -	0x01, 0x73, 0xb2, 0x3f, 0x16, 0x01, 0x74, 0xb2, 0x5f, 0x16, 0x01, 0x74, 
    -	0xb2, 0xcf, 0x16, 0x01, 0x74, 0xb2, 0xff, 0x16, 0x01, 0x74, 0xb2, 0x1f, 
    -	0x16, 0x01, 0x75, 0xb2, 0x3f, 0x16, 0x01, 0x75, 0xb2, 0x4f, 0x16, 0x01, 
    -	0x75, 0xb2, 0x6f, 0x16, 0x01, 0x75, 0xb2, 0x5f, 0x18, 0x01, 0x73, 0xb2, 
    -	0x7f, 0x18, 0x01, 0x73, 0xb2, 0x8f, 0x18, 0x01, 0x73, 0xb2, 0xbf, 0x18, 
    -	0x01, 0x73, 0xb2, 0x1f, 0x18, 0x01, 0x74, 0xb2, 0x4f, 0x18, 0x01, 0x74, 
    -	0xb2, 0x0f, 0x18, 0x01, 0x75, 0xb2, 0x1f, 0x18, 0x01, 0x75, 0xb2, 0x3f, 
    -	0x18, 0x01, 0x75, 0xb2, 0x4f, 0x18, 0x01, 0x75, 0xb2, 0x7f, 0x18, 0x01, 
    -	0x75, 0xb2, 0x8f, 0x18, 0x01, 0x75, 0xb2, 0x2f, 0x1a, 0x01, 0x73, 0xb2, 
    -	0x3f, 0x1a, 0x01, 0x73, 0xb2, 0x7f, 0x1a, 0x01, 0x73, 0xb2, 0x6f, 0x1a, 
    -	0x01, 0x73, 0xb2, 0x7f, 0x1a, 0x01, 0x74, 0xb2, 0xbf, 0x1a, 0x01, 0x74, 
    -	0xb2, 0xff, 0x1a, 0x01, 0x74, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0xe1, 
    -	0x00, 0xb5, 0x00, 0xaa, 0x00, 0xa2, 0x00, 0x94, 0x00, 0x9b, 0x00, 0x68, 
    -	0x00, 0x8c, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x15, 0xfe, 0x60, 0x00, 0x15, 
    -	0x04, 0x3a, 0x00, 0x15, 0x05, 0xb0, 0x00, 0x15, 0x04, 0x8d, 0x00, 0x10, 
    -	0x03, 0x21, 0x00, 0x0b, 0x03, 0x48, 0x00, 0x0d, 0x02, 0x90, 0x00, 0x06, 
    -	0x06, 0x18, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x5c, 0x00, 0xd2, 
    -	0x01, 0x44, 0x01, 0xd4, 0x02, 0x60, 0x02, 0x78, 0x02, 0xa2, 0x02, 0xcc, 
    -	0x02, 0xfc, 0x03, 0x22, 0x03, 0x36, 0x03, 0x4c, 0x03, 0x66, 0x03, 0x7e, 
    -	0x03, 0xce, 0x03, 0xf8, 0x04, 0x4a, 0x04, 0xc0, 0x05, 0x02, 0x05, 0x62, 
    -	0x05, 0xca, 0x06, 0x00, 0x06, 0x7c, 0x06, 0xe2, 0x06, 0xf2, 0x07, 0x02, 
    -	0x07, 0x24, 0x07, 0x4c, 0x07, 0x6e, 0x07, 0xcc, 0x08, 0x76, 0x08, 0xb6, 
    -	0x09, 0x1a, 0x09, 0x6e, 0x09, 0xb0, 0x09, 0xf6, 0x0a, 0x32, 0x0a, 0x96, 
    -	0x0a, 0xda, 0x0a, 0xf6, 0x0b, 0x2e, 0x0b, 0x7a, 0x0b, 0xa0, 0x0b, 0xf2, 
    -	0x0c, 0x30, 0x0c, 0x82, 0x0c, 0xc6, 0x0d, 0x22, 0x0d, 0x84, 0x0d, 0xf2, 
    -	0x0e, 0x1e, 0x0e, 0x5c, 0x0e, 0x8c, 0x0e, 0xdc, 0x0f, 0x20, 0x0f, 0x58, 
    -	0x0f, 0x92, 0x0f, 0xb8, 0x0f, 0xd0, 0x0f, 0xf4, 0x10, 0x16, 0x10, 0x28, 
    -	0x10, 0x56, 0x10, 0xdc, 0x11, 0x3c, 0x11, 0x8e, 0x11, 0xec, 0x12, 0x5a, 
    -	0x12, 0xba, 0x13, 0x30, 0x13, 0x76, 0x13, 0xa6, 0x13, 0xf0, 0x14, 0x3a, 
    -	0x14, 0x56, 0x14, 0xc2, 0x15, 0x08, 0x15, 0x52, 0x15, 0xb2, 0x16, 0x10, 
    -	0x16, 0x4a, 0x16, 0xc0, 0x17, 0x10, 0x17, 0x56, 0x17, 0x86, 0x17, 0xd4, 
    -	0x18, 0x18, 0x18, 0x64, 0x18, 0x9e, 0x18, 0xde, 0x18, 0xf6, 0x19, 0x34, 
    -	0x19, 0x72, 0x19, 0x72, 0x19, 0x9a, 0x19, 0xf0, 0x1a, 0x58, 0x1a, 0xba, 
    -	0x1b, 0x1a, 0x1b, 0x42, 0x1b, 0xe2, 0x1c, 0x04, 0x1c, 0x94, 0x1d, 0x0c, 
    -	0x1d, 0x18, 0x1d, 0x32, 0x1d, 0x3a, 0x1d, 0xd6, 0x1d, 0xee, 0x1e, 0x3e, 
    -	0x1e, 0x7a, 0x1e, 0xce, 0x1f, 0x60, 0x1f, 0x8c, 0x1f, 0xdc, 0x20, 0x02, 
    -	0x20, 0x18, 0x20, 0x46, 0x20, 0x76, 0x20, 0xc4, 0x20, 0xd0, 0x20, 0xf2, 
    -	0x21, 0x14, 0x21, 0x36, 0x21, 0x8c, 0x21, 0x9e, 0x21, 0xb0, 0x21, 0xc2, 
    -	0x21, 0xd4, 0x21, 0xea, 0x22, 0x00, 0x22, 0x68, 0x22, 0x74, 0x22, 0x86, 
    -	0x22, 0x98, 0x22, 0xaa, 0x22, 0xc0, 0x22, 0xd2, 0x22, 0xe4, 0x22, 0xf6, 
    -	0x23, 0x0c, 0x23, 0x6a, 0x23, 0x7c, 0x23, 0x8e, 0x23, 0xa0, 0x23, 0xb2, 
    -	0x23, 0xc4, 0x23, 0xda, 0x24, 0x06, 0x24, 0x78, 0x24, 0x8a, 0x24, 0x9c, 
    -	0x24, 0xae, 0x24, 0xc4, 0x24, 0xd6, 0x25, 0x1e, 0x25, 0x7e, 0x25, 0x90, 
    -	0x25, 0xa2, 0x25, 0xb4, 0x25, 0xc6, 0x25, 0xda, 0x25, 0xf0, 0x26, 0xc2, 
    -	0x26, 0xce, 0x26, 0xe0, 0x26, 0xf2, 0x27, 0x04, 0x27, 0x18, 0x27, 0x2a, 
    -	0x27, 0x3c, 0x27, 0x4e, 0x27, 0x64, 0x27, 0xce, 0x27, 0xe0, 0x27, 0xf2, 
    -	0x28, 0x04, 0x28, 0x16, 0x28, 0x28, 0x28, 0x3c, 0x28, 0x78, 0x28, 0xe6, 
    -	0x28, 0xf8, 0x29, 0x0a, 0x29, 0x1c, 0x29, 0x30, 0x29, 0x42, 0x29, 0xa4, 
    -	0x29, 0xb8, 0x29, 0xca, 0x29, 0xdc, 0x29, 0xee, 0x2a, 0x00, 0x2a, 0x0c, 
    -	0x2a, 0x18, 0x2a, 0x2a, 0x2a, 0x3c, 0x2a, 0x4e, 0x2a, 0x60, 0x2a, 0x72, 
    -	0x2a, 0x84, 0x2a, 0x96, 0x2a, 0xa8, 0x2a, 0xba, 0x2a, 0xd0, 0x2b, 0x2e, 
    -	0x2b, 0xae, 0x2b, 0xc0, 0x2b, 0xd2, 0x2b, 0xe4, 0x2b, 0xf6, 0x2c, 0x08, 
    -	0x2c, 0x1a, 0x2c, 0x26, 0x2c, 0x32, 0x2c, 0x44, 0x2c, 0x56, 0x2c, 0x68, 
    -	0x2c, 0x7a, 0x2c, 0x8c, 0x2c, 0x9e, 0x2c, 0xb0, 0x2c, 0xc2, 0x2c, 0xd8, 
    -	0x2c, 0xea, 0x2c, 0xfc, 0x2d, 0x0e, 0x2d, 0x7e, 0x2d, 0xe6, 0x2d, 0xf8, 
    -	0x2e, 0x0a, 0x2e, 0x1c, 0x2e, 0x2e, 0x2e, 0x40, 0x2e, 0x52, 0x2e, 0x5e, 
    -	0x2e, 0x6a, 0x2e, 0x7c, 0x2e, 0x98, 0x2e, 0xa4, 0x2e, 0xb0, 0x2e, 0xc2, 
    -	0x2e, 0xd4, 0x2e, 0xea, 0x2f, 0x00, 0x2f, 0x4c, 0x2f, 0x5e, 0x2f, 0x70, 
    -	0x2f, 0x86, 0x2f, 0x9c, 0x2f, 0xb2, 0x2f, 0xc8, 0x2f, 0xd8, 0x2f, 0xe8, 
    -	0x30, 0x30, 0x30, 0x6e, 0x30, 0x80, 0x30, 0x92, 0x30, 0xa8, 0x30, 0xbe, 
    -	0x30, 0xd0, 0x30, 0xe2, 0x30, 0xf8, 0x31, 0x54, 0x31, 0xb2, 0x31, 0xc4, 
    -	0x31, 0xd6, 0x31, 0xe8, 0x31, 0xfa, 0x32, 0x10, 0x32, 0x24, 0x32, 0xac, 
    -	0x33, 0x4e, 0x33, 0x60, 0x33, 0x72, 0x33, 0x88, 0x33, 0x9e, 0x33, 0xb0, 
    -	0x33, 0xc2, 0x33, 0xd4, 0x33, 0xe6, 0x33, 0xf8, 0x34, 0x0a, 0x34, 0x16, 
    -	0x34, 0x22, 0x34, 0x34, 0x34, 0x46, 0x34, 0x5c, 0x34, 0x72, 0x34, 0x84, 
    -	0x34, 0x94, 0x34, 0xd4, 0x35, 0x36, 0x35, 0x48, 0x35, 0x5a, 0x35, 0x6c, 
    -	0x35, 0x7e, 0x35, 0x90, 0x35, 0xa2, 0x35, 0xb8, 0x35, 0xce, 0x35, 0xe4, 
    -	0x35, 0xf8, 0x36, 0x04, 0x36, 0x10, 0x36, 0x22, 0x36, 0x34, 0x36, 0x46, 
    -	0x36, 0x58, 0x36, 0x6e, 0x36, 0x80, 0x36, 0x92, 0x36, 0xa4, 0x36, 0xb6, 
    -	0x36, 0xc8, 0x36, 0xda, 0x37, 0x0a, 0x37, 0x84, 0x37, 0xe2, 0x38, 0x38, 
    -	0x38, 0x82, 0x38, 0xd6, 0x38, 0xe8, 0x39, 0x00, 0x39, 0x18, 0x39, 0x2a, 
    -	0x39, 0x3c, 0x39, 0x4e, 0x39, 0x60, 0x39, 0x72, 0x39, 0x84, 0x39, 0xb6, 
    -	0x39, 0xc8, 0x39, 0xf4, 0x3a, 0x22, 0x3a, 0x62, 0x3a, 0x78, 0x3a, 0xb2, 
    -	0x3a, 0xee, 0x3b, 0x46, 0x3b, 0x74, 0x3b, 0xb2, 0x3b, 0xca, 0x3b, 0xe2, 
    -	0x3b, 0xec, 0x3c, 0x24, 0x3c, 0x52, 0x3c, 0x70, 0x3c, 0x86, 0x3c, 0xc0, 
    -	0x3c, 0xd2, 0x3c, 0xda, 0x3c, 0xec, 0x3c, 0xfe, 0x3d, 0x10, 0x3d, 0x22, 
    -	0x3d, 0x34, 0x3d, 0x46, 0x3d, 0x5e, 0x3d, 0x66, 0x3d, 0x6e, 0x3d, 0x96, 
    -	0x3d, 0xc6, 0x3d, 0xce, 0x3d, 0xd6, 0x3d, 0xde, 0x3e, 0x44, 0x3e, 0x4c, 
    -	0x3e, 0x54, 0x3e, 0x84, 0x3e, 0x8c, 0x3e, 0x94, 0x3e, 0xda, 0x3e, 0xe2, 
    -	0x3f, 0x12, 0x3f, 0x1a, 0x3f, 0x66, 0x3f, 0x6e, 0x3f, 0x76, 0x3f, 0xe2, 
    -	0x3f, 0xea, 0x40, 0x44, 0x40, 0xa4, 0x40, 0xba, 0x40, 0xd0, 0x40, 0xe2, 
    -	0x40, 0xf4, 0x41, 0x06, 0x41, 0x18, 0x41, 0x2e, 0x41, 0xa2, 0x42, 0x14, 
    -	0x42, 0x50, 0x42, 0xb6, 0x43, 0x20, 0x43, 0x7e, 0x43, 0xc4, 0x44, 0x2a, 
    -	0x44, 0x5c, 0x44, 0x64, 0x44, 0xc4, 0x44, 0xcc, 0x44, 0xd4, 0x45, 0x48, 
    -	0x45, 0x50, 0x45, 0xa0, 0x45, 0xf8, 0x46, 0x54, 0x46, 0xa8, 0x46, 0xd4, 
    -	0x47, 0x16, 0x47, 0x80, 0x47, 0xf4, 0x48, 0x52, 0x48, 0xb8, 0x48, 0xce, 
    -	0x48, 0xe2, 0x48, 0xf4, 0x49, 0x06, 0x49, 0x18, 0x49, 0x7c, 0x49, 0xe0, 
    -	0x4a, 0x4e, 0x4a, 0x60, 0x4a, 0x76, 0x4a, 0x88, 0x4a, 0xee, 0x4b, 0x5c, 
    -	0x4b, 0x64, 0x4b, 0x7a, 0x4b, 0x82, 0x4b, 0xee, 0x4c, 0x5a, 0x4c, 0x6c, 
    -	0x4c, 0x7e, 0x4c, 0x90, 0x4c, 0xce, 0x4c, 0xd6, 0x4d, 0x26, 0x4d, 0x2e, 
    -	0x4d, 0x36, 0x4d, 0x3e, 0x4d, 0xae, 0x4d, 0xec, 0x4d, 0xfe, 0x4e, 0x06, 
    -	0x4e, 0x4a, 0x4e, 0x52, 0x4e, 0x5a, 0x4e, 0x62, 0x4e, 0x6a, 0x4e, 0x72, 
    -	0x4e, 0x7a, 0x4e, 0x82, 0x4e, 0x8a, 0x4e, 0xc4, 0x4f, 0x06, 0x4f, 0x60, 
    -	0x4f, 0xc2, 0x50, 0x38, 0x50, 0x40, 0x50, 0xa8, 0x50, 0xd0, 0x50, 0xd8, 
    -	0x51, 0x16, 0x51, 0x28, 0x51, 0x72, 0x51, 0xb4, 0x52, 0x00, 0x52, 0x4a, 
    -	0x52, 0x52, 0x52, 0x82, 0x52, 0x8a, 0x52, 0xd6, 0x53, 0x04, 0x53, 0x0c, 
    -	0x53, 0x14, 0x53, 0x4e, 0x53, 0x92, 0x53, 0xd2, 0x54, 0x1e, 0x54, 0x76, 
    -	0x54, 0xb8, 0x55, 0x24, 0x55, 0x94, 0x55, 0xe6, 0x55, 0xf8, 0x56, 0x0c, 
    -	0x56, 0x8e, 0x56, 0xa0, 0x57, 0x0a, 0x57, 0x12, 0x57, 0x1a, 0x57, 0x30, 
    -	0x57, 0x38, 0x57, 0xa0, 0x58, 0x02, 0x58, 0x6c, 0x58, 0x7e, 0x58, 0x90, 
    -	0x58, 0xa2, 0x58, 0xe2, 0x59, 0x40, 0x59, 0x8e, 0x59, 0xd6, 0x5a, 0x32, 
    -	0x5a, 0x8e, 0x5a, 0xfc, 0x5b, 0x62, 0x5b, 0xe6, 0x5c, 0x64, 0x5c, 0xfc, 
    -	0x5d, 0xa4, 0x5d, 0xac, 0x5d, 0xb4, 0x5d, 0xfc, 0x5e, 0x12, 0x5e, 0x1e, 
    -	0x5e, 0x2a, 0x5e, 0x9a, 0x5f, 0x08, 0x5f, 0x54, 0x5f, 0x9e, 0x5f, 0xd4, 
    -	0x5f, 0xfc, 0x60, 0x30, 0x60, 0x48, 0x60, 0x60, 0x61, 0x54, 0x61, 0xc4, 
    -	0x61, 0xda, 0x61, 0xf0, 0x62, 0x4e, 0x62, 0x78, 0x62, 0xa8, 0x62, 0xf0, 
    -	0x63, 0x2e, 0x63, 0x3a, 0x63, 0x46, 0x63, 0x9c, 0x63, 0xf0, 0x64, 0x54, 
    -	0x64, 0xb4, 0x64, 0xc0, 0x64, 0xcc, 0x65, 0x1a, 0x65, 0x84, 0x65, 0x90, 
    -	0x65, 0x9c, 0x65, 0xa4, 0x65, 0xac, 0x65, 0xf4, 0x66, 0x3c, 0x66, 0x48, 
    -	0x66, 0x54, 0x66, 0x9e, 0x66, 0xe6, 0x66, 0xf2, 0x66, 0xfe, 0x67, 0x52, 
    -	0x67, 0xa6, 0x67, 0xe8, 0x67, 0xfc, 0x68, 0x6a, 0x68, 0xe6, 0x68, 0xee, 
    -	0x68, 0xfa, 0x69, 0x06, 0x69, 0x60, 0x69, 0xba, 0x69, 0xc6, 0x69, 0xd2, 
    -	0x69, 0xde, 0x69, 0xea, 0x69, 0xf6, 0x6a, 0x02, 0x6a, 0x0a, 0x6a, 0x1c, 
    -	0x6a, 0x2e, 0x6a, 0x44, 0x6a, 0x58, 0x6a, 0x60, 0x6a, 0x68, 0x6a, 0x7a, 
    -	0x6a, 0x8c, 0x6a, 0xec, 0x6b, 0x02, 0x6b, 0x18, 0x6b, 0x52, 0x6b, 0x68, 
    -	0x6b, 0x7e, 0x6b, 0x94, 0x6b, 0xa8, 0x6c, 0x06, 0x6c, 0x5c, 0x6c, 0x6e, 
    -	0x6c, 0x80, 0x6c, 0x96, 0x6c, 0xaa, 0x6c, 0xc0, 0x6c, 0xd4, 0x6c, 0xea, 
    -	0x6c, 0xfe, 0x6d, 0x10, 0x6d, 0x24, 0x6d, 0x38, 0x6d, 0x4e, 0x6d, 0x62, 
    -	0x6d, 0x6e, 0x6d, 0x7a, 0x6d, 0x90, 0x6d, 0xaa, 0x6d, 0xba, 0x6d, 0xce, 
    -	0x6d, 0xda, 0x6d, 0xe6, 0x6e, 0x44, 0x6e, 0x9c, 0x6e, 0xe0, 0x6e, 0xe8, 
    -	0x6f, 0x40, 0x6f, 0xc0, 0x70, 0x36, 0x70, 0xa4, 0x71, 0x08, 0x71, 0x68, 
    -	0x71, 0xce, 0x72, 0x32, 0x72, 0x98, 0x72, 0xfe, 0x73, 0x56, 0x73, 0xa8, 
    -	0x73, 0xf8, 0x74, 0x46, 0x74, 0xb6, 0x74, 0xbe, 0x74, 0xca, 0x74, 0xd6, 
    -	0x74, 0xe2, 0x74, 0xee, 0x75, 0x00, 0x75, 0x12, 0x75, 0x24, 0x75, 0x36, 
    -	0x75, 0x48, 0x75, 0x5a, 0x75, 0x70, 0x75, 0x86, 0x75, 0x92, 0x75, 0x9e, 
    -	0x75, 0xb0, 0x75, 0xc2, 0x75, 0xd8, 0x75, 0xec, 0x76, 0x02, 0x76, 0x16, 
    -	0x76, 0x2c, 0x76, 0x40, 0x76, 0x56, 0x76, 0x6a, 0x76, 0x80, 0x76, 0x96, 
    -	0x76, 0xac, 0x76, 0xc0, 0x76, 0xd6, 0x76, 0xea, 0x77, 0x00, 0x77, 0x14, 
    -	0x77, 0x2a, 0x77, 0x3e, 0x77, 0x54, 0x77, 0x6a, 0x77, 0x76, 0x77, 0x82, 
    -	0x77, 0x94, 0x77, 0xa6, 0x77, 0xb8, 0x77, 0xca, 0x77, 0xe0, 0x77, 0xf4, 
    -	0x78, 0x0a, 0x78, 0x1e, 0x78, 0x34, 0x78, 0x48, 0x78, 0x5e, 0x78, 0x72, 
    -	0x78, 0x88, 0x78, 0x9e, 0x78, 0xb0, 0x78, 0xc2, 0x78, 0xce, 0x78, 0xda, 
    -	0x78, 0xe6, 0x78, 0xf2, 0x79, 0x04, 0x79, 0x16, 0x79, 0x2c, 0x79, 0x40, 
    -	0x79, 0x56, 0x79, 0x6a, 0x79, 0x80, 0x79, 0x94, 0x79, 0xaa, 0x79, 0xbe, 
    -	0x79, 0xd4, 0x79, 0xea, 0x79, 0xfc, 0x7a, 0x0e, 0x7a, 0x20, 0x7a, 0x32, 
    -	0x7a, 0x44, 0x7a, 0x56, 0x7a, 0x68, 0x7a, 0x7a, 0x7a, 0x86, 0x7a, 0x92, 
    -	0x7a, 0x9e, 0x7a, 0xaa, 0x7a, 0xbc, 0x7a, 0xce, 0x7a, 0xe0, 0x7a, 0xf2, 
    -	0x7b, 0x04, 0x7b, 0x16, 0x7b, 0x28, 0x7b, 0x3a, 0x7b, 0x4c, 0x7b, 0x5e, 
    -	0x7b, 0x6a, 0x7b, 0x76, 0x7b, 0x88, 0x7b, 0x9a, 0x7b, 0xa6, 0x7b, 0xb6, 
    -	0x7b, 0xc8, 0x7b, 0xda, 0x7b, 0xec, 0x7b, 0xfe, 0x7c, 0x14, 0x7c, 0x14, 
    -	0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 
    -	0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x14, 0x7c, 0x1e, 
    -	0x7c, 0x28, 0x7c, 0x32, 0x7c, 0x5e, 0x7c, 0x76, 0x7c, 0x90, 0x7c, 0xa4, 
    -	0x7c, 0xb0, 0x7c, 0xbc, 0x7c, 0xc8, 0x7c, 0xe8, 0x7d, 0x28, 0x7d, 0x8c, 
    -	0x7d, 0xac, 0x7d, 0xb8, 0x7d, 0xc8, 0x7e, 0x8a, 0x7e, 0x92, 0x7e, 0x9a, 
    -	0x7e, 0xb2, 0x7e, 0xcc, 0x7e, 0xd8, 0x7e, 0xec, 0x7f, 0x28, 0x7f, 0x7e, 
    -	0x7f, 0xce, 0x80, 0x48, 0x80, 0xcc, 0x80, 0xec, 0x81, 0x72, 0x82, 0x08, 
    -	0x82, 0x74, 0x82, 0x84, 0x82, 0xd0, 0x83, 0x2e, 0x83, 0x54, 0x83, 0x7a, 
    -	0x83, 0xa0, 0x83, 0xc6, 0x84, 0x1c, 0x84, 0x44, 0x84, 0x8c, 0x84, 0xa2, 
    -	0x84, 0xd6, 0x85, 0x58, 0x85, 0x9c, 0x86, 0x12, 0x86, 0x52, 0x86, 0x6c, 
    -	0x86, 0x84, 0x86, 0xbe, 0x86, 0xd0, 0x87, 0x44, 0x87, 0x50, 0x87, 0x5c, 
    -	0x87, 0x6c, 0x87, 0x6c, 0x89, 0x18, 0x89, 0x5e, 0x89, 0x70, 0x89, 0x98, 
    -	0x8a, 0x14, 0x8a, 0x78, 0x8a, 0xdc, 0x8b, 0x20, 0x8b, 0xa6, 0x8b, 0xf6, 
    -	0x8c, 0x20, 0x8c, 0x6c, 0x8c, 0xa6, 0x8c, 0xde, 0x8d, 0x20, 0x8d, 0x6c, 
    -	0x8d, 0x9c, 0x8d, 0xd8, 0x8e, 0x06, 0x8e, 0x6e, 0x8e, 0xe2, 0x8f, 0x3a, 
    -	0x8f, 0x8a, 0x8f, 0xd6, 0x90, 0x14, 0x90, 0x2e, 0x90, 0x7a, 0x90, 0xa0, 
    -	0x90, 0xe6, 0x91, 0x1a, 0x91, 0x36, 0x91, 0x86, 0x91, 0xe4, 0x92, 0x2c, 
    -	0x92, 0x70, 0x92, 0xb0, 0x92, 0xfe, 0x93, 0x76, 0x93, 0x8e, 0x93, 0xd2, 
    -	0x94, 0x12, 0x94, 0x58, 0x94, 0x9c, 0x94, 0xfc, 0x95, 0x56, 0x95, 0xb2, 
    -	0x96, 0x20, 0x96, 0x9c, 0x96, 0xae, 0x96, 0xe8, 0x97, 0x14, 0x97, 0x3e, 
    -	0x97, 0x68, 0x97, 0xba, 0x98, 0x2a, 0x98, 0x6c, 0x98, 0xcc, 0x99, 0x34, 
    -	0x99, 0x6a, 0x99, 0xe6, 0x9a, 0x4c, 0x9a, 0x8e, 0x9a, 0xea, 0x9b, 0x52, 
    -	0x9b, 0xae, 0x9b, 0xee, 0x9c, 0x6e, 0x9c, 0xbe, 0x9d, 0x16, 0x9d, 0x40, 
    -	0x9d, 0x88, 0x9d, 0xea, 0x9e, 0x68, 0x9e, 0x9a, 0x9e, 0xcc, 0x9e, 0xd4, 
    -	0x9e, 0xf8, 0x9f, 0x1c, 0x9f, 0x30, 0x9f, 0x42, 0x9f, 0x54, 0x9f, 0x66, 
    -	0x9f, 0x78, 0x9f, 0x8c, 0x9f, 0xa2, 0x9f, 0xba, 0x9f, 0xc6, 0x9f, 0xd8, 
    -	0x9f, 0xea, 0x9f, 0xfc, 0xa0, 0x10, 0xa0, 0x22, 0xa0, 0x34, 0xa0, 0x46, 
    -	0xa0, 0x5c, 0xa0, 0x6e, 0xa0, 0x80, 0xa0, 0x92, 0xa0, 0xa4, 0xa0, 0xb6, 
    -	0xa0, 0xca, 0xa0, 0xdc, 0xa0, 0xee, 0xa1, 0x00, 0xa1, 0x14, 0xa1, 0x26, 
    -	0xa1, 0x38, 0xa1, 0x4a, 0xa1, 0x56, 0xa1, 0x68, 0xa1, 0x7a, 0xa1, 0x8c, 
    -	0xa1, 0x9e, 0xa1, 0xb0, 0xa1, 0xc2, 0xa1, 0xd4, 0xa1, 0xe6, 0xa1, 0xf2, 
    -	0xa2, 0x04, 0xa2, 0x16, 0xa2, 0x28, 0xa2, 0x3a, 0xa2, 0x50, 0xa2, 0x62, 
    -	0xa2, 0x74, 0xa2, 0x8a, 0xa2, 0x9c, 0xa2, 0xa8, 0xa2, 0xba, 0xa2, 0xcc, 
    -	0xa2, 0xe2, 0xa2, 0xf4, 0xa3, 0x0a, 0xa3, 0x20, 0xa3, 0x30, 0xa3, 0x42, 
    -	0xa3, 0x58, 0xa3, 0x6a, 0xa3, 0x7c, 0xa3, 0x8e, 0xa3, 0xa4, 0xa3, 0xb6, 
    -	0xa3, 0xcc, 0xa3, 0xde, 0xa3, 0xf0, 0xa4, 0x02, 0xa4, 0x0e, 0xa4, 0x20, 
    -	0xa4, 0x36, 0xa4, 0x48, 0xa4, 0x5a, 0xa4, 0x6c, 0xa4, 0x7e, 0xa4, 0x94, 
    -	0xa4, 0xa0, 0xa4, 0xb2, 0xa4, 0xc4, 0xa4, 0xd6, 0xa4, 0xea, 0xa4, 0xfc, 
    -	0xa5, 0x0e, 0xa5, 0x1a, 0xa5, 0x80, 0xa5, 0xd4, 0xa6, 0x26, 0xa6, 0x96, 
    -	0xa6, 0xe8, 0xa7, 0x56, 0xa7, 0x8e, 0xa7, 0xcc, 0xa8, 0x1e, 0xa8, 0x62, 
    -	0xa8, 0xb6, 0xa9, 0x2e, 0xa9, 0x7c, 0xa9, 0xe8, 0xaa, 0x64, 0xaa, 0xf2, 
    -	0xab, 0x42, 0xab, 0x9a, 0xab, 0xf6, 0xac, 0x56, 0xac, 0xdc, 0xad, 0x7a, 
    -	0xad, 0xe6, 0xae, 0x60, 0xae, 0xac, 0xae, 0xc2, 0xaf, 0x76, 0xb0, 0x2e, 
    -	0xb0, 0xac, 0xb1, 0x2a, 0xb1, 0x84, 0xb1, 0xdc, 0xb2, 0x54, 0xb2, 0xaa, 
    -	0xb2, 0xf4, 0xb3, 0x00, 0xb3, 0x0c, 0xb3, 0x18, 0xb3, 0x24, 0xb3, 0x76, 
    -	0xb3, 0xc8, 0xb4, 0x28, 0xb4, 0x7c, 0xb5, 0x10, 0xb5, 0xa0, 0xb5, 0xac, 
    -	0xb5, 0xb8, 0xb5, 0xc4, 0xb5, 0xd0, 0xb5, 0xe2, 0xb5, 0xf4, 0xb6, 0x4e, 
    -	0xb6, 0x9c, 0xb6, 0xa4, 0xb6, 0xac, 0xb6, 0xc2, 0xb6, 0xd6, 0xb6, 0xe8, 
    -	0xb6, 0xfe, 0xb7, 0x14, 0x00, 0x02, 0x00, 0x86, 0x00, 0x00, 0x01, 0xaa, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0xaa, 0xfe, 0xdc, 0x01, 0x24, 0xfe, 
    -	0xdc, 0x01, 0x24, 0x01, 0xf6, 0x03, 0xba, 0xfa, 0x50, 0x01, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x32, 0x04, 0x0f, 0x02, 0x5e, 0x06, 0x1b, 0x00, 0x04, 
    -	0x00, 0x09, 0x00, 0x2d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x1a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 0xd0, 0x30, 
    -	0x31, 0x01, 0x07, 0x23, 0x11, 0x33, 0x01, 0x07, 0x23, 0x11, 0x33, 0x01, 
    -	0x18, 0x66, 0x80, 0xe6, 0x01, 0x46, 0x66, 0x80, 0xe6, 0x05, 0x08, 0xf9, 
    -	0x02, 0x0c, 0xfe, 0xed, 0xf9, 0x02, 0x0c, 0x00, 0x00, 0x02, 0x00, 0x30, 
    -	0x00, 0x00, 0x04, 0x8c, 0x05, 0xb0, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x7f, 
    -	0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x06, 0x10, 0xb1, 0x05, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x0a, 0x10, 0xb1, 0x09, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0x10, 0xb0, 
    -	0x0e, 0xd0, 0xb0, 0x12, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x1f, 0xd0, 0xb0, 
    -	0x15, 0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x1c, 0xd0, 0xb0, 0x16, 0xd0, 0xb0, 
    -	0x01, 0x10, 0xb0, 0x19, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x03, 0x23, 0x13, 
    -	0x23, 0x35, 0x21, 0x13, 0x23, 0x35, 0x21, 0x13, 0x33, 0x03, 0x33, 0x13, 
    -	0x33, 0x03, 0x33, 0x15, 0x23, 0x03, 0x33, 0x15, 0x23, 0x03, 0x23, 0x03, 
    -	0x33, 0x13, 0x23, 0x02, 0x8a, 0xc0, 0x47, 0xb8, 0x48, 0xe3, 0x01, 0x00, 
    -	0x33, 0xe8, 0x01, 0x06, 0x49, 0xb7, 0x49, 0xc0, 0x4a, 0xb7, 0x49, 0xdc, 
    -	0xfa, 0x33, 0xe1, 0xfe, 0x48, 0xb8, 0x5a, 0xbf, 0x33, 0xc0, 0x01, 0x9a, 
    -	0xfe, 0x66, 0x01, 0x9a, 0xa9, 0x01, 0x22, 0xab, 0x01, 0xa0, 0xfe, 0x60, 
    -	0x01, 0xa0, 0xfe, 0x60, 0xab, 0xfe, 0xde, 0xa9, 0xfe, 0x66, 0x02, 0x43, 
    -	0x01, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5c, 0xff, 0x2a, 0x04, 0x38, 
    -	0x06, 0x98, 0x00, 0x2d, 0x00, 0x5d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x0a, 0x3e, 0x59, 0xb2, 0x1a, 0x23, 
    -	0x09, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x0c, 
    -	0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x23, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 0x23, 
    -	0x10, 0xb1, 0x2b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 
    -	0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x15, 0x23, 0x35, 0x26, 0x26, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x03, 0x15, 0x5d, 0x71, 0xde, 0xd7, 0xd7, 0xb6, 0x9f, 0xb0, 0xc9, 
    -	0x02, 0x03, 0xfe, 0xe3, 0x61, 0x54, 0x56, 0x54, 0x59, 0x77, 0xdd, 0xd5, 
    -	0xd6, 0xb8, 0x9f, 0xbb, 0xf4, 0x04, 0x02, 0x01, 0x1d, 0x7b, 0x5f, 0x5b, 
    -	0x61, 0x01, 0x7f, 0x51, 0x66, 0x2c, 0x51, 0xc7, 0xb5, 0xa8, 0xd7, 0x13, 
    -	0xd7, 0xd9, 0x1a, 0xf2, 0xc1, 0x05, 0x76, 0x80, 0x63, 0x52, 0x4e, 0x61, 
    -	0x2f, 0x57, 0xc6, 0xb2, 0xae, 0xd0, 0x13, 0xc6, 0xc5, 0x13, 0xe3, 0xdc, 
    -	0x05, 0x86, 0x74, 0x61, 0x00, 0x05, 0x00, 0x5f, 0xff, 0xec, 0x05, 0x91, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x29, 0x00, 0x37, 0x00, 0x3b, 
    -	0x00, 0x76, 0x00, 0xb0, 0x38, 0x2f, 0xb0, 0x3a, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb1, 0x11, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x18, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x26, 0x10, 0xb0, 0x1f, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x26, 0x10, 0xb1, 0x2d, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x34, 
    -	0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x05, 0x27, 0x01, 0x17, 
    -	0x5f, 0xa7, 0x95, 0x97, 0xa6, 0xa6, 0x95, 0x96, 0xa8, 0xc2, 0x40, 0x3c, 
    -	0x3a, 0x3f, 0x40, 0x3b, 0x3b, 0x3f, 0x01, 0xf6, 0xa8, 0x95, 0x96, 0xa7, 
    -	0xa6, 0x95, 0x96, 0xa9, 0xc2, 0x45, 0x38, 0x41, 0x38, 0x40, 0x3b, 0x3c, 
    -	0x3f, 0xfd, 0xf4, 0x8e, 0x02, 0xc7, 0x8e, 0x04, 0x98, 0x81, 0xac, 0xab, 
    -	0x82, 0x4d, 0x81, 0xaa, 0xaa, 0x81, 0x3a, 0x4f, 0x4f, 0x3a, 0x4d, 0x3a, 
    -	0x51, 0x51, 0x3a, 0xfc, 0xcd, 0x80, 0xac, 0xab, 0x81, 0x4d, 0x82, 0xaa, 
    -	0xab, 0x81, 0x39, 0x51, 0x4b, 0x3f, 0x4d, 0x39, 0x51, 0x51, 0x39, 0xf8, 
    -	0x4b, 0x04, 0x72, 0x4b, 0x00, 0x03, 0x00, 0x3d, 0xff, 0xeb, 0x05, 0x1c, 
    -	0x05, 0xc5, 0x00, 0x21, 0x00, 0x2c, 0x00, 0x39, 0x00, 0x62, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x1c, 0x1f, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x1c, 0x10, 
    -	0xb0, 0x11, 0xd0, 0xb0, 0x1f, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x30, 0x1f, 0x09, 0x11, 0x12, 
    -	0x39, 0xb0, 0x30, 0x10, 0xb0, 0x26, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x37, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x07, 0x01, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 
    -	0x07, 0x17, 0x07, 0x21, 0x27, 0x06, 0x06, 0x23, 0x22, 0x24, 0x05, 0x32, 
    -	0x36, 0x37, 0x01, 0x07, 0x06, 0x06, 0x15, 0x14, 0x16, 0x03, 0x14, 0x16, 
    -	0x17, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x3d, 0x82, 
    -	0x85, 0x44, 0x43, 0xd8, 0xb5, 0x9f, 0xc7, 0x62, 0x55, 0x5d, 0x01, 0x14, 
    -	0x24, 0x28, 0xda, 0x44, 0x46, 0xd0, 0x02, 0xfe, 0xbc, 0x4d, 0x55, 0xb4, 
    -	0x67, 0xda, 0xfe, 0xfe, 0x01, 0xeb, 0x35, 0x6a, 0x31, 0xfe, 0xd4, 0x13, 
    -	0x33, 0x25, 0x6e, 0x0d, 0x2b, 0x2b, 0x56, 0x38, 0x27, 0x49, 0x3b, 0x41, 
    -	0x46, 0x01, 0x88, 0x76, 0xab, 0x5d, 0x5c, 0x98, 0x4f, 0xad, 0xcf, 0xc5, 
    -	0x8c, 0x62, 0xa2, 0x3d, 0x42, 0xfe, 0xbe, 0x3c, 0x8c, 0x4e, 0x8a, 0xe8, 
    -	0x5a, 0xf4, 0x05, 0x59, 0x37, 0x37, 0xe5, 0x05, 0x1b, 0x1b, 0x01, 0x5c, 
    -	0x0d, 0x30, 0x5b, 0x2e, 0x59, 0x73, 0x03, 0x81, 0x2b, 0x5b, 0x37, 0x38, 
    -	0x24, 0x4c, 0x2d, 0x32, 0x4e, 0x57, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x03, 0xf0, 0x01, 0x18, 0x06, 0x18, 0x00, 0x04, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x1a, 0x3e, 0x59, 
    -	0x30, 0x31, 0x01, 0x03, 0x23, 0x11, 0x33, 0x01, 0x18, 0x66, 0x80, 0xe6, 
    -	0x05, 0x0b, 0xfe, 0xe5, 0x02, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7c, 
    -	0xfe, 0x3e, 0x02, 0xa7, 0x06, 0x4c, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x0d, 0x2f, 0x30, 0x31, 0x13, 0x10, 0x00, 0x37, 0x33, 
    -	0x17, 0x06, 0x02, 0x11, 0x15, 0x10, 0x12, 0x17, 0x07, 0x23, 0x26, 0x00, 
    -	0x11, 0x7c, 0x01, 0x30, 0xc0, 0x06, 0x35, 0x83, 0xb2, 0xb2, 0x83, 0x35, 
    -	0x06, 0xc0, 0xfe, 0xd0, 0x02, 0x50, 0x01, 0x88, 0x02, 0x23, 0x51, 0x92, 
    -	0x62, 0xfe, 0x4c, 0xfe, 0xae, 0x1a, 0xfe, 0xad, 0xfe, 0x4d, 0x65, 0x8f, 
    -	0x51, 0x02, 0x22, 0x01, 0x89, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1f, 
    -	0xfe, 0x3e, 0x02, 0x5a, 0x06, 0x4c, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x0d, 0x2f, 0x30, 0x31, 0x01, 0x10, 0x00, 0x07, 0x23, 
    -	0x27, 0x36, 0x12, 0x11, 0x35, 0x10, 0x02, 0x27, 0x37, 0x33, 0x16, 0x00, 
    -	0x11, 0x02, 0x5a, 0xfe, 0xc3, 0xc2, 0x06, 0x36, 0x81, 0xb4, 0xb6, 0x7f, 
    -	0x36, 0x06, 0xc2, 0x01, 0x3d, 0x02, 0x3a, 0xfe, 0x81, 0xfd, 0xd3, 0x50, 
    -	0x8f, 0x62, 0x01, 0xb6, 0x01, 0x53, 0x1a, 0x01, 0x50, 0x01, 0xb9, 0x63, 
    -	0x8e, 0x50, 0xfd, 0xd2, 0xfe, 0x82, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1b, 
    -	0x02, 0x43, 0x03, 0x6e, 0x05, 0xb0, 0x00, 0x0e, 0x00, 0x19, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x01, 
    -	0x25, 0x37, 0x05, 0x03, 0x33, 0x03, 0x25, 0x17, 0x05, 0x13, 0x07, 0x03, 
    -	0x03, 0x27, 0x01, 0x49, 0xfe, 0xd2, 0x39, 0x01, 0x29, 0x12, 0xbb, 0x13, 
    -	0x01, 0x23, 0x38, 0xfe, 0xce, 0xc8, 0x98, 0xae, 0xad, 0x99, 0x03, 0xc6, 
    -	0x59, 0xb1, 0x7b, 0x01, 0x5b, 0xfe, 0x9f, 0x78, 0xb4, 0x59, 0xfe, 0xf7, 
    -	0x6e, 0x01, 0x22, 0xfe, 0xe7, 0x6a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x38, 
    -	0x00, 0x92, 0x04, 0x1e, 0x04, 0xb6, 0x00, 0x0b, 0x00, 0x19, 0x00, 0xb0, 
    -	0x09, 0x2f, 0xb0, 0x00, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x06, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x02, 
    -	0xb6, 0x01, 0x68, 0xfe, 0x98, 0xfe, 0xec, 0xfe, 0x96, 0x01, 0x6a, 0x01, 
    -	0x14, 0x03, 0x2c, 0xfc, 0xfe, 0x62, 0x01, 0x9e, 0xfc, 0x01, 0x8a, 0x00, 
    -	0x00, 0x01, 0x00, 0x3f, 0xfe, 0xd2, 0x01, 0xa1, 0x00, 0xfa, 0x00, 0x05, 
    -	0x00, 0x06, 0x00, 0xb0, 0x04, 0x2f, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 
    -	0x35, 0x21, 0x01, 0xa1, 0x9f, 0xc3, 0x46, 0x01, 0x1c, 0x0d, 0xfe, 0xc5, 
    -	0x01, 0x44, 0xe4, 0x00, 0x00, 0x01, 0x00, 0x71, 0x01, 0xfe, 0x02, 0xa5, 
    -	0x02, 0xdf, 0x00, 0x03, 0x00, 0x10, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x35, 0x21, 0x02, 0xa5, 0xfd, 0xcc, 0x02, 0x34, 0x01, 0xfe, 0xe1, 0x00, 
    -	0x00, 0x01, 0x00, 0x90, 0x00, 0x00, 0x01, 0xb4, 0x01, 0x00, 0x00, 0x03, 
    -	0x00, 0x1a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x01, 0xb4, 0xfe, 0xdc, 
    -	0x01, 0x24, 0x01, 0x00, 0x00, 0x01, 0xff, 0xf2, 0xff, 0x83, 0x03, 0x24, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x13, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0x30, 
    -	0x31, 0x05, 0x21, 0x01, 0x21, 0x01, 0x0e, 0xfe, 0xe4, 0x02, 0x16, 0x01, 
    -	0x1c, 0x7d, 0x06, 0x2d, 0x00, 0x02, 0x00, 0x5f, 0xff, 0xeb, 0x04, 0x38, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x23, 0x22, 
    -	0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x25, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x38, 0xfe, 0xf7, 0xe2, 0xe4, 0xfe, 0xf6, 0x01, 0x09, 0xe3, 0xe2, 0x01, 
    -	0x0b, 0xfe, 0xdd, 0x68, 0x62, 0x63, 0x66, 0x67, 0x64, 0x62, 0x66, 0x02, 
    -	0x37, 0xfe, 0xdf, 0xfe, 0xd5, 0x01, 0x2b, 0x01, 0x21, 0x01, 0x41, 0x01, 
    -	0x20, 0x01, 0x2d, 0xfe, 0xd3, 0xfe, 0xe0, 0x1e, 0xad, 0xa1, 0xa0, 0xae, 
    -	0xfe, 0x85, 0xb0, 0xa0, 0xa0, 0xb0, 0x00, 0x00, 0x00, 0x01, 0x00, 0xab, 
    -	0x00, 0x00, 0x02, 0xf7, 0x05, 0xb0, 0x00, 0x05, 0x00, 0x33, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x04, 0x05, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x2f, 0xb1, 
    -	0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x21, 0x21, 0x11, 0x21, 0x35, 0x25, 0x02, 0xf7, 0xfe, 0xdc, 0xfe, 
    -	0xd8, 0x02, 0x4c, 0x04, 0xae, 0xce, 0x34, 0x00, 0x00, 0x01, 0x00, 0x47, 
    -	0x00, 0x00, 0x04, 0x45, 0x05, 0xc5, 0x00, 0x1a, 0x00, 0x48, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 
    -	0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x19, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 
    -	0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 
    -	0x27, 0x26, 0x00, 0x33, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x01, 0x17, 
    -	0x21, 0x04, 0x45, 0xfc, 0x1e, 0x01, 0xd7, 0x66, 0x56, 0x63, 0x5b, 0x65, 
    -	0x69, 0xfe, 0xe4, 0x02, 0x05, 0x01, 0x0d, 0xe4, 0xe1, 0x01, 0x01, 0x91, 
    -	0xa7, 0xfe, 0xfd, 0x02, 0x02, 0x64, 0xbf, 0x01, 0xf9, 0x75, 0xa1, 0x45, 
    -	0x5c, 0x75, 0x89, 0x72, 0x06, 0xc5, 0x01, 0x11, 0xea, 0xc3, 0x84, 0xdf, 
    -	0xb5, 0xfe, 0xe5, 0x05, 0x00, 0x01, 0x00, 0x41, 0xff, 0xeb, 0x04, 0x35, 
    -	0x05, 0xc5, 0x00, 0x2a, 0x00, 0x6a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 0x0f, 
    -	0x10, 0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0f, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x29, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x15, 
    -	0x29, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x1b, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 
    -	0x1b, 0x10, 0xb1, 0x23, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x21, 0x27, 0x26, 0x24, 0x33, 0x32, 0x04, 0x15, 0x14, 
    -	0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 
    -	0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 
    -	0x8a, 0xa4, 0x68, 0x64, 0x64, 0x5f, 0x52, 0x70, 0xfe, 0xe5, 0x02, 0x06, 
    -	0x01, 0x12, 0xcb, 0xe2, 0x01, 0x0d, 0x78, 0x69, 0x79, 0x7f, 0xfe, 0xdd, 
    -	0xe3, 0xcb, 0xfe, 0xdd, 0x05, 0x02, 0x01, 0x1b, 0x78, 0x5c, 0x65, 0x75, 
    -	0x73, 0x70, 0xa4, 0x03, 0x54, 0x6d, 0x61, 0x58, 0x6a, 0x60, 0x4e, 0x06, 
    -	0xab, 0xde, 0xd8, 0xc8, 0x5f, 0xab, 0x30, 0x2b, 0xb2, 0x76, 0xc8, 0xe5, 
    -	0xd7, 0xc4, 0x06, 0x54, 0x6d, 0x70, 0x60, 0x73, 0x6b, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x39, 0x00, 0x00, 0x04, 0x60, 0x05, 0xb0, 0x00, 0x0a, 
    -	0x00, 0x0f, 0x00, 0x41, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x03, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x0c, 
    -	0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 
    -	0x23, 0x11, 0x21, 0x11, 0x21, 0x27, 0x01, 0x21, 0x01, 0x21, 0x11, 0x27, 
    -	0x07, 0x03, 0xbb, 0xa5, 0xa5, 0xfe, 0xdd, 0xfd, 0xae, 0x0d, 0x02, 0x5c, 
    -	0x01, 0x26, 0xfd, 0x8e, 0x01, 0x4f, 0x06, 0x17, 0x02, 0x1e, 0xe2, 0xfe, 
    -	0xc4, 0x01, 0x3c, 0xaf, 0x03, 0xc5, 0xfc, 0x6e, 0x02, 0x0c, 0x02, 0x29, 
    -	0x00, 0x01, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x3b, 0x05, 0xb0, 0x00, 0x1f, 
    -	0x00, 0x55, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 
    -	0x2f, 0x1b, 0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 
    -	0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x7f, 0x08, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x1c, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 
    -	0xd0, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 0x03, 0x36, 0x36, 0x37, 
    -	0x36, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x24, 0x37, 0x37, 0x25, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x88, 
    -	0x54, 0x03, 0x2c, 0xfd, 0xc3, 0x28, 0x28, 0x72, 0x45, 0xd2, 0xe7, 0xfd, 
    -	0xee, 0xc9, 0xfe, 0xe2, 0x05, 0x02, 0x01, 0x19, 0x6e, 0x59, 0x66, 0x61, 
    -	0x68, 0x66, 0x54, 0x59, 0x13, 0x02, 0x85, 0x03, 0x2b, 0xea, 0xfe, 0xb0, 
    -	0x1e, 0x27, 0x01, 0x03, 0xfe, 0xfc, 0xe8, 0xd2, 0xfe, 0xea, 0xdb, 0xc0, 
    -	0x05, 0x0e, 0x61, 0x6d, 0x91, 0x75, 0x7e, 0x98, 0x3e, 0x35, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x63, 0xff, 0xeb, 0x04, 0x56, 0x05, 0xc5, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x4d, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 
    -	0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x17, 0x17, 0x36, 0x36, 0x33, 
    -	0x32, 0x12, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 
    -	0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x02, 0xac, 0x52, 0x8b, 0x46, 0x34, 0x42, 0x67, 0x44, 0x85, 0xa1, 
    -	0x06, 0x03, 0x31, 0x96, 0x5e, 0xc3, 0xdd, 0xfe, 0xef, 0xd9, 0xe7, 0xfe, 
    -	0xde, 0x01, 0x4a, 0xbc, 0x51, 0x72, 0x1f, 0x7d, 0x68, 0x5a, 0x6d, 0x6e, 
    -	0x05, 0xc5, 0x1f, 0x1e, 0xd6, 0x17, 0x17, 0xc7, 0xb0, 0x05, 0x33, 0x3a, 
    -	0xfe, 0xeb, 0xd7, 0xdc, 0xfe, 0xe2, 0x01, 0x39, 0x01, 0x15, 0x01, 0x1c, 
    -	0x01, 0x1e, 0x01, 0x52, 0xfd, 0x2f, 0x34, 0x2d, 0x61, 0xad, 0xba, 0xa5, 
    -	0x75, 0x79, 0x96, 0x00, 0x00, 0x01, 0x00, 0x3c, 0x00, 0x00, 0x04, 0x41, 
    -	0x05, 0xb0, 0x00, 0x0c, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x02, 0x02, 0x03, 0x07, 0x21, 0x37, 
    -	0x12, 0x12, 0x37, 0x21, 0x35, 0x21, 0x04, 0x41, 0xea, 0xab, 0x25, 0x0e, 
    -	0xfe, 0xdc, 0x0e, 0x22, 0xe0, 0xc3, 0xfd, 0x14, 0x04, 0x05, 0x04, 0xcf, 
    -	0xfe, 0xee, 0xfe, 0x26, 0xfe, 0xb1, 0x94, 0x94, 0x01, 0x41, 0x02, 0x19, 
    -	0xe1, 0xe1, 0x00, 0x00, 0x00, 0x03, 0x00, 0x5b, 0xff, 0xeb, 0x04, 0x3c, 
    -	0x05, 0xc5, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x64, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x2d, 0x2f, 0x1b, 0xb1, 0x2d, 0x16, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x2d, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0f, 0x1b, 0x2d, 0x11, 0x12, 0x39, 
    -	0xb0, 0x0f, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x21, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 
    -	0xb1, 0x27, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 
    -	0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x32, 0x04, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x04, 0x1a, 0x73, 0x65, 0x74, 0x86, 0xfe, 0xee, 0xdd, 0xdf, 
    -	0xfe, 0xed, 0x85, 0x75, 0x66, 0x72, 0xfe, 0xd0, 0xcf, 0x01, 0x00, 0xfe, 
    -	0xfe, 0x72, 0x5b, 0x5c, 0x6f, 0x70, 0x5d, 0x5b, 0x70, 0x21, 0x5d, 0x4f, 
    -	0x50, 0x5a, 0x5b, 0x51, 0x4f, 0x5b, 0x04, 0x2e, 0x6d, 0xa8, 0x2f, 0x31, 
    -	0xb6, 0x75, 0xca, 0xd9, 0xd9, 0xca, 0x76, 0xb5, 0x32, 0x2f, 0xa7, 0x6d, 
    -	0xc2, 0xd5, 0xd5, 0xfc, 0xb2, 0x62, 0x76, 0x76, 0x62, 0x64, 0x73, 0x74, 
    -	0x02, 0xe2, 0x58, 0x6b, 0x69, 0x5a, 0x5b, 0x6b, 0x6b, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x52, 0xff, 0xeb, 0x04, 0x30, 0x05, 0xc5, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x4a, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 
    -	0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 0x06, 
    -	0x06, 0x23, 0x22, 0x02, 0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 0x11, 0x11, 
    -	0x10, 0x00, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 0x36, 
    -	0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x02, 0x08, 
    -	0x73, 0x91, 0x31, 0x87, 0x4e, 0xcb, 0xe9, 0x01, 0x14, 0xd5, 0xdf, 0x01, 
    -	0x16, 0xfe, 0xc9, 0xf1, 0x4c, 0xa1, 0x45, 0x22, 0x41, 0x7f, 0x7f, 0x48, 
    -	0x6c, 0x21, 0x70, 0x60, 0x58, 0x6f, 0x65, 0xcb, 0xab, 0x9f, 0x48, 0x3e, 
    -	0x40, 0x01, 0x09, 0xe2, 0xda, 0x01, 0x21, 0xfe, 0xcd, 0xfe, 0xea, 0xfe, 
    -	0xa8, 0xfe, 0xf7, 0xfe, 0xd0, 0x1f, 0x1e, 0xd3, 0x19, 0x17, 0x01, 0xea, 
    -	0x36, 0x2d, 0x86, 0xa0, 0xa6, 0xa4, 0x76, 0x7c, 0x99, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x90, 0x00, 0x00, 0x01, 0xb4, 0x04, 0x6c, 0x00, 0x26, 
    -	0x00, 0x11, 0x00, 0x00, 0x01, 0x07, 0x00, 0x11, 0x00, 0x00, 0x03, 0x6c, 
    -	0x00, 0x06, 0x00, 0xb0, 0x06, 0x2f, 0x30, 0x31, 0xff, 0xff, 0x00, 0x72, 
    -	0xfe, 0xd2, 0x01, 0xd4, 0x04, 0x6c, 0x00, 0x27, 0x00, 0x11, 0x00, 0x01, 
    -	0x03, 0x6c, 0x01, 0x06, 0x00, 0x0f, 0x33, 0x00, 0x00, 0x06, 0x00, 0xb0, 
    -	0x02, 0x2f, 0x30, 0x31, 0x00, 0x01, 0x00, 0x36, 0x00, 0x45, 0x03, 0x94, 
    -	0x04, 0x05, 0x00, 0x07, 0x00, 0x19, 0x00, 0xb0, 0x05, 0x2f, 0xb1, 0x04, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x00, 
    -	0x05, 0x04, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x15, 0x05, 0x11, 0x01, 
    -	0x35, 0x01, 0x11, 0x01, 0x53, 0x02, 0x41, 0xfc, 0xa2, 0x03, 0x5e, 0x02, 
    -	0x26, 0x06, 0xcb, 0xfe, 0xf0, 0x01, 0x6f, 0xe3, 0x01, 0x6e, 0xfe, 0xf0, 
    -	0x00, 0x02, 0x00, 0x88, 0x01, 0x4c, 0x04, 0x08, 0x03, 0xe0, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x26, 0x00, 0xb2, 0x00, 0x07, 0x03, 0x2b, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x11, 0x21, 
    -	0x35, 0x21, 0x04, 0x08, 0xfc, 0x80, 0x03, 0x80, 0xfc, 0x80, 0x03, 0x80, 
    -	0x02, 0xfb, 0xe5, 0xfd, 0x6c, 0xe5, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77, 
    -	0x00, 0x45, 0x03, 0xdf, 0x04, 0x05, 0x00, 0x07, 0x00, 0x19, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x01, 0x05, 0x04, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 
    -	0x35, 0x25, 0x11, 0x01, 0x15, 0x01, 0x11, 0x02, 0xc1, 0xfd, 0xb6, 0x03, 
    -	0x68, 0xfc, 0x98, 0x02, 0x24, 0x06, 0xce, 0x01, 0x0d, 0xfe, 0x92, 0xe3, 
    -	0xfe, 0x91, 0x01, 0x0e, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x00, 0x03, 0xcf, 
    -	0x05, 0xc5, 0x00, 0x1a, 0x00, 0x1e, 0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x1d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x04, 0x00, 0x11, 0x11, 
    -	0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 
    -	0x04, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x01, 0x36, 0x36, 0x37, 0x36, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x21, 0x27, 0x26, 0x24, 
    -	0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x06, 0x06, 0x15, 0x13, 0x21, 
    -	0x35, 0x21, 0x01, 0x44, 0x01, 0x51, 0x79, 0x47, 0x55, 0x61, 0x5a, 0x4a, 
    -	0x67, 0x01, 0xfe, 0xe4, 0x02, 0x03, 0x01, 0x03, 0xd0, 0xe0, 0xff, 0x95, 
    -	0x70, 0x3d, 0x26, 0x02, 0xfe, 0xda, 0x01, 0x26, 0x01, 0x9e, 0x8c, 0x82, 
    -	0x5d, 0x3a, 0x86, 0x53, 0x5c, 0x68, 0x58, 0x55, 0x06, 0xc0, 0xcc, 0xe3, 
    -	0xc3, 0x7f, 0xd8, 0x49, 0x2f, 0x5f, 0x53, 0xfe, 0x62, 0xfa, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x31, 0xfe, 0x3b, 0x06, 0xd2, 0x05, 0x8a, 0x00, 0x33, 
    -	0x00, 0x43, 0x00, 0x6e, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x31, 0x2f, 0xb0, 
    -	0x2b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb1, 0x18, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x31, 0x10, 0xb1, 0x1e, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2b, 0x10, 0xb1, 0x24, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 
    -	0x10, 0xb1, 0x37, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x41, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x06, 0x02, 0x23, 0x22, 0x26, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x37, 0x36, 0x12, 0x33, 0x32, 0x16, 
    -	0x17, 0x07, 0x33, 0x03, 0x06, 0x16, 0x33, 0x32, 0x36, 0x37, 0x12, 0x00, 
    -	0x21, 0x20, 0x00, 0x03, 0x02, 0x00, 0x21, 0x32, 0x36, 0x37, 0x17, 0x06, 
    -	0x06, 0x23, 0x20, 0x00, 0x13, 0x12, 0x00, 0x21, 0x20, 0x00, 0x01, 0x06, 
    -	0x16, 0x33, 0x32, 0x36, 0x37, 0x34, 0x34, 0x37, 0x13, 0x26, 0x26, 0x23, 
    -	0x22, 0x06, 0x06, 0xc2, 0x09, 0xee, 0xed, 0x4e, 0x72, 0x18, 0x2c, 0x83, 
    -	0x58, 0x8d, 0x97, 0x14, 0x19, 0xed, 0xa9, 0x74, 0x8d, 0x54, 0x03, 0x05, 
    -	0x33, 0x07, 0x2a, 0x24, 0x73, 0x8b, 0x08, 0x10, 0xfe, 0xcf, 0xfe, 0xc1, 
    -	0xfe, 0xd1, 0xfe, 0x96, 0x0f, 0x11, 0x01, 0x46, 0x01, 0x32, 0x55, 0xb5, 
    -	0x41, 0x26, 0x43, 0xcf, 0x63, 0xfe, 0x74, 0xfe, 0x53, 0x11, 0x12, 0x01, 
    -	0xdb, 0x01, 0x84, 0x01, 0x83, 0x01, 0x9c, 0xfb, 0xfe, 0x0a, 0x39, 0x40, 
    -	0x38, 0x5b, 0x24, 0x01, 0x2c, 0x17, 0x2e, 0x19, 0x6f, 0x74, 0x02, 0x01, 
    -	0xda, 0xfe, 0xc4, 0x58, 0x4f, 0x52, 0x52, 0xee, 0xc4, 0xfe, 0x01, 0x32, 
    -	0x34, 0x36, 0x04, 0xfd, 0xc3, 0x5f, 0x46, 0xda, 0xa7, 0x01, 0x61, 0x01, 
    -	0x8c, 0xfe, 0x56, 0xfe, 0x9a, 0xfe, 0x9d, 0xfe, 0x66, 0x28, 0x1e, 0x93, 
    -	0x2a, 0x2f, 0x01, 0xf2, 0x01, 0xb1, 0x01, 0xab, 0x02, 0x01, 0xfe, 0x1b, 
    -	0xfd, 0xfb, 0x7f, 0x83, 0x34, 0x46, 0x04, 0x05, 0x04, 0x01, 0xf0, 0x07, 
    -	0x08, 0xc1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x05, 0xb0, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x42, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x0b, 0xd0, 
    -	0x30, 0x31, 0x01, 0x21, 0x03, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 
    -	0x03, 0x23, 0x03, 0x95, 0xfe, 0x01, 0x63, 0xfe, 0xd9, 0x01, 0xf5, 0x01, 
    -	0x2b, 0x01, 0xf3, 0xfe, 0xd9, 0xfd, 0xe6, 0x01, 0x6f, 0xb4, 0x06, 0x01, 
    -	0x3a, 0xfe, 0xc6, 0x05, 0xb0, 0xfa, 0x50, 0x02, 0x1f, 0x02, 0x3c, 0x00, 
    -	0x00, 0x03, 0x00, 0x88, 0x00, 0x00, 0x04, 0xca, 0x05, 0xb0, 0x00, 0x0e, 
    -	0x00, 0x17, 0x00, 0x20, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x18, 
    -	0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x08, 0x0f, 0x18, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x01, 0x10, 0xb1, 0x1f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x20, 0x04, 0x15, 0x14, 0x06, 
    -	0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x01, 0x11, 0x21, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x23, 0x88, 0x01, 0xec, 0x01, 0x01, 0x01, 0x20, 0x6b, 0x66, 0x83, 0x83, 
    -	0xfe, 0xec, 0xfd, 0xfe, 0xf3, 0x01, 0x0d, 0x74, 0x7a, 0x68, 0x70, 0xfe, 
    -	0xdd, 0xd2, 0x75, 0x7e, 0x7f, 0x7e, 0xc8, 0x05, 0xb0, 0xc8, 0xc7, 0x65, 
    -	0x9f, 0x28, 0x1c, 0xb8, 0x79, 0xd1, 0xd7, 0x02, 0x84, 0xfe, 0x5c, 0x65, 
    -	0x63, 0x6b, 0x71, 0xca, 0x60, 0x5c, 0x65, 0x60, 0x00, 0x01, 0x00, 0x5d, 
    -	0xff, 0xeb, 0x04, 0xdb, 0x05, 0xc5, 0x00, 0x1d, 0x00, 0x3b, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1a, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 
    -	0x00, 0x21, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x07, 
    -	0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x04, 0xd3, 0x02, 0x04, 0xfe, 0xd9, 0xfe, 0xfa, 0xfe, 
    -	0xf9, 0xfe, 0xb8, 0x01, 0x40, 0x01, 0x00, 0x01, 0x0e, 0x01, 0x30, 0x04, 
    -	0x02, 0xfe, 0xe4, 0x8a, 0x92, 0x83, 0x9a, 0xa2, 0x8a, 0x89, 0x83, 0x01, 
    -	0xef, 0x06, 0xeb, 0xfe, 0xed, 0x01, 0x52, 0x01, 0x0a, 0x01, 0x21, 0x01, 
    -	0x09, 0x01, 0x54, 0xfe, 0xeb, 0xef, 0x06, 0x90, 0x99, 0xd5, 0xa5, 0xfe, 
    -	0xdd, 0xa7, 0xd5, 0x93, 0x91, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0xe1, 0x05, 0xb0, 0x00, 0x09, 0x00, 0x13, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 
    -	0x11, 0x21, 0x20, 0x00, 0x11, 0x15, 0x10, 0x00, 0x21, 0x03, 0x11, 0x33, 
    -	0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x88, 0x01, 0xf4, 0x01, 0x0b, 
    -	0x01, 0x5a, 0xfe, 0xa6, 0xfe, 0xf5, 0xd0, 0xc1, 0x9d, 0xb2, 0xb2, 0x9d, 
    -	0x05, 0xb0, 0xfe, 0xab, 0xfe, 0xf5, 0xf1, 0xfe, 0xf4, 0xfe, 0xad, 0x04, 
    -	0xcf, 0xfc, 0x11, 0xd4, 0xab, 0xf3, 0xa9, 0xd4, 0x00, 0x01, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0x6d, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0x57, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x16, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x02, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 
    -	0x21, 0x04, 0x07, 0xfd, 0xa5, 0x02, 0xc1, 0xfc, 0x1b, 0x03, 0xe3, 0xfd, 
    -	0x41, 0x02, 0x5b, 0x02, 0x80, 0xfe, 0x60, 0xe0, 0x05, 0xb0, 0xe1, 0xfe, 
    -	0x92, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x04, 0x74, 
    -	0x05, 0xb0, 0x00, 0x09, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 
    -	0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x15, 0x21, 0x11, 0x21, 0x04, 0x0e, 0xfd, 0x9e, 0xfe, 0xdc, 0x03, 0xec, 
    -	0xfd, 0x38, 0x02, 0x62, 0x02, 0x5d, 0xfd, 0xa3, 0x05, 0xb0, 0xe1, 0xfe, 
    -	0x6f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x63, 0xff, 0xeb, 0x04, 0xe6, 
    -	0x05, 0xc5, 0x00, 0x20, 0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 
    -	0xb0, 0x0e, 0xd0, 0xb0, 0x0a, 0x10, 0xb1, 0x12, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x19, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1f, 0x03, 
    -	0x0a, 0x11, 0x12, 0x39, 0xb0, 0x1f, 0x2f, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 0x04, 
    -	0x23, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x17, 0x07, 
    -	0x21, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x04, 0xe6, 0x41, 0xfe, 0xed, 0xd2, 
    -	0xfe, 0xf5, 0xfe, 0xae, 0x01, 0x45, 0x01, 0x00, 0x01, 0x0a, 0x01, 0x1b, 
    -	0x03, 0x02, 0xfe, 0xed, 0x08, 0x84, 0x7f, 0x86, 0xa4, 0xaa, 0x90, 0x66, 
    -	0x7c, 0x20, 0xfe, 0xfe, 0x02, 0x26, 0xc7, 0x56, 0x86, 0x01, 0x4c, 0x01, 
    -	0x09, 0x01, 0x30, 0x01, 0x08, 0x01, 0x4d, 0xfe, 0xfd, 0xd3, 0x06, 0x74, 
    -	0x87, 0xcf, 0xa3, 0xfe, 0xce, 0xa6, 0xcf, 0x2a, 0x1f, 0x01, 0x0e, 0xca, 
    -	0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x05, 0x21, 0xfe, 0xdd, 0xfd, 0xae, 0xfe, 0xdc, 0x01, 0x24, 0x02, 
    -	0x52, 0x01, 0x23, 0x02, 0x5d, 0xfd, 0xa3, 0x05, 0xb0, 0xfd, 0x8e, 0x02, 
    -	0x72, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9a, 0x00, 0x00, 0x01, 0xbe, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x21, 0x11, 0x21, 0x01, 0xbe, 0xfe, 0xdc, 0x01, 0x24, 0x05, 0xb0, 0x00, 
    -	0x00, 0x01, 0x00, 0x3a, 0xff, 0xeb, 0x04, 0x0d, 0x05, 0xb0, 0x00, 0x10, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 
    -	0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x05, 0x10, 0xb1, 
    -	0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x02, 0xea, 0x01, 0x23, 0xfe, 0xed, 
    -	0xd2, 0xe4, 0xfe, 0xf6, 0x05, 0x02, 0x01, 0x1c, 0x6e, 0x5d, 0x51, 0x71, 
    -	0x05, 0xb0, 0xfc, 0x05, 0xd3, 0xf7, 0xde, 0xd8, 0x06, 0x73, 0x69, 0x7d, 
    -	0x6d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x05, 0x39, 
    -	0x05, 0xb0, 0x00, 0x0c, 0x00, 0x5a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x0a, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 
    -	0x01, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x01, 0x21, 0x01, 0x01, 
    -	0x21, 0x02, 0x4e, 0xa2, 0xfe, 0xdc, 0x01, 0x24, 0x7f, 0x01, 0x82, 0x01, 
    -	0x65, 0xfe, 0x16, 0x02, 0x11, 0xfe, 0x9c, 0x02, 0x60, 0xfd, 0xa0, 0x05, 
    -	0xb0, 0xfd, 0xad, 0x02, 0x53, 0xfd, 0x5a, 0xfc, 0xf6, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x04, 0x34, 0x05, 0xb0, 0x00, 0x05, 
    -	0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 0x11, 
    -	0x21, 0x01, 0xac, 0x02, 0x88, 0xfc, 0x54, 0x01, 0x24, 0xe0, 0xe0, 0x05, 
    -	0xb0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x06, 0x72, 
    -	0x05, 0xb0, 0x00, 0x11, 0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0a, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x09, 0xd0, 
    -	0xb0, 0x00, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 
    -	0x21, 0x11, 0x21, 0x11, 0x13, 0x27, 0x01, 0x23, 0x01, 0x07, 0x13, 0x11, 
    -	0x21, 0x11, 0x02, 0x05, 0x01, 0x73, 0x06, 0x01, 0x76, 0x01, 0x7e, 0xfe, 
    -	0xdc, 0x1c, 0x06, 0xfe, 0x7a, 0xc4, 0xfe, 0x7c, 0x06, 0x1c, 0xfe, 0xdc, 
    -	0x05, 0xb0, 0xfb, 0xcf, 0x04, 0x31, 0xfa, 0x50, 0x01, 0xb2, 0x02, 0x83, 
    -	0x01, 0xfb, 0xca, 0x04, 0x32, 0x01, 0xfd, 0x81, 0xfe, 0x4e, 0x05, 0xb0, 
    -	0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x43, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb0, 0x02, 
    -	0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x08, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x01, 
    -	0x07, 0x11, 0x21, 0x11, 0x21, 0x01, 0x37, 0x11, 0x21, 0x05, 0x21, 0xfe, 
    -	0xdd, 0xfd, 0xb4, 0x06, 0xfe, 0xdc, 0x01, 0x24, 0x02, 0x4c, 0x06, 0x01, 
    -	0x23, 0x03, 0xe3, 0x01, 0xfc, 0x1e, 0x05, 0xb0, 0xfc, 0x1e, 0x01, 0x03, 
    -	0xe1, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x21, 0x20, 
    -	0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x25, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x05, 
    -	0x1b, 0xfe, 0xad, 0xfe, 0xf1, 0xfe, 0xf3, 0xfe, 0xb0, 0x01, 0x4f, 0x01, 
    -	0x0d, 0x01, 0x0f, 0x01, 0x54, 0xfe, 0xdc, 0xaa, 0x95, 0x95, 0xa4, 0xa6, 
    -	0x94, 0x96, 0xa8, 0x02, 0x55, 0xfe, 0xf4, 0xfe, 0xa2, 0x01, 0x5e, 0x01, 
    -	0x0c, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0xfe, 0xa1, 0xfe, 0xf5, 0x02, 
    -	0xaa, 0xda, 0xd9, 0xab, 0xfe, 0xf8, 0xad, 0xda, 0xda, 0xad, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe7, 0x05, 0xb0, 0x00, 0x0a, 
    -	0x00, 0x13, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x03, 0x10, 0xb1, 0x12, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x32, 
    -	0x00, 0x15, 0x14, 0x04, 0x23, 0x25, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x21, 0x01, 0xac, 0xfe, 0xdc, 0x02, 0x44, 0xfb, 0x01, 0x20, 0xfe, 
    -	0xe0, 0xfb, 0xfe, 0xe0, 0x01, 0x20, 0x7a, 0x7e, 0x7d, 0x7b, 0xfe, 0xe0, 
    -	0x02, 0x10, 0xfd, 0xf0, 0x05, 0xb0, 0xff, 0x00, 0xd1, 0xd1, 0xfe, 0xe1, 
    -	0x85, 0x67, 0x69, 0x89, 0x00, 0x02, 0x00, 0x5c, 0xff, 0x15, 0x05, 0x66, 
    -	0x05, 0xc5, 0x00, 0x13, 0x00, 0x21, 0x00, 0x42, 0x00, 0xb0, 0x05, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x03, 0x09, 0x1e, 0x11, 0x12, 0x39, 0xb0, 0x10, 0x10, 
    -	0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x17, 0x07, 0x25, 0x06, 0x06, 0x23, 
    -	0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x25, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x05, 0x1b, 0x56, 0x50, 0xf1, 0xbf, 0xfe, 0xfa, 0x36, 0x74, 0x3e, 0xfe, 
    -	0xf3, 0xfe, 0xb0, 0x01, 0x4f, 0x01, 0x0d, 0x01, 0x0f, 0x01, 0x54, 0xfe, 
    -	0xdc, 0xaa, 0x95, 0x95, 0xa4, 0xa6, 0x94, 0x96, 0xa8, 0x02, 0x55, 0x84, 
    -	0xe1, 0x53, 0xec, 0x9c, 0xfe, 0x13, 0x15, 0x01, 0x5e, 0x01, 0x0c, 0x01, 
    -	0x06, 0x01, 0x0b, 0x01, 0x5f, 0xfe, 0xa1, 0xfe, 0xf5, 0x02, 0xaa, 0xda, 
    -	0xd9, 0xab, 0xfe, 0xf8, 0xad, 0xda, 0xda, 0xad, 0x00, 0x02, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x12, 0x05, 0xb0, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x52, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 
    -	0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x1b, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 
    -	0x00, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x21, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x15, 0x14, 0x16, 0x17, 0x15, 0x21, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0xac, 
    -	0xfe, 0xdc, 0x02, 0x25, 0xf9, 0x01, 0x19, 0x76, 0x72, 0x81, 0x71, 0x21, 
    -	0x28, 0xfe, 0xd3, 0x28, 0x18, 0x77, 0x6c, 0xfe, 0xea, 0xfc, 0x7b, 0x79, 
    -	0x79, 0x76, 0xfe, 0xff, 0x02, 0x46, 0xfd, 0xba, 0x05, 0xb0, 0xe3, 0xcb, 
    -	0x71, 0xa2, 0x32, 0x26, 0xb2, 0x83, 0x6b, 0x3d, 0x85, 0x20, 0x15, 0x20, 
    -	0x96, 0x43, 0x67, 0x6d, 0x79, 0xe1, 0x68, 0x66, 0x64, 0x76, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xbe, 0x05, 0xc5, 0x00, 0x27, 
    -	0x00, 0x5d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 
    -	0xb1, 0x1d, 0x0a, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 0x09, 0x11, 0x12, 0x39, 
    -	0xb0, 0x17, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1d, 0x10, 0xb0, 0x21, 0xd0, 0xb0, 0x1d, 0x10, 0xb1, 0x25, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x34, 0x26, 0x27, 0x24, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x04, 0x07, 
    -	0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x03, 0x9a, 0x77, 0x95, 0xfe, 0xfc, 0xfe, 0xf6, 0x01, 
    -	0x31, 0xed, 0xf0, 0x01, 0x2e, 0x05, 0x02, 0xfe, 0xe5, 0x87, 0x7a, 0x75, 
    -	0x80, 0x89, 0xa8, 0xf1, 0xf8, 0xfe, 0xd9, 0xf2, 0xee, 0xfe, 0x9e, 0x05, 
    -	0x02, 0x01, 0x1c, 0x9f, 0x8e, 0x77, 0x7e, 0x01, 0x7c, 0x54, 0x66, 0x2d, 
    -	0x4b, 0xce, 0xb3, 0xb3, 0xe3, 0xff, 0xbb, 0x06, 0x65, 0x7d, 0x68, 0x51, 
    -	0x4a, 0x5f, 0x35, 0x43, 0xdc, 0xb3, 0xbb, 0xd8, 0xf5, 0xdd, 0x06, 0x82, 
    -	0x79, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x76, 
    -	0x05, 0xb0, 0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 
    -	0x21, 0x04, 0x76, 0xfe, 0x64, 0xfe, 0xdc, 0xfe, 0x66, 0x04, 0x5a, 0x04, 
    -	0xcf, 0xfb, 0x31, 0x04, 0xcf, 0xe1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x78, 
    -	0xff, 0xeb, 0x05, 0x08, 0x05, 0xb0, 0x00, 0x11, 0x00, 0x36, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x00, 0x21, 0x20, 0x00, 0x35, 
    -	0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x05, 0x08, 
    -	0xfe, 0xbc, 0xfe, 0xfa, 0xfe, 0xfb, 0xfe, 0xbf, 0x01, 0x25, 0x9a, 0x87, 
    -	0x89, 0x9c, 0x05, 0xb0, 0xfc, 0x3a, 0xf5, 0xfe, 0xf6, 0x01, 0x0a, 0xf5, 
    -	0x03, 0xc6, 0xfc, 0x3a, 0x90, 0x8f, 0x8e, 0x91, 0x03, 0xc6, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x05, 0x10, 0x05, 0xb0, 0x00, 0x09, 
    -	0x00, 0x2d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 
    -	0x17, 0x33, 0x37, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x02, 0x76, 0x12, 
    -	0x06, 0x11, 0x01, 0x3d, 0x01, 0x34, 0xfe, 0x11, 0xfe, 0xd4, 0xfe, 0x12, 
    -	0x01, 0x34, 0x01, 0x83, 0x4f, 0x4d, 0x04, 0x2f, 0xfa, 0x50, 0x05, 0xb0, 
    -	0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x06, 0xfb, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x00, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x0c, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x13, 0x21, 0x01, 0x21, 0x01, 0x23, 
    -	0x01, 0x21, 0x01, 0x21, 0x13, 0x17, 0x01, 0x33, 0x05, 0x08, 0x06, 0xd0, 
    -	0x01, 0x1d, 0xfe, 0xac, 0xfe, 0xf1, 0xfe, 0xf5, 0x06, 0xfe, 0xf5, 0xfe, 
    -	0xf1, 0xfe, 0xab, 0x01, 0x1e, 0xd1, 0x06, 0x01, 0x11, 0xd7, 0x01, 0xca, 
    -	0x03, 0xe6, 0xfa, 0x50, 0x03, 0xc1, 0xfc, 0x3f, 0x05, 0xb0, 0xfc, 0x1b, 
    -	0x01, 0x03, 0xe6, 0x00, 0x00, 0x01, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x07, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x44, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x06, 0x07, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x06, 0x10, 0xb0, 0x00, 0xd0, 
    -	0x30, 0x31, 0x01, 0x01, 0x21, 0x01, 0x01, 0x21, 0x01, 0x01, 0x21, 0x01, 
    -	0x01, 0x21, 0x02, 0x89, 0x01, 0x11, 0x01, 0x54, 0xfe, 0x50, 0x01, 0xc9, 
    -	0xfe, 0x9f, 0xfe, 0xe7, 0xfe, 0xe7, 0xfe, 0xab, 0x01, 0xbb, 0xfe, 0x50, 
    -	0x01, 0x52, 0x03, 0xac, 0x02, 0x04, 0xfd, 0x2e, 0xfd, 0x22, 0x02, 0x0d, 
    -	0xfd, 0xf3, 0x02, 0xde, 0x02, 0xd2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 
    -	0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x00, 0x09, 0x00, 0x3d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x00, 0x05, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 
    -	0xb0, 0x04, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 
    -	0x33, 0x01, 0x21, 0x01, 0x11, 0x21, 0x11, 0x01, 0x21, 0x02, 0x83, 0x06, 
    -	0x01, 0x3e, 0x01, 0x40, 0xfe, 0x0c, 0xfe, 0xdd, 0xfe, 0x15, 0x01, 0x40, 
    -	0x03, 0x11, 0x02, 0x9f, 0xfc, 0x50, 0xfe, 0x00, 0x02, 0x0f, 0x03, 0xa1, 
    -	0x00, 0x01, 0x00, 0x4d, 0x00, 0x00, 0x04, 0x76, 0x05, 0xb0, 0x00, 0x09, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 0x00, 0x02, 0x11, 0x12, 0x39, 
    -	0xb0, 0x07, 0x10, 0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x09, 0x05, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 
    -	0x25, 0x21, 0x15, 0x21, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0xae, 
    -	0x02, 0xc8, 0xfb, 0xd7, 0x02, 0xb4, 0xfd, 0x4d, 0x04, 0x17, 0xe0, 0xe0, 
    -	0x98, 0x04, 0x37, 0xe1, 0x92, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77, 
    -	0xfe, 0xb0, 0x02, 0x29, 0x06, 0x9b, 0x00, 0x07, 0x00, 0x27, 0x00, 0xb0, 
    -	0x07, 0x2f, 0xb0, 0x04, 0x2f, 0xb0, 0x07, 0x10, 0xb1, 0x00, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x23, 0x11, 0x33, 0x15, 0x21, 0x11, 0x21, 0x02, 0x29, 0x8d, 
    -	0x8d, 0xfe, 0x4e, 0x01, 0xb2, 0x05, 0xc3, 0xf9, 0xc5, 0xd8, 0x07, 0xeb, 
    -	0x00, 0x01, 0x00, 0x02, 0xff, 0x83, 0x03, 0x83, 0x05, 0xb0, 0x00, 0x03, 
    -	0x00, 0x13, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0x30, 0x31, 0x13, 0x21, 0x01, 
    -	0x21, 0x02, 0x01, 0x21, 0x02, 0x60, 0xfe, 0xdf, 0x05, 0xb0, 0xf9, 0xd3, 
    -	0x00, 0x01, 0x00, 0x0d, 0xfe, 0xb0, 0x01, 0xbf, 0x06, 0x9b, 0x00, 0x07, 
    -	0x00, 0x24, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 0x2f, 0xb1, 0x04, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x13, 0x21, 0x11, 0x21, 0x35, 0x33, 0x11, 0x23, 0x0d, 0x01, 
    -	0xb2, 0xfe, 0x4e, 0x8e, 0x8e, 0x06, 0x9b, 0xf8, 0x15, 0xd8, 0x06, 0x3b, 
    -	0x00, 0x01, 0x00, 0x2c, 0x02, 0xd9, 0x03, 0x56, 0x05, 0xb0, 0x00, 0x09, 
    -	0x00, 0x13, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x10, 0x3e, 0x59, 0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x01, 
    -	0x33, 0x01, 0x23, 0x03, 0x27, 0x23, 0x07, 0x01, 0x13, 0xe7, 0x01, 0x2b, 
    -	0xd4, 0x01, 0x2b, 0xe7, 0xa5, 0x08, 0x06, 0x07, 0x02, 0xd9, 0x02, 0xd7, 
    -	0xfd, 0x29, 0x01, 0x9d, 0x22, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 
    -	0xff, 0x25, 0x03, 0x8f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09, 0x00, 0xb3, 
    -	0x03, 0x01, 0x00, 0x04, 0x2b, 0x30, 0x31, 0x05, 0x21, 0x35, 0x21, 0x03, 
    -	0x8f, 0xfc, 0x72, 0x03, 0x8e, 0xdb, 0xdb, 0x00, 0x00, 0x01, 0x00, 0x4d, 
    -	0x04, 0xbc, 0x02, 0x49, 0x05, 0xc6, 0x00, 0x04, 0x00, 0x3a, 0xb0, 0x00, 
    -	0x2f, 0x00, 0xb0, 0x00, 0x2f, 0xb2, 0x5f, 0x00, 0x01, 0x5d, 0xb2, 0xaf, 
    -	0x00, 0x01, 0x5d, 0xb2, 0x1f, 0x00, 0x01, 0x71, 0xb2, 0x7f, 0x00, 0x01, 
    -	0x5d, 0xb2, 0x3f, 0x00, 0x01, 0x5d, 0xb2, 0x0f, 0x00, 0x01, 0x5d, 0xb0, 
    -	0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x04, 
    -	0x1f, 0x04, 0x2f, 0x04, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x23, 0x01, 0x37, 
    -	0x21, 0x02, 0x49, 0xed, 0xfe, 0xf1, 0x02, 0x01, 0x35, 0x04, 0xbc, 0x01, 
    -	0x04, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x04, 0x4e, 0x00, 0x20, 0x00, 0x2b, 0x00, 0x88, 0x00, 0xb0, 0x0d, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0a, 0x3e, 0x59, 0xb4, 0x7f, 0x0d, 0x8f, 0x0d, 0x02, 0x5d, 0xb2, 0x2f, 
    -	0x0d, 0x01, 0x71, 0xb4, 0x4f, 0x0d, 0x5f, 0x0d, 0x02, 0x71, 0xb2, 0xff, 
    -	0x0d, 0x01, 0x5d, 0xb2, 0xbf, 0x0d, 0x01, 0x5d, 0xb2, 0x5f, 0x0d, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x0d, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x11, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x0d, 
    -	0x19, 0x11, 0x12, 0x39, 0xb0, 0x06, 0x10, 0xb1, 0x21, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x25, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x21, 0x26, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x25, 0x27, 0x26, 
    -	0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x17, 0x25, 0x32, 0x36, 
    -	0x37, 0x35, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x02, 0xeb, 0x10, 0x17, 
    -	0x05, 0x2d, 0x93, 0x66, 0xaa, 0xb8, 0xf5, 0xeb, 0xa3, 0x52, 0x50, 0x47, 
    -	0x4d, 0xfe, 0xe6, 0x01, 0x07, 0xfc, 0xcd, 0xc2, 0xf2, 0x17, 0x19, 0xfd, 
    -	0xd1, 0x4d, 0x78, 0x15, 0xa3, 0x5d, 0x60, 0x48, 0x25, 0x52, 0x2b, 0x4f, 
    -	0x68, 0xaf, 0x97, 0x9f, 0xaf, 0x56, 0x4e, 0x56, 0x45, 0x3d, 0x01, 0x06, 
    -	0x89, 0xc7, 0xc5, 0xb6, 0xfe, 0x41, 0x4c, 0x86, 0x42, 0xc3, 0x4c, 0x32, 
    -	0x99, 0x5d, 0x42, 0x36, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 
    -	0xff, 0xeb, 0x04, 0x40, 0x06, 0x18, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x55, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x1a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x07, 0x23, 0x11, 0x21, 
    -	0x11, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x21, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0x40, 0xd8, 
    -	0xcc, 0x5e, 0x8d, 0x31, 0x16, 0xfa, 0x01, 0x23, 0x2f, 0x83, 0x55, 0xce, 
    -	0xd8, 0xfe, 0xdd, 0x5d, 0x70, 0x44, 0x5e, 0x1b, 0x1b, 0x5f, 0x45, 0x71, 
    -	0x5a, 0x01, 0xff, 0xf2, 0xfe, 0xde, 0x4f, 0x4c, 0x86, 0x06, 0x18, 0xfd, 
    -	0xaf, 0x41, 0x46, 0xfe, 0xc9, 0xfe, 0xfd, 0x9e, 0xb9, 0x39, 0x35, 0xfe, 
    -	0x36, 0x31, 0x34, 0x9f, 0x92, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3e, 
    -	0xff, 0xeb, 0x03, 0xf2, 0x04, 0x4e, 0x00, 0x1d, 0x00, 0x44, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x13, 
    -	0xd0, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x21, 0x17, 
    -	0x16, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x02, 0x36, 0x4e, 0x5e, 0x01, 0x09, 0x03, 0x04, 0xff, 0xbd, 0xf2, 0xfe, 
    -	0xfa, 0x01, 0x05, 0xf2, 0xc8, 0xf5, 0x04, 0x02, 0xfe, 0xf6, 0x5c, 0x51, 
    -	0x74, 0x5f, 0x5f, 0xcb, 0x5b, 0x4c, 0x06, 0xa4, 0xdd, 0x01, 0x32, 0xf0, 
    -	0x1e, 0xef, 0x01, 0x34, 0xe4, 0xba, 0x06, 0x54, 0x6f, 0xb4, 0x8e, 0x1e, 
    -	0x91, 0xb1, 0x00, 0x00, 0x00, 0x02, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x12, 
    -	0x06, 0x18, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x55, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x10, 0x12, 
    -	0x33, 0x32, 0x16, 0x17, 0x11, 0x21, 0x11, 0x23, 0x27, 0x06, 0x06, 0x23, 
    -	0x22, 0x02, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x43, 0xdd, 0xc9, 0x51, 0x82, 0x31, 0x01, 
    -	0x25, 0xfb, 0x18, 0x33, 0x8b, 0x5a, 0xc7, 0xdd, 0x01, 0x23, 0x60, 0x6c, 
    -	0x3f, 0x5e, 0x1e, 0x1e, 0x5d, 0x3e, 0x6b, 0x63, 0x02, 0x14, 0x01, 0x00, 
    -	0x01, 0x3a, 0x46, 0x41, 0x02, 0x51, 0xf9, 0xe8, 0x84, 0x4b, 0x4e, 0x01, 
    -	0x24, 0xf0, 0x8e, 0xa3, 0x33, 0x31, 0x01, 0xcd, 0x33, 0x39, 0xbe, 0x99, 
    -	0x00, 0x02, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x04, 0x4f, 0x00, 0x16, 
    -	0x00, 0x1f, 0x00, 0x6f, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0xff, 
    -	0x0b, 0x01, 0x5d, 0xb2, 0x8f, 0x0b, 0x01, 0x71, 0xb2, 0x9f, 0x0b, 0x01, 
    -	0x72, 0xb2, 0x1f, 0x0b, 0x01, 0x72, 0xb2, 0x4f, 0x0b, 0x01, 0x71, 0xb2, 
    -	0xbf, 0x0b, 0x01, 0x5d, 0xb4, 0x5f, 0x0b, 0x6f, 0x0b, 0x02, 0x5d, 0xb1, 
    -	0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x07, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x22, 0x00, 0x35, 0x35, 
    -	0x34, 0x00, 0x17, 0x32, 0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x03, 0x22, 0x06, 0x07, 0x17, 0x21, 
    -	0x35, 0x34, 0x26, 0x02, 0x4f, 0xea, 0xfe, 0xe8, 0x01, 0x09, 0xdf, 0xdb, 
    -	0xf2, 0xfd, 0x7a, 0x02, 0x08, 0x7f, 0x6d, 0x61, 0x80, 0x4c, 0x4f, 0x42, 
    -	0xd6, 0x9d, 0x51, 0x5e, 0x0b, 0x03, 0x01, 0x66, 0x57, 0x15, 0x01, 0x2c, 
    -	0xe7, 0x28, 0xf1, 0x01, 0x38, 0x01, 0xfe, 0xf8, 0xe1, 0x9f, 0x06, 0x6b, 
    -	0x8a, 0x27, 0x2a, 0xb4, 0x36, 0x47, 0x03, 0x82, 0x7c, 0x65, 0x05, 0x1a, 
    -	0x5d, 0x6f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x02, 0xec, 
    -	0x06, 0x2d, 0x00, 0x17, 0x00, 0x79, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x03, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0xf0, 0x08, 0x01, 0x5d, 0xb2, 0xc0, 0x08, 
    -	0x01, 0x71, 0xb2, 0x7f, 0x08, 0x01, 0x5d, 0xb4, 0x2f, 0x08, 0x3f, 0x08, 
    -	0x02, 0x5d, 0xb2, 0x30, 0x08, 0x01, 0x71, 0xb2, 0xa0, 0x08, 0x01, 0x5d, 
    -	0xb2, 0x00, 0x08, 0x01, 0x72, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x15, 0xd0, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 
    -	0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x33, 0x15, 0x23, 0x11, 0xbc, 0xa1, 0xa1, 0xd2, 0xbe, 
    -	0x25, 0x4d, 0x2e, 0x19, 0x18, 0x2d, 0x1e, 0x47, 0x49, 0xd7, 0xd7, 0x03, 
    -	0x6d, 0xcd, 0x78, 0xb6, 0xc5, 0x0b, 0x0a, 0xd9, 0x04, 0x06, 0x4e, 0x49, 
    -	0x78, 0xcd, 0xfc, 0x93, 0x00, 0x02, 0x00, 0x43, 0xfe, 0x4b, 0x04, 0x14, 
    -	0x04, 0x4e, 0x00, 0x1d, 0x00, 0x2b, 0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x21, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x28, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x11, 0x14, 0x04, 
    -	0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 
    -	0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x43, 0xdf, 0xc9, 0x5b, 
    -	0x8a, 0x31, 0x17, 0xfc, 0xfe, 0xeb, 0xf7, 0x52, 0xb8, 0x4e, 0x36, 0x43, 
    -	0x8b, 0x52, 0x78, 0x71, 0x30, 0x82, 0x54, 0xc7, 0xdf, 0x01, 0x24, 0x60, 
    -	0x6c, 0x43, 0x5d, 0x1c, 0x1c, 0x5d, 0x41, 0x6b, 0x63, 0x02, 0x14, 0x01, 
    -	0x00, 0x01, 0x3a, 0x52, 0x4c, 0x8a, 0xfb, 0xcb, 0xd3, 0xe7, 0x2d, 0x27, 
    -	0xda, 0x20, 0x21, 0x64, 0x6a, 0x62, 0x3d, 0x40, 0x01, 0x25, 0xef, 0x8e, 
    -	0xa3, 0x31, 0x2f, 0x01, 0xd6, 0x31, 0x36, 0xbe, 0x99, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x69, 0x00, 0x00, 0x04, 0x18, 0x06, 0x18, 0x00, 0x13, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 
    -	0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x0c, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x21, 0x01, 0x8d, 0x33, 0x94, 
    -	0x5a, 0xa9, 0xc1, 0xfe, 0xdc, 0x59, 0x58, 0x3c, 0x5c, 0x1e, 0xfe, 0xdc, 
    -	0x01, 0x24, 0x03, 0xb1, 0x4a, 0x53, 0xe1, 0xeb, 0xfd, 0x7e, 0x02, 0x84, 
    -	0x7e, 0x69, 0x2b, 0x27, 0xfc, 0xe7, 0x06, 0x18, 0x00, 0x02, 0x00, 0x7f, 
    -	0x00, 0x00, 0x01, 0xa3, 0x06, 0x18, 0x00, 0x03, 0x00, 0x07, 0x00, 0x37, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb0, 0x05, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x35, 0x21, 0x01, 0xa3, 0xfe, 0xdc, 0x01, 0x24, 0xfe, 0xdc, 0x01, 
    -	0x24, 0x04, 0x3a, 0x01, 0x03, 0xdb, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9e, 
    -	0xfe, 0x4b, 0x01, 0xab, 0x06, 0x18, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x48, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0c, 0x3e, 0x59, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x50, 0x11, 0x01, 0x5d, 0x30, 0x31, 
    -	0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x01, 0x21, 0x35, 0x21, 0x01, 0xab, 0xca, 0xb4, 
    -	0x28, 0x42, 0x25, 0x0e, 0x17, 0x2e, 0x1a, 0x3b, 0x40, 0x01, 0x1f, 0xfe, 
    -	0xdb, 0x01, 0x25, 0x04, 0x3a, 0xfb, 0x9e, 0xbe, 0xcf, 0x08, 0x09, 0xdf, 
    -	0x06, 0x06, 0x53, 0x56, 0x04, 0x62, 0x01, 0x05, 0xd9, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x70, 0x00, 0x00, 0x04, 0x5e, 0x06, 0x18, 0x00, 0x0c, 
    -	0x00, 0x5a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x0a, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x33, 0x13, 0x21, 0x01, 0x01, 0x21, 0x01, 0xe4, 0x50, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x48, 0xfb, 0x01, 0x52, 0xfe, 0xa6, 0x01, 0x8f, 
    -	0xfe, 0xb1, 0x01, 0xc5, 0xfe, 0x3b, 0x06, 0x18, 0xfc, 0x8b, 0x01, 0x97, 
    -	0xfe, 0x16, 0xfd, 0xb0, 0x00, 0x01, 0x00, 0x7f, 0x00, 0x00, 0x01, 0xa3, 
    -	0x06, 0x18, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x21, 0x11, 0x21, 0x01, 0xa3, 0xfe, 0xdc, 0x01, 0x24, 0x06, 0x18, 0x00, 
    -	0x00, 0x01, 0x00, 0x70, 0x00, 0x00, 0x06, 0x7c, 0x04, 0x4e, 0x00, 0x25, 
    -	0x00, 0x63, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x25, 0x2f, 
    -	0x1b, 0xb1, 0x25, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 
    -	0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 
    -	0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 
    -	0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x14, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x01, 0x7f, 0x0c, 0x34, 0x9d, 
    -	0x67, 0x68, 0x94, 0x26, 0x32, 0xa0, 0x6c, 0xa0, 0xb9, 0xfe, 0xdc, 0x50, 
    -	0x4f, 0x3e, 0x5b, 0x1b, 0x02, 0xfe, 0xdd, 0x50, 0x50, 0x3b, 0x59, 0x1d, 
    -	0xfe, 0xdd, 0x04, 0x3a, 0x8f, 0x4e, 0x55, 0x5c, 0x5d, 0x57, 0x62, 0xdd, 
    -	0xe2, 0xfd, 0x71, 0x02, 0x90, 0x7b, 0x60, 0x37, 0x31, 0x13, 0x1b, 0x0e, 
    -	0xfd, 0x39, 0x02, 0x90, 0x78, 0x63, 0x2d, 0x29, 0xfc, 0xeb, 0x04, 0x3a, 
    -	0x00, 0x01, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x1a, 0x04, 0x4e, 0x00, 0x13, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 
    -	0xb1, 0x13, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 
    -	0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0d, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x01, 0x7b, 0x0d, 0x36, 
    -	0x9e, 0x62, 0xa4, 0xb8, 0xfe, 0xdb, 0x58, 0x59, 0x3a, 0x5c, 0x1f, 0xfe, 
    -	0xdc, 0x04, 0x3a, 0x9b, 0x53, 0x5c, 0xce, 0xdc, 0xfd, 0x5c, 0x02, 0xa3, 
    -	0x6d, 0x5b, 0x2f, 0x2b, 0xfc, 0xef, 0x04, 0x3a, 0x00, 0x02, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x04, 0x4e, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x38, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 
    -	0x0a, 0x3e, 0x59, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 
    -	0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x21, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x43, 0x01, 0x0e, 0xef, 0xf0, 0x01, 0x10, 0xfe, 0xf1, 0xef, 0xf0, 0xfe, 
    -	0xf1, 0x01, 0x23, 0x68, 0x74, 0x71, 0x69, 0x6a, 0x72, 0x71, 0x69, 0x02, 
    -	0x27, 0xf2, 0x01, 0x35, 0xfe, 0xcc, 0xf3, 0x15, 0xf4, 0xfe, 0xcd, 0x01, 
    -	0x33, 0xf4, 0x94, 0xb3, 0xb4, 0x93, 0x15, 0x90, 0xb6, 0xb7, 0x8f, 0x00, 
    -	0x00, 0x02, 0x00, 0x70, 0xfe, 0x60, 0x04, 0x40, 0x04, 0x4e, 0x00, 0x11, 
    -	0x00, 0x1f, 0x00, 0x55, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0e, 0x10, 
    -	0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 
    -	0x11, 0x21, 0x11, 0x21, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x21, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x04, 0x40, 0xde, 0xc7, 0x55, 0x84, 0x2f, 0xfe, 0xdd, 0x01, 0x07, 
    -	0x11, 0x30, 0x87, 0x5a, 0xc9, 0xde, 0xfe, 0xdc, 0x66, 0x69, 0x42, 0x5d, 
    -	0x1b, 0x1b, 0x5d, 0x44, 0x6a, 0x63, 0x01, 0xff, 0xf0, 0xfe, 0xdc, 0x3f, 
    -	0x3d, 0xfd, 0xf9, 0x05, 0xda, 0x80, 0x47, 0x4d, 0xfe, 0xc6, 0xff, 0x00, 
    -	0x99, 0xbe, 0x36, 0x32, 0xfe, 0x26, 0x2e, 0x30, 0xa6, 0x8e, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x43, 0xfe, 0x60, 0x04, 0x0f, 0x04, 0x4e, 0x00, 0x11, 
    -	0x00, 0x1f, 0x00, 0x52, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb1, 0x15, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x13, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x11, 
    -	0x21, 0x11, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x21, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x43, 0xdd, 
    -	0xc9, 0x5a, 0x88, 0x31, 0x1b, 0xf8, 0xfe, 0xdc, 0x30, 0x81, 0x53, 0xc7, 
    -	0xdd, 0x01, 0x23, 0x60, 0x6c, 0x40, 0x5c, 0x1d, 0x1d, 0x5b, 0x3f, 0x6b, 
    -	0x63, 0x02, 0x14, 0x01, 0x00, 0x01, 0x3a, 0x4f, 0x4a, 0x85, 0xfa, 0x26, 
    -	0x02, 0x05, 0x3c, 0x3e, 0x01, 0x24, 0xf0, 0x8e, 0xa6, 0x30, 0x2e, 0x01, 
    -	0xe0, 0x30, 0x34, 0xc0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x70, 
    -	0x00, 0x00, 0x02, 0xc8, 0x04, 0x4e, 0x00, 0x0f, 0x00, 0x37, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x27, 0x22, 0x06, 0x07, 0x11, 0x21, 
    -	0x11, 0x21, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x02, 0xa9, 0x6b, 
    -	0x41, 0x54, 0x16, 0xfe, 0xdd, 0x01, 0x0f, 0x0d, 0x26, 0x79, 0x4f, 0x16, 
    -	0x25, 0x13, 0x03, 0x3f, 0x03, 0x36, 0x31, 0xfd, 0x25, 0x04, 0x3a, 0xa0, 
    -	0x55, 0x5f, 0x07, 0x05, 0x00, 0x01, 0x00, 0x3a, 0xff, 0xeb, 0x03, 0xd4, 
    -	0x04, 0x4e, 0x00, 0x27, 0x00, 0x74, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0a, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 
    -	0x09, 0x11, 0x12, 0x39, 0xb4, 0x79, 0x17, 0x89, 0x17, 0x02, 0x5d, 0xb0, 
    -	0x17, 0x10, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x0e, 0x09, 0x1d, 0x11, 0x12, 0x39, 0xb4, 0x0b, 0x0e, 
    -	0x1b, 0x0e, 0x02, 0x5d, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x22, 0x1d, 0x09, 0x11, 
    -	0x12, 0x39, 0xb4, 0x04, 0x22, 0x14, 0x22, 0x02, 0x5d, 0xb0, 0x1d, 0x10, 
    -	0xb1, 0x25, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 
    -	0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x02, 0xb9, 0x5d, 0x7e, 0xc0, 0xc3, 
    -	0xeb, 0xc5, 0xcf, 0xf5, 0x05, 0x02, 0xfe, 0xe6, 0x53, 0x50, 0x47, 0x51, 
    -	0x55, 0x82, 0xc8, 0xc2, 0xfa, 0xcd, 0xd8, 0xfb, 0x06, 0x02, 0x01, 0x0b, 
    -	0x03, 0x6c, 0x57, 0x51, 0x55, 0x01, 0x2a, 0x30, 0x46, 0x1b, 0x27, 0x99, 
    -	0x84, 0x8c, 0xc3, 0xc2, 0x94, 0x06, 0x41, 0x52, 0x45, 0x34, 0x32, 0x40, 
    -	0x19, 0x28, 0x9b, 0x88, 0x92, 0xb9, 0xdb, 0x8c, 0x06, 0x57, 0x4e, 0x40, 
    -	0x00, 0x01, 0x00, 0x09, 0xff, 0xeb, 0x02, 0x92, 0x05, 0x43, 0x00, 0x17, 
    -	0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x03, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 
    -	0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x14, 0xd0, 0x30, 0x31, 0x01, 
    -	0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x01, 
    -	0xcb, 0xb6, 0xb6, 0x34, 0x2c, 0x17, 0x21, 0x16, 0x19, 0x2c, 0x54, 0x31, 
    -	0x97, 0xa3, 0x9e, 0x9e, 0x05, 0x43, 0xfe, 0xf7, 0xcd, 0xfd, 0xd9, 0x3f, 
    -	0x36, 0x05, 0x06, 0xd3, 0x0f, 0x0f, 0xa6, 0xb4, 0x02, 0x28, 0xcd, 0x01, 
    -	0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x04, 0x3a, 0x00, 0x13, 0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 
    -	0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x11, 0x23, 
    -	0x03, 0x05, 0x32, 0x9a, 0x64, 0xab, 0xc1, 0x01, 0x23, 0x50, 0x4e, 0x46, 
    -	0x64, 0x20, 0x01, 0x24, 0xf9, 0x9c, 0x55, 0x5c, 0xdb, 0xe7, 0x02, 0x8d, 
    -	0xfd, 0x71, 0x76, 0x67, 0x2d, 0x2c, 0x03, 0x13, 0xfb, 0xc6, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x04, 0x07, 0x04, 0x3a, 0x00, 0x09, 
    -	0x00, 0x2d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 
    -	0x17, 0x33, 0x37, 0x13, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0xf7, 0x13, 
    -	0x06, 0x14, 0xb2, 0x01, 0x31, 0xfe, 0x90, 0xfe, 0xe9, 0xfe, 0x90, 0x01, 
    -	0x31, 0x01, 0x93, 0x64, 0x64, 0x02, 0xa7, 0xfb, 0xc6, 0x04, 0x3a, 0x00, 
    -	0x00, 0x01, 0x00, 0x1d, 0x00, 0x00, 0x05, 0xc2, 0x04, 0x3a, 0x00, 0x0f, 
    -	0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x00, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x0c, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x13, 0x21, 0x01, 0x23, 0x03, 0x23, 
    -	0x03, 0x23, 0x01, 0x21, 0x13, 0x33, 0x13, 0x33, 0x04, 0x1d, 0x06, 0x8d, 
    -	0x01, 0x12, 0xfe, 0xed, 0xf4, 0xc9, 0x06, 0xc9, 0xf3, 0xfe, 0xed, 0x01, 
    -	0x12, 0x8f, 0x06, 0xca, 0xc3, 0x01, 0x83, 0x02, 0xb7, 0xfb, 0xc6, 0x02, 
    -	0x84, 0xfd, 0x7c, 0x04, 0x3a, 0xfd, 0x4b, 0x02, 0xb5, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x13, 0x00, 0x00, 0x04, 0x08, 0x04, 0x3a, 0x00, 0x0c, 
    -	0x00, 0x44, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb2, 0x07, 0x08, 0x0b, 0x11, 
    -	0x12, 0x39, 0xb0, 0x07, 0x10, 0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x33, 
    -	0x13, 0x21, 0x01, 0x01, 0x21, 0x03, 0x03, 0x21, 0x01, 0x01, 0x21, 0x02, 
    -	0x07, 0x06, 0xa6, 0x01, 0x4a, 0xfe, 0xba, 0x01, 0x51, 0xfe, 0xb7, 0xb1, 
    -	0xb1, 0xfe, 0xb6, 0x01, 0x51, 0xfe, 0xb9, 0x01, 0x48, 0x02, 0xe2, 0x01, 
    -	0x58, 0xfd, 0xe9, 0xfd, 0xdd, 0x01, 0x67, 0xfe, 0x99, 0x02, 0x23, 0x02, 
    -	0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb2, 0x13, 
    -	0x08, 0x14, 0x11, 0x12, 0x39, 0xb0, 0x13, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 
    -	0x08, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x13, 0x21, 0x01, 0x06, 0x06, 
    -	0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, 
    -	0x01, 0x21, 0x01, 0xf6, 0x0c, 0x06, 0xcf, 0x01, 0x3a, 0xfe, 0x49, 0x2e, 
    -	0x9e, 0x9e, 0x25, 0x3f, 0x2d, 0x22, 0x0d, 0x1e, 0x0c, 0x48, 0x4e, 0x15, 
    -	0x22, 0xfe, 0x80, 0x01, 0x3a, 0x01, 0xc6, 0x3c, 0x02, 0xb0, 0xfb, 0x24, 
    -	0x74, 0x9f, 0x0c, 0x0b, 0xd5, 0x02, 0x04, 0x47, 0x35, 0x54, 0x04, 0x39, 
    -	0x00, 0x01, 0x00, 0x4b, 0x00, 0x00, 0x03, 0xce, 0x04, 0x3a, 0x00, 0x09, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 0x00, 0x02, 0x11, 0x12, 0x39, 
    -	0xb0, 0x07, 0x10, 0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x09, 0x05, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 
    -	0x25, 0x21, 0x15, 0x21, 0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0xb6, 
    -	0x02, 0x18, 0xfc, 0x7d, 0x02, 0x03, 0xfe, 0x0d, 0x03, 0x62, 0xe0, 0xe0, 
    -	0xac, 0x02, 0xac, 0xe2, 0xa7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, 
    -	0xfe, 0x98, 0x02, 0x81, 0x06, 0x3d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0xb0, 
    -	0x0f, 0x2f, 0xb0, 0x00, 0x2f, 0xb0, 0x08, 0x2f, 0xb1, 0x07, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x17, 0x07, 0x08, 
    -	0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x35, 0x32, 0x36, 0x35, 0x35, 0x34, 0x36, 0x37, 0x17, 0x06, 0x06, 
    -	0x15, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 
    -	0x02, 0x49, 0xc3, 0xa5, 0x57, 0x5a, 0x5a, 0x57, 0xa5, 0xc3, 0x38, 0x55, 
    -	0x46, 0x59, 0x5a, 0x5a, 0x59, 0x46, 0x55, 0xfe, 0x98, 0x37, 0xf0, 0xab, 
    -	0xcb, 0x63, 0x6e, 0xc9, 0x6d, 0x65, 0xcb, 0xab, 0xef, 0x37, 0x9d, 0x1f, 
    -	0x9f, 0x76, 0xcb, 0x68, 0xa1, 0x2d, 0x2f, 0xa1, 0x66, 0xcb, 0x76, 0x9f, 
    -	0x1f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xad, 0xfe, 0xf2, 0x01, 0x5d, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x13, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0x30, 
    -	0x31, 0x01, 0x23, 0x11, 0x33, 0x01, 0x5d, 0xb0, 0xb0, 0xfe, 0xf2, 0x06, 
    -	0xbe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0xfe, 0x98, 0x02, 0x74, 
    -	0x06, 0x3d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x1e, 
    -	0x2f, 0xb0, 0x16, 0x2f, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x17, 0x16, 0x11, 0x12, 0x39, 0x30, 
    -	0x31, 0x17, 0x36, 0x36, 0x35, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 
    -	0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x06, 0x07, 0x22, 0x55, 0x46, 0x5c, 
    -	0x5e, 0x5e, 0x5c, 0x46, 0x55, 0x38, 0xc2, 0xa6, 0x56, 0x5c, 0x5c, 0x56, 
    -	0xa6, 0xc2, 0xca, 0x1f, 0x9f, 0x76, 0xcb, 0x68, 0xa0, 0x2d, 0x2d, 0xa1, 
    -	0x69, 0xcb, 0x76, 0x9f, 0x1f, 0x9d, 0x37, 0xef, 0xab, 0xcb, 0x65, 0x6d, 
    -	0xc9, 0x6e, 0x63, 0xcb, 0xab, 0xf0, 0x37, 0x00, 0x00, 0x01, 0x00, 0x69, 
    -	0x01, 0x7a, 0x04, 0xc4, 0x03, 0x39, 0x00, 0x19, 0x00, 0x2a, 0x00, 0xb0, 
    -	0x10, 0x2f, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x16, 0xd0, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0xd0, 0xb0, 0x10, 0x10, 0xb0, 
    -	0x19, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 
    -	0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0xc4, 0xb1, 0x87, 0x55, 0x90, 
    -	0x4e, 0x34, 0x4b, 0x2c, 0x34, 0x47, 0xca, 0xad, 0x89, 0x53, 0x97, 0x4c, 
    -	0x31, 0x4b, 0x2c, 0x32, 0x4a, 0x02, 0xf6, 0xa1, 0xdb, 0x3f, 0x46, 0x2c, 
    -	0x28, 0x66, 0x47, 0x1a, 0xa2, 0xd7, 0x43, 0x42, 0x2d, 0x27, 0x68, 0x49, 
    -	0x00, 0x02, 0x00, 0x8e, 0xfe, 0x8a, 0x01, 0xb2, 0x04, 0x3a, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x27, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x04, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x35, 
    -	0x21, 0x11, 0x21, 0x01, 0xb2, 0xfe, 0xdc, 0x01, 0x24, 0xfe, 0xdc, 0x01, 
    -	0x24, 0xfe, 0x8a, 0x03, 0xb9, 0xf6, 0x01, 0x01, 0x00, 0x01, 0x00, 0x48, 
    -	0xff, 0x0b, 0x03, 0xfe, 0x05, 0x26, 0x00, 0x22, 0x00, 0x44, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0b, 0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x15, 
    -	0xd0, 0xb0, 0x12, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x21, 0x17, 
    -	0x16, 0x06, 0x07, 0x15, 0x23, 0x35, 0x26, 0x02, 0x35, 0x35, 0x34, 0x12, 
    -	0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x15, 0x21, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x14, 0x16, 0x02, 0x40, 0x4e, 0x5e, 0x01, 0x0b, 0x02, 
    -	0x03, 0xb1, 0x8f, 0xc8, 0xcf, 0xdd, 0xdd, 0xcf, 0xc8, 0x94, 0xae, 0xfe, 
    -	0xee, 0x5c, 0x51, 0x74, 0x5f, 0x5f, 0xcb, 0x5b, 0x4c, 0x05, 0x87, 0xcc, 
    -	0x21, 0xee, 0xe5, 0x17, 0x01, 0x2b, 0xdb, 0x1e, 0xda, 0x01, 0x2b, 0x19, 
    -	0xdd, 0xe5, 0x22, 0xd7, 0x9e, 0x54, 0x6f, 0xb4, 0x8e, 0x1e, 0x91, 0xb1, 
    -	0x00, 0x01, 0x00, 0x5c, 0x00, 0x00, 0x04, 0x80, 0x05, 0xc5, 0x00, 0x22, 
    -	0x00, 0x67, 0x00, 0xb0, 0x20, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 
    -	0x2f, 0x1b, 0xb1, 0x14, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb2, 0x7f, 0x20, 0x01, 
    -	0x5d, 0xb0, 0x20, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0xd0, 0xb0, 0x09, 
    -	0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x0e, 0xd0, 0xb0, 0x20, 
    -	0x10, 0xb0, 0x10, 0xd0, 0xb0, 0x14, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x14, 
    -	0x06, 0x07, 0x21, 0x15, 0x21, 0x35, 0x33, 0x36, 0x36, 0x35, 0x27, 0x23, 
    -	0x35, 0x33, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x17, 0x21, 0x15, 0x02, 0x27, 0x04, 0x3c, 
    -	0x38, 0x02, 0xc9, 0xfc, 0x1c, 0x0a, 0x2f, 0x2f, 0x04, 0xa4, 0x9b, 0x08, 
    -	0xf1, 0xca, 0xd7, 0xed, 0x04, 0x02, 0xfe, 0xe4, 0x5c, 0x47, 0x46, 0x50, 
    -	0x0a, 0x01, 0x63, 0x02, 0x4c, 0x55, 0x4e, 0x90, 0x39, 0xe0, 0xe0, 0x0c, 
    -	0xa6, 0x58, 0x62, 0xe1, 0xd6, 0xd2, 0xf0, 0xdf, 0xb7, 0x06, 0x60, 0x5b, 
    -	0x75, 0x6c, 0xd6, 0xe1, 0x00, 0x02, 0x00, 0x50, 0xff, 0xe5, 0x05, 0x42, 
    -	0x04, 0xf1, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x2e, 0x00, 0xb0, 0x15, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x27, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x15, 0x10, 0xb1, 0x2d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 0x06, 0x23, 0x22, 0x26, 
    -	0x27, 0x07, 0x27, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x27, 0x37, 
    -	0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x37, 0x17, 0x07, 0x16, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x17, 0x07, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x04, 0x30, 0x4d, 0xb8, 0x64, 0x65, 
    -	0xb9, 0x4b, 0x81, 0x8d, 0x87, 0x31, 0x33, 0x38, 0x35, 0x90, 0x8d, 0x8e, 
    -	0x4a, 0xb1, 0x61, 0x60, 0xb2, 0x4b, 0x90, 0x8e, 0x94, 0x33, 0x38, 0x33, 
    -	0x2f, 0x8b, 0x8e, 0xfc, 0x79, 0xee, 0xac, 0xaa, 0xef, 0xef, 0xaa, 0xac, 
    -	0xee, 0x6b, 0x3e, 0x41, 0x41, 0x3d, 0x84, 0x90, 0x89, 0x4c, 0xb3, 0x62, 
    -	0x65, 0xba, 0x4e, 0x93, 0x90, 0x91, 0x37, 0x3c, 0x3d, 0x38, 0x94, 0x91, 
    -	0x97, 0x4e, 0xb7, 0x64, 0x61, 0xb1, 0x4b, 0x8d, 0x91, 0x02, 0x7b, 0xb9, 
    -	0xfe, 0xff, 0xb8, 0xb7, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, 
    -	0x00, 0x00, 0x04, 0xce, 0x05, 0xb0, 0x00, 0x17, 0x00, 0x6c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x13, 0x10, 0x03, 0x2b, 0xb2, 0x00, 0x0d, 0x17, 0x11, 
    -	0x12, 0x39, 0xb2, 0x7f, 0x13, 0x01, 0x5d, 0xb0, 0x13, 0x10, 0xb0, 0x14, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x13, 0x10, 0xb0, 0x07, 0xd0, 0xb2, 0x7f, 0x10, 0x01, 0x5d, 0xb0, 0x10, 
    -	0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x01, 0x33, 
    -	0x01, 0x21, 0x01, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 
    -	0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x01, 0x21, 0x02, 0x6f, 
    -	0x06, 0x01, 0x19, 0x01, 0x40, 0xfe, 0x82, 0xf4, 0xfe, 0xbc, 0x01, 0x44, 
    -	0xfe, 0xbc, 0xfe, 0xdc, 0xfe, 0xad, 0x01, 0x53, 0xfe, 0xad, 0x01, 0x0b, 
    -	0xfe, 0x82, 0x01, 0x41, 0x03, 0x50, 0x02, 0x60, 0xfd, 0x36, 0xc8, 0x6e, 
    -	0xc8, 0xe8, 0xe8, 0xc8, 0x6e, 0xc8, 0x02, 0xca, 0x00, 0x02, 0x00, 0x7f, 
    -	0xfe, 0xf2, 0x01, 0x85, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x25, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb2, 
    -	0x0f, 0x01, 0x01, 0x5d, 0xb4, 0x0f, 0x05, 0x1f, 0x05, 0x02, 0x5d, 0x30, 
    -	0x31, 0x13, 0x11, 0x21, 0x11, 0x11, 0x21, 0x11, 0x21, 0x7f, 0x01, 0x06, 
    -	0xfe, 0xfa, 0x01, 0x06, 0xfe, 0xf2, 0x03, 0x1b, 0xfc, 0xe5, 0x03, 0xc8, 
    -	0x02, 0xf6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5e, 0xfe, 0x33, 0x04, 0x9c, 
    -	0x05, 0xc5, 0x00, 0x33, 0x00, 0x45, 0x00, 0x6f, 0x00, 0xb0, 0x09, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x10, 0x3e, 
    -	0x59, 0xb2, 0x17, 0x09, 0x23, 0x11, 0x12, 0x39, 0xb0, 0x17, 0x10, 0xb1, 
    -	0x3d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x31, 0x23, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x31, 0x10, 0xb1, 0x34, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0xd0, 
    -	0xb0, 0x23, 0x10, 0xb0, 0x28, 0xd0, 0xb0, 0x23, 0x10, 0xb1, 0x2b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 
    -	0x37, 0x25, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 
    -	0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 
    -	0x04, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 
    -	0x17, 0x16, 0x16, 0x25, 0x26, 0x26, 0x27, 0x06, 0x06, 0x15, 0x14, 0x16, 
    -	0x17, 0x16, 0x16, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x04, 0x9c, 0x54, 
    -	0x4f, 0x44, 0x45, 0xfe, 0xe8, 0xed, 0xe8, 0xfe, 0xc9, 0x05, 0x02, 0x01, 
    -	0x1b, 0x91, 0x6c, 0x6b, 0x77, 0x7a, 0xa9, 0xf4, 0xea, 0x54, 0x4f, 0x45, 
    -	0x44, 0x01, 0x1b, 0xed, 0xf3, 0x01, 0x13, 0x05, 0x02, 0xfe, 0xe5, 0x78, 
    -	0x6c, 0x72, 0x72, 0x6f, 0xb1, 0xf7, 0xe9, 0xfd, 0xbb, 0x28, 0x44, 0x1f, 
    -	0x26, 0x25, 0x6f, 0xb1, 0x22, 0x45, 0x23, 0x27, 0x2b, 0x7c, 0x01, 0xdb, 
    -	0x5b, 0x88, 0x2b, 0x33, 0x8c, 0x62, 0xb1, 0xc8, 0xc7, 0xda, 0x06, 0x01, 
    -	0x6a, 0x5c, 0x53, 0x43, 0x43, 0x51, 0x32, 0x40, 0xbb, 0xac, 0x59, 0x8a, 
    -	0x2c, 0x32, 0x8d, 0x62, 0xac, 0xd1, 0xde, 0xc8, 0x06, 0x58, 0x73, 0x57, 
    -	0x43, 0x4b, 0x4d, 0x30, 0x40, 0xbb, 0x10, 0x0a, 0x16, 0x0b, 0x16, 0x4a, 
    -	0x30, 0x50, 0x53, 0x34, 0x0a, 0x14, 0x0b, 0x16, 0x4a, 0x30, 0x47, 0x5a, 
    -	0x00, 0x02, 0x00, 0x9c, 0x04, 0xe4, 0x03, 0x9a, 0x05, 0xb0, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x19, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x01, 0xd0, 0xb0, 
    -	0x04, 0x10, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x02, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x05, 0x21, 0x35, 
    -	0x21, 0x03, 0x9a, 0xfe, 0xf6, 0x01, 0x0a, 0xfe, 0x0c, 0xfe, 0xf6, 0x01, 
    -	0x0a, 0x04, 0xe4, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x03, 0x00, 0x56, 
    -	0xff, 0xeb, 0x05, 0xe2, 0x05, 0xc4, 0x00, 0x1d, 0x00, 0x29, 0x00, 0x35, 
    -	0x00, 0x6c, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x0b, 0x2f, 0xb0, 0x10, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2d, 0x2f, 0x1b, 0xb1, 0x2d, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x33, 0x2f, 0x1b, 0xb1, 0x33, 0x0a, 
    -	0x3e, 0x59, 0xb4, 0x0f, 0x04, 0x1f, 0x04, 0x02, 0x5d, 0xb2, 0x10, 0x0b, 
    -	0x01, 0x5d, 0xb0, 0x0b, 0x10, 0xb0, 0x13, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x1a, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 0x10, 0xb0, 0x1d, 0xd0, 0xb0, 0x33, 
    -	0x10, 0xb0, 0x21, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x2d, 0x10, 0xb0, 0x27, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x25, 0x10, 0x00, 0x33, 
    -	0x32, 0x00, 0x11, 0x10, 0x00, 0x23, 0x22, 0x00, 0x03, 0x10, 0x00, 0x21, 
    -	0x20, 0x00, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x04, 0x55, 0x02, 0x04, 
    -	0xb0, 0x9d, 0xa0, 0xbd, 0xbd, 0xa0, 0x9d, 0xb1, 0x04, 0x02, 0x94, 0x5a, 
    -	0x5a, 0x5e, 0x64, 0x64, 0x5e, 0x5a, 0x59, 0xfd, 0x0f, 0x01, 0x57, 0xf5, 
    -	0xf4, 0x01, 0x57, 0xfe, 0xa9, 0xf4, 0xf6, 0xfe, 0xaa, 0x7a, 0x01, 0x9e, 
    -	0x01, 0x28, 0x01, 0x27, 0x01, 0x9f, 0xfe, 0x60, 0xfe, 0xda, 0xfe, 0xd8, 
    -	0xfe, 0x62, 0x02, 0x54, 0x06, 0x97, 0x9d, 0xd4, 0xaf, 0x77, 0xad, 0xd6, 
    -	0x9f, 0x95, 0x06, 0x5e, 0x55, 0x8a, 0x71, 0x78, 0x73, 0x89, 0x53, 0x60, 
    -	0x85, 0xfe, 0xf8, 0xfe, 0x97, 0x01, 0x69, 0x01, 0x08, 0x01, 0x07, 0x01, 
    -	0x67, 0xfe, 0x99, 0xfe, 0xf9, 0x01, 0x3b, 0x01, 0xb0, 0xfe, 0x50, 0xfe, 
    -	0xc5, 0xfe, 0xc4, 0xfe, 0x4e, 0x01, 0xb2, 0x00, 0x00, 0x02, 0x00, 0x70, 
    -	0x02, 0xb4, 0x03, 0x0d, 0x05, 0xc5, 0x00, 0x20, 0x00, 0x2b, 0x00, 0x6e, 
    -	0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x10, 0x3e, 0x59, 0xb2, 0x7f, 0x06, 0x01, 
    -	0x5d, 0xb2, 0x3f, 0x06, 0x01, 0x71, 0xb2, 0xaf, 0x06, 0x01, 0x5d, 0xb2, 
    -	0x20, 0x06, 0x01, 0x5d, 0xb2, 0x20, 0x06, 0x01, 0x72, 0xb0, 0x06, 0x10, 
    -	0xb0, 0x00, 0xd0, 0xb2, 0xff, 0x0d, 0x01, 0x71, 0xb0, 0x19, 0x10, 0xb1, 
    -	0x11, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x14, 0x0d, 0x19, 0x11, 0x12, 0x39, 0xb0, 0x06, 0x10, 0xb1, 0x21, 0x05, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 
    -	0xb1, 0x25, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x26, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 
    -	0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x17, 0x25, 
    -	0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x02, 0x5c, 
    -	0x08, 0x0a, 0x03, 0x21, 0x6f, 0x4e, 0x77, 0x82, 0xa9, 0xa2, 0x89, 0x3b, 
    -	0x39, 0x42, 0x48, 0xa5, 0x01, 0x06, 0xaa, 0x8c, 0x86, 0x9d, 0x0c, 0x0e, 
    -	0xfe, 0x87, 0x33, 0x6c, 0x11, 0x88, 0x4a, 0x53, 0x3a, 0x02, 0xc2, 0x15, 
    -	0x2f, 0x1a, 0x2f, 0x3d, 0x7a, 0x6a, 0x6f, 0x78, 0x33, 0x3e, 0x41, 0x34, 
    -	0x2f, 0x0d, 0x06, 0x62, 0x82, 0x8e, 0x86, 0xfe, 0xc6, 0x33, 0x58, 0x2a, 
    -	0x82, 0x3c, 0x23, 0x67, 0x40, 0x2e, 0x2b, 0x2d, 0xff, 0xff, 0x00, 0x62, 
    -	0x00, 0x75, 0x03, 0x83, 0x03, 0x94, 0x00, 0x26, 0x03, 0x07, 0xf6, 0xde, 
    -	0x00, 0x07, 0x03, 0x07, 0x01, 0x44, 0xff, 0xde, 0x00, 0x01, 0x00, 0x7e, 
    -	0x01, 0x76, 0x03, 0xc1, 0x03, 0x25, 0x00, 0x05, 0x00, 0x12, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 0x35, 0x21, 0x03, 0xc1, 
    -	0xc8, 0xfd, 0x85, 0x03, 0x43, 0x01, 0x76, 0x01, 0x04, 0xab, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0x01, 0xfe, 0x02, 0xa5, 0x02, 0xdf, 0x02, 0x06, 
    -	0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x56, 0xff, 0xeb, 0x05, 0xe2, 
    -	0x05, 0xc4, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x32, 0x00, 0x3b, 0x00, 0x73, 
    -	0x00, 0xb0, 0x1b, 0x2f, 0xb0, 0x19, 0x2f, 0xb0, 0x18, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb0, 0x15, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 
    -	0x20, 0x18, 0x01, 0x5d, 0xb2, 0x0f, 0x19, 0x01, 0x5d, 0xb2, 0x10, 0x1b, 
    -	0x01, 0x5d, 0xb0, 0x18, 0x10, 0xb0, 0x33, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb2, 0x22, 0x18, 0x33, 0x11, 0x12, 0x39, 0xb0, 0x19, 
    -	0x10, 0xb0, 0x2b, 0xd0, 0xb0, 0x1b, 0x10, 0xb0, 0x3b, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x10, 0x00, 0x21, 0x20, 
    -	0x00, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x13, 0x10, 0x00, 0x33, 0x32, 
    -	0x00, 0x11, 0x10, 0x00, 0x23, 0x22, 0x00, 0x01, 0x11, 0x23, 0x11, 0x21, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 
    -	0x17, 0x15, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 0x27, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x56, 0x01, 0x9e, 0x01, 0x28, 
    -	0x01, 0x27, 0x01, 0x9f, 0xfe, 0x60, 0xfe, 0xda, 0xfe, 0xd8, 0xfe, 0x62, 
    -	0x7a, 0x01, 0x57, 0xf5, 0xf4, 0x01, 0x57, 0xfe, 0xa9, 0xf4, 0xf6, 0xfe, 
    -	0xaa, 0x01, 0xbc, 0x97, 0x01, 0x19, 0x97, 0xae, 0x3a, 0x38, 0x3a, 0x35, 
    -	0x07, 0x0a, 0x9b, 0x09, 0x04, 0x43, 0x4c, 0x9e, 0x87, 0x47, 0x63, 0x4e, 
    -	0x61, 0x82, 0x02, 0xd9, 0x01, 0x3b, 0x01, 0xb0, 0xfe, 0x50, 0xfe, 0xc5, 
    -	0xfe, 0xc4, 0xfe, 0x4e, 0x01, 0xb2, 0x01, 0x3c, 0xfe, 0xf8, 0xfe, 0x97, 
    -	0x01, 0x69, 0x01, 0x08, 0x01, 0x07, 0x01, 0x67, 0xfe, 0x99, 0xfe, 0xad, 
    -	0xfe, 0xaf, 0x03, 0x52, 0x88, 0x7e, 0x3a, 0x57, 0x1f, 0x1e, 0x6d, 0x4a, 
    -	0x38, 0x29, 0x41, 0x15, 0x10, 0x15, 0x51, 0x2a, 0x36, 0x47, 0x44, 0x86, 
    -	0x3c, 0x38, 0x48, 0x3a, 0x00, 0x01, 0x00, 0x94, 0x05, 0x0c, 0x03, 0x6f, 
    -	0x05, 0xb1, 0x00, 0x03, 0x00, 0x12, 0x00, 0xb0, 0x00, 0x2f, 0xb1, 0x03, 
    -	0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x35, 0x21, 0x03, 0x6f, 0xfd, 0x25, 0x02, 0xdb, 0x05, 0x0c, 
    -	0xa5, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7e, 0x03, 0xa4, 0x02, 0x9b, 
    -	0x05, 0xc5, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x54, 0x00, 0xb0, 0x09, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 
    -	0x59, 0xb2, 0xc0, 0x09, 0x01, 0x5d, 0xb2, 0x00, 0x09, 0x01, 0x72, 0xb2, 
    -	0x7f, 0x09, 0x01, 0x5d, 0xb2, 0x70, 0x09, 0x01, 0x72, 0xb2, 0xf0, 0x09, 
    -	0x01, 0x5d, 0xb2, 0x40, 0x09, 0x01, 0x5d, 0xb2, 0x10, 0x09, 0x01, 0x5d, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x0f, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x15, 0x05, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x7e, 0xa1, 0x70, 0x6e, 
    -	0x9e, 0x9e, 0x6e, 0x71, 0xa0, 0x93, 0x4a, 0x34, 0x33, 0x46, 0x46, 0x33, 
    -	0x34, 0x4a, 0x04, 0xb3, 0x70, 0xa2, 0xa2, 0x70, 0x71, 0x9e, 0x9e, 0x71, 
    -	0x35, 0x47, 0x46, 0x36, 0x36, 0x4a, 0x4a, 0x00, 0x00, 0x02, 0x00, 0x5a, 
    -	0xff, 0xd5, 0x03, 0xee, 0x05, 0x1e, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x37, 
    -	0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x0f, 0x2f, 0xb0, 0x01, 0x10, 0xb1, 0x02, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 
    -	0x0f, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x08, 0xd0, 0xb0, 0x0f, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x15, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x01, 0x21, 0x35, 0x21, 0x02, 
    -	0xa7, 0x01, 0x47, 0xfe, 0xb9, 0xff, 0x00, 0xfe, 0xb3, 0x01, 0x4d, 0x01, 
    -	0x00, 0x01, 0x0d, 0xfc, 0xbe, 0x03, 0x42, 0x03, 0xb3, 0xe8, 0xfe, 0x81, 
    -	0x01, 0x7f, 0xe8, 0x01, 0x6b, 0xfa, 0xb7, 0xe4, 0x00, 0x01, 0x00, 0x66, 
    -	0x02, 0x9b, 0x02, 0xe0, 0x05, 0xc7, 0x00, 0x1a, 0x00, 0x4f, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 
    -	0x10, 0x3e, 0x59, 0xb2, 0xf0, 0x00, 0x01, 0x5d, 0xb2, 0x20, 0x00, 0x01, 
    -	0x71, 0xb2, 0xb0, 0x00, 0x01, 0x5d, 0xb2, 0x80, 0x00, 0x01, 0x5d, 0xb2, 
    -	0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb1, 0x09, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x17, 0xd0, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x1a, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x25, 0x36, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x07, 0x07, 0x17, 0x21, 0x02, 0xe0, 0xfd, 0x92, 
    -	0x01, 0x35, 0x3c, 0x23, 0x2f, 0x31, 0x37, 0x38, 0xc9, 0x02, 0x06, 0xb1, 
    -	0x94, 0x90, 0x9e, 0x6b, 0x7d, 0x6d, 0x02, 0x01, 0x5a, 0x02, 0x9b, 0x9b, 
    -	0xfc, 0x32, 0x43, 0x29, 0x27, 0x35, 0x3c, 0x2f, 0x06, 0x6a, 0x96, 0x82, 
    -	0x76, 0x52, 0x7d, 0x67, 0x5d, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 
    -	0x02, 0x8f, 0x02, 0xf2, 0x05, 0xc6, 0x00, 0x2a, 0x00, 0xaa, 0x00, 0xb0, 
    -	0x1a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x10, 0x3e, 0x59, 0xb1, 0x06, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0xaf, 0x1a, 
    -	0x01, 0x72, 0xb2, 0x5f, 0x1a, 0x01, 0x5d, 0xb2, 0x1f, 0x1a, 0x01, 0x72, 
    -	0xb2, 0x7f, 0x1a, 0x01, 0x72, 0xb2, 0x4f, 0x1a, 0x01, 0x72, 0xb2, 0xef, 
    -	0x1a, 0x01, 0x71, 0xb2, 0xdf, 0x1a, 0x01, 0x72, 0xb2, 0x20, 0x1a, 0x01, 
    -	0x71, 0xb2, 0xf0, 0x1a, 0x01, 0x5d, 0xb0, 0x1a, 0x10, 0xb0, 0x1f, 0xd0, 
    -	0xb2, 0xc0, 0x1f, 0x01, 0x5d, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x06, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x2a, 0x1a, 0x0e, 
    -	0x11, 0x12, 0x39, 0xb0, 0x2a, 0x2f, 0xb4, 0x1f, 0x2a, 0x2f, 0x2a, 0x02, 
    -	0x5d, 0xb2, 0xff, 0x2a, 0x01, 0x71, 0xb4, 0x0f, 0x2a, 0x1f, 0x2a, 0x02, 
    -	0x72, 0xb2, 0xdf, 0x2a, 0x01, 0x5d, 0xb6, 0x1f, 0x2a, 0x2f, 0x2a, 0x3f, 
    -	0x2a, 0x03, 0x71, 0xb0, 0x29, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb6, 0xb0, 0x29, 0xc0, 0x29, 0xd0, 0x29, 0x03, 0x5d, 0x30, 0x31, 
    -	0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 
    -	0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x01, 0x98, 0x3e, 0x3c, 0x39, 
    -	0x37, 0x33, 0x39, 0xc8, 0x02, 0x06, 0xb0, 0x86, 0x98, 0xb1, 0x47, 0x3d, 
    -	0x46, 0x4b, 0xb3, 0x98, 0x92, 0xbc, 0x06, 0x02, 0xc9, 0x3f, 0x3c, 0x38, 
    -	0x44, 0x46, 0x43, 0x6f, 0x04, 0x73, 0x31, 0x2e, 0x26, 0x33, 0x2c, 0x1f, 
    -	0x06, 0x65, 0x7b, 0x77, 0x6e, 0x37, 0x5b, 0x19, 0x18, 0x5f, 0x44, 0x70, 
    -	0x7c, 0x7d, 0x71, 0x06, 0x2a, 0x2f, 0x30, 0x2c, 0x32, 0x36, 0x85, 0x00, 
    -	0x00, 0x01, 0x00, 0x6c, 0x04, 0xbc, 0x02, 0x6a, 0x05, 0xc6, 0x00, 0x04, 
    -	0x00, 0x35, 0xb0, 0x04, 0x2f, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x3f, 0x04, 
    -	0x01, 0x5d, 0xb2, 0xaf, 0x04, 0x01, 0x5d, 0xb2, 0x5f, 0x04, 0x01, 0x5d, 
    -	0xb2, 0x0f, 0x04, 0x01, 0x5d, 0xb2, 0x7f, 0x04, 0x01, 0x5d, 0xb0, 0x00, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x00, 0x1f, 
    -	0x00, 0x2f, 0x00, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x17, 0x01, 0x23, 
    -	0x01, 0x33, 0x01, 0x35, 0x02, 0xfe, 0xeb, 0xe9, 0x05, 0xc6, 0x06, 0xfe, 
    -	0xfc, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8b, 0xfe, 0x60, 0x04, 0x51, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0f, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x11, 0x21, 0x11, 0x21, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 
    -	0x11, 0x21, 0x11, 0x01, 0xae, 0x5a, 0x5a, 0x4b, 0x64, 0x1c, 0x01, 0x24, 
    -	0xfe, 0xf0, 0x06, 0x2c, 0x71, 0x43, 0x33, 0x57, 0x23, 0xfe, 0xdd, 0x04, 
    -	0x3a, 0xfd, 0x94, 0x95, 0x6b, 0x37, 0x34, 0x03, 0x01, 0xfb, 0xc6, 0x43, 
    -	0x2b, 0x2d, 0x15, 0x17, 0xfe, 0x49, 0x05, 0xda, 0x00, 0x01, 0x00, 0x3d, 
    -	0x00, 0x00, 0x03, 0xa0, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0x30, 0x31, 0x21, 0x11, 0x23, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 
    -	0x21, 0x11, 0x02, 0x7c, 0x53, 0xe9, 0xfe, 0xfd, 0x01, 0x03, 0xe9, 0x01, 
    -	0x77, 0x02, 0x08, 0x01, 0x03, 0xd1, 0xcf, 0x01, 0x05, 0xfa, 0x50, 0x00, 
    -	0x00, 0x01, 0x00, 0x9f, 0x02, 0x38, 0x01, 0xc3, 0x03, 0x3c, 0x00, 0x03, 
    -	0x00, 0x10, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x01, 0xc3, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x02, 0x38, 0x01, 0x04, 0x00, 0x01, 0x00, 0x61, 
    -	0xfe, 0x35, 0x01, 0xe6, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x23, 0x00, 0xb0, 
    -	0x07, 0x2f, 0xb0, 0x10, 0x2f, 0xb0, 0x07, 0x10, 0xb0, 0x08, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 0x10, 0xb0, 0x0f, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x25, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 
    -	0x37, 0x01, 0x5b, 0x0b, 0x40, 0x56, 0xb7, 0xa8, 0x07, 0x33, 0x3c, 0x40, 
    -	0x4e, 0x1f, 0x06, 0x39, 0x0b, 0x52, 0x50, 0x6b, 0x80, 0xa1, 0x29, 0x2a, 
    -	0x29, 0x21, 0x05, 0x8e, 0x00, 0x01, 0x00, 0x4e, 0x02, 0x99, 0x01, 0xa0, 
    -	0x05, 0xc5, 0x00, 0x05, 0x00, 0x3d, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb2, 
    -	0x20, 0x00, 0x01, 0x71, 0xb2, 0x80, 0x00, 0x01, 0x5d, 0xb2, 0xf0, 0x00, 
    -	0x01, 0x5d, 0xb2, 0xb0, 0x00, 0x01, 0x5d, 0xb2, 0x04, 0x05, 0x00, 0x11, 
    -	0x12, 0x39, 0xb0, 0x04, 0x2f, 0xb1, 0x03, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x35, 
    -	0x25, 0x01, 0xa0, 0xd3, 0x7f, 0x01, 0x52, 0x02, 0x99, 0x02, 0x76, 0x9f, 
    -	0x17, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x76, 0x02, 0xb3, 0x03, 0x2b, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x4a, 0x00, 0xb0, 0x0a, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 
    -	0x59, 0xb2, 0xaf, 0x0a, 0x01, 0x5d, 0xb2, 0xcf, 0x0a, 0x01, 0x71, 0xb2, 
    -	0x3f, 0x0a, 0x01, 0x71, 0xb2, 0x7f, 0x0a, 0x01, 0x5d, 0xb2, 0x20, 0x0a, 
    -	0x01, 0x5d, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x05, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x76, 0xbc, 0x9e, 0x9e, 0xbd, 0xbc, 0x9d, 0x9f, 0xbd, 0xaf, 
    -	0x58, 0x55, 0x52, 0x58, 0x59, 0x53, 0x54, 0x57, 0x04, 0x76, 0x94, 0xbb, 
    -	0xbb, 0x94, 0x75, 0x95, 0xb9, 0xb9, 0x95, 0x55, 0x67, 0x67, 0x55, 0x75, 
    -	0x53, 0x68, 0x68, 0x53, 0xff, 0xff, 0x00, 0x66, 0x00, 0x97, 0x03, 0x94, 
    -	0x03, 0xb6, 0x00, 0x26, 0x03, 0x08, 0x16, 0x00, 0x00, 0x07, 0x03, 0x08, 
    -	0x01, 0x70, 0x00, 0x00, 0xff, 0xff, 0x00, 0xa7, 0x00, 0x00, 0x05, 0xda, 
    -	0x05, 0xc4, 0x00, 0x27, 0x03, 0x72, 0x00, 0x59, 0x02, 0x98, 0x00, 0x27, 
    -	0x03, 0x0a, 0x01, 0x18, 0x00, 0x08, 0x01, 0x07, 0x03, 0x6e, 0x02, 0xba, 
    -	0x00, 0x00, 0x00, 0x20, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x16, 0xd0, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0xa7, 0x00, 0x00, 0x06, 0x0b, 0x05, 0xc4, 0x00, 0x27, 
    -	0x03, 0x0a, 0x01, 0x25, 0x00, 0x08, 0x00, 0x27, 0x03, 0x72, 0x00, 0x59, 
    -	0x02, 0x98, 0x01, 0x07, 0x03, 0x70, 0x03, 0x2b, 0x00, 0x00, 0x00, 0x1d, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 
    -	0x0a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0x00, 0x00, 0x06, 0x97, 0x05, 0xc7, 0x00, 0x27, 0x03, 0x0a, 0x01, 0xcf, 
    -	0x00, 0x08, 0x00, 0x27, 0x03, 0x6e, 0x03, 0x77, 0x00, 0x00, 0x01, 0x07, 
    -	0x03, 0x6f, 0x00, 0x10, 0x02, 0x9b, 0x00, 0x20, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x10, 0xd0, 0x30, 0x31, 0x00, 0x02, 0x00, 0x4b, 0xfe, 0x76, 0x03, 0xfc, 
    -	0x04, 0x3a, 0x00, 0x1a, 0x00, 0x1e, 0x00, 0x43, 0x00, 0xb0, 0x11, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x1e, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x1a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x03, 0x11, 
    -	0x1a, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x17, 
    -	0xd0, 0x30, 0x31, 0x01, 0x06, 0x06, 0x07, 0x06, 0x06, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x21, 0x17, 0x16, 0x04, 0x23, 0x22, 0x26, 0x35, 
    -	0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x03, 0x21, 0x15, 0x21, 0x02, 0xd6, 
    -	0x02, 0x51, 0x77, 0x48, 0x55, 0x61, 0x5b, 0x49, 0x66, 0x03, 0x01, 0x1b, 
    -	0x02, 0x02, 0xfe, 0xfd, 0xce, 0xe2, 0xfe, 0x94, 0x71, 0x3c, 0x27, 0x02, 
    -	0x01, 0x26, 0xfe, 0xda, 0x02, 0x9c, 0x8d, 0x83, 0x5c, 0x3a, 0x87, 0x52, 
    -	0x5a, 0x68, 0x56, 0x55, 0x06, 0xbf, 0xcb, 0xe2, 0xc3, 0x7d, 0xd8, 0x4b, 
    -	0x2d, 0x5f, 0x55, 0x01, 0x9e, 0xfb, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x22, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xe6, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0d, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x22, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x9b, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x42, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x95, 0x01, 0x54, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x6d, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0xa2, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0f, 0x08, 0x05, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x74, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x10, 0x08, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x07, 0x8f, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x56, 
    -	0x01, 0x3b, 0x01, 0xb9, 0x00, 0x0f, 0x00, 0xb3, 0x15, 0x07, 0x04, 0x04, 
    -	0x2b, 0xb0, 0x15, 0x10, 0xb0, 0x1b, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x07, 0x49, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x13, 0x00, 0x7c, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0e, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x06, 0x10, 0xb0, 0x12, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x03, 0x21, 
    -	0x03, 0x21, 0x01, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x21, 0x13, 0x21, 
    -	0x01, 0x21, 0x03, 0x27, 0x07, 0x49, 0xfc, 0x7e, 0x0e, 0xfe, 0x48, 0xa8, 
    -	0xfe, 0xaa, 0x03, 0x10, 0x03, 0xf8, 0xfd, 0xac, 0x10, 0x01, 0xf3, 0xfe, 
    -	0x16, 0x11, 0x02, 0x68, 0xfb, 0x30, 0x01, 0x36, 0x17, 0x06, 0x01, 0x4f, 
    -	0xfe, 0xb1, 0x05, 0xb0, 0xe4, 0xfe, 0x92, 0xe3, 0xfe, 0x68, 0x01, 0x5c, 
    -	0x02, 0x2f, 0x01, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xfe, 0x34, 0x04, 0xdb, 
    -	0x05, 0xc5, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 
    -	0x01, 0xab, 0xff, 0xff, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xa7, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x5c, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x42, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x00, 0x65, 0x01, 0x54, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0x41, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x11, 0x08, 0x06, 0x04, 
    -	0x2b, 0xb0, 0x11, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xc6, 0x00, 0x00, 0x01, 0xc2, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0xff, 0x79, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x05, 0x07, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x98, 0x00, 0x00, 0x02, 0x96, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x00, 0x2c, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x08, 0x07, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x02, 0xa2, 0x07, 0x42, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0xff, 0x37, 0x01, 0x54, 
    -	0x00, 0x09, 0x00, 0xb3, 0x08, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0xff, 0xaf, 0x00, 0x00, 0x02, 0xad, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0xff, 0x13, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x08, 0x08, 0x02, 0x04, 0x2b, 0xb0, 0x08, 0x10, 
    -	0xb0, 0x05, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1f, 
    -	0x00, 0x00, 0x04, 0xff, 0x05, 0xb0, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x60, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x16, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0xd0, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x05, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x1a, 0xd0, 0x30, 0x31, 
    -	0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 0x00, 0x11, 0x15, 0x10, 
    -	0x00, 0x21, 0x13, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x23, 0x11, 0x33, 0xa6, 0x87, 0x87, 0x01, 0xf4, 0x01, 0x0b, 0x01, 
    -	0x5a, 0xfe, 0xa6, 0xfe, 0xf5, 0x24, 0xf4, 0xc1, 0x9d, 0xb2, 0xb2, 0x9d, 
    -	0xc1, 0xf4, 0x02, 0x8c, 0xb5, 0x02, 0x6f, 0xfe, 0xab, 0xfe, 0xf5, 0xf1, 
    -	0xfe, 0xf4, 0xfe, 0xad, 0x02, 0x8c, 0xfe, 0x54, 0xd4, 0xab, 0xf3, 0xa9, 
    -	0xd4, 0xfe, 0x72, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 
    -	0x07, 0x6d, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0xe6, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x06, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x1d, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x07, 0x37, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xbb, 0x01, 0x71, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x07, 0x57, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x00, 0xc4, 0x01, 0x69, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x08, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x07, 0x82, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0xcd, 0x01, 0x89, 0x00, 0x09, 0x00, 0xb3, 0x1f, 0x08, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xa0, 0x01, 0x72, 0x00, 0x0f, 0x00, 0xb3, 0x21, 0x08, 0x0a, 0x04, 
    -	0x2b, 0xb0, 0x21, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x40, 0x00, 0xcf, 0x03, 0xf7, 0x04, 0x8d, 0x00, 0x0b, 
    -	0x00, 0x12, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x03, 0x2f, 0xb0, 0x05, 0xd0, 
    -	0xb0, 0x0b, 0x10, 0xb0, 0x09, 0xd0, 0x30, 0x31, 0x13, 0x01, 0x01, 0x37, 
    -	0x01, 0x01, 0x17, 0x01, 0x01, 0x07, 0x01, 0x01, 0x40, 0x01, 0x35, 0xfe, 
    -	0xcb, 0xac, 0x01, 0x2f, 0x01, 0x30, 0xac, 0xfe, 0xcb, 0x01, 0x35, 0xac, 
    -	0xfe, 0xd0, 0xfe, 0xd1, 0x01, 0x73, 0x01, 0x3b, 0x01, 0x3b, 0xa4, 0xfe, 
    -	0xca, 0x01, 0x36, 0xa4, 0xfe, 0xc5, 0xfe, 0xc5, 0xa4, 0x01, 0x35, 0xfe, 
    -	0xcb, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x5c, 0xff, 0xa1, 0x05, 0x1b, 
    -	0x05, 0xee, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, 0x00, 0x3e, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x2e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x1d, 0xd0, 0xb0, 0x10, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2a, 0xd0, 0x30, 0x31, 
    -	0x01, 0x10, 0x00, 0x21, 0x22, 0x26, 0x27, 0x07, 0x23, 0x37, 0x26, 0x26, 
    -	0x35, 0x11, 0x10, 0x00, 0x21, 0x32, 0x16, 0x17, 0x37, 0x33, 0x07, 0x16, 
    -	0x16, 0x15, 0x01, 0x14, 0x16, 0x17, 0x17, 0x01, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x21, 0x34, 0x26, 0x27, 0x27, 0x01, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x05, 0x1b, 0xfe, 0xad, 0xfe, 0xf1, 0x4f, 0x90, 0x3d, 0x50, 
    -	0x8f, 0x77, 0x68, 0x71, 0x01, 0x4f, 0x01, 0x0d, 0x64, 0xb1, 0x4a, 0x53, 
    -	0x8f, 0x82, 0x4f, 0x55, 0xfc, 0x64, 0x1f, 0x1e, 0x06, 0x01, 0xd4, 0x2a, 
    -	0x70, 0x44, 0x95, 0xa4, 0x02, 0x78, 0x0e, 0x0b, 0x06, 0xfe, 0x3f, 0x21, 
    -	0x52, 0x2f, 0x96, 0xa8, 0x02, 0x55, 0xfe, 0xf4, 0xfe, 0xa2, 0x20, 0x1f, 
    -	0x89, 0xcc, 0x53, 0xfd, 0x98, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0x35, 
    -	0x30, 0x8e, 0xdf, 0x53, 0xe0, 0x81, 0xfe, 0xfa, 0x4a, 0x7f, 0x2c, 0x01, 
    -	0x03, 0x23, 0x2d, 0x32, 0xd9, 0xab, 0x2d, 0x54, 0x1f, 0x01, 0xfc, 0xfd, 
    -	0x16, 0x17, 0xda, 0xad, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x0b, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x13, 0x07, 0x09, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xc0, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x16, 0x07, 0x09, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 
    -	0x07, 0x42, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x00, 0xc9, 0x01, 0x54, 0x00, 0x09, 0x00, 0xb3, 0x16, 0x08, 0x09, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xa5, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x17, 0x08, 0x09, 0x04, 
    -	0x2b, 0xb0, 0x17, 0x10, 0xb0, 0x13, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x8c, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0e, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0x00, 0x02, 0x00, 0x84, 0x00, 0x00, 0x04, 0x9f, 0x05, 0xb0, 0x00, 0x0c, 
    -	0x00, 0x15, 0x00, 0x41, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x01, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x01, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x33, 
    -	0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x23, 0x11, 0x21, 0x11, 0x01, 0x11, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0xa8, 0xdd, 0xfe, 0x01, 
    -	0x1c, 0xfe, 0xe4, 0xfe, 0xdd, 0xfe, 0xdc, 0x01, 0x24, 0xdd, 0x7b, 0x7b, 
    -	0x7b, 0x7b, 0x05, 0xb0, 0xfe, 0xf2, 0xf8, 0xc8, 0xc9, 0xf8, 0xfe, 0xdf, 
    -	0x05, 0xb0, 0xfe, 0x11, 0xfe, 0x41, 0x7f, 0x5f, 0x5f, 0x82, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x87, 0xff, 0xeb, 0x04, 0xcb, 0x06, 0x25, 0x00, 0x27, 
    -	0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 
    -	0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x18, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 
    -	0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x21, 0x21, 0x11, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x15, 0x14, 0x00, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 
    -	0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x00, 0x35, 0x34, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0xaa, 0xfe, 0xdd, 0x01, 0x02, 
    -	0xdf, 0xb4, 0xee, 0x6b, 0x01, 0x2c, 0xe6, 0xd9, 0x51, 0x9f, 0x27, 0x37, 
    -	0x27, 0x72, 0x41, 0x4c, 0x56, 0xfe, 0xd4, 0x6d, 0x5a, 0x3a, 0x4c, 0x5f, 
    -	0x04, 0x4d, 0xe2, 0xf6, 0xbf, 0xb0, 0x6c, 0xc3, 0x44, 0x38, 0xfe, 0xe5, 
    -	0x8c, 0xbd, 0xbc, 0x1e, 0x1a, 0xdf, 0x16, 0x21, 0x4c, 0x41, 0x47, 0x01, 
    -	0x0d, 0x8e, 0x5a, 0xc8, 0x4b, 0x44, 0x5a, 0x87, 0x75, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x05, 0xda, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 0x6b, 0x14, 0x00, 0x09, 
    -	0x00, 0xb3, 0x2d, 0x08, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x05, 0xda, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x20, 0x00, 0x14, 
    -	0x00, 0x09, 0x00, 0xb3, 0x2f, 0x08, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x06, 0x00, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x29, 0x12, 0x00, 0x09, 
    -	0x00, 0xb3, 0x30, 0x03, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x06, 0x2b, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 0x32, 0x32, 0x00, 0x09, 
    -	0x00, 0xb3, 0x2f, 0x09, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x05, 0x1b, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x30, 0x09, 0x19, 0x04, 0x2b, 0xb0, 0x30, 0x10, 0xb0, 0x2d, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x06, 0x4d, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x07, 0x01, 0x56, 
    -	0x00, 0xcb, 0x00, 0x77, 0x00, 0x0f, 0x00, 0xb3, 0x35, 0x08, 0x19, 0x04, 
    -	0x2b, 0xb0, 0x35, 0x10, 0xb0, 0x3b, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x2e, 0xff, 0xeb, 0x06, 0x8d, 0x04, 0x4e, 0x00, 0x2e, 
    -	0x00, 0x39, 0x00, 0x42, 0x00, 0xde, 0x00, 0xb0, 0x23, 0x2f, 0xb0, 0x0d, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb4, 0x7f, 0x0d, 0x8f, 0x0d, 0x02, 0x5d, 
    -	0xb2, 0x4f, 0x0d, 0x01, 0x71, 0xb2, 0xbf, 0x0d, 0x01, 0x5d, 0xb2, 0x5f, 
    -	0x0d, 0x01, 0x5d, 0xb2, 0x2f, 0x0d, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 
    -	0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x14, 0x0d, 0x19, 0x11, 0x12, 0x39, 0xb2, 0xbf, 0x23, 0x01, 0x5d, 0xb2, 
    -	0x4f, 0x23, 0x01, 0x71, 0xb2, 0x1f, 0x23, 0x01, 0x72, 0xb2, 0x8f, 0x23, 
    -	0x01, 0x71, 0xb2, 0xff, 0x23, 0x01, 0x5d, 0xb4, 0x5f, 0x23, 0x6f, 0x23, 
    -	0x02, 0x5d, 0xb2, 0x9f, 0x23, 0x01, 0x72, 0xb0, 0x00, 0x10, 0xb1, 0x28, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 
    -	0x10, 0xb1, 0x2f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x33, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x3a, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x23, 0x10, 0xb1, 0x3f, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x25, 0x27, 0x26, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 
    -	0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x25, 
    -	0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 0x22, 
    -	0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 0x26, 0x04, 0xde, 0x81, 0xc9, 0x43, 
    -	0x3c, 0xcb, 0x8b, 0xc0, 0xd1, 0xfe, 0xf3, 0xb5, 0x52, 0x4a, 0x51, 0x5c, 
    -	0xfe, 0xe5, 0x02, 0x06, 0xff, 0xd4, 0x66, 0xa8, 0x3b, 0x3d, 0xa3, 0x63, 
    -	0xd4, 0xf2, 0xfd, 0x76, 0x02, 0x04, 0x7c, 0x7c, 0x5c, 0x7c, 0x4e, 0x4d, 
    -	0x3e, 0xd6, 0xfc, 0x9b, 0x3a, 0x7e, 0x25, 0xb3, 0x62, 0x6d, 0x53, 0x03, 
    -	0x22, 0x5f, 0x5e, 0x07, 0x02, 0x01, 0x6a, 0x55, 0x15, 0x51, 0x4c, 0x44, 
    -	0x59, 0xb5, 0x9d, 0x9f, 0xac, 0x3b, 0x4f, 0x5b, 0x4b, 0x38, 0x12, 0x06, 
    -	0x90, 0xbc, 0x37, 0x34, 0x34, 0x37, 0xfe, 0xf8, 0xe2, 0x9e, 0x06, 0x70, 
    -	0x85, 0x28, 0x29, 0xb8, 0x30, 0x49, 0xce, 0x3d, 0x2a, 0xb0, 0x58, 0x3f, 
    -	0x3b, 0x45, 0x02, 0xb4, 0x7b, 0x69, 0x05, 0x1c, 0x5e, 0x6f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x3e, 0xfe, 0x34, 0x03, 0xf2, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 0x01, 0x3e, 0xff, 0xff, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x05, 0xe0, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 0x6d, 0x1a, 0x00, 0x09, 
    -	0x00, 0xb3, 0x21, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x05, 0xe0, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x22, 0x00, 0x1a, 
    -	0x00, 0x09, 0x00, 0xb3, 0x24, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x06, 0x01, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x2b, 0x13, 0x00, 0x09, 
    -	0x00, 0xb3, 0x24, 0x03, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x05, 0xcc, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x07, 0x1c, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x24, 0x09, 0x07, 0x04, 0x2b, 0xb0, 0x24, 0x10, 0xb0, 0x21, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xb2, 0x00, 0x00, 0x01, 0xae, 
    -	0x05, 0xe0, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0xff, 0x65, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x05, 0x08, 0x02, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x84, 0x00, 0x00, 0x02, 0x82, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x06, 0x00, 0x76, 
    -	0x18, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x08, 0x08, 0x02, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xac, 0x00, 0x00, 0x02, 0x8e, 
    -	0x05, 0xed, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0xff, 0x23, 0xff, 0xff, 0x00, 0x09, 0x00, 0xb3, 0x08, 0x03, 0x02, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0x9b, 0x00, 0x00, 0x02, 0x99, 
    -	0x05, 0xb6, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0xfe, 0xff, 0x00, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x08, 0x03, 0x02, 0x04, 
    -	0x2b, 0xb0, 0x08, 0x10, 0xb0, 0x05, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x30, 0xff, 0xeb, 0x04, 0x70, 0x05, 0xed, 0x00, 0x21, 
    -	0x00, 0x2e, 0x00, 0x3a, 0x00, 0xb0, 0x1c, 0x2f, 0xb0, 0x0d, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0d, 0x10, 0xb0, 0x15, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x22, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 
    -	0xb1, 0x29, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x16, 0x12, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 
    -	0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 0x37, 0x26, 0x26, 0x27, 0x07, 
    -	0x27, 0x37, 0x27, 0x26, 0x26, 0x27, 0x37, 0x16, 0x16, 0x17, 0x37, 0x17, 
    -	0x01, 0x32, 0x36, 0x35, 0x35, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x03, 0x99, 0x66, 0x71, 0xfe, 0xc6, 0xeb, 0xee, 0xfe, 0xd3, 0x01, 
    -	0x0d, 0xe7, 0x51, 0x90, 0x34, 0x04, 0x0e, 0x50, 0x3c, 0xf5, 0x4e, 0xc0, 
    -	0x01, 0x1f, 0x4a, 0x28, 0x5c, 0x58, 0xa1, 0x45, 0xc6, 0x4d, 0xfe, 0x14, 
    -	0x74, 0x89, 0x23, 0x80, 0x57, 0x7a, 0x84, 0x88, 0x05, 0x0a, 0x6a, 0xfe, 
    -	0xea, 0xa4, 0xc4, 0xfa, 0xfe, 0xc3, 0x01, 0x19, 0xd0, 0xe2, 0x01, 0x11, 
    -	0x33, 0x2d, 0x04, 0x53, 0x8d, 0x37, 0x88, 0x71, 0x6a, 0x06, 0x10, 0x1c, 
    -	0x0c, 0xda, 0x13, 0x43, 0x2f, 0x6d, 0x71, 0xfb, 0x67, 0xc1, 0x96, 0x76, 
    -	0x27, 0x34, 0x9e, 0x81, 0x70, 0x99, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0x00, 0x00, 0x04, 0x1a, 0x06, 0x2b, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x53, 0x32, 0x00, 0x09, 0x00, 0xb3, 0x17, 0x09, 
    -	0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xe0, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0x8c, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1d, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xe0, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x41, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x20, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x06, 0x00, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x4a, 0x12, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x03, 
    -	0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x06, 0x2b, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x53, 0x32, 0x00, 0x09, 0x00, 0xb3, 0x1f, 0x09, 
    -	0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xcb, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x26, 0x1b, 0x00, 0x0f, 0x00, 0xb3, 0x20, 0x09, 
    -	0x03, 0x04, 0x2b, 0xb0, 0x20, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 
    -	0x00, 0x03, 0x00, 0x3f, 0x00, 0xa4, 0x04, 0x44, 0x04, 0xb6, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x0b, 0x00, 0x40, 0x00, 0xb0, 0x02, 0x2f, 0xb1, 0x00, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 
    -	0x10, 0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x06, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x35, 0x21, 0x25, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x04, 0x44, 
    -	0xfb, 0xfb, 0x04, 0x05, 0xfe, 0x91, 0xfe, 0xdb, 0x01, 0x25, 0xfe, 0xdb, 
    -	0x01, 0x25, 0x02, 0x3d, 0xe3, 0xad, 0xe9, 0xfb, 0xee, 0xe9, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x43, 0xff, 0x73, 0x04, 0x40, 0x04, 0xbf, 0x00, 0x19, 
    -	0x00, 0x25, 0x00, 0x31, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb1, 0x2e, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0xd0, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x2a, 0xd0, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 
    -	0x32, 0x16, 0x17, 0x37, 0x33, 0x07, 0x16, 0x16, 0x15, 0x15, 0x14, 0x00, 
    -	0x23, 0x22, 0x26, 0x27, 0x07, 0x23, 0x37, 0x26, 0x26, 0x35, 0x21, 0x14, 
    -	0x16, 0x17, 0x17, 0x01, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 0x34, 
    -	0x26, 0x27, 0x27, 0x03, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x43, 0x01, 
    -	0x0e, 0xef, 0x32, 0x5d, 0x2c, 0x46, 0xa1, 0x67, 0x5f, 0x66, 0xfe, 0xf1, 
    -	0xef, 0x30, 0x58, 0x28, 0x47, 0xa1, 0x67, 0x65, 0x69, 0x01, 0x23, 0x11, 
    -	0x12, 0x06, 0x01, 0x04, 0x13, 0x29, 0x17, 0x71, 0x69, 0x01, 0xb6, 0x10, 
    -	0x0e, 0x06, 0xff, 0x0f, 0x25, 0x15, 0x71, 0x69, 0x02, 0x27, 0xf2, 0x01, 
    -	0x35, 0x10, 0x0e, 0x8f, 0xd3, 0x4a, 0xeb, 0x90, 0x15, 0xf4, 0xfe, 0xcd, 
    -	0x0e, 0x0c, 0x92, 0xd3, 0x47, 0xef, 0x96, 0x3e, 0x68, 0x22, 0x01, 0x02, 
    -	0x13, 0x08, 0x09, 0xb7, 0x8f, 0x36, 0x60, 0x22, 0x01, 0xfd, 0xf7, 0x07, 
    -	0x05, 0xb4, 0x93, 0x00, 0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0x8b, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x08, 0x07, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x40, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x18, 0x08, 0x07, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x05, 0xed, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x49, 0xff, 0x00, 0x09, 0x00, 0xb3, 0x18, 0x03, 0x07, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x05, 0xb6, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x25, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x19, 0x03, 0x07, 0x04, 0x2b, 0xb0, 
    -	0x19, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0xfe, 0x4b, 0x04, 0x11, 0x05, 0xcb, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x0b, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1a, 0x08, 0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x79, 
    -	0xfe, 0x60, 0x04, 0x4a, 0x06, 0x18, 0x00, 0x13, 0x00, 0x21, 0x00, 0x55, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x1a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x17, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x1e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x11, 0x21, 0x11, 0x23, 
    -	0x11, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x21, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x4a, 0xde, 0xc7, 0x55, 0x84, 0x2f, 0xfe, 0xdd, 0x01, 0x01, 0x24, 0x2f, 
    -	0x82, 0x55, 0xc9, 0xde, 0xfe, 0xdc, 0x66, 0x69, 0x42, 0x5d, 0x1b, 0x1b, 
    -	0x5d, 0x44, 0x6a, 0x63, 0x01, 0xff, 0xf0, 0xfe, 0xdc, 0x3f, 0x3d, 0xfd, 
    -	0xf9, 0x01, 0xa0, 0x06, 0x18, 0xfd, 0xb1, 0x40, 0x45, 0xfe, 0xc6, 0xff, 
    -	0x00, 0x99, 0xbe, 0x36, 0x32, 0xfe, 0x26, 0x2e, 0x30, 0xa6, 0x8e, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 0x05, 0xb6, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0xf2, 0x06, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x1b, 0x03, 0x14, 0x04, 0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x17, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x06, 0xf2, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 
    -	0x00, 0x8e, 0x01, 0x41, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x08, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x05, 0xb1, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 
    -	0x20, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x2d, 0x09, 0x19, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x07, 0x68, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0xcb, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x06, 0x26, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 
    -	0x5c, 0x76, 0x00, 0x09, 0x00, 0xb3, 0x30, 0x09, 0x19, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 0xfe, 0x58, 0x05, 0x3a, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 
    -	0x03, 0x36, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xfe, 0x58, 0x04, 0x29, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 
    -	0x02, 0x25, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xff, 0xeb, 0x04, 0xdb, 
    -	0x07, 0x37, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xa1, 0x01, 0x71, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x07, 0x0b, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3e, 0xff, 0xeb, 0x03, 0xf2, 
    -	0x05, 0xe0, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x13, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x08, 0x0f, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xff, 0xeb, 0x04, 0xdb, 
    -	0x07, 0x57, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x00, 0xaa, 0x01, 0x69, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x08, 0x0b, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3e, 0xff, 0xeb, 0x03, 0xf2, 
    -	0x06, 0x00, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x1c, 0x12, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x03, 0x0f, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xff, 0xeb, 0x04, 0xdb, 
    -	0x07, 0x47, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x74, 0x01, 0x8b, 0x00, 0x09, 0x00, 0xb3, 0x1f, 0x08, 0x0b, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3e, 0xff, 0xeb, 0x03, 0xf2, 
    -	0x05, 0xf0, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x00, 0xe6, 0x00, 0x34, 0x00, 0x09, 0x00, 0xb3, 0x1f, 0x09, 0x0f, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xff, 0xeb, 0x04, 0xdb, 
    -	0x07, 0x66, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0x00, 0xc1, 0x01, 0x72, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x08, 0x0b, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3e, 0xff, 0xeb, 0x03, 0xf2, 
    -	0x06, 0x0f, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 
    -	0x33, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x09, 0x0f, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe1, 
    -	0x07, 0x51, 0x02, 0x26, 0x00, 0x27, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0x00, 0x71, 0x01, 0x5d, 0x00, 0x09, 0x00, 0xb3, 0x19, 0x08, 0x01, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x05, 0x58, 
    -	0x06, 0x18, 0x00, 0x26, 0x00, 0x47, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x04, 0x20, 0x05, 0x07, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x24, 0x2f, 0x1b, 0xb1, 0x24, 0x1a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x1f, 0x00, 0x00, 0x04, 0xff, 0x05, 0xb0, 0x00, 0x0d, 
    -	0x00, 0x1b, 0x00, 0x60, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 
    -	0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x18, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x1a, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 
    -	0x00, 0x11, 0x15, 0x10, 0x00, 0x21, 0x13, 0x23, 0x11, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x33, 0xa6, 0x87, 0x87, 0x01, 
    -	0xf4, 0x01, 0x0b, 0x01, 0x5a, 0xfe, 0xa6, 0xfe, 0xf5, 0x24, 0xf4, 0xc1, 
    -	0x9d, 0xb2, 0xb2, 0x9d, 0xc1, 0xf4, 0x02, 0x8c, 0xb5, 0x02, 0x6f, 0xfe, 
    -	0xab, 0xfe, 0xf5, 0xf1, 0xfe, 0xf4, 0xfe, 0xad, 0x02, 0x8c, 0xfe, 0x54, 
    -	0xd4, 0xab, 0xf3, 0xa9, 0xd4, 0xfe, 0x72, 0x00, 0x00, 0x02, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0xa2, 0x06, 0x18, 0x00, 0x19, 0x00, 0x27, 0x00, 0x84, 
    -	0x00, 0xb0, 0x19, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb2, 0x9f, 0x19, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x19, 0x01, 0x71, 0xb2, 0x7f, 0x19, 0x01, 0x5d, 0xb2, 
    -	0x3f, 0x19, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0xd0, 0xb0, 0x19, 
    -	0x10, 0xb0, 0x14, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x24, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x23, 0x11, 0x23, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x35, 
    -	0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x35, 0x23, 0x35, 0x33, 0x35, 0x21, 
    -	0x15, 0x33, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x04, 0xa2, 0x90, 0xfb, 0x18, 0x33, 0x8b, 0x5a, 
    -	0xc7, 0xdd, 0xdd, 0xc9, 0x51, 0x82, 0x31, 0xea, 0xea, 0x01, 0x25, 0x90, 
    -	0xfc, 0xc4, 0x60, 0x6c, 0x3f, 0x5e, 0x1e, 0x1e, 0x5d, 0x3e, 0x6b, 0x63, 
    -	0x04, 0xc4, 0xfb, 0x3c, 0x84, 0x4b, 0x4e, 0x01, 0x24, 0xf0, 0x15, 0x01, 
    -	0x00, 0x01, 0x3a, 0x46, 0x41, 0xfd, 0xb5, 0x9f, 0x9f, 0xfc, 0x86, 0x8e, 
    -	0xa3, 0x33, 0x31, 0x01, 0xcd, 0x33, 0x39, 0xbe, 0x99, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 0x06, 0xf2, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 0x00, 0x5c, 0x01, 0x41, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x05, 0xb1, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 0x22, 0x00, 0x00, 0x09, 
    -	0x00, 0xb3, 0x21, 0x09, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 0x07, 0x68, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0x98, 0x01, 0xb8, 
    -	0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x06, 0x27, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x5e, 0x77, 0x00, 0x09, 
    -	0x00, 0xb3, 0x24, 0x09, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 0x07, 0x32, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x2f, 0x01, 0x76, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x05, 0xf1, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x00, 0xf5, 0x00, 0x35, 
    -	0x00, 0x09, 0x00, 0xb3, 0x21, 0x09, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0xfe, 0x58, 0x04, 0x6d, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0x20, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xfe, 0x83, 0x04, 0x02, 0x04, 0x4f, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0xd8, 0x00, 0x2b, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 0x07, 0x51, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0x7c, 0x01, 0x5d, 
    -	0x00, 0x09, 0x00, 0xb3, 0x11, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x06, 0x10, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x42, 0x1c, 0x00, 0x09, 
    -	0x00, 0xb3, 0x25, 0x09, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x04, 0xe6, 0x07, 0x57, 0x02, 0x26, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0xab, 0x01, 0x69, 
    -	0x00, 0x09, 0x00, 0xb3, 0x25, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x4b, 0x04, 0x14, 0x06, 0x00, 0x02, 0x26, 
    -	0x00, 0x4a, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x35, 0x12, 0x00, 0x09, 
    -	0x00, 0xb3, 0x30, 0x03, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x04, 0xe6, 0x07, 0x7d, 0x02, 0x26, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xde, 0x01, 0xcd, 
    -	0x00, 0x09, 0x00, 0xb3, 0x25, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x4b, 0x04, 0x14, 0x06, 0x26, 0x02, 0x26, 
    -	0x00, 0x4a, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x68, 0x76, 0x00, 0x09, 
    -	0x00, 0xb3, 0x30, 0x09, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x04, 0xe6, 0x07, 0x47, 0x02, 0x26, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x75, 0x01, 0x8b, 
    -	0x00, 0x09, 0x00, 0xb3, 0x21, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x4b, 0x04, 0x14, 0x05, 0xf0, 0x02, 0x26, 
    -	0x00, 0x4a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x00, 0xff, 0x00, 0x34, 
    -	0x00, 0x09, 0x00, 0xb3, 0x2d, 0x09, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xfe, 0x0b, 0x04, 0xe6, 0x05, 0xc5, 0x02, 0x26, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0xd2, 0xfe, 0x87, 
    -	0x00, 0x0f, 0x00, 0xb4, 0x30, 0x26, 0x40, 0x26, 0x02, 0x5d, 0xb2, 0xa0, 
    -	0x26, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xfe, 0x4b, 0x04, 0x14, 0x06, 0x9d, 0x02, 0x26, 0x00, 0x4a, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x53, 0x01, 0x32, 0x00, 0x9a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x31, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x21, 0x07, 0x42, 0x02, 0x26, 0x00, 0x2b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0xdb, 0x01, 0x54, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0x00, 0x00, 0x04, 0x18, 0x07, 0x43, 0x02, 0x26, 0x00, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x0f, 0x01, 0x55, 0x00, 0x08, 0x00, 0xb2, 
    -	0x18, 0x13, 0x03, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 
    -	0x00, 0x00, 0x05, 0x9e, 0x05, 0xb0, 0x00, 0x13, 0x00, 0x17, 0x00, 0x89, 
    -	0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 
    -	0x2f, 0x1b, 0xb1, 0x12, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb2, 0x7f, 0x11, 
    -	0x01, 0x5d, 0xb2, 0x2f, 0x11, 0x01, 0x5d, 0xb2, 0x0f, 0x11, 0x01, 0x5d, 
    -	0xb0, 0x11, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x11, 0x10, 0xb1, 0x16, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0xd0, 
    -	0xb0, 0x15, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x16, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x11, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x01, 0x21, 0x35, 0x21, 0x05, 0x1f, 0x7f, 0x7f, 0xfe, 0xdd, 0xfd, 
    -	0xae, 0xfe, 0xdc, 0x76, 0x76, 0x01, 0x24, 0x02, 0x52, 0x01, 0x23, 0xfc, 
    -	0x8b, 0x02, 0x52, 0xfd, 0xae, 0x04, 0xaf, 0xab, 0xfb, 0xfc, 0x02, 0x5d, 
    -	0xfd, 0xa3, 0x04, 0x04, 0xab, 0x01, 0x01, 0xfe, 0xff, 0x01, 0x01, 0xfd, 
    -	0x8e, 0xc6, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfa, 0x00, 0x00, 0x04, 0x36, 
    -	0x06, 0x18, 0x00, 0x1b, 0x00, 0x78, 0x00, 0xb0, 0x1b, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x1a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x9f, 0x1b, 0x01, 0x5d, 0xb2, 0x2f, 0x1b, 0x01, 0x71, 
    -	0xb2, 0x7f, 0x1b, 0x01, 0x5d, 0xb2, 0x3f, 0x1b, 0x01, 0x5d, 0xb0, 0x1b, 
    -	0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x05, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x14, 0xd0, 0xb0, 0x1b, 
    -	0x10, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x36, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 
    -	0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x33, 0x02, 0x99, 
    -	0xee, 0x33, 0x94, 0x5a, 0xa9, 0xc1, 0xfe, 0xdc, 0x59, 0x58, 0x3c, 0x5c, 
    -	0x1e, 0xfe, 0xdc, 0x8d, 0x8d, 0x01, 0x24, 0xee, 0x04, 0xc1, 0xfe, 0xf0, 
    -	0x4a, 0x53, 0xe1, 0xeb, 0xfd, 0x7e, 0x02, 0x84, 0x7e, 0x69, 0x2b, 0x27, 
    -	0xfc, 0xe7, 0x04, 0xc1, 0xb5, 0xa2, 0xa2, 0x00, 0xff, 0xff, 0xff, 0xb7, 
    -	0x00, 0x00, 0x02, 0xa4, 0x07, 0x6d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0xff, 0x40, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 
    -	0x07, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xa3, 
    -	0x00, 0x00, 0x02, 0x90, 0x06, 0x16, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0xff, 0x2c, 0x00, 0x1d, 0x00, 0x09, 0x00, 0xb3, 
    -	0x07, 0x09, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xc2, 
    -	0x00, 0x00, 0x02, 0x9d, 0x06, 0xf2, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0xff, 0x2e, 0x01, 0x41, 0x00, 0x09, 0x00, 0xb3, 
    -	0x05, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xae, 
    -	0x00, 0x00, 0x02, 0x89, 0x05, 0x9d, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0xff, 0x1a, 0xff, 0xec, 0x00, 0x09, 0x00, 0xb3, 
    -	0x05, 0x09, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xd4, 
    -	0x00, 0x00, 0x02, 0x88, 0x07, 0x68, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0xff, 0x6a, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 
    -	0x08, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xc0, 
    -	0x00, 0x00, 0x02, 0x74, 0x06, 0x11, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0xff, 0x56, 0x00, 0x61, 0x00, 0x09, 0x00, 0xb3, 
    -	0x08, 0x09, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x29, 
    -	0xfe, 0x58, 0x01, 0xda, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x00, 0x06, 0x01, 0x57, 0xd6, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0e, 
    -	0xfe, 0x58, 0x01, 0xbf, 0x06, 0x18, 0x02, 0x26, 0x00, 0x4c, 0x00, 0x00, 
    -	0x00, 0x06, 0x01, 0x57, 0xbb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x92, 
    -	0x00, 0x00, 0x01, 0xc2, 0x07, 0x32, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x00, 0x00, 0x01, 0x76, 0x00, 0x09, 0x00, 0xb3, 
    -	0x05, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x85, 
    -	0x00, 0x00, 0x01, 0xa9, 0x04, 0x3a, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x01, 0xa9, 0xfe, 0xdc, 0x01, 
    -	0x24, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, 0x9a, 0xff, 0xeb, 0x06, 0x66, 
    -	0x05, 0xb0, 0x00, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x2d, 
    -	0x02, 0x59, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xfe, 0x4b, 0x03, 0xce, 
    -	0x06, 0x18, 0x00, 0x26, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x4d, 
    -	0x02, 0x23, 0x00, 0x00, 0xff, 0xff, 0x00, 0x3a, 0xff, 0xeb, 0x04, 0xde, 
    -	0x07, 0x3e, 0x02, 0x26, 0x00, 0x2d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x01, 0x73, 0x01, 0x50, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x08, 0x00, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xa6, 0xfe, 0x4b, 0x02, 0x88, 
    -	0x05, 0xe5, 0x02, 0x26, 0x01, 0x50, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0xff, 0x1d, 0xff, 0xf7, 0x00, 0x09, 0x00, 0xb3, 0x14, 0x08, 0x0f, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0x17, 0x05, 0x39, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x2e, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0xa6, 0xfe, 0x93, 0x00, 0x11, 0x00, 0xb6, 0x30, 0x12, 0x40, 0x12, 
    -	0x50, 0x12, 0x03, 0x5d, 0xb2, 0xa0, 0x12, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x70, 0xfe, 0x18, 0x04, 0x5e, 0x06, 0x18, 0x02, 0x26, 
    -	0x00, 0x4e, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0x56, 0xfe, 0x94, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x12, 0x40, 0x12, 0x50, 0x12, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x12, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x81, 
    -	0x00, 0x00, 0x04, 0x94, 0x04, 0x3a, 0x00, 0x0c, 0x00, 0x5a, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x18, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 0x06, 0x01, 0x11, 
    -	0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 
    -	0x01, 0x21, 0x01, 0x01, 0x21, 0x02, 0x19, 0x74, 0xfe, 0xdc, 0x01, 0x24, 
    -	0x57, 0x01, 0x17, 0x01, 0x70, 0xfe, 0x80, 0x01, 0x91, 0xfe, 0x8a, 0x01, 
    -	0x95, 0xfe, 0x6b, 0x04, 0x3a, 0xfe, 0x64, 0x01, 0x9c, 0xfe, 0x05, 0xfd, 
    -	0xc1, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x34, 
    -	0x07, 0x0b, 0x02, 0x26, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x00, 0x1c, 0x01, 0x45, 0x00, 0x09, 0x00, 0xb3, 0x0a, 0x07, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x7d, 0x00, 0x00, 0x02, 0x7b, 
    -	0x07, 0x4b, 0x02, 0x26, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x00, 0x11, 0x01, 0x85, 0x00, 0x08, 0x00, 0xb2, 0x08, 0x02, 0x03, 0x2b, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0x18, 0x04, 0x34, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x80, 0xfe, 0x94, 0x00, 0x11, 0x00, 0xb6, 0x30, 0x0b, 0x40, 0x0b, 
    -	0x50, 0x0b, 0x03, 0x5d, 0xb2, 0xa0, 0x0b, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x6e, 0xfe, 0x18, 0x01, 0xa3, 0x06, 0x18, 0x02, 0x26, 
    -	0x00, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x00, 0x31, 0xfe, 0x94, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x09, 0x40, 0x09, 0x50, 0x09, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x09, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0x34, 0x05, 0xb2, 0x02, 0x26, 0x00, 0x2f, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x27, 0x02, 0x2a, 0x04, 0xa2, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7f, 0x00, 0x00, 0x02, 0xf7, 
    -	0x06, 0x18, 0x00, 0x26, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0xbf, 0x05, 0x07, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x1a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x34, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2f, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0xb0, 0xfd, 0xde, 
    -	0x00, 0x06, 0x00, 0xb0, 0x08, 0x2f, 0x30, 0x31, 0xff, 0xff, 0x00, 0x7f, 
    -	0x00, 0x00, 0x03, 0x33, 0x06, 0x18, 0x00, 0x26, 0x00, 0x4f, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0x71, 0xfd, 0xaa, 0x00, 0x06, 0x00, 0xb0, 
    -	0x06, 0x2f, 0x30, 0x31, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x04, 0x23, 
    -	0x05, 0xb0, 0x00, 0x0d, 0x00, 0x59, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x01, 0x10, 0xb1, 0x02, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0xd0, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x09, 0xd0, 
    -	0xb0, 0x00, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 
    -	0x37, 0x15, 0x07, 0x11, 0x21, 0x15, 0x21, 0x11, 0x07, 0x35, 0x37, 0x11, 
    -	0x21, 0x01, 0x9b, 0xfb, 0xfb, 0x02, 0x88, 0xfc, 0x54, 0x6b, 0x6b, 0x01, 
    -	0x24, 0x03, 0x72, 0x48, 0xc3, 0x48, 0xfe, 0x31, 0xe0, 0x02, 0x5b, 0x1f, 
    -	0xc3, 0x1f, 0x02, 0x92, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x02, 0x44, 
    -	0x06, 0x18, 0x00, 0x0b, 0x00, 0x47, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x1a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x01, 0x10, 0xb1, 0x02, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0xd0, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x07, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x09, 0xd0, 
    -	0xb0, 0x08, 0xd0, 0x30, 0x31, 0x01, 0x37, 0x15, 0x07, 0x11, 0x21, 0x11, 
    -	0x07, 0x35, 0x37, 0x11, 0x21, 0x01, 0xb7, 0x8d, 0x8d, 0xfe, 0xdc, 0x84, 
    -	0x84, 0x01, 0x24, 0x03, 0x8b, 0x2f, 0xc3, 0x2f, 0xfd, 0x38, 0x02, 0x67, 
    -	0x2b, 0xc3, 0x2b, 0x02, 0xee, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x21, 0x07, 0x22, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0xd4, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0x00, 0x00, 0x04, 0x1a, 0x05, 0xe0, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x41, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x18, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0xfe, 0x18, 0x05, 0x21, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x27, 0x01, 0xf4, 0xfe, 0x94, 0x00, 0x11, 0x00, 0xb6, 
    -	0x30, 0x10, 0x40, 0x10, 0x50, 0x10, 0x03, 0x5d, 0xb2, 0xa0, 0x10, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6b, 0xfe, 0x18, 0x04, 0x1a, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x61, 0xfe, 0x94, 0x00, 0x11, 0x00, 0xb6, 0x30, 0x18, 0x40, 0x18, 
    -	0x50, 0x18, 0x03, 0x5d, 0xb2, 0xa0, 0x18, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 0x07, 0x51, 0x02, 0x26, 
    -	0x00, 0x31, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0xf4, 0x01, 0x5d, 
    -	0x00, 0x09, 0x00, 0xb3, 0x11, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x1a, 0x06, 0x0f, 0x02, 0x26, 
    -	0x00, 0x51, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x61, 0x1b, 0x00, 0x09, 
    -	0x00, 0xb3, 0x19, 0x09, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x04, 0x1a, 0x06, 0x17, 0x02, 0x26, 
    -	0x00, 0x51, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0xff, 0xa9, 0x05, 0x07, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 
    -	0x18, 0x1a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x83, 
    -	0xfe, 0x4b, 0x05, 0x1c, 0x05, 0xb0, 0x00, 0x18, 0x00, 0x5f, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb0, 0x10, 
    -	0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x01, 0x07, 0x11, 0x21, 0x11, 0x21, 0x01, 0x37, 0x11, 0x05, 0x1c, 
    -	0xca, 0xb3, 0x29, 0x44, 0x24, 0x0e, 0x17, 0x32, 0x1b, 0x39, 0x40, 0xfd, 
    -	0xb5, 0x06, 0xfe, 0xdb, 0x01, 0x25, 0x02, 0x4b, 0x06, 0x05, 0xb0, 0xfa, 
    -	0x28, 0xbe, 0xcf, 0x08, 0x09, 0xdd, 0x06, 0x07, 0x5a, 0x52, 0x28, 0x03, 
    -	0xd6, 0x01, 0xfc, 0x2b, 0x05, 0xb0, 0xfc, 0x2b, 0x01, 0x03, 0xd4, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xfe, 0x4b, 0x04, 0x18, 0x04, 0x4e, 0x00, 0x1f, 
    -	0x00, 0x55, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 
    -	0x2f, 0x1b, 0xb1, 0x1d, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x12, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 
    -	0x10, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x01, 
    -	0x7b, 0x0d, 0x35, 0x9e, 0x61, 0xa4, 0xb8, 0xca, 0xb4, 0x28, 0x44, 0x24, 
    -	0x0e, 0x16, 0x32, 0x1b, 0x3a, 0x3e, 0x51, 0x51, 0x40, 0x62, 0x20, 0xfe, 
    -	0xdc, 0x04, 0x3a, 0x98, 0x51, 0x5b, 0xd3, 0xe4, 0xfd, 0x41, 0xbe, 0xcf, 
    -	0x08, 0x09, 0xe0, 0x06, 0x06, 0x56, 0x52, 0x02, 0xbe, 0x74, 0x61, 0x2f, 
    -	0x2a, 0xfc, 0xee, 0x04, 0x3a, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0x07, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0xbb, 0x01, 0x56, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1d, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xb1, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x41, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x1d, 0x09, 
    -	0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0x7d, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xf7, 0x01, 0xcd, 0x00, 0x09, 0x00, 0xb3, 
    -	0x20, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x06, 0x26, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x54, 0x7d, 0x76, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x09, 
    -	0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0x60, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x59, 0x00, 0xf9, 0x01, 0x72, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x26, 0x08, 0x0a, 0x04, 0x2b, 0xb0, 0x26, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x6f, 
    -	0x06, 0x09, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x01, 0x59, 
    -	0x7f, 0x1b, 0x00, 0x0f, 0x00, 0xb3, 0x26, 0x08, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x26, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x61, 
    -	0xff, 0xeb, 0x07, 0x42, 0x05, 0xc5, 0x00, 0x17, 0x00, 0x25, 0x00, 0x8f, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x16, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x10, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 
    -	0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x1f, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 
    -	0x21, 0x06, 0x06, 0x23, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x32, 
    -	0x16, 0x17, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x05, 
    -	0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 
    -	0x16, 0x07, 0x42, 0xfc, 0x9d, 0x5c, 0x81, 0x43, 0xfe, 0xf2, 0xfe, 0xb0, 
    -	0x01, 0x4e, 0x01, 0x0e, 0x45, 0x8e, 0x4f, 0x03, 0x61, 0xfd, 0x41, 0x02, 
    -	0x5b, 0xfd, 0xa5, 0x02, 0xc1, 0xfb, 0x7d, 0x28, 0x4f, 0x27, 0x2d, 0x4d, 
    -	0x26, 0x94, 0xa5, 0xa7, 0x0a, 0x0b, 0x01, 0x4b, 0x01, 0x0a, 0x01, 0x30, 
    -	0x01, 0x09, 0x01, 0x4c, 0x0c, 0x09, 0xe1, 0xfe, 0x92, 0xe1, 0xfe, 0x60, 
    -	0x14, 0x04, 0x05, 0x04, 0x06, 0x04, 0x05, 0xbd, 0xb5, 0xfe, 0xce, 0xb6, 
    -	0xbe, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x43, 0xff, 0xeb, 0x07, 0x0c, 
    -	0x04, 0x4e, 0x00, 0x22, 0x00, 0x30, 0x00, 0x39, 0x00, 0x92, 0x00, 0xb0, 
    -	0x17, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 
    -	0x13, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb2, 0xff, 0x17, 0x01, 0x5d, 0xb2, 
    -	0x8f, 0x17, 0x01, 0x71, 0xb2, 0x9f, 0x17, 0x01, 0x72, 0xb2, 0x1f, 0x17, 
    -	0x01, 0x72, 0xb2, 0x4f, 0x17, 0x01, 0x71, 0xb2, 0xbf, 0x17, 0x01, 0x5d, 
    -	0xb4, 0x5f, 0x17, 0x6f, 0x17, 0x02, 0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x1c, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x26, 
    -	0xd0, 0xb0, 0x0d, 0x10, 0xb1, 0x2d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x31, 0xd0, 0xb0, 0x17, 0x10, 0xb1, 0x36, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 
    -	0x00, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 
    -	0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x01, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x01, 0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 0x26, 0x05, 0x59, 
    -	0x7f, 0xca, 0x44, 0x43, 0xc8, 0x7f, 0xf0, 0xfe, 0xf1, 0x01, 0x0e, 0xef, 
    -	0x7f, 0xc8, 0x43, 0x41, 0xbd, 0x77, 0xdb, 0xf2, 0xfd, 0x7a, 0x02, 0x08, 
    -	0x7f, 0x6d, 0x61, 0x80, 0x4c, 0x4f, 0x42, 0xd6, 0xfb, 0x8a, 0x68, 0x74, 
    -	0x71, 0x69, 0x6a, 0x72, 0x71, 0x69, 0x03, 0xd9, 0x51, 0x5e, 0x0b, 0x03, 
    -	0x01, 0x66, 0x57, 0x15, 0x5c, 0x55, 0x55, 0x5c, 0x01, 0x33, 0xf4, 0x15, 
    -	0xf2, 0x01, 0x35, 0x5d, 0x53, 0x54, 0x5c, 0xfe, 0xf8, 0xe1, 0x9f, 0x06, 
    -	0x6b, 0x8a, 0x27, 0x2a, 0xb4, 0x36, 0x47, 0x02, 0x27, 0x94, 0xb3, 0xb4, 
    -	0x93, 0x15, 0x90, 0xb6, 0xb7, 0x8f, 0x01, 0x46, 0x7c, 0x65, 0x05, 0x1a, 
    -	0x5d, 0x6f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x12, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x35, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x76, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x28, 0x07, 0x03, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x70, 0x00, 0x00, 0x03, 0x06, 
    -	0x05, 0xe0, 0x02, 0x26, 0x00, 0x55, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x00, 0x9c, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x14, 0x08, 0x0c, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0x18, 0x05, 0x12, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x35, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x96, 0xfe, 0x94, 0x00, 0x11, 0x00, 0xb6, 0x30, 0x28, 0x40, 0x28, 
    -	0x50, 0x28, 0x03, 0x5d, 0xb2, 0xa0, 0x28, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x6c, 0xfe, 0x18, 0x02, 0xc8, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x55, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x00, 0x2f, 0xfe, 0x94, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x14, 0x40, 0x14, 0x50, 0x14, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x14, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x12, 0x07, 0x51, 0x02, 0x26, 0x00, 0x35, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x53, 0x00, 0x96, 0x01, 0x5d, 0x00, 0x09, 0x00, 0xb3, 
    -	0x29, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x21, 
    -	0x00, 0x00, 0x03, 0x1a, 0x06, 0x0f, 0x02, 0x26, 0x00, 0x55, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0xbe, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x14, 0x09, 
    -	0x0c, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x55, 
    -	0xff, 0xeb, 0x04, 0xbe, 0x07, 0x37, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x89, 0x01, 0x71, 0x00, 0x09, 0x00, 0xb3, 
    -	0x2b, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3a, 
    -	0xff, 0xeb, 0x03, 0xd4, 0x05, 0xe0, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x08, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x2b, 0x08, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x55, 
    -	0xff, 0xeb, 0x04, 0xbe, 0x07, 0x57, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x92, 0x01, 0x69, 0x00, 0x09, 0x00, 0xb3, 
    -	0x2a, 0x08, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3a, 
    -	0xff, 0xeb, 0x03, 0xd4, 0x06, 0x00, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x11, 0x12, 0x00, 0x09, 0x00, 0xb3, 0x2a, 0x03, 
    -	0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x55, 
    -	0xfe, 0x2d, 0x04, 0xbe, 0x05, 0xc5, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x7a, 0x01, 0xb1, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x3a, 
    -	0xfe, 0x2d, 0x03, 0xd4, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x7a, 0x01, 0x1e, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x55, 
    -	0xff, 0xeb, 0x04, 0xbe, 0x07, 0x66, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x53, 0x00, 0xa9, 0x01, 0x72, 0x00, 0x09, 0x00, 0xb3, 
    -	0x2c, 0x08, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3a, 
    -	0xff, 0xeb, 0x03, 0xd4, 0x06, 0x0f, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x28, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x2c, 0x09, 
    -	0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1c, 
    -	0xfe, 0x18, 0x04, 0x76, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x37, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x27, 0x01, 0x6b, 0xfe, 0x94, 0x00, 0x11, 0x00, 0xb6, 
    -	0x30, 0x0c, 0x40, 0x0c, 0x50, 0x0c, 0x03, 0x5d, 0xb2, 0xa0, 0x0c, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x09, 0xfe, 0x0e, 0x02, 0x92, 
    -	0x05, 0x43, 0x02, 0x26, 0x00, 0x57, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x00, 0xd0, 0xfe, 0x8a, 0x00, 0x0f, 0x00, 0xb4, 0x30, 0x1c, 0x40, 0x1c, 
    -	0x02, 0x5d, 0xb2, 0xa0, 0x1c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x76, 0x07, 0x51, 0x02, 0x26, 
    -	0x00, 0x37, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0x6b, 0x01, 0x5d, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x09, 0xff, 0xeb, 0x03, 0x43, 0x06, 0x35, 0x00, 0x26, 
    -	0x00, 0x57, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x02, 0x0b, 0x05, 0x25, 
    -	0x00, 0x06, 0x00, 0xb0, 0x1c, 0x2f, 0x30, 0x31, 0x00, 0x01, 0x00, 0x1c, 
    -	0x00, 0x00, 0x04, 0x76, 0x05, 0xb0, 0x00, 0x0f, 0x00, 0x47, 0x00, 0xb0, 
    -	0x0f, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb0, 0x07, 
    -	0xd0, 0xb0, 0x0a, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 
    -	0x33, 0x03, 0x9f, 0xc5, 0xfe, 0xdc, 0xb6, 0xb6, 0xfe, 0x66, 0x04, 0x5a, 
    -	0xfe, 0x64, 0xc5, 0x02, 0xf5, 0xfd, 0x0b, 0x02, 0xf5, 0xb5, 0x01, 0x25, 
    -	0xe1, 0xe1, 0xfe, 0xdb, 0x00, 0x01, 0xff, 0xf3, 0xff, 0xeb, 0x02, 0x92, 
    -	0x05, 0x43, 0x00, 0x1f, 0x00, 0x69, 0x00, 0xb0, 0x1a, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x1d, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x1d, 0x10, 0xb1, 0x1c, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 
    -	0xb2, 0x10, 0x1a, 0x01, 0x5d, 0xb2, 0xa0, 0x1a, 0x01, 0x5d, 0xb0, 0x1a, 
    -	0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x1a, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0xd0, 0xb0, 0x13, 
    -	0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x01, 
    -	0xcb, 0xb6, 0xb6, 0xc7, 0xc7, 0x34, 0x2c, 0x17, 0x21, 0x16, 0x19, 0x2c, 
    -	0x54, 0x31, 0x97, 0xa3, 0xb4, 0xb4, 0x9e, 0x9e, 0x05, 0x43, 0xfe, 0xf7, 
    -	0xcd, 0x9d, 0xb5, 0xd5, 0x3f, 0x36, 0x05, 0x06, 0xd3, 0x0f, 0x0f, 0xa6, 
    -	0xb4, 0xd6, 0xb5, 0x9d, 0xcd, 0x01, 0x09, 0x00, 0xff, 0xff, 0x00, 0x78, 
    -	0xff, 0xeb, 0x05, 0x08, 0x07, 0x6d, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0xd2, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 
    -	0x15, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0xff, 0xeb, 0x04, 0x18, 0x06, 0x16, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x52, 0x1d, 0x00, 0x09, 0x00, 0xb3, 0x17, 0x09, 
    -	0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 
    -	0xff, 0xeb, 0x05, 0x08, 0x06, 0xf2, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0xc0, 0x01, 0x41, 0x00, 0x09, 0x00, 0xb3, 
    -	0x13, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0xff, 0xeb, 0x04, 0x18, 0x05, 0x9d, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x40, 0xec, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x09, 
    -	0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 
    -	0xff, 0xeb, 0x05, 0x08, 0x07, 0x68, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xfc, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 
    -	0x16, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0xff, 0xeb, 0x04, 0x18, 0x06, 0x11, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x54, 0x7c, 0x61, 0x00, 0x09, 0x00, 0xb3, 0x18, 0x09, 
    -	0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 
    -	0xff, 0xeb, 0x05, 0x08, 0x07, 0x8f, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x01, 0x6b, 0x01, 0xb9, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1b, 0x07, 0x08, 0x04, 0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x21, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 
    -	0x06, 0x38, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x07, 0x01, 0x56, 
    -	0x00, 0xeb, 0x00, 0x62, 0x00, 0x0f, 0x00, 0xb3, 0x1d, 0x07, 0x07, 0x04, 
    -	0x2b, 0xb0, 0x1d, 0x10, 0xb0, 0x23, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 0x07, 0x4b, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 0x00, 0xfe, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x1c, 0x08, 0x08, 0x04, 0x2b, 0xb0, 0x1c, 0x10, 
    -	0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x69, 
    -	0xff, 0xeb, 0x04, 0x6e, 0x05, 0xf4, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x59, 0x7e, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x1e, 0x08, 
    -	0x07, 0x04, 0x2b, 0xb0, 0x1e, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xfe, 0x58, 0x05, 0x08, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0x94, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xfe, 0x58, 0x04, 0x31, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x02, 0x2d, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x18, 0x00, 0x00, 0x06, 0xfb, 0x07, 0x42, 0x02, 0x26, 
    -	0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x01, 0x93, 0x01, 0x54, 
    -	0x00, 0x09, 0x00, 0xb3, 0x14, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x1d, 0x00, 0x00, 0x05, 0xc2, 0x05, 0xed, 0x02, 0x26, 
    -	0x00, 0x5a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0xf9, 0xff, 0xff, 
    -	0x00, 0x09, 0x00, 0xb3, 0x14, 0x03, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 0x07, 0x42, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0x95, 0x01, 0x54, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0e, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 0x05, 0xed, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x14, 0xff, 0x00, 0x09, 
    -	0x00, 0xb3, 0x1a, 0x03, 0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x71, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x0f, 0x08, 0x08, 0x04, 0x2b, 0xb0, 0x0f, 0x10, 
    -	0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4d, 
    -	0x00, 0x00, 0x04, 0x76, 0x07, 0x23, 0x02, 0x26, 0x00, 0x3d, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x59, 0x01, 0x5d, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0e, 0x07, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4b, 
    -	0x00, 0x00, 0x03, 0xce, 0x05, 0xcb, 0x02, 0x26, 0x00, 0x5d, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x0c, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0e, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4d, 
    -	0x00, 0x00, 0x04, 0x76, 0x07, 0x33, 0x02, 0x26, 0x00, 0x3d, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0x2c, 0x01, 0x77, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0b, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4b, 
    -	0x00, 0x00, 0x03, 0xce, 0x05, 0xdb, 0x02, 0x26, 0x00, 0x5d, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x00, 0xdf, 0x00, 0x1f, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0b, 0x03, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4d, 
    -	0x00, 0x00, 0x04, 0x76, 0x07, 0x52, 0x02, 0x26, 0x00, 0x3d, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x53, 0x00, 0x79, 0x01, 0x5e, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0f, 0x08, 0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4b, 
    -	0x00, 0x00, 0x03, 0xce, 0x05, 0xfa, 0x02, 0x26, 0x00, 0x5d, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x2c, 0x06, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x09, 
    -	0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x74, 
    -	0x00, 0x00, 0x02, 0xa4, 0x06, 0x2d, 0x00, 0x0f, 0x00, 0x27, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x2f, 0x04, 0x01, 0x5d, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x33, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x74, 0xd2, 0xbe, 0x25, 0x4b, 0x30, 0x19, 
    -	0x1a, 0x2a, 0x1d, 0x47, 0x4c, 0x04, 0xb2, 0xb6, 0xc5, 0x0b, 0x0a, 0xd7, 
    -	0x05, 0x06, 0x51, 0x49, 0xfb, 0x4e, 0x00, 0x00, 0x00, 0x01, 0xff, 0xce, 
    -	0xfe, 0x4b, 0x02, 0xe8, 0x06, 0x2d, 0x00, 0x23, 0x00, 0x88, 0x00, 0xb0, 
    -	0x17, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 
    -	0x22, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 
    -	0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x22, 0x10, 0xb1, 0x00, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 
    -	0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x10, 0xd0, 0xb0, 0x11, 0xd0, 0xb2, 0x30, 0x17, 0x01, 
    -	0x71, 0xb2, 0xa0, 0x17, 0x01, 0x5d, 0xb2, 0x7f, 0x17, 0x01, 0x5d, 0xb4, 
    -	0x2f, 0x17, 0x3f, 0x17, 0x02, 0x5d, 0xb2, 0xf0, 0x17, 0x01, 0x5d, 0xb2, 
    -	0xc0, 0x17, 0x01, 0x71, 0xb2, 0x00, 0x17, 0x01, 0x72, 0xb0, 0x17, 0x10, 
    -	0xb1, 0x1e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x23, 0x03, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 
    -	0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x33, 0x02, 0xab, 0xcf, 0x01, 0xca, 0xb4, 0x28, 0x42, 0x25, 0x0f, 
    -	0x17, 0x30, 0x1b, 0x39, 0x3f, 0xa0, 0xa0, 0xd2, 0xbf, 0x25, 0x4b, 0x30, 
    -	0x19, 0x17, 0x2f, 0x1d, 0x47, 0x49, 0xcf, 0x03, 0x6d, 0xfc, 0x6b, 0xbe, 
    -	0xcf, 0x08, 0x09, 0xdd, 0x06, 0x07, 0x5a, 0x52, 0x03, 0x95, 0xcd, 0x78, 
    -	0xb6, 0xc5, 0x0b, 0x0a, 0xd9, 0x04, 0x06, 0x4e, 0x49, 0x78, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x57, 0xff, 0xeb, 0x06, 0x1a, 0x06, 0x51, 0x00, 0x17, 
    -	0x00, 0x25, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x1b, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x11, 0x10, 
    -	0x00, 0x21, 0x32, 0x16, 0x17, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 0x07, 
    -	0x16, 0x16, 0x15, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x05, 0x16, 0xfe, 0xad, 0xfe, 0xf1, 0xfe, 
    -	0xf3, 0xfe, 0xb0, 0x01, 0x4f, 0x01, 0x0d, 0x86, 0xe3, 0x52, 0x68, 0x6c, 
    -	0xd8, 0xa0, 0x97, 0x19, 0x1a, 0xfe, 0xdc, 0xaa, 0x95, 0x95, 0xa4, 0xa6, 
    -	0x94, 0x96, 0xa8, 0x02, 0x55, 0xfe, 0xf4, 0xfe, 0xa2, 0x01, 0x5e, 0x01, 
    -	0x0c, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0x5e, 0x54, 0x1a, 0xa4, 0x80, 
    -	0xc0, 0xfe, 0x34, 0x3c, 0x83, 0x45, 0x02, 0xaa, 0xda, 0xd9, 0xab, 0xfe, 
    -	0xf8, 0xad, 0xda, 0xda, 0xad, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0xee, 0x04, 0xcf, 0x00, 0x17, 0x00, 0x25, 0x00, 0x38, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 
    -	0x0a, 0x3e, 0x59, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 
    -	0x32, 0x16, 0x17, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 0x07, 0x16, 0x16, 
    -	0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x21, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x43, 0x01, 
    -	0x0e, 0xef, 0x70, 0xb6, 0x43, 0x38, 0x3a, 0xd3, 0x78, 0x72, 0x1d, 0x1f, 
    -	0xfe, 0xf1, 0xef, 0xf0, 0xfe, 0xf1, 0x01, 0x23, 0x68, 0x74, 0x71, 0x69, 
    -	0x6a, 0x72, 0x71, 0x69, 0x02, 0x27, 0xf2, 0x01, 0x35, 0x49, 0x42, 0x23, 
    -	0x89, 0x60, 0x92, 0xcb, 0x31, 0x3e, 0x8f, 0x4d, 0x15, 0xf4, 0xfe, 0xcd, 
    -	0x01, 0x33, 0xf4, 0x94, 0xb3, 0xb4, 0x93, 0x15, 0x90, 0xb6, 0xb7, 0x8f, 
    -	0x00, 0x01, 0x00, 0x78, 0xff, 0xeb, 0x06, 0x80, 0x06, 0x47, 0x00, 0x1a, 
    -	0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 
    -	0xb1, 0x1a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 
    -	0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x15, 0x17, 0x36, 
    -	0x36, 0x35, 0x33, 0x14, 0x02, 0x07, 0x11, 0x14, 0x00, 0x21, 0x20, 0x00, 
    -	0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x05, 
    -	0x08, 0x06, 0x53, 0x48, 0xd7, 0xb7, 0xc1, 0xfe, 0xbc, 0xfe, 0xfa, 0xfe, 
    -	0xfb, 0xfe, 0xbf, 0x01, 0x25, 0x9a, 0x87, 0x89, 0x9c, 0x05, 0xb0, 0xb5, 
    -	0x01, 0x14, 0xa8, 0x91, 0xe7, 0xfe, 0xf6, 0x1c, 0xfd, 0xb0, 0xf5, 0xfe, 
    -	0xf6, 0x01, 0x0a, 0xf5, 0x03, 0xc6, 0xfc, 0x3a, 0x90, 0x8f, 0x8e, 0x91, 
    -	0x03, 0xc6, 0x00, 0x00, 0x00, 0x01, 0x00, 0x69, 0xff, 0xeb, 0x05, 0x77, 
    -	0x04, 0xac, 0x00, 0x1d, 0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x07, 0x11, 0x23, 0x27, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x11, 0x21, 0x15, 0x17, 0x36, 0x36, 0x35, 0x05, 0x72, 
    -	0x02, 0x03, 0xa9, 0xb6, 0xf9, 0x1a, 0x32, 0x9a, 0x64, 0xab, 0xc1, 0x01, 
    -	0x23, 0x50, 0x4e, 0x46, 0x64, 0x20, 0x01, 0x24, 0x06, 0x52, 0x47, 0x04, 
    -	0xac, 0x05, 0xb0, 0xc5, 0x16, 0xfc, 0xe4, 0x9c, 0x55, 0x5c, 0xdb, 0xe7, 
    -	0x02, 0x8d, 0xfd, 0x71, 0x76, 0x67, 0x2d, 0x2c, 0x03, 0x13, 0x7c, 0x02, 
    -	0x0d, 0x75, 0x6e, 0x00, 0xff, 0xff, 0xff, 0x97, 0xfe, 0x4b, 0x02, 0x90, 
    -	0x05, 0xf4, 0x02, 0x26, 0x01, 0x50, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0xff, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x03, 0x0f, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x08, 0x5c, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x71, 
    -	0x01, 0x36, 0x01, 0x96, 0x00, 0x15, 0x00, 0xb3, 0x1b, 0x07, 0x04, 0x04, 
    -	0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x1b, 0x10, 0xb0, 0x21, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x07, 0x1a, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x07, 0x03, 0x71, 
    -	0x00, 0xc6, 0x00, 0x54, 0x00, 0x15, 0x00, 0xb3, 0x3b, 0x07, 0x19, 0x04, 
    -	0x2b, 0xb0, 0x3b, 0x10, 0xb0, 0x2f, 0xd0, 0xb0, 0x3b, 0x10, 0xb0, 0x41, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x03, 0x00, 0x00, 0x07, 0x49, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x88, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0xa6, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x18, 0x07, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x2e, 0xff, 0xeb, 0x06, 0x8d, 
    -	0x05, 0xe1, 0x02, 0x26, 0x00, 0xa8, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0x5e, 0x00, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x47, 0x08, 0x19, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xa1, 0x05, 0x1b, 
    -	0x07, 0x60, 0x02, 0x26, 0x00, 0x9a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xc9, 0x01, 0x9a, 0x00, 0x09, 0x00, 0xb3, 0x36, 0x07, 0x10, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0x73, 0x04, 0x40, 
    -	0x05, 0xdc, 0x02, 0x26, 0x00, 0xba, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x1b, 0x00, 0x16, 0x00, 0x09, 0x00, 0xb3, 0x35, 0x08, 0x03, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x55, 0xfe, 0x04, 0x04, 0xbe, 
    -	0x05, 0xc5, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0xbb, 0xfe, 0x80, 0x00, 0x0a, 0x00, 0xb4, 0x30, 0x2c, 0x40, 0x2c, 
    -	0x02, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x3a, 0xfe, 0x04, 0x03, 0xd4, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x28, 0xfe, 0x80, 0x00, 0x0a, 0x00, 0xb4, 0x30, 0x2d, 0x40, 0x2d, 
    -	0x02, 0x5d, 0x30, 0x31, 0x00, 0x01, 0xff, 0xac, 0xfe, 0x4b, 0x01, 0xb9, 
    -	0x04, 0x3a, 0x00, 0x0f, 0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb1, 0x0b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x11, 0x01, 0xb9, 0xca, 0xb3, 0x29, 0x41, 0x26, 0x0f, 0x17, 
    -	0x31, 0x1a, 0x39, 0x40, 0x04, 0x3a, 0xfb, 0x9e, 0xbe, 0xcf, 0x08, 0x09, 
    -	0xdd, 0x06, 0x07, 0x5a, 0x52, 0x04, 0x62, 0x00, 0xff, 0xff, 0x00, 0x39, 
    -	0x03, 0xf8, 0x01, 0x6b, 0x06, 0x18, 0x03, 0x06, 0x02, 0xf9, 0x00, 0x00, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x1a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x89, 
    -	0x04, 0xe4, 0x03, 0x6b, 0x05, 0xee, 0x00, 0x08, 0x00, 0x2e, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb2, 0x3f, 0x04, 0x01, 0x5d, 0xb0, 0x02, 0xd0, 0xb0, 0x04, 
    -	0x10, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 
    -	0x0f, 0x07, 0x1f, 0x07, 0x2f, 0x07, 0x03, 0x5d, 0xb0, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x15, 0x23, 0x27, 
    -	0x07, 0x23, 0x35, 0x25, 0x33, 0x03, 0x6b, 0xe8, 0x8c, 0x8b, 0xe3, 0x01, 
    -	0x1a, 0xa9, 0x04, 0xfb, 0x17, 0x85, 0x85, 0x1a, 0xf0, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x63, 0x04, 0xe4, 0x03, 0x5c, 0x05, 0xf4, 0x00, 0x08, 
    -	0x00, 0x2e, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x3f, 0x04, 0x01, 0x5d, 0xb0, 
    -	0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 
    -	0x01, 0x1f, 0x01, 0x2f, 0x01, 0x03, 0x5d, 0xb0, 0x08, 0xd0, 0x30, 0x31, 
    -	0x01, 0x37, 0x21, 0x15, 0x05, 0x23, 0x01, 0x35, 0x21, 0x01, 0xdf, 0x75, 
    -	0x01, 0x08, 0xfe, 0xe7, 0xc7, 0xfe, 0xe7, 0x01, 0x08, 0x05, 0x75, 0x7f, 
    -	0x11, 0xff, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6a, 
    -	0x04, 0x8a, 0x03, 0x1e, 0x05, 0xb0, 0x00, 0x0f, 0x00, 0x45, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb2, 0x10, 0x04, 0x01, 0x5d, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x50, 0x0c, 0x60, 0x0c, 0x02, 0x71, 
    -	0x40, 0x0b, 0x90, 0x0c, 0xa0, 0x0c, 0xb0, 0x0c, 0xc0, 0x0c, 0xd0, 0x0c, 
    -	0x05, 0x5d, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x40, 0x0b, 0x9f, 0x0f, 0xaf, 0x0f, 0xbf, 0x0f, 0xcf, 0x0f, 0xdf, 0x0f, 
    -	0x05, 0x5d, 0xb0, 0x09, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 
    -	0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 
    -	0x17, 0x02, 0x05, 0xbb, 0x9e, 0x9f, 0xbc, 0x06, 0x02, 0xd5, 0x3d, 0x41, 
    -	0x3f, 0x3d, 0x05, 0xb0, 0x06, 0x7f, 0xa1, 0xa1, 0x7f, 0x06, 0x35, 0x44, 
    -	0x44, 0x35, 0x00, 0x00, 0x00, 0x01, 0x00, 0x92, 0x04, 0xcb, 0x01, 0xc2, 
    -	0x05, 0xbc, 0x00, 0x03, 0x00, 0x10, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x35, 0x21, 0x01, 0xc2, 0xfe, 0xd0, 0x01, 0x30, 0x04, 0xcb, 0xf1, 0x00, 
    -	0x00, 0x02, 0x00, 0x81, 0x04, 0x52, 0x02, 0x28, 0x05, 0xd6, 0x00, 0x0b, 
    -	0x00, 0x17, 0x00, 0x28, 0x00, 0xb0, 0x09, 0x2f, 0xb2, 0x3f, 0x09, 0x01, 
    -	0x5d, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 
    -	0x3f, 0x03, 0x4f, 0x03, 0x02, 0x5d, 0xb0, 0x09, 0x10, 0xb0, 0x0f, 0xd0, 
    -	0xb0, 0x03, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x81, 0x7b, 0x5a, 0x58, 
    -	0x7a, 0x79, 0x59, 0x5a, 0x7b, 0x74, 0x38, 0x29, 0x29, 0x35, 0x35, 0x29, 
    -	0x2a, 0x37, 0x05, 0x12, 0x53, 0x71, 0x71, 0x53, 0x54, 0x6c, 0x6c, 0x54, 
    -	0x2b, 0x37, 0x37, 0x2b, 0x2c, 0x38, 0x39, 0x00, 0x00, 0x01, 0x00, 0x53, 
    -	0xfe, 0x58, 0x02, 0x04, 0x00, 0x3c, 0x00, 0x13, 0x00, 0x33, 0x00, 0xb0, 
    -	0x13, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 
    -	0x0c, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x40, 0x11, 0x0f, 0x13, 0x1f, 0x13, 0x2f, 0x13, 0x3f, 
    -	0x13, 0x4f, 0x13, 0x5f, 0x13, 0x6f, 0x13, 0x7f, 0x13, 0x08, 0x5d, 0x30, 
    -	0x31, 0x21, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x01, 0x95, 0x36, 
    -	0x32, 0x22, 0x34, 0x1c, 0x2b, 0x17, 0x23, 0x24, 0x59, 0x3d, 0x6c, 0x8b, 
    -	0x5c, 0x62, 0x35, 0x4a, 0x31, 0x1b, 0x2b, 0x0c, 0x08, 0x9a, 0x13, 0x19, 
    -	0x71, 0x65, 0x4d, 0x8b, 0x36, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77, 
    -	0x04, 0xce, 0x03, 0x64, 0x05, 0xf9, 0x00, 0x13, 0x00, 0x6e, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb2, 0x3f, 0x03, 0x01, 0x5d, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xaf, 0x06, 0x01, 0x71, 0x40, 0x09, 
    -	0x3f, 0x06, 0x4f, 0x06, 0x5f, 0x06, 0x6f, 0x06, 0x04, 0x71, 0xb0, 0x03, 
    -	0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x0d, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x60, 0x0d, 0x01, 0x71, 0x40, 0x09, 
    -	0xa0, 0x0d, 0xb0, 0x0d, 0xc0, 0x0d, 0xd0, 0x0d, 0x04, 0x5d, 0xb0, 0x03, 
    -	0x10, 0xb0, 0x10, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 
    -	0x09, 0xa0, 0x10, 0xb0, 0x10, 0xc0, 0x10, 0xd0, 0x10, 0x04, 0x5d, 0xb2, 
    -	0x60, 0x10, 0x01, 0x71, 0xb0, 0x0d, 0x10, 0xb0, 0x13, 0xd0, 0x30, 0x31, 
    -	0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 0x64, 0x77, 0x5b, 
    -	0x46, 0xb1, 0x34, 0x24, 0x30, 0x9c, 0x77, 0x5a, 0x38, 0xc0, 0x34, 0x22, 
    -	0x34, 0x05, 0xcc, 0x60, 0x87, 0x57, 0x41, 0x2d, 0x2a, 0x5e, 0x8b, 0x57, 
    -	0x40, 0x2f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8d, 0x04, 0xe4, 0x03, 0xf0, 
    -	0x05, 0xee, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x27, 0x00, 0xb0, 0x09, 0x2f, 
    -	0xb2, 0x3f, 0x09, 0x01, 0x5d, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x06, 0x1f, 0x06, 0x2f, 0x06, 0x03, 0x5d, 
    -	0xb0, 0x00, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x04, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x17, 0x01, 0x23, 0x27, 0x03, 0x21, 0x17, 0x03, 0x23, 0x02, 0xd7, 
    -	0x01, 0x17, 0x02, 0xfe, 0xe3, 0xea, 0x02, 0x94, 0x01, 0x13, 0x02, 0xf0, 
    -	0xeb, 0x05, 0xee, 0x06, 0xfe, 0xfc, 0x05, 0x01, 0x05, 0x05, 0xfe, 0xfb, 
    -	0x00, 0x02, 0x00, 0x9e, 0xfe, 0x7a, 0x02, 0x0a, 0xff, 0xc1, 0x00, 0x0b, 
    -	0x00, 0x17, 0x00, 0x31, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x15, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x9e, 0x6a, 0x4e, 0x4c, 0x68, 0x68, 0x4c, 
    -	0x4f, 0x69, 0x72, 0x27, 0x1f, 0x1d, 0x25, 0x25, 0x1d, 0x1f, 0x27, 0xe4, 
    -	0x47, 0x5e, 0x5e, 0x47, 0x46, 0x5c, 0x5c, 0x46, 0x1d, 0x27, 0x26, 0x1e, 
    -	0x20, 0x27, 0x27, 0x00, 0x00, 0x01, 0xfc, 0xe9, 0x04, 0xad, 0xfe, 0x57, 
    -	0x05, 0xe6, 0x00, 0x03, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x0f, 0x03, 0x01, 
    -	0x5d, 0x30, 0x31, 0x01, 0x23, 0x03, 0x33, 0xfe, 0x57, 0xb1, 0xbd, 0xe7, 
    -	0x04, 0xad, 0x01, 0x39, 0x00, 0x01, 0xfc, 0xf7, 0x04, 0xb2, 0xfe, 0x64, 
    -	0x05, 0xec, 0x00, 0x03, 0x00, 0x15, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x0f, 0x00, 0x01, 
    -	0x5d, 0x30, 0x31, 0x01, 0x33, 0x03, 0x23, 0xfd, 0x7e, 0xe6, 0xbf, 0xae, 
    -	0x05, 0xec, 0xfe, 0xc6, 0xff, 0xff, 0xfc, 0x7d, 0x04, 0xce, 0xff, 0x6a, 
    -	0x05, 0xf9, 0x00, 0x07, 0x01, 0x58, 0xfc, 0x06, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0xfd, 0x1d, 0x04, 0xf0, 0xfe, 0xa1, 0x06, 0x85, 0x00, 0x10, 
    -	0x00, 0x31, 0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0x30, 0x31, 0x01, 0x27, 0x36, 0x36, 0x27, 0x35, 0x36, 0x26, 0x23, 
    -	0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0xfd, 0x31, 0x10, 0x4a, 
    -	0x3f, 0x05, 0x05, 0x4a, 0x43, 0x07, 0xb9, 0xc4, 0x56, 0x40, 0x04, 0xf0, 
    -	0x89, 0x03, 0x1e, 0x1e, 0x06, 0x23, 0x1f, 0x85, 0x68, 0x5b, 0x40, 0x48, 
    -	0x09, 0x41, 0x00, 0x00, 0x00, 0x02, 0xfb, 0xf5, 0x04, 0xe4, 0xff, 0x58, 
    -	0x05, 0xee, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x25, 0x00, 0xb0, 0x02, 0x2f, 
    -	0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 
    -	0x05, 0x1f, 0x05, 0x2f, 0x05, 0x03, 0x5d, 0xb0, 0x02, 0x10, 0xb0, 0x06, 
    -	0xd0, 0xb0, 0x05, 0x10, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x07, 0x23, 
    -	0x01, 0x37, 0x21, 0x01, 0x23, 0x03, 0x37, 0x21, 0xfd, 0xfd, 0x02, 0xe9, 
    -	0xfe, 0xe3, 0x02, 0x01, 0x16, 0x02, 0x4b, 0xec, 0xf0, 0x02, 0x01, 0x13, 
    -	0x04, 0xe9, 0x05, 0x01, 0x04, 0x06, 0xfe, 0xf6, 0x01, 0x05, 0x05, 0x00, 
    -	0x00, 0x01, 0xfd, 0x06, 0xfe, 0x9e, 0xfe, 0x4d, 0xff, 0x8f, 0x00, 0x03, 
    -	0x00, 0x1f, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb2, 0x4f, 0x00, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x35, 
    -	0x21, 0xfe, 0x4d, 0xfe, 0xb9, 0x01, 0x47, 0xfe, 0x9e, 0xf1, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xee, 0x04, 0xf6, 0x02, 0x50, 0x06, 0x58, 0x00, 0x03, 
    -	0x00, 0x10, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x21, 0x03, 0x23, 0x01, 0x3a, 
    -	0x01, 0x16, 0xd1, 0x91, 0x06, 0x58, 0xfe, 0x9e, 0x00, 0x03, 0x00, 0x99, 
    -	0x04, 0xe4, 0x03, 0xbb, 0x06, 0xdd, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 
    -	0x00, 0x40, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb0, 0x05, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x06, 0x10, 
    -	0xb0, 0x02, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x23, 0x35, 0x33, 0x05, 0x23, 
    -	0x35, 0x33, 0x13, 0x21, 0x03, 0x23, 0x03, 0xbb, 0xfe, 0xfe, 0xfd, 0xdb, 
    -	0xfd, 0xfd, 0x72, 0x01, 0x1a, 0xb0, 0x94, 0x04, 0xe4, 0xcc, 0xcc, 0xcc, 
    -	0x01, 0x2d, 0xfe, 0xe9, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x06, 0x58, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x61, 
    -	0xff, 0x7a, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 0x3f, 0x0d, 0x01, 0x5d, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x9f, 0x02, 0x38, 0x01, 0xc3, 
    -	0x03, 0x3c, 0x02, 0x06, 0x00, 0x79, 0x00, 0x00, 0xff, 0xff, 0xff, 0x76, 
    -	0x00, 0x00, 0x04, 0xd1, 0x06, 0x5a, 0x00, 0x26, 0x00, 0x28, 0x64, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xfe, 0x88, 0x00, 0x02, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0x9f, 
    -	0x00, 0x00, 0x05, 0x85, 0x06, 0x58, 0x00, 0x26, 0x00, 0x2b, 0x64, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xfe, 0xb1, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa8, 
    -	0x00, 0x00, 0x02, 0x22, 0x06, 0x5a, 0x00, 0x26, 0x00, 0x2c, 0x64, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xfe, 0xba, 0x00, 0x02, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x05, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf1, 
    -	0xff, 0xeb, 0x05, 0x2f, 0x06, 0x58, 0x00, 0x26, 0x00, 0x32, 0x14, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xff, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x1d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3e, 
    -	0x00, 0x00, 0x05, 0x6b, 0x06, 0x58, 0x00, 0x26, 0x00, 0x3c, 0x64, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xfe, 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x0b, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe6, 
    -	0x00, 0x00, 0x04, 0xfb, 0x06, 0x58, 0x00, 0x26, 0x01, 0x83, 0x14, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0xfe, 0xf8, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 
    -	0x3f, 0x25, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0x8f, 
    -	0xff, 0xeb, 0x02, 0xb1, 0x06, 0x9e, 0x02, 0x26, 0x01, 0x93, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x62, 0xfe, 0xf6, 0xff, 0xc1, 0x00, 0x14, 0x00, 0xb2, 
    -	0x14, 0x0f, 0x03, 0x2b, 0xb0, 0x14, 0x10, 0xb0, 0x11, 0xd0, 0xb0, 0x14, 
    -	0x10, 0xb0, 0x1b, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x24, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xca, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x04, 0x3d, 
    -	0x05, 0xb0, 0x00, 0x05, 0x00, 0x2c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x04, 0x3d, 0xfd, 0x6f, 
    -	0xfe, 0xdc, 0x03, 0xb5, 0x04, 0xcf, 0xfb, 0x31, 0x05, 0xb0, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x05, 0xc5, 0x05, 0xb0, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x07, 
    -	0xd0, 0x30, 0x31, 0x01, 0x21, 0x01, 0x21, 0x25, 0x21, 0x01, 0x23, 0x02, 
    -	0x5d, 0x01, 0x2c, 0x02, 0x3c, 0xfa, 0x51, 0x01, 0x86, 0x02, 0xa4, 0xfe, 
    -	0xb5, 0x06, 0x05, 0xb0, 0xfa, 0x50, 0xe0, 0x03, 0x75, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x28, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4d, 0x00, 0x00, 0x04, 0x76, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x21, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x2b, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 0x05, 0xc5, 0x00, 0x03, 
    -	0x00, 0x11, 0x00, 0x1f, 0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 
    -	0x21, 0x05, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 
    -	0x20, 0x00, 0x11, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 0x84, 0xfe, 0x84, 0x01, 0x7c, 0x01, 
    -	0x97, 0xfe, 0xad, 0xfe, 0xf1, 0xfe, 0xf3, 0xfe, 0xb0, 0x01, 0x4f, 0x01, 
    -	0x0d, 0x01, 0x0f, 0x01, 0x54, 0xfe, 0xdc, 0xaa, 0x95, 0x95, 0xa4, 0xa6, 
    -	0x94, 0x96, 0xa8, 0x02, 0x65, 0xe0, 0xf0, 0xfe, 0xf4, 0xfe, 0xa2, 0x01, 
    -	0x5e, 0x01, 0x0c, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0xfe, 0xa1, 0xfe, 
    -	0xf5, 0x02, 0xaa, 0xda, 0xd9, 0xab, 0xfe, 0xf8, 0xad, 0xda, 0xda, 0xad, 
    -	0xff, 0xff, 0x00, 0x9a, 0x00, 0x00, 0x01, 0xbe, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x39, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x13, 
    -	0x00, 0x00, 0x05, 0x1a, 0x05, 0xb0, 0x00, 0x07, 0x00, 0x30, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x23, 
    -	0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x02, 0x9a, 0x06, 0xfe, 0xb1, 0xfe, 
    -	0xce, 0x01, 0xee, 0x01, 0x2b, 0x01, 0xee, 0xfe, 0xcf, 0x04, 0x70, 0xfb, 
    -	0x90, 0x05, 0xb0, 0xfa, 0x50, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x06, 0x72, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x30, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x31, 0x00, 0x00, 0x00, 0x03, 0x00, 0x62, 0x00, 0x00, 0x04, 0x37, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x54, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x16, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x37, 0x21, 
    -	0x15, 0x21, 0x13, 0x21, 0x15, 0x21, 0x03, 0x21, 0x15, 0x21, 0x62, 0x03, 
    -	0xd5, 0xfc, 0x2b, 0x70, 0x02, 0xf4, 0xfd, 0x0c, 0x5a, 0x03, 0x96, 0xfc, 
    -	0x6a, 0xe0, 0xe0, 0x03, 0x51, 0xd9, 0x03, 0x38, 0xe1, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 0x05, 0xc5, 0x02, 0x06, 
    -	0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x05, 0x22, 
    -	0x05, 0xb0, 0x00, 0x07, 0x00, 0x39, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 
    -	0x10, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x05, 
    -	0x22, 0xfe, 0xdc, 0xfd, 0xae, 0xfe, 0xdc, 0x04, 0x9a, 0x04, 0xcf, 0xfb, 
    -	0x31, 0x05, 0xb0, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe7, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x48, 
    -	0x00, 0x00, 0x04, 0x51, 0x05, 0xb0, 0x00, 0x0c, 0x00, 0x5c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x06, 0x03, 0x08, 0x11, 0x12, 0x39, 0xb0, 0x06, 0x10, 0xb0, 
    -	0x00, 0xd0, 0xb0, 0x03, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x05, 0x01, 0x03, 0x11, 0x12, 0x39, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x08, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x06, 
    -	0x10, 0xb0, 0x0c, 0xd0, 0x30, 0x31, 0x01, 0x01, 0x21, 0x15, 0x21, 0x35, 
    -	0x01, 0x01, 0x35, 0x21, 0x15, 0x21, 0x01, 0x03, 0x38, 0xfe, 0x94, 0x02, 
    -	0x85, 0xfb, 0xf7, 0x01, 0xbb, 0xfe, 0x45, 0x03, 0xee, 0xfd, 0x98, 0x01, 
    -	0x6a, 0x02, 0xd4, 0xfe, 0x0d, 0xe1, 0x98, 0x02, 0x45, 0x02, 0x3c, 0x97, 
    -	0xe1, 0xfe, 0x16, 0x00, 0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x76, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x37, 0x00, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x3c, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x3b, 0x00, 0x00, 0x05, 0xb8, 0x05, 0xb0, 0x00, 0x11, 
    -	0x00, 0x1a, 0x00, 0x23, 0x00, 0x56, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x09, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1e, 0xd0, 
    -	0xb0, 0x16, 0x10, 0xb0, 0x20, 0xd0, 0x30, 0x31, 0x01, 0x16, 0x00, 0x15, 
    -	0x14, 0x00, 0x07, 0x15, 0x21, 0x35, 0x26, 0x00, 0x35, 0x34, 0x00, 0x37, 
    -	0x35, 0x21, 0x01, 0x14, 0x16, 0x17, 0x37, 0x11, 0x27, 0x06, 0x06, 0x05, 
    -	0x34, 0x26, 0x27, 0x07, 0x11, 0x17, 0x36, 0x36, 0x03, 0x8d, 0xf8, 0x01, 
    -	0x33, 0xfe, 0xcc, 0xf7, 0xfe, 0xdc, 0xfa, 0xfe, 0xcc, 0x01, 0x34, 0xfa, 
    -	0x01, 0x24, 0xfd, 0xcc, 0x8f, 0x7b, 0x06, 0x06, 0x7b, 0x8f, 0x03, 0x40, 
    -	0x8d, 0x79, 0x06, 0x06, 0x79, 0x8d, 0x04, 0xe7, 0x10, 0xfe, 0xde, 0xe5, 
    -	0xe1, 0xfe, 0xe3, 0x0f, 0xc3, 0xc3, 0x0d, 0x01, 0x1c, 0xe2, 0xe7, 0x01, 
    -	0x24, 0x0e, 0xc9, 0xfd, 0x1e, 0x7d, 0x92, 0x06, 0x02, 0x02, 0x34, 0x02, 
    -	0x08, 0x98, 0x81, 0x81, 0x97, 0x09, 0x02, 0xfd, 0xcc, 0x02, 0x08, 0x92, 
    -	0xff, 0xff, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x38, 0x00, 0x00, 0x05, 0x8e, 
    -	0x05, 0xb0, 0x00, 0x19, 0x00, 0x52, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x16, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x35, 0x11, 0x21, 0x11, 
    -	0x10, 0x00, 0x07, 0x11, 0x21, 0x11, 0x26, 0x00, 0x11, 0x11, 0x21, 0x11, 
    -	0x14, 0x16, 0x17, 0x37, 0x11, 0x21, 0x03, 0x78, 0x06, 0x73, 0x78, 0x01, 
    -	0x25, 0xfe, 0xe0, 0xf6, 0xfe, 0xdd, 0xfb, 0xfe, 0xde, 0x01, 0x23, 0x80, 
    -	0x74, 0x06, 0x01, 0x23, 0x02, 0x45, 0x01, 0x0f, 0xb6, 0xa2, 0x02, 0x05, 
    -	0xfd, 0xfb, 0xfe, 0xfc, 0xfe, 0xca, 0x1a, 0xfe, 0xa9, 0x01, 0x56, 0x15, 
    -	0x01, 0x37, 0x01, 0x09, 0x02, 0x05, 0xfd, 0xfb, 0x9e, 0xb7, 0x12, 0x02, 
    -	0x03, 0x6a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x68, 0x00, 0x00, 0x04, 0xe7, 
    -	0x05, 0xc5, 0x00, 0x23, 0x00, 0x4e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x0a, 0x3e, 0x59, 0xb0, 0x19, 
    -	0x10, 0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x20, 0xd0, 0xb0, 0x21, 0xd0, 0x30, 0x31, 
    -	0x25, 0x36, 0x12, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 
    -	0x14, 0x12, 0x17, 0x15, 0x21, 0x35, 0x33, 0x26, 0x02, 0x35, 0x35, 0x10, 
    -	0x00, 0x33, 0x32, 0x00, 0x11, 0x15, 0x14, 0x02, 0x07, 0x33, 0x15, 0x21, 
    -	0x02, 0xdf, 0x5c, 0x6a, 0x87, 0x78, 0x77, 0x85, 0x6b, 0x61, 0xfe, 0x08, 
    -	0xf4, 0x78, 0x92, 0x01, 0x3f, 0xff, 0xff, 0x01, 0x42, 0x93, 0x76, 0xfa, 
    -	0xfe, 0x07, 0xe7, 0x21, 0x01, 0x07, 0xed, 0x5e, 0xbf, 0xc8, 0xc9, 0xbe, 
    -	0x5e, 0xef, 0xfe, 0xfb, 0x21, 0xe7, 0xe3, 0x5b, 0x01, 0x1e, 0xa0, 0x5c, 
    -	0x01, 0x11, 0x01, 0x5c, 0xfe, 0xa4, 0xfe, 0xef, 0x5c, 0xa1, 0xfe, 0xe4, 
    -	0x5c, 0xe3, 0x00, 0x00, 0xff, 0xff, 0xff, 0xaf, 0x00, 0x00, 0x02, 0xad, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0xff, 0x13, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x08, 0x08, 0x02, 0x04, 
    -	0x2b, 0xb0, 0x08, 0x10, 0xb0, 0x05, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x71, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x0f, 0x08, 0x09, 0x04, 0x2b, 0xb0, 0x0f, 0x10, 
    -	0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x49, 
    -	0xff, 0xeb, 0x04, 0x8e, 0x06, 0x2a, 0x02, 0x26, 0x01, 0x8b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0x01, 0x0c, 0xff, 0xd2, 0x00, 0x09, 0x00, 0xb3, 
    -	0x31, 0x07, 0x18, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5f, 
    -	0xff, 0xec, 0x04, 0x2e, 0x06, 0x29, 0x02, 0x26, 0x01, 0x8f, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0x00, 0xea, 0xff, 0xd1, 0x00, 0x09, 0x00, 0xb3, 
    -	0x2e, 0x07, 0x1a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0xfe, 0x61, 0x04, 0x18, 0x06, 0x2a, 0x02, 0x26, 0x01, 0x91, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x61, 0x00, 0xe2, 0xff, 0xd2, 0x00, 0x09, 0x00, 0xb3, 
    -	0x17, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xeb, 0x02, 0x88, 0x06, 0x14, 0x02, 0x26, 0x01, 0x93, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x61, 0xcc, 0xbc, 0x00, 0x09, 0x00, 0xb3, 0x13, 0x07, 
    -	0x0f, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x04, 0x39, 0x06, 0x9f, 0x02, 0x26, 0x01, 0x9f, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x62, 0x20, 0xc2, 0x00, 0x14, 0x00, 0xb2, 0x1a, 0x00, 
    -	0x03, 0x2b, 0xb0, 0x1a, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x1a, 0x10, 0xb0, 
    -	0x21, 0xd0, 0x30, 0x31, 0x00, 0x02, 0x00, 0x49, 0xff, 0xeb, 0x04, 0x8e, 
    -	0x04, 0x4e, 0x00, 0x1c, 0x00, 0x2d, 0x00, 0x58, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x20, 0xd0, 0xb0, 0x18, 0x10, 0xb1, 0x2a, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x35, 0x10, 0x12, 
    -	0x33, 0x32, 0x16, 0x17, 0x37, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 
    -	0x26, 0x34, 0x35, 0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x04, 0x05, 
    -	0x23, 0x24, 0x0d, 0x12, 0x0a, 0x19, 0x23, 0x40, 0x2a, 0x5d, 0x81, 0x21, 
    -	0x31, 0x88, 0x5b, 0xc8, 0xdd, 0xde, 0xc9, 0x57, 0x85, 0x31, 0x2e, 0xfe, 
    -	0x42, 0x5f, 0x6c, 0x3b, 0x54, 0x1b, 0x01, 0x1c, 0x52, 0x39, 0x6b, 0x62, 
    -	0x04, 0x39, 0xfd, 0x0c, 0x40, 0x33, 0x03, 0x04, 0xd2, 0x10, 0x0c, 0x4c, 
    -	0x4e, 0x4b, 0x4f, 0x01, 0x24, 0xf0, 0x15, 0x01, 0x00, 0x01, 0x3a, 0x50, 
    -	0x4a, 0x85, 0xfd, 0xc6, 0x8f, 0xa5, 0x2d, 0x2c, 0x07, 0x0f, 0x0b, 0x01, 
    -	0xca, 0x2d, 0x31, 0xbf, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8e, 
    -	0xfe, 0x6d, 0x04, 0x88, 0x05, 0xc5, 0x00, 0x14, 0x00, 0x2a, 0x00, 0x64, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2a, 0x2f, 0x1b, 0xb1, 0x2a, 0x16, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 
    -	0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 
    -	0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x2a, 0x10, 0xb1, 0x29, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x11, 0x21, 0x11, 0x34, 
    -	0x24, 0x13, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 
    -	0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 
    -	0x73, 0xd7, 0xff, 0x66, 0x59, 0x79, 0x85, 0xef, 0xcf, 0x4a, 0x92, 0x3d, 
    -	0xfe, 0xdd, 0x01, 0x19, 0xc8, 0x5e, 0x58, 0x5d, 0x55, 0x56, 0x6c, 0x27, 
    -	0x6d, 0x43, 0x65, 0x77, 0x70, 0x66, 0x60, 0x05, 0xc5, 0xd2, 0xb9, 0x62, 
    -	0xa3, 0x30, 0x2b, 0xba, 0x81, 0xcf, 0xe5, 0x26, 0x26, 0xfe, 0x36, 0x05, 
    -	0xa0, 0xc1, 0xf7, 0xfd, 0x96, 0x69, 0x63, 0x4f, 0x6e, 0x76, 0x61, 0xfc, 
    -	0xfb, 0x1e, 0x1f, 0x79, 0x5e, 0x6c, 0x7f, 0xce, 0x00, 0x01, 0x00, 0x10, 
    -	0xfe, 0x5f, 0x04, 0x07, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x3d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 
    -	0x3e, 0x59, 0xb2, 0x02, 0x03, 0x06, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x05, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x09, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x01, 0x11, 0x21, 0x11, 0x01, 0x21, 0x13, 0x17, 0x33, 0x37, 0x02, 
    -	0xd6, 0x01, 0x31, 0xfe, 0x96, 0xfe, 0xdc, 0xfe, 0x97, 0x01, 0x31, 0xb6, 
    -	0x13, 0x06, 0x14, 0x04, 0x3a, 0xfb, 0xd7, 0xfe, 0x4e, 0x01, 0xb5, 0x04, 
    -	0x26, 0xfd, 0x59, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xb0, 0x00, 0x16, 0x00, 0x24, 0x00, 0x54, 
    -	0x00, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x01, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x15, 0x01, 
    -	0x00, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x10, 0xb1, 0x17, 0x06, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x1e, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x15, 0x21, 0x07, 0x17, 0x16, 0x16, 0x15, 0x15, 0x14, 0x00, 0x23, 
    -	0x22, 0x00, 0x35, 0x35, 0x34, 0x12, 0x3f, 0x02, 0x25, 0x35, 0x01, 0x22, 
    -	0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x03, 0xd3, 0xfe, 0x6c, 0x02, 0xf4, 0x76, 0x99, 0xfe, 0xf1, 0xef, 0xf0, 
    -	0xfe, 0xf1, 0xd8, 0xa9, 0x08, 0x01, 0xfe, 0xdd, 0x01, 0x96, 0x71, 0x69, 
    -	0x68, 0x74, 0x71, 0x69, 0x6a, 0x05, 0xb0, 0xe0, 0x06, 0xbc, 0x57, 0xf5, 
    -	0x9b, 0x15, 0xf4, 0xfe, 0xcd, 0x01, 0x24, 0xe9, 0x15, 0xc8, 0x01, 0x18, 
    -	0x1e, 0x01, 0x06, 0xed, 0xb1, 0xfd, 0xbd, 0xb7, 0x8f, 0x15, 0x94, 0xb3, 
    -	0xb4, 0x93, 0x15, 0x90, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5f, 
    -	0xff, 0xec, 0x04, 0x2e, 0x04, 0x4d, 0x00, 0x2a, 0x00, 0x54, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x29, 0x2f, 0x1b, 0xb1, 0x29, 0x18, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x29, 0x10, 0xb1, 0x2a, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x22, 
    -	0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x17, 0x16, 0x04, 
    -	0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 
    -	0x33, 0x32, 0x04, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x14, 0x16, 0x33, 0x33, 0x15, 0x02, 0x48, 0x60, 0x66, 0x67, 0x5d, 0x5e, 
    -	0x6a, 0x01, 0x19, 0x02, 0x05, 0xfe, 0xe9, 0xc1, 0xdc, 0xfe, 0xe5, 0x69, 
    -	0x63, 0x57, 0x62, 0x01, 0x08, 0xdc, 0xc1, 0x01, 0x06, 0x05, 0x02, 0xfe, 
    -	0xe6, 0x66, 0x4f, 0x59, 0x59, 0x5c, 0x57, 0xbb, 0x01, 0xca, 0x40, 0x45, 
    -	0x37, 0x4f, 0x4a, 0x37, 0x06, 0xa2, 0xac, 0xaf, 0x97, 0x5a, 0x80, 0x21, 
    -	0x24, 0x79, 0x48, 0x96, 0xa5, 0xb3, 0x91, 0x06, 0x36, 0x40, 0x4a, 0x32, 
    -	0x37, 0x3f, 0xbd, 0x00, 0x00, 0x01, 0x00, 0x4b, 0xfe, 0x55, 0x03, 0xd1, 
    -	0x05, 0xb0, 0x00, 0x21, 0x00, 0x4f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x1f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x01, 0x1f, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x16, 0x10, 0xb1, 
    -	0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x15, 0x01, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 
    -	0x16, 0x15, 0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x37, 0x37, 0x27, 0x21, 0x35, 0x03, 
    -	0xc8, 0xfe, 0x98, 0x6d, 0x5c, 0x61, 0x66, 0x36, 0x93, 0xaa, 0x02, 0xb2, 
    -	0x95, 0x61, 0x41, 0x4f, 0x3e, 0x49, 0x31, 0xc1, 0xc9, 0x84, 0x8b, 0xcd, 
    -	0x02, 0xfd, 0xfc, 0x05, 0xb0, 0x9c, 0xfe, 0x50, 0x81, 0xbf, 0x7e, 0x66, 
    -	0x63, 0x92, 0x86, 0x7d, 0xc9, 0x2a, 0xc1, 0x1c, 0x46, 0x35, 0x28, 0x2b, 
    -	0xdc, 0xa2, 0x99, 0x01, 0x18, 0xaa, 0xf2, 0x05, 0xe0, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xfe, 0x61, 0x04, 0x18, 0x04, 0x4e, 0x00, 0x13, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 
    -	0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0d, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x01, 0x7b, 0x0d, 0x35, 
    -	0x9e, 0x61, 0xa5, 0xb7, 0xfe, 0xdb, 0x51, 0x51, 0x40, 0x62, 0x20, 0xfe, 
    -	0xdc, 0x04, 0x3a, 0x98, 0x51, 0x5b, 0xd0, 0xe7, 0xfb, 0xca, 0x04, 0x35, 
    -	0x74, 0x63, 0x2f, 0x2b, 0xfc, 0xed, 0x04, 0x3a, 0x00, 0x03, 0x00, 0x65, 
    -	0xff, 0xeb, 0x04, 0x3e, 0x05, 0xc5, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x1f, 
    -	0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x17, 0x10, 0xb1, 0x0e, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0a, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x23, 0x22, 0x00, 0x11, 
    -	0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x01, 0x21, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x01, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x04, 0x3e, 0xfe, 0xf7, 0xe2, 0xe4, 0xfe, 0xf6, 0x01, 0x09, 0xe3, 
    -	0xe2, 0x01, 0x0b, 0xfe, 0xdd, 0xfe, 0x6d, 0x67, 0x64, 0x62, 0x66, 0xfe, 
    -	0x6d, 0x01, 0x93, 0x68, 0x62, 0x63, 0x66, 0x02, 0x37, 0xfe, 0xdf, 0xfe, 
    -	0xd5, 0x01, 0x2b, 0x01, 0x21, 0x01, 0x41, 0x01, 0x20, 0x01, 0x2d, 0xfe, 
    -	0xd3, 0xfe, 0xe0, 0xfe, 0xf7, 0x54, 0xb0, 0xa0, 0xa0, 0xb0, 0x01, 0x2d, 
    -	0x4e, 0xad, 0xa1, 0xa0, 0xae, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x89, 
    -	0xff, 0xeb, 0x02, 0x88, 0x04, 0x39, 0x00, 0x0f, 0x00, 0x29, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0xad, 0x2c, 0x2f, 0x1d, 
    -	0x22, 0x23, 0x1e, 0x2f, 0x55, 0x37, 0x9d, 0xa7, 0x04, 0x39, 0xfd, 0x08, 
    -	0x40, 0x33, 0x07, 0x0b, 0xd2, 0x14, 0x0f, 0xab, 0xaf, 0x02, 0xf4, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x94, 0x04, 0x3a, 0x02, 0x06, 
    -	0x00, 0xfa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0c, 0xff, 0xf2, 0x04, 0x77, 
    -	0x05, 0xee, 0x00, 0x21, 0x00, 0x4b, 0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0x02, 0x0d, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x0d, 0x10, 0xb1, 0x06, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1b, 
    -	0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x01, 
    -	0x27, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, 
    -	0x16, 0x17, 0x01, 0x16, 0x16, 0x17, 0x16, 0x32, 0x37, 0x07, 0x06, 0x06, 
    -	0x27, 0x26, 0x26, 0x27, 0x03, 0x23, 0x07, 0x01, 0x47, 0xfe, 0xc5, 0x01, 
    -	0x78, 0x36, 0x18, 0x50, 0x35, 0x0d, 0x2a, 0x0b, 0x06, 0x29, 0x41, 0x25, 
    -	0x9e, 0x9f, 0x2d, 0x01, 0x6b, 0x12, 0x3b, 0x29, 0x0c, 0x19, 0x0f, 0x13, 
    -	0x20, 0x43, 0x21, 0x7f, 0x95, 0x2c, 0x8e, 0x06, 0x0f, 0x04, 0x23, 0x6c, 
    -	0x37, 0x46, 0x04, 0x02, 0xd1, 0x0b, 0x0c, 0x9e, 0x74, 0xfc, 0x7d, 0x35, 
    -	0x44, 0x07, 0x02, 0x01, 0xdb, 0x06, 0x05, 0x02, 0x09, 0xb7, 0x83, 0x01, 
    -	0x88, 0x50, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xfe, 0x60, 0x04, 0x51, 
    -	0x04, 0x3a, 0x02, 0x06, 0x00, 0x77, 0x00, 0x00, 0xff, 0xff, 0x00, 0x10, 
    -	0x00, 0x00, 0x04, 0x07, 0x04, 0x3a, 0x02, 0x06, 0x00, 0x59, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x67, 0xfe, 0x40, 0x04, 0x36, 0x05, 0xb0, 0x00, 0x2e, 
    -	0x00, 0x60, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x11, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x26, 0x0a, 0x09, 
    -	0x11, 0x12, 0x39, 0xb0, 0x01, 0x10, 0xb0, 0x2c, 0xd0, 0xb0, 0x2d, 0xd0, 
    -	0x30, 0x31, 0x01, 0x15, 0x21, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 
    -	0x15, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 0x16, 0x15, 
    -	0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x22, 
    -	0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x23, 
    -	0x35, 0x03, 0xd5, 0xfe, 0xe8, 0x6d, 0x6b, 0x6b, 0x72, 0x97, 0x8f, 0x9d, 
    -	0xa3, 0x7e, 0x6e, 0x79, 0x99, 0xae, 0x02, 0xa9, 0x9d, 0x52, 0x3b, 0x55, 
    -	0x3f, 0x41, 0x46, 0xea, 0xfe, 0xeb, 0x96, 0x91, 0x63, 0x6a, 0x49, 0x45, 
    -	0xd5, 0x05, 0xb0, 0xe8, 0x03, 0x56, 0x48, 0x4b, 0x57, 0xe8, 0x81, 0x7c, 
    -	0x5c, 0x71, 0x8c, 0x89, 0x8d, 0xc0, 0x31, 0xac, 0x1a, 0x49, 0x3c, 0x2d, 
    -	0x33, 0xe9, 0xd0, 0x85, 0xb8, 0x2f, 0x22, 0x77, 0x52, 0x45, 0x67, 0x21, 
    -	0xe8, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x40, 
    -	0x04, 0x4e, 0x02, 0x06, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 
    -	0xff, 0xeb, 0x04, 0xe1, 0x04, 0x3a, 0x00, 0x17, 0x00, 0x51, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x16, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x05, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x10, 0xd0, 0xb0, 0x14, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 
    -	0x23, 0x11, 0x21, 0x11, 0x23, 0x35, 0x21, 0x04, 0xc7, 0xc1, 0x2c, 0x2f, 
    -	0x1d, 0x22, 0x23, 0x1e, 0x2f, 0x55, 0x37, 0x9d, 0xa7, 0xd9, 0xfe, 0xdd, 
    -	0x98, 0x04, 0x79, 0x03, 0x64, 0xfd, 0xdd, 0x40, 0x33, 0x07, 0x0b, 0xd2, 
    -	0x14, 0x0f, 0xab, 0xaf, 0x02, 0x1f, 0xfc, 0x9c, 0x03, 0x64, 0xd6, 0x00, 
    -	0x00, 0x02, 0x00, 0x70, 0xfe, 0x60, 0x04, 0x3e, 0x04, 0x4e, 0x00, 0x0f, 
    -	0x00, 0x1f, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 
    -	0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x11, 
    -	0x21, 0x11, 0x34, 0x00, 0x33, 0x32, 0x12, 0x11, 0x21, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x07, 0x33, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x04, 0x3e, 0xdc, 0xc7, 0x55, 0x83, 0x30, 0xfe, 0xdd, 0x01, 0x0b, 0xe4, 
    -	0xe5, 0xfa, 0xfe, 0xdd, 0x62, 0x69, 0x5f, 0x5e, 0x01, 0x01, 0x1b, 0x5d, 
    -	0x44, 0x6a, 0x62, 0x01, 0xff, 0xf0, 0xfe, 0xdc, 0x3d, 0x3b, 0xfd, 0xfd, 
    -	0x03, 0xe1, 0xeb, 0x01, 0x22, 0xfe, 0xc7, 0xfe, 0xff, 0x9a, 0xbf, 0xb8, 
    -	0x8b, 0x01, 0xff, 0x00, 0x2e, 0x30, 0xa6, 0x8e, 0x00, 0x01, 0x00, 0x3e, 
    -	0xfe, 0x48, 0x03, 0xec, 0x04, 0x4e, 0x00, 0x22, 0x00, 0x48, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 
    -	0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 
    -	0x16, 0x17, 0x16, 0x16, 0x15, 0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 
    -	0x34, 0x26, 0x27, 0x26, 0x02, 0x35, 0x35, 0x34, 0x00, 0x02, 0x32, 0xc8, 
    -	0xf2, 0x04, 0x02, 0xfe, 0xf6, 0x57, 0x53, 0x70, 0x60, 0x82, 0x91, 0xbd, 
    -	0xad, 0x02, 0xb2, 0x94, 0x61, 0x41, 0x4e, 0x4b, 0x4f, 0xf9, 0xf4, 0x01, 
    -	0x07, 0x04, 0x4e, 0xdf, 0xbf, 0x06, 0x55, 0x6e, 0xb6, 0x8c, 0x1e, 0x88, 
    -	0x94, 0x15, 0x1e, 0x80, 0x86, 0x7e, 0xc8, 0x2a, 0xc1, 0x1d, 0x44, 0x36, 
    -	0x28, 0x2d, 0x0e, 0x24, 0x01, 0x08, 0xde, 0x1e, 0xed, 0x01, 0x36, 0x00, 
    -	0x00, 0x02, 0x00, 0x41, 0xff, 0xeb, 0x04, 0x7d, 0x04, 0x3a, 0x00, 0x10, 
    -	0x00, 0x1e, 0x00, 0x41, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x00, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 
    -	0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x00, 0x10, 0xb0, 0x1b, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x16, 
    -	0x16, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 
    -	0x33, 0x21, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x04, 0x7d, 0xfe, 0xfe, 0x50, 0x64, 0xfe, 0xf8, 
    -	0xe6, 0xf1, 0xfe, 0xf1, 0x01, 0x0f, 0xef, 0x02, 0x3e, 0xfc, 0xe8, 0x68, 
    -	0x74, 0x69, 0x62, 0x63, 0x6a, 0x71, 0x69, 0x03, 0x58, 0x42, 0xb5, 0x63, 
    -	0x15, 0xdd, 0xfe, 0xdf, 0x01, 0x33, 0xf4, 0x15, 0xea, 0x01, 0x29, 0xfd, 
    -	0xd8, 0x94, 0xb3, 0xb4, 0x93, 0x15, 0x87, 0xaa, 0xab, 0x86, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x33, 0x00, 0x00, 0x04, 0x07, 0x04, 0x3a, 0x00, 0x07, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x05, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x04, 0x07, 0xfe, 
    -	0xa5, 0xfe, 0xdc, 0xfe, 0xab, 0x03, 0xd4, 0x03, 0x5b, 0xfc, 0xa5, 0x03, 
    -	0x5b, 0xdf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x71, 0xff, 0xeb, 0x04, 0x39, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb1, 0x04, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x26, 0x02, 0x27, 0x21, 
    -	0x16, 0x12, 0x15, 0x10, 0x02, 0x23, 0x22, 0x24, 0x35, 0x11, 0x01, 0x94, 
    -	0x65, 0x54, 0x69, 0x60, 0x03, 0x34, 0x2e, 0x01, 0x16, 0x32, 0x40, 0xe3, 
    -	0xff, 0xe5, 0xfe, 0xff, 0x04, 0x3a, 0xfd, 0x9c, 0x8e, 0x7d, 0xd3, 0x98, 
    -	0x7e, 0x01, 0x02, 0x84, 0x69, 0xfe, 0xfd, 0x98, 0xfe, 0xf4, 0xfe, 0xc1, 
    -	0xf4, 0xf9, 0x02, 0x62, 0x00, 0x02, 0x00, 0x35, 0xfe, 0x22, 0x05, 0xb7, 
    -	0x04, 0x3a, 0x00, 0x18, 0x00, 0x21, 0x00, 0x54, 0x00, 0xb0, 0x07, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x16, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x16, 0x10, 0xb0, 0x1e, 0xd0, 0x30, 0x31, 0x01, 0x20, 0x00, 0x15, 
    -	0x14, 0x00, 0x05, 0x11, 0x21, 0x11, 0x24, 0x00, 0x35, 0x34, 0x36, 0x37, 
    -	0x21, 0x06, 0x06, 0x07, 0x14, 0x16, 0x17, 0x37, 0x11, 0x01, 0x26, 0x26, 
    -	0x07, 0x07, 0x11, 0x17, 0x36, 0x36, 0x03, 0x85, 0x01, 0x0a, 0x01, 0x28, 
    -	0xfe, 0xf2, 0xfe, 0xdc, 0xfe, 0xdd, 0xfe, 0xdd, 0xfe, 0xf6, 0x47, 0x3a, 
    -	0x01, 0x0f, 0x32, 0x39, 0x01, 0x79, 0x8a, 0x06, 0x02, 0x31, 0x02, 0x8a, 
    -	0x7c, 0x06, 0x06, 0x8b, 0x7d, 0x04, 0x3a, 0xfe, 0xb7, 0xd8, 0xdb, 0xfe, 
    -	0xd1, 0x1d, 0xfe, 0x30, 0x01, 0xd2, 0x23, 0x01, 0x4b, 0xee, 0x90, 0xf6, 
    -	0x64, 0x83, 0xf2, 0x75, 0x91, 0xc1, 0x1b, 0x02, 0x03, 0x55, 0xfd, 0xdf, 
    -	0x8a, 0xb3, 0x05, 0x02, 0xfd, 0x90, 0x02, 0x16, 0xa8, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x17, 0xfe, 0x4e, 0x04, 0x40, 0x04, 0x4a, 0x00, 0x25, 
    -	0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 
    -	0x1b, 0xb1, 0x1a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 
    -	0x2f, 0x1b, 0xb1, 0x13, 0x0c, 0x3e, 0x59, 0xb2, 0x18, 0x1a, 0x06, 0x11, 
    -	0x12, 0x39, 0xb0, 0x18, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x13, 0x10, 0xb1, 
    -	0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x1f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x13, 0x32, 0x16, 0x1f, 0x02, 0x13, 0x21, 0x01, 
    -	0x13, 0x16, 0x16, 0x17, 0x16, 0x16, 0x33, 0x07, 0x06, 0x06, 0x27, 0x26, 
    -	0x26, 0x2f, 0x02, 0x03, 0x21, 0x01, 0x03, 0x26, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x27, 0x36, 0x36, 0xb5, 0x97, 0x99, 0x2b, 0x3e, 0x06, 0xc4, 0x01, 
    -	0x28, 0xfe, 0x9a, 0xb8, 0x14, 0x3a, 0x28, 0x0b, 0x19, 0x10, 0x0b, 0x1f, 
    -	0x4b, 0x22, 0x6f, 0x87, 0x32, 0x3b, 0x06, 0xdb, 0xfe, 0xdf, 0x01, 0x76, 
    -	0xaa, 0x17, 0x5c, 0x3a, 0x0d, 0x2a, 0x0b, 0x06, 0x2c, 0x48, 0x04, 0x4a, 
    -	0x9e, 0x73, 0x91, 0x01, 0x01, 0x93, 0xfd, 0x27, 0xfe, 0x56, 0x34, 0x41, 
    -	0x08, 0x02, 0x01, 0xde, 0x06, 0x05, 0x03, 0x0a, 0xb4, 0x86, 0x88, 0x01, 
    -	0xfe, 0x42, 0x03, 0x02, 0x01, 0x8a, 0x39, 0x41, 0x04, 0x02, 0xd4, 0x0b, 
    -	0x0b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0xfe, 0x22, 0x05, 0xb4, 
    -	0x04, 0x3a, 0x00, 0x1d, 0x00, 0x4f, 0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0f, 0xd0, 0x30, 
    -	0x31, 0x01, 0x11, 0x17, 0x36, 0x36, 0x35, 0x26, 0x26, 0x27, 0x21, 0x16, 
    -	0x16, 0x15, 0x14, 0x00, 0x05, 0x11, 0x21, 0x11, 0x24, 0x00, 0x11, 0x11, 
    -	0x21, 0x11, 0x14, 0x16, 0x17, 0x37, 0x11, 0x03, 0x83, 0x06, 0x89, 0x7f, 
    -	0x03, 0x39, 0x31, 0x01, 0x0f, 0x39, 0x48, 0xfe, 0xf4, 0xfe, 0xdb, 0xfe, 
    -	0xdc, 0xfe, 0xff, 0xfe, 0xe6, 0x01, 0x24, 0x81, 0x70, 0x06, 0x04, 0x3a, 
    -	0xfc, 0xaa, 0x02, 0x1b, 0xc3, 0x90, 0x76, 0xf2, 0x82, 0x63, 0xf6, 0x91, 
    -	0xf1, 0xfe, 0xb4, 0x20, 0xfe, 0x2f, 0x01, 0xd3, 0x1f, 0x01, 0x29, 0x01, 
    -	0x11, 0x01, 0xec, 0xfe, 0x11, 0xa1, 0xaf, 0x16, 0x01, 0x03, 0x54, 0x00, 
    -	0x00, 0x01, 0x00, 0x50, 0xff, 0xeb, 0x06, 0x8f, 0x04, 0x3a, 0x00, 0x28, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 
    -	0x1b, 0xb1, 0x1c, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 
    -	0x2f, 0x1b, 0xb1, 0x22, 0x0a, 0x3e, 0x59, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0xd0, 0x30, 0x31, 
    -	0x01, 0x06, 0x02, 0x07, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 
    -	0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x26, 0x02, 0x27, 0x21, 0x16, 
    -	0x12, 0x15, 0x10, 0x02, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 
    -	0x02, 0x11, 0x34, 0x12, 0x37, 0x02, 0x00, 0x40, 0x49, 0x04, 0x52, 0x5e, 
    -	0x50, 0x63, 0x01, 0x34, 0x61, 0x51, 0x5d, 0x53, 0x04, 0x49, 0x40, 0x01, 
    -	0x16, 0x45, 0x55, 0xd6, 0xf2, 0x76, 0xaf, 0x32, 0x33, 0xb0, 0x74, 0xf3, 
    -	0xd6, 0x54, 0x46, 0x04, 0x3a, 0x82, 0xfe, 0xfd, 0x7f, 0x9e, 0xcd, 0x89, 
    -	0x96, 0x01, 0x5a, 0xfe, 0xa6, 0x96, 0x89, 0xcc, 0x9f, 0x80, 0x01, 0x02, 
    -	0x82, 0x67, 0xfe, 0xfc, 0x99, 0xfe, 0xf4, 0xfe, 0xc1, 0x6e, 0x6a, 0x6a, 
    -	0x6e, 0x01, 0x3f, 0x01, 0x0c, 0x99, 0x01, 0x03, 0x68, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xac, 0xff, 0xeb, 0x02, 0xaa, 0x05, 0xb5, 0x02, 0x26, 
    -	0x01, 0x93, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0xff, 0x10, 0x00, 0x05, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x14, 0x03, 0x0f, 0x04, 0x2b, 0xb0, 0x14, 0x10, 
    -	0xb0, 0x11, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x04, 0x39, 0x05, 0xb6, 0x02, 0x26, 0x01, 0x9f, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x3a, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x1a, 0x03, 
    -	0x00, 0x04, 0x2b, 0xb0, 0x1a, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x40, 0x06, 0x2a, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x07, 0x01, 0x61, 0x00, 0xe2, 0xff, 0xd2, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1f, 0x07, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x04, 0x39, 0x06, 0x15, 0x02, 0x26, 
    -	0x01, 0x9f, 0x00, 0x00, 0x01, 0x07, 0x01, 0x61, 0x00, 0xf6, 0xff, 0xbd, 
    -	0x00, 0x09, 0x00, 0xb3, 0x19, 0x07, 0x00, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x50, 0xff, 0xeb, 0x06, 0x8f, 0x06, 0x15, 0x02, 0x26, 
    -	0x01, 0xa3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x61, 0x02, 0x10, 0xff, 0xbd, 
    -	0x00, 0x09, 0x00, 0xb3, 0x2c, 0x07, 0x00, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0x00, 0x02, 0x00, 0x7a, 0xff, 0xeb, 0x05, 0x18, 0x05, 0xc5, 0x00, 0x19, 
    -	0x00, 0x25, 0x00, 0x4a, 0x00, 0xb0, 0x17, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb1, 0x14, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 
    -	0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x17, 0x10, 0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 
    -	0x16, 0x15, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x35, 0x11, 0x25, 0x11, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x26, 0x24, 0x01, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x17, 0x37, 0x02, 0x22, 0xd7, 0xac, 
    -	0xab, 0xc8, 0xfe, 0xbe, 0xfe, 0xf9, 0xfe, 0xf6, 0xfe, 0xb5, 0x01, 0x34, 
    -	0x9b, 0x86, 0x7f, 0x93, 0x04, 0xc2, 0xfe, 0xff, 0x01, 0xc3, 0x29, 0x27, 
    -	0x2b, 0x33, 0x5a, 0x4e, 0x06, 0x03, 0xc8, 0x67, 0xb9, 0xdd, 0xd9, 0xbd, 
    -	0xfd, 0xfd, 0xfe, 0xfb, 0xfe, 0xc4, 0x01, 0x48, 0xf9, 0x02, 0xb8, 0x02, 
    -	0xfd, 0x46, 0x98, 0xbf, 0xb0, 0x9c, 0x0e, 0xec, 0x01, 0x2f, 0x41, 0x42, 
    -	0x43, 0x40, 0x84, 0x53, 0x72, 0x08, 0x02, 0x00, 0x00, 0x01, 0xff, 0xf3, 
    -	0x00, 0x00, 0x04, 0xbf, 0x05, 0xc8, 0x00, 0x23, 0x00, 0x4f, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0xb2, 0x21, 0x10, 0x1c, 
    -	0x11, 0x12, 0x39, 0xb0, 0x21, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x21, 0x10, 
    -	0xb0, 0x11, 0xd0, 0x30, 0x31, 0x01, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 
    -	0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x01, 0x11, 0x21, 0x11, 0x01, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 
    -	0x17, 0x13, 0x17, 0x33, 0x37, 0x03, 0x02, 0x3d, 0x97, 0x82, 0x20, 0x32, 
    -	0x15, 0x18, 0x04, 0x24, 0x0b, 0x25, 0x38, 0x12, 0xfe, 0xe2, 0xfe, 0xdd, 
    -	0xfe, 0xe8, 0x14, 0x38, 0x24, 0x0c, 0x23, 0x03, 0x17, 0x13, 0x32, 0x21, 
    -	0x83, 0x96, 0x3c, 0x95, 0x12, 0x06, 0x13, 0x04, 0xb3, 0x99, 0x7c, 0x08, 
    -	0x0b, 0xde, 0x01, 0x04, 0x34, 0x2b, 0xfd, 0x60, 0xfe, 0x23, 0x01, 0xe9, 
    -	0x02, 0x94, 0x2b, 0x34, 0x04, 0x01, 0xde, 0x0b, 0x08, 0x76, 0x98, 0xfe, 
    -	0x7f, 0x5a, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x13, 0xff, 0xeb, 0x06, 0x98, 
    -	0x04, 0x3a, 0x00, 0x16, 0x00, 0x2c, 0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x15, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x1b, 0xd0, 0xb0, 0x01, 0xd0, 0xb0, 0x0d, 0x10, 
    -	0xb1, 0x21, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x2a, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x16, 0x16, 0x15, 0x10, 0x02, 
    -	0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x11, 0x34, 0x36, 
    -	0x37, 0x23, 0x35, 0x21, 0x01, 0x26, 0x26, 0x27, 0x21, 0x06, 0x06, 0x07, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x06, 0x98, 0x7f, 0x18, 0x1c, 0xc8, 0xe2, 0x74, 0xad, 0x31, 
    -	0x33, 0xad, 0x72, 0xe3, 0xc7, 0x1b, 0x19, 0x76, 0x06, 0x85, 0xfe, 0x92, 
    -	0x03, 0x1d, 0x18, 0xfc, 0xbe, 0x1a, 0x1c, 0x02, 0x43, 0x4e, 0x4f, 0x60, 
    -	0x01, 0x33, 0x5f, 0x4e, 0x4d, 0x45, 0x03, 0x71, 0x48, 0x9d, 0x56, 0xfe, 
    -	0xf4, 0xfe, 0xc1, 0x6e, 0x6a, 0x6a, 0x6e, 0x01, 0x3f, 0x01, 0x0c, 0x56, 
    -	0x9d, 0x48, 0xc9, 0xfd, 0xfc, 0x4c, 0x9e, 0x51, 0x4f, 0x9e, 0x4e, 0x9f, 
    -	0xcc, 0x89, 0x96, 0xcd, 0xcd, 0x96, 0x89, 0xcc, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0x6d, 0x07, 0x22, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xa7, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0d, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0x6d, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x41, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x11, 0x08, 0x06, 0x04, 0x2b, 0xb0, 0x11, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x3d, 
    -	0x07, 0x22, 0x02, 0x26, 0x01, 0x6e, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x63, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x0a, 0x07, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x6e, 0xff, 0xec, 0x04, 0xec, 
    -	0x05, 0xc6, 0x00, 0x21, 0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x17, 0x10, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 
    -	0x00, 0x21, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x07, 
    -	0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x21, 0x15, 0x21, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0xe4, 0x02, 0x04, 0xfe, 
    -	0xd9, 0xfe, 0xfa, 0xfe, 0xf9, 0xfe, 0xb8, 0x01, 0x40, 0x01, 0x00, 0x01, 
    -	0x0e, 0x01, 0x30, 0x04, 0x02, 0xfe, 0xe4, 0x8a, 0x92, 0x83, 0x9a, 0x01, 
    -	0xb5, 0xfe, 0x4b, 0xa2, 0x8a, 0x89, 0x83, 0x01, 0xf0, 0x06, 0xeb, 0xfe, 
    -	0xed, 0x01, 0x52, 0x01, 0x0a, 0x01, 0x21, 0x01, 0x09, 0x01, 0x54, 0xfe, 
    -	0xeb, 0xef, 0x06, 0x90, 0x99, 0xd5, 0xa5, 0x1f, 0xe2, 0x22, 0xa7, 0xd5, 
    -	0x93, 0x91, 0x00, 0x00, 0x00, 0x01, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xbe, 
    -	0x05, 0xc5, 0x00, 0x27, 0x00, 0x5d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0a, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 
    -	0x09, 0x11, 0x12, 0x39, 0xb0, 0x17, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x0d, 
    -	0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb0, 0x21, 0xd0, 0xb0, 0x1d, 
    -	0x10, 0xb1, 0x25, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x24, 0x24, 0x35, 0x34, 0x24, 
    -	0x33, 0x32, 0x04, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 
    -	0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x9a, 0x77, 0x95, 0xfe, 
    -	0xfc, 0xfe, 0xf6, 0x01, 0x31, 0xed, 0xf0, 0x01, 0x2e, 0x05, 0x02, 0xfe, 
    -	0xe5, 0x87, 0x7a, 0x75, 0x80, 0x89, 0xa8, 0xf1, 0xf8, 0xfe, 0xd9, 0xf2, 
    -	0xee, 0xfe, 0x9e, 0x05, 0x02, 0x01, 0x1c, 0x9f, 0x8e, 0x77, 0x7e, 0x01, 
    -	0x7c, 0x54, 0x66, 0x2d, 0x4b, 0xce, 0xb3, 0xb3, 0xe3, 0xff, 0xbb, 0x06, 
    -	0x65, 0x7d, 0x68, 0x51, 0x4a, 0x5f, 0x35, 0x43, 0xdc, 0xb3, 0xbb, 0xd8, 
    -	0xf5, 0xdd, 0x06, 0x82, 0x79, 0x62, 0x00, 0x00, 0xff, 0xff, 0x00, 0x9a, 
    -	0x00, 0x00, 0x01, 0xbe, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x2c, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xaf, 0x00, 0x00, 0x02, 0xad, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0xff, 0x13, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x08, 0x08, 0x02, 0x04, 0x2b, 0xb0, 0x08, 0x10, 
    -	0xb0, 0x05, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x3a, 
    -	0xff, 0xeb, 0x04, 0x0d, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x2d, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x2a, 0x00, 0x00, 0x08, 0x3b, 0x05, 0xb0, 0x00, 0x16, 
    -	0x00, 0x1f, 0x00, 0x69, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x17, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x11, 0x33, 0x32, 0x00, 0x15, 0x14, 0x00, 0x23, 0x21, 0x11, 
    -	0x21, 0x11, 0x10, 0x00, 0x21, 0x23, 0x35, 0x33, 0x32, 0x36, 0x11, 0x11, 
    -	0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x05, 0x1f, 0xfa, 
    -	0xfa, 0x01, 0x28, 0xfe, 0xd8, 0xfa, 0xfd, 0xe2, 0xfe, 0x7e, 0xfe, 0xf1, 
    -	0xfe, 0xeb, 0x2b, 0x28, 0x96, 0x6d, 0x03, 0xca, 0xfa, 0x7a, 0x85, 0x85, 
    -	0x7a, 0x05, 0xb0, 0xfe, 0x03, 0xfe, 0xf7, 0xd0, 0xd2, 0xfe, 0xf8, 0x04, 
    -	0xcf, 0xfe, 0x4a, 0xfe, 0x5b, 0xfe, 0x8c, 0xe0, 0xf7, 0x01, 0x42, 0x02, 
    -	0x97, 0xfd, 0x22, 0xfe, 0x0e, 0x92, 0x6a, 0x66, 0x90, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x88, 0x00, 0x00, 0x08, 0x3e, 0x05, 0xb0, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x74, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x16, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x14, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x21, 0x11, 0x33, 0x32, 0x00, 0x15, 0x14, 0x00, 0x23, 
    -	0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x01, 0xac, 0x02, 0x51, 0x01, 0x24, 0xfa, 0xfb, 
    -	0x01, 0x28, 0xfe, 0xd7, 0xfa, 0xfd, 0xe2, 0xfd, 0xaf, 0xfe, 0xdc, 0x01, 
    -	0x24, 0x03, 0x75, 0xfa, 0x7b, 0x84, 0x84, 0x7b, 0x03, 0x49, 0x02, 0x67, 
    -	0xfd, 0xf1, 0xfe, 0xfe, 0xcd, 0xce, 0xfe, 0xfc, 0x02, 0x68, 0xfd, 0x98, 
    -	0x05, 0xb0, 0xfd, 0x10, 0xfe, 0x24, 0x8a, 0x66, 0x63, 0x89, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x39, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x2e, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x5a, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x11, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x7e, 0x00, 0x00, 0x05, 0x17, 0x07, 0x22, 0x02, 0x26, 
    -	0x01, 0xc0, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x01, 0x16, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x24, 0xff, 0xeb, 0x04, 0xee, 0x07, 0x68, 0x02, 0x26, 
    -	0x03, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xd3, 0x01, 0xb8, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1a, 0x08, 0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0x00, 0x01, 0x00, 0x7b, 0xfe, 0x98, 0x05, 0x14, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x46, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb1, 0x02, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x7b, 0x01, 0x23, 0x02, 0x52, 0x01, 0x24, 0xfe, 0x52, 0xfe, 0xdc, 0xfe, 
    -	0x39, 0x05, 0xb0, 0xfb, 0x30, 0x04, 0xd0, 0xfa, 0x50, 0xfe, 0x98, 0x01, 
    -	0x68, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x77, 
    -	0x00, 0x00, 0x04, 0xc5, 0x05, 0xb0, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x4d, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 
    -	0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x00, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x33, 0x32, 0x00, 0x15, 
    -	0x14, 0x00, 0x23, 0x21, 0x11, 0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x04, 0x2c, 0xfd, 0x7c, 0xfa, 0xfb, 0x01, 0x28, 0xfe, 
    -	0xd7, 0xfa, 0xfd, 0xd5, 0x03, 0xb5, 0xfd, 0x7c, 0xfa, 0x7b, 0x85, 0x85, 
    -	0x7b, 0x04, 0xcf, 0xfe, 0xe1, 0xfe, 0xfa, 0xd0, 0xd2, 0xfe, 0xf8, 0x05, 
    -	0xb0, 0xfd, 0x1f, 0xfe, 0x11, 0x92, 0x6a, 0x66, 0x8d, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xca, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x25, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x3d, 
    -	0x05, 0xb0, 0x02, 0x06, 0x01, 0x6e, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x04, 0x6d, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x28, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x57, 0xff, 0xeb, 0x04, 0xe2, 0x05, 0xc5, 0x00, 0x2a, 
    -	0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 
    -	0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 
    -	0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb1, 0x28, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x14, 0x28, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 0x27, 
    -	0x26, 0x24, 0x33, 0x20, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x14, 0x04, 0x21, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0x9b, 0x89, 0x84, 0x92, 
    -	0x8b, 0x6d, 0x90, 0xfe, 0xe5, 0x01, 0x06, 0x01, 0x3a, 0xe5, 0x01, 0x0a, 
    -	0x01, 0x36, 0x82, 0x72, 0x81, 0x8a, 0xfe, 0xb4, 0xfe, 0xf5, 0xe6, 0xfe, 
    -	0xb2, 0x06, 0x01, 0x01, 0x1c, 0x99, 0x78, 0x8e, 0xa5, 0x93, 0x90, 0xc5, 
    -	0x03, 0x54, 0x6c, 0x61, 0x54, 0x6f, 0x69, 0x52, 0x06, 0xb5, 0xe1, 0xd8, 
    -	0xc8, 0x64, 0xa6, 0x2f, 0x2b, 0xac, 0x7d, 0xc9, 0xe4, 0xd6, 0xcd, 0x06, 
    -	0x55, 0x74, 0x75, 0x5b, 0x73, 0x6b, 0xdb, 0x00, 0x00, 0x01, 0x00, 0x7e, 
    -	0x00, 0x00, 0x05, 0x17, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0x43, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x06, 0x10, 
    -	0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x27, 0x01, 
    -	0x21, 0x11, 0x21, 0x11, 0x17, 0x03, 0xf2, 0x01, 0x25, 0xfe, 0xdb, 0x06, 
    -	0xfd, 0xb5, 0xfe, 0xdd, 0x01, 0x23, 0x06, 0x05, 0xb0, 0xfa, 0x50, 0x03, 
    -	0xcb, 0x01, 0xfc, 0x34, 0x05, 0xb0, 0xfc, 0x36, 0x01, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x7e, 0x00, 0x00, 0x05, 0x17, 0x07, 0x68, 0x02, 0x26, 
    -	0x01, 0xc0, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x01, 0x07, 0x01, 0xb8, 
    -	0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x39, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2a, 0x00, 0x00, 0x05, 0x1f, 
    -	0x05, 0xb0, 0x00, 0x0f, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x10, 0x02, 0x21, 0x23, 0x35, 0x33, 0x32, 0x36, 0x11, 0x11, 0x05, 0x1f, 
    -	0xfe, 0xdc, 0xfe, 0x62, 0xff, 0xfe, 0xf7, 0x2b, 0x28, 0x89, 0x5e, 0x05, 
    -	0xb0, 0xfa, 0x50, 0x04, 0xcf, 0xfe, 0x4a, 0xfe, 0x5a, 0xfe, 0x8d, 0xe0, 
    -	0xf4, 0x01, 0x45, 0x02, 0x97, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x06, 0x72, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x30, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x21, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5c, 0xff, 0xeb, 0x05, 0x1b, 
    -	0x05, 0xc5, 0x02, 0x06, 0x00, 0x32, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 
    -	0x00, 0x00, 0x05, 0x22, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x7b, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe7, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x33, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5d, 0xff, 0xeb, 0x04, 0xdb, 
    -	0x05, 0xc5, 0x02, 0x06, 0x00, 0x26, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1c, 
    -	0x00, 0x00, 0x04, 0x76, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x37, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x96, 0xfe, 0x99, 0x05, 0xe1, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x3f, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x07, 0xd0, 0x30, 0x31, 0x13, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x96, 0x01, 0x24, 
    -	0x02, 0x52, 0x01, 0x24, 0xb1, 0xfe, 0xdc, 0xfb, 0xd9, 0x05, 0xb0, 0xfb, 
    -	0x31, 0x04, 0xcf, 0xfb, 0x31, 0xfd, 0xb8, 0x01, 0x67, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x8b, 0x00, 0x00, 0x05, 0x08, 0x05, 0xb0, 0x00, 0x13, 
    -	0x00, 0x3c, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x06, 0x06, 0x23, 0x20, 0x24, 0x35, 
    -	0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x05, 0x08, 
    -	0xfe, 0xdb, 0x42, 0xa4, 0x41, 0xfe, 0xf4, 0xfe, 0xdb, 0x01, 0x24, 0x7f, 
    -	0x8e, 0x3e, 0xa7, 0x42, 0x05, 0xb0, 0xfa, 0x50, 0x02, 0x31, 0x10, 0x11, 
    -	0xe8, 0xf3, 0x01, 0xc5, 0xfe, 0x3b, 0x8e, 0x6c, 0x11, 0x10, 0x02, 0x9e, 
    -	0x00, 0x03, 0x00, 0x95, 0x00, 0x00, 0x06, 0x7d, 0x05, 0xb0, 0x00, 0x0a, 
    -	0x00, 0x0e, 0x00, 0x17, 0x00, 0x58, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x10, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 
    -	0x32, 0x00, 0x15, 0x14, 0x00, 0x23, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 
    -	0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0xb9, 
    -	0xfa, 0xfb, 0x01, 0x28, 0xfe, 0xd7, 0xfa, 0xfd, 0xe2, 0x01, 0x24, 0x04, 
    -	0xc4, 0xfe, 0xdc, 0x01, 0x24, 0xfb, 0x3c, 0xfa, 0x7b, 0x85, 0x85, 0x7b, 
    -	0x03, 0xb0, 0xfe, 0xfa, 0xd0, 0xd2, 0xfe, 0xf8, 0x05, 0xb0, 0xfa, 0x50, 
    -	0x05, 0xb0, 0xfd, 0x1f, 0xfe, 0x11, 0x92, 0x6a, 0x66, 0x8d, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x56, 0xff, 0xec, 0x04, 0xa7, 0x05, 0xc6, 0x00, 0x21, 
    -	0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 
    -	0xb1, 0x19, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x19, 0x10, 0xb1, 0x17, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x1e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x13, 0x27, 0x26, 0x00, 0x21, 0x32, 0x00, 0x11, 0x11, 0x10, 
    -	0x00, 0x23, 0x20, 0x00, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x21, 0x35, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x5e, 0x02, 0x05, 0x01, 0x1d, 0x01, 0x01, 0xfd, 0x01, 0x35, 0xfe, 0xcb, 
    -	0xfd, 0xfe, 0xfd, 0xfe, 0xe4, 0x05, 0x02, 0x01, 0x1b, 0x79, 0x84, 0x81, 
    -	0x8c, 0xfe, 0x41, 0x01, 0xbf, 0x8c, 0x81, 0x83, 0x78, 0x03, 0xce, 0x06, 
    -	0xe8, 0x01, 0x0a, 0xfe, 0xae, 0xfe, 0xf5, 0xfe, 0xdf, 0xfe, 0xf4, 0xfe, 
    -	0xb0, 0x01, 0x01, 0xee, 0x06, 0x8e, 0x87, 0xd1, 0xa9, 0x2b, 0xe1, 0x17, 
    -	0xa8, 0xd4, 0x89, 0x8e, 0x00, 0x02, 0x00, 0x9a, 0xff, 0xeb, 0x06, 0xfb, 
    -	0x05, 0xc5, 0x00, 0x15, 0x00, 0x23, 0x00, 0x71, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x16, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 0xb1, 0x19, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x20, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x35, 0x23, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x33, 0x35, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x25, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x06, 0xfb, 0xfe, 0xad, 0xfe, 0xf1, 0xfe, 0xf3, 0xfe, 0xb0, 0x7e, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x7e, 0x01, 0x4f, 0x01, 0x0d, 0x01, 0x0f, 0x01, 
    -	0x54, 0xfe, 0xdc, 0xaa, 0x95, 0x95, 0xa4, 0xa6, 0x94, 0x96, 0xa8, 0x02, 
    -	0x55, 0xfe, 0xf4, 0xfe, 0xa2, 0x01, 0x5e, 0x01, 0x0c, 0x07, 0xfd, 0xa4, 
    -	0x05, 0xb0, 0xfd, 0x8d, 0x1e, 0x01, 0x0b, 0x01, 0x5f, 0xfe, 0xa1, 0xfe, 
    -	0xf5, 0x02, 0xaa, 0xda, 0xd9, 0xab, 0xfe, 0xf8, 0xad, 0xda, 0xda, 0xad, 
    -	0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 0x04, 0x4e, 0x02, 0x06, 
    -	0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x00, 0x04, 0x44, 
    -	0x04, 0x3a, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x20, 0x00, 0x6a, 0x00, 0x7c, 
    -	0xb0, 0x18, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0xe0, 0x18, 0x01, 0x5d, 0xb2, 
    -	0x70, 0x18, 0x01, 0x71, 0xb2, 0x40, 0x18, 0x01, 0x5d, 0xb2, 0x10, 0x18, 
    -	0x01, 0x5d, 0xb0, 0x18, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x08, 0x0f, 0x18, 0x11, 0x12, 0x39, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x1f, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x03, 
    -	0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x27, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x23, 0x7f, 0x01, 0xc4, 0xd8, 0xf1, 0x65, 0x5d, 
    -	0x7b, 0x7f, 0xe5, 0xd6, 0xe6, 0xe6, 0x4d, 0x4a, 0x47, 0x50, 0xe6, 0xa8, 
    -	0x51, 0x4d, 0x52, 0x54, 0xa0, 0x04, 0x3a, 0x98, 0x96, 0x4c, 0x76, 0x1f, 
    -	0x18, 0x85, 0x59, 0x99, 0x9c, 0x01, 0xc3, 0xe5, 0x39, 0x38, 0x38, 0x3c, 
    -	0xbe, 0x34, 0x34, 0x3b, 0x37, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6b, 
    -	0x00, 0x00, 0x03, 0x4e, 0x04, 0x3a, 0x00, 0x05, 0x00, 0x2c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x03, 0x4e, 0xfe, 0x41, 0xfe, 0xdc, 0x02, 0xe3, 0x03, 0x58, 0xfc, 0xa8, 
    -	0x04, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x04, 0x4f, 0x02, 0x06, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6b, 
    -	0x00, 0x00, 0x04, 0x19, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x43, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x06, 0x10, 
    -	0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x27, 0x01, 
    -	0x21, 0x11, 0x21, 0x11, 0x17, 0x02, 0xf6, 0x01, 0x23, 0xfe, 0xdd, 0x06, 
    -	0xfe, 0x9f, 0xfe, 0xdc, 0x01, 0x24, 0x06, 0x04, 0x3a, 0xfb, 0xc6, 0x02, 
    -	0x94, 0x01, 0xfd, 0x6b, 0x04, 0x3a, 0xfd, 0x6e, 0x01, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x19, 0x06, 0x11, 0x02, 0x26, 
    -	0x01, 0xd5, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x7e, 0x61, 0x00, 0x09, 
    -	0x00, 0xb3, 0x10, 0x09, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0x85, 0x04, 0x3a, 0x00, 0x0c, 
    -	0x00, 0x5a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x0a, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x33, 0x13, 0x21, 0x01, 0x01, 0x21, 0x02, 0x15, 0x70, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x66, 0xe9, 0x01, 0x71, 0xfe, 0x9f, 0x01, 0x81, 
    -	0xfe, 0x7b, 0x01, 0x95, 0xfe, 0x6b, 0x04, 0x3a, 0xfe, 0x64, 0x01, 0x9c, 
    -	0xfe, 0x02, 0xfd, 0xc4, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x19, 
    -	0x04, 0x3a, 0x00, 0x0f, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x15, 
    -	0x10, 0x02, 0x23, 0x23, 0x27, 0x37, 0x32, 0x36, 0x35, 0x11, 0x04, 0x19, 
    -	0xfe, 0xdd, 0xfe, 0xfc, 0xc4, 0xed, 0x2f, 0x03, 0x1f, 0x64, 0x3c, 0x04, 
    -	0x3a, 0xfb, 0xc6, 0x03, 0x58, 0xeb, 0xfe, 0xc0, 0xfe, 0xd3, 0xe6, 0x01, 
    -	0xa4, 0xe2, 0x01, 0xcd, 0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x05, 0x88, 
    -	0x04, 0x3a, 0x00, 0x0f, 0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x08, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x0a, 0xd0, 
    -	0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x01, 0x21, 0x11, 0x21, 0x11, 
    -	0x27, 0x03, 0x23, 0x03, 0x07, 0x11, 0x21, 0x11, 0x21, 0x02, 0xfe, 0x06, 
    -	0x01, 0x17, 0x01, 0x6d, 0xfe, 0xdd, 0x06, 0xfb, 0xc4, 0xf5, 0x06, 0xfe, 
    -	0xdc, 0x01, 0x6a, 0x01, 0x54, 0x02, 0xe6, 0xfb, 0xc6, 0x02, 0x86, 0x01, 
    -	0xfd, 0x79, 0x02, 0x79, 0x01, 0xfd, 0x88, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x17, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x5f, 0x00, 0x7c, 0xb0, 0x09, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0xe0, 0x09, 0x01, 0x5d, 0xb2, 0x70, 0x09, 0x01, 0x71, 0xb2, 0x40, 
    -	0x09, 0x01, 0x5d, 0xb2, 0x10, 0x09, 0x01, 0x5d, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x04, 0x17, 0xfe, 0xdc, 0xfe, 0x9c, 0xfe, 0xdc, 0x01, 0x24, 0x01, 
    -	0x64, 0x01, 0x24, 0x01, 0xa4, 0xfe, 0x5c, 0x04, 0x3a, 0xfe, 0x4a, 0x01, 
    -	0xb6, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x40, 
    -	0x04, 0x4e, 0x02, 0x06, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6b, 
    -	0x00, 0x00, 0x04, 0x19, 0x04, 0x3a, 0x00, 0x07, 0x00, 0x39, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x04, 0x19, 0xfe, 0xdc, 0xfe, 0x9a, 0xfe, 0xdc, 0x03, 
    -	0xae, 0x03, 0x58, 0xfc, 0xa8, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xfe, 0x60, 0x04, 0x40, 0x04, 0x4e, 0x02, 0x06, 0x00, 0x53, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x3e, 0xff, 0xeb, 0x03, 0xf2, 0x04, 0x4e, 0x00, 0x1d, 
    -	0x00, 0x38, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 
    -	0x36, 0x35, 0x21, 0x17, 0x16, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 
    -	0x00, 0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x02, 0x36, 0x4e, 0x5e, 0x01, 0x09, 0x03, 0x04, 
    -	0xff, 0xbd, 0xf2, 0xfe, 0xfa, 0x01, 0x05, 0xf2, 0xc8, 0xf5, 0x04, 0x02, 
    -	0xfe, 0xf6, 0x5c, 0x51, 0x74, 0x5f, 0x5f, 0xcb, 0x5b, 0x4c, 0x06, 0xa4, 
    -	0xdd, 0x01, 0x32, 0xf0, 0x1e, 0xef, 0x01, 0x34, 0xe4, 0xba, 0x06, 0x54, 
    -	0x6f, 0xb4, 0x8e, 0x1e, 0x91, 0xb1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, 
    -	0x00, 0x00, 0x04, 0x04, 0x04, 0x3a, 0x00, 0x07, 0x00, 0x32, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x06, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x04, 0x04, 0xfe, 0xa6, 
    -	0xfe, 0xdb, 0xfe, 0xab, 0x03, 0xd4, 0x03, 0x5b, 0xfc, 0xa5, 0x03, 0x5b, 
    -	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 
    -	0x04, 0x3a, 0x02, 0x06, 0x00, 0x5c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x13, 
    -	0x00, 0x00, 0x04, 0x08, 0x04, 0x3a, 0x02, 0x06, 0x00, 0x5b, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xfe, 0x9a, 0x04, 0xb5, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x3f, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb1, 0x02, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0xd0, 
    -	0xb0, 0x07, 0xd0, 0x30, 0x31, 0x13, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x33, 0x11, 0x21, 0x11, 0x21, 0x6b, 0x01, 0x24, 0x01, 0x66, 0x01, 0x24, 
    -	0x9c, 0xfe, 0xdd, 0xfc, 0xd9, 0x04, 0x3a, 0xfc, 0xa6, 0x03, 0x5a, 0xfc, 
    -	0xa6, 0xfd, 0xba, 0x01, 0x66, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x67, 
    -	0x00, 0x00, 0x04, 0x11, 0x04, 0x3a, 0x00, 0x13, 0x00, 0x41, 0x00, 0xb0, 
    -	0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0x7f, 0x0e, 0x01, 0x5d, 0xb0, 0x0e, 
    -	0x10, 0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x06, 0x06, 0x23, 0x22, 0x24, 0x35, 
    -	0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x04, 
    -	0x11, 0xfe, 0xdc, 0x25, 0x4d, 0x22, 0xef, 0xfe, 0xfd, 0x01, 0x24, 0x5e, 
    -	0x70, 0x25, 0x49, 0x26, 0x01, 0x24, 0x01, 0x57, 0x08, 0x07, 0xcc, 0xd2, 
    -	0x01, 0x54, 0xfe, 0xac, 0x6b, 0x52, 0x08, 0x08, 0x02, 0x01, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0x00, 0x00, 0x06, 0x24, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x49, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0xd0, 0xb0, 0x06, 
    -	0xd0, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x01, 0x8f, 0x01, 0x26, 0x01, 0x25, 0x01, 0x26, 0x01, 
    -	0x24, 0xfa, 0x47, 0x04, 0x3a, 0xfc, 0xa6, 0x03, 0x5a, 0xfc, 0xa6, 0x03, 
    -	0x5a, 0xfb, 0xc6, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6b, 
    -	0xfe, 0x98, 0x07, 0x03, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x58, 0x00, 0xb0, 
    -	0x0b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 
    -	0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0xd0, 0xb0, 0x06, 0xd0, 
    -	0xb0, 0x09, 0xd0, 0xb0, 0x09, 0x2f, 0xb0, 0x0a, 0xd0, 0xb0, 0x0a, 0x2f, 
    -	0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x33, 0x11, 0x21, 0x11, 0x21, 0x11, 0x01, 0x8f, 0x01, 0x26, 0x01, 0x25, 
    -	0x01, 0x26, 0x01, 0x24, 0xdf, 0xfe, 0xdc, 0xfa, 0x8c, 0x04, 0x3a, 0xfc, 
    -	0xa6, 0x03, 0x5a, 0xfc, 0xa6, 0x03, 0x5a, 0xfc, 0xab, 0xfd, 0xb3, 0x01, 
    -	0x68, 0x04, 0x3a, 0x00, 0x00, 0x03, 0x00, 0x95, 0x00, 0x00, 0x05, 0xe3, 
    -	0x04, 0x3a, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x58, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0f, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 
    -	0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0xba, 0xcb, 0xda, 0xfa, 0xfa, 0xda, 0xfe, 0x10, 0x01, 
    -	0x25, 0x04, 0x29, 0xfe, 0xdc, 0x01, 0x24, 0xfb, 0xd7, 0xcb, 0x59, 0x58, 
    -	0x58, 0x59, 0x02, 0xdc, 0xc9, 0xa3, 0xa5, 0xcb, 0x04, 0x3a, 0xfb, 0xc6, 
    -	0x04, 0x3a, 0xfd, 0xc2, 0xfe, 0xe3, 0x50, 0x3f, 0x3d, 0x51, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x81, 0x00, 0x00, 0x04, 0x45, 0x04, 0x3a, 0x00, 0x0a, 
    -	0x00, 0x13, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x21, 0x11, 0x21, 0x11, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0xa6, 0xcb, 0xda, 0xfa, 0xfa, 0xda, 0xfe, 0x10, 0x01, 
    -	0x25, 0xcb, 0x59, 0x58, 0x58, 0x59, 0x02, 0xdc, 0xc9, 0xa3, 0xa5, 0xcb, 
    -	0x04, 0x3a, 0xfd, 0xc2, 0xfe, 0xe3, 0x50, 0x3f, 0x3d, 0x51, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x3f, 0xff, 0xeb, 0x03, 0xee, 0x04, 0x4e, 0x00, 0x21, 
    -	0x00, 0x68, 0x00, 0x7c, 0xb0, 0x1d, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x08, 
    -	0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x10, 0x1d, 0x01, 0x5d, 0xb2, 0x4f, 0x1d, 
    -	0x01, 0x71, 0xb2, 0x7f, 0x1d, 0x01, 0x5d, 0xb2, 0x40, 0x1d, 0x01, 0x5d, 
    -	0xb2, 0xe0, 0x1d, 0x01, 0x5d, 0xb0, 0x1d, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x22, 
    -	0x06, 0x15, 0x21, 0x27, 0x26, 0x36, 0x33, 0x32, 0x00, 0x15, 0x15, 0x14, 
    -	0x00, 0x23, 0x22, 0x26, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x27, 0x21, 0x35, 0x21, 0x37, 0x26, 0x26, 0x01, 0xf9, 0x4d, 0x5c, 
    -	0xfe, 0xf6, 0x02, 0x05, 0xfe, 0xbc, 0xed, 0x01, 0x08, 0xfe, 0xf8, 0xec, 
    -	0xc7, 0xf4, 0x05, 0x02, 0x01, 0x0a, 0x5a, 0x50, 0x60, 0x61, 0x08, 0x03, 
    -	0xfe, 0xe7, 0x01, 0x18, 0x02, 0x08, 0x61, 0x03, 0x6d, 0x5c, 0x4a, 0x06, 
    -	0xa3, 0xde, 0xfe, 0xcb, 0xee, 0x1e, 0xee, 0xfe, 0xcc, 0xe3, 0xbb, 0x06, 
    -	0x55, 0x6f, 0x8b, 0x6f, 0x05, 0xaf, 0x05, 0x6a, 0x85, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x85, 0xff, 0xeb, 0x06, 0x3a, 0x04, 0x4e, 0x00, 0x13, 
    -	0x00, 0x21, 0x00, 0x71, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x36, 
    -	0x24, 0x33, 0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x24, 0x27, 
    -	0x23, 0x11, 0x21, 0x11, 0x21, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0xa9, 0x9c, 0x1e, 0x01, 
    -	0x06, 0xd1, 0xf0, 0x01, 0x10, 0xfe, 0xf1, 0xef, 0xd8, 0xfe, 0xf7, 0x19, 
    -	0x99, 0xfe, 0xdc, 0x01, 0x24, 0x01, 0xb7, 0x68, 0x74, 0x71, 0x69, 0x6a, 
    -	0x72, 0x71, 0x69, 0x02, 0x97, 0xc6, 0xf1, 0xfe, 0xcc, 0xf3, 0x15, 0xf4, 
    -	0xfe, 0xcd, 0xfb, 0xd0, 0xfe, 0x4a, 0x04, 0x3a, 0xfd, 0xd8, 0x94, 0xb3, 
    -	0xb4, 0x93, 0x15, 0x90, 0xb6, 0xb7, 0x8f, 0x00, 0x00, 0x02, 0x00, 0x33, 
    -	0x00, 0x00, 0x04, 0x00, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x52, 
    -	0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 
    -	0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x12, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x07, 
    -	0x03, 0x12, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x13, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x21, 0x11, 0x23, 0x03, 0x21, 0x13, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x03, 0x14, 0x16, 0x33, 0x33, 0x11, 0x23, 0x22, 0x06, 0x04, 0x00, 0xfe, 
    -	0xde, 0xb0, 0xd4, 0xfe, 0xd9, 0xef, 0x63, 0x6b, 0xfb, 0xd5, 0xac, 0x57, 
    -	0x50, 0xbf, 0xba, 0x52, 0x5a, 0x04, 0x3a, 0xfb, 0xc6, 0x01, 0x7b, 0xfe, 
    -	0x85, 0x01, 0xab, 0x2c, 0x9a, 0x62, 0x9e, 0xc9, 0xfe, 0x91, 0x38, 0x53, 
    -	0x01, 0x1b, 0x58, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x05, 0xe1, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 
    -	0x6d, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x21, 0x08, 0x07, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x05, 0xcc, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x07, 0x1c, 0x00, 0x0f, 0x00, 0xb3, 0x24, 0x09, 0x07, 0x04, 0x2b, 0xb0, 
    -	0x24, 0x10, 0xb0, 0x21, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x01, 0xff, 0xf1, 
    -	0xfe, 0x4b, 0x04, 0x19, 0x06, 0x18, 0x00, 0x29, 0x00, 0x89, 0x00, 0xb0, 
    -	0x29, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x26, 0x2f, 0x1b, 0xb1, 0x26, 
    -	0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x21, 0x2f, 
    -	0x1b, 0xb1, 0x21, 0x0a, 0x3e, 0x59, 0xb2, 0x9f, 0x29, 0x01, 0x5d, 0xb2, 
    -	0x2f, 0x29, 0x01, 0x71, 0xb2, 0x7f, 0x29, 0x01, 0x5d, 0xb4, 0x2f, 0x29, 
    -	0x3f, 0x29, 0x02, 0x5d, 0xb0, 0x29, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 
    -	0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x00, 0x10, 0xb0, 0x22, 0xd0, 0xb0, 0x29, 0x10, 0xb0, 0x24, 
    -	0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x15, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 
    -	0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x21, 0x02, 0x90, 0xfe, 
    -	0xfd, 0x33, 0x94, 0x5a, 0xa9, 0xc1, 0x01, 0xca, 0xb4, 0x28, 0x44, 0x24, 
    -	0x0e, 0x16, 0x32, 0x1b, 0x39, 0x3f, 0x59, 0x58, 0x3c, 0x5c, 0x1e, 0xfe, 
    -	0xdc, 0x78, 0x78, 0x01, 0x24, 0x01, 0x03, 0x04, 0xb8, 0xfe, 0xf9, 0x4a, 
    -	0x53, 0xe1, 0xeb, 0xac, 0xfe, 0x01, 0xbe, 0xce, 0x08, 0x09, 0xdc, 0x06, 
    -	0x06, 0x59, 0x52, 0x02, 0xad, 0x7e, 0x69, 0x2b, 0x27, 0xfc, 0xe7, 0x04, 
    -	0xb8, 0xb5, 0xab, 0xab, 0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x03, 0x4e, 
    -	0x05, 0xcb, 0x02, 0x26, 0x01, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x00, 0xa6, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x0a, 0x08, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x48, 0xff, 0xeb, 0x03, 0xfc, 
    -	0x04, 0x4e, 0x00, 0x21, 0x00, 0x65, 0x00, 0x7c, 0xb0, 0x1c, 0x2f, 0x18, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x7f, 0x1c, 0x01, 0x5d, 0xb2, 0x8f, 
    -	0x1c, 0x01, 0x71, 0xb2, 0x1f, 0x1c, 0x01, 0x71, 0xb2, 0x4f, 0x1c, 0x01, 
    -	0x71, 0xb2, 0x10, 0x1c, 0x01, 0x5d, 0xb0, 0x1c, 0x10, 0xb1, 0x1d, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 
    -	0x32, 0x36, 0x35, 0x21, 0x17, 0x16, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 
    -	0x34, 0x00, 0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x07, 0x17, 0x21, 0x15, 0x21, 0x07, 0x16, 0x16, 0x02, 0x40, 0x4e, 
    -	0x5e, 0x01, 0x09, 0x03, 0x04, 0xff, 0xbd, 0xf2, 0xfe, 0xfa, 0x01, 0x05, 
    -	0xf2, 0xc8, 0xf5, 0x04, 0x02, 0xfe, 0xf6, 0x5c, 0x51, 0x66, 0x62, 0x05, 
    -	0x03, 0x01, 0x1f, 0xfe, 0xe3, 0x02, 0x07, 0x60, 0xcb, 0x5b, 0x4c, 0x06, 
    -	0xa4, 0xdd, 0x01, 0x32, 0xf0, 0x1e, 0xef, 0x01, 0x34, 0xe4, 0xba, 0x06, 
    -	0x54, 0x6f, 0x8e, 0x71, 0x05, 0xaf, 0x05, 0x6a, 0x80, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x3a, 0xff, 0xeb, 0x03, 0xd4, 0x04, 0x4e, 0x02, 0x06, 
    -	0x00, 0x56, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7f, 0x00, 0x00, 0x01, 0xa3, 
    -	0x06, 0x18, 0x02, 0x06, 0x00, 0x4c, 0x00, 0x00, 0xff, 0xff, 0xff, 0x9b, 
    -	0x00, 0x00, 0x02, 0x99, 0x05, 0xb6, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0xfe, 0xff, 0x00, 0x06, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x08, 0x03, 0x02, 0x04, 0x2b, 0xb0, 0x08, 0x10, 0xb0, 0x05, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x9e, 0xfe, 0x4b, 0x01, 0xab, 
    -	0x06, 0x18, 0x02, 0x06, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x19, 
    -	0x00, 0x00, 0x06, 0xba, 0x04, 0x3a, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x69, 
    -	0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0a, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 
    -	0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x01, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x15, 0x10, 0x02, 
    -	0x23, 0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x11, 0x01, 0x11, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x04, 0x1a, 0xcb, 0xda, 0xfb, 0xfb, 0xda, 
    -	0xfe, 0x11, 0xe8, 0xd4, 0xef, 0x2f, 0x03, 0x1f, 0x5a, 0x58, 0x03, 0x30, 
    -	0xcb, 0x5a, 0x58, 0x58, 0x5a, 0x04, 0x3a, 0xfe, 0xa3, 0xca, 0xa3, 0xa5, 
    -	0xcb, 0x03, 0x58, 0xeb, 0xfe, 0xc4, 0xfe, 0xcf, 0xe3, 0xc0, 0xca, 0x01, 
    -	0xcd, 0xfd, 0xc2, 0xfe, 0xe2, 0x54, 0x40, 0x3c, 0x4e, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x6b, 0x00, 0x00, 0x06, 0xb6, 0x04, 0x3a, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x66, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x12, 0x10, 0xb0, 0x02, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 
    -	0x01, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x14, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x11, 0x21, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0x8f, 0x01, 0x64, 0x01, 0x24, 0xcb, 0xda, 0xfa, 0xfa, 
    -	0xda, 0xfe, 0x11, 0xfe, 0x9c, 0xfe, 0xdc, 0x01, 0x24, 0x02, 0x88, 0xcb, 
    -	0x59, 0x58, 0x58, 0x59, 0x02, 0x99, 0x01, 0xa1, 0xfe, 0xa2, 0xc9, 0xa3, 
    -	0xa5, 0xcb, 0x01, 0xb9, 0xfe, 0x47, 0x04, 0x3a, 0xfd, 0xc2, 0xfe, 0xe2, 
    -	0x54, 0x40, 0x3c, 0x4e, 0x00, 0x01, 0x00, 0x1d, 0x00, 0x00, 0x04, 0x18, 
    -	0x06, 0x18, 0x00, 0x1b, 0x00, 0x7a, 0x00, 0xb0, 0x1b, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x1a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x9f, 0x1b, 0x01, 0x5d, 0xb2, 0x2f, 0x1b, 0x01, 0x71, 
    -	0xb2, 0x7f, 0x1b, 0x01, 0x5d, 0xb4, 0x2f, 0x1b, 0x3f, 0x1b, 0x02, 0x5d, 
    -	0xb0, 0x1b, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x14, 0xd0, 
    -	0xb0, 0x1b, 0x10, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x36, 
    -	0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x07, 0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x21, 
    -	0x02, 0xbc, 0xfe, 0xd1, 0x33, 0x94, 0x5a, 0xa9, 0xc1, 0xfe, 0xdc, 0x59, 
    -	0x58, 0x3c, 0x5c, 0x1e, 0xfe, 0xdc, 0x4c, 0x4c, 0x01, 0x24, 0x01, 0x2f, 
    -	0x04, 0xbb, 0xfe, 0xf6, 0x4a, 0x53, 0xe1, 0xeb, 0xfd, 0x7e, 0x02, 0x84, 
    -	0x7e, 0x69, 0x2b, 0x27, 0xfc, 0xe7, 0x04, 0xbb, 0xb5, 0xa8, 0xa8, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x85, 0x05, 0xca, 0x02, 0x26, 
    -	0x01, 0xd7, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x3a, 0x00, 0x04, 
    -	0x00, 0x09, 0x00, 0xb3, 0x11, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x19, 0x05, 0xcb, 0x02, 0x26, 
    -	0x01, 0xd5, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0x8d, 0x00, 0x05, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 0x06, 0x11, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x47, 0x61, 0x00, 0x09, 
    -	0x00, 0xb3, 0x1a, 0x09, 0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xfe, 0x9a, 0x04, 0x19, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x49, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb1, 0x01, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 
    -	0xd0, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x01, 0x8f, 0x01, 0x66, 0x01, 0x24, 0xfe, 0xbb, 0xfe, 
    -	0xdd, 0xfe, 0xba, 0x04, 0x3a, 0xfc, 0xa6, 0x03, 0x5a, 0xfb, 0xc6, 0xfe, 
    -	0x9a, 0x01, 0x66, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe6, 
    -	0x00, 0x00, 0x04, 0xc5, 0x05, 0xb0, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x63, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb2, 0x3f, 0x12, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x12, 0x01, 0x5d, 0xb0, 0x12, 0x10, 0xb1, 0x00, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 
    -	0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x02, 0x10, 0xb1, 0x13, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 
    -	0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x23, 0x15, 0x33, 0x32, 0x00, 0x15, 0x14, 0x00, 
    -	0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x33, 0x03, 0x11, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0x85, 0xdd, 0xfa, 0xfb, 
    -	0x01, 0x28, 0xfe, 0xd7, 0xfa, 0xfd, 0xe2, 0x9e, 0x9e, 0x01, 0x24, 0xdd, 
    -	0xdd, 0xfa, 0x7b, 0x85, 0x85, 0x7b, 0x04, 0x42, 0x92, 0xfe, 0xfa, 0xd0, 
    -	0xd2, 0xfe, 0xf8, 0x04, 0x42, 0xb5, 0xb9, 0xb9, 0xfd, 0xd8, 0xfe, 0x11, 
    -	0x92, 0x6a, 0x66, 0x8d, 0x00, 0x02, 0x00, 0x12, 0x00, 0x00, 0x05, 0x3f, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x55, 0x00, 0xb0, 0x01, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x01, 
    -	0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x23, 0x11, 0x23, 0x03, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x03, 
    -	0x23, 0x03, 0x8c, 0x6f, 0xf5, 0x64, 0x81, 0xfe, 0xcf, 0x02, 0x02, 0x01, 
    -	0x2c, 0x01, 0xff, 0xfe, 0xce, 0xfd, 0xf9, 0x01, 0x44, 0x9f, 0x06, 0x01, 
    -	0x86, 0xfe, 0x7a, 0x01, 0x86, 0xfe, 0x7a, 0x05, 0xb0, 0xfa, 0x50, 0x02, 
    -	0x4f, 0x01, 0xe0, 0x00, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x04, 0x64, 
    -	0x04, 0x3a, 0x00, 0x0b, 0x00, 0x11, 0x00, 0x44, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x03, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x04, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x0f, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x21, 
    -	0x01, 0x21, 0x01, 0x21, 0x01, 0x33, 0x27, 0x27, 0x23, 0x07, 0x02, 0xdd, 
    -	0x4d, 0xbf, 0x45, 0x5c, 0xfe, 0xd7, 0x01, 0x98, 0x01, 0x2c, 0x01, 0x99, 
    -	0xfe, 0xd7, 0xfe, 0x90, 0xd3, 0x4c, 0x1b, 0x06, 0x1b, 0x01, 0x0f, 0xfe, 
    -	0xf1, 0x01, 0x0f, 0xfe, 0xf1, 0x04, 0x3a, 0xfb, 0xc6, 0x01, 0xc8, 0xdd, 
    -	0x71, 0x71, 0x00, 0x00, 0x00, 0x02, 0x00, 0xad, 0x00, 0x00, 0x07, 0x50, 
    -	0x05, 0xb0, 0x00, 0x13, 0x00, 0x17, 0x00, 0x56, 0x00, 0xb0, 0x0b, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x13, 0x10, 0xb0, 
    -	0x02, 0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x09, 0xd0, 0xb0, 
    -	0x05, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 
    -	0x0e, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x01, 0x21, 
    -	0x01, 0x21, 0x01, 0x21, 0x03, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x21, 
    -	0x13, 0x23, 0x11, 0x21, 0x11, 0x21, 0x01, 0x21, 0x03, 0x23, 0x01, 0xd1, 
    -	0x01, 0x23, 0x01, 0x31, 0x01, 0x2c, 0x01, 0xff, 0xfe, 0xce, 0x81, 0x6f, 
    -	0xf5, 0x64, 0x81, 0xfe, 0xcf, 0x89, 0xdb, 0xfe, 0xdc, 0x01, 0x24, 0x02, 
    -	0x46, 0x01, 0x44, 0x9f, 0x06, 0x02, 0x4f, 0x03, 0x61, 0xfa, 0x50, 0x01, 
    -	0x86, 0xfe, 0x7a, 0x01, 0x86, 0xfe, 0x7a, 0x01, 0x85, 0xfe, 0x7b, 0x05, 
    -	0xb0, 0xfc, 0x9f, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xa6, 
    -	0x00, 0x00, 0x06, 0x23, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x15, 0x00, 0x19, 
    -	0x00, 0x53, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 
    -	0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x01, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x02, 0xd0, 0xb0, 0x0c, 0x10, 0xb0, 
    -	0x09, 0xd0, 0xb0, 0x05, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 
    -	0x02, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x19, 0xd0, 0x30, 
    -	0x31, 0x01, 0x33, 0x13, 0x21, 0x01, 0x21, 0x03, 0x23, 0x11, 0x23, 0x11, 
    -	0x23, 0x03, 0x21, 0x11, 0x21, 0x01, 0x33, 0x27, 0x27, 0x23, 0x07, 0x01, 
    -	0x15, 0x17, 0x37, 0x01, 0xca, 0xa7, 0xed, 0x01, 0x2c, 0x01, 0x99, 0xfe, 
    -	0xd7, 0x5e, 0x4d, 0xbf, 0x45, 0x5c, 0xfd, 0xb7, 0x01, 0x24, 0x01, 0xc0, 
    -	0xd3, 0x4c, 0x1b, 0x06, 0x1b, 0xfd, 0xf5, 0x06, 0x5c, 0x01, 0xc7, 0x02, 
    -	0x73, 0xfb, 0xc6, 0x01, 0x0f, 0xfe, 0xf1, 0x01, 0x0f, 0xfe, 0xf1, 0x04, 
    -	0x3a, 0xfd, 0x8e, 0xdd, 0x71, 0x71, 0xfe, 0x6b, 0xf5, 0x01, 0xf6, 0x00, 
    -	0x00, 0x02, 0x00, 0x71, 0x00, 0x00, 0x06, 0x87, 0x05, 0xb0, 0x00, 0x19, 
    -	0x00, 0x1c, 0x00, 0x71, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 
    -	0x1b, 0xb1, 0x17, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 
    -	0x2f, 0x1b, 0xb1, 0x18, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x17, 
    -	0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x17, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0xb0, 0x17, 
    -	0x10, 0xb0, 0x1a, 0xd0, 0xb0, 0x18, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x16, 0x16, 
    -	0x15, 0x11, 0x21, 0x11, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 0x23, 
    -	0x22, 0x06, 0x15, 0x11, 0x21, 0x11, 0x34, 0x24, 0x25, 0x01, 0x21, 0x01, 
    -	0x13, 0x21, 0x04, 0x97, 0xf4, 0xfc, 0xfe, 0xdc, 0x74, 0x80, 0x54, 0xfe, 
    -	0xdc, 0x6e, 0x81, 0x73, 0xfe, 0xdc, 0x01, 0x0c, 0x01, 0x05, 0xfe, 0x8a, 
    -	0x05, 0x02, 0xfd, 0x7f, 0xca, 0xfe, 0x6c, 0x03, 0x24, 0x08, 0xda, 0xea, 
    -	0xfe, 0xa8, 0x01, 0x58, 0x83, 0x66, 0xfd, 0xbf, 0x02, 0x41, 0x66, 0x83, 
    -	0xfe, 0xa8, 0x01, 0x58, 0xf2, 0xd9, 0x02, 0x02, 0x8b, 0xfd, 0x97, 0x01, 
    -	0x85, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6e, 0x00, 0x00, 0x05, 0x6f, 
    -	0x04, 0x3a, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x67, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x04, 
    -	0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x11, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x1a, 0xd0, 0xb0, 0x05, 
    -	0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x33, 0x35, 0x34, 0x36, 0x37, 0x01, 0x21, 0x01, 0x16, 
    -	0x16, 0x15, 0x15, 0x21, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 
    -	0x23, 0x22, 0x06, 0x15, 0x15, 0x01, 0x33, 0x13, 0x23, 0x6e, 0xc6, 0xc1, 
    -	0xfe, 0xed, 0x04, 0x29, 0xfe, 0xec, 0xb8, 0xc0, 0xfe, 0xdd, 0x59, 0x63, 
    -	0x0b, 0xfe, 0xdc, 0x14, 0x64, 0x58, 0x01, 0x62, 0x06, 0x7b, 0xfc, 0xb3, 
    -	0xce, 0xce, 0x12, 0x01, 0xd9, 0xfe, 0x26, 0x15, 0xce, 0xca, 0xb3, 0xb3, 
    -	0x7b, 0x60, 0xfe, 0x72, 0x01, 0x8e, 0x60, 0x7b, 0xb3, 0x02, 0x7b, 0x01, 
    -	0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x9a, 0x00, 0x00, 0x08, 0xbe, 
    -	0x05, 0xb0, 0x00, 0x1f, 0x00, 0x22, 0x00, 0x8e, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 0x1e, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x14, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x1c, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x1c, 
    -	0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0xd0, 0xb0, 0x0a, 0xd0, 0xb0, 0x1c, 0x10, 0xb0, 0x20, 
    -	0xd0, 0xb0, 0x1e, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x16, 0x16, 0x15, 0x11, 0x21, 
    -	0x11, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 0x23, 0x22, 0x06, 0x15, 
    -	0x11, 0x21, 0x11, 0x34, 0x37, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x01, 0x21, 0x01, 0x13, 0x21, 0x06, 0xce, 0xf4, 0xfc, 0xfe, 0xdc, 0x74, 
    -	0x80, 0x54, 0xfe, 0xdc, 0x6e, 0x81, 0x73, 0xfe, 0xdc, 0x2c, 0xfe, 0xea, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x02, 0xfa, 0xfe, 0x8b, 0x05, 0x02, 0xfd, 0x7f, 
    -	0xca, 0xfe, 0x6c, 0x03, 0x24, 0x08, 0xda, 0xea, 0xfe, 0xa8, 0x01, 0x58, 
    -	0x83, 0x66, 0xfd, 0xbf, 0x02, 0x41, 0x66, 0x83, 0xfe, 0xa8, 0x01, 0x58, 
    -	0x8b, 0x5f, 0xfd, 0xbe, 0x05, 0xb0, 0xfd, 0x76, 0x02, 0x8a, 0xfd, 0x97, 
    -	0x01, 0x85, 0x00, 0x00, 0x00, 0x02, 0x00, 0x85, 0x00, 0x00, 0x07, 0x69, 
    -	0x04, 0x3a, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x87, 0x00, 0xb0, 0x09, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 
    -	0xb1, 0x19, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 
    -	0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x04, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x1b, 0xd0, 0xb0, 0x17, 0xd0, 
    -	0xb0, 0x09, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 0x0b, 0x10, 0xb1, 0x23, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 
    -	0x35, 0x34, 0x37, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0x21, 
    -	0x01, 0x16, 0x16, 0x15, 0x15, 0x21, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 
    -	0x21, 0x11, 0x23, 0x22, 0x06, 0x15, 0x15, 0x01, 0x33, 0x13, 0x23, 0x02, 
    -	0x68, 0x2b, 0xea, 0xfe, 0xdc, 0x01, 0x24, 0x02, 0x43, 0xfe, 0xf0, 0x04, 
    -	0x29, 0xfe, 0xec, 0xb8, 0xc0, 0xfe, 0xdd, 0x59, 0x63, 0x0b, 0xfe, 0xdc, 
    -	0x14, 0x64, 0x58, 0x01, 0x62, 0x06, 0x7b, 0xfc, 0xb3, 0x88, 0x5b, 0xfe, 
    -	0x6a, 0x04, 0x3a, 0xfe, 0x2b, 0x01, 0xd5, 0xfe, 0x26, 0x15, 0xce, 0xca, 
    -	0xb3, 0xb3, 0x7b, 0x60, 0xfe, 0x72, 0x01, 0x8e, 0x60, 0x7b, 0xb3, 0x02, 
    -	0x7b, 0x01, 0x03, 0x00, 0x00, 0x02, 0x00, 0x05, 0xfe, 0x40, 0x03, 0xb3, 
    -	0x07, 0x7b, 0x00, 0x2c, 0x00, 0x35, 0x00, 0x8f, 0x00, 0xb0, 0x1d, 0x2f, 
    -	0xb0, 0x32, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2c, 0x2f, 0x1b, 0xb1, 
    -	0x2c, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 
    -	0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x06, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2c, 0x10, 
    -	0xb1, 0x2b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x0f, 0x2b, 0x2c, 0x11, 0x12, 0x39, 0xb0, 0x15, 0x10, 0xb1, 0x23, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0f, 
    -	0x32, 0x01, 0x5d, 0xb0, 0x32, 0x10, 0xb0, 0x2d, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x32, 0x10, 0xb0, 0x35, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x35, 0x1f, 0x35, 0x2f, 0x35, 
    -	0x03, 0x5d, 0xb0, 0x2e, 0xd0, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 
    -	0x07, 0x26, 0x26, 0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x35, 0x01, 0x37, 0x21, 0x15, 0x05, 0x23, 0x01, 0x35, 
    -	0x21, 0x01, 0x84, 0x71, 0x6d, 0x73, 0x72, 0xfe, 0xfc, 0x01, 0x04, 0xf2, 
    -	0x01, 0x17, 0x79, 0x6e, 0x86, 0x8e, 0xfe, 0xed, 0xe6, 0x3a, 0x3b, 0x36, 
    -	0x54, 0x3c, 0x52, 0x9f, 0xa8, 0x01, 0xbd, 0xa8, 0x40, 0x6a, 0x7b, 0x8c, 
    -	0x86, 0x8f, 0x01, 0x43, 0x75, 0x01, 0x08, 0xfe, 0xe7, 0xc7, 0xfe, 0xe7, 
    -	0x01, 0x08, 0x03, 0x5e, 0x66, 0x57, 0x51, 0x5d, 0xe7, 0xc0, 0xbd, 0x76, 
    -	0xa6, 0x2b, 0x2b, 0xad, 0x7c, 0xca, 0xe3, 0x33, 0x2d, 0x3c, 0x4a, 0x1a, 
    -	0xab, 0x24, 0xc0, 0x8c, 0x90, 0x93, 0x6b, 0x56, 0x6e, 0x74, 0xe8, 0x03, 
    -	0x9e, 0x7f, 0x11, 0xff, 0x01, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x1c, 
    -	0xfe, 0x4e, 0x03, 0x99, 0x06, 0x23, 0x00, 0x2c, 0x00, 0x35, 0x00, 0xaf, 
    -	0x00, 0x7c, 0xb0, 0x2c, 0x2f, 0x18, 0xb0, 0x32, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x7f, 0x2c, 0x01, 0x5d, 0xb2, 0x4f, 0x2c, 0x01, 
    -	0x71, 0xb2, 0xef, 0x2c, 0x01, 0x71, 0xb2, 0xbf, 0x2c, 0x01, 0x71, 0xb2, 
    -	0x1f, 0x2c, 0x01, 0x71, 0xb2, 0x1f, 0x2c, 0x01, 0x72, 0xb2, 0x10, 0x2c, 
    -	0x01, 0x5d, 0xb0, 0x2c, 0x10, 0xb1, 0x2b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0f, 0x2b, 0x2c, 0x11, 0x12, 0x39, 
    -	0xb0, 0x15, 0x10, 0xb1, 0x23, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x32, 0x10, 0xb0, 0x2d, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x32, 0x10, 0xb0, 0x35, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x35, 0x1f, 0x35, 0x2f, 0x35, 
    -	0x03, 0x5d, 0xb0, 0x2e, 0xd0, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 
    -	0x07, 0x26, 0x26, 0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x35, 0x13, 0x37, 0x21, 0x15, 0x05, 0x23, 0x01, 0x35, 
    -	0x21, 0x01, 0x94, 0x5c, 0x59, 0x67, 0x65, 0xfe, 0xfc, 0x01, 0x04, 0xe6, 
    -	0x01, 0x09, 0x5e, 0x56, 0x6d, 0x74, 0xfd, 0xd3, 0x31, 0x43, 0x3e, 0x4b, 
    -	0x36, 0x52, 0x83, 0xa6, 0x01, 0xad, 0x9a, 0x38, 0x65, 0x76, 0x78, 0x71, 
    -	0x9f, 0xfb, 0x75, 0x01, 0x08, 0xfe, 0xe7, 0xc7, 0xfe, 0xe7, 0x01, 0x08, 
    -	0x02, 0x72, 0x48, 0x3e, 0x35, 0x40, 0xcd, 0x97, 0x94, 0x54, 0x7b, 0x23, 
    -	0x21, 0x78, 0x54, 0x98, 0xad, 0x33, 0x2d, 0x3c, 0x4a, 0x1a, 0x9d, 0x2a, 
    -	0xbb, 0x7d, 0x83, 0x85, 0x47, 0x3a, 0x42, 0x46, 0xb1, 0x03, 0x32, 0x7f, 
    -	0x11, 0xff, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x38, 
    -	0x00, 0x00, 0x05, 0x8e, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x82, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x44, 0xfe, 0x22, 0x05, 0xb4, 0x04, 0x3a, 0x02, 0x06, 
    -	0x01, 0xa2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x04, 0x25, 
    -	0x04, 0x4e, 0x00, 0x15, 0x00, 0x3c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 
    -	0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x36, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 
    -	0x03, 0x21, 0x01, 0x21, 0x01, 0xe2, 0x11, 0x06, 0x10, 0x5c, 0x30, 0xa8, 
    -	0x81, 0x20, 0x32, 0x15, 0x18, 0x04, 0x22, 0x0d, 0x26, 0x3d, 0x0c, 0xe8, 
    -	0xfe, 0xe9, 0xfe, 0xa4, 0x01, 0x31, 0x01, 0x93, 0x58, 0x58, 0x01, 0x76, 
    -	0xa2, 0xa3, 0x08, 0x0b, 0xdd, 0x01, 0x03, 0x3b, 0x2b, 0xfd, 0x04, 0x04, 
    -	0x3a, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x04, 0x25, 
    -	0x06, 0x40, 0x02, 0x26, 0x02, 0x08, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5f, 
    -	0x03, 0xdc, 0x00, 0x52, 0x00, 0x0f, 0x00, 0xb3, 0x18, 0x08, 0x14, 0x04, 
    -	0x2b, 0xb0, 0x18, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5c, 0xfe, 0x4b, 0x09, 0x88, 0x05, 0xc5, 0x00, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x00, 0x07, 0x00, 0x5c, 0x05, 0x77, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x4b, 0x08, 0x95, 0x04, 0x4e, 0x00, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x00, 0x5c, 0x04, 0x84, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x5c, 0xff, 0x78, 0x05, 0x1b, 0x06, 0x29, 0x00, 0x17, 
    -	0x00, 0x2f, 0x00, 0x4a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x10, 
    -	0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x10, 0x10, 0xb1, 0x1f, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0xd0, 0xb0, 0x07, 
    -	0x10, 0xb1, 0x28, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x2b, 0xd0, 0x30, 0x31, 0x01, 0x10, 0x07, 0x06, 0x07, 0x15, 
    -	0x23, 0x35, 0x26, 0x27, 0x26, 0x11, 0x11, 0x10, 0x37, 0x36, 0x37, 0x35, 
    -	0x33, 0x15, 0x16, 0x17, 0x16, 0x11, 0x25, 0x34, 0x27, 0x26, 0x27, 0x15, 
    -	0x23, 0x35, 0x06, 0x07, 0x06, 0x15, 0x11, 0x14, 0x17, 0x16, 0x17, 0x35, 
    -	0x33, 0x15, 0x36, 0x37, 0x36, 0x35, 0x05, 0x1b, 0xaa, 0x86, 0xc7, 0xc3, 
    -	0xd2, 0x8b, 0xa8, 0xa7, 0x8b, 0xd1, 0xc3, 0xc7, 0x88, 0xaa, 0xfe, 0xdc, 
    -	0x55, 0x34, 0x4c, 0xc3, 0x57, 0x37, 0x52, 0x53, 0x38, 0x57, 0xc3, 0x4c, 
    -	0x33, 0x54, 0x02, 0x55, 0xfe, 0xf4, 0xaf, 0x8b, 0x1c, 0x7b, 0x78, 0x18, 
    -	0x92, 0xaf, 0x01, 0x0c, 0x01, 0x06, 0x01, 0x0b, 0xaf, 0x92, 0x18, 0x6a, 
    -	0x6b, 0x1d, 0x8c, 0xaf, 0xfe, 0xf5, 0x02, 0xaa, 0x6d, 0x42, 0x1a, 0x6d, 
    -	0x72, 0x17, 0x4a, 0x6c, 0xab, 0xfe, 0xf8, 0xad, 0x6d, 0x4a, 0x18, 0x6f, 
    -	0x6a, 0x1a, 0x43, 0x6d, 0xad, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x43, 
    -	0xff, 0x85, 0x04, 0x40, 0x04, 0xb4, 0x00, 0x17, 0x00, 0x2f, 0x00, 0x4d, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x17, 0xd0, 0xb0, 0x02, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0xd0, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x2b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x28, 0xd0, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 
    -	0x35, 0x34, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x15, 
    -	0x15, 0x14, 0x07, 0x06, 0x07, 0x01, 0x14, 0x17, 0x16, 0x17, 0x35, 0x33, 
    -	0x15, 0x36, 0x37, 0x36, 0x35, 0x35, 0x34, 0x27, 0x26, 0x27, 0x15, 0x23, 
    -	0x35, 0x06, 0x07, 0x06, 0x15, 0x02, 0xa1, 0xc3, 0xaa, 0x6a, 0x87, 0x87, 
    -	0x6b, 0xae, 0xc4, 0xa7, 0x6a, 0x88, 0x88, 0x6b, 0xac, 0xfe, 0xc5, 0x34, 
    -	0x1a, 0x2a, 0xc3, 0x2b, 0x1b, 0x35, 0x35, 0x19, 0x27, 0xc4, 0x2d, 0x1c, 
    -	0x34, 0x7b, 0x6e, 0x19, 0x78, 0x9a, 0xf4, 0x15, 0xf2, 0x9a, 0x7b, 0x1a, 
    -	0x6c, 0x6e, 0x1b, 0x77, 0x9a, 0xf3, 0x15, 0xf4, 0x9a, 0x79, 0x19, 0x02, 
    -	0x20, 0x94, 0x5a, 0x2d, 0x16, 0x6a, 0x6b, 0x16, 0x2f, 0x5a, 0x93, 0x15, 
    -	0x90, 0x5b, 0x2b, 0x17, 0x59, 0x5e, 0x17, 0x31, 0x5b, 0x8f, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x5c, 0xfe, 0x92, 0x04, 0xab, 0x05, 0xc5, 0x00, 0x19, 
    -	0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x02, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x26, 0x02, 0x35, 0x11, 0x10, 
    -	0x00, 0x33, 0x20, 0x00, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x11, 0x14, 0x16, 0x33, 0x33, 0x03, 0x4a, 0xfe, 0xdd, 0xd4, 0xf7, 
    -	0x01, 0x33, 0xff, 0x01, 0x02, 0x01, 0x1b, 0x04, 0x02, 0xfe, 0xe5, 0x79, 
    -	0x83, 0x82, 0x8c, 0x8c, 0x82, 0xbc, 0xfe, 0x92, 0x01, 0x61, 0x21, 0x01, 
    -	0x44, 0xef, 0x01, 0x21, 0x01, 0x0b, 0x01, 0x52, 0xfe, 0xfd, 0xed, 0x06, 
    -	0x8d, 0x88, 0xd2, 0xa8, 0xfe, 0xdd, 0xa9, 0xd3, 0x00, 0x01, 0x00, 0x56, 
    -	0xfe, 0x91, 0x04, 0x03, 0x04, 0x4e, 0x00, 0x19, 0x00, 0x3e, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x18, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x26, 0x02, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x33, 0x33, 0x03, 0x08, 0xfe, 0xdc, 0xbf, 0xcf, 0x01, 0x06, 0xed, 0xc7, 
    -	0xf3, 0x04, 0x02, 0xfe, 0xf6, 0x5b, 0x4f, 0x6f, 0x61, 0x60, 0x72, 0xbd, 
    -	0xfe, 0x91, 0x01, 0x63, 0x20, 0x01, 0x26, 0xd3, 0x1e, 0xee, 0x01, 0x35, 
    -	0xe4, 0xba, 0x06, 0x53, 0x70, 0xb6, 0x8c, 0x1e, 0x8f, 0xb3, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x91, 0x05, 0x3e, 0x00, 0x13, 
    -	0x00, 0x13, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x01, 0x05, 0x07, 
    -	0x25, 0x03, 0x23, 0x13, 0x25, 0x37, 0x05, 0x13, 0x25, 0x37, 0x05, 0x13, 
    -	0x33, 0x03, 0x05, 0x07, 0x25, 0x02, 0x59, 0x01, 0x21, 0x48, 0xfe, 0xdd, 
    -	0xb5, 0xaf, 0xe1, 0xfe, 0xdf, 0x47, 0x01, 0x25, 0xca, 0xfe, 0xde, 0x49, 
    -	0x01, 0x23, 0xb9, 0xac, 0xe4, 0x01, 0x25, 0x4c, 0xfe, 0xe0, 0x01, 0xc1, 
    -	0xac, 0x80, 0xaa, 0xfe, 0xc1, 0x01, 0x8e, 0xab, 0x80, 0xab, 0x01, 0x68, 
    -	0xab, 0x82, 0xab, 0x01, 0x46, 0xfe, 0x6b, 0xab, 0x7f, 0xaa, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x5c, 0x04, 0xa2, 0x03, 0x2f, 0x05, 0xfd, 0x00, 0x07, 
    -	0x00, 0x27, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x15, 0x27, 0x37, 0x21, 0x27, 0x17, 
    -	0x15, 0x01, 0x0d, 0xb1, 0x01, 0x02, 0x22, 0x01, 0xb1, 0x05, 0x20, 0x7e, 
    -	0x01, 0xee, 0x6c, 0x01, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x66, 
    -	0x05, 0x17, 0x03, 0x60, 0x06, 0x15, 0x00, 0x11, 0x00, 0x2d, 0x00, 0xb0, 
    -	0x10, 0x2f, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 
    -	0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x32, 0x24, 0x33, 0x32, 
    -	0x16, 0x15, 0x15, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x04, 0x23, 0x23, 
    -	0x35, 0x7b, 0x71, 0x01, 0x3d, 0x49, 0x71, 0x7d, 0x88, 0x3a, 0x30, 0x2b, 
    -	0xfe, 0xbd, 0x83, 0x17, 0x05, 0x9d, 0x78, 0x6c, 0x6d, 0x25, 0x12, 0x33, 
    -	0x33, 0x78, 0x86, 0x00, 0x00, 0x01, 0x00, 0x7d, 0x05, 0x19, 0x01, 0x74, 
    -	0x06, 0x69, 0x00, 0x05, 0x00, 0x10, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x35, 
    -	0x33, 0x07, 0x17, 0x07, 0x7d, 0xbe, 0x01, 0x3a, 0x51, 0x05, 0xdc, 0x8d, 
    -	0x9f, 0x6d, 0x44, 0x00, 0x00, 0x01, 0x00, 0x6b, 0x05, 0x19, 0x01, 0x62, 
    -	0x06, 0x69, 0x00, 0x05, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x27, 
    -	0x37, 0x27, 0x33, 0x15, 0xbc, 0x51, 0x3a, 0x01, 0xbe, 0x05, 0x19, 0x44, 
    -	0x6d, 0x9f, 0x8d, 0x00, 0x00, 0x08, 0x00, 0x37, 0xfe, 0xc4, 0x07, 0xd0, 
    -	0x05, 0xaf, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 
    -	0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x75, 0x00, 0xb0, 0x54, 0x2f, 
    -	0xb0, 0x64, 0x2f, 0xb0, 0x74, 0x2f, 0xb0, 0x44, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 0x0c, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x54, 0x10, 0xb0, 
    -	0x14, 0xd0, 0xb0, 0x54, 0x10, 0xb0, 0x5c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x1c, 0xd0, 0xb0, 0x64, 0x10, 0xb0, 0x24, 0xd0, 
    -	0xb0, 0x64, 0x10, 0xb0, 0x6c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x2c, 0xd0, 0xb0, 0x74, 0x10, 0xb0, 0x34, 0xd0, 0xb0, 0x74, 
    -	0x10, 0xb0, 0x7c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x3c, 0xd0, 0xb0, 0x44, 0x10, 0xb0, 0x4c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x13, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x13, 0x27, 0x26, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x03, 0x2b, 0x02, 0x05, 0x70, 0x61, 0x60, 0x71, 0x04, 0x02, 0x68, 
    -	0x31, 0x32, 0x32, 0x2f, 0x01, 0xe6, 0x02, 0x05, 0x71, 0x60, 0x60, 0x72, 
    -	0x04, 0x02, 0x69, 0x30, 0x33, 0x32, 0x2e, 0x51, 0x02, 0x05, 0x71, 0x60, 
    -	0x60, 0x71, 0x04, 0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 0xfe, 0xd2, 0x02, 
    -	0x05, 0x71, 0x60, 0x60, 0x71, 0x04, 0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 
    -	0xfd, 0x57, 0x02, 0x05, 0x70, 0x61, 0x60, 0x71, 0x04, 0x02, 0x68, 0x31, 
    -	0x32, 0x32, 0x2f, 0xfd, 0x55, 0x02, 0x05, 0x71, 0x61, 0x60, 0x71, 0x04, 
    -	0x02, 0x68, 0x31, 0x32, 0x32, 0x2f, 0xfe, 0xe6, 0x02, 0x05, 0x71, 0x60, 
    -	0x60, 0x71, 0x04, 0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 0x3d, 0x02, 0x05, 
    -	0x71, 0x60, 0x60, 0x72, 0x04, 0x02, 0x69, 0x30, 0x33, 0x32, 0x2e, 0x04, 
    -	0xf3, 0x06, 0x4f, 0x67, 0x67, 0x4f, 0x06, 0x2b, 0x3a, 0x3a, 0x2b, 0xfe, 
    -	0xeb, 0x06, 0x4e, 0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfe, 
    -	0x09, 0x06, 0x4e, 0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfd, 
    -	0xf9, 0x06, 0x4e, 0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfe, 
    -	0xe4, 0x06, 0x50, 0x66, 0x66, 0x50, 0x06, 0x2c, 0x39, 0x39, 0x2c, 0x05, 
    -	0x1a, 0x06, 0x4f, 0x67, 0x67, 0x4f, 0x06, 0x2b, 0x3a, 0x3a, 0x2b, 0xfe, 
    -	0x09, 0x06, 0x4e, 0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfd, 
    -	0xf9, 0x06, 0x4e, 0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0x00, 
    -	0x00, 0x08, 0x00, 0x49, 0xfe, 0x63, 0x07, 0x89, 0x05, 0xc6, 0x00, 0x04, 
    -	0x00, 0x09, 0x00, 0x0e, 0x00, 0x13, 0x00, 0x19, 0x00, 0x1e, 0x00, 0x23, 
    -	0x00, 0x28, 0x00, 0x2f, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x1c, 0x2f, 0xb0, 
    -	0x27, 0x2f, 0xb0, 0x22, 0x2f, 0xb0, 0x12, 0x2f, 0xb0, 0x0d, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x05, 0x17, 0x03, 0x23, 0x13, 0x03, 0x27, 0x13, 0x33, 
    -	0x03, 0x01, 0x37, 0x05, 0x15, 0x25, 0x05, 0x07, 0x25, 0x35, 0x05, 0x01, 
    -	0x37, 0x25, 0x17, 0x06, 0x05, 0x01, 0x07, 0x05, 0x27, 0x25, 0x03, 0x27, 
    -	0x03, 0x37, 0x13, 0x01, 0x17, 0x13, 0x07, 0x03, 0x04, 0x4c, 0x0b, 0x7a, 
    -	0x60, 0x46, 0x3a, 0x0c, 0x7a, 0x60, 0x46, 0x02, 0x1e, 0x0d, 0x01, 0x4d, 
    -	0xfe, 0xa6, 0xfb, 0x74, 0x0d, 0xfe, 0xb3, 0x01, 0x5a, 0x03, 0x9c, 0x02, 
    -	0x01, 0x41, 0x44, 0x25, 0xfe, 0xff, 0xfc, 0xf3, 0x02, 0xfe, 0xc0, 0x45, 
    -	0x01, 0x26, 0x2b, 0x11, 0x94, 0x41, 0xc6, 0x03, 0x60, 0x11, 0x95, 0x42, 
    -	0xc5, 0x3c, 0x0e, 0xfe, 0xad, 0x01, 0x61, 0x04, 0xa2, 0x0e, 0x01, 0x52, 
    -	0xfe, 0xa0, 0xfe, 0x11, 0x0c, 0x7c, 0x62, 0x47, 0x3b, 0x0c, 0x7c, 0x62, 
    -	0x47, 0x01, 0xae, 0x10, 0x99, 0x44, 0x17, 0xb1, 0xfc, 0x8e, 0x11, 0x99, 
    -	0x45, 0xc8, 0x02, 0xe4, 0x02, 0x01, 0x46, 0x45, 0xfe, 0xd5, 0xfc, 0xe3, 
    -	0x02, 0xfe, 0xbb, 0x47, 0x01, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7e, 
    -	0xfe, 0xab, 0x06, 0x21, 0x07, 0x68, 0x02, 0x26, 0x01, 0xc0, 0x00, 0x00, 
    -	0x00, 0x27, 0x01, 0x54, 0x01, 0x07, 0x01, 0xb8, 0x01, 0x07, 0x00, 0x0f, 
    -	0x04, 0x80, 0xff, 0xd9, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x08, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6b, 0xfe, 0xab, 0x05, 0x23, 
    -	0x06, 0x11, 0x02, 0x26, 0x01, 0xd5, 0x00, 0x00, 0x00, 0x26, 0x01, 0x54, 
    -	0x7e, 0x61, 0x01, 0x07, 0x00, 0x0f, 0x03, 0x82, 0xff, 0xd9, 0x00, 0x09, 
    -	0x00, 0xb3, 0x10, 0x09, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0xff, 0xe6, 0x00, 0x00, 0x04, 0xc5, 0x05, 0xb0, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x63, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x12, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x3f, 0x12, 0x01, 0x5d, 0xb0, 0x12, 0x10, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x10, 0x02, 
    -	0x01, 0x5d, 0xb0, 0x0b, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 
    -	0x02, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x15, 0x33, 0x32, 
    -	0x00, 0x15, 0x14, 0x00, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 
    -	0x15, 0x33, 0x03, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 
    -	0x85, 0xdd, 0xfa, 0xfb, 0x01, 0x28, 0xfe, 0xd7, 0xfa, 0xfd, 0xe2, 0x9e, 
    -	0x9e, 0x01, 0x24, 0xdd, 0xdd, 0xfa, 0x7b, 0x85, 0x85, 0x7b, 0x04, 0x42, 
    -	0x92, 0xfe, 0xfa, 0xd0, 0xd2, 0xfe, 0xf8, 0x04, 0x42, 0xb5, 0xb9, 0xb9, 
    -	0xfd, 0xd8, 0xfe, 0x11, 0x92, 0x6a, 0x66, 0x8d, 0x00, 0x01, 0x00, 0x77, 
    -	0x00, 0x00, 0x04, 0x47, 0x07, 0x20, 0x00, 0x07, 0x00, 0x2c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x04, 0x47, 0xfd, 0x54, 0xfe, 0xdc, 0x02, 0xac, 0x01, 0x24, 
    -	0x04, 0xcf, 0xfb, 0x31, 0x05, 0xb0, 0x01, 0x70, 0x00, 0x01, 0x00, 0x6b, 
    -	0x00, 0x00, 0x03, 0x77, 0x05, 0x75, 0x00, 0x09, 0x00, 0x32, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x06, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0xd0, 0xb0, 0x03, 0xd0, 0x30, 0x31, 
    -	0x01, 0x23, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x03, 0x77, 
    -	0x29, 0xfe, 0x41, 0xfe, 0xdc, 0x01, 0xe9, 0x01, 0x23, 0x03, 0x59, 0x01, 
    -	0xfc, 0xa8, 0x04, 0x3a, 0x01, 0x3b, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf4, 
    -	0x00, 0x00, 0x04, 0x3d, 0x05, 0xb0, 0x00, 0x0d, 0x00, 0x5b, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x16, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x16, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 0x11, 0x23, 0x35, 
    -	0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x02, 0x93, 0xe7, 0xfe, 0xdc, 
    -	0x94, 0x94, 0x03, 0xb5, 0xfd, 0x6f, 0xe7, 0x02, 0x98, 0xfd, 0x68, 0x02, 
    -	0x98, 0xb5, 0x02, 0x63, 0xe1, 0xfe, 0x7e, 0x00, 0x00, 0x01, 0xff, 0xd2, 
    -	0x00, 0x00, 0x03, 0x4e, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x47, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x0d, 
    -	0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x02, 
    -	0x71, 0xe2, 0xfe, 0xdc, 0x99, 0x99, 0x02, 0xe3, 0xfe, 0x41, 0xe2, 0x01, 
    -	0xc7, 0xfe, 0x39, 0x01, 0xc7, 0xb5, 0x01, 0xbe, 0xe2, 0xdc, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0xfe, 0x9b, 0x05, 0x66, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2e, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 0x03, 0xe8, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0xfe, 0x9b, 0x04, 0xd3, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xd7, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 0x03, 0x55, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x84, 0x00, 0x00, 0x05, 0x5e, 0x05, 0xb0, 0x00, 0x14, 
    -	0x00, 0x5c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 
    -	0x13, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x13, 0x10, 0xb1, 
    -	0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x08, 0xd0, 0xb0, 0x13, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x09, 0x02, 
    -	0x21, 0x01, 0x23, 0x15, 0x23, 0x35, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x33, 0x11, 0x33, 0x11, 0x33, 0x01, 0x05, 0x37, 0xfe, 0x83, 0x01, 0xa4, 
    -	0xfe, 0x8c, 0xfe, 0xee, 0x36, 0xa7, 0x53, 0xfe, 0xdc, 0x01, 0x24, 0x53, 
    -	0xa7, 0x28, 0x01, 0x04, 0x05, 0xb0, 0xfd, 0x69, 0xfc, 0xe7, 0x02, 0x5c, 
    -	0xe5, 0xe5, 0xfd, 0xa4, 0x05, 0xb0, 0xfd, 0xa9, 0x01, 0x00, 0xff, 0x00, 
    -	0x02, 0x57, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0xab, 
    -	0x04, 0x3a, 0x00, 0x14, 0x00, 0x5c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x05, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x12, 0xd0, 
    -	0x30, 0x31, 0x09, 0x02, 0x21, 0x03, 0x23, 0x15, 0x23, 0x35, 0x23, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x13, 0x04, 0x9b, 
    -	0xfe, 0xdb, 0x01, 0x35, 0xfe, 0x8b, 0xa5, 0x1a, 0x97, 0x3b, 0xfe, 0xdc, 
    -	0x01, 0x24, 0x3b, 0x97, 0x19, 0x9a, 0x04, 0x3a, 0xfe, 0x02, 0xfd, 0xc4, 
    -	0x01, 0x95, 0xac, 0xac, 0xfe, 0x6b, 0x04, 0x3a, 0xfe, 0x64, 0xbf, 0xbf, 
    -	0x01, 0x9c, 0x00, 0x00, 0x00, 0x01, 0xff, 0xc2, 0x00, 0x00, 0x05, 0x4d, 
    -	0x05, 0xb0, 0x00, 0x14, 0x00, 0x7d, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x16, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x7f, 0x07, 0x01, 0x5d, 0xb0, 
    -	0x07, 0x10, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x0c, 0xd0, 0xb2, 0x12, 0x00, 0x0f, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 
    -	0x23, 0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x33, 0x15, 
    -	0x23, 0x11, 0x33, 0x01, 0x21, 0x01, 0x01, 0x21, 0x02, 0x62, 0xa2, 0xfe, 
    -	0xdc, 0xda, 0xda, 0x01, 0x24, 0xa1, 0xa1, 0x7f, 0x01, 0x82, 0x01, 0x65, 
    -	0xfe, 0x16, 0x02, 0x11, 0xfe, 0x9c, 0x02, 0x60, 0xfd, 0xa0, 0x04, 0x74, 
    -	0xb5, 0x87, 0x87, 0xb5, 0xfe, 0xe9, 0x02, 0x53, 0xfd, 0x5a, 0xfc, 0xf6, 
    -	0x00, 0x01, 0xff, 0xcd, 0x00, 0x00, 0x04, 0x72, 0x06, 0x18, 0x00, 0x14, 
    -	0x00, 0x73, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x7f, 0x0e, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x01, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x07, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x0c, 0xd0, 
    -	0xb2, 0x12, 0x01, 0x0e, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x33, 0x15, 0x23, 0x11, 
    -	0x33, 0x13, 0x21, 0x01, 0x01, 0x21, 0x01, 0xf8, 0x50, 0xfe, 0xdc, 0xb7, 
    -	0xb7, 0x01, 0x24, 0xc4, 0xc4, 0x48, 0xfb, 0x01, 0x52, 0xfe, 0xa6, 0x01, 
    -	0x8f, 0xfe, 0xb1, 0x01, 0xc5, 0xfe, 0x3b, 0x04, 0xb8, 0xb5, 0xab, 0xab, 
    -	0xb5, 0xfd, 0xeb, 0x01, 0x97, 0xfe, 0x16, 0xfd, 0xb0, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x88, 0xfe, 0x9b, 0x05, 0xd8, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 0x04, 0x5a, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6b, 0xfe, 0x9b, 0x04, 0xce, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xda, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 0x03, 0x50, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x88, 0x00, 0x00, 0x07, 0x93, 0x05, 0xb0, 0x00, 0x0d, 
    -	0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 
    -	0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0xac, 0x02, 0x52, 0x03, 0x95, 
    -	0xfd, 0x8e, 0xfe, 0xdd, 0xfd, 0xae, 0xfe, 0xdc, 0x01, 0x24, 0x03, 0x3e, 
    -	0x02, 0x72, 0xe1, 0xfb, 0x31, 0x02, 0x5d, 0xfd, 0xa3, 0x05, 0xb0, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0x00, 0x00, 0x05, 0x6a, 0x04, 0x3a, 0x00, 0x0d, 
    -	0x00, 0x9a, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb4, 0x7f, 
    -	0x01, 0x8f, 0x01, 0x02, 0x5d, 0xb4, 0x1f, 0x01, 0x2f, 0x01, 0x02, 0x71, 
    -	0xb2, 0x8f, 0x01, 0x01, 0x71, 0xb2, 0xef, 0x01, 0x01, 0x71, 0xb2, 0x5f, 
    -	0x01, 0x01, 0x72, 0xb2, 0x8f, 0x01, 0x01, 0x72, 0xb2, 0x1f, 0x01, 0x01, 
    -	0x72, 0xb2, 0xbf, 0x01, 0x01, 0x71, 0xb4, 0x4f, 0x01, 0x5f, 0x01, 0x02, 
    -	0x71, 0xb2, 0xbf, 0x01, 0x01, 0x5d, 0xb2, 0x5f, 0x01, 0x01, 0x5d, 0xb2, 
    -	0x2f, 0x01, 0x01, 0x5d, 0xb0, 0x02, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x08, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x01, 0x8f, 0x01, 0x64, 0x02, 0x77, 0xfe, 0xad, 0xfe, 0xdc, 
    -	0xfe, 0x9c, 0xfe, 0xdc, 0x01, 0x24, 0x02, 0x84, 0x01, 0xb6, 0xe1, 0xfc, 
    -	0xa7, 0x01, 0xa4, 0xfe, 0x5c, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, 0x1c, 
    -	0xfe, 0x9b, 0x04, 0x76, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x37, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x02, 0x13, 0x00, 0x00, 0xff, 0xff, 0x00, 0x30, 
    -	0xfe, 0x9b, 0x04, 0x04, 0x04, 0x3a, 0x02, 0x26, 0x01, 0xdf, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0xe3, 0x00, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x3c, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x10, 0xfe, 0x5f, 0x04, 0x07, 0x04, 0x3a, 0x02, 0x06, 
    -	0x01, 0x8d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 
    -	0x05, 0xb0, 0x00, 0x10, 0x00, 0x4b, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x05, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x05, 0x10, 0xb1, 0x06, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 
    -	0xd0, 0xb0, 0x05, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x01, 
    -	0x21, 0x01, 0x33, 0x15, 0x23, 0x07, 0x11, 0x21, 0x11, 0x23, 0x35, 0x33, 
    -	0x01, 0x21, 0x02, 0x82, 0x06, 0x01, 0x3f, 0x01, 0x40, 0xfe, 0x6f, 0x68, 
    -	0xc8, 0x03, 0xfe, 0xdd, 0xb1, 0x56, 0xfe, 0x70, 0x01, 0x40, 0x03, 0x11, 
    -	0x02, 0x9f, 0xfd, 0x0b, 0xb5, 0x06, 0xfe, 0x00, 0x02, 0x06, 0xb5, 0x02, 
    -	0xf5, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0xfe, 0x5f, 0x04, 0x07, 
    -	0x04, 0x3a, 0x00, 0x11, 0x00, 0x4b, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x11, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 
    -	0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x25, 0x23, 0x11, 
    -	0x21, 0x11, 0x23, 0x35, 0x33, 0x01, 0x21, 0x13, 0x17, 0x33, 0x37, 0x13, 
    -	0x21, 0x01, 0x33, 0x03, 0x63, 0xc6, 0xfe, 0xdc, 0xb5, 0x7b, 0xfe, 0xd1, 
    -	0x01, 0x31, 0xb6, 0x13, 0x06, 0x14, 0xb2, 0x01, 0x31, 0xfe, 0xd0, 0x8c, 
    -	0x09, 0xfe, 0x56, 0x01, 0xaa, 0xb5, 0x03, 0x7c, 0xfd, 0x59, 0x64, 0x64, 
    -	0x02, 0xa7, 0xfc, 0x84, 0xff, 0xff, 0x00, 0x1f, 0xfe, 0x9b, 0x05, 0x23, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x03, 0xa5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x13, 0xfe, 0x9b, 0x04, 0x32, 
    -	0x04, 0x3a, 0x02, 0x26, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x02, 0xb4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2b, 0xfe, 0x9f, 0x06, 0xf5, 
    -	0x05, 0xb0, 0x00, 0x13, 0x00, 0x4d, 0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x02, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x12, 0x10, 0xb1, 0x0b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x0c, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x01, 0x6d, 0xfe, 0xbe, 0x01, 
    -	0x42, 0x01, 0x24, 0x01, 0x5a, 0xfe, 0xa6, 0x02, 0x52, 0x01, 0x24, 0xee, 
    -	0xfe, 0xdc, 0xfb, 0x9c, 0x04, 0xce, 0xe1, 0x01, 0x01, 0xe1, 0xfc, 0x13, 
    -	0x04, 0xcf, 0xfb, 0x3e, 0xfd, 0xb1, 0x01, 0x61, 0x00, 0x01, 0x00, 0x2e, 
    -	0xfe, 0x9a, 0x05, 0x52, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x54, 0x00, 0xb0, 
    -	0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x00, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x05, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x23, 
    -	0x35, 0x21, 0x15, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 
    -	0x11, 0x21, 0x01, 0x08, 0xda, 0x02, 0xc3, 0xc5, 0x01, 0x66, 0x01, 0x24, 
    -	0x9c, 0xfe, 0xdd, 0xfc, 0xd9, 0x03, 0x59, 0xe1, 0xe1, 0xfd, 0x87, 0x03, 
    -	0x5a, 0xfc, 0xa6, 0xfd, 0xba, 0x01, 0x66, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xfe, 0x9b, 0x05, 0xbf, 0x05, 0xb0, 0x02, 0x26, 0x01, 0xcd, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x04, 0x41, 0x00, 0x00, 0xff, 0xff, 0x00, 0x67, 
    -	0xfe, 0x9b, 0x04, 0xc8, 0x04, 0x3a, 0x02, 0x26, 0x01, 0xe3, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x03, 0x4a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8b, 
    -	0x00, 0x00, 0x05, 0x08, 0x05, 0xb0, 0x00, 0x1c, 0x00, 0x45, 0x00, 0xb0, 
    -	0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 
    -	0x09, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x06, 
    -	0x07, 0x07, 0x15, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 0x11, 0x21, 0x11, 
    -	0x14, 0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x36, 0x37, 0x11, 
    -	0x05, 0x08, 0xfe, 0xdb, 0x42, 0x52, 0x10, 0xa7, 0xf2, 0x89, 0x92, 0x01, 
    -	0x24, 0x3f, 0x37, 0x73, 0xa7, 0x07, 0x07, 0x54, 0x42, 0x05, 0xb0, 0xfa, 
    -	0x50, 0x02, 0x31, 0x10, 0x09, 0x02, 0xf3, 0xed, 0x08, 0x6c, 0x74, 0xf3, 
    -	0x01, 0xc5, 0xfe, 0x3b, 0x8e, 0x36, 0x2f, 0x06, 0x01, 0x25, 0xfe, 0xe1, 
    -	0x01, 0x09, 0x10, 0x02, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x67, 
    -	0x00, 0x00, 0x04, 0x11, 0x04, 0x3a, 0x00, 0x1d, 0x00, 0x45, 0x00, 0xb0, 
    -	0x14, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 
    -	0x1c, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x14, 0x10, 0xb1, 0x09, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 
    -	0x14, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x11, 0x06, 0x07, 
    -	0x22, 0x07, 0x15, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 0x11, 0x21, 0x11, 
    -	0x14, 0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x37, 0x11, 
    -	0x21, 0x04, 0x11, 0xfe, 0xdc, 0x25, 0x27, 0x07, 0x07, 0xa7, 0xa2, 0x62, 
    -	0x81, 0x01, 0x24, 0x2f, 0x13, 0x1f, 0xa7, 0x08, 0x07, 0x25, 0x26, 0x01, 
    -	0x24, 0x01, 0x57, 0x08, 0x04, 0x01, 0x92, 0x96, 0x12, 0x4e, 0x66, 0xd2, 
    -	0x01, 0x54, 0xfe, 0xac, 0x6b, 0x29, 0x11, 0x0a, 0x01, 0x02, 0xfe, 0xf2, 
    -	0x01, 0x01, 0x04, 0x08, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 
    -	0x00, 0x00, 0x04, 0xcb, 0x05, 0xb0, 0x00, 0x13, 0x00, 0x3c, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 
    -	0x21, 0x11, 0x36, 0x36, 0x33, 0x20, 0x04, 0x15, 0x11, 0x21, 0x11, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x4e, 0x01, 0x25, 0x42, 0xa4, 0x41, 
    -	0x01, 0x0b, 0x01, 0x26, 0xfe, 0xdc, 0x80, 0x8d, 0x3e, 0xa7, 0x42, 0x05, 
    -	0xb0, 0xfd, 0xcf, 0x0e, 0x13, 0xe9, 0xf2, 0xfe, 0x3b, 0x01, 0xc5, 0x8d, 
    -	0x6d, 0x13, 0x0e, 0xfd, 0x62, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5f, 
    -	0x00, 0x02, 0x04, 0x09, 0x04, 0x3c, 0x01, 0x0f, 0x01, 0xe3, 0x04, 0x70, 
    -	0x04, 0x3c, 0xc0, 0x02, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0x00, 0x02, 0xff, 0xee, 0xff, 0xe9, 0x06, 0x08, 0x05, 0xc4, 0x00, 0x1c, 
    -	0x00, 0x25, 0x00, 0x56, 0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x11, 
    -	0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x11, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x20, 0x00, 0x03, 0x26, 0x26, 
    -	0x35, 0x33, 0x14, 0x16, 0x17, 0x12, 0x00, 0x17, 0x20, 0x00, 0x11, 0x15, 
    -	0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x03, 
    -	0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 0x26, 0x04, 0x06, 0xfe, 0xad, 
    -	0xfe, 0x89, 0x0c, 0x9b, 0xa7, 0xc4, 0x42, 0x42, 0x21, 0x01, 0x60, 0xf5, 
    -	0x01, 0x24, 0x01, 0x38, 0xfc, 0x54, 0x02, 0x09, 0xd0, 0xd3, 0x74, 0xba, 
    -	0x4c, 0x31, 0x34, 0xdf, 0xf2, 0x8d, 0xae, 0x13, 0x02, 0x02, 0x85, 0x96, 
    -	0x17, 0x01, 0x75, 0x01, 0x39, 0x18, 0xdc, 0xaf, 0x56, 0x70, 0x15, 0x01, 
    -	0x11, 0x01, 0x54, 0x01, 0xfe, 0x94, 0xfe, 0xc2, 0x96, 0x06, 0xbe, 0xe5, 
    -	0x26, 0x1c, 0xe1, 0x1c, 0x36, 0x04, 0xe8, 0xcb, 0xa2, 0x05, 0x1f, 0x99, 
    -	0xba, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xff, 0xeb, 0x04, 0x6f, 
    -	0x04, 0x4e, 0x00, 0x1c, 0x00, 0x25, 0x00, 0x7b, 0x00, 0xb0, 0x11, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0xff, 0x11, 0x01, 0x5d, 0xb2, 0x8f, 0x11, 0x01, 0x71, 
    -	0xb2, 0x9f, 0x11, 0x01, 0x72, 0xb2, 0x1f, 0x11, 0x01, 0x72, 0xb2, 0x4f, 
    -	0x11, 0x01, 0x71, 0xb2, 0xbf, 0x11, 0x01, 0x5d, 0xb4, 0x5f, 0x11, 0x6f, 
    -	0x11, 0x02, 0x5d, 0xb0, 0x11, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x11, 0x10, 
    -	0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0a, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x1d, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 
    -	0x22, 0x00, 0x27, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x17, 0x36, 0x36, 
    -	0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x17, 0x06, 0x06, 0x03, 0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 
    -	0x26, 0x02, 0xbc, 0xe4, 0xfe, 0xea, 0x08, 0x7b, 0x83, 0xb7, 0x29, 0x29, 
    -	0x22, 0xfc, 0xbf, 0xdb, 0xf2, 0xfd, 0x7a, 0x02, 0x08, 0x7f, 0x6d, 0x61, 
    -	0x80, 0x4c, 0x4f, 0x42, 0xd6, 0x9d, 0x51, 0x5e, 0x0b, 0x03, 0x01, 0x66, 
    -	0x57, 0x15, 0x01, 0x1b, 0xdd, 0x24, 0xc6, 0x94, 0x3f, 0x5e, 0x1b, 0xbf, 
    -	0xe6, 0xfe, 0xf8, 0xe1, 0x9f, 0x06, 0x6b, 0x8a, 0x27, 0x2a, 0xb4, 0x36, 
    -	0x47, 0x03, 0x82, 0x7c, 0x65, 0x05, 0x1a, 0x5d, 0x6f, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x9a, 0x00, 0x00, 0x01, 0xbe, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2a, 0xfe, 0xab, 0x06, 0x29, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0xc3, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x04, 0x88, 0xff, 0xd9, 0xff, 0xff, 0x00, 0x0f, 0xfe, 0xab, 0x05, 0x23, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xd8, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x03, 0x82, 0xff, 0xd9, 0x00, 0x01, 0x00, 0x88, 0xfe, 0x4b, 0x05, 0x21, 
    -	0x05, 0xb0, 0x00, 0x17, 0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 
    -	0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x21, 0x11, 0x01, 0xac, 0x02, 0x52, 
    -	0x01, 0x23, 0xca, 0xb4, 0x28, 0x44, 0x24, 0x0e, 0x17, 0x32, 0x1b, 0x39, 
    -	0x40, 0xfd, 0xae, 0xfe, 0xdc, 0x05, 0xb0, 0xfd, 0x8e, 0x02, 0x72, 0xfa, 
    -	0x28, 0xbe, 0xcf, 0x08, 0x09, 0xdd, 0x06, 0x07, 0x5a, 0x52, 0x02, 0x85, 
    -	0xfd, 0xa3, 0x05, 0xb0, 0x00, 0x01, 0x00, 0x6b, 0xfe, 0x4b, 0x04, 0x17, 
    -	0x04, 0x3a, 0x00, 0x17, 0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x18, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 
    -	0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x21, 0x11, 0x01, 0x8f, 0x01, 0x64, 
    -	0x01, 0x24, 0xca, 0xb4, 0x28, 0x44, 0x24, 0x0e, 0x17, 0x31, 0x1b, 0x39, 
    -	0x40, 0xfe, 0x9c, 0xfe, 0xdc, 0x04, 0x3a, 0xfe, 0x4a, 0x01, 0xb6, 0xfb, 
    -	0x9e, 0xbe, 0xcf, 0x08, 0x09, 0xdd, 0x06, 0x07, 0x5a, 0x52, 0x01, 0xcc, 
    -	0xfe, 0x5c, 0x04, 0x3a, 0xff, 0xff, 0x00, 0x88, 0xfe, 0xab, 0x06, 0x2b, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x04, 0x8a, 0xff, 0xd9, 0xff, 0xff, 0x00, 0x6b, 0xfe, 0xab, 0x05, 0x21, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xda, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x03, 0x80, 0xff, 0xd9, 0xff, 0xff, 0x00, 0x8b, 0xfe, 0x9b, 0x05, 0x08, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0xcd, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x02, 0xca, 0x00, 0x00, 0xff, 0xff, 0x00, 0x67, 0xfe, 0x9b, 0x04, 0x11, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xe3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x01, 0xd3, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0xab, 0x07, 0x7c, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x05, 0xdb, 0xff, 0xd9, 0xff, 0xff, 0x00, 0x81, 0xfe, 0xab, 0x06, 0x92, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xd9, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 
    -	0x04, 0xf1, 0xff, 0xd9, 0xff, 0xff, 0x00, 0x9a, 0x00, 0x00, 0x01, 0xbe, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x68, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xcb, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x06, 0x26, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x54, 0x5c, 0x76, 0x00, 0x09, 0x00, 0xb3, 0x30, 0x09, 
    -	0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x74, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x10, 0x08, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x05, 0x1b, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x09, 0x19, 0x04, 0x2b, 0xb0, 
    -	0x30, 0x10, 0xb0, 0x2d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x03, 
    -	0x00, 0x00, 0x07, 0x49, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x88, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x2e, 0xff, 0xeb, 0x06, 0x8d, 0x04, 0x4e, 0x02, 0x06, 
    -	0x00, 0xa8, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x68, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0x98, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x06, 0x27, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 
    -	0x5e, 0x77, 0x00, 0x09, 0x00, 0xb3, 0x24, 0x09, 0x07, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x56, 0xff, 0xea, 0x05, 0x57, 
    -	0x05, 0xc5, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x4d, 0x00, 0xb0, 0x0b, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x17, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 
    -	0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x20, 0x00, 0x11, 0x15, 0x10, 0x00, 0x25, 0x20, 0x00, 0x11, 
    -	0x35, 0x21, 0x37, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 
    -	0x13, 0x32, 0x36, 0x37, 0x27, 0x21, 0x15, 0x14, 0x16, 0x02, 0x80, 0x01, 
    -	0x5e, 0x01, 0x79, 0xfe, 0x92, 0xfe, 0xf1, 0xfe, 0xc8, 0xfe, 0xb4, 0x03, 
    -	0xd4, 0x02, 0x09, 0xd1, 0xd2, 0x75, 0xb9, 0x4c, 0x31, 0x35, 0xdd, 0xf3, 
    -	0x8c, 0xae, 0x14, 0x02, 0xfd, 0x53, 0xa8, 0x05, 0xc5, 0xfe, 0x71, 0xfe, 
    -	0xb5, 0x2a, 0xfe, 0xc2, 0xfe, 0x67, 0x01, 0x01, 0x6b, 0x01, 0x3e, 0x96, 
    -	0x06, 0xbc, 0xe7, 0x27, 0x1b, 0xe1, 0x1c, 0x37, 0xfb, 0x17, 0xca, 0xa3, 
    -	0x05, 0x1f, 0x9a, 0xb9, 0xff, 0xff, 0x00, 0x5f, 0xff, 0xeb, 0x04, 0x14, 
    -	0x04, 0x4f, 0x01, 0x0f, 0x00, 0x48, 0x04, 0x61, 0x04, 0x3a, 0xc0, 0x02, 
    -	0x00, 0x13, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x56, 0xff, 0xea, 0x05, 0x57, 0x06, 0xd6, 0x02, 0x26, 
    -	0x02, 0x4e, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x8d, 0x01, 0x26, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x24, 0x08, 0x00, 0x04, 0x2b, 0xb0, 0x24, 0x10, 
    -	0xb0, 0x21, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5f, 
    -	0xff, 0xeb, 0x04, 0x14, 0x05, 0xcb, 0x00, 0x2f, 0x00, 0x48, 0x04, 0x61, 
    -	0x04, 0x3a, 0xc0, 0x02, 0x01, 0x06, 0x00, 0x6a, 0x19, 0x1b, 0x00, 0x57, 
    -	0x00, 0xb0, 0x27, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x17, 0xd0, 0xb2, 0xc0, 0x27, 0x01, 
    -	0x5d, 0xb4, 0x00, 0x27, 0x10, 0x27, 0x02, 0x72, 0xb2, 0x60, 0x27, 0x01, 
    -	0x72, 0xb2, 0x6f, 0x27, 0x01, 0x71, 0xb2, 0xaf, 0x27, 0x01, 0x71, 0xb2, 
    -	0x8f, 0x27, 0x01, 0x71, 0xb2, 0x3f, 0x27, 0x01, 0x5d, 0xb2, 0x40, 0x27, 
    -	0x01, 0x72, 0xb4, 0xd0, 0x27, 0xe0, 0x27, 0x02, 0x71, 0xb2, 0xa0, 0x27, 
    -	0x01, 0x5d, 0xb2, 0x80, 0x27, 0x01, 0x72, 0xb0, 0x27, 0x10, 0xb0, 0x22, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x12, 0x00, 0x00, 0x07, 0xe9, 
    -	0x07, 0x0d, 0x02, 0x26, 0x03, 0xd2, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x01, 0xe3, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x1a, 0x08, 0x0d, 0x04, 
    -	0x2b, 0xb0, 0x1a, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x19, 0x00, 0x00, 0x06, 0xc7, 0x05, 0xb6, 0x02, 0x26, 
    -	0x03, 0xdc, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x01, 0x55, 0x00, 0x06, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x1a, 0x09, 0x0d, 0x04, 0x2b, 0xb0, 0x1a, 0x10, 
    -	0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x57, 
    -	0xff, 0xeb, 0x04, 0xe2, 0x07, 0x22, 0x02, 0x26, 0x01, 0xbf, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x81, 0x01, 0x72, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x2f, 0x08, 0x0e, 0x04, 0x2b, 0xb0, 0x2f, 0x10, 0xb0, 0x2c, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x46, 0xff, 0xec, 0x03, 0xdc, 
    -	0x05, 0xca, 0x02, 0x26, 0x03, 0xdd, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0xf7, 0x1a, 0x00, 0x0f, 0x00, 0xb3, 0x2f, 0x09, 0x0e, 0x04, 0x2b, 0xb0, 
    -	0x2f, 0x10, 0xb0, 0x2c, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x54, 
    -	0xff, 0xeb, 0x04, 0x61, 0x05, 0xb0, 0x00, 0x1c, 0x00, 0x5b, 0x00, 0xb0, 
    -	0x1c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x05, 0x01, 0x03, 0x11, 
    -	0x12, 0x39, 0xb0, 0x1c, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x06, 0x1b, 0x1c, 0x11, 0x12, 0x39, 
    -	0xb0, 0x0c, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x27, 0x21, 0x35, 0x21, 0x17, 0x01, 
    -	0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0xef, 
    -	0x03, 0xfd, 0xa4, 0x03, 0xb2, 0x01, 0xfe, 0x93, 0xbe, 0xcd, 0xfe, 0xd9, 
    -	0xed, 0xd0, 0xfe, 0xd7, 0x05, 0x02, 0x01, 0x1b, 0x76, 0x61, 0x6f, 0x81, 
    -	0x8c, 0x8c, 0x87, 0x04, 0xc9, 0x06, 0xe1, 0xb7, 0xfe, 0x68, 0x1f, 0xeb, 
    -	0xbf, 0xc9, 0xe4, 0xd6, 0xcd, 0x06, 0x56, 0x73, 0x75, 0x5b, 0x8f, 0x82, 
    -	0xb6, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x54, 0xfe, 0x75, 0x04, 0x61, 
    -	0x04, 0x3a, 0x00, 0x1c, 0x00, 0x4e, 0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x1c, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 
    -	0x3e, 0x59, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x05, 0x00, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x1c, 0x10, 
    -	0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x06, 0x1c, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x10, 0xb1, 0x14, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x27, 0x21, 0x35, 0x21, 0x17, 0x01, 0x16, 0x16, 0x15, 0x14, 0x04, 
    -	0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0xe9, 0x02, 0xfd, 0xa2, 0x03, 0xb9, 
    -	0x01, 0xfe, 0x97, 0xbc, 0xcb, 0xfe, 0xd9, 0xed, 0xd0, 0xfe, 0xd7, 0x05, 
    -	0x02, 0x01, 0x1b, 0x76, 0x61, 0x6f, 0x81, 0x8c, 0x8c, 0x87, 0x03, 0x53, 
    -	0x05, 0xe2, 0xb8, 0xfe, 0x68, 0x20, 0xeb, 0xbe, 0xc7, 0xe5, 0xd7, 0xcb, 
    -	0x06, 0x54, 0x73, 0x75, 0x59, 0x8f, 0x83, 0xb5, 0xff, 0xff, 0x00, 0x7e, 
    -	0x00, 0x00, 0x05, 0x17, 0x06, 0xf2, 0x02, 0x26, 0x01, 0xc0, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0xcb, 0x01, 0x41, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0d, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0x00, 0x00, 0x04, 0x19, 0x05, 0x9d, 0x02, 0x26, 0x01, 0xd5, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x42, 0xec, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x09, 
    -	0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7e, 
    -	0x00, 0x00, 0x05, 0x17, 0x07, 0x0d, 0x02, 0x26, 0x01, 0xc0, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0xb0, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x11, 0x08, 0x08, 0x04, 0x2b, 0xb0, 0x11, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x04, 0x19, 
    -	0x05, 0xb6, 0x02, 0x26, 0x01, 0xd5, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x27, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x11, 0x09, 0x08, 0x04, 0x2b, 0xb0, 
    -	0x11, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0x22, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0xa0, 0x01, 0x72, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x20, 0x08, 0x0a, 0x04, 0x2b, 0xb0, 0x20, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x40, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x26, 0x1b, 0x00, 0x0f, 0x00, 0xb3, 0x20, 0x09, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x20, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x56, 
    -	0xff, 0xec, 0x04, 0xa7, 0x07, 0x23, 0x02, 0x26, 0x01, 0xcf, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x68, 0x01, 0x73, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x26, 0x08, 0x04, 0x04, 0x2b, 0xb0, 0x26, 0x10, 0xb0, 0x23, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xeb, 0x03, 0xee, 
    -	0x05, 0xcb, 0x02, 0x26, 0x01, 0xe8, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0xfd, 0x1b, 0x00, 0x0f, 0x00, 0xb3, 0x26, 0x09, 0x08, 0x04, 0x2b, 0xb0, 
    -	0x26, 0x10, 0xb0, 0x23, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0xfe, 0x4b, 0x04, 0x11, 0x05, 0x9d, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x0b, 0xec, 0x00, 0x09, 0x00, 0xb3, 0x17, 0x09, 
    -	0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0xfe, 0x4b, 0x04, 0x11, 0x05, 0xb6, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0xf2, 0x06, 0x00, 0x0f, 0x00, 0xb3, 0x1b, 0x09, 
    -	0x14, 0x04, 0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x39, 0x05, 0xf4, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x01, 0x59, 0x49, 0x06, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x20, 0x08, 0x14, 0x04, 0x2b, 0xb0, 0x20, 0x10, 0xb0, 0x19, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 0x00, 0x00, 0x05, 0x08, 
    -	0x07, 0x0d, 0x02, 0x26, 0x01, 0xcd, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xda, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x19, 0x08, 0x0a, 0x04, 
    -	0x2b, 0xb0, 0x19, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x67, 0x00, 0x00, 0x04, 0x11, 0x05, 0xb6, 0x02, 0x26, 
    -	0x01, 0xe3, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x1f, 0x06, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x19, 0x09, 0x09, 0x04, 0x2b, 0xb0, 0x19, 0x10, 0xb0, 0x15, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0x9b, 0x04, 0x3d, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0x6e, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x00, 0xe5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6b, 0xfe, 0x9b, 0x03, 0x4e, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xd3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5d, 
    -	0x00, 0x9d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x95, 0x00, 0x00, 0x06, 0x7d, 
    -	0x07, 0x0d, 0x02, 0x26, 0x01, 0xce, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x01, 0x61, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x1d, 0x08, 0x09, 0x04, 
    -	0x2b, 0xb0, 0x1d, 0x10, 0xb0, 0x19, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x95, 0x00, 0x00, 0x05, 0xe3, 0x05, 0xb6, 0x00, 0x26, 
    -	0x01, 0xe7, 0x14, 0x00, 0x00, 0x27, 0x00, 0xf3, 0x04, 0x3a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x01, 0x35, 0x00, 0x06, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1d, 0x09, 0x09, 0x04, 0x2b, 0xb0, 0x1d, 0x10, 0xb0, 0x19, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4b, 0xfe, 0x4b, 0x04, 0x89, 
    -	0x05, 0xb0, 0x00, 0x26, 0x01, 0x6e, 0x4c, 0x00, 0x00, 0x26, 0x03, 0x46, 
    -	0xaf, 0x3f, 0x00, 0x07, 0x03, 0x5f, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4c, 0xfe, 0x4b, 0x03, 0xb0, 0x04, 0x3a, 0x00, 0x26, 
    -	0x01, 0xd3, 0x62, 0x00, 0x00, 0x26, 0x03, 0x46, 0xb0, 0x91, 0x01, 0x07, 
    -	0x03, 0x5f, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x08, 0x00, 0xb2, 0x00, 0x06, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x1f, 0xfe, 0x4b, 0x05, 0x90, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5f, 
    -	0x03, 0xe5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x13, 0xfe, 0x4b, 0x04, 0x9f, 
    -	0x04, 0x3a, 0x02, 0x26, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5f, 
    -	0x02, 0xf4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x07, 
    -	0x05, 0xb0, 0x00, 0x11, 0x00, 0x68, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x11, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x07, 0xd0, 
    -	0xb0, 0x11, 0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0d, 0xd0, 
    -	0x30, 0x31, 0x01, 0x23, 0x01, 0x21, 0x01, 0x01, 0x21, 0x01, 0x23, 0x35, 
    -	0x33, 0x01, 0x21, 0x01, 0x01, 0x21, 0x01, 0x33, 0x03, 0xe2, 0x74, 0x01, 
    -	0x99, 0xfe, 0x9f, 0xfe, 0xe7, 0xfe, 0xe7, 0xfe, 0xab, 0x01, 0x8c, 0x68, 
    -	0x59, 0xfe, 0x8e, 0x01, 0x52, 0x01, 0x0d, 0x01, 0x11, 0x01, 0x54, 0xfe, 
    -	0x8d, 0x67, 0x02, 0x90, 0xfd, 0x70, 0x02, 0x0d, 0xfd, 0xf3, 0x02, 0x90, 
    -	0xb5, 0x02, 0x6b, 0xfd, 0xfc, 0x02, 0x04, 0xfd, 0x95, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x13, 0x00, 0x00, 0x04, 0x08, 0x04, 0x3a, 0x00, 0x12, 
    -	0x00, 0x5e, 0x00, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 
    -	0x2f, 0x1b, 0xb1, 0x0b, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x12, 
    -	0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x12, 
    -	0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 
    -	0x01, 0x23, 0x01, 0x21, 0x03, 0x03, 0x21, 0x01, 0x23, 0x35, 0x33, 0x01, 
    -	0x21, 0x13, 0x33, 0x13, 0x21, 0x01, 0x33, 0x03, 0x61, 0x78, 0x01, 0x1f, 
    -	0xfe, 0xb7, 0xb1, 0xb1, 0xfe, 0xb6, 0x01, 0x1e, 0x6f, 0x65, 0xfe, 0xf6, 
    -	0x01, 0x48, 0xa2, 0x06, 0xa6, 0x01, 0x4a, 0xfe, 0xf6, 0x6e, 0x01, 0xd1, 
    -	0xfe, 0x2f, 0x01, 0x67, 0xfe, 0x99, 0x01, 0xd1, 0xb5, 0x01, 0xb4, 0xfe, 
    -	0xa8, 0x01, 0x58, 0xfe, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x4c, 
    -	0x00, 0x00, 0x04, 0x8d, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0c, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x11, 0x21, 0x11, 0x21, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 0x13, 0x11, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x03, 0x69, 0x01, 0x24, 0xfd, 
    -	0xe1, 0xfb, 0xfe, 0xd9, 0x01, 0x27, 0xfb, 0xfb, 0xfb, 0x7b, 0x83, 0x83, 
    -	0x7b, 0x03, 0xb0, 0x02, 0x00, 0xfa, 0x50, 0x01, 0x08, 0xd2, 0xd0, 0x01, 
    -	0x06, 0xfd, 0x30, 0x01, 0xef, 0x8d, 0x66, 0x6a, 0x92, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x12, 0x06, 0x18, 0x02, 0x06, 
    -	0x00, 0x47, 0x00, 0x00, 0x00, 0x02, 0x00, 0x72, 0x00, 0x00, 0x06, 0xe0, 
    -	0x05, 0xb0, 0x00, 0x18, 0x00, 0x21, 0x00, 0x3e, 0x00, 0xb0, 0x07, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 
    -	0x3e, 0x59, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x19, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x1a, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x22, 
    -	0x00, 0x35, 0x34, 0x00, 0x33, 0x33, 0x11, 0x21, 0x11, 0x33, 0x36, 0x36, 
    -	0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x06, 0x04, 0x23, 0x25, 
    -	0x11, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x02, 0x95, 0xfb, 0xfe, 
    -	0xd8, 0x01, 0x28, 0xfb, 0xfb, 0x01, 0x23, 0x45, 0x5b, 0x63, 0x04, 0x01, 
    -	0x1f, 0x1e, 0x01, 0x1d, 0x21, 0x24, 0x02, 0x04, 0xfe, 0xe8, 0xca, 0xfe, 
    -	0x98, 0xfb, 0x7c, 0x83, 0x84, 0x7b, 0x01, 0x08, 0xd2, 0xd0, 0x01, 0x06, 
    -	0x02, 0x00, 0xfb, 0x31, 0x01, 0x69, 0x5e, 0x4c, 0xa6, 0x4e, 0x63, 0x96, 
    -	0x47, 0xcd, 0xdc, 0xe0, 0x01, 0xef, 0x8d, 0x66, 0x6a, 0x92, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x5a, 0xff, 0xe9, 0x06, 0x87, 0x06, 0x18, 0x00, 0x22, 
    -	0x00, 0x33, 0x00, 0x5b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0a, 0x3e, 0x59, 0xb0, 0x19, 0x10, 
    -	0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x26, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb0, 0x2d, 0xd0, 0x30, 0x31, 0x13, 
    -	0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x11, 0x21, 0x11, 0x06, 0x16, 0x33, 
    -	0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x02, 0x00, 
    -	0x23, 0x06, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x01, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 
    -	0x26, 0x26, 0x35, 0x5a, 0xde, 0xc9, 0x4b, 0x7a, 0x2f, 0x01, 0x24, 0x01, 
    -	0x41, 0x37, 0x62, 0x6b, 0x04, 0x01, 0x1f, 0x1e, 0x01, 0x1d, 0x22, 0x23, 
    -	0x02, 0x04, 0xfe, 0xe2, 0xd3, 0x84, 0xb6, 0x2f, 0x34, 0x92, 0x62, 0xc8, 
    -	0xdd, 0x02, 0x9b, 0x1e, 0x55, 0x37, 0x6b, 0x62, 0x5f, 0x6c, 0x3b, 0x5b, 
    -	0x1e, 0x04, 0x04, 0x02, 0x14, 0x01, 0x00, 0x01, 0x3a, 0x3b, 0x38, 0x02, 
    -	0x3d, 0xfb, 0x5c, 0x4a, 0x5c, 0x01, 0xab, 0x97, 0x61, 0xcc, 0x66, 0x7f, 
    -	0xb9, 0x5b, 0xfe, 0xf6, 0xfe, 0xe4, 0x02, 0x57, 0x5f, 0x58, 0x5c, 0x01, 
    -	0x24, 0xf0, 0x01, 0x17, 0x29, 0x2c, 0xbe, 0x99, 0x15, 0x8e, 0xa3, 0x2e, 
    -	0x2b, 0x12, 0x27, 0x14, 0x00, 0x01, 0x00, 0x41, 0xff, 0xe8, 0x05, 0xee, 
    -	0x05, 0xb0, 0x00, 0x2c, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x29, 0x2f, 0x1b, 0xb1, 0x29, 0x0a, 0x3e, 0x59, 0xb0, 0x05, 
    -	0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x15, 0x04, 0x05, 0x11, 0x12, 0x39, 0xb0, 
    -	0x29, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x20, 0x04, 0x15, 0x14, 
    -	0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 
    -	0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 
    -	0x27, 0x02, 0x8b, 0x70, 0x5d, 0xed, 0xb4, 0x8d, 0x7d, 0x77, 0x7f, 0xfe, 
    -	0xa8, 0x01, 0x58, 0x01, 0x05, 0x01, 0x15, 0x8c, 0x85, 0x8f, 0x7e, 0x01, 
    -	0x2d, 0x27, 0x5d, 0x66, 0x04, 0x01, 0x1f, 0x1e, 0x01, 0x1d, 0x22, 0x22, 
    -	0x01, 0x04, 0xfe, 0xdf, 0xd5, 0xa8, 0xb8, 0x08, 0x01, 0x7e, 0x63, 0x79, 
    -	0xe3, 0x68, 0x6d, 0x58, 0x62, 0xe4, 0xd5, 0xcb, 0x74, 0xa6, 0x31, 0x23, 
    -	0xa6, 0x7c, 0x44, 0x30, 0x3e, 0x01, 0xab, 0x97, 0x61, 0xcc, 0x66, 0x86, 
    -	0xb3, 0x5a, 0xfe, 0xf6, 0xfe, 0xe4, 0x03, 0xa3, 0xb1, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x2d, 0xff, 0xe2, 0x05, 0x15, 0x04, 0x3a, 0x00, 0x2c, 
    -	0x00, 0x51, 0x00, 0xb0, 0x19, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 
    -	0x2f, 0x1b, 0xb1, 0x22, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb1, 0x03, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x19, 0x10, 0xb1, 
    -	0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x22, 0x10, 0xb1, 0x20, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x29, 0x18, 0x19, 0x11, 0x12, 0x39, 0x30, 0x31, 0x25, 
    -	0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 
    -	0x07, 0x06, 0x06, 0x23, 0x06, 0x26, 0x27, 0x35, 0x34, 0x26, 0x23, 0x21, 
    -	0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x21, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x03, 0x17, 0x01, 0x1f, 
    -	0x26, 0x44, 0x4c, 0x04, 0x01, 0x20, 0x1e, 0x01, 0x1d, 0x22, 0x24, 0x02, 
    -	0x04, 0xf3, 0xb2, 0xb8, 0xb5, 0x0a, 0x39, 0x35, 0xfe, 0xff, 0x02, 0xb7, 
    -	0x50, 0x4b, 0x4c, 0x4f, 0xfe, 0xfa, 0x06, 0x01, 0x0c, 0xd5, 0xea, 0x52, 
    -	0x50, 0x66, 0x5b, 0xfd, 0x2c, 0x31, 0x01, 0x88, 0x7a, 0x4c, 0xa4, 0x4f, 
    -	0x66, 0x92, 0x47, 0xd7, 0xe7, 0x03, 0x72, 0x82, 0x4b, 0x32, 0x38, 0xd5, 
    -	0x3c, 0x38, 0x3c, 0x48, 0xe2, 0xaa, 0x99, 0x4f, 0x71, 0x24, 0x19, 0x76, 
    -	0x55, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x42, 0xfe, 0xd0, 0x04, 0x37, 
    -	0x05, 0xb0, 0x00, 0x22, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0d, 
    -	0x10, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x16, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1d, 0x0c, 0x0d, 0x11, 0x12, 0x39, 0xb0, 
    -	0x03, 0x10, 0xb1, 0x21, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 0x23, 0x26, 0x26, 0x35, 
    -	0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x21, 0x27, 0x21, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 
    -	0x15, 0x15, 0x33, 0x04, 0x37, 0x9f, 0xc3, 0x41, 0x67, 0x28, 0x17, 0x77, 
    -	0x6d, 0xfe, 0xf6, 0x02, 0xf3, 0x7b, 0x78, 0x79, 0x75, 0xfe, 0xd0, 0x06, 
    -	0x01, 0x36, 0xf8, 0x01, 0x1a, 0x76, 0x72, 0x80, 0x71, 0xa4, 0x0b, 0xfe, 
    -	0xc5, 0x01, 0x30, 0x20, 0x94, 0x45, 0x68, 0x6c, 0x7a, 0xe1, 0x67, 0x66, 
    -	0x64, 0x76, 0xe1, 0xe3, 0xcb, 0x71, 0xa2, 0x32, 0x26, 0xb1, 0x83, 0x6b, 
    -	0x00, 0x01, 0x00, 0x6e, 0xfe, 0xbc, 0x04, 0x27, 0x04, 0x3a, 0x00, 0x22, 
    -	0x00, 0x54, 0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 
    -	0x2f, 0x1b, 0xb1, 0x16, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 
    -	0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x16, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x1d, 0x0c, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x05, 0x03, 0x23, 0x13, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 
    -	0x26, 0x23, 0x21, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 
    -	0x27, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 
    -	0x33, 0x04, 0x27, 0x9f, 0xc3, 0x46, 0x91, 0x12, 0x09, 0x5e, 0x59, 0xfe, 
    -	0xfc, 0x02, 0xfe, 0x54, 0x5c, 0x5d, 0x53, 0xfe, 0xd6, 0x08, 0x01, 0x32, 
    -	0xd7, 0xfe, 0x53, 0x50, 0x5d, 0x53, 0xa5, 0x09, 0xfe, 0xc5, 0x01, 0x44, 
    -	0x11, 0x60, 0x2e, 0x4b, 0x4c, 0x51, 0xc4, 0x45, 0x3c, 0x3d, 0x52, 0xdf, 
    -	0xba, 0x9f, 0x50, 0x79, 0x29, 0x22, 0x85, 0x5d, 0x07, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x41, 0xff, 0xe8, 0x07, 0x86, 0x05, 0xb0, 0x00, 0x21, 
    -	0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 
    -	0xb1, 0x1e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x00, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1e, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x10, 0x02, 0x21, 0x23, 
    -	0x35, 0x33, 0x32, 0x36, 0x11, 0x11, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 
    -	0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 
    -	0x06, 0x26, 0x27, 0x03, 0xf5, 0xfe, 0x83, 0xed, 0xfe, 0xeb, 0x35, 0x29, 
    -	0x7c, 0x6e, 0x03, 0xc4, 0x01, 0x41, 0x38, 0x61, 0x6c, 0x04, 0x01, 0x20, 
    -	0x1e, 0x01, 0x1d, 0x21, 0x24, 0x02, 0x04, 0xfe, 0xe2, 0xd2, 0xbf, 0xd2, 
    -	0x0a, 0x04, 0xcc, 0xfe, 0x34, 0xfe, 0x72, 0xfe, 0x8e, 0xe3, 0xfd, 0x01, 
    -	0x20, 0x02, 0xb0, 0xfb, 0xc4, 0x4a, 0x5c, 0x01, 0xab, 0x97, 0x61, 0xcb, 
    -	0x67, 0x7a, 0xbd, 0x5c, 0xfe, 0xf6, 0xfe, 0xe4, 0x03, 0xbe, 0xce, 0x00, 
    -	0x00, 0x01, 0x00, 0x3c, 0xff, 0xe8, 0x06, 0x73, 0x04, 0x3a, 0x00, 0x21, 
    -	0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 
    -	0xb1, 0x1e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x00, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1e, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x15, 0x10, 0x02, 0x23, 0x23, 
    -	0x37, 0x37, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 
    -	0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x06, 0x00, 0x23, 
    -	0x06, 0x26, 0x27, 0x02, 0xff, 0xcc, 0xc7, 0xe8, 0x48, 0x04, 0x29, 0x5a, 
    -	0x4d, 0x03, 0x13, 0x01, 0x49, 0x3f, 0x4b, 0x53, 0x04, 0x01, 0x1f, 0x1e, 
    -	0x01, 0x1d, 0x22, 0x24, 0x02, 0x04, 0xfe, 0xfc, 0xbf, 0xc7, 0xda, 0x0a, 
    -	0x03, 0x55, 0xe7, 0xfe, 0xc2, 0xfe, 0xd0, 0xf2, 0x01, 0xb1, 0xca, 0x01, 
    -	0xcc, 0xfd, 0x3a, 0x4a, 0x5c, 0x01, 0x95, 0x84, 0x5c, 0xc1, 0x60, 0x7b, 
    -	0xac, 0x56, 0xf6, 0xfe, 0xf9, 0x03, 0xbe, 0xce, 0x00, 0x01, 0x00, 0x85, 
    -	0xff, 0xe8, 0x07, 0x89, 0x05, 0xb0, 0x00, 0x1d, 0x00, 0x62, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x16, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 
    -	0x18, 0x0a, 0x3e, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x15, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 
    -	0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 0x27, 0x35, 0x21, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x05, 0x1b, 0x01, 0x41, 0x37, 0x62, 
    -	0x6c, 0x04, 0x01, 0x20, 0x1e, 0x01, 0x1d, 0x22, 0x23, 0x02, 0x04, 0xfe, 
    -	0xe2, 0xd3, 0xbf, 0xd2, 0x0a, 0xfd, 0xb3, 0xfe, 0xdb, 0x01, 0x25, 0x02, 
    -	0x4d, 0x05, 0xb0, 0xfb, 0xc4, 0x4a, 0x5c, 0x01, 0xab, 0x97, 0x61, 0xcb, 
    -	0x67, 0x7f, 0xb9, 0x5b, 0xfe, 0xf6, 0xfe, 0xe4, 0x03, 0xbe, 0xce, 0xe9, 
    -	0xfd, 0xa3, 0x05, 0xb0, 0xfd, 0x8e, 0x02, 0x72, 0x00, 0x01, 0x00, 0x5c, 
    -	0xff, 0xe8, 0x06, 0x61, 0x04, 0x3a, 0x00, 0x1d, 0x00, 0x62, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x18, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x0d, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x06, 
    -	0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 
    -	0x06, 0x00, 0x23, 0x06, 0x26, 0x27, 0x02, 0xef, 0xfe, 0x91, 0xfe, 0xdc, 
    -	0x01, 0x24, 0x01, 0x6f, 0x01, 0x24, 0x02, 0x49, 0x3f, 0x4c, 0x54, 0x04, 
    -	0x01, 0x1f, 0x1e, 0x01, 0x1c, 0x22, 0x22, 0x01, 0x04, 0xfe, 0xfc, 0xbf, 
    -	0xc6, 0xda, 0x0a, 0x01, 0xad, 0xfe, 0x53, 0x04, 0x3a, 0xfe, 0x56, 0x01, 
    -	0xaa, 0xfd, 0x3a, 0x4a, 0x5c, 0x01, 0x95, 0x84, 0x5b, 0xc1, 0x61, 0x7e, 
    -	0xaa, 0x55, 0xf6, 0xfe, 0xf9, 0x03, 0xbe, 0xce, 0x00, 0x01, 0x00, 0x4b, 
    -	0xff, 0xeb, 0x04, 0xd0, 0x05, 0xc5, 0x00, 0x21, 0x00, 0x3b, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x20, 0x00, 
    -	0x11, 0x11, 0x10, 0x00, 0x21, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 
    -	0x27, 0x21, 0x16, 0x16, 0x07, 0x06, 0x04, 0x02, 0xbd, 0xfe, 0xea, 0xfe, 
    -	0xa4, 0x01, 0x5c, 0x01, 0x16, 0x71, 0xb2, 0x44, 0x3f, 0x43, 0x90, 0x55, 
    -	0x99, 0xb5, 0xb5, 0x99, 0x70, 0x7b, 0x04, 0x01, 0x1b, 0x18, 0x01, 0x1c, 
    -	0x26, 0x14, 0x01, 0x04, 0xfe, 0xd2, 0x15, 0x01, 0x5d, 0x01, 0x0d, 0x01, 
    -	0x06, 0x01, 0x0c, 0x01, 0x5e, 0x2d, 0x2c, 0xcf, 0x21, 0x23, 0xe0, 0xa4, 
    -	0xfe, 0xf8, 0xa7, 0xe0, 0x01, 0x7a, 0x6d, 0x50, 0xae, 0x5e, 0xa6, 0x6b, 
    -	0x4b, 0xdf, 0xec, 0x00, 0x00, 0x01, 0x00, 0x46, 0xff, 0xeb, 0x04, 0x07, 
    -	0x04, 0x4e, 0x00, 0x21, 0x00, 0x38, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 
    -	0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x36, 0x36, 0x37, 0x34, 0x26, 0x27, 0x21, 0x16, 0x16, 
    -	0x15, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 
    -	0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x02, 0x64, 0x45, 0x37, 0x03, 0x0a, 0x09, 0x01, 0x1c, 0x0d, 0x0e, 0x04, 
    -	0xe6, 0xb9, 0xfc, 0xfe, 0xde, 0x01, 0x18, 0xf1, 0x5e, 0x8e, 0x2f, 0x2e, 
    -	0x2f, 0x79, 0x45, 0x71, 0x74, 0x7d, 0xce, 0x01, 0x3b, 0x3d, 0x34, 0x6d, 
    -	0x31, 0x41, 0x64, 0x2d, 0xab, 0xb1, 0x01, 0x39, 0xe4, 0x2a, 0xe2, 0x01, 
    -	0x3a, 0x23, 0x1f, 0xdc, 0x1b, 0x1f, 0xbb, 0x7d, 0x2a, 0x80, 0xba, 0x00, 
    -	0x00, 0x01, 0x00, 0x20, 0xff, 0xe8, 0x05, 0x63, 0x05, 0xb0, 0x00, 0x19, 
    -	0x00, 0x41, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x00, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x05, 0xd0, 0xb0, 0x16, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x15, 
    -	0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x21, 
    -	0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 0x27, 0x01, 0xd1, 0xfe, 
    -	0x4f, 0x04, 0x80, 0xfe, 0x55, 0x01, 0x41, 0x37, 0x62, 0x6c, 0x04, 0x01, 
    -	0x20, 0x1e, 0x01, 0x1d, 0x21, 0x24, 0x02, 0x04, 0xfe, 0xe2, 0xd3, 0xbf, 
    -	0xd2, 0x0a, 0x04, 0xcc, 0xe4, 0xe4, 0xfc, 0xa8, 0x4a, 0x5c, 0x01, 0xab, 
    -	0x97, 0x61, 0xcb, 0x67, 0x7a, 0xbd, 0x5c, 0xfe, 0xf6, 0xfe, 0xe4, 0x03, 
    -	0xbe, 0xce, 0x00, 0x00, 0x00, 0x01, 0x00, 0x42, 0xff, 0xe8, 0x04, 0xdd, 
    -	0x04, 0x3a, 0x00, 0x19, 0x00, 0x41, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 0xb0, 0x16, 0x10, 0xb1, 0x09, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 
    -	0x36, 0x26, 0x27, 0x21, 0x16, 0x16, 0x07, 0x06, 0x04, 0x23, 0x06, 0x26, 
    -	0x27, 0x01, 0x68, 0xfe, 0xda, 0x03, 0x8b, 0xfe, 0xbf, 0x01, 0x48, 0x3f, 
    -	0x4c, 0x54, 0x04, 0x01, 0x1f, 0x1e, 0x01, 0x1d, 0x22, 0x24, 0x02, 0x05, 
    -	0xfe, 0xfb, 0xbf, 0xc6, 0xda, 0x0a, 0x03, 0x58, 0xe2, 0xe2, 0xfe, 0x1c, 
    -	0x4a, 0x5c, 0x01, 0x73, 0x67, 0x45, 0x97, 0x48, 0x5d, 0x87, 0x40, 0xd7, 
    -	0xe7, 0x03, 0xbe, 0xce, 0x00, 0x01, 0x00, 0x6f, 0xff, 0xeb, 0x04, 0xf8, 
    -	0x05, 0xc5, 0x00, 0x2a, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x0a, 0x3e, 0x59, 0xb0, 0x17, 
    -	0x10, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x03, 0x19, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x28, 0x10, 0xb1, 0x20, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 
    -	0x24, 0x21, 0x32, 0x04, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x21, 0x17, 0x16, 0x04, 0x23, 0x20, 0x24, 0x6f, 
    -	0x88, 0x82, 0x73, 0x81, 0x01, 0x36, 0x01, 0x0b, 0xe4, 0x01, 0x3a, 0x05, 
    -	0x01, 0xfe, 0xe4, 0x91, 0x6b, 0x8d, 0x90, 0x82, 0x8a, 0xc5, 0xc5, 0x91, 
    -	0x92, 0xa4, 0x90, 0x76, 0x9b, 0x01, 0x1b, 0x01, 0x05, 0xfe, 0xb2, 0xe4, 
    -	0xfe, 0xf4, 0xfe, 0xb5, 0x01, 0x98, 0x7c, 0xad, 0x2b, 0x2f, 0xa6, 0x64, 
    -	0xc8, 0xd8, 0xe1, 0xb5, 0x06, 0x52, 0x69, 0x6f, 0x54, 0x61, 0x6c, 0xdb, 
    -	0x6b, 0x73, 0x5b, 0x75, 0x74, 0x55, 0x06, 0xcd, 0xd6, 0xe4, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xec, 0x04, 0x2e, 0x04, 0x4d, 0x02, 0x06, 
    -	0x01, 0x8f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2a, 0xfe, 0x4b, 0x06, 0x43, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0xc3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5f, 
    -	0x04, 0x98, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0xfe, 0x4b, 0x05, 0x3d, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xd8, 0x00, 0x00, 0x00, 0x07, 0x03, 0x5f, 
    -	0x03, 0x92, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 0xfe, 0x7a, 0x05, 0x1f, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5a, 
    -	0x01, 0x43, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xfe, 0x88, 0x04, 0x0f, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5a, 
    -	0x00, 0x82, 0x00, 0x0e, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x06, 0x72, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x30, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0x7d, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x16, 0x07, 0x11, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x70, 0x00, 0x00, 0x06, 0x7c, 
    -	0x05, 0xe0, 0x02, 0x26, 0x00, 0x50, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0x8b, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x2a, 0x08, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x18, 0x00, 0x00, 0x06, 0xfb, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0xd5, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x11, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1d, 0x00, 0x00, 0x05, 0xc2, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x3b, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x11, 0x08, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x18, 0x00, 0x00, 0x06, 0xfb, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0x8a, 0x01, 0x5c, 0x00, 0x09, 0x00, 0xb3, 0x14, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1d, 0x00, 0x00, 0x05, 0xc2, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xf0, 0x00, 0x05, 0x00, 0x09, 0x00, 0xb3, 0x14, 0x08, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x18, 0x00, 0x00, 0x06, 0xfb, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x01, 0x6f, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x15, 0x08, 0x0a, 0x04, 
    -	0x2b, 0xb0, 0x15, 0x10, 0xb0, 0x11, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1d, 0x00, 0x00, 0x05, 0xc2, 0x05, 0xb6, 0x02, 0x26, 
    -	0x00, 0x5a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0xd5, 0x00, 0x06, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x15, 0x09, 0x0a, 0x04, 0x2b, 0xb0, 0x15, 0x10, 
    -	0xb0, 0x11, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0xfe, 0x9e, 0x05, 0x1f, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x04, 0xe5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xfe, 0xac, 0x04, 0x0f, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x04, 0x34, 0x00, 0x0e, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0xc7, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0xee, 0x01, 0x42, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0c, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x06, 0x85, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0x82, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 
    -	0x3c, 0x08, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x7a, 0x07, 0xea, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x56, 0x00, 0x96, 0x01, 0x4b, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x12, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x12, 0x10, 0xb0, 0x18, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x05, 0x0c, 
    -	0x06, 0xa8, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x56, 
    -	0x28, 0x09, 0x00, 0x0f, 0x00, 0xb3, 0x32, 0x08, 0x19, 0x04, 0x2b, 0xb0, 
    -	0x32, 0x10, 0xb0, 0x38, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xa8, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0xe2, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x57, 0x00, 0x98, 0x01, 0x43, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x15, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x38, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x06, 0xa0, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x57, 
    -	0x28, 0x01, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 0x19, 0x04, 0x2b, 0xb0, 
    -	0x30, 0x10, 0xb0, 0x35, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x07, 0xe9, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x58, 0x00, 0x99, 0x01, 0x27, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x15, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0xa9, 
    -	0x06, 0xa9, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x58, 
    -	0x23, 0xe7, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 0x19, 0x04, 0x2b, 0xb0, 
    -	0x30, 0x10, 0xb0, 0x35, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0x00, 0x00, 0x05, 0x1f, 0x08, 0x06, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x59, 0x00, 0x9c, 0x01, 0x13, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x18, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 0xff, 0xeb, 0x04, 0x0f, 
    -	0x06, 0xc6, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x59, 
    -	0x21, 0xd3, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 0x19, 0x04, 0x2b, 0xb0, 
    -	0x30, 0x10, 0xb0, 0x38, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0c, 
    -	0xfe, 0x9e, 0x05, 0x1f, 0x07, 0x42, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x00, 0x27, 0x01, 0x52, 0x00, 0x95, 0x01, 0x54, 0x01, 0x07, 0x01, 0x60, 
    -	0x04, 0xe5, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 0xfe, 0xac, 0x04, 0x0f, 
    -	0x06, 0x00, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x26, 0x01, 0x52, 
    -	0x29, 0x12, 0x01, 0x07, 0x01, 0x60, 0x04, 0x34, 0x00, 0x0e, 0x00, 0x09, 
    -	0x00, 0xb3, 0x30, 0x03, 0x19, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 0x07, 0xf0, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x5a, 0x00, 0xcb, 0x01, 0x5e, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 
    -	0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x06, 0xaa, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x5a, 0x4e, 0x18, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 
    -	0x19, 0x04, 0x2b, 0xb0, 0x30, 0x10, 0xb0, 0x3f, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 0x07, 0xf0, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x54, 0x00, 0xcb, 0x01, 0x5e, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x15, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x15, 0x10, 
    -	0xb0, 0x0c, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x06, 0xaa, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x54, 0x5f, 0x18, 0x00, 0x0f, 0x00, 0xb3, 0x35, 0x08, 
    -	0x19, 0x04, 0x2b, 0xb0, 0x35, 0x10, 0xb0, 0x2c, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 0x08, 0x7c, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x5b, 0x00, 0xc9, 0x01, 0x5e, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 
    -	0xb0, 0x1c, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x07, 0x36, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x5b, 0x4f, 0x18, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 
    -	0x19, 0x04, 0x2b, 0xb0, 0x30, 0x10, 0xb0, 0x4c, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x05, 0x1f, 0x08, 0x40, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x5c, 0x00, 0xcd, 0x01, 0x5e, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x10, 0x10, 
    -	0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xff, 0xeb, 0x04, 0x0f, 0x06, 0xfa, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x5c, 0x58, 0x18, 0x00, 0x0f, 0x00, 0xb3, 0x30, 0x08, 
    -	0x19, 0x04, 0x2b, 0xb0, 0x30, 0x10, 0xb0, 0x3f, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0c, 0xfe, 0x9e, 0x05, 0x1f, 0x07, 0x68, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x00, 0x27, 0x01, 0x54, 0x00, 0xcb, 0x01, 0xb8, 
    -	0x01, 0x07, 0x01, 0x60, 0x04, 0xe5, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x37, 
    -	0xfe, 0xac, 0x04, 0x0f, 0x06, 0x26, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x00, 0x26, 0x01, 0x54, 0x5c, 0x76, 0x01, 0x07, 0x01, 0x60, 0x04, 0x34, 
    -	0x00, 0x0e, 0x00, 0x09, 0x00, 0xb3, 0x30, 0x09, 0x19, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0xa8, 0x04, 0x6d, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x04, 0xb3, 0x00, 0x0a, 0xff, 0xff, 0x00, 0x4d, 0xfe, 0x9e, 0x04, 0x02, 
    -	0x04, 0x4f, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x04, 0x95, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0xc7, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x04, 0xbe, 0x01, 0x42, 0x00, 0x09, 0x00, 0xb3, 0x0c, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x06, 0x86, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x04, 0x84, 0x00, 0x01, 0x00, 0x09, 0x00, 0xb3, 0x30, 0x08, 0x07, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x6d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0x6e, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 
    -	0x06, 0x2c, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x34, 0x33, 0x00, 0x09, 0x00, 0xb3, 0x23, 0x09, 0x07, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x05, 0x48, 
    -	0x07, 0xea, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x56, 
    -	0x00, 0x64, 0x01, 0x4b, 0x00, 0x0f, 0x00, 0xb3, 0x12, 0x07, 0x06, 0x04, 
    -	0x2b, 0xb0, 0x12, 0x10, 0xb0, 0x18, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x05, 0x0e, 0x06, 0xa9, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x56, 0x2a, 0x0a, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x24, 0x08, 0x07, 0x04, 0x2b, 0xb0, 0x24, 0x10, 0xb0, 0x2c, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0x74, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0xe2, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x57, 
    -	0x00, 0x64, 0x01, 0x43, 0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 
    -	0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0x3a, 0xff, 0xeb, 0x04, 0x02, 0x06, 0xa1, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x57, 0x2a, 0x02, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x22, 0x08, 0x07, 0x04, 0x2b, 0xb0, 0x22, 0x10, 0xb0, 0x29, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe5, 
    -	0x07, 0xe9, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x58, 
    -	0x00, 0x5f, 0x01, 0x27, 0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 
    -	0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0xab, 0x06, 0xaa, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x58, 0x25, 0xe8, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x22, 0x08, 0x07, 0x04, 0x2b, 0xb0, 0x22, 0x10, 0xb0, 0x29, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0x00, 0x00, 0x04, 0x6d, 
    -	0x08, 0x06, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x59, 
    -	0x00, 0x5d, 0x01, 0x13, 0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 
    -	0x2b, 0xb0, 0x10, 0x10, 0xb0, 0x18, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xff, 0xeb, 0x04, 0x02, 0x06, 0xc7, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x59, 0x23, 0xd4, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x22, 0x08, 0x07, 0x04, 0x2b, 0xb0, 0x22, 0x10, 0xb0, 0x2c, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x88, 0xfe, 0xa8, 0x04, 0x6d, 
    -	0x07, 0x42, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x01, 0x52, 
    -	0x00, 0x65, 0x01, 0x54, 0x01, 0x07, 0x01, 0x60, 0x04, 0xb3, 0x00, 0x0a, 
    -	0x00, 0x09, 0x00, 0xb3, 0x10, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xfe, 0x9e, 0x04, 0x02, 0x06, 0x01, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x00, 0x26, 0x01, 0x52, 0x2b, 0x13, 0x01, 0x07, 
    -	0x01, 0x60, 0x04, 0x95, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x22, 0x03, 
    -	0x07, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x9a, 
    -	0x00, 0x00, 0x02, 0x2f, 0x07, 0xc7, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x03, 0x8e, 0x01, 0x42, 0x00, 0x09, 0x00, 0xb3, 
    -	0x04, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x85, 
    -	0x00, 0x00, 0x02, 0x1b, 0x06, 0x72, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x03, 0x7a, 0xff, 0xed, 0x00, 0x09, 0x00, 0xb3, 
    -	0x04, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xfe, 0xa8, 0x01, 0xd0, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x03, 0x83, 0x00, 0x0a, 0xff, 0xff, 0x00, 0x6e, 
    -	0xfe, 0xa8, 0x01, 0xb5, 0x06, 0x18, 0x02, 0x26, 0x00, 0x4c, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x03, 0x68, 0x00, 0x0a, 0xff, 0xff, 0x00, 0x5c, 
    -	0xfe, 0x96, 0x05, 0x1b, 0x05, 0xc5, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x05, 0x12, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x43, 
    -	0xfe, 0x96, 0x04, 0x40, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x04, 0x98, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0xdc, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x05, 0x1d, 0x01, 0x57, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1c, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xff, 0xeb, 0x04, 0x40, 0x06, 0x85, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0xa3, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1c, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0xa7, 0x07, 0xff, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x56, 0x00, 0xc3, 0x01, 0x60, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x20, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 0x20, 0x10, 0xb0, 0x28, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x05, 0x2d, 
    -	0x06, 0xa8, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x56, 
    -	0x49, 0x09, 0x00, 0x0f, 0x00, 0xb3, 0x20, 0x08, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x20, 0x10, 0xb0, 0x28, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xd3, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x07, 0xf7, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x57, 0x00, 0xc3, 0x01, 0x58, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1e, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 0x1e, 0x10, 0xb0, 0x25, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x59, 0xff, 0xeb, 0x04, 0x40, 
    -	0x06, 0xa0, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x57, 
    -	0x49, 0x01, 0x00, 0x0f, 0x00, 0xb3, 0x1e, 0x08, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x1e, 0x10, 0xb0, 0x25, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x44, 0x07, 0xfe, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x58, 0x00, 0xbe, 0x01, 0x3c, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1e, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 0x1e, 0x10, 0xb0, 0x25, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0xca, 
    -	0x06, 0xa9, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x58, 
    -	0x44, 0xe7, 0x00, 0x0f, 0x00, 0xb3, 0x1e, 0x08, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x1e, 0x10, 0xb0, 0x25, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x08, 0x1b, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x59, 0x00, 0xbc, 0x01, 0x28, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1e, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 0x1e, 0x10, 0xb0, 0x28, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0x40, 
    -	0x06, 0xc6, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x59, 
    -	0x42, 0xd3, 0x00, 0x0f, 0x00, 0xb3, 0x1e, 0x08, 0x03, 0x04, 0x2b, 0xb0, 
    -	0x1e, 0x10, 0xb0, 0x28, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5c, 
    -	0xfe, 0x96, 0x05, 0x1b, 0x07, 0x57, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x00, 0x27, 0x01, 0x52, 0x00, 0xc4, 0x01, 0x69, 0x01, 0x07, 0x01, 0x60, 
    -	0x05, 0x12, 0xff, 0xf8, 0x00, 0x09, 0x00, 0xb3, 0x1e, 0x08, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x43, 0xfe, 0x96, 0x04, 0x40, 
    -	0x06, 0x00, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x00, 0x26, 0x01, 0x52, 
    -	0x4a, 0x12, 0x01, 0x07, 0x01, 0x60, 0x04, 0x98, 0xff, 0xf8, 0x00, 0x09, 
    -	0x00, 0xb3, 0x1e, 0x03, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x57, 0xff, 0xeb, 0x06, 0x1a, 0x07, 0x18, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0xcb, 0x01, 0x52, 
    -	0x00, 0x09, 0x00, 0xb3, 0x29, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0xee, 0x05, 0xe0, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x42, 0x00, 0x1a, 
    -	0x00, 0x09, 0x00, 0xb3, 0x2a, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x57, 0xff, 0xeb, 0x06, 0x1a, 0x07, 0x22, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x01, 0x16, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x27, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0xee, 0x05, 0xe0, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0x8d, 0x00, 0x1a, 
    -	0x00, 0x09, 0x00, 0xb3, 0x27, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x57, 0xff, 0xeb, 0x06, 0x1a, 0x07, 0xbd, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x05, 0x2d, 0x01, 0x38, 
    -	0x00, 0x09, 0x00, 0xb3, 0x36, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0xee, 0x06, 0x85, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0xa4, 0x00, 0x00, 
    -	0x00, 0x09, 0x00, 0xb3, 0x36, 0x08, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x57, 0xff, 0xeb, 0x06, 0x1a, 0x07, 0x63, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0xdd, 0x01, 0x6a, 
    -	0x00, 0x09, 0x00, 0xb3, 0x29, 0x08, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xeb, 0x04, 0xee, 0x06, 0x2b, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 0x53, 0x32, 0x00, 0x09, 
    -	0x00, 0xb3, 0x29, 0x03, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x57, 0xfe, 0x9e, 0x06, 0x1a, 0x06, 0x51, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x05, 0x0b, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x96, 0x04, 0xee, 0x04, 0xcf, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x99, 0xff, 0xf8, 
    -	0xff, 0xff, 0x00, 0x78, 0xfe, 0x96, 0x05, 0x08, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x05, 0x17, 0xff, 0xf8, 
    -	0xff, 0xff, 0x00, 0x69, 0xfe, 0x9e, 0x04, 0x18, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x2f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x05, 0x08, 0x07, 0xc7, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x05, 0x22, 0x01, 0x42, 
    -	0x00, 0x09, 0x00, 0xb3, 0x12, 0x08, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x18, 0x06, 0x72, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0xa2, 0xff, 0xed, 
    -	0x00, 0x09, 0x00, 0xb3, 0x14, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x06, 0x80, 0x07, 0x22, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0xcd, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1f, 0x07, 0x12, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x05, 0x77, 0x05, 0xcb, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x40, 0x00, 0x05, 
    -	0x00, 0x09, 0x00, 0xb3, 0x22, 0x08, 0x0f, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x06, 0x80, 0x07, 0x22, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x01, 0x18, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1c, 0x07, 0x12, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x05, 0x77, 0x05, 0xcb, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0x8b, 0x00, 0x05, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1f, 0x08, 0x0f, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x06, 0x80, 0x07, 0xc7, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x05, 0x2f, 0x01, 0x42, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1b, 0x08, 0x12, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x05, 0x77, 0x06, 0x72, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0xa2, 0xff, 0xed, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1e, 0x08, 0x0f, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x06, 0x80, 0x07, 0x6d, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0xdf, 0x01, 0x74, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1e, 0x08, 0x11, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x69, 0xff, 0xeb, 0x05, 0x77, 0x06, 0x16, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 0x52, 0x1d, 0x00, 0x09, 
    -	0x00, 0xb3, 0x21, 0x09, 0x0e, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xfe, 0x96, 0x06, 0x80, 0x06, 0x47, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x05, 0x24, 0xff, 0xf8, 
    -	0xff, 0xff, 0x00, 0x69, 0xfe, 0x9e, 0x05, 0x77, 0x04, 0xac, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x2f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0x00, 0x00, 0x05, 0x07, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0xd7, 0x01, 0x5c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0b, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0x4b, 0x04, 0x11, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 0x56, 0x05, 0x00, 0x09, 
    -	0x00, 0xb3, 0x17, 0x08, 0x15, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x05, 0xfe, 0xa8, 0x05, 0x07, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0xe3, 0x00, 0x0a, 
    -	0xff, 0xff, 0x00, 0x05, 0xfd, 0xf1, 0x04, 0x11, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x60, 0x05, 0x54, 0xff, 0x53, 
    -	0x00, 0x06, 0x00, 0xb0, 0x17, 0x2f, 0x30, 0x31, 0xff, 0xff, 0x00, 0x05, 
    -	0x00, 0x00, 0x05, 0x07, 0x07, 0xc7, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0xee, 0x01, 0x42, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0a, 0x08, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0xfe, 0x4b, 0x04, 0x11, 0x06, 0x72, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0x6d, 0xff, 0xed, 0x00, 0x09, 0x00, 0xb3, 
    -	0x16, 0x08, 0x15, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0x00, 0x00, 0x05, 0x07, 0x07, 0x6d, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0x9e, 0x01, 0x74, 0x00, 0x09, 0x00, 0xb3, 
    -	0x0d, 0x08, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x05, 
    -	0xfe, 0x4b, 0x04, 0x11, 0x06, 0x16, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x1d, 0x1d, 0x00, 0x09, 0x00, 0xb3, 0x19, 0x09, 
    -	0x14, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x41, 
    -	0xff, 0xeb, 0x05, 0x1b, 0x06, 0x9d, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x30, 0xfe, 0xcf, 0x00, 0xd8, 0x00, 0x10, 0x00, 0xb0, 
    -	0x24, 0x2f, 0xb4, 0x4f, 0x24, 0x5f, 0x24, 0x02, 0x5d, 0xb0, 0x1d, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x98, 0x02, 0x59, 0x04, 0xd4, 
    -	0x03, 0x3d, 0x00, 0x46, 0x03, 0x1e, 0xda, 0x00, 0x53, 0x33, 0x40, 0x00, 
    -	0xff, 0xff, 0x00, 0x9a, 0x02, 0x59, 0x05, 0xd0, 0x03, 0x3d, 0x00, 0x46, 
    -	0x03, 0x1e, 0xb0, 0x00, 0x66, 0x66, 0x40, 0x00, 0xff, 0xff, 0x00, 0x9a, 
    -	0x02, 0x59, 0x05, 0xd0, 0x03, 0x3d, 0x00, 0x46, 0x03, 0x1e, 0xb0, 0x00, 
    -	0x66, 0x66, 0x40, 0x00, 0xff, 0xff, 0x00, 0x02, 0xfe, 0x27, 0x03, 0x90, 
    -	0x00, 0x00, 0x00, 0x27, 0x00, 0x42, 0x00, 0x01, 0xff, 0x02, 0x01, 0x06, 
    -	0x00, 0x42, 0x01, 0x00, 0x00, 0x3b, 0x00, 0xb2, 0xb0, 0x01, 0x01, 0x71, 
    -	0xb4, 0xa0, 0x01, 0xb0, 0x01, 0x02, 0x72, 0x40, 0x09, 0x00, 0x01, 0x10, 
    -	0x01, 0x20, 0x01, 0x30, 0x01, 0x04, 0x5d, 0xb6, 0x10, 0x01, 0x20, 0x01, 
    -	0x30, 0x01, 0x03, 0x72, 0xb6, 0x10, 0x01, 0x20, 0x01, 0x30, 0x01, 0x03, 
    -	0x71, 0x40, 0x0b, 0x70, 0x01, 0x80, 0x01, 0x90, 0x01, 0xa0, 0x01, 0xb0, 
    -	0x01, 0x05, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 
    -	0x03, 0xf7, 0x01, 0x63, 0x06, 0x18, 0x00, 0x05, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x1a, 0x3e, 0x59, 
    -	0x30, 0x31, 0x13, 0x13, 0x33, 0x03, 0x15, 0x23, 0x32, 0xa2, 0x8f, 0x3c, 
    -	0xf5, 0x04, 0xb7, 0x01, 0x61, 0xfe, 0xa0, 0xc1, 0x00, 0x01, 0x00, 0x39, 
    -	0x03, 0xf8, 0x01, 0x6b, 0x06, 0x18, 0x00, 0x05, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x1a, 0x3e, 0x59, 
    -	0x30, 0x31, 0x01, 0x03, 0x23, 0x13, 0x35, 0x33, 0x01, 0x6b, 0xa2, 0x90, 
    -	0x3c, 0xf6, 0x05, 0x56, 0xfe, 0xa2, 0x01, 0x5d, 0xc3, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x32, 0xfe, 0xf9, 0x01, 0x64, 0x01, 0x1f, 0x00, 0x05, 
    -	0x00, 0x06, 0x00, 0xb0, 0x04, 0x2f, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 
    -	0x11, 0x33, 0x01, 0x64, 0x93, 0x9f, 0x3c, 0xf6, 0x13, 0xfe, 0xe6, 0x01, 
    -	0x0a, 0x01, 0x1c, 0x00, 0xff, 0xff, 0x00, 0x11, 0x03, 0xf8, 0x01, 0x43, 
    -	0x06, 0x18, 0x00, 0x47, 0x02, 0xf9, 0x01, 0x7c, 0x00, 0x00, 0xc0, 0x02, 
    -	0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x32, 0x03, 0xf7, 0x02, 0xac, 
    -	0x06, 0x18, 0x00, 0x26, 0x02, 0xf8, 0x00, 0x00, 0x00, 0x07, 0x02, 0xf8, 
    -	0x01, 0x49, 0x00, 0x00, 0xff, 0xff, 0x00, 0x39, 0x03, 0xf8, 0x02, 0xbc, 
    -	0x06, 0x18, 0x00, 0x26, 0x02, 0xf9, 0x00, 0x00, 0x00, 0x07, 0x02, 0xf9, 
    -	0x01, 0x51, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0xff, 0x1f, 0x02, 0xaa, 
    -	0x01, 0x2a, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x09, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 0x35, 0x33, 0x05, 
    -	0x03, 0x23, 0x13, 0x35, 0x33, 0x01, 0x54, 0xa2, 0x80, 0x3c, 0xe6, 0x01, 
    -	0x56, 0xa2, 0x81, 0x3c, 0xe7, 0x37, 0xfe, 0xe8, 0x01, 0x0c, 0xff, 0xf3, 
    -	0xfe, 0xe8, 0x01, 0x14, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x39, 
    -	0x00, 0x00, 0x04, 0x16, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0x4c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x04, 0x16, 0xfe, 0xa1, 0xfe, 0xdc, 0xfe, 0xa6, 0x01, 0x5a, 
    -	0x01, 0x24, 0x01, 0x5f, 0x03, 0x52, 0xfc, 0xae, 0x03, 0x52, 0xe8, 0x01, 
    -	0x76, 0xfe, 0x8a, 0x00, 0x00, 0x01, 0x00, 0x62, 0xfe, 0x60, 0x04, 0x3f, 
    -	0x05, 0xb0, 0x00, 0x13, 0x00, 0x7e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x10, 0xd0, 0xb0, 0x11, 
    -	0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x12, 0xd0, 0xb0, 0x13, 0xd0, 0x30, 0x31, 
    -	0x21, 0x21, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 
    -	0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x04, 0x3f, 0xfe, 0xa1, 
    -	0xfe, 0xdb, 0xfe, 0xa7, 0x01, 0x59, 0xfe, 0xa7, 0x01, 0x59, 0x01, 0x25, 
    -	0x01, 0x5f, 0xfe, 0xa1, 0x01, 0x5f, 0xfe, 0x60, 0x01, 0xa0, 0xe0, 0x02, 
    -	0x78, 0xe2, 0x01, 0x76, 0xfe, 0x8a, 0xe2, 0xfd, 0x88, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x87, 0x01, 0xeb, 0x02, 0x64, 0x04, 0x0a, 0x00, 0x0d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x87, 0x82, 0x6b, 0x6e, 
    -	0x82, 0x81, 0x6d, 0x6d, 0x82, 0x03, 0x26, 0x64, 0x80, 0x7f, 0x65, 0x5a, 
    -	0x65, 0x7c, 0x7d, 0x64, 0xff, 0xff, 0x00, 0x90, 0x00, 0x00, 0x03, 0x6f, 
    -	0x01, 0x00, 0x00, 0x26, 0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x11, 
    -	0x01, 0xbb, 0x00, 0x00, 0xff, 0xff, 0x00, 0x90, 0x00, 0x00, 0x05, 0x13, 
    -	0x01, 0x00, 0x00, 0x26, 0x00, 0x11, 0x00, 0x00, 0x00, 0x27, 0x00, 0x11, 
    -	0x01, 0xbb, 0x00, 0x00, 0x00, 0x07, 0x00, 0x11, 0x03, 0x5f, 0x00, 0x00, 
    -	0x00, 0x06, 0x00, 0x59, 0xff, 0xec, 0x07, 0x6d, 0x05, 0xc5, 0x00, 0x19, 
    -	0x00, 0x27, 0x00, 0x35, 0x00, 0x43, 0x00, 0x51, 0x00, 0x55, 0x00, 0x92, 
    -	0x00, 0xb0, 0x52, 0x2f, 0xb0, 0x54, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x16, 
    -	0x10, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x09, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x24, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb1, 0x2b, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb1, 0x32, 0x04, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x16, 0x10, 0xb1, 0x39, 0x04, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x40, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x39, 0x10, 0xb0, 0x47, 0xd0, 0xb0, 0x40, 0x10, 0xb0, 0x4e, 0xd0, 
    -	0x30, 0x31, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 
    -	0x23, 0x22, 0x26, 0x35, 0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x05, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x05, 0x27, 0x01, 0x17, 0x03, 0x2d, 0xad, 0x8f, 0x4a, 0x73, 0x27, 0x25, 
    -	0x74, 0x4a, 0x90, 0xad, 0xac, 0x8f, 0x4b, 0x75, 0x25, 0x27, 0x72, 0x49, 
    -	0x91, 0xad, 0xfd, 0x2c, 0xa4, 0x89, 0x90, 0xad, 0xac, 0x8f, 0x8a, 0xa5, 
    -	0xb2, 0x40, 0x3d, 0x3a, 0x3f, 0x41, 0x3a, 0x3c, 0x3f, 0x02, 0xe4, 0x44, 
    -	0x38, 0x41, 0x38, 0x40, 0x3b, 0x3b, 0x3f, 0x01, 0xc7, 0x44, 0x38, 0x41, 
    -	0x38, 0x40, 0x3b, 0x3b, 0x3f, 0xfc, 0x17, 0x8e, 0x02, 0xc7, 0x8e, 0x01, 
    -	0x65, 0x7f, 0xad, 0x38, 0x31, 0x31, 0x38, 0xad, 0x7f, 0x4d, 0x80, 0xac, 
    -	0x37, 0x32, 0x32, 0x37, 0xac, 0x80, 0x03, 0x80, 0x7f, 0xae, 0xad, 0x80, 
    -	0x4d, 0x7f, 0xac, 0xac, 0x7f, 0x3a, 0x4f, 0x4f, 0x3a, 0x4d, 0x3a, 0x51, 
    -	0x51, 0x3a, 0xfc, 0x80, 0x39, 0x51, 0x4b, 0x3f, 0x4d, 0x39, 0x51, 0x50, 
    -	0x3a, 0x4d, 0x39, 0x51, 0x4b, 0x3f, 0x4d, 0x39, 0x51, 0x50, 0x3a, 0xf8, 
    -	0x4b, 0x04, 0x72, 0x4b, 0xff, 0xff, 0x00, 0x32, 0x03, 0xf0, 0x01, 0x18, 
    -	0x06, 0x18, 0x02, 0x06, 0x00, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x32, 
    -	0x04, 0x0f, 0x02, 0x5e, 0x06, 0x1b, 0x02, 0x06, 0x00, 0x05, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6c, 0x00, 0x97, 0x02, 0x3f, 0x03, 0xb6, 0x00, 0x06, 
    -	0x00, 0x09, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0x2f, 0x30, 0x31, 0x01, 
    -	0x13, 0x23, 0x01, 0x35, 0x01, 0x33, 0x01, 0x4f, 0xf0, 0xbb, 0xfe, 0xe8, 
    -	0x01, 0x18, 0xbb, 0x02, 0x26, 0xfe, 0x71, 0x01, 0x86, 0x13, 0x01, 0x86, 
    -	0x00, 0x01, 0x00, 0x50, 0x00, 0x97, 0x02, 0x24, 0x03, 0xb6, 0x00, 0x06, 
    -	0x00, 0x09, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 0x2f, 0x30, 0x31, 0x01, 
    -	0x01, 0x15, 0x01, 0x23, 0x13, 0x03, 0x01, 0x0c, 0x01, 0x18, 0xfe, 0xe8, 
    -	0xbc, 0xef, 0xef, 0x03, 0xb6, 0xfe, 0x7a, 0x13, 0xfe, 0x7a, 0x01, 0x8f, 
    -	0x01, 0x90, 0x00, 0x00, 0xff, 0xff, 0x00, 0x86, 0x00, 0x00, 0x03, 0xd7, 
    -	0x05, 0xb0, 0x00, 0x26, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x04, 
    -	0x02, 0x2d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1d, 0x00, 0x6d, 0x03, 0x72, 
    -	0x05, 0x2a, 0x00, 0x03, 0x00, 0x09, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 
    -	0x2f, 0x30, 0x31, 0x37, 0x27, 0x01, 0x17, 0xab, 0x8e, 0x02, 0xc7, 0x8e, 
    -	0x6d, 0x4b, 0x04, 0x72, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x36, 
    -	0x02, 0x30, 0x03, 0x5a, 0x05, 0xc5, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x3c, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb0, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb2, 0x08, 0x02, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x01, 
    -	0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 0x31, 
    -	0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 0x01, 0x33, 0x03, 
    -	0x11, 0x27, 0x03, 0x02, 0xec, 0x6e, 0x6e, 0xdd, 0xfe, 0x2b, 0x04, 0x01, 
    -	0xd4, 0xe2, 0xdd, 0x06, 0xe3, 0x03, 0x84, 0xaa, 0xaa, 0xaa, 0x7c, 0x02, 
    -	0x6f, 0xfd, 0xbf, 0x01, 0x29, 0x02, 0xfe, 0xd5, 0x00, 0x01, 0x00, 0x56, 
    -	0x02, 0x8d, 0x03, 0x05, 0x05, 0xba, 0x00, 0x13, 0x00, 0x67, 0x00, 0xb0, 
    -	0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x10, 0x3e, 0x59, 0xb2, 0x5f, 0x11, 0x01, 0x5d, 0xb2, 0xef, 0x11, 
    -	0x01, 0x71, 0xb2, 0x4f, 0x11, 0x01, 0x72, 0xb2, 0xaf, 0x11, 0x01, 0x72, 
    -	0xb2, 0xdf, 0x11, 0x01, 0x72, 0xb2, 0x7f, 0x11, 0x01, 0x72, 0xb2, 0x1f, 
    -	0x11, 0x01, 0x72, 0xb2, 0xbf, 0x11, 0x01, 0x71, 0xb2, 0xf0, 0x11, 0x01, 
    -	0x5d, 0xb2, 0x20, 0x11, 0x01, 0x71, 0xb0, 0x11, 0x10, 0xb0, 0x09, 0xd0, 
    -	0xb0, 0x04, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 
    -	0x11, 0xff, 0x20, 0x24, 0x71, 0x4a, 0x7f, 0x88, 0xd5, 0x40, 0x3f, 0x31, 
    -	0x43, 0x11, 0xd6, 0x05, 0xae, 0x7b, 0x40, 0x47, 0x96, 0x9d, 0xfe, 0x06, 
    -	0x01, 0xbc, 0x65, 0x58, 0x2a, 0x26, 0xfd, 0xd7, 0x03, 0x21, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x12, 0x00, 0x00, 0x04, 0x74, 0x05, 0xb0, 0x00, 0x11, 
    -	0x00, 0x5f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb2, 0x10, 0x06, 0x0c, 0x11, 0x12, 0x39, 
    -	0xb0, 0x10, 0x2f, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x06, 0x0c, 0x11, 0x12, 0x39, 0xb0, 0x02, 
    -	0x2f, 0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x08, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x0c, 0x10, 0xb1, 
    -	0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x35, 0x23, 0x35, 
    -	0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x04, 0x0e, 0xfd, 0x9e, 0x01, 
    -	0x05, 0xfe, 0xfb, 0xfe, 0xdc, 0x76, 0x76, 0x03, 0xec, 0xfd, 0x38, 0x02, 
    -	0x62, 0x02, 0x5d, 0xba, 0xc8, 0xdb, 0xdb, 0xc8, 0x04, 0x0d, 0xe1, 0xfe, 
    -	0x6f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x58, 0x00, 0x00, 0x04, 0x80, 
    -	0x05, 0xc5, 0x00, 0x2a, 0x00, 0x76, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb2, 0x26, 0x29, 
    -	0x03, 0x2b, 0xb0, 0x06, 0x10, 0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0xd0, 0xb0, 0x29, 0x10, 0xb0, 
    -	0x2a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0e, 0xd0, 
    -	0xb0, 0x29, 0x10, 0xb0, 0x10, 0xd0, 0xb0, 0x26, 0x10, 0xb0, 0x11, 0xd0, 
    -	0xb0, 0x26, 0x10, 0xb0, 0x25, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x14, 0xd0, 0xb0, 0x18, 0x10, 0xb1, 0x20, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1d, 0x25, 0x20, 0x11, 
    -	0x12, 0x39, 0x30, 0x31, 0x01, 0x15, 0x14, 0x06, 0x07, 0x21, 0x15, 0x21, 
    -	0x35, 0x33, 0x36, 0x36, 0x35, 0x35, 0x23, 0x35, 0x33, 0x27, 0x23, 0x27, 
    -	0x33, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x17, 0x21, 0x15, 0x21, 0x17, 0x21, 0x15, 0x02, 
    -	0x28, 0x25, 0x24, 0x02, 0xa1, 0xfc, 0x1c, 0x0a, 0x30, 0x2e, 0xab, 0xa4, 
    -	0x04, 0xa0, 0x01, 0x9a, 0x03, 0xf1, 0xca, 0xd7, 0xed, 0x04, 0x02, 0xfe, 
    -	0xe4, 0x5c, 0x47, 0x46, 0x50, 0x03, 0x01, 0x64, 0xfe, 0xa3, 0x04, 0x01, 
    -	0x59, 0x01, 0xb6, 0x02, 0x29, 0x7e, 0x2d, 0xe0, 0xe0, 0x0d, 0x92, 0x35, 
    -	0x02, 0xc8, 0x66, 0xc8, 0x6b, 0xbe, 0xf0, 0xdf, 0xb7, 0x06, 0x60, 0x5b, 
    -	0x75, 0x58, 0x6b, 0xc8, 0x66, 0xc8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8d, 
    -	0xff, 0xeb, 0x06, 0x38, 0x05, 0xb0, 0x00, 0x23, 0x00, 0x2c, 0x00, 0x7f, 
    -	0x00, 0xb0, 0x19, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 
    -	0xb1, 0x1c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 
    -	0x1b, 0xb1, 0x22, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 
    -	0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x22, 0x10, 0xb0, 
    -	0x01, 0xd0, 0xb0, 0x22, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x0f, 0x10, 0xb1, 
    -	0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x19, 0x10, 0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x2c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x33, 0x15, 0x23, 
    -	0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x11, 0x23, 0x06, 0x07, 0x06, 0x23, 0x23, 0x11, 0x21, 0x11, 
    -	0x21, 0x32, 0x17, 0x16, 0x17, 0x33, 0x11, 0x01, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x05, 0x71, 0xb6, 0xb6, 0x34, 0x2c, 0x17, 0x21, 
    -	0x16, 0x19, 0x2c, 0x54, 0x31, 0x97, 0xa3, 0x22, 0x1d, 0x64, 0x8e, 0xfe, 
    -	0x5e, 0xfe, 0xcd, 0x01, 0x91, 0xfe, 0x8e, 0x6e, 0x19, 0x1c, 0xfd, 0x73, 
    -	0x5e, 0x73, 0x74, 0x74, 0x73, 0x5e, 0x05, 0x43, 0xfe, 0xf7, 0xcd, 0xfd, 
    -	0xd9, 0x3f, 0x36, 0x05, 0x06, 0xd3, 0x0f, 0x0f, 0xa6, 0xb4, 0x02, 0x28, 
    -	0x85, 0x5c, 0x83, 0xfd, 0xf7, 0x05, 0xb0, 0x81, 0x64, 0x91, 0x01, 0x09, 
    -	0xfd, 0xb7, 0x86, 0x61, 0x5d, 0x81, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 
    -	0xfe, 0xa7, 0x04, 0xa2, 0x06, 0x18, 0x00, 0x26, 0x00, 0x47, 0x00, 0x00, 
    -	0x00, 0x27, 0x03, 0x46, 0x01, 0x67, 0x02, 0x3c, 0x01, 0x07, 0x00, 0x42, 
    -	0x00, 0x94, 0xff, 0x82, 0x00, 0x1e, 0x00, 0xb2, 0x9f, 0x22, 0x01, 0x5d, 
    -	0xb4, 0x2f, 0x22, 0x3f, 0x22, 0x02, 0x5d, 0xb2, 0xef, 0x22, 0x01, 0x5d, 
    -	0xb2, 0x7f, 0x22, 0x01, 0x5d, 0xb2, 0xf0, 0x22, 0x01, 0x5d, 0x30, 0x31, 
    -	0x00, 0x01, 0x00, 0x47, 0xff, 0xeb, 0x03, 0xed, 0x05, 0xc5, 0x00, 0x2b, 
    -	0x00, 0x8d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 
    -	0x1b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 
    -	0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb2, 0x2b, 0x27, 0x03, 0x2b, 0xb2, 0x1f, 
    -	0x2b, 0x01, 0x71, 0xb2, 0xbf, 0x2b, 0x01, 0x71, 0xb0, 0x2b, 0x10, 0xb0, 
    -	0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0c, 0x10, 
    -	0xb1, 0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0x10, 0xb0, 0x11, 0xd0, 0xb0, 0x2b, 0x10, 0xb0, 0x13, 0xd0, 
    -	0xb2, 0x0f, 0x27, 0x01, 0x5d, 0xb2, 0xbf, 0x27, 0x01, 0x71, 0xb2, 0x7f, 
    -	0x27, 0x01, 0x5d, 0xb2, 0x1f, 0x27, 0x01, 0x71, 0xb0, 0x27, 0x10, 0xb0, 
    -	0x28, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x14, 0xd0, 
    -	0xb0, 0x27, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x1b, 0x10, 0xb1, 0x22, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 
    -	0x22, 0x00, 0x35, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 
    -	0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x03, 0xa9, 0xfe, 0x54, 0x87, 
    -	0x78, 0x3a, 0x6f, 0x33, 0x15, 0x39, 0x7a, 0x3e, 0xf5, 0xfe, 0xd2, 0x92, 
    -	0x92, 0x92, 0x92, 0x01, 0x2d, 0xf4, 0x3c, 0x73, 0x44, 0x15, 0x35, 0x71, 
    -	0x38, 0x76, 0x87, 0x01, 0xac, 0xfe, 0x54, 0x01, 0xac, 0x01, 0xc7, 0x08, 
    -	0x63, 0x91, 0x11, 0x11, 0xe3, 0x0f, 0x10, 0x01, 0x13, 0xc1, 0x08, 0xc8, 
    -	0x74, 0xc8, 0x0d, 0xcb, 0x01, 0x22, 0x10, 0x0f, 0xe5, 0x10, 0x13, 0xa1, 
    -	0x69, 0x0f, 0xc8, 0x74, 0x00, 0x04, 0x00, 0x64, 0xff, 0xec, 0x05, 0x91, 
    -	0x05, 0xc5, 0x00, 0x1d, 0x00, 0x2b, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x79, 
    -	0x00, 0xb0, 0x3a, 0x2f, 0xb0, 0x3c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb0, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x13, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1a, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x28, 0x10, 0xb0, 0x21, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x28, 0x10, 0xb1, 0x2f, 0x04, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x21, 0x10, 0xb1, 
    -	0x36, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x01, 0x34, 0x36, 0x33, 0x32, 
    -	0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x05, 
    -	0x27, 0x01, 0x17, 0x02, 0xad, 0x02, 0x04, 0x9a, 0x8b, 0x8d, 0x9d, 0x9d, 
    -	0x8b, 0x8c, 0x9b, 0x04, 0x02, 0xba, 0x36, 0x31, 0x32, 0x34, 0x35, 0x33, 
    -	0x30, 0x35, 0x01, 0x24, 0xa8, 0x95, 0x96, 0xa7, 0xa6, 0x95, 0x96, 0xa9, 
    -	0xc2, 0x45, 0x38, 0x41, 0x38, 0x40, 0x3b, 0x3c, 0x3f, 0xfd, 0xe9, 0x8e, 
    -	0x02, 0xc7, 0x8e, 0x04, 0x28, 0x06, 0x6b, 0x97, 0xaa, 0x81, 0x4d, 0x81, 
    -	0xac, 0x98, 0x6c, 0x06, 0x29, 0x3f, 0x50, 0x3b, 0x4d, 0x3a, 0x4f, 0x3e, 
    -	0x28, 0xfd, 0x3d, 0x80, 0xac, 0xab, 0x81, 0x4d, 0x82, 0xaa, 0xab, 0x81, 
    -	0x39, 0x51, 0x4b, 0x3f, 0x4d, 0x39, 0x51, 0x51, 0x39, 0xf8, 0x4b, 0x04, 
    -	0x72, 0x4b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1a, 0xff, 0xed, 0x03, 0xaf, 
    -	0x05, 0xc5, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x5f, 0x00, 0xb0, 0x17, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x17, 0x10, 0xb0, 0x04, 0xd0, 0xb1, 0x0c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x10, 0x10, 0xb1, 0x20, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x17, 0x10, 0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x07, 0x06, 0x24, 0x35, 
    -	0x35, 0x06, 0x06, 0x23, 0x35, 0x32, 0x36, 0x37, 0x11, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x15, 0x14, 0x02, 0x07, 0x15, 0x14, 0x16, 0x33, 0x03, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x17, 0x36, 0x36, 0x02, 
    -	0xe9, 0x05, 0xff, 0xfe, 0xfd, 0x31, 0x64, 0x33, 0x36, 0x65, 0x2d, 0xc9, 
    -	0xaf, 0x96, 0xbf, 0xdb, 0xbf, 0x60, 0x74, 0x40, 0x29, 0x1e, 0x25, 0x28, 
    -	0x06, 0x45, 0x49, 0x0e, 0x02, 0x03, 0xee, 0xd4, 0x03, 0x08, 0x08, 0xbb, 
    -	0x09, 0x09, 0x01, 0x97, 0xd1, 0xee, 0xbb, 0x9d, 0x2a, 0x90, 0xfe, 0xc8, 
    -	0x63, 0x34, 0x7b, 0x79, 0x03, 0x51, 0x2c, 0x31, 0x3c, 0x57, 0x54, 0xfe, 
    -	0xe0, 0x01, 0x39, 0xa4, 0xff, 0xff, 0x00, 0x7f, 0x00, 0x00, 0x08, 0x73, 
    -	0x05, 0xc2, 0x00, 0x22, 0x00, 0x31, 0xf7, 0x00, 0x00, 0x23, 0x00, 0x7c, 
    -	0x05, 0x23, 0xff, 0xfd, 0x00, 0x03, 0x00, 0x10, 0x05, 0xce, 0xff, 0x16, 
    -	0x00, 0x02, 0x00, 0x60, 0x03, 0x93, 0x04, 0x63, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x17, 0x00, 0x3f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 
    -	0x1b, 0xb1, 0x16, 0x10, 0x3e, 0x59, 0xb0, 0x13, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 0xd0, 0xb0, 0x03, 0xd0, 0xb0, 0x16, 
    -	0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x0c, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x0f, 
    -	0xd0, 0xb0, 0x16, 0x10, 0xb0, 0x15, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x11, 0xd0, 0x30, 0x31, 0x01, 0x27, 0x03, 0x23, 0x03, 
    -	0x07, 0x11, 0x23, 0x11, 0x33, 0x13, 0x33, 0x13, 0x33, 0x11, 0x23, 0x01, 
    -	0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x03, 0xe2, 0x06, 0x69, 0x49, 
    -	0x6e, 0x06, 0x81, 0x9f, 0x77, 0x06, 0x78, 0x9a, 0x81, 0xfe, 0x0c, 0x80, 
    -	0x90, 0x7e, 0x01, 0x8e, 0x04, 0xad, 0x01, 0xfe, 0xe5, 0x01, 0x2a, 0x01, 
    -	0xfe, 0xd7, 0x02, 0x1d, 0xfe, 0x96, 0x01, 0x6a, 0xfd, 0xe3, 0x01, 0xb4, 
    -	0xfe, 0x4e, 0x01, 0xb2, 0x69, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x94, 
    -	0xff, 0xec, 0x04, 0x8f, 0x04, 0x4e, 0x00, 0x15, 0x00, 0x1e, 0x00, 0x4e, 
    -	0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x12, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x16, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x70, 0x16, 0x01, 0x71, 0xb2, 0xd0, 
    -	0x16, 0x01, 0x72, 0xb0, 0x0d, 0x10, 0xb0, 0x1b, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x25, 0x06, 0x06, 0x23, 0x22, 0x00, 
    -	0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 0x15, 0x15, 0x21, 0x11, 0x16, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x01, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x26, 
    -	0x26, 0x04, 0x12, 0x57, 0xbc, 0x5f, 0xda, 0xfe, 0xce, 0x01, 0x43, 0xc9, 
    -	0xcf, 0x01, 0x20, 0xfd, 0x00, 0x37, 0x8d, 0x4d, 0x5f, 0xba, 0x57, 0xfe, 
    -	0x90, 0x4a, 0x8d, 0x3a, 0x02, 0x1c, 0x36, 0x8b, 0x5e, 0x37, 0x3b, 0x01, 
    -	0x49, 0xe8, 0xe2, 0x01, 0x4f, 0xfe, 0xca, 0xe7, 0x2f, 0xfe, 0xb8, 0x35, 
    -	0x39, 0x3c, 0x3e, 0x03, 0x2a, 0x41, 0x39, 0xfe, 0xeb, 0x01, 0x1e, 0x34, 
    -	0x3d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5a, 0xff, 0xf5, 0x06, 0x60, 
    -	0x05, 0xb2, 0x00, 0x27, 0x03, 0x72, 0x00, 0x0c, 0x02, 0x86, 0x00, 0x27, 
    -	0x03, 0x0a, 0x01, 0x06, 0x00, 0x00, 0x01, 0x07, 0x03, 0x31, 0x03, 0x4b, 
    -	0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 
    -	0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x2b, 0xd0, 0xb0, 0x13, 
    -	0x10, 0xb0, 0x37, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5d, 
    -	0xff, 0xf5, 0x06, 0xf7, 0x05, 0xc0, 0x00, 0x27, 0x03, 0x6f, 0x00, 0x04, 
    -	0x02, 0x94, 0x00, 0x27, 0x03, 0x0a, 0x01, 0xbf, 0x00, 0x00, 0x01, 0x07, 
    -	0x03, 0x31, 0x03, 0xe2, 0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x38, 0x2f, 0x1b, 0xb1, 0x38, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x50, 0xd0, 0xb0, 0x38, 0x10, 0xb0, 0x5c, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xf5, 0x07, 0x27, 0x05, 0xaf, 0x00, 0x27, 
    -	0x03, 0x6d, 0xff, 0xfe, 0x02, 0x8e, 0x00, 0x27, 0x03, 0x0a, 0x01, 0xf7, 
    -	0x00, 0x00, 0x01, 0x07, 0x03, 0x31, 0x04, 0x12, 0x00, 0x00, 0x00, 0x26, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2d, 0x2f, 0x1b, 0xb1, 0x2d, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x45, 0xd0, 0xb0, 0x2d, 0x10, 0xb0, 0x51, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4e, 0xff, 0xf5, 0x06, 0x80, 
    -	0x05, 0xaf, 0x00, 0x27, 0x03, 0x77, 0x00, 0x0c, 0x02, 0x8e, 0x00, 0x27, 
    -	0x03, 0x0a, 0x01, 0x36, 0x00, 0x00, 0x01, 0x07, 0x03, 0x31, 0x03, 0x6b, 
    -	0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 
    -	0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 0xb0, 0x32, 0xd0, 0xb0, 0x1a, 
    -	0x10, 0xb0, 0x3e, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x3f, 
    -	0xff, 0xeb, 0x04, 0x70, 0x05, 0xed, 0x00, 0x14, 0x00, 0x21, 0x00, 0x3a, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x14, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x04, 
    -	0x00, 0x11, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x12, 0x33, 
    -	0x32, 0x16, 0x17, 0x37, 0x26, 0x26, 0x27, 0x13, 0x32, 0x36, 0x35, 0x35, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 0xea, 0x01, 0x21, 
    -	0x01, 0x65, 0xfe, 0xc6, 0xeb, 0xe8, 0xfe, 0xdc, 0xff, 0xe1, 0x53, 0x93, 
    -	0x2f, 0x03, 0x1a, 0xe9, 0xa6, 0xc1, 0x6b, 0x92, 0x23, 0x84, 0x59, 0x73, 
    -	0x76, 0x80, 0x05, 0xed, 0x3c, 0xfe, 0x6a, 0xfe, 0xd8, 0xdc, 0xf5, 0xfe, 
    -	0xc9, 0x01, 0x19, 0xd0, 0xe3, 0x01, 0x10, 0x32, 0x2b, 0x06, 0x9b, 0xc4, 
    -	0x2c, 0xfb, 0xd0, 0xbe, 0x8e, 0x7b, 0x2a, 0x37, 0x9e, 0x81, 0x70, 0x99, 
    -	0x00, 0x01, 0x00, 0xa4, 0xff, 0x08, 0x04, 0xef, 0x05, 0xb0, 0x00, 0x07, 
    -	0x00, 0x28, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x10, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x01, 
    -	0xd0, 0xb0, 0x06, 0x10, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x23, 0x11, 0x21, 0x11, 0x23, 
    -	0x11, 0x21, 0x04, 0xef, 0xe6, 0xfd, 0x82, 0xe7, 0x04, 0x4b, 0xf8, 0x05, 
    -	0xcb, 0xfa, 0x35, 0x06, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x39, 
    -	0xfe, 0xf3, 0x04, 0xd6, 0x05, 0xb0, 0x00, 0x0c, 0x00, 0x52, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x10, 0x3e, 0x59, 0xb2, 0x06, 0x03, 0x08, 0x11, 0x12, 0x39, 0xb0, 0x06, 
    -	0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x03, 0x10, 0xb1, 0x02, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x05, 0x03, 0x02, 0x11, 
    -	0x12, 0x39, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x0a, 0x08, 0x11, 0x12, 0x39, 
    -	0xb0, 0x06, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 0x31, 0x01, 0x01, 0x21, 0x15, 
    -	0x21, 0x35, 0x01, 0x01, 0x35, 0x21, 0x15, 0x21, 0x01, 0x03, 0x98, 0xfe, 
    -	0x2e, 0x03, 0x10, 0xfb, 0x63, 0x02, 0x3f, 0xfd, 0xc1, 0x04, 0x7b, 0xfd, 
    -	0x14, 0x01, 0xd0, 0x02, 0x27, 0xfd, 0xad, 0xe1, 0x97, 0x02, 0xcc, 0x02, 
    -	0xc3, 0x97, 0xe1, 0xfd, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x92, 
    -	0x02, 0x59, 0x03, 0xd4, 0x03, 0x3d, 0x00, 0x03, 0x00, 0x10, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x03, 0xd4, 0xfc, 0xbe, 0x03, 0x42, 
    -	0x02, 0x59, 0xe4, 0x00, 0x00, 0x01, 0x00, 0x37, 0x00, 0x00, 0x04, 0x5e, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x32, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x01, 0xd0, 0xb0, 0x0a, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 
    -	0x01, 0x33, 0x01, 0x23, 0x03, 0x23, 0x35, 0x21, 0x02, 0x15, 0x29, 0x06, 
    -	0x22, 0x01, 0x20, 0xd8, 0xfe, 0x5e, 0xea, 0xbd, 0xde, 0x01, 0x7e, 0x01, 
    -	0x9a, 0xaf, 0xaf, 0x04, 0x16, 0xfa, 0x50, 0x02, 0x16, 0xe4, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x60, 0xff, 0xeb, 0x07, 0xfc, 0x04, 0x4e, 0x00, 0x19, 
    -	0x00, 0x27, 0x00, 0x35, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x16, 0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2b, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 
    -	0x32, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x00, 0x23, 0x22, 0x26, 0x27, 0x06, 
    -	0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 
    -	0x36, 0x36, 0x33, 0x32, 0x00, 0x15, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x15, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x35, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x07, 0xfc, 
    -	0xfe, 0xe4, 0xee, 0x99, 0xe1, 0x4a, 0x4c, 0xe1, 0x97, 0xef, 0xfe, 0xe5, 
    -	0x01, 0x1b, 0xed, 0x99, 0xe1, 0x4c, 0x4a, 0xe2, 0x9a, 0xec, 0x01, 0x1c, 
    -	0xfe, 0xdc, 0x75, 0x6f, 0x80, 0xa4, 0x10, 0x0d, 0xa8, 0x7d, 0x70, 0x76, 
    -	0xfa, 0xac, 0x74, 0x72, 0x7c, 0xa8, 0x0d, 0x0f, 0xa5, 0x7f, 0x70, 0x74, 
    -	0x02, 0x01, 0xea, 0xfe, 0xd4, 0xb0, 0x8a, 0x8b, 0xaf, 0x01, 0x2c, 0xea, 
    -	0x36, 0xe9, 0x01, 0x2e, 0xac, 0x86, 0x86, 0xac, 0xfe, 0xd2, 0xe9, 0x8a, 
    -	0xac, 0xe8, 0x53, 0x1e, 0x55, 0xf4, 0xa9, 0x8d, 0x8d, 0xa9, 0xf5, 0x54, 
    -	0x1e, 0x52, 0xe9, 0xac, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xa5, 
    -	0xfe, 0x4b, 0x02, 0xbf, 0x06, 0x2d, 0x00, 0x1b, 0x00, 0x2e, 0x00, 0xb0, 
    -	0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0c, 0x3e, 0x59, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x01, 0xb2, 0xc9, 0xb4, 0x29, 0x41, 0x26, 0x0f, 0x17, 0x32, 0x19, 0x39, 
    -	0x40, 0xd2, 0xbe, 0x25, 0x4b, 0x30, 0x19, 0x1a, 0x2a, 0x1d, 0x47, 0x4c, 
    -	0x28, 0xbf, 0xce, 0x08, 0x09, 0xdd, 0x06, 0x07, 0x5a, 0x52, 0x04, 0xda, 
    -	0xb6, 0xc5, 0x0b, 0x0a, 0xd7, 0x05, 0x06, 0x51, 0x49, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x65, 0x00, 0xea, 0x04, 0x33, 0x04, 0x03, 0x00, 0x19, 
    -	0x00, 0x33, 0x00, 0x4a, 0x00, 0xb2, 0x16, 0x1d, 0x03, 0x2b, 0xb0, 0x16, 
    -	0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x16, 
    -	0x10, 0xb0, 0x10, 0xd0, 0xb0, 0x19, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x23, 
    -	0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x26, 0xd0, 0xb0, 0x1d, 0x10, 0xb1, 0x30, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2a, 
    -	0xd0, 0xb0, 0x33, 0xd0, 0x30, 0x31, 0x13, 0x36, 0x36, 0x33, 0x36, 0x16, 
    -	0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 
    -	0x26, 0x27, 0x26, 0x26, 0x07, 0x22, 0x06, 0x07, 0x07, 0x36, 0x36, 0x33, 
    -	0x36, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 
    -	0x23, 0x22, 0x26, 0x27, 0x26, 0x26, 0x07, 0x22, 0x06, 0x07, 0x6f, 0x2f, 
    -	0x7c, 0x41, 0x46, 0x5d, 0x56, 0x4a, 0x5c, 0x43, 0x40, 0x7c, 0x30, 0x0a, 
    -	0x30, 0x7c, 0x40, 0x43, 0x5c, 0x4a, 0x56, 0x5d, 0x46, 0x41, 0x7c, 0x2f, 
    -	0x14, 0x2f, 0x7c, 0x41, 0x46, 0x5d, 0x56, 0x4a, 0x5c, 0x43, 0x40, 0x7c, 
    -	0x30, 0x0a, 0x30, 0x7c, 0x40, 0x43, 0x5c, 0x4a, 0x56, 0x5d, 0x46, 0x41, 
    -	0x7c, 0x2f, 0x03, 0x6d, 0x44, 0x4e, 0x01, 0x20, 0x2a, 0x26, 0x1f, 0x4d, 
    -	0x45, 0xd5, 0x45, 0x4d, 0x1f, 0x26, 0x2a, 0x20, 0x01, 0x4e, 0x44, 0xd9, 
    -	0x44, 0x4e, 0x01, 0x20, 0x2a, 0x26, 0x1f, 0x4d, 0x45, 0xd5, 0x45, 0x4d, 
    -	0x1f, 0x26, 0x2a, 0x20, 0x01, 0x4e, 0x44, 0x00, 0x00, 0x01, 0x00, 0x88, 
    -	0x00, 0xa6, 0x04, 0x08, 0x04, 0xea, 0x00, 0x13, 0x00, 0x38, 0x00, 0xb2, 
    -	0x0f, 0x0c, 0x03, 0x2b, 0xb0, 0x0f, 0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0xd0, 0xb0, 0x0f, 
    -	0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x0c, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x0c, 
    -	0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 0x21, 0x07, 0x21, 
    -	0x15, 0x21, 0x07, 0x27, 0x37, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 
    -	0x13, 0x17, 0x03, 0x20, 0xe8, 0xfe, 0x98, 0x70, 0x01, 0xd8, 0xfd, 0xa9, 
    -	0x5c, 0x72, 0x36, 0x91, 0x01, 0x10, 0x71, 0xfe, 0x7f, 0x02, 0x00, 0x94, 
    -	0x72, 0x03, 0xe0, 0xe5, 0xca, 0xe5, 0xa6, 0x44, 0x62, 0xe5, 0xca, 0xe5, 
    -	0x01, 0x0a, 0x44, 0x00, 0xff, 0xff, 0x00, 0x8d, 0xff, 0xd8, 0x03, 0xeb, 
    -	0x04, 0x5a, 0x00, 0x67, 0x00, 0x1f, 0x00, 0x57, 0x00, 0xbc, 0x40, 0x00, 
    -	0x39, 0x9a, 0x01, 0x07, 0x03, 0x1e, 0xff, 0xfc, 0xfd, 0x7f, 0x00, 0x13, 
    -	0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x03, 0xd0, 0xb2, 0x5f, 0x03, 0x01, 0x5d, 
    -	0xb2, 0x30, 0x05, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xd8, 0x03, 0xf1, 0x04, 0x5a, 0x00, 0x67, 0x00, 0x21, 0x00, 0x12, 
    -	0x00, 0xbc, 0x40, 0x00, 0x39, 0x9a, 0x01, 0x07, 0x03, 0x1e, 0xff, 0xfc, 
    -	0xfd, 0x7f, 0x00, 0x0e, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x06, 0xd0, 0xb2, 
    -	0x5f, 0x06, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1f, 
    -	0x00, 0x00, 0x04, 0x16, 0x05, 0xb0, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x29, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x03, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x01, 0x01, 0x21, 0x01, 0x21, 
    -	0x03, 0x27, 0x23, 0x07, 0x03, 0x13, 0x17, 0x33, 0x37, 0x01, 0x8e, 0x01, 
    -	0x17, 0x01, 0x71, 0xfe, 0x90, 0xfe, 0xe9, 0xfe, 0x90, 0x02, 0xc5, 0xb5, 
    -	0x13, 0x06, 0x14, 0xb3, 0xb6, 0x13, 0x06, 0x14, 0x05, 0xb0, 0xfd, 0x27, 
    -	0xfd, 0x29, 0x02, 0xd7, 0x01, 0xc6, 0x44, 0x44, 0xfe, 0x3a, 0xfe, 0x3b, 
    -	0x44, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3d, 0xff, 0x84, 0x01, 0x38, 
    -	0x01, 0x10, 0x00, 0x05, 0x00, 0x06, 0x00, 0xb0, 0x04, 0x2f, 0x30, 0x31, 
    -	0x25, 0x07, 0x23, 0x37, 0x35, 0x33, 0x01, 0x38, 0x81, 0x7a, 0x3d, 0xbe, 
    -	0x6f, 0xeb, 0xf5, 0x97, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x04, 0x61, 
    -	0x06, 0x2d, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x93, 0x00, 0xb0, 0x08, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 
    -	0xb1, 0x18, 0x0a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x01, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0xf0, 0x08, 0x01, 
    -	0x5d, 0xb2, 0xc0, 0x08, 0x01, 0x71, 0xb2, 0x7f, 0x08, 0x01, 0x5d, 0xb4, 
    -	0x2f, 0x08, 0x3f, 0x08, 0x02, 0x5d, 0xb2, 0x30, 0x08, 0x01, 0x71, 0xb2, 
    -	0xa0, 0x08, 0x01, 0x5d, 0xb2, 0x00, 0x08, 0x01, 0x72, 0xb0, 0x08, 0x10, 
    -	0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb0, 0x15, 0xd0, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x33, 
    -	0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 
    -	0x21, 0x11, 0x21, 0xb5, 0xa1, 0xa1, 0xf9, 0xe2, 0x4e, 0x98, 0x64, 0x2a, 
    -	0x49, 0x77, 0x4d, 0x65, 0x65, 0xd5, 0xd5, 0x02, 0x88, 0xfe, 0xdc, 0x01, 
    -	0x24, 0x03, 0x6d, 0xcd, 0x4a, 0xcc, 0xdd, 0x1f, 0x1d, 0xe6, 0x16, 0x18, 
    -	0x5c, 0x59, 0x4a, 0xcd, 0xfc, 0x93, 0x04, 0x3a, 0xff, 0xff, 0x00, 0x1b, 
    -	0x00, 0x00, 0x04, 0x7f, 0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x4f, 0x02, 0xdc, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1b, 
    -	0x00, 0x00, 0x07, 0x3d, 0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x28, 0x02, 0xdc, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1b, 
    -	0x00, 0x00, 0x07, 0x5b, 0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 
    -	0x00, 0x27, 0x00, 0x49, 0x02, 0xdc, 0x00, 0x00, 0x00, 0x07, 0x00, 0x4f, 
    -	0x05, 0xb8, 0x00, 0x00, 0x00, 0x16, 0x00, 0x57, 0xfe, 0x72, 0x07, 0xea, 
    -	0x05, 0xae, 0x00, 0x0d, 0x00, 0x1c, 0x00, 0x2a, 0x00, 0x3b, 0x00, 0x41, 
    -	0x00, 0x47, 0x00, 0x4d, 0x00, 0x53, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 
    -	0x00, 0x69, 0x00, 0x6d, 0x00, 0x71, 0x00, 0x75, 0x00, 0x7e, 0x00, 0x82, 
    -	0x00, 0x86, 0x00, 0x8a, 0x00, 0x8e, 0x00, 0x92, 0x00, 0x96, 0x01, 0x9f, 
    -	0x00, 0xb0, 0x41, 0x2f, 0xb0, 0x8a, 0x2f, 0xb0, 0x83, 0x2f, 0xb0, 0x03, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x49, 0x2f, 0x1b, 0xb1, 0x49, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 
    -	0x14, 0x3e, 0x59, 0xb2, 0x40, 0x03, 0x01, 0x5d, 0xb2, 0xc0, 0x03, 0x01, 
    -	0x5d, 0xb0, 0x0a, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x0f, 
    -	0x10, 0xb0, 0x76, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 
    -	0xdf, 0x76, 0xef, 0x76, 0x02, 0x5d, 0xb2, 0x6f, 0x76, 0x01, 0x71, 0xb6, 
    -	0x5f, 0x76, 0x6f, 0x76, 0x7f, 0x76, 0x03, 0x5d, 0xb2, 0xff, 0x76, 0x01, 
    -	0x71, 0xb2, 0x0f, 0x76, 0x01, 0x72, 0xb4, 0x7f, 0x76, 0x8f, 0x76, 0x02, 
    -	0x72, 0xb0, 0x54, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 
    -	0x09, 0xc0, 0x54, 0xd0, 0x54, 0xe0, 0x54, 0xf0, 0x54, 0x04, 0x71, 0xb6, 
    -	0x00, 0x54, 0x10, 0x54, 0x20, 0x54, 0x03, 0x72, 0xb2, 0x16, 0x54, 0x76, 
    -	0x11, 0x12, 0x39, 0xb0, 0x0f, 0x10, 0xb0, 0x7e, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x20, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x55, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 0x09, 0xcf, 0x55, 
    -	0xdf, 0x55, 0xef, 0x55, 0xff, 0x55, 0x04, 0x71, 0xb0, 0x27, 0xd0, 0xb0, 
    -	0x0f, 0x10, 0xb0, 0x2b, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x30, 0xd0, 0xb0, 
    -	0x55, 0x10, 0xb0, 0x38, 0xd0, 0xb0, 0x41, 0x10, 0xb0, 0x40, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x4f, 0x40, 0x01, 0x72, 0xb2, 
    -	0x2f, 0x40, 0x01, 0x71, 0xb0, 0x73, 0xd0, 0xb0, 0x6f, 0xd0, 0xb0, 0x6b, 
    -	0xd0, 0xb0, 0x43, 0xd0, 0xb0, 0x45, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x3e, 0xd0, 0xb0, 0x41, 0x10, 0xb0, 0x72, 0xd0, 0xb0, 
    -	0x6e, 0xd0, 0xb0, 0x6a, 0xd0, 0xb0, 0x42, 0xd0, 0xb0, 0x49, 0x10, 0xb0, 
    -	0x4c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x4d, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x4c, 0x10, 0xb0, 0x66, 
    -	0xd0, 0xb0, 0x62, 0xd0, 0xb0, 0x5e, 0xd0, 0xb0, 0x4e, 0xd0, 0xb0, 0x49, 
    -	0x10, 0xb0, 0x67, 0xd0, 0xb0, 0x63, 0xd0, 0xb0, 0x5f, 0xd0, 0xb0, 0x4f, 
    -	0xd0, 0xb0, 0x4d, 0x10, 0xb0, 0x52, 0xd0, 0xb0, 0x8a, 0x10, 0xb0, 0x7f, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x83, 0x10, 0xb0, 
    -	0x82, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x4d, 0x10, 
    -	0xb0, 0x86, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x3e, 
    -	0x10, 0xb0, 0x87, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x7f, 0x10, 0xb0, 0x8c, 0xd0, 0xb0, 0x83, 0x10, 0xb0, 0x90, 0xd0, 0xb0, 
    -	0x86, 0x10, 0xb0, 0x91, 0xd0, 0xb0, 0x87, 0x10, 0xb0, 0x94, 0xd0, 0xb0, 
    -	0x8a, 0x10, 0xb0, 0x95, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x13, 0x11, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x01, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 
    -	0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x01, 0x11, 0x33, 0x15, 0x33, 
    -	0x15, 0x21, 0x35, 0x33, 0x35, 0x33, 0x11, 0x01, 0x11, 0x21, 0x15, 0x23, 
    -	0x15, 0x25, 0x35, 0x21, 0x11, 0x23, 0x35, 0x01, 0x15, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x27, 0x23, 0x13, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 
    -	0x15, 0x21, 0x35, 0x21, 0x15, 0x01, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 
    -	0x15, 0x21, 0x35, 0x21, 0x15, 0x13, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x23, 0x01, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 
    -	0x35, 0x33, 0x25, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 
    -	0x35, 0x33, 0x03, 0x35, 0x80, 0x65, 0x68, 0x80, 0x80, 0x66, 0x66, 0x81, 
    -	0x43, 0xbc, 0x65, 0x6f, 0x2c, 0x28, 0x30, 0x36, 0x69, 0x5c, 0xfe, 0x84, 
    -	0x4b, 0x40, 0x40, 0x4a, 0x4a, 0x42, 0x3f, 0x4a, 0x03, 0xba, 0x5c, 0x6a, 
    -	0x51, 0x5b, 0x69, 0x06, 0x02, 0x54, 0x36, 0x32, 0x28, 0x37, 0xf9, 0xc4, 
    -	0x71, 0xc4, 0x05, 0x28, 0xc7, 0x6f, 0xf8, 0x6d, 0x01, 0x35, 0xc4, 0x05, 
    -	0xec, 0x01, 0x36, 0x6f, 0xfc, 0x5c, 0x7e, 0x32, 0x35, 0x33, 0x2f, 0x05, 
    -	0xd0, 0x01, 0x16, 0xfd, 0x5b, 0x01, 0x15, 0xfd, 0x5c, 0x01, 0x14, 0x02, 
    -	0x0a, 0x01, 0x16, 0xfd, 0x5b, 0x01, 0x15, 0xfd, 0x5c, 0x01, 0x14, 0xbc, 
    -	0x5d, 0x3a, 0x3c, 0x39, 0x3d, 0x5d, 0xfc, 0xf1, 0x71, 0x71, 0x71, 0x71, 
    -	0x71, 0x71, 0x07, 0x22, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x01, 0xd4, 
    -	0x62, 0x79, 0x79, 0x62, 0x70, 0x60, 0x7b, 0x7b, 0x60, 0xfe, 0xb8, 0x02, 
    -	0x25, 0x4b, 0x4b, 0x27, 0x3e, 0x0f, 0x0d, 0x46, 0x2d, 0x4c, 0x4f, 0x01, 
    -	0x48, 0x44, 0x4f, 0x4f, 0x44, 0x70, 0x45, 0x4e, 0x4e, 0x45, 0x01, 0x4f, 
    -	0xfe, 0x86, 0x4f, 0x5c, 0x51, 0x4d, 0x06, 0x2e, 0x2d, 0x36, 0x2c, 0xfc, 
    -	0xc9, 0x01, 0x3b, 0xca, 0x71, 0x71, 0xca, 0xfe, 0xc5, 0x06, 0x1f, 0x01, 
    -	0x1d, 0x74, 0xa9, 0xa9, 0x74, 0xfe, 0xe3, 0xa9, 0xfc, 0xb6, 0xa9, 0x2b, 
    -	0x28, 0x26, 0x2e, 0x02, 0x03, 0x4a, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 
    -	0xf9, 0x38, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x03, 0xc4, 0x28, 0x28, 
    -	0x27, 0x20, 0xfe, 0xd3, 0xfc, 0x7e, 0xfa, 0xfc, 0x15, 0xf9, 0x7e, 0xfc, 
    -	0x7e, 0xfa, 0xfc, 0x15, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x5c, 
    -	0xfd, 0xd5, 0x07, 0xd7, 0x08, 0x62, 0x00, 0x03, 0x00, 0x1e, 0x00, 0x22, 
    -	0x00, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x09, 0x03, 0x05, 0x34, 0x36, 0x37, 
    -	0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x17, 0x17, 0x33, 0x36, 
    -	0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x06, 0x06, 0x15, 0x17, 
    -	0x23, 0x15, 0x33, 0x03, 0x33, 0x15, 0x23, 0x03, 0x33, 0x15, 0x23, 0x04, 
    -	0x18, 0x03, 0xbf, 0xfc, 0x41, 0xfc, 0x44, 0x04, 0x0f, 0x1a, 0x28, 0x48, 
    -	0x5e, 0xa9, 0x93, 0x88, 0xa7, 0x03, 0x03, 0xc2, 0x01, 0x3b, 0x2b, 0x36, 
    -	0x3b, 0x33, 0x2a, 0x4f, 0x3b, 0xca, 0xca, 0xca, 0x4b, 0x04, 0x04, 0x02, 
    -	0x04, 0x04, 0x06, 0x52, 0xfc, 0x31, 0xfc, 0x31, 0x03, 0xcf, 0xf1, 0x35, 
    -	0x3d, 0x1a, 0x27, 0x83, 0x4e, 0x80, 0x97, 0x82, 0x82, 0x06, 0x33, 0x34, 
    -	0x3f, 0x35, 0x32, 0x4d, 0x1c, 0x37, 0x5a, 0x58, 0x5b, 0xaa, 0xfd, 0x4c, 
    -	0x04, 0x0a, 0x8d, 0x04, 0xff, 0xff, 0xff, 0xa9, 0x00, 0x00, 0x02, 0x84, 
    -	0x05, 0xb1, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 
    -	0xff, 0x15, 0x00, 0x00, 0x00, 0x09, 0x00, 0xb3, 0x05, 0x08, 0x02, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x72, 0x04, 0x6f, 0x02, 0xca, 
    -	0x05, 0xc5, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x10, 0x3e, 0x59, 0x30, 
    -	0x31, 0x01, 0x13, 0x33, 0x15, 0x03, 0x23, 0x25, 0x37, 0x33, 0x07, 0x15, 
    -	0x23, 0x01, 0x91, 0x66, 0xd3, 0xe6, 0x53, 0xfe, 0xe1, 0x94, 0x6c, 0x51, 
    -	0xaf, 0x04, 0x8c, 0x01, 0x39, 0x15, 0xfe, 0xc1, 0x99, 0xba, 0xcc, 0x89, 
    -	0x00, 0x03, 0x00, 0x5f, 0xff, 0xf5, 0x03, 0x15, 0x03, 0x2c, 0x00, 0x17, 
    -	0x00, 0x23, 0x00, 0x2f, 0x00, 0x6a, 0x00, 0xb0, 0x2d, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x14, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0x2f, 0x2d, 0x01, 0x71, 0xb2, 0x6f, 0x2d, 0x01, 0x72, 0xb4, 0x9f, 
    -	0x2d, 0xaf, 0x2d, 0x02, 0x71, 0xb2, 0xdf, 0x2d, 0x01, 0x5d, 0xb4, 0x0f, 
    -	0x2d, 0x1f, 0x2d, 0x02, 0x5d, 0xb0, 0x2d, 0x10, 0xb1, 0x1b, 0x06, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x21, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x15, 0x10, 0xb1, 0x27, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x02, 0xfc, 0x4c, 0x40, 0x4b, 0x5a, 0xc1, 0x93, 
    -	0x99, 0xc9, 0x5c, 0x4f, 0x45, 0x4e, 0xbb, 0x8e, 0x89, 0xb3, 0xb9, 0x4d, 
    -	0x36, 0x3d, 0x52, 0x52, 0x3e, 0x37, 0x4b, 0x19, 0x3e, 0x2c, 0x32, 0x43, 
    -	0x44, 0x32, 0x2c, 0x3d, 0x02, 0x50, 0x3a, 0x5b, 0x1b, 0x1c, 0x63, 0x3f, 
    -	0x70, 0x7d, 0x7d, 0x70, 0x3f, 0x63, 0x1c, 0x1b, 0x5b, 0x3a, 0x68, 0x74, 
    -	0x73, 0xfe, 0x35, 0x2b, 0x38, 0x38, 0x2b, 0x2b, 0x33, 0x33, 0x01, 0x7e, 
    -	0x25, 0x2b, 0x2a, 0x26, 0x26, 0x2f, 0x2f, 0x00, 0x00, 0x02, 0x00, 0x57, 
    -	0xff, 0xf5, 0x02, 0xf4, 0x03, 0x2c, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x53, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 
    -	0xb1, 0x0d, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 
    -	0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb6, 0x0f, 0x07, 0x1f, 0x07, 0x2f, 
    -	0x07, 0x03, 0x5d, 0xb0, 0x07, 0x10, 0xb1, 0x1b, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x06, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 
    -	0x32, 0x36, 0x35, 0x35, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 
    -	0x16, 0x16, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x01, 0x92, 0x3c, 0x54, 0x20, 0x51, 0x2a, 0x8e, 0xa2, 
    -	0xb6, 0x90, 0x93, 0xc4, 0xcb, 0x97, 0x35, 0x73, 0x32, 0x23, 0x2b, 0x54, 
    -	0x4d, 0x2d, 0x3e, 0x10, 0x4c, 0x38, 0x35, 0x3f, 0x40, 0x90, 0x4d, 0x3d, 
    -	0x2e, 0x1d, 0x1d, 0x94, 0x7d, 0x72, 0x9b, 0xb3, 0x8b, 0xd3, 0x82, 0xa4, 
    -	0x12, 0x10, 0x98, 0x11, 0x0e, 0x01, 0x0c, 0x1c, 0x18, 0x1e, 0x46, 0x5d, 
    -	0x48, 0x32, 0x36, 0x45, 0x00, 0x02, 0x00, 0x61, 0xff, 0xef, 0x04, 0x0c, 
    -	0x04, 0x9d, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4d, 0x00, 0xb0, 0x0e, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x12, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 
    -	0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 
    -	0x35, 0x11, 0x34, 0x24, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x02, 0x6b, 0x52, 0x85, 0x41, 0x2f, 0x36, 
    -	0x6d, 0x43, 0x66, 0x83, 0x31, 0x85, 0x4f, 0xb8, 0xca, 0xfe, 0xfa, 0xd0, 
    -	0xc9, 0xfe, 0xf4, 0x01, 0x27, 0xb9, 0x42, 0x61, 0x19, 0x6f, 0x52, 0x4a, 
    -	0x57, 0x50, 0x04, 0x9d, 0x19, 0x18, 0xd5, 0x14, 0x13, 0x7d, 0x6c, 0x45, 
    -	0x2b, 0x30, 0xc5, 0xa9, 0xb1, 0xdd, 0xff, 0xc9, 0x01, 0x1c, 0xd1, 0xf9, 
    -	0xfd, 0x7b, 0x2b, 0x26, 0x10, 0x64, 0x86, 0x5d, 0x47, 0x4f, 0x58, 0x00, 
    -	0x00, 0x02, 0x00, 0x2a, 0x00, 0x00, 0x04, 0x1a, 0x04, 0x8d, 0x00, 0x0b, 
    -	0x00, 0x10, 0x00, 0x44, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x09, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x01, 
    -	0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0f, 0xd0, 0x30, 0x31, 
    -	0x01, 0x33, 0x15, 0x23, 0x15, 0x21, 0x35, 0x21, 0x27, 0x01, 0x35, 0x21, 
    -	0x01, 0x21, 0x11, 0x27, 0x07, 0x03, 0x92, 0x88, 0x88, 0xfe, 0xdd, 0xfd, 
    -	0xcd, 0x12, 0x02, 0x45, 0x01, 0x23, 0xfd, 0xc2, 0x01, 0x1b, 0x06, 0x0f, 
    -	0x01, 0xab, 0xe1, 0xca, 0xca, 0xbb, 0x03, 0x05, 0x03, 0xfd, 0x1e, 0x01, 
    -	0x85, 0x01, 0x17, 0x00, 0x00, 0x01, 0x00, 0x42, 0xff, 0xef, 0x03, 0xd5, 
    -	0x04, 0x9d, 0x00, 0x2a, 0x00, 0x8c, 0x00, 0xb0, 0x2a, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x12, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x09, 0x1a, 0x0e, 0x11, 0x12, 0x39, 0xb2, 0x1f, 
    -	0x2a, 0x01, 0x5d, 0xb2, 0xaf, 0x2a, 0x01, 0x5d, 0xb4, 0x2f, 0x2a, 0x3f, 
    -	0x2a, 0x02, 0x71, 0xb2, 0x6f, 0x2a, 0x01, 0x71, 0xb2, 0xdf, 0x2a, 0x01, 
    -	0x5d, 0xb2, 0x7f, 0x2a, 0x01, 0x5d, 0xb2, 0x9f, 0x2a, 0x01, 0x71, 0xb2, 
    -	0xbf, 0x2a, 0x01, 0x71, 0xb0, 0x2a, 0x10, 0xb1, 0x29, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x29, 0x2a, 0x11, 
    -	0x12, 0x39, 0xb2, 0x1f, 0x0e, 0x1a, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 
    -	0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x21, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0x0d, 0x4b, 
    -	0x47, 0x4c, 0x45, 0x45, 0x54, 0xfe, 0xe5, 0x02, 0x06, 0xf5, 0xb8, 0xd1, 
    -	0xf2, 0x60, 0x54, 0x60, 0x67, 0xfe, 0xfb, 0xd1, 0xb7, 0xfe, 0xfa, 0x05, 
    -	0x02, 0x01, 0x1a, 0x5f, 0x4d, 0x49, 0x5a, 0x52, 0x53, 0xcc, 0x02, 0xb4, 
    -	0x45, 0x42, 0x35, 0x4e, 0x3f, 0x36, 0x06, 0x98, 0xb6, 0xac, 0xa0, 0x50, 
    -	0x85, 0x26, 0x22, 0x8a, 0x63, 0xa1, 0xb7, 0xb0, 0xa9, 0x06, 0x36, 0x4b, 
    -	0x53, 0x3a, 0x51, 0x46, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4d, 
    -	0x00, 0x00, 0x03, 0xb6, 0x04, 0x9d, 0x00, 0x1a, 0x00, 0x48, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 
    -	0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x19, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 
    -	0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 
    -	0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x07, 0x17, 
    -	0x21, 0x03, 0xb6, 0xfc, 0xa9, 0x01, 0xa9, 0x41, 0x43, 0x3d, 0x42, 0x4a, 
    -	0x52, 0xfe, 0xe4, 0x02, 0x06, 0xf3, 0xcd, 0xc7, 0xd9, 0x8d, 0xa4, 0xa1, 
    -	0x02, 0x01, 0xd9, 0xde, 0x01, 0x74, 0x44, 0x6b, 0x30, 0x3b, 0x52, 0x5d, 
    -	0x48, 0x06, 0xa6, 0xd8, 0xbe, 0xab, 0x7d, 0xba, 0x82, 0x97, 0x06, 0x00, 
    -	0x00, 0x01, 0x00, 0x3e, 0x00, 0x00, 0x02, 0x10, 0x04, 0x9d, 0x00, 0x05, 
    -	0x00, 0x33, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0x04, 0x05, 0x00, 0x11, 0x12, 0x39, 
    -	0xb0, 0x04, 0x2f, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x23, 0x35, 0x25, 0x02, 
    -	0x10, 0xfe, 0xdc, 0xae, 0x01, 0xd2, 0x03, 0x96, 0xe6, 0x21, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x61, 0xff, 0xef, 0x04, 0x2e, 0x04, 0x9d, 0x00, 0x0d, 
    -	0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x14, 0x04, 0x23, 0x22, 0x24, 0x35, 0x11, 0x34, 
    -	0x24, 0x33, 0x32, 0x04, 0x15, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0x2e, 0xfe, 0xf4, 0xd9, 
    -	0xdb, 0xfe, 0xf3, 0x01, 0x0b, 0xdb, 0xda, 0x01, 0x0d, 0xfe, 0xdc, 0x69, 
    -	0x5a, 0x5a, 0x68, 0x68, 0x5c, 0x59, 0x68, 0x01, 0x9b, 0xc4, 0xe8, 0xe8, 
    -	0xc4, 0x01, 0x57, 0xc3, 0xe8, 0xe8, 0xc3, 0x01, 0x5c, 0x6f, 0x6f, 0x5c, 
    -	0xfe, 0xa8, 0x60, 0x6e, 0x6f, 0x5f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 
    -	0x00, 0x00, 0x04, 0x01, 0x04, 0x8d, 0x00, 0x09, 0x00, 0x46, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x04, 0x00, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x05, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x09, 0x05, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 
    -	0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0xbb, 0x02, 0x46, 0xfc, 0x43, 
    -	0x02, 0x3b, 0xfd, 0xe6, 0x03, 0x95, 0xde, 0xde, 0x7a, 0x03, 0x34, 0xdf, 
    -	0x75, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x04, 0x45, 
    -	0x04, 0x8d, 0x00, 0x09, 0x00, 0x3d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb2, 0x00, 
    -	0x05, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x13, 0x21, 0x01, 
    -	0x11, 0x21, 0x11, 0x01, 0x21, 0x02, 0x23, 0x06, 0xdf, 0x01, 0x3d, 0xfe, 
    -	0x70, 0xfe, 0xdc, 0xfe, 0x76, 0x01, 0x3c, 0x02, 0x99, 0x01, 0xf4, 0xfd, 
    -	0x0e, 0xfe, 0x65, 0x01, 0xa4, 0x02, 0xe9, 0x00, 0x00, 0x01, 0x00, 0x1f, 
    -	0x00, 0x00, 0x04, 0x61, 0x04, 0x8d, 0x00, 0x0b, 0x00, 0x44, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x06, 0x07, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x06, 
    -	0x10, 0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x13, 0x21, 0x01, 0x01, 0x21, 
    -	0x03, 0x03, 0x21, 0x01, 0x01, 0x21, 0x02, 0x3e, 0xca, 0x01, 0x51, 0xfe, 
    -	0x9d, 0x01, 0x6b, 0xfe, 0xb1, 0xd1, 0xd1, 0xfe, 0xaf, 0x01, 0x6d, 0xfe, 
    -	0x9c, 0x01, 0x4f, 0x03, 0x0c, 0x01, 0x81, 0xfd, 0xbf, 0xfd, 0xb4, 0x01, 
    -	0x89, 0xfe, 0x77, 0x02, 0x4c, 0x02, 0x41, 0x00, 0x00, 0x01, 0x00, 0x28, 
    -	0x00, 0x00, 0x05, 0xf1, 0x04, 0x8d, 0x00, 0x0f, 0x00, 0x50, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x12, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x0c, 0xd0, 0xb0, 0x00, 0xd0, 0xb0, 0x0e, 
    -	0x10, 0xb0, 0x06, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x13, 0x21, 0x01, 0x21, 
    -	0x03, 0x23, 0x03, 0x21, 0x01, 0x21, 0x13, 0x33, 0x13, 0x33, 0x04, 0x38, 
    -	0x06, 0x82, 0x01, 0x31, 0xfe, 0xee, 0xfe, 0xe3, 0xb5, 0x06, 0xb0, 0xfe, 
    -	0xe3, 0xfe, 0xee, 0x01, 0x31, 0x81, 0x06, 0xb5, 0xf0, 0x01, 0xc1, 0x02, 
    -	0xcc, 0xfb, 0x73, 0x02, 0xa9, 0xfd, 0x57, 0x04, 0x8d, 0xfd, 0x32, 0x02, 
    -	0xce, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x04, 0x92, 
    -	0x04, 0x8d, 0x00, 0x09, 0x00, 0x2d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 
    -	0xd0, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x01, 0x21, 0x01, 0x21, 0x01, 
    -	0x21, 0x02, 0x45, 0x08, 0x06, 0x07, 0x01, 0x07, 0x01, 0x31, 0xfe, 0x5d, 
    -	0xfe, 0xc4, 0xfe, 0x5c, 0x01, 0x33, 0x01, 0x38, 0x26, 0x21, 0x03, 0x5a, 
    -	0xfb, 0x73, 0x04, 0x8d, 0x00, 0x01, 0x00, 0x71, 0xff, 0xed, 0x04, 0x84, 
    -	0x04, 0x8d, 0x00, 0x11, 0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb1, 0x0d, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x14, 0x04, 0x23, 0x22, 0x24, 0x35, 0x11, 0x21, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x04, 0x84, 0xfe, 0xe3, 0xec, 0xed, 
    -	0xfe, 0xe3, 0x01, 0x24, 0x76, 0x70, 0x70, 0x74, 0x04, 0x8d, 0xfd, 0x10, 
    -	0xcc, 0xe4, 0xe5, 0xcb, 0x02, 0xf0, 0xfd, 0x10, 0x67, 0x6a, 0x69, 0x68, 
    -	0x02, 0xf0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x04, 0x04, 
    -	0x04, 0x8d, 0x00, 0x07, 0x00, 0x32, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x35, 0x21, 0x04, 0x04, 0xfe, 0xa6, 0xfe, 0xdb, 0xfe, 0xab, 
    -	0x03, 0xd4, 0x03, 0xae, 0xfc, 0x52, 0x03, 0xae, 0xdf, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x43, 0xff, 0xed, 0x04, 0x21, 0x04, 0x9d, 0x00, 0x27, 
    -	0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 
    -	0xb1, 0x1d, 0x0a, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 0x09, 0x11, 0x12, 0x39, 
    -	0xb2, 0x7a, 0x17, 0x01, 0x5d, 0xb0, 0x17, 0x10, 0xb1, 0x03, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1d, 0x10, 0xb1, 0x25, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 
    -	0x37, 0x37, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x02, 0xfe, 0x5f, 0x7d, 
    -	0xe5, 0xce, 0xf9, 0xd3, 0xdc, 0xf6, 0x05, 0x02, 0xfe, 0xe6, 0x53, 0x5e, 
    -	0x59, 0x51, 0x5a, 0x8d, 0xd7, 0xd2, 0xfe, 0xf6, 0xdc, 0xea, 0xfe, 0xf2, 
    -	0x06, 0x02, 0x01, 0x1a, 0x02, 0x71, 0x63, 0x64, 0x5f, 0x01, 0x42, 0x36, 
    -	0x48, 0x1c, 0x2c, 0x9f, 0xa1, 0x93, 0xc2, 0xc6, 0xa8, 0x06, 0x48, 0x4e, 
    -	0x42, 0x33, 0x3a, 0x44, 0x1d, 0x2c, 0xa2, 0x9b, 0x9c, 0xbd, 0xc6, 0xac, 
    -	0x06, 0x54, 0x46, 0x41, 0x00, 0x02, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4d, 
    -	0x04, 0x8d, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x7a, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x12, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x8f, 0x00, 0x01, 0x5d, 0xb2, 0x6f, 0x00, 0x01, 
    -	0x71, 0xb2, 0xff, 0x00, 0x01, 0x71, 0xb2, 0x0f, 0x00, 0x01, 0x72, 0xb2, 
    -	0xbf, 0x00, 0x01, 0x71, 0xb2, 0xdf, 0x00, 0x01, 0x5d, 0xb2, 0x6f, 0x00, 
    -	0x01, 0x5d, 0xb2, 0x3f, 0x00, 0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x1b, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 
    -	0x00, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x21, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x15, 0x14, 0x16, 0x17, 0x15, 0x21, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 0xa5, 
    -	0xfe, 0xdc, 0x01, 0xce, 0xd7, 0xff, 0x67, 0x63, 0x72, 0x65, 0x0c, 0x0f, 
    -	0xfe, 0xd3, 0x0b, 0x06, 0x5d, 0x5a, 0xb3, 0xaa, 0x55, 0x5c, 0x5e, 0x53, 
    -	0xaa, 0x01, 0xa2, 0xfe, 0x5e, 0x04, 0x8d, 0xbe, 0xa3, 0x5f, 0x8c, 0x2b, 
    -	0x1e, 0x90, 0x69, 0x53, 0x24, 0x67, 0x13, 0x0e, 0x13, 0x68, 0x32, 0x51, 
    -	0x50, 0x54, 0xe0, 0x50, 0x45, 0x41, 0x56, 0x00, 0x00, 0x02, 0x00, 0x5f, 
    -	0xff, 0x75, 0x04, 0x8c, 0x04, 0x9d, 0x00, 0x13, 0x00, 0x21, 0x00, 0x42, 
    -	0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 
    -	0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x03, 0x09, 0x1e, 0x11, 0x12, 
    -	0x39, 0xb0, 0x10, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x17, 0x07, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 
    -	0x00, 0x15, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x04, 0x70, 0x3c, 0x37, 0x8f, 0xbb, 0x9a, 0x30, 
    -	0x68, 0x37, 0xe6, 0xfe, 0xdd, 0x01, 0x21, 0xe7, 0xe6, 0x01, 0x23, 0xfe, 
    -	0xdd, 0x7d, 0x69, 0x6c, 0x78, 0x79, 0x6c, 0x6a, 0x7b, 0x01, 0xcd, 0x5e, 
    -	0xa0, 0x3e, 0x90, 0x8c, 0x99, 0x10, 0x11, 0x01, 0x0b, 0xd5, 0xf3, 0xd4, 
    -	0x01, 0x09, 0xfe, 0xf6, 0xd3, 0x01, 0x6d, 0x90, 0x8f, 0x6e, 0xf4, 0x70, 
    -	0x91, 0x91, 0x70, 0x00, 0x00, 0x02, 0x00, 0x6e, 0xff, 0xeb, 0x04, 0x51, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x23, 0x22, 
    -	0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x25, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x51, 0xfe, 0xf5, 0xe5, 0xe6, 0xfe, 0xf3, 0x01, 0x0b, 0xe6, 0xe5, 0x01, 
    -	0x0d, 0xfe, 0xdd, 0x6a, 0x65, 0x65, 0x69, 0x6a, 0x66, 0x64, 0x69, 0x02, 
    -	0x37, 0xfe, 0xdf, 0xfe, 0xd5, 0x01, 0x2b, 0x01, 0x21, 0x01, 0x41, 0x01, 
    -	0x20, 0x01, 0x2d, 0xfe, 0xd3, 0xfe, 0xe0, 0x1e, 0xae, 0xa0, 0xa0, 0xae, 
    -	0xfe, 0x85, 0xb0, 0xa0, 0xa0, 0xb0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5b, 
    -	0xff, 0xed, 0x04, 0x6c, 0x04, 0x9d, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 
    -	0x15, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x04, 0x6c, 0xfe, 0xde, 0xe6, 0xe6, 0xfe, 0xdd, 0x01, 
    -	0x21, 0xe7, 0xe6, 0x01, 0x23, 0xfe, 0xdd, 0x7d, 0x69, 0x6c, 0x78, 0x79, 
    -	0x6c, 0x6a, 0x7b, 0x01, 0xcd, 0xd5, 0xfe, 0xf5, 0x01, 0x0b, 0xd5, 0xf3, 
    -	0xd4, 0x01, 0x09, 0xfe, 0xf6, 0xd3, 0x01, 0x6d, 0x90, 0x8f, 0x6e, 0xf4, 
    -	0x70, 0x91, 0x91, 0x70, 0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0x95, 
    -	0x04, 0x8d, 0x00, 0x0b, 0x00, 0x43, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x06, 0x10, 0xb0, 0x02, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x08, 0xd0, 0x30, 
    -	0x31, 0x21, 0x21, 0x01, 0x07, 0x11, 0x21, 0x11, 0x21, 0x01, 0x37, 0x11, 
    -	0x21, 0x04, 0x95, 0xfe, 0xdc, 0xfe, 0x3a, 0x06, 0xfe, 0xdc, 0x01, 0x24, 
    -	0x01, 0xc6, 0x06, 0x01, 0x24, 0x02, 0xcd, 0x02, 0xfd, 0x35, 0x04, 0x8d, 
    -	0xfd, 0x34, 0x02, 0x02, 0xca, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9c, 
    -	0x02, 0x88, 0x03, 0x3b, 0x03, 0x3d, 0x00, 0x03, 0x00, 0x17, 0x00, 0xb0, 
    -	0x02, 0x2f, 0xb2, 0x7f, 0x02, 0x01, 0x5d, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 
    -	0x21, 0x03, 0x3b, 0xfd, 0x61, 0x02, 0x9f, 0x02, 0x88, 0xb5, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x05, 0x88, 0x04, 0x8d, 0x00, 0x0f, 
    -	0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x00, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x0a, 0xd0, 0x30, 
    -	0x31, 0x01, 0x33, 0x01, 0x21, 0x11, 0x21, 0x11, 0x27, 0x03, 0x23, 0x03, 
    -	0x07, 0x11, 0x21, 0x11, 0x21, 0x02, 0xfe, 0x06, 0x01, 0x17, 0x01, 0x6d, 
    -	0xfe, 0xdd, 0x06, 0xfb, 0xc4, 0xf5, 0x06, 0xfe, 0xdc, 0x01, 0x6a, 0x01, 
    -	0x55, 0x03, 0x38, 0xfb, 0x73, 0x02, 0xb8, 0x01, 0xfd, 0x47, 0x02, 0xaa, 
    -	0x01, 0xfd, 0x57, 0x04, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 
    -	0x00, 0x00, 0x03, 0x88, 0x04, 0x8d, 0x00, 0x05, 0x00, 0x29, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 0x11, 0x21, 0x01, 0xa5, 0x01, 
    -	0xe3, 0xfc, 0xf9, 0x01, 0x24, 0xde, 0xde, 0x04, 0x8d, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0x76, 0x04, 0x8d, 0x00, 0x0c, 
    -	0x00, 0x50, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x06, 
    -	0x10, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x0a, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 
    -	0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x13, 0x21, 0x01, 0x01, 0x21, 0x02, 
    -	0x13, 0x6e, 0xfe, 0xdc, 0x01, 0x24, 0x57, 0xf8, 0x01, 0x71, 0xfe, 0x96, 
    -	0x01, 0x7b, 0xfe, 0x8a, 0x01, 0xbe, 0xfe, 0x42, 0x04, 0x8d, 0xfe, 0x36, 
    -	0x01, 0xca, 0xfd, 0xe5, 0xfd, 0x8e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 
    -	0xff, 0xed, 0x03, 0xa3, 0x04, 0x8d, 0x00, 0x10, 0x00, 0x29, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 
    -	0x59, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 
    -	0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x02, 0x7f, 0x01, 0x24, 
    -	0xf9, 0xc3, 0xd3, 0xf8, 0x06, 0x02, 0x01, 0x1c, 0x5e, 0x49, 0x42, 0x56, 
    -	0x04, 0x8d, 0xfc, 0xf2, 0xb7, 0xdb, 0xc4, 0xb8, 0x06, 0x52, 0x51, 0x61, 
    -	0x52, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x01, 0xa5, 
    -	0x04, 0x8d, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x21, 0x11, 0x21, 0x01, 0xa5, 0xfe, 0xdc, 0x01, 0x24, 0x04, 0x8d, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x04, 0x9c, 0x04, 0x8d, 0x00, 0x0b, 
    -	0x00, 0x6e, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb2, 0xaf, 
    -	0x08, 0x01, 0x5d, 0xb4, 0x2f, 0x08, 0x3f, 0x08, 0x02, 0x71, 0xb2, 0x9f, 
    -	0x08, 0x01, 0x71, 0xb2, 0x6f, 0x08, 0x01, 0x71, 0xb2, 0xdf, 0x08, 0x01, 
    -	0x5d, 0xb2, 0x7f, 0x08, 0x01, 0x5d, 0xb2, 0x1f, 0x08, 0x01, 0x5d, 0xb0, 
    -	0x08, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x21, 0x04, 0x9c, 0xfe, 0xdc, 0xfe, 0x2d, 0xfe, 0xdc, 
    -	0x01, 0x24, 0x01, 0xd3, 0x01, 0x24, 0x01, 0xca, 0xfe, 0x36, 0x04, 0x8d, 
    -	0xfe, 0x1d, 0x01, 0xe3, 0x00, 0x01, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x74, 
    -	0x04, 0x9d, 0x00, 0x20, 0x00, 0x54, 0x00, 0xb0, 0x1f, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x0a, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x0a, 0x10, 0xb1, 0x12, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 0x06, 0x23, 0x22, 0x00, 
    -	0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x04, 0x07, 0x07, 0x21, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 
    -	0x23, 0x35, 0x21, 0x04, 0x74, 0x43, 0xf5, 0xc3, 0xef, 0xfe, 0xd5, 0x01, 
    -	0x26, 0xe6, 0xea, 0x01, 0x08, 0x05, 0x02, 0xfe, 0xe6, 0x62, 0x6f, 0x6b, 
    -	0x7d, 0x83, 0x73, 0x57, 0x62, 0x1f, 0xdb, 0x01, 0xfe, 0xa1, 0x4b, 0x67, 
    -	0x01, 0x09, 0xd5, 0xf3, 0xd3, 0x01, 0x0a, 0xc5, 0xb2, 0x06, 0x53, 0x4b, 
    -	0x8d, 0x70, 0xf4, 0x72, 0x8e, 0x18, 0x15, 0xb5, 0xc1, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x03, 0xeb, 0x04, 0x8d, 0x00, 0x09, 
    -	0x00, 0x63, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb2, 0xaf, 0x09, 0x01, 
    -	0x5d, 0xb4, 0x2f, 0x09, 0x3f, 0x09, 0x02, 0x71, 0xb2, 0x9f, 0x09, 0x01, 
    -	0x71, 0xb2, 0x6f, 0x09, 0x01, 0x71, 0xb2, 0xdf, 0x09, 0x01, 0x5d, 0xb2, 
    -	0x7f, 0x09, 0x01, 0x5d, 0xb2, 0x1f, 0x09, 0x01, 0x5d, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x15, 
    -	0x21, 0x11, 0x21, 0x03, 0x94, 0xfe, 0x11, 0xfe, 0xdc, 0x03, 0x6a, 0xfd, 
    -	0xba, 0x01, 0xef, 0x01, 0xce, 0xfe, 0x32, 0x04, 0x8d, 0xdf, 0xff, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 0x04, 0x8d, 0x00, 0x0b, 
    -	0x00, 0x57, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb2, 0x2f, 0x0b, 0x01, 
    -	0x71, 0xb2, 0x00, 0x0b, 0x01, 0x71, 0xb0, 0x0b, 0x10, 0xb1, 0x00, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x02, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 
    -	0x21, 0x15, 0x21, 0x15, 0x21, 0x03, 0x7f, 0xfe, 0x26, 0x02, 0x30, 0xfc, 
    -	0xac, 0x03, 0x54, 0xfd, 0xd0, 0x01, 0xda, 0x01, 0xec, 0xfe, 0xf2, 0xde, 
    -	0x04, 0x8d, 0xdf, 0xe2, 0x00, 0x02, 0x00, 0x81, 0x00, 0x00, 0x04, 0x53, 
    -	0x04, 0x8d, 0x00, 0x09, 0x00, 0x13, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x12, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x01, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x32, 0x00, 
    -	0x15, 0x15, 0x14, 0x00, 0x23, 0x03, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 
    -	0x34, 0x26, 0x23, 0x81, 0x01, 0xcb, 0xe1, 0x01, 0x26, 0xfe, 0xda, 0xe1, 
    -	0xa7, 0xa7, 0x65, 0x7e, 0x7e, 0x65, 0x04, 0x8d, 0xfe, 0xf4, 0xd2, 0xd2, 
    -	0xd3, 0xfe, 0xf6, 0x03, 0xae, 0xfd, 0x30, 0x8f, 0x70, 0xd3, 0x6f, 0x8f, 
    -	0x00, 0x01, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x3a, 0x04, 0x9d, 0x00, 0x1d, 
    -	0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x13, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x1a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 
    -	0x33, 0x32, 0x16, 0x07, 0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0x32, 0x02, 0x05, 0xfb, 
    -	0xe8, 0xe1, 0xfe, 0xea, 0x01, 0x16, 0xe1, 0xea, 0xfa, 0x05, 0x02, 0xfe, 
    -	0xe6, 0x59, 0x6a, 0x65, 0x6e, 0x6e, 0x65, 0x68, 0x59, 0x01, 0x8d, 0x06, 
    -	0xc9, 0xcf, 0x01, 0x09, 0xd5, 0xf3, 0xd4, 0x01, 0x09, 0xcf, 0xc7, 0x06, 
    -	0x65, 0x58, 0x8c, 0x71, 0xf4, 0x73, 0x8d, 0x5a, 0x66, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x81, 0x00, 0x00, 0x04, 0x52, 0x04, 0x8d, 0x00, 0x0e, 
    -	0x00, 0x17, 0x00, 0x20, 0x00, 0x8a, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x12, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0xaf, 0x18, 0x01, 0x5d, 0xb4, 0x2f, 0x18, 0x3f, 0x18, 0x02, 0x71, 
    -	0xb2, 0x9f, 0x18, 0x01, 0x71, 0xb2, 0xff, 0x18, 0x01, 0x71, 0xb2, 0x2f, 
    -	0x18, 0x01, 0x72, 0xb4, 0xbf, 0x18, 0xcf, 0x18, 0x02, 0x71, 0xb2, 0x6f, 
    -	0x18, 0x01, 0x71, 0xb2, 0xdf, 0x18, 0x01, 0x5d, 0xb2, 0x7f, 0x18, 0x01, 
    -	0x5d, 0xb2, 0x1f, 0x18, 0x01, 0x5d, 0xb0, 0x18, 0x10, 0xb1, 0x0f, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x08, 0x0f, 
    -	0x18, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x1f, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x03, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x81, 0x01, 0xd1, 
    -	0xd8, 0xf1, 0x69, 0x60, 0x7e, 0x82, 0xe5, 0xd6, 0xf2, 0xf2, 0x51, 0x47, 
    -	0x47, 0x51, 0xf2, 0xad, 0x52, 0x54, 0x51, 0x55, 0xad, 0x04, 0x8d, 0xa3, 
    -	0x9f, 0x53, 0x82, 0x22, 0x19, 0x8f, 0x62, 0xa3, 0xa7, 0x01, 0xef, 0xfe, 
    -	0xef, 0x3f, 0x41, 0x48, 0x49, 0xba, 0x3f, 0x3c, 0x45, 0x3d, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x7d, 0x04, 0x50, 0x01, 0x8f, 0x06, 0x03, 0x00, 0x05, 
    -	0x00, 0x10, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x13, 0x33, 0x03, 0x15, 0x23, 
    -	0x7d, 0x73, 0x9f, 0x23, 0xef, 0x04, 0xff, 0x01, 0x04, 0xfe, 0xf2, 0xa5, 
    -	0x00, 0x02, 0x00, 0x6a, 0x04, 0xbc, 0x03, 0x1f, 0x06, 0x92, 0x00, 0x04, 
    -	0x00, 0x14, 0x00, 0x3e, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x11, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x14, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x14, 
    -	0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x27, 0x37, 0x33, 0x05, 
    -	0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x02, 0x29, 0xb6, 0xae, 0x03, 0xd7, 0x01, 0x78, 0x02, 
    -	0x06, 0xbc, 0x9e, 0x9f, 0xbc, 0x07, 0x02, 0xd4, 0x3d, 0x41, 0x3f, 0x3e, 
    -	0x05, 0xd5, 0xb7, 0x06, 0xe2, 0x06, 0x69, 0x85, 0x85, 0x69, 0x06, 0x2b, 
    -	0x38, 0x38, 0x2b, 0x00, 0x00, 0x02, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x04, 0x8d, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x42, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x0a, 0xd0, 
    -	0x30, 0x31, 0x25, 0x21, 0x07, 0x21, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 
    -	0x03, 0x23, 0x03, 0x52, 0xfe, 0x3c, 0x4a, 0xfe, 0xcb, 0x01, 0xc3, 0x01, 
    -	0x3d, 0x01, 0xc2, 0xfe, 0xcc, 0xfe, 0x41, 0x01, 0x24, 0x90, 0x06, 0xcf, 
    -	0xcf, 0x04, 0x8d, 0xfb, 0x73, 0x01, 0xaf, 0x01, 0x8f, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x5a, 0x04, 0xe4, 0x04, 0xe4, 0x06, 0x9f, 0x00, 0x08, 
    -	0x00, 0x0c, 0x00, 0x4e, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x3f, 0x04, 0x01, 
    -	0x5d, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 
    -	0x0f, 0x01, 0x1f, 0x01, 0x2f, 0x01, 0x03, 0x5d, 0xb0, 0x05, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x06, 0xd0, 
    -	0xb0, 0x04, 0x10, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 
    -	0x0f, 0x0a, 0x1f, 0x0a, 0x2f, 0x0a, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x33, 
    -	0x05, 0x07, 0x21, 0x27, 0x07, 0x21, 0x27, 0x01, 0x21, 0x03, 0x23, 0x01, 
    -	0x83, 0xf0, 0x01, 0x28, 0x02, 0xfe, 0xfa, 0x99, 0x97, 0xfe, 0xf9, 0x02, 
    -	0x03, 0x7c, 0x01, 0x0e, 0xd6, 0xcc, 0x05, 0xe7, 0xfd, 0x06, 0x8f, 0x8f, 
    -	0x06, 0x01, 0xb5, 0xfe, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x10, 
    -	0x04, 0xe4, 0x03, 0x98, 0x06, 0x9f, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x4e, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb2, 0x3f, 0x02, 0x01, 0x5d, 0xb0, 0x08, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x08, 0x1f, 0x08, 
    -	0x2f, 0x08, 0x03, 0x5d, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x02, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 
    -	0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0b, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x0b, 0x1f, 0x0b, 
    -	0x2f, 0x0b, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x07, 0x21, 0x27, 0x07, 0x21, 
    -	0x27, 0x25, 0x33, 0x05, 0x23, 0x03, 0x21, 0x03, 0x98, 0x02, 0xfe, 0xfa, 
    -	0x98, 0x98, 0xfe, 0xf9, 0x02, 0x01, 0x29, 0xf0, 0xfe, 0x41, 0xcc, 0xd5, 
    -	0x01, 0x0c, 0x04, 0xea, 0x06, 0x8f, 0x8f, 0x06, 0xfd, 0x57, 0x01, 0x0f, 
    -	0x00, 0x02, 0x00, 0x56, 0x04, 0xe4, 0x04, 0x86, 0x06, 0xc2, 0x00, 0x08, 
    -	0x00, 0x19, 0x00, 0x66, 0x00, 0xb0, 0x02, 0x2f, 0xb2, 0x3f, 0x02, 0x01, 
    -	0x5d, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 
    -	0x0f, 0x08, 0x1f, 0x08, 0x2f, 0x08, 0x03, 0x5d, 0xb0, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x02, 0x10, 0xb0, 0x04, 0xd0, 
    -	0xb0, 0x02, 0x10, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x11, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x12, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0a, 0x10, 0xb0, 0x18, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x07, 
    -	0x23, 0x27, 0x07, 0x23, 0x27, 0x25, 0x33, 0x17, 0x27, 0x36, 0x36, 0x27, 
    -	0x35, 0x36, 0x26, 0x23, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 
    -	0x03, 0x99, 0x03, 0xff, 0xa0, 0x9f, 0xff, 0x03, 0x01, 0x25, 0xfa, 0xda, 
    -	0x0d, 0x3e, 0x35, 0x04, 0x04, 0x3e, 0x39, 0x07, 0x9c, 0xa5, 0x49, 0x35, 
    -	0x04, 0xea, 0x06, 0x99, 0x99, 0x06, 0xfd, 0x7b, 0x74, 0x03, 0x18, 0x19, 
    -	0x06, 0x1e, 0x1b, 0x6f, 0x57, 0x4d, 0x37, 0x3d, 0x07, 0x37, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x57, 0x04, 0xeb, 0x03, 0x8f, 0x06, 0xf3, 0x00, 0x08, 
    -	0x00, 0x1c, 0x00, 0x59, 0x00, 0xb0, 0x02, 0x2f, 0xb2, 0x3f, 0x02, 0x01, 
    -	0x5d, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 
    -	0x0b, 0x0f, 0x08, 0x1f, 0x08, 0x2f, 0x08, 0x3f, 0x08, 0x4f, 0x08, 0x05, 
    -	0x5d, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x02, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x0c, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0f, 0xd0, 0xb0, 0x0c, 0x10, 
    -	0xb0, 0x12, 0xd0, 0xb0, 0x0c, 0x10, 0xb0, 0x19, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x01, 0x07, 0x23, 
    -	0x27, 0x07, 0x23, 0x27, 0x25, 0x33, 0x37, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x03, 0x8f, 0x02, 0xfb, 0x9e, 0x9f, 0xfc, 0x02, 0x01, 0x26, 
    -	0xee, 0xa3, 0x54, 0x40, 0x33, 0x90, 0x25, 0x19, 0x1f, 0x70, 0x51, 0x40, 
    -	0x29, 0x9a, 0x26, 0x18, 0x21, 0x04, 0xf1, 0x06, 0x89, 0x89, 0x06, 0xe4, 
    -	0xf7, 0x46, 0x6a, 0x46, 0x32, 0x22, 0x1e, 0x45, 0x6d, 0x44, 0x36, 0x23, 
    -	0x00, 0x02, 0x00, 0x6a, 0x04, 0xbc, 0x03, 0x1f, 0x06, 0x92, 0x00, 0x0f, 
    -	0x00, 0x14, 0x00, 0x6f, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x7f, 0x04, 0x01, 
    -	0x5d, 0xb2, 0x0f, 0x04, 0x01, 0x5d, 0xb2, 0x5f, 0x04, 0x01, 0x5d, 0xb2, 
    -	0x3f, 0x04, 0x01, 0x5d, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb2, 0xb0, 0x0c, 0x01, 0x71, 0xb2, 0xd0, 0x0c, 0x01, 0x5d, 
    -	0xb6, 0x90, 0x0c, 0xa0, 0x0c, 0xb0, 0x0c, 0x03, 0x72, 0xb0, 0x0f, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x60, 0x0f, 0x01, 0x71, 
    -	0xb2, 0xc0, 0x0f, 0x01, 0x72, 0xb0, 0x09, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 
    -	0x13, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x12, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 
    -	0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x27, 
    -	0x33, 0x17, 0x07, 0x23, 0x03, 0x17, 0x02, 0x06, 0xbc, 0x9e, 0x9f, 0xbc, 
    -	0x07, 0x02, 0xd4, 0x3d, 0x41, 0x3f, 0x3e, 0x52, 0xcd, 0x02, 0xaa, 0xa0, 
    -	0x05, 0xb0, 0x06, 0x69, 0x85, 0x85, 0x69, 0x06, 0x2b, 0x38, 0x38, 0x2b, 
    -	0xe2, 0x05, 0xb8, 0x00, 0x00, 0x02, 0x00, 0x6b, 0x04, 0xc8, 0x03, 0x22, 
    -	0x07, 0x1e, 0x00, 0x0f, 0x00, 0x20, 0x00, 0x73, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb2, 0x0f, 0x04, 0x01, 0x5d, 0xb2, 0x5f, 0x04, 0x01, 0x5d, 0xb2, 0x3f, 
    -	0x04, 0x01, 0x5d, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb2, 0xcf, 0x0c, 0x01, 0x71, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x7f, 0x0f, 0x01, 0x71, 0xb0, 0x09, 0xd0, 
    -	0xb0, 0x0f, 0x10, 0xb0, 0x20, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 
    -	0x3f, 0x11, 0x01, 0x71, 0xb0, 0x18, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x19, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x11, 0x10, 0xb0, 0x1f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 
    -	0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x27, 0x27, 0x36, 0x36, 0x27, 
    -	0x35, 0x36, 0x26, 0x23, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 
    -	0x03, 0x1b, 0x01, 0x06, 0xbb, 0x9f, 0xa1, 0xbc, 0x07, 0x01, 0xd6, 0x3d, 
    -	0x42, 0x3f, 0x3e, 0xe9, 0x10, 0x47, 0x3d, 0x05, 0x05, 0x47, 0x42, 0x07, 
    -	0xb5, 0xc0, 0x54, 0x3f, 0x05, 0xb0, 0x06, 0x64, 0x7e, 0x7e, 0x64, 0x06, 
    -	0x2a, 0x35, 0x35, 0x2a, 0x32, 0x6d, 0x02, 0x16, 0x17, 0x06, 0x1a, 0x18, 
    -	0x68, 0x50, 0x47, 0x32, 0x37, 0x07, 0x35, 0x00, 0x00, 0x02, 0x00, 0x6a, 
    -	0x04, 0xc6, 0x03, 0x1b, 0x06, 0xe2, 0x00, 0x0f, 0x00, 0x23, 0x00, 0x8a, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x0f, 0x04, 0x01, 0x5d, 0xb2, 0x3f, 0x04, 
    -	0x01, 0x5d, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb2, 0xb0, 0x0c, 0x01, 0x72, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x13, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xc0, 0x13, 0x01, 0x71, 
    -	0xb0, 0x16, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x13, 
    -	0x10, 0xb0, 0x19, 0xd0, 0xb0, 0x16, 0x10, 0xb0, 0x1d, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0xcf, 0x1d, 0xdf, 0x1d, 0xef, 0x1d, 
    -	0x03, 0x71, 0xb2, 0xef, 0x1d, 0x01, 0x5d, 0xb0, 0x13, 0x10, 0xb0, 0x20, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xef, 0x20, 0x01, 
    -	0x5d, 0xb6, 0xcf, 0x20, 0xdf, 0x20, 0xef, 0x20, 0x03, 0x71, 0xb0, 0x1d, 
    -	0x10, 0xb0, 0x23, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 
    -	0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x13, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 0x14, 0x01, 0x06, 0xba, 0x9e, 
    -	0x9e, 0xbb, 0x07, 0x02, 0xd4, 0x3c, 0x40, 0x3f, 0x3d, 0xa8, 0x5f, 0x45, 
    -	0x38, 0x8b, 0x27, 0x1d, 0x26, 0x79, 0x5d, 0x47, 0x2b, 0x95, 0x2a, 0x1b, 
    -	0x27, 0x05, 0xb0, 0x06, 0x64, 0x80, 0x80, 0x64, 0x06, 0x2b, 0x35, 0x35, 
    -	0x2b, 0x01, 0x10, 0x4a, 0x6b, 0x44, 0x32, 0x24, 0x21, 0x49, 0x6d, 0x43, 
    -	0x31, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5a, 0xfe, 0x9b, 0x01, 0x7e, 
    -	0x00, 0xea, 0x00, 0x03, 0x00, 0x06, 0x00, 0xb0, 0x02, 0x2f, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x21, 0x01, 0x7e, 0xfe, 0xdc, 0x01, 0x24, 0xfe, 0x9b, 
    -	0x02, 0x4f, 0x00, 0x00, 0x00, 0x01, 0x00, 0x21, 0xfe, 0x5f, 0x01, 0xdc, 
    -	0x00, 0x3f, 0x00, 0x13, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 0x40, 
    -	0x0f, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 
    -	0x00, 0x6f, 0x00, 0x07, 0x5d, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x16, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x27, 0x01, 0x28, 0x5b, 0x59, 0x90, 0x6d, 0x3f, 0x5b, 0x24, 
    -	0x23, 0x17, 0x2d, 0x1f, 0x35, 0x25, 0x30, 0x32, 0x3f, 0x34, 0x8b, 0x4b, 
    -	0x65, 0x71, 0x19, 0x13, 0x9a, 0x08, 0x0c, 0x2b, 0x1b, 0x2f, 0x47, 0x33, 
    -	0x00, 0x01, 0xff, 0x9e, 0xfe, 0x4b, 0x01, 0xab, 0x00, 0xf7, 0x00, 0x0f, 
    -	0x00, 0x1f, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x11, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x11, 0x01, 0xab, 0xca, 0xb4, 0x28, 0x42, 0x25, 0x0e, 0x16, 0x32, 0x1a, 
    -	0x3a, 0x3e, 0xf7, 0xfe, 0xe1, 0xbe, 0xcf, 0x08, 0x09, 0xe0, 0x05, 0x07, 
    -	0x56, 0x52, 0x01, 0x1f, 0x00, 0x01, 0xff, 0x9c, 0xff, 0xe0, 0x03, 0x16, 
    -	0x03, 0x95, 0x00, 0x0f, 0x00, 0x15, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 
    -	0x2f, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x03, 0x21, 0x20, 0x04, 0x15, 0x16, 0x02, 0x07, 0x27, 
    -	0x36, 0x36, 0x37, 0x34, 0x26, 0x23, 0x21, 0x64, 0x01, 0x2e, 0x01, 0x0a, 
    -	0x01, 0x40, 0x02, 0xc0, 0xb5, 0x7b, 0x63, 0x67, 0x01, 0x9c, 0x8b, 0xfe, 
    -	0xd2, 0x03, 0x95, 0xfb, 0xec, 0x86, 0xfe, 0xf1, 0x39, 0xbc, 0x2c, 0x85, 
    -	0x61, 0x7e, 0x84, 0x00, 0x00, 0x01, 0x00, 0x2d, 0x00, 0x00, 0x02, 0x62, 
    -	0x05, 0xb0, 0x00, 0x05, 0x00, 0x33, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0x04, 0x05, 
    -	0x00, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x2f, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x11, 
    -	0x21, 0x35, 0x25, 0x02, 0x62, 0xfe, 0xdc, 0xfe, 0xef, 0x02, 0x35, 0x04, 
    -	0xae, 0xce, 0x34, 0x00, 0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x04, 0x4c, 
    -	0x05, 0xc5, 0x00, 0x1a, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb2, 0x03, 0x00, 
    -	0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x17, 
    -	0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x35, 0x01, 0x36, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 0x27, 0x26, 0x00, 0x33, 
    -	0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x01, 0x17, 0x21, 0x04, 0x4c, 0xfc, 
    -	0x1e, 0x01, 0xd7, 0x66, 0x56, 0x63, 0x5b, 0x65, 0x69, 0xfe, 0xe4, 0x02, 
    -	0x05, 0x01, 0x0d, 0xe4, 0xe1, 0x01, 0x01, 0x91, 0xa7, 0xfe, 0xfd, 0x02, 
    -	0x02, 0x64, 0xbf, 0x01, 0xf9, 0x75, 0xa1, 0x45, 0x5c, 0x75, 0x89, 0x72, 
    -	0x06, 0xc5, 0x01, 0x11, 0xea, 0xc3, 0x84, 0xdf, 0xb5, 0xfe, 0xe5, 0x05, 
    -	0x00, 0x01, 0x00, 0x46, 0xff, 0xeb, 0x04, 0x3f, 0x05, 0xc5, 0x00, 0x2a, 
    -	0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 
    -	0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x07, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb1, 0x29, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x15, 0x00, 0x29, 0x11, 0x12, 0x39, 0xb0, 0x1b, 0x10, 0xb1, 0x23, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 
    -	0x27, 0x26, 0x24, 0x33, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 
    -	0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 0x8f, 0xa4, 0x6b, 0x67, 
    -	0x67, 0x62, 0x52, 0x70, 0xfe, 0xe5, 0x02, 0x06, 0x01, 0x13, 0xca, 0xe4, 
    -	0x01, 0x10, 0x79, 0x6a, 0x7a, 0x80, 0xfe, 0xda, 0xe5, 0xcb, 0xfe, 0xdd, 
    -	0x05, 0x02, 0x01, 0x1b, 0x78, 0x5c, 0x67, 0x78, 0x75, 0x73, 0xa4, 0x03, 
    -	0x54, 0x6d, 0x61, 0x58, 0x6a, 0x60, 0x4e, 0x06, 0xab, 0xde, 0xd8, 0xc8, 
    -	0x5f, 0xab, 0x30, 0x2b, 0xb2, 0x76, 0xc8, 0xe5, 0xd7, 0xc4, 0x06, 0x54, 
    -	0x6d, 0x70, 0x60, 0x73, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x3d, 
    -	0x00, 0x00, 0x04, 0x64, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x41, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 0x23, 0x11, 0x21, 0x11, 
    -	0x21, 0x27, 0x01, 0x21, 0x01, 0x21, 0x11, 0x27, 0x07, 0x03, 0xbf, 0xa5, 
    -	0xa5, 0xfe, 0xdd, 0xfd, 0xae, 0x0d, 0x02, 0x5c, 0x01, 0x26, 0xfd, 0x8e, 
    -	0x01, 0x4f, 0x06, 0x17, 0x02, 0x1e, 0xe2, 0xfe, 0xc4, 0x01, 0x3c, 0xaf, 
    -	0x03, 0xc5, 0xfc, 0x6e, 0x02, 0x12, 0x02, 0x28, 0x00, 0x01, 0x00, 0x6e, 
    -	0xff, 0xeb, 0x04, 0x40, 0x05, 0xb0, 0x00, 0x1f, 0x00, 0x54, 0x00, 0xb0, 
    -	0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 
    -	0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x1c, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x13, 
    -	0x0e, 0x1c, 0x11, 0x12, 0x39, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x13, 
    -	0x21, 0x15, 0x21, 0x03, 0x36, 0x36, 0x37, 0x36, 0x12, 0x15, 0x14, 0x02, 
    -	0x23, 0x22, 0x24, 0x37, 0x37, 0x25, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x8d, 0x54, 0x03, 0x2c, 0xfd, 0xc3, 
    -	0x28, 0x29, 0x72, 0x44, 0xd2, 0xe7, 0xfd, 0xee, 0xc8, 0xfe, 0xe1, 0x05, 
    -	0x02, 0x01, 0x19, 0x6e, 0x59, 0x66, 0x61, 0x67, 0x67, 0x54, 0x58, 0x14, 
    -	0x02, 0x85, 0x03, 0x2b, 0xea, 0xfe, 0xb0, 0x1e, 0x27, 0x01, 0x03, 0xfe, 
    -	0xfc, 0xe8, 0xd2, 0xfe, 0xea, 0xdb, 0xc0, 0x05, 0x0e, 0x61, 0x6d, 0x91, 
    -	0x75, 0x7e, 0x98, 0x3d, 0x36, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6e, 
    -	0xff, 0xeb, 0x04, 0x61, 0x05, 0xc5, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4d, 
    -	0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 
    -	0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 
    -	0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x14, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x17, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 
    -	0x00, 0x23, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x13, 0x22, 0x06, 0x07, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x02, 0xb7, 0x52, 
    -	0x8a, 0x46, 0x33, 0x42, 0x67, 0x45, 0x85, 0xa1, 0x06, 0x03, 0x31, 0x96, 
    -	0x5e, 0xc3, 0xde, 0xfe, 0xef, 0xda, 0xe6, 0xfe, 0xde, 0x01, 0x4a, 0xbb, 
    -	0x51, 0x72, 0x1f, 0x7d, 0x68, 0x5a, 0x6d, 0x6e, 0x05, 0xc5, 0x1f, 0x1e, 
    -	0xd6, 0x17, 0x17, 0xc7, 0xb0, 0x05, 0x33, 0x3a, 0xfe, 0xeb, 0xd7, 0xdc, 
    -	0xfe, 0xe2, 0x01, 0x39, 0x01, 0x15, 0x01, 0x1c, 0x01, 0x1e, 0x01, 0x52, 
    -	0xfd, 0x2f, 0x34, 0x2d, 0x61, 0xad, 0xba, 0xa5, 0x75, 0x79, 0x96, 0x00, 
    -	0x00, 0x01, 0x00, 0x0f, 0x00, 0x00, 0x03, 0xcd, 0x05, 0xb0, 0x00, 0x0c, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x09, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0xd0, 0x30, 
    -	0x31, 0x01, 0x02, 0x02, 0x03, 0x07, 0x21, 0x37, 0x12, 0x12, 0x37, 0x21, 
    -	0x35, 0x21, 0x03, 0xcd, 0xd5, 0x9c, 0x20, 0x0f, 0xfe, 0xdc, 0x0e, 0x20, 
    -	0xcc, 0xb1, 0xfd, 0x5b, 0x03, 0xbe, 0x04, 0xcf, 0xfe, 0xee, 0xfe, 0x25, 
    -	0xfe, 0xb2, 0x94, 0x94, 0x01, 0x41, 0x02, 0x19, 0xe1, 0xe1, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x5b, 0xff, 0xeb, 0x04, 0x63, 0x05, 0xc5, 0x00, 0x17, 
    -	0x00, 0x23, 0x00, 0x2f, 0x00, 0x65, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x2d, 0x2f, 0x1b, 0xb1, 0x2d, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x2d, 
    -	0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x03, 0x1b, 0x2d, 0x11, 0x12, 0x39, 0xb2, 0x0f, 0x2d, 0x1b, 
    -	0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 0xb1, 0x21, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 0xb1, 0x27, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x35, 
    -	0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x04, 0x01, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, 
    -	0x42, 0x79, 0x69, 0x78, 0x8b, 0xfe, 0xe3, 0xe6, 0xe7, 0xfe, 0xe2, 0x8a, 
    -	0x79, 0x6b, 0x77, 0x01, 0x09, 0xd9, 0xd9, 0x01, 0x0b, 0xfe, 0xfe, 0x7e, 
    -	0x64, 0x64, 0x7b, 0x7a, 0x67, 0x64, 0x7c, 0x22, 0x67, 0x59, 0x59, 0x64, 
    -	0x65, 0x5a, 0x59, 0x65, 0x04, 0x2e, 0x6d, 0xa9, 0x2e, 0x32, 0xb5, 0x75, 
    -	0xca, 0xd9, 0xd9, 0xca, 0x75, 0xb6, 0x31, 0x2f, 0xa8, 0x6d, 0xc2, 0xd5, 
    -	0xd5, 0xfc, 0xb2, 0x62, 0x76, 0x76, 0x62, 0x64, 0x73, 0x74, 0x02, 0xe2, 
    -	0x58, 0x6b, 0x69, 0x5a, 0x5b, 0x6b, 0x6b, 0x00, 0x00, 0x02, 0x00, 0x56, 
    -	0xff, 0xeb, 0x04, 0x33, 0x05, 0xc5, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4a, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 
    -	0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 
    -	0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x1b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 
    -	0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 0x06, 0x06, 0x23, 0x22, 0x02, 
    -	0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 0x11, 0x11, 0x10, 0x00, 0x23, 0x22, 
    -	0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x02, 0x0b, 0x74, 0x91, 0x31, 0x87, 
    -	0x4e, 0xcb, 0xe9, 0x01, 0x14, 0xd4, 0xdf, 0x01, 0x16, 0xfe, 0xc9, 0xf1, 
    -	0x4b, 0xa1, 0x45, 0x22, 0x40, 0x80, 0x7e, 0x49, 0x6c, 0x21, 0x70, 0x60, 
    -	0x58, 0x6f, 0x64, 0xcb, 0xab, 0x9f, 0x49, 0x3f, 0x40, 0x01, 0x09, 0xe2, 
    -	0xda, 0x01, 0x21, 0xfe, 0xcd, 0xfe, 0xea, 0xfe, 0xa8, 0xfe, 0xf7, 0xfe, 
    -	0xd0, 0x1f, 0x1e, 0xd3, 0x19, 0x17, 0x01, 0xea, 0x36, 0x2e, 0x85, 0xa0, 
    -	0xa6, 0xa4, 0x76, 0x7d, 0x98, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x81, 
    -	0x00, 0x00, 0x04, 0x63, 0x04, 0x8d, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x3e, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x12, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 0x04, 
    -	0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 0xa5, 
    -	0xfe, 0xdc, 0x01, 0xf7, 0xde, 0x01, 0x0d, 0xfe, 0xf3, 0xde, 0xd3, 0xd3, 
    -	0x5d, 0x6b, 0x6b, 0x5d, 0xd3, 0x01, 0x6d, 0xfe, 0x93, 0x04, 0x8d, 0xe1, 
    -	0xaf, 0xb0, 0xe0, 0xe0, 0x66, 0x48, 0x49, 0x6a, 0x00, 0x01, 0x00, 0x42, 
    -	0xff, 0xef, 0x03, 0xef, 0x04, 0x8d, 0x00, 0x1f, 0x00, 0x52, 0x00, 0xb0, 
    -	0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 
    -	0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x03, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x8f, 0x08, 0x01, 0x5d, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 
    -	0x21, 0x07, 0x36, 0x36, 0x37, 0x36, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x24, 0x37, 0x37, 0x25, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x6f, 0x47, 0x02, 0xf1, 0xfe, 0x12, 0x19, 0x26, 
    -	0x65, 0x3f, 0xb6, 0xcf, 0xe7, 0xec, 0xca, 0xfe, 0xf0, 0x05, 0x02, 0x01, 
    -	0x1b, 0x65, 0x53, 0x57, 0x58, 0x5d, 0x50, 0x45, 0x52, 0x11, 0x01, 0xf8, 
    -	0x02, 0x95, 0xde, 0xf2, 0x15, 0x1c, 0x01, 0x02, 0xca, 0xb4, 0xb2, 0xd2, 
    -	0xa7, 0xa2, 0x06, 0x10, 0x3b, 0x46, 0x61, 0x53, 0x50, 0x5f, 0x29, 0x1c, 
    -	0x00, 0x02, 0x00, 0x67, 0xff, 0xf5, 0x03, 0x11, 0x03, 0x2c, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x57, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x07, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x10, 0x0e, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x1b, 0x05, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x90, 0x1b, 
    -	0x01, 0x71, 0xb0, 0x14, 0x10, 0xb1, 0x22, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 0x17, 0x07, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x36, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x13, 0x22, 
    -	0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x01, 
    -	0xe2, 0x37, 0x63, 0x32, 0x22, 0x27, 0x51, 0x30, 0x4a, 0x61, 0x25, 0x64, 
    -	0x3c, 0x87, 0x8c, 0xbe, 0x97, 0x93, 0xc2, 0xd6, 0x7f, 0x2c, 0x43, 0x14, 
    -	0x51, 0x39, 0x3c, 0x40, 0x41, 0x03, 0x2c, 0x12, 0x10, 0x97, 0x0e, 0x10, 
    -	0x57, 0x4b, 0x29, 0x1d, 0x20, 0x86, 0x74, 0x7b, 0x99, 0xb1, 0x8c, 0xbc, 
    -	0x8f, 0xaf, 0xfe, 0x43, 0x18, 0x14, 0x11, 0x47, 0x5b, 0x3c, 0x32, 0x35, 
    -	0x3c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x61, 0xff, 0xf5, 0x03, 0x0b, 
    -	0x03, 0x21, 0x00, 0x1f, 0x00, 0x54, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x14, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb1, 0x03, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x1c, 0x05, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x13, 0x1c, 0x0e, 0x11, 0x12, 
    -	0x39, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 0x07, 
    -	0x36, 0x36, 0x37, 0x36, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3f, 
    -	0x02, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x80, 0x34, 0x02, 0x24, 0xfe, 0x95, 0x11, 0x1b, 0x4b, 0x2d, 0x85, 
    -	0x97, 0xa7, 0xac, 0x94, 0xc3, 0x06, 0x01, 0xc9, 0x49, 0x3e, 0x41, 0x40, 
    -	0x42, 0x34, 0x39, 0x3e, 0x0f, 0x01, 0x5a, 0x01, 0xc7, 0x9a, 0xa2, 0x10, 
    -	0x16, 0x01, 0x02, 0x8b, 0x7b, 0x7f, 0x94, 0x73, 0x71, 0x05, 0x0b, 0x2b, 
    -	0x2e, 0x3c, 0x36, 0x39, 0x47, 0x1c, 0x15, 0x00, 0x00, 0x02, 0x00, 0x40, 
    -	0x00, 0x00, 0x03, 0x20, 0x03, 0x21, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x41, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x06, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 
    -	0x21, 0x27, 0x01, 0x33, 0x01, 0x33, 0x11, 0x27, 0x07, 0x02, 0xbb, 0x65, 
    -	0x65, 0xd3, 0xfe, 0x66, 0x0e, 0x01, 0xa8, 0xd3, 0xfe, 0x5d, 0xd0, 0x06, 
    -	0x0d, 0x01, 0x28, 0x9d, 0x8b, 0x8b, 0x7e, 0x02, 0x18, 0xfe, 0x07, 0x01, 
    -	0x01, 0x02, 0x14, 0x00, 0x00, 0x01, 0x00, 0x59, 0xff, 0xf5, 0x02, 0xf2, 
    -	0x03, 0x2c, 0x00, 0x2a, 0x00, 0x87, 0x00, 0xb0, 0x2a, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x14, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x4f, 0x2a, 0x01, 0x72, 0xb4, 
    -	0xdf, 0x2a, 0xef, 0x2a, 0x02, 0x5d, 0xb2, 0x7f, 0x2a, 0x01, 0x71, 0xb2, 
    -	0x8f, 0x2a, 0x01, 0x72, 0xb4, 0x2f, 0x2a, 0x3f, 0x2a, 0x02, 0x71, 0xb4, 
    -	0x0f, 0x2a, 0x1f, 0x2a, 0x02, 0x5d, 0xb2, 0xff, 0x2a, 0x01, 0x71, 0xb2, 
    -	0x0f, 0x2a, 0x01, 0x72, 0xb4, 0xaf, 0x2a, 0xbf, 0x2a, 0x02, 0x71, 0xb0, 
    -	0x2a, 0x10, 0xb1, 0x29, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0xb0, 0x29, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x35, 0x01, 0x98, 0x3e, 0x3c, 0x39, 0x37, 0x33, 0x39, 
    -	0xc8, 0x02, 0x06, 0xb0, 0x86, 0x98, 0xb1, 0x47, 0x3d, 0x46, 0x4b, 0xb3, 
    -	0x98, 0x92, 0xbc, 0x06, 0x02, 0xc9, 0x3f, 0x3c, 0x38, 0x44, 0x46, 0x43, 
    -	0x6f, 0x01, 0xd9, 0x31, 0x2e, 0x26, 0x33, 0x2c, 0x1f, 0x06, 0x65, 0x7b, 
    -	0x77, 0x6e, 0x37, 0x5b, 0x19, 0x18, 0x5f, 0x44, 0x70, 0x7c, 0x7d, 0x71, 
    -	0x06, 0x2a, 0x2f, 0x30, 0x2c, 0x32, 0x36, 0x85, 0x00, 0x01, 0x00, 0x66, 
    -	0x00, 0x00, 0x02, 0xe0, 0x03, 0x2c, 0x00, 0x1a, 0x00, 0x48, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x14, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 
    -	0x09, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x19, 0x06, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 
    -	0x35, 0x25, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 
    -	0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x07, 0x17, 
    -	0x21, 0x02, 0xe0, 0xfd, 0x92, 0x01, 0x35, 0x3c, 0x23, 0x2f, 0x31, 0x37, 
    -	0x38, 0xc9, 0x02, 0x06, 0xb1, 0x94, 0x90, 0x9e, 0x6b, 0x7d, 0x6d, 0x02, 
    -	0x01, 0x5a, 0x9b, 0xfc, 0x32, 0x43, 0x29, 0x27, 0x35, 0x3c, 0x2f, 0x06, 
    -	0x6a, 0x96, 0x82, 0x76, 0x52, 0x7d, 0x67, 0x5d, 0x06, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x90, 0x04, 0x54, 0x02, 0xc2, 0x06, 0xc6, 0x00, 0x05, 
    -	0x00, 0x11, 0x00, 0x1d, 0x00, 0x4e, 0x00, 0xb0, 0x0f, 0x2f, 0xb6, 0x0f, 
    -	0x0f, 0x1f, 0x0f, 0x2f, 0x0f, 0x03, 0x5d, 0xb2, 0xbf, 0x0f, 0x01, 0x71, 
    -	0xb2, 0x9f, 0x0f, 0x01, 0x71, 0xb0, 0x1b, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0f, 0x10, 
    -	0xb0, 0x15, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x17, 0x05, 0x23, 0x27, 0x07, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xc0, 0x01, 0x00, 0x02, 0xfe, 
    -	0xf9, 0xb1, 0x02, 0x78, 0x75, 0x56, 0x54, 0x73, 0x73, 0x54, 0x56, 0x75, 
    -	0x71, 0x33, 0x27, 0x25, 0x31, 0x31, 0x25, 0x27, 0x33, 0x06, 0xc6, 0x06, 
    -	0xcd, 0x05, 0xee, 0x4e, 0x6a, 0x6a, 0x4e, 0x50, 0x66, 0x67, 0x4f, 0x27, 
    -	0x31, 0x31, 0x27, 0x27, 0x33, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 
    -	0x00, 0x00, 0x01, 0xa0, 0x03, 0x2c, 0x00, 0x05, 0x00, 0x33, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x14, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x04, 0x05, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x2f, 0xb1, 
    -	0x03, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x21, 0x23, 0x11, 0x23, 0x35, 0x25, 0x01, 0xa0, 0xd3, 0x7f, 0x01, 
    -	0x52, 0x02, 0x76, 0x9f, 0x17, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x67, 
    -	0xff, 0xf5, 0x03, 0x2b, 0x03, 0x2c, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x14, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x06, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x06, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x27, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x03, 0x2b, 0xc4, 0x9e, 0x9f, 0xc3, 0xc2, 0x9f, 0x9e, 
    -	0xc5, 0xd3, 0x4d, 0x43, 0x42, 0x4d, 0x4c, 0x44, 0x43, 0x4c, 0x01, 0x33, 
    -	0x92, 0xac, 0xac, 0x92, 0xba, 0x91, 0xae, 0xae, 0x91, 0x01, 0x4b, 0x58, 
    -	0x58, 0x4b, 0xbb, 0x4e, 0x55, 0x55, 0x4e, 0x00, 0x00, 0x02, 0x00, 0x36, 
    -	0xff, 0xef, 0x03, 0xcc, 0x04, 0x9d, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4a, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 
    -	0xb1, 0x0d, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 
    -	0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x1b, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 
    -	0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 0x06, 0x06, 0x23, 0x22, 0x26, 
    -	0x35, 0x34, 0x24, 0x33, 0x32, 0x00, 0x15, 0x11, 0x14, 0x04, 0x23, 0x22, 
    -	0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 0xe6, 0x52, 0x71, 0x2a, 0x6a, 
    -	0x39, 0xc5, 0xe1, 0x01, 0x06, 0xce, 0xc1, 0x01, 0x01, 0xfe, 0xf2, 0xc9, 
    -	0x4b, 0xa6, 0x4a, 0x30, 0x3d, 0x76, 0x67, 0x37, 0x54, 0x1a, 0x66, 0x4d, 
    -	0x47, 0x55, 0x57, 0xcd, 0x72, 0x56, 0x45, 0x22, 0x23, 0xd1, 0xb0, 0xa6, 
    -	0xe1, 0xff, 0x00, 0xc8, 0xfe, 0xc1, 0xba, 0xed, 0x1a, 0x18, 0xd1, 0x13, 
    -	0x12, 0x01, 0x88, 0x24, 0x1f, 0x49, 0x5f, 0x7e, 0x6a, 0x47, 0x51, 0x67, 
    -	0x00, 0x03, 0x00, 0x4c, 0xff, 0xef, 0x04, 0x09, 0x04, 0x9d, 0x00, 0x17, 
    -	0x00, 0x23, 0x00, 0x2f, 0x00, 0x6a, 0x00, 0xb0, 0x2d, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x12, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 
    -	0xb2, 0x2f, 0x2d, 0x01, 0x71, 0xb2, 0x1f, 0x2d, 0x01, 0x5d, 0xb2, 0x40, 
    -	0x2d, 0x01, 0x5d, 0xb0, 0x2d, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x03, 0x1b, 0x2d, 0x11, 0x12, 
    -	0x39, 0xb2, 0x0f, 0x2d, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x21, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x15, 0x10, 0xb1, 0x27, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 
    -	0x04, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x03, 0xe6, 0x69, 0x5a, 0x69, 0x7d, 0xfe, 0xf5, 
    -	0xcb, 0xd1, 0xfe, 0xea, 0x80, 0x6e, 0x5f, 0x6c, 0xff, 0xc4, 0xbd, 0xf7, 
    -	0xfe, 0xfe, 0x68, 0x4a, 0x51, 0x70, 0x70, 0x52, 0x4a, 0x67, 0x22, 0x54, 
    -	0x3c, 0x43, 0x5c, 0x5d, 0x43, 0x3c, 0x53, 0x03, 0x5c, 0x55, 0x84, 0x27, 
    -	0x28, 0x90, 0x5c, 0xa2, 0xb7, 0xb7, 0xa2, 0x5c, 0x90, 0x28, 0x27, 0x84, 
    -	0x55, 0x99, 0xa8, 0xa8, 0xfd, 0x66, 0x3f, 0x51, 0x51, 0x3f, 0x3f, 0x4f, 
    -	0x4f, 0x02, 0x2c, 0x35, 0x41, 0x41, 0x35, 0x37, 0x46, 0x46, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x03, 0x64, 0x04, 0x8d, 0x00, 0x0c, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x09, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0xd0, 0x30, 
    -	0x31, 0x01, 0x06, 0x02, 0x15, 0x15, 0x21, 0x35, 0x34, 0x12, 0x37, 0x21, 
    -	0x35, 0x21, 0x03, 0x64, 0xab, 0x90, 0xfe, 0xdc, 0xdb, 0x7c, 0xfd, 0xd4, 
    -	0x03, 0x34, 0x03, 0xae, 0xdb, 0xfe, 0xe2, 0xfc, 0xb9, 0xb9, 0xf9, 0x01, 
    -	0x84, 0x78, 0xdf, 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x02, 0x99, 
    -	0x03, 0x21, 0x00, 0x0c, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x14, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x09, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x06, 0x06, 0x15, 0x15, 0x23, 0x35, 
    -	0x34, 0x12, 0x37, 0x21, 0x35, 0x21, 0x02, 0x99, 0x7f, 0x69, 0xd2, 0x9c, 
    -	0x57, 0xfe, 0x70, 0x02, 0x57, 0x02, 0x85, 0x98, 0xc0, 0xae, 0x7f, 0x7f, 
    -	0xad, 0x01, 0x0b, 0x4e, 0x9c, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0x04, 0x8a, 0x03, 0x1e, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x54, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x04, 0x53, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x50, 0x00, 0x00, 0x01, 0x07, 0x03, 0x46, 0xff, 0x43, 0xff, 0x72, 
    -	0x00, 0x2b, 0x00, 0xb4, 0xcf, 0x16, 0xdf, 0x16, 0x02, 0x71, 0xb4, 0xbf, 
    -	0x16, 0xcf, 0x16, 0x02, 0x72, 0xb4, 0x1f, 0x16, 0x2f, 0x16, 0x02, 0x5d, 
    -	0xb2, 0x2f, 0x16, 0x01, 0x72, 0xb4, 0x2f, 0x16, 0x3f, 0x16, 0x02, 0x71, 
    -	0xb4, 0xdf, 0x16, 0xef, 0x16, 0x02, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xdf, 0x00, 0x00, 0x04, 0x53, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x50, 0x00, 0x00, 0x01, 0x07, 0x03, 0x46, 0xff, 0x43, 0xff, 0x72, 
    -	0x00, 0x2b, 0x00, 0xb4, 0xcf, 0x16, 0xdf, 0x16, 0x02, 0x71, 0xb4, 0xbf, 
    -	0x16, 0xcf, 0x16, 0x02, 0x72, 0xb4, 0x1f, 0x16, 0x2f, 0x16, 0x02, 0x5d, 
    -	0xb2, 0x2f, 0x16, 0x01, 0x72, 0xb4, 0x2f, 0x16, 0x3f, 0x16, 0x02, 0x71, 
    -	0xb4, 0xdf, 0x16, 0xef, 0x16, 0x02, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x30, 0x00, 0x00, 0x04, 0x04, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x3f, 0x00, 0x00, 0x01, 0x06, 0x03, 0x46, 0x2f, 0xc6, 0x00, 0x0d, 
    -	0x00, 0xb2, 0x00, 0x09, 0x01, 0x5d, 0xb2, 0x70, 0x0a, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x05, 0xe4, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xb5, 0x00, 0x1e, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x05, 0xdf, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x6a, 0x00, 0x19, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x05, 0xff, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x73, 0x11, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x06, 0x2a, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x7c, 0x31, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x08, 0x04, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x05, 0xca, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x4f, 0x1a, 0x00, 0x0f, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0xb0, 
    -	0x10, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x0f, 
    -	0x00, 0x00, 0x04, 0xd1, 0x06, 0x4c, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x01, 0x15, 0x00, 0x76, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x15, 0x07, 0x04, 0x04, 0x2b, 0xb0, 0x15, 0x10, 0xb0, 0x1b, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 
    -	0x07, 0x19, 0x02, 0x26, 0x03, 0x55, 0x00, 0x00, 0x01, 0x07, 0x03, 0x71, 
    -	0x01, 0x10, 0x00, 0x53, 0x00, 0x15, 0x00, 0xb3, 0x1b, 0x07, 0x04, 0x04, 
    -	0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x1b, 0x10, 0xb0, 0x21, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5f, 0xfe, 0x35, 0x04, 0x3a, 
    -	0x04, 0x9d, 0x02, 0x26, 0x03, 0x51, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 
    -	0x01, 0x56, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 
    -	0x05, 0xe4, 0x02, 0x26, 0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 
    -	0x6a, 0x1e, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 0x06, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 
    -	0x05, 0xdf, 0x02, 0x26, 0x03, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x1f, 0x00, 0x19, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 
    -	0x05, 0xff, 0x02, 0x26, 0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x28, 0x11, 0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 
    -	0x05, 0xca, 0x02, 0x26, 0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x04, 0x1a, 0x00, 0x0f, 0x00, 0xb3, 0x11, 0x07, 0x06, 0x04, 0x2b, 0xb0, 
    -	0x11, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xad, 
    -	0x00, 0x00, 0x01, 0xa9, 0x05, 0xe4, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0xff, 0x60, 0x00, 0x1e, 0x00, 0x09, 0x00, 0xb3, 
    -	0x05, 0x07, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x7f, 
    -	0x00, 0x00, 0x02, 0x7d, 0x05, 0xdf, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x76, 0x13, 0x19, 0x00, 0x09, 0x00, 0xb3, 0x08, 0x07, 
    -	0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa7, 
    -	0x00, 0x00, 0x02, 0x89, 0x05, 0xff, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0xff, 0x1e, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb3, 
    -	0x08, 0x07, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0x96, 
    -	0x00, 0x00, 0x02, 0x94, 0x05, 0xca, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0xfe, 0xfa, 0x00, 0x1a, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x08, 0x07, 0x02, 0x04, 0x2b, 0xb0, 0x08, 0x10, 0xb0, 0x05, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x95, 
    -	0x06, 0x2a, 0x02, 0x26, 0x03, 0x45, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0x8d, 0x00, 0x31, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x08, 0x06, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5b, 0xff, 0xed, 0x04, 0x6c, 
    -	0x05, 0xe4, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xa1, 0x00, 0x1e, 0x00, 0x09, 0x00, 0xb3, 0x1d, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5b, 0xff, 0xed, 0x04, 0x6c, 
    -	0x05, 0xf2, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x56, 0x00, 0x2c, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x07, 0x0a, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5b, 0xff, 0xed, 0x04, 0x6c, 
    -	0x06, 0x12, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x5f, 0x24, 0x00, 0x09, 0x00, 0xb3, 0x20, 0x07, 0x0a, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5b, 0xff, 0xed, 0x04, 0x6c, 
    -	0x06, 0x3d, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x68, 0x44, 0x00, 0x09, 0x00, 0xb3, 0x1f, 0x08, 0x0a, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5b, 0xff, 0xed, 0x04, 0x6c, 
    -	0x05, 0xdd, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x3b, 0x2d, 0x00, 0x0f, 0x00, 0xb3, 0x20, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 
    -	0x20, 0x10, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x05, 0xe4, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xb8, 0x00, 0x1e, 0x00, 0x09, 0x00, 0xb3, 
    -	0x13, 0x07, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x05, 0xe2, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x6d, 0x00, 0x1c, 0x00, 0x09, 0x00, 0xb3, 
    -	0x16, 0x07, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x06, 0x02, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x76, 0x14, 0x00, 0x09, 0x00, 0xb3, 0x16, 0x07, 
    -	0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x05, 0xcd, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x52, 0x1d, 0x00, 0x0f, 0x00, 0xb3, 0x16, 0x07, 
    -	0x08, 0x04, 0x2b, 0xb0, 0x16, 0x10, 0xb0, 0x13, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x07, 0x00, 0x00, 0x04, 0x45, 0x05, 0xdf, 0x02, 0x26, 
    -	0x03, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x29, 0x00, 0x19, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0e, 0x07, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 0x05, 0xb1, 0x02, 0x26, 
    -	0x03, 0x55, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 0x6a, 0x00, 0x00, 0x09, 
    -	0x00, 0xb3, 0x0d, 0x08, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x0f, 0x00, 0x00, 0x04, 0xd1, 0x06, 0x25, 0x02, 0x26, 
    -	0x03, 0x55, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xa6, 0x00, 0x75, 
    -	0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x0f, 0xfe, 0x58, 0x04, 0xea, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x55, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x02, 0xe6, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x3a, 0x05, 0xef, 0x02, 0x26, 
    -	0x03, 0x51, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x4b, 0x00, 0x29, 
    -	0x00, 0x09, 0x00, 0xb3, 0x22, 0x07, 0x0b, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x3a, 0x06, 0x0f, 0x02, 0x26, 
    -	0x03, 0x51, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x54, 0x21, 0x00, 0x09, 
    -	0x00, 0xb3, 0x22, 0x07, 0x0b, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x3a, 0x05, 0xff, 0x02, 0x26, 
    -	0x03, 0x51, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x1e, 0x00, 0x43, 
    -	0x00, 0x09, 0x00, 0xb3, 0x1f, 0x07, 0x0b, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x3a, 0x06, 0x1e, 0x02, 0x26, 
    -	0x03, 0x51, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x6b, 0x2a, 0x00, 0x09, 
    -	0x00, 0xb3, 0x23, 0x07, 0x0b, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x53, 0x06, 0x0e, 0x02, 0x26, 
    -	0x03, 0x50, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x1e, 0x1a, 0x00, 0x09, 
    -	0x00, 0xb3, 0x19, 0x07, 0x01, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 0x05, 0xb1, 0x02, 0x26, 
    -	0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 0x1f, 0x00, 0x00, 0x09, 
    -	0x00, 0xb3, 0x0d, 0x08, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 0x06, 0x25, 0x02, 0x26, 
    -	0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x5b, 0x75, 0x00, 0x09, 
    -	0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 0x05, 0xef, 0x02, 0x26, 
    -	0x03, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x00, 0xf2, 0x00, 0x33, 
    -	0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0xfe, 0x58, 0x03, 0xd5, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x4f, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x00, 0xf7, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0xd5, 0x06, 0x0e, 0x02, 0x26, 
    -	0x03, 0x4f, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x3f, 0x1a, 0x00, 0x09, 
    -	0x00, 0xb3, 0x11, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x74, 0x06, 0x0f, 0x02, 0x26, 
    -	0x03, 0x4d, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x69, 0x21, 0x00, 0x09, 
    -	0x00, 0xb3, 0x25, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x74, 0x06, 0x35, 0x02, 0x26, 
    -	0x03, 0x4d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0x9c, 0x00, 0x85, 
    -	0x00, 0x09, 0x00, 0xb3, 0x25, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xff, 0xef, 0x04, 0x74, 0x05, 0xff, 0x02, 0x26, 
    -	0x03, 0x4d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x33, 0x00, 0x43, 
    -	0x00, 0x09, 0x00, 0xb3, 0x22, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x5f, 0xfe, 0x0c, 0x04, 0x74, 0x04, 0x9d, 0x02, 0x26, 
    -	0x03, 0x4d, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0x8f, 0xfe, 0x88, 
    -	0x00, 0x0f, 0x00, 0xb4, 0x30, 0x25, 0x40, 0x25, 0x02, 0x5d, 0xb2, 0xa0, 
    -	0x25, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 
    -	0x00, 0x00, 0x04, 0x9c, 0x05, 0xff, 0x02, 0x26, 0x03, 0x4c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x87, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb3, 
    -	0x10, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0x9e, 
    -	0x00, 0x00, 0x02, 0x8b, 0x06, 0x2a, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0xff, 0x27, 0x00, 0x31, 0x00, 0x09, 0x00, 0xb3, 
    -	0x07, 0x08, 0x02, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x9b, 0x06, 0x0b, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x59, 0x00, 0xab, 0x00, 0x1d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1c, 0x07, 0x08, 0x04, 0x2b, 0xb0, 0x1c, 0x10, 0xb0, 0x15, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xbb, 0x00, 0x00, 0x02, 0x6f, 
    -	0x06, 0x25, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0xff, 0x51, 0x00, 0x75, 0x00, 0x09, 0x00, 0xb3, 0x08, 0x07, 0x02, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3d, 0xfe, 0x58, 0x01, 0xee, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 0x00, 0x06, 0x01, 0x57, 
    -	0xea, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7a, 0x00, 0x00, 0x01, 0xaa, 
    -	0x05, 0xef, 0x02, 0x26, 0x03, 0x4b, 0x00, 0x00, 0x01, 0x06, 0x01, 0x55, 
    -	0xe8, 0x33, 0x00, 0x09, 0x00, 0xb3, 0x05, 0x07, 0x02, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1c, 0xff, 0xed, 0x04, 0x7d, 
    -	0x05, 0xff, 0x02, 0x26, 0x03, 0x4a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x01, 0x12, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x07, 0x00, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x15, 0x04, 0x76, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x49, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x46, 0xfe, 0x91, 0x00, 0x0f, 0x00, 0xb4, 0x30, 0x12, 0x40, 0x12, 
    -	0x02, 0x5d, 0xb2, 0xa0, 0x12, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x50, 0x00, 0x00, 0x03, 0x88, 0x05, 0xcd, 0x02, 0x26, 
    -	0x03, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x76, 0xe4, 0x07, 0x00, 0x09, 
    -	0x00, 0xb3, 0x0a, 0x07, 0x04, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0xfe, 0x16, 0x03, 0x88, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x48, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0x0b, 0xfe, 0x92, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x0b, 0x40, 0x0b, 0x50, 0x0b, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x0b, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x81, 
    -	0x00, 0x00, 0x03, 0x88, 0x04, 0x8e, 0x02, 0x26, 0x03, 0x48, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x27, 0x01, 0xdd, 0x03, 0x7e, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x03, 0x88, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x48, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x69, 0xfd, 0x37, 0x00, 0x06, 0x00, 0xb0, 0x08, 0x2f, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x95, 0x05, 0xdf, 0x02, 0x26, 
    -	0x03, 0x45, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x7b, 0x00, 0x19, 
    -	0x00, 0x09, 0x00, 0xb3, 0x10, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0xfe, 0x16, 0x04, 0x95, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x45, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0x9b, 0xfe, 0x92, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x10, 0x40, 0x10, 0x50, 0x10, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x81, 
    -	0x00, 0x00, 0x04, 0x95, 0x06, 0x0e, 0x02, 0x26, 0x03, 0x45, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x53, 0x00, 0x9b, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 
    -	0x11, 0x07, 0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5b, 
    -	0xff, 0xed, 0x04, 0x6c, 0x05, 0xc2, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x56, 0x11, 0x00, 0x09, 0x00, 0xb3, 0x1d, 0x08, 
    -	0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5b, 
    -	0xff, 0xed, 0x04, 0x6c, 0x06, 0x38, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0x92, 0x00, 0x88, 0x00, 0x09, 0x00, 0xb3, 
    -	0x20, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5b, 
    -	0xff, 0xed, 0x04, 0x84, 0x06, 0x1b, 0x02, 0x26, 0x03, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x59, 0x00, 0x94, 0x00, 0x2d, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x26, 0x07, 0x0a, 0x04, 0x2b, 0xb0, 0x26, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4d, 
    -	0x05, 0xdf, 0x02, 0x26, 0x03, 0x41, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x1e, 0x00, 0x19, 0x00, 0x09, 0x00, 0xb3, 0x28, 0x07, 0x03, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x81, 0xfe, 0x16, 0x04, 0x4d, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x41, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 
    -	0x01, 0x3e, 0xfe, 0x92, 0x00, 0x11, 0x00, 0xb6, 0x30, 0x29, 0x40, 0x29, 
    -	0x50, 0x29, 0x03, 0x5d, 0xb2, 0xa0, 0x29, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x81, 0x00, 0x00, 0x04, 0x4d, 0x06, 0x0e, 0x02, 0x26, 
    -	0x03, 0x41, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x3e, 0x1a, 0x00, 0x09, 
    -	0x00, 0xb3, 0x29, 0x07, 0x03, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xed, 0x04, 0x21, 0x05, 0xf2, 0x02, 0x26, 
    -	0x03, 0x40, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x28, 0x00, 0x2c, 
    -	0x00, 0x09, 0x00, 0xb3, 0x2c, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xed, 0x04, 0x21, 0x06, 0x12, 0x02, 0x26, 
    -	0x03, 0x40, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x31, 0x24, 0x00, 0x09, 
    -	0x00, 0xb3, 0x2c, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x43, 0xfe, 0x30, 0x04, 0x21, 0x04, 0x9d, 0x02, 0x26, 
    -	0x03, 0x40, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 0x01, 0x3e, 0xff, 0xfb, 
    -	0xff, 0xff, 0x00, 0x43, 0xff, 0xed, 0x04, 0x21, 0x06, 0x21, 0x02, 0x26, 
    -	0x03, 0x40, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x48, 0x2d, 0x00, 0x09, 
    -	0x00, 0xb3, 0x2d, 0x07, 0x09, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x30, 0xfe, 0x16, 0x04, 0x04, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x3f, 0x00, 0x00, 0x01, 0x07, 0x03, 0x27, 0x01, 0x35, 0xfe, 0x92, 
    -	0x00, 0x11, 0x00, 0xb6, 0x30, 0x0d, 0x40, 0x0d, 0x50, 0x0d, 0x03, 0x5d, 
    -	0xb2, 0xa0, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x30, 
    -	0x00, 0x00, 0x04, 0x04, 0x06, 0x0e, 0x02, 0x26, 0x03, 0x3f, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x35, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x0d, 0x07, 
    -	0x06, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x06, 0x2d, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x7f, 0x34, 0x00, 0x09, 0x00, 0xb3, 0x15, 0x08, 
    -	0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x05, 0xb2, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x6d, 0x01, 0x00, 0x09, 0x00, 0xb3, 0x13, 0x08, 
    -	0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x06, 0x28, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xa9, 0x00, 0x78, 0x00, 0x09, 0x00, 0xb3, 
    -	0x16, 0x07, 0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xed, 0x04, 0x84, 0x06, 0x4f, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x01, 0x18, 0x00, 0x79, 0x00, 0x0f, 0x00, 0xb3, 
    -	0x1b, 0x07, 0x08, 0x04, 0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x21, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x43, 0xff, 0xed, 0x08, 0x90, 
    -	0x04, 0x9d, 0x00, 0x26, 0x03, 0x40, 0x00, 0x00, 0x00, 0x07, 0x03, 0x40, 
    -	0x04, 0x6f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x44, 0x00, 0x00, 0x04, 0x01, 
    -	0x06, 0x0f, 0x02, 0x26, 0x03, 0x39, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 
    -	0x4f, 0x1b, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x07, 0x07, 0x04, 0x2b, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x44, 0x00, 0x00, 0x04, 0x01, 
    -	0x05, 0xf0, 0x02, 0x26, 0x03, 0x39, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x02, 0x00, 0x34, 0x00, 0x09, 0x00, 0xb3, 0x0b, 0x07, 0x07, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x44, 0x00, 0x00, 0x04, 0x01, 
    -	0x05, 0xe0, 0x02, 0x26, 0x03, 0x39, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x2f, 0x00, 0x1a, 0x00, 0x09, 0x00, 0xb3, 0x0e, 0x07, 0x07, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x00, 0x04, 0x45, 
    -	0x05, 0xca, 0x02, 0x26, 0x03, 0x3a, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x0e, 0x1a, 0x00, 0x0f, 0x00, 0xb3, 0x0f, 0x07, 0x08, 0x04, 0x2b, 0xb0, 
    -	0x0f, 0x10, 0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x07, 
    -	0x00, 0x00, 0x04, 0x45, 0x05, 0xff, 0x02, 0x26, 0x03, 0x3a, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x32, 0x11, 0x00, 0x09, 0x00, 0xb3, 0x0f, 0x07, 
    -	0x08, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x28, 
    -	0x00, 0x00, 0x05, 0xf1, 0x05, 0xff, 0x02, 0x26, 0x03, 0x3c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x01, 0x12, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb3, 
    -	0x15, 0x07, 0x0a, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xfe, 0x58, 0x04, 0x84, 0x04, 0x8d, 0x02, 0x26, 0x03, 0x3e, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x57, 0x01, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1e, 
    -	0xff, 0xf1, 0x05, 0xc2, 0x05, 0xb0, 0x00, 0x1c, 0x00, 0x67, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x05, 0x17, 0x1c, 0x11, 0x12, 0x39, 
    -	0xb0, 0x05, 0x2f, 0xb0, 0x0b, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x13, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb0, 0x19, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 
    -	0x04, 0x15, 0x14, 0x00, 0x25, 0x27, 0x27, 0x32, 0x36, 0x37, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x04, 0x8e, 
    -	0xfe, 0x24, 0x45, 0x79, 0x38, 0xf8, 0x01, 0x22, 0xfe, 0xf8, 0xfe, 0xe7, 
    -	0x05, 0x01, 0x99, 0x6a, 0x01, 0x82, 0x75, 0x43, 0x77, 0x3c, 0xfe, 0xdb, 
    -	0xfe, 0x91, 0x04, 0x70, 0x04, 0xcf, 0xfe, 0x8d, 0x10, 0x12, 0xe9, 0xdc, 
    -	0xc7, 0xfe, 0xff, 0x03, 0x02, 0xcd, 0x81, 0x68, 0x6b, 0x83, 0x0c, 0x0b, 
    -	0xfd, 0x7d, 0x04, 0xcf, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x25, 
    -	0x00, 0x00, 0x05, 0xba, 0x05, 0xb0, 0x00, 0x17, 0x00, 0x55, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x17, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x05, 0x12, 0x17, 0x11, 0x12, 0x39, 
    -	0xb0, 0x05, 0x2f, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x14, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x11, 0x36, 0x36, 0x33, 0x20, 0x04, 0x15, 0x11, 0x21, 0x11, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x04, 
    -	0x7e, 0xfe, 0x29, 0x3b, 0x77, 0x30, 0x01, 0x0b, 0x01, 0x26, 0xfe, 0xdd, 
    -	0x81, 0x8d, 0x30, 0x7a, 0x38, 0xfe, 0xdb, 0xfe, 0xa3, 0x04, 0x59, 0x04, 
    -	0xcf, 0xfe, 0xbd, 0x09, 0x0b, 0xea, 0xf2, 0xfe, 0x3c, 0x01, 0xc4, 0x8d, 
    -	0x6e, 0x0b, 0x09, 0xfd, 0x55, 0x04, 0xcf, 0xe1, 0x00, 0x02, 0x00, 0x1b, 
    -	0xfe, 0x9a, 0x05, 0xe0, 0x05, 0xb0, 0x00, 0x0e, 0x00, 0x15, 0x00, 0x4a, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 
    -	0xb1, 0x0c, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x01, 0xd0, 
    -	0xb0, 0x02, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x13, 0xd0, 0xb0, 0x07, 0xd0, 0xb0, 0x0c, 0x10, 
    -	0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x03, 0x33, 0x36, 0x12, 
    -	0x13, 0x13, 0x21, 0x11, 0x33, 0x01, 0x06, 0x02, 0x07, 0x21, 0x11, 0x21, 
    -	0x05, 0xc4, 0xfe, 0xf8, 0xfc, 0x83, 0xfe, 0xf3, 0x17, 0x70, 0x4e, 0x75, 
    -	0x0a, 0x28, 0x03, 0xb3, 0xad, 0xfc, 0x9c, 0x09, 0x56, 0x46, 0x02, 0x39, 
    -	0xfe, 0x85, 0xfe, 0x9a, 0x01, 0x66, 0xfe, 0x9a, 0x02, 0x46, 0x43, 0x01, 
    -	0x21, 0x01, 0x18, 0x02, 0x54, 0xfb, 0x30, 0x02, 0x7c, 0xdd, 0xfe, 0xca, 
    -	0x69, 0x03, 0xef, 0x00, 0x00, 0x01, 0x00, 0x12, 0x00, 0x00, 0x07, 0xe9, 
    -	0x05, 0xb0, 0x00, 0x15, 0x00, 0x83, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x16, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb2, 0x08, 0x0c, 0x04, 
    -	0x11, 0x12, 0x39, 0xb0, 0x0c, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x08, 0x10, 
    -	0xb0, 0x13, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 0x11, 0x23, 0x01, 
    -	0x21, 0x01, 0x01, 0x21, 0x01, 0x33, 0x11, 0x21, 0x11, 0x33, 0x01, 0x21, 
    -	0x01, 0x01, 0x21, 0x05, 0x3f, 0xaa, 0xfe, 0xdd, 0xae, 0xfe, 0xba, 0xfe, 
    -	0x94, 0x01, 0xca, 0xfe, 0x4e, 0x01, 0x69, 0x01, 0x48, 0x97, 0x01, 0x23, 
    -	0x93, 0x01, 0x41, 0x01, 0x68, 0xfe, 0x55, 0x01, 0xc3, 0xfe, 0x95, 0x02, 
    -	0x60, 0xfd, 0xa0, 0x02, 0x60, 0xfd, 0xa0, 0x03, 0x11, 0x02, 0x9f, 0xfd, 
    -	0xad, 0x02, 0x53, 0xfd, 0xad, 0x02, 0x53, 0xfd, 0x63, 0xfc, 0xed, 0x00, 
    -	0x00, 0x01, 0x00, 0x24, 0xff, 0xeb, 0x04, 0xee, 0x05, 0xb0, 0x00, 0x15, 
    -	0x00, 0x4e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb2, 0x01, 0x08, 0x15, 0x11, 0x12, 0x39, 
    -	0xb2, 0x34, 0x01, 0x01, 0x5d, 0xb6, 0x42, 0x01, 0x52, 0x01, 0x62, 0x01, 
    -	0x03, 0x5d, 0xb0, 0x15, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x08, 0x10, 0xb1, 
    -	0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x13, 0x08, 0x15, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x17, 0x33, 0x01, 
    -	0x21, 0x01, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x27, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x37, 0x01, 0x21, 0x02, 0x89, 0x17, 0x06, 0x01, 0x13, 
    -	0x01, 0x35, 0xfe, 0x0f, 0x40, 0xab, 0xa0, 0x19, 0x40, 0x10, 0x02, 0x0b, 
    -	0x36, 0x0e, 0x50, 0x4f, 0x1a, 0x16, 0xfd, 0xff, 0x01, 0x3b, 0x03, 0x29, 
    -	0x4d, 0x02, 0xd4, 0xfb, 0x64, 0x8f, 0x9a, 0x03, 0x02, 0xdf, 0x02, 0x02, 
    -	0x46, 0x47, 0x37, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x49, 
    -	0xff, 0xc4, 0x06, 0x48, 0x05, 0xec, 0x00, 0x15, 0x00, 0x1e, 0x00, 0x27, 
    -	0x00, 0x56, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x14, 0x2f, 0xb2, 0x00, 0x14, 
    -	0x0a, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb2, 0x0c, 0x0a, 0x14, 0x11, 
    -	0x12, 0x39, 0xb0, 0x0c, 0x2f, 0xb0, 0x07, 0xd0, 0xb0, 0x07, 0x2f, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x12, 0xd0, 0xb0, 0x12, 0x2f, 0xb1, 0x16, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x21, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1c, 0xd0, 0xb0, 0x1c, 0x2f, 0xb0, 0x16, 0x10, 0xb0, 0x1f, 0xd0, 0xb0, 
    -	0x1f, 0x2f, 0x30, 0x31, 0x01, 0x33, 0x20, 0x00, 0x11, 0x10, 0x00, 0x21, 
    -	0x23, 0x15, 0x21, 0x35, 0x23, 0x20, 0x00, 0x11, 0x10, 0x00, 0x21, 0x33, 
    -	0x35, 0x21, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x11, 0x21, 
    -	0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x03, 0xdc, 0x03, 0x01, 
    -	0x11, 0x01, 0x58, 0xfe, 0xa7, 0xfe, 0xf0, 0x03, 0xfe, 0xdc, 0x06, 0xfe, 
    -	0xee, 0xfe, 0xa9, 0x01, 0x58, 0x01, 0x11, 0x06, 0x01, 0x24, 0xfe, 0xd6, 
    -	0x9a, 0xb0, 0xb0, 0x9a, 0x06, 0x01, 0x24, 0x05, 0x98, 0xb0, 0xaf, 0x99, 
    -	0x05, 0x2d, 0xfe, 0xb4, 0xfe, 0xf0, 0xfe, 0xf4, 0xfe, 0xbb, 0xbc, 0xbc, 
    -	0x01, 0x44, 0x01, 0x0b, 0x01, 0x10, 0x01, 0x4e, 0xbf, 0xfe, 0x51, 0xbf, 
    -	0xaf, 0xaa, 0xb6, 0x02, 0xce, 0xfd, 0x32, 0xb9, 0xa9, 0xaf, 0xbd, 0x00, 
    -	0x00, 0x01, 0x00, 0x85, 0x00, 0x00, 0x07, 0x24, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 
    -	0x01, 0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x07, 0xd0, 0x30, 
    -	0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x01, 0xa9, 0x01, 0x9c, 0x01, 0x23, 0x01, 0x98, 0x01, 0x24, 0xf9, 
    -	0x61, 0x05, 0xb0, 0xfb, 0x30, 0x04, 0xd0, 0xfb, 0x30, 0x04, 0xd0, 0xfa, 
    -	0x50, 0x05, 0xb0, 0x00, 0x00, 0x01, 0x00, 0x85, 0xfe, 0xa2, 0x07, 0xee, 
    -	0x05, 0xb0, 0x00, 0x0f, 0x00, 0x3b, 0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 
    -	0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x02, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x03, 0xd0, 
    -	0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x11, 0x21, 0x11, 0x33, 0x03, 0x21, 0x11, 0x21, 0x11, 0x01, 0xa9, 0x01, 
    -	0x9c, 0x01, 0x23, 0x01, 0x98, 0x01, 0x24, 0xca, 0x14, 0xfe, 0xf1, 0xf9, 
    -	0xba, 0x05, 0xb0, 0xfb, 0x30, 0x04, 0xd0, 0xfb, 0x30, 0x04, 0xd0, 0xfb, 
    -	0x30, 0xfd, 0xc2, 0x01, 0x5e, 0x05, 0xb0, 0x00, 0x00, 0x02, 0x00, 0x1a, 
    -	0x00, 0x00, 0x05, 0xed, 0x05, 0xb0, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x54, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x02, 0x0a, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x02, 
    -	0x2f, 0xb0, 0x01, 0x10, 0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x0d, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x0e, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x21, 0x11, 0x33, 0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 
    -	0x21, 0x01, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1a, 0x02, 
    -	0xb6, 0xfa, 0xfd, 0x01, 0x26, 0xfe, 0xd8, 0xfb, 0xfd, 0xe2, 0xfe, 0x6e, 
    -	0x02, 0xb6, 0xfa, 0x7b, 0x85, 0x84, 0x7c, 0x05, 0xb0, 0xfd, 0xe5, 0xf7, 
    -	0xce, 0xd1, 0xff, 0x04, 0xcf, 0xfd, 0xe5, 0xfe, 0x2c, 0x89, 0x69, 0x64, 
    -	0x7e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x84, 0x00, 0x00, 0x04, 0xc5, 
    -	0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x42, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x00, 0x08, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x0b, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 
    -	0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x33, 0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 
    -	0x21, 0x11, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0xa8, 
    -	0xfa, 0xfd, 0x01, 0x26, 0xfe, 0xd8, 0xfb, 0xfd, 0xe2, 0x01, 0x24, 0xfa, 
    -	0x7b, 0x85, 0x84, 0x7c, 0x03, 0x95, 0xf7, 0xce, 0xd1, 0xff, 0x05, 0xb0, 
    -	0xfd, 0x04, 0xfe, 0x2c, 0x89, 0x69, 0x64, 0x7e, 0x00, 0x02, 0xff, 0xef, 
    -	0x00, 0x00, 0x04, 0x53, 0x05, 0xb0, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x56, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x0a, 0x3e, 0x59, 0xb2, 0x16, 0x0b, 0x09, 0x11, 0x12, 0x39, 0xb0, 
    -	0x16, 0x2f, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x02, 0x0c, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x21, 0x21, 0x01, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x21, 
    -	0x11, 0x21, 0x11, 0x23, 0x13, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x33, 0x01, 0x2a, 0xfe, 0xc5, 0x01, 0x3b, 0x73, 0x74, 0x01, 0x1c, 0xfc, 
    -	0x01, 0xf8, 0xfe, 0xdc, 0xfa, 0xfa, 0xd4, 0x79, 0x7b, 0x7e, 0x76, 0xd4, 
    -	0x02, 0x70, 0x3d, 0xbf, 0x85, 0xd7, 0xe8, 0xfa, 0x50, 0x02, 0x16, 0x02, 
    -	0xb9, 0x79, 0x71, 0x71, 0x89, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 
    -	0xff, 0xeb, 0x04, 0x51, 0x06, 0x15, 0x00, 0x1c, 0x00, 0x2a, 0x00, 0x67, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x1a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x00, 0x11, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x2f, 0xb2, 0x00, 0x00, 0x01, 0x5d, 0xb2, 0x0e, 0x07, 0x11, 0x11, 0x12, 
    -	0x39, 0xb0, 0x0e, 0x2f, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1a, 0x00, 0x07, 0x11, 0x12, 0x39, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x00, 0x15, 0x15, 
    -	0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x35, 0x12, 0x00, 0x37, 0x36, 0x36, 
    -	0x35, 0x33, 0x17, 0x16, 0x06, 0x07, 0x06, 0x06, 0x07, 0x17, 0x36, 0x36, 
    -	0x17, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 
    -	0x34, 0x26, 0x02, 0x6b, 0xe4, 0x01, 0x02, 0xfe, 0xf1, 0xef, 0xf0, 0xfe, 
    -	0xf1, 0x01, 0x01, 0x14, 0xdf, 0x61, 0x5d, 0xe2, 0x03, 0x04, 0xba, 0xe0, 
    -	0x70, 0x85, 0x13, 0x04, 0x37, 0x93, 0x36, 0x71, 0x68, 0x68, 0x73, 0x71, 
    -	0x69, 0x6a, 0x03, 0xfe, 0xfe, 0xe7, 0xdf, 0x15, 0xe6, 0xfe, 0xe0, 0x01, 
    -	0x20, 0xe6, 0x91, 0x01, 0x64, 0x01, 0x82, 0x2c, 0x10, 0x35, 0x3c, 0x06, 
    -	0xc2, 0x7e, 0x23, 0x13, 0x8a, 0x7b, 0x05, 0x31, 0x3e, 0xe1, 0x9c, 0x7b, 
    -	0x15, 0x85, 0xa1, 0xa1, 0x85, 0x15, 0x7b, 0x9c, 0x00, 0x02, 0x00, 0x21, 
    -	0xfe, 0xbc, 0x04, 0xec, 0x04, 0x3a, 0x00, 0x0e, 0x00, 0x15, 0x00, 0x47, 
    -	0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 
    -	0xb1, 0x05, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x13, 0xd0, 0xb0, 0x00, 0xd0, 
    -	0xb0, 0x0c, 0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x05, 0x10, 0xb1, 0x14, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x37, 
    -	0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x03, 0x21, 0x11, 0x21, 0x11, 
    -	0x21, 0x03, 0x01, 0x06, 0x06, 0x07, 0x21, 0x11, 0x23, 0x7f, 0x64, 0x45, 
    -	0x05, 0x05, 0x03, 0x1e, 0x9c, 0x14, 0xfe, 0xf1, 0xfd, 0x81, 0xfe, 0xf0, 
    -	0x19, 0x02, 0x2f, 0x07, 0x43, 0x39, 0x01, 0x60, 0xdb, 0xe2, 0x67, 0xc9, 
    -	0xbb, 0x01, 0x6d, 0xfc, 0xa6, 0xfd, 0xdc, 0x01, 0x44, 0xfe, 0xbc, 0x02, 
    -	0x26, 0x01, 0xeb, 0xa1, 0xf3, 0x58, 0x02, 0x70, 0x00, 0x01, 0x00, 0x19, 
    -	0x00, 0x00, 0x06, 0xc7, 0x04, 0x3a, 0x00, 0x15, 0x00, 0x7d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x0a, 0x3e, 0x59, 0xb2, 0x0c, 0x03, 0x0e, 0x11, 0x12, 0x39, 
    -	0xb0, 0x0c, 0x2f, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb2, 0x08, 0x04, 0x0c, 0x11, 0x12, 
    -	0x39, 0xb0, 0x0c, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x13, 
    -	0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x21, 0x11, 0x23, 0x03, 0x21, 0x01, 
    -	0x01, 0x21, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x13, 0x21, 0x01, 0x01, 
    -	0x21, 0x04, 0x80, 0x7f, 0xfe, 0xdd, 0x7e, 0xd1, 0xfe, 0x8a, 0x01, 0x5e, 
    -	0xfe, 0xb4, 0x01, 0x70, 0xd9, 0x6a, 0x01, 0x23, 0x6b, 0xda, 0x01, 0x70, 
    -	0xfe, 0xb4, 0x01, 0x5d, 0xfe, 0x8a, 0x01, 0x98, 0xfe, 0x68, 0x01, 0x98, 
    -	0xfe, 0x68, 0x02, 0x4b, 0x01, 0xef, 0xfe, 0x68, 0x01, 0x98, 0xfe, 0x68, 
    -	0x01, 0x98, 0xfe, 0x11, 0xfd, 0xb5, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 
    -	0xff, 0xec, 0x03, 0xdc, 0x04, 0x4d, 0x00, 0x2a, 0x00, 0x7a, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0x2a, 
    -	0x1a, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x2a, 0x2f, 0xb2, 0x1f, 0x2a, 0x01, 
    -	0x71, 0xb4, 0x7f, 0x2a, 0x8f, 0x2a, 0x02, 0x5d, 0xb2, 0xbf, 0x2a, 0x01, 
    -	0x71, 0xb2, 0xef, 0x2a, 0x01, 0x71, 0xb1, 0x29, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x29, 0x2a, 0x11, 0x12, 
    -	0x39, 0xb0, 0x1a, 0x10, 0xb0, 0x1f, 0xd0, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x21, 0x27, 
    -	0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x21, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0x16, 0x4a, 0x46, 0x43, 
    -	0x4c, 0x47, 0x57, 0xfe, 0xe5, 0x02, 0x06, 0xf8, 0xba, 0xd0, 0xf1, 0x58, 
    -	0x4e, 0x5a, 0x5f, 0xfe, 0xfd, 0xd1, 0xb9, 0xfe, 0xf7, 0x06, 0x01, 0x01, 
    -	0x1b, 0x5c, 0x54, 0x51, 0x50, 0x50, 0x53, 0x9c, 0x02, 0x86, 0x3e, 0x39, 
    -	0x34, 0x48, 0x40, 0x36, 0x06, 0x91, 0xb3, 0xa4, 0x97, 0x49, 0x79, 0x23, 
    -	0x20, 0x7f, 0x5c, 0x98, 0xae, 0xac, 0xa2, 0x06, 0x38, 0x4a, 0x4e, 0x39, 
    -	0x46, 0x41, 0xba, 0x00, 0x00, 0x03, 0x00, 0x44, 0xfe, 0x60, 0x05, 0x95, 
    -	0x06, 0x18, 0x00, 0x1f, 0x00, 0x2d, 0x00, 0x3b, 0x00, 0x67, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x1a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x1c, 0x10, 
    -	0xb0, 0x13, 0xd0, 0xb0, 0x03, 0x10, 0xb1, 0x38, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x23, 0xd0, 0xb0, 0x1c, 0x10, 
    -	0xb1, 0x31, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x2a, 0xd0, 0x30, 0x31, 0x13, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 
    -	0x11, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x15, 0x14, 0x02, 
    -	0x23, 0x22, 0x26, 0x27, 0x11, 0x21, 0x11, 0x06, 0x06, 0x23, 0x22, 0x02, 
    -	0x35, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x44, 0xd1, 0xbf, 0x25, 0x41, 0x1e, 0x01, 
    -	0x23, 0x1e, 0x44, 0x27, 0xbf, 0xd2, 0xd2, 0xbd, 0x27, 0x46, 0x1e, 0xfe, 
    -	0xdd, 0x1e, 0x44, 0x24, 0xbe, 0xd0, 0x04, 0x2d, 0x5a, 0x5f, 0x12, 0x1e, 
    -	0x0d, 0x0e, 0x1f, 0x12, 0x60, 0x57, 0xfc, 0xf6, 0x54, 0x61, 0x0f, 0x1e, 
    -	0x0f, 0x0e, 0x1d, 0x0f, 0x60, 0x57, 0x02, 0x14, 0x01, 0x00, 0x01, 0x3a, 
    -	0x0e, 0x0c, 0x01, 0xe4, 0xfe, 0x1a, 0x0d, 0x0f, 0xfe, 0xc7, 0xfe, 0xff, 
    -	0x15, 0xf0, 0xfe, 0xdc, 0x0e, 0x0d, 0xfe, 0x5a, 0x01, 0xa4, 0x0c, 0x0d, 
    -	0x01, 0x24, 0xf0, 0x15, 0x9a, 0xbf, 0x04, 0x03, 0xfd, 0x6b, 0x03, 0x03, 
    -	0xa6, 0x8e, 0x8f, 0xa5, 0x02, 0x03, 0x02, 0x97, 0x03, 0x03, 0xbf, 0x9a, 
    -	0x00, 0x02, 0x00, 0x22, 0x00, 0x00, 0x05, 0x1a, 0x04, 0x3a, 0x00, 0x0c, 
    -	0x00, 0x15, 0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb2, 0x00, 0x08, 0x0b, 0x11, 
    -	0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb0, 0x0b, 0x10, 0xb1, 0x0a, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x0d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x08, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x02, 0x7a, 0xcb, 0xdb, 0xfa, 0xfb, 0xda, 0xfe, 0x11, 0xfe, 
    -	0xcc, 0x02, 0x58, 0xcb, 0x5a, 0x58, 0x58, 0x5a, 0x02, 0xf7, 0xd1, 0xac, 
    -	0xa8, 0xd2, 0x03, 0x58, 0xe2, 0xfd, 0xdd, 0xfe, 0xc8, 0x57, 0x43, 0x44, 
    -	0x5a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7b, 0xff, 0xeb, 0x07, 0x05, 
    -	0x05, 0xb0, 0x00, 0x20, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0xd0, 
    -	0xb2, 0x07, 0x0a, 0x0f, 0x11, 0x12, 0x39, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 
    -	0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x13, 0x10, 0xb0, 0x1c, 0xd0, 0xb0, 0x17, 
    -	0x10, 0xb0, 0x20, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x14, 0x04, 0x23, 0x22, 
    -	0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x24, 0x35, 0x11, 0x21, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x11, 0x07, 0x05, 0xfe, 0xf0, 0xda, 0x6f, 0xb4, 0x39, 0x3a, 
    -	0xb5, 0x6e, 0xda, 0xfe, 0xf3, 0x01, 0x24, 0x67, 0x5c, 0x60, 0x6b, 0x01, 
    -	0x26, 0x6a, 0x5e, 0x5d, 0x69, 0x05, 0xb0, 0xfc, 0x11, 0xe1, 0xf5, 0x50, 
    -	0x4f, 0x4e, 0x51, 0xf5, 0xe1, 0x03, 0xef, 0xfc, 0x11, 0x7c, 0x7a, 0x7a, 
    -	0x7c, 0x03, 0xef, 0xfc, 0x11, 0x7c, 0x7a, 0x7a, 0x7c, 0x03, 0xef, 0x00, 
    -	0x00, 0x01, 0x00, 0x63, 0xff, 0xeb, 0x06, 0x44, 0x04, 0x3a, 0x00, 0x20, 
    -	0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 
    -	0x1b, 0xb1, 0x20, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x04, 0xd0, 0xb2, 0x07, 
    -	0x0a, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0xd0, 0x30, 
    -	0x31, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 
    -	0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x06, 0x44, 
    -	0xf2, 0xc8, 0x63, 0x9d, 0x34, 0x37, 0xa1, 0x63, 0xc7, 0xf1, 0x01, 0x25, 
    -	0x4b, 0x48, 0x52, 0x58, 0x01, 0x25, 0x50, 0x50, 0x49, 0x4d, 0x04, 0x3a, 
    -	0xfd, 0x79, 0xdc, 0xec, 0x46, 0x46, 0x46, 0x46, 0xec, 0xdc, 0x02, 0x87, 
    -	0xfd, 0x79, 0x76, 0x72, 0x72, 0x76, 0x02, 0x87, 0xfd, 0x79, 0x77, 0x71, 
    -	0x72, 0x76, 0x02, 0x87, 0x00, 0x02, 0xff, 0xe6, 0x00, 0x00, 0x04, 0x45, 
    -	0x06, 0x19, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x67, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x1a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x11, 0x10, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x2f, 0xb1, 0x01, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x0a, 
    -	0x10, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 
    -	0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x02, 0x10, 0xb1, 0x13, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 
    -	0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x11, 0x33, 0x03, 0x11, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0xa5, 0xff, 0xcb, 0xda, 
    -	0xfa, 0xfb, 0xd9, 0xfe, 0x10, 0x9b, 0x9b, 0x01, 0x25, 0xff, 0xff, 0xcb, 
    -	0x59, 0x58, 0x58, 0x59, 0x04, 0x39, 0xfe, 0xd9, 0xd8, 0xaf, 0xb1, 0xda, 
    -	0x04, 0x39, 0xb4, 0x01, 0x2c, 0xfe, 0xd4, 0xfd, 0x45, 0xfe, 0xad, 0x5f, 
    -	0x4b, 0x48, 0x61, 0x00, 0x00, 0x01, 0x00, 0x81, 0xff, 0xec, 0x06, 0xd7, 
    -	0x05, 0xc6, 0x00, 0x29, 0x00, 0x83, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x29, 0x2f, 0x1b, 0xb1, 0x29, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x12, 0x20, 0x05, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0xd0, 
    -	0xb0, 0x05, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x05, 0x10, 0xb1, 0x0d, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 
    -	0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x20, 0x10, 0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x20, 0x10, 0xb0, 0x1b, 0xd0, 0xb0, 0x13, 0x10, 
    -	0xb0, 0x25, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x35, 0x10, 0x00, 0x21, 0x20, 
    -	0x00, 0x17, 0x07, 0x21, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x21, 
    -	0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x17, 0x06, 
    -	0x00, 0x21, 0x20, 0x00, 0x11, 0x35, 0x23, 0x11, 0x21, 0x11, 0x21, 0x01, 
    -	0xa5, 0xb8, 0x01, 0x40, 0x01, 0x00, 0x01, 0x09, 0x01, 0x1e, 0x13, 0x02, 
    -	0xfe, 0xe4, 0x0c, 0x81, 0x8f, 0x83, 0x9a, 0x01, 0xb5, 0xfe, 0x4b, 0xa2, 
    -	0x8a, 0x86, 0x7a, 0x0c, 0x01, 0x1b, 0x02, 0x0d, 0xfe, 0xe6, 0xfe, 0xfe, 
    -	0xfe, 0xf9, 0xfe, 0xb8, 0xb8, 0xfe, 0xdc, 0x01, 0x24, 0x03, 0x59, 0x10, 
    -	0x01, 0x09, 0x01, 0x54, 0xfe, 0xf1, 0xf5, 0x06, 0x94, 0x95, 0xd5, 0xa5, 
    -	0x12, 0xe1, 0x30, 0xa7, 0xd5, 0x8f, 0x95, 0x06, 0xef, 0xfe, 0xf1, 0x01, 
    -	0x52, 0x01, 0x0a, 0x30, 0xfd, 0x88, 0x05, 0xb0, 0x00, 0x01, 0x00, 0x74, 
    -	0xff, 0xeb, 0x05, 0xcf, 0x04, 0x4e, 0x00, 0x27, 0x00, 0xba, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x27, 0x2f, 0x1b, 0xb1, 0x27, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x24, 0x2f, 0x1b, 0xb1, 0x24, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x11, 0x1f, 0x04, 0x11, 0x12, 0x39, 0xb0, 0x11, 
    -	0x2f, 0xb4, 0x7f, 0x11, 0x8f, 0x11, 0x02, 0x5d, 0xb2, 0x1f, 0x11, 0x01, 
    -	0x71, 0xb4, 0x8f, 0x11, 0x9f, 0x11, 0x02, 0x71, 0xb2, 0xef, 0x11, 0x01, 
    -	0x71, 0xb2, 0xbf, 0x11, 0x01, 0x71, 0xb4, 0x4f, 0x11, 0x5f, 0x11, 0x02, 
    -	0x71, 0xb4, 0xbf, 0x11, 0xcf, 0x11, 0x02, 0x5d, 0xb2, 0x2f, 0x11, 0x01, 
    -	0x5d, 0xb4, 0x1f, 0x11, 0x2f, 0x11, 0x02, 0x72, 0xb0, 0x01, 0xd0, 0xb0, 
    -	0x04, 0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x04, 0x10, 0xb1, 0x0c, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb1, 
    -	0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1f, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb0, 0x1a, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 
    -	0x22, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x36, 0x00, 0x33, 0x32, 0x16, 0x07, 
    -	0x07, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x17, 0x21, 0x15, 0x21, 
    -	0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x17, 0x16, 0x06, 0x23, 
    -	0x22, 0x00, 0x27, 0x23, 0x11, 0x21, 0x11, 0x21, 0x01, 0x98, 0x87, 0x14, 
    -	0x01, 0x01, 0xde, 0xc8, 0xf5, 0x04, 0x02, 0xfe, 0xf6, 0x5c, 0x51, 0x63, 
    -	0x61, 0x07, 0x02, 0x01, 0x3b, 0xfe, 0xc5, 0x02, 0x05, 0x61, 0x66, 0x4e, 
    -	0x5e, 0x01, 0x09, 0x03, 0x04, 0xff, 0xbd, 0xdf, 0xfe, 0xfe, 0x14, 0x86, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x02, 0x78, 0xd1, 0x01, 0x05, 0xe4, 0xba, 0x06, 
    -	0x54, 0x6f, 0x86, 0x6a, 0x05, 0xb4, 0x05, 0x6e, 0x86, 0x5b, 0x4c, 0x06, 
    -	0xa4, 0xdd, 0x01, 0x05, 0xd4, 0xfe, 0x3c, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x61, 0xff, 0xeb, 0x05, 0x20, 0x05, 0xc5, 0x00, 0x0d, 
    -	0x00, 0x16, 0x00, 0x1f, 0x00, 0x63, 0x00, 0x7c, 0xb0, 0x17, 0x2f, 0x18, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 
    -	0x3e, 0x59, 0xb2, 0x00, 0x17, 0x01, 0x71, 0xb2, 0xcf, 0x17, 0x01, 0x71, 
    -	0xb2, 0xb0, 0x17, 0x01, 0x5d, 0xb2, 0x40, 0x17, 0x01, 0x5d, 0xb0, 0x17, 
    -	0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x03, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x1c, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 
    -	0x21, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x05, 
    -	0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x25, 0x21, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x05, 0x20, 0xfe, 0xad, 0xfe, 0xf1, 0xfe, 
    -	0xf3, 0xfe, 0xb0, 0x01, 0x4f, 0x01, 0x0d, 0x01, 0x0f, 0x01, 0x54, 0xfe, 
    -	0xdc, 0xfd, 0x88, 0xa6, 0x94, 0x96, 0xa8, 0xfd, 0x88, 0x02, 0x78, 0xaa, 
    -	0x95, 0x95, 0xa4, 0x02, 0x55, 0xfe, 0xf4, 0xfe, 0xa2, 0x01, 0x5e, 0x01, 
    -	0x0c, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0xfe, 0xa1, 0xfe, 0xf5, 0xdb, 
    -	0x2b, 0xad, 0xda, 0xda, 0xad, 0xdf, 0x29, 0xaa, 0xda, 0xd9, 0xab, 0x00, 
    -	0x00, 0x03, 0x00, 0x41, 0xff, 0xeb, 0x04, 0x3e, 0x04, 0x4e, 0x00, 0x0d, 
    -	0x00, 0x16, 0x00, 0x1f, 0x00, 0x7e, 0x00, 0x7c, 0xb0, 0x12, 0x2f, 0x18, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0xe0, 0x12, 0x01, 0x5d, 0xb2, 0x7f, 
    -	0x12, 0x01, 0x5d, 0xb2, 0x4f, 0x12, 0x01, 0x71, 0xb2, 0x1f, 0x12, 0x01, 
    -	0x72, 0xb2, 0xef, 0x12, 0x01, 0x71, 0xb2, 0x1f, 0x12, 0x01, 0x71, 0xb4, 
    -	0x80, 0x12, 0x90, 0x12, 0x02, 0x72, 0xb2, 0x10, 0x12, 0x01, 0x5d, 0xb2, 
    -	0xf0, 0x12, 0x01, 0x72, 0xb0, 0x0a, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 0xb1, 0x1c, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x34, 0x00, 0x33, 0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 
    -	0x00, 0x35, 0x01, 0x22, 0x06, 0x07, 0x17, 0x21, 0x37, 0x26, 0x26, 0x03, 
    -	0x32, 0x36, 0x37, 0x27, 0x21, 0x07, 0x16, 0x16, 0x41, 0x01, 0x0e, 0xef, 
    -	0xf0, 0x01, 0x10, 0xfe, 0xf1, 0xef, 0xf0, 0xfe, 0xf1, 0x01, 0xfd, 0x61, 
    -	0x68, 0x08, 0x02, 0x01, 0xa0, 0x02, 0x09, 0x69, 0x5f, 0x60, 0x67, 0x09, 
    -	0x02, 0xfe, 0x61, 0x02, 0x08, 0x68, 0x02, 0x27, 0xf2, 0x01, 0x35, 0xfe, 
    -	0xcc, 0xf3, 0x15, 0xf4, 0xfe, 0xcd, 0x01, 0x33, 0xf4, 0x01, 0x5b, 0x87, 
    -	0x6c, 0x05, 0x05, 0x6c, 0x87, 0xfd, 0x5e, 0x83, 0x6e, 0x05, 0x05, 0x6e, 
    -	0x83, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x05, 
    -	0x05, 0xc3, 0x00, 0x11, 0x00, 0x4f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x01, 
    -	0xd0, 0x40, 0x0b, 0x14, 0x01, 0x24, 0x01, 0x34, 0x01, 0x44, 0x01, 0x54, 
    -	0x01, 0x05, 0x5d, 0xb2, 0x61, 0x01, 0x01, 0x5d, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x0a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x36, 0x36, 0x33, 0x17, 0x07, 0x23, 
    -	0x22, 0x06, 0x07, 0x01, 0x21, 0x01, 0x21, 0x02, 0x75, 0x12, 0x06, 0x11, 
    -	0xd3, 0x35, 0xaa, 0x8d, 0x28, 0x02, 0x1c, 0x2b, 0x3d, 0x10, 0xfe, 0xb1, 
    -	0xfe, 0xd4, 0xfe, 0x19, 0x01, 0x34, 0x01, 0x8b, 0x51, 0x4e, 0x02, 0xe7, 
    -	0xac, 0xa8, 0x01, 0xec, 0x40, 0x38, 0xfb, 0xa2, 0x05, 0xb0, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x05, 0x07, 0x40, 0x02, 0x26, 
    -	0x03, 0xe7, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5f, 0x04, 0x3f, 0x01, 0x52, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x14, 0x07, 0x11, 0x04, 0x2b, 0xb0, 0x14, 0x10, 
    -	0xb0, 0x19, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x7b, 
    -	0xff, 0xeb, 0x06, 0xf4, 0x07, 0x31, 0x00, 0x2e, 0x00, 0x40, 0x00, 0x46, 
    -	0x00, 0x99, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x08, 0xd0, 0xb2, 0x0b, 0x0e, 0x01, 
    -	0x11, 0x12, 0x39, 0xb0, 0x01, 0x10, 0xb0, 0x15, 0xd0, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x2e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x17, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x1e, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x23, 0x01, 0x0e, 0x11, 0x12, 
    -	0x39, 0xb0, 0x27, 0xd0, 0xb2, 0x41, 0x2e, 0x01, 0x11, 0x12, 0x39, 0xb0, 
    -	0x41, 0x2f, 0xb0, 0x45, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x31, 0xd0, 0xb0, 0x2f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x31, 0x10, 0xb0, 0x34, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x31, 0x10, 0xb0, 0x38, 0xd0, 0xb0, 0x34, 0x10, 0xb0, 
    -	0x3d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 
    -	0x37, 0x36, 0x04, 0x15, 0x11, 0x14, 0x04, 0x23, 0x22, 0x26, 0x27, 0x06, 
    -	0x06, 0x23, 0x22, 0x24, 0x35, 0x11, 0x34, 0x24, 0x17, 0x17, 0x15, 0x22, 
    -	0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x13, 0x15, 
    -	0x23, 0x22, 0x24, 0x23, 0x22, 0x06, 0x15, 0x15, 0x23, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x04, 0x33, 0x01, 0x27, 0x37, 0x27, 0x33, 0x15, 0x05, 0x0d, 
    -	0x06, 0xd5, 0x01, 0x0c, 0xfe, 0xf3, 0xda, 0x6c, 0xb0, 0x3a, 0x3b, 0xb0, 
    -	0x6a, 0xda, 0xfe, 0xf3, 0x01, 0x0c, 0xd5, 0x06, 0x5c, 0x67, 0x67, 0x5c, 
    -	0x60, 0x6b, 0x01, 0x15, 0x6a, 0x61, 0x5b, 0x68, 0x68, 0x5b, 0x6f, 0x17, 
    -	0x81, 0xfe, 0xc4, 0x28, 0x31, 0x36, 0x85, 0x78, 0x70, 0x46, 0x01, 0x35, 
    -	0x6f, 0xfe, 0x23, 0x52, 0x3b, 0x01, 0xb6, 0x05, 0xa8, 0x02, 0x04, 0xfc, 
    -	0xe7, 0xfe, 0x04, 0xe8, 0xfc, 0x4b, 0x4a, 0x4a, 0x4b, 0xfc, 0xe8, 0x01, 
    -	0xfc, 0xe7, 0xfc, 0x04, 0x02, 0xd9, 0x82, 0x82, 0xfe, 0x04, 0x83, 0x81, 
    -	0x7a, 0x7c, 0x01, 0x6f, 0xfe, 0x91, 0x7c, 0x7a, 0x81, 0x83, 0x01, 0xfc, 
    -	0x82, 0x82, 0x01, 0xea, 0x86, 0x78, 0x33, 0x33, 0x12, 0x25, 0x6d, 0x6c, 
    -	0x78, 0xfe, 0x53, 0x37, 0x6c, 0x93, 0x81, 0x00, 0x00, 0x03, 0x00, 0x6c, 
    -	0xff, 0xeb, 0x06, 0x09, 0x05, 0xd6, 0x00, 0x2e, 0x00, 0x40, 0x00, 0x46, 
    -	0x00, 0xac, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x08, 0xd0, 0xb2, 0x0b, 0x0e, 
    -	0x15, 0x11, 0x12, 0x39, 0xb0, 0x15, 0x10, 0xb1, 0x17, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x1e, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x22, 
    -	0x15, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x27, 0xd0, 0xb0, 0x01, 0x10, 0xb1, 
    -	0x2e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x41, 0x17, 0x15, 0x11, 0x12, 0x39, 0xb0, 0x41, 0x2f, 0xb0, 0x45, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 0xd0, 0xb0, 0x2f, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 0x10, 0xb0, 
    -	0x34, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 0x10, 
    -	0xb0, 0x38, 0xd0, 0xb0, 0x34, 0x10, 0xb0, 0x3d, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x37, 0x36, 0x16, 0x15, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x35, 0x34, 0x36, 0x17, 0x17, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x34, 0x26, 0x23, 0x13, 0x15, 0x23, 0x22, 0x24, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x04, 0x33, 0x01, 
    -	0x27, 0x37, 0x27, 0x33, 0x15, 0x04, 0x3b, 0x06, 0xc9, 0xff, 0xf0, 0xc0, 
    -	0x5b, 0x93, 0x31, 0x32, 0x92, 0x5a, 0xc2, 0xee, 0xfe, 0xca, 0x06, 0x50, 
    -	0x5a, 0x4a, 0x42, 0x45, 0x4f, 0x01, 0x15, 0x4e, 0x46, 0x41, 0x4b, 0x5b, 
    -	0x4f, 0xcd, 0x17, 0x81, 0xfe, 0xc5, 0x29, 0x31, 0x36, 0x85, 0x79, 0x70, 
    -	0x46, 0x01, 0x34, 0x6f, 0xfe, 0x23, 0x51, 0x3a, 0x01, 0xb6, 0x04, 0x42, 
    -	0x03, 0x03, 0xed, 0xda, 0xcd, 0xdb, 0xee, 0x48, 0x47, 0x47, 0x48, 0xee, 
    -	0xdb, 0xcd, 0xda, 0xed, 0x03, 0x03, 0xd9, 0x74, 0x74, 0xcd, 0x75, 0x74, 
    -	0x73, 0x75, 0xa9, 0xa9, 0x75, 0x73, 0x74, 0x75, 0xcd, 0x74, 0x74, 0x01, 
    -	0xf5, 0x86, 0x78, 0x33, 0x33, 0x12, 0x25, 0x6d, 0x6c, 0x78, 0xfe, 0x60, 
    -	0x37, 0x6d, 0x85, 0x73, 0x00, 0x02, 0x00, 0x7b, 0xff, 0xeb, 0x07, 0x05, 
    -	0x07, 0x07, 0x00, 0x07, 0x00, 0x28, 0x00, 0x7d, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x10, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x1f, 0x10, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 
    -	0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x12, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x24, 0xd0, 0xb2, 0x0f, 
    -	0x12, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 
    -	0x31, 0x01, 0x35, 0x21, 0x17, 0x21, 0x15, 0x23, 0x35, 0x05, 0x11, 0x14, 
    -	0x04, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x24, 0x35, 0x11, 
    -	0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x02, 0x07, 0x03, 0x75, 0x02, 0xfe, 
    -	0x96, 0xb5, 0x03, 0xa6, 0xfe, 0xf0, 0xda, 0x6f, 0xb4, 0x39, 0x3a, 0xb5, 
    -	0x6e, 0xda, 0xfe, 0xf3, 0x01, 0x24, 0x67, 0x5c, 0x60, 0x6b, 0x01, 0x26, 
    -	0x6a, 0x5e, 0x5d, 0x69, 0x06, 0x97, 0x70, 0x70, 0x7f, 0x7f, 0xe7, 0xfc, 
    -	0x11, 0xe1, 0xf5, 0x50, 0x4f, 0x4e, 0x51, 0xf5, 0xe1, 0x03, 0xef, 0xfc, 
    -	0x11, 0x7c, 0x7a, 0x7a, 0x7c, 0x03, 0xef, 0xfc, 0x11, 0x7c, 0x7a, 0x7a, 
    -	0x7c, 0x03, 0xef, 0x00, 0x00, 0x02, 0x00, 0x63, 0xff, 0xeb, 0x06, 0x44, 
    -	0x05, 0xb1, 0x00, 0x07, 0x00, 0x28, 0x00, 0x7d, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x1f, 0x10, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 
    -	0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x12, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x24, 0xd0, 0xb2, 0x0f, 
    -	0x12, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 
    -	0x31, 0x01, 0x35, 0x21, 0x17, 0x21, 0x15, 0x23, 0x35, 0x01, 0x11, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 
    -	0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x01, 0xba, 0x03, 0x38, 0x06, 0xfe, 
    -	0xb0, 0xb5, 0x03, 0x51, 0xf2, 0xc8, 0x63, 0x9d, 0x34, 0x37, 0xa1, 0x63, 
    -	0xc7, 0xf1, 0x01, 0x25, 0x4b, 0x48, 0x52, 0x58, 0x01, 0x25, 0x50, 0x50, 
    -	0x49, 0x4d, 0x05, 0x41, 0x70, 0x70, 0x7f, 0x7f, 0xfe, 0xf9, 0xfd, 0x79, 
    -	0xdc, 0xec, 0x46, 0x46, 0x46, 0x46, 0xec, 0xdc, 0x02, 0x87, 0xfd, 0x79, 
    -	0x76, 0x72, 0x72, 0x76, 0x02, 0x87, 0xfd, 0x79, 0x77, 0x71, 0x72, 0x76, 
    -	0x02, 0x87, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe6, 0x00, 0x00, 0x04, 0x45, 
    -	0x06, 0x53, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x5d, 0x00, 0xb0, 0x10, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb2, 0x11, 0x10, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x2f, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x02, 0x0a, 0x10, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x01, 0x10, 
    -	0xb0, 0x0b, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0a, 0x10, 0xb1, 0x14, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x21, 0x15, 0x33, 
    -	0x03, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0xa5, 0xff, 
    -	0xcb, 0xda, 0xfa, 0xfb, 0xd9, 0xfe, 0x10, 0x9b, 0x9b, 0x01, 0x25, 0xff, 
    -	0xff, 0xcb, 0x59, 0x58, 0x58, 0x59, 0x04, 0xfb, 0xfe, 0x17, 0xd8, 0xaf, 
    -	0xb1, 0xda, 0x04, 0xfb, 0xb5, 0xa3, 0xa3, 0xfc, 0x82, 0xfe, 0xad, 0x5f, 
    -	0x4b, 0x48, 0x61, 0x00, 0x00, 0x02, 0x00, 0x88, 0x00, 0x00, 0x04, 0xe7, 
    -	0x05, 0xb0, 0x00, 0x10, 0x00, 0x1d, 0x00, 0x49, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x10, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x00, 0x01, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb2, 0x09, 0x00, 
    -	0x03, 0x11, 0x12, 0x39, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1d, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 
    -	0x11, 0x21, 0x32, 0x00, 0x15, 0x14, 0x07, 0x06, 0x07, 0x17, 0x07, 0x27, 
    -	0x06, 0x23, 0x25, 0x21, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x21, 0x01, 0xac, 0xfe, 0xdc, 0x02, 0x44, 0xfb, 0x01, 0x20, 
    -	0x90, 0x03, 0x02, 0x77, 0x65, 0x89, 0x73, 0x9c, 0xfe, 0xe0, 0x01, 0x20, 
    -	0x37, 0x2b, 0x80, 0x65, 0x8a, 0x27, 0x7d, 0x7b, 0xfe, 0xe0, 0x02, 0x10, 
    -	0xfd, 0xf0, 0x05, 0xb0, 0xff, 0x00, 0xd1, 0xd1, 0x7f, 0x02, 0x03, 0x82, 
    -	0x5d, 0x96, 0x31, 0xe1, 0x0e, 0x8d, 0x5d, 0x98, 0x3b, 0x51, 0x69, 0x89, 
    -	0x00, 0x02, 0x00, 0x70, 0xfe, 0x60, 0x04, 0x40, 0x04, 0x4e, 0x00, 0x17, 
    -	0x00, 0x29, 0x00, 0x6a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 
    -	0x2f, 0x1b, 0xb1, 0x14, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb2, 0x0c, 0x09, 
    -	0x14, 0x11, 0x12, 0x39, 0xb2, 0x11, 0x14, 0x09, 0x11, 0x12, 0x39, 0xb0, 
    -	0x14, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x27, 0x22, 0x1b, 0x11, 0x12, 0x39, 
    -	0x30, 0x31, 0x01, 0x14, 0x07, 0x06, 0x07, 0x17, 0x07, 0x27, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x11, 0x21, 0x11, 0x21, 0x17, 0x36, 0x36, 0x33, 0x32, 
    -	0x12, 0x11, 0x21, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 
    -	0x33, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x35, 0x04, 0x40, 0x6f, 0x03, 
    -	0x03, 0x60, 0x68, 0x60, 0x56, 0x72, 0x55, 0x84, 0x2f, 0xfe, 0xdd, 0x01, 
    -	0x0c, 0x0e, 0x30, 0x86, 0x59, 0xc9, 0xde, 0xfe, 0xdc, 0x66, 0x69, 0x42, 
    -	0x5d, 0x1b, 0x1b, 0x5d, 0x44, 0x3d, 0x2a, 0x74, 0x68, 0x5c, 0x16, 0x01, 
    -	0xff, 0xf0, 0x92, 0x04, 0x03, 0x70, 0x5c, 0x71, 0x30, 0x3f, 0x3d, 0xfd, 
    -	0xf9, 0x05, 0xda, 0x7e, 0x46, 0x4c, 0xfe, 0xc6, 0xff, 0x00, 0x99, 0xbe, 
    -	0x36, 0x32, 0xfe, 0x26, 0x2e, 0x30, 0x1b, 0x89, 0x5b, 0x6d, 0x44, 0x5e, 
    -	0x00, 0x01, 0x00, 0x88, 0xfe, 0xb3, 0x04, 0xb5, 0x05, 0xb0, 0x00, 0x16, 
    -	0x00, 0x57, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 
    -	0x2f, 0x1b, 0xb1, 0x16, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x16, 0x10, 0xb1, 
    -	0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x02, 0x13, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x0b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x02, 0x10, 0xb1, 0x12, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x33, 0x20, 0x00, 0x11, 
    -	0x14, 0x00, 0x25, 0x27, 0x35, 0x32, 0x36, 0x37, 0x34, 0x26, 0x23, 0x23, 
    -	0x11, 0x21, 0x11, 0x21, 0x04, 0x3d, 0xfd, 0x6f, 0xae, 0x01, 0x16, 0x01, 
    -	0x45, 0xfe, 0xfa, 0xfe, 0xeb, 0x06, 0x96, 0x67, 0x01, 0xa0, 0x98, 0xae, 
    -	0xfe, 0xdc, 0x03, 0xb5, 0x04, 0xcf, 0xfe, 0x75, 0xfe, 0xd3, 0xfe, 0xe3, 
    -	0xfa, 0xfe, 0xb3, 0x04, 0x02, 0xce, 0xce, 0x98, 0xb8, 0xba, 0xfd, 0xa1, 
    -	0x05, 0xb0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6b, 0xfe, 0xe2, 0x03, 0xf9, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x45, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x15, 0x10, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x12, 0x15, 0x11, 0x12, 0x39, 0xb0, 0x02, 
    -	0x2f, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x21, 0x15, 0x33, 0x20, 0x04, 0x15, 0x16, 0x02, 
    -	0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 
    -	0x21, 0x03, 0x4d, 0xfe, 0x41, 0x33, 0x01, 0x00, 0x01, 0x36, 0x02, 0xc0, 
    -	0xb5, 0x7b, 0x63, 0x67, 0x91, 0x81, 0x33, 0xfe, 0xdd, 0x02, 0xe2, 0x03, 
    -	0x58, 0xc0, 0xfb, 0xec, 0x86, 0xfe, 0xf2, 0x3b, 0xbd, 0x2d, 0x84, 0x61, 
    -	0x7e, 0x84, 0xfe, 0x4d, 0x04, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x12, 
    -	0xfe, 0x9b, 0x08, 0x5c, 0x05, 0xb0, 0x02, 0x26, 0x03, 0xd2, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x06, 0xde, 0x00, 0x00, 0xff, 0xff, 0x00, 0x19, 
    -	0xfe, 0x9b, 0x07, 0x0e, 0x04, 0x3a, 0x02, 0x26, 0x03, 0xdc, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x05, 0x90, 0x00, 0x00, 0xff, 0xff, 0x00, 0x57, 
    -	0xfe, 0x27, 0x04, 0xe2, 0x05, 0xc5, 0x00, 0x26, 0x01, 0xbf, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0x87, 0xff, 0x8c, 0xff, 0xff, 0x00, 0x46, 
    -	0xfe, 0x28, 0x03, 0xdc, 0x04, 0x4d, 0x02, 0x26, 0x03, 0xdd, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0x2a, 0xff, 0x8d, 0x00, 0x01, 0x00, 0x25, 
    -	0x00, 0x00, 0x06, 0xb5, 0x05, 0xb0, 0x00, 0x0e, 0x00, 0x63, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x0a, 0x3e, 0x59, 0xb2, 0x08, 0x02, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x08, 
    -	0x2f, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0c, 0x01, 0x08, 0x11, 0x12, 0x39, 0x30, 
    -	0x31, 0x01, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x01, 
    -	0x21, 0x01, 0x01, 0x21, 0x03, 0xca, 0xa2, 0xfe, 0xdc, 0xfe, 0x21, 0x03, 
    -	0x03, 0x7f, 0x01, 0x82, 0x01, 0x65, 0xfe, 0x16, 0x02, 0x11, 0xfe, 0x9c, 
    -	0x02, 0x60, 0xfd, 0xa0, 0x04, 0xce, 0xe2, 0xfd, 0xad, 0x02, 0x53, 0xfd, 
    -	0x5a, 0xfc, 0xf6, 0x00, 0x00, 0x01, 0x00, 0x3a, 0x00, 0x00, 0x05, 0xc8, 
    -	0x04, 0x3a, 0x00, 0x0e, 0x00, 0x63, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb2, 
    -	0x08, 0x02, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x08, 0x2f, 0xb1, 0x01, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x04, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x0c, 0x01, 0x08, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x13, 0x21, 0x01, 0x01, 0x21, 
    -	0x03, 0x58, 0x70, 0xfe, 0xdd, 0xfe, 0x75, 0x02, 0xae, 0x67, 0xe9, 0x01, 
    -	0x70, 0xfe, 0x9f, 0x01, 0x81, 0xfe, 0x7c, 0x01, 0x95, 0xfe, 0x6b, 0x03, 
    -	0x58, 0xe2, 0xfe, 0x64, 0x01, 0x9c, 0xfe, 0x02, 0xfd, 0xc4, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x88, 0xfe, 0xb1, 0x08, 0x15, 0x05, 0xb0, 0x00, 0x18, 
    -	0x00, 0x64, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 
    -	0x2f, 0x1b, 0xb1, 0x18, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb2, 0x00, 0x12, 
    -	0x18, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb0, 0x07, 0x10, 0xb1, 0x09, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x10, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x18, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x20, 0x00, 0x11, 0x14, 
    -	0x00, 0x25, 0x27, 0x35, 0x32, 0x36, 0x37, 0x34, 0x26, 0x23, 0x23, 0x11, 
    -	0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x05, 0x22, 0x98, 0x01, 0x16, 
    -	0x01, 0x45, 0xfe, 0xfa, 0xfe, 0xeb, 0x06, 0x96, 0x67, 0x01, 0xa0, 0x98, 
    -	0x98, 0xfe, 0xdc, 0xfd, 0xae, 0xfe, 0xdc, 0x04, 0x9a, 0x03, 0x42, 0xfe, 
    -	0xd3, 0xfe, 0xe3, 0xf9, 0xfe, 0xb2, 0x04, 0x02, 0xce, 0xce, 0x98, 0xb8, 
    -	0xba, 0xfd, 0xa3, 0x04, 0xcf, 0xfb, 0x31, 0x05, 0xb0, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xfe, 0xe8, 0x06, 0xbf, 0x04, 0x3a, 0x00, 0x17, 
    -	0x00, 0x52, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 
    -	0x2f, 0x1b, 0xb1, 0x17, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb2, 0x00, 0x11, 
    -	0x17, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0x10, 0xb1, 0x12, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x33, 0x20, 0x04, 0x15, 0x16, 0x02, 0x07, 0x27, 0x36, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 
    -	0x04, 0x19, 0x5a, 0x01, 0x0a, 0x01, 0x40, 0x02, 0xc0, 0xb5, 0x7b, 0x64, 
    -	0x66, 0x9b, 0x8b, 0x5a, 0xfe, 0xdc, 0xfe, 0x9a, 0xfe, 0xdc, 0x03, 0xae, 
    -	0x02, 0x9e, 0xfa, 0xec, 0x86, 0xfe, 0xf2, 0x3c, 0xbd, 0x2d, 0x85, 0x61, 
    -	0x7e, 0x84, 0xfe, 0x46, 0x03, 0x58, 0xfc, 0xa8, 0x04, 0x3a, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x61, 0xff, 0xeb, 0x06, 0x05, 0x05, 0xc4, 0x00, 0x2a, 
    -	0x00, 0x39, 0x00, 0x77, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 
    -	0x1b, 0xb1, 0x20, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 
    -	0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0xd0, 0xb2, 
    -	0x03, 0x06, 0x20, 0x11, 0x12, 0x39, 0xb0, 0x0d, 0x10, 0xb1, 0x0f, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x2a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x2e, 0x20, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x20, 
    -	0x10, 0xb1, 0x36, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x20, 0x00, 
    -	0x11, 0x35, 0x10, 0x00, 0x17, 0x17, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x37, 0x26, 0x02, 0x35, 0x35, 0x34, 0x12, 0x33, 
    -	0x32, 0x12, 0x11, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x33, 0x01, 0x14, 
    -	0x16, 0x17, 0x33, 0x36, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x06, 0x05, 0x72, 0xce, 0x5a, 0x4c, 0xad, 0x5e, 0xfe, 0xcd, 0xfe, 
    -	0x80, 0x01, 0x1d, 0xe1, 0x06, 0x61, 0x70, 0xce, 0xb2, 0x14, 0x24, 0x11, 
    -	0x68, 0x6f, 0xed, 0xbe, 0xcb, 0xfe, 0x5c, 0x54, 0x2a, 0x5e, 0x33, 0xfd, 
    -	0x95, 0x59, 0x55, 0x06, 0x40, 0x48, 0x54, 0x51, 0x49, 0x4e, 0x12, 0x23, 
    -	0x23, 0x24, 0x25, 0x01, 0x87, 0x01, 0x26, 0xc8, 0x01, 0x07, 0x01, 0x5c, 
    -	0x05, 0x02, 0xe2, 0xd3, 0xa5, 0xca, 0xc8, 0xfb, 0x02, 0x03, 0x61, 0x01, 
    -	0x03, 0x98, 0xc9, 0xeb, 0x01, 0x3a, 0xfe, 0xb6, 0xfe, 0xfd, 0xb7, 0x8d, 
    -	0xf8, 0x60, 0x0a, 0x08, 0x02, 0x0b, 0x78, 0xc6, 0x40, 0x3d, 0xbd, 0x70, 
    -	0xd4, 0xab, 0x9b, 0x9d, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 
    -	0xff, 0xe8, 0x04, 0xf4, 0x04, 0x4e, 0x00, 0x28, 0x00, 0x38, 0x00, 0x77, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 0x1e, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0xd0, 0xb2, 0x03, 0x06, 0x1e, 0x11, 
    -	0x12, 0x39, 0xb0, 0x0d, 0x10, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x16, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x28, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1e, 0x10, 0xb1, 0x2d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x35, 0x1e, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x05, 
    -	0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x12, 
    -	0x17, 0x17, 0x15, 0x06, 0x06, 0x15, 0x15, 0x14, 0x16, 0x37, 0x37, 0x26, 
    -	0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x06, 
    -	0x07, 0x16, 0x16, 0x33, 0x01, 0x35, 0x34, 0x26, 0x07, 0x23, 0x26, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x17, 0x33, 0x36, 0x36, 0x04, 0xf4, 0x64, 0xad, 
    -	0x49, 0x3c, 0x88, 0x48, 0xfd, 0xfe, 0xc3, 0xed, 0xbb, 0x06, 0x39, 0x41, 
    -	0x8a, 0x70, 0x05, 0x31, 0x32, 0xbd, 0x9a, 0x9f, 0xc6, 0x46, 0x41, 0x23, 
    -	0x4e, 0x2a, 0xfe, 0xc9, 0x35, 0x29, 0x06, 0x2a, 0x34, 0x2f, 0x2d, 0x06, 
    -	0x2d, 0x33, 0x18, 0x1a, 0x1a, 0x18, 0x19, 0x01, 0x3b, 0xf0, 0x5d, 0xcd, 
    -	0x01, 0x0c, 0x04, 0x02, 0xe1, 0x07, 0x82, 0x67, 0x5f, 0x8d, 0xb0, 0x09, 
    -	0x03, 0x36, 0xa0, 0x5d, 0x95, 0xb4, 0xed, 0xfe, 0xfa, 0xc6, 0x8f, 0x64, 
    -	0xb0, 0x44, 0x07, 0x07, 0x01, 0x74, 0x91, 0x5a, 0x77, 0x04, 0x04, 0x6c, 
    -	0x53, 0x99, 0x47, 0x78, 0x2b, 0x23, 0x76, 0x00, 0xff, 0xff, 0x00, 0x5d, 
    -	0xfe, 0x2e, 0x04, 0xdb, 0x05, 0xc5, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0xaa, 0xff, 0x93, 0xff, 0xff, 0x00, 0x3e, 
    -	0xfe, 0x2e, 0x03, 0xf2, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0x3d, 0xff, 0x93, 0xff, 0xff, 0xff, 0xee, 
    -	0xfe, 0x30, 0x06, 0x08, 0x05, 0xc4, 0x00, 0x26, 0x02, 0x38, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x02, 0xc3, 0xff, 0x95, 0xff, 0xff, 0xff, 0xbc, 
    -	0xfe, 0x38, 0x04, 0x6f, 0x04, 0x4e, 0x02, 0x26, 0x02, 0x39, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x5d, 0x01, 0xe3, 0xff, 0x9d, 0xff, 0xff, 0x00, 0x12, 
    -	0x00, 0x00, 0x07, 0xe9, 0x07, 0x68, 0x02, 0x26, 0x03, 0xd2, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x02, 0x3d, 0x01, 0xb8, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1a, 0x08, 0x0d, 0x04, 0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x19, 
    -	0x00, 0x00, 0x06, 0xc7, 0x06, 0x11, 0x02, 0x26, 0x03, 0xdc, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x01, 0xba, 0x00, 0x61, 0x00, 0x09, 0x00, 0xb3, 
    -	0x1a, 0x09, 0x0d, 0x04, 0x2b, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x84, 
    -	0xfe, 0xb1, 0x05, 0x08, 0x05, 0xb0, 0x00, 0x17, 0x00, 0x59, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 
    -	0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 
    -	0x16, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb2, 0x14, 0x10, 0x13, 0x11, 0x12, 0x39, 
    -	0xb0, 0x14, 0x2f, 0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x00, 0x14, 0x0f, 0x11, 0x12, 0x39, 0xb0, 0x06, 
    -	0x10, 0xb1, 0x08, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x16, 0x12, 0x15, 0x14, 0x00, 0x25, 0x27, 0x27, 
    -	0x32, 0x36, 0x37, 0x34, 0x26, 0x23, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 
    -	0x33, 0x01, 0x21, 0x03, 0x2b, 0xdf, 0xfe, 0xfe, 0xfa, 0xfe, 0xeb, 0x06, 
    -	0x01, 0x96, 0x68, 0x01, 0xa0, 0x98, 0xfe, 0xfb, 0xfe, 0xdc, 0x01, 0x24, 
    -	0x66, 0x01, 0x73, 0x01, 0x69, 0x03, 0x39, 0x20, 0xfe, 0xd9, 0xfb, 0xf8, 
    -	0xfe, 0xb2, 0x04, 0x02, 0xcd, 0xce, 0x98, 0xb8, 0xbb, 0xfd, 0xa3, 0x05, 
    -	0xb0, 0xfd, 0xaf, 0x02, 0x51, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 
    -	0xfe, 0xd7, 0x04, 0x65, 0x04, 0x3a, 0x00, 0x16, 0x00, 0x4a, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 
    -	0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb2, 0x13, 0x0f, 0x12, 0x11, 0x12, 0x39, 
    -	0xb0, 0x13, 0x2f, 0xb1, 0x0e, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x00, 0x0e, 0x13, 0x11, 0x12, 0x39, 0x30, 0x31, 
    -	0x01, 0x16, 0x16, 0x15, 0x16, 0x02, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x13, 0x21, 0x03, 
    -	0x0d, 0x9e, 0xb1, 0x02, 0xbf, 0xb6, 0x7b, 0x64, 0x66, 0x99, 0x8d, 0x6d, 
    -	0xfe, 0xdc, 0x01, 0x24, 0x57, 0xf8, 0x01, 0x71, 0x02, 0x58, 0x2f, 0xdf, 
    -	0xac, 0x84, 0xfe, 0xf8, 0x3b, 0xbd, 0x2c, 0x80, 0x5e, 0x7d, 0x7a, 0xfe, 
    -	0x6b, 0x04, 0x3a, 0xfe, 0x64, 0x01, 0x9c, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x05, 0x20, 0x05, 0xc5, 0x02, 0x06, 0x03, 0xe5, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x41, 0xff, 0xeb, 0x04, 0x3e, 0x04, 0x4e, 0x02, 0x06, 
    -	0x03, 0xe6, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x05, 0x20, 
    -	0x07, 0x08, 0x02, 0x26, 0x03, 0xe5, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xbd, 0x01, 0x58, 0x00, 0x0f, 0x00, 0xb3, 0x24, 0x08, 0x0a, 0x04, 
    -	0x2b, 0xb0, 0x24, 0x10, 0xb0, 0x21, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x41, 0xff, 0xeb, 0x04, 0x3e, 0x05, 0xe7, 0x02, 0x26, 
    -	0x03, 0xe6, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x14, 0x37, 0x00, 0x0f, 
    -	0x00, 0xb3, 0x24, 0x09, 0x03, 0x04, 0x2b, 0xb0, 0x24, 0x10, 0xb0, 0x21, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x24, 0xff, 0xeb, 0x04, 0xee, 
    -	0x06, 0xf2, 0x02, 0x26, 0x03, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 
    -	0x00, 0x86, 0x01, 0x41, 0x00, 0x09, 0x00, 0xb3, 0x17, 0x08, 0x14, 0x04, 
    -	0x2b, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x24, 0xff, 0xeb, 0x04, 0xee, 
    -	0x07, 0x0d, 0x02, 0x26, 0x03, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0x6b, 0x01, 0x5d, 0x00, 0x0f, 0x00, 0xb3, 0x1b, 0x08, 0x14, 0x04, 
    -	0x2b, 0xb0, 0x1b, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x24, 0xff, 0xeb, 0x04, 0xee, 0x07, 0x4b, 0x02, 0x26, 
    -	0x03, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 0x00, 0xc4, 0x01, 0x5d, 
    -	0x00, 0x0f, 0x00, 0xb3, 0x20, 0x07, 0x14, 0x04, 0x2b, 0xb0, 0x20, 0x10, 
    -	0xb0, 0x19, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 
    -	0x01, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 
    -	0x00, 0x1f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 
    -	0x00, 0x25, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x17, 
    -	0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0b, 
    -	0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 
    -	0x00, 0x4b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0b, 
    -	0x00, 0x61, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x20, 
    -	0x00, 0x6c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x06, 
    -	0x00, 0x8c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x0a, 
    -	0x00, 0x92, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x13, 
    -	0x00, 0x9c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x2e, 
    -	0x00, 0xaf, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x2a, 
    -	0x00, 0xdd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x0b, 
    -	0x00, 0x40, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x3e, 
    -	0x01, 0x07, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x0c, 
    -	0x01, 0x45, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x08, 
    -	0x01, 0x51, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x2e, 
    -	0x01, 0x59, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x16, 
    -	0x01, 0x87, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x2c, 
    -	0x01, 0x9d, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x16, 
    -	0x01, 0xc9, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, 0x00, 0x40, 
    -	0x01, 0xdf, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x09, 0x00, 0x0c, 
    -	0x02, 0x1f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0b, 0x00, 0x14, 
    -	0x02, 0x2b, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0c, 0x00, 0x26, 
    -	0x02, 0x3f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0d, 0x00, 0x5c, 
    -	0x02, 0x65, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x54, 
    -	0x02, 0xc1, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 
    -	0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x6c, 0x65, 0x20, 0x32, 0x30, 0x31, 0x32, 0x52, 0x6f, 0x62, 
    -	0x6f, 0x74, 0x6f, 0x42, 0x6f, 0x6c, 0x64, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 
    -	0x65, 0x3a, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x20, 0x42, 0x6f, 0x6c, 
    -	0x64, 0x3a, 0x32, 0x30, 0x31, 0x33, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 
    -	0x20, 0x42, 0x6f, 0x6c, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 
    -	0x20, 0x31, 0x2e, 0x31, 0x30, 0x30, 0x31, 0x34, 0x31, 0x3b, 0x20, 0x32, 
    -	0x30, 0x31, 0x33, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x2d, 0x42, 0x6f, 
    -	0x6c, 0x64, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x20, 0x69, 0x73, 0x20, 
    -	0x61, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 
    -	0x6f, 0x66, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 
    -	0x6f, 0x6d, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x20, 
    -	0x52, 0x6f, 0x62, 0x65, 0x72, 0x74, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x63, 
    -	0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 
    -	0x74, 0x68, 0x65, 0x20, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 
    -	0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 
    -	0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x68, 0x74, 0x74, 0x70, 0x3a, 
    -	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 
    -	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 
    -	0x73, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 
    -	0x30, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 
    -	0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x20, 0x00, 0x63, 0x00, 
    -	0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 
    -	0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 
    -	0x31, 0x00, 0x32, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 
    -	0x74, 0x00, 0x6f, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 
    -	0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 
    -	0x3a, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 
    -	0x6f, 0x00, 0x20, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 
    -	0x3a, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x33, 0x00, 0x52, 0x00, 
    -	0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 
    -	0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x56, 0x00, 0x65, 0x00, 
    -	0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 
    -	0x31, 0x00, 0x2e, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x31, 0x00, 
    -	0x34, 0x00, 0x31, 0x00, 0x3b, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 
    -	0x31, 0x00, 0x33, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 
    -	0x74, 0x00, 0x6f, 0x00, 0x2d, 0x00, 0x42, 0x00, 0x6f, 0x00, 0x6c, 0x00, 
    -	0x64, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 
    -	0x6f, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 
    -	0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 
    -	0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x6f, 0x00, 
    -	0x66, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x67, 0x00, 
    -	0x6c, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 
    -	0x6d, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x69, 0x00, 0x73, 0x00, 
    -	0x74, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x52, 0x00, 
    -	0x6f, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x73, 0x00, 
    -	0x6f, 0x00, 0x6e, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 
    -	0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 
    -	0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 
    -	0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x41, 0x00, 0x70, 0x00, 0x61, 0x00, 
    -	0x63, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, 0x00, 
    -	0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2c, 0x00, 
    -	0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 
    -	0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 
    -	0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 
    -	0x2f, 0x00, 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x61, 0x00, 
    -	0x70, 0x00, 0x61, 0x00, 0x63, 0x00, 0x68, 0x00, 0x65, 0x00, 0x2e, 0x00, 
    -	0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x6c, 0x00, 0x69, 0x00, 
    -	0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x73, 0x00, 
    -	0x2f, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x43, 0x00, 0x45, 0x00, 0x4e, 0x00, 
    -	0x53, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 
    -	0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x6a, 0x00, 0x64, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x00, 
    -	0x01, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 
    -	0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 
    -	0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 
    -	0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 
    -	0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 
    -	0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 
    -	0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 
    -	0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 
    -	0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 
    -	0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 
    -	0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 
    -	0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 
    -	0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 
    -	0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 
    -	0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 
    -	0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 
    -	0x00, 0x61, 0x00, 0xac, 0x00, 0xa3, 0x00, 0x84, 0x00, 0x85, 0x00, 0xbd, 
    -	0x00, 0x96, 0x00, 0xe8, 0x00, 0x86, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x9d, 
    -	0x00, 0xa9, 0x00, 0xa4, 0x01, 0x03, 0x00, 0x8a, 0x01, 0x04, 0x00, 0x83, 
    -	0x00, 0x93, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0x8d, 0x00, 0x97, 0x00, 0x88, 
    -	0x01, 0x05, 0x00, 0xde, 0x00, 0xf1, 0x00, 0x9e, 0x00, 0xaa, 0x00, 0xf5, 
    -	0x00, 0xf4, 0x00, 0xf6, 0x00, 0xa2, 0x00, 0xad, 0x00, 0xc9, 0x00, 0xc7, 
    -	0x00, 0xae, 0x00, 0x62, 0x00, 0x63, 0x00, 0x90, 0x00, 0x64, 0x00, 0xcb, 
    -	0x00, 0x65, 0x00, 0xc8, 0x00, 0xca, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xcd, 
    -	0x00, 0xce, 0x00, 0xe9, 0x00, 0x66, 0x00, 0xd3, 0x00, 0xd0, 0x00, 0xd1, 
    -	0x00, 0xaf, 0x00, 0x67, 0x00, 0xf0, 0x00, 0x91, 0x00, 0xd6, 0x00, 0xd4, 
    -	0x00, 0xd5, 0x00, 0x68, 0x00, 0xeb, 0x00, 0xed, 0x00, 0x89, 0x00, 0x6a, 
    -	0x00, 0x69, 0x00, 0x6b, 0x00, 0x6d, 0x00, 0x6c, 0x00, 0x6e, 0x00, 0xa0, 
    -	0x00, 0x6f, 0x00, 0x71, 0x00, 0x70, 0x00, 0x72, 0x00, 0x73, 0x00, 0x75, 
    -	0x00, 0x74, 0x00, 0x76, 0x00, 0x77, 0x00, 0xea, 0x00, 0x78, 0x00, 0x7a, 
    -	0x00, 0x79, 0x00, 0x7b, 0x00, 0x7d, 0x00, 0x7c, 0x00, 0xb8, 0x00, 0xa1, 
    -	0x00, 0x7f, 0x00, 0x7e, 0x00, 0x80, 0x00, 0x81, 0x00, 0xec, 0x00, 0xee, 
    -	0x00, 0xba, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a, 
    -	0x01, 0x0b, 0x00, 0xfd, 0x00, 0xfe, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 
    -	0x01, 0x0f, 0x00, 0xff, 0x01, 0x00, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 
    -	0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 
    -	0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 
    -	0x01, 0x1f, 0x00, 0xf8, 0x00, 0xf9, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 
    -	0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 
    -	0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 
    -	0x01, 0x2f, 0x01, 0x30, 0x00, 0xd7, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 
    -	0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 
    -	0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 
    -	0x00, 0xe2, 0x00, 0xe3, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 
    -	0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 
    -	0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, 0x00, 0xb0, 
    -	0x00, 0xb1, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 
    -	0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x00, 0xfb, 
    -	0x00, 0xfc, 0x00, 0xe4, 0x00, 0xe5, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 
    -	0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 
    -	0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 
    -	0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 
    -	0x01, 0x6e, 0x00, 0xbb, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 
    -	0x00, 0xe6, 0x00, 0xe7, 0x01, 0x73, 0x00, 0xa6, 0x01, 0x74, 0x01, 0x75, 
    -	0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 
    -	0x01, 0x7c, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 
    -	0x01, 0x82, 0x00, 0xd8, 0x00, 0xe1, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 
    -	0x00, 0xe0, 0x00, 0xd9, 0x00, 0xdf, 0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 
    -	0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, 
    -	0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 
    -	0x01, 0x92, 0x01, 0x93, 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 
    -	0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 
    -	0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 
    -	0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 
    -	0x01, 0xaa, 0x01, 0xab, 0x00, 0x9f, 0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 
    -	0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 
    -	0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb9, 0x01, 0xba, 
    -	0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 
    -	0x01, 0xc1, 0x00, 0x9b, 0x01, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, 0xc5, 
    -	0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, 
    -	0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd1, 
    -	0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 
    -	0x01, 0xd8, 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, 0x01, 0xdc, 0x01, 0xdd, 
    -	0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 
    -	0x01, 0xe4, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xe9, 
    -	0x01, 0xea, 0x01, 0xeb, 0x01, 0xec, 0x01, 0xed, 0x01, 0xee, 0x01, 0xef, 
    -	0x01, 0xf0, 0x01, 0xf1, 0x01, 0xf2, 0x01, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 
    -	0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfa, 0x01, 0xfb, 
    -	0x01, 0xfc, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x02, 0x00, 0x02, 0x01, 
    -	0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 
    -	0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x0b, 0x02, 0x0c, 0x02, 0x0d, 
    -	0x02, 0x0e, 0x02, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 
    -	0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 
    -	0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 
    -	0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 
    -	0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 
    -	0x02, 0x2c, 0x02, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x31, 
    -	0x02, 0x32, 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 
    -	0x02, 0x38, 0x02, 0x39, 0x02, 0x3a, 0x02, 0x3b, 0x02, 0x3c, 0x02, 0x3d, 
    -	0x02, 0x3e, 0x02, 0x3f, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, 
    -	0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 
    -	0x02, 0x4a, 0x02, 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x4e, 0x02, 0x4f, 
    -	0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x54, 0x02, 0x55, 
    -	0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5a, 0x02, 0x5b, 
    -	0x02, 0x5c, 0x02, 0x5d, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 
    -	0x02, 0x62, 0x02, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 
    -	0x02, 0x68, 0x02, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 
    -	0x02, 0x6e, 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, 0x02, 0x72, 0x02, 0x73, 
    -	0x02, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, 
    -	0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 0x02, 0x7e, 0x02, 0x7f, 
    -	0x02, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 
    -	0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, 0x8a, 0x02, 0x8b, 
    -	0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x8f, 0x02, 0x90, 0x02, 0x91, 
    -	0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 0x02, 0x96, 0x02, 0x97, 
    -	0x02, 0x98, 0x02, 0x99, 0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 
    -	0x02, 0x9e, 0x02, 0x9f, 0x02, 0xa0, 0x02, 0xa1, 0x02, 0xa2, 0x02, 0xa3, 
    -	0x02, 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xa9, 
    -	0x02, 0xaa, 0x02, 0xab, 0x02, 0xac, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 
    -	0x02, 0xb0, 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 0x02, 0xb4, 0x02, 0xb5, 
    -	0x02, 0xb6, 0x02, 0xb7, 0x02, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 
    -	0x02, 0xbc, 0x02, 0xbd, 0x02, 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xc1, 
    -	0x02, 0xc2, 0x02, 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02, 0xc7, 
    -	0x02, 0xc8, 0x02, 0xc9, 0x02, 0xca, 0x02, 0xcb, 0x02, 0xcc, 0x02, 0xcd, 
    -	0x02, 0xce, 0x02, 0xcf, 0x02, 0xd0, 0x02, 0xd1, 0x02, 0xd2, 0x02, 0xd3, 
    -	0x02, 0xd4, 0x02, 0xd5, 0x02, 0xd6, 0x02, 0xd7, 0x02, 0xd8, 0x02, 0xd9, 
    -	0x02, 0xda, 0x02, 0xdb, 0x02, 0xdc, 0x02, 0xdd, 0x02, 0xde, 0x02, 0xdf, 
    -	0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 
    -	0x02, 0xe6, 0x02, 0xe7, 0x02, 0xe8, 0x02, 0xe9, 0x02, 0xea, 0x02, 0xeb, 
    -	0x02, 0xec, 0x02, 0xed, 0x02, 0xee, 0x02, 0xef, 0x02, 0xf0, 0x02, 0xf1, 
    -	0x02, 0xf2, 0x02, 0xf3, 0x02, 0xf4, 0x02, 0xf5, 0x02, 0xf6, 0x02, 0xf7, 
    -	0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 0x02, 0xfc, 0x02, 0xfd, 
    -	0x02, 0xfe, 0x02, 0xff, 0x03, 0x00, 0x03, 0x01, 0x03, 0x02, 0x03, 0x03, 
    -	0x03, 0x04, 0x03, 0x05, 0x03, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x09, 
    -	0x03, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x03, 0x0e, 0x03, 0x0f, 
    -	0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 
    -	0x03, 0x16, 0x03, 0x17, 0x03, 0x18, 0x03, 0x19, 0x03, 0x1a, 0x00, 0xb2, 
    -	0x00, 0xb3, 0x03, 0x1b, 0x03, 0x1c, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xc4, 
    -	0x03, 0x1d, 0x00, 0xb4, 0x00, 0xb5, 0x00, 0xc5, 0x00, 0x82, 0x00, 0xc2, 
    -	0x00, 0x87, 0x03, 0x1e, 0x00, 0xab, 0x00, 0xc6, 0x03, 0x1f, 0x03, 0x20, 
    -	0x00, 0xbe, 0x00, 0xbf, 0x03, 0x21, 0x00, 0xbc, 0x03, 0x22, 0x03, 0x23, 
    -	0x00, 0xf7, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 0x03, 0x28, 
    -	0x03, 0x29, 0x03, 0x2a, 0x00, 0x8c, 0x03, 0x2b, 0x03, 0x2c, 0x03, 0x2d, 
    -	0x03, 0x2e, 0x03, 0x2f, 0x00, 0x98, 0x00, 0x9a, 0x00, 0x99, 0x00, 0xef, 
    -	0x00, 0xa5, 0x00, 0x92, 0x00, 0x9c, 0x00, 0xa7, 0x00, 0x8f, 0x00, 0x94, 
    -	0x00, 0x95, 0x00, 0xb9, 0x03, 0x30, 0x00, 0xc0, 0x03, 0x31, 0x03, 0x32, 
    -	0x03, 0x33, 0x03, 0x34, 0x03, 0x35, 0x03, 0x36, 0x03, 0x37, 0x03, 0x38, 
    -	0x03, 0x39, 0x03, 0x3a, 0x03, 0x3b, 0x03, 0x3c, 0x03, 0x3d, 0x03, 0x3e, 
    -	0x03, 0x3f, 0x03, 0x40, 0x03, 0x41, 0x03, 0x42, 0x03, 0x43, 0x03, 0x44, 
    -	0x03, 0x45, 0x03, 0x46, 0x03, 0x47, 0x03, 0x48, 0x03, 0x49, 0x03, 0x4a, 
    -	0x03, 0x4b, 0x03, 0x4c, 0x03, 0x4d, 0x03, 0x4e, 0x03, 0x4f, 0x03, 0x50, 
    -	0x03, 0x51, 0x03, 0x52, 0x03, 0x53, 0x03, 0x54, 0x03, 0x55, 0x03, 0x56, 
    -	0x03, 0x57, 0x03, 0x58, 0x03, 0x59, 0x03, 0x5a, 0x03, 0x5b, 0x03, 0x5c, 
    -	0x03, 0x5d, 0x03, 0x5e, 0x03, 0x5f, 0x03, 0x60, 0x03, 0x61, 0x03, 0x62, 
    -	0x03, 0x63, 0x03, 0x64, 0x03, 0x65, 0x03, 0x66, 0x03, 0x67, 0x03, 0x68, 
    -	0x03, 0x69, 0x03, 0x6a, 0x03, 0x6b, 0x03, 0x6c, 0x03, 0x6d, 0x03, 0x6e, 
    -	0x03, 0x6f, 0x03, 0x70, 0x03, 0x71, 0x03, 0x72, 0x03, 0x73, 0x03, 0x74, 
    -	0x03, 0x75, 0x03, 0x76, 0x03, 0x77, 0x03, 0x78, 0x03, 0x79, 0x03, 0x7a, 
    -	0x03, 0x7b, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 0x03, 0x7f, 0x03, 0x80, 
    -	0x03, 0x81, 0x03, 0x82, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 0x03, 0x86, 
    -	0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 0x03, 0x8c, 
    -	0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 
    -	0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, 0x03, 0x97, 0x03, 0x98, 
    -	0x03, 0x99, 0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, 
    -	0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa4, 
    -	0x03, 0xa5, 0x03, 0xa6, 0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa9, 0x03, 0xaa, 
    -	0x03, 0xab, 0x03, 0xac, 0x03, 0xad, 0x03, 0xae, 0x03, 0xaf, 0x03, 0xb0, 
    -	0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb3, 0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb6, 
    -	0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 
    -	0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 
    -	0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc7, 0x03, 0xc8, 
    -	0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, 0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 
    -	0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 0x03, 0xd3, 0x03, 0xd4, 
    -	0x03, 0xd5, 0x03, 0xd6, 0x03, 0xd7, 0x03, 0xd8, 0x03, 0xd9, 0x03, 0xda, 
    -	0x03, 0xdb, 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xde, 0x03, 0xdf, 0x03, 0xe0, 
    -	0x03, 0xe1, 0x03, 0xe2, 0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe5, 0x03, 0xe6, 
    -	0x03, 0xe7, 0x03, 0xe8, 0x03, 0xe9, 0x03, 0xea, 0x03, 0xeb, 0x03, 0xec, 
    -	0x03, 0xed, 0x03, 0xee, 0x03, 0xef, 0x03, 0xf0, 0x03, 0xf1, 0x03, 0xf2, 
    -	0x03, 0xf3, 0x03, 0xf4, 0x03, 0xf5, 0x03, 0xf6, 0x03, 0xf7, 0x03, 0xf8, 
    -	0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfb, 0x03, 0xfc, 0x03, 0xfd, 0x03, 0xfe, 
    -	0x03, 0xff, 0x04, 0x00, 0x04, 0x01, 0x04, 0x02, 0x04, 0x03, 0x04, 0x04, 
    -	0x04, 0x05, 0x04, 0x06, 0x04, 0x07, 0x04, 0x08, 0x04, 0x09, 0x04, 0x0a, 
    -	0x04, 0x0b, 0x04, 0x0c, 0x04, 0x0d, 0x04, 0x0e, 0x04, 0x0f, 0x04, 0x10, 
    -	0x04, 0x11, 0x04, 0x12, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x30, 0x41, 0x44, 0x06, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 
    -	0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x65, 
    -	0x72, 0x65, 0x64, 0x07, 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 
    -	0x61, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x41, 0x62, 0x72, 0x65, 
    -	0x76, 0x65, 0x06, 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x07, 0x41, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x61, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 
    -	0x6b, 0x0b, 0x43, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x63, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x30, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x31, 0x30, 0x42, 0x06, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x06, 0x64, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x44, 0x63, 0x72, 0x6f, 
    -	0x61, 0x74, 0x06, 0x64, 0x63, 0x72, 0x6f, 0x61, 0x74, 0x07, 0x45, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x65, 0x6d, 0x61, 0x63, 0x72, 0x6f, 
    -	0x6e, 0x06, 0x45, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x65, 0x62, 0x72, 
    -	0x65, 0x76, 0x65, 0x0a, 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0a, 0x65, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x07, 0x45, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x65, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x06, 0x45, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x06, 0x65, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x47, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x67, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x31, 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x32, 0x31, 0x0c, 
    -	0x47, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 
    -	0x0c, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x0b, 0x48, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x68, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x04, 0x48, 0x62, 0x61, 0x72, 0x04, 0x68, 0x62, 0x61, 0x72, 0x06, 
    -	0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x06, 0x69, 0x74, 0x69, 0x6c, 0x64, 
    -	0x65, 0x07, 0x49, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x69, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x49, 0x62, 0x72, 0x65, 0x76, 0x65, 
    -	0x06, 0x69, 0x62, 0x72, 0x65, 0x76, 0x65, 0x07, 0x49, 0x6f, 0x67, 0x6f, 
    -	0x6e, 0x65, 0x6b, 0x07, 0x69, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x0a, 
    -	0x49, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x02, 0x49, 
    -	0x4a, 0x02, 0x69, 0x6a, 0x0b, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x0b, 0x6a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x0c, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 
    -	0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, 0x67, 0x72, 0x65, 0x65, 
    -	0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x63, 0x06, 0x4c, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x06, 0x6c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0c, 0x4c, 0x63, 
    -	0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6c, 
    -	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 
    -	0x4c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x6c, 0x63, 0x61, 0x72, 0x6f, 
    -	0x6e, 0x04, 0x4c, 0x64, 0x6f, 0x74, 0x04, 0x6c, 0x64, 0x6f, 0x74, 0x06, 
    -	0x4e, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x6e, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x0c, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0c, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x06, 0x4e, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x6e, 
    -	0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x6e, 0x61, 0x70, 0x6f, 0x73, 0x74, 
    -	0x72, 0x6f, 0x70, 0x68, 0x65, 0x03, 0x45, 0x6e, 0x67, 0x03, 0x65, 0x6e, 
    -	0x67, 0x07, 0x4f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x6f, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x4f, 0x62, 0x72, 0x65, 0x76, 0x65, 
    -	0x06, 0x6f, 0x62, 0x72, 0x65, 0x76, 0x65, 0x0d, 0x4f, 0x68, 0x75, 0x6e, 
    -	0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x0d, 0x6f, 0x68, 
    -	0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x06, 
    -	0x52, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x72, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x0c, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0c, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x06, 0x52, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x72, 
    -	0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x53, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x06, 0x73, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x53, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x73, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0c, 0x54, 0x63, 0x6f, 0x6d, 
    -	0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x74, 0x63, 0x6f, 
    -	0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x54, 0x63, 
    -	0x61, 0x72, 0x6f, 0x6e, 0x06, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x04, 
    -	0x54, 0x62, 0x61, 0x72, 0x04, 0x74, 0x62, 0x61, 0x72, 0x06, 0x55, 0x74, 
    -	0x69, 0x6c, 0x64, 0x65, 0x06, 0x75, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x07, 
    -	0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x75, 0x6d, 0x61, 0x63, 
    -	0x72, 0x6f, 0x6e, 0x06, 0x55, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x75, 
    -	0x62, 0x72, 0x65, 0x76, 0x65, 0x05, 0x55, 0x72, 0x69, 0x6e, 0x67, 0x05, 
    -	0x75, 0x72, 0x69, 0x6e, 0x67, 0x0d, 0x55, 0x68, 0x75, 0x6e, 0x67, 0x61, 
    -	0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x0d, 0x75, 0x68, 0x75, 0x6e, 
    -	0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x07, 0x55, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x75, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 
    -	0x6b, 0x0b, 0x57, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x77, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x79, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x06, 0x5a, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x7a, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x0a, 0x5a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0a, 0x7a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x05, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x05, 0x4f, 0x68, 0x6f, 0x72, 
    -	0x6e, 0x05, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x05, 0x55, 0x68, 0x6f, 0x72, 
    -	0x6e, 0x05, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x31, 0x46, 0x30, 0x0a, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x0a, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x07, 0x41, 0x45, 0x61, 0x63, 0x75, 0x74, 0x65, 0x07, 0x61, 0x65, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x4f, 0x73, 0x6c, 0x61, 0x73, 0x68, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x6f, 0x73, 0x6c, 0x61, 0x73, 0x68, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0c, 0x53, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 
    -	0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x32, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x43, 0x07, 
    -	0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x33, 0x09, 0x67, 0x72, 0x61, 0x76, 
    -	0x65, 0x63, 0x6f, 0x6d, 0x62, 0x09, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 
    -	0x6f, 0x6d, 0x62, 0x09, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 
    -	0x62, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 
    -	0x30, 0x46, 0x08, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x05, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0d, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 
    -	0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x41, 0x6c, 0x70, 0x68, 
    -	0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x09, 0x61, 0x6e, 0x6f, 0x74, 0x65, 
    -	0x6c, 0x65, 0x69, 0x61, 0x0c, 0x45, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x08, 0x45, 0x74, 0x61, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x09, 0x49, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 
    -	0x0c, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 
    -	0x73, 0x0c, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x0a, 0x4f, 0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 
    -	0x73, 0x11, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 
    -	0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x05, 0x41, 0x6c, 0x70, 0x68, 
    -	0x61, 0x04, 0x42, 0x65, 0x74, 0x61, 0x05, 0x47, 0x61, 0x6d, 0x6d, 0x61, 
    -	0x05, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x07, 0x45, 0x70, 0x73, 0x69, 0x6c, 
    -	0x6f, 0x6e, 0x04, 0x5a, 0x65, 0x74, 0x61, 0x03, 0x45, 0x74, 0x61, 0x05, 
    -	0x54, 0x68, 0x65, 0x74, 0x61, 0x04, 0x49, 0x6f, 0x74, 0x61, 0x05, 0x4b, 
    -	0x61, 0x70, 0x70, 0x61, 0x06, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x02, 
    -	0x4d, 0x75, 0x02, 0x4e, 0x75, 0x02, 0x58, 0x69, 0x07, 0x4f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x02, 0x50, 0x69, 0x03, 0x52, 0x68, 0x6f, 0x05, 
    -	0x53, 0x69, 0x67, 0x6d, 0x61, 0x03, 0x54, 0x61, 0x75, 0x07, 0x55, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x03, 0x50, 0x68, 0x69, 0x03, 0x43, 0x68, 
    -	0x69, 0x03, 0x50, 0x73, 0x69, 0x0c, 0x49, 0x6f, 0x74, 0x61, 0x64, 0x69, 
    -	0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0f, 0x55, 0x70, 0x73, 0x69, 0x6c, 
    -	0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0a, 0x61, 
    -	0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x65, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x08, 0x65, 
    -	0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x09, 0x69, 0x6f, 0x74, 0x61, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x14, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 
    -	0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x04, 0x62, 0x65, 0x74, 
    -	0x61, 0x05, 0x67, 0x61, 0x6d, 0x6d, 0x61, 0x05, 0x64, 0x65, 0x6c, 0x74, 
    -	0x61, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x04, 0x7a, 0x65, 
    -	0x74, 0x61, 0x03, 0x65, 0x74, 0x61, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 
    -	0x04, 0x69, 0x6f, 0x74, 0x61, 0x05, 0x6b, 0x61, 0x70, 0x70, 0x61, 0x06, 
    -	0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 
    -	0x42, 0x43, 0x02, 0x6e, 0x75, 0x02, 0x78, 0x69, 0x07, 0x6f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x03, 0x72, 0x68, 0x6f, 0x06, 0x73, 0x69, 0x67, 
    -	0x6d, 0x61, 0x31, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x03, 0x74, 0x61, 
    -	0x75, 0x07, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x03, 0x70, 0x68, 
    -	0x69, 0x03, 0x63, 0x68, 0x69, 0x03, 0x70, 0x73, 0x69, 0x05, 0x6f, 0x6d, 
    -	0x65, 0x67, 0x61, 0x0c, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 
    -	0x65, 0x73, 0x69, 0x73, 0x0f, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 
    -	0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0c, 0x6f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x75, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x6f, 
    -	0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x33, 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x46, 0x06, 0x57, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x06, 0x77, 0x67, 0x72, 0x61, 0x76, 0x65, 0x06, 
    -	0x57, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x77, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x09, 0x57, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x09, 
    -	0x77, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x46, 0x31, 0x06, 0x59, 0x67, 0x72, 0x61, 0x76, 0x65, 
    -	0x06, 0x79, 0x67, 0x72, 0x61, 0x76, 0x65, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x45, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x35, 0x07, 
    -	0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x45, 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x38, 0x07, 
    -	0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x46, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x30, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x33, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x36, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x39, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x35, 0x0d, 
    -	0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x62, 
    -	0x6c, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x65, 0x76, 0x65, 0x72, 
    -	0x73, 0x65, 0x64, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x35, 0x06, 
    -	0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 
    -	0x64, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x64, 0x62, 0x6c, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x34, 0x09, 0x6e, 0x73, 0x75, 0x70, 
    -	0x65, 0x72, 0x69, 0x6f, 0x72, 0x04, 0x6c, 0x69, 0x72, 0x61, 0x06, 0x70, 
    -	0x65, 0x73, 0x65, 0x74, 0x61, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 
    -	0x42, 0x04, 0x45, 0x75, 0x72, 0x6f, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, 
    -	0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x33, 0x07, 0x75, 
    -	0x6e, 0x69, 0x32, 0x31, 0x31, 0x36, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 
    -	0x61, 0x74, 0x65, 0x64, 0x09, 0x6f, 0x6e, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x73, 0x0b, 0x66, 0x69, 0x76, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x73, 0x0c, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x65, 0x69, 0x67, 
    -	0x68, 0x74, 0x68, 0x73, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 
    -	0x63, 0x65, 0x6e, 0x74, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x32, 
    -	0x07, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 
    -	0x46, 0x42, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x46, 
    -	0x07, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x43, 0x07, 0x75, 0x6e, 0x69, 
    -	0x46, 0x46, 0x46, 0x44, 0x0c, 0x49, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x64, 0x61, 0x73, 0x69, 0x61, 0x6f, 
    -	0x78, 0x69, 0x61, 0x09, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x73, 0x75, 
    -	0x70, 0x08, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 0x73, 
    -	0x69, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x66, 0x6f, 0x75, 0x72, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x08, 0x74, 0x77, 0x6f, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x08, 0x6f, 0x6e, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x7a, 
    -	0x65, 0x72, 0x6f, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x5a, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x06, 0x59, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x58, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x57, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x06, 0x56, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x55, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x06, 0x54, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x53, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x06, 0x52, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x51, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x06, 0x4f, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x4e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x08, 0x63, 0x72, 0x6f, 0x73, 0x73, 
    -	0x62, 0x61, 0x72, 0x06, 0x4d, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x4c, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x4b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x06, 0x4a, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x49, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x06, 0x48, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x47, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x06, 0x46, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x45, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x44, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x06, 0x43, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x42, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x0e, 0x62, 0x72, 
    -	0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 
    -	0x06, 0x41, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x13, 0x63, 0x69, 0x72, 0x63, 
    -	0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 
    -	0x6f, 0x6d, 0x62, 0x13, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 
    -	0x65, 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x12, 
    -	0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x68, 0x6f, 
    -	0x6f, 0x6b, 0x63, 0x6f, 0x6d, 0x62, 0x13, 0x63, 0x69, 0x72, 0x63, 0x75, 
    -	0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 
    -	0x6d, 0x62, 0x0e, 0x62, 0x72, 0x65, 0x76, 0x65, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x63, 0x6f, 0x6d, 0x62, 0x0d, 0x62, 0x72, 0x65, 0x76, 0x65, 0x68, 
    -	0x6f, 0x6f, 0x6b, 0x63, 0x6f, 0x6d, 0x62, 0x0e, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x0b, 0x63, 
    -	0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x74, 0x69, 0x63, 0x10, 0x63, 
    -	0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x68, 0x6f, 0x6f, 0x6b, 0x6c, 
    -	0x65, 0x66, 0x74, 0x0c, 0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 
    -	0x68, 0x6f, 0x6f, 0x6b, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x69, 
    -	0x67, 0x68, 0x74, 0x68, 0x6f, 0x6f, 0x6b, 0x08, 0x6f, 0x6e, 0x65, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x08, 0x74, 0x77, 0x6f, 0x2e, 0x6c, 0x6e, 0x75, 
    -	0x6d, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 
    -	0x09, 0x66, 0x6f, 0x75, 0x72, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x09, 0x66, 
    -	0x69, 0x76, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x08, 0x73, 0x69, 0x78, 
    -	0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x6c, 
    -	0x6e, 0x75, 0x6d, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 
    -	0x6d, 0x06, 0x50, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x66, 0x69, 0x76, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x07, 0x73, 0x69, 0x78, 0x2e, 0x73, 
    -	0x75, 0x70, 0x08, 0x66, 0x69, 0x76, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 
    -	0x66, 0x6f, 0x75, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x09, 0x74, 0x68, 0x72, 
    -	0x65, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x07, 0x74, 0x77, 0x6f, 0x2e, 0x73, 
    -	0x75, 0x70, 0x09, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x07, 0x6f, 0x6e, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 0x7a, 0x65, 0x72, 
    -	0x6f, 0x2e, 0x73, 0x75, 0x70, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x09, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x73, 0x75, 0x70, 0x0d, 
    -	0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x0b, 0x44, 0x63, 0x72, 0x6f, 0x61, 0x74, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x08, 0x45, 0x74, 0x68, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x54, 
    -	0x62, 0x61, 0x72, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x67, 0x72, 
    -	0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x41, 0x63, 0x69, 
    -	0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x41, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0e, 0x41, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0a, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0f, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0d, 0x43, 0x63, 0x65, 0x64, 
    -	0x69, 0x6c, 0x6c, 0x61, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x61, 
    -	0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x45, 0x63, 
    -	0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0e, 0x45, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x67, 0x72, 0x61, 0x76, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x49, 0x63, 0x69, 0x72, 0x63, 0x75, 
    -	0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x49, 
    -	0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4f, 0x67, 0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4f, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x10, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4f, 0x74, 0x69, 0x6c, 0x64, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x4f, 0x64, 0x69, 0x65, 0x72, 
    -	0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x55, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x55, 0x61, 
    -	0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x55, 0x63, 
    -	0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0e, 0x55, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x59, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 
    -	0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x41, 0x6f, 0x67, 0x6f, 0x6e, 
    -	0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x43, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x43, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x30, 0x41, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x43, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0c, 0x45, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0b, 0x45, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0f, 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x45, 0x6f, 0x67, 0x6f, 0x6e, 
    -	0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x63, 0x61, 0x72, 
    -	0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x47, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x47, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x32, 0x30, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x11, 0x47, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x48, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x12, 0x55, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 
    -	0x75, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x62, 0x72, 0x65, 
    -	0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x49, 0x6f, 0x67, 0x6f, 
    -	0x6e, 0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0f, 0x49, 0x64, 0x6f, 
    -	0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x10, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x4c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 
    -	0x4c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x4c, 0x64, 0x6f, 0x74, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0b, 0x4e, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x11, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 
    -	0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4e, 0x63, 
    -	0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x4f, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4f, 
    -	0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x12, 0x4f, 
    -	0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x52, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x52, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x53, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 
    -	0x53, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0d, 0x53, 0x63, 0x65, 0x64, 0x69, 0x6c, 0x6c, 
    -	0x61, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x53, 0x63, 0x61, 0x72, 0x6f, 
    -	0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x54, 0x63, 0x6f, 0x6d, 0x6d, 
    -	0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x54, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x55, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x55, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0a, 0x55, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0f, 0x67, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x6c, 0x73, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0b, 0x5a, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0f, 0x5a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x5a, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x59, 0x64, 0x69, 
    -	0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 
    -	0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x10, 0x57, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x55, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x34, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x32, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x34, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x32, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x32, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x41, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x32, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x32, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x31, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x33, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x37, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x34, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x34, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x30, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x36, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x34, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x36, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x33, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x37, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x37, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x43, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x37, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x37, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x46, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x38, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x38, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x46, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x39, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x36, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x39, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x41, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x36, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x41, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x41, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x39, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x41, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x45, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x42, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x32, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x43, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x38, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x45, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x45, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x42, 0x07, 0x75, 
    -	0x6e, 0x69, 0x30, 0x34, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 
    -	0x46, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x32, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x02, 0xff, 0xff, 0x00, 0x0f, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x30, 0x00, 0x44, 0x00, 0x02, 
    -	0x44, 0x46, 0x4c, 0x54, 0x00, 0x0e, 0x6c, 0x61, 0x74, 0x6e, 0x00, 0x1a, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 
    -	0x00, 0x02, 0x6b, 0x65, 0x72, 0x6e, 0x00, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 
    -	0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 
    -	0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x33, 0x12, 0x00, 0x01, 
    -	0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x7b, 0x28, 0x0e, 0x28, 0x0e, 
    -	0x05, 0xfa, 0x26, 0x92, 0x1b, 0xf8, 0x32, 0x26, 0x27, 0xec, 0x27, 0x1e, 
    -	0x06, 0x50, 0x27, 0x36, 0x31, 0xd8, 0x0c, 0x30, 0x27, 0xec, 0x1c, 0xc4, 
    -	0x09, 0x7e, 0x09, 0xfc, 0x24, 0xb2, 0x27, 0x36, 0x31, 0x98, 0x26, 0x6c, 
    -	0x32, 0x30, 0x27, 0x3c, 0x0c, 0x6c, 0x0a, 0x62, 0x27, 0x00, 0x31, 0xbe, 
    -	0x27, 0x30, 0x0a, 0xa4, 0x0a, 0xda, 0x32, 0x98, 0x31, 0xbe, 0x0c, 0x5e, 
    -	0x27, 0xce, 0x0b, 0xd0, 0x32, 0x92, 0x27, 0xce, 0x0b, 0xee, 0x26, 0x92, 
    -	0x26, 0x92, 0x26, 0x92, 0x26, 0x92, 0x26, 0x92, 0x26, 0x92, 0x32, 0x26, 
    -	0x27, 0x1e, 0x27, 0x1e, 0x27, 0x1e, 0x27, 0x1e, 0x27, 0xec, 0x27, 0xec, 
    -	0x27, 0xec, 0x27, 0xec, 0x27, 0xec, 0x27, 0xec, 0x27, 0x36, 0x27, 0x36, 
    -	0x27, 0x36, 0x27, 0x36, 0x27, 0x3c, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 
    -	0x27, 0x00, 0x27, 0x00, 0x27, 0x00, 0x27, 0x30, 0x27, 0x30, 0x27, 0x30, 
    -	0x27, 0x30, 0x32, 0x98, 0x32, 0x98, 0x32, 0x98, 0x32, 0x98, 0x32, 0x98, 
    -	0x27, 0xce, 0x31, 0xbe, 0x27, 0xce, 0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 
    -	0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 0x32, 0x26, 0x32, 0x26, 0x32, 0x26, 
    -	0x32, 0x26, 0x27, 0xec, 0x27, 0xec, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 
    -	0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 
    -	0x27, 0x30, 0x27, 0x36, 0x31, 0xd8, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 
    -	0x0c, 0x30, 0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 
    -	0x32, 0x98, 0x0c, 0x5e, 0x0c, 0x5e, 0x0c, 0x5e, 0x24, 0xb2, 0x24, 0xb2, 
    -	0x24, 0xb2, 0x27, 0x36, 0x27, 0x36, 0x27, 0x36, 0x27, 0x36, 0x27, 0x36, 
    -	0x27, 0x36, 0x26, 0x6c, 0x27, 0x3c, 0x27, 0xce, 0x27, 0x3c, 0x0c, 0x6c, 
    -	0x0c, 0x6c, 0x0c, 0x6c, 0x26, 0x92, 0x27, 0x00, 0x28, 0x0e, 0x26, 0x92, 
    -	0x27, 0x1e, 0x27, 0xec, 0x27, 0x3c, 0x26, 0x92, 0x1b, 0xf8, 0x25, 0x9c, 
    -	0x26, 0x92, 0x27, 0x1e, 0x0c, 0x6c, 0x27, 0xec, 0x31, 0xd8, 0x26, 0x92, 
    -	0x0c, 0x8e, 0x27, 0xec, 0x1c, 0xc4, 0x0d, 0x78, 0x24, 0xb2, 0x27, 0x3c, 
    -	0x0e, 0x66, 0x32, 0x30, 0x0f, 0x44, 0x27, 0x3c, 0x0f, 0xe6, 0x27, 0xce, 
    -	0x0f, 0xec, 0x0f, 0xf6, 0x12, 0xb8, 0x14, 0x92, 0x27, 0xce, 0x15, 0x7c, 
    -	0x32, 0x98, 0x31, 0xbe, 0x16, 0x92, 0x16, 0x98, 0x18, 0x92, 0x18, 0xc8, 
    -	0x1a, 0x5a, 0x1a, 0x8c, 0x32, 0x98, 0x27, 0x1e, 0x27, 0x1e, 0x25, 0x9c, 
    -	0x27, 0x36, 0x2f, 0xcc, 0x2f, 0xcc, 0x31, 0xd8, 0x32, 0xba, 0x26, 0x92, 
    -	0x1b, 0x0a, 0x1b, 0xf8, 0x25, 0x9c, 0x27, 0x1e, 0x1b, 0xfe, 0x31, 0xd8, 
    -	0x27, 0xec, 0x1c, 0xc4, 0x32, 0x26, 0x24, 0xb2, 0x32, 0x30, 0x1c, 0xea, 
    -	0x1d, 0xa8, 0x27, 0x00, 0x1e, 0x32, 0x26, 0x62, 0x27, 0x30, 0x1e, 0xb8, 
    -	0x32, 0x98, 0x31, 0xbe, 0x20, 0x1e, 0x27, 0xce, 0x32, 0x92, 0x22, 0x78, 
    -	0x22, 0xb2, 0x31, 0x76, 0x31, 0xbe, 0x23, 0xdc, 0x27, 0x30, 0x27, 0x30, 
    -	0x26, 0x62, 0x24, 0x5e, 0x31, 0x76, 0x31, 0x76, 0x27, 0xce, 0x2f, 0xcc, 
    -	0x26, 0x92, 0x27, 0xce, 0x27, 0xce, 0x24, 0x88, 0x25, 0x9c, 0x26, 0x62, 
    -	0x25, 0x9c, 0x31, 0xd8, 0x31, 0xd8, 0x31, 0xd8, 0x24, 0xb2, 0x27, 0x3c, 
    -	0x27, 0xce, 0x27, 0x3c, 0x32, 0x30, 0x32, 0x92, 0x26, 0x92, 0x27, 0x00, 
    -	0x26, 0x92, 0x27, 0x00, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x30, 0x27, 0x30, 
    -	0x32, 0x30, 0x32, 0x92, 0x27, 0xec, 0x32, 0x98, 0x31, 0xbe, 0x27, 0xce, 
    -	0x27, 0xce, 0x27, 0xce, 0x25, 0x9c, 0x26, 0x62, 0x26, 0x62, 0x32, 0x30, 
    -	0x32, 0x92, 0x26, 0x92, 0x27, 0x00, 0x26, 0x6c, 0x26, 0x6c, 0x26, 0x6c, 
    -	0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 
    -	0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 
    -	0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 
    -	0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 0x26, 0x92, 0x27, 0x00, 
    -	0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 
    -	0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 
    -	0x27, 0x1e, 0x27, 0x30, 0x27, 0x1e, 0x27, 0x30, 0x27, 0xec, 0x32, 0x98, 
    -	0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 0x32, 0x98, 
    -	0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 0x32, 0x98, 0x27, 0xec, 0x32, 0x98, 
    -	0x32, 0x98, 0x27, 0x36, 0x27, 0x36, 0x27, 0x3c, 0x27, 0xce, 0x27, 0x3c, 
    -	0x27, 0xce, 0x27, 0x3c, 0x27, 0xce, 0x27, 0x3c, 0x27, 0xce, 0x27, 0xec, 
    -	0x28, 0x0e, 0x28, 0x0e, 0x28, 0x0e, 0x28, 0x0e, 0x28, 0x0e, 0x28, 0x0e, 
    -	0x28, 0x0e, 0x28, 0x14, 0x28, 0x2a, 0x28, 0x50, 0x28, 0x62, 0x28, 0x6c, 
    -	0x28, 0x82, 0x28, 0x88, 0x28, 0xae, 0x28, 0xc0, 0x28, 0xd2, 0x28, 0xe8, 
    -	0x29, 0x12, 0x29, 0x24, 0x29, 0x2a, 0x29, 0x34, 0x29, 0x5a, 0x29, 0x60, 
    -	0x2a, 0xce, 0x2c, 0x00, 0x32, 0x30, 0x32, 0xba, 0x2e, 0x3a, 0x2f, 0xcc, 
    -	0x2f, 0xcc, 0x2f, 0xf2, 0x30, 0x4c, 0x31, 0x26, 0x32, 0x92, 0x31, 0x4c, 
    -	0x31, 0xbe, 0x31, 0x76, 0x31, 0x76, 0x32, 0x98, 0x31, 0x98, 0x31, 0x98, 
    -	0x31, 0xbe, 0x32, 0x30, 0x32, 0x92, 0x31, 0xd8, 0x32, 0x26, 0x32, 0x30, 
    -	0x32, 0x92, 0x32, 0x98, 0x32, 0xba, 0x32, 0xba, 0x32, 0xba, 0x00, 0x01, 
    -	0x01, 0x7b, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x24, 0x00, 0x25, 
    -	0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2d, 0x00, 0x2e, 
    -	0x00, 0x2f, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x37, 
    -	0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 
    -	0x00, 0x3e, 0x00, 0x44, 0x00, 0x45, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4e, 
    -	0x00, 0x52, 0x00, 0x53, 0x00, 0x55, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 
    -	0x00, 0x5c, 0x00, 0x5e, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 
    -	0x00, 0x86, 0x00, 0x87, 0x00, 0x89, 0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 
    -	0x00, 0x8d, 0x00, 0x92, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 
    -	0x00, 0x98, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 
    -	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 
    -	0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0xb4, 0x00, 0xb5, 
    -	0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0xc1, 
    -	0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, 0x00, 0xc6, 0x00, 0xc7, 
    -	0x00, 0xc8, 0x00, 0xca, 0x00, 0xcc, 0x00, 0xce, 0x00, 0xd0, 0x00, 0xd2, 
    -	0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, 0x00, 0xd8, 0x00, 0xd9, 
    -	0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xf6, 0x00, 0xf8, 
    -	0x00, 0xfb, 0x00, 0xfd, 0x00, 0xff, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x0f, 
    -	0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x17, 0x01, 0x19, 
    -	0x01, 0x1b, 0x01, 0x24, 0x01, 0x26, 0x01, 0x28, 0x01, 0x2a, 0x01, 0x2c, 
    -	0x01, 0x2e, 0x01, 0x30, 0x01, 0x32, 0x01, 0x34, 0x01, 0x36, 0x01, 0x38, 
    -	0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3d, 0x01, 0x3f, 0x01, 0x48, 
    -	0x01, 0x49, 0x01, 0x51, 0x01, 0x63, 0x01, 0x65, 0x01, 0x68, 0x01, 0x69, 
    -	0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 
    -	0x01, 0x73, 0x01, 0x75, 0x01, 0x76, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7c, 
    -	0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 
    -	0x01, 0x85, 0x01, 0x8b, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x90, 0x01, 0x93, 
    -	0x01, 0x95, 0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9b, 0x01, 0x9d, 
    -	0x01, 0x9e, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa6, 
    -	0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5, 
    -	0x01, 0xb6, 0x01, 0xb8, 0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 
    -	0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc2, 0x01, 0xc6, 0x01, 0xc8, 0x01, 0xc9, 
    -	0x01, 0xca, 0x01, 0xcb, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd1, 0x01, 0xd2, 
    -	0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd7, 0x01, 0xdb, 0x01, 0xdd, 0x01, 0xdf, 
    -	0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe5, 0x01, 0xe7, 0x01, 0xe8, 
    -	0x01, 0xe9, 0x01, 0xeb, 0x01, 0xec, 0x01, 0xee, 0x01, 0xef, 0x01, 0xf4, 
    -	0x01, 0xf5, 0x01, 0xf9, 0x01, 0xfb, 0x01, 0xfc, 0x02, 0x08, 0x02, 0x09, 
    -	0x02, 0x0f, 0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1e, 0x02, 0x20, 
    -	0x02, 0x22, 0x02, 0x28, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, 0x2e, 
    -	0x02, 0x2f, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 0x02, 0x4c, 
    -	0x02, 0x4d, 0x02, 0x4f, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x5c, 
    -	0x02, 0x5d, 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x65, 
    -	0x02, 0x66, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x83, 0x02, 0x84, 
    -	0x02, 0x87, 0x02, 0x89, 0x02, 0x8b, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x8f, 
    -	0x02, 0x90, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 
    -	0x02, 0x96, 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x9a, 0x02, 0x9b, 
    -	0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, 0x02, 0x9f, 0x02, 0xa0, 0x02, 0xa1, 
    -	0x02, 0xa2, 0x02, 0xa3, 0x02, 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0xa7, 
    -	0x02, 0xa8, 0x02, 0xa9, 0x02, 0xaa, 0x02, 0xab, 0x02, 0xac, 0x02, 0xad, 
    -	0x02, 0xae, 0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 
    -	0x02, 0xb4, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 
    -	0x02, 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02, 0xc3, 
    -	0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02, 0xce, 0x02, 0xd1, 0x02, 0xd3, 
    -	0x02, 0xdf, 0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 
    -	0x02, 0xe5, 0x02, 0xe6, 0x02, 0xe7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfb, 
    -	0x02, 0xfc, 0x02, 0xfd, 0x03, 0x05, 0x03, 0x06, 0x03, 0x39, 0x03, 0x3a, 
    -	0x03, 0x3b, 0x03, 0x3c, 0x03, 0x3d, 0x03, 0x3e, 0x03, 0x3f, 0x03, 0x41, 
    -	0x03, 0x42, 0x03, 0x44, 0x03, 0x48, 0x03, 0x49, 0x03, 0x4e, 0x03, 0x50, 
    -	0x03, 0x55, 0x03, 0x6a, 0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 
    -	0x03, 0xd3, 0x03, 0xd6, 0x03, 0xd7, 0x03, 0xd8, 0x03, 0xd9, 0x03, 0xda, 
    -	0x03, 0xdb, 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xde, 0x03, 0xdf, 0x03, 0xe2, 
    -	0x03, 0xe6, 0x03, 0xe7, 0x03, 0xe8, 0x03, 0xef, 0x03, 0xf2, 0x03, 0xf3, 
    -	0x03, 0xf6, 0x03, 0xfc, 0x04, 0x00, 0x04, 0x01, 0x04, 0x07, 0x04, 0x08, 
    -	0x04, 0x09, 0x04, 0x0a, 0x00, 0x15, 0x00, 0x39, 0x00, 0x17, 0x00, 0x3a, 
    -	0x00, 0x1a, 0x00, 0x3c, 0x00, 0x19, 0x00, 0x9f, 0x00, 0x19, 0x01, 0x36, 
    -	0x00, 0x1a, 0x01, 0x38, 0x00, 0x19, 0x01, 0x3a, 0x00, 0x19, 0x01, 0x69, 
    -	0x00, 0x19, 0x01, 0x7f, 0x00, 0x19, 0x01, 0x85, 0x00, 0x19, 0x02, 0x2a, 
    -	0x00, 0x19, 0x02, 0x2c, 0x00, 0x19, 0x02, 0x87, 0x00, 0x1a, 0x02, 0x89, 
    -	0x00, 0x1a, 0x02, 0x8b, 0x00, 0x1a, 0x02, 0xdf, 0x00, 0x19, 0x02, 0xe1, 
    -	0x00, 0x19, 0x02, 0xe3, 0x00, 0x19, 0x02, 0xe5, 0x00, 0x19, 0x03, 0xe7, 
    -	0x00, 0x17, 0x03, 0xe8, 0x00, 0x17, 0x00, 0xcb, 0x00, 0x0f, 0xfe, 0xbb, 
    -	0x00, 0x11, 0xfe, 0xbb, 0x00, 0x1d, 0xfe, 0xbb, 0x00, 0x24, 0xff, 0x5d, 
    -	0x00, 0x37, 0x00, 0x14, 0x00, 0x44, 0xff, 0xbc, 0x00, 0x46, 0xff, 0xcc, 
    -	0x00, 0x47, 0xff, 0xcc, 0x00, 0x48, 0xff, 0xcc, 0x00, 0x4a, 0xff, 0xcc, 
    -	0x00, 0x52, 0xff, 0xca, 0x00, 0x54, 0xff, 0xcc, 0x00, 0x55, 0xff, 0xe2, 
    -	0x00, 0x58, 0xff, 0xe7, 0x00, 0x59, 0xff, 0xe4, 0x00, 0x5c, 0xff, 0xe4, 
    -	0x00, 0x82, 0xff, 0x5d, 0x00, 0x83, 0xff, 0x5d, 0x00, 0x84, 0xff, 0x5d, 
    -	0x00, 0x85, 0xff, 0x5d, 0x00, 0x86, 0xff, 0x5d, 0x00, 0x87, 0xff, 0x5d, 
    -	0x00, 0xa2, 0xff, 0xbc, 0x00, 0xa3, 0xff, 0xbc, 0x00, 0xa4, 0xff, 0xbc, 
    -	0x00, 0xa5, 0xff, 0xbc, 0x00, 0xa6, 0xff, 0xbc, 0x00, 0xa7, 0xff, 0xbc, 
    -	0x00, 0xa9, 0xff, 0xcc, 0x00, 0xaa, 0xff, 0xcc, 0x00, 0xab, 0xff, 0xcc, 
    -	0x00, 0xac, 0xff, 0xcc, 0x00, 0xad, 0xff, 0xcc, 0x00, 0xb4, 0xff, 0xca, 
    -	0x00, 0xb5, 0xff, 0xca, 0x00, 0xb6, 0xff, 0xca, 0x00, 0xb7, 0xff, 0xca, 
    -	0x00, 0xb8, 0xff, 0xca, 0x00, 0xbb, 0xff, 0xe7, 0x00, 0xbc, 0xff, 0xe7, 
    -	0x00, 0xbd, 0xff, 0xe7, 0x00, 0xbe, 0xff, 0xe7, 0x00, 0xbf, 0xff, 0xe4, 
    -	0x00, 0xc1, 0xff, 0xe4, 0x00, 0xc2, 0xff, 0x5d, 0x00, 0xc3, 0xff, 0xbc, 
    -	0x00, 0xc4, 0xff, 0x5d, 0x00, 0xc5, 0xff, 0xbc, 0x00, 0xc6, 0xff, 0x5d, 
    -	0x00, 0xc7, 0xff, 0xbc, 0x00, 0xc9, 0xff, 0xcc, 0x00, 0xcb, 0xff, 0xcc, 
    -	0x00, 0xcd, 0xff, 0xcc, 0x00, 0xcf, 0xff, 0xcc, 0x00, 0xd1, 0xff, 0xcc, 
    -	0x00, 0xd5, 0xff, 0xcc, 0x00, 0xd7, 0xff, 0xcc, 0x00, 0xd9, 0xff, 0xcc, 
    -	0x00, 0xdb, 0xff, 0xcc, 0x00, 0xdd, 0xff, 0xcc, 0x00, 0xdf, 0xff, 0xcc, 
    -	0x00, 0xe1, 0xff, 0xcc, 0x00, 0xe3, 0xff, 0xcc, 0x00, 0xe5, 0xff, 0xcc, 
    -	0x01, 0x0f, 0xff, 0xca, 0x01, 0x11, 0xff, 0xca, 0x01, 0x13, 0xff, 0xca, 
    -	0x01, 0x15, 0xff, 0xcc, 0x01, 0x24, 0x00, 0x14, 0x01, 0x26, 0x00, 0x14, 
    -	0x01, 0x2b, 0xff, 0xe7, 0x01, 0x2d, 0xff, 0xe7, 0x01, 0x2f, 0xff, 0xe7, 
    -	0x01, 0x31, 0xff, 0xe7, 0x01, 0x33, 0xff, 0xe7, 0x01, 0x35, 0xff, 0xe7, 
    -	0x01, 0x39, 0xff, 0xe4, 0x01, 0x44, 0xff, 0xcc, 0x01, 0x46, 0xff, 0xe7, 
    -	0x01, 0x48, 0xff, 0x5d, 0x01, 0x49, 0xff, 0xbc, 0x01, 0x63, 0xff, 0x5d, 
    -	0x01, 0x6c, 0xff, 0x5d, 0x01, 0x6f, 0xff, 0x5d, 0x01, 0x76, 0xff, 0x5d, 
    -	0x01, 0x86, 0xff, 0xcc, 0x01, 0x8a, 0xff, 0xe7, 0x01, 0x8b, 0xff, 0xcc, 
    -	0x01, 0x8d, 0xff, 0xe4, 0x01, 0x97, 0xff, 0xe4, 0x01, 0x99, 0xff, 0xca, 
    -	0x01, 0x9c, 0xff, 0xcc, 0x01, 0x9d, 0xff, 0xcc, 0x01, 0x9f, 0xff, 0xe7, 
    -	0x01, 0xa5, 0xff, 0xe7, 0x01, 0xa6, 0xff, 0xca, 0x01, 0xa7, 0xff, 0xe7, 
    -	0x01, 0xba, 0xff, 0x5d, 0x01, 0xca, 0x00, 0x14, 0x01, 0xd1, 0xff, 0xbc, 
    -	0x01, 0xd4, 0xff, 0xcc, 0x01, 0xdb, 0xff, 0xca, 0x01, 0xde, 0xff, 0xcc, 
    -	0x01, 0xe0, 0xff, 0xe4, 0x01, 0xeb, 0xff, 0xcc, 0x01, 0xec, 0xff, 0xcc, 
    -	0x01, 0xef, 0xff, 0xcc, 0x01, 0xf9, 0xff, 0xe4, 0x01, 0xfc, 0xff, 0x5d, 
    -	0x02, 0x08, 0xff, 0xe4, 0x02, 0x09, 0xff, 0xe4, 0x02, 0x0b, 0xff, 0xcc, 
    -	0x02, 0x0f, 0xff, 0xcc, 0x02, 0x28, 0x00, 0x14, 0x02, 0x2b, 0xff, 0xe4, 
    -	0x02, 0x30, 0x00, 0x14, 0x02, 0x46, 0xff, 0x5d, 0x02, 0x47, 0xff, 0xbc, 
    -	0x02, 0x48, 0xff, 0x5d, 0x02, 0x49, 0xff, 0xbc, 0x02, 0x4d, 0xff, 0xcc, 
    -	0x02, 0x4f, 0xff, 0xcc, 0x02, 0x51, 0xff, 0xcc, 0x02, 0x5d, 0xff, 0xca, 
    -	0x02, 0x60, 0xff, 0xe4, 0x02, 0x61, 0xff, 0xe4, 0x02, 0x62, 0xff, 0xe4, 
    -	0x02, 0x70, 0xff, 0xcc, 0x02, 0x71, 0xff, 0xcc, 0x02, 0x72, 0xff, 0xcc, 
    -	0x02, 0x7c, 0xff, 0xcc, 0x02, 0x83, 0xff, 0x5d, 0x02, 0x84, 0xff, 0xbc, 
    -	0x02, 0x8d, 0xff, 0x5d, 0x02, 0x8e, 0xff, 0xbc, 0x02, 0x8f, 0xff, 0x5d, 
    -	0x02, 0x90, 0xff, 0xbc, 0x02, 0x91, 0xff, 0x5d, 0x02, 0x92, 0xff, 0xbc, 
    -	0x02, 0x93, 0xff, 0x5d, 0x02, 0x94, 0xff, 0xbc, 0x02, 0x95, 0xff, 0x5d, 
    -	0x02, 0x96, 0xff, 0xbc, 0x02, 0x97, 0xff, 0x5d, 0x02, 0x98, 0xff, 0xbc, 
    -	0x02, 0x99, 0xff, 0x5d, 0x02, 0x9a, 0xff, 0xbc, 0x02, 0x9b, 0xff, 0x5d, 
    -	0x02, 0x9c, 0xff, 0xbc, 0x02, 0x9d, 0xff, 0x5d, 0x02, 0x9e, 0xff, 0xbc, 
    -	0x02, 0x9f, 0xff, 0x5d, 0x02, 0xa0, 0xff, 0xbc, 0x02, 0xa1, 0xff, 0x5d, 
    -	0x02, 0xa2, 0xff, 0xbc, 0x02, 0xa3, 0xff, 0x5d, 0x02, 0xa4, 0xff, 0xbc, 
    -	0x02, 0xa6, 0xff, 0xcc, 0x02, 0xa8, 0xff, 0xcc, 0x02, 0xaa, 0xff, 0xcc, 
    -	0x02, 0xac, 0xff, 0xcc, 0x02, 0xae, 0xff, 0xcc, 0x02, 0xb0, 0xff, 0xcc, 
    -	0x02, 0xb2, 0xff, 0xcc, 0x02, 0xb4, 0xff, 0xcc, 0x02, 0xba, 0xff, 0xca, 
    -	0x02, 0xbc, 0xff, 0xca, 0x02, 0xbe, 0xff, 0xca, 0x02, 0xc0, 0xff, 0xca, 
    -	0x02, 0xc2, 0xff, 0xca, 0x02, 0xc4, 0xff, 0xca, 0x02, 0xc6, 0xff, 0xca, 
    -	0x02, 0xc8, 0xff, 0xcc, 0x02, 0xca, 0xff, 0xcc, 0x02, 0xcc, 0xff, 0xcc, 
    -	0x02, 0xce, 0xff, 0xca, 0x02, 0xd0, 0xff, 0xcc, 0x02, 0xd2, 0xff, 0xe7, 
    -	0x02, 0xd4, 0xff, 0xe7, 0x02, 0xd6, 0xff, 0xe7, 0x02, 0xd8, 0xff, 0xe7, 
    -	0x02, 0xda, 0xff, 0xe7, 0x02, 0xdc, 0xff, 0xe7, 0x02, 0xde, 0xff, 0xe7, 
    -	0x02, 0xe0, 0xff, 0xe4, 0x02, 0xe2, 0xff, 0xe4, 0x02, 0xe4, 0xff, 0xe4, 
    -	0x02, 0xe6, 0xff, 0xe4, 0x02, 0xfa, 0xfe, 0xbb, 0x02, 0xfe, 0xfe, 0xbb, 
    -	0x03, 0x02, 0xfe, 0xbb, 0x03, 0x03, 0xfe, 0xbb, 0x03, 0x55, 0xff, 0x87, 
    -	0x03, 0xcf, 0x00, 0x14, 0x03, 0xd0, 0x00, 0x14, 0x03, 0xde, 0xff, 0xcc, 
    -	0x03, 0xe6, 0xff, 0xca, 0x03, 0xea, 0xff, 0xcc, 0x03, 0xf6, 0x00, 0x14, 
    -	0x03, 0xfb, 0xff, 0xcc, 0x03, 0xfd, 0xff, 0xcc, 0x04, 0x05, 0xff, 0xcc, 
    -	0x04, 0x07, 0xff, 0xca, 0x00, 0x1f, 0x00, 0x37, 0xff, 0xd9, 0x00, 0x39, 
    -	0xff, 0xdf, 0x00, 0x3a, 0xff, 0xe9, 0x00, 0x3c, 0xff, 0xb9, 0x00, 0x9f, 
    -	0xff, 0xb9, 0x01, 0x24, 0xff, 0xd9, 0x01, 0x26, 0xff, 0xd9, 0x01, 0x36, 
    -	0xff, 0xe9, 0x01, 0x38, 0xff, 0xb9, 0x01, 0x3a, 0xff, 0xb9, 0x01, 0x69, 
    -	0xff, 0xb9, 0x01, 0x7f, 0xff, 0xb9, 0x01, 0x85, 0xff, 0xb9, 0x01, 0xca, 
    -	0xff, 0xd9, 0x02, 0x28, 0xff, 0xd9, 0x02, 0x2a, 0xff, 0xb9, 0x02, 0x2c, 
    -	0xff, 0xb9, 0x02, 0x30, 0xff, 0xd9, 0x02, 0x87, 0xff, 0xe9, 0x02, 0x89, 
    -	0xff, 0xe9, 0x02, 0x8b, 0xff, 0xe9, 0x02, 0xdf, 0xff, 0xb9, 0x02, 0xe1, 
    -	0xff, 0xb9, 0x02, 0xe3, 0xff, 0xb9, 0x02, 0xe5, 0xff, 0xb9, 0x03, 0x55, 
    -	0x00, 0x10, 0x03, 0xcf, 0xff, 0xd9, 0x03, 0xd0, 0xff, 0xd9, 0x03, 0xe7, 
    -	0xff, 0xdf, 0x03, 0xe8, 0xff, 0xdf, 0x03, 0xf6, 0xff, 0xd9, 0x00, 0x19, 
    -	0x00, 0x37, 0xff, 0xe1, 0x00, 0x39, 0xff, 0xea, 0x00, 0x3c, 0xff, 0xc7, 
    -	0x00, 0x9f, 0xff, 0xc7, 0x01, 0x24, 0xff, 0xe1, 0x01, 0x26, 0xff, 0xe1, 
    -	0x01, 0x38, 0xff, 0xc7, 0x01, 0x3a, 0xff, 0xc7, 0x01, 0x69, 0xff, 0xc7, 
    -	0x01, 0x7f, 0xff, 0xc7, 0x01, 0x85, 0xff, 0xc7, 0x01, 0xca, 0xff, 0xe1, 
    -	0x02, 0x28, 0xff, 0xe1, 0x02, 0x2a, 0xff, 0xc7, 0x02, 0x2c, 0xff, 0xc7, 
    -	0x02, 0x30, 0xff, 0xe1, 0x02, 0xdf, 0xff, 0xc7, 0x02, 0xe1, 0xff, 0xc7, 
    -	0x02, 0xe3, 0xff, 0xc7, 0x02, 0xe5, 0xff, 0xc7, 0x03, 0xcf, 0xff, 0xe1, 
    -	0x03, 0xd0, 0xff, 0xe1, 0x03, 0xe7, 0xff, 0xea, 0x03, 0xe8, 0xff, 0xea, 
    -	0x03, 0xf6, 0xff, 0xe1, 0x00, 0x10, 0x00, 0x2d, 0xff, 0xeb, 0x00, 0x38, 
    -	0xff, 0xeb, 0x00, 0x9b, 0xff, 0xeb, 0x00, 0x9c, 0xff, 0xeb, 0x00, 0x9d, 
    -	0xff, 0xeb, 0x00, 0x9e, 0xff, 0xeb, 0x00, 0xf6, 0xff, 0xeb, 0x01, 0x2a, 
    -	0xff, 0xeb, 0x01, 0x2c, 0xff, 0xeb, 0x01, 0x2e, 0xff, 0xeb, 0x01, 0x30, 
    -	0xff, 0xeb, 0x01, 0x32, 0xff, 0xeb, 0x01, 0x34, 0xff, 0xeb, 0x01, 0xb3, 
    -	0xff, 0xeb, 0x02, 0xd1, 0xff, 0xeb, 0x02, 0xd3, 0xff, 0xeb, 0x00, 0x0d, 
    -	0x00, 0x05, 0x00, 0x22, 0x00, 0x0a, 0x00, 0x22, 0x00, 0x0c, 0x00, 0x35, 
    -	0x00, 0x40, 0x00, 0x42, 0x00, 0x60, 0x00, 0x25, 0x01, 0x51, 0x00, 0x22, 
    -	0x02, 0xf8, 0x00, 0x22, 0x02, 0xf9, 0x00, 0x22, 0x02, 0xfb, 0x00, 0x22, 
    -	0x02, 0xfc, 0x00, 0x22, 0x02, 0xfd, 0x00, 0x22, 0x03, 0x05, 0x00, 0x22, 
    -	0x03, 0x06, 0x00, 0x22, 0x00, 0x3d, 0x00, 0x46, 0xff, 0xe9, 0x00, 0x47, 
    -	0xff, 0xe9, 0x00, 0x48, 0xff, 0xe9, 0x00, 0x4a, 0xff, 0xe9, 0x00, 0x54, 
    -	0xff, 0xe9, 0x00, 0xa9, 0xff, 0xe9, 0x00, 0xaa, 0xff, 0xe9, 0x00, 0xab, 
    -	0xff, 0xe9, 0x00, 0xac, 0xff, 0xe9, 0x00, 0xad, 0xff, 0xe9, 0x00, 0xc9, 
    -	0xff, 0xe9, 0x00, 0xcb, 0xff, 0xe9, 0x00, 0xcd, 0xff, 0xe9, 0x00, 0xcf, 
    -	0xff, 0xe9, 0x00, 0xd1, 0xff, 0xe9, 0x00, 0xd5, 0xff, 0xe9, 0x00, 0xd7, 
    -	0xff, 0xe9, 0x00, 0xd9, 0xff, 0xe9, 0x00, 0xdb, 0xff, 0xe9, 0x00, 0xdd, 
    -	0xff, 0xe9, 0x00, 0xdf, 0xff, 0xe9, 0x00, 0xe1, 0xff, 0xe9, 0x00, 0xe3, 
    -	0xff, 0xe9, 0x00, 0xe5, 0xff, 0xe9, 0x01, 0x15, 0xff, 0xe9, 0x01, 0x44, 
    -	0xff, 0xe9, 0x01, 0x86, 0xff, 0xe9, 0x01, 0x8b, 0xff, 0xe9, 0x01, 0x9c, 
    -	0xff, 0xe9, 0x01, 0x9d, 0xff, 0xe9, 0x01, 0xd4, 0xff, 0xe9, 0x01, 0xde, 
    -	0xff, 0xe9, 0x01, 0xeb, 0xff, 0xe9, 0x01, 0xec, 0xff, 0xe9, 0x01, 0xef, 
    -	0xff, 0xe9, 0x02, 0x0b, 0xff, 0xe9, 0x02, 0x0f, 0xff, 0xe9, 0x02, 0x4d, 
    -	0xff, 0xe9, 0x02, 0x4f, 0xff, 0xe9, 0x02, 0x51, 0xff, 0xe9, 0x02, 0x70, 
    -	0xff, 0xe9, 0x02, 0x71, 0xff, 0xe9, 0x02, 0x72, 0xff, 0xe9, 0x02, 0x7c, 
    -	0xff, 0xe9, 0x02, 0xa6, 0xff, 0xe9, 0x02, 0xa8, 0xff, 0xe9, 0x02, 0xaa, 
    -	0xff, 0xe9, 0x02, 0xac, 0xff, 0xe9, 0x02, 0xae, 0xff, 0xe9, 0x02, 0xb0, 
    -	0xff, 0xe9, 0x02, 0xb2, 0xff, 0xe9, 0x02, 0xb4, 0xff, 0xe9, 0x02, 0xc8, 
    -	0xff, 0xe9, 0x02, 0xca, 0xff, 0xe9, 0x02, 0xcc, 0xff, 0xe9, 0x02, 0xd0, 
    -	0xff, 0xe9, 0x03, 0xde, 0xff, 0xe9, 0x03, 0xea, 0xff, 0xe9, 0x03, 0xfb, 
    -	0xff, 0xe9, 0x03, 0xfd, 0xff, 0xe9, 0x04, 0x05, 0xff, 0xe9, 0x00, 0x07, 
    -	0x00, 0x0f, 0xff, 0xb8, 0x00, 0x11, 0xff, 0xb8, 0x00, 0x1d, 0xff, 0xb8, 
    -	0x02, 0xfa, 0xff, 0xb8, 0x02, 0xfe, 0xff, 0xb8, 0x03, 0x02, 0xff, 0xb8, 
    -	0x03, 0x03, 0xff, 0xb8, 0x00, 0x10, 0x00, 0x2d, 0xff, 0xe9, 0x00, 0x38, 
    -	0xff, 0xe9, 0x00, 0x9b, 0xff, 0xe9, 0x00, 0x9c, 0xff, 0xe9, 0x00, 0x9d, 
    -	0xff, 0xe9, 0x00, 0x9e, 0xff, 0xe9, 0x00, 0xf6, 0xff, 0xe9, 0x01, 0x2a, 
    -	0xff, 0xe9, 0x01, 0x2c, 0xff, 0xe9, 0x01, 0x2e, 0xff, 0xe9, 0x01, 0x30, 
    -	0xff, 0xe9, 0x01, 0x32, 0xff, 0xe9, 0x01, 0x34, 0xff, 0xe9, 0x01, 0xb3, 
    -	0xff, 0xe9, 0x02, 0xd1, 0xff, 0xe9, 0x02, 0xd3, 0xff, 0xe9, 0x00, 0x0b, 
    -	0x00, 0x5a, 0xff, 0x98, 0x03, 0x3a, 0xff, 0xaa, 0x03, 0x3c, 0xff, 0xd0, 
    -	0x03, 0x3d, 0xff, 0xab, 0x03, 0x3e, 0xff, 0xeb, 0x03, 0x3f, 0xff, 0xb1, 
    -	0x03, 0x42, 0xff, 0xf0, 0x03, 0x44, 0xff, 0xf0, 0x03, 0x4d, 0xff, 0xef, 
    -	0x03, 0x51, 0xff, 0xf1, 0x03, 0x55, 0x00, 0x16, 0x00, 0x03, 0x00, 0x49, 
    -	0x00, 0x18, 0x00, 0x57, 0x00, 0x1b, 0x00, 0x5a, 0x00, 0x1b, 0x00, 0x08, 
    -	0x00, 0x5a, 0xff, 0xe1, 0x01, 0x80, 0xff, 0xc2, 0x01, 0xa2, 0xff, 0xdf, 
    -	0x03, 0x42, 0xff, 0xe9, 0x03, 0x44, 0xff, 0xe9, 0x03, 0x4d, 0xff, 0xe8, 
    -	0x03, 0x51, 0xff, 0xea, 0x03, 0x55, 0x00, 0x0f, 0x00, 0x3a, 0x00, 0x26, 
    -	0xff, 0xf1, 0x00, 0x2a, 0xff, 0xf1, 0x00, 0x32, 0xff, 0xf1, 0x00, 0x34, 
    -	0xff, 0xf1, 0x00, 0x89, 0xff, 0xf1, 0x00, 0x94, 0xff, 0xf1, 0x00, 0x95, 
    -	0xff, 0xf1, 0x00, 0x96, 0xff, 0xf1, 0x00, 0x97, 0xff, 0xf1, 0x00, 0x98, 
    -	0xff, 0xf1, 0x00, 0x9a, 0xff, 0xf1, 0x00, 0xc8, 0xff, 0xf1, 0x00, 0xca, 
    -	0xff, 0xf1, 0x00, 0xcc, 0xff, 0xf1, 0x00, 0xce, 0xff, 0xf1, 0x00, 0xde, 
    -	0xff, 0xf1, 0x00, 0xe0, 0xff, 0xf1, 0x00, 0xe2, 0xff, 0xf1, 0x00, 0xe4, 
    -	0xff, 0xf1, 0x01, 0x0e, 0xff, 0xf1, 0x01, 0x10, 0xff, 0xf1, 0x01, 0x12, 
    -	0xff, 0xf1, 0x01, 0x14, 0xff, 0xf1, 0x01, 0x43, 0xff, 0xf1, 0x01, 0x4c, 
    -	0xff, 0xf1, 0x01, 0x68, 0xff, 0xf1, 0x01, 0x73, 0xff, 0xf1, 0x01, 0x7a, 
    -	0xff, 0xf1, 0x01, 0x95, 0x00, 0x0f, 0x01, 0xaf, 0xff, 0xf1, 0x01, 0xc6, 
    -	0xff, 0xf1, 0x01, 0xc9, 0xff, 0xf1, 0x02, 0x0a, 0xff, 0xf1, 0x02, 0x0c, 
    -	0xff, 0xf1, 0x02, 0x0e, 0xff, 0xf1, 0x02, 0x5c, 0xff, 0xf1, 0x02, 0x7b, 
    -	0xff, 0xf1, 0x02, 0xb9, 0xff, 0xf1, 0x02, 0xbb, 0xff, 0xf1, 0x02, 0xbd, 
    -	0xff, 0xf1, 0x02, 0xbf, 0xff, 0xf1, 0x02, 0xc1, 0xff, 0xf1, 0x02, 0xc3, 
    -	0xff, 0xf1, 0x02, 0xc5, 0xff, 0xf1, 0x02, 0xc7, 0xff, 0xf1, 0x02, 0xc9, 
    -	0xff, 0xf1, 0x02, 0xcb, 0xff, 0xf1, 0x02, 0xcd, 0xff, 0xf1, 0x02, 0xcf, 
    -	0xff, 0xf1, 0x02, 0xe7, 0xff, 0xf1, 0x03, 0xe0, 0xff, 0xf1, 0x03, 0xe5, 
    -	0xff, 0xf1, 0x03, 0xe9, 0xff, 0xf1, 0x03, 0xeb, 0xff, 0xf1, 0x03, 0xfa, 
    -	0xff, 0xf1, 0x03, 0xfc, 0xff, 0xf1, 0x04, 0x04, 0xff, 0xf1, 0x04, 0x06, 
    -	0xff, 0xf1, 0x00, 0x3b, 0x00, 0x26, 0xff, 0xe2, 0x00, 0x2a, 0xff, 0xe2, 
    -	0x00, 0x32, 0xff, 0xe2, 0x00, 0x34, 0xff, 0xe2, 0x00, 0x89, 0xff, 0xe2, 
    -	0x00, 0x94, 0xff, 0xe2, 0x00, 0x95, 0xff, 0xe2, 0x00, 0x96, 0xff, 0xe2, 
    -	0x00, 0x97, 0xff, 0xe2, 0x00, 0x98, 0xff, 0xe2, 0x00, 0x9a, 0xff, 0xe2, 
    -	0x00, 0xc8, 0xff, 0xe2, 0x00, 0xca, 0xff, 0xe2, 0x00, 0xcc, 0xff, 0xe2, 
    -	0x00, 0xce, 0xff, 0xe2, 0x00, 0xde, 0xff, 0xe2, 0x00, 0xe0, 0xff, 0xe2, 
    -	0x00, 0xe2, 0xff, 0xe2, 0x00, 0xe4, 0xff, 0xe2, 0x01, 0x0e, 0xff, 0xe2, 
    -	0x01, 0x10, 0xff, 0xe2, 0x01, 0x12, 0xff, 0xe2, 0x01, 0x14, 0xff, 0xe2, 
    -	0x01, 0x43, 0xff, 0xe2, 0x01, 0x4c, 0xff, 0xe2, 0x01, 0x68, 0xff, 0xe2, 
    -	0x01, 0x73, 0xff, 0xe2, 0x01, 0x7a, 0xff, 0xe2, 0x01, 0x80, 0xff, 0xb7, 
    -	0x01, 0x95, 0x00, 0x13, 0x01, 0xaf, 0xff, 0xe2, 0x01, 0xc6, 0xff, 0xe2, 
    -	0x01, 0xc9, 0xff, 0xe2, 0x02, 0x0a, 0xff, 0xe2, 0x02, 0x0c, 0xff, 0xe2, 
    -	0x02, 0x0e, 0xff, 0xe2, 0x02, 0x5c, 0xff, 0xe2, 0x02, 0x7b, 0xff, 0xe2, 
    -	0x02, 0xb9, 0xff, 0xe2, 0x02, 0xbb, 0xff, 0xe2, 0x02, 0xbd, 0xff, 0xe2, 
    -	0x02, 0xbf, 0xff, 0xe2, 0x02, 0xc1, 0xff, 0xe2, 0x02, 0xc3, 0xff, 0xe2, 
    -	0x02, 0xc5, 0xff, 0xe2, 0x02, 0xc7, 0xff, 0xe2, 0x02, 0xc9, 0xff, 0xe2, 
    -	0x02, 0xcb, 0xff, 0xe2, 0x02, 0xcd, 0xff, 0xe2, 0x02, 0xcf, 0xff, 0xe2, 
    -	0x02, 0xe7, 0xff, 0xe2, 0x03, 0xe0, 0xff, 0xe2, 0x03, 0xe5, 0xff, 0xe2, 
    -	0x03, 0xe9, 0xff, 0xe2, 0x03, 0xeb, 0xff, 0xe2, 0x03, 0xfa, 0xff, 0xe2, 
    -	0x03, 0xfc, 0xff, 0xe2, 0x04, 0x04, 0xff, 0xe2, 0x04, 0x06, 0xff, 0xe2, 
    -	0x00, 0x37, 0x00, 0x24, 0xff, 0xdf, 0x00, 0x3b, 0xff, 0xca, 0x00, 0x3c, 
    -	0xff, 0xcb, 0x00, 0x82, 0xff, 0xdf, 0x00, 0x83, 0xff, 0xdf, 0x00, 0x84, 
    -	0xff, 0xdf, 0x00, 0x85, 0xff, 0xdf, 0x00, 0x86, 0xff, 0xdf, 0x00, 0x87, 
    -	0xff, 0xdf, 0x00, 0x9f, 0xff, 0xcb, 0x00, 0xc2, 0xff, 0xdf, 0x00, 0xc4, 
    -	0xff, 0xdf, 0x00, 0xc6, 0xff, 0xdf, 0x01, 0x38, 0xff, 0xcb, 0x01, 0x3a, 
    -	0xff, 0xcb, 0x01, 0x48, 0xff, 0xdf, 0x01, 0x63, 0xff, 0xdf, 0x01, 0x69, 
    -	0xff, 0xcb, 0x01, 0x6c, 0xff, 0xdf, 0x01, 0x6f, 0xff, 0xdf, 0x01, 0x76, 
    -	0xff, 0xdf, 0x01, 0x7f, 0xff, 0xcb, 0x01, 0x81, 0xff, 0xca, 0x01, 0x85, 
    -	0xff, 0xcb, 0x01, 0x95, 0xff, 0xdd, 0x01, 0xba, 0xff, 0xdf, 0x01, 0xcb, 
    -	0xff, 0xca, 0x01, 0xfc, 0xff, 0xdf, 0x02, 0x2a, 0xff, 0xcb, 0x02, 0x2c, 
    -	0xff, 0xcb, 0x02, 0x2e, 0xff, 0xca, 0x02, 0x46, 0xff, 0xdf, 0x02, 0x48, 
    -	0xff, 0xdf, 0x02, 0x52, 0xff, 0xca, 0x02, 0x6b, 0xff, 0xca, 0x02, 0x83, 
    -	0xff, 0xdf, 0x02, 0x8d, 0xff, 0xdf, 0x02, 0x8f, 0xff, 0xdf, 0x02, 0x91, 
    -	0xff, 0xdf, 0x02, 0x93, 0xff, 0xdf, 0x02, 0x95, 0xff, 0xdf, 0x02, 0x97, 
    -	0xff, 0xdf, 0x02, 0x99, 0xff, 0xdf, 0x02, 0x9b, 0xff, 0xdf, 0x02, 0x9d, 
    -	0xff, 0xdf, 0x02, 0x9f, 0xff, 0xdf, 0x02, 0xa1, 0xff, 0xdf, 0x02, 0xa3, 
    -	0xff, 0xdf, 0x02, 0xdf, 0xff, 0xcb, 0x02, 0xe1, 0xff, 0xcb, 0x02, 0xe3, 
    -	0xff, 0xcb, 0x02, 0xe5, 0xff, 0xcb, 0x03, 0xd2, 0xff, 0xca, 0x03, 0xf2, 
    -	0xff, 0xca, 0x04, 0x00, 0xff, 0xca, 0x00, 0x28, 0x00, 0x0f, 0xff, 0x82, 
    -	0x00, 0x11, 0xff, 0x82, 0x00, 0x1d, 0xff, 0x82, 0x00, 0x24, 0xff, 0xc4, 
    -	0x00, 0x82, 0xff, 0xc4, 0x00, 0x83, 0xff, 0xc4, 0x00, 0x84, 0xff, 0xc4, 
    -	0x00, 0x85, 0xff, 0xc4, 0x00, 0x86, 0xff, 0xc4, 0x00, 0x87, 0xff, 0xc4, 
    -	0x00, 0xc2, 0xff, 0xc4, 0x00, 0xc4, 0xff, 0xc4, 0x00, 0xc6, 0xff, 0xc4, 
    -	0x01, 0x48, 0xff, 0xc4, 0x01, 0x63, 0xff, 0xc4, 0x01, 0x6c, 0xff, 0xc4, 
    -	0x01, 0x6f, 0xff, 0xc4, 0x01, 0x76, 0xff, 0xc4, 0x01, 0x9b, 0xff, 0xf0, 
    -	0x01, 0xba, 0xff, 0xc4, 0x01, 0xfc, 0xff, 0xc4, 0x02, 0x46, 0xff, 0xc4, 
    -	0x02, 0x48, 0xff, 0xc4, 0x02, 0x83, 0xff, 0xc4, 0x02, 0x8d, 0xff, 0xc4, 
    -	0x02, 0x8f, 0xff, 0xc4, 0x02, 0x91, 0xff, 0xc4, 0x02, 0x93, 0xff, 0xc4, 
    -	0x02, 0x95, 0xff, 0xc4, 0x02, 0x97, 0xff, 0xc4, 0x02, 0x99, 0xff, 0xc4, 
    -	0x02, 0x9b, 0xff, 0xc4, 0x02, 0x9d, 0xff, 0xc4, 0x02, 0x9f, 0xff, 0xc4, 
    -	0x02, 0xa1, 0xff, 0xc4, 0x02, 0xa3, 0xff, 0xc4, 0x02, 0xfa, 0xff, 0x82, 
    -	0x02, 0xfe, 0xff, 0x82, 0x03, 0x02, 0xff, 0x82, 0x03, 0x03, 0xff, 0x82, 
    -	0x00, 0x01, 0x01, 0x95, 0x00, 0x26, 0x00, 0x02, 0x01, 0x9e, 0xff, 0xea, 
    -	0x01, 0xa1, 0xff, 0xe9, 0x00, 0xb0, 0x00, 0x46, 0xff, 0xd6, 0x00, 0x47, 
    -	0xff, 0xd6, 0x00, 0x48, 0xff, 0xd6, 0x00, 0x4a, 0xff, 0xd6, 0x00, 0x50, 
    -	0xff, 0xe5, 0x00, 0x51, 0xff, 0xe5, 0x00, 0x52, 0xff, 0xcf, 0x00, 0x53, 
    -	0xff, 0xe5, 0x00, 0x54, 0xff, 0xd6, 0x00, 0x58, 0xff, 0xd7, 0x00, 0x59, 
    -	0xff, 0xdc, 0x00, 0x5c, 0xff, 0xdc, 0x00, 0xa9, 0xff, 0xd6, 0x00, 0xaa, 
    -	0xff, 0xd6, 0x00, 0xab, 0xff, 0xd6, 0x00, 0xac, 0xff, 0xd6, 0x00, 0xad, 
    -	0xff, 0xd6, 0x00, 0xb3, 0xff, 0xe5, 0x00, 0xb4, 0xff, 0xcf, 0x00, 0xb5, 
    -	0xff, 0xcf, 0x00, 0xb6, 0xff, 0xcf, 0x00, 0xb7, 0xff, 0xcf, 0x00, 0xb8, 
    -	0xff, 0xcf, 0x00, 0xbb, 0xff, 0xd7, 0x00, 0xbc, 0xff, 0xd7, 0x00, 0xbd, 
    -	0xff, 0xd7, 0x00, 0xbe, 0xff, 0xd7, 0x00, 0xbf, 0xff, 0xdc, 0x00, 0xc1, 
    -	0xff, 0xdc, 0x00, 0xc9, 0xff, 0xd6, 0x00, 0xcb, 0xff, 0xd6, 0x00, 0xcd, 
    -	0xff, 0xd6, 0x00, 0xcf, 0xff, 0xd6, 0x00, 0xd1, 0xff, 0xd6, 0x00, 0xd5, 
    -	0xff, 0xd6, 0x00, 0xd7, 0xff, 0xd6, 0x00, 0xd9, 0xff, 0xd6, 0x00, 0xdb, 
    -	0xff, 0xd6, 0x00, 0xdd, 0xff, 0xd6, 0x00, 0xdf, 0xff, 0xd6, 0x00, 0xe1, 
    -	0xff, 0xd6, 0x00, 0xe3, 0xff, 0xd6, 0x00, 0xe5, 0xff, 0xd6, 0x01, 0x06, 
    -	0xff, 0xe5, 0x01, 0x08, 0xff, 0xe5, 0x01, 0x0a, 0xff, 0xe5, 0x01, 0x0b, 
    -	0xff, 0xe5, 0x01, 0x0f, 0xff, 0xcf, 0x01, 0x11, 0xff, 0xcf, 0x01, 0x13, 
    -	0xff, 0xcf, 0x01, 0x15, 0xff, 0xd6, 0x01, 0x2b, 0xff, 0xd7, 0x01, 0x2d, 
    -	0xff, 0xd7, 0x01, 0x2f, 0xff, 0xd7, 0x01, 0x31, 0xff, 0xd7, 0x01, 0x33, 
    -	0xff, 0xd7, 0x01, 0x35, 0xff, 0xd7, 0x01, 0x39, 0xff, 0xdc, 0x01, 0x44, 
    -	0xff, 0xd6, 0x01, 0x46, 0xff, 0xd7, 0x01, 0x86, 0xff, 0xd6, 0x01, 0x88, 
    -	0xff, 0xe5, 0x01, 0x8a, 0xff, 0xd7, 0x01, 0x8b, 0xff, 0xd6, 0x01, 0x8d, 
    -	0xff, 0xdc, 0x01, 0x8e, 0xff, 0xeb, 0x01, 0x8f, 0xff, 0xe2, 0x01, 0x91, 
    -	0xff, 0xe5, 0x01, 0x92, 0xff, 0xe8, 0x01, 0x93, 0xff, 0xe6, 0x01, 0x97, 
    -	0xff, 0xdc, 0x01, 0x98, 0xff, 0xed, 0x01, 0x99, 0xff, 0xcf, 0x01, 0x9a, 
    -	0xff, 0xe3, 0x01, 0x9c, 0xff, 0xd6, 0x01, 0x9d, 0xff, 0xd6, 0x01, 0x9e, 
    -	0xff, 0xde, 0x01, 0x9f, 0xff, 0xd7, 0x01, 0xa0, 0xff, 0xc5, 0x01, 0xa2, 
    -	0xff, 0xcc, 0x01, 0xa3, 0xff, 0xd5, 0x01, 0xa5, 0xff, 0xd7, 0x01, 0xa6, 
    -	0xff, 0xcf, 0x01, 0xa7, 0xff, 0xd7, 0x01, 0xd3, 0xff, 0xe5, 0x01, 0xd4, 
    -	0xff, 0xd6, 0x01, 0xd5, 0xff, 0xe5, 0x01, 0xd6, 0xff, 0xe5, 0x01, 0xd7, 
    -	0xff, 0xe5, 0x01, 0xd9, 0xff, 0xe5, 0x01, 0xda, 0xff, 0xe5, 0x01, 0xdb, 
    -	0xff, 0xcf, 0x01, 0xdc, 0xff, 0xe5, 0x01, 0xdd, 0xff, 0xe5, 0x01, 0xde, 
    -	0xff, 0xd6, 0x01, 0xe0, 0xff, 0xdc, 0x01, 0xe2, 0xff, 0xe5, 0x01, 0xe4, 
    -	0xff, 0xe5, 0x01, 0xe5, 0xff, 0xe5, 0x01, 0xe7, 0xff, 0xe5, 0x01, 0xe9, 
    -	0xff, 0xe5, 0x01, 0xeb, 0xff, 0xd6, 0x01, 0xec, 0xff, 0xd6, 0x01, 0xee, 
    -	0xff, 0xe5, 0x01, 0xef, 0xff, 0xd6, 0x01, 0xf5, 0xff, 0xe5, 0x01, 0xf7, 
    -	0xff, 0xe5, 0x01, 0xf8, 0xff, 0xe5, 0x01, 0xf9, 0xff, 0xdc, 0x02, 0x08, 
    -	0xff, 0xdc, 0x02, 0x09, 0xff, 0xdc, 0x02, 0x0b, 0xff, 0xd6, 0x02, 0x0f, 
    -	0xff, 0xd6, 0x02, 0x18, 0xff, 0xe5, 0x02, 0x1f, 0xff, 0xe5, 0x02, 0x25, 
    -	0xff, 0xe5, 0x02, 0x27, 0xff, 0xe5, 0x02, 0x2b, 0xff, 0xdc, 0x02, 0x3e, 
    -	0xff, 0xe5, 0x02, 0x40, 0xff, 0xe5, 0x02, 0x44, 0xff, 0xe5, 0x02, 0x4d, 
    -	0xff, 0xd6, 0x02, 0x4f, 0xff, 0xd6, 0x02, 0x51, 0xff, 0xd6, 0x02, 0x59, 
    -	0xff, 0xe5, 0x02, 0x5b, 0xff, 0xe5, 0x02, 0x5d, 0xff, 0xcf, 0x02, 0x60, 
    -	0xff, 0xdc, 0x02, 0x61, 0xff, 0xdc, 0x02, 0x62, 0xff, 0xdc, 0x02, 0x66, 
    -	0xff, 0xe5, 0x02, 0x68, 0xff, 0xe5, 0x02, 0x6a, 0xff, 0xe5, 0x02, 0x70, 
    -	0xff, 0xd6, 0x02, 0x71, 0xff, 0xd6, 0x02, 0x72, 0xff, 0xd6, 0x02, 0x7c, 
    -	0xff, 0xd6, 0x02, 0x86, 0xff, 0xe5, 0x02, 0xa6, 0xff, 0xd6, 0x02, 0xa8, 
    -	0xff, 0xd6, 0x02, 0xaa, 0xff, 0xd6, 0x02, 0xac, 0xff, 0xd6, 0x02, 0xae, 
    -	0xff, 0xd6, 0x02, 0xb0, 0xff, 0xd6, 0x02, 0xb2, 0xff, 0xd6, 0x02, 0xb4, 
    -	0xff, 0xd6, 0x02, 0xba, 0xff, 0xcf, 0x02, 0xbc, 0xff, 0xcf, 0x02, 0xbe, 
    -	0xff, 0xcf, 0x02, 0xc0, 0xff, 0xcf, 0x02, 0xc2, 0xff, 0xcf, 0x02, 0xc4, 
    -	0xff, 0xcf, 0x02, 0xc6, 0xff, 0xcf, 0x02, 0xc8, 0xff, 0xd6, 0x02, 0xca, 
    -	0xff, 0xd6, 0x02, 0xcc, 0xff, 0xd6, 0x02, 0xce, 0xff, 0xcf, 0x02, 0xd0, 
    -	0xff, 0xd6, 0x02, 0xd2, 0xff, 0xd7, 0x02, 0xd4, 0xff, 0xd7, 0x02, 0xd6, 
    -	0xff, 0xd7, 0x02, 0xd8, 0xff, 0xd7, 0x02, 0xda, 0xff, 0xd7, 0x02, 0xdc, 
    -	0xff, 0xd7, 0x02, 0xde, 0xff, 0xd7, 0x02, 0xe0, 0xff, 0xdc, 0x02, 0xe2, 
    -	0xff, 0xdc, 0x02, 0xe4, 0xff, 0xdc, 0x02, 0xe6, 0xff, 0xdc, 0x03, 0xde, 
    -	0xff, 0xd6, 0x03, 0xe6, 0xff, 0xcf, 0x03, 0xea, 0xff, 0xd6, 0x03, 0xfb, 
    -	0xff, 0xd6, 0x03, 0xfd, 0xff, 0xd6, 0x04, 0x05, 0xff, 0xd6, 0x04, 0x07, 
    -	0xff, 0xcf, 0x00, 0x76, 0x00, 0x05, 0xff, 0xd4, 0x00, 0x0a, 0xff, 0xd4, 
    -	0x00, 0x46, 0xff, 0xed, 0x00, 0x47, 0xff, 0xed, 0x00, 0x48, 0xff, 0xed, 
    -	0x00, 0x4a, 0xff, 0xed, 0x00, 0x54, 0xff, 0xed, 0x00, 0x58, 0xff, 0xec, 
    -	0x00, 0x59, 0xff, 0xd6, 0x00, 0x5c, 0xff, 0xd6, 0x00, 0xa9, 0xff, 0xed, 
    -	0x00, 0xaa, 0xff, 0xed, 0x00, 0xab, 0xff, 0xed, 0x00, 0xac, 0xff, 0xed, 
    -	0x00, 0xad, 0xff, 0xed, 0x00, 0xbb, 0xff, 0xec, 0x00, 0xbc, 0xff, 0xec, 
    -	0x00, 0xbd, 0xff, 0xec, 0x00, 0xbe, 0xff, 0xec, 0x00, 0xbf, 0xff, 0xd6, 
    -	0x00, 0xc1, 0xff, 0xd6, 0x00, 0xc9, 0xff, 0xed, 0x00, 0xcb, 0xff, 0xed, 
    -	0x00, 0xcd, 0xff, 0xed, 0x00, 0xcf, 0xff, 0xed, 0x00, 0xd1, 0xff, 0xed, 
    -	0x00, 0xd5, 0xff, 0xed, 0x00, 0xd7, 0xff, 0xed, 0x00, 0xd9, 0xff, 0xed, 
    -	0x00, 0xdb, 0xff, 0xed, 0x00, 0xdd, 0xff, 0xed, 0x00, 0xdf, 0xff, 0xed, 
    -	0x00, 0xe1, 0xff, 0xed, 0x00, 0xe3, 0xff, 0xed, 0x00, 0xe5, 0xff, 0xed, 
    -	0x01, 0x15, 0xff, 0xed, 0x01, 0x2b, 0xff, 0xec, 0x01, 0x2d, 0xff, 0xec, 
    -	0x01, 0x2f, 0xff, 0xec, 0x01, 0x31, 0xff, 0xec, 0x01, 0x33, 0xff, 0xec, 
    -	0x01, 0x35, 0xff, 0xec, 0x01, 0x39, 0xff, 0xd6, 0x01, 0x44, 0xff, 0xed, 
    -	0x01, 0x46, 0xff, 0xec, 0x01, 0x51, 0xff, 0xd4, 0x01, 0x86, 0xff, 0xed, 
    -	0x01, 0x8a, 0xff, 0xec, 0x01, 0x8b, 0xff, 0xed, 0x01, 0x8d, 0xff, 0xd6, 
    -	0x01, 0x92, 0xff, 0xe9, 0x01, 0x95, 0x00, 0x11, 0x01, 0x97, 0xff, 0xd6, 
    -	0x01, 0x9a, 0xff, 0xe7, 0x01, 0x9c, 0xff, 0xed, 0x01, 0x9d, 0xff, 0xed, 
    -	0x01, 0x9e, 0xff, 0xd6, 0x01, 0x9f, 0xff, 0xec, 0x01, 0xa0, 0xff, 0xe3, 
    -	0x01, 0xa5, 0xff, 0xec, 0x01, 0xa7, 0xff, 0xec, 0x01, 0xd4, 0xff, 0xed, 
    -	0x01, 0xde, 0xff, 0xed, 0x01, 0xe0, 0xff, 0xd6, 0x01, 0xeb, 0xff, 0xed, 
    -	0x01, 0xec, 0xff, 0xed, 0x01, 0xef, 0xff, 0xed, 0x01, 0xf9, 0xff, 0xd6, 
    -	0x02, 0x08, 0xff, 0xd6, 0x02, 0x09, 0xff, 0xd6, 0x02, 0x0b, 0xff, 0xed, 
    -	0x02, 0x0f, 0xff, 0xed, 0x02, 0x2b, 0xff, 0xd6, 0x02, 0x4d, 0xff, 0xed, 
    -	0x02, 0x4f, 0xff, 0xed, 0x02, 0x51, 0xff, 0xed, 0x02, 0x60, 0xff, 0xd6, 
    -	0x02, 0x61, 0xff, 0xd6, 0x02, 0x62, 0xff, 0xd6, 0x02, 0x70, 0xff, 0xed, 
    -	0x02, 0x71, 0xff, 0xed, 0x02, 0x72, 0xff, 0xed, 0x02, 0x7c, 0xff, 0xed, 
    -	0x02, 0xa6, 0xff, 0xed, 0x02, 0xa8, 0xff, 0xed, 0x02, 0xaa, 0xff, 0xed, 
    -	0x02, 0xac, 0xff, 0xed, 0x02, 0xae, 0xff, 0xed, 0x02, 0xb0, 0xff, 0xed, 
    -	0x02, 0xb2, 0xff, 0xed, 0x02, 0xb4, 0xff, 0xed, 0x02, 0xc8, 0xff, 0xed, 
    -	0x02, 0xca, 0xff, 0xed, 0x02, 0xcc, 0xff, 0xed, 0x02, 0xd0, 0xff, 0xed, 
    -	0x02, 0xd2, 0xff, 0xec, 0x02, 0xd4, 0xff, 0xec, 0x02, 0xd6, 0xff, 0xec, 
    -	0x02, 0xd8, 0xff, 0xec, 0x02, 0xda, 0xff, 0xec, 0x02, 0xdc, 0xff, 0xec, 
    -	0x02, 0xde, 0xff, 0xec, 0x02, 0xe0, 0xff, 0xd6, 0x02, 0xe2, 0xff, 0xd6, 
    -	0x02, 0xe4, 0xff, 0xd6, 0x02, 0xe6, 0xff, 0xd6, 0x02, 0xf8, 0xff, 0xd4, 
    -	0x02, 0xf9, 0xff, 0xd4, 0x02, 0xfb, 0xff, 0xd4, 0x02, 0xfc, 0xff, 0xd4, 
    -	0x02, 0xfd, 0xff, 0xd4, 0x03, 0x05, 0xff, 0xd4, 0x03, 0x06, 0xff, 0xd4, 
    -	0x03, 0xde, 0xff, 0xed, 0x03, 0xea, 0xff, 0xed, 0x03, 0xfb, 0xff, 0xed, 
    -	0x03, 0xfd, 0xff, 0xed, 0x04, 0x05, 0xff, 0xed, 0x00, 0x3a, 0x00, 0x05, 
    -	0xff, 0x8e, 0x00, 0x0a, 0xff, 0x8e, 0x00, 0x49, 0xff, 0xe6, 0x00, 0x58, 
    -	0xff, 0xef, 0x00, 0x59, 0xff, 0xbb, 0x00, 0x5c, 0xff, 0xbb, 0x00, 0xbb, 
    -	0xff, 0xef, 0x00, 0xbc, 0xff, 0xef, 0x00, 0xbd, 0xff, 0xef, 0x00, 0xbe, 
    -	0xff, 0xef, 0x00, 0xbf, 0xff, 0xbb, 0x00, 0xc1, 0xff, 0xbb, 0x01, 0x2b, 
    -	0xff, 0xef, 0x01, 0x2d, 0xff, 0xef, 0x01, 0x2f, 0xff, 0xef, 0x01, 0x31, 
    -	0xff, 0xef, 0x01, 0x33, 0xff, 0xef, 0x01, 0x35, 0xff, 0xef, 0x01, 0x39, 
    -	0xff, 0xbb, 0x01, 0x46, 0xff, 0xef, 0x01, 0x51, 0xff, 0x8e, 0x01, 0x8a, 
    -	0xff, 0xef, 0x01, 0x8d, 0xff, 0xbb, 0x01, 0x92, 0xff, 0xeb, 0x01, 0x95, 
    -	0x00, 0x13, 0x01, 0x97, 0xff, 0xbb, 0x01, 0x9a, 0xff, 0xe9, 0x01, 0x9e, 
    -	0xff, 0xb2, 0x01, 0x9f, 0xff, 0xef, 0x01, 0xa1, 0xff, 0xd4, 0x01, 0xa5, 
    -	0xff, 0xef, 0x01, 0xa7, 0xff, 0xef, 0x01, 0xe0, 0xff, 0xbb, 0x01, 0xf9, 
    -	0xff, 0xbb, 0x02, 0x08, 0xff, 0xbb, 0x02, 0x09, 0xff, 0xbb, 0x02, 0x2b, 
    -	0xff, 0xbb, 0x02, 0x60, 0xff, 0xbb, 0x02, 0x61, 0xff, 0xbb, 0x02, 0x62, 
    -	0xff, 0xbb, 0x02, 0xd2, 0xff, 0xef, 0x02, 0xd4, 0xff, 0xef, 0x02, 0xd6, 
    -	0xff, 0xef, 0x02, 0xd8, 0xff, 0xef, 0x02, 0xda, 0xff, 0xef, 0x02, 0xdc, 
    -	0xff, 0xef, 0x02, 0xde, 0xff, 0xef, 0x02, 0xe0, 0xff, 0xbb, 0x02, 0xe2, 
    -	0xff, 0xbb, 0x02, 0xe4, 0xff, 0xbb, 0x02, 0xe6, 0xff, 0xbb, 0x02, 0xf8, 
    -	0xff, 0x8e, 0x02, 0xf9, 0xff, 0x8e, 0x02, 0xfb, 0xff, 0x8e, 0x02, 0xfc, 
    -	0xff, 0x8e, 0x02, 0xfd, 0xff, 0x8e, 0x03, 0x05, 0xff, 0x8e, 0x03, 0x06, 
    -	0xff, 0x8e, 0x00, 0x45, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x11, 0x00, 0x17, 
    -	0x00, 0x1d, 0x00, 0x17, 0x00, 0x46, 0xff, 0xe3, 0x00, 0x47, 0xff, 0xe3, 
    -	0x00, 0x48, 0xff, 0xe3, 0x00, 0x4a, 0xff, 0xe3, 0x00, 0x54, 0xff, 0xe3, 
    -	0x00, 0xa9, 0xff, 0xe3, 0x00, 0xaa, 0xff, 0xe3, 0x00, 0xab, 0xff, 0xe3, 
    -	0x00, 0xac, 0xff, 0xe3, 0x00, 0xad, 0xff, 0xe3, 0x00, 0xc9, 0xff, 0xe3, 
    -	0x00, 0xcb, 0xff, 0xe3, 0x00, 0xcd, 0xff, 0xe3, 0x00, 0xcf, 0xff, 0xe3, 
    -	0x00, 0xd1, 0xff, 0xe3, 0x00, 0xd5, 0xff, 0xe3, 0x00, 0xd7, 0xff, 0xe3, 
    -	0x00, 0xd9, 0xff, 0xe3, 0x00, 0xdb, 0xff, 0xe3, 0x00, 0xdd, 0xff, 0xe3, 
    -	0x00, 0xdf, 0xff, 0xe3, 0x00, 0xe1, 0xff, 0xe3, 0x00, 0xe3, 0xff, 0xe3, 
    -	0x00, 0xe5, 0xff, 0xe3, 0x01, 0x15, 0xff, 0xe3, 0x01, 0x44, 0xff, 0xe3, 
    -	0x01, 0x86, 0xff, 0xe3, 0x01, 0x8b, 0xff, 0xe3, 0x01, 0x95, 0x00, 0x11, 
    -	0x01, 0x9c, 0xff, 0xe3, 0x01, 0x9d, 0xff, 0xe3, 0x01, 0xd4, 0xff, 0xe3, 
    -	0x01, 0xde, 0xff, 0xe3, 0x01, 0xeb, 0xff, 0xe3, 0x01, 0xec, 0xff, 0xe3, 
    -	0x01, 0xef, 0xff, 0xe3, 0x02, 0x0b, 0xff, 0xe3, 0x02, 0x0f, 0xff, 0xe3, 
    -	0x02, 0x4d, 0xff, 0xe3, 0x02, 0x4f, 0xff, 0xe3, 0x02, 0x51, 0xff, 0xe3, 
    -	0x02, 0x70, 0xff, 0xe3, 0x02, 0x71, 0xff, 0xe3, 0x02, 0x72, 0xff, 0xe3, 
    -	0x02, 0x7c, 0xff, 0xe3, 0x02, 0xa6, 0xff, 0xe3, 0x02, 0xa8, 0xff, 0xe3, 
    -	0x02, 0xaa, 0xff, 0xe3, 0x02, 0xac, 0xff, 0xe3, 0x02, 0xae, 0xff, 0xe3, 
    -	0x02, 0xb0, 0xff, 0xe3, 0x02, 0xb2, 0xff, 0xe3, 0x02, 0xb4, 0xff, 0xe3, 
    -	0x02, 0xc8, 0xff, 0xe3, 0x02, 0xca, 0xff, 0xe3, 0x02, 0xcc, 0xff, 0xe3, 
    -	0x02, 0xd0, 0xff, 0xe3, 0x02, 0xfa, 0x00, 0x17, 0x02, 0xfe, 0x00, 0x17, 
    -	0x03, 0x02, 0x00, 0x17, 0x03, 0x03, 0x00, 0x17, 0x03, 0xde, 0xff, 0xe3, 
    -	0x03, 0xea, 0xff, 0xe3, 0x03, 0xfb, 0xff, 0xe3, 0x03, 0xfd, 0xff, 0xe3, 
    -	0x04, 0x05, 0xff, 0xe3, 0x00, 0x01, 0x01, 0x9e, 0x00, 0x0c, 0x00, 0x7e, 
    -	0x00, 0x05, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x46, 0xff, 0xe4, 
    -	0x00, 0x47, 0xff, 0xe4, 0x00, 0x48, 0xff, 0xe4, 0x00, 0x49, 0x00, 0x0e, 
    -	0x00, 0x4a, 0xff, 0xe4, 0x00, 0x52, 0xff, 0xe7, 0x00, 0x54, 0xff, 0xe4, 
    -	0x00, 0x59, 0x00, 0x0c, 0x00, 0x5c, 0x00, 0x0c, 0x00, 0xa9, 0xff, 0xe4, 
    -	0x00, 0xaa, 0xff, 0xe4, 0x00, 0xab, 0xff, 0xe4, 0x00, 0xac, 0xff, 0xe4, 
    -	0x00, 0xad, 0xff, 0xe4, 0x00, 0xb4, 0xff, 0xe7, 0x00, 0xb5, 0xff, 0xe7, 
    -	0x00, 0xb6, 0xff, 0xe7, 0x00, 0xb7, 0xff, 0xe7, 0x00, 0xb8, 0xff, 0xe7, 
    -	0x00, 0xbf, 0x00, 0x0c, 0x00, 0xc1, 0x00, 0x0c, 0x00, 0xc9, 0xff, 0xe4, 
    -	0x00, 0xcb, 0xff, 0xe4, 0x00, 0xcd, 0xff, 0xe4, 0x00, 0xcf, 0xff, 0xe4, 
    -	0x00, 0xd1, 0xff, 0xe4, 0x00, 0xd5, 0xff, 0xe4, 0x00, 0xd7, 0xff, 0xe4, 
    -	0x00, 0xd9, 0xff, 0xe4, 0x00, 0xdb, 0xff, 0xe4, 0x00, 0xdd, 0xff, 0xe4, 
    -	0x00, 0xdf, 0xff, 0xe4, 0x00, 0xe1, 0xff, 0xe4, 0x00, 0xe3, 0xff, 0xe4, 
    -	0x00, 0xe5, 0xff, 0xe4, 0x01, 0x0f, 0xff, 0xe7, 0x01, 0x11, 0xff, 0xe7, 
    -	0x01, 0x13, 0xff, 0xe7, 0x01, 0x15, 0xff, 0xe4, 0x01, 0x39, 0x00, 0x0c, 
    -	0x01, 0x44, 0xff, 0xe4, 0x01, 0x51, 0x00, 0x0e, 0x01, 0x86, 0xff, 0xe4, 
    -	0x01, 0x8b, 0xff, 0xe4, 0x01, 0x8d, 0x00, 0x0c, 0x01, 0x8e, 0xff, 0xea, 
    -	0x01, 0x97, 0x00, 0x0c, 0x01, 0x99, 0xff, 0xe7, 0x01, 0x9a, 0x00, 0x0c, 
    -	0x01, 0x9c, 0xff, 0xe4, 0x01, 0x9d, 0xff, 0xe4, 0x01, 0x9e, 0x00, 0x0e, 
    -	0x01, 0xa6, 0xff, 0xe7, 0x01, 0xd4, 0xff, 0xe4, 0x01, 0xdb, 0xff, 0xe7, 
    -	0x01, 0xde, 0xff, 0xe4, 0x01, 0xe0, 0x00, 0x0c, 0x01, 0xeb, 0xff, 0xe4, 
    -	0x01, 0xec, 0xff, 0xe4, 0x01, 0xef, 0xff, 0xe4, 0x01, 0xf9, 0x00, 0x0c, 
    -	0x02, 0x08, 0x00, 0x0c, 0x02, 0x09, 0x00, 0x0c, 0x02, 0x0b, 0xff, 0xe4, 
    -	0x02, 0x0f, 0xff, 0xe4, 0x02, 0x2b, 0x00, 0x0c, 0x02, 0x4d, 0xff, 0xe4, 
    -	0x02, 0x4f, 0xff, 0xe4, 0x02, 0x51, 0xff, 0xe4, 0x02, 0x5d, 0xff, 0xe7, 
    -	0x02, 0x60, 0x00, 0x0c, 0x02, 0x61, 0x00, 0x0c, 0x02, 0x62, 0x00, 0x0c, 
    -	0x02, 0x70, 0xff, 0xe4, 0x02, 0x71, 0xff, 0xe4, 0x02, 0x72, 0xff, 0xe4, 
    -	0x02, 0x7c, 0xff, 0xe4, 0x02, 0xa6, 0xff, 0xe4, 0x02, 0xa8, 0xff, 0xe4, 
    -	0x02, 0xaa, 0xff, 0xe4, 0x02, 0xac, 0xff, 0xe4, 0x02, 0xae, 0xff, 0xe4, 
    -	0x02, 0xb0, 0xff, 0xe4, 0x02, 0xb2, 0xff, 0xe4, 0x02, 0xb4, 0xff, 0xe4, 
    -	0x02, 0xba, 0xff, 0xe7, 0x02, 0xbc, 0xff, 0xe7, 0x02, 0xbe, 0xff, 0xe7, 
    -	0x02, 0xc0, 0xff, 0xe7, 0x02, 0xc2, 0xff, 0xe7, 0x02, 0xc4, 0xff, 0xe7, 
    -	0x02, 0xc6, 0xff, 0xe7, 0x02, 0xc8, 0xff, 0xe4, 0x02, 0xca, 0xff, 0xe4, 
    -	0x02, 0xcc, 0xff, 0xe4, 0x02, 0xce, 0xff, 0xe7, 0x02, 0xd0, 0xff, 0xe4, 
    -	0x02, 0xe0, 0x00, 0x0c, 0x02, 0xe2, 0x00, 0x0c, 0x02, 0xe4, 0x00, 0x0c, 
    -	0x02, 0xe6, 0x00, 0x0c, 0x02, 0xf8, 0x00, 0x0e, 0x02, 0xf9, 0x00, 0x0e, 
    -	0x02, 0xfb, 0x00, 0x0e, 0x02, 0xfc, 0x00, 0x0e, 0x02, 0xfd, 0x00, 0x0e, 
    -	0x03, 0x05, 0x00, 0x0e, 0x03, 0x06, 0x00, 0x0e, 0x03, 0x3a, 0x00, 0x0f, 
    -	0x03, 0x3d, 0x00, 0x0f, 0x03, 0x3f, 0x00, 0x10, 0x03, 0x40, 0xff, 0xf4, 
    -	0x03, 0x42, 0xff, 0xe9, 0x03, 0x44, 0xff, 0xea, 0x03, 0x4d, 0xff, 0xe9, 
    -	0x03, 0x51, 0xff, 0xeb, 0x03, 0x55, 0xff, 0xb3, 0x03, 0xde, 0xff, 0xe4, 
    -	0x03, 0xe6, 0xff, 0xe7, 0x03, 0xea, 0xff, 0xe4, 0x03, 0xfb, 0xff, 0xe4, 
    -	0x03, 0xfd, 0xff, 0xe4, 0x04, 0x05, 0xff, 0xe4, 0x04, 0x07, 0xff, 0xe7, 
    -	0x00, 0x0d, 0x00, 0x5b, 0xff, 0xea, 0x00, 0x5d, 0xff, 0xea, 0x01, 0x3c, 
    -	0xff, 0xea, 0x01, 0x3e, 0xff, 0xea, 0x01, 0x40, 0xff, 0xea, 0x01, 0xa1, 
    -	0xff, 0xdc, 0x01, 0xe1, 0xff, 0xea, 0x02, 0x2f, 0xff, 0xea, 0x02, 0x53, 
    -	0xff, 0xea, 0x02, 0x6c, 0xff, 0xea, 0x03, 0xdc, 0xff, 0xea, 0x03, 0xf3, 
    -	0xff, 0xea, 0x04, 0x01, 0xff, 0xea, 0x00, 0x64, 0x00, 0x05, 0x00, 0x0c, 
    -	0x00, 0x0a, 0x00, 0x0c, 0x00, 0x46, 0xff, 0xe8, 0x00, 0x47, 0xff, 0xe8, 
    -	0x00, 0x48, 0xff, 0xe8, 0x00, 0x49, 0x00, 0x0c, 0x00, 0x4a, 0xff, 0xe8, 
    -	0x00, 0x52, 0xff, 0xe6, 0x00, 0x54, 0xff, 0xe8, 0x00, 0xa9, 0xff, 0xe8, 
    -	0x00, 0xaa, 0xff, 0xe8, 0x00, 0xab, 0xff, 0xe8, 0x00, 0xac, 0xff, 0xe8, 
    -	0x00, 0xad, 0xff, 0xe8, 0x00, 0xb4, 0xff, 0xe6, 0x00, 0xb5, 0xff, 0xe6, 
    -	0x00, 0xb6, 0xff, 0xe6, 0x00, 0xb7, 0xff, 0xe6, 0x00, 0xb8, 0xff, 0xe6, 
    -	0x00, 0xc9, 0xff, 0xe8, 0x00, 0xcb, 0xff, 0xe8, 0x00, 0xcd, 0xff, 0xe8, 
    -	0x00, 0xcf, 0xff, 0xe8, 0x00, 0xd1, 0xff, 0xe8, 0x00, 0xd5, 0xff, 0xe8, 
    -	0x00, 0xd7, 0xff, 0xe8, 0x00, 0xd9, 0xff, 0xe8, 0x00, 0xdb, 0xff, 0xe8, 
    -	0x00, 0xdd, 0xff, 0xe8, 0x00, 0xdf, 0xff, 0xe8, 0x00, 0xe1, 0xff, 0xe8, 
    -	0x00, 0xe3, 0xff, 0xe8, 0x00, 0xe5, 0xff, 0xe8, 0x01, 0x0f, 0xff, 0xe6, 
    -	0x01, 0x11, 0xff, 0xe6, 0x01, 0x13, 0xff, 0xe6, 0x01, 0x15, 0xff, 0xe8, 
    -	0x01, 0x44, 0xff, 0xe8, 0x01, 0x51, 0x00, 0x0c, 0x01, 0x86, 0xff, 0xe8, 
    -	0x01, 0x8b, 0xff, 0xe8, 0x01, 0x8e, 0xff, 0xeb, 0x01, 0x8f, 0xff, 0xf0, 
    -	0x01, 0x99, 0xff, 0xe6, 0x01, 0x9c, 0xff, 0xe8, 0x01, 0x9d, 0xff, 0xe8, 
    -	0x01, 0xa0, 0xff, 0xef, 0x01, 0xa1, 0x00, 0x11, 0x01, 0xa3, 0xff, 0xec, 
    -	0x01, 0xa6, 0xff, 0xe6, 0x01, 0xd4, 0xff, 0xe8, 0x01, 0xdb, 0xff, 0xe6, 
    -	0x01, 0xde, 0xff, 0xe8, 0x01, 0xeb, 0xff, 0xe8, 0x01, 0xec, 0xff, 0xe8, 
    -	0x01, 0xef, 0xff, 0xe8, 0x02, 0x0b, 0xff, 0xe8, 0x02, 0x0f, 0xff, 0xe8, 
    -	0x02, 0x4d, 0xff, 0xe8, 0x02, 0x4f, 0xff, 0xe8, 0x02, 0x51, 0xff, 0xe8, 
    -	0x02, 0x5d, 0xff, 0xe6, 0x02, 0x70, 0xff, 0xe8, 0x02, 0x71, 0xff, 0xe8, 
    -	0x02, 0x72, 0xff, 0xe8, 0x02, 0x7c, 0xff, 0xe8, 0x02, 0xa6, 0xff, 0xe8, 
    -	0x02, 0xa8, 0xff, 0xe8, 0x02, 0xaa, 0xff, 0xe8, 0x02, 0xac, 0xff, 0xe8, 
    -	0x02, 0xae, 0xff, 0xe8, 0x02, 0xb0, 0xff, 0xe8, 0x02, 0xb2, 0xff, 0xe8, 
    -	0x02, 0xb4, 0xff, 0xe8, 0x02, 0xba, 0xff, 0xe6, 0x02, 0xbc, 0xff, 0xe6, 
    -	0x02, 0xbe, 0xff, 0xe6, 0x02, 0xc0, 0xff, 0xe6, 0x02, 0xc2, 0xff, 0xe6, 
    -	0x02, 0xc4, 0xff, 0xe6, 0x02, 0xc6, 0xff, 0xe6, 0x02, 0xc8, 0xff, 0xe8, 
    -	0x02, 0xca, 0xff, 0xe8, 0x02, 0xcc, 0xff, 0xe8, 0x02, 0xce, 0xff, 0xe6, 
    -	0x02, 0xd0, 0xff, 0xe8, 0x02, 0xf8, 0x00, 0x0c, 0x02, 0xf9, 0x00, 0x0c, 
    -	0x02, 0xfb, 0x00, 0x0c, 0x02, 0xfc, 0x00, 0x0c, 0x02, 0xfd, 0x00, 0x0c, 
    -	0x03, 0x05, 0x00, 0x0c, 0x03, 0x06, 0x00, 0x0c, 0x03, 0xde, 0xff, 0xe8, 
    -	0x03, 0xe6, 0xff, 0xe6, 0x03, 0xea, 0xff, 0xe8, 0x03, 0xfb, 0xff, 0xe8, 
    -	0x03, 0xfd, 0xff, 0xe8, 0x04, 0x05, 0xff, 0xe8, 0x04, 0x07, 0xff, 0xe6, 
    -	0x00, 0x0c, 0x00, 0x5b, 0xff, 0xf0, 0x00, 0x5d, 0xff, 0xf0, 0x01, 0x3c, 
    -	0xff, 0xf0, 0x01, 0x3e, 0xff, 0xf0, 0x01, 0x40, 0xff, 0xf0, 0x01, 0xe1, 
    -	0xff, 0xf0, 0x02, 0x2f, 0xff, 0xf0, 0x02, 0x53, 0xff, 0xf0, 0x02, 0x6c, 
    -	0xff, 0xf0, 0x03, 0xdc, 0xff, 0xf0, 0x03, 0xf3, 0xff, 0xf0, 0x04, 0x01, 
    -	0xff, 0xf0, 0x00, 0x1f, 0x00, 0x59, 0xff, 0xf2, 0x00, 0x5b, 0xff, 0xf0, 
    -	0x00, 0x5c, 0xff, 0xf2, 0x00, 0x5d, 0xff, 0xf1, 0x00, 0xbf, 0xff, 0xf2, 
    -	0x00, 0xc1, 0xff, 0xf2, 0x01, 0x39, 0xff, 0xf2, 0x01, 0x3c, 0xff, 0xf1, 
    -	0x01, 0x3e, 0xff, 0xf1, 0x01, 0x40, 0xff, 0xf1, 0x01, 0x8d, 0xff, 0xf2, 
    -	0x01, 0x97, 0xff, 0xf2, 0x01, 0xe0, 0xff, 0xf2, 0x01, 0xe1, 0xff, 0xf0, 
    -	0x01, 0xf9, 0xff, 0xf2, 0x02, 0x08, 0xff, 0xf2, 0x02, 0x09, 0xff, 0xf2, 
    -	0x02, 0x2b, 0xff, 0xf2, 0x02, 0x2f, 0xff, 0xf0, 0x02, 0x53, 0xff, 0xf0, 
    -	0x02, 0x60, 0xff, 0xf2, 0x02, 0x61, 0xff, 0xf2, 0x02, 0x62, 0xff, 0xf2, 
    -	0x02, 0x6c, 0xff, 0xf0, 0x02, 0xe0, 0xff, 0xf2, 0x02, 0xe2, 0xff, 0xf2, 
    -	0x02, 0xe4, 0xff, 0xf2, 0x02, 0xe6, 0xff, 0xf2, 0x03, 0xdc, 0xff, 0xf0, 
    -	0x03, 0xf3, 0xff, 0xf0, 0x04, 0x01, 0xff, 0xf0, 0x00, 0x3b, 0x00, 0x37, 
    -	0xff, 0xe2, 0x00, 0x39, 0xff, 0xe3, 0x00, 0x3b, 0xff, 0xf0, 0x00, 0x3c, 
    -	0xff, 0xe3, 0x00, 0x5b, 0xff, 0xef, 0x00, 0x9f, 0xff, 0xe3, 0x01, 0x24, 
    -	0xff, 0xe2, 0x01, 0x26, 0xff, 0xe2, 0x01, 0x38, 0xff, 0xe3, 0x01, 0x3a, 
    -	0xff, 0xe3, 0x01, 0x69, 0xff, 0xe3, 0x01, 0x7f, 0xff, 0xe3, 0x01, 0x81, 
    -	0xff, 0xf0, 0x01, 0x85, 0xff, 0xe3, 0x01, 0xb8, 0xff, 0xeb, 0x01, 0xca, 
    -	0xff, 0xe2, 0x01, 0xcb, 0xff, 0xf0, 0x01, 0xcd, 0xff, 0xe4, 0x01, 0xdf, 
    -	0xff, 0xc7, 0x01, 0xe1, 0xff, 0xef, 0x02, 0x28, 0xff, 0xe2, 0x02, 0x2a, 
    -	0xff, 0xe3, 0x02, 0x2c, 0xff, 0xe3, 0x02, 0x2e, 0xff, 0xf0, 0x02, 0x2f, 
    -	0xff, 0xef, 0x02, 0x30, 0xff, 0xe2, 0x02, 0x32, 0xff, 0xe4, 0x02, 0x34, 
    -	0xff, 0xe4, 0x02, 0x41, 0xff, 0xe4, 0x02, 0x52, 0xff, 0xf0, 0x02, 0x53, 
    -	0xff, 0xef, 0x02, 0x63, 0xff, 0xe4, 0x02, 0x6b, 0xff, 0xf0, 0x02, 0x6c, 
    -	0xff, 0xef, 0x02, 0x73, 0xff, 0xe3, 0x02, 0x75, 0xff, 0xea, 0x02, 0x7d, 
    -	0xff, 0xe2, 0x02, 0x7e, 0xff, 0xc7, 0x02, 0xdf, 0xff, 0xe3, 0x02, 0xe1, 
    -	0xff, 0xe3, 0x02, 0xe3, 0xff, 0xe3, 0x02, 0xe5, 0xff, 0xe3, 0x03, 0xcf, 
    -	0xff, 0xe2, 0x03, 0xd0, 0xff, 0xe2, 0x03, 0xd2, 0xff, 0xf0, 0x03, 0xd3, 
    -	0xff, 0xeb, 0x03, 0xd8, 0xff, 0xe2, 0x03, 0xdc, 0xff, 0xef, 0x03, 0xe7, 
    -	0xff, 0xe3, 0x03, 0xe8, 0xff, 0xe3, 0x03, 0xf2, 0xff, 0xf0, 0x03, 0xf3, 
    -	0xff, 0xef, 0x03, 0xf6, 0xff, 0xe2, 0x03, 0xf7, 0xff, 0xc5, 0x04, 0x00, 
    -	0xff, 0xf0, 0x04, 0x01, 0xff, 0xef, 0x04, 0x08, 0xff, 0xeb, 0x04, 0x09, 
    -	0xff, 0xeb, 0x04, 0x0a, 0xff, 0xeb, 0x00, 0x01, 0x02, 0x7d, 0xff, 0xe2, 
    -	0x00, 0x31, 0x00, 0x1a, 0xff, 0xf0, 0x00, 0x37, 0xff, 0xef, 0x00, 0x39, 
    -	0xff, 0xf2, 0x00, 0x3b, 0xff, 0xf2, 0x00, 0x3c, 0xff, 0xed, 0x00, 0x9f, 
    -	0xff, 0xed, 0x01, 0x24, 0xff, 0xef, 0x01, 0x26, 0xff, 0xef, 0x01, 0x38, 
    -	0xff, 0xed, 0x01, 0x3a, 0xff, 0xed, 0x01, 0x69, 0xff, 0xed, 0x01, 0x7f, 
    -	0xff, 0xed, 0x01, 0x81, 0xff, 0xf2, 0x01, 0x85, 0xff, 0xed, 0x01, 0xb4, 
    -	0xff, 0xf4, 0x01, 0xb8, 0xff, 0xf1, 0x01, 0xc3, 0xff, 0xf4, 0x01, 0xca, 
    -	0xff, 0xef, 0x01, 0xcb, 0xff, 0xf2, 0x02, 0x28, 0xff, 0xef, 0x02, 0x2a, 
    -	0xff, 0xed, 0x02, 0x2c, 0xff, 0xed, 0x02, 0x2e, 0xff, 0xf2, 0x02, 0x30, 
    -	0xff, 0xef, 0x02, 0x3b, 0xff, 0xf4, 0x02, 0x52, 0xff, 0xf2, 0x02, 0x6b, 
    -	0xff, 0xf2, 0x02, 0x73, 0xff, 0xf0, 0x02, 0x75, 0xff, 0xf0, 0x02, 0x77, 
    -	0xff, 0xf4, 0x02, 0x7d, 0xff, 0xf0, 0x02, 0x81, 0xff, 0xf4, 0x02, 0xdf, 
    -	0xff, 0xed, 0x02, 0xe1, 0xff, 0xed, 0x02, 0xe3, 0xff, 0xed, 0x02, 0xe5, 
    -	0xff, 0xed, 0x03, 0xcf, 0xff, 0xef, 0x03, 0xd0, 0xff, 0xef, 0x03, 0xd2, 
    -	0xff, 0xf2, 0x03, 0xd3, 0xff, 0xf1, 0x03, 0xd8, 0xff, 0xef, 0x03, 0xe7, 
    -	0xff, 0xf2, 0x03, 0xe8, 0xff, 0xf2, 0x03, 0xf2, 0xff, 0xf2, 0x03, 0xf6, 
    -	0xff, 0xef, 0x04, 0x00, 0xff, 0xf2, 0x04, 0x08, 0xff, 0xf1, 0x04, 0x09, 
    -	0xff, 0xf1, 0x04, 0x0a, 0xff, 0xf1, 0x00, 0x09, 0x00, 0x57, 0x00, 0x10, 
    -	0x00, 0x88, 0xff, 0x5b, 0x01, 0x8e, 0xff, 0xec, 0x01, 0x95, 0xff, 0xc7, 
    -	0x01, 0x9b, 0xff, 0xac, 0x02, 0x6f, 0xff, 0xd9, 0x03, 0x55, 0xff, 0x5f, 
    -	0x03, 0xd1, 0xff, 0x45, 0x03, 0xdb, 0xff, 0x49, 0x00, 0x2f, 0x00, 0x37, 
    -	0xff, 0xde, 0x00, 0x3b, 0xff, 0xe1, 0x00, 0x3c, 0xff, 0xdf, 0x00, 0x9f, 
    -	0xff, 0xdf, 0x01, 0x24, 0xff, 0xde, 0x01, 0x26, 0xff, 0xde, 0x01, 0x38, 
    -	0xff, 0xdf, 0x01, 0x3a, 0xff, 0xdf, 0x01, 0x69, 0xff, 0xdf, 0x01, 0x7f, 
    -	0xff, 0xdf, 0x01, 0x81, 0xff, 0xe1, 0x01, 0x85, 0xff, 0xdf, 0x01, 0xb4, 
    -	0xff, 0xe1, 0x01, 0xb8, 0xff, 0xe6, 0x01, 0xc3, 0xff, 0xe1, 0x01, 0xca, 
    -	0xff, 0xde, 0x01, 0xcb, 0xff, 0xe1, 0x01, 0xd8, 0xff, 0xe7, 0x01, 0xf4, 
    -	0xff, 0xe7, 0x02, 0x28, 0xff, 0xde, 0x02, 0x2a, 0xff, 0xdf, 0x02, 0x2c, 
    -	0xff, 0xdf, 0x02, 0x2e, 0xff, 0xe1, 0x02, 0x30, 0xff, 0xde, 0x02, 0x3b, 
    -	0xff, 0xe1, 0x02, 0x3c, 0xff, 0xe7, 0x02, 0x52, 0xff, 0xe1, 0x02, 0x6b, 
    -	0xff, 0xe1, 0x02, 0x77, 0xff, 0xe1, 0x02, 0x7d, 0xff, 0xdf, 0x02, 0x81, 
    -	0xff, 0xe1, 0x02, 0x82, 0xff, 0xe7, 0x02, 0xdf, 0xff, 0xdf, 0x02, 0xe1, 
    -	0xff, 0xdf, 0x02, 0xe3, 0xff, 0xdf, 0x02, 0xe5, 0xff, 0xdf, 0x03, 0xcf, 
    -	0xff, 0xde, 0x03, 0xd0, 0xff, 0xde, 0x03, 0xd1, 0xff, 0xdd, 0x03, 0xd2, 
    -	0xff, 0xe1, 0x03, 0xd3, 0xff, 0xe6, 0x03, 0xf2, 0xff, 0xe1, 0x03, 0xf6, 
    -	0xff, 0xde, 0x04, 0x00, 0xff, 0xe1, 0x04, 0x08, 0xff, 0xe6, 0x04, 0x09, 
    -	0xff, 0xe6, 0x04, 0x0a, 0xff, 0xe6, 0x00, 0x22, 0x00, 0x37, 0xff, 0xdd, 
    -	0x00, 0x3b, 0xff, 0xdf, 0x01, 0x24, 0xff, 0xdd, 0x01, 0x26, 0xff, 0xdd, 
    -	0x01, 0x81, 0xff, 0xdf, 0x01, 0xb4, 0xff, 0xdf, 0x01, 0xb8, 0xff, 0xe6, 
    -	0x01, 0xc3, 0xff, 0xdf, 0x01, 0xca, 0xff, 0xdd, 0x01, 0xcb, 0xff, 0xdf, 
    -	0x01, 0xd8, 0xff, 0xe8, 0x01, 0xf4, 0xff, 0xe8, 0x02, 0x28, 0xff, 0xdd, 
    -	0x02, 0x2e, 0xff, 0xdf, 0x02, 0x30, 0xff, 0xdd, 0x02, 0x3b, 0xff, 0xdf, 
    -	0x02, 0x3c, 0xff, 0xe8, 0x02, 0x52, 0xff, 0xdf, 0x02, 0x6b, 0xff, 0xdf, 
    -	0x02, 0x77, 0xff, 0xdf, 0x02, 0x81, 0xff, 0xdf, 0x02, 0x82, 0xff, 0xe8, 
    -	0x03, 0xcf, 0xff, 0xdd, 0x03, 0xd0, 0xff, 0xdd, 0x03, 0xd1, 0xff, 0xdc, 
    -	0x03, 0xd2, 0xff, 0xdf, 0x03, 0xd3, 0xff, 0xe6, 0x03, 0xdb, 0xff, 0xdf, 
    -	0x03, 0xf2, 0xff, 0xdf, 0x03, 0xf6, 0xff, 0xdd, 0x04, 0x00, 0xff, 0xdf, 
    -	0x04, 0x08, 0xff, 0xe6, 0x04, 0x09, 0xff, 0xe6, 0x04, 0x0a, 0xff, 0xe6, 
    -	0x00, 0x21, 0x00, 0x05, 0xff, 0xf0, 0x00, 0x0a, 0xff, 0xf0, 0x00, 0x59, 
    -	0xff, 0xf4, 0x00, 0x5c, 0xff, 0xf4, 0x00, 0xbf, 0xff, 0xf4, 0x00, 0xc1, 
    -	0xff, 0xf4, 0x01, 0x39, 0xff, 0xf4, 0x01, 0x51, 0xff, 0xf0, 0x01, 0x8d, 
    -	0xff, 0xf4, 0x01, 0x97, 0xff, 0xf4, 0x01, 0xdf, 0xff, 0xf2, 0x01, 0xe0, 
    -	0xff, 0xf4, 0x01, 0xf9, 0xff, 0xf4, 0x02, 0x08, 0xff, 0xf4, 0x02, 0x09, 
    -	0xff, 0xf4, 0x02, 0x2b, 0xff, 0xf4, 0x02, 0x60, 0xff, 0xf4, 0x02, 0x61, 
    -	0xff, 0xf4, 0x02, 0x62, 0xff, 0xf4, 0x02, 0x7e, 0xff, 0xf4, 0x02, 0xe0, 
    -	0xff, 0xf4, 0x02, 0xe2, 0xff, 0xf4, 0x02, 0xe4, 0xff, 0xf4, 0x02, 0xe6, 
    -	0xff, 0xf4, 0x02, 0xf8, 0xff, 0xf0, 0x02, 0xf9, 0xff, 0xf0, 0x02, 0xfb, 
    -	0xff, 0xf0, 0x02, 0xfc, 0xff, 0xf0, 0x02, 0xfd, 0xff, 0xf0, 0x03, 0x05, 
    -	0xff, 0xf0, 0x03, 0x06, 0xff, 0xf0, 0x03, 0xe1, 0xff, 0xf4, 0x03, 0xf7, 
    -	0xff, 0xf4, 0x00, 0x59, 0x00, 0x46, 0xff, 0xed, 0x00, 0x47, 0xff, 0xed, 
    -	0x00, 0x48, 0xff, 0xed, 0x00, 0x4a, 0xff, 0xed, 0x00, 0x52, 0xff, 0xdf, 
    -	0x00, 0x54, 0xff, 0xed, 0x00, 0xa9, 0xff, 0xed, 0x00, 0xaa, 0xff, 0xed, 
    -	0x00, 0xab, 0xff, 0xed, 0x00, 0xac, 0xff, 0xed, 0x00, 0xad, 0xff, 0xed, 
    -	0x00, 0xb4, 0xff, 0xdf, 0x00, 0xb5, 0xff, 0xdf, 0x00, 0xb6, 0xff, 0xdf, 
    -	0x00, 0xb7, 0xff, 0xdf, 0x00, 0xb8, 0xff, 0xdf, 0x00, 0xc9, 0xff, 0xed, 
    -	0x00, 0xcb, 0xff, 0xed, 0x00, 0xcd, 0xff, 0xed, 0x00, 0xcf, 0xff, 0xed, 
    -	0x00, 0xd1, 0xff, 0xed, 0x00, 0xd5, 0xff, 0xed, 0x00, 0xd7, 0xff, 0xed, 
    -	0x00, 0xd9, 0xff, 0xed, 0x00, 0xdb, 0xff, 0xed, 0x00, 0xdd, 0xff, 0xed, 
    -	0x00, 0xdf, 0xff, 0xed, 0x00, 0xe1, 0xff, 0xed, 0x00, 0xe3, 0xff, 0xed, 
    -	0x00, 0xe5, 0xff, 0xed, 0x01, 0x0f, 0xff, 0xdf, 0x01, 0x11, 0xff, 0xdf, 
    -	0x01, 0x13, 0xff, 0xdf, 0x01, 0x15, 0xff, 0xed, 0x01, 0x44, 0xff, 0xed, 
    -	0x01, 0x86, 0xff, 0xed, 0x01, 0x8b, 0xff, 0xed, 0x01, 0x99, 0xff, 0xdf, 
    -	0x01, 0x9c, 0xff, 0xed, 0x01, 0x9d, 0xff, 0xed, 0x01, 0xa6, 0xff, 0xdf, 
    -	0x01, 0xd4, 0xff, 0xed, 0x01, 0xdb, 0xff, 0xdf, 0x01, 0xde, 0xff, 0xed, 
    -	0x01, 0xeb, 0xff, 0xed, 0x01, 0xec, 0xff, 0xed, 0x01, 0xef, 0xff, 0xed, 
    -	0x02, 0x0b, 0xff, 0xed, 0x02, 0x0d, 0xff, 0xe8, 0x02, 0x0f, 0xff, 0xed, 
    -	0x02, 0x4d, 0xff, 0xed, 0x02, 0x4f, 0xff, 0xed, 0x02, 0x51, 0xff, 0xed, 
    -	0x02, 0x5d, 0xff, 0xdf, 0x02, 0x70, 0xff, 0xed, 0x02, 0x71, 0xff, 0xed, 
    -	0x02, 0x72, 0xff, 0xed, 0x02, 0x7c, 0xff, 0xed, 0x02, 0xa6, 0xff, 0xed, 
    -	0x02, 0xa8, 0xff, 0xed, 0x02, 0xaa, 0xff, 0xed, 0x02, 0xac, 0xff, 0xed, 
    -	0x02, 0xae, 0xff, 0xed, 0x02, 0xb0, 0xff, 0xed, 0x02, 0xb2, 0xff, 0xed, 
    -	0x02, 0xb4, 0xff, 0xed, 0x02, 0xba, 0xff, 0xdf, 0x02, 0xbc, 0xff, 0xdf, 
    -	0x02, 0xbe, 0xff, 0xdf, 0x02, 0xc0, 0xff, 0xdf, 0x02, 0xc2, 0xff, 0xdf, 
    -	0x02, 0xc4, 0xff, 0xdf, 0x02, 0xc6, 0xff, 0xdf, 0x02, 0xc8, 0xff, 0xed, 
    -	0x02, 0xca, 0xff, 0xed, 0x02, 0xcc, 0xff, 0xed, 0x02, 0xce, 0xff, 0xdf, 
    -	0x02, 0xd0, 0xff, 0xed, 0x03, 0x42, 0xff, 0xe8, 0x03, 0x44, 0xff, 0xe8, 
    -	0x03, 0x4d, 0xff, 0xe6, 0x03, 0x51, 0xff, 0xe8, 0x03, 0xde, 0xff, 0xed, 
    -	0x03, 0xe6, 0xff, 0xdf, 0x03, 0xea, 0xff, 0xed, 0x03, 0xfb, 0xff, 0xed, 
    -	0x03, 0xfd, 0xff, 0xed, 0x04, 0x05, 0xff, 0xed, 0x04, 0x07, 0xff, 0xdf, 
    -	0x00, 0x96, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x44, 
    -	0xff, 0xed, 0x00, 0x46, 0xff, 0xeb, 0x00, 0x47, 0xff, 0xeb, 0x00, 0x48, 
    -	0xff, 0xeb, 0x00, 0x49, 0x00, 0x0f, 0x00, 0x4a, 0xff, 0xeb, 0x00, 0x52, 
    -	0xff, 0xe7, 0x00, 0x54, 0xff, 0xeb, 0x00, 0x59, 0x00, 0x0c, 0x00, 0x5c, 
    -	0x00, 0x0c, 0x00, 0xa2, 0xff, 0xed, 0x00, 0xa3, 0xff, 0xed, 0x00, 0xa4, 
    -	0xff, 0xed, 0x00, 0xa5, 0xff, 0xed, 0x00, 0xa6, 0xff, 0xed, 0x00, 0xa7, 
    -	0xff, 0xed, 0x00, 0xa9, 0xff, 0xeb, 0x00, 0xaa, 0xff, 0xeb, 0x00, 0xab, 
    -	0xff, 0xeb, 0x00, 0xac, 0xff, 0xeb, 0x00, 0xad, 0xff, 0xeb, 0x00, 0xb4, 
    -	0xff, 0xe7, 0x00, 0xb5, 0xff, 0xe7, 0x00, 0xb6, 0xff, 0xe7, 0x00, 0xb7, 
    -	0xff, 0xe7, 0x00, 0xb8, 0xff, 0xe7, 0x00, 0xbf, 0x00, 0x0c, 0x00, 0xc1, 
    -	0x00, 0x0c, 0x00, 0xc3, 0xff, 0xed, 0x00, 0xc5, 0xff, 0xed, 0x00, 0xc7, 
    -	0xff, 0xed, 0x00, 0xc9, 0xff, 0xeb, 0x00, 0xcb, 0xff, 0xeb, 0x00, 0xcd, 
    -	0xff, 0xeb, 0x00, 0xcf, 0xff, 0xeb, 0x00, 0xd1, 0xff, 0xeb, 0x00, 0xd5, 
    -	0xff, 0xeb, 0x00, 0xd7, 0xff, 0xeb, 0x00, 0xd9, 0xff, 0xeb, 0x00, 0xdb, 
    -	0xff, 0xeb, 0x00, 0xdd, 0xff, 0xeb, 0x00, 0xdf, 0xff, 0xeb, 0x00, 0xe1, 
    -	0xff, 0xeb, 0x00, 0xe3, 0xff, 0xeb, 0x00, 0xe5, 0xff, 0xeb, 0x01, 0x0f, 
    -	0xff, 0xe7, 0x01, 0x11, 0xff, 0xe7, 0x01, 0x13, 0xff, 0xe7, 0x01, 0x15, 
    -	0xff, 0xeb, 0x01, 0x39, 0x00, 0x0c, 0x01, 0x44, 0xff, 0xeb, 0x01, 0x49, 
    -	0xff, 0xed, 0x01, 0x51, 0x00, 0x0f, 0x01, 0x86, 0xff, 0xeb, 0x01, 0x8b, 
    -	0xff, 0xeb, 0x01, 0x8d, 0x00, 0x0c, 0x01, 0x97, 0x00, 0x0c, 0x01, 0x99, 
    -	0xff, 0xe7, 0x01, 0x9c, 0xff, 0xeb, 0x01, 0x9d, 0xff, 0xeb, 0x01, 0xa6, 
    -	0xff, 0xe7, 0x01, 0xd1, 0xff, 0xed, 0x01, 0xd4, 0xff, 0xeb, 0x01, 0xd8, 
    -	0xff, 0xd0, 0x01, 0xdb, 0xff, 0xe7, 0x01, 0xde, 0xff, 0xeb, 0x01, 0xe0, 
    -	0x00, 0x0c, 0x01, 0xeb, 0xff, 0xeb, 0x01, 0xec, 0xff, 0xeb, 0x01, 0xef, 
    -	0xff, 0xeb, 0x01, 0xf4, 0xff, 0xd0, 0x01, 0xf9, 0x00, 0x0c, 0x02, 0x08, 
    -	0x00, 0x0c, 0x02, 0x09, 0x00, 0x0c, 0x02, 0x0b, 0xff, 0xeb, 0x02, 0x0d, 
    -	0xff, 0xe9, 0x02, 0x0f, 0xff, 0xeb, 0x02, 0x2b, 0x00, 0x0c, 0x02, 0x3c, 
    -	0xff, 0xd0, 0x02, 0x47, 0xff, 0xed, 0x02, 0x49, 0xff, 0xed, 0x02, 0x4d, 
    -	0xff, 0xeb, 0x02, 0x4f, 0xff, 0xeb, 0x02, 0x51, 0xff, 0xeb, 0x02, 0x5d, 
    -	0xff, 0xe7, 0x02, 0x60, 0x00, 0x0c, 0x02, 0x61, 0x00, 0x0c, 0x02, 0x62, 
    -	0x00, 0x0c, 0x02, 0x70, 0xff, 0xeb, 0x02, 0x71, 0xff, 0xeb, 0x02, 0x72, 
    -	0xff, 0xeb, 0x02, 0x74, 0x00, 0x0c, 0x02, 0x76, 0x00, 0x0c, 0x02, 0x7c, 
    -	0xff, 0xeb, 0x02, 0x82, 0xff, 0xd0, 0x02, 0x84, 0xff, 0xed, 0x02, 0x8e, 
    -	0xff, 0xed, 0x02, 0x90, 0xff, 0xed, 0x02, 0x92, 0xff, 0xed, 0x02, 0x94, 
    -	0xff, 0xed, 0x02, 0x96, 0xff, 0xed, 0x02, 0x98, 0xff, 0xed, 0x02, 0x9a, 
    -	0xff, 0xed, 0x02, 0x9c, 0xff, 0xed, 0x02, 0x9e, 0xff, 0xed, 0x02, 0xa0, 
    -	0xff, 0xed, 0x02, 0xa2, 0xff, 0xed, 0x02, 0xa4, 0xff, 0xed, 0x02, 0xa6, 
    -	0xff, 0xeb, 0x02, 0xa8, 0xff, 0xeb, 0x02, 0xaa, 0xff, 0xeb, 0x02, 0xac, 
    -	0xff, 0xeb, 0x02, 0xae, 0xff, 0xeb, 0x02, 0xb0, 0xff, 0xeb, 0x02, 0xb2, 
    -	0xff, 0xeb, 0x02, 0xb4, 0xff, 0xeb, 0x02, 0xba, 0xff, 0xe7, 0x02, 0xbc, 
    -	0xff, 0xe7, 0x02, 0xbe, 0xff, 0xe7, 0x02, 0xc0, 0xff, 0xe7, 0x02, 0xc2, 
    -	0xff, 0xe7, 0x02, 0xc4, 0xff, 0xe7, 0x02, 0xc6, 0xff, 0xe7, 0x02, 0xc8, 
    -	0xff, 0xeb, 0x02, 0xca, 0xff, 0xeb, 0x02, 0xcc, 0xff, 0xeb, 0x02, 0xce, 
    -	0xff, 0xe7, 0x02, 0xd0, 0xff, 0xeb, 0x02, 0xe0, 0x00, 0x0c, 0x02, 0xe2, 
    -	0x00, 0x0c, 0x02, 0xe4, 0x00, 0x0c, 0x02, 0xe6, 0x00, 0x0c, 0x02, 0xf8, 
    -	0x00, 0x0f, 0x02, 0xf9, 0x00, 0x0f, 0x02, 0xfb, 0x00, 0x0f, 0x02, 0xfc, 
    -	0x00, 0x0f, 0x02, 0xfd, 0x00, 0x0f, 0x03, 0x05, 0x00, 0x0f, 0x03, 0x06, 
    -	0x00, 0x0f, 0x03, 0xdb, 0xff, 0xbe, 0x03, 0xde, 0xff, 0xeb, 0x03, 0xe6, 
    -	0xff, 0xe7, 0x03, 0xea, 0xff, 0xeb, 0x03, 0xec, 0x00, 0x0e, 0x03, 0xfb, 
    -	0xff, 0xeb, 0x03, 0xfd, 0xff, 0xeb, 0x04, 0x05, 0xff, 0xeb, 0x04, 0x07, 
    -	0xff, 0xe7, 0x00, 0x0e, 0x01, 0xd8, 0x00, 0x13, 0x01, 0xdf, 0xff, 0xed, 
    -	0x01, 0xe3, 0xff, 0xed, 0x01, 0xea, 0x00, 0x0e, 0x01, 0xf4, 0x00, 0x13, 
    -	0x02, 0x33, 0xff, 0xed, 0x02, 0x35, 0xff, 0xed, 0x02, 0x3c, 0x00, 0x13, 
    -	0x02, 0x42, 0xff, 0xed, 0x02, 0x64, 0xff, 0xed, 0x02, 0x7e, 0xff, 0xed, 
    -	0x02, 0x82, 0x00, 0x13, 0x03, 0xdb, 0x00, 0x17, 0x03, 0xf7, 0xff, 0xed, 
    -	0x00, 0x4a, 0x00, 0x46, 0xff, 0xeb, 0x00, 0x47, 0xff, 0xeb, 0x00, 0x48, 
    -	0xff, 0xeb, 0x00, 0x4a, 0xff, 0xeb, 0x00, 0x54, 0xff, 0xeb, 0x00, 0xa9, 
    -	0xff, 0xeb, 0x00, 0xaa, 0xff, 0xeb, 0x00, 0xab, 0xff, 0xeb, 0x00, 0xac, 
    -	0xff, 0xeb, 0x00, 0xad, 0xff, 0xeb, 0x00, 0xc9, 0xff, 0xeb, 0x00, 0xcb, 
    -	0xff, 0xeb, 0x00, 0xcd, 0xff, 0xeb, 0x00, 0xcf, 0xff, 0xeb, 0x00, 0xd1, 
    -	0xff, 0xeb, 0x00, 0xd5, 0xff, 0xeb, 0x00, 0xd7, 0xff, 0xeb, 0x00, 0xd9, 
    -	0xff, 0xeb, 0x00, 0xdb, 0xff, 0xeb, 0x00, 0xdd, 0xff, 0xeb, 0x00, 0xdf, 
    -	0xff, 0xeb, 0x00, 0xe1, 0xff, 0xeb, 0x00, 0xe3, 0xff, 0xeb, 0x00, 0xe5, 
    -	0xff, 0xeb, 0x01, 0x15, 0xff, 0xeb, 0x01, 0x44, 0xff, 0xeb, 0x01, 0x86, 
    -	0xff, 0xeb, 0x01, 0x8b, 0xff, 0xeb, 0x01, 0x9c, 0xff, 0xeb, 0x01, 0x9d, 
    -	0xff, 0xeb, 0x01, 0xd4, 0xff, 0xeb, 0x01, 0xd8, 0x00, 0x10, 0x01, 0xde, 
    -	0xff, 0xeb, 0x01, 0xdf, 0xff, 0xde, 0x01, 0xe3, 0xff, 0xde, 0x01, 0xeb, 
    -	0xff, 0xeb, 0x01, 0xec, 0xff, 0xeb, 0x01, 0xef, 0xff, 0xeb, 0x01, 0xf4, 
    -	0x00, 0x10, 0x02, 0x0b, 0xff, 0xeb, 0x02, 0x0f, 0xff, 0xeb, 0x02, 0x33, 
    -	0xff, 0xde, 0x02, 0x35, 0xff, 0xde, 0x02, 0x3c, 0x00, 0x10, 0x02, 0x42, 
    -	0xff, 0xde, 0x02, 0x4d, 0xff, 0xeb, 0x02, 0x4f, 0xff, 0xeb, 0x02, 0x51, 
    -	0xff, 0xeb, 0x02, 0x64, 0xff, 0xde, 0x02, 0x70, 0xff, 0xeb, 0x02, 0x71, 
    -	0xff, 0xeb, 0x02, 0x72, 0xff, 0xeb, 0x02, 0x7c, 0xff, 0xeb, 0x02, 0x7e, 
    -	0xff, 0xde, 0x02, 0x82, 0x00, 0x10, 0x02, 0xa6, 0xff, 0xeb, 0x02, 0xa8, 
    -	0xff, 0xeb, 0x02, 0xaa, 0xff, 0xeb, 0x02, 0xac, 0xff, 0xeb, 0x02, 0xae, 
    -	0xff, 0xeb, 0x02, 0xb0, 0xff, 0xeb, 0x02, 0xb2, 0xff, 0xeb, 0x02, 0xb4, 
    -	0xff, 0xeb, 0x02, 0xc8, 0xff, 0xeb, 0x02, 0xca, 0xff, 0xeb, 0x02, 0xcc, 
    -	0xff, 0xeb, 0x02, 0xd0, 0xff, 0xeb, 0x03, 0xdb, 0x00, 0x15, 0x03, 0xde, 
    -	0xff, 0xeb, 0x03, 0xea, 0xff, 0xeb, 0x03, 0xf7, 0xff, 0x8b, 0x03, 0xfb, 
    -	0xff, 0xeb, 0x03, 0xfd, 0xff, 0xeb, 0x04, 0x05, 0xff, 0xeb, 0x00, 0x20, 
    -	0x00, 0x59, 0xff, 0xf2, 0x00, 0x5b, 0xff, 0xed, 0x00, 0x5c, 0xff, 0xf2, 
    -	0x00, 0xbf, 0xff, 0xf2, 0x00, 0xc1, 0xff, 0xf2, 0x01, 0x39, 0xff, 0xf2, 
    -	0x01, 0x8d, 0xff, 0xf2, 0x01, 0x97, 0xff, 0xf2, 0x01, 0xd8, 0xff, 0xf1, 
    -	0x01, 0xe0, 0xff, 0xf2, 0x01, 0xe1, 0xff, 0xed, 0x01, 0xf4, 0xff, 0xf1, 
    -	0x01, 0xf9, 0xff, 0xf2, 0x02, 0x08, 0xff, 0xf2, 0x02, 0x09, 0xff, 0xf2, 
    -	0x02, 0x2b, 0xff, 0xf2, 0x02, 0x2f, 0xff, 0xed, 0x02, 0x3c, 0xff, 0xf1, 
    -	0x02, 0x53, 0xff, 0xed, 0x02, 0x60, 0xff, 0xf2, 0x02, 0x61, 0xff, 0xf2, 
    -	0x02, 0x62, 0xff, 0xf2, 0x02, 0x6c, 0xff, 0xed, 0x02, 0x82, 0xff, 0xf1, 
    -	0x02, 0xe0, 0xff, 0xf2, 0x02, 0xe2, 0xff, 0xf2, 0x02, 0xe4, 0xff, 0xf2, 
    -	0x02, 0xe6, 0xff, 0xf2, 0x03, 0xdb, 0xff, 0xec, 0x03, 0xdc, 0xff, 0xed, 
    -	0x03, 0xf3, 0xff, 0xed, 0x04, 0x01, 0xff, 0xed, 0x00, 0x0a, 0x00, 0x05, 
    -	0xff, 0xcf, 0x00, 0x0a, 0xff, 0xcf, 0x01, 0x51, 0xff, 0xcf, 0x02, 0xf8, 
    -	0xff, 0xcf, 0x02, 0xf9, 0xff, 0xcf, 0x02, 0xfb, 0xff, 0xcf, 0x02, 0xfc, 
    -	0xff, 0xcf, 0x02, 0xfd, 0xff, 0xcf, 0x03, 0x05, 0xff, 0xcf, 0x03, 0x06, 
    -	0xff, 0xcf, 0x00, 0x0a, 0x00, 0x05, 0xff, 0xe5, 0x00, 0x0a, 0xff, 0xe5, 
    -	0x01, 0x51, 0xff, 0xe5, 0x02, 0xf8, 0xff, 0xe5, 0x02, 0xf9, 0xff, 0xe5, 
    -	0x02, 0xfb, 0xff, 0xe5, 0x02, 0xfc, 0xff, 0xe5, 0x02, 0xfd, 0xff, 0xe5, 
    -	0x03, 0x05, 0xff, 0xe5, 0x03, 0x06, 0xff, 0xe5, 0x00, 0x3a, 0x00, 0x55, 
    -	0xff, 0xb3, 0x00, 0x5a, 0xff, 0xc9, 0x00, 0x6d, 0xff, 0x51, 0x00, 0x7d, 
    -	0xff, 0x53, 0x00, 0x88, 0xff, 0x3d, 0x00, 0xa8, 0xff, 0x9d, 0x00, 0xba, 
    -	0xff, 0x90, 0x01, 0x80, 0xff, 0xab, 0x01, 0x8e, 0xff, 0xef, 0x01, 0x8f, 
    -	0xff, 0x66, 0x01, 0x93, 0xff, 0x63, 0x01, 0x9a, 0xff, 0x89, 0x01, 0x9b, 
    -	0xff, 0x61, 0x01, 0x9e, 0xff, 0xa4, 0x01, 0xa0, 0xff, 0x66, 0x01, 0xa1, 
    -	0xff, 0xa5, 0x01, 0xa2, 0xff, 0x65, 0x01, 0xa3, 0xff, 0x64, 0x01, 0xd2, 
    -	0xff, 0x8e, 0x01, 0xdf, 0xff, 0xa4, 0x01, 0xe6, 0xff, 0x65, 0x01, 0xe8, 
    -	0xff, 0x68, 0x01, 0xea, 0xff, 0x61, 0x01, 0xfa, 0xff, 0x65, 0x02, 0x0d, 
    -	0xff, 0x78, 0x02, 0x1b, 0xff, 0x85, 0x02, 0x21, 0xff, 0x65, 0x02, 0x35, 
    -	0xff, 0x64, 0x02, 0x37, 0xff, 0x64, 0x02, 0x38, 0xff, 0x88, 0x02, 0x39, 
    -	0xff, 0x51, 0x02, 0x4e, 0xff, 0xe2, 0x02, 0x6f, 0xff, 0x50, 0x02, 0x74, 
    -	0xff, 0x7e, 0x02, 0x76, 0xff, 0x9e, 0x02, 0x7a, 0xff, 0x63, 0x02, 0x7d, 
    -	0x00, 0x11, 0x02, 0x7e, 0xff, 0x7d, 0x02, 0x7f, 0xff, 0xf0, 0x03, 0x3b, 
    -	0xff, 0xea, 0x03, 0x3c, 0xff, 0xef, 0x03, 0x3f, 0xff, 0xef, 0x03, 0x40, 
    -	0xff, 0xb0, 0x03, 0x42, 0xff, 0xad, 0x03, 0x44, 0xff, 0xad, 0x03, 0x4d, 
    -	0xff, 0xad, 0x03, 0x51, 0xff, 0xad, 0x03, 0x55, 0xff, 0x64, 0x03, 0xd1, 
    -	0xff, 0xa0, 0x03, 0xd8, 0x00, 0x11, 0x03, 0xda, 0xff, 0xdf, 0x03, 0xdb, 
    -	0xff, 0x5a, 0x03, 0xdd, 0xff, 0x68, 0x03, 0xe1, 0xff, 0x67, 0x03, 0xec, 
    -	0xff, 0xd4, 0x03, 0xef, 0xff, 0x6a, 0x03, 0xf7, 0xff, 0xa5, 0x03, 0xf9, 
    -	0xff, 0x8e, 0x00, 0x31, 0x00, 0x55, 0xff, 0x6a, 0x00, 0x5a, 0xff, 0x8f, 
    -	0x00, 0x6d, 0xfe, 0xc2, 0x00, 0x7d, 0xfe, 0xc7, 0x00, 0x88, 0xfe, 0xa0, 
    -	0x00, 0xa8, 0xff, 0x43, 0x00, 0xba, 0xff, 0x2e, 0x01, 0x80, 0xff, 0x5b, 
    -	0x01, 0x8e, 0xff, 0xd0, 0x01, 0x8f, 0xfe, 0xe7, 0x01, 0x93, 0xff, 0x58, 
    -	0x01, 0x9a, 0xff, 0x38, 0x01, 0x9b, 0xfe, 0xdd, 0x01, 0x9e, 0xff, 0x6e, 
    -	0x01, 0xa0, 0xfe, 0xe7, 0x01, 0xa1, 0xff, 0x52, 0x01, 0xa2, 0xfe, 0xe5, 
    -	0x01, 0xa3, 0xfe, 0xe2, 0x01, 0xd2, 0xff, 0x2b, 0x01, 0xdf, 0xff, 0x50, 
    -	0x01, 0xe6, 0xfe, 0xe5, 0x01, 0xe8, 0xfe, 0xea, 0x01, 0xea, 0xfe, 0xdd, 
    -	0x01, 0xfa, 0xfe, 0xe5, 0x02, 0x0d, 0xfe, 0xfe, 0x02, 0x1b, 0xff, 0x1b, 
    -	0x02, 0x21, 0xfe, 0xe5, 0x02, 0x35, 0xfe, 0xe2, 0x02, 0x37, 0xfe, 0xe2, 
    -	0x02, 0x38, 0xff, 0x20, 0x02, 0x39, 0xfe, 0xc2, 0x02, 0x4e, 0xff, 0xb9, 
    -	0x02, 0x6f, 0xfe, 0xc0, 0x02, 0x74, 0xff, 0x10, 0x02, 0x76, 0xff, 0x46, 
    -	0x02, 0x7a, 0xfe, 0xe0, 0x02, 0x7d, 0x00, 0x08, 0x02, 0x7e, 0xff, 0x0e, 
    -	0x02, 0x7f, 0xff, 0xd2, 0x03, 0xd1, 0xff, 0x4a, 0x03, 0xd8, 0x00, 0x08, 
    -	0x03, 0xda, 0xff, 0xb4, 0x03, 0xdb, 0xfe, 0xd2, 0x03, 0xdd, 0xfe, 0xea, 
    -	0x03, 0xe1, 0xfe, 0xe9, 0x03, 0xec, 0xff, 0xa1, 0x03, 0xef, 0xfe, 0xee, 
    -	0x03, 0xf7, 0xff, 0x52, 0x03, 0xf9, 0xff, 0x2b, 0x00, 0x02, 0x02, 0x0d, 
    -	0xff, 0xeb, 0x03, 0xdb, 0xff, 0xc0, 0x00, 0x09, 0x00, 0x0c, 0x00, 0x11, 
    -	0x00, 0x40, 0x00, 0x0e, 0x00, 0x55, 0xff, 0xe8, 0x00, 0x60, 0x00, 0x10, 
    -	0x03, 0x42, 0xff, 0xe3, 0x03, 0x44, 0xff, 0xe3, 0x03, 0x4d, 0xff, 0xe3, 
    -	0x03, 0x51, 0xff, 0xe6, 0x03, 0x55, 0xff, 0x9c, 0x00, 0x1b, 0x00, 0x22, 
    -	0xff, 0xb3, 0x00, 0x57, 0xff, 0xec, 0x00, 0x5a, 0xff, 0xd9, 0x01, 0x45, 
    -	0xff, 0xeb, 0x01, 0x80, 0xff, 0xe1, 0x01, 0x82, 0xff, 0xc9, 0x01, 0x95, 
    -	0x00, 0x2f, 0x01, 0x9e, 0xff, 0xbe, 0x01, 0xdf, 0xff, 0xa4, 0x02, 0x34, 
    -	0xff, 0x54, 0x02, 0x35, 0xff, 0x82, 0x02, 0x38, 0xff, 0xa7, 0x02, 0x39, 
    -	0xff, 0xd7, 0x02, 0x4e, 0xff, 0xf0, 0x02, 0x73, 0xff, 0xa3, 0x02, 0x75, 
    -	0xff, 0xc1, 0x02, 0x7d, 0xff, 0x54, 0x02, 0x7e, 0xff, 0x80, 0x03, 0x3a, 
    -	0xff, 0x78, 0x03, 0x3c, 0xff, 0xd7, 0x03, 0x3d, 0xff, 0xc4, 0x03, 0x3e, 
    -	0xff, 0xef, 0x03, 0x3f, 0xff, 0xbd, 0x03, 0x44, 0xff, 0xf4, 0x03, 0x4d, 
    -	0xff, 0xf4, 0x03, 0xd1, 0x00, 0x16, 0x03, 0xf7, 0xff, 0x8d, 0x00, 0x07, 
    -	0x01, 0xdf, 0xff, 0xed, 0x02, 0x74, 0xff, 0xf1, 0x02, 0x76, 0xff, 0xf1, 
    -	0x02, 0x7e, 0xff, 0xef, 0x03, 0xe1, 0xff, 0xef, 0x03, 0xec, 0xff, 0xf1, 
    -	0x03, 0xf7, 0xff, 0xd1, 0x00, 0x04, 0x00, 0x5a, 0xff, 0xe7, 0x03, 0x3a, 
    -	0xff, 0xed, 0x03, 0x3c, 0xff, 0xea, 0x03, 0x3d, 0xff, 0xed, 0x00, 0x01, 
    -	0x01, 0xdf, 0xff, 0xf4, 0x00, 0x01, 0x03, 0x55, 0xff, 0xe8, 0x00, 0x24, 
    -	0x00, 0x09, 0xff, 0xc7, 0x00, 0x0c, 0x00, 0x17, 0x00, 0x0d, 0xff, 0xa8, 
    -	0x00, 0x40, 0x00, 0x15, 0x00, 0x49, 0xff, 0xd8, 0x00, 0x55, 0xff, 0xc2, 
    -	0x00, 0x57, 0xff, 0xdf, 0x00, 0x60, 0x00, 0x16, 0x00, 0x6d, 0xff, 0x89, 
    -	0x00, 0x7d, 0xff, 0xc4, 0x00, 0x88, 0xff, 0x78, 0x00, 0xa8, 0xff, 0xa7, 
    -	0x00, 0xba, 0xff, 0xa5, 0x01, 0x80, 0xff, 0xc0, 0x01, 0x8c, 0xff, 0xdf, 
    -	0x01, 0x8e, 0xff, 0xeb, 0x01, 0x8f, 0xff, 0x96, 0x01, 0x90, 0x00, 0x0f, 
    -	0x01, 0x92, 0xff, 0xe6, 0x01, 0x93, 0xff, 0xb8, 0x01, 0x9a, 0xff, 0xbe, 
    -	0x01, 0x9b, 0xff, 0x81, 0x01, 0x9e, 0xff, 0xd7, 0x01, 0xa0, 0xff, 0xba, 
    -	0x01, 0xa1, 0xff, 0xd2, 0x01, 0xa2, 0xff, 0xcc, 0x01, 0xa3, 0xff, 0xa6, 
    -	0x03, 0x01, 0xff, 0x97, 0x03, 0x3b, 0xff, 0xec, 0x03, 0x3c, 0xff, 0xf1, 
    -	0x03, 0x3f, 0xff, 0xf1, 0x03, 0x42, 0xff, 0xab, 0x03, 0x44, 0xff, 0xab, 
    -	0x03, 0x4d, 0xff, 0xab, 0x03, 0x51, 0xff, 0xae, 0x03, 0x55, 0xff, 0x6f, 
    -	0x00, 0x07, 0x00, 0x49, 0x00, 0x0f, 0x01, 0x8e, 0xff, 0xec, 0x01, 0x9a, 
    -	0x00, 0x0c, 0x01, 0x9b, 0xff, 0xe7, 0x01, 0x9e, 0x00, 0x0e, 0x02, 0x0d, 
    -	0xff, 0xef, 0x03, 0xdb, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x88, 0xff, 0xc3, 
    -	0x01, 0x79, 0xff, 0xf1, 0x01, 0x7d, 0xff, 0xed, 0x01, 0x95, 0xff, 0xe7, 
    -	0x02, 0x7d, 0xff, 0xda, 0x03, 0x3b, 0xff, 0xf4, 0x03, 0x55, 0xff, 0xea, 
    -	0x03, 0xd1, 0xff, 0xc3, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x0c, 0x00, 0x05, 
    -	0x03, 0x42, 0xff, 0xed, 0x03, 0x44, 0xff, 0xed, 0x03, 0x4d, 0xff, 0xed, 
    -	0x03, 0x51, 0xff, 0xed, 0x03, 0x55, 0x00, 0x0e, 0x00, 0x09, 0x03, 0x3a, 
    -	0x00, 0x13, 0x03, 0x3c, 0x00, 0x0f, 0x03, 0x3d, 0x00, 0x13, 0x03, 0x3f, 
    -	0x00, 0x11, 0x03, 0x42, 0xff, 0xe8, 0x03, 0x44, 0xff, 0xe8, 0x03, 0x4d, 
    -	0xff, 0xe8, 0x03, 0x51, 0xff, 0xea, 0x03, 0x55, 0xff, 0xb4, 0x00, 0x04, 
    -	0x03, 0x42, 0xff, 0xe8, 0x03, 0x44, 0xff, 0xe8, 0x03, 0x4d, 0xff, 0xe8, 
    -	0x03, 0x51, 0xff, 0xea, 0x00, 0x02, 0x03, 0x3f, 0x00, 0x10, 0x03, 0x55, 
    -	0xff, 0xd6, 0x00, 0x05, 0x03, 0x42, 0xff, 0xed, 0x03, 0x44, 0xff, 0xed, 
    -	0x03, 0x4d, 0xff, 0xed, 0x03, 0x51, 0xff, 0xf0, 0x03, 0x55, 0xff, 0xbd, 
    -	0x00, 0x01, 0x03, 0x55, 0xff, 0xec, 0x00, 0x09, 0x03, 0x3a, 0x00, 0x0f, 
    -	0x03, 0x3d, 0x00, 0x0f, 0x03, 0x3f, 0x00, 0x10, 0x03, 0x40, 0xff, 0xf4, 
    -	0x03, 0x42, 0xff, 0xe9, 0x03, 0x44, 0xff, 0xea, 0x03, 0x4d, 0xff, 0xe9, 
    -	0x03, 0x51, 0xff, 0xeb, 0x03, 0x55, 0xff, 0xb3, 0x00, 0x04, 0x03, 0x3a, 
    -	0xff, 0xeb, 0x03, 0x3c, 0xff, 0xf4, 0x03, 0x3d, 0xff, 0xef, 0x03, 0x3f, 
    -	0xff, 0xf0, 0x00, 0x04, 0x03, 0x3a, 0xff, 0xe1, 0x03, 0x3c, 0xff, 0xef, 
    -	0x03, 0x3d, 0xff, 0xe8, 0x03, 0x3f, 0xff, 0xe6, 0x00, 0x05, 0x03, 0x3a, 
    -	0xff, 0xe7, 0x03, 0x3b, 0xff, 0xe9, 0x03, 0x3d, 0xff, 0xef, 0x03, 0x3f, 
    -	0xff, 0xeb, 0x03, 0x55, 0xff, 0xf1, 0x00, 0x0a, 0x03, 0x3a, 0xff, 0xa6, 
    -	0x03, 0x3c, 0xff, 0xce, 0x03, 0x3d, 0xff, 0xaa, 0x03, 0x3e, 0xff, 0xe9, 
    -	0x03, 0x3f, 0xff, 0xaf, 0x03, 0x42, 0xff, 0xed, 0x03, 0x44, 0xff, 0xec, 
    -	0x03, 0x4d, 0xff, 0xeb, 0x03, 0x51, 0xff, 0xed, 0x03, 0x55, 0x00, 0x14, 
    -	0x00, 0x04, 0x03, 0x42, 0xff, 0xe8, 0x03, 0x44, 0xff, 0xe8, 0x03, 0x4d, 
    -	0xff, 0xe6, 0x03, 0x51, 0xff, 0xe8, 0x00, 0x01, 0x03, 0x55, 0xff, 0xca, 
    -	0x00, 0x02, 0x03, 0x3c, 0xff, 0xf4, 0x03, 0x3d, 0xff, 0xeb, 0x00, 0x09, 
    -	0x03, 0x3a, 0xff, 0xa4, 0x03, 0x3c, 0xff, 0xd1, 0x03, 0x3d, 0xff, 0xae, 
    -	0x03, 0x3e, 0xff, 0xe9, 0x03, 0x3f, 0xff, 0xa5, 0x03, 0x42, 0xff, 0xf0, 
    -	0x03, 0x44, 0xff, 0xf0, 0x03, 0x4d, 0xff, 0xf0, 0x03, 0x51, 0xff, 0xf0, 
    -	0x00, 0x01, 0x03, 0x55, 0xff, 0xce, 0x00, 0x5b, 0x00, 0x05, 0xff, 0xc1, 
    -	0x00, 0x0a, 0xff, 0xc1, 0x00, 0x37, 0xff, 0xca, 0x00, 0x39, 0xff, 0xcc, 
    -	0x00, 0x3b, 0xff, 0xf2, 0x00, 0x3c, 0xff, 0xcb, 0x00, 0x59, 0xff, 0xe2, 
    -	0x00, 0x5b, 0xff, 0xec, 0x00, 0x5c, 0xff, 0xe2, 0x00, 0x9f, 0xff, 0xcb, 
    -	0x00, 0xbf, 0xff, 0xe2, 0x00, 0xc1, 0xff, 0xe2, 0x01, 0x24, 0xff, 0xca, 
    -	0x01, 0x26, 0xff, 0xca, 0x01, 0x38, 0xff, 0xcb, 0x01, 0x39, 0xff, 0xe2, 
    -	0x01, 0x3a, 0xff, 0xcb, 0x01, 0x51, 0xff, 0xc1, 0x01, 0x69, 0xff, 0xcb, 
    -	0x01, 0x7f, 0xff, 0xcb, 0x01, 0x81, 0xff, 0xf2, 0x01, 0x85, 0xff, 0xcb, 
    -	0x01, 0x8d, 0xff, 0xe2, 0x01, 0x97, 0xff, 0xe2, 0x01, 0xb8, 0xff, 0xea, 
    -	0x01, 0xca, 0xff, 0xca, 0x01, 0xcb, 0xff, 0xf2, 0x01, 0xcd, 0xff, 0xdc, 
    -	0x01, 0xdf, 0xff, 0xc0, 0x01, 0xe0, 0xff, 0xe2, 0x01, 0xe1, 0xff, 0xec, 
    -	0x01, 0xf9, 0xff, 0xe2, 0x02, 0x08, 0xff, 0xe2, 0x02, 0x09, 0xff, 0xe2, 
    -	0x02, 0x28, 0xff, 0xca, 0x02, 0x2a, 0xff, 0xcb, 0x02, 0x2b, 0xff, 0xe2, 
    -	0x02, 0x2c, 0xff, 0xcb, 0x02, 0x2e, 0xff, 0xf2, 0x02, 0x2f, 0xff, 0xec, 
    -	0x02, 0x30, 0xff, 0xca, 0x02, 0x32, 0xff, 0xdc, 0x02, 0x34, 0xff, 0xdc, 
    -	0x02, 0x41, 0xff, 0xdc, 0x02, 0x52, 0xff, 0xf2, 0x02, 0x53, 0xff, 0xec, 
    -	0x02, 0x60, 0xff, 0xe2, 0x02, 0x61, 0xff, 0xe2, 0x02, 0x62, 0xff, 0xe2, 
    -	0x02, 0x63, 0xff, 0xdc, 0x02, 0x6b, 0xff, 0xf2, 0x02, 0x6c, 0xff, 0xec, 
    -	0x02, 0x73, 0xff, 0xcc, 0x02, 0x74, 0xff, 0xf4, 0x02, 0x75, 0xff, 0xe3, 
    -	0x02, 0x7d, 0xff, 0xaf, 0x02, 0x7e, 0xff, 0xc0, 0x02, 0xdf, 0xff, 0xcb, 
    -	0x02, 0xe0, 0xff, 0xe2, 0x02, 0xe1, 0xff, 0xcb, 0x02, 0xe2, 0xff, 0xe2, 
    -	0x02, 0xe3, 0xff, 0xcb, 0x02, 0xe4, 0xff, 0xe2, 0x02, 0xe5, 0xff, 0xcb, 
    -	0x02, 0xe6, 0xff, 0xe2, 0x02, 0xf8, 0xff, 0xc1, 0x02, 0xf9, 0xff, 0xc1, 
    -	0x02, 0xfb, 0xff, 0xc1, 0x02, 0xfc, 0xff, 0xc1, 0x02, 0xfd, 0xff, 0xc1, 
    -	0x03, 0x05, 0xff, 0xc1, 0x03, 0x06, 0xff, 0xc1, 0x03, 0xcf, 0xff, 0xca, 
    -	0x03, 0xd0, 0xff, 0xca, 0x03, 0xd2, 0xff, 0xf2, 0x03, 0xd3, 0xff, 0xea, 
    -	0x03, 0xd8, 0xff, 0xcc, 0x03, 0xdc, 0xff, 0xec, 0x03, 0xe1, 0xff, 0xe1, 
    -	0x03, 0xe7, 0xff, 0xcc, 0x03, 0xe8, 0xff, 0xcc, 0x03, 0xec, 0xff, 0xde, 
    -	0x03, 0xf2, 0xff, 0xf2, 0x03, 0xf3, 0xff, 0xec, 0x03, 0xf6, 0xff, 0xca, 
    -	0x03, 0xf7, 0xff, 0xb9, 0x04, 0x00, 0xff, 0xf2, 0x04, 0x01, 0xff, 0xec, 
    -	0x04, 0x08, 0xff, 0xea, 0x04, 0x09, 0xff, 0xea, 0x04, 0x0a, 0xff, 0xea, 
    -	0x00, 0x4c, 0x00, 0x37, 0xff, 0xb2, 0x00, 0x50, 0xff, 0xdc, 0x00, 0x51, 
    -	0xff, 0xdc, 0x00, 0x53, 0xff, 0xdc, 0x00, 0x59, 0xff, 0xec, 0x00, 0x5c, 
    -	0xff, 0xec, 0x00, 0xb3, 0xff, 0xdc, 0x00, 0xbf, 0xff, 0xec, 0x00, 0xc1, 
    -	0xff, 0xec, 0x01, 0x06, 0xff, 0xdc, 0x01, 0x08, 0xff, 0xdc, 0x01, 0x0a, 
    -	0xff, 0xdc, 0x01, 0x0b, 0xff, 0xdc, 0x01, 0x24, 0xff, 0xb2, 0x01, 0x26, 
    -	0xff, 0xb2, 0x01, 0x39, 0xff, 0xec, 0x01, 0x88, 0xff, 0xdc, 0x01, 0x8d, 
    -	0xff, 0xec, 0x01, 0x91, 0xff, 0xdc, 0x01, 0x97, 0xff, 0xec, 0x01, 0xca, 
    -	0xff, 0xb2, 0x01, 0xd3, 0xff, 0xdc, 0x01, 0xd5, 0xff, 0xdc, 0x01, 0xd6, 
    -	0xff, 0xdc, 0x01, 0xd7, 0xff, 0xdc, 0x01, 0xd9, 0xff, 0xdc, 0x01, 0xda, 
    -	0xff, 0xdc, 0x01, 0xdc, 0xff, 0xdc, 0x01, 0xdd, 0xff, 0xdc, 0x01, 0xdf, 
    -	0xff, 0xd9, 0x01, 0xe0, 0xff, 0xec, 0x01, 0xe2, 0xff, 0xdc, 0x01, 0xe4, 
    -	0xff, 0xdc, 0x01, 0xe5, 0xff, 0xdc, 0x01, 0xe7, 0xff, 0xdc, 0x01, 0xe9, 
    -	0xff, 0xdc, 0x01, 0xee, 0xff, 0xdc, 0x01, 0xf5, 0xff, 0xdc, 0x01, 0xf7, 
    -	0xff, 0xdc, 0x01, 0xf8, 0xff, 0xdc, 0x01, 0xf9, 0xff, 0xec, 0x02, 0x08, 
    -	0xff, 0xec, 0x02, 0x09, 0xff, 0xec, 0x02, 0x18, 0xff, 0xdc, 0x02, 0x1f, 
    -	0xff, 0xdc, 0x02, 0x25, 0xff, 0xdc, 0x02, 0x27, 0xff, 0xdc, 0x02, 0x28, 
    -	0xff, 0xb2, 0x02, 0x2b, 0xff, 0xec, 0x02, 0x30, 0xff, 0xb2, 0x02, 0x38, 
    -	0xff, 0xe6, 0x02, 0x3e, 0xff, 0xdc, 0x02, 0x40, 0xff, 0xdc, 0x02, 0x44, 
    -	0xff, 0xdc, 0x02, 0x59, 0xff, 0xdc, 0x02, 0x5b, 0xff, 0xdc, 0x02, 0x60, 
    -	0xff, 0xec, 0x02, 0x61, 0xff, 0xec, 0x02, 0x62, 0xff, 0xec, 0x02, 0x66, 
    -	0xff, 0xdc, 0x02, 0x68, 0xff, 0xdc, 0x02, 0x6a, 0xff, 0xdc, 0x02, 0x74, 
    -	0xff, 0xf4, 0x02, 0x7e, 0xff, 0xda, 0x02, 0x86, 0xff, 0xdc, 0x02, 0xe0, 
    -	0xff, 0xec, 0x02, 0xe2, 0xff, 0xec, 0x02, 0xe4, 0xff, 0xec, 0x02, 0xe6, 
    -	0xff, 0xec, 0x03, 0xcf, 0xff, 0xb2, 0x03, 0xd0, 0xff, 0xb2, 0x03, 0xd8, 
    -	0xff, 0xc0, 0x03, 0xe1, 0xff, 0xea, 0x03, 0xec, 0xff, 0xe8, 0x03, 0xf6, 
    -	0xff, 0xb2, 0x03, 0xf7, 0xff, 0xd9, 0x00, 0x8e, 0x00, 0x24, 0x00, 0x13, 
    -	0x00, 0x26, 0xff, 0xe4, 0x00, 0x2a, 0xff, 0xe4, 0x00, 0x32, 0xff, 0xe4, 
    -	0x00, 0x34, 0xff, 0xe4, 0x00, 0x37, 0xff, 0xda, 0x00, 0x39, 0xff, 0xda, 
    -	0x00, 0x3c, 0xff, 0xd9, 0x00, 0x82, 0x00, 0x13, 0x00, 0x83, 0x00, 0x13, 
    -	0x00, 0x84, 0x00, 0x13, 0x00, 0x85, 0x00, 0x13, 0x00, 0x86, 0x00, 0x13, 
    -	0x00, 0x87, 0x00, 0x13, 0x00, 0x89, 0xff, 0xe4, 0x00, 0x94, 0xff, 0xe4, 
    -	0x00, 0x95, 0xff, 0xe4, 0x00, 0x96, 0xff, 0xe4, 0x00, 0x97, 0xff, 0xe4, 
    -	0x00, 0x98, 0xff, 0xe4, 0x00, 0x9a, 0xff, 0xe4, 0x00, 0x9f, 0xff, 0xd9, 
    -	0x00, 0xc2, 0x00, 0x13, 0x00, 0xc4, 0x00, 0x13, 0x00, 0xc6, 0x00, 0x13, 
    -	0x00, 0xc8, 0xff, 0xe4, 0x00, 0xca, 0xff, 0xe4, 0x00, 0xcc, 0xff, 0xe4, 
    -	0x00, 0xce, 0xff, 0xe4, 0x00, 0xde, 0xff, 0xe4, 0x00, 0xe0, 0xff, 0xe4, 
    -	0x00, 0xe2, 0xff, 0xe4, 0x00, 0xe4, 0xff, 0xe4, 0x01, 0x0e, 0xff, 0xe4, 
    -	0x01, 0x10, 0xff, 0xe4, 0x01, 0x12, 0xff, 0xe4, 0x01, 0x14, 0xff, 0xe4, 
    -	0x01, 0x24, 0xff, 0xda, 0x01, 0x26, 0xff, 0xda, 0x01, 0x38, 0xff, 0xd9, 
    -	0x01, 0x3a, 0xff, 0xd9, 0x01, 0x43, 0xff, 0xe4, 0x01, 0x48, 0x00, 0x13, 
    -	0x01, 0x4c, 0xff, 0xe4, 0x01, 0x63, 0x00, 0x13, 0x01, 0x68, 0xff, 0xe4, 
    -	0x01, 0x69, 0xff, 0xd9, 0x01, 0x6c, 0x00, 0x13, 0x01, 0x6f, 0x00, 0x13, 
    -	0x01, 0x73, 0xff, 0xe4, 0x01, 0x76, 0x00, 0x13, 0x01, 0x7a, 0xff, 0xe4, 
    -	0x01, 0x7f, 0xff, 0xd9, 0x01, 0x85, 0xff, 0xd9, 0x01, 0xaf, 0xff, 0xe4, 
    -	0x01, 0xb4, 0x00, 0x13, 0x01, 0xba, 0x00, 0x13, 0x01, 0xc3, 0x00, 0x13, 
    -	0x01, 0xc6, 0xff, 0xe4, 0x01, 0xc9, 0xff, 0xe4, 0x01, 0xca, 0xff, 0xda, 
    -	0x01, 0xcd, 0xff, 0xdc, 0x01, 0xd8, 0x00, 0x13, 0x01, 0xe3, 0xff, 0xda, 
    -	0x01, 0xf4, 0x00, 0x13, 0x01, 0xfc, 0x00, 0x13, 0x02, 0x0a, 0xff, 0xe4, 
    -	0x02, 0x0c, 0xff, 0xe4, 0x02, 0x0e, 0xff, 0xe4, 0x02, 0x28, 0xff, 0xda, 
    -	0x02, 0x2a, 0xff, 0xd9, 0x02, 0x2c, 0xff, 0xd9, 0x02, 0x30, 0xff, 0xda, 
    -	0x02, 0x32, 0xff, 0xdc, 0x02, 0x33, 0xff, 0xda, 0x02, 0x34, 0xff, 0xdc, 
    -	0x02, 0x35, 0xff, 0xda, 0x02, 0x39, 0xff, 0xdc, 0x02, 0x3b, 0x00, 0x13, 
    -	0x02, 0x3c, 0x00, 0x13, 0x02, 0x41, 0xff, 0xdc, 0x02, 0x42, 0xff, 0xda, 
    -	0x02, 0x46, 0x00, 0x13, 0x02, 0x48, 0x00, 0x13, 0x02, 0x4e, 0xff, 0xe6, 
    -	0x02, 0x5c, 0xff, 0xe4, 0x02, 0x63, 0xff, 0xdc, 0x02, 0x64, 0xff, 0xda, 
    -	0x02, 0x73, 0xff, 0xd9, 0x02, 0x75, 0xff, 0xd8, 0x02, 0x77, 0x00, 0x13, 
    -	0x02, 0x7b, 0xff, 0xe4, 0x02, 0x7d, 0xff, 0xd9, 0x02, 0x7f, 0xff, 0xf0, 
    -	0x02, 0x81, 0x00, 0x13, 0x02, 0x82, 0x00, 0x13, 0x02, 0x83, 0x00, 0x13, 
    -	0x02, 0x8d, 0x00, 0x13, 0x02, 0x8f, 0x00, 0x13, 0x02, 0x91, 0x00, 0x13, 
    -	0x02, 0x93, 0x00, 0x13, 0x02, 0x95, 0x00, 0x13, 0x02, 0x97, 0x00, 0x13, 
    -	0x02, 0x99, 0x00, 0x13, 0x02, 0x9b, 0x00, 0x13, 0x02, 0x9d, 0x00, 0x13, 
    -	0x02, 0x9f, 0x00, 0x13, 0x02, 0xa1, 0x00, 0x13, 0x02, 0xa3, 0x00, 0x13, 
    -	0x02, 0xb9, 0xff, 0xe4, 0x02, 0xbb, 0xff, 0xe4, 0x02, 0xbd, 0xff, 0xe4, 
    -	0x02, 0xbf, 0xff, 0xe4, 0x02, 0xc1, 0xff, 0xe4, 0x02, 0xc3, 0xff, 0xe4, 
    -	0x02, 0xc5, 0xff, 0xe4, 0x02, 0xc7, 0xff, 0xe4, 0x02, 0xc9, 0xff, 0xe4, 
    -	0x02, 0xcb, 0xff, 0xe4, 0x02, 0xcd, 0xff, 0xe4, 0x02, 0xcf, 0xff, 0xe4, 
    -	0x02, 0xdf, 0xff, 0xd9, 0x02, 0xe1, 0xff, 0xd9, 0x02, 0xe3, 0xff, 0xd9, 
    -	0x02, 0xe5, 0xff, 0xd9, 0x02, 0xe7, 0xff, 0xe4, 0x03, 0xcf, 0xff, 0xda, 
    -	0x03, 0xd0, 0xff, 0xda, 0x03, 0xd1, 0x00, 0x17, 0x03, 0xd8, 0xff, 0xda, 
    -	0x03, 0xdb, 0x00, 0x16, 0x03, 0xe0, 0xff, 0xe4, 0x03, 0xe5, 0xff, 0xe4, 
    -	0x03, 0xe7, 0xff, 0xda, 0x03, 0xe8, 0xff, 0xda, 0x03, 0xe9, 0xff, 0xe4, 
    -	0x03, 0xeb, 0xff, 0xe4, 0x03, 0xf6, 0xff, 0xda, 0x03, 0xfa, 0xff, 0xe4, 
    -	0x03, 0xfc, 0xff, 0xe4, 0x04, 0x04, 0xff, 0xe4, 0x04, 0x06, 0xff, 0xe4, 
    -	0x00, 0x64, 0x00, 0x24, 0x00, 0x11, 0x00, 0x37, 0xff, 0xe2, 0x00, 0x39, 
    -	0xff, 0xe2, 0x00, 0x3b, 0x00, 0x10, 0x00, 0x3c, 0xff, 0xe2, 0x00, 0x82, 
    -	0x00, 0x11, 0x00, 0x83, 0x00, 0x11, 0x00, 0x84, 0x00, 0x11, 0x00, 0x85, 
    -	0x00, 0x11, 0x00, 0x86, 0x00, 0x11, 0x00, 0x87, 0x00, 0x11, 0x00, 0x9f, 
    -	0xff, 0xe2, 0x00, 0xc2, 0x00, 0x11, 0x00, 0xc4, 0x00, 0x11, 0x00, 0xc6, 
    -	0x00, 0x11, 0x01, 0x24, 0xff, 0xe2, 0x01, 0x26, 0xff, 0xe2, 0x01, 0x38, 
    -	0xff, 0xe2, 0x01, 0x3a, 0xff, 0xe2, 0x01, 0x48, 0x00, 0x11, 0x01, 0x63, 
    -	0x00, 0x11, 0x01, 0x69, 0xff, 0xe2, 0x01, 0x6c, 0x00, 0x11, 0x01, 0x6f, 
    -	0x00, 0x11, 0x01, 0x76, 0x00, 0x11, 0x01, 0x7f, 0xff, 0xe2, 0x01, 0x81, 
    -	0x00, 0x10, 0x01, 0x85, 0xff, 0xe2, 0x01, 0xb4, 0x00, 0x10, 0x01, 0xb8, 
    -	0x00, 0x0c, 0x01, 0xba, 0x00, 0x11, 0x01, 0xc3, 0x00, 0x10, 0x01, 0xca, 
    -	0xff, 0xe2, 0x01, 0xcb, 0x00, 0x10, 0x01, 0xcd, 0xff, 0xe1, 0x01, 0xcf, 
    -	0xff, 0xf2, 0x01, 0xd8, 0x00, 0x11, 0x01, 0xdf, 0xff, 0xe3, 0x01, 0xe3, 
    -	0xff, 0xe4, 0x01, 0xf4, 0x00, 0x11, 0x01, 0xfc, 0x00, 0x11, 0x02, 0x28, 
    -	0xff, 0xe2, 0x02, 0x2a, 0xff, 0xe2, 0x02, 0x2c, 0xff, 0xe2, 0x02, 0x2e, 
    -	0x00, 0x10, 0x02, 0x30, 0xff, 0xe2, 0x02, 0x32, 0xff, 0xe1, 0x02, 0x33, 
    -	0xff, 0xe4, 0x02, 0x34, 0xff, 0xe1, 0x02, 0x35, 0xff, 0xe4, 0x02, 0x3b, 
    -	0x00, 0x10, 0x02, 0x3c, 0x00, 0x11, 0x02, 0x41, 0xff, 0xe1, 0x02, 0x42, 
    -	0xff, 0xe4, 0x02, 0x46, 0x00, 0x11, 0x02, 0x48, 0x00, 0x11, 0x02, 0x52, 
    -	0x00, 0x10, 0x02, 0x63, 0xff, 0xe1, 0x02, 0x64, 0xff, 0xe4, 0x02, 0x6b, 
    -	0x00, 0x10, 0x02, 0x73, 0xff, 0xe2, 0x02, 0x75, 0xff, 0xe2, 0x02, 0x77, 
    -	0x00, 0x10, 0x02, 0x7d, 0xff, 0xe2, 0x02, 0x7e, 0xff, 0xe3, 0x02, 0x81, 
    -	0x00, 0x10, 0x02, 0x82, 0x00, 0x11, 0x02, 0x83, 0x00, 0x11, 0x02, 0x8d, 
    -	0x00, 0x11, 0x02, 0x8f, 0x00, 0x11, 0x02, 0x91, 0x00, 0x11, 0x02, 0x93, 
    -	0x00, 0x11, 0x02, 0x95, 0x00, 0x11, 0x02, 0x97, 0x00, 0x11, 0x02, 0x99, 
    -	0x00, 0x11, 0x02, 0x9b, 0x00, 0x11, 0x02, 0x9d, 0x00, 0x11, 0x02, 0x9f, 
    -	0x00, 0x11, 0x02, 0xa1, 0x00, 0x11, 0x02, 0xa3, 0x00, 0x11, 0x02, 0xdf, 
    -	0xff, 0xe2, 0x02, 0xe1, 0xff, 0xe2, 0x02, 0xe3, 0xff, 0xe2, 0x02, 0xe5, 
    -	0xff, 0xe2, 0x03, 0xcf, 0xff, 0xe2, 0x03, 0xd0, 0xff, 0xe2, 0x03, 0xd1, 
    -	0x00, 0x16, 0x03, 0xd2, 0x00, 0x10, 0x03, 0xd3, 0x00, 0x0c, 0x03, 0xd8, 
    -	0xff, 0xe2, 0x03, 0xdb, 0x00, 0x15, 0x03, 0xe7, 0xff, 0xe2, 0x03, 0xe8, 
    -	0xff, 0xe2, 0x03, 0xf2, 0x00, 0x10, 0x03, 0xf6, 0xff, 0xe2, 0x03, 0xf7, 
    -	0xff, 0xe3, 0x04, 0x00, 0x00, 0x10, 0x04, 0x08, 0x00, 0x0c, 0x04, 0x09, 
    -	0x00, 0x0c, 0x04, 0x0a, 0x00, 0x0c, 0x00, 0x09, 0x01, 0xdf, 0xff, 0xc6, 
    -	0x02, 0x34, 0xff, 0xe3, 0x02, 0x38, 0xff, 0xd9, 0x02, 0x73, 0xff, 0xc9, 
    -	0x02, 0x75, 0xff, 0xe9, 0x02, 0x7d, 0xff, 0x8e, 0x02, 0x7e, 0xff, 0xc9, 
    -	0x03, 0xd8, 0xff, 0xb8, 0x03, 0xf7, 0xff, 0xc5, 0x00, 0x16, 0x00, 0x37, 
    -	0xff, 0xe8, 0x00, 0x3c, 0xff, 0xf1, 0x00, 0x9f, 0xff, 0xf1, 0x01, 0x24, 
    -	0xff, 0xe8, 0x01, 0x26, 0xff, 0xe8, 0x01, 0x38, 0xff, 0xf1, 0x01, 0x3a, 
    -	0xff, 0xf1, 0x01, 0x69, 0xff, 0xf1, 0x01, 0x7f, 0xff, 0xf1, 0x01, 0x85, 
    -	0xff, 0xf1, 0x01, 0xca, 0xff, 0xe8, 0x02, 0x28, 0xff, 0xe8, 0x02, 0x2a, 
    -	0xff, 0xf1, 0x02, 0x2c, 0xff, 0xf1, 0x02, 0x30, 0xff, 0xe8, 0x02, 0xdf, 
    -	0xff, 0xf1, 0x02, 0xe1, 0xff, 0xf1, 0x02, 0xe3, 0xff, 0xf1, 0x02, 0xe5, 
    -	0xff, 0xf1, 0x03, 0xcf, 0xff, 0xe8, 0x03, 0xd0, 0xff, 0xe8, 0x03, 0xf6, 
    -	0xff, 0xe8, 0x00, 0x36, 0x00, 0x50, 0xff, 0xec, 0x00, 0x51, 0xff, 0xec, 
    -	0x00, 0x53, 0xff, 0xec, 0x00, 0x5b, 0xff, 0xed, 0x00, 0xb3, 0xff, 0xec, 
    -	0x01, 0x06, 0xff, 0xec, 0x01, 0x08, 0xff, 0xec, 0x01, 0x0a, 0xff, 0xec, 
    -	0x01, 0x0b, 0xff, 0xec, 0x01, 0x88, 0xff, 0xec, 0x01, 0x91, 0xff, 0xec, 
    -	0x01, 0xd3, 0xff, 0xec, 0x01, 0xd5, 0xff, 0xec, 0x01, 0xd6, 0xff, 0xec, 
    -	0x01, 0xd7, 0xff, 0xec, 0x01, 0xd9, 0xff, 0xec, 0x01, 0xda, 0xff, 0xec, 
    -	0x01, 0xdc, 0xff, 0xec, 0x01, 0xdd, 0xff, 0xec, 0x01, 0xdf, 0xff, 0xeb, 
    -	0x01, 0xe1, 0xff, 0xed, 0x01, 0xe2, 0xff, 0xec, 0x01, 0xe4, 0xff, 0xec, 
    -	0x01, 0xe5, 0xff, 0xec, 0x01, 0xe7, 0xff, 0xec, 0x01, 0xe9, 0xff, 0xec, 
    -	0x01, 0xee, 0xff, 0xec, 0x01, 0xf5, 0xff, 0xec, 0x01, 0xf7, 0xff, 0xec, 
    -	0x01, 0xf8, 0xff, 0xec, 0x02, 0x18, 0xff, 0xec, 0x02, 0x1f, 0xff, 0xec, 
    -	0x02, 0x25, 0xff, 0xec, 0x02, 0x27, 0xff, 0xec, 0x02, 0x2f, 0xff, 0xed, 
    -	0x02, 0x3e, 0xff, 0xec, 0x02, 0x40, 0xff, 0xec, 0x02, 0x44, 0xff, 0xec, 
    -	0x02, 0x53, 0xff, 0xed, 0x02, 0x59, 0xff, 0xec, 0x02, 0x5b, 0xff, 0xec, 
    -	0x02, 0x66, 0xff, 0xec, 0x02, 0x68, 0xff, 0xec, 0x02, 0x6a, 0xff, 0xec, 
    -	0x02, 0x6c, 0xff, 0xed, 0x02, 0x7e, 0xff, 0xec, 0x02, 0x86, 0xff, 0xec, 
    -	0x03, 0xdb, 0xff, 0xeb, 0x03, 0xdc, 0xff, 0xed, 0x03, 0xe1, 0xff, 0xf2, 
    -	0x03, 0xec, 0xff, 0xef, 0x03, 0xf3, 0xff, 0xed, 0x03, 0xf7, 0xff, 0xec, 
    -	0x04, 0x01, 0xff, 0xed, 0x00, 0x09, 0x01, 0xdf, 0xff, 0xea, 0x01, 0xe3, 
    -	0xff, 0xea, 0x02, 0x33, 0xff, 0xea, 0x02, 0x35, 0xff, 0xea, 0x02, 0x42, 
    -	0xff, 0xea, 0x02, 0x64, 0xff, 0xea, 0x02, 0x7e, 0xff, 0xea, 0x03, 0xdb, 
    -	0x00, 0x17, 0x03, 0xf7, 0xff, 0xea, 0x00, 0x0a, 0x00, 0x05, 0xff, 0xec, 
    -	0x00, 0x0a, 0xff, 0xec, 0x01, 0x51, 0xff, 0xec, 0x02, 0xf8, 0xff, 0xec, 
    -	0x02, 0xf9, 0xff, 0xec, 0x02, 0xfb, 0xff, 0xec, 0x02, 0xfc, 0xff, 0xec, 
    -	0x02, 0xfd, 0xff, 0xec, 0x03, 0x05, 0xff, 0xec, 0x03, 0x06, 0xff, 0xec, 
    -	0x00, 0x08, 0x01, 0xdf, 0xff, 0xae, 0x02, 0x35, 0xff, 0xea, 0x02, 0x74, 
    -	0xff, 0xed, 0x02, 0x76, 0xff, 0xf0, 0x02, 0x7e, 0xff, 0xae, 0x03, 0xe1, 
    -	0xff, 0xd3, 0x03, 0xec, 0xff, 0xd5, 0x03, 0xf7, 0xff, 0x8e, 0x00, 0x09, 
    -	0x00, 0x0c, 0x00, 0x17, 0x00, 0x40, 0x00, 0x14, 0x00, 0x55, 0xff, 0xdd, 
    -	0x00, 0x60, 0x00, 0x16, 0x03, 0x42, 0xff, 0xd3, 0x03, 0x44, 0xff, 0xd3, 
    -	0x03, 0x4d, 0xff, 0xd3, 0x03, 0x51, 0xff, 0xd3, 0x03, 0x55, 0xff, 0x6a, 
    -	0x00, 0x06, 0x01, 0x9e, 0xff, 0xe7, 0x01, 0xa1, 0xff, 0xe4, 0x01, 0xdf, 
    -	0xff, 0xe8, 0x02, 0x7e, 0xff, 0xe9, 0x03, 0xdb, 0xff, 0xc6, 0x03, 0xf7, 
    -	0xff, 0xe9, 0x00, 0x13, 0x00, 0x5a, 0xff, 0xb6, 0x01, 0x80, 0xff, 0xbb, 
    -	0x01, 0x9e, 0xff, 0xa6, 0x01, 0xdf, 0xff, 0xad, 0x02, 0x0d, 0xff, 0xca, 
    -	0x02, 0x35, 0xff, 0x86, 0x02, 0x4e, 0xff, 0xd0, 0x02, 0x74, 0xff, 0x87, 
    -	0x02, 0x76, 0xff, 0x7f, 0x02, 0x7e, 0xff, 0x8d, 0x02, 0x7f, 0xff, 0xec, 
    -	0x03, 0x42, 0xff, 0xe3, 0x03, 0x44, 0xff, 0xe3, 0x03, 0x4d, 0xff, 0xe2, 
    -	0x03, 0x51, 0xff, 0xe4, 0x03, 0xda, 0xff, 0xd0, 0x03, 0xe1, 0xff, 0xa4, 
    -	0x03, 0xec, 0xff, 0xbe, 0x03, 0xf7, 0xff, 0x61, 0x00, 0x02, 0x00, 0x0c, 
    -	0xff, 0xe2, 0x02, 0x39, 0xff, 0xea, 0x00, 0x18, 0x01, 0x80, 0xff, 0xcc, 
    -	0x01, 0x8e, 0xff, 0xed, 0x01, 0x92, 0xff, 0xea, 0x01, 0x95, 0x00, 0x14, 
    -	0x01, 0x9e, 0xff, 0x97, 0x01, 0xa0, 0xff, 0xcc, 0x01, 0xa2, 0xff, 0xd2, 
    -	0x01, 0xa3, 0xff, 0xd5, 0x01, 0xdf, 0xff, 0xc1, 0x02, 0x35, 0xff, 0xad, 
    -	0x02, 0x38, 0xff, 0xcf, 0x02, 0x39, 0xff, 0xbb, 0x02, 0x4e, 0xff, 0xe3, 
    -	0x02, 0x73, 0x00, 0x0f, 0x02, 0x75, 0x00, 0x0e, 0x02, 0x7e, 0xff, 0xa2, 
    -	0x02, 0x7f, 0xff, 0xf0, 0x03, 0x42, 0xff, 0xe6, 0x03, 0x44, 0xff, 0xe3, 
    -	0x03, 0x4d, 0xff, 0xe3, 0x03, 0x51, 0xff, 0xe6, 0x03, 0xd1, 0x00, 0x1c, 
    -	0x03, 0xda, 0xff, 0xe6, 0x03, 0xf7, 0xff, 0x94, 0x00, 0x01, 0x02, 0x0d, 
    -	0xff, 0xef, 0x00, 0x08, 0x01, 0x9e, 0xff, 0xe7, 0x01, 0xa1, 0xff, 0xe7, 
    -	0x01, 0xdf, 0xff, 0xe7, 0x02, 0x74, 0xff, 0xf4, 0x02, 0x7e, 0xff, 0xe9, 
    -	0x03, 0xe1, 0xff, 0xed, 0x03, 0xec, 0xff, 0xef, 0x03, 0xf7, 0xff, 0xd9, 
    -	0x00, 0x13, 0x01, 0xd2, 0xff, 0xda, 0x01, 0xe6, 0xff, 0xd9, 0x01, 0xea, 
    -	0xff, 0xca, 0x01, 0xfa, 0xff, 0xda, 0x02, 0x0d, 0xff, 0xc5, 0x02, 0x1b, 
    -	0xff, 0xdd, 0x02, 0x21, 0xff, 0xda, 0x02, 0x35, 0xff, 0xe6, 0x02, 0x37, 
    -	0xff, 0xd8, 0x02, 0x39, 0xff, 0xd4, 0x02, 0x6f, 0xff, 0xb1, 0x02, 0x7a, 
    -	0xff, 0xd9, 0x02, 0x7d, 0x00, 0x14, 0x03, 0xd1, 0xff, 0x9f, 0x03, 0xd8, 
    -	0x00, 0x15, 0x03, 0xdb, 0xff, 0x9e, 0x03, 0xdd, 0xff, 0xcf, 0x03, 0xef, 
    -	0xff, 0xd7, 0x03, 0xf9, 0xff, 0xda, 0x00, 0x02, 0x07, 0x16, 0x00, 0x04, 
    -	0x00, 0x00, 0x09, 0x96, 0x0f, 0xfa, 0x00, 0x1f, 0x00, 0x1d, 0x00, 0x00, 
    -	0xff, 0xd5, 0xff, 0x52, 0xff, 0xaf, 0xff, 0xa4, 0xff, 0xe9, 0xff, 0xa9, 
    -	0xff, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xe3, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe1, 
    -	0xff, 0xe4, 0xff, 0x7e, 0xff, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xde, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe1, 0xff, 0xe7, 0xff, 0xce, 
    -	0x00, 0x00, 0xff, 0xa8, 0xff, 0xe7, 0xff, 0xe6, 0xff, 0xcd, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf3, 0x00, 0x00, 
    -	0xff, 0xea, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xec, 0xff, 0xe2, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe2, 0x00, 0x00, 0xff, 0xe1, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe6, 0xff, 0xd1, 0xff, 0x58, 0xff, 0xc6, 
    -	0xff, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xd6, 0x00, 0x16, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x2b, 
    -	0xff, 0x29, 0xfe, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xf0, 0xff, 0x74, 0x00, 0x00, 0xff, 0xc5, 0x00, 0x00, 
    -	0xff, 0xe4, 0xff, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x58, 0xff, 0xf4, 
    -	0xff, 0xf1, 0x00, 0x00, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xfe, 0x82, 0xff, 0xb3, 0xff, 0xd9, 0xff, 0x66, 
    -	0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0xff, 0x9e, 0xff, 0x97, 
    -	0xff, 0xad, 0xff, 0xa3, 0xff, 0xa6, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 
    -	0x00, 0x00, 0xff, 0x35, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xff, 0xb3, 
    -	0xff, 0x9f, 0xff, 0x38, 0xff, 0xdf, 0xff, 0x64, 0x00, 0x00, 0x00, 0x11, 
    -	0xff, 0x66, 0xff, 0xed, 0xff, 0xa5, 0xff, 0xb9, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0x73, 0xff, 0xca, 0xff, 0xcc, 0x00, 0x00, 
    -	0xff, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xdf, 0xff, 0xf4, 
    -	0xff, 0xb7, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xb7, 0xff, 0xd9, 0xff, 0xdc, 0x00, 0x00, 0xff, 0xdc, 
    -	0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x57, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xea, 0x00, 0x00, 0xff, 0x9b, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe2, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x14, 0xff, 0xe8, 0xff, 0xcd, 0xff, 0x46, 0xff, 0xdb, 
    -	0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x61, 
    -	0xff, 0xa0, 0xff, 0x7f, 0xff, 0xb3, 0xff, 0x70, 0xff, 0x87, 0x00, 0x14, 
    -	0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0xff, 0x09, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xb5, 0xff, 0xe9, 0xff, 0x7d, 0xff, 0xde, 0x00, 0x00, 
    -	0xff, 0xc3, 0x00, 0x14, 0x00, 0x00, 0xff, 0xed, 0xff, 0xde, 0xff, 0xd6, 
    -	0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 
    -	0xff, 0xe8, 0x00, 0x00, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xea, 0xff, 0xe1, 0x00, 0x00, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf4, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 
    -	0x00, 0x00, 0xff, 0xef, 0xff, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xda, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc8, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc3, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 0xff, 0xe0, 0xff, 0xed, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xef, 0xff, 0xf1, 0x00, 0x00, 
    -	0xff, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc8, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe9, 0x00, 0x00, 0xff, 0xe4, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x42, 
    -	0xff, 0x46, 0xff, 0x3a, 0xff, 0x60, 0xff, 0x4e, 0xff, 0x53, 0x00, 0x0c, 
    -	0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0xfe, 0x93, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x82, 0xff, 0x6a, 0xff, 0x48, 0xfe, 0x98, 0xff, 0xb4, 0xfe, 0xe2, 
    -	0x00, 0x00, 0x00, 0x08, 0xfe, 0xe7, 0xff, 0xcc, 0xff, 0x52, 0xff, 0x74, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8d, 0xff, 0xbe, 
    -	0xff, 0x9e, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff, 0x95, 0xff, 0xa0, 0xff, 0xb1, 
    -	0xff, 0xc5, 0xff, 0xb1, 0xff, 0xca, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 
    -	0x00, 0x00, 0xff, 0x2b, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0x60, 0xff, 0xe6, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe9, 0x00, 0x00, 
    -	0xff, 0xe9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb9, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x3e, 
    -	0x00, 0x05, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x25, 
    -	0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 
    -	0x00, 0x32, 0x00, 0x33, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 
    -	0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 
    -	0x00, 0x48, 0x00, 0x4b, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 
    -	0x00, 0x55, 0x00, 0x59, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x89, 
    -	0x00, 0x8a, 0x00, 0x8b, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x92, 0x00, 0x94, 
    -	0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x9b, 0x00, 0x9c, 
    -	0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 
    -	0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 
    -	0x00, 0xac, 0x00, 0xad, 0x00, 0xb3, 0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 
    -	0x00, 0xb7, 0x00, 0xb8, 0x00, 0xbf, 0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc3, 
    -	0x00, 0xc5, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 
    -	0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd2, 
    -	0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, 0x00, 0xd8, 0x00, 0xd9, 
    -	0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 0x00, 0xe7, 0x00, 0xf6, 
    -	0x00, 0xf8, 0x00, 0xfb, 0x00, 0xfd, 0x00, 0xff, 0x01, 0x01, 0x01, 0x06, 
    -	0x01, 0x08, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 
    -	0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x17, 0x01, 0x19, 0x01, 0x1b, 
    -	0x01, 0x24, 0x01, 0x26, 0x01, 0x28, 0x01, 0x2a, 0x01, 0x2c, 0x01, 0x2e, 
    -	0x01, 0x30, 0x01, 0x32, 0x01, 0x34, 0x01, 0x36, 0x01, 0x38, 0x01, 0x39, 
    -	0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 
    -	0x01, 0x40, 0x01, 0x49, 0x01, 0x51, 0x01, 0x65, 0x01, 0x68, 0x01, 0x69, 
    -	0x01, 0x6d, 0x01, 0x6e, 0x01, 0x70, 0x01, 0x71, 0x01, 0x73, 0x01, 0x75, 
    -	0x01, 0x7a, 0x01, 0x7c, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x81, 0x01, 0x85, 
    -	0x01, 0x88, 0x01, 0x8d, 0x01, 0x91, 0x01, 0x97, 0x01, 0x99, 0x01, 0x9b, 
    -	0x01, 0xa6, 0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 0x01, 0xb3, 0x01, 0xb4, 
    -	0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb8, 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 
    -	0x01, 0xc2, 0x01, 0xc6, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, 
    -	0x01, 0xd1, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xdb, 0x01, 0xdd, 0x01, 0xde, 
    -	0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xeb, 0x01, 0xec, 
    -	0x01, 0xee, 0x01, 0xf4, 0x01, 0xf5, 0x01, 0xf9, 0x01, 0xfb, 0x02, 0x08, 
    -	0x02, 0x09, 0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1e, 0x02, 0x20, 
    -	0x02, 0x22, 0x02, 0x28, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, 0x2e, 
    -	0x02, 0x2f, 0x02, 0x37, 0x02, 0x47, 0x02, 0x49, 0x02, 0x4c, 0x02, 0x4d, 
    -	0x02, 0x4f, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x5c, 0x02, 0x5d, 
    -	0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x65, 0x02, 0x66, 
    -	0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x84, 0x02, 0x86, 0x02, 0x87, 
    -	0x02, 0x89, 0x02, 0x8b, 0x02, 0x8e, 0x02, 0x90, 0x02, 0x92, 0x02, 0x94, 
    -	0x02, 0x96, 0x02, 0x98, 0x02, 0x9a, 0x02, 0x9c, 0x02, 0x9e, 0x02, 0xa0, 
    -	0x02, 0xa2, 0x02, 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 
    -	0x02, 0xa9, 0x02, 0xaa, 0x02, 0xab, 0x02, 0xac, 0x02, 0xad, 0x02, 0xae, 
    -	0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 0x02, 0xb4, 
    -	0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, 0xbe, 
    -	0x02, 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02, 0xc3, 0x02, 0xc4, 
    -	0x02, 0xc5, 0x02, 0xc6, 0x02, 0xce, 0x02, 0xd1, 0x02, 0xd3, 0x02, 0xdf, 
    -	0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 
    -	0x02, 0xe6, 0x02, 0xe7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 
    -	0x02, 0xfc, 0x02, 0xfd, 0x02, 0xfe, 0x03, 0x02, 0x03, 0x03, 0x03, 0x05, 
    -	0x03, 0x06, 0x03, 0xd2, 0x03, 0xd3, 0x03, 0xd7, 0x03, 0xd8, 0x03, 0xdc, 
    -	0x03, 0xde, 0x03, 0xdf, 0x03, 0xe2, 0x03, 0xe6, 0x03, 0xe7, 0x03, 0xe8, 
    -	0x03, 0xef, 0x03, 0xf2, 0x03, 0xf3, 0x03, 0xf6, 0x03, 0xfc, 0x03, 0xfd, 
    -	0x04, 0x00, 0x04, 0x01, 0x04, 0x07, 0x04, 0x08, 0x04, 0x09, 0x04, 0x0a, 
    -	0x00, 0x02, 0x01, 0x10, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x11, 
    -	0x00, 0x11, 0x00, 0x01, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x25, 
    -	0x00, 0x25, 0x00, 0x02, 0x00, 0x26, 0x00, 0x26, 0x00, 0x03, 0x00, 0x27, 
    -	0x00, 0x27, 0x00, 0x04, 0x00, 0x28, 0x00, 0x28, 0x00, 0x05, 0x00, 0x2d, 
    -	0x00, 0x2d, 0x00, 0x06, 0x00, 0x2e, 0x00, 0x2e, 0x00, 0x07, 0x00, 0x2f, 
    -	0x00, 0x2f, 0x00, 0x08, 0x00, 0x32, 0x00, 0x32, 0x00, 0x04, 0x00, 0x33, 
    -	0x00, 0x33, 0x00, 0x09, 0x00, 0x37, 0x00, 0x37, 0x00, 0x0a, 0x00, 0x38, 
    -	0x00, 0x38, 0x00, 0x06, 0x00, 0x39, 0x00, 0x39, 0x00, 0x0b, 0x00, 0x3a, 
    -	0x00, 0x3a, 0x00, 0x0c, 0x00, 0x3b, 0x00, 0x3b, 0x00, 0x0d, 0x00, 0x3c, 
    -	0x00, 0x3c, 0x00, 0x0e, 0x00, 0x3d, 0x00, 0x3d, 0x00, 0x0f, 0x00, 0x44, 
    -	0x00, 0x44, 0x00, 0x10, 0x00, 0x45, 0x00, 0x45, 0x00, 0x11, 0x00, 0x46, 
    -	0x00, 0x46, 0x00, 0x12, 0x00, 0x48, 0x00, 0x48, 0x00, 0x13, 0x00, 0x4b, 
    -	0x00, 0x4b, 0x00, 0x14, 0x00, 0x50, 0x00, 0x51, 0x00, 0x14, 0x00, 0x52, 
    -	0x00, 0x52, 0x00, 0x15, 0x00, 0x53, 0x00, 0x53, 0x00, 0x11, 0x00, 0x55, 
    -	0x00, 0x55, 0x00, 0x16, 0x00, 0x59, 0x00, 0x59, 0x00, 0x17, 0x00, 0x5b, 
    -	0x00, 0x5b, 0x00, 0x18, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x17, 0x00, 0x5d, 
    -	0x00, 0x5d, 0x00, 0x19, 0x00, 0x89, 0x00, 0x89, 0x00, 0x03, 0x00, 0x8a, 
    -	0x00, 0x8d, 0x00, 0x05, 0x00, 0x92, 0x00, 0x92, 0x00, 0x04, 0x00, 0x94, 
    -	0x00, 0x98, 0x00, 0x04, 0x00, 0x9b, 0x00, 0x9e, 0x00, 0x06, 0x00, 0x9f, 
    -	0x00, 0x9f, 0x00, 0x0e, 0x00, 0xa2, 0x00, 0xa7, 0x00, 0x10, 0x00, 0xa9, 
    -	0x00, 0xa9, 0x00, 0x12, 0x00, 0xaa, 0x00, 0xad, 0x00, 0x13, 0x00, 0xb3, 
    -	0x00, 0xb3, 0x00, 0x14, 0x00, 0xb4, 0x00, 0xb8, 0x00, 0x15, 0x00, 0xbf, 
    -	0x00, 0xbf, 0x00, 0x17, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x11, 0x00, 0xc1, 
    -	0x00, 0xc1, 0x00, 0x17, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0x10, 0x00, 0xc5, 
    -	0x00, 0xc5, 0x00, 0x10, 0x00, 0xc7, 0x00, 0xc7, 0x00, 0x10, 0x00, 0xc8, 
    -	0x00, 0xc8, 0x00, 0x03, 0x00, 0xc9, 0x00, 0xc9, 0x00, 0x12, 0x00, 0xca, 
    -	0x00, 0xca, 0x00, 0x03, 0x00, 0xcb, 0x00, 0xcb, 0x00, 0x12, 0x00, 0xcc, 
    -	0x00, 0xcc, 0x00, 0x03, 0x00, 0xcd, 0x00, 0xcd, 0x00, 0x12, 0x00, 0xce, 
    -	0x00, 0xce, 0x00, 0x03, 0x00, 0xcf, 0x00, 0xcf, 0x00, 0x12, 0x00, 0xd0, 
    -	0x00, 0xd0, 0x00, 0x04, 0x00, 0xd2, 0x00, 0xd2, 0x00, 0x04, 0x00, 0xd4, 
    -	0x00, 0xd4, 0x00, 0x05, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x13, 0x00, 0xd6, 
    -	0x00, 0xd6, 0x00, 0x05, 0x00, 0xd7, 0x00, 0xd7, 0x00, 0x13, 0x00, 0xd8, 
    -	0x00, 0xd8, 0x00, 0x05, 0x00, 0xd9, 0x00, 0xd9, 0x00, 0x13, 0x00, 0xda, 
    -	0x00, 0xda, 0x00, 0x05, 0x00, 0xdb, 0x00, 0xdb, 0x00, 0x13, 0x00, 0xdc, 
    -	0x00, 0xdc, 0x00, 0x05, 0x00, 0xdd, 0x00, 0xdd, 0x00, 0x13, 0x00, 0xe7, 
    -	0x00, 0xe7, 0x00, 0x14, 0x00, 0xf6, 0x00, 0xf6, 0x00, 0x06, 0x00, 0xf8, 
    -	0x00, 0xf8, 0x00, 0x07, 0x00, 0xfb, 0x00, 0xfb, 0x00, 0x08, 0x00, 0xfd, 
    -	0x00, 0xfd, 0x00, 0x08, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x01, 0x01, 
    -	0x01, 0x01, 0x00, 0x08, 0x01, 0x06, 0x01, 0x06, 0x00, 0x14, 0x01, 0x08, 
    -	0x01, 0x08, 0x00, 0x14, 0x01, 0x0a, 0x01, 0x0b, 0x00, 0x14, 0x01, 0x0e, 
    -	0x01, 0x0e, 0x00, 0x04, 0x01, 0x0f, 0x01, 0x0f, 0x00, 0x15, 0x01, 0x10, 
    -	0x01, 0x10, 0x00, 0x04, 0x01, 0x11, 0x01, 0x11, 0x00, 0x15, 0x01, 0x12, 
    -	0x01, 0x12, 0x00, 0x04, 0x01, 0x13, 0x01, 0x13, 0x00, 0x15, 0x01, 0x17, 
    -	0x01, 0x17, 0x00, 0x16, 0x01, 0x19, 0x01, 0x19, 0x00, 0x16, 0x01, 0x1b, 
    -	0x01, 0x1b, 0x00, 0x16, 0x01, 0x24, 0x01, 0x24, 0x00, 0x0a, 0x01, 0x26, 
    -	0x01, 0x26, 0x00, 0x0a, 0x01, 0x28, 0x01, 0x28, 0x00, 0x0a, 0x01, 0x2a, 
    -	0x01, 0x2a, 0x00, 0x06, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0x06, 0x01, 0x2e, 
    -	0x01, 0x2e, 0x00, 0x06, 0x01, 0x30, 0x01, 0x30, 0x00, 0x06, 0x01, 0x32, 
    -	0x01, 0x32, 0x00, 0x06, 0x01, 0x34, 0x01, 0x34, 0x00, 0x06, 0x01, 0x36, 
    -	0x01, 0x36, 0x00, 0x0c, 0x01, 0x38, 0x01, 0x38, 0x00, 0x0e, 0x01, 0x39, 
    -	0x01, 0x39, 0x00, 0x17, 0x01, 0x3a, 0x01, 0x3a, 0x00, 0x0e, 0x01, 0x3b, 
    -	0x01, 0x3b, 0x00, 0x0f, 0x01, 0x3c, 0x01, 0x3c, 0x00, 0x19, 0x01, 0x3d, 
    -	0x01, 0x3d, 0x00, 0x0f, 0x01, 0x3e, 0x01, 0x3e, 0x00, 0x19, 0x01, 0x3f, 
    -	0x01, 0x3f, 0x00, 0x0f, 0x01, 0x40, 0x01, 0x40, 0x00, 0x19, 0x01, 0x49, 
    -	0x01, 0x49, 0x00, 0x10, 0x01, 0x65, 0x01, 0x65, 0x00, 0x05, 0x01, 0x68, 
    -	0x01, 0x68, 0x00, 0x04, 0x01, 0x69, 0x01, 0x69, 0x00, 0x0e, 0x01, 0x6d, 
    -	0x01, 0x6d, 0x00, 0x02, 0x01, 0x6e, 0x01, 0x6e, 0x00, 0x1a, 0x01, 0x70, 
    -	0x01, 0x70, 0x00, 0x05, 0x01, 0x71, 0x01, 0x71, 0x00, 0x0f, 0x01, 0x73, 
    -	0x01, 0x73, 0x00, 0x04, 0x01, 0x75, 0x01, 0x75, 0x00, 0x07, 0x01, 0x7a, 
    -	0x01, 0x7a, 0x00, 0x04, 0x01, 0x7c, 0x01, 0x7c, 0x00, 0x09, 0x01, 0x7e, 
    -	0x01, 0x7e, 0x00, 0x0a, 0x01, 0x7f, 0x01, 0x7f, 0x00, 0x0e, 0x01, 0x81, 
    -	0x01, 0x81, 0x00, 0x0d, 0x01, 0x85, 0x01, 0x85, 0x00, 0x0e, 0x01, 0x88, 
    -	0x01, 0x88, 0x00, 0x14, 0x01, 0x8d, 0x01, 0x8d, 0x00, 0x17, 0x01, 0x91, 
    -	0x01, 0x91, 0x00, 0x14, 0x01, 0x97, 0x01, 0x97, 0x00, 0x17, 0x01, 0x99, 
    -	0x01, 0x99, 0x00, 0x15, 0x01, 0x9b, 0x01, 0x9b, 0x00, 0x11, 0x01, 0xa6, 
    -	0x01, 0xa6, 0x00, 0x15, 0x01, 0xac, 0x01, 0xad, 0x00, 0x05, 0x01, 0xae, 
    -	0x01, 0xae, 0x00, 0x1a, 0x01, 0xb3, 0x01, 0xb3, 0x00, 0x06, 0x01, 0xb4, 
    -	0x01, 0xb5, 0x00, 0x1b, 0x01, 0xb6, 0x01, 0xb6, 0x00, 0x07, 0x01, 0xb8, 
    -	0x01, 0xb8, 0x00, 0x1c, 0x01, 0xbc, 0x01, 0xbc, 0x00, 0x02, 0x01, 0xbd, 
    -	0x01, 0xbd, 0x00, 0x1a, 0x01, 0xbe, 0x01, 0xbe, 0x00, 0x05, 0x01, 0xc2, 
    -	0x01, 0xc2, 0x00, 0x07, 0x01, 0xc6, 0x01, 0xc6, 0x00, 0x04, 0x01, 0xc8, 
    -	0x01, 0xc8, 0x00, 0x09, 0x01, 0xc9, 0x01, 0xc9, 0x00, 0x03, 0x01, 0xca, 
    -	0x01, 0xca, 0x00, 0x0a, 0x01, 0xcb, 0x01, 0xcb, 0x00, 0x0d, 0x01, 0xd1, 
    -	0x01, 0xd1, 0x00, 0x10, 0x01, 0xd3, 0x01, 0xd3, 0x00, 0x1d, 0x01, 0xd4, 
    -	0x01, 0xd4, 0x00, 0x13, 0x01, 0xdb, 0x01, 0xdb, 0x00, 0x15, 0x01, 0xdd, 
    -	0x01, 0xdd, 0x00, 0x11, 0x01, 0xde, 0x01, 0xde, 0x00, 0x12, 0x01, 0xe0, 
    -	0x01, 0xe0, 0x00, 0x17, 0x01, 0xe1, 0x01, 0xe1, 0x00, 0x18, 0x01, 0xe7, 
    -	0x01, 0xe7, 0x00, 0x1e, 0x01, 0xe8, 0x01, 0xe8, 0x00, 0x11, 0x01, 0xeb, 
    -	0x01, 0xec, 0x00, 0x13, 0x01, 0xee, 0x01, 0xee, 0x00, 0x1d, 0x01, 0xf4, 
    -	0x01, 0xf5, 0x00, 0x1e, 0x01, 0xf9, 0x01, 0xf9, 0x00, 0x17, 0x01, 0xfb, 
    -	0x01, 0xfb, 0x00, 0x1b, 0x02, 0x08, 0x02, 0x09, 0x00, 0x17, 0x02, 0x1a, 
    -	0x02, 0x1a, 0x00, 0x1a, 0x02, 0x1b, 0x02, 0x1b, 0x00, 0x1d, 0x02, 0x1c, 
    -	0x02, 0x1c, 0x00, 0x1a, 0x02, 0x1e, 0x02, 0x1e, 0x00, 0x07, 0x02, 0x20, 
    -	0x02, 0x20, 0x00, 0x07, 0x02, 0x22, 0x02, 0x22, 0x00, 0x07, 0x02, 0x28, 
    -	0x02, 0x28, 0x00, 0x0a, 0x02, 0x2a, 0x02, 0x2a, 0x00, 0x0e, 0x02, 0x2b, 
    -	0x02, 0x2b, 0x00, 0x17, 0x02, 0x2c, 0x02, 0x2c, 0x00, 0x0e, 0x02, 0x2e, 
    -	0x02, 0x2e, 0x00, 0x0d, 0x02, 0x2f, 0x02, 0x2f, 0x00, 0x18, 0x02, 0x37, 
    -	0x02, 0x37, 0x00, 0x14, 0x02, 0x47, 0x02, 0x47, 0x00, 0x10, 0x02, 0x49, 
    -	0x02, 0x49, 0x00, 0x10, 0x02, 0x4c, 0x02, 0x4c, 0x00, 0x05, 0x02, 0x4d, 
    -	0x02, 0x4d, 0x00, 0x13, 0x02, 0x4f, 0x02, 0x4f, 0x00, 0x13, 0x02, 0x51, 
    -	0x02, 0x51, 0x00, 0x13, 0x02, 0x52, 0x02, 0x52, 0x00, 0x0d, 0x02, 0x53, 
    -	0x02, 0x53, 0x00, 0x18, 0x02, 0x5c, 0x02, 0x5c, 0x00, 0x04, 0x02, 0x5d, 
    -	0x02, 0x5d, 0x00, 0x15, 0x02, 0x5f, 0x02, 0x5f, 0x00, 0x11, 0x02, 0x60, 
    -	0x02, 0x62, 0x00, 0x17, 0x02, 0x65, 0x02, 0x65, 0x00, 0x1a, 0x02, 0x66, 
    -	0x02, 0x66, 0x00, 0x1d, 0x02, 0x6a, 0x02, 0x6a, 0x00, 0x1d, 0x02, 0x6b, 
    -	0x02, 0x6b, 0x00, 0x0d, 0x02, 0x6c, 0x02, 0x6c, 0x00, 0x18, 0x02, 0x84, 
    -	0x02, 0x84, 0x00, 0x10, 0x02, 0x86, 0x02, 0x86, 0x00, 0x14, 0x02, 0x87, 
    -	0x02, 0x87, 0x00, 0x0c, 0x02, 0x89, 0x02, 0x89, 0x00, 0x0c, 0x02, 0x8b, 
    -	0x02, 0x8b, 0x00, 0x0c, 0x02, 0x8e, 0x02, 0x8e, 0x00, 0x10, 0x02, 0x90, 
    -	0x02, 0x90, 0x00, 0x10, 0x02, 0x92, 0x02, 0x92, 0x00, 0x10, 0x02, 0x94, 
    -	0x02, 0x94, 0x00, 0x10, 0x02, 0x96, 0x02, 0x96, 0x00, 0x10, 0x02, 0x98, 
    -	0x02, 0x98, 0x00, 0x10, 0x02, 0x9a, 0x02, 0x9a, 0x00, 0x10, 0x02, 0x9c, 
    -	0x02, 0x9c, 0x00, 0x10, 0x02, 0x9e, 0x02, 0x9e, 0x00, 0x10, 0x02, 0xa0, 
    -	0x02, 0xa0, 0x00, 0x10, 0x02, 0xa2, 0x02, 0xa2, 0x00, 0x10, 0x02, 0xa4, 
    -	0x02, 0xa4, 0x00, 0x10, 0x02, 0xa5, 0x02, 0xa5, 0x00, 0x05, 0x02, 0xa6, 
    -	0x02, 0xa6, 0x00, 0x13, 0x02, 0xa7, 0x02, 0xa7, 0x00, 0x05, 0x02, 0xa8, 
    -	0x02, 0xa8, 0x00, 0x13, 0x02, 0xa9, 0x02, 0xa9, 0x00, 0x05, 0x02, 0xaa, 
    -	0x02, 0xaa, 0x00, 0x13, 0x02, 0xab, 0x02, 0xab, 0x00, 0x05, 0x02, 0xac, 
    -	0x02, 0xac, 0x00, 0x13, 0x02, 0xad, 0x02, 0xad, 0x00, 0x05, 0x02, 0xae, 
    -	0x02, 0xae, 0x00, 0x13, 0x02, 0xaf, 0x02, 0xaf, 0x00, 0x05, 0x02, 0xb0, 
    -	0x02, 0xb0, 0x00, 0x13, 0x02, 0xb1, 0x02, 0xb1, 0x00, 0x05, 0x02, 0xb2, 
    -	0x02, 0xb2, 0x00, 0x13, 0x02, 0xb3, 0x02, 0xb3, 0x00, 0x05, 0x02, 0xb4, 
    -	0x02, 0xb4, 0x00, 0x13, 0x02, 0xb9, 0x02, 0xb9, 0x00, 0x04, 0x02, 0xba, 
    -	0x02, 0xba, 0x00, 0x15, 0x02, 0xbb, 0x02, 0xbb, 0x00, 0x04, 0x02, 0xbc, 
    -	0x02, 0xbc, 0x00, 0x15, 0x02, 0xbd, 0x02, 0xbd, 0x00, 0x04, 0x02, 0xbe, 
    -	0x02, 0xbe, 0x00, 0x15, 0x02, 0xbf, 0x02, 0xbf, 0x00, 0x04, 0x02, 0xc0, 
    -	0x02, 0xc0, 0x00, 0x15, 0x02, 0xc1, 0x02, 0xc1, 0x00, 0x04, 0x02, 0xc2, 
    -	0x02, 0xc2, 0x00, 0x15, 0x02, 0xc3, 0x02, 0xc3, 0x00, 0x04, 0x02, 0xc4, 
    -	0x02, 0xc4, 0x00, 0x15, 0x02, 0xc5, 0x02, 0xc5, 0x00, 0x04, 0x02, 0xc6, 
    -	0x02, 0xc6, 0x00, 0x15, 0x02, 0xce, 0x02, 0xce, 0x00, 0x15, 0x02, 0xd1, 
    -	0x02, 0xd1, 0x00, 0x06, 0x02, 0xd3, 0x02, 0xd3, 0x00, 0x06, 0x02, 0xdf, 
    -	0x02, 0xdf, 0x00, 0x0e, 0x02, 0xe0, 0x02, 0xe0, 0x00, 0x17, 0x02, 0xe1, 
    -	0x02, 0xe1, 0x00, 0x0e, 0x02, 0xe2, 0x02, 0xe2, 0x00, 0x17, 0x02, 0xe3, 
    -	0x02, 0xe3, 0x00, 0x0e, 0x02, 0xe4, 0x02, 0xe4, 0x00, 0x17, 0x02, 0xe5, 
    -	0x02, 0xe5, 0x00, 0x0e, 0x02, 0xe6, 0x02, 0xe6, 0x00, 0x17, 0x02, 0xe7, 
    -	0x02, 0xe7, 0x00, 0x04, 0x02, 0xfa, 0x02, 0xfa, 0x00, 0x01, 0x02, 0xfe, 
    -	0x02, 0xfe, 0x00, 0x01, 0x03, 0x02, 0x03, 0x03, 0x00, 0x01, 0x03, 0xd2, 
    -	0x03, 0xd2, 0x00, 0x0d, 0x03, 0xd3, 0x03, 0xd3, 0x00, 0x1c, 0x03, 0xd7, 
    -	0x03, 0xd8, 0x00, 0x1b, 0x03, 0xdc, 0x03, 0xdc, 0x00, 0x18, 0x03, 0xde, 
    -	0x03, 0xde, 0x00, 0x11, 0x03, 0xdf, 0x03, 0xdf, 0x00, 0x1e, 0x03, 0xe2, 
    -	0x03, 0xe2, 0x00, 0x1e, 0x03, 0xe6, 0x03, 0xe6, 0x00, 0x15, 0x03, 0xe7, 
    -	0x03, 0xe8, 0x00, 0x0b, 0x03, 0xef, 0x03, 0xef, 0x00, 0x11, 0x03, 0xf2, 
    -	0x03, 0xf2, 0x00, 0x0d, 0x03, 0xf3, 0x03, 0xf3, 0x00, 0x18, 0x03, 0xf6, 
    -	0x03, 0xf6, 0x00, 0x07, 0x03, 0xfc, 0x03, 0xfc, 0x00, 0x03, 0x03, 0xfd, 
    -	0x03, 0xfd, 0x00, 0x12, 0x04, 0x00, 0x04, 0x00, 0x00, 0x0d, 0x04, 0x01, 
    -	0x04, 0x01, 0x00, 0x18, 0x04, 0x07, 0x04, 0x07, 0x00, 0x15, 0x04, 0x08, 
    -	0x04, 0x0a, 0x00, 0x1c, 0x00, 0x02, 0x01, 0xf5, 0x00, 0x05, 0x00, 0x05, 
    -	0x00, 0x01, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 
    -	0x00, 0x01, 0x00, 0x0b, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0f, 
    -	0x00, 0x0c, 0x00, 0x10, 0x00, 0x10, 0x00, 0x12, 0x00, 0x11, 0x00, 0x11, 
    -	0x00, 0x0c, 0x00, 0x12, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x1d, 
    -	0x00, 0x0c, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x24, 
    -	0x00, 0x02, 0x00, 0x25, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x26, 
    -	0x00, 0x13, 0x00, 0x27, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x2a, 
    -	0x00, 0x13, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x2d, 
    -	0x00, 0x1b, 0x00, 0x2e, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x32, 
    -	0x00, 0x13, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x34, 
    -	0x00, 0x13, 0x00, 0x35, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x36, 
    -	0x00, 0x18, 0x00, 0x37, 0x00, 0x37, 0x00, 0x08, 0x00, 0x38, 0x00, 0x38, 
    -	0x00, 0x15, 0x00, 0x39, 0x00, 0x39, 0x00, 0x09, 0x00, 0x3a, 0x00, 0x3a, 
    -	0x00, 0x16, 0x00, 0x3b, 0x00, 0x3b, 0x00, 0x0d, 0x00, 0x3c, 0x00, 0x3c, 
    -	0x00, 0x0a, 0x00, 0x3d, 0x00, 0x3d, 0x00, 0x0e, 0x00, 0x3e, 0x00, 0x43, 
    -	0x00, 0x00, 0x00, 0x44, 0x00, 0x44, 0x00, 0x03, 0x00, 0x45, 0x00, 0x45, 
    -	0x00, 0x00, 0x00, 0x46, 0x00, 0x48, 0x00, 0x04, 0x00, 0x49, 0x00, 0x49, 
    -	0x00, 0x00, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x04, 0x00, 0x4b, 0x00, 0x4f, 
    -	0x00, 0x00, 0x00, 0x50, 0x00, 0x51, 0x00, 0x05, 0x00, 0x52, 0x00, 0x52, 
    -	0x00, 0x06, 0x00, 0x53, 0x00, 0x53, 0x00, 0x05, 0x00, 0x54, 0x00, 0x54, 
    -	0x00, 0x04, 0x00, 0x55, 0x00, 0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x56, 
    -	0x00, 0x07, 0x00, 0x57, 0x00, 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x58, 
    -	0x00, 0x10, 0x00, 0x59, 0x00, 0x59, 0x00, 0x11, 0x00, 0x5a, 0x00, 0x5a, 
    -	0x00, 0x00, 0x00, 0x5b, 0x00, 0x5b, 0x00, 0x19, 0x00, 0x5c, 0x00, 0x5c, 
    -	0x00, 0x11, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x1a, 0x00, 0x5e, 0x00, 0x6e, 
    -	0x00, 0x00, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x12, 0x00, 0x70, 0x00, 0x81, 
    -	0x00, 0x00, 0x00, 0x82, 0x00, 0x87, 0x00, 0x02, 0x00, 0x88, 0x00, 0x88, 
    -	0x00, 0x00, 0x00, 0x89, 0x00, 0x89, 0x00, 0x13, 0x00, 0x8a, 0x00, 0x93, 
    -	0x00, 0x00, 0x00, 0x94, 0x00, 0x98, 0x00, 0x13, 0x00, 0x99, 0x00, 0x99, 
    -	0x00, 0x00, 0x00, 0x9a, 0x00, 0x9a, 0x00, 0x13, 0x00, 0x9b, 0x00, 0x9e, 
    -	0x00, 0x15, 0x00, 0x9f, 0x00, 0x9f, 0x00, 0x0a, 0x00, 0xa0, 0x00, 0xa1, 
    -	0x00, 0x00, 0x00, 0xa2, 0x00, 0xa7, 0x00, 0x03, 0x00, 0xa8, 0x00, 0xa8, 
    -	0x00, 0x00, 0x00, 0xa9, 0x00, 0xad, 0x00, 0x04, 0x00, 0xae, 0x00, 0xb2, 
    -	0x00, 0x00, 0x00, 0xb3, 0x00, 0xb3, 0x00, 0x05, 0x00, 0xb4, 0x00, 0xb8, 
    -	0x00, 0x06, 0x00, 0xb9, 0x00, 0xba, 0x00, 0x00, 0x00, 0xbb, 0x00, 0xbe, 
    -	0x00, 0x10, 0x00, 0xbf, 0x00, 0xbf, 0x00, 0x11, 0x00, 0xc0, 0x00, 0xc0, 
    -	0x00, 0x00, 0x00, 0xc1, 0x00, 0xc1, 0x00, 0x11, 0x00, 0xc2, 0x00, 0xc2, 
    -	0x00, 0x02, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0x03, 0x00, 0xc4, 0x00, 0xc4, 
    -	0x00, 0x02, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0x03, 0x00, 0xc6, 0x00, 0xc6, 
    -	0x00, 0x02, 0x00, 0xc7, 0x00, 0xc7, 0x00, 0x03, 0x00, 0xc8, 0x00, 0xc8, 
    -	0x00, 0x13, 0x00, 0xc9, 0x00, 0xc9, 0x00, 0x04, 0x00, 0xca, 0x00, 0xca, 
    -	0x00, 0x13, 0x00, 0xcb, 0x00, 0xcb, 0x00, 0x04, 0x00, 0xcc, 0x00, 0xcc, 
    -	0x00, 0x13, 0x00, 0xcd, 0x00, 0xcd, 0x00, 0x04, 0x00, 0xce, 0x00, 0xce, 
    -	0x00, 0x13, 0x00, 0xcf, 0x00, 0xcf, 0x00, 0x04, 0x00, 0xd0, 0x00, 0xd0, 
    -	0x00, 0x00, 0x00, 0xd1, 0x00, 0xd1, 0x00, 0x04, 0x00, 0xd2, 0x00, 0xd4, 
    -	0x00, 0x00, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x04, 0x00, 0xd6, 0x00, 0xd6, 
    -	0x00, 0x00, 0x00, 0xd7, 0x00, 0xd7, 0x00, 0x04, 0x00, 0xd8, 0x00, 0xd8, 
    -	0x00, 0x00, 0x00, 0xd9, 0x00, 0xd9, 0x00, 0x04, 0x00, 0xda, 0x00, 0xda, 
    -	0x00, 0x00, 0x00, 0xdb, 0x00, 0xdb, 0x00, 0x04, 0x00, 0xdc, 0x00, 0xdc, 
    -	0x00, 0x00, 0x00, 0xdd, 0x00, 0xdd, 0x00, 0x04, 0x00, 0xde, 0x00, 0xde, 
    -	0x00, 0x13, 0x00, 0xdf, 0x00, 0xdf, 0x00, 0x04, 0x00, 0xe0, 0x00, 0xe0, 
    -	0x00, 0x13, 0x00, 0xe1, 0x00, 0xe1, 0x00, 0x04, 0x00, 0xe2, 0x00, 0xe2, 
    -	0x00, 0x13, 0x00, 0xe3, 0x00, 0xe3, 0x00, 0x04, 0x00, 0xe4, 0x00, 0xe4, 
    -	0x00, 0x13, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x04, 0x00, 0xe6, 0x00, 0xf5, 
    -	0x00, 0x00, 0x00, 0xf6, 0x00, 0xf6, 0x00, 0x1b, 0x00, 0xf7, 0x01, 0x05, 
    -	0x00, 0x00, 0x01, 0x06, 0x01, 0x06, 0x00, 0x05, 0x01, 0x07, 0x01, 0x07, 
    -	0x00, 0x00, 0x01, 0x08, 0x01, 0x08, 0x00, 0x05, 0x01, 0x09, 0x01, 0x09, 
    -	0x00, 0x00, 0x01, 0x0a, 0x01, 0x0b, 0x00, 0x05, 0x01, 0x0c, 0x01, 0x0d, 
    -	0x00, 0x00, 0x01, 0x0e, 0x01, 0x0e, 0x00, 0x13, 0x01, 0x0f, 0x01, 0x0f, 
    -	0x00, 0x06, 0x01, 0x10, 0x01, 0x10, 0x00, 0x13, 0x01, 0x11, 0x01, 0x11, 
    -	0x00, 0x06, 0x01, 0x12, 0x01, 0x12, 0x00, 0x13, 0x01, 0x13, 0x01, 0x13, 
    -	0x00, 0x06, 0x01, 0x14, 0x01, 0x14, 0x00, 0x13, 0x01, 0x15, 0x01, 0x15, 
    -	0x00, 0x04, 0x01, 0x16, 0x01, 0x1b, 0x00, 0x00, 0x01, 0x1c, 0x01, 0x1c, 
    -	0x00, 0x18, 0x01, 0x1d, 0x01, 0x1d, 0x00, 0x07, 0x01, 0x1e, 0x01, 0x1e, 
    -	0x00, 0x18, 0x01, 0x1f, 0x01, 0x1f, 0x00, 0x07, 0x01, 0x20, 0x01, 0x20, 
    -	0x00, 0x18, 0x01, 0x21, 0x01, 0x21, 0x00, 0x07, 0x01, 0x22, 0x01, 0x22, 
    -	0x00, 0x18, 0x01, 0x23, 0x01, 0x23, 0x00, 0x07, 0x01, 0x24, 0x01, 0x24, 
    -	0x00, 0x08, 0x01, 0x25, 0x01, 0x25, 0x00, 0x00, 0x01, 0x26, 0x01, 0x26, 
    -	0x00, 0x08, 0x01, 0x27, 0x01, 0x29, 0x00, 0x00, 0x01, 0x2a, 0x01, 0x2a, 
    -	0x00, 0x15, 0x01, 0x2b, 0x01, 0x2b, 0x00, 0x10, 0x01, 0x2c, 0x01, 0x2c, 
    -	0x00, 0x15, 0x01, 0x2d, 0x01, 0x2d, 0x00, 0x10, 0x01, 0x2e, 0x01, 0x2e, 
    -	0x00, 0x15, 0x01, 0x2f, 0x01, 0x2f, 0x00, 0x10, 0x01, 0x30, 0x01, 0x30, 
    -	0x00, 0x15, 0x01, 0x31, 0x01, 0x31, 0x00, 0x10, 0x01, 0x32, 0x01, 0x32, 
    -	0x00, 0x15, 0x01, 0x33, 0x01, 0x33, 0x00, 0x10, 0x01, 0x34, 0x01, 0x34, 
    -	0x00, 0x15, 0x01, 0x35, 0x01, 0x35, 0x00, 0x10, 0x01, 0x36, 0x01, 0x36, 
    -	0x00, 0x16, 0x01, 0x37, 0x01, 0x37, 0x00, 0x00, 0x01, 0x38, 0x01, 0x38, 
    -	0x00, 0x0a, 0x01, 0x39, 0x01, 0x39, 0x00, 0x11, 0x01, 0x3a, 0x01, 0x3a, 
    -	0x00, 0x0a, 0x01, 0x3b, 0x01, 0x3b, 0x00, 0x0e, 0x01, 0x3c, 0x01, 0x3c, 
    -	0x00, 0x1a, 0x01, 0x3d, 0x01, 0x3d, 0x00, 0x0e, 0x01, 0x3e, 0x01, 0x3e, 
    -	0x00, 0x1a, 0x01, 0x3f, 0x01, 0x3f, 0x00, 0x0e, 0x01, 0x40, 0x01, 0x40, 
    -	0x00, 0x1a, 0x01, 0x41, 0x01, 0x42, 0x00, 0x00, 0x01, 0x43, 0x01, 0x43, 
    -	0x00, 0x13, 0x01, 0x44, 0x01, 0x44, 0x00, 0x04, 0x01, 0x45, 0x01, 0x45, 
    -	0x00, 0x00, 0x01, 0x46, 0x01, 0x46, 0x00, 0x10, 0x01, 0x47, 0x01, 0x47, 
    -	0x00, 0x00, 0x01, 0x48, 0x01, 0x48, 0x00, 0x02, 0x01, 0x49, 0x01, 0x49, 
    -	0x00, 0x03, 0x01, 0x4a, 0x01, 0x4b, 0x00, 0x00, 0x01, 0x4c, 0x01, 0x4c, 
    -	0x00, 0x13, 0x01, 0x4d, 0x01, 0x4d, 0x00, 0x00, 0x01, 0x4e, 0x01, 0x4e, 
    -	0x00, 0x18, 0x01, 0x4f, 0x01, 0x4f, 0x00, 0x07, 0x01, 0x50, 0x01, 0x50, 
    -	0x00, 0x00, 0x01, 0x51, 0x01, 0x51, 0x00, 0x01, 0x01, 0x52, 0x01, 0x62, 
    -	0x00, 0x00, 0x01, 0x63, 0x01, 0x63, 0x00, 0x02, 0x01, 0x64, 0x01, 0x67, 
    -	0x00, 0x00, 0x01, 0x68, 0x01, 0x68, 0x00, 0x13, 0x01, 0x69, 0x01, 0x69, 
    -	0x00, 0x0a, 0x01, 0x6a, 0x01, 0x6b, 0x00, 0x00, 0x01, 0x6c, 0x01, 0x6c, 
    -	0x00, 0x02, 0x01, 0x6d, 0x01, 0x6e, 0x00, 0x00, 0x01, 0x6f, 0x01, 0x6f, 
    -	0x00, 0x02, 0x01, 0x70, 0x01, 0x70, 0x00, 0x00, 0x01, 0x71, 0x01, 0x71, 
    -	0x00, 0x0e, 0x01, 0x72, 0x01, 0x72, 0x00, 0x00, 0x01, 0x73, 0x01, 0x73, 
    -	0x00, 0x13, 0x01, 0x74, 0x01, 0x75, 0x00, 0x00, 0x01, 0x76, 0x01, 0x76, 
    -	0x00, 0x02, 0x01, 0x77, 0x01, 0x79, 0x00, 0x00, 0x01, 0x7a, 0x01, 0x7a, 
    -	0x00, 0x13, 0x01, 0x7b, 0x01, 0x7e, 0x00, 0x00, 0x01, 0x7f, 0x01, 0x7f, 
    -	0x00, 0x0a, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x01, 0x81, 0x01, 0x81, 
    -	0x00, 0x0d, 0x01, 0x82, 0x01, 0x84, 0x00, 0x00, 0x01, 0x85, 0x01, 0x85, 
    -	0x00, 0x0a, 0x01, 0x86, 0x01, 0x86, 0x00, 0x04, 0x01, 0x87, 0x01, 0x87, 
    -	0x00, 0x00, 0x01, 0x88, 0x01, 0x88, 0x00, 0x05, 0x01, 0x89, 0x01, 0x89, 
    -	0x00, 0x00, 0x01, 0x8a, 0x01, 0x8a, 0x00, 0x10, 0x01, 0x8b, 0x01, 0x8b, 
    -	0x00, 0x04, 0x01, 0x8c, 0x01, 0x8c, 0x00, 0x00, 0x01, 0x8d, 0x01, 0x8d, 
    -	0x00, 0x11, 0x01, 0x8e, 0x01, 0x90, 0x00, 0x00, 0x01, 0x91, 0x01, 0x91, 
    -	0x00, 0x05, 0x01, 0x92, 0x01, 0x96, 0x00, 0x00, 0x01, 0x97, 0x01, 0x97, 
    -	0x00, 0x11, 0x01, 0x98, 0x01, 0x98, 0x00, 0x00, 0x01, 0x99, 0x01, 0x99, 
    -	0x00, 0x06, 0x01, 0x9a, 0x01, 0x9b, 0x00, 0x00, 0x01, 0x9c, 0x01, 0x9d, 
    -	0x00, 0x04, 0x01, 0x9e, 0x01, 0x9e, 0x00, 0x00, 0x01, 0x9f, 0x01, 0x9f, 
    -	0x00, 0x10, 0x01, 0xa0, 0x01, 0xa4, 0x00, 0x00, 0x01, 0xa5, 0x01, 0xa5, 
    -	0x00, 0x10, 0x01, 0xa6, 0x01, 0xa6, 0x00, 0x06, 0x01, 0xa7, 0x01, 0xa7, 
    -	0x00, 0x10, 0x01, 0xa8, 0x01, 0xae, 0x00, 0x00, 0x01, 0xaf, 0x01, 0xaf, 
    -	0x00, 0x13, 0x01, 0xb0, 0x01, 0xb2, 0x00, 0x00, 0x01, 0xb3, 0x01, 0xb3, 
    -	0x00, 0x1b, 0x01, 0xb4, 0x01, 0xb4, 0x00, 0x0f, 0x01, 0xb5, 0x01, 0xb7, 
    -	0x00, 0x00, 0x01, 0xb8, 0x01, 0xb8, 0x00, 0x0b, 0x01, 0xb9, 0x01, 0xb9, 
    -	0x00, 0x00, 0x01, 0xba, 0x01, 0xba, 0x00, 0x02, 0x01, 0xbb, 0x01, 0xc2, 
    -	0x00, 0x00, 0x01, 0xc3, 0x01, 0xc3, 0x00, 0x0f, 0x01, 0xc4, 0x01, 0xc5, 
    -	0x00, 0x00, 0x01, 0xc6, 0x01, 0xc6, 0x00, 0x13, 0x01, 0xc7, 0x01, 0xc8, 
    -	0x00, 0x00, 0x01, 0xc9, 0x01, 0xc9, 0x00, 0x13, 0x01, 0xca, 0x01, 0xca, 
    -	0x00, 0x08, 0x01, 0xcb, 0x01, 0xcb, 0x00, 0x0d, 0x01, 0xcc, 0x01, 0xcc, 
    -	0x00, 0x00, 0x01, 0xcd, 0x01, 0xcd, 0x00, 0x1c, 0x01, 0xce, 0x01, 0xd0, 
    -	0x00, 0x00, 0x01, 0xd1, 0x01, 0xd1, 0x00, 0x03, 0x01, 0xd2, 0x01, 0xd2, 
    -	0x00, 0x00, 0x01, 0xd3, 0x01, 0xd3, 0x00, 0x05, 0x01, 0xd4, 0x01, 0xd4, 
    -	0x00, 0x04, 0x01, 0xd5, 0x01, 0xd7, 0x00, 0x05, 0x01, 0xd8, 0x01, 0xd8, 
    -	0x00, 0x17, 0x01, 0xd9, 0x01, 0xda, 0x00, 0x05, 0x01, 0xdb, 0x01, 0xdb, 
    -	0x00, 0x06, 0x01, 0xdc, 0x01, 0xdd, 0x00, 0x05, 0x01, 0xde, 0x01, 0xde, 
    -	0x00, 0x04, 0x01, 0xdf, 0x01, 0xdf, 0x00, 0x00, 0x01, 0xe0, 0x01, 0xe0, 
    -	0x00, 0x11, 0x01, 0xe1, 0x01, 0xe1, 0x00, 0x19, 0x01, 0xe2, 0x01, 0xe2, 
    -	0x00, 0x05, 0x01, 0xe3, 0x01, 0xe3, 0x00, 0x14, 0x01, 0xe4, 0x01, 0xe5, 
    -	0x00, 0x05, 0x01, 0xe6, 0x01, 0xe6, 0x00, 0x00, 0x01, 0xe7, 0x01, 0xe7, 
    -	0x00, 0x05, 0x01, 0xe8, 0x01, 0xe8, 0x00, 0x00, 0x01, 0xe9, 0x01, 0xe9, 
    -	0x00, 0x05, 0x01, 0xea, 0x01, 0xea, 0x00, 0x00, 0x01, 0xeb, 0x01, 0xec, 
    -	0x00, 0x04, 0x01, 0xed, 0x01, 0xed, 0x00, 0x00, 0x01, 0xee, 0x01, 0xee, 
    -	0x00, 0x05, 0x01, 0xef, 0x01, 0xef, 0x00, 0x04, 0x01, 0xf0, 0x01, 0xf0, 
    -	0x00, 0x07, 0x01, 0xf1, 0x01, 0xf3, 0x00, 0x00, 0x01, 0xf4, 0x01, 0xf4, 
    -	0x00, 0x17, 0x01, 0xf5, 0x01, 0xf5, 0x00, 0x05, 0x01, 0xf6, 0x01, 0xf6, 
    -	0x00, 0x00, 0x01, 0xf7, 0x01, 0xf8, 0x00, 0x05, 0x01, 0xf9, 0x01, 0xf9, 
    -	0x00, 0x11, 0x01, 0xfa, 0x01, 0xfb, 0x00, 0x00, 0x01, 0xfc, 0x01, 0xfc, 
    -	0x00, 0x02, 0x01, 0xfd, 0x02, 0x07, 0x00, 0x00, 0x02, 0x08, 0x02, 0x09, 
    -	0x00, 0x11, 0x02, 0x0a, 0x02, 0x0a, 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0b, 
    -	0x00, 0x04, 0x02, 0x0c, 0x02, 0x0c, 0x00, 0x13, 0x02, 0x0d, 0x02, 0x0d, 
    -	0x00, 0x00, 0x02, 0x0e, 0x02, 0x0e, 0x00, 0x13, 0x02, 0x0f, 0x02, 0x0f, 
    -	0x00, 0x04, 0x02, 0x10, 0x02, 0x17, 0x00, 0x00, 0x02, 0x18, 0x02, 0x18, 
    -	0x00, 0x05, 0x02, 0x19, 0x02, 0x1e, 0x00, 0x00, 0x02, 0x1f, 0x02, 0x1f, 
    -	0x00, 0x05, 0x02, 0x20, 0x02, 0x24, 0x00, 0x00, 0x02, 0x25, 0x02, 0x25, 
    -	0x00, 0x05, 0x02, 0x26, 0x02, 0x26, 0x00, 0x00, 0x02, 0x27, 0x02, 0x27, 
    -	0x00, 0x05, 0x02, 0x28, 0x02, 0x28, 0x00, 0x08, 0x02, 0x29, 0x02, 0x29, 
    -	0x00, 0x00, 0x02, 0x2a, 0x02, 0x2a, 0x00, 0x0a, 0x02, 0x2b, 0x02, 0x2b, 
    -	0x00, 0x11, 0x02, 0x2c, 0x02, 0x2c, 0x00, 0x0a, 0x02, 0x2d, 0x02, 0x2d, 
    -	0x00, 0x00, 0x02, 0x2e, 0x02, 0x2e, 0x00, 0x0d, 0x02, 0x2f, 0x02, 0x2f, 
    -	0x00, 0x19, 0x02, 0x30, 0x02, 0x30, 0x00, 0x08, 0x02, 0x31, 0x02, 0x31, 
    -	0x00, 0x00, 0x02, 0x32, 0x02, 0x32, 0x00, 0x1c, 0x02, 0x33, 0x02, 0x33, 
    -	0x00, 0x14, 0x02, 0x34, 0x02, 0x3a, 0x00, 0x00, 0x02, 0x3b, 0x02, 0x3b, 
    -	0x00, 0x0f, 0x02, 0x3c, 0x02, 0x3c, 0x00, 0x17, 0x02, 0x3d, 0x02, 0x3d, 
    -	0x00, 0x00, 0x02, 0x3e, 0x02, 0x3e, 0x00, 0x05, 0x02, 0x3f, 0x02, 0x3f, 
    -	0x00, 0x00, 0x02, 0x40, 0x02, 0x40, 0x00, 0x05, 0x02, 0x41, 0x02, 0x41, 
    -	0x00, 0x1c, 0x02, 0x42, 0x02, 0x42, 0x00, 0x14, 0x02, 0x43, 0x02, 0x43, 
    -	0x00, 0x00, 0x02, 0x44, 0x02, 0x44, 0x00, 0x05, 0x02, 0x45, 0x02, 0x45, 
    -	0x00, 0x00, 0x02, 0x46, 0x02, 0x46, 0x00, 0x02, 0x02, 0x47, 0x02, 0x47, 
    -	0x00, 0x03, 0x02, 0x48, 0x02, 0x48, 0x00, 0x02, 0x02, 0x49, 0x02, 0x49, 
    -	0x00, 0x03, 0x02, 0x4a, 0x02, 0x4c, 0x00, 0x00, 0x02, 0x4d, 0x02, 0x4d, 
    -	0x00, 0x04, 0x02, 0x4e, 0x02, 0x4e, 0x00, 0x00, 0x02, 0x4f, 0x02, 0x4f, 
    -	0x00, 0x04, 0x02, 0x50, 0x02, 0x50, 0x00, 0x00, 0x02, 0x51, 0x02, 0x51, 
    -	0x00, 0x04, 0x02, 0x52, 0x02, 0x52, 0x00, 0x0d, 0x02, 0x53, 0x02, 0x53, 
    -	0x00, 0x19, 0x02, 0x54, 0x02, 0x58, 0x00, 0x00, 0x02, 0x59, 0x02, 0x59, 
    -	0x00, 0x05, 0x02, 0x5a, 0x02, 0x5a, 0x00, 0x00, 0x02, 0x5b, 0x02, 0x5b, 
    -	0x00, 0x05, 0x02, 0x5c, 0x02, 0x5c, 0x00, 0x13, 0x02, 0x5d, 0x02, 0x5d, 
    -	0x00, 0x06, 0x02, 0x5e, 0x02, 0x5f, 0x00, 0x00, 0x02, 0x60, 0x02, 0x62, 
    -	0x00, 0x11, 0x02, 0x63, 0x02, 0x63, 0x00, 0x1c, 0x02, 0x64, 0x02, 0x64, 
    -	0x00, 0x14, 0x02, 0x65, 0x02, 0x65, 0x00, 0x00, 0x02, 0x66, 0x02, 0x66, 
    -	0x00, 0x05, 0x02, 0x67, 0x02, 0x67, 0x00, 0x00, 0x02, 0x68, 0x02, 0x68, 
    -	0x00, 0x05, 0x02, 0x69, 0x02, 0x69, 0x00, 0x00, 0x02, 0x6a, 0x02, 0x6a, 
    -	0x00, 0x05, 0x02, 0x6b, 0x02, 0x6b, 0x00, 0x0d, 0x02, 0x6c, 0x02, 0x6c, 
    -	0x00, 0x19, 0x02, 0x6d, 0x02, 0x6f, 0x00, 0x00, 0x02, 0x70, 0x02, 0x72, 
    -	0x00, 0x04, 0x02, 0x73, 0x02, 0x76, 0x00, 0x00, 0x02, 0x77, 0x02, 0x77, 
    -	0x00, 0x0f, 0x02, 0x78, 0x02, 0x7a, 0x00, 0x00, 0x02, 0x7b, 0x02, 0x7b, 
    -	0x00, 0x13, 0x02, 0x7c, 0x02, 0x7c, 0x00, 0x04, 0x02, 0x7d, 0x02, 0x80, 
    -	0x00, 0x00, 0x02, 0x81, 0x02, 0x81, 0x00, 0x0f, 0x02, 0x82, 0x02, 0x82, 
    -	0x00, 0x17, 0x02, 0x83, 0x02, 0x83, 0x00, 0x02, 0x02, 0x84, 0x02, 0x84, 
    -	0x00, 0x03, 0x02, 0x85, 0x02, 0x85, 0x00, 0x00, 0x02, 0x86, 0x02, 0x86, 
    -	0x00, 0x05, 0x02, 0x87, 0x02, 0x87, 0x00, 0x16, 0x02, 0x88, 0x02, 0x88, 
    -	0x00, 0x00, 0x02, 0x89, 0x02, 0x89, 0x00, 0x16, 0x02, 0x8a, 0x02, 0x8a, 
    -	0x00, 0x00, 0x02, 0x8b, 0x02, 0x8b, 0x00, 0x16, 0x02, 0x8c, 0x02, 0x8c, 
    -	0x00, 0x00, 0x02, 0x8d, 0x02, 0x8d, 0x00, 0x02, 0x02, 0x8e, 0x02, 0x8e, 
    -	0x00, 0x03, 0x02, 0x8f, 0x02, 0x8f, 0x00, 0x02, 0x02, 0x90, 0x02, 0x90, 
    -	0x00, 0x03, 0x02, 0x91, 0x02, 0x91, 0x00, 0x02, 0x02, 0x92, 0x02, 0x92, 
    -	0x00, 0x03, 0x02, 0x93, 0x02, 0x93, 0x00, 0x02, 0x02, 0x94, 0x02, 0x94, 
    -	0x00, 0x03, 0x02, 0x95, 0x02, 0x95, 0x00, 0x02, 0x02, 0x96, 0x02, 0x96, 
    -	0x00, 0x03, 0x02, 0x97, 0x02, 0x97, 0x00, 0x02, 0x02, 0x98, 0x02, 0x98, 
    -	0x00, 0x03, 0x02, 0x99, 0x02, 0x99, 0x00, 0x02, 0x02, 0x9a, 0x02, 0x9a, 
    -	0x00, 0x03, 0x02, 0x9b, 0x02, 0x9b, 0x00, 0x02, 0x02, 0x9c, 0x02, 0x9c, 
    -	0x00, 0x03, 0x02, 0x9d, 0x02, 0x9d, 0x00, 0x02, 0x02, 0x9e, 0x02, 0x9e, 
    -	0x00, 0x03, 0x02, 0x9f, 0x02, 0x9f, 0x00, 0x02, 0x02, 0xa0, 0x02, 0xa0, 
    -	0x00, 0x03, 0x02, 0xa1, 0x02, 0xa1, 0x00, 0x02, 0x02, 0xa2, 0x02, 0xa2, 
    -	0x00, 0x03, 0x02, 0xa3, 0x02, 0xa3, 0x00, 0x02, 0x02, 0xa4, 0x02, 0xa4, 
    -	0x00, 0x03, 0x02, 0xa5, 0x02, 0xa5, 0x00, 0x00, 0x02, 0xa6, 0x02, 0xa6, 
    -	0x00, 0x04, 0x02, 0xa7, 0x02, 0xa7, 0x00, 0x00, 0x02, 0xa8, 0x02, 0xa8, 
    -	0x00, 0x04, 0x02, 0xa9, 0x02, 0xa9, 0x00, 0x00, 0x02, 0xaa, 0x02, 0xaa, 
    -	0x00, 0x04, 0x02, 0xab, 0x02, 0xab, 0x00, 0x00, 0x02, 0xac, 0x02, 0xac, 
    -	0x00, 0x04, 0x02, 0xad, 0x02, 0xad, 0x00, 0x00, 0x02, 0xae, 0x02, 0xae, 
    -	0x00, 0x04, 0x02, 0xaf, 0x02, 0xaf, 0x00, 0x00, 0x02, 0xb0, 0x02, 0xb0, 
    -	0x00, 0x04, 0x02, 0xb1, 0x02, 0xb1, 0x00, 0x00, 0x02, 0xb2, 0x02, 0xb2, 
    -	0x00, 0x04, 0x02, 0xb3, 0x02, 0xb3, 0x00, 0x00, 0x02, 0xb4, 0x02, 0xb4, 
    -	0x00, 0x04, 0x02, 0xb5, 0x02, 0xb8, 0x00, 0x00, 0x02, 0xb9, 0x02, 0xb9, 
    -	0x00, 0x13, 0x02, 0xba, 0x02, 0xba, 0x00, 0x06, 0x02, 0xbb, 0x02, 0xbb, 
    -	0x00, 0x13, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x06, 0x02, 0xbd, 0x02, 0xbd, 
    -	0x00, 0x13, 0x02, 0xbe, 0x02, 0xbe, 0x00, 0x06, 0x02, 0xbf, 0x02, 0xbf, 
    -	0x00, 0x13, 0x02, 0xc0, 0x02, 0xc0, 0x00, 0x06, 0x02, 0xc1, 0x02, 0xc1, 
    -	0x00, 0x13, 0x02, 0xc2, 0x02, 0xc2, 0x00, 0x06, 0x02, 0xc3, 0x02, 0xc3, 
    -	0x00, 0x13, 0x02, 0xc4, 0x02, 0xc4, 0x00, 0x06, 0x02, 0xc5, 0x02, 0xc5, 
    -	0x00, 0x13, 0x02, 0xc6, 0x02, 0xc6, 0x00, 0x06, 0x02, 0xc7, 0x02, 0xc7, 
    -	0x00, 0x13, 0x02, 0xc8, 0x02, 0xc8, 0x00, 0x04, 0x02, 0xc9, 0x02, 0xc9, 
    -	0x00, 0x13, 0x02, 0xca, 0x02, 0xca, 0x00, 0x04, 0x02, 0xcb, 0x02, 0xcb, 
    -	0x00, 0x13, 0x02, 0xcc, 0x02, 0xcc, 0x00, 0x04, 0x02, 0xcd, 0x02, 0xcd, 
    -	0x00, 0x13, 0x02, 0xce, 0x02, 0xce, 0x00, 0x06, 0x02, 0xcf, 0x02, 0xcf, 
    -	0x00, 0x13, 0x02, 0xd0, 0x02, 0xd0, 0x00, 0x04, 0x02, 0xd1, 0x02, 0xd1, 
    -	0x00, 0x15, 0x02, 0xd2, 0x02, 0xd2, 0x00, 0x10, 0x02, 0xd3, 0x02, 0xd3, 
    -	0x00, 0x15, 0x02, 0xd4, 0x02, 0xd4, 0x00, 0x10, 0x02, 0xd5, 0x02, 0xd5, 
    -	0x00, 0x00, 0x02, 0xd6, 0x02, 0xd6, 0x00, 0x10, 0x02, 0xd7, 0x02, 0xd7, 
    -	0x00, 0x00, 0x02, 0xd8, 0x02, 0xd8, 0x00, 0x10, 0x02, 0xd9, 0x02, 0xd9, 
    -	0x00, 0x00, 0x02, 0xda, 0x02, 0xda, 0x00, 0x10, 0x02, 0xdb, 0x02, 0xdb, 
    -	0x00, 0x00, 0x02, 0xdc, 0x02, 0xdc, 0x00, 0x10, 0x02, 0xdd, 0x02, 0xdd, 
    -	0x00, 0x00, 0x02, 0xde, 0x02, 0xde, 0x00, 0x10, 0x02, 0xdf, 0x02, 0xdf, 
    -	0x00, 0x0a, 0x02, 0xe0, 0x02, 0xe0, 0x00, 0x11, 0x02, 0xe1, 0x02, 0xe1, 
    -	0x00, 0x0a, 0x02, 0xe2, 0x02, 0xe2, 0x00, 0x11, 0x02, 0xe3, 0x02, 0xe3, 
    -	0x00, 0x0a, 0x02, 0xe4, 0x02, 0xe4, 0x00, 0x11, 0x02, 0xe5, 0x02, 0xe5, 
    -	0x00, 0x0a, 0x02, 0xe6, 0x02, 0xe6, 0x00, 0x11, 0x02, 0xe7, 0x02, 0xe7, 
    -	0x00, 0x13, 0x02, 0xe8, 0x02, 0xf3, 0x00, 0x00, 0x02, 0xf4, 0x02, 0xf6, 
    -	0x00, 0x12, 0x02, 0xf7, 0x02, 0xf7, 0x00, 0x00, 0x02, 0xf8, 0x02, 0xf9, 
    -	0x00, 0x01, 0x02, 0xfa, 0x02, 0xfa, 0x00, 0x0c, 0x02, 0xfb, 0x02, 0xfd, 
    -	0x00, 0x01, 0x02, 0xfe, 0x02, 0xfe, 0x00, 0x0c, 0x02, 0xff, 0x03, 0x01, 
    -	0x00, 0x00, 0x03, 0x02, 0x03, 0x03, 0x00, 0x0c, 0x03, 0x04, 0x03, 0x04, 
    -	0x00, 0x00, 0x03, 0x05, 0x03, 0x06, 0x00, 0x01, 0x03, 0x07, 0x03, 0xce, 
    -	0x00, 0x00, 0x03, 0xcf, 0x03, 0xd0, 0x00, 0x08, 0x03, 0xd1, 0x03, 0xd1, 
    -	0x00, 0x00, 0x03, 0xd2, 0x03, 0xd2, 0x00, 0x0d, 0x03, 0xd3, 0x03, 0xd3, 
    -	0x00, 0x0b, 0x03, 0xd4, 0x03, 0xdb, 0x00, 0x00, 0x03, 0xdc, 0x03, 0xdc, 
    -	0x00, 0x19, 0x03, 0xdd, 0x03, 0xdd, 0x00, 0x00, 0x03, 0xde, 0x03, 0xde, 
    -	0x00, 0x04, 0x03, 0xdf, 0x03, 0xdf, 0x00, 0x00, 0x03, 0xe0, 0x03, 0xe0, 
    -	0x00, 0x13, 0x03, 0xe1, 0x03, 0xe4, 0x00, 0x00, 0x03, 0xe5, 0x03, 0xe5, 
    -	0x00, 0x13, 0x03, 0xe6, 0x03, 0xe6, 0x00, 0x06, 0x03, 0xe7, 0x03, 0xe8, 
    -	0x00, 0x09, 0x03, 0xe9, 0x03, 0xe9, 0x00, 0x13, 0x03, 0xea, 0x03, 0xea, 
    -	0x00, 0x04, 0x03, 0xeb, 0x03, 0xeb, 0x00, 0x13, 0x03, 0xec, 0x03, 0xf1, 
    -	0x00, 0x00, 0x03, 0xf2, 0x03, 0xf2, 0x00, 0x0d, 0x03, 0xf3, 0x03, 0xf3, 
    -	0x00, 0x19, 0x03, 0xf4, 0x03, 0xf5, 0x00, 0x00, 0x03, 0xf6, 0x03, 0xf6, 
    -	0x00, 0x08, 0x03, 0xf7, 0x03, 0xf9, 0x00, 0x00, 0x03, 0xfa, 0x03, 0xfa, 
    -	0x00, 0x13, 0x03, 0xfb, 0x03, 0xfb, 0x00, 0x04, 0x03, 0xfc, 0x03, 0xfc, 
    -	0x00, 0x13, 0x03, 0xfd, 0x03, 0xfd, 0x00, 0x04, 0x03, 0xfe, 0x03, 0xff, 
    -	0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x0d, 0x04, 0x01, 0x04, 0x01, 
    -	0x00, 0x19, 0x04, 0x02, 0x04, 0x03, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 
    -	0x00, 0x13, 0x04, 0x05, 0x04, 0x05, 0x00, 0x04, 0x04, 0x06, 0x04, 0x06, 
    -	0x00, 0x13, 0x04, 0x07, 0x04, 0x07, 0x00, 0x06, 0x04, 0x08, 0x04, 0x0a, 
    -	0x00, 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x36, 
    -	0x00, 0x6e, 0x00, 0x02, 0x44, 0x46, 0x4c, 0x54, 0x00, 0x0e, 0x6c, 0x61, 
    -	0x74, 0x6e, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 
    -	0x61, 0x61, 0x6c, 0x74, 0x00, 0x20, 0x61, 0x61, 0x6c, 0x74, 0x00, 0x20, 
    -	0x6c, 0x69, 0x67, 0x61, 0x00, 0x26, 0x6c, 0x6e, 0x75, 0x6d, 0x00, 0x2c, 
    -	0x73, 0x6d, 0x63, 0x70, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x0a, 0x02, 0x5a, 
    -	0x04, 0x90, 0x04, 0xb0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 
    -	0x00, 0x02, 0x01, 0xd2, 0x00, 0xe6, 0x03, 0x43, 0x03, 0x61, 0x03, 0x62, 
    -	0x03, 0x63, 0x03, 0x64, 0x03, 0x65, 0x03, 0x66, 0x03, 0x67, 0x03, 0x68, 
    -	0x03, 0x69, 0x03, 0x55, 0x03, 0x52, 0x03, 0x51, 0x03, 0x50, 0x03, 0x4f, 
    -	0x03, 0x4e, 0x03, 0x4d, 0x03, 0x4c, 0x03, 0x4b, 0x03, 0x4a, 0x03, 0x49, 
    -	0x03, 0x48, 0x03, 0x47, 0x03, 0x45, 0x03, 0x44, 0x03, 0x6a, 0x03, 0x42, 
    -	0x03, 0x41, 0x03, 0x40, 0x03, 0x3f, 0x03, 0x3e, 0x03, 0x3d, 0x03, 0x3c, 
    -	0x03, 0x3b, 0x03, 0x3a, 0x03, 0x39, 0x03, 0x55, 0x03, 0x52, 0x03, 0x51, 
    -	0x03, 0x50, 0x03, 0x4f, 0x03, 0x4e, 0x03, 0x4d, 0x03, 0x4c, 0x03, 0x4b, 
    -	0x03, 0x4a, 0x03, 0x49, 0x03, 0x48, 0x03, 0x47, 0x03, 0x45, 0x03, 0x44, 
    -	0x03, 0x6a, 0x03, 0x42, 0x03, 0x41, 0x03, 0x40, 0x03, 0x3f, 0x03, 0x3e, 
    -	0x03, 0x3d, 0x03, 0x3c, 0x03, 0x3b, 0x03, 0x3a, 0x03, 0x39, 0x03, 0x7c, 
    -	0x03, 0x7d, 0x03, 0x7e, 0x03, 0x7f, 0x03, 0x80, 0x03, 0x81, 0x03, 0x83, 
    -	0x03, 0x84, 0x03, 0x85, 0x03, 0x86, 0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 
    -	0x03, 0x8a, 0x03, 0x8b, 0x03, 0x7a, 0x03, 0x8c, 0x03, 0x8d, 0x03, 0x8e, 
    -	0x03, 0x8f, 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 
    -	0x03, 0x95, 0x03, 0x96, 0x03, 0xc7, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 
    -	0x03, 0x7f, 0x03, 0x80, 0x03, 0x81, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 
    -	0x03, 0x86, 0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 
    -	0x03, 0x7a, 0x03, 0x8c, 0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, 0x03, 0x90, 
    -	0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, 
    -	0x03, 0xcb, 0x03, 0x97, 0x03, 0x97, 0x03, 0x98, 0x03, 0x98, 0x03, 0x99, 
    -	0x03, 0x99, 0x03, 0x9a, 0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9d, 
    -	0x03, 0x9d, 0x03, 0x9e, 0x03, 0x9e, 0x03, 0x79, 0x03, 0x79, 0x03, 0x9f, 
    -	0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa1, 0x03, 0xa2, 
    -	0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa3, 0x03, 0xa4, 0x03, 0xa4, 0x03, 0xa5, 
    -	0x03, 0xa5, 0x03, 0xa7, 0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa8, 0x03, 0xa9, 
    -	0x03, 0xa9, 0x03, 0x2f, 0x03, 0x2f, 0x03, 0xab, 0x03, 0xab, 0x03, 0xac, 
    -	0x03, 0xac, 0x03, 0xad, 0x03, 0xae, 0x03, 0xae, 0x03, 0xaf, 0x03, 0xaf, 
    -	0x03, 0xb0, 0x03, 0xb0, 0x03, 0xb1, 0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb2, 
    -	0x03, 0xb3, 0x03, 0xb3, 0x03, 0xb4, 0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb5, 
    -	0x03, 0xb6, 0x03, 0xb6, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb8, 
    -	0x03, 0xb9, 0x03, 0xb9, 0x03, 0xba, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbb, 
    -	0x03, 0xbc, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbe, 
    -	0x03, 0xbf, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc1, 
    -	0x03, 0xc2, 0x03, 0xc2, 0x03, 0x7b, 0x03, 0x7b, 0x03, 0xc3, 0x03, 0xc3, 
    -	0x03, 0xc4, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc6, 
    -	0x03, 0xaa, 0x03, 0xaa, 0x03, 0xce, 0x03, 0xce, 0x03, 0xcd, 0x03, 0xcd, 
    -	0x03, 0xcc, 0x03, 0xcc, 0x03, 0xcb, 0x03, 0xca, 0x03, 0xca, 0x03, 0xc9, 
    -	0x03, 0xc9, 0x03, 0xc8, 0x03, 0xc8, 0x03, 0x82, 0x03, 0x82, 0x00, 0x02, 
    -	0x00, 0x13, 0x00, 0x13, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x24, 0x00, 0x3d, 
    -	0x00, 0x0a, 0x00, 0x44, 0x00, 0x5d, 0x00, 0x24, 0x00, 0x82, 0x00, 0x87, 
    -	0x00, 0x3e, 0x00, 0x89, 0x00, 0x98, 0x00, 0x44, 0x00, 0x9b, 0x00, 0x9f, 
    -	0x00, 0x54, 0x00, 0xa1, 0x00, 0xa7, 0x00, 0x59, 0x00, 0xa9, 0x00, 0xb8, 
    -	0x00, 0x60, 0x00, 0xbb, 0x00, 0xbf, 0x00, 0x70, 0x00, 0xc1, 0x00, 0xcb, 
    -	0x00, 0x75, 0x00, 0xce, 0x00, 0xe1, 0x00, 0x80, 0x00, 0xe4, 0x00, 0xe7, 
    -	0x00, 0x94, 0x00, 0xea, 0x00, 0xf2, 0x00, 0x98, 0x00, 0xf6, 0x00, 0xf9, 
    -	0x00, 0xa1, 0x00, 0xfb, 0x01, 0x02, 0x00, 0xa5, 0x01, 0x05, 0x01, 0x0a, 
    -	0x00, 0xad, 0x01, 0x0e, 0x01, 0x13, 0x00, 0xb3, 0x01, 0x16, 0x01, 0x40, 
    -	0x00, 0xb9, 0x01, 0x48, 0x01, 0x49, 0x00, 0xe4, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x08, 0x00, 0x02, 0x01, 0xbe, 0x00, 0xdc, 0x03, 0x55, 
    -	0x03, 0x52, 0x03, 0x51, 0x03, 0x50, 0x03, 0x4f, 0x03, 0x4e, 0x03, 0x4d, 
    -	0x03, 0x4c, 0x03, 0x4b, 0x03, 0x4a, 0x03, 0x49, 0x03, 0x48, 0x03, 0x47, 
    -	0x03, 0x45, 0x03, 0x44, 0x03, 0x6a, 0x03, 0x42, 0x03, 0x41, 0x03, 0x40, 
    -	0x03, 0x3f, 0x03, 0x3e, 0x03, 0x3d, 0x03, 0x3c, 0x03, 0x3b, 0x03, 0x3a, 
    -	0x03, 0x39, 0x03, 0x55, 0x03, 0x52, 0x03, 0x51, 0x03, 0x50, 0x03, 0x4f, 
    -	0x03, 0x4e, 0x03, 0x4d, 0x03, 0x4c, 0x03, 0x4b, 0x03, 0x4a, 0x03, 0x49, 
    -	0x03, 0x48, 0x03, 0x47, 0x03, 0x45, 0x03, 0x44, 0x03, 0x6a, 0x03, 0x42, 
    -	0x03, 0x41, 0x03, 0x40, 0x03, 0x3f, 0x03, 0x3e, 0x03, 0x3d, 0x03, 0x3c, 
    -	0x03, 0x3b, 0x03, 0x3a, 0x03, 0x39, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 
    -	0x03, 0x7f, 0x03, 0x80, 0x03, 0x81, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 
    -	0x03, 0x86, 0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 
    -	0x03, 0x7a, 0x03, 0x8c, 0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, 0x03, 0x90, 
    -	0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, 
    -	0x03, 0xc7, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 0x03, 0x7f, 0x03, 0x80, 
    -	0x03, 0x81, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 0x03, 0x86, 0x03, 0x87, 
    -	0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 0x03, 0x7a, 0x03, 0x8c, 
    -	0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 
    -	0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, 0x03, 0xcb, 0x03, 0x97, 
    -	0x03, 0x97, 0x03, 0x98, 0x03, 0x98, 0x03, 0x99, 0x03, 0x99, 0x03, 0x9a, 
    -	0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9d, 0x03, 0x9d, 0x03, 0x9e, 
    -	0x03, 0x9e, 0x03, 0x79, 0x03, 0x79, 0x03, 0x9f, 0x03, 0x9f, 0x03, 0xa0, 
    -	0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa2, 0x03, 0xa3, 
    -	0x03, 0xa3, 0x03, 0xa4, 0x03, 0xa4, 0x03, 0xa5, 0x03, 0xa5, 0x03, 0xa7, 
    -	0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa8, 0x03, 0xa9, 0x03, 0xa9, 0x03, 0x2f, 
    -	0x03, 0x2f, 0x03, 0xab, 0x03, 0xab, 0x03, 0xac, 0x03, 0xac, 0x03, 0xad, 
    -	0x03, 0xae, 0x03, 0xae, 0x03, 0xaf, 0x03, 0xaf, 0x03, 0xb0, 0x03, 0xb0, 
    -	0x03, 0xb1, 0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb2, 0x03, 0xb3, 0x03, 0xb3, 
    -	0x03, 0xb4, 0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xb6, 0x03, 0xb6, 
    -	0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xb9, 
    -	0x03, 0xba, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbc, 
    -	0x03, 0xbd, 0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbe, 0x03, 0xbf, 0x03, 0xbf, 
    -	0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc2, 
    -	0x03, 0x7b, 0x03, 0x7b, 0x03, 0xc3, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc4, 
    -	0x03, 0xc5, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc6, 0x03, 0xaa, 0x03, 0xaa, 
    -	0x03, 0xce, 0x03, 0xce, 0x03, 0xcd, 0x03, 0xcd, 0x03, 0xcc, 0x03, 0xcc, 
    -	0x03, 0xcb, 0x03, 0xca, 0x03, 0xca, 0x03, 0xc9, 0x03, 0xc9, 0x03, 0xc8, 
    -	0x03, 0xc8, 0x03, 0x82, 0x03, 0x82, 0x00, 0x02, 0x00, 0x12, 0x00, 0x24, 
    -	0x00, 0x3d, 0x00, 0x00, 0x00, 0x44, 0x00, 0x5d, 0x00, 0x1a, 0x00, 0x82, 
    -	0x00, 0x87, 0x00, 0x34, 0x00, 0x89, 0x00, 0x98, 0x00, 0x3a, 0x00, 0x9b, 
    -	0x00, 0x9f, 0x00, 0x4a, 0x00, 0xa1, 0x00, 0xa7, 0x00, 0x4f, 0x00, 0xa9, 
    -	0x00, 0xb8, 0x00, 0x56, 0x00, 0xbb, 0x00, 0xbf, 0x00, 0x66, 0x00, 0xc1, 
    -	0x00, 0xcb, 0x00, 0x6b, 0x00, 0xce, 0x00, 0xe1, 0x00, 0x76, 0x00, 0xe4, 
    -	0x00, 0xe7, 0x00, 0x8a, 0x00, 0xea, 0x00, 0xf2, 0x00, 0x8e, 0x00, 0xf6, 
    -	0x00, 0xf9, 0x00, 0x97, 0x00, 0xfb, 0x01, 0x02, 0x00, 0x9b, 0x01, 0x05, 
    -	0x01, 0x0a, 0x00, 0xa3, 0x01, 0x0e, 0x01, 0x13, 0x00, 0xa9, 0x01, 0x16, 
    -	0x01, 0x40, 0x00, 0xaf, 0x01, 0x48, 0x01, 0x49, 0x00, 0xda, 0x00, 0x04, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 
    -	0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x03, 0x28, 0x00, 0x02, 0x00, 0x4c, 
    -	0x00, 0x01, 0x00, 0x01, 0x00, 0x49, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
    -	0x00, 0x08, 0x00, 0x02, 0x00, 0x1a, 0x00, 0x0a, 0x03, 0x43, 0x03, 0x61, 
    -	0x03, 0x62, 0x03, 0x63, 0x03, 0x64, 0x03, 0x65, 0x03, 0x66, 0x03, 0x67, 
    -	0x03, 0x68, 0x03, 0x69, 0x00, 0x02, 0x00, 0x01, 0x00, 0x13, 0x00, 0x1c, 
    -	0x00, 0x00, 0x00, 0x00, 
    -	0x00
    -};
    -
    -uint32_t igl_roboto_bold_ttf_size = 135820;
    -
    -uint8_t igl_roboto_regular_ttf[] = {
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x04, 0x00, 0x10, 
    -	0x47, 0x50, 0x4f, 0x53, 0x2a, 0xcb, 0xe6, 0x87, 0x00, 0x01, 0xde, 0xbc, 
    -	0x00, 0x00, 0x53, 0xba, 0x47, 0x53, 0x55, 0x42, 0x6e, 0x02, 0x55, 0xa6, 
    -	0x00, 0x02, 0x32, 0x78, 0x00, 0x00, 0x05, 0x4a, 0x4c, 0x54, 0x53, 0x48, 
    -	0xa6, 0x14, 0xa2, 0x1d, 0x00, 0x00, 0x12, 0x24, 0x00, 0x00, 0x04, 0x0f, 
    -	0x4f, 0x53, 0x2f, 0x32, 0xb9, 0xc7, 0x01, 0x3b, 0x00, 0x00, 0x01, 0x98, 
    -	0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, 0x52, 0x7f, 0x37, 0xd3, 
    -	0x00, 0x00, 0x16, 0x34, 0x00, 0x00, 0x04, 0x54, 0x63, 0x76, 0x74, 0x20, 
    -	0x1e, 0xe0, 0x02, 0x54, 0x00, 0x00, 0x1d, 0xe0, 0x00, 0x00, 0x00, 0x30, 
    -	0x66, 0x70, 0x67, 0x6d, 0x2f, 0xe6, 0x4e, 0xab, 0x00, 0x00, 0x1a, 0x88, 
    -	0x00, 0x00, 0x01, 0xbc, 0x67, 0x61, 0x73, 0x70, 0x00, 0x08, 0x00, 0x13, 
    -	0x00, 0x01, 0xde, 0xb0, 0x00, 0x00, 0x00, 0x0c, 0x67, 0x6c, 0x79, 0x66, 
    -	0xcd, 0x5e, 0x32, 0x3b, 0x00, 0x00, 0x26, 0x28, 0x00, 0x01, 0x90, 0x4c, 
    -	0x68, 0x65, 0x61, 0x64, 0xff, 0x11, 0xcf, 0xae, 0x00, 0x00, 0x01, 0x1c, 
    -	0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, 0x0d, 0x13, 0x0a, 0x36, 
    -	0x00, 0x00, 0x01, 0x54, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, 
    -	0x7a, 0x3c, 0x75, 0x33, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x10, 0x2c, 
    -	0x6c, 0x6f, 0x63, 0x61, 0x54, 0x05, 0xb7, 0xaa, 0x00, 0x00, 0x1e, 0x10, 
    -	0x00, 0x00, 0x08, 0x18, 0x6d, 0x61, 0x78, 0x70, 0x06, 0x38, 0x03, 0x93, 
    -	0x00, 0x00, 0x01, 0x78, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, 
    -	0x96, 0x3e, 0xa7, 0x68, 0x00, 0x01, 0xb6, 0x74, 0x00, 0x00, 0x04, 0x83, 
    -	0x70, 0x6f, 0x73, 0x74, 0x42, 0x05, 0xec, 0x34, 0x00, 0x01, 0xba, 0xf8, 
    -	0x00, 0x00, 0x23, 0xb6, 0x70, 0x72, 0x65, 0x70, 0xb1, 0x01, 0xb3, 0x50, 
    -	0x00, 0x00, 0x1c, 0x44, 0x00, 0x00, 0x01, 0x9c, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x00, 0x86, 0x5b, 0xc8, 0x05, 0x5f, 0x0f, 0x3c, 0xf5, 
    -	0x00, 0x19, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x47, 0xb8, 0x33, 
    -	0x00, 0x00, 0x00, 0x00, 0xce, 0x14, 0xcc, 0x31, 0xfc, 0x2c, 0xfd, 0xd5, 
    -	0x09, 0x5c, 0x08, 0x77, 0x00, 0x00, 0x00, 0x09, 0x00, 0x02, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x62, 0xfd, 0xd5, 
    -	0x00, 0x00, 0x09, 0x16, 0xfc, 0x2c, 0xff, 0x3f, 0x08, 0x82, 0x00, 0x01, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x04, 0x0b, 0x00, 0x01, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x97, 
    -	0x00, 0x16, 0x00, 0x5f, 0x00, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x0e, 0x00, 0x00, 0x02, 0x00, 0x02, 0x9b, 0x00, 0x03, 0x00, 0x01, 
    -	0x00, 0x03, 0x04, 0x9c, 0x01, 0x90, 0x00, 0x05, 0x00, 0x00, 0x05, 0x9a, 
    -	0x05, 0x33, 0x00, 0x00, 0x01, 0x1f, 0x05, 0x9a, 0x05, 0x33, 0x00, 0x00, 
    -	0x03, 0xd1, 0x00, 0x66, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x02, 0xef, 0x50, 0x00, 
    -	0x20, 0x5b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xfd, 0x08, 0x62, 0xfd, 0xd5, 
    -	0x00, 0x00, 0x08, 0x62, 0x02, 0x2b, 0x20, 0x00, 0x01, 0x9f, 0x4f, 0x01, 
    -	0x00, 0x00, 0x04, 0x3a, 0x05, 0xb0, 0x00, 0x20, 0x00, 0x20, 0x00, 0x02, 
    -	0x01, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfd, 0x00, 0x00, 
    -	0x01, 0xfd, 0x00, 0x00, 0x02, 0x1b, 0x00, 0xab, 0x02, 0x9c, 0x00, 0x50, 
    -	0x04, 0xfc, 0x00, 0x46, 0x04, 0x81, 0x00, 0x6e, 0x05, 0xda, 0x00, 0x68, 
    -	0x04, 0xfc, 0x00, 0x40, 0x01, 0x67, 0x00, 0x50, 0x02, 0xa7, 0x00, 0x84, 
    -	0x02, 0xaf, 0x00, 0x06, 0x03, 0x74, 0x00, 0x1c, 0x04, 0x8a, 0x00, 0x4e, 
    -	0x01, 0x94, 0x00, 0x30, 0x02, 0x31, 0x00, 0x23, 0x02, 0x24, 0x00, 0xa1, 
    -	0x03, 0x52, 0x00, 0x10, 0x04, 0x82, 0x00, 0x71, 0x04, 0x81, 0x00, 0xba, 
    -	0x04, 0x81, 0x00, 0x5c, 0x04, 0x81, 0x00, 0x5f, 0x04, 0x81, 0x00, 0x37, 
    -	0x04, 0x81, 0x00, 0x98, 0x04, 0x81, 0x00, 0x84, 0x04, 0x81, 0x00, 0x4d, 
    -	0x04, 0x81, 0x00, 0x66, 0x04, 0x81, 0x00, 0x53, 0x02, 0x05, 0x00, 0xa1, 
    -	0x02, 0x0d, 0x00, 0x63, 0x04, 0x10, 0x00, 0x47, 0x04, 0x81, 0x00, 0x98, 
    -	0x04, 0x30, 0x00, 0x88, 0x03, 0xce, 0x00, 0x3a, 0x07, 0x29, 0x00, 0x60, 
    -	0x05, 0x2e, 0x00, 0x14, 0x05, 0x1d, 0x00, 0xb4, 0x05, 0x11, 0x00, 0x76, 
    -	0x05, 0x45, 0x00, 0xb4, 0x04, 0xad, 0x00, 0xb4, 0x04, 0xa9, 0x00, 0xb4, 
    -	0x05, 0x74, 0x00, 0x78, 0x05, 0xb5, 0x00, 0xb4, 0x02, 0x43, 0x00, 0xbe, 
    -	0x04, 0x6a, 0x00, 0x3d, 0x05, 0x25, 0x00, 0xb4, 0x04, 0x52, 0x00, 0xb4, 
    -	0x07, 0x07, 0x00, 0xb4, 0x05, 0xb5, 0x00, 0xb4, 0x05, 0x74, 0x00, 0x71, 
    -	0x05, 0x20, 0x00, 0xb4, 0x05, 0x74, 0x00, 0x71, 0x05, 0x4d, 0x00, 0xb4, 
    -	0x04, 0xfd, 0x00, 0x61, 0x04, 0xb0, 0x00, 0x22, 0x05, 0x6a, 0x00, 0x93, 
    -	0x05, 0x0f, 0x00, 0x16, 0x07, 0x11, 0x00, 0x36, 0x05, 0x0f, 0x00, 0x42, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0xc9, 0x00, 0x61, 0x02, 0x28, 0x00, 0x8f, 
    -	0x03, 0x4e, 0x00, 0x27, 0x02, 0x28, 0x00, 0x0b, 0x03, 0x58, 0x00, 0x3d, 
    -	0x03, 0xa3, 0x00, 0x04, 0x02, 0x81, 0x00, 0x52, 0x04, 0x66, 0x00, 0x6a, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x04, 0x3f, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x62, 
    -	0x04, 0x3b, 0x00, 0x63, 0x02, 0xc3, 0x00, 0x38, 0x04, 0x8c, 0x00, 0x64, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x02, 0x04, 0x00, 0x9f, 0x02, 0x12, 0xff, 0xbe, 
    -	0x04, 0x1a, 0x00, 0x90, 0x02, 0x04, 0x00, 0x9f, 0x06, 0xfe, 0x00, 0x8f, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x8c, 0x00, 0x62, 0x02, 0xbe, 0x00, 0x8f, 0x04, 0x2f, 0x00, 0x67, 
    -	0x02, 0xc4, 0x00, 0x22, 0x04, 0x8c, 0x00, 0x8b, 0x04, 0x06, 0x00, 0x2e, 
    -	0x06, 0x0e, 0x00, 0x2d, 0x04, 0x06, 0x00, 0x2e, 0x04, 0x06, 0x00, 0x1a, 
    -	0x04, 0x06, 0x00, 0x5e, 0x02, 0xb8, 0x00, 0x3f, 0x01, 0xfb, 0x00, 0xaf, 
    -	0x02, 0xb8, 0x00, 0x15, 0x05, 0x6f, 0x00, 0x80, 0x01, 0xfd, 0x00, 0x00, 
    -	0x01, 0xfb, 0x00, 0x90, 0x04, 0x62, 0x00, 0x6b, 0x04, 0xaa, 0x00, 0x46, 
    -	0x05, 0xb0, 0x00, 0x68, 0x04, 0xdb, 0x00, 0x1e, 0x01, 0xf3, 0x00, 0x91, 
    -	0x04, 0xeb, 0x00, 0x5a, 0x03, 0xfd, 0x00, 0xaa, 0x06, 0x44, 0x00, 0x58, 
    -	0x03, 0x95, 0x00, 0x78, 0x03, 0xc6, 0x00, 0x62, 0x04, 0x71, 0x00, 0x7f, 
    -	0x02, 0x31, 0x00, 0x23, 0x06, 0x44, 0x00, 0x58, 0x03, 0xb6, 0x00, 0x7b, 
    -	0x02, 0xfb, 0x00, 0x80, 0x04, 0x49, 0x00, 0x63, 0x03, 0x64, 0x00, 0x71, 
    -	0x03, 0x6c, 0x00, 0x6a, 0x02, 0x8e, 0x00, 0x83, 0x04, 0x8c, 0x00, 0x99, 
    -	0x03, 0xee, 0x00, 0x3f, 0x02, 0x1c, 0x00, 0xa1, 0x01, 0xfd, 0x00, 0x77, 
    -	0x02, 0x2d, 0x00, 0x5f, 0x03, 0xa5, 0x00, 0x78, 0x03, 0xc6, 0x00, 0x6e, 
    -	0x06, 0x3b, 0x00, 0xb8, 0x06, 0xac, 0x00, 0xb8, 0x06, 0xf5, 0x00, 0x7a, 
    -	0x03, 0xf5, 0x00, 0x72, 0x05, 0x2e, 0x00, 0x14, 0x05, 0x2e, 0x00, 0x14, 
    -	0x05, 0x2e, 0x00, 0x14, 0x05, 0x2e, 0x00, 0x14, 0x05, 0x2e, 0x00, 0x14, 
    -	0x05, 0x2e, 0x00, 0x14, 0x07, 0x82, 0xff, 0xec, 0x05, 0x11, 0x00, 0x76, 
    -	0x04, 0xad, 0x00, 0xb4, 0x04, 0xad, 0x00, 0xb4, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0xad, 0x00, 0xb4, 0x02, 0x43, 0xff, 0xde, 0x02, 0x43, 0x00, 0xbe, 
    -	0x02, 0x43, 0xff, 0xf1, 0x02, 0x43, 0xff, 0xcb, 0x05, 0x63, 0x00, 0x2a, 
    -	0x05, 0xb5, 0x00, 0xb4, 0x05, 0x74, 0x00, 0x71, 0x05, 0x74, 0x00, 0x71, 
    -	0x05, 0x74, 0x00, 0x71, 0x05, 0x74, 0x00, 0x71, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x48, 0x00, 0x58, 0x05, 0x74, 0x00, 0x71, 0x05, 0x6a, 0x00, 0x93, 
    -	0x05, 0x6a, 0x00, 0x93, 0x05, 0x6a, 0x00, 0x93, 0x05, 0x6a, 0x00, 0x93, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0xb9, 0x00, 0xa3, 0x04, 0xc5, 0x00, 0x89, 
    -	0x04, 0x66, 0x00, 0x6a, 0x04, 0x66, 0x00, 0x6a, 0x04, 0x66, 0x00, 0x6a, 
    -	0x04, 0x66, 0x00, 0x6a, 0x04, 0x66, 0x00, 0x6a, 0x04, 0x66, 0x00, 0x6a, 
    -	0x06, 0xc1, 0x00, 0x3a, 0x04, 0x3f, 0x00, 0x61, 0x04, 0x3b, 0x00, 0x63, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0x3b, 0x00, 0x63, 0x04, 0x3b, 0x00, 0x63, 
    -	0x02, 0x03, 0xff, 0xb9, 0x02, 0x03, 0x00, 0x99, 0x02, 0x03, 0xff, 0xcc, 
    -	0x02, 0x03, 0xff, 0xa6, 0x04, 0xb2, 0x00, 0x48, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x61, 
    -	0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x61, 0x04, 0x92, 0x00, 0x47, 
    -	0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x8b, 0x04, 0x8c, 0x00, 0x8b, 
    -	0x04, 0x8c, 0x00, 0x8b, 0x04, 0x8c, 0x00, 0x8b, 0x04, 0x06, 0x00, 0x1a, 
    -	0x04, 0xa2, 0x00, 0x99, 0x04, 0x06, 0x00, 0x1a, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 0x05, 0x11, 0x00, 0x76, 
    -	0x04, 0x3f, 0x00, 0x61, 0x05, 0x11, 0x00, 0x76, 0x04, 0x3f, 0x00, 0x61, 
    -	0x05, 0x11, 0x00, 0x76, 0x04, 0x3f, 0x00, 0x61, 0x05, 0x11, 0x00, 0x76, 
    -	0x04, 0x3f, 0x00, 0x61, 0x05, 0x45, 0x00, 0xb4, 0x05, 0x22, 0x00, 0x62, 
    -	0x05, 0x63, 0x00, 0x2a, 0x04, 0xaa, 0x00, 0x62, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 
    -	0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 
    -	0x05, 0x74, 0x00, 0x78, 0x04, 0x8c, 0x00, 0x64, 0x05, 0x74, 0x00, 0x78, 
    -	0x04, 0x8c, 0x00, 0x64, 0x05, 0x74, 0x00, 0x78, 0x04, 0x8c, 0x00, 0x64, 
    -	0x05, 0x74, 0x00, 0x78, 0x04, 0x8c, 0x00, 0x64, 0x05, 0xb5, 0x00, 0xb4, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x05, 0x9f, 0x00, 0x1f, 0x04, 0xaa, 0x00, 0x01, 
    -	0x02, 0x43, 0xff, 0xc8, 0x02, 0x03, 0xff, 0xa3, 0x02, 0x43, 0xff, 0xc0, 
    -	0x02, 0x03, 0xff, 0x9b, 0x02, 0x43, 0xff, 0xf8, 0x02, 0x03, 0xff, 0xd3, 
    -	0x02, 0x43, 0x00, 0x2e, 0x02, 0x04, 0x00, 0x0e, 0x02, 0x43, 0x00, 0xb4, 
    -	0x02, 0x03, 0x00, 0x99, 0x06, 0xad, 0x00, 0xbe, 0x04, 0x16, 0x00, 0x9f, 
    -	0x04, 0x6a, 0x00, 0x3d, 0x02, 0x0b, 0xff, 0xbc, 0x05, 0x25, 0x00, 0xb4, 
    -	0x04, 0x1a, 0x00, 0x90, 0x04, 0x78, 0x00, 0x99, 0x04, 0x52, 0x00, 0xb4, 
    -	0x02, 0x04, 0x00, 0x9f, 0x04, 0x52, 0x00, 0xb4, 0x02, 0x04, 0x00, 0x6e, 
    -	0x04, 0x52, 0x00, 0xb4, 0x02, 0x9a, 0x00, 0x9f, 0x04, 0x52, 0x00, 0xb4, 
    -	0x02, 0xe0, 0x00, 0x9f, 0x04, 0x35, 0x00, 0x28, 0x02, 0x2e, 0x00, 0x25, 
    -	0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 0x05, 0xb5, 0x00, 0xb4, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x8c, 0xff, 0xe0, 0x05, 0x88, 0x00, 0xa1, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 
    -	0x07, 0xa8, 0x00, 0x68, 0x07, 0x3e, 0x00, 0x61, 0x05, 0x4d, 0x00, 0xb4, 
    -	0x02, 0xbe, 0x00, 0x8f, 0x05, 0x4d, 0x00, 0xb4, 0x02, 0xbe, 0x00, 0x6b, 
    -	0x05, 0x4d, 0x00, 0xb4, 0x02, 0xbe, 0x00, 0x65, 0x04, 0xfd, 0x00, 0x61, 
    -	0x04, 0x2f, 0x00, 0x67, 0x04, 0xfd, 0x00, 0x61, 0x04, 0x2f, 0x00, 0x67, 
    -	0x04, 0xfd, 0x00, 0x61, 0x04, 0x2f, 0x00, 0x67, 0x04, 0xfd, 0x00, 0x61, 
    -	0x04, 0x2f, 0x00, 0x67, 0x04, 0xb0, 0x00, 0x22, 0x02, 0xc4, 0x00, 0x22, 
    -	0x04, 0xb0, 0x00, 0x22, 0x02, 0xec, 0x00, 0x22, 0x04, 0xb0, 0x00, 0x22, 
    -	0x02, 0xc4, 0xff, 0xf8, 0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 
    -	0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 0x05, 0x6a, 0x00, 0x93, 
    -	0x04, 0x8c, 0x00, 0x8b, 0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 
    -	0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 0x05, 0x6a, 0x00, 0x93, 
    -	0x04, 0x8c, 0x00, 0x8b, 0x07, 0x11, 0x00, 0x36, 0x06, 0x0e, 0x00, 0x2d, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0x06, 0x00, 0x1a, 0x04, 0xe2, 0x00, 0x14, 
    -	0x04, 0xc9, 0x00, 0x61, 0x04, 0x06, 0x00, 0x5e, 0x04, 0xc9, 0x00, 0x61, 
    -	0x04, 0x06, 0x00, 0x5e, 0x04, 0xc9, 0x00, 0x61, 0x04, 0x06, 0x00, 0x5e, 
    -	0x02, 0x04, 0x00, 0x9f, 0x02, 0xbe, 0xff, 0xe9, 0x05, 0x7b, 0x00, 0x6c, 
    -	0x04, 0x97, 0x00, 0x61, 0x05, 0x96, 0x00, 0x93, 0x04, 0xb4, 0x00, 0x8b, 
    -	0x02, 0x0b, 0xff, 0xbc, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x07, 0x82, 0xff, 0xec, 0x06, 0xc1, 0x00, 0x3a, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8c, 0x00, 0x61, 0x04, 0xfd, 0x00, 0x61, 0x04, 0x2f, 0x00, 0x67, 
    -	0x02, 0x0b, 0xff, 0xbc, 0x01, 0xa2, 0x00, 0x50, 0x03, 0xd3, 0x00, 0xab, 
    -	0x03, 0x9a, 0x00, 0x8c, 0x03, 0x6c, 0x00, 0x81, 0x02, 0x2c, 0x00, 0xa0, 
    -	0x02, 0xb8, 0x00, 0x85, 0x02, 0x32, 0x00, 0x44, 0x03, 0xd3, 0x00, 0x87, 
    -	0x02, 0xfa, 0x00, 0x64, 0x02, 0xa0, 0x00, 0xb6, 0x00, 0x00, 0xfc, 0xd1, 
    -	0x00, 0x00, 0xfd, 0x6f, 0x00, 0x00, 0xfc, 0x8d, 0x00, 0x00, 0xfd, 0x5b, 
    -	0x00, 0x00, 0xfc, 0x2c, 0x00, 0x00, 0xfd, 0x3c, 0x02, 0x0e, 0x00, 0xc3, 
    -	0x04, 0x15, 0x00, 0xa1, 0x05, 0x2e, 0x00, 0x14, 0x02, 0x1d, 0x00, 0xa1, 
    -	0x05, 0x11, 0xff, 0xe3, 0x06, 0x19, 0x00, 0x14, 0x02, 0xa7, 0x00, 0x18, 
    -	0x05, 0x88, 0x00, 0x44, 0x05, 0x46, 0xff, 0x81, 0x05, 0x6a, 0x00, 0x3d, 
    -	0x02, 0xa0, 0xff, 0xcd, 0x05, 0x2e, 0x00, 0x14, 0x05, 0x1d, 0x00, 0xb4, 
    -	0x04, 0x74, 0x00, 0xb4, 0x05, 0xa7, 0x00, 0x1e, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0xc9, 0x00, 0x61, 0x05, 0xb5, 0x00, 0xb4, 0x05, 0x74, 0x00, 0x71, 
    -	0x02, 0x43, 0x00, 0xbe, 0x05, 0x25, 0x00, 0xb4, 0x05, 0x41, 0x00, 0x31, 
    -	0x07, 0x07, 0x00, 0xb4, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x95, 0x00, 0x7b, 
    -	0x05, 0x74, 0x00, 0x71, 0x05, 0xb7, 0x00, 0xb4, 0x05, 0x20, 0x00, 0xb4, 
    -	0x04, 0x95, 0x00, 0x46, 0x04, 0xb0, 0x00, 0x22, 0x04, 0xe2, 0x00, 0x14, 
    -	0x05, 0x9f, 0x00, 0x54, 0x05, 0x0f, 0x00, 0x42, 0x05, 0x88, 0x00, 0x57, 
    -	0x05, 0x56, 0x00, 0x70, 0x02, 0x43, 0xff, 0xcb, 0x04, 0xe2, 0x00, 0x14, 
    -	0x04, 0x86, 0x00, 0x62, 0x04, 0x4f, 0x00, 0x62, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x02, 0xa0, 0x00, 0xc5, 0x04, 0x8c, 0x00, 0x8d, 0x04, 0x86, 0x00, 0x62, 
    -	0x04, 0xbd, 0x00, 0x9d, 0x04, 0x07, 0x00, 0x2e, 0x04, 0x8c, 0x00, 0x61, 
    -	0x04, 0x4f, 0x00, 0x62, 0x04, 0x2f, 0x00, 0x73, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x8d, 0x00, 0x77, 0x02, 0xa0, 0x00, 0xc5, 0x04, 0x78, 0x00, 0x99, 
    -	0x04, 0x8c, 0x00, 0x38, 0x04, 0x8c, 0x00, 0x99, 0x04, 0x06, 0x00, 0x2e, 
    -	0x04, 0x13, 0x00, 0x56, 0x04, 0x8c, 0x00, 0x61, 0x04, 0xc5, 0x00, 0x4f, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x04, 0x4e, 0x00, 0x62, 0x04, 0x8c, 0x00, 0x61, 
    -	0x04, 0x30, 0x00, 0x51, 0x04, 0x8c, 0x00, 0x8d, 0x05, 0xaa, 0x00, 0x53, 
    -	0x04, 0x77, 0x00, 0x5e, 0x05, 0xa0, 0x00, 0x5b, 0x06, 0xcd, 0x00, 0x6c, 
    -	0x02, 0xa0, 0xff, 0xd8, 0x04, 0x8c, 0x00, 0x8d, 0x04, 0x8c, 0x00, 0x61, 
    -	0x04, 0x8c, 0x00, 0x8d, 0x06, 0xcd, 0x00, 0x6c, 0x04, 0xf1, 0x00, 0x71, 
    -	0x04, 0x41, 0xff, 0xea, 0x06, 0x48, 0x00, 0x4e, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0xad, 0x00, 0xb4, 0x06, 0x01, 0x00, 0x29, 0x04, 0x74, 0x00, 0xb4, 
    -	0x05, 0x6a, 0x00, 0x87, 0x04, 0xfd, 0x00, 0x61, 0x02, 0x43, 0x00, 0xbe, 
    -	0x02, 0x43, 0xff, 0xcb, 0x04, 0x6a, 0x00, 0x3d, 0x08, 0x99, 0x00, 0x32, 
    -	0x08, 0xa4, 0x00, 0xb4, 0x06, 0x86, 0x00, 0x42, 0x05, 0x25, 0x00, 0xb4, 
    -	0x05, 0xb5, 0x00, 0xb4, 0x05, 0x11, 0x00, 0x55, 0x05, 0xb7, 0x00, 0xb4, 
    -	0x05, 0x2e, 0x00, 0x14, 0x05, 0x0c, 0x00, 0xa3, 0x05, 0x1d, 0x00, 0xb4, 
    -	0x04, 0x74, 0x00, 0xb4, 0x06, 0x0e, 0x00, 0x30, 0x04, 0xad, 0x00, 0xb4, 
    -	0x07, 0x4d, 0x00, 0x1c, 0x05, 0x69, 0x00, 0x78, 0x05, 0xb5, 0x00, 0xb4, 
    -	0x05, 0xb5, 0x00, 0xb4, 0x05, 0x25, 0x00, 0xb4, 0x05, 0xab, 0x00, 0x31, 
    -	0x07, 0x07, 0x00, 0xb4, 0x05, 0xb5, 0x00, 0xb4, 0x05, 0x74, 0x00, 0x71, 
    -	0x05, 0xb7, 0x00, 0xb4, 0x05, 0x20, 0x00, 0xb4, 0x05, 0x11, 0x00, 0x76, 
    -	0x04, 0xb0, 0x00, 0x22, 0x05, 0x07, 0x00, 0x55, 0x06, 0x37, 0x00, 0x55, 
    -	0x05, 0x0f, 0x00, 0x42, 0x06, 0x28, 0x00, 0xb5, 0x05, 0x81, 0x00, 0x93, 
    -	0x07, 0x8c, 0x00, 0xb4, 0x07, 0xca, 0x00, 0xb4, 0x06, 0x0c, 0x00, 0x16, 
    -	0x06, 0xf6, 0x00, 0xb4, 0x05, 0x0a, 0x00, 0xa3, 0x05, 0x69, 0x00, 0xb5, 
    -	0x07, 0x21, 0x00, 0xbe, 0x05, 0x21, 0x00, 0x63, 0x04, 0x66, 0x00, 0x6a, 
    -	0x04, 0x6d, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x90, 0x03, 0x51, 0x00, 0x8f, 
    -	0x04, 0xdf, 0x00, 0x2e, 0x04, 0x3b, 0x00, 0x63, 0x06, 0x20, 0x00, 0x15, 
    -	0x04, 0x10, 0x00, 0x58, 0x04, 0x8c, 0x00, 0x8f, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x3e, 0x00, 0x99, 0x04, 0x6d, 0x00, 0x1a, 0x05, 0xf8, 0x00, 0x99, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x04, 0x8c, 0x00, 0x61, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x04, 0x3f, 0x00, 0x61, 0x04, 0x18, 0x00, 0x47, 
    -	0x04, 0x06, 0x00, 0x1a, 0x05, 0xcd, 0x00, 0x62, 0x04, 0x06, 0x00, 0x2e, 
    -	0x04, 0xc2, 0x00, 0x8f, 0x04, 0x6b, 0x00, 0x7f, 0x06, 0x6d, 0x00, 0x8f, 
    -	0x06, 0xc4, 0x00, 0x8f, 0x04, 0xf4, 0x00, 0x1d, 0x06, 0x51, 0x00, 0xad, 
    -	0x04, 0x59, 0x00, 0x99, 0x04, 0x4e, 0x00, 0x63, 0x06, 0x87, 0x00, 0x99, 
    -	0x04, 0x8b, 0x00, 0x4e, 0x04, 0x3b, 0x00, 0x63, 0x04, 0x3b, 0x00, 0x63, 
    -	0x04, 0x8c, 0xff, 0xe7, 0x03, 0x51, 0x00, 0x8f, 0x04, 0x4f, 0x00, 0x6b, 
    -	0x04, 0x2f, 0x00, 0x67, 0x02, 0x04, 0x00, 0x9f, 0x02, 0x03, 0xff, 0xa6, 
    -	0x02, 0x12, 0xff, 0xbe, 0x06, 0xf6, 0x00, 0x41, 0x06, 0xf5, 0x00, 0x8f, 
    -	0x04, 0x8c, 0x00, 0x13, 0x04, 0x3e, 0x00, 0x99, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x04, 0x06, 0x00, 0x1a, 0x04, 0x8c, 0x00, 0x8f, 0x07, 0x05, 0x00, 0x9d, 
    -	0x06, 0x18, 0x00, 0x7c, 0x05, 0x0a, 0xff, 0xcd, 0x04, 0x59, 0xff, 0xdb, 
    -	0x07, 0x2d, 0x00, 0xbf, 0x05, 0xfa, 0x00, 0x97, 0x04, 0xd3, 0x00, 0x2b, 
    -	0x04, 0x49, 0x00, 0x0d, 0x07, 0x0d, 0x00, 0xd1, 0x06, 0x0d, 0x00, 0xba, 
    -	0x06, 0xdf, 0x00, 0x95, 0x05, 0xec, 0x00, 0x95, 0x09, 0x16, 0x00, 0xbe, 
    -	0x07, 0xe3, 0x00, 0x99, 0x04, 0x25, 0x00, 0x4a, 0x03, 0xda, 0x00, 0x49, 
    -	0x05, 0x88, 0x00, 0x57, 0x05, 0xa0, 0x00, 0x5b, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8d, 0x00, 0x61, 0x05, 0x0f, 0x00, 0x16, 0x04, 0x07, 0x00, 0x2e, 
    -	0x05, 0x0f, 0x00, 0x16, 0x04, 0x07, 0xff, 0xfe, 0x09, 0x7a, 0x00, 0x71, 
    -	0x08, 0x92, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 
    -	0x06, 0xfe, 0x00, 0x9d, 0x06, 0x18, 0x00, 0x7b, 0x07, 0x06, 0x00, 0x9d, 
    -	0x06, 0x19, 0x00, 0x7c, 0x05, 0x38, 0x00, 0x76, 0x04, 0x4b, 0x00, 0x62, 
    -	0x05, 0x02, 0x00, 0x70, 0x04, 0x8d, 0x00, 0xd4, 0x04, 0xb9, 0x00, 0xfb, 
    -	0x03, 0x13, 0x01, 0x00, 0x03, 0x4f, 0x01, 0x2c, 0x08, 0x1c, 0x00, 0x3b, 
    -	0x07, 0xd8, 0x00, 0x4d, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x05, 0x0a, 0xff, 0xcd, 0x04, 0x59, 0xff, 0xdb, 0x05, 0x1d, 0x00, 0xb4, 
    -	0x04, 0x8b, 0x00, 0x8f, 0x04, 0x64, 0x00, 0xa3, 0x03, 0x93, 0x00, 0x8f, 
    -	0x04, 0x74, 0xff, 0xfc, 0x03, 0x51, 0xff, 0xf3, 0x04, 0xe6, 0x00, 0xb4, 
    -	0x04, 0x08, 0x00, 0x8f, 0x07, 0x4d, 0x00, 0x1c, 0x06, 0x20, 0x00, 0x15, 
    -	0x04, 0xbf, 0x00, 0x78, 0x04, 0x10, 0x00, 0x58, 0x05, 0x25, 0x00, 0xb4, 
    -	0x04, 0x3e, 0x00, 0x99, 0x05, 0x0f, 0x00, 0xa3, 0x04, 0x68, 0x00, 0x99, 
    -	0x05, 0x39, 0xff, 0xf5, 0x04, 0x2e, 0xff, 0xcf, 0x06, 0x90, 0x00, 0x43, 
    -	0x05, 0x8e, 0x00, 0x41, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x07, 0xc4, 0x00, 0xb4, 0x05, 0xb0, 0x00, 0x8f, 0x08, 0x33, 0x00, 0xb4, 
    -	0x06, 0xfa, 0x00, 0x8f, 0x05, 0xee, 0x00, 0x71, 0x04, 0xd7, 0x00, 0x6c, 
    -	0x05, 0x11, 0x00, 0x76, 0x04, 0x3f, 0x00, 0x61, 0x04, 0xb0, 0x00, 0x22, 
    -	0x04, 0x18, 0x00, 0x47, 0x04, 0xe2, 0x00, 0x14, 0x04, 0x07, 0x00, 0x2e, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0x07, 0x00, 0x2e, 0x05, 0x0f, 0x00, 0x42, 
    -	0x04, 0x06, 0x00, 0x2e, 0x07, 0x37, 0x00, 0x37, 0x05, 0x93, 0x00, 0x20, 
    -	0x05, 0x81, 0x00, 0x93, 0x04, 0x6b, 0x00, 0x7f, 0x05, 0x76, 0x00, 0x93, 
    -	0x04, 0x6c, 0x00, 0x7f, 0x05, 0x76, 0x00, 0x8a, 0x04, 0x6c, 0x00, 0x94, 
    -	0x06, 0xcb, 0x00, 0x4d, 0x04, 0xbf, 0xff, 0xdf, 0x06, 0x36, 0x00, 0x4d, 
    -	0x04, 0xbf, 0xff, 0xdf, 0x02, 0x43, 0x00, 0xbe, 0x07, 0x4d, 0x00, 0x1c, 
    -	0x06, 0x20, 0x00, 0x15, 0x05, 0x0f, 0x00, 0xa3, 0x04, 0x60, 0x00, 0x99, 
    -	0x05, 0xab, 0x00, 0x31, 0x04, 0x6d, 0x00, 0x1a, 0x05, 0xb5, 0x00, 0xb4, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x05, 0x81, 0x00, 0x93, 0x04, 0x6b, 0x00, 0x7f, 0x07, 0x07, 0x00, 0xb4, 
    -	0x05, 0xf8, 0x00, 0x99, 0x02, 0x43, 0x00, 0xbe, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x07, 0x82, 0xff, 0xec, 0x06, 0xc1, 0x00, 0x3a, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x05, 0x91, 0x00, 0x59, 0x04, 0x42, 0x00, 0x74, 
    -	0x05, 0x91, 0x00, 0x59, 0x04, 0x42, 0x00, 0x74, 0x06, 0x97, 0x00, 0x1c, 
    -	0x05, 0xc1, 0x00, 0x15, 0x05, 0x69, 0x00, 0x78, 0x04, 0x4f, 0x00, 0x58, 
    -	0x04, 0xaa, 0x00, 0x69, 0x04, 0xaa, 0x00, 0x69, 0x05, 0xb5, 0x00, 0xb4, 
    -	0x04, 0x8c, 0x00, 0x8f, 0x05, 0xb5, 0x00, 0xb4, 0x04, 0x8c, 0x00, 0x8f, 
    -	0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8d, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 0x04, 0x8d, 0x00, 0x61, 
    -	0x05, 0x69, 0x00, 0xb5, 0x04, 0x4e, 0x00, 0x63, 0x05, 0x07, 0x00, 0x55, 
    -	0x04, 0x06, 0x00, 0x1a, 0x05, 0x07, 0x00, 0x55, 0x04, 0x06, 0x00, 0x1a, 
    -	0x05, 0x07, 0x00, 0x55, 0x04, 0x06, 0x00, 0x1a, 0x05, 0x81, 0x00, 0x93, 
    -	0x04, 0x6b, 0x00, 0x7f, 0x04, 0x74, 0x00, 0xb4, 0x03, 0x51, 0x00, 0x8f, 
    -	0x06, 0xf6, 0x00, 0xb4, 0x06, 0x51, 0x00, 0xad, 0x04, 0xbf, 0x00, 0x41, 
    -	0x03, 0x49, 0x00, 0x42, 0x05, 0x0f, 0x00, 0x42, 0x04, 0x06, 0x00, 0x2e, 
    -	0x05, 0x0f, 0x00, 0x42, 0x04, 0x06, 0x00, 0x2e, 0x05, 0x07, 0x00, 0x5b, 
    -	0x04, 0x8c, 0x00, 0x62, 0x06, 0xa4, 0x00, 0x5b, 0x06, 0xe5, 0x00, 0x62, 
    -	0x06, 0x57, 0x00, 0x36, 0x05, 0x2c, 0x00, 0x31, 0x04, 0x4b, 0x00, 0x50, 
    -	0x04, 0x09, 0x00, 0x7b, 0x07, 0xc2, 0x00, 0x45, 0x06, 0x76, 0x00, 0x41, 
    -	0x08, 0x03, 0x00, 0xa9, 0x06, 0xa2, 0x00, 0x8f, 0x04, 0xf7, 0x00, 0x76, 
    -	0x04, 0x1e, 0x00, 0x62, 0x05, 0xae, 0x00, 0x24, 0x05, 0x21, 0x00, 0x46, 
    -	0x05, 0x69, 0x00, 0x9c, 0x04, 0x4f, 0x00, 0x62, 0x05, 0xab, 0x00, 0x31, 
    -	0x04, 0x6d, 0x00, 0x1a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x07, 0x07, 0x00, 0xb4, 0x06, 0xfe, 0x00, 0x8f, 0x07, 0x11, 0x00, 0x36, 
    -	0x06, 0x0e, 0x00, 0x2d, 0x07, 0x11, 0x00, 0x36, 0x06, 0x0e, 0x00, 0x2d, 
    -	0x07, 0x11, 0x00, 0x36, 0x06, 0x0e, 0x00, 0x2d, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0xff, 0xa3, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 
    -	0x04, 0x66, 0x00, 0x6a, 0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 
    -	0x05, 0x2e, 0x00, 0x14, 0x04, 0x66, 0x00, 0x6a, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 
    -	0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0xff, 0xec, 0x04, 0x3b, 0xff, 0xa6, 
    -	0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 
    -	0x04, 0x3b, 0x00, 0x63, 0x04, 0xad, 0x00, 0xb4, 0x04, 0x3b, 0x00, 0x63, 
    -	0x02, 0x43, 0x00, 0xbe, 0x02, 0x03, 0x00, 0x99, 0x02, 0x43, 0x00, 0xb4, 
    -	0x02, 0x04, 0x00, 0x95, 0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 
    -	0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x32, 0x04, 0x8c, 0xff, 0xbe, 
    -	0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 
    -	0x04, 0x8c, 0x00, 0x61, 0x05, 0x74, 0x00, 0x71, 0x04, 0x8c, 0x00, 0x61, 
    -	0x05, 0x7b, 0x00, 0x6c, 0x04, 0x97, 0x00, 0x61, 0x05, 0x7b, 0x00, 0x6c, 
    -	0x04, 0x97, 0x00, 0x61, 0x05, 0x7b, 0x00, 0x6c, 0x04, 0x97, 0x00, 0x61, 
    -	0x05, 0x7b, 0x00, 0x6c, 0x04, 0x97, 0x00, 0x61, 0x05, 0x7b, 0x00, 0x6c, 
    -	0x04, 0x97, 0x00, 0x61, 0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 
    -	0x05, 0x6a, 0x00, 0x93, 0x04, 0x8c, 0x00, 0x8b, 0x05, 0x96, 0x00, 0x93, 
    -	0x04, 0xb4, 0x00, 0x8b, 0x05, 0x96, 0x00, 0x93, 0x04, 0xb4, 0x00, 0x8b, 
    -	0x05, 0x96, 0x00, 0x93, 0x04, 0xb4, 0x00, 0x8b, 0x05, 0x96, 0x00, 0x93, 
    -	0x04, 0xb4, 0x00, 0x8b, 0x05, 0x96, 0x00, 0x93, 0x04, 0xb4, 0x00, 0x8b, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0x06, 0x00, 0x1a, 0x04, 0xe2, 0x00, 0x14, 
    -	0x04, 0x06, 0x00, 0x1a, 0x04, 0xe2, 0x00, 0x14, 0x04, 0x06, 0x00, 0x1a, 
    -	0x04, 0xe2, 0x00, 0x14, 0x04, 0x06, 0x00, 0x1a, 0x05, 0x74, 0xff, 0x24, 
    -	0x04, 0x14, 0x00, 0x00, 0x08, 0x29, 0x00, 0x00, 0x04, 0x14, 0x00, 0x00, 
    -	0x08, 0x29, 0x00, 0x00, 0x02, 0xb9, 0x00, 0x00, 0x02, 0x0a, 0x00, 0x00, 
    -	0x01, 0x5c, 0x00, 0x00, 0x04, 0x7f, 0x00, 0x00, 0x02, 0x30, 0x00, 0x00, 
    -	0x01, 0xa2, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x05, 0x88, 0x00, 0xb4, 0x06, 0x7c, 0x00, 0xbc, 0x06, 0x7c, 0x00, 0xbc, 
    -	0x03, 0xa7, 0x00, 0x05, 0x01, 0xa2, 0x00, 0x50, 0x01, 0xa2, 0x00, 0x50, 
    -	0x01, 0xa1, 0x00, 0x50, 0x01, 0xa2, 0x00, 0x2b, 0x02, 0xe8, 0x00, 0x50, 
    -	0x02, 0xf0, 0x00, 0x50, 0x02, 0xd6, 0x00, 0x50, 0x04, 0x69, 0x00, 0x46, 
    -	0x04, 0x92, 0x00, 0x57, 0x02, 0xb7, 0x00, 0x89, 0x03, 0xca, 0x00, 0xa1, 
    -	0x05, 0x64, 0x00, 0xa1, 0x07, 0xa4, 0x00, 0x40, 0x01, 0x67, 0x00, 0x50, 
    -	0x02, 0x9c, 0x00, 0x50, 0x02, 0x67, 0x00, 0x6c, 0x02, 0x67, 0x00, 0x58, 
    -	0x04, 0x36, 0x00, 0xab, 0x03, 0xa5, 0x00, 0x3b, 0x03, 0xad, 0x00, 0x47, 
    -	0x03, 0x60, 0x00, 0x7a, 0x04, 0xa9, 0x00, 0x1c, 0x04, 0xaa, 0x00, 0x46, 
    -	0x06, 0x92, 0x00, 0xa4, 0x04, 0xaa, 0x00, 0x62, 0x04, 0x40, 0x00, 0x4f, 
    -	0x05, 0xe9, 0x00, 0x7c, 0x03, 0xd2, 0x00, 0x6a, 0x08, 0xcc, 0x00, 0xab, 
    -	0x05, 0x04, 0x00, 0x67, 0x05, 0x18, 0x00, 0x98, 0x06, 0xbf, 0x00, 0x6b, 
    -	0x07, 0x56, 0x00, 0x6e, 0x07, 0x86, 0x00, 0x70, 0x06, 0xdf, 0x00, 0x6b, 
    -	0x04, 0xa2, 0x00, 0x48, 0x05, 0x9c, 0x00, 0xa8, 0x04, 0xb2, 0x00, 0x46, 
    -	0x04, 0x92, 0x00, 0xa8, 0x04, 0xd7, 0x00, 0x3f, 0x08, 0x2f, 0x00, 0x68, 
    -	0x02, 0x0d, 0xff, 0xbc, 0x04, 0x82, 0x00, 0x65, 0x04, 0x30, 0x00, 0x98, 
    -	0x04, 0x38, 0x00, 0x9e, 0x04, 0x40, 0x00, 0x9a, 0x04, 0x08, 0x00, 0x29, 
    -	0x02, 0x08, 0x00, 0x65, 0x04, 0x74, 0x00, 0x1c, 0x04, 0xc7, 0x00, 0x38, 
    -	0x07, 0x37, 0x00, 0x38, 0x07, 0x8a, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 
    -	0x08, 0x34, 0x00, 0x5b, 0x08, 0x35, 0x00, 0x5c, 0x02, 0x03, 0xff, 0x99, 
    -	0x03, 0x4c, 0x00, 0x68, 0x03, 0x84, 0x00, 0x70, 0x03, 0x6c, 0x00, 0x68, 
    -	0x04, 0x30, 0x00, 0x78, 0x04, 0x68, 0x00, 0x47, 0x04, 0x16, 0x00, 0x5a, 
    -	0x03, 0xe5, 0x00, 0x59, 0x02, 0x5e, 0x00, 0x4e, 0x04, 0x79, 0x00, 0x78, 
    -	0x04, 0x40, 0x00, 0x4e, 0x04, 0x61, 0x00, 0x1e, 0x04, 0x89, 0x00, 0x37, 
    -	0x06, 0x02, 0x00, 0x3f, 0x04, 0xbb, 0x00, 0x27, 0x05, 0x04, 0x00, 0x89, 
    -	0x04, 0x30, 0x00, 0x47, 0x04, 0x71, 0x00, 0x5d, 0x04, 0xad, 0x00, 0x99, 
    -	0x04, 0xe3, 0x00, 0x70, 0x04, 0xde, 0x00, 0x8b, 0x04, 0xcb, 0x00, 0x70, 
    -	0x05, 0x1c, 0x00, 0x99, 0x03, 0xa0, 0x00, 0x92, 0x05, 0xf8, 0x00, 0x99, 
    -	0x03, 0xbd, 0x00, 0x99, 0x04, 0x61, 0x00, 0x99, 0x04, 0x0f, 0x00, 0x40, 
    -	0x02, 0x03, 0x00, 0x99, 0x04, 0xfb, 0x00, 0x99, 0x04, 0xd3, 0x00, 0x70, 
    -	0x04, 0x1f, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 0x04, 0xaa, 0x00, 0x99, 
    -	0x04, 0x92, 0x00, 0x70, 0x04, 0x79, 0x00, 0x99, 0x02, 0x07, 0x00, 0xa0, 
    -	0x03, 0xa4, 0x00, 0x81, 0x04, 0xba, 0x00, 0x27, 0x04, 0x09, 0x00, 0x78, 
    -	0x04, 0x0a, 0xff, 0x55, 0x04, 0x0f, 0x00, 0x6e, 0x04, 0x0a, 0x00, 0x6e, 
    -	0x03, 0xa4, 0x00, 0x81, 0x03, 0xa4, 0x00, 0x81, 0x03, 0xa5, 0x00, 0x81, 
    -	0x01, 0x91, 0x00, 0x60, 0x02, 0x31, 0x00, 0x13, 0x02, 0x04, 0xff, 0xbe, 
    -	0x03, 0x0c, 0xff, 0xa0, 0x03, 0x07, 0x00, 0x3b, 0x04, 0x7f, 0x00, 0x5b, 
    -	0x04, 0xab, 0x00, 0x74, 0x04, 0x9f, 0x00, 0x46, 0x04, 0x9f, 0x00, 0xa7, 
    -	0x04, 0x9f, 0x00, 0x93, 0x04, 0x01, 0x00, 0x1e, 0x04, 0xd5, 0x00, 0x7d, 
    -	0x04, 0x9f, 0x00, 0x62, 0x04, 0x79, 0x00, 0x99, 0x04, 0x1f, 0x00, 0x5a, 
    -	0x03, 0x7c, 0x00, 0x78, 0x03, 0x7c, 0x00, 0x72, 0x03, 0x94, 0x00, 0x57, 
    -	0x03, 0x6c, 0x00, 0x6a, 0x03, 0x5b, 0x00, 0x71, 0x02, 0xb8, 0x00, 0x9b, 
    -	0x02, 0x2d, 0x00, 0x5f, 0x03, 0xa5, 0x00, 0x78, 0x04, 0x28, 0x00, 0x47, 
    -	0x04, 0x30, 0x00, 0x58, 0x03, 0xbd, 0x00, 0x47, 0x03, 0x11, 0x00, 0x5f, 
    -	0x03, 0x6c, 0x00, 0x81, 0x04, 0xaa, 0xff, 0xf6, 0x04, 0xaa, 0xff, 0xf6, 
    -	0x04, 0x30, 0x00, 0x47, 0x04, 0xba, 0x00, 0x27, 0x04, 0xba, 0x00, 0x27, 
    -	0x04, 0xba, 0x00, 0x27, 0x04, 0xba, 0x00, 0x27, 0x04, 0xba, 0x00, 0x27, 
    -	0x04, 0xba, 0x00, 0x27, 0x04, 0xba, 0x00, 0x27, 0x04, 0x92, 0x00, 0x70, 
    -	0x04, 0x47, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 
    -	0x04, 0x47, 0x00, 0x99, 0x02, 0x03, 0xff, 0xb7, 0x02, 0x03, 0x00, 0x99, 
    -	0x02, 0x03, 0xff, 0xca, 0x02, 0x03, 0xff, 0xa4, 0x05, 0x1c, 0x00, 0x99, 
    -	0x04, 0xcb, 0x00, 0x70, 0x04, 0xcb, 0x00, 0x70, 0x04, 0xcb, 0x00, 0x70, 
    -	0x04, 0xcb, 0x00, 0x70, 0x04, 0xcb, 0x00, 0x70, 0x05, 0x04, 0x00, 0x89, 
    -	0x05, 0x04, 0x00, 0x89, 0x05, 0x04, 0x00, 0x89, 0x05, 0x04, 0x00, 0x89, 
    -	0x04, 0x61, 0x00, 0x1e, 0x04, 0xba, 0x00, 0x27, 0x04, 0xba, 0x00, 0x27, 
    -	0x04, 0xba, 0x00, 0x27, 0x04, 0x92, 0x00, 0x70, 0x04, 0x92, 0x00, 0x70, 
    -	0x04, 0x92, 0x00, 0x70, 0x04, 0x92, 0x00, 0x70, 0x04, 0xaa, 0x00, 0x99, 
    -	0x04, 0x47, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 
    -	0x04, 0x47, 0x00, 0x99, 0x04, 0x47, 0x00, 0x99, 0x04, 0xd3, 0x00, 0x70, 
    -	0x04, 0xd3, 0x00, 0x70, 0x04, 0xd3, 0x00, 0x70, 0x04, 0xd3, 0x00, 0x70, 
    -	0x04, 0xfb, 0x00, 0x99, 0x02, 0x03, 0xff, 0xa1, 0x05, 0x04, 0x00, 0x89, 
    -	0x02, 0x03, 0xff, 0xd1, 0x02, 0x03, 0x00, 0x3c, 0x02, 0x03, 0x00, 0x8f, 
    -	0x04, 0x0f, 0x00, 0x40, 0x04, 0x61, 0x00, 0x99, 0x03, 0xbd, 0x00, 0x6b, 
    -	0x03, 0xbd, 0x00, 0x99, 0x03, 0xbd, 0x00, 0x99, 0x03, 0xbd, 0x00, 0x99, 
    -	0x05, 0x1c, 0x00, 0x99, 0x05, 0x1c, 0x00, 0x99, 0x05, 0x1c, 0x00, 0x99, 
    -	0x04, 0xcb, 0x00, 0x70, 0x04, 0xcb, 0x00, 0x70, 0x04, 0xcb, 0x00, 0x70, 
    -	0x04, 0xad, 0x00, 0x99, 0x04, 0xad, 0x00, 0x99, 0x04, 0xad, 0x00, 0x99, 
    -	0x04, 0x71, 0x00, 0x5d, 0x04, 0x71, 0x00, 0x5d, 0x04, 0x71, 0x00, 0x5d, 
    -	0x04, 0x71, 0x00, 0x5d, 0x04, 0x30, 0x00, 0x47, 0x04, 0x30, 0x00, 0x47, 
    -	0x05, 0x04, 0x00, 0x89, 0x05, 0x04, 0x00, 0x89, 0x05, 0x04, 0x00, 0x89, 
    -	0x05, 0x04, 0x00, 0x89, 0x08, 0xe2, 0x00, 0x5d, 0x04, 0x40, 0x00, 0x4e, 
    -	0x04, 0x40, 0x00, 0x4e, 0x04, 0x40, 0x00, 0x4e, 0x04, 0x61, 0x00, 0x1e, 
    -	0x04, 0x61, 0x00, 0x1e, 0x06, 0x02, 0x00, 0x3f, 0x05, 0x04, 0x00, 0x89, 
    -	0x00, 0x00, 0x04, 0x0b, 0x03, 0x01, 0x03, 0x03, 0x01, 0x01, 0x05, 0x01, 
    -	0x01, 0x05, 0x01, 0x01, 0x01, 0x17, 0x01, 0x27, 0x01, 0x1d, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x2a, 0x01, 0x01, 0x01, 0x2e, 0x01, 0x01, 0x07, 0x22, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 0x22, 0x01, 0x05, 0x01, 
    -	0x01, 0x23, 0x1f, 0x23, 0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x1f, 0x01, 0x11, 0x01, 0x01, 0x2b, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x1a, 0x03, 0x1a, 0x01, 0x03, 0x03, 0x01, 0x13, 0x01, 0x0f, 
    -	0x01, 0x01, 0x06, 0x1f, 0x31, 0x01, 0x01, 0x01, 0x1f, 0x0f, 0x01, 0x2b, 
    -	0x2f, 0x01, 0x25, 0x01, 0x01, 0x25, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2e, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x22, 0x22, 0x22, 
    -	0x22, 0x0f, 0x22, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x0c, 0x01, 0x1f, 0x1f, 
    -	0x1f, 0x1f, 0x1f, 0x1f, 0x01, 0x11, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x18, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 
    -	0x2e, 0x11, 0x2e, 0x11, 0x2e, 0x11, 0x2e, 0x11, 0x01, 0x01, 0x01, 0x13, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 
    -	0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x01, 0x01, 0x01, 0x13, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x01, 0x01, 
    -	0x01, 0x01, 0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x30, 0x01, 0x22, 0x01, 
    -	0x22, 0x01, 0x22, 0x01, 0x24, 0x26, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x05, 0x01, 0x01, 0x0e, 0x01, 0x1b, 
    -	0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x1f, 0x01, 0x0a, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x1c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f, 0x01, 0x01, 
    -	0x22, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1a, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x31, 0x01, 
    -	0x01, 0x2e, 0x01, 0x01, 0x30, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2d, 0x01, 
    -	0x01, 0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 0x01, 0x01, 0x31, 0x22, 0x01, 
    -	0x01, 0x31, 0x01, 0x0a, 0x01, 0x23, 0x30, 0x01, 0x01, 0x0a, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1e, 0x01, 
    -	0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x08, 
    -	0x01, 0x01, 0x01, 0x2d, 0x01, 0x05, 0x01, 0x01, 0x01, 0x15, 0x01, 0x14, 
    -	0x01, 0x01, 0x2e, 0x01, 0x01, 0x2b, 0x01, 0x2d, 0x01, 0x01, 0x01, 0x12, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 0x01, 0x2e, 0x01, 0x01, 
    -	0x01, 0x23, 0x01, 0x01, 0x01, 0x14, 0x01, 0x1c, 0x01, 0x12, 0x18, 0x01, 
    -	0x1f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 
    -	0x03, 0x01, 0x01, 0x01, 0x01, 0x11, 0x2b, 0x01, 0x01, 0x01, 0x01, 0x14, 
    -	0x01, 0x01, 0x01, 0x01, 0x18, 0x01, 0x01, 0x17, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x1c, 0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x18, 0x23, 0x03, 0x01, 0x2b, 0x01, 0x28, 0x28, 0x01, 
    -	0x0c, 0x01, 0x01, 0x01, 0x30, 0x01, 0x22, 0x1e, 0x23, 0x01, 0x23, 0x01, 
    -	0x01, 0x32, 0x22, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1e, 
    -	0x0c, 0x01, 0x01, 0x25, 0x1b, 0x01, 0x01, 0x01, 0x18, 0x01, 0x17, 0x01, 
    -	0x01, 0x2d, 0x01, 0x29, 0x01, 0x01, 0x01, 0x11, 0x01, 0x01, 0x22, 0x23, 
    -	0x01, 0x01, 0x17, 0x01, 0x13, 0x01, 0x01, 0x01, 0x01, 0x15, 0x2c, 0x1e, 
    -	0x14, 0x2e, 0x11, 0x01, 0x2b, 0x0a, 0x01, 0x0a, 0x01, 0x23, 0x01, 0x01, 
    -	0x01, 0x01, 0x14, 0x01, 0x01, 0x01, 0x01, 0x01, 0x11, 0x01, 0x11, 0x01, 
    -	0x01, 0x01, 0x23, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 
    -	0x01, 0x03, 0x01, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x20, 0x01, 0x20, 0x01, 0x01, 0x12, 0x01, 0x13, 0x13, 0x01, 0x01, 0x01, 
    -	0x01, 0x22, 0x01, 0x22, 0x1e, 0x22, 0x1e, 0x12, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x14, 0x2d, 0x01, 0x1c, 0x01, 0x11, 0x1d, 0x23, 
    -	0x01, 0x23, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x28, 0x01, 0x01, 0x01, 0x23, 0x01, 0x01, 0x12, 0x01, 0x01, 0x01, 0x01, 
    -	0x1f, 0x01, 0x05, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x01, 0x1f, 0x01, 
    -	0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 
    -	0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 
    -	0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x1c, 0x01, 0x1c, 0x01, 0x1c, 
    -	0x01, 0x1c, 0x01, 0x1c, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x0a, 0x01, 0x0a, 
    -	0x01, 0x0a, 0x01, 0x22, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 
    -	0x01, 0x01, 0x01, 0x01, 0x30, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1c, 0x01, 
    -	0x01, 0x01, 0x01, 0x28, 0x01, 0x01, 0x01, 0x18, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x07, 0x13, 0x2b, 0x13, 0x01, 0x01, 0x01, 
    -	0x10, 0x01, 0x01, 0x11, 0x01, 0x2b, 0x28, 0x01, 0x01, 0x18, 0x01, 0x14, 
    -	0x01, 0x01, 0x01, 0x01, 0x13, 0x01, 0x01, 0x01, 0x2d, 0x25, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2f, 0x27, 0x32, 
    -	0x01, 0x01, 0x16, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1c, 0x01, 
    -	0x01, 0x13, 0x01, 0x03, 0x2f, 0x16, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x13, 0x01, 0x01, 0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x19, 0x01, 0x01, 0x01, 0x01, 0x01, 0x14, 0x01, 0x01, 0x1a, 0x01, 0x01, 
    -	0x01, 0x01, 0x2f, 0x1f, 0x01, 0x13, 0x13, 0x01, 0x22, 0x22, 0x22, 0x22, 
    -	0x22, 0x22, 0x22, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x13, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16, 0x22, 
    -	0x22, 0x22, 0x01, 0x01, 0x01, 0x01, 0x13, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16, 
    -	0x2f, 0x2f, 0x2f, 0x2f, 0x13, 0x13, 0x13, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    -	0x01, 0x01, 0x01, 0x16, 0x16, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 
    -	0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x00, 0x02, 0x64, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 
    -	0x00, 0x04, 0x02, 0x48, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x80, 0x00, 0x06, 
    -	0x00, 0x0e, 0x00, 0x0d, 0x00, 0x7e, 0x01, 0x7f, 0x01, 0x92, 0x01, 0xa1, 
    -	0x01, 0xb0, 0x01, 0xf0, 0x01, 0xff, 0x02, 0x19, 0x02, 0x37, 0x02, 0xbc, 
    -	0x02, 0xc7, 0x02, 0xc9, 0x02, 0xdd, 0x02, 0xf3, 0x03, 0x01, 0x03, 0x03, 
    -	0x03, 0x09, 0x03, 0x0f, 0x03, 0x23, 0x03, 0x8a, 0x03, 0x8c, 0x03, 0xa1, 
    -	0x03, 0xce, 0x03, 0xd2, 0x03, 0xd6, 0x04, 0x86, 0x05, 0x13, 0x1e, 0x01, 
    -	0x1e, 0x3f, 0x1e, 0x85, 0x1e, 0xf9, 0x1f, 0x4d, 0x20, 0x0b, 0x20, 0x15, 
    -	0x20, 0x1e, 0x20, 0x22, 0x20, 0x26, 0x20, 0x30, 0x20, 0x33, 0x20, 0x3a, 
    -	0x20, 0x3c, 0x20, 0x44, 0x20, 0x74, 0x20, 0x7f, 0x20, 0xa4, 0x20, 0xa7, 
    -	0x20, 0xac, 0x21, 0x05, 0x21, 0x13, 0x21, 0x16, 0x21, 0x22, 0x21, 0x26, 
    -	0x21, 0x2e, 0x21, 0x5e, 0x22, 0x02, 0x22, 0x06, 0x22, 0x0f, 0x22, 0x12, 
    -	0x22, 0x1a, 0x22, 0x1e, 0x22, 0x2b, 0x22, 0x48, 0x22, 0x60, 0x22, 0x65, 
    -	0x25, 0xca, 0xf6, 0xc3, 0xfb, 0x04, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xff, 
    -	0x00, 0x00, 0x00, 0x0d, 0x00, 0x20, 0x00, 0xa0, 0x01, 0x92, 0x01, 0xa0, 
    -	0x01, 0xaf, 0x01, 0xf0, 0x01, 0xfa, 0x02, 0x18, 0x02, 0x37, 0x02, 0xbc, 
    -	0x02, 0xc6, 0x02, 0xc9, 0x02, 0xd8, 0x02, 0xf3, 0x03, 0x00, 0x03, 0x03, 
    -	0x03, 0x09, 0x03, 0x0f, 0x03, 0x23, 0x03, 0x84, 0x03, 0x8c, 0x03, 0x8e, 
    -	0x03, 0xa3, 0x03, 0xd1, 0x03, 0xd6, 0x04, 0x00, 0x04, 0x88, 0x1e, 0x00, 
    -	0x1e, 0x3e, 0x1e, 0x80, 0x1e, 0xa0, 0x1f, 0x4d, 0x20, 0x00, 0x20, 0x13, 
    -	0x20, 0x17, 0x20, 0x20, 0x20, 0x25, 0x20, 0x30, 0x20, 0x32, 0x20, 0x39, 
    -	0x20, 0x3c, 0x20, 0x44, 0x20, 0x74, 0x20, 0x7f, 0x20, 0xa3, 0x20, 0xa7, 
    -	0x20, 0xab, 0x21, 0x05, 0x21, 0x13, 0x21, 0x16, 0x21, 0x22, 0x21, 0x26, 
    -	0x21, 0x2e, 0x21, 0x5b, 0x22, 0x02, 0x22, 0x06, 0x22, 0x0f, 0x22, 0x11, 
    -	0x22, 0x1a, 0x22, 0x1e, 0x22, 0x2b, 0x22, 0x48, 0x22, 0x60, 0x22, 0x64, 
    -	0x25, 0xca, 0xf6, 0xc3, 0xfb, 0x01, 0xfe, 0xff, 0xff, 0xfc, 0xff, 0xff, 
    -	0xff, 0xf5, 0xff, 0xe3, 0xff, 0xc2, 0xff, 0xb0, 0xff, 0xa3, 0xff, 0x96, 
    -	0xff, 0x57, 0xff, 0x4e, 0xff, 0x36, 0xff, 0x19, 0xfe, 0x95, 0xfe, 0x8c, 
    -	0xfd, 0xa8, 0xfe, 0x7c, 0xfe, 0x67, 0xfe, 0x5b, 0xfe, 0x5a, 0xfe, 0x55, 
    -	0xfe, 0x50, 0xfe, 0x3d, 0xfd, 0xdd, 0xfd, 0xdc, 0xfd, 0xdb, 0xfd, 0xda, 
    -	0xfd, 0xd8, 0xfd, 0xd5, 0xfd, 0xac, 0xfd, 0xab, 0xe4, 0xbf, 0xe4, 0x83, 
    -	0xe4, 0x43, 0xe4, 0x29, 0xe3, 0xd6, 0xe3, 0x24, 0xe3, 0x1d, 0xe3, 0x1c, 
    -	0xe3, 0x1b, 0xe3, 0x19, 0xe3, 0x10, 0xe3, 0x0f, 0xe3, 0x0a, 0xe3, 0x09, 
    -	0xe3, 0x02, 0xe2, 0xd3, 0xe2, 0xc9, 0xe2, 0xa6, 0xe2, 0xa4, 0xe2, 0xa1, 
    -	0xe2, 0x49, 0xe2, 0x3c, 0xe2, 0x3a, 0xe2, 0x2f, 0xe0, 0x5d, 0xe2, 0x24, 
    -	0xe1, 0xf8, 0xe1, 0x55, 0xdf, 0x69, 0xe1, 0x49, 0xe1, 0x48, 0xe1, 0x41, 
    -	0xe1, 0x3e, 0xe1, 0x32, 0xe1, 0x16, 0xe0, 0xff, 0xe0, 0xfc, 0xdd, 0x98, 
    -	0x0c, 0xa0, 0x08, 0x63, 0x04, 0x69, 0x03, 0x6d, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0xf0, 
    -	0x00, 0x00, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 
    -	0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 
    -	0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 
    -	0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 
    -	0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 
    -	0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 
    -	0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 
    -	0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 
    -	0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 
    -	0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 
    -	0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 
    -	0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 
    -	0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 
    -	0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 
    -	0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 
    -	0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 
    -	0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x00, 0x00, 0x86, 0x00, 0x87, 
    -	0x00, 0x89, 0x00, 0x8b, 0x00, 0x93, 0x00, 0x98, 0x00, 0x9e, 0x00, 0xa3, 
    -	0x00, 0xa2, 0x00, 0xa4, 0x00, 0xa6, 0x00, 0xa5, 0x00, 0xa7, 0x00, 0xa9, 
    -	0x00, 0xab, 0x00, 0xaa, 0x00, 0xac, 0x00, 0xad, 0x00, 0xaf, 0x00, 0xae, 
    -	0x00, 0xb0, 0x00, 0xb1, 0x00, 0xb3, 0x00, 0xb5, 0x00, 0xb4, 0x00, 0xb6, 
    -	0x00, 0xb8, 0x00, 0xb7, 0x00, 0xbc, 0x00, 0xbb, 0x00, 0xbd, 0x00, 0xbe, 
    -	0x03, 0x3b, 0x00, 0x72, 0x00, 0x64, 0x00, 0x65, 0x00, 0x69, 0x03, 0x3d, 
    -	0x00, 0x78, 0x00, 0xa1, 0x00, 0x70, 0x00, 0x6b, 0x03, 0x51, 0x00, 0x76, 
    -	0x00, 0x6a, 0x03, 0x5f, 0x00, 0x88, 0x00, 0x9a, 0x03, 0x5c, 0x00, 0x73, 
    -	0x03, 0x60, 0x03, 0x61, 0x00, 0x67, 0x00, 0x77, 0x03, 0x57, 0x03, 0x59, 
    -	0x03, 0x58, 0x01, 0x9a, 0x03, 0x5d, 0x00, 0x6c, 0x00, 0x7c, 0x01, 0x83, 
    -	0x00, 0xa8, 0x00, 0xba, 0x00, 0x81, 0x00, 0x63, 0x00, 0x6e, 0x03, 0x5b, 
    -	0x01, 0x42, 0x03, 0x5e, 0x01, 0x6f, 0x00, 0x6d, 0x00, 0x7d, 0x03, 0x3f, 
    -	0x00, 0x62, 0x00, 0x82, 0x00, 0x85, 0x00, 0x97, 0x01, 0x14, 0x01, 0x15, 
    -	0x03, 0x30, 0x03, 0x31, 0x03, 0x38, 0x03, 0x39, 0x03, 0x34, 0x03, 0x35, 
    -	0x00, 0xb9, 0x03, 0x62, 0x00, 0xc1, 0x01, 0x3a, 0x03, 0x46, 0x03, 0x4d, 
    -	0x03, 0x43, 0x03, 0x44, 0x03, 0x64, 0x03, 0x65, 0x03, 0x3c, 0x00, 0x79, 
    -	0x03, 0x36, 0x03, 0x3a, 0x03, 0x40, 0x00, 0x84, 0x00, 0x8c, 0x00, 0x83, 
    -	0x00, 0x8d, 0x00, 0x8a, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 0x00, 0x8e, 
    -	0x00, 0x95, 0x00, 0x96, 0x00, 0x00, 0x00, 0x94, 0x00, 0x9c, 0x00, 0x9d, 
    -	0x00, 0x9b, 0x00, 0xf3, 0x01, 0x52, 0x01, 0x58, 0x00, 0x71, 0x01, 0x54, 
    -	0x01, 0x55, 0x01, 0x56, 0x00, 0x7a, 0x01, 0x59, 0x01, 0x57, 0x01, 0x53, 
    -	0xb0, 0x00, 0x2c, 0x4b, 0xb0, 0x09, 0x50, 0x58, 0xb1, 0x01, 0x01, 0x8e, 
    -	0x59, 0xb8, 0x01, 0xff, 0x85, 0xb0, 0x84, 0x1d, 0xb1, 0x09, 0x03, 0x5f, 
    -	0x5e, 0x2d, 0xb0, 0x01, 0x2c, 0x20, 0x20, 0x45, 0x69, 0x44, 0xb0, 0x01, 
    -	0x60, 0x2d, 0xb0, 0x02, 0x2c, 0xb0, 0x01, 0x2a, 0x21, 0x2d, 0xb0, 0x03, 
    -	0x2c, 0x20, 0x46, 0xb0, 0x03, 0x25, 0x46, 0x52, 0x58, 0x23, 0x59, 0x20, 
    -	0x8a, 0x20, 0x8a, 0x49, 0x64, 0x8a, 0x20, 0x46, 0x20, 0x68, 0x61, 0x64, 
    -	0xb0, 0x04, 0x25, 0x46, 0x20, 0x68, 0x61, 0x64, 0x52, 0x58, 0x23, 0x65, 
    -	0x8a, 0x59, 0x2f, 0x20, 0xb0, 0x00, 0x53, 0x58, 0x69, 0x20, 0xb0, 0x00, 
    -	0x54, 0x58, 0x21, 0xb0, 0x40, 0x59, 0x1b, 0x69, 0x20, 0xb0, 0x00, 0x54, 
    -	0x58, 0x21, 0xb0, 0x40, 0x65, 0x59, 0x59, 0x3a, 0x2d, 0xb0, 0x04, 0x2c, 
    -	0x20, 0x46, 0xb0, 0x04, 0x25, 0x46, 0x52, 0x58, 0x23, 0x8a, 0x59, 0x20, 
    -	0x46, 0x20, 0x6a, 0x61, 0x64, 0xb0, 0x04, 0x25, 0x46, 0x20, 0x6a, 0x61, 
    -	0x64, 0x52, 0x58, 0x23, 0x8a, 0x59, 0x2f, 0xfd, 0x2d, 0xb0, 0x05, 0x2c, 
    -	0x4b, 0x20, 0xb0, 0x03, 0x26, 0x50, 0x58, 0x51, 0x58, 0xb0, 0x80, 0x44, 
    -	0x1b, 0xb0, 0x40, 0x44, 0x59, 0x1b, 0x21, 0x21, 0x20, 0x45, 0xb0, 0xc0, 
    -	0x50, 0x58, 0xb0, 0xc0, 0x44, 0x1b, 0x21, 0x59, 0x59, 0x2d, 0xb0, 0x06, 
    -	0x2c, 0x20, 0x20, 0x45, 0x69, 0x44, 0xb0, 0x01, 0x60, 0x20, 0x20, 0x45, 
    -	0x7d, 0x69, 0x18, 0x44, 0xb0, 0x01, 0x60, 0x2d, 0xb0, 0x07, 0x2c, 0xb0, 
    -	0x06, 0x2a, 0x2d, 0xb0, 0x08, 0x2c, 0x4b, 0x20, 0xb0, 0x03, 0x26, 0x53, 
    -	0x58, 0xb0, 0x40, 0x1b, 0xb0, 0x00, 0x59, 0x8a, 0x8a, 0x20, 0xb0, 0x03, 
    -	0x26, 0x53, 0x58, 0x23, 0x21, 0xb0, 0x80, 0x8a, 0x8a, 0x1b, 0x8a, 0x23, 
    -	0x59, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0x23, 0x21, 0xb0, 0xc0, 0x8a, 
    -	0x8a, 0x1b, 0x8a, 0x23, 0x59, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0x23, 
    -	0x21, 0xb8, 0x01, 0x00, 0x8a, 0x8a, 0x1b, 0x8a, 0x23, 0x59, 0x20, 0xb0, 
    -	0x03, 0x26, 0x53, 0x58, 0x23, 0x21, 0xb8, 0x01, 0x40, 0x8a, 0x8a, 0x1b, 
    -	0x8a, 0x23, 0x59, 0x20, 0xb0, 0x03, 0x26, 0x53, 0x58, 0xb0, 0x03, 0x25, 
    -	0x45, 0xb8, 0x01, 0x80, 0x50, 0x58, 0x23, 0x21, 0xb8, 0x01, 0x80, 0x23, 
    -	0x21, 0x1b, 0xb0, 0x03, 0x25, 0x45, 0x23, 0x21, 0x23, 0x21, 0x59, 0x1b, 
    -	0x21, 0x59, 0x44, 0x2d, 0xb0, 0x09, 0x2c, 0x4b, 0x53, 0x58, 0x45, 0x44, 
    -	0x1b, 0x21, 0x21, 0x59, 0x2d, 0xb0, 0x0a, 0x2c, 0xb0, 0x16, 0x45, 0x2d, 
    -	0xb0, 0x0b, 0x2c, 0xb0, 0x17, 0x45, 0x2d, 0xb0, 0x0c, 0x2c, 0xb1, 0x27, 
    -	0x01, 0x88, 0x20, 0x8a, 0x53, 0x58, 0xb9, 0x40, 0x00, 0x04, 0x00, 0x63, 
    -	0xb8, 0x08, 0x00, 0x88, 0x54, 0x58, 0xb9, 0x00, 0x16, 0x03, 0xe8, 0x70, 
    -	0x59, 0x1b, 0xb0, 0x23, 0x53, 0x58, 0xb0, 0x20, 0x88, 0xb8, 0x10, 0x00, 
    -	0x54, 0x58, 0xb9, 0x00, 0x16, 0x03, 0xe8, 0x70, 0x59, 0x59, 0x59, 0x2d, 
    -	0xb0, 0x0d, 0x2c, 0xb0, 0x40, 0x88, 0xb8, 0x20, 0x00, 0x5a, 0x58, 0xb1, 
    -	0x17, 0x00, 0x44, 0x1b, 0xb9, 0x00, 0x17, 0x03, 0xe8, 0x44, 0x59, 0x2d, 
    -	0xb0, 0x0c, 0x2b, 0xb0, 0x00, 0x2b, 0x00, 0xb2, 0x01, 0x05, 0x02, 0x2b, 
    -	0x00, 0xb7, 0x01, 0x5d, 0x4c, 0x3b, 0x27, 0x1a, 0x00, 0x08, 0x2b, 0xb7, 
    -	0x02, 0x49, 0x3c, 0x2f, 0x22, 0x13, 0x00, 0x08, 0x2b, 0xb7, 0x03, 0x49, 
    -	0x3c, 0x2f, 0x22, 0x13, 0x00, 0x08, 0x2b, 0xb7, 0x04, 0x38, 0x2e, 0x24, 
    -	0x1a, 0x0f, 0x00, 0x08, 0x2b, 0xb7, 0x05, 0x51, 0x42, 0x34, 0x25, 0x16, 
    -	0x00, 0x08, 0x2b, 0x00, 0xb2, 0x06, 0x08, 0x07, 0x2b, 0xb0, 0x00, 0x20, 
    -	0x45, 0x7d, 0x69, 0x18, 0x44, 0xb2, 0xd0, 0x08, 0x01, 0x73, 0xb2, 0x20, 
    -	0x08, 0x01, 0x74, 0xb2, 0x30, 0x08, 0x01, 0x73, 0xb2, 0x80, 0x08, 0x01, 
    -	0x73, 0xb2, 0x70, 0x08, 0x01, 0x73, 0xb2, 0x5f, 0x0a, 0x01, 0x73, 0xb2, 
    -	0x7f, 0x0a, 0x01, 0x73, 0xb2, 0x2f, 0x0a, 0x01, 0x74, 0xb2, 0x4f, 0x0a, 
    -	0x01, 0x74, 0xb2, 0x6f, 0x0a, 0x01, 0x74, 0xb2, 0x8f, 0x0a, 0x01, 0x74, 
    -	0xb2, 0xaf, 0x0a, 0x01, 0x74, 0xb2, 0x7f, 0x0a, 0x01, 0x75, 0xb2, 0xff, 
    -	0x0a, 0x01, 0x74, 0xb2, 0x1f, 0x0a, 0x01, 0x75, 0xb2, 0x3f, 0x0a, 0x01, 
    -	0x75, 0xb2, 0x5f, 0x0a, 0x01, 0x75, 0xb2, 0x3f, 0x0a, 0x01, 0x73, 0xb2, 
    -	0x0f, 0x0c, 0x01, 0x73, 0xb2, 0x7f, 0x0c, 0x01, 0x73, 0xb2, 0xef, 0x0c, 
    -	0x01, 0x73, 0xb2, 0x1f, 0x0c, 0x01, 0x74, 0xb2, 0x5f, 0x0c, 0x01, 0x74, 
    -	0xb2, 0x8f, 0x0c, 0x01, 0x74, 0xb2, 0xcf, 0x0c, 0x01, 0x74, 0xb2, 0xff, 
    -	0x0c, 0x01, 0x74, 0xb2, 0x3f, 0x0c, 0x01, 0x75, 0xb2, 0x6f, 0x0c, 0x01, 
    -	0x75, 0xb2, 0xbf, 0x0e, 0x01, 0x73, 0xb2, 0x2f, 0x0e, 0x01, 0x74, 0xb2, 
    -	0x9f, 0x0e, 0x01, 0x74, 0xb2, 0xbf, 0x0e, 0x01, 0x74, 0xb2, 0x0f, 0x0e, 
    -	0x01, 0x75, 0xb2, 0x2f, 0x0e, 0x01, 0x75, 0xb2, 0x2f, 0x10, 0x01, 0x73, 
    -	0xb2, 0x5f, 0x10, 0x01, 0x73, 0xb2, 0xff, 0x10, 0x01, 0x73, 0xb2, 0xcf, 
    -	0x10, 0x01, 0x74, 0xb2, 0x3f, 0x12, 0x01, 0x73, 0xb2, 0x0f, 0x12, 0x01, 
    -	0x73, 0xb2, 0xb0, 0x12, 0x01, 0x73, 0xb2, 0x7f, 0x12, 0x01, 0x73, 0xb2, 
    -	0x0f, 0x12, 0x01, 0x74, 0xb2, 0x5f, 0x12, 0x01, 0x74, 0xb2, 0x7f, 0x12, 
    -	0x01, 0x75, 0xb2, 0xdf, 0x12, 0x01, 0x74, 0xb2, 0x6f, 0x12, 0x01, 0x75, 
    -	0xb2, 0x2f, 0x12, 0x01, 0x75, 0xb2, 0x3f, 0x12, 0x01, 0x75, 0xb2, 0xef, 
    -	0x12, 0x01, 0x74, 0xb2, 0x9f, 0x12, 0x01, 0x74, 0xb2, 0x1f, 0x12, 0x01, 
    -	0x74, 0xb2, 0xef, 0x12, 0x01, 0x73, 0xb2, 0x0f, 0x14, 0x01, 0x73, 0xb2, 
    -	0x1f, 0x14, 0x01, 0x73, 0xb2, 0x2f, 0x14, 0x01, 0x73, 0xb2, 0x3f, 0x14, 
    -	0x01, 0x73, 0xb2, 0x5f, 0x14, 0x01, 0x73, 0xb2, 0x6f, 0x14, 0x01, 0x73, 
    -	0xb2, 0x7f, 0x14, 0x01, 0x73, 0xb2, 0xaf, 0x14, 0x01, 0x73, 0xb2, 0x8f, 
    -	0x14, 0x01, 0x74, 0xb2, 0xaf, 0x14, 0x01, 0x74, 0xb2, 0xbf, 0x14, 0x01, 
    -	0x74, 0xb2, 0xcf, 0x14, 0x01, 0x74, 0xb2, 0x2f, 0x14, 0x01, 0x75, 0xb2, 
    -	0x3f, 0x14, 0x01, 0x75, 0x00, 0x2a, 0x00, 0x7a, 0x00, 0x9b, 0x00, 0xa6, 
    -	0x00, 0xcc, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x15, 0xfe, 0x60, 0x00, 0x15, 
    -	0x04, 0x3a, 0x00, 0x14, 0x05, 0xb0, 0x00, 0x15, 0x04, 0x8d, 0x00, 0x10, 
    -	0x03, 0x21, 0x00, 0x0b, 0x06, 0x35, 0x00, 0x25, 0x07, 0x22, 0x00, 0x15, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x2c, 0x00, 0x4c, 0x00, 0xc6, 0x01, 0x32, 0x01, 0xc2, 
    -	0x02, 0x4e, 0x02, 0x62, 0x02, 0x8c, 0x02, 0xb6, 0x02, 0xe6, 0x03, 0x0c, 
    -	0x03, 0x24, 0x03, 0x3c, 0x03, 0x56, 0x03, 0x6e, 0x03, 0xbc, 0x03, 0xe8, 
    -	0x04, 0x3e, 0x04, 0xb8, 0x04, 0xfe, 0x05, 0x5e, 0x05, 0xc6, 0x05, 0xfc, 
    -	0x06, 0x76, 0x06, 0xde, 0x06, 0xf4, 0x07, 0x0a, 0x07, 0x2e, 0x07, 0x56, 
    -	0x07, 0x7a, 0x07, 0xcc, 0x08, 0x72, 0x08, 0xc0, 0x09, 0x20, 0x09, 0x72, 
    -	0x09, 0xb6, 0x09, 0xfe, 0x0a, 0x58, 0x0a, 0xba, 0x0b, 0x24, 0x0b, 0x40, 
    -	0x0b, 0x72, 0x0b, 0xd2, 0x0b, 0xf6, 0x0c, 0x5c, 0x0c, 0xb2, 0x0d, 0x04, 
    -	0x0d, 0x4a, 0x0d, 0xa6, 0x0e, 0x08, 0x0e, 0x6e, 0x0e, 0x9a, 0x0e, 0xd6, 
    -	0x0f, 0x10, 0x0f, 0x7e, 0x0f, 0xce, 0x10, 0x10, 0x10, 0x46, 0x10, 0x6c, 
    -	0x10, 0x84, 0x10, 0xa8, 0x10, 0xca, 0x10, 0xe6, 0x11, 0x1c, 0x11, 0x94, 
    -	0x11, 0xf0, 0x12, 0x3a, 0x12, 0x96, 0x12, 0xfc, 0x13, 0x4c, 0x13, 0xc0, 
    -	0x14, 0x02, 0x14, 0x30, 0x14, 0x7a, 0x14, 0xc2, 0x14, 0xda, 0x15, 0x48, 
    -	0x15, 0x8e, 0x15, 0xd8, 0x16, 0x36, 0x16, 0x92, 0x16, 0xd0, 0x17, 0x4a, 
    -	0x17, 0x9a, 0x17, 0xde, 0x18, 0x14, 0x18, 0x80, 0x18, 0xc8, 0x19, 0x1a, 
    -	0x19, 0x50, 0x19, 0x8e, 0x19, 0xa6, 0x19, 0xe0, 0x1a, 0x26, 0x1a, 0x26, 
    -	0x1a, 0x4c, 0x1a, 0xa4, 0x1b, 0x0a, 0x1b, 0x6e, 0x1b, 0xce, 0x1b, 0xf4, 
    -	0x1c, 0x8a, 0x1c, 0xb0, 0x1d, 0x44, 0x1d, 0xc0, 0x1d, 0xcc, 0x1d, 0xe6, 
    -	0x1d, 0xee, 0x1e, 0x92, 0x1e, 0xac, 0x1e, 0xec, 0x1f, 0x2e, 0x1f, 0x7e, 
    -	0x1f, 0xf8, 0x20, 0x2e, 0x20, 0x7e, 0x20, 0xa4, 0x20, 0xba, 0x20, 0xea, 
    -	0x21, 0x14, 0x21, 0x72, 0x21, 0x7e, 0x21, 0xa0, 0x21, 0xc2, 0x21, 0xe4, 
    -	0x22, 0x30, 0x22, 0x48, 0x22, 0x60, 0x22, 0x76, 0x22, 0x8c, 0x22, 0xa8, 
    -	0x22, 0xda, 0x23, 0x6e, 0x23, 0x7a, 0x23, 0x92, 0x23, 0xaa, 0x23, 0xc0, 
    -	0x23, 0xdc, 0x23, 0xf4, 0x24, 0x0c, 0x24, 0x22, 0x24, 0x3e, 0x24, 0xa8, 
    -	0x24, 0xbe, 0x24, 0xd6, 0x24, 0xee, 0x25, 0x04, 0x25, 0x1a, 0x25, 0x32, 
    -	0x25, 0x60, 0x25, 0xdc, 0x25, 0xf4, 0x26, 0x0c, 0x26, 0x22, 0x26, 0x3e, 
    -	0x26, 0x56, 0x26, 0x9e, 0x26, 0xf8, 0x27, 0x0a, 0x27, 0x24, 0x27, 0x40, 
    -	0x27, 0x5e, 0x27, 0x82, 0x27, 0xd8, 0x28, 0x86, 0x28, 0x92, 0x28, 0xa4, 
    -	0x28, 0xbc, 0x28, 0xdc, 0x29, 0x08, 0x29, 0x28, 0x29, 0x48, 0x29, 0x62, 
    -	0x29, 0x8a, 0x29, 0xee, 0x2a, 0x0c, 0x2a, 0x1e, 0x2a, 0x38, 0x2a, 0x54, 
    -	0x2a, 0x72, 0x2a, 0x96, 0x2a, 0xd0, 0x2b, 0x48, 0x2b, 0x68, 0x2b, 0x88, 
    -	0x2b, 0xa0, 0x2b, 0xc6, 0x2b, 0xe6, 0x2c, 0x42, 0x2c, 0x68, 0x2c, 0x78, 
    -	0x2c, 0x84, 0x2c, 0x9a, 0x2c, 0xc2, 0x2c, 0xce, 0x2c, 0xda, 0x2c, 0xf2, 
    -	0x2d, 0x0c, 0x2d, 0x22, 0x2d, 0x3e, 0x2d, 0x54, 0x2d, 0x6e, 0x2d, 0x84, 
    -	0x2d, 0xa2, 0x2d, 0xb8, 0x2d, 0xe0, 0x2e, 0x4a, 0x2e, 0xc6, 0x2e, 0xd8, 
    -	0x2e, 0xe4, 0x2e, 0xfa, 0x2f, 0x20, 0x2f, 0x36, 0x2f, 0x52, 0x2f, 0x5e, 
    -	0x2f, 0x6a, 0x2f, 0x80, 0x2f, 0x9e, 0x2f, 0xb4, 0x2f, 0xd0, 0x2f, 0xe6, 
    -	0x30, 0x0e, 0x30, 0x24, 0x30, 0x3e, 0x30, 0x4a, 0x30, 0x66, 0x30, 0x7c, 
    -	0x30, 0xac, 0x31, 0x10, 0x31, 0x76, 0x31, 0x8c, 0x31, 0xaa, 0x31, 0xbc, 
    -	0x31, 0xc8, 0x31, 0xde, 0x31, 0xfc, 0x32, 0x08, 0x32, 0x14, 0x32, 0x2a, 
    -	0x32, 0x46, 0x32, 0x52, 0x32, 0x5e, 0x32, 0x74, 0x32, 0x8c, 0x32, 0x98, 
    -	0x32, 0xa4, 0x33, 0x0a, 0x33, 0x22, 0x33, 0x54, 0x33, 0x60, 0x33, 0x6c, 
    -	0x33, 0x82, 0x33, 0xac, 0x33, 0xbc, 0x33, 0xcc, 0x34, 0x16, 0x34, 0x52, 
    -	0x34, 0x6a, 0x34, 0x84, 0x34, 0x90, 0x34, 0x9c, 0x34, 0xb2, 0x34, 0xd0, 
    -	0x34, 0xe0, 0x35, 0x38, 0x35, 0x94, 0x35, 0xb8, 0x35, 0xc4, 0x35, 0xda, 
    -	0x36, 0x02, 0x36, 0x1e, 0x36, 0x40, 0x36, 0xc8, 0x37, 0x6c, 0x37, 0x84, 
    -	0x37, 0x9e, 0x37, 0xaa, 0x37, 0xb6, 0x37, 0xcc, 0x37, 0xea, 0x38, 0x02, 
    -	0x38, 0x1c, 0x38, 0x32, 0x38, 0x4e, 0x38, 0x5a, 0x38, 0x66, 0x38, 0x7c, 
    -	0x38, 0x9a, 0x38, 0xac, 0x38, 0xb8, 0x38, 0xce, 0x38, 0xe4, 0x39, 0x26, 
    -	0x39, 0x94, 0x39, 0xaa, 0x39, 0xc6, 0x39, 0xd8, 0x39, 0xe4, 0x39, 0xfa, 
    -	0x3a, 0x22, 0x3a, 0x54, 0x3a, 0xa4, 0x3a, 0xc0, 0x3a, 0xd4, 0x3a, 0xe0, 
    -	0x3a, 0xec, 0x3b, 0x02, 0x3b, 0x1a, 0x3b, 0x30, 0x3b, 0x46, 0x3b, 0x62, 
    -	0x3b, 0x7a, 0x3b, 0x9a, 0x3b, 0xb0, 0x3b, 0xd8, 0x3b, 0xee, 0x3c, 0x04, 
    -	0x3c, 0x32, 0x3c, 0x9a, 0x3c, 0xf8, 0x3d, 0x50, 0x3d, 0xa0, 0x3d, 0xfe, 
    -	0x3e, 0x16, 0x3e, 0x4e, 0x3e, 0x5a, 0x3e, 0x72, 0x3e, 0x8a, 0x3e, 0xa0, 
    -	0x3e, 0xbe, 0x3e, 0xca, 0x3e, 0xd6, 0x3f, 0x08, 0x3f, 0x14, 0x3f, 0x4c, 
    -	0x3f, 0x84, 0x3f, 0xc4, 0x3f, 0xdc, 0x40, 0x1e, 0x40, 0x54, 0x40, 0x9c, 
    -	0x40, 0xd4, 0x41, 0x12, 0x41, 0x28, 0x41, 0x3e, 0x41, 0x48, 0x41, 0x80, 
    -	0x41, 0xac, 0x41, 0xc8, 0x41, 0xe4, 0x42, 0x12, 0x42, 0x1e, 0x42, 0x2a, 
    -	0x42, 0x36, 0x42, 0x42, 0x42, 0x4e, 0x42, 0x5a, 0x42, 0x66, 0x42, 0x72, 
    -	0x42, 0x7e, 0x42, 0x86, 0x42, 0x8e, 0x42, 0xb6, 0x42, 0xee, 0x42, 0xf6, 
    -	0x42, 0xfe, 0x43, 0x06, 0x43, 0x7a, 0x43, 0x82, 0x43, 0x8a, 0x43, 0xc2, 
    -	0x43, 0xca, 0x43, 0xd2, 0x44, 0x1a, 0x44, 0x22, 0x44, 0x52, 0x44, 0x5a, 
    -	0x44, 0xa2, 0x44, 0xaa, 0x44, 0xb2, 0x45, 0x24, 0x45, 0x2c, 0x45, 0x82, 
    -	0x45, 0xe8, 0x46, 0x04, 0x46, 0x20, 0x46, 0x2c, 0x46, 0x38, 0x46, 0x44, 
    -	0x46, 0x50, 0x46, 0x68, 0x46, 0xde, 0x47, 0x4a, 0x47, 0x8c, 0x47, 0xf4, 
    -	0x48, 0x7a, 0x48, 0xd4, 0x49, 0x1a, 0x49, 0x8c, 0x49, 0xbe, 0x49, 0xc6, 
    -	0x4a, 0x32, 0x4a, 0x3a, 0x4a, 0x42, 0x4a, 0xb4, 0x4a, 0xbc, 0x4b, 0x0c, 
    -	0x4b, 0x62, 0x4b, 0xbe, 0x4c, 0x16, 0x4c, 0x42, 0x4c, 0x84, 0x4c, 0xec, 
    -	0x4d, 0x6a, 0x4d, 0xc8, 0x4e, 0x2c, 0x4e, 0x54, 0x4e, 0x7a, 0x4e, 0x86, 
    -	0x4e, 0x92, 0x4e, 0x9e, 0x4f, 0x02, 0x4f, 0x74, 0x4f, 0xe8, 0x50, 0x00, 
    -	0x50, 0x1c, 0x50, 0x7e, 0x50, 0x96, 0x51, 0x0c, 0x51, 0x72, 0x51, 0x7a, 
    -	0x51, 0x96, 0x51, 0x9e, 0x52, 0x0a, 0x52, 0x70, 0x52, 0xc0, 0x52, 0xd8, 
    -	0x52, 0xf0, 0x53, 0x06, 0x53, 0x44, 0x53, 0x4c, 0x53, 0x9c, 0x53, 0xa4, 
    -	0x53, 0xac, 0x53, 0xfe, 0x54, 0x06, 0x54, 0x64, 0x54, 0xde, 0x55, 0x34, 
    -	0x55, 0x4a, 0x55, 0x52, 0x55, 0x96, 0x55, 0x9e, 0x55, 0xa6, 0x55, 0xae, 
    -	0x55, 0xb6, 0x55, 0xbe, 0x55, 0xc6, 0x55, 0xce, 0x56, 0x1e, 0x56, 0x84, 
    -	0x56, 0x8c, 0x56, 0xc2, 0x57, 0x02, 0x57, 0x3a, 0x57, 0x78, 0x57, 0xca, 
    -	0x58, 0x24, 0x58, 0x6a, 0x58, 0xcc, 0x59, 0x5c, 0x59, 0xb4, 0x59, 0xbc, 
    -	0x5a, 0x32, 0x5a, 0xb0, 0x5a, 0xd8, 0x5b, 0x28, 0x5b, 0x30, 0x5b, 0x90, 
    -	0x5c, 0x08, 0x5c, 0x58, 0x5c, 0x80, 0x5c, 0xe6, 0x5d, 0x28, 0x5d, 0x86, 
    -	0x5d, 0xee, 0x5d, 0xf6, 0x5e, 0x26, 0x5e, 0x2e, 0x5e, 0x78, 0x5e, 0xa4, 
    -	0x5e, 0xac, 0x5f, 0x34, 0x5f, 0x3c, 0x5f, 0x70, 0x5f, 0xb2, 0x5f, 0xee, 
    -	0x60, 0x30, 0x60, 0x80, 0x60, 0xd8, 0x61, 0x1a, 0x61, 0x90, 0x62, 0x1a, 
    -	0x62, 0x6e, 0x62, 0x80, 0x62, 0xac, 0x63, 0x28, 0x63, 0x48, 0x63, 0xca, 
    -	0x63, 0xd2, 0x63, 0xda, 0x64, 0x02, 0x64, 0x0a, 0x64, 0x74, 0x64, 0xd8, 
    -	0x65, 0x3a, 0x65, 0x5a, 0x65, 0x7a, 0x65, 0xa0, 0x65, 0xdc, 0x66, 0x38, 
    -	0x66, 0x94, 0x66, 0xee, 0x67, 0x4c, 0x67, 0xd0, 0x68, 0x62, 0x68, 0xb8, 
    -	0x69, 0x14, 0x69, 0x7a, 0x69, 0xf4, 0x6a, 0x64, 0x6a, 0xd0, 0x6b, 0x50, 
    -	0x6b, 0xce, 0x6c, 0x66, 0x6d, 0x16, 0x6d, 0x1e, 0x6d, 0x26, 0x6d, 0x8e, 
    -	0x6d, 0xf8, 0x6e, 0x42, 0x6e, 0x94, 0x6e, 0xb0, 0x6e, 0xc6, 0x6e, 0xd2, 
    -	0x6e, 0xde, 0x6f, 0x62, 0x6f, 0xe2, 0x70, 0x98, 0x71, 0x4e, 0x71, 0xc2, 
    -	0x72, 0x38, 0x72, 0x84, 0x72, 0xcc, 0x73, 0x02, 0x73, 0x1e, 0x73, 0x50, 
    -	0x73, 0x68, 0x73, 0x80, 0x74, 0x86, 0x74, 0xf0, 0x75, 0x0a, 0x75, 0x36, 
    -	0x75, 0x90, 0x75, 0xf4, 0x76, 0x50, 0x76, 0xcc, 0x76, 0xf8, 0x77, 0x24, 
    -	0x77, 0x62, 0x77, 0xa6, 0x77, 0xfa, 0x78, 0x44, 0x78, 0x50, 0x78, 0x5c, 
    -	0x78, 0x68, 0x78, 0x74, 0x78, 0x80, 0x78, 0x8c, 0x78, 0xf2, 0x79, 0x60, 
    -	0x79, 0xd4, 0x7a, 0x36, 0x7a, 0x94, 0x7a, 0xf2, 0x7a, 0xfe, 0x7b, 0x0a, 
    -	0x7b, 0x7c, 0x7b, 0xec, 0x7c, 0x44, 0x7c, 0x92, 0x7d, 0x32, 0x7d, 0xd0, 
    -	0x7d, 0xdc, 0x7d, 0xe8, 0x7d, 0xf4, 0x7e, 0x00, 0x7e, 0x08, 0x7e, 0x10, 
    -	0x7e, 0x6a, 0x7e, 0xc6, 0x7e, 0xd2, 0x7e, 0xde, 0x7f, 0x24, 0x7f, 0x6a, 
    -	0x7f, 0x76, 0x7f, 0x82, 0x7f, 0xd4, 0x80, 0x28, 0x80, 0x68, 0x80, 0x7c, 
    -	0x80, 0xee, 0x81, 0x60, 0x81, 0x6c, 0x81, 0x78, 0x81, 0x80, 0x81, 0x96, 
    -	0x81, 0xbe, 0x82, 0x16, 0x82, 0x68, 0x82, 0x74, 0x82, 0x80, 0x83, 0x02, 
    -	0x83, 0x82, 0x83, 0x8e, 0x83, 0x9a, 0x83, 0xa6, 0x83, 0xb2, 0x83, 0xbe, 
    -	0x83, 0xca, 0x83, 0xd2, 0x83, 0xe8, 0x84, 0x10, 0x84, 0x2c, 0x84, 0x50, 
    -	0x84, 0x58, 0x84, 0x60, 0x84, 0x76, 0x84, 0x9c, 0x84, 0xfc, 0x85, 0x12, 
    -	0x85, 0x64, 0x85, 0x92, 0x85, 0xae, 0x85, 0xd6, 0x85, 0xf2, 0x86, 0x1c, 
    -	0x86, 0x74, 0x86, 0xc6, 0x86, 0xd8, 0x86, 0xe4, 0x87, 0x00, 0x87, 0x26, 
    -	0x87, 0x42, 0x87, 0x66, 0x87, 0x6e, 0x87, 0x76, 0x87, 0x92, 0x87, 0xe0, 
    -	0x87, 0xfc, 0x88, 0x20, 0x88, 0x32, 0x88, 0x3e, 0x88, 0x5a, 0x88, 0x80, 
    -	0x88, 0x9c, 0x88, 0xb0, 0x88, 0xcc, 0x88, 0xf2, 0x88, 0xfe, 0x89, 0x0a, 
    -	0x89, 0x2a, 0x89, 0x56, 0x89, 0x66, 0x89, 0x76, 0x89, 0x82, 0x89, 0x8e, 
    -	0x89, 0xe8, 0x8a, 0x40, 0x8a, 0x82, 0x8a, 0x8a, 0x8a, 0xe2, 0x8b, 0x62, 
    -	0x8b, 0xd2, 0x8c, 0x40, 0x8c, 0x9e, 0x8c, 0xfc, 0x8d, 0x64, 0x8d, 0xca, 
    -	0x8e, 0x5a, 0x8e, 0xe6, 0x8f, 0x3e, 0x8f, 0x90, 0x8f, 0xe0, 0x90, 0x2e, 
    -	0x90, 0xa6, 0x90, 0xae, 0x90, 0xba, 0x90, 0xc6, 0x90, 0xd2, 0x90, 0xde, 
    -	0x90, 0xf6, 0x91, 0x10, 0x91, 0x28, 0x91, 0x48, 0x91, 0x60, 0x91, 0x80, 
    -	0x91, 0x9c, 0x91, 0xc4, 0x91, 0xd0, 0x91, 0xdc, 0x91, 0xf2, 0x92, 0x04, 
    -	0x92, 0x1e, 0x92, 0x34, 0x92, 0x4e, 0x92, 0x62, 0x92, 0x88, 0x92, 0x9c, 
    -	0x92, 0xc2, 0x92, 0xd6, 0x92, 0xf0, 0x93, 0x10, 0x93, 0x28, 0x93, 0x3e, 
    -	0x93, 0x56, 0x93, 0x6a, 0x93, 0x82, 0x93, 0x9a, 0x93, 0xb2, 0x93, 0xce, 
    -	0x93, 0xe8, 0x94, 0x14, 0x94, 0x20, 0x94, 0x2c, 0x94, 0x42, 0x94, 0x54, 
    -	0x94, 0x6a, 0x94, 0x8a, 0x94, 0xa4, 0x94, 0xb8, 0x94, 0xd2, 0x94, 0xe6, 
    -	0x95, 0x0c, 0x95, 0x20, 0x95, 0x46, 0x95, 0x5a, 0x95, 0x74, 0x95, 0x96, 
    -	0x95, 0xac, 0x95, 0xbe, 0x95, 0xca, 0x95, 0xd6, 0x95, 0xe2, 0x95, 0xee, 
    -	0x96, 0x04, 0x96, 0x16, 0x96, 0x30, 0x96, 0x44, 0x96, 0x5e, 0x96, 0x72, 
    -	0x96, 0x8c, 0x96, 0xa0, 0x96, 0xba, 0x96, 0xce, 0x96, 0xe8, 0x97, 0x08, 
    -	0x97, 0x38, 0x97, 0x52, 0x97, 0x82, 0x97, 0x94, 0x97, 0xaa, 0x97, 0xbc, 
    -	0x97, 0xd2, 0x97, 0xf0, 0x97, 0xfc, 0x98, 0x08, 0x98, 0x14, 0x98, 0x20, 
    -	0x98, 0x36, 0x98, 0x42, 0x98, 0x5a, 0x98, 0x7a, 0x98, 0x86, 0x98, 0xa6, 
    -	0x98, 0xbc, 0x98, 0xce, 0x98, 0xe4, 0x99, 0x00, 0x99, 0x0c, 0x99, 0x18, 
    -	0x99, 0x30, 0x99, 0x50, 0x99, 0x5c, 0x99, 0x68, 0x99, 0x7e, 0x99, 0x8a, 
    -	0x99, 0xa0, 0x99, 0xbc, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 
    -	0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 
    -	0x99, 0xc8, 0x99, 0xc8, 0x99, 0xc8, 0x99, 0xd2, 0x99, 0xdc, 0x99, 0xe6, 
    -	0x99, 0xfe, 0x9a, 0x12, 0x9a, 0x26, 0x9a, 0x3a, 0x9a, 0x46, 0x9a, 0x52, 
    -	0x9a, 0x5e, 0x9a, 0x7e, 0x9a, 0xbe, 0x9b, 0x20, 0x9b, 0x40, 0x9b, 0x4c, 
    -	0x9b, 0x5c, 0x9c, 0x26, 0x9c, 0x2e, 0x9c, 0x36, 0x9c, 0x4e, 0x9c, 0x68, 
    -	0x9c, 0x74, 0x9c, 0x88, 0x9c, 0xc6, 0x9d, 0x02, 0x9d, 0x0e, 0x9d, 0x9e, 
    -	0x9e, 0x22, 0x9e, 0x2e, 0x9e, 0xac, 0x9f, 0x38, 0x9f, 0xa2, 0x9f, 0xb2, 
    -	0xa0, 0x12, 0xa0, 0x72, 0xa0, 0x98, 0xa0, 0xbe, 0xa0, 0xe4, 0xa1, 0x0a, 
    -	0xa1, 0x5c, 0xa1, 0x84, 0xa1, 0xbe, 0xa1, 0xd6, 0xa2, 0x10, 0xa2, 0x90, 
    -	0xa2, 0xd4, 0xa3, 0x5e, 0xa3, 0x9e, 0xa3, 0xc8, 0xa3, 0xf2, 0xa4, 0x2c, 
    -	0xa4, 0x4a, 0xa4, 0xae, 0xa4, 0xba, 0xa4, 0xc6, 0xa4, 0xd6, 0xa4, 0xd6, 
    -	0xa6, 0xbc, 0xa7, 0x02, 0xa7, 0x14, 0xa7, 0x38, 0xa7, 0xa8, 0xa8, 0x0c, 
    -	0xa8, 0x70, 0xa8, 0xb4, 0xa9, 0x34, 0xa9, 0x86, 0xa9, 0xb2, 0xa9, 0xfc, 
    -	0xaa, 0x36, 0xaa, 0x86, 0xaa, 0xd6, 0xab, 0x3a, 0xab, 0x72, 0xab, 0xae, 
    -	0xab, 0xda, 0xac, 0x46, 0xac, 0xae, 0xad, 0x06, 0xad, 0x56, 0xad, 0xa2, 
    -	0xad, 0xf4, 0xae, 0x0c, 0xae, 0x6e, 0xae, 0x92, 0xae, 0xfa, 0xaf, 0x2c, 
    -	0xaf, 0x48, 0xaf, 0x96, 0xaf, 0xf2, 0xb0, 0x30, 0xb0, 0x74, 0xb0, 0xb4, 
    -	0xb1, 0x02, 0xb1, 0x72, 0xb1, 0x8a, 0xb1, 0xdc, 0xb2, 0x28, 0xb2, 0x66, 
    -	0xb2, 0xa2, 0xb3, 0x12, 0xb3, 0x8a, 0xb3, 0xe0, 0xb4, 0x52, 0xb4, 0xca, 
    -	0xb4, 0xda, 0xb5, 0x04, 0xb5, 0x2e, 0xb5, 0x56, 0xb5, 0x82, 0xb5, 0xd8, 
    -	0xb6, 0x56, 0xb6, 0x9a, 0xb6, 0xfa, 0xb7, 0x62, 0xb7, 0x96, 0xb8, 0x10, 
    -	0xb8, 0x76, 0xb8, 0xb8, 0xb9, 0x1a, 0xb9, 0x7e, 0xb9, 0xe0, 0xba, 0x22, 
    -	0xba, 0xa0, 0xba, 0xf2, 0xbb, 0x48, 0xbb, 0x72, 0xbb, 0xba, 0xbc, 0x1e, 
    -	0xbc, 0x9a, 0xbc, 0xcc, 0xbc, 0xfe, 0xbd, 0x06, 0xbd, 0x2c, 0xbd, 0x54, 
    -	0xbd, 0x64, 0xbd, 0x8a, 0xbd, 0xbc, 0xbd, 0xd6, 0xbd, 0xf6, 0xbe, 0x30, 
    -	0xbe, 0x58, 0xbe, 0x74, 0xbe, 0x80, 0xbe, 0xa6, 0xbe, 0xd6, 0xbe, 0xf0, 
    -	0xbf, 0x2a, 0xbf, 0x50, 0xbf, 0x7e, 0xbf, 0x9a, 0xbf, 0xd6, 0xbf, 0xf6, 
    -	0xc0, 0x24, 0xc0, 0x50, 0xc0, 0x7a, 0xc0, 0x98, 0xc0, 0xd0, 0xc0, 0xf2, 
    -	0xc1, 0x20, 0xc1, 0x3a, 0xc1, 0x70, 0xc1, 0xa2, 0xc1, 0xb2, 0xc1, 0xca, 
    -	0xc1, 0xd6, 0xc2, 0x02, 0xc2, 0x2c, 0xc2, 0x60, 0xc2, 0x8a, 0xc2, 0xa2, 
    -	0xc2, 0xb2, 0xc2, 0xc8, 0xc2, 0xf2, 0xc2, 0xfe, 0xc3, 0x16, 0xc3, 0x40, 
    -	0xc3, 0x5a, 0xc3, 0x8e, 0xc3, 0x9a, 0xc3, 0xb4, 0xc3, 0xd4, 0xc4, 0x00, 
    -	0xc4, 0x18, 0xc4, 0x24, 0xc4, 0x4c, 0xc4, 0x76, 0xc4, 0x82, 0xc4, 0xbe, 
    -	0xc4, 0xca, 0xc4, 0xe0, 0xc4, 0xf4, 0xc5, 0x22, 0xc5, 0x2e, 0xc5, 0x48, 
    -	0xc5, 0x64, 0xc5, 0x7e, 0xc5, 0xb4, 0xc5, 0xe2, 0xc5, 0xee, 0xc6, 0x06, 
    -	0xc6, 0x2e, 0xc6, 0x58, 0xc6, 0x64, 0xc6, 0x8e, 0xc6, 0x9a, 0xc6, 0xb2, 
    -	0xc6, 0xd0, 0xc6, 0xe2, 0xc6, 0xfc, 0xc7, 0x24, 0xc7, 0x30, 0xc7, 0x48, 
    -	0xc7, 0x72, 0xc7, 0xa0, 0xc7, 0xde, 0xc7, 0xfe, 0xc8, 0x1a, 0xc8, 0x26, 
    -	0x00, 0x02, 0x00, 0xab, 0x00, 0x00, 0x01, 0x71, 0x05, 0xb0, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x30, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x01, 0x04, 0x02, 0x11, 
    -	0x12, 0x39, 0xb1, 0x06, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x13, 0x23, 0x35, 0x33, 
    -	0x01, 0x70, 0xc5, 0xc5, 0x01, 0xc6, 0xc6, 0x01, 0xde, 0x03, 0xd2, 0xfa, 
    -	0x50, 0xcc, 0x00, 0x00, 0x00, 0x02, 0x00, 0x50, 0x04, 0x10, 0x02, 0x4b, 
    -	0x06, 0x18, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x09, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x07, 0x23, 0x37, 0x11, 0x33, 0x01, 
    -	0x07, 0x23, 0x37, 0x11, 0x33, 0x01, 0x16, 0x65, 0x61, 0x01, 0xc5, 0x01, 
    -	0x35, 0x65, 0x61, 0x01, 0xc5, 0x05, 0x0a, 0xfa, 0xf0, 0x01, 0x18, 0xfe, 
    -	0xf2, 0xfa, 0xf8, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x46, 
    -	0x00, 0x00, 0x04, 0xa2, 0x05, 0xb0, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x88, 
    -	0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x1d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x1d, 0x10, 0xb1, 0x00, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 
    -	0x0b, 0x10, 0xb1, 0x08, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 
    -	0x12, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x14, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 
    -	0x16, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x18, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x1e, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x03, 0x23, 0x13, 0x23, 0x35, 0x21, 
    -	0x13, 0x21, 0x35, 0x21, 0x13, 0x33, 0x03, 0x33, 0x13, 0x33, 0x03, 0x33, 
    -	0x15, 0x23, 0x03, 0x33, 0x15, 0x23, 0x03, 0x23, 0x03, 0x33, 0x13, 0x23, 
    -	0x02, 0xc8, 0xff, 0x50, 0x97, 0x50, 0xec, 0x01, 0x08, 0x44, 0xff, 0x00, 
    -	0x01, 0x1c, 0x52, 0x97, 0x52, 0xff, 0x52, 0x97, 0x52, 0xc7, 0xe2, 0x44, 
    -	0xdb, 0xf7, 0x50, 0x98, 0x93, 0xff, 0x44, 0xff, 0x01, 0x9a, 0xfe, 0x66, 
    -	0x01, 0x9a, 0x8c, 0x01, 0x5c, 0x8e, 0x01, 0xa0, 0xfe, 0x60, 0x01, 0xa0, 
    -	0xfe, 0x60, 0x8e, 0xfe, 0xa4, 0x8c, 0xfe, 0x66, 0x02, 0x26, 0x01, 0x5c, 
    -	0x00, 0x01, 0x00, 0x6e, 0xff, 0x30, 0x04, 0x15, 0x06, 0x9d, 0x00, 0x2c, 
    -	0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 
    -	0xb1, 0x22, 0x06, 0x3e, 0x59, 0xb2, 0x19, 0x22, 0x09, 0x11, 0x12, 0x39, 
    -	0xb0, 0x19, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0c, 0xd0, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x13, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x22, 0x10, 0xb0, 0x1f, 0xd0, 0xb0, 0x22, 0x10, 
    -	0xb1, 0x2a, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 
    -	0x35, 0x33, 0x15, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x06, 0x07, 0x15, 0x23, 
    -	0x35, 0x26, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 
    -	0x50, 0x80, 0x92, 0xca, 0xce, 0xbd, 0xa6, 0x9e, 0xa8, 0xb9, 0xc4, 0x7e, 
    -	0x70, 0x76, 0x75, 0x79, 0x9e, 0xcd, 0xc6, 0xce, 0xb4, 0x9d, 0xac, 0xdc, 
    -	0x04, 0x02, 0xbe, 0x9b, 0x71, 0x81, 0x91, 0x01, 0x78, 0x59, 0x80, 0x32, 
    -	0x3d, 0xcc, 0xaa, 0xa5, 0xd0, 0x15, 0xdd, 0xde, 0x18, 0xef, 0xc9, 0x88, 
    -	0xa8, 0x7b, 0x6b, 0x61, 0x78, 0x36, 0x42, 0xc5, 0xa9, 0xac, 0xcb, 0x13, 
    -	0xc0, 0xbf, 0x12, 0xd7, 0xd0, 0x05, 0x9a, 0x83, 0x7b, 0x00, 0x00, 0x00, 
    -	0x00, 0x05, 0x00, 0x68, 0xff, 0xeb, 0x05, 0x83, 0x05, 0xc5, 0x00, 0x0d, 
    -	0x00, 0x1b, 0x00, 0x29, 0x00, 0x37, 0x00, 0x3b, 0x00, 0x76, 0x00, 0xb0, 
    -	0x38, 0x2f, 0xb0, 0x3a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x26, 
    -	0x2f, 0x1b, 0xb1, 0x26, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x0a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x11, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x26, 0x10, 0xb0, 0x1f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x26, 0x10, 0xb1, 0x2d, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x34, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x05, 0x27, 0x01, 0x17, 0x68, 0xa4, 0x89, 0x89, 
    -	0xa4, 0xa3, 0x88, 0x8a, 0xa5, 0x92, 0x51, 0x4c, 0x49, 0x50, 0x51, 0x4a, 
    -	0x4b, 0x50, 0x02, 0x2f, 0xa4, 0x89, 0x88, 0xa5, 0xa4, 0x87, 0x8a, 0xa5, 
    -	0x92, 0x51, 0x4c, 0x49, 0x50, 0x52, 0x49, 0x4a, 0x51, 0xfe, 0x0f, 0x6d, 
    -	0x02, 0xc7, 0x6d, 0x04, 0x98, 0x7f, 0xae, 0xad, 0x80, 0x4d, 0x7f, 0xac, 
    -	0xac, 0x7f, 0x4a, 0x67, 0x66, 0x4b, 0x4d, 0x4a, 0x69, 0x69, 0x4a, 0xfc, 
    -	0xcd, 0x7f, 0xad, 0xad, 0x7f, 0x4e, 0x80, 0xac, 0xac, 0x80, 0x4b, 0x67, 
    -	0x67, 0x4b, 0x4e, 0x4a, 0x68, 0x68, 0x4a, 0xf7, 0x43, 0x04, 0x72, 0x43, 
    -	0x00, 0x03, 0x00, 0x40, 0xff, 0xeb, 0x04, 0xd0, 0x05, 0xc5, 0x00, 0x21, 
    -	0x00, 0x2c, 0x00, 0x39, 0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x06, 0x3e, 0x59, 0xb2, 0x11, 
    -	0x1f, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb0, 0x1c, 0xd0, 0xb0, 
    -	0x1f, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x30, 0x09, 0x1f, 0x11, 0x12, 0x39, 0xb0, 0x30, 0x10, 
    -	0xb0, 0x26, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x37, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x37, 
    -	0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x07, 0x01, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 0x07, 0x17, 0x07, 0x23, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x24, 0x05, 0x32, 0x36, 0x37, 0x01, 0x07, 
    -	0x06, 0x06, 0x15, 0x14, 0x16, 0x03, 0x14, 0x16, 0x17, 0x37, 0x36, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x40, 0x8d, 0x8c, 0x4e, 0x4c, 0xc3, 
    -	0xab, 0x9e, 0xc6, 0x69, 0x67, 0x6d, 0x01, 0x54, 0x29, 0x2e, 0xb0, 0x4e, 
    -	0x4a, 0xb9, 0x02, 0xe5, 0x55, 0x50, 0xc2, 0x68, 0xd9, 0xfe, 0xff, 0x01, 
    -	0xda, 0x48, 0x8c, 0x3e, 0xfe, 0x97, 0x28, 0x5b, 0x3b, 0x8e, 0x0f, 0x36, 
    -	0x36, 0x8a, 0x39, 0x29, 0x61, 0x4e, 0x51, 0x58, 0x01, 0x88, 0x7a, 0xb7, 
    -	0x5c, 0x63, 0x9b, 0x52, 0xa9, 0xb7, 0xb6, 0x80, 0x62, 0x8f, 0x4b, 0x50, 
    -	0xfe, 0x67, 0x41, 0x9e, 0x58, 0x84, 0xe0, 0x59, 0xdf, 0x05, 0x66, 0x3c, 
    -	0x3f, 0xe6, 0x4c, 0x31, 0x2e, 0x01, 0xb3, 0x1d, 0x44, 0x7c, 0x32, 0x71, 
    -	0x92, 0x03, 0xe2, 0x35, 0x73, 0x44, 0x5f, 0x26, 0x59, 0x36, 0x3d, 0x5e, 
    -	0x71, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 0x04, 0x1f, 0x01, 0x16, 
    -	0x06, 0x18, 0x00, 0x05, 0x00, 0x06, 0x00, 0xb0, 0x04, 0x2f, 0x30, 0x31, 
    -	0x01, 0x03, 0x23, 0x13, 0x35, 0x33, 0x01, 0x16, 0x65, 0x61, 0x01, 0xc5, 
    -	0x05, 0x39, 0xfe, 0xe6, 0x01, 0x09, 0xf0, 0x00, 0x00, 0x01, 0x00, 0x84, 
    -	0xfe, 0x31, 0x02, 0x9d, 0x06, 0x64, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x0d, 0x2f, 0x30, 0x31, 0x13, 0x10, 0x00, 0x37, 0x17, 
    -	0x17, 0x06, 0x02, 0x11, 0x15, 0x10, 0x12, 0x17, 0x07, 0x23, 0x26, 0x00, 
    -	0x11, 0x84, 0x01, 0x3e, 0xaf, 0x06, 0x26, 0x89, 0xcb, 0xca, 0x8a, 0x26, 
    -	0x06, 0xaf, 0xfe, 0xc2, 0x02, 0x4f, 0x01, 0x8a, 0x02, 0x2e, 0x5d, 0x01, 
    -	0x74, 0x6b, 0xfe, 0x28, 0xfe, 0xa5, 0x0d, 0xfe, 0xa5, 0xfe, 0x28, 0x74, 
    -	0x6c, 0x5d, 0x02, 0x2d, 0x01, 0x8b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 
    -	0xfe, 0x31, 0x02, 0x1f, 0x06, 0x64, 0x00, 0x11, 0x00, 0x09, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x03, 0x2f, 0x30, 0x31, 0x01, 0x10, 0x00, 0x07, 0x23, 
    -	0x27, 0x36, 0x12, 0x11, 0x35, 0x10, 0x02, 0x27, 0x37, 0x33, 0x16, 0x00, 
    -	0x11, 0x02, 0x1f, 0xfe, 0xc1, 0xae, 0x06, 0x26, 0x87, 0xcd, 0xd3, 0x81, 
    -	0x26, 0x06, 0xae, 0x01, 0x3f, 0x02, 0x46, 0xfe, 0x75, 0xfd, 0xd3, 0x5d, 
    -	0x6c, 0x69, 0x01, 0xe1, 0x01, 0x5d, 0x0d, 0x01, 0x56, 0x01, 0xe3, 0x6e, 
    -	0x6c, 0x5d, 0xfd, 0xd2, 0xfe, 0x76, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1c, 
    -	0x02, 0x5f, 0x03, 0x57, 0x05, 0xb0, 0x00, 0x0e, 0x00, 0x19, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb0, 0x0b, 0xd0, 0x30, 0x31, 0x01, 
    -	0x25, 0x37, 0x05, 0x03, 0x33, 0x03, 0x25, 0x17, 0x05, 0x13, 0x07, 0x03, 
    -	0x03, 0x27, 0x01, 0x44, 0xfe, 0xd8, 0x31, 0x01, 0x28, 0x0a, 0xa1, 0x0a, 
    -	0x01, 0x25, 0x30, 0xfe, 0xd2, 0xc1, 0x83, 0xb5, 0xb0, 0x84, 0x03, 0xd6, 
    -	0x59, 0x9a, 0x6f, 0x01, 0x56, 0xfe, 0xa4, 0x6e, 0x9c, 0x59, 0xfe, 0xf2, 
    -	0x60, 0x01, 0x1f, 0xfe, 0xe9, 0x5d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 
    -	0x00, 0x92, 0x04, 0x34, 0x04, 0xb6, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0xb0, 
    -	0x09, 0x2f, 0xb0, 0x00, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x06, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0xd0, 0x30, 
    -	0x31, 0x01, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 
    -	0x33, 0x02, 0xa5, 0x01, 0x8f, 0xfe, 0x71, 0xc5, 0xfe, 0x6e, 0x01, 0x92, 
    -	0xc5, 0x03, 0x0f, 0xb2, 0xfe, 0x35, 0x01, 0xcb, 0xb2, 0x01, 0xa7, 0x00, 
    -	0x00, 0x01, 0x00, 0x30, 0xfe, 0xfe, 0x01, 0x3b, 0x00, 0xdd, 0x00, 0x05, 
    -	0x00, 0x10, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 0x35, 0x33, 
    -	0x01, 0x3b, 0x96, 0x75, 0x46, 0xc5, 0x30, 0xfe, 0xce, 0x01, 0x3c, 0xa3, 
    -	0x00, 0x01, 0x00, 0x23, 0x02, 0x1a, 0x02, 0x0d, 0x02, 0xb4, 0x00, 0x03, 
    -	0x00, 0x12, 0x00, 0xb0, 0x02, 0x2f, 0xb1, 0x01, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 
    -	0x02, 0x0d, 0xfe, 0x16, 0x01, 0xea, 0x02, 0x1a, 0x9a, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xa1, 0x00, 0x00, 0x01, 0x66, 0x00, 0xca, 0x00, 0x03, 
    -	0x00, 0x1c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x06, 0x3e, 0x59, 0xb1, 0x02, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x35, 0x33, 0x01, 0x66, 
    -	0xc5, 0xc5, 0xca, 0x00, 0x00, 0x01, 0x00, 0x10, 0xff, 0x83, 0x03, 0x17, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x13, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0x30, 
    -	0x31, 0x17, 0x23, 0x01, 0x33, 0xb8, 0xa8, 0x02, 0x60, 0xa7, 0x7d, 0x06, 
    -	0x2d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x71, 0xff, 0xeb, 0x04, 0x10, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x02, 0x23, 0x22, 
    -	0x02, 0x11, 0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x27, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x10, 0xf7, 0xd7, 0xd7, 0xfa, 0xf9, 0xd6, 0xd7, 0xf9, 0xc5, 0x89, 0x82, 
    -	0x82, 0x88, 0x8a, 0x82, 0x82, 0x87, 0x02, 0x2b, 0xfe, 0xe9, 0xfe, 0xd7, 
    -	0x01, 0x2a, 0x01, 0x16, 0x01, 0x59, 0x01, 0x16, 0x01, 0x2b, 0xfe, 0xd5, 
    -	0xfe, 0xea, 0x2a, 0xbd, 0xbf, 0xbf, 0xbd, 0xfe, 0x55, 0xbd, 0xc1, 0xc0, 
    -	0xbe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xba, 0x00, 0x00, 0x02, 0xa9, 
    -	0x05, 0xb0, 0x00, 0x05, 0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x05, 0x10, 
    -	0xb0, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x03, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x21, 0x23, 0x11, 0x05, 0x35, 0x25, 0x02, 0xa9, 0xc5, 0xfe, 0xd6, 0x01, 
    -	0xef, 0x04, 0xf0, 0x04, 0x8e, 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5c, 
    -	0x00, 0x00, 0x04, 0x26, 0x05, 0xc5, 0x00, 0x1a, 0x00, 0x52, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x19, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x02, 0x19, 0x00, 0x11, 0x12, 0x39, 0xb2, 0x03, 0x00, 0x11, 
    -	0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb0, 0x0c, 0xd0, 
    -	0xb0, 0x03, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x35, 0x01, 
    -	0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 
    -	0x00, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x01, 0x17, 0x21, 0x04, 
    -	0x26, 0xfc, 0x50, 0x01, 0xdd, 0x80, 0x5b, 0x7f, 0x69, 0x97, 0x8f, 0xbd, 
    -	0x02, 0x05, 0x01, 0x04, 0xe6, 0xc4, 0xe9, 0x8d, 0x7f, 0xfe, 0x81, 0x02, 
    -	0x02, 0xbc, 0x87, 0x02, 0x12, 0x8f, 0xa8, 0x58, 0x6d, 0x95, 0x9b, 0x8c, 
    -	0x06, 0xbc, 0x01, 0x00, 0xe5, 0xb1, 0x77, 0xef, 0x89, 0xfe, 0x5f, 0x05, 
    -	0x00, 0x01, 0x00, 0x5f, 0xff, 0xeb, 0x03, 0xfb, 0x05, 0xc5, 0x00, 0x2a, 
    -	0x00, 0x77, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x06, 0x3e, 0x59, 0xb2, 0xcf, 0x00, 0x01, 
    -	0x5d, 0xb2, 0x1f, 0x00, 0x01, 0x71, 0xb2, 0xbf, 0x00, 0x01, 0x71, 0xb2, 
    -	0xef, 0x00, 0x01, 0x5d, 0xb2, 0x7f, 0x00, 0x01, 0x5d, 0xb2, 0x2f, 0x00, 
    -	0x01, 0x5d, 0xb0, 0x0f, 0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 
    -	0x1b, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 0x1b, 0x10, 0xb1, 0x23, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x2a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 0x84, 0xac, 0x83, 
    -	0x6d, 0x7c, 0x79, 0x73, 0x8b, 0xbd, 0x02, 0x05, 0xf9, 0xc9, 0xca, 0xf0, 
    -	0x6d, 0x6d, 0x83, 0x6d, 0xfe, 0xfb, 0xcb, 0xc7, 0xfe, 0xfb, 0x05, 0x03, 
    -	0xbc, 0x8d, 0x7b, 0x7d, 0x8e, 0x7e, 0x88, 0xac, 0x03, 0x33, 0x83, 0x75, 
    -	0x7d, 0x82, 0x87, 0x70, 0x06, 0xa5, 0xe7, 0xd7, 0xc7, 0x5a, 0xb3, 0x2f, 
    -	0x2b, 0xb8, 0x72, 0xc7, 0xe4, 0xd7, 0xb8, 0x06, 0x73, 0x88, 0x88, 0x85, 
    -	0x87, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x37, 0x00, 0x00, 0x04, 0x52, 
    -	0x05, 0xb0, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x4a, 0x00, 0xb0, 0x01, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x0b, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0e, 0xd0, 0x40, 0x09, 0x6b, 0x0e, 
    -	0x7b, 0x0e, 0x8b, 0x0e, 0x9b, 0x0e, 0x04, 0x5d, 0x30, 0x31, 0x01, 0x33, 
    -	0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x01, 0x33, 0x01, 0x21, 0x11, 
    -	0x27, 0x07, 0x03, 0x89, 0xc9, 0xc9, 0xc4, 0xfd, 0x72, 0x02, 0x82, 0xd0, 
    -	0xfd, 0x80, 0x01, 0xbc, 0x06, 0x13, 0x01, 0xea, 0x9a, 0xfe, 0xb0, 0x01, 
    -	0x50, 0x6f, 0x03, 0xf1, 0xfc, 0x3a, 0x02, 0xab, 0x01, 0x32, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x98, 0xff, 0xeb, 0x04, 0x13, 0x05, 0xb0, 0x00, 0x1f, 
    -	0x00, 0x59, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 
    -	0x2f, 0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 
    -	0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 
    -	0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x08, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 
    -	0x03, 0x36, 0x36, 0x37, 0x36, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x26, 
    -	0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x07, 0xaf, 0x54, 0x02, 0xd9, 0xfd, 0xce, 0x30, 0x2e, 0x71, 
    -	0x4a, 0xc9, 0xe7, 0xeb, 0xe1, 0xb9, 0xf6, 0x05, 0x02, 0xb2, 0x89, 0x6d, 
    -	0x7d, 0x8a, 0x8c, 0x7b, 0x74, 0x68, 0x18, 0x02, 0x91, 0x03, 0x1f, 0xaf, 
    -	0xfe, 0x67, 0x22, 0x2d, 0x02, 0x02, 0xfe, 0xf6, 0xe1, 0xdb, 0xfe, 0xf6, 
    -	0xca, 0xc4, 0x06, 0x77, 0x83, 0xb0, 0x99, 0x8c, 0xb4, 0x46, 0x48, 0x00, 
    -	0x00, 0x02, 0x00, 0x84, 0xff, 0xeb, 0x04, 0x37, 0x05, 0xc5, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 
    -	0x2f, 0x1b, 0xb1, 0x14, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0e, 
    -	0x14, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x0e, 0x2f, 0xb1, 0x1b, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 
    -	0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x00, 
    -	0x11, 0x11, 0x10, 0x00, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x02, 0xa3, 0x4b, 0x93, 0x30, 0x2a, 0x31, 
    -	0x6b, 0x48, 0x9c, 0xbf, 0x40, 0xa5, 0x5f, 0xc3, 0xe8, 0xf7, 0xce, 0xd6, 
    -	0xfe, 0xe8, 0x01, 0x38, 0xa4, 0x65, 0x8e, 0x25, 0xaa, 0x80, 0x79, 0x87, 
    -	0x91, 0x05, 0xc5, 0x22, 0x1a, 0x97, 0x19, 0x1f, 0xfa, 0xc9, 0x17, 0x38, 
    -	0x3f, 0xfe, 0xf2, 0xcf, 0xe2, 0xfe, 0xe3, 0x01, 0x36, 0x01, 0x1a, 0x01, 
    -	0x16, 0x01, 0x18, 0x01, 0x5c, 0xfd, 0x6f, 0x52, 0x44, 0x76, 0xc9, 0xda, 
    -	0xcd, 0x98, 0x90, 0xba, 0x00, 0x01, 0x00, 0x4d, 0x00, 0x00, 0x04, 0x26, 
    -	0x05, 0xb0, 0x00, 0x0c, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x00, 0x02, 0x03, 0x07, 0x23, 0x37, 
    -	0x12, 0x12, 0x13, 0x21, 0x35, 0x21, 0x04, 0x26, 0xfe, 0xf8, 0xb9, 0x29, 
    -	0x10, 0xc5, 0x10, 0x2a, 0xf2, 0xd2, 0xfc, 0xe8, 0x03, 0xd9, 0x05, 0x15, 
    -	0xfe, 0xc6, 0xfe, 0x1b, 0xfe, 0xa7, 0x9d, 0x9d, 0x01, 0x58, 0x02, 0x1e, 
    -	0x01, 0x02, 0x9b, 0x00, 0x00, 0x03, 0x00, 0x66, 0xff, 0xeb, 0x04, 0x1a, 
    -	0x05, 0xc5, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x64, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 
    -	0x59, 0xb2, 0x2d, 0x09, 0x15, 0x11, 0x12, 0x39, 0xb0, 0x2d, 0x2f, 0xb2, 
    -	0xcf, 0x2d, 0x01, 0x5d, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x03, 0x1b, 0x2d, 0x11, 0x12, 0x39, 0xb2, 
    -	0x0f, 0x2d, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 0xb1, 0x21, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 
    -	0xb1, 0x27, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 
    -	0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x03, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x03, 0xf2, 0x80, 0x6d, 0x7e, 0x97, 0xfe, 0xf9, 0xd2, 0xd6, 
    -	0xfe, 0xfb, 0x94, 0x7e, 0x6d, 0x7c, 0xed, 0xc3, 0xc0, 0xf3, 0x9c, 0x9e, 
    -	0x79, 0x7b, 0x99, 0x98, 0x7e, 0x7b, 0x9a, 0x29, 0x87, 0x67, 0x69, 0x82, 
    -	0x83, 0x6a, 0x68, 0x84, 0x04, 0x34, 0x72, 0xab, 0x2a, 0x2c, 0xbc, 0x7b, 
    -	0xca, 0xd5, 0xd5, 0xca, 0x7b, 0xbc, 0x2c, 0x2a, 0xab, 0x72, 0xc0, 0xd1, 
    -	0xd1, 0xfc, 0x9a, 0x78, 0x9a, 0x9a, 0x78, 0x7c, 0x8d, 0x8e, 0x03, 0x1d, 
    -	0x6c, 0x8e, 0x89, 0x71, 0x6f, 0x86, 0x86, 0x00, 0x00, 0x02, 0x00, 0x53, 
    -	0xff, 0xeb, 0x04, 0x01, 0x05, 0xc5, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4e, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 
    -	0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x14, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x07, 
    -	0x2f, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 0x06, 
    -	0x06, 0x23, 0x22, 0x02, 0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 0x11, 0x11, 
    -	0x10, 0x00, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 0x36, 
    -	0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 0xff, 
    -	0x90, 0xad, 0x31, 0x93, 0x5a, 0xd3, 0xf8, 0x01, 0x07, 0xbc, 0xe4, 0x01, 
    -	0x07, 0xfe, 0xe3, 0xe5, 0x4d, 0x9f, 0x3f, 0x1e, 0x3b, 0x7f, 0x72, 0x6d, 
    -	0x91, 0x20, 0x93, 0x8d, 0x6c, 0x98, 0x8d, 0x85, 0xda, 0xd7, 0x42, 0x47, 
    -	0x49, 0x01, 0x05, 0xe5, 0xdb, 0x01, 0x18, 0xfe, 0xe3, 0xfe, 0xeb, 0xfe, 
    -	0xa5, 0xfe, 0xe3, 0xfe, 0xd0, 0x1d, 0x1e, 0x97, 0x1f, 0x19, 0x01, 0xfd, 
    -	0x5e, 0x49, 0x7e, 0xbf, 0xc4, 0xc1, 0x97, 0x96, 0xba, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xa1, 0x00, 0x00, 0x01, 0x66, 0x04, 0x36, 0x00, 0x26, 
    -	0x00, 0x11, 0x00, 0x00, 0x01, 0x07, 0x00, 0x11, 0x00, 0x00, 0x03, 0x6c, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0a, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xfe, 0xfe, 0x01, 0x6e, 0x04, 0x36, 0x00, 0x27, 0x00, 0x11, 0x00, 0x01, 
    -	0x03, 0x6c, 0x01, 0x06, 0x00, 0x0f, 0x33, 0x00, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x47, 0x00, 0x57, 0x03, 0x77, 
    -	0x03, 0xe1, 0x00, 0x09, 0x00, 0x19, 0x00, 0xb0, 0x07, 0x2f, 0xb1, 0x06, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x01, 
    -	0x06, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x07, 0x15, 0x17, 0x05, 
    -	0x15, 0x01, 0x35, 0x01, 0x15, 0x01, 0x48, 0x55, 0x55, 0x02, 0x2f, 0xfc, 
    -	0xd0, 0x03, 0x30, 0x02, 0x2f, 0x12, 0x06, 0x13, 0xe4, 0xc9, 0x01, 0x7b, 
    -	0x95, 0x01, 0x7a, 0xc9, 0x00, 0x02, 0x00, 0x98, 0x01, 0x97, 0x03, 0xda, 
    -	0x03, 0xdb, 0x00, 0x03, 0x00, 0x07, 0x00, 0x26, 0x00, 0xb2, 0x00, 0x07, 
    -	0x03, 0x2b, 0xb0, 0x00, 0x10, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x04, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x03, 0xda, 0xfc, 0xbe, 0x03, 0x42, 
    -	0xfc, 0xbe, 0x03, 0x42, 0x03, 0x37, 0xa4, 0xfd, 0xbc, 0xa4, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x88, 0x00, 0x57, 0x03, 0xe0, 0x03, 0xe1, 0x00, 0x09, 
    -	0x00, 0x19, 0x00, 0xb0, 0x02, 0x2f, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x03, 0x02, 0x11, 0x12, 
    -	0x39, 0x30, 0x31, 0x13, 0x35, 0x01, 0x15, 0x01, 0x35, 0x25, 0x37, 0x35, 
    -	0x27, 0x88, 0x03, 0x58, 0xfc, 0xa8, 0x02, 0x56, 0x55, 0x55, 0x03, 0x1e, 
    -	0xc3, 0xfe, 0x86, 0x95, 0xfe, 0x85, 0xc4, 0xee, 0x11, 0x06, 0x14, 0x00, 
    -	0x00, 0x02, 0x00, 0x3a, 0x00, 0x00, 0x03, 0x76, 0x05, 0xc5, 0x00, 0x1a, 
    -	0x00, 0x1e, 0x00, 0x3f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 
    -	0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 
    -	0x2f, 0x1b, 0xb1, 0x1b, 0x06, 0x3e, 0x59, 0xb1, 0x1d, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x00, 0x1d, 0x11, 0x11, 
    -	0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x36, 0x36, 0x37, 0x36, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 
    -	0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x06, 0x06, 0x15, 0x13, 0x23, 
    -	0x35, 0x33, 0x01, 0x63, 0x01, 0x30, 0x66, 0x63, 0x54, 0x71, 0x69, 0x5b, 
    -	0x80, 0xbc, 0x03, 0x03, 0xe9, 0xb4, 0xc5, 0xda, 0x8d, 0x74, 0x36, 0x17, 
    -	0x07, 0xce, 0xce, 0x01, 0x9a, 0x91, 0x70, 0x5c, 0x75, 0x7e, 0x59, 0x6a, 
    -	0x72, 0x63, 0x60, 0x06, 0xa1, 0xc2, 0xc9, 0xb4, 0x81, 0xd6, 0x70, 0x36, 
    -	0x56, 0x5b, 0xfe, 0x66, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x60, 
    -	0xfe, 0x3b, 0x06, 0xd5, 0x05, 0x97, 0x00, 0x33, 0x00, 0x43, 0x00, 0x65, 
    -	0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x31, 0x2f, 0xb0, 0x2b, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x37, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x18, 0xd0, 0xb0, 0x31, 0x10, 0xb1, 0x1e, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2b, 0x10, 
    -	0xb1, 0x24, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0f, 0x10, 0xb1, 0x41, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x06, 0x02, 0x23, 0x22, 0x26, 0x27, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x37, 0x12, 0x12, 0x33, 0x32, 0x16, 0x17, 
    -	0x07, 0x33, 0x03, 0x06, 0x16, 0x33, 0x32, 0x36, 0x37, 0x12, 0x00, 0x21, 
    -	0x20, 0x00, 0x03, 0x02, 0x00, 0x21, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 
    -	0x23, 0x20, 0x00, 0x13, 0x12, 0x00, 0x21, 0x20, 0x00, 0x01, 0x06, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x26, 0x36, 0x37, 0x13, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x06, 0xc4, 0x09, 0xde, 0xdd, 0x49, 0x6a, 0x17, 0x32, 0x90, 0x60, 
    -	0x7d, 0x8a, 0x12, 0x17, 0xe5, 0xa5, 0x69, 0x80, 0x4b, 0x04, 0x06, 0x33, 
    -	0x09, 0x3d, 0x33, 0x7b, 0x94, 0x08, 0x10, 0xfe, 0xc0, 0xfe, 0xb0, 0xfe, 
    -	0xcc, 0xfe, 0x89, 0x0f, 0x12, 0x01, 0x50, 0x01, 0x3a, 0x58, 0xb5, 0x3e, 
    -	0x26, 0x43, 0xcf, 0x63, 0xfe, 0x84, 0xfe, 0x61, 0x12, 0x13, 0x01, 0xcc, 
    -	0x01, 0x74, 0x01, 0x7b, 0x01, 0x95, 0xfb, 0xfb, 0x0b, 0x41, 0x4a, 0x40, 
    -	0x6a, 0x2c, 0x01, 0x01, 0x02, 0x2f, 0x1a, 0x39, 0x1f, 0x7d, 0x84, 0x01, 
    -	0xf6, 0xd6, 0xfe, 0xcb, 0x53, 0x4c, 0x50, 0x4f, 0xf1, 0xc4, 0x01, 0x03, 
    -	0x01, 0x39, 0x34, 0x36, 0x04, 0xfd, 0xb7, 0x6e, 0x53, 0xe3, 0xaf, 0x01, 
    -	0x7e, 0x01, 0xab, 0xfe, 0x32, 0xfe, 0x8d, 0xfe, 0x88, 0xfe, 0x4b, 0x2b, 
    -	0x23, 0x6b, 0x2a, 0x2f, 0x01, 0xf3, 0x01, 0xb0, 0x01, 0xa7, 0x02, 0x12, 
    -	0xfe, 0x0c, 0xfd, 0xfd, 0x8e, 0x94, 0x31, 0x3f, 0x0c, 0x1b, 0x10, 0x02, 
    -	0x1a, 0x0c, 0x0e, 0xdb, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x05, 0xb0, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x62, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 
    -	0xb2, 0x01, 0x02, 0x05, 0x11, 0x12, 0x39, 0xb0, 0x01, 0x2f, 0xb4, 0x8f, 
    -	0x01, 0x9f, 0x01, 0x02, 0x5d, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb0, 0x0a, 0xd0, 0xb4, 
    -	0x3b, 0x0a, 0x4b, 0x0a, 0x02, 0x5d, 0xb6, 0x7b, 0x0a, 0x8b, 0x0a, 0x9b, 
    -	0x0a, 0x03, 0x5d, 0xb2, 0x69, 0x0a, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x21, 
    -	0x03, 0x23, 0x01, 0x33, 0x01, 0x23, 0x01, 0x21, 0x03, 0x23, 0x03, 0xc9, 
    -	0xfd, 0x9e, 0x8a, 0xc9, 0x02, 0x33, 0xa9, 0x02, 0x2a, 0xc9, 0xfd, 0x53, 
    -	0x01, 0xea, 0xf0, 0x06, 0x01, 0x77, 0xfe, 0x89, 0x05, 0xb0, 0xfa, 0x50, 
    -	0x02, 0x1c, 0x02, 0x97, 0x00, 0x03, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xaf, 
    -	0x05, 0xb0, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x20, 0x00, 0x52, 0x00, 0xb0, 
    -	0x18, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x06, 0x3e, 0x59, 0xb2, 0xef, 0x18, 0x01, 0x5d, 0xb0, 0x18, 0x10, 
    -	0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x1f, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x32, 
    -	0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x01, 
    -	0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x25, 0x21, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x21, 0xb4, 0x01, 0xdb, 0xe4, 0x01, 0x02, 0x7c, 
    -	0x65, 0x84, 0x97, 0xfe, 0xfd, 0xde, 0xfe, 0xab, 0x01, 0x55, 0x86, 0x96, 
    -	0x7d, 0x82, 0xfe, 0x8e, 0x01, 0x3f, 0x6e, 0x8a, 0x95, 0x8c, 0xfe, 0xea, 
    -	0x05, 0xb0, 0xc5, 0xc5, 0x61, 0x99, 0x25, 0x1c, 0xca, 0x86, 0xc8, 0xd3, 
    -	0x02, 0xab, 0xfd, 0xef, 0x85, 0x7a, 0x80, 0x92, 0x9a, 0x79, 0x6c, 0x76, 
    -	0x75, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x76, 0xff, 0xeb, 0x04, 0xbf, 
    -	0x05, 0xc5, 0x00, 0x1d, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0x10, 0xb1, 0x1a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x00, 0x23, 0x22, 0x00, 
    -	0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x07, 0x07, 0x23, 0x34, 0x26, 
    -	0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0xb9, 0x02, 0x04, 0xfe, 0xd8, 0xf3, 0xf7, 0xfe, 0xc9, 0x01, 0x37, 0xf7, 
    -	0xf7, 0x01, 0x24, 0x04, 0x02, 0xbd, 0xb4, 0xa4, 0xa5, 0xc4, 0xc4, 0xa5, 
    -	0xa4, 0xb4, 0x01, 0xd2, 0x06, 0xcd, 0xfe, 0xec, 0x01, 0x5e, 0x01, 0x0d, 
    -	0x01, 0x03, 0x01, 0x0d, 0x01, 0x5f, 0xfe, 0xf9, 0xd9, 0x06, 0x99, 0xb2, 
    -	0xfe, 0xf6, 0xc5, 0xfe, 0xfb, 0xc7, 0xfe, 0xf6, 0xb1, 0x9c, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xeb, 0x05, 0xb0, 0x00, 0x09, 
    -	0x00, 0x13, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x0a, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x20, 0x00, 0x11, 0x15, 0x10, 0x00, 
    -	0x21, 0x03, 0x11, 0x33, 0x32, 0x12, 0x35, 0x35, 0x34, 0x02, 0x23, 0xb4, 
    -	0x01, 0xbf, 0x01, 0x1e, 0x01, 0x5a, 0xfe, 0xa6, 0xfe, 0xe2, 0xfa, 0xfa, 
    -	0xca, 0xe9, 0xe9, 0xca, 0x05, 0xb0, 0xfe, 0xa1, 0xfe, 0xea, 0xc7, 0xfe, 
    -	0xe9, 0xfe, 0xa3, 0x05, 0x15, 0xfb, 0x85, 0x01, 0x0a, 0xd0, 0xc9, 0xce, 
    -	0x01, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x5c, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 
    -	0xb2, 0xef, 0x0b, 0x01, 0x5d, 0xb2, 0x7f, 0x0b, 0x01, 0x5d, 0xb2, 0x2f, 
    -	0x0b, 0x01, 0x5d, 0xb0, 0x0b, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x02, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 
    -	0x11, 0x21, 0x04, 0x14, 0xfd, 0x65, 0x03, 0x01, 0xfc, 0x3a, 0x03, 0xbb, 
    -	0xfd, 0x0a, 0x02, 0x9b, 0x02, 0xa3, 0xfd, 0xf7, 0x9a, 0x05, 0xb0, 0x9b, 
    -	0xfe, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x77, 
    -	0x05, 0xb0, 0x00, 0x09, 0x00, 0x88, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 
    -	0xb2, 0x7f, 0x08, 0x01, 0x5d, 0xb2, 0xcf, 0x08, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x08, 0x01, 0x71, 0xb2, 0x7f, 0x08, 0x01, 0x71, 0xb4, 0xbf, 0x08, 0xcf, 
    -	0x08, 0x02, 0x71, 0xb2, 0x3f, 0x08, 0x01, 0x72, 0xb2, 0x6f, 0x08, 0x01, 
    -	0x72, 0xb2, 0xef, 0x08, 0x01, 0x71, 0xb2, 0x9f, 0x08, 0x01, 0x71, 0xb2, 
    -	0x4f, 0x08, 0x01, 0x71, 0xb4, 0xef, 0x08, 0xff, 0x08, 0x02, 0x5d, 0xb2, 
    -	0xaf, 0x08, 0x01, 0x5d, 0xb2, 0x5f, 0x08, 0x01, 0x5d, 0xb2, 0x2f, 0x08, 
    -	0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x06, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x04, 0x11, 0xfd, 0x68, 
    -	0xc5, 0x03, 0xc3, 0xfd, 0x02, 0x02, 0x98, 0x02, 0x84, 0xfd, 0x7c, 0x05, 
    -	0xb0, 0x9b, 0xfe, 0x0a, 0x00, 0x01, 0x00, 0x78, 0xff, 0xeb, 0x04, 0xd3, 
    -	0x05, 0xc5, 0x00, 0x20, 0x00, 0x57, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 
    -	0xb0, 0x0f, 0xd0, 0xb0, 0x0a, 0x10, 0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x19, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1f, 0x03, 
    -	0x0a, 0x11, 0x12, 0x39, 0xb0, 0x1f, 0x2f, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 0x04, 
    -	0x23, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x04, 0x17, 0x07, 
    -	0x23, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x04, 0xd3, 0x34, 0xfe, 0xff, 0xcc, 
    -	0xfe, 0xfb, 0xfe, 0xab, 0x01, 0x3e, 0xfb, 0xfa, 0x01, 0x1e, 0x03, 0x02, 
    -	0xbc, 0x09, 0xaf, 0xa5, 0xa7, 0xcc, 0xe4, 0xb0, 0x7c, 0x9e, 0x22, 0xfe, 
    -	0xc1, 0x02, 0x04, 0xc1, 0x50, 0x86, 0x01, 0x4e, 0x01, 0x09, 0x01, 0x2c, 
    -	0x01, 0x09, 0x01, 0x4e, 0xf6, 0xc2, 0x06, 0x7f, 0xa4, 0xfa, 0xc0, 0xfe, 
    -	0xd2, 0xc2, 0xfb, 0x42, 0x2a, 0x01, 0x4b, 0x9b, 0x00, 0x01, 0x00, 0xb4, 
    -	0x00, 0x00, 0x05, 0x01, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0xa4, 0x00, 0xb0, 
    -	0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x7f, 0x08, 0x01, 0x5d, 0xb2, 
    -	0xcf, 0x08, 0x01, 0x5d, 0xb2, 0x1f, 0x08, 0x01, 0x71, 0xb2, 0x7f, 0x08, 
    -	0x01, 0x71, 0xb4, 0xbf, 0x08, 0xcf, 0x08, 0x02, 0x71, 0xb2, 0x1f, 0x08, 
    -	0x01, 0x72, 0xb2, 0x6f, 0x08, 0x01, 0x72, 0xb2, 0xbf, 0x08, 0x01, 0x72, 
    -	0xb4, 0x8f, 0x08, 0x9f, 0x08, 0x02, 0x72, 0xb2, 0x3f, 0x08, 0x01, 0x72, 
    -	0xb2, 0xef, 0x08, 0x01, 0x71, 0xb2, 0x9f, 0x08, 0x01, 0x71, 0xb2, 0x4f, 
    -	0x08, 0x01, 0x71, 0xb4, 0xef, 0x08, 0xff, 0x08, 0x02, 0x5d, 0xb2, 0xaf, 
    -	0x08, 0x01, 0x5d, 0xb2, 0x5f, 0x08, 0x01, 0x5d, 0xb2, 0x2f, 0x08, 0x01, 
    -	0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x21, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x05, 0x01, 0xc5, 0xfd, 0x3d, 0xc5, 
    -	0xc5, 0x02, 0xc3, 0xc5, 0x02, 0x83, 0xfd, 0x7d, 0x05, 0xb0, 0xfd, 0x6e, 
    -	0x02, 0x92, 0x00, 0x00, 0x00, 0x01, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x84, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x23, 0x11, 0x33, 0x01, 0x84, 0xc6, 0xc6, 0x05, 0xb0, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x3d, 0xff, 0xeb, 0x03, 0xc3, 0x05, 0xb0, 0x00, 0x10, 
    -	0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 
    -	0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x11, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x02, 0xfe, 0xc5, 0xf7, 0xc5, 0xd2, 0xf8, 0x05, 0x02, 0xbd, 0x89, 0x7d, 
    -	0x6d, 0x8a, 0x05, 0xb0, 0xfb, 0xe3, 0xc3, 0xe5, 0xd5, 0xcb, 0x06, 0x87, 
    -	0x85, 0x93, 0x7b, 0x00, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x20, 
    -	0x05, 0xb0, 0x00, 0x0e, 0x00, 0x82, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 
    -	0x3e, 0x59, 0xb2, 0xcf, 0x06, 0x01, 0x5d, 0xb2, 0x1f, 0x06, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x06, 0x01, 0x71, 0xb2, 0x3f, 0x06, 0x01, 0x72, 0xb2, 0x8f, 
    -	0x06, 0x01, 0x72, 0xb2, 0xef, 0x06, 0x01, 0x71, 0xb2, 0x9f, 0x06, 0x01, 
    -	0x71, 0xb2, 0xef, 0x06, 0x01, 0x5d, 0xb2, 0x7f, 0x06, 0x01, 0x5d, 0xb2, 
    -	0x2f, 0x06, 0x01, 0x5d, 0xb0, 0x06, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0b, 0x06, 0x00, 0x11, 
    -	0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 
    -	0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x02, 0x23, 0xaa, 0xc5, 0xc5, 
    -	0x98, 0x02, 0x09, 0xda, 0x03, 0xfd, 0xcb, 0x02, 0x5e, 0x03, 0xeb, 0x02, 
    -	0x91, 0xfd, 0x6f, 0x05, 0xb0, 0xfd, 0x7c, 0x02, 0x84, 0x05, 0xfd, 0x45, 
    -	0xfd, 0x15, 0x05, 0x00, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x2a, 
    -	0x05, 0xb0, 0x00, 0x05, 0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 
    -	0x21, 0x15, 0x21, 0x11, 0x33, 0x01, 0x79, 0x02, 0xb1, 0xfc, 0x8a, 0xc5, 
    -	0x9a, 0x9a, 0x05, 0xb0, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x06, 0x52, 
    -	0x05, 0xb0, 0x00, 0x11, 0x00, 0x80, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x0a, 0x10, 0xb0, 0x01, 0xd0, 0xb4, 0x34, 0x01, 0x44, 0x01, 0x02, 
    -	0x5d, 0xb6, 0x73, 0x01, 0x83, 0x01, 0x93, 0x01, 0x03, 0x5d, 0xb0, 0x00, 
    -	0x10, 0xb0, 0x0c, 0xd0, 0x40, 0x09, 0x6f, 0x0c, 0x7f, 0x0c, 0x8f, 0x0c, 
    -	0x9f, 0x0c, 0x04, 0x5d, 0xb2, 0x4f, 0x0c, 0x01, 0x5d, 0xb2, 0x5c, 0x0c, 
    -	0x01, 0x5d, 0xb4, 0x2b, 0x0c, 0x3b, 0x0c, 0x02, 0x5d, 0xb0, 0x08, 0xd0, 
    -	0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 0x33, 0x11, 0x23, 0x11, 0x13, 0x27, 
    -	0x01, 0x23, 0x01, 0x07, 0x13, 0x11, 0x23, 0x11, 0x01, 0xb0, 0x01, 0xd0, 
    -	0x06, 0x01, 0xd0, 0xfc, 0xc5, 0x14, 0x05, 0xfe, 0x28, 0x83, 0xfe, 0x2a, 
    -	0x05, 0x13, 0xc5, 0x05, 0xb0, 0xfb, 0x61, 0x04, 0x9f, 0xfa, 0x50, 0x02, 
    -	0x40, 0x02, 0x50, 0x01, 0xfb, 0x6f, 0x04, 0x8e, 0x01, 0xfd, 0xb3, 0xfd, 
    -	0xc0, 0x05, 0xb0, 0x00, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x78, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x06, 0x10, 0xb0, 0x02, 0xd0, 0xb2, 0x4b, 0x02, 0x01, 0x5d, 0xb2, 0x5c, 
    -	0x02, 0x01, 0x5d, 0x40, 0x09, 0x6b, 0x02, 0x7b, 0x02, 0x8b, 0x02, 0x9b, 
    -	0x02, 0x04, 0x5d, 0xb2, 0x39, 0x02, 0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x08, 0xd0, 0xb2, 0x36, 0x08, 0x01, 0x5d, 0x40, 0x0d, 0x44, 0x08, 0x54, 
    -	0x08, 0x64, 0x08, 0x74, 0x08, 0x84, 0x08, 0x94, 0x08, 0x06, 0x5d, 0xb2, 
    -	0x54, 0x09, 0x01, 0x5d, 0x30, 0x31, 0x21, 0x23, 0x01, 0x07, 0x11, 0x23, 
    -	0x11, 0x33, 0x01, 0x37, 0x11, 0x33, 0x05, 0x01, 0xc5, 0xfd, 0x43, 0x06, 
    -	0xc5, 0xc5, 0x02, 0xbd, 0x06, 0xc5, 0x04, 0x66, 0x02, 0xfb, 0x9c, 0x05, 
    -	0xb0, 0xfb, 0x9c, 0x02, 0x04, 0x62, 0x00, 0x00, 0x00, 0x02, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x10, 0x00, 0x21, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x20, 0x00, 
    -	0x11, 0x27, 0x34, 0x02, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 
    -	0x32, 0x36, 0x35, 0x05, 0x02, 0xfe, 0xb5, 0xfe, 0xf8, 0xff, 0xfe, 0xc1, 
    -	0x01, 0x3f, 0xff, 0x01, 0x08, 0x01, 0x4b, 0xc5, 0xd8, 0xb6, 0xac, 0xcd, 
    -	0xcd, 0xac, 0xb7, 0xd7, 0x02, 0x56, 0xfe, 0xf5, 0xfe, 0xa0, 0x01, 0x60, 
    -	0x01, 0x0b, 0x01, 0x03, 0x01, 0x0a, 0x01, 0x62, 0xfe, 0x9f, 0xfe, 0xf5, 
    -	0x02, 0xc8, 0x01, 0x00, 0xff, 0x00, 0xc8, 0xfe, 0xfb, 0xca, 0xff, 0x00, 
    -	0xff, 0xcb, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xcc, 
    -	0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x42, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x00, 0x01, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x0b, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 0x04, 
    -	0x23, 0x25, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0x79, 
    -	0xc5, 0x02, 0x2d, 0xe9, 0x01, 0x02, 0xfe, 0xfe, 0xe9, 0xfe, 0x98, 0x01, 
    -	0x68, 0x94, 0x92, 0x93, 0x93, 0xfe, 0x98, 0x02, 0x48, 0xfd, 0xb8, 0x05, 
    -	0xb0, 0xf0, 0xc4, 0xc7, 0xed, 0x9a, 0x9f, 0x79, 0x79, 0xa2, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x71, 0xff, 0x18, 0x05, 0x3b, 0x05, 0xc5, 0x00, 0x13, 
    -	0x00, 0x21, 0x00, 0x3f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb1, 0x1e, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x03, 0x09, 0x1e, 0x11, 
    -	0x12, 0x39, 0xb0, 0x10, 0x10, 0xb1, 0x17, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x17, 
    -	0x07, 0x01, 0x06, 0x06, 0x23, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 
    -	0x20, 0x00, 0x11, 0x27, 0x34, 0x02, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 
    -	0x12, 0x33, 0x32, 0x36, 0x35, 0x05, 0x02, 0x64, 0x5a, 0xf7, 0x87, 0xfe, 
    -	0xec, 0x38, 0x79, 0x40, 0xff, 0xfe, 0xc1, 0x01, 0x3f, 0xff, 0x01, 0x08, 
    -	0x01, 0x4b, 0xc5, 0xd8, 0xb6, 0xac, 0xcd, 0xcd, 0xac, 0xb7, 0xd7, 0x02, 
    -	0x56, 0x8e, 0xf2, 0x54, 0xe9, 0x81, 0x01, 0x01, 0x17, 0x17, 0x01, 0x60, 
    -	0x01, 0x0b, 0x01, 0x03, 0x01, 0x0a, 0x01, 0x62, 0xfe, 0x9f, 0xfe, 0xf5, 
    -	0x02, 0xc8, 0x01, 0x00, 0xff, 0x00, 0xc8, 0xfe, 0xfb, 0xca, 0xff, 0x00, 
    -	0xff, 0xcb, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xed, 
    -	0x05, 0xaf, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 
    -	0xb2, 0x00, 0x01, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x1b, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 
    -	0x00, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x15, 0x14, 0x16, 0x17, 0x15, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x25, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0x79, 
    -	0xc5, 0x02, 0x0f, 0xef, 0xfc, 0x75, 0x70, 0x78, 0x69, 0x1e, 0x25, 0xcb, 
    -	0x27, 0x16, 0x8a, 0x74, 0xfe, 0x92, 0x01, 0x36, 0xa7, 0x93, 0x8f, 0x97, 
    -	0xfe, 0xb6, 0x02, 0x77, 0xfd, 0x89, 0x05, 0xaf, 0xd4, 0xca, 0x70, 0xa6, 
    -	0x31, 0x27, 0xaf, 0x81, 0x89, 0x44, 0x6c, 0x22, 0x18, 0x22, 0x84, 0x46, 
    -	0x85, 0x76, 0x90, 0x9b, 0x7f, 0x82, 0x7b, 0x87, 0x00, 0x01, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x92, 0x05, 0xc5, 0x00, 0x27, 0x00, 0x51, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x06, 0x3e, 
    -	0x59, 0xb2, 0x17, 0x1d, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x17, 0x10, 0xb1, 
    -	0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb1, 0x25, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 
    -	0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x00, 0x07, 0x07, 0x23, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x04, 
    -	0x23, 0x22, 0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 
    -	0xcd, 0x96, 0xbf, 0xe7, 0xfe, 0xfd, 0x01, 0x17, 0xde, 0xef, 0x01, 0x1b, 
    -	0x05, 0x02, 0xbc, 0xa9, 0x9e, 0x93, 0x9d, 0xaa, 0xbf, 0xe6, 0xf0, 0xfe, 
    -	0xe0, 0xe8, 0xda, 0xfe, 0xb1, 0x05, 0x02, 0xbc, 0xce, 0x98, 0x95, 0xae, 
    -	0x01, 0x6f, 0x64, 0x87, 0x2e, 0x37, 0xd6, 0xa2, 0xaa, 0xe4, 0xfe, 0xfa, 
    -	0xad, 0x06, 0x80, 0x9e, 0x85, 0x6b, 0x5f, 0x7f, 0x30, 0x39, 0xde, 0xa4, 
    -	0xb0, 0xd6, 0xec, 0xc6, 0x06, 0x8c, 0x92, 0x7e, 0x00, 0x01, 0x00, 0x22, 
    -	0x00, 0x00, 0x04, 0x8e, 0x05, 0xb0, 0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x06, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x23, 0x11, 0x21, 0x35, 0x21, 0x04, 0x8e, 0xfe, 0x2c, 0xc5, 0xfe, 0x2d, 
    -	0x04, 0x6c, 0x05, 0x15, 0xfa, 0xeb, 0x05, 0x15, 0x9b, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 0x05, 0xb0, 0x00, 0x11, 
    -	0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x04, 
    -	0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x11, 0x04, 0xdc, 0xfe, 0xcb, 0xf9, 0xf0, 0xfe, 0xd5, 0xc5, 0xbc, 
    -	0x9a, 0xa2, 0xc7, 0x05, 0xb0, 0xfc, 0x25, 0xee, 0xfc, 0xfd, 0xed, 0x03, 
    -	0xdb, 0xfc, 0x25, 0xa5, 0xab, 0xab, 0xa5, 0x03, 0xdb, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x04, 0xf9, 0x05, 0xb0, 0x00, 0x09, 
    -	0x00, 0x44, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 
    -	0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0xd0, 0xb2, 0x24, 0x01, 
    -	0x01, 0x5d, 0x40, 0x0f, 0x33, 0x01, 0x43, 0x01, 0x53, 0x01, 0x63, 0x01, 
    -	0x73, 0x01, 0x83, 0x01, 0x93, 0x01, 0x07, 0x5d, 0x30, 0x31, 0x01, 0x17, 
    -	0x33, 0x37, 0x01, 0x33, 0x01, 0x23, 0x01, 0x33, 0x02, 0x64, 0x21, 0x06, 
    -	0x21, 0x01, 0x78, 0xd5, 0xfd, 0xe3, 0xa9, 0xfd, 0xe3, 0xd6, 0x01, 0x6a, 
    -	0x73, 0x73, 0x04, 0x46, 0xfa, 0x50, 0x05, 0xb0, 0x00, 0x01, 0x00, 0x36, 
    -	0x00, 0x00, 0x06, 0xcf, 0x05, 0xb0, 0x00, 0x15, 0x00, 0x84, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x06, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb0, 0x07, 0xd0, 0xb4, 0x24, 
    -	0x07, 0x34, 0x07, 0x02, 0x5d, 0x40, 0x0d, 0x40, 0x07, 0x50, 0x07, 0x60, 
    -	0x07, 0x70, 0x07, 0x80, 0x07, 0x90, 0x07, 0x06, 0x5d, 0xb0, 0x01, 0xd0, 
    -	0xb0, 0x04, 0x10, 0xb0, 0x10, 0xd0, 0xb2, 0x9f, 0x10, 0x01, 0x5d, 0x40, 
    -	0x09, 0x5c, 0x10, 0x6c, 0x10, 0x7c, 0x10, 0x8c, 0x10, 0x04, 0x5d, 0xb6, 
    -	0x2b, 0x10, 0x3b, 0x10, 0x4b, 0x10, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x17, 
    -	0x17, 0x37, 0x01, 0x33, 0x01, 0x17, 0x33, 0x37, 0x13, 0x33, 0x01, 0x23, 
    -	0x01, 0x27, 0x23, 0x07, 0x01, 0x23, 0x01, 0x33, 0x01, 0xd8, 0x1b, 0x06, 
    -	0x27, 0x01, 0x0b, 0xae, 0x01, 0x0d, 0x28, 0x06, 0x1d, 0xd9, 0xc5, 0xfe, 
    -	0xa1, 0xb0, 0xfe, 0xe1, 0x1a, 0x06, 0x19, 0xfe, 0xdc, 0xb0, 0xfe, 0xa2, 
    -	0xc4, 0x01, 0xf8, 0xb6, 0x01, 0xb7, 0x03, 0xb8, 0xfc, 0x48, 0xbb, 0xbb, 
    -	0x03, 0xb8, 0xfa, 0x50, 0x03, 0xf2, 0x83, 0x83, 0xfc, 0x0e, 0x05, 0xb0, 
    -	0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x04, 0xd6, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x61, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x07, 0x0a, 0x11, 
    -	0x12, 0x39, 0xb2, 0x85, 0x00, 0x01, 0x5d, 0xb2, 0x93, 0x00, 0x01, 0x5d, 
    -	0xb0, 0x00, 0x10, 0xb0, 0x06, 0xd0, 0xb4, 0x8d, 0x06, 0x9d, 0x06, 0x02, 
    -	0x5d, 0x40, 0x09, 0x4b, 0x06, 0x5b, 0x06, 0x6b, 0x06, 0x7b, 0x06, 0x04, 
    -	0x5d, 0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 0x01, 0x23, 0x01, 0x01, 0x23, 
    -	0x01, 0x01, 0x33, 0x02, 0x8a, 0x01, 0x54, 0xee, 0xfe, 0x32, 0x01, 0xd8, 
    -	0xeb, 0xfe, 0xa3, 0xfe, 0xa2, 0xee, 0x01, 0xd8, 0xfe, 0x32, 0xec, 0x03, 
    -	0x78, 0x02, 0x38, 0xfd, 0x2e, 0xfd, 0x22, 0x02, 0x42, 0xfd, 0xbe, 0x02, 
    -	0xde, 0x02, 0xd2, 0x00, 0x00, 0x01, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 
    -	0x05, 0xb0, 0x00, 0x08, 0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x00, 
    -	0x04, 0x07, 0x11, 0x12, 0x39, 0xb2, 0x75, 0x00, 0x01, 0x5d, 0xb0, 0x00, 
    -	0x10, 0xb0, 0x03, 0xd0, 0xb6, 0x7b, 0x03, 0x8b, 0x03, 0x9b, 0x03, 0x03, 
    -	0x5d, 0xb0, 0x00, 0x10, 0xb0, 0x06, 0xd0, 0xb6, 0x7b, 0x06, 0x8b, 0x06, 
    -	0x9b, 0x06, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 0x11, 0x23, 
    -	0x11, 0x01, 0x33, 0x02, 0x71, 0x01, 0x7c, 0xe1, 0xfe, 0x01, 0xc4, 0xfe, 
    -	0x09, 0xe1, 0x02, 0xcc, 0x02, 0xe4, 0xfc, 0x50, 0xfe, 0x00, 0x02, 0x0d, 
    -	0x03, 0xa3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x61, 0x00, 0x00, 0x04, 0x6d, 
    -	0x05, 0xb0, 0x00, 0x09, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 
    -	0xb0, 0x07, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xd0, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 
    -	0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x3f, 0x03, 0x2e, 0xfb, 0xf4, 
    -	0x03, 0x0a, 0xfd, 0x01, 0x03, 0xe0, 0x9a, 0x9a, 0x92, 0x04, 0x83, 0x9b, 
    -	0x8d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 0xfe, 0xc8, 0x02, 0x10, 
    -	0x06, 0x80, 0x00, 0x07, 0x00, 0x27, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x04, 
    -	0x2f, 0xb0, 0x07, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x33, 0x15, 0x21, 0x11, 0x21, 0x02, 0x10, 0xbc, 0xbc, 0xfe, 0x7f, 0x01, 
    -	0x81, 0x05, 0xe5, 0xf9, 0x7e, 0x9b, 0x07, 0xb8, 0x00, 0x01, 0x00, 0x27, 
    -	0xff, 0x83, 0x03, 0x41, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x13, 0x00, 0xb0, 
    -	0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0c, 0x3e, 0x59, 0x30, 0x31, 0x13, 0x33, 0x01, 0x23, 0x27, 0xba, 0x02, 
    -	0x60, 0xba, 0x05, 0xb0, 0xf9, 0xd3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b, 
    -	0xfe, 0xc8, 0x01, 0x8d, 0x06, 0x80, 0x00, 0x07, 0x00, 0x24, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x03, 0x2f, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x21, 
    -	0x11, 0x21, 0x35, 0x33, 0x11, 0x23, 0x0b, 0x01, 0x82, 0xfe, 0x7e, 0xbd, 
    -	0xbd, 0x06, 0x80, 0xf8, 0x48, 0x9b, 0x06, 0x82, 0x00, 0x01, 0x00, 0x3d, 
    -	0x02, 0xd9, 0x03, 0x18, 0x05, 0xb0, 0x00, 0x09, 0x00, 0x13, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x07, 0xd0, 0x30, 0x31, 0x13, 0x23, 0x01, 0x33, 0x01, 0x23, 0x03, 
    -	0x27, 0x23, 0x07, 0xf4, 0xb7, 0x01, 0x2b, 0x86, 0x01, 0x2a, 0xb5, 0xa6, 
    -	0x10, 0x06, 0x10, 0x02, 0xd9, 0x02, 0xd7, 0xfd, 0x29, 0x01, 0xa3, 0x46, 
    -	0x46, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0xff, 0x66, 0x03, 0x9f, 
    -	0x00, 0x00, 0x00, 0x03, 0x00, 0x1c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x21, 
    -	0x35, 0x21, 0x03, 0x9f, 0xfc, 0x65, 0x03, 0x9b, 0x9a, 0x9a, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x52, 0x04, 0xbb, 0x01, 0xea, 0x05, 0xc5, 0x00, 0x04, 
    -	0x00, 0x4b, 0x00, 0xb0, 0x00, 0x2f, 0xb2, 0x5f, 0x00, 0x01, 0x5d, 0xb2, 
    -	0xaf, 0x00, 0x01, 0x5d, 0xb2, 0x1f, 0x00, 0x01, 0x71, 0xb2, 0x6f, 0x00, 
    -	0x01, 0x71, 0xb2, 0x4f, 0x00, 0x01, 0x71, 0xb2, 0xff, 0x00, 0x01, 0x5d, 
    -	0xb2, 0x7f, 0x00, 0x01, 0x5d, 0xb2, 0x3f, 0x00, 0x01, 0x5d, 0xb2, 0x0f, 
    -	0x00, 0x01, 0x5d, 0xb0, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb2, 0xaf, 0x04, 0x01, 0x5d, 0xb6, 0x0f, 0x04, 0x1f, 0x04, 0x2f, 
    -	0x04, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x23, 0x03, 0x37, 0x33, 0x01, 0xea, 
    -	0x9e, 0xfa, 0x03, 0xe6, 0x04, 0xbb, 0x01, 0x04, 0x06, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 0x04, 0x4e, 0x00, 0x20, 
    -	0x00, 0x2b, 0x00, 0x6f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 
    -	0x1b, 0xb1, 0x19, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x0c, 0x06, 0x19, 
    -	0x11, 0x12, 0x39, 0xb0, 0x0c, 0x2f, 0xb4, 0xbf, 0x0c, 0xcf, 0x0c, 0x02, 
    -	0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x19, 0x0c, 0x11, 0x12, 0x39, 0xb0, 
    -	0x06, 0x10, 0xb1, 0x21, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x26, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x26, 0x26, 0x27, 0x06, 
    -	0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x11, 0x14, 0x16, 0x17, 0x25, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x03, 0x28, 0x0a, 0x0b, 0x01, 0x37, 0xb1, 0x66, 0xa9, 
    -	0xb1, 0xfb, 0xd7, 0xd6, 0x74, 0x6a, 0x5f, 0x77, 0xbc, 0x02, 0x06, 0xeb, 
    -	0xba, 0xb8, 0xe0, 0x0c, 0x10, 0xfd, 0xee, 0x6b, 0xac, 0x1a, 0xdd, 0x77, 
    -	0x8f, 0x5a, 0x31, 0x4b, 0x26, 0x4e, 0x69, 0xad, 0x98, 0x9b, 0xaf, 0x6b, 
    -	0x5f, 0x6f, 0x61, 0x44, 0x06, 0x76, 0xc4, 0xbb, 0xb0, 0xfd, 0xf7, 0x3a, 
    -	0x6c, 0x34, 0x90, 0x6e, 0x47, 0xb0, 0x78, 0x51, 0x48, 0x54, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x8f, 0xff, 0xeb, 0x04, 0x2b, 0x06, 0x18, 0x00, 0x11, 
    -	0x00, 0x1f, 0x00, 0x50, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x2f, 0x0a, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1c, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x07, 0x23, 0x11, 0x33, 0x11, 
    -	0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0x2b, 0xe1, 0xc5, 
    -	0x6b, 0x9e, 0x34, 0x18, 0xa1, 0xc5, 0x33, 0x97, 0x65, 0xc8, 0xe0, 0xc5, 
    -	0x89, 0x8c, 0x5b, 0x7d, 0x25, 0x26, 0x7b, 0x5e, 0x8b, 0x88, 0x01, 0xf4, 
    -	0xea, 0xfe, 0xe1, 0x53, 0x51, 0x8f, 0x06, 0x18, 0xfd, 0xa2, 0x48, 0x4c, 
    -	0xfe, 0xc0, 0xfe, 0xfb, 0xba, 0xeb, 0x59, 0x4b, 0xfe, 0x2b, 0x50, 0x5a, 
    -	0xc6, 0xa3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x61, 0xff, 0xeb, 0x03, 0xf6, 
    -	0x04, 0x4e, 0x00, 0x1d, 0x00, 0x38, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 
    -	0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x33, 0x17, 0x16, 0x04, 0x23, 0x22, 
    -	0x02, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x02, 0x47, 0x62, 0x95, 
    -	0xb1, 0x02, 0x05, 0xfe, 0xfd, 0xac, 0xec, 0xfa, 0xfb, 0xeb, 0xbe, 0xf1, 
    -	0x04, 0x02, 0xb2, 0x8c, 0x6b, 0x9b, 0x85, 0x84, 0x85, 0x79, 0x58, 0x06, 
    -	0x8c, 0xd9, 0x01, 0x34, 0xe9, 0x2a, 0xe7, 0x01, 0x35, 0xe0, 0xa3, 0x06, 
    -	0x63, 0x8b, 0xdf, 0xa2, 0x2a, 0xa6, 0xdd, 0x00, 0x00, 0x02, 0x00, 0x62, 
    -	0xff, 0xeb, 0x03, 0xf5, 0x06, 0x18, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x50, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb2, 0x2f, 0x07, 0x01, 0x5d, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x10, 0x12, 0x33, 
    -	0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x23, 0x27, 0x06, 0x06, 0x23, 0x22, 
    -	0x02, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x62, 0xdf, 0xc9, 0x5f, 0x93, 0x34, 0xc5, 0xa1, 
    -	0x17, 0x35, 0x9a, 0x66, 0xc6, 0xe0, 0xc5, 0x86, 0x8d, 0x58, 0x78, 0x26, 
    -	0x26, 0x79, 0x55, 0x8e, 0x87, 0x02, 0x09, 0x01, 0x05, 0x01, 0x40, 0x46, 
    -	0x43, 0x02, 0x53, 0xf9, 0xe8, 0x85, 0x4c, 0x4e, 0x01, 0x1f, 0xea, 0xa4, 
    -	0xc5, 0x50, 0x48, 0x01, 0xf9, 0x43, 0x4f, 0xea, 0xbb, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 0x04, 0x4e, 0x00, 0x16, 
    -	0x00, 0x1f, 0x00, 0x60, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x0b, 0x00, 0x07, 0x11, 
    -	0x12, 0x39, 0xb0, 0x0b, 0x2f, 0xb4, 0xd0, 0x0b, 0xe0, 0x0b, 0x02, 0x5d, 
    -	0xb2, 0xa0, 0x0b, 0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0b, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x05, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 
    -	0x32, 0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 
    -	0x17, 0x06, 0x06, 0x03, 0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 0x26, 
    -	0x02, 0x50, 0xe2, 0xfe, 0xf5, 0x01, 0x13, 0xbc, 0xdb, 0xe0, 0xfd, 0x42, 
    -	0x03, 0x03, 0x98, 0x89, 0x64, 0x97, 0x37, 0x4d, 0x3a, 0xbe, 0xa5, 0x63, 
    -	0x8c, 0x10, 0x02, 0x01, 0xf3, 0x7c, 0x15, 0x01, 0x2d, 0xf0, 0x2c, 0xe7, 
    -	0x01, 0x33, 0xfe, 0xf8, 0xdc, 0x7b, 0x05, 0x9c, 0xc9, 0x39, 0x32, 0x80, 
    -	0x39, 0x4c, 0x03, 0xc8, 0xa7, 0x7e, 0x05, 0x1a, 0x74, 0x9c, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x38, 0x00, 0x00, 0x02, 0xc9, 0x06, 0x2d, 0x00, 0x17, 
    -	0x00, 0x59, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x2f, 0x08, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x15, 0xd0, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 
    -	0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x33, 0x15, 0x23, 0x11, 0xe1, 0xa9, 0xa9, 0xb5, 0xa2, 
    -	0x22, 0x45, 0x2a, 0x18, 0x12, 0x33, 0x1c, 0x56, 0x54, 0xe1, 0xe1, 0x03, 
    -	0xa8, 0x92, 0x89, 0xad, 0xbd, 0x0b, 0x0a, 0x96, 0x04, 0x06, 0x67, 0x62, 
    -	0x89, 0x92, 0xfc, 0x58, 0x00, 0x02, 0x00, 0x64, 0xfe, 0x4b, 0x03, 0xfd, 
    -	0x04, 0x4e, 0x00, 0x1d, 0x00, 0x2b, 0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x08, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x13, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x28, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x13, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x11, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 
    -	0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x64, 0xe4, 0xc9, 0x67, 
    -	0x9c, 0x34, 0x18, 0x9d, 0xf2, 0xe4, 0x4e, 0xb5, 0x45, 0x32, 0x35, 0x96, 
    -	0x49, 0x90, 0x83, 0x35, 0x94, 0x60, 0xc7, 0xe4, 0xc5, 0x8a, 0x8d, 0x59, 
    -	0x78, 0x27, 0x26, 0x7a, 0x56, 0x8d, 0x8c, 0x02, 0x09, 0x01, 0x05, 0x01, 
    -	0x40, 0x53, 0x4e, 0x8d, 0xfb, 0xc0, 0xd0, 0xdf, 0x2b, 0x25, 0x99, 0x1e, 
    -	0x25, 0x83, 0x86, 0x7a, 0x44, 0x45, 0x01, 0x20, 0xe9, 0xa3, 0xc6, 0x51, 
    -	0x4a, 0x01, 0xf2, 0x45, 0x51, 0xec, 0xb9, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0x00, 0x00, 0x04, 0x00, 0x06, 0x18, 0x00, 0x13, 0x00, 0x41, 0x00, 0xb0, 
    -	0x13, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x2f, 0x13, 0x01, 
    -	0x5d, 0x30, 0x31, 0x01, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 
    -	0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x33, 0x01, 
    -	0x54, 0x38, 0xa3, 0x63, 0xad, 0xc1, 0xc5, 0x73, 0x72, 0x52, 0x85, 0x2b, 
    -	0xc5, 0xc5, 0x03, 0xa9, 0x4e, 0x57, 0xd0, 0xd8, 0xfd, 0x5a, 0x02, 0xa8, 
    -	0x86, 0x80, 0x4d, 0x42, 0xfc, 0xe1, 0x06, 0x18, 0x00, 0x02, 0x00, 0x9f, 
    -	0x00, 0x00, 0x01, 0x64, 0x06, 0x18, 0x00, 0x03, 0x00, 0x07, 0x00, 0x36, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x06, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x33, 0x11, 0x23, 
    -	0x35, 0x33, 0x01, 0x64, 0xc5, 0xc5, 0xc5, 0xc5, 0x04, 0x3a, 0x01, 0x15, 
    -	0xc9, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbe, 0xfe, 0x4b, 0x01, 0x72, 
    -	0x06, 0x18, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x4c, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x08, 0x3e, 0x59, 0xb1, 
    -	0x0b, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x10, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb2, 0x80, 0x10, 0x01, 0x71, 0xb2, 0x20, 0x10, 0x01, 0x5d, 0xb1, 0x13, 
    -	0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x13, 0x23, 0x35, 0x33, 0x01, 0x72, 0xac, 0x99, 
    -	0x1f, 0x33, 0x1d, 0x0e, 0x0e, 0x34, 0x11, 0x41, 0x4d, 0xbf, 0xc5, 0xc5, 
    -	0x04, 0x3a, 0xfb, 0x6d, 0xa7, 0xb5, 0x09, 0x09, 0x9b, 0x05, 0x07, 0x58, 
    -	0x63, 0x04, 0x93, 0x01, 0x19, 0xc5, 0x00, 0x00, 0x00, 0x01, 0x00, 0x90, 
    -	0x00, 0x00, 0x04, 0x1c, 0x06, 0x18, 0x00, 0x0c, 0x00, 0x57, 0x00, 0xb0, 
    -	0x05, 0x2f, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 
    -	0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb2, 0xef, 0x06, 0x01, 
    -	0x5d, 0xb4, 0xaf, 0x06, 0xbf, 0x06, 0x02, 0x5d, 0xb2, 0x5f, 0x06, 0x01, 
    -	0x5d, 0xb0, 0x06, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 
    -	0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x01, 0x33, 0x01, 
    -	0x01, 0x23, 0x01, 0xd5, 0x80, 0xc5, 0xc5, 0x7e, 0x01, 0x28, 0xec, 0xfe, 
    -	0x8e, 0x01, 0xa7, 0xe8, 0x01, 0xf3, 0xfe, 0x0d, 0x06, 0x18, 0xfc, 0x78, 
    -	0x01, 0xaa, 0xfe, 0x14, 0xfd, 0xb2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9f, 
    -	0x00, 0x00, 0x01, 0x64, 0x06, 0x18, 0x00, 0x03, 0x00, 0x18, 0x00, 0xb0, 
    -	0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x2f, 0x02, 0x01, 0x5d, 0x30, 0x31, 0x21, 0x23, 
    -	0x11, 0x33, 0x01, 0x64, 0xc5, 0xc5, 0x06, 0x18, 0x00, 0x01, 0x00, 0x8f, 
    -	0x00, 0x00, 0x06, 0x6f, 0x04, 0x4e, 0x00, 0x23, 0x00, 0x6f, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 
    -	0x18, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x21, 0x2f, 0x1b, 
    -	0xb1, 0x21, 0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x1d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 
    -	0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 
    -	0x11, 0x01, 0x3f, 0x0e, 0x35, 0xa3, 0x6c, 0x6c, 0x9b, 0x27, 0x33, 0xa8, 
    -	0x70, 0xa5, 0xc0, 0xc5, 0x6e, 0x6d, 0x65, 0x7d, 0x0b, 0xc6, 0x71, 0x6a, 
    -	0x5a, 0x74, 0x1f, 0xc5, 0x04, 0x3a, 0x8e, 0x4d, 0x55, 0x64, 0x64, 0x5c, 
    -	0x6c, 0xe3, 0xe4, 0xfd, 0x79, 0x02, 0x89, 0xa0, 0x85, 0x8c, 0x6b, 0x08, 
    -	0xfd, 0x51, 0x02, 0x89, 0x98, 0x8d, 0x4a, 0x43, 0xfc, 0xdf, 0x04, 0x3a, 
    -	0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfd, 0x04, 0x4e, 0x00, 0x13, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 
    -	0x2f, 0x1b, 0xb1, 0x11, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0d, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x01, 0x3f, 0x0e, 0x36, 
    -	0xa3, 0x68, 0xaf, 0xc0, 0xc5, 0x71, 0x74, 0x55, 0x83, 0x27, 0xc5, 0x04, 
    -	0x3a, 0xa1, 0x56, 0x5f, 0xcd, 0xd6, 0xfd, 0x55, 0x02, 0xa7, 0x8f, 0x78, 
    -	0x52, 0x47, 0xfc, 0xeb, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x04, 0x4e, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x38, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 
    -	0x06, 0x3e, 0x59, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 
    -	0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x33, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x61, 0x01, 0x04, 0xdf, 0xe1, 0x01, 0x05, 0xfe, 0xfc, 0xe0, 0xe0, 0xfe, 
    -	0xfb, 0xc5, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x8e, 0x8d, 0x91, 0x02, 0x27, 
    -	0xf0, 0x01, 0x37, 0xfe, 0xca, 0xf1, 0x16, 0xf2, 0xfe, 0xcc, 0x01, 0x35, 
    -	0xf1, 0xac, 0xe0, 0xe0, 0xac, 0x16, 0xaa, 0xe2, 0xe2, 0xaa, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x8f, 0xfe, 0x60, 0x04, 0x29, 0x04, 0x4e, 0x00, 0x11, 
    -	0x00, 0x1f, 0x00, 0x55, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0e, 0x10, 
    -	0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 
    -	0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x23, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x04, 0x29, 0xe0, 0xc5, 0x64, 0x97, 0x35, 0xc5, 0x97, 0x1f, 0x35, 
    -	0x9e, 0x69, 0xc9, 0xdf, 0xc5, 0x91, 0x8d, 0x55, 0x78, 0x25, 0x25, 0x78, 
    -	0x57, 0x8c, 0x90, 0x01, 0xf4, 0xea, 0xfe, 0xe1, 0x43, 0x43, 0xfd, 0xef, 
    -	0x05, 0xda, 0x8c, 0x4e, 0x52, 0xfe, 0xc1, 0xfe, 0xfa, 0xb8, 0xed, 0x4d, 
    -	0x43, 0xfd, 0xf5, 0x43, 0x4b, 0xcd, 0xa2, 0x00, 0x00, 0x02, 0x00, 0x62, 
    -	0xfe, 0x60, 0x03, 0xea, 0x04, 0x4e, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x52, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x10, 
    -	0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x11, 0x23, 0x11, 0x06, 0x06, 
    -	0x23, 0x22, 0x02, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x62, 0xdf, 0xc9, 0x63, 0x96, 0x34, 
    -	0x1d, 0x96, 0xc5, 0x34, 0x8e, 0x5b, 0xc6, 0xe0, 0xc5, 0x87, 0x8c, 0x51, 
    -	0x73, 0x27, 0x27, 0x73, 0x4f, 0x8d, 0x88, 0x02, 0x09, 0x01, 0x05, 0x01, 
    -	0x40, 0x4b, 0x48, 0x7f, 0xfa, 0x26, 0x02, 0x06, 0x3d, 0x3e, 0x01, 0x1f, 
    -	0xea, 0xa4, 0xcb, 0x48, 0x41, 0x02, 0x22, 0x3d, 0x46, 0xef, 0xbb, 0x00, 
    -	0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x02, 0xaa, 0x04, 0x4e, 0x00, 0x0f, 
    -	0x00, 0x3e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 
    -	0xb1, 0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb0, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x8f, 0x01, 0x9f, 0x01, 
    -	0x02, 0x5d, 0x30, 0x31, 0x01, 0x27, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 
    -	0x33, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x02, 0x8f, 0x65, 0x4e, 
    -	0x6b, 0x1d, 0xc5, 0xb0, 0x13, 0x2e, 0x87, 0x58, 0x16, 0x28, 0x0d, 0x03, 
    -	0x8c, 0x06, 0x4a, 0x43, 0xfc, 0xfb, 0x04, 0x3a, 0x9e, 0x54, 0x5e, 0x07, 
    -	0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x67, 0xff, 0xeb, 0x03, 0xc9, 
    -	0x04, 0x4e, 0x00, 0x27, 0x00, 0x7e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x06, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 
    -	0x09, 0x11, 0x12, 0x39, 0xb4, 0x29, 0x17, 0x39, 0x17, 0x02, 0x5d, 0xb6, 
    -	0xb9, 0x17, 0xc9, 0x17, 0xd9, 0x17, 0x03, 0x5d, 0xb0, 0x17, 0x10, 0xb1, 
    -	0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x09, 0x10, 0xb0, 0x0e, 0xd0, 0xb2, 0x1d, 0x0e, 0x01, 0x5d, 0xb2, 0x0c, 
    -	0x0e, 0x01, 0x5d, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb0, 0x22, 0xd0, 
    -	0xb4, 0x05, 0x22, 0x15, 0x22, 0x02, 0x5d, 0xb0, 0x1d, 0x10, 0xb1, 0x25, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 
    -	0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x16, 
    -	0x16, 0x33, 0x32, 0x36, 0x03, 0x04, 0x63, 0x8a, 0xc5, 0xc7, 0xe0, 0xb4, 
    -	0xbd, 0xdf, 0x05, 0x02, 0xbc, 0x77, 0x62, 0x69, 0x66, 0x5a, 0x8a, 0xcd, 
    -	0xc8, 0xe9, 0xbc, 0xcf, 0xee, 0x06, 0x02, 0xbc, 0x05, 0x92, 0x62, 0x69, 
    -	0x77, 0x01, 0x1f, 0x41, 0x54, 0x1f, 0x2b, 0x93, 0x7f, 0x84, 0xba, 0xc2, 
    -	0x8b, 0x06, 0x47, 0x71, 0x5c, 0x41, 0x40, 0x4a, 0x1d, 0x2c, 0x97, 0x7f, 
    -	0x90, 0xb2, 0xd2, 0x8c, 0x06, 0x69, 0x61, 0x55, 0x00, 0x01, 0x00, 0x22, 
    -	0xff, 0xeb, 0x02, 0x6a, 0x05, 0x3f, 0x00, 0x17, 0x00, 0x51, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x08, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x13, 0xd0, 0xb0, 0x14, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x33, 0x15, 0x23, 
    -	0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x01, 0x93, 0xcd, 0xcd, 0x3f, 
    -	0x34, 0x11, 0x29, 0x10, 0x1a, 0x16, 0x55, 0x2b, 0x78, 0x8e, 0xac, 0xac, 
    -	0x05, 0x3f, 0xfe, 0xfb, 0x92, 0xfd, 0x6f, 0x4c, 0x3e, 0x08, 0x06, 0x87, 
    -	0x12, 0x17, 0x91, 0x9b, 0x02, 0x91, 0x92, 0x01, 0x05, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 0x04, 0x3a, 0x00, 0x13, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 
    -	0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x0c, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x25, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x23, 0x03, 0x3e, 0x33, 0xa0, 
    -	0x69, 0xb1, 0xc6, 0xc5, 0x66, 0x6c, 0x69, 0x89, 0x23, 0xc5, 0xb1, 0xa0, 
    -	0x57, 0x5e, 0xe2, 0xef, 0x02, 0x7e, 0xfd, 0x80, 0xad, 0x82, 0x55, 0x4e, 
    -	0x03, 0x0c, 0xfb, 0xc6, 0x00, 0x01, 0x00, 0x2e, 0x00, 0x00, 0x03, 0xe4, 
    -	0x04, 0x3a, 0x00, 0x09, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x01, 
    -	0xd0, 0x40, 0x0b, 0x54, 0x01, 0x64, 0x01, 0x74, 0x01, 0x84, 0x01, 0x94, 
    -	0x01, 0x05, 0x5d, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x33, 0x01, 
    -	0x23, 0x01, 0x33, 0x01, 0xf8, 0x11, 0x06, 0x13, 0xf9, 0xc9, 0xfe, 0x72, 
    -	0x95, 0xfe, 0x6d, 0xca, 0x01, 0x3f, 0x4c, 0x4c, 0x02, 0xfb, 0xfb, 0xc6, 
    -	0x04, 0x3a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2d, 0x00, 0x00, 0x05, 0xdc, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x83, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x02, 0xd0, 0x40, 0x0d, 0x44, 0x02, 0x54, 0x02, 0x64, 0x02, 0x74, 
    -	0x02, 0x84, 0x02, 0x94, 0x02, 0x06, 0x5d, 0xb0, 0x0c, 0x10, 0xb0, 0x07, 
    -	0xd0, 0x40, 0x0d, 0x44, 0x07, 0x54, 0x07, 0x64, 0x07, 0x74, 0x07, 0x84, 
    -	0x07, 0x94, 0x07, 0x06, 0x5d, 0xb0, 0x04, 0x10, 0xb0, 0x0f, 0xd0, 0x40, 
    -	0x0d, 0x4b, 0x0f, 0x5b, 0x0f, 0x6b, 0x0f, 0x7b, 0x0f, 0x8b, 0x0f, 0x9b, 
    -	0x0f, 0x06, 0x5d, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x33, 0x13, 
    -	0x17, 0x33, 0x37, 0x13, 0x33, 0x01, 0x23, 0x03, 0x27, 0x07, 0x07, 0x03, 
    -	0x23, 0x01, 0x33, 0x01, 0xa4, 0x17, 0x06, 0x1c, 0xd8, 0x9e, 0xd9, 0x1f, 
    -	0x06, 0x1d, 0xaa, 0xc4, 0xfe, 0xc6, 0x9f, 0xd1, 0x2d, 0x06, 0x2b, 0xce, 
    -	0x9f, 0xfe, 0xc6, 0xc4, 0x01, 0x8a, 0x83, 0x83, 0x02, 0xb0, 0xfd, 0x50, 
    -	0x92, 0x92, 0x02, 0xb0, 0xfb, 0xc6, 0x02, 0x93, 0xb8, 0x01, 0xb7, 0xfd, 
    -	0x6d, 0x04, 0x3a, 0x00, 0x00, 0x01, 0x00, 0x2e, 0x00, 0x00, 0x03, 0xd4, 
    -	0x04, 0x3a, 0x00, 0x0b, 0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x00, 0x07, 0x0a, 0x11, 0x12, 0x39, 0xb2, 0x95, 0x00, 0x01, 0x5d, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x06, 0xd0, 0xb2, 0x7b, 0x06, 0x01, 0x5d, 0xb2, 0x9a, 
    -	0x06, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x13, 0x33, 0x01, 0x01, 0x23, 0x03, 
    -	0x03, 0x23, 0x01, 0x01, 0x33, 0x01, 0xfe, 0xe6, 0xe6, 0xfe, 0xa1, 0x01, 
    -	0x69, 0xe2, 0xf0, 0xf0, 0xe4, 0x01, 0x69, 0xfe, 0xa1, 0xe3, 0x02, 0xab, 
    -	0x01, 0x8f, 0xfd, 0xe9, 0xfd, 0xdd, 0x01, 0x99, 0xfe, 0x67, 0x02, 0x23, 
    -	0x02, 0x17, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 
    -	0x04, 0x3a, 0x00, 0x15, 0x00, 0x52, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x08, 0x3e, 0x59, 0xb2, 0x13, 
    -	0x08, 0x14, 0x11, 0x12, 0x39, 0xb0, 0x13, 0x10, 0xb0, 0x01, 0xd0, 0x40, 
    -	0x09, 0x64, 0x01, 0x74, 0x01, 0x84, 0x01, 0x94, 0x01, 0x04, 0x5d, 0xb0, 
    -	0x08, 0x10, 0xb1, 0x0f, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x01, 0x33, 0x01, 0x06, 0x06, 
    -	0x23, 0x22, 0x26, 0x27, 0x37, 0x26, 0x16, 0x33, 0x32, 0x36, 0x37, 0x37, 
    -	0x01, 0x33, 0x01, 0xda, 0x23, 0x06, 0x01, 0x0a, 0xdb, 0xfe, 0x39, 0x29, 
    -	0x99, 0x82, 0x18, 0x4a, 0x14, 0x14, 0x06, 0x53, 0x0b, 0x3f, 0x50, 0x1b, 
    -	0x2f, 0xfe, 0x6e, 0xdc, 0x01, 0x91, 0x88, 0x03, 0x31, 0xfb, 0x20, 0x6d, 
    -	0xa2, 0x0b, 0x05, 0x9b, 0x01, 0x06, 0x70, 0x44, 0x71, 0x04, 0x24, 0x00, 
    -	0x00, 0x01, 0x00, 0x5e, 0x00, 0x00, 0x03, 0xba, 0x04, 0x3a, 0x00, 0x09, 
    -	0x00, 0x3e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x09, 0xd0, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 0x35, 0x01, 0x21, 0x35, 
    -	0x21, 0x15, 0x01, 0x49, 0x02, 0x71, 0xfc, 0xa4, 0x02, 0x49, 0xfd, 0xbe, 
    -	0x03, 0x33, 0x9a, 0x9a, 0x8a, 0x03, 0x14, 0x9c, 0x86, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x3f, 0xfe, 0x94, 0x02, 0x9f, 0x06, 0x3d, 0x00, 0x1e, 
    -	0x00, 0x1b, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x2f, 0xb0, 0x0f, 0x2f, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x07, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x35, 0x32, 0x36, 0x35, 0x35, 0x34, 0x36, 0x37, 0x17, 0x06, 0x06, 
    -	0x15, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 
    -	0x02, 0x77, 0xc3, 0xa4, 0x67, 0x6a, 0x6a, 0x67, 0xa4, 0xc3, 0x28, 0x6e, 
    -	0x5c, 0x55, 0x55, 0x55, 0x55, 0x5c, 0x6e, 0xfe, 0x94, 0x37, 0xf0, 0xaa, 
    -	0xcd, 0x70, 0x7d, 0x93, 0x7b, 0x71, 0xce, 0xab, 0xef, 0x37, 0x75, 0x23, 
    -	0xb5, 0x84, 0xce, 0x69, 0xa0, 0x2d, 0x2e, 0xa1, 0x67, 0xcd, 0x84, 0xb3, 
    -	0x24, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xaf, 0xfe, 0xf2, 0x01, 0x4d, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x13, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0x30, 
    -	0x31, 0x01, 0x23, 0x11, 0x33, 0x01, 0x4d, 0x9e, 0x9e, 0xfe, 0xf2, 0x06, 
    -	0xbe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x15, 0xfe, 0x94, 0x02, 0x76, 
    -	0x06, 0x3d, 0x00, 0x1e, 0x00, 0x18, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x1e, 
    -	0x2f, 0xb0, 0x16, 0x2f, 0xb1, 0x17, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x17, 0x36, 0x36, 0x35, 0x35, 0x34, 
    -	0x36, 0x37, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 
    -	0x15, 0x15, 0x14, 0x16, 0x33, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x06, 
    -	0x07, 0x15, 0x6d, 0x5e, 0x5a, 0x5e, 0x5e, 0x5a, 0x5e, 0x6d, 0x29, 0xc2, 
    -	0xa5, 0x65, 0x6c, 0x6c, 0x65, 0xa5, 0xc2, 0xf6, 0x24, 0xb3, 0x84, 0xcd, 
    -	0x6b, 0xa0, 0x2b, 0x29, 0xa0, 0x6d, 0xce, 0x84, 0xb5, 0x23, 0x75, 0x37, 
    -	0xef, 0xab, 0xce, 0x71, 0x7b, 0x93, 0x7d, 0x70, 0xcd, 0xaa, 0xf0, 0x37, 
    -	0x00, 0x01, 0x00, 0x80, 0x01, 0x91, 0x04, 0xf0, 0x03, 0x23, 0x00, 0x19, 
    -	0x00, 0x37, 0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x16, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x09, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 
    -	0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x19, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x27, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0xf0, 0xae, 0x82, 0x5a, 0x93, 0x55, 0x3b, 0x62, 0x32, 0x43, 0x5f, 0x8d, 
    -	0xab, 0x84, 0x58, 0x96, 0x55, 0x3a, 0x60, 0x34, 0x42, 0x61, 0x02, 0xe4, 
    -	0x89, 0xca, 0x42, 0x4a, 0x30, 0x30, 0x6a, 0x4b, 0x12, 0x88, 0xc1, 0x45, 
    -	0x46, 0x33, 0x2e, 0x72, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x90, 
    -	0xfe, 0x8a, 0x01, 0x55, 0x04, 0x3a, 0x00, 0x03, 0x00, 0x07, 0x00, 0x26, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb1, 0x04, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x03, 0x04, 0x00, 0x11, 0x12, 0x39, 
    -	0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x11, 0x23, 0x35, 0x33, 0x01, 0x55, 
    -	0xc5, 0xc5, 0xc5, 0xc5, 0xfe, 0x8a, 0x03, 0xd2, 0x01, 0x10, 0xce, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xff, 0x0b, 0x04, 0x00, 0x05, 0x26, 0x00, 0x23, 
    -	0x00, 0x44, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 
    -	0x15, 0x10, 0xb0, 0x12, 0xd0, 0xb0, 0x15, 0x10, 0xb1, 0x1d, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 
    -	0x36, 0x35, 0x33, 0x17, 0x16, 0x06, 0x07, 0x15, 0x23, 0x35, 0x26, 0x02, 
    -	0x35, 0x35, 0x34, 0x12, 0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x07, 0x07, 
    -	0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x02, 0x51, 
    -	0x62, 0x95, 0xb2, 0x03, 0x03, 0xca, 0x92, 0xc6, 0xb6, 0xbd, 0xbe, 0xb5, 
    -	0xc6, 0x9d, 0xbf, 0x03, 0x02, 0xb3, 0x8c, 0x6b, 0x9b, 0x85, 0x84, 0x85, 
    -	0x79, 0x58, 0x06, 0x7a, 0xca, 0x19, 0xe8, 0xec, 0x24, 0x01, 0x24, 0xc9, 
    -	0x2a, 0xc7, 0x01, 0x23, 0x26, 0xe4, 0xdf, 0x18, 0xd5, 0x90, 0x05, 0x63, 
    -	0x8b, 0xdf, 0xa2, 0x2a, 0xa6, 0xdd, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 
    -	0x00, 0x00, 0x04, 0x57, 0x05, 0xc5, 0x00, 0x22, 0x00, 0x61, 0x00, 0xb0, 
    -	0x20, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x06, 0x3e, 0x59, 0xb2, 0x0f, 0x20, 0x01, 0x5d, 0xb0, 0x20, 0x10, 
    -	0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x0d, 0xd0, 
    -	0xb0, 0x20, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x14, 0x10, 0xb1, 0x1c, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x17, 0x14, 0x06, 0x07, 0x21, 0x07, 0x21, 0x35, 0x33, 0x36, 0x36, 0x35, 
    -	0x27, 0x23, 0x35, 0x33, 0x03, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 
    -	0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x13, 0x21, 0x15, 0x01, 0xae, 
    -	0x06, 0x1f, 0x1d, 0x02, 0xdf, 0x01, 0xfc, 0x30, 0x0a, 0x30, 0x30, 0x06, 
    -	0xa4, 0x9e, 0x0a, 0xe0, 0xbc, 0xc8, 0xdc, 0x04, 0x02, 0xbe, 0x7e, 0x62, 
    -	0x63, 0x74, 0x0a, 0x01, 0xa2, 0x02, 0x67, 0x95, 0x5a, 0xa3, 0x3b, 0x9a, 
    -	0x9a, 0x0d, 0xc4, 0x67, 0x95, 0x9b, 0x01, 0x0e, 0xcc, 0xe9, 0xd1, 0xac, 
    -	0x06, 0x76, 0x72, 0x95, 0x85, 0xfe, 0xf2, 0x9b, 0x00, 0x02, 0x00, 0x68, 
    -	0xff, 0xe5, 0x05, 0x5a, 0x04, 0xf1, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x2e, 
    -	0x00, 0xb0, 0x15, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb1, 0x27, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 0xb1, 0x2d, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 
    -	0x06, 0x23, 0x22, 0x26, 0x27, 0x07, 0x27, 0x37, 0x26, 0x26, 0x35, 0x34, 
    -	0x36, 0x37, 0x27, 0x37, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x37, 
    -	0x17, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x07, 0x17, 0x07, 0x01, 0x14, 
    -	0x12, 0x33, 0x32, 0x12, 0x35, 0x34, 0x02, 0x23, 0x22, 0x02, 0x04, 0x49, 
    -	0x4d, 0xb9, 0x65, 0x65, 0xb9, 0x4b, 0x82, 0x8b, 0x8a, 0x32, 0x35, 0x39, 
    -	0x36, 0x92, 0x8b, 0x8f, 0x4a, 0xb2, 0x60, 0x61, 0xb2, 0x4b, 0x92, 0x8c, 
    -	0x96, 0x34, 0x39, 0x35, 0x30, 0x8e, 0x8c, 0xfc, 0x73, 0xf1, 0xac, 0xaa, 
    -	0xf1, 0xf1, 0xaa, 0xac, 0xf1, 0x6c, 0x3e, 0x42, 0x41, 0x3d, 0x84, 0x8a, 
    -	0x8c, 0x4c, 0xb5, 0x63, 0x66, 0xbc, 0x4e, 0x95, 0x8b, 0x92, 0x37, 0x3d, 
    -	0x3e, 0x38, 0x95, 0x8c, 0x99, 0x4e, 0xb9, 0x65, 0x62, 0xb3, 0x4c, 0x8f, 
    -	0x8b, 0x02, 0x7b, 0xbc, 0xfe, 0xf7, 0x01, 0x09, 0xbc, 0xba, 0x01, 0x08, 
    -	0xfe, 0xf8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x04, 0xaf, 
    -	0x05, 0xb0, 0x00, 0x16, 0x00, 0x6d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb2, 0x0f, 
    -	0x13, 0x03, 0x2b, 0xb2, 0x00, 0x0c, 0x16, 0x11, 0x12, 0x39, 0xb4, 0x0f, 
    -	0x13, 0x1f, 0x13, 0x02, 0x5d, 0xb0, 0x13, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x13, 0x10, 0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 
    -	0x0f, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 0x21, 
    -	0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 
    -	0x35, 0x21, 0x35, 0x21, 0x01, 0x33, 0x02, 0x67, 0x01, 0x68, 0xe0, 0xfe, 
    -	0x5e, 0x01, 0x38, 0xfe, 0x81, 0x01, 0x7f, 0xfe, 0x81, 0xc5, 0xfe, 0x89, 
    -	0x01, 0x77, 0xfe, 0x89, 0x01, 0x37, 0xfe, 0x5d, 0xe2, 0x03, 0x19, 0x02, 
    -	0x97, 0xfd, 0x32, 0x9b, 0x87, 0x9b, 0xfe, 0xdb, 0x01, 0x25, 0x9b, 0x87, 
    -	0x9b, 0x02, 0xce, 0x00, 0x00, 0x02, 0x00, 0x91, 0xfe, 0xf2, 0x01, 0x56, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x23, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x05, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0c, 0x3e, 0x59, 0xb0, 0x05, 0x10, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x11, 0x33, 0x11, 0x11, 
    -	0x23, 0x11, 0x33, 0x91, 0xc5, 0xc5, 0xc5, 0xfe, 0xf2, 0x03, 0x18, 0xfc, 
    -	0xe8, 0x03, 0xc8, 0x02, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5a, 
    -	0xfe, 0x11, 0x04, 0x7c, 0x05, 0xc5, 0x00, 0x33, 0x00, 0x45, 0x00, 0x5b, 
    -	0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x31, 0x2f, 0xb0, 0x17, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x17, 0x10, 0xb1, 0x3d, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x31, 0x10, 0xb1, 
    -	0x34, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1d, 0xd0, 0xb0, 0x23, 0x10, 0xb1, 0x2b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x3f, 0x02, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 
    -	0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x04, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x25, 0x26, 
    -	0x26, 0x27, 0x06, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x17, 0x36, 
    -	0x36, 0x35, 0x34, 0x26, 0x04, 0x7c, 0x60, 0x57, 0x45, 0x46, 0xfe, 0xf6, 
    -	0xe1, 0xdd, 0xfe, 0xd2, 0x05, 0x02, 0xbc, 0xc1, 0x87, 0x89, 0x9d, 0x90, 
    -	0xcc, 0xef, 0xe2, 0x5e, 0x57, 0x44, 0x44, 0x01, 0x0c, 0xe0, 0xe9, 0x01, 
    -	0x04, 0x04, 0x03, 0xbc, 0x9e, 0x8c, 0x91, 0x96, 0x86, 0xd3, 0xf4, 0xdf, 
    -	0xfd, 0xdf, 0x2f, 0x53, 0x24, 0x49, 0x49, 0x88, 0xd2, 0x38, 0x4a, 0x21, 
    -	0x48, 0x50, 0x93, 0x01, 0xaf, 0x5e, 0x8c, 0x28, 0x33, 0x88, 0x62, 0xac, 
    -	0xc3, 0xcd, 0xdc, 0x06, 0x02, 0x8f, 0x87, 0x77, 0x5b, 0x5b, 0x65, 0x3f, 
    -	0x3f, 0xba, 0xb1, 0x5b, 0x8d, 0x29, 0x32, 0x8b, 0x61, 0xa6, 0xc9, 0xdf, 
    -	0xca, 0x06, 0x76, 0x9e, 0x77, 0x5b, 0x63, 0x63, 0x3a, 0x45, 0xb5, 0x53, 
    -	0x0c, 0x19, 0x0f, 0x13, 0x64, 0x45, 0x64, 0x67, 0x3b, 0x11, 0x16, 0x0c, 
    -	0x14, 0x63, 0x45, 0x5b, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xaa, 
    -	0x04, 0xe8, 0x03, 0x5b, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x25, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x3f, 0x04, 0x01, 0x5d, 0xb2, 0xbf, 0x04, 
    -	0x01, 0x5d, 0xb0, 0x01, 0xd0, 0xb0, 0x04, 0x10, 0xb1, 0x07, 0x04, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0xd0, 0x30, 
    -	0x31, 0x01, 0x23, 0x35, 0x33, 0x05, 0x23, 0x35, 0x33, 0x03, 0x5b, 0xdb, 
    -	0xdb, 0xfe, 0x2a, 0xdb, 0xdb, 0x04, 0xe8, 0xc8, 0xc8, 0xc8, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x58, 0xff, 0xeb, 0x05, 0xe3, 0x05, 0xc4, 0x00, 0x1d, 
    -	0x00, 0x29, 0x00, 0x35, 0x00, 0x74, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x04, 
    -	0x2f, 0xb0, 0x10, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2d, 0x2f, 0x1b, 
    -	0xb1, 0x2d, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x33, 0x2f, 
    -	0x1b, 0xb1, 0x33, 0x06, 0x3e, 0x59, 0xb4, 0x0f, 0x04, 0x1f, 0x04, 0x02, 
    -	0x5d, 0xb2, 0x10, 0x0b, 0x01, 0x5d, 0xb0, 0x0b, 0x10, 0xb1, 0x13, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x1a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x10, 0x10, 0xb0, 0x1d, 0xd0, 0xb0, 0x33, 0x10, 0xb1, 0x21, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2d, 0x10, 
    -	0xb1, 0x27, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x25, 0x10, 0x00, 0x33, 
    -	0x32, 0x00, 0x11, 0x10, 0x00, 0x23, 0x22, 0x00, 0x03, 0x10, 0x00, 0x21, 
    -	0x20, 0x00, 0x11, 0x10, 0x00, 0x21, 0x20, 0x00, 0x04, 0x57, 0x02, 0x04, 
    -	0xb0, 0x9d, 0xa0, 0xbc, 0xbc, 0xa0, 0x9d, 0xb1, 0x04, 0x02, 0x92, 0x5b, 
    -	0x5b, 0x5e, 0x66, 0x66, 0x5e, 0x5b, 0x5a, 0xfd, 0x0c, 0x01, 0x57, 0xf6, 
    -	0xf5, 0x01, 0x58, 0xfe, 0xa8, 0xf5, 0xf6, 0xfe, 0xa9, 0x79, 0x01, 0x9e, 
    -	0x01, 0x28, 0x01, 0x27, 0x01, 0x9e, 0xfe, 0x61, 0xfe, 0xda, 0xfe, 0xd8, 
    -	0xfe, 0x62, 0x02, 0x54, 0x06, 0x97, 0x9d, 0xd5, 0xae, 0x77, 0xad, 0xd6, 
    -	0x9e, 0x95, 0x06, 0x5f, 0x57, 0x8d, 0x72, 0x78, 0x75, 0x8c, 0x56, 0x62, 
    -	0x85, 0xfe, 0xf7, 0xfe, 0x94, 0x01, 0x6c, 0x01, 0x09, 0x01, 0x07, 0x01, 
    -	0x6a, 0xfe, 0x96, 0xfe, 0xf9, 0x01, 0x3b, 0x01, 0xb0, 0xfe, 0x50, 0xfe, 
    -	0xc5, 0xfe, 0xc4, 0xfe, 0x4e, 0x01, 0xb2, 0x00, 0x00, 0x02, 0x00, 0x78, 
    -	0x02, 0xb4, 0x03, 0x13, 0x05, 0xc5, 0x00, 0x20, 0x00, 0x2b, 0x00, 0x75, 
    -	0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x0c, 0x3e, 0x59, 0xb2, 0x7f, 0x06, 0x01, 
    -	0x5d, 0xb2, 0xaf, 0x06, 0x01, 0x5d, 0xb2, 0x20, 0x06, 0x01, 0x5d, 0xb0, 
    -	0x06, 0x10, 0xb0, 0x00, 0xd0, 0xb4, 0xcf, 0x0c, 0xdf, 0x0c, 0x02, 0x71, 
    -	0xb2, 0xff, 0x0c, 0x01, 0x71, 0xb2, 0x7f, 0x0c, 0x01, 0x5d, 0xb2, 0x10, 
    -	0x0c, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x11, 0x05, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x0c, 0x19, 0x11, 0x12, 
    -	0x39, 0xb0, 0x06, 0x10, 0xb1, 0x21, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x26, 0x05, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x26, 0x26, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x27, 0x26, 0x36, 0x33, 0x32, 
    -	0x16, 0x15, 0x11, 0x14, 0x16, 0x17, 0x25, 0x32, 0x36, 0x37, 0x35, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x02, 0x65, 0x08, 0x0a, 0x03, 0x21, 0x71, 
    -	0x4d, 0x77, 0x82, 0xa9, 0xa1, 0x8b, 0x3c, 0x3a, 0x43, 0x49, 0xa2, 0x01, 
    -	0x06, 0xa9, 0x8c, 0x86, 0x9c, 0x0c, 0x0e, 0xfe, 0x88, 0x33, 0x6d, 0x12, 
    -	0x8a, 0x4b, 0x53, 0x3a, 0x02, 0xc2, 0x15, 0x30, 0x1a, 0x2f, 0x3e, 0x7a, 
    -	0x6a, 0x6e, 0x78, 0x34, 0x3f, 0x44, 0x36, 0x31, 0x0d, 0x06, 0x62, 0x82, 
    -	0x8e, 0x86, 0xfe, 0xc6, 0x32, 0x58, 0x2b, 0x7d, 0x3c, 0x23, 0x6e, 0x42, 
    -	0x2e, 0x2d, 0x30, 0x00, 0xff, 0xff, 0x00, 0x62, 0x00, 0x76, 0x03, 0x6b, 
    -	0x03, 0x93, 0x00, 0x26, 0x03, 0x43, 0xf6, 0xde, 0x00, 0x07, 0x03, 0x43, 
    -	0x01, 0x44, 0xff, 0xde, 0x00, 0x01, 0x00, 0x7f, 0x01, 0x77, 0x03, 0xc2, 
    -	0x03, 0x22, 0x00, 0x05, 0x00, 0x12, 0x00, 0xb0, 0x04, 0x2f, 0xb1, 0x02, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x23, 0x11, 0x21, 0x35, 0x21, 0x03, 0xc2, 0xc6, 0xfd, 0x83, 0x03, 
    -	0x43, 0x01, 0x77, 0x01, 0x06, 0xa5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 
    -	0x02, 0x1a, 0x02, 0x0d, 0x02, 0xb4, 0x02, 0x06, 0x00, 0x10, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x58, 0xff, 0xeb, 0x05, 0xe3, 0x05, 0xc4, 0x00, 0x0b, 
    -	0x00, 0x17, 0x00, 0x32, 0x00, 0x3b, 0x00, 0x80, 0x00, 0xb0, 0x1b, 0x2f, 
    -	0xb0, 0x19, 0x2f, 0xb0, 0x33, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb1, 0x0f, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0xb0, 0x33, 0x01, 0x5d, 0xb2, 0x10, 0x33, 0x01, 0x5d, 0xb0, 0x33, 0x10, 
    -	0xb1, 0x18, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x10, 0x19, 0x01, 0x5d, 0xb2, 0x10, 0x1b, 0x01, 0x5d, 0xb2, 0x22, 
    -	0x18, 0x33, 0x11, 0x12, 0x39, 0xb0, 0x19, 0x10, 0xb0, 0x2b, 0xd0, 0xb0, 
    -	0x1b, 0x10, 0xb1, 0x3a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x13, 0x10, 0x00, 0x21, 0x20, 0x00, 0x11, 0x10, 
    -	0x00, 0x21, 0x20, 0x00, 0x13, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x10, 
    -	0x00, 0x23, 0x22, 0x00, 0x01, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 0x15, 0x23, 
    -	0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 0x27, 0x33, 0x36, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x58, 0x01, 0x9e, 0x01, 0x28, 0x01, 0x27, 0x01, 
    -	0x9e, 0xfe, 0x61, 0xfe, 0xda, 0xfe, 0xd8, 0xfe, 0x62, 0x79, 0x01, 0x57, 
    -	0xf6, 0xf4, 0x01, 0x58, 0xfe, 0xa9, 0xf5, 0xf6, 0xfe, 0xa9, 0x01, 0xbc, 
    -	0x95, 0x01, 0x18, 0x98, 0xad, 0x42, 0x3f, 0x42, 0x3b, 0x07, 0x0a, 0x99, 
    -	0x09, 0x04, 0x43, 0x4d, 0x9f, 0x98, 0x41, 0x5b, 0x4f, 0x62, 0x83, 0x02, 
    -	0xd9, 0x01, 0x3b, 0x01, 0xb0, 0xfe, 0x50, 0xfe, 0xc5, 0xfe, 0xc4, 0xfe, 
    -	0x4e, 0x01, 0xb2, 0x01, 0x3c, 0xfe, 0xf6, 0xfe, 0x95, 0x01, 0x6c, 0x01, 
    -	0x09, 0x01, 0x08, 0x01, 0x69, 0xfe, 0x97, 0xfe, 0xad, 0xfe, 0xae, 0x03, 
    -	0x52, 0x83, 0x7e, 0x3e, 0x5e, 0x1f, 0x1a, 0x6a, 0x4b, 0x38, 0x29, 0x41, 
    -	0x15, 0x10, 0x15, 0x51, 0x2a, 0x36, 0x48, 0x44, 0x82, 0x01, 0x3f, 0x38, 
    -	0x49, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7b, 0x05, 0x1e, 0x03, 0x4c, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x17, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0xaf, 0x03, 0xbf, 
    -	0x03, 0x02, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x03, 0x4c, 0xfd, 
    -	0x2f, 0x02, 0xd1, 0x05, 0x1e, 0x92, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 
    -	0x03, 0xbf, 0x02, 0x7d, 0x05, 0xc5, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x35, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb1, 0x0f, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x15, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x80, 0x98, 0x69, 0x67, 0x95, 0x94, 0x68, 
    -	0x6a, 0x97, 0x83, 0x49, 0x35, 0x34, 0x47, 0x48, 0x33, 0x35, 0x49, 0x04, 
    -	0xc0, 0x6a, 0x9b, 0x9b, 0x6a, 0x6c, 0x95, 0x95, 0x6c, 0x37, 0x48, 0x48, 
    -	0x37, 0x37, 0x4b, 0x4b, 0x00, 0x02, 0x00, 0x63, 0x00, 0x04, 0x03, 0xf7, 
    -	0x04, 0xf3, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x44, 0x00, 0xb0, 0x01, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x01, 0x10, 0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 0x0f, 0x02, 0x11, 
    -	0x12, 0x39, 0xb0, 0x02, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x09, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 
    -	0x35, 0x21, 0x11, 0x33, 0x01, 0x21, 0x35, 0x21, 0x02, 0x91, 0x01, 0x66, 
    -	0xfe, 0x9a, 0xb1, 0xfe, 0x83, 0x01, 0x7d, 0xb1, 0x01, 0x3a, 0xfc, 0xbd, 
    -	0x03, 0x43, 0x03, 0x58, 0x9a, 0xfe, 0x63, 0x01, 0x9d, 0x9a, 0x01, 0x9b, 
    -	0xfb, 0x11, 0x9b, 0x00, 0x00, 0x01, 0x00, 0x71, 0x02, 0x9b, 0x02, 0xca, 
    -	0x05, 0xc7, 0x00, 0x1a, 0x00, 0x45, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 
    -	0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x1a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x07, 0x07, 0x17, 0x21, 0x02, 0xca, 0xfd, 0xb0, 0x01, 0x2e, 
    -	0x45, 0x2c, 0x39, 0x3a, 0x43, 0x49, 0xa1, 0x02, 0x06, 0xa8, 0x8d, 0x87, 
    -	0x98, 0x59, 0x74, 0x99, 0x02, 0x01, 0x69, 0x02, 0x9b, 0x82, 0x01, 0x06, 
    -	0x3c, 0x4b, 0x2a, 0x32, 0x3e, 0x40, 0x32, 0x06, 0x63, 0x8c, 0x80, 0x74, 
    -	0x50, 0x70, 0x69, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6a, 
    -	0x02, 0x8f, 0x02, 0xe4, 0x05, 0xc6, 0x00, 0x2a, 0x00, 0x78, 0x00, 0xb0, 
    -	0x2a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x0c, 0x3e, 0x59, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x0f, 0x2a, 0x01, 0x5d, 0xb4, 0x6f, 0x2a, 0x7f, 
    -	0x2a, 0x02, 0x5d, 0xb2, 0x8f, 0x2a, 0x01, 0x71, 0xb2, 0xff, 0x2a, 0x01, 
    -	0x71, 0xb2, 0x1f, 0x2a, 0x01, 0x71, 0xb2, 0x2f, 0x2a, 0x01, 0x5d, 0xb2, 
    -	0x3f, 0x2a, 0x01, 0x72, 0xb2, 0x70, 0x2a, 0x01, 0x72, 0xb0, 0x2a, 0x10, 
    -	0xb1, 0x29, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x14, 0x2a, 0x29, 0x11, 0x12, 0x39, 0xb0, 0x0e, 0x10, 0xb0, 0x1a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x22, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 
    -	0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x35, 0x01, 0xa8, 0x43, 0x41, 0x49, 0x45, 0x38, 
    -	0x45, 0xa2, 0x02, 0x06, 0xa9, 0x7e, 0x91, 0xa8, 0x47, 0x3e, 0x46, 0x4c, 
    -	0xb4, 0x92, 0x7f, 0xb5, 0x06, 0x01, 0xa3, 0x4b, 0x3f, 0x48, 0x54, 0x49, 
    -	0x49, 0x84, 0x04, 0x71, 0x39, 0x34, 0x2b, 0x3a, 0x30, 0x28, 0x06, 0x5e, 
    -	0x77, 0x77, 0x6e, 0x37, 0x5b, 0x1a, 0x17, 0x60, 0x44, 0x6f, 0x7c, 0x74, 
    -	0x6f, 0x06, 0x2e, 0x39, 0x3b, 0x30, 0x3e, 0x39, 0x7e, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x83, 0x04, 0xbb, 0x02, 0x24, 0x05, 0xc5, 0x00, 0x04, 
    -	0x00, 0x4b, 0x00, 0xb0, 0x03, 0x2f, 0xb2, 0x3f, 0x03, 0x01, 0x5d, 0xb2, 
    -	0x7f, 0x03, 0x01, 0x5d, 0xb2, 0xff, 0x03, 0x01, 0x5d, 0xb2, 0x6f, 0x03, 
    -	0x01, 0x71, 0xb2, 0x1f, 0x03, 0x01, 0x71, 0xb2, 0xaf, 0x03, 0x01, 0x5d, 
    -	0xb2, 0x5f, 0x03, 0x01, 0x5d, 0xb2, 0x0f, 0x03, 0x01, 0x5d, 0xb2, 0x4f, 
    -	0x03, 0x01, 0x71, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb2, 0xaf, 0x00, 0x01, 0x5d, 0xb6, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 
    -	0x00, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x33, 0x17, 0x01, 0x23, 0x01, 0x3c, 
    -	0xe6, 0x02, 0xfe, 0xf2, 0x93, 0x05, 0xc5, 0x06, 0xfe, 0xfc, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x99, 0xfe, 0x60, 0x03, 0xf2, 0x04, 0x3a, 0x00, 0x15, 
    -	0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 
    -	0x1b, 0xb1, 0x13, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 
    -	0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 
    -	0x23, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x01, 
    -	0x5d, 0x02, 0x6f, 0x64, 0x62, 0x79, 0x20, 0xc5, 0xb1, 0x09, 0x2c, 0x7f, 
    -	0x53, 0x48, 0x6d, 0x28, 0xc4, 0x04, 0x3a, 0xfd, 0x7e, 0xb2, 0x81, 0x48, 
    -	0x46, 0x03, 0x27, 0xfb, 0xc6, 0x6c, 0x3f, 0x42, 0x21, 0x23, 0xfe, 0x31, 
    -	0x05, 0xda, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x03, 0x44, 
    -	0x05, 0xb0, 0x00, 0x0a, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x11, 0x23, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 0x21, 0x11, 0x02, 0x7f, 
    -	0x54, 0xe9, 0xfe, 0xfd, 0x01, 0x03, 0xe9, 0x01, 0x19, 0x02, 0x08, 0x01, 
    -	0x03, 0xd1, 0xcf, 0x01, 0x05, 0xfa, 0x50, 0x00, 0x00, 0x01, 0x00, 0xa1, 
    -	0x02, 0x70, 0x01, 0x67, 0x03, 0x44, 0x00, 0x03, 0x00, 0x10, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x30, 0x31, 0x01, 0x23, 0x35, 0x33, 0x01, 0x67, 0xc6, 0xc6, 0x02, 0x70, 
    -	0xd4, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x77, 0xfe, 0x4d, 0x01, 0xaf, 
    -	0x00, 0x00, 0x00, 0x0f, 0x00, 0x27, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x08, 0x3e, 0x59, 0xb0, 0x08, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 0x10, 0xb0, 0x0f, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x21, 0x07, 0x16, 
    -	0x16, 0x15, 0x14, 0x06, 0x23, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 
    -	0x37, 0x01, 0x24, 0x0c, 0x41, 0x56, 0x9e, 0x93, 0x07, 0x48, 0x58, 0x48, 
    -	0x57, 0x20, 0x34, 0x0b, 0x52, 0x50, 0x60, 0x72, 0x6d, 0x31, 0x31, 0x30, 
    -	0x26, 0x07, 0x87, 0x00, 0x00, 0x01, 0x00, 0x5f, 0x02, 0x99, 0x01, 0x8c, 
    -	0x05, 0xc5, 0x00, 0x05, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x05, 0x10, 0xb0, 0x04, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x35, 
    -	0x25, 0x01, 0x8c, 0xae, 0x7f, 0x01, 0x2d, 0x02, 0x99, 0x02, 0x8f, 0x86, 
    -	0x17, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x78, 0x02, 0xb3, 0x03, 0x2b, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x67, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x0a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xd0, 0x0a, 0x01, 
    -	0x5d, 0xb2, 0x8f, 0x0a, 0x01, 0x5d, 0xb2, 0xdf, 0x0a, 0x01, 0x71, 0xb2, 
    -	0x2f, 0x0a, 0x01, 0x72, 0xb2, 0x5f, 0x0a, 0x01, 0x72, 0xb2, 0x0f, 0x0a, 
    -	0x01, 0x72, 0xb2, 0xbf, 0x0a, 0x01, 0x5d, 0xb2, 0x8f, 0x0a, 0x01, 0x72, 
    -	0xb2, 0x20, 0x0a, 0x01, 0x5d, 0xb2, 0x00, 0x0a, 0x01, 0x5d, 0xb1, 0x11, 
    -	0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 
    -	0x10, 0xb1, 0x18, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 
    -	0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x78, 0xbc, 0x9d, 0x9e, 0xbc, 
    -	0xbb, 0x9d, 0x9e, 0xbd, 0xad, 0x58, 0x56, 0x53, 0x59, 0x5a, 0x54, 0x54, 
    -	0x58, 0x04, 0x76, 0x94, 0xbb, 0xbb, 0x94, 0x75, 0x95, 0xb9, 0xb9, 0x95, 
    -	0x58, 0x69, 0x6a, 0x57, 0x75, 0x54, 0x6b, 0x6b, 0x54, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6e, 0x00, 0x98, 0x03, 0x83, 0x03, 0xb5, 0x00, 0x26, 
    -	0x03, 0x44, 0x16, 0x00, 0x00, 0x07, 0x03, 0x44, 0x01, 0x70, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb8, 0x00, 0x00, 0x05, 0xe2, 0x05, 0xc4, 0x00, 0x27, 
    -	0x03, 0xae, 0x00, 0x59, 0x02, 0x98, 0x00, 0x27, 0x03, 0x46, 0x01, 0x18, 
    -	0x00, 0x08, 0x01, 0x07, 0x03, 0xaa, 0x02, 0xba, 0x00, 0x00, 0x00, 0x20, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0xff, 0xff, 0x00, 0xb8, 
    -	0x00, 0x00, 0x05, 0xf5, 0x05, 0xc4, 0x00, 0x27, 0x03, 0x46, 0x01, 0x25, 
    -	0x00, 0x08, 0x00, 0x27, 0x03, 0xae, 0x00, 0x59, 0x02, 0x98, 0x01, 0x07, 
    -	0x03, 0xac, 0x03, 0x2b, 0x00, 0x00, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7a, 0x00, 0x00, 0x06, 0x9f, 
    -	0x05, 0xc7, 0x00, 0x27, 0x03, 0x46, 0x01, 0xcf, 0x00, 0x08, 0x00, 0x27, 
    -	0x03, 0xaa, 0x03, 0x77, 0x00, 0x00, 0x01, 0x07, 0x03, 0xab, 0x00, 0x10, 
    -	0x02, 0x9b, 0x00, 0x20, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 
    -	0x1b, 0xb1, 0x22, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 0x10, 0xd0, 0x30, 0x31, 
    -	0x00, 0x02, 0x00, 0x72, 0xfe, 0x76, 0x03, 0xad, 0x04, 0x3b, 0x00, 0x1a, 
    -	0x00, 0x1e, 0x00, 0x35, 0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb1, 0x1d, 0x04, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x00, 0x1d, 
    -	0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x06, 0x06, 
    -	0x07, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x17, 
    -	0x16, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 
    -	0x03, 0x33, 0x15, 0x23, 0x02, 0x85, 0x02, 0x30, 0x65, 0x64, 0x53, 0x70, 
    -	0x6a, 0x5a, 0x81, 0xbc, 0x03, 0x02, 0xe9, 0xb3, 0xc6, 0xd9, 0x8c, 0x75, 
    -	0x35, 0x18, 0x07, 0xce, 0xce, 0x02, 0xa0, 0x92, 0x70, 0x5b, 0x76, 0x7e, 
    -	0x57, 0x6a, 0x72, 0x63, 0x60, 0x06, 0xa1, 0xc2, 0xc9, 0xb4, 0x7f, 0xd5, 
    -	0x72, 0x35, 0x56, 0x5c, 0x01, 0x9b, 0xd1, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0x22, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x01, 0x28, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0xe2, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0x48, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0xb9, 0x01, 0x5d, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x07, 0x54, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0xb5, 0x01, 0x61, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x95, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 
    -	0xb1, 0x0d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0x8c, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x01, 0x44, 0x01, 0xaa, 0x00, 0x49, 0x00, 0xb2, 
    -	0xb0, 0x15, 0x01, 0x72, 0xb2, 0x2f, 0x15, 0x01, 0x5d, 0xb2, 0x0f, 0x15, 
    -	0x01, 0x5d, 0xb2, 0x7f, 0x15, 0x01, 0x5d, 0xb2, 0x00, 0x15, 0x01, 0x72, 
    -	0xb2, 0x70, 0x15, 0x01, 0x72, 0xb2, 0x50, 0x15, 0x01, 0x72, 0xb2, 0x70, 
    -	0x1b, 0x01, 0x72, 0xb2, 0x2f, 0x1b, 0x01, 0x5d, 0xb2, 0x0f, 0x1b, 0x01, 
    -	0x5d, 0xb2, 0x7f, 0x1b, 0x01, 0x5d, 0xb2, 0xb0, 0x1b, 0x01, 0x72, 0xb2, 
    -	0x50, 0x1b, 0x01, 0x72, 0xb2, 0x00, 0x1b, 0x01, 0x72, 0x30, 0x31, 0x00, 
    -	0x00, 0x02, 0xff, 0xec, 0x00, 0x00, 0x07, 0x61, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x13, 0x00, 0xd5, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x03, 0x04, 0x06, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x2f, 0x40, 0x09, 0x8f, 
    -	0x03, 0x9f, 0x03, 0xaf, 0x03, 0xbf, 0x03, 0x04, 0x5d, 0xb2, 0x0f, 0x03, 
    -	0x01, 0x71, 0xb2, 0x5f, 0x03, 0x01, 0x5d, 0xb6, 0x4f, 0x03, 0x5f, 0x03, 
    -	0x6f, 0x03, 0x03, 0x71, 0xb0, 0x06, 0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0xef, 0x0a, 0x01, 0x5d, 
    -	0xb2, 0x2f, 0x0a, 0x01, 0x5d, 0xb0, 0x0a, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x5e, 0x12, 0x01, 0x71, 0xb2, 0x7c, 0x12, 0x01, 0x71, 
    -	0xb0, 0x06, 0x10, 0xb0, 0x13, 0xd0, 0xb2, 0x7c, 0x13, 0x01, 0x71, 0xb2, 
    -	0x4c, 0x13, 0x01, 0x71, 0xb2, 0x7f, 0x13, 0x01, 0x5d, 0xb2, 0x5e, 0x13, 
    -	0x01, 0x71, 0xb6, 0x4c, 0x13, 0x5c, 0x13, 0x6c, 0x13, 0x03, 0x5d, 0xb2, 
    -	0x8c, 0x13, 0x01, 0x5d, 0xb4, 0x2a, 0x13, 0x3a, 0x13, 0x02, 0x5d, 0x30, 
    -	0x31, 0x21, 0x21, 0x03, 0x21, 0x03, 0x23, 0x01, 0x21, 0x15, 0x21, 0x13, 
    -	0x21, 0x15, 0x21, 0x13, 0x21, 0x01, 0x21, 0x03, 0x27, 0x07, 0x61, 0xfc, 
    -	0x81, 0x0f, 0xfd, 0xd3, 0xca, 0xf0, 0x03, 0x70, 0x03, 0xc7, 0xfd, 0x4d, 
    -	0x14, 0x02, 0x4e, 0xfd, 0xb8, 0x16, 0x02, 0xc1, 0xfa, 0xac, 0x01, 0xbf, 
    -	0x1f, 0x05, 0x01, 0x5e, 0xfe, 0xa2, 0x05, 0xb0, 0x9b, 0xfe, 0x2e, 0x9b, 
    -	0xfd, 0xf2, 0x01, 0x77, 0x02, 0xc6, 0x02, 0x00, 0xff, 0xff, 0x00, 0x76, 
    -	0xfe, 0x45, 0x04, 0xbf, 0x05, 0xc5, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x7a, 0x01, 0xce, 0xff, 0xf8, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x22, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xdd, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x97, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x0c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x48, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x97, 0x01, 0x5d, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0x72, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0xff, 0xde, 0x00, 0x00, 0x01, 0x84, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0xff, 0x8c, 0x01, 0x5d, 
    -	0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x08, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x02, 0x68, 0x07, 0x1e, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x00, 0x44, 0x01, 0x59, 
    -	0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x04, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x02, 0x57, 0x07, 0x48, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0xff, 0x46, 0x01, 0x5d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xcb, 
    -	0x00, 0x00, 0x02, 0x7c, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0xff, 0x21, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x2a, 0x00, 0x00, 0x05, 0x09, 
    -	0x05, 0xb0, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x74, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 
    -	0x3e, 0x59, 0xb2, 0xcf, 0x04, 0x01, 0x5d, 0xb2, 0x1f, 0x04, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x04, 0x01, 0x71, 0xb2, 0xef, 0x04, 0x01, 0x5d, 0xb2, 0x7f, 
    -	0x04, 0x01, 0x5d, 0xb2, 0x2f, 0x04, 0x01, 0x5d, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x18, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x1a, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 
    -	0x00, 0x11, 0x15, 0x10, 0x00, 0x21, 0x13, 0x21, 0x11, 0x33, 0x32, 0x12, 
    -	0x35, 0x35, 0x34, 0x02, 0x23, 0x23, 0x11, 0x21, 0xd2, 0xa8, 0xa8, 0x01, 
    -	0xbf, 0x01, 0x1e, 0x01, 0x5a, 0xfe, 0xa6, 0xfe, 0xe2, 0x1a, 0xfe, 0xec, 
    -	0xfa, 0xca, 0xe9, 0xe9, 0xca, 0xfa, 0x01, 0x14, 0x02, 0x97, 0x9b, 0x02, 
    -	0x7e, 0xfe, 0xa1, 0xfe, 0xea, 0xc7, 0xfe, 0xe9, 0xfe, 0xa3, 0x02, 0x97, 
    -	0xfe, 0x03, 0x01, 0x0a, 0xd0, 0xc9, 0xce, 0x01, 0x0a, 0xfe, 0x1d, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 0x07, 0x54, 0x02, 0x26, 
    -	0x00, 0x31, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0xf6, 0x01, 0x61, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x07, 0x37, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x01, 0x23, 0x01, 0x72, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x20, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x07, 0x33, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0xdd, 0x01, 0x6e, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x1c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x07, 0x5d, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0xdd, 0x01, 0x72, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 
    -	0x07, 0x69, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0x00, 0xd8, 0x01, 0x76, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x25, 0x2f, 0x1b, 0xb1, 0x25, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x07, 0x22, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0xb8, 0x01, 0x72, 
    -	0x00, 0x13, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 
    -	0x20, 0x12, 0x3e, 0x59, 0xb0, 0x1d, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x58, 0x00, 0xe1, 0x03, 0xe1, 0x04, 0x79, 0x00, 0x0b, 
    -	0x00, 0x19, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x05, 0xd0, 0xb0, 0x03, 0x10, 
    -	0xb0, 0x0b, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 
    -	0xd0, 0x30, 0x31, 0x13, 0x01, 0x01, 0x37, 0x01, 0x01, 0x17, 0x01, 0x01, 
    -	0x07, 0x01, 0x01, 0x58, 0x01, 0x47, 0xfe, 0xb9, 0x7e, 0x01, 0x46, 0x01, 
    -	0x47, 0x7e, 0xfe, 0xb8, 0x01, 0x48, 0x7e, 0xfe, 0xb9, 0xfe, 0xba, 0x01, 
    -	0x5f, 0x01, 0x4e, 0x01, 0x4e, 0x7e, 0xfe, 0xb3, 0x01, 0x4d, 0x7e, 0xfe, 
    -	0xb2, 0xfe, 0xb2, 0x7e, 0x01, 0x4c, 0xfe, 0xb4, 0x00, 0x03, 0x00, 0x71, 
    -	0xff, 0xa2, 0x05, 0x02, 0x05, 0xed, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, 
    -	0x00, 0x52, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb1, 0x2e, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x22, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1e, 0x2e, 0x22, 
    -	0x11, 0x12, 0x39, 0xb2, 0x2a, 0x22, 0x2e, 0x11, 0x12, 0x39, 0xb0, 0x2a, 
    -	0x10, 0xb0, 0x1f, 0xd0, 0xb0, 0x1e, 0x10, 0xb0, 0x2b, 0xd0, 0x30, 0x31, 
    -	0x01, 0x10, 0x00, 0x21, 0x22, 0x26, 0x27, 0x07, 0x23, 0x37, 0x26, 0x26, 
    -	0x35, 0x11, 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x07, 0x16, 
    -	0x16, 0x15, 0x01, 0x14, 0x16, 0x17, 0x17, 0x01, 0x26, 0x26, 0x23, 0x22, 
    -	0x02, 0x15, 0x21, 0x34, 0x26, 0x27, 0x27, 0x01, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x05, 0x02, 0xfe, 0xb5, 0xfe, 0xf8, 0x55, 0x97, 0x40, 0x5b, 
    -	0x95, 0x8b, 0x54, 0x59, 0x01, 0x3f, 0xff, 0x5e, 0xa9, 0x48, 0x51, 0x95, 
    -	0x84, 0x4d, 0x55, 0xfc, 0x34, 0x26, 0x23, 0x06, 0x02, 0x20, 0x32, 0x7c, 
    -	0x48, 0xac, 0xcd, 0x03, 0x07, 0x21, 0x1e, 0x06, 0xfd, 0xe3, 0x2c, 0x6a, 
    -	0x3e, 0xb7, 0xd7, 0x02, 0x56, 0xfe, 0xf5, 0xfe, 0xa0, 0x29, 0x28, 0x9a, 
    -	0xea, 0x54, 0xec, 0x8a, 0x01, 0x03, 0x01, 0x0a, 0x01, 0x62, 0x33, 0x2e, 
    -	0x89, 0xdd, 0x54, 0xe2, 0x81, 0xfe, 0xfd, 0x55, 0x92, 0x34, 0x01, 0x03, 
    -	0x94, 0x29, 0x2c, 0xff, 0x00, 0xc8, 0x4b, 0x86, 0x32, 0x01, 0xfc, 0x71, 
    -	0x22, 0x22, 0xff, 0xcb, 0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x22, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x16, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 
    -	0x07, 0x1e, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xdc, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x12, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 
    -	0x07, 0x48, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x00, 0xdc, 0x01, 0x5d, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0xb7, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 
    -	0x16, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 
    -	0xb1, 0x13, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x04, 0xce, 0x07, 0x1d, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x94, 0x01, 0x58, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x09, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0xa3, 
    -	0x00, 0x00, 0x04, 0x61, 0x05, 0xb0, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x41, 
    -	0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 
    -	0x04, 0x23, 0x21, 0x11, 0x23, 0x11, 0x13, 0x11, 0x21, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x01, 0x68, 0x01, 0x0d, 0xe8, 0x01, 0x04, 0xfe, 0xfc, 
    -	0xe8, 0xfe, 0xf3, 0xc5, 0xc5, 0x01, 0x0d, 0x93, 0x93, 0x93, 0x93, 0x05, 
    -	0xb0, 0xfe, 0xdb, 0xec, 0xbd, 0xbe, 0xeb, 0xfe, 0xc7, 0x05, 0xb0, 0xfe, 
    -	0x41, 0xfd, 0xe2, 0x9c, 0x71, 0x72, 0x9f, 0x00, 0x00, 0x01, 0x00, 0x89, 
    -	0xff, 0xeb, 0x04, 0x70, 0x06, 0x13, 0x00, 0x27, 0x00, 0x3e, 0x00, 0xb0, 
    -	0x05, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x06, 0x3e, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x24, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x21, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x15, 
    -	0x14, 0x00, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x00, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x01, 0x4d, 0xc4, 0xeb, 0xb7, 0xa1, 0xca, 0x81, 
    -	0x01, 0x5b, 0xd1, 0xb2, 0x54, 0xb1, 0x25, 0x2c, 0x2b, 0x82, 0x3d, 0x6c, 
    -	0x66, 0xfe, 0xa5, 0x8d, 0x66, 0x42, 0x68, 0x80, 0x04, 0x3a, 0xdf, 0xfa, 
    -	0xac, 0xa7, 0x76, 0xdc, 0x39, 0x52, 0xfe, 0xe4, 0x8b, 0xa7, 0xaa, 0x29, 
    -	0x1e, 0x9f, 0x1c, 0x30, 0x5f, 0x4e, 0x54, 0x01, 0x1f, 0x92, 0x50, 0xdd, 
    -	0x4c, 0x5d, 0x6c, 0xa7, 0x98, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x05, 0xe0, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0x94, 0x00, 0x1b, 0x00, 0x08, 0x00, 0xb2, 
    -	0xbf, 0x2c, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x05, 0xdc, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x4e, 0x00, 0x17, 0x00, 0x1a, 0x00, 0xb2, 
    -	0xbf, 0x2f, 0x01, 0x71, 0xb6, 0xdf, 0x2f, 0xef, 0x2f, 0xff, 0x2f, 0x03, 
    -	0x71, 0xb6, 0x0f, 0x2f, 0x1f, 0x2f, 0x2f, 0x2f, 0x03, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 0x06, 0x06, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x4e, 0x1b, 0x00, 0x1d, 
    -	0x00, 0xb6, 0xd0, 0x30, 0xe0, 0x30, 0xf0, 0x30, 0x03, 0x71, 0xb4, 0x00, 
    -	0x30, 0x10, 0x30, 0x02, 0x72, 0xb2, 0x60, 0x30, 0x01, 0x72, 0xb2, 0x40, 
    -	0x30, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x06, 0x12, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x49, 0x1f, 0x00, 0x22, 0x00, 0xb4, 0x60, 0x2f, 
    -	0x70, 0x2f, 0x02, 0x72, 0x40, 0x0b, 0x90, 0x2f, 0xa0, 0x2f, 0xb0, 0x2f, 
    -	0xc0, 0x2f, 0xd0, 0x2f, 0x05, 0x71, 0xb2, 0x40, 0x2f, 0x01, 0x72, 0xb2, 
    -	0x20, 0x2f, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x05, 0xcb, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x29, 0x1b, 0x00, 0x2f, 0x00, 0xb2, 0xf0, 0x2d, 
    -	0x01, 0x71, 0xb4, 0x00, 0x2d, 0x10, 0x2d, 0x02, 0x72, 0xb2, 0x60, 0x2d, 
    -	0x01, 0x72, 0xb2, 0x40, 0x2d, 0x01, 0x72, 0xb2, 0xf0, 0x30, 0x01, 0x71, 
    -	0xb4, 0x00, 0x30, 0x10, 0x30, 0x02, 0x72, 0xb2, 0x60, 0x30, 0x01, 0x72, 
    -	0xb2, 0x40, 0x30, 0x01, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x06, 0x4a, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x00, 0xd5, 0x00, 0x68, 0x00, 0x91, 0x00, 0xb2, 
    -	0x80, 0x35, 0x01, 0x5d, 0xb2, 0xc0, 0x35, 0x01, 0x5d, 0xb2, 0x10, 0x35, 
    -	0x01, 0x71, 0xb2, 0x70, 0x35, 0x01, 0x71, 0xb2, 0x00, 0x35, 0x01, 0x72, 
    -	0xb2, 0x0f, 0x35, 0x01, 0x5d, 0xb2, 0x50, 0x35, 0x01, 0x72, 0xb6, 0x90, 
    -	0x35, 0xa0, 0x35, 0xb0, 0x35, 0x03, 0x71, 0xb2, 0x50, 0x35, 0x01, 0x71, 
    -	0xb4, 0xe0, 0x35, 0xf0, 0x35, 0x02, 0x5d, 0xb2, 0xa0, 0x35, 0x01, 0x5d, 
    -	0xb2, 0x60, 0x35, 0x01, 0x5d, 0xb2, 0x10, 0x35, 0x01, 0x5d, 0xb2, 0x80, 
    -	0x3b, 0x01, 0x5d, 0xb2, 0xc0, 0x3b, 0x01, 0x5d, 0xb2, 0x10, 0x3b, 0x01, 
    -	0x71, 0xb2, 0x70, 0x3b, 0x01, 0x71, 0xb2, 0x00, 0x3b, 0x01, 0x72, 0xb2, 
    -	0x0f, 0x3b, 0x01, 0x5d, 0xb2, 0x50, 0x3b, 0x01, 0x72, 0xb6, 0x90, 0x3b, 
    -	0xa0, 0x3b, 0xb0, 0x3b, 0x03, 0x71, 0xb2, 0x50, 0x3b, 0x01, 0x71, 0xb4, 
    -	0xe0, 0x3b, 0xf0, 0x3b, 0x02, 0x5d, 0xb2, 0xa0, 0x3b, 0x01, 0x5d, 0xb2, 
    -	0x60, 0x3b, 0x01, 0x5d, 0xb2, 0x10, 0x3b, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0x00, 0x03, 0x00, 0x3a, 0xff, 0xeb, 0x06, 0x7c, 0x04, 0x4e, 0x00, 0x2e, 
    -	0x00, 0x39, 0x00, 0x42, 0x00, 0x99, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x23, 0x00, 0x1f, 0x11, 0x12, 0x39, 0xb0, 0x23, 0x2f, 0xb4, 0xd0, 0x23, 
    -	0xe0, 0x23, 0x02, 0x5d, 0xb2, 0xa0, 0x23, 0x01, 0x5d, 0xb1, 0x3f, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0xd0, 
    -	0xb0, 0x19, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x14, 0x0d, 0x19, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x28, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x2f, 0xd0, 0xb0, 0x23, 0x10, 0xb0, 0x33, 0xd0, 0xb0, 0x1f, 
    -	0x10, 0xb1, 0x3a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 
    -	0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x27, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 
    -	0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 
    -	0x06, 0x06, 0x25, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x06, 0x15, 0x14, 
    -	0x16, 0x01, 0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 0x26, 0x04, 0xee, 
    -	0x88, 0xd0, 0x42, 0x38, 0xdf, 0xa0, 0xaa, 0xb9, 0xe6, 0xdc, 0xe5, 0x67, 
    -	0x62, 0x67, 0x7a, 0xbc, 0x02, 0x05, 0xe5, 0xbf, 0x72, 0xaf, 0x32, 0x40, 
    -	0xaf, 0x65, 0xd6, 0xe7, 0xfd, 0x3b, 0x02, 0x01, 0x9d, 0x9b, 0x67, 0x85, 
    -	0x4e, 0x43, 0x35, 0xbc, 0xfc, 0x4a, 0x4c, 0xa6, 0x2b, 0xe3, 0x78, 0x87, 
    -	0x64, 0x03, 0x5c, 0x71, 0x8a, 0x0b, 0x02, 0x01, 0xfc, 0x78, 0x15, 0x61, 
    -	0x5a, 0x4f, 0x6c, 0xae, 0x97, 0x9e, 0xad, 0x55, 0x6a, 0x79, 0x6e, 0x4e, 
    -	0x12, 0x06, 0x8a, 0xb5, 0x51, 0x4d, 0x4b, 0x53, 0xfe, 0xfc, 0xe4, 0x77, 
    -	0x05, 0x9f, 0xc6, 0x37, 0x33, 0x8a, 0x2c, 0x4e, 0x9a, 0x57, 0x39, 0xd8, 
    -	0x70, 0x51, 0x4a, 0x5d, 0x03, 0x2e, 0xa9, 0x85, 0x05, 0x1f, 0x7a, 0x9a, 
    -	0xff, 0xff, 0x00, 0x61, 0xfe, 0x45, 0x03, 0xf6, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 0x01, 0x41, 0xff, 0xf8, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 0x05, 0xe1, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0x97, 0x00, 0x1c, 
    -	0x00, 0x08, 0x00, 0xb2, 0xc0, 0x20, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 0x05, 0xdd, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x51, 0x00, 0x18, 
    -	0x00, 0x16, 0x00, 0xb2, 0xbf, 0x23, 0x01, 0x71, 0xb6, 0xdf, 0x23, 0xef, 
    -	0x23, 0xff, 0x23, 0x03, 0x71, 0xb2, 0x0f, 0x23, 0x01, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 0x06, 0x07, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 0x51, 0x1c, 0x00, 0x25, 
    -	0x00, 0xb2, 0xb0, 0x22, 0x01, 0x71, 0x40, 0x09, 0xc0, 0x24, 0xd0, 0x24, 
    -	0xe0, 0x24, 0xf0, 0x24, 0x04, 0x71, 0xb4, 0x00, 0x24, 0x10, 0x24, 0x02, 
    -	0x72, 0xb2, 0x60, 0x24, 0x01, 0x72, 0xb2, 0x40, 0x24, 0x01, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 
    -	0x05, 0xcc, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x2c, 0x1c, 0x00, 0x3d, 0x00, 0xb2, 0x60, 0x21, 0x01, 0x72, 0xb4, 0xb0, 
    -	0x21, 0xc0, 0x21, 0x02, 0x71, 0xb2, 0x40, 0x21, 0x01, 0x72, 0xb2, 0xf0, 
    -	0x21, 0x01, 0x71, 0xb4, 0x00, 0x21, 0x10, 0x21, 0x02, 0x72, 0xb2, 0x60, 
    -	0x24, 0x01, 0x72, 0xb4, 0xb0, 0x24, 0xc0, 0x24, 0x02, 0x71, 0xb2, 0x40, 
    -	0x24, 0x01, 0x72, 0xb2, 0xf0, 0x24, 0x01, 0x71, 0xb4, 0x00, 0x24, 0x10, 
    -	0x24, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xb9, 
    -	0x00, 0x00, 0x01, 0x5e, 0x05, 0xcb, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0xff, 0x67, 0x00, 0x06, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x04, 0x01, 0x71, 0xb6, 0xdf, 0x04, 0xef, 0x04, 0xff, 0x04, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x04, 0x1f, 0x04, 0x2f, 0x04, 0x3f, 0x04, 0x4f, 
    -	0x04, 0x5f, 0x04, 0x6f, 0x04, 0x7f, 0x04, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x02, 0x43, 0x05, 0xc7, 0x02, 0x26, 
    -	0x00, 0xf3, 0x00, 0x00, 0x01, 0x06, 0x00, 0x76, 0x1f, 0x02, 0x00, 0x25, 
    -	0x00, 0xb2, 0xbf, 0x07, 0x01, 0x71, 0xb6, 0xdf, 0x07, 0xef, 0x07, 0xff, 
    -	0x07, 0x03, 0x71, 0x40, 0x11, 0x0f, 0x07, 0x1f, 0x07, 0x2f, 0x07, 0x3f, 
    -	0x07, 0x4f, 0x07, 0x5f, 0x07, 0x6f, 0x07, 0x7f, 0x07, 0x08, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xcc, 0x00, 0x00, 0x02, 0x32, 
    -	0x05, 0xf1, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0xff, 0x21, 0x00, 0x06, 0x00, 0x17, 0x00, 0xb2, 0x2f, 0x06, 0x01, 0x72, 
    -	0xb2, 0x3f, 0x08, 0x01, 0x72, 0xb2, 0x7f, 0x08, 0x01, 0x72, 0xb2, 0x5f, 
    -	0x08, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa6, 
    -	0x00, 0x00, 0x02, 0x57, 0x05, 0xb6, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0xfe, 0xfc, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 
    -	0x7f, 0x05, 0x01, 0x72, 0xb4, 0xdf, 0x05, 0xef, 0x05, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x05, 0x01, 0x72, 0xb4, 0x2f, 0x05, 0x3f, 0x05, 0x02, 0x72, 0xb2, 
    -	0x7f, 0x08, 0x01, 0x72, 0xb4, 0xdf, 0x08, 0xef, 0x08, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x08, 0x01, 0x72, 0xb4, 0x2f, 0x08, 0x3f, 0x08, 0x02, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x48, 0xff, 0xeb, 0x04, 0x30, 
    -	0x05, 0xed, 0x00, 0x20, 0x00, 0x2d, 0x00, 0x31, 0x00, 0xb0, 0x1b, 0x2f, 
    -	0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x06, 0x3e, 0x59, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x28, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x16, 0x12, 
    -	0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 0x32, 
    -	0x16, 0x17, 0x37, 0x26, 0x26, 0x27, 0x05, 0x27, 0x25, 0x26, 0x26, 0x27, 
    -	0x37, 0x16, 0x16, 0x17, 0x37, 0x17, 0x01, 0x32, 0x36, 0x35, 0x35, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x03, 0x69, 0x5f, 0x68, 0xfe, 
    -	0xe0, 0xd7, 0xda, 0xfe, 0xe9, 0x01, 0x14, 0xd5, 0x5a, 0x9f, 0x34, 0x04, 
    -	0x09, 0x55, 0x44, 0xfe, 0xde, 0x4d, 0x01, 0x00, 0x27, 0x53, 0x2c, 0x3c, 
    -	0x4f, 0x90, 0x3f, 0xda, 0x4d, 0xfe, 0x11, 0x85, 0xa9, 0x23, 0xa1, 0x76, 
    -	0x83, 0xa1, 0xa4, 0x05, 0x11, 0x68, 0xfe, 0xed, 0xa3, 0xdc, 0xf5, 0xfe, 
    -	0xc9, 0x01, 0x18, 0xcf, 0xe4, 0x01, 0x1c, 0x4a, 0x3c, 0x05, 0x6d, 0xb0, 
    -	0x42, 0xa5, 0x66, 0x92, 0x16, 0x22, 0x0e, 0xa4, 0x13, 0x42, 0x2e, 0x7d, 
    -	0x66, 0xfb, 0x04, 0xe4, 0xae, 0x94, 0x3b, 0x51, 0xd0, 0x95, 0x84, 0xc9, 
    -	0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfd, 0x06, 0x12, 0x02, 0x26, 
    -	0x00, 0x51, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 0x60, 0x1f, 0x00, 0x22, 
    -	0x00, 0xb4, 0x60, 0x17, 0x70, 0x17, 0x02, 0x72, 0x40, 0x0b, 0x90, 0x17, 
    -	0xa0, 0x17, 0xb0, 0x17, 0xc0, 0x17, 0xd0, 0x17, 0x05, 0x71, 0xb2, 0x40, 
    -	0x17, 0x01, 0x72, 0xb2, 0x20, 0x17, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x05, 0xe0, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0xaf, 0x00, 0x1b, 
    -	0x00, 0x08, 0x00, 0xb2, 0xbf, 0x1c, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x05, 0xdc, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x69, 0x00, 0x17, 
    -	0x00, 0x1a, 0x00, 0xb2, 0xbf, 0x1f, 0x01, 0x71, 0xb6, 0xdf, 0x1f, 0xef, 
    -	0x1f, 0xff, 0x1f, 0x03, 0x71, 0xb6, 0x0f, 0x1f, 0x1f, 0x1f, 0x2f, 0x1f, 
    -	0x03, 0x72, 0x30, 0x31, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x06, 0x06, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x69, 0x1b, 0x00, 0x1d, 0x00, 0xb6, 0xd0, 0x20, 0xe0, 0x20, 0xf0, 0x20, 
    -	0x03, 0x71, 0xb4, 0x00, 0x20, 0x10, 0x20, 0x02, 0x72, 0xb2, 0x60, 0x20, 
    -	0x01, 0x72, 0xb2, 0x40, 0x20, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x06, 0x12, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 0x64, 0x1f, 0x00, 0x22, 
    -	0x00, 0xb4, 0x60, 0x1f, 0x70, 0x1f, 0x02, 0x72, 0x40, 0x0b, 0x90, 0x1f, 
    -	0xa0, 0x1f, 0xb0, 0x1f, 0xc0, 0x1f, 0xd0, 0x1f, 0x05, 0x71, 0xb2, 0x40, 
    -	0x1f, 0x01, 0x72, 0xb2, 0x20, 0x1f, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x44, 0x1b, 0x00, 0x2f, 
    -	0x00, 0xb2, 0xf0, 0x1d, 0x01, 0x71, 0xb4, 0x00, 0x1d, 0x10, 0x1d, 0x02, 
    -	0x72, 0xb2, 0x60, 0x1d, 0x01, 0x72, 0xb2, 0x40, 0x1d, 0x01, 0x72, 0xb2, 
    -	0xf0, 0x20, 0x01, 0x71, 0xb4, 0x00, 0x20, 0x10, 0x20, 0x02, 0x72, 0xb2, 
    -	0x60, 0x20, 0x01, 0x72, 0xb2, 0x40, 0x20, 0x01, 0x72, 0x30, 0x31, 0x00, 
    -	0x00, 0x03, 0x00, 0x47, 0x00, 0xb4, 0x04, 0x2d, 0x04, 0xb2, 0x00, 0x03, 
    -	0x00, 0x07, 0x00, 0x0b, 0x00, 0x42, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x04, 0x04, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x0b, 
    -	0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x35, 0x21, 0x25, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 
    -	0x04, 0x2d, 0xfc, 0x1a, 0x03, 0xe6, 0xfe, 0x71, 0xc6, 0xc6, 0xc6, 0xc6, 
    -	0x02, 0x55, 0xbc, 0xd6, 0xcb, 0xfc, 0x02, 0xcb, 0x00, 0x03, 0x00, 0x61, 
    -	0xff, 0x79, 0x04, 0x2a, 0x04, 0xb9, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, 
    -	0x00, 0x52, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb1, 0x2e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x2b, 0x2e, 0x22, 
    -	0x11, 0x12, 0x39, 0xb0, 0x2b, 0x10, 0xb0, 0x1d, 0xd0, 0xb2, 0x1f, 0x22, 
    -	0x2e, 0x11, 0x12, 0x39, 0xb0, 0x1f, 0x10, 0xb0, 0x29, 0xd0, 0x30, 0x31, 
    -	0x13, 0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x07, 0x16, 0x16, 
    -	0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x26, 0x27, 0x07, 0x23, 0x37, 0x26, 
    -	0x26, 0x35, 0x33, 0x14, 0x16, 0x17, 0x33, 0x01, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x21, 0x34, 0x26, 0x27, 0x23, 0x01, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x61, 0x01, 0x04, 0xdf, 0x38, 0x67, 0x2e, 0x4a, 0x81, 0x68, 
    -	0x58, 0x5e, 0xfe, 0xfc, 0xe0, 0x33, 0x5c, 0x2a, 0x48, 0x81, 0x64, 0x60, 
    -	0x67, 0xc5, 0x28, 0x29, 0x06, 0x01, 0x4c, 0x1d, 0x43, 0x25, 0x8d, 0x91, 
    -	0x02, 0x3f, 0x23, 0x20, 0x06, 0xfe, 0xb9, 0x18, 0x38, 0x21, 0x8d, 0x92, 
    -	0x02, 0x27, 0xf0, 0x01, 0x37, 0x16, 0x14, 0x95, 0xd3, 0x4a, 0xe8, 0x8d, 
    -	0x16, 0xf2, 0xfe, 0xcc, 0x11, 0x10, 0x93, 0xcc, 0x47, 0xf0, 0x95, 0x5b, 
    -	0x97, 0x30, 0x02, 0xa2, 0x10, 0x12, 0xe2, 0xaa, 0x50, 0x8d, 0x2f, 0xfd, 
    -	0x69, 0x0c, 0x0b, 0xe0, 0xac, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x03, 0xfc, 0x05, 0xcb, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xad, 0x00, 0x06, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x14, 0x01, 0x71, 0xb6, 0xdf, 0x14, 0xef, 0x14, 0xff, 0x14, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x14, 0x1f, 0x14, 0x2f, 0x14, 0x3f, 0x14, 0x4f, 
    -	0x14, 0x5f, 0x14, 0x6f, 0x14, 0x7f, 0x14, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 0x05, 0xc7, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x67, 0x00, 0x02, 
    -	0x00, 0x25, 0x00, 0xb2, 0xbf, 0x17, 0x01, 0x71, 0xb6, 0xdf, 0x17, 0xef, 
    -	0x17, 0xff, 0x17, 0x03, 0x71, 0x40, 0x11, 0x0f, 0x17, 0x1f, 0x17, 0x2f, 
    -	0x17, 0x3f, 0x17, 0x4f, 0x17, 0x5f, 0x17, 0x6f, 0x17, 0x7f, 0x17, 0x08, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 
    -	0x05, 0xf1, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x67, 0x06, 0x00, 0x17, 0x00, 0xb2, 0x2f, 0x16, 0x01, 0x72, 0xb2, 0x3f, 
    -	0x18, 0x01, 0x72, 0xb2, 0x7f, 0x18, 0x01, 0x72, 0xb2, 0x5f, 0x18, 0x01, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 
    -	0x05, 0xb6, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x42, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x15, 0x01, 0x72, 0xb4, 0xdf, 
    -	0x15, 0xef, 0x15, 0x02, 0x71, 0xb2, 0x5f, 0x15, 0x01, 0x72, 0xb4, 0x2f, 
    -	0x15, 0x3f, 0x15, 0x02, 0x72, 0xb2, 0x7f, 0x18, 0x01, 0x72, 0xb4, 0xdf, 
    -	0x18, 0xef, 0x18, 0x02, 0x71, 0xb2, 0x5f, 0x18, 0x01, 0x72, 0xb4, 0x2f, 
    -	0x18, 0x3f, 0x18, 0x02, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1a, 
    -	0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xc7, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x25, 0x00, 0x02, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x19, 0x01, 0x71, 0xb6, 0xdf, 0x19, 0xef, 0x19, 0xff, 0x19, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x19, 0x1f, 0x19, 0x2f, 0x19, 0x3f, 0x19, 0x4f, 
    -	0x19, 0x5f, 0x19, 0x6f, 0x19, 0x7f, 0x19, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0x00, 0x02, 0x00, 0x99, 0xfe, 0x60, 0x04, 0x33, 0x06, 0x18, 0x00, 0x11, 
    -	0x00, 0x1f, 0x00, 0x50, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x08, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x2f, 0x09, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x1c, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x33, 0x11, 
    -	0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 0x33, 0xe0, 0xc5, 
    -	0x64, 0x97, 0x35, 0xc5, 0xc5, 0x35, 0x96, 0x62, 0xc9, 0xdf, 0xc5, 0x91, 
    -	0x8d, 0x55, 0x78, 0x25, 0x25, 0x78, 0x57, 0x8c, 0x90, 0x01, 0xf4, 0xea, 
    -	0xfe, 0xe1, 0x43, 0x43, 0xfd, 0xef, 0x07, 0xb8, 0xfd, 0xaa, 0x44, 0x48, 
    -	0xfe, 0xc1, 0xfe, 0xfa, 0xb8, 0xed, 0x4d, 0x43, 0xfd, 0xf5, 0x43, 0x4b, 
    -	0xcd, 0xa2, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 
    -	0x05, 0xb6, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x17, 0x01, 0x72, 0xb4, 0xdf, 
    -	0x17, 0xef, 0x17, 0x02, 0x71, 0xb2, 0x5f, 0x17, 0x01, 0x72, 0xb4, 0x2f, 
    -	0x17, 0x3f, 0x17, 0x02, 0x72, 0xb2, 0x7f, 0x1a, 0x01, 0x72, 0xb4, 0xdf, 
    -	0x1a, 0xef, 0x1a, 0x02, 0x71, 0xb2, 0x5f, 0x1a, 0x01, 0x72, 0xb4, 0x2f, 
    -	0x1a, 0x3f, 0x1a, 0x02, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x06, 0xfa, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0xb4, 0x01, 0x4a, 0x00, 0x06, 0x00, 0xb0, 
    -	0x0c, 0x2f, 0x30, 0x31, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x05, 0xb8, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x06, 0x00, 0x71, 
    -	0x4d, 0x08, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x07, 0x4e, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0xeb, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 0x06, 0x0c, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x7f, 0x5c, 0x00, 0x36, 
    -	0x00, 0xb2, 0x00, 0x30, 0x01, 0x71, 0xb2, 0xb0, 0x30, 0x01, 0x71, 0xb2, 
    -	0x00, 0x30, 0x01, 0x72, 0xb2, 0x8f, 0x30, 0x01, 0x71, 0xb2, 0x20, 0x30, 
    -	0x01, 0x72, 0xb4, 0xd0, 0x30, 0xe0, 0x30, 0x02, 0x71, 0xb2, 0x90, 0x30, 
    -	0x01, 0x71, 0xb6, 0x60, 0x30, 0x70, 0x30, 0x80, 0x30, 0x03, 0x5d, 0xb2, 
    -	0x20, 0x30, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0xfe, 0x50, 0x05, 0x51, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x57, 0x03, 0x7e, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xfe, 0x50, 0x04, 0x2a, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x57, 0x02, 0x57, 0x00, 0x00, 0xff, 0xff, 0x00, 0x76, 
    -	0xff, 0xeb, 0x04, 0xbf, 0x07, 0x33, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0xc9, 0x01, 0x6e, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 0x1e, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x1e, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x03, 0xf6, 0x05, 0xdc, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x3c, 0x00, 0x17, 0x00, 0x1a, 0x00, 0xb2, 
    -	0xbf, 0x21, 0x01, 0x71, 0xb6, 0xdf, 0x21, 0xef, 0x21, 0xff, 0x21, 0x03, 
    -	0x71, 0xb6, 0x0f, 0x21, 0x1f, 0x21, 0x2f, 0x21, 0x03, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x76, 0xff, 0xeb, 0x04, 0xbf, 0x07, 0x5d, 0x02, 0x26, 
    -	0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0xc9, 0x01, 0x72, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 
    -	0x22, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x03, 0xf6, 0x06, 0x06, 0x02, 0x26, 0x00, 0x46, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x3c, 0x1b, 0x00, 0x1d, 0x00, 0xb6, 0xd0, 0x22, 
    -	0xe0, 0x22, 0xf0, 0x22, 0x03, 0x71, 0xb4, 0x00, 0x22, 0x10, 0x22, 0x02, 
    -	0x72, 0xb2, 0x60, 0x22, 0x01, 0x72, 0xb2, 0x40, 0x22, 0x01, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x76, 0xff, 0xeb, 0x04, 0xbf, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x99, 0x01, 0x72, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x03, 0xf6, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x46, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x0c, 0x00, 0x1b, 
    -	0x00, 0x17, 0x00, 0xb2, 0xbf, 0x1e, 0x01, 0x5d, 0xb2, 0xdf, 0x1f, 0x01, 
    -	0x5d, 0xb2, 0xaf, 0x1f, 0x01, 0x71, 0xb2, 0x8f, 0x1f, 0x01, 0x71, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x76, 0xff, 0xeb, 0x04, 0xbf, 
    -	0x07, 0x5e, 0x02, 0x26, 0x00, 0x26, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0x00, 0xe0, 0x01, 0x73, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x03, 0xf6, 0x06, 0x07, 0x02, 0x26, 
    -	0x00, 0x46, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x53, 0x1c, 0x00, 0x22, 
    -	0x00, 0x40, 0x0b, 0xb0, 0x23, 0xc0, 0x23, 0xd0, 0x23, 0xe0, 0x23, 0xf0, 
    -	0x23, 0x05, 0x71, 0xb4, 0x00, 0x23, 0x10, 0x23, 0x02, 0x72, 0xb2, 0x60, 
    -	0x23, 0x01, 0x72, 0xb2, 0x40, 0x23, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xeb, 0x07, 0x49, 0x02, 0x26, 
    -	0x00, 0x27, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0xa6, 0x01, 0x5e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 
    -	0x19, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x62, 
    -	0xff, 0xeb, 0x05, 0x1d, 0x06, 0x18, 0x00, 0x26, 0x00, 0x47, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x63, 0x03, 0xdd, 0x05, 0x25, 0x00, 0x35, 0x00, 0xb0, 
    -	0x24, 0x2f, 0xb2, 0x80, 0x24, 0x01, 0x72, 0xb2, 0x1f, 0x24, 0x01, 0x5d, 
    -	0xb2, 0x2f, 0x24, 0x01, 0x71, 0xb2, 0xbf, 0x24, 0x01, 0x72, 0xb2, 0x3f, 
    -	0x24, 0x01, 0x72, 0xb4, 0x4f, 0x24, 0x5f, 0x24, 0x02, 0x5d, 0xb2, 0x60, 
    -	0x24, 0x01, 0x5d, 0xb2, 0xf0, 0x24, 0x01, 0x71, 0xb2, 0x70, 0x24, 0x01, 
    -	0x71, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x2a, 0x00, 0x00, 0x05, 0x09, 
    -	0x05, 0xb0, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x74, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 
    -	0x3e, 0x59, 0xb2, 0xcf, 0x04, 0x01, 0x5d, 0xb2, 0x1f, 0x04, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x04, 0x01, 0x71, 0xb2, 0xef, 0x04, 0x01, 0x5d, 0xb2, 0x7f, 
    -	0x04, 0x01, 0x5d, 0xb2, 0x2f, 0x04, 0x01, 0x5d, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x18, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 
    -	0x1a, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 
    -	0x00, 0x11, 0x15, 0x10, 0x00, 0x21, 0x13, 0x21, 0x11, 0x33, 0x32, 0x12, 
    -	0x35, 0x35, 0x34, 0x02, 0x23, 0x23, 0x11, 0x21, 0xd2, 0xa8, 0xa8, 0x01, 
    -	0xbf, 0x01, 0x1e, 0x01, 0x5a, 0xfe, 0xa6, 0xfe, 0xe2, 0x1a, 0xfe, 0xec, 
    -	0xfa, 0xca, 0xe9, 0xe9, 0xca, 0xfa, 0x01, 0x14, 0x02, 0x97, 0x9b, 0x02, 
    -	0x7e, 0xfe, 0xa1, 0xfe, 0xea, 0xc7, 0xfe, 0xe9, 0xfe, 0xa3, 0x02, 0x97, 
    -	0xfe, 0x03, 0x01, 0x0a, 0xd0, 0xc9, 0xce, 0x01, 0x0a, 0xfe, 0x1d, 0x00, 
    -	0x00, 0x02, 0x00, 0x62, 0xff, 0xeb, 0x04, 0xba, 0x06, 0x18, 0x00, 0x19, 
    -	0x00, 0x27, 0x00, 0x7f, 0x00, 0xb0, 0x16, 0x2f, 0xb0, 0x19, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 
    -	0x3e, 0x59, 0xb2, 0x5f, 0x19, 0x01, 0x5d, 0xb2, 0x2f, 0x19, 0x01, 0x5d, 
    -	0xb2, 0x0f, 0x19, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x30, 0x0e, 0x01, 
    -	0x5d, 0xb0, 0x12, 0xd0, 0xb0, 0x19, 0x10, 0xb0, 0x14, 0xd0, 0xb2, 0x2f, 
    -	0x16, 0x01, 0x5d, 0xb0, 0x07, 0x10, 0xb1, 0x1d, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x24, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x23, 0x11, 0x23, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x35, 0x10, 
    -	0x12, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 
    -	0x33, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x04, 0xba, 0xc5, 0xa1, 0x17, 0x35, 0x9a, 0x66, 0xc6, 
    -	0xe0, 0xdf, 0xc9, 0x5f, 0x93, 0x34, 0xf7, 0xf7, 0xc5, 0xc5, 0xfc, 0x6d, 
    -	0x86, 0x8d, 0x58, 0x78, 0x26, 0x26, 0x79, 0x55, 0x8e, 0x87, 0x04, 0xcf, 
    -	0xfb, 0x31, 0x85, 0x4c, 0x4e, 0x01, 0x1f, 0xea, 0x15, 0x01, 0x05, 0x01, 
    -	0x40, 0x46, 0x43, 0x01, 0x0a, 0x9b, 0xae, 0xae, 0xfc, 0x8a, 0xa4, 0xc5, 
    -	0x50, 0x48, 0x01, 0xf9, 0x43, 0x4f, 0xea, 0xbb, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x06, 0xfa, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0x96, 0x01, 0x4a, 0x00, 0x08, 0x00, 0xb2, 
    -	0x0f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x05, 0xb9, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x00, 0x06, 0x00, 0x71, 0x50, 0x09, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x4e, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xc8, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 
    -	0x06, 0x0d, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0x82, 0x00, 0x5d, 0x00, 0x31, 0x00, 0xb2, 0x90, 0x24, 0x01, 0x71, 
    -	0xb4, 0xd0, 0x24, 0xe0, 0x24, 0x02, 0x71, 0xb2, 0x20, 0x24, 0x01, 0x72, 
    -	0xb2, 0x20, 0x24, 0x01, 0x5d, 0xb2, 0x00, 0x24, 0x01, 0x72, 0xb2, 0xb0, 
    -	0x24, 0x01, 0x71, 0xb2, 0x00, 0x24, 0x01, 0x71, 0xb6, 0x60, 0x24, 0x70, 
    -	0x24, 0x80, 0x24, 0x03, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0x67, 0x01, 0x5d, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 
    -	0x05, 0xcc, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x21, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0xb2, 0xbf, 0x20, 0x01, 0x5d, 
    -	0xb2, 0xaf, 0x21, 0x01, 0x71, 0xb2, 0xdf, 0x21, 0x01, 0x5d, 0xb2, 0x8f, 
    -	0x21, 0x01, 0x71, 0xb4, 0xb0, 0x21, 0xc0, 0x21, 0x02, 0x71, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0x50, 0x04, 0x7a, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0x4b, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xfe, 0x8e, 0x03, 0xed, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0xec, 0x00, 0x3e, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 0x07, 0x49, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0xae, 0x01, 0x5e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x06, 0x08, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x68, 0x1d, 0x00, 0x22, 0x00, 0x40, 0x0b, 0xb0, 
    -	0x25, 0xc0, 0x25, 0xd0, 0x25, 0xe0, 0x25, 0xf0, 0x25, 0x05, 0x71, 0xb4, 
    -	0x00, 0x25, 0x10, 0x25, 0x02, 0x72, 0xb2, 0x60, 0x25, 0x01, 0x72, 0xb2, 
    -	0x40, 0x25, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 
    -	0xff, 0xeb, 0x04, 0xd3, 0x07, 0x5d, 0x02, 0x26, 0x00, 0x2a, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0xbf, 0x01, 0x72, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x64, 0xfe, 0x4b, 0x03, 0xfd, 
    -	0x06, 0x06, 0x02, 0x26, 0x00, 0x4a, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x57, 0x1b, 0x00, 0x1d, 0x00, 0xb6, 0xd0, 0x30, 0xe0, 0x30, 0xf0, 0x30, 
    -	0x03, 0x71, 0xb4, 0x00, 0x30, 0x10, 0x30, 0x02, 0x72, 0xb2, 0x60, 0x30, 
    -	0x01, 0x72, 0xb2, 0x40, 0x30, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x04, 0xd3, 0x07, 0x63, 0x02, 0x26, 
    -	0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xf0, 0x01, 0xb3, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x25, 0x2f, 0x1b, 0xb1, 
    -	0x25, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x64, 
    -	0xfe, 0x4b, 0x03, 0xfd, 0x06, 0x0c, 0x02, 0x26, 0x00, 0x4a, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0x88, 0x00, 0x5c, 0x00, 0x36, 0x00, 0xb2, 
    -	0x00, 0x30, 0x01, 0x71, 0xb2, 0xb0, 0x30, 0x01, 0x71, 0xb2, 0x00, 0x30, 
    -	0x01, 0x72, 0xb2, 0x8f, 0x30, 0x01, 0x71, 0xb2, 0x20, 0x30, 0x01, 0x72, 
    -	0xb4, 0xd0, 0x30, 0xe0, 0x30, 0x02, 0x71, 0xb2, 0x90, 0x30, 0x01, 0x71, 
    -	0xb6, 0x60, 0x30, 0x70, 0x30, 0x80, 0x30, 0x03, 0x5d, 0xb2, 0x20, 0x30, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x04, 0xd3, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x8f, 0x01, 0x72, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x64, 0xfe, 0x4b, 0x03, 0xfd, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x4a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x27, 0x00, 0x1b, 
    -	0x00, 0x17, 0x00, 0xb2, 0xbf, 0x2c, 0x01, 0x5d, 0xb2, 0xdf, 0x2d, 0x01, 
    -	0x5d, 0xb2, 0xaf, 0x2d, 0x01, 0x71, 0xb2, 0x8f, 0x2d, 0x01, 0x71, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 0xfe, 0x12, 0x04, 0xd3, 
    -	0x05, 0xc5, 0x02, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 
    -	0x01, 0xa4, 0xfe, 0x98, 0xff, 0xff, 0x00, 0x64, 0xfe, 0x4b, 0x03, 0xfd, 
    -	0x06, 0x70, 0x02, 0x26, 0x00, 0x4a, 0x00, 0x00, 0x01, 0x07, 0x03, 0x8f, 
    -	0x01, 0x2b, 0x00, 0x59, 0x00, 0x1c, 0x00, 0xb2, 0x60, 0x30, 0x01, 0x5d, 
    -	0xb2, 0x0f, 0x30, 0x01, 0x5d, 0xb2, 0x2f, 0x30, 0x01, 0x5d, 0xb2, 0xa0, 
    -	0x30, 0x01, 0x5d, 0xb2, 0x80, 0x30, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 0x07, 0x48, 0x02, 0x26, 
    -	0x00, 0x2b, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0xf4, 0x01, 0x5d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0x00, 0x00, 0x04, 0x00, 0x07, 0x47, 0x02, 0x26, 0x00, 0x4b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x20, 0x01, 0x5c, 0x00, 0x46, 0x00, 0xb4, 
    -	0x8f, 0x18, 0x9f, 0x18, 0x02, 0x5d, 0xb2, 0xef, 0x18, 0x01, 0x5d, 0xb4, 
    -	0x5f, 0x18, 0x6f, 0x18, 0x02, 0x71, 0xb2, 0xdf, 0x18, 0x01, 0x71, 0xb2, 
    -	0x7f, 0x18, 0x01, 0x72, 0xb4, 0x2f, 0x18, 0x3f, 0x18, 0x02, 0x72, 0xb2, 
    -	0xaf, 0x18, 0x01, 0x71, 0xb4, 0x0f, 0x18, 0x1f, 0x18, 0x02, 0x71, 0xb2, 
    -	0xbf, 0x18, 0x01, 0x5d, 0xb4, 0x4f, 0x18, 0x5f, 0x18, 0x02, 0x5d, 0xb4, 
    -	0x1f, 0x18, 0x2f, 0x18, 0x02, 0x5d, 0x30, 0x31, 0x00, 0x02, 0x00, 0x1f, 
    -	0x00, 0x00, 0x05, 0x8f, 0x05, 0xb0, 0x00, 0x13, 0x00, 0x17, 0x00, 0x75, 
    -	0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x14, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x0f, 0x10, 0x01, 0x5d, 0xb0, 0x10, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x10, 
    -	0x10, 0xb1, 0x17, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x03, 0xd0, 0xb0, 0x14, 0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0x10, 0xb0, 0x0a, 
    -	0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 
    -	0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 
    -	0x33, 0x11, 0x21, 0x11, 0x33, 0x01, 0x21, 0x35, 0x21, 0x04, 0xff, 0x90, 
    -	0x90, 0xc5, 0xfd, 0x3d, 0xc5, 0x93, 0x93, 0xc5, 0x02, 0xc3, 0xc5, 0xfc, 
    -	0x78, 0x02, 0xc3, 0xfd, 0x3d, 0x04, 0x91, 0x91, 0xfc, 0x00, 0x02, 0x83, 
    -	0xfd, 0x7d, 0x04, 0x00, 0x91, 0x01, 0x1f, 0xfe, 0xe1, 0x01, 0x1f, 0xfd, 
    -	0x6e, 0xe2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x04, 0x1e, 
    -	0x06, 0x18, 0x00, 0x1b, 0x00, 0x73, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x1b, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x06, 0x3e, 0x59, 0xb2, 0x5f, 0x1b, 0x01, 0x5d, 0xb2, 0x2f, 0x1b, 
    -	0x01, 0x5d, 0xb2, 0x0f, 0x1b, 0x01, 0x5d, 0xb0, 0x1b, 0x10, 0xb1, 0x00, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x30, 
    -	0x05, 0x01, 0x5d, 0xb0, 0x05, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x14, 0xd0, 
    -	0xb0, 0x1b, 0x10, 0xb0, 0x16, 0xd0, 0xb2, 0x2f, 0x18, 0x01, 0x5d, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 
    -	0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x23, 0x35, 
    -	0x33, 0x35, 0x33, 0x15, 0x21, 0x02, 0x82, 0xfe, 0xf0, 0x38, 0xa3, 0x63, 
    -	0xad, 0xc1, 0xc5, 0x73, 0x72, 0x52, 0x85, 0x2b, 0xc5, 0xac, 0xac, 0xc5, 
    -	0x01, 0x10, 0x04, 0xcf, 0xfe, 0xda, 0x4e, 0x57, 0xd0, 0xd8, 0xfd, 0x5a, 
    -	0x02, 0xa8, 0x86, 0x80, 0x4d, 0x42, 0xfc, 0xe1, 0x04, 0xcf, 0x9b, 0xae, 
    -	0xae, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc8, 0x00, 0x00, 0x02, 0x7e, 
    -	0x07, 0x54, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 
    -	0xff, 0x41, 0x01, 0x61, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xa3, 0x00, 0x00, 0x02, 0x59, 0x05, 0xfd, 0x02, 0x26, 
    -	0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0xff, 0x1c, 0x00, 0x0a, 
    -	0x00, 0x20, 0x00, 0xb2, 0x5f, 0x07, 0x01, 0x72, 0xb2, 0x8f, 0x07, 0x01, 
    -	0x71, 0xb2, 0x3f, 0x07, 0x01, 0x72, 0xb4, 0xef, 0x07, 0xff, 0x07, 0x02, 
    -	0x71, 0xb4, 0x0f, 0x07, 0x1f, 0x07, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x02, 0x91, 0x06, 0xfa, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 0xff, 0x45, 0x01, 0x4a, 
    -	0x00, 0x08, 0x00, 0xb2, 0x0f, 0x04, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0x9b, 0x00, 0x00, 0x02, 0x6c, 0x05, 0xa5, 0x02, 0x26, 
    -	0x00, 0xf3, 0x00, 0x00, 0x00, 0x07, 0x00, 0x71, 0xff, 0x20, 0xff, 0xf5, 
    -	0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x02, 0x4f, 0x07, 0x4e, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0xff, 0x77, 0x01, 0x9e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xd3, 
    -	0x00, 0x00, 0x02, 0x2a, 0x05, 0xf7, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0xff, 0x52, 0x00, 0x47, 0x00, 0x20, 0x00, 0xb2, 
    -	0xff, 0x08, 0x01, 0x71, 0xb6, 0x3f, 0x08, 0x4f, 0x08, 0x5f, 0x08, 0x03, 
    -	0x5d, 0xb2, 0x1f, 0x08, 0x01, 0x72, 0xb2, 0xcf, 0x08, 0x01, 0x71, 0xb2, 
    -	0xaf, 0x08, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2e, 
    -	0xfe, 0x50, 0x01, 0xbd, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x00, 0x06, 0x01, 0x57, 0xea, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x0e, 
    -	0xfe, 0x50, 0x01, 0x9d, 0x06, 0x18, 0x02, 0x26, 0x00, 0x4c, 0x00, 0x00, 
    -	0x00, 0x06, 0x01, 0x57, 0xca, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x01, 0x8e, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x00, 0x14, 0x01, 0x5d, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x01, 0x5e, 
    -	0x04, 0x3a, 0x00, 0x03, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x21, 
    -	0x23, 0x11, 0x33, 0x01, 0x5e, 0xc5, 0xc5, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xbe, 0xff, 0xeb, 0x06, 0x06, 0x05, 0xb0, 0x00, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x2d, 0x02, 0x43, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x9f, 0xfe, 0x4b, 0x03, 0x76, 0x06, 0x18, 0x00, 0x26, 
    -	0x00, 0x4c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x4d, 0x02, 0x04, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x3d, 0xff, 0xeb, 0x04, 0x8c, 0x07, 0x3c, 0x02, 0x26, 
    -	0x00, 0x2d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x01, 0x7b, 0x01, 0x51, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xbc, 
    -	0xfe, 0x4b, 0x02, 0x44, 0x05, 0xdf, 0x02, 0x26, 0x01, 0x50, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0xff, 0x33, 0xff, 0xf4, 0x00, 0x14, 0x00, 0xb4, 
    -	0x2f, 0x14, 0x3f, 0x14, 0x02, 0x72, 0xb2, 0x7f, 0x14, 0x01, 0x72, 0xb2, 
    -	0x5f, 0x14, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0xfe, 0x23, 0x05, 0x20, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2e, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0x82, 0xfe, 0xa9, 0xff, 0xff, 0x00, 0x90, 
    -	0xfe, 0x25, 0x04, 0x1c, 0x06, 0x18, 0x02, 0x26, 0x00, 0x4e, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0x1f, 0xfe, 0xab, 0x00, 0x01, 0x00, 0x99, 
    -	0x00, 0x00, 0x04, 0x40, 0x04, 0x3a, 0x00, 0x0e, 0x00, 0x8e, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x06, 0xcf, 0x06, 0x02, 
    -	0x5d, 0xb2, 0x2f, 0x06, 0x01, 0x71, 0xb2, 0x9f, 0x06, 0x01, 0x71, 0xb2, 
    -	0xff, 0x06, 0x01, 0x71, 0xb2, 0x6f, 0x06, 0x01, 0x72, 0xb2, 0xdf, 0x06, 
    -	0x01, 0x72, 0xb2, 0x3f, 0x06, 0x01, 0x72, 0xb2, 0xcf, 0x06, 0x01, 0x71, 
    -	0xb2, 0x6f, 0x06, 0x01, 0x71, 0xb2, 0xff, 0x06, 0x01, 0x5d, 0xb2, 0x5f, 
    -	0x06, 0x01, 0x5d, 0xb2, 0x2f, 0x06, 0x01, 0x5d, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x01, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x0b, 0x06, 0x01, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x01, 
    -	0xc3, 0x65, 0xc5, 0xc5, 0x54, 0x01, 0x84, 0xe7, 0x02, 0xfe, 0x3e, 0x01, 
    -	0xe3, 0x02, 0xf1, 0x01, 0xcb, 0xfe, 0x35, 0x04, 0x3a, 0xfe, 0x37, 0x01, 
    -	0xc9, 0x05, 0xfd, 0xfe, 0xfd, 0xd2, 0x05, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x2a, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x2f, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x00, 0x37, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x06, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x9f, 
    -	0x00, 0x00, 0x02, 0x49, 0x07, 0x44, 0x02, 0x26, 0x00, 0x4f, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x00, 0x25, 0x01, 0x7f, 0x00, 0x47, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x07, 0xdc, 0xb2, 0xff, 0x07, 0x01, 0x72, 0xb2, 0x7f, 
    -	0x07, 0x01, 0x72, 0xb2, 0x9f, 0x07, 0x01, 0x71, 0xb2, 0x4f, 0x08, 0x01, 
    -	0x5d, 0xb6, 0xcf, 0x08, 0xdf, 0x08, 0xef, 0x08, 0x03, 0x5d, 0xb4, 0x2f, 
    -	0x08, 0x3f, 0x08, 0x02, 0x72, 0xb2, 0x2f, 0x08, 0x01, 0x71, 0xb4, 0x8f, 
    -	0x08, 0x9f, 0x08, 0x02, 0x5d, 0xb4, 0x1f, 0x08, 0x2f, 0x08, 0x02, 0x5d, 
    -	0xb4, 0xdf, 0x08, 0xef, 0x08, 0x02, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0x25, 0x04, 0x2a, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2f, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x7b, 0xfe, 0xab, 
    -	0xff, 0xff, 0x00, 0x6e, 0xfe, 0x25, 0x01, 0x64, 0x06, 0x18, 0x02, 0x26, 
    -	0x00, 0x4f, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x00, 0x09, 0xfe, 0xab, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x2a, 0x05, 0xb1, 0x02, 0x26, 
    -	0x00, 0x2f, 0x00, 0x00, 0x01, 0x07, 0x03, 0x63, 0x01, 0xe2, 0x04, 0xbe, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x0c, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x9f, 
    -	0x00, 0x00, 0x02, 0xa0, 0x06, 0x18, 0x00, 0x26, 0x00, 0x4f, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x63, 0x01, 0x60, 0x05, 0x25, 0x00, 0x37, 0x00, 0xb0, 
    -	0x08, 0x2f, 0xb2, 0x80, 0x08, 0x01, 0x72, 0xb4, 0x1f, 0x08, 0x2f, 0x08, 
    -	0x02, 0x5d, 0xb2, 0x2f, 0x08, 0x01, 0x71, 0xb2, 0xbf, 0x08, 0x01, 0x72, 
    -	0xb2, 0x3f, 0x08, 0x01, 0x72, 0xb4, 0x4f, 0x08, 0x5f, 0x08, 0x02, 0x5d, 
    -	0xb2, 0x60, 0x08, 0x01, 0x5d, 0xb2, 0xf0, 0x08, 0x01, 0x71, 0xb2, 0x70, 
    -	0x08, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x2a, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2f, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0xc5, 0xfd, 0xc9, 0x00, 0x06, 0x00, 0xb0, 
    -	0x08, 0x2f, 0x30, 0x31, 0xff, 0xff, 0x00, 0x9f, 0x00, 0x00, 0x02, 0xbf, 
    -	0x06, 0x18, 0x00, 0x26, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 
    -	0x01, 0x45, 0xfd, 0xb8, 0x00, 0x06, 0x00, 0xb0, 0x06, 0x2f, 0x30, 0x31, 
    -	0x00, 0x01, 0x00, 0x28, 0x00, 0x00, 0x04, 0x19, 0x05, 0xb0, 0x00, 0x0d, 
    -	0x00, 0x59, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 
    -	0x2f, 0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x01, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0xd0, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb0, 0x08, 0xd0, 0xb0, 0x09, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x0b, 0xd0, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x25, 0x15, 0x05, 0x11, 
    -	0x21, 0x15, 0x21, 0x11, 0x07, 0x35, 0x37, 0x11, 0x33, 0x01, 0x68, 0x01, 
    -	0x0d, 0xfe, 0xf3, 0x02, 0xb1, 0xfc, 0x8a, 0x7b, 0x7b, 0xc5, 0x03, 0x4b, 
    -	0x56, 0xa6, 0x56, 0xfd, 0xf5, 0x9a, 0x02, 0x67, 0x27, 0xa6, 0x27, 0x02, 
    -	0xa3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x25, 0x00, 0x00, 0x02, 0x0e, 
    -	0x06, 0x18, 0x00, 0x0b, 0x00, 0x45, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x02, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x07, 0xd0, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x08, 0xd0, 0xb2, 0x2f, 0x0a, 0x01, 
    -	0x5d, 0x30, 0x31, 0x01, 0x37, 0x15, 0x07, 0x11, 0x23, 0x11, 0x07, 0x35, 
    -	0x37, 0x11, 0x33, 0x01, 0x78, 0x96, 0x96, 0xc5, 0x8e, 0x8e, 0xc5, 0x03, 
    -	0x68, 0x3a, 0xa5, 0x3a, 0xfd, 0x3d, 0x02, 0x78, 0x36, 0xa5, 0x36, 0x02, 
    -	0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x07, 0x1e, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xfb, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x0c, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfd, 
    -	0x05, 0xdc, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x65, 0x00, 0x17, 0x00, 0x1a, 0x00, 0xb2, 0xbf, 0x17, 0x01, 0x71, 
    -	0xb6, 0xdf, 0x17, 0xef, 0x17, 0xff, 0x17, 0x03, 0x71, 0xb6, 0x0f, 0x17, 
    -	0x1f, 0x17, 0x2f, 0x17, 0x03, 0x72, 0x30, 0x31, 0xff, 0xff, 0x00, 0xb4, 
    -	0xfe, 0x25, 0x05, 0x01, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0xdf, 0xfe, 0xab, 0xff, 0xff, 0x00, 0x8f, 
    -	0xfe, 0x25, 0x03, 0xfd, 0x04, 0x4e, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0x49, 0xfe, 0xab, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x05, 0x01, 0x07, 0x49, 0x02, 0x26, 0x00, 0x31, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x53, 0x01, 0x12, 0x01, 0x5e, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfd, 
    -	0x06, 0x07, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 
    -	0x7c, 0x1c, 0x00, 0x22, 0x00, 0x40, 0x0b, 0xb0, 0x19, 0xc0, 0x19, 0xd0, 
    -	0x19, 0xe0, 0x19, 0xf0, 0x19, 0x05, 0x71, 0xb4, 0x00, 0x19, 0x10, 0x19, 
    -	0x02, 0x72, 0xb2, 0x60, 0x19, 0x01, 0x72, 0xb2, 0x40, 0x19, 0x01, 0x72, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xfd, 
    -	0x06, 0x18, 0x02, 0x26, 0x00, 0x51, 0x00, 0x00, 0x01, 0x07, 0x03, 0x63, 
    -	0xff, 0x7b, 0x05, 0x25, 0x00, 0x06, 0x00, 0xb0, 0x19, 0x2f, 0x30, 0x31, 
    -	0x00, 0x01, 0x00, 0xa1, 0xfe, 0x4b, 0x04, 0xee, 0x05, 0xb0, 0x00, 0x18, 
    -	0x00, 0x58, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 
    -	0xb1, 0x14, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 
    -	0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0b, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 
    -	0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x14, 0x10, 0xb0, 0x10, 0xd0, 0xb0, 0x0f, 
    -	0x10, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x01, 0x07, 
    -	0x11, 0x23, 0x11, 0x33, 0x01, 0x37, 0x11, 0x04, 0xee, 0xac, 0x9a, 0x1f, 
    -	0x34, 0x1d, 0x0e, 0x0d, 0x44, 0x11, 0x3c, 0x45, 0xfd, 0x43, 0x06, 0xc5, 
    -	0xc5, 0x02, 0xbd, 0x06, 0x05, 0xb0, 0xf9, 0xf7, 0xa7, 0xb5, 0x09, 0x09, 
    -	0x96, 0x05, 0x08, 0x67, 0x5a, 0x59, 0x04, 0x58, 0x02, 0xfb, 0xaa, 0x05, 
    -	0xb0, 0xfb, 0xa8, 0x02, 0x04, 0x56, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0xfe, 0x4b, 0x03, 0xf5, 0x04, 0x4e, 0x00, 0x1f, 0x00, 0x55, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x08, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x12, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x19, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x01, 0x3f, 0x0d, 0x36, 0xa0, 
    -	0x65, 0xae, 0xc0, 0xac, 0x9a, 0x1f, 0x35, 0x1c, 0x0e, 0x0d, 0x43, 0x12, 
    -	0x3d, 0x44, 0x72, 0x74, 0x55, 0x7b, 0x26, 0xc5, 0x04, 0x3a, 0x96, 0x51, 
    -	0x59, 0xcd, 0xd6, 0xfc, 0xfc, 0xa7, 0xb5, 0x09, 0x09, 0xa0, 0x05, 0x07, 
    -	0x5e, 0x58, 0x03, 0x00, 0x8f, 0x78, 0x42, 0x3b, 0xfc, 0xcf, 0x04, 0x3a, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x07, 0x0f, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 0x00, 0xdc, 0x01, 0x5f, 
    -	0x00, 0x2b, 0x00, 0xb4, 0x80, 0x1d, 0x90, 0x1d, 0x02, 0x71, 0xb6, 0x30, 
    -	0x1d, 0x40, 0x1d, 0x50, 0x1d, 0x03, 0x72, 0xb2, 0x60, 0x1d, 0x01, 0x5d, 
    -	0xb6, 0xd0, 0x1d, 0xe0, 0x1d, 0xf0, 0x1d, 0x03, 0x71, 0xb2, 0x20, 0x1d, 
    -	0x01, 0x71, 0xb2, 0xc0, 0x1d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x05, 0xb8, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x00, 0x06, 0x00, 0x71, 0x68, 0x08, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x07, 0x63, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x01, 0x0e, 0x01, 0xb3, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 
    -	0x20, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x06, 0x0c, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0x9a, 0x00, 0x5c, 0x00, 0x36, 0x00, 0xb2, 
    -	0x00, 0x20, 0x01, 0x71, 0xb2, 0xb0, 0x20, 0x01, 0x71, 0xb2, 0x00, 0x20, 
    -	0x01, 0x72, 0xb2, 0x8f, 0x20, 0x01, 0x71, 0xb2, 0x20, 0x20, 0x01, 0x72, 
    -	0xb4, 0xd0, 0x20, 0xe0, 0x20, 0x02, 0x71, 0xb2, 0x90, 0x20, 0x01, 0x71, 
    -	0xb6, 0x60, 0x20, 0x70, 0x20, 0x80, 0x20, 0x03, 0x5d, 0xb2, 0x20, 0x20, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 
    -	0x07, 0x60, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 
    -	0x01, 0x6a, 0x01, 0x72, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x40, 0x06, 0x09, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 0x00, 0xf6, 0x00, 0x1b, 
    -	0x00, 0x29, 0x00, 0xb4, 0xe0, 0x1f, 0xf0, 0x1f, 0x02, 0x71, 0x40, 0x09, 
    -	0x00, 0x1f, 0x10, 0x1f, 0x20, 0x1f, 0x30, 0x1f, 0x04, 0x72, 0xb4, 0xe0, 
    -	0x25, 0xf0, 0x25, 0x02, 0x71, 0x40, 0x09, 0x00, 0x25, 0x10, 0x25, 0x20, 
    -	0x25, 0x30, 0x25, 0x04, 0x72, 0x30, 0x31, 0x00, 0x00, 0x02, 0x00, 0x68, 
    -	0xff, 0xeb, 0x07, 0x4f, 0x05, 0xc5, 0x00, 0x17, 0x00, 0x25, 0x00, 0x94, 
    -	0x00, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 
    -	0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x7f, 0x12, 0x01, 0x5d, 0xb2, 0x2f, 0x12, 0x01, 0x5d, 0xb2, 0xef, 0x12, 
    -	0x01, 0x5d, 0xb0, 0x12, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x17, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0b, 0x10, 0xb1, 0x1f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x21, 0x21, 0x06, 0x06, 0x23, 0x22, 0x00, 0x11, 
    -	0x11, 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x21, 0x15, 0x21, 0x11, 0x21, 
    -	0x15, 0x21, 0x11, 0x21, 0x05, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x07, 0x4f, 0xfc, 0x6a, 0x5c, 0x82, 
    -	0x43, 0xf9, 0xfe, 0xc9, 0x01, 0x35, 0xf9, 0x45, 0x8f, 0x4f, 0x03, 0x8b, 
    -	0xfd, 0x0a, 0x02, 0x9b, 0xfd, 0x65, 0x03, 0x01, 0xfb, 0x49, 0x3d, 0x7a, 
    -	0x3a, 0x3d, 0x7a, 0x3c, 0xa9, 0xc0, 0xc2, 0x0a, 0x0b, 0x01, 0x4c, 0x01, 
    -	0x09, 0x01, 0x30, 0x01, 0x09, 0x01, 0x4c, 0x0c, 0x09, 0x9b, 0xfe, 0x29, 
    -	0x9b, 0xfd, 0xf7, 0x14, 0x09, 0x09, 0x04, 0x7f, 0x08, 0x0b, 0xe3, 0xd5, 
    -	0xfe, 0xce, 0xd6, 0xe4, 0x00, 0x03, 0x00, 0x61, 0xff, 0xeb, 0x06, 0xf7, 
    -	0x04, 0x4e, 0x00, 0x22, 0x00, 0x30, 0x00, 0x39, 0x00, 0x98, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x17, 0x00, 0x13, 0x11, 0x12, 0x39, 0xb0, 0x17, 
    -	0x2f, 0xb2, 0xa0, 0x17, 0x01, 0x5d, 0xb4, 0xd0, 0x17, 0xe0, 0x17, 0x02, 
    -	0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x26, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x2d, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x13, 
    -	0x10, 0xb1, 0x31, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x17, 0x10, 0xb1, 0x36, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 
    -	0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 0x36, 
    -	0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x37, 0x17, 0x06, 0x06, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x22, 0x06, 0x07, 0x17, 
    -	0x21, 0x35, 0x34, 0x26, 0x05, 0x5a, 0x83, 0xcb, 0x41, 0x40, 0xc6, 0x7f, 
    -	0xe0, 0xfe, 0xfb, 0x01, 0x04, 0xdf, 0x82, 0xc8, 0x40, 0x41, 0xc1, 0x6c, 
    -	0xdb, 0xe0, 0xfd, 0x42, 0x03, 0x03, 0x98, 0x89, 0x64, 0x97, 0x37, 0x4d, 
    -	0x3a, 0xbe, 0xfb, 0x45, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x8e, 0x8d, 0x91, 
    -	0x04, 0x16, 0x63, 0x8c, 0x10, 0x02, 0x01, 0xf3, 0x7c, 0x15, 0x69, 0x60, 
    -	0x60, 0x69, 0x01, 0x35, 0xf1, 0x16, 0xf0, 0x01, 0x37, 0x6d, 0x62, 0x61, 
    -	0x6e, 0xfe, 0xf8, 0xdc, 0x7b, 0x05, 0x9c, 0xc9, 0x39, 0x32, 0x80, 0x39, 
    -	0x4c, 0x02, 0x26, 0xac, 0xe0, 0xe0, 0xac, 0x16, 0xaa, 0xe2, 0xe2, 0xaa, 
    -	0x01, 0x8c, 0xa7, 0x7e, 0x05, 0x1a, 0x74, 0x9c, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0xed, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x35, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x8f, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x24, 0x2f, 0x1b, 0xb1, 0x24, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x24, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0x00, 0x00, 0x02, 0xe4, 0x05, 0xdc, 0x02, 0x26, 0x00, 0x55, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x00, 0xc0, 0x00, 0x17, 0x00, 0x1a, 0x00, 0xb2, 
    -	0xbf, 0x13, 0x01, 0x71, 0xb6, 0xdf, 0x13, 0xef, 0x13, 0xff, 0x13, 0x03, 
    -	0x71, 0xb6, 0x0f, 0x13, 0x1f, 0x13, 0x2f, 0x13, 0x03, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0x25, 0x04, 0xed, 0x05, 0xaf, 0x02, 0x26, 
    -	0x00, 0x35, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x73, 0xfe, 0xab, 
    -	0xff, 0xff, 0x00, 0x6b, 0xfe, 0x25, 0x02, 0xaa, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x55, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x00, 0x06, 0xfe, 0xab, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xed, 0x07, 0x49, 0x02, 0x26, 
    -	0x00, 0x35, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0xa6, 0x01, 0x5e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 
    -	0x28, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x65, 
    -	0x00, 0x00, 0x02, 0xdb, 0x06, 0x07, 0x02, 0x26, 0x00, 0x55, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0xd9, 0x1c, 0x00, 0x22, 0x00, 0x40, 0x0b, 0xb0, 
    -	0x15, 0xc0, 0x15, 0xd0, 0x15, 0xe0, 0x15, 0xf0, 0x15, 0x05, 0x71, 0xb4, 
    -	0x00, 0x15, 0x10, 0x15, 0x02, 0x72, 0xb2, 0x60, 0x15, 0x01, 0x72, 0xb2, 
    -	0x40, 0x15, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x92, 0x07, 0x33, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x88, 0x01, 0x6e, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x28, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x67, 
    -	0xff, 0xeb, 0x03, 0xc9, 0x05, 0xdc, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x3a, 0x00, 0x17, 0x00, 0x1a, 0x00, 0xb2, 
    -	0xbf, 0x2b, 0x01, 0x71, 0xb6, 0xdf, 0x2b, 0xef, 0x2b, 0xff, 0x2b, 0x03, 
    -	0x71, 0xb6, 0x0f, 0x2b, 0x1f, 0x2b, 0x2f, 0x2b, 0x03, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x92, 0x07, 0x5d, 0x02, 0x26, 
    -	0x00, 0x36, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0x88, 0x01, 0x72, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2c, 0x2f, 0x1b, 0xb1, 
    -	0x2c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x67, 
    -	0xff, 0xeb, 0x03, 0xc9, 0x06, 0x06, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x3a, 0x1b, 0x00, 0x1d, 0x00, 0xb6, 0xd0, 0x2c, 
    -	0xe0, 0x2c, 0xf0, 0x2c, 0x03, 0x71, 0xb4, 0x00, 0x2c, 0x10, 0x2c, 0x02, 
    -	0x72, 0xb2, 0x60, 0x2c, 0x01, 0x72, 0xb2, 0x40, 0x2c, 0x01, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xfe, 0x45, 0x04, 0x92, 
    -	0x05, 0xc5, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 
    -	0x01, 0x8d, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x67, 0xfe, 0x46, 0x03, 0xc9, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x56, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 
    -	0x01, 0x3f, 0xff, 0xf9, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x92, 
    -	0x07, 0x5e, 0x02, 0x26, 0x00, 0x36, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0x00, 0x9f, 0x01, 0x73, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x2d, 0x2f, 0x1b, 0xb1, 0x2d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x67, 0xff, 0xeb, 0x03, 0xc9, 0x06, 0x07, 0x02, 0x26, 
    -	0x00, 0x56, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x51, 0x1c, 0x00, 0x22, 
    -	0x00, 0x40, 0x0b, 0xb0, 0x2d, 0xc0, 0x2d, 0xd0, 0x2d, 0xe0, 0x2d, 0xf0, 
    -	0x2d, 0x05, 0x71, 0xb4, 0x00, 0x2d, 0x10, 0x2d, 0x02, 0x72, 0xb2, 0x60, 
    -	0x2d, 0x01, 0x72, 0xb2, 0x40, 0x2d, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x22, 0xfe, 0x25, 0x04, 0x8e, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x37, 0x00, 0x00, 0x01, 0x07, 0x03, 0x63, 0x01, 0x62, 0xfe, 0xab, 
    -	0x00, 0x08, 0x00, 0xb2, 0x60, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x22, 0xfe, 0x1b, 0x02, 0x6a, 0x05, 0x3f, 0x02, 0x26, 
    -	0x00, 0x57, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x00, 0xcf, 0xfe, 0xa1, 
    -	0xff, 0xff, 0x00, 0x22, 0x00, 0x00, 0x04, 0x8e, 0x07, 0x48, 0x02, 0x26, 
    -	0x00, 0x37, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0x95, 0x01, 0x5d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x22, 
    -	0xff, 0xeb, 0x02, 0xfc, 0x06, 0x33, 0x00, 0x26, 0x00, 0x57, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x63, 0x01, 0xbc, 0x05, 0x40, 0x00, 0x10, 0x00, 0xb0, 
    -	0x1c, 0x2f, 0xb2, 0x0f, 0x1c, 0x01, 0x5d, 0xb2, 0x5f, 0x1c, 0x01, 0x5d, 
    -	0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x22, 0x00, 0x00, 0x04, 0x8e, 
    -	0x05, 0xb0, 0x00, 0x0f, 0x00, 0x4a, 0x00, 0xb0, 0x0f, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x0f, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x07, 0xd0, 
    -	0xb0, 0x0a, 0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 
    -	0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x33, 
    -	0x03, 0x96, 0xdc, 0xc5, 0xe0, 0xe0, 0xfe, 0x2d, 0x04, 0x6c, 0xfe, 0x2c, 
    -	0xdc, 0x03, 0x34, 0xfc, 0xcc, 0x03, 0x34, 0x9b, 0x01, 0x46, 0x9b, 0x9b, 
    -	0xfe, 0xba, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf8, 0xff, 0xeb, 0x02, 0x79, 
    -	0x05, 0x3f, 0x00, 0x1f, 0x00, 0x7e, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x01, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x60, 0x06, 0x01, 0x5d, 0xb2, 0x10, 0x06, 
    -	0x01, 0x5d, 0xb2, 0xc0, 0x06, 0x01, 0x5d, 0xb0, 0x06, 0x10, 0xb1, 0x07, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x13, 
    -	0x10, 0xb1, 0x0c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x19, 
    -	0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x1b, 0xd0, 0xb0, 0x1c, 0xd0, 0x30, 0x31, 
    -	0x01, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 
    -	0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x01, 0x93, 0xcd, 0xcd, 
    -	0xe6, 0xe6, 0x3f, 0x34, 0x11, 0x29, 0x10, 0x1a, 0x16, 0x55, 0x2b, 0x78, 
    -	0x8e, 0xd6, 0xd6, 0xac, 0xac, 0x05, 0x3f, 0xfe, 0xfb, 0x92, 0xb5, 0x9b, 
    -	0xfe, 0xbf, 0x4c, 0x3e, 0x08, 0x06, 0x87, 0x12, 0x17, 0x91, 0x9b, 0x01, 
    -	0x41, 0x9b, 0xb5, 0x92, 0x01, 0x05, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 
    -	0xff, 0xeb, 0x04, 0xdc, 0x07, 0x54, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0xd7, 0x01, 0x61, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 
    -	0x05, 0xfd, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x62, 0x0a, 0x00, 0x20, 0x00, 0xb2, 0x5f, 0x17, 0x01, 0x72, 0xb2, 0x8f, 
    -	0x17, 0x01, 0x71, 0xb2, 0x3f, 0x17, 0x01, 0x72, 0xb4, 0xef, 0x17, 0xff, 
    -	0x17, 0x02, 0x71, 0xb4, 0x0f, 0x17, 0x1f, 0x17, 0x02, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 0x06, 0xfa, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 0x00, 0xdb, 0x01, 0x4a, 
    -	0x00, 0x08, 0x00, 0xb2, 0x0f, 0x13, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 0x05, 0xa5, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x71, 0x66, 0xf5, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 0x07, 0x4e, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x01, 0x0d, 0x01, 0x9e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 
    -	0x16, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x03, 0xfc, 0x05, 0xf7, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0x98, 0x00, 0x47, 0x00, 0x33, 0x00, 0xb2, 
    -	0x8f, 0x18, 0x01, 0x71, 0xb2, 0xcf, 0x18, 0x01, 0x71, 0xb2, 0x1f, 0x18, 
    -	0x01, 0x72, 0xb6, 0x3f, 0x18, 0x4f, 0x18, 0x5f, 0x18, 0x03, 0x5d, 0xb2, 
    -	0xff, 0x18, 0x01, 0x71, 0xb2, 0xaf, 0x18, 0x01, 0x71, 0xb6, 0x60, 0x18, 
    -	0x70, 0x18, 0x80, 0x18, 0x03, 0x5d, 0xb2, 0x00, 0x18, 0x01, 0x71, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 
    -	0x07, 0x8c, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x56, 
    -	0x01, 0x63, 0x01, 0xaa, 0x00, 0x49, 0x00, 0xb2, 0xb0, 0x1b, 0x01, 0x72, 
    -	0xb2, 0x2f, 0x1b, 0x01, 0x5d, 0xb2, 0x0f, 0x1b, 0x01, 0x5d, 0xb2, 0x7f, 
    -	0x1b, 0x01, 0x5d, 0xb2, 0x00, 0x1b, 0x01, 0x72, 0xb2, 0x70, 0x1b, 0x01, 
    -	0x72, 0xb2, 0x50, 0x1b, 0x01, 0x72, 0xb2, 0x70, 0x21, 0x01, 0x72, 0xb2, 
    -	0x2f, 0x21, 0x01, 0x5d, 0xb2, 0x0f, 0x21, 0x01, 0x5d, 0xb2, 0x7f, 0x21, 
    -	0x01, 0x5d, 0xb2, 0xb0, 0x21, 0x01, 0x72, 0xb2, 0x50, 0x21, 0x01, 0x72, 
    -	0xb2, 0x00, 0x21, 0x01, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x03, 0xfc, 0x06, 0x35, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x00, 0xee, 0x00, 0x53, 0x00, 0x83, 0x00, 0xb2, 
    -	0xa0, 0x1d, 0x01, 0x5d, 0xb4, 0xe0, 0x1d, 0xf0, 0x1d, 0x02, 0x5d, 0xb2, 
    -	0x00, 0x1d, 0x01, 0x72, 0xb4, 0x2f, 0x1d, 0x3f, 0x1d, 0x02, 0x5d, 0xb2, 
    -	0x8f, 0x1d, 0x01, 0x71, 0xb2, 0x0f, 0x1d, 0x01, 0x5d, 0xb2, 0x6f, 0x1d, 
    -	0x01, 0x71, 0xb2, 0x50, 0x1d, 0x01, 0x72, 0xb2, 0x10, 0x1d, 0x01, 0x71, 
    -	0xb2, 0xc0, 0x1d, 0x01, 0x5d, 0xb2, 0x80, 0x1d, 0x01, 0x5d, 0xb2, 0x60, 
    -	0x1d, 0x01, 0x5d, 0xb2, 0xa0, 0x23, 0x01, 0x5d, 0xb4, 0xe0, 0x23, 0xf0, 
    -	0x23, 0x02, 0x5d, 0xb2, 0x00, 0x23, 0x01, 0x72, 0xb4, 0x2f, 0x23, 0x3f, 
    -	0x23, 0x02, 0x5d, 0xb2, 0x8f, 0x23, 0x01, 0x71, 0xb2, 0x0f, 0x23, 0x01, 
    -	0x5d, 0xb2, 0x6f, 0x23, 0x01, 0x71, 0xb2, 0x50, 0x23, 0x01, 0x72, 0xb2, 
    -	0x10, 0x23, 0x01, 0x71, 0xb2, 0xc0, 0x23, 0x01, 0x5d, 0xb2, 0x80, 0x23, 
    -	0x01, 0x5d, 0xb2, 0x60, 0x23, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x04, 0xdc, 0x07, 0x4b, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 0x01, 0x69, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 
    -	0x1b, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x04, 0x3e, 0x05, 0xf4, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x59, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x0d, 0x00, 0xb2, 
    -	0xdf, 0x17, 0x01, 0x71, 0xb2, 0xdf, 0x1d, 0x01, 0x71, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0xfe, 0x50, 0x04, 0xdc, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x38, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x01, 0xa9, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8b, 0xfe, 0x50, 0x04, 0x32, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x58, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 0x02, 0x5f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x36, 0x00, 0x00, 0x06, 0xcf, 0x07, 0x48, 0x02, 0x26, 
    -	0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x01, 0xa5, 0x01, 0x5d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 
    -	0x1a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2d, 
    -	0x00, 0x00, 0x05, 0xdc, 0x05, 0xf1, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x01, 0x28, 0x00, 0x06, 0x00, 0x14, 0x00, 0xb4, 
    -	0x2f, 0x1a, 0x3f, 0x1a, 0x02, 0x72, 0xb2, 0x7f, 0x1a, 0x01, 0x72, 0xb2, 
    -	0x5f, 0x1a, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x04, 0xce, 0x07, 0x47, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x52, 0x00, 0x94, 0x01, 0x5c, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 
    -	0x05, 0xf1, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x25, 0x06, 0x00, 0x14, 0x00, 0xb4, 0x2f, 0x1a, 0x3f, 0x1a, 0x02, 0x72, 
    -	0xb2, 0x7f, 0x1a, 0x01, 0x72, 0xb2, 0x5f, 0x1a, 0x01, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 0x07, 0x0c, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x6f, 0x01, 0x5c, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0x00, 0x00, 0x04, 0x6d, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x3d, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x84, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x0a, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5e, 
    -	0x00, 0x00, 0x03, 0xba, 0x05, 0xc7, 0x02, 0x26, 0x00, 0x5d, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x2f, 0x00, 0x02, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x0d, 0x01, 0x71, 0xb6, 0xdf, 0x0d, 0xef, 0x0d, 0xff, 0x0d, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x0d, 0x1f, 0x0d, 0x2f, 0x0d, 0x3f, 0x0d, 0x4f, 
    -	0x0d, 0x5f, 0x0d, 0x6f, 0x0d, 0x7f, 0x0d, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0x00, 0x00, 0x04, 0x6d, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x3d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x54, 0x01, 0x5d, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5e, 
    -	0x00, 0x00, 0x03, 0xba, 0x05, 0xb6, 0x02, 0x26, 0x00, 0x5d, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x00, 0xff, 0x00, 0x06, 0x00, 0x34, 0x00, 0xb2, 
    -	0xbf, 0x0a, 0x01, 0x5d, 0xb6, 0xdf, 0x0b, 0xef, 0x0b, 0xff, 0x0b, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x0b, 0x1f, 0x0b, 0x2f, 0x0b, 0x3f, 0x0b, 0x4f, 
    -	0x0b, 0x5f, 0x0b, 0x6f, 0x0b, 0x7f, 0x0b, 0x08, 0x72, 0xb2, 0xdf, 0x0b, 
    -	0x01, 0x5d, 0xb2, 0xaf, 0x0b, 0x01, 0x71, 0xb2, 0x8f, 0x0b, 0x01, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0x00, 0x00, 0x04, 0x6d, 
    -	0x07, 0x49, 0x02, 0x26, 0x00, 0x3d, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 
    -	0x00, 0x9b, 0x01, 0x5e, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x5e, 0x00, 0x00, 0x03, 0xba, 0x05, 0xf2, 0x02, 0x26, 
    -	0x00, 0x5d, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x46, 0x07, 0x00, 0x14, 
    -	0x00, 0xb4, 0x2f, 0x0f, 0x3f, 0x0f, 0x02, 0x72, 0xb2, 0x7f, 0x0f, 0x01, 
    -	0x72, 0xb2, 0x5f, 0x0f, 0x01, 0x72, 0x30, 0x31, 0x00, 0x01, 0x00, 0x9f, 
    -	0x00, 0x00, 0x02, 0x87, 0x06, 0x2d, 0x00, 0x0f, 0x00, 0x22, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 
    -	0x9f, 0xb6, 0xa2, 0x21, 0x45, 0x2a, 0x18, 0x14, 0x2c, 0x19, 0x57, 0x5b, 
    -	0x04, 0xc3, 0xad, 0xbd, 0x0b, 0x0a, 0x91, 0x05, 0x06, 0x6d, 0x62, 0xfb, 
    -	0x3d, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe9, 0xfe, 0x4b, 0x02, 0xc0, 
    -	0x06, 0x2d, 0x00, 0x23, 0x00, 0x65, 0x00, 0xb0, 0x17, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x08, 0x3e, 
    -	0x59, 0xb0, 0x22, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x10, 
    -	0xd0, 0xb2, 0x2f, 0x17, 0x01, 0x5d, 0xb0, 0x17, 0x10, 0xb1, 0x1e, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x23, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 
    -	0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x33, 0x02, 
    -	0x61, 0xc4, 0xab, 0x9a, 0x20, 0x34, 0x1b, 0x0e, 0x0c, 0x43, 0x12, 0x3c, 
    -	0x44, 0xa9, 0xa9, 0xb5, 0xa2, 0x22, 0x45, 0x2a, 0x18, 0x12, 0x33, 0x1b, 
    -	0x57, 0x54, 0xc4, 0x03, 0xa8, 0xfb, 0xff, 0xa7, 0xb5, 0x09, 0x09, 0x96, 
    -	0x05, 0x08, 0x67, 0x5a, 0x04, 0x01, 0x92, 0x89, 0xad, 0xbd, 0x0b, 0x0a, 
    -	0x96, 0x04, 0x06, 0x67, 0x62, 0x89, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6c, 
    -	0xff, 0xeb, 0x05, 0xff, 0x06, 0x75, 0x00, 0x17, 0x00, 0x25, 0x00, 0x3e, 
    -	0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x1b, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x22, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x10, 0x00, 0x21, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 
    -	0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 0x07, 0x16, 
    -	0x16, 0x15, 0x27, 0x34, 0x02, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 
    -	0x33, 0x32, 0x36, 0x35, 0x04, 0xfd, 0xfe, 0xb5, 0xfe, 0xf8, 0xff, 0xfe, 
    -	0xc1, 0x01, 0x3f, 0xff, 0x78, 0xce, 0x4f, 0x7b, 0x80, 0xc5, 0xb0, 0xa2, 
    -	0x26, 0x2a, 0xc5, 0xd8, 0xb6, 0xac, 0xcd, 0xcd, 0xac, 0xb7, 0xd7, 0x02, 
    -	0x56, 0xfe, 0xf5, 0xfe, 0xa0, 0x01, 0x60, 0x01, 0x0b, 0x01, 0x03, 0x01, 
    -	0x0a, 0x01, 0x62, 0x50, 0x49, 0x0b, 0xab, 0x93, 0xc0, 0xf3, 0x24, 0x47, 
    -	0xa6, 0x58, 0x02, 0xc8, 0x01, 0x00, 0xff, 0x00, 0xc8, 0xfe, 0xfb, 0xca, 
    -	0xff, 0x00, 0xff, 0xcb, 0x00, 0x02, 0x00, 0x61, 0xff, 0xeb, 0x04, 0xe8, 
    -	0x04, 0xc7, 0x00, 0x17, 0x00, 0x25, 0x00, 0x3b, 0x00, 0xb0, 0x09, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 0x32, 
    -	0x16, 0x17, 0x36, 0x36, 0x35, 0x33, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x61, 0x01, 0x04, 
    -	0xdf, 0x66, 0xaa, 0x40, 0x52, 0x50, 0xb2, 0x85, 0x81, 0x23, 0x25, 0xfe, 
    -	0xfc, 0xe0, 0xe0, 0xfe, 0xfb, 0xc5, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x8e, 
    -	0x8d, 0x91, 0x02, 0x27, 0xf0, 0x01, 0x37, 0x46, 0x3f, 0x12, 0x84, 0x68, 
    -	0x8f, 0xbc, 0x20, 0x42, 0x9d, 0x56, 0x16, 0xf2, 0xfe, 0xcc, 0x01, 0x35, 
    -	0xf1, 0xac, 0xe0, 0xe0, 0xac, 0x16, 0xaa, 0xe2, 0xe2, 0xaa, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x93, 0xff, 0xeb, 0x06, 0x57, 0x06, 0x37, 0x00, 0x1b, 
    -	0x00, 0x45, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x02, 0x10, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x13, 0x10, 0xb0, 0x1b, 0xd0, 0x30, 0x31, 0x01, 
    -	0x15, 0x17, 0x36, 0x36, 0x35, 0x33, 0x17, 0x16, 0x06, 0x07, 0x11, 0x14, 
    -	0x04, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x11, 0x04, 0xdc, 0x06, 0x56, 0x5c, 0xbe, 0x03, 0x02, 0xc4, 
    -	0xb7, 0xfe, 0xcb, 0xf9, 0xf0, 0xfe, 0xd5, 0xc5, 0xbc, 0x9a, 0xa2, 0xc7, 
    -	0x05, 0xb0, 0xb2, 0x02, 0x1b, 0xa3, 0x7d, 0x05, 0xc1, 0xf3, 0x22, 0xfd, 
    -	0x79, 0xee, 0xfc, 0xfd, 0xed, 0x03, 0xdb, 0xfc, 0x25, 0xa5, 0xab, 0xab, 
    -	0xa5, 0x03, 0xdb, 0x00, 0x00, 0x01, 0x00, 0x8b, 0xff, 0xeb, 0x05, 0x6a, 
    -	0x04, 0xcb, 0x00, 0x1d, 0x00, 0x5b, 0x00, 0xb0, 0x1a, 0x2f, 0xb0, 0x1d, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x04, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 
    -	0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x16, 0x06, 0x07, 0x11, 0x23, 0x27, 0x06, 0x06, 0x23, 
    -	0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 
    -	0x11, 0x33, 0x15, 0x17, 0x36, 0x36, 0x35, 0x05, 0x64, 0x03, 0x03, 0xb1, 
    -	0xbd, 0xb1, 0x0d, 0x33, 0xa0, 0x69, 0xb1, 0xc6, 0xc5, 0x66, 0x6c, 0x69, 
    -	0x89, 0x23, 0xc5, 0x06, 0x64, 0x55, 0x04, 0xcb, 0x06, 0xb1, 0xc0, 0x0e, 
    -	0xfc, 0xba, 0xa0, 0x57, 0x5e, 0xe2, 0xef, 0x02, 0x7e, 0xfd, 0x80, 0xad, 
    -	0x82, 0x55, 0x4e, 0x03, 0x0c, 0x72, 0x02, 0x07, 0x80, 0x7e, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xbc, 0xfe, 0x4b, 0x02, 0x4c, 0x05, 0xe0, 0x02, 0x26, 
    -	0x01, 0x50, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0xff, 0x4a, 0xff, 0xf5, 
    -	0x00, 0x14, 0x00, 0xb4, 0x2f, 0x15, 0x3f, 0x15, 0x02, 0x72, 0xb2, 0x7f, 
    -	0x15, 0x01, 0x72, 0xb2, 0x5f, 0x15, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 0x08, 0x25, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0xad, 0x01, 0x4c, 0x01, 0xb3, 
    -	0x00, 0x53, 0x00, 0xb0, 0x1a, 0x2f, 0xb0, 0x0c, 0x2f, 0xb4, 0x4f, 0x0c, 
    -	0x5f, 0x0c, 0x02, 0x71, 0xb2, 0x3f, 0x0c, 0x01, 0x72, 0xb2, 0x8f, 0x0c, 
    -	0x01, 0x71, 0xb2, 0xaf, 0x1a, 0x01, 0x5d, 0xb2, 0xef, 0x1a, 0x01, 0x5d, 
    -	0xb4, 0x4f, 0x1a, 0x5f, 0x1a, 0x02, 0x71, 0xb2, 0x3f, 0x1a, 0x01, 0x72, 
    -	0xb2, 0x8f, 0x1a, 0x01, 0x71, 0xb2, 0x0f, 0x1a, 0x01, 0x71, 0xb2, 0xcf, 
    -	0x1a, 0x01, 0x5d, 0xb4, 0x6f, 0x1a, 0x7f, 0x1a, 0x02, 0x5d, 0xb4, 0x1f, 
    -	0x1a, 0x2f, 0x1a, 0x02, 0x5d, 0xb0, 0x1a, 0x10, 0xb0, 0x20, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x06, 0xe3, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x03, 0xad, 
    -	0x00, 0xe4, 0x00, 0x71, 0xff, 0xff, 0xff, 0xec, 0x00, 0x00, 0x07, 0x61, 
    -	0x07, 0x1e, 0x02, 0x26, 0x00, 0x88, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0xca, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x14, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x3a, 0xff, 0xeb, 0x06, 0x7c, 
    -	0x05, 0xdd, 0x02, 0x26, 0x00, 0xa8, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x02, 0x7e, 0x00, 0x18, 0x00, 0x16, 0x00, 0xb2, 0xbf, 0x46, 0x01, 0x71, 
    -	0xb6, 0xdf, 0x46, 0xef, 0x46, 0xff, 0x46, 0x03, 0x71, 0xb2, 0x0f, 0x46, 
    -	0x01, 0x72, 0x30, 0x31, 0xff, 0xff, 0x00, 0x71, 0xff, 0xa2, 0x05, 0x02, 
    -	0x07, 0x5c, 0x02, 0x26, 0x00, 0x9a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xdd, 0x01, 0x97, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x36, 0x2f, 0x1b, 0xb1, 0x36, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0x79, 0x04, 0x2a, 0x05, 0xdb, 0x02, 0x26, 
    -	0x00, 0xba, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x3e, 0x00, 0x16, 
    -	0x00, 0x1f, 0x00, 0xb2, 0xbf, 0x35, 0x01, 0x71, 0xb6, 0xdf, 0x35, 0xef, 
    -	0x35, 0xff, 0x35, 0x03, 0x71, 0x40, 0x0b, 0x0f, 0x35, 0x1f, 0x35, 0x2f, 
    -	0x35, 0x3f, 0x35, 0x4f, 0x35, 0x05, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xfe, 0x11, 0x04, 0x92, 0x05, 0xc5, 0x02, 0x26, 
    -	0x00, 0x36, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x6c, 0xfe, 0x97, 
    -	0xff, 0xff, 0x00, 0x67, 0xfe, 0x12, 0x03, 0xc9, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x56, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x1e, 0xfe, 0x98, 
    -	0x00, 0x01, 0xff, 0xbc, 0xfe, 0x4b, 0x01, 0x70, 0x04, 0x3a, 0x00, 0x0f, 
    -	0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x08, 0x3e, 0x59, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x01, 
    -	0x70, 0xac, 0x99, 0x1f, 0x33, 0x1d, 0x0e, 0x0e, 0x41, 0x12, 0x3b, 0x45, 
    -	0x04, 0x3a, 0xfb, 0x6d, 0xa7, 0xb5, 0x09, 0x09, 0x96, 0x05, 0x08, 0x67, 
    -	0x5a, 0x04, 0x93, 0x00, 0xff, 0xff, 0x00, 0x50, 0x03, 0xfd, 0x01, 0x51, 
    -	0x06, 0x18, 0x03, 0x06, 0x03, 0x35, 0x00, 0x00, 0x00, 0x06, 0x00, 0xb0, 
    -	0x04, 0x2f, 0x30, 0x31, 0x00, 0x01, 0x00, 0xab, 0x04, 0xe4, 0x03, 0x11, 
    -	0x05, 0xeb, 0x00, 0x08, 0x00, 0x49, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x8f, 
    -	0x04, 0x01, 0x71, 0xb2, 0xff, 0x04, 0x01, 0x71, 0xb2, 0xaf, 0x04, 0x01, 
    -	0x71, 0xb2, 0xdf, 0x04, 0x01, 0x5d, 0xb2, 0x3f, 0x04, 0x01, 0x5d, 0xb0, 
    -	0x02, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb2, 0xaf, 0x07, 0x01, 0x5d, 0xb6, 0x0f, 0x07, 0x1f, 
    -	0x07, 0x2f, 0x07, 0x03, 0x5d, 0xb2, 0x2f, 0x07, 0x01, 0x71, 0xb2, 0x03, 
    -	0x04, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x15, 0x23, 0x27, 0x07, 
    -	0x23, 0x35, 0x37, 0x33, 0x03, 0x11, 0xa1, 0x93, 0x92, 0xa0, 0xf6, 0x78, 
    -	0x04, 0xfd, 0x19, 0x94, 0x94, 0x1a, 0xed, 0x00, 0x00, 0x01, 0x00, 0x8c, 
    -	0x04, 0xe4, 0x03, 0x02, 0x05, 0xeb, 0x00, 0x08, 0x00, 0x46, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb2, 0x8f, 0x04, 0x01, 0x71, 0xb2, 0xff, 0x04, 0x01, 0x71, 
    -	0xb2, 0xaf, 0x04, 0x01, 0x71, 0xb2, 0xdf, 0x04, 0x01, 0x5d, 0xb2, 0x3f, 
    -	0x04, 0x01, 0x5d, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb2, 0x2f, 0x08, 0x01, 0x71, 0xb2, 0xaf, 0x08, 0x01, 0x5d, 0xb6, 
    -	0x0f, 0x08, 0x1f, 0x08, 0x2f, 0x08, 0x03, 0x5d, 0xb2, 0x00, 0x04, 0x08, 
    -	0x11, 0x12, 0x39, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 0x37, 0x33, 0x15, 
    -	0x05, 0x23, 0x27, 0x35, 0x33, 0x01, 0xc5, 0x93, 0xaa, 0xfe, 0xff, 0x77, 
    -	0xfe, 0xa6, 0x05, 0x57, 0x94, 0x12, 0xf5, 0xf3, 0x14, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x81, 0x04, 0xa4, 0x02, 0xd8, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x47, 0x00, 0xb0, 0x04, 0x2f, 0xb2, 0x2f, 0x04, 0x01, 0x5d, 0xb2, 
    -	0x9f, 0x04, 0x01, 0x5d, 0xb2, 0x7f, 0x04, 0x01, 0x5d, 0xb2, 0x0f, 0x04, 
    -	0x01, 0x5d, 0xb2, 0x40, 0x04, 0x01, 0x5d, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xff, 0x0c, 0x01, 0x5d, 0xb2, 0x0f, 
    -	0x0c, 0x01, 0x71, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb4, 0xaf, 0x09, 0xbf, 0x09, 0x02, 0x5d, 0xb0, 0x0f, 0xd0, 0x30, 
    -	0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x02, 0xd2, 0x02, 0x04, 0xa2, 0x89, 0x8a, 
    -	0xa2, 0x05, 0x02, 0x97, 0x44, 0x4a, 0x48, 0x46, 0x05, 0xb0, 0x06, 0x74, 
    -	0x92, 0x92, 0x74, 0x06, 0x42, 0x52, 0x53, 0x41, 0x00, 0x01, 0x00, 0xa0, 
    -	0x04, 0xe7, 0x01, 0x7a, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x17, 0x00, 0xb0, 
    -	0x01, 0x2f, 0xb2, 0x3f, 0x01, 0x01, 0x5d, 0xb1, 0x02, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x35, 
    -	0x33, 0x01, 0x7a, 0xda, 0xda, 0x04, 0xe7, 0xc9, 0x00, 0x02, 0x00, 0x85, 
    -	0x04, 0x5a, 0x02, 0x22, 0x05, 0xe2, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x38, 
    -	0x00, 0x7c, 0xb0, 0x09, 0x2f, 0x18, 0xb2, 0x40, 0x09, 0x01, 0x5d, 0xb0, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x3f, 0x03, 
    -	0x4f, 0x03, 0x02, 0x5d, 0xb0, 0x09, 0x10, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x15, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x85, 0x79, 0x57, 0x55, 
    -	0x78, 0x77, 0x56, 0x57, 0x79, 0x67, 0x3e, 0x2b, 0x2a, 0x3c, 0x3c, 0x2a, 
    -	0x2b, 0x3e, 0x05, 0x1c, 0x54, 0x72, 0x71, 0x55, 0x56, 0x6c, 0x6c, 0x56, 
    -	0x2b, 0x3d, 0x3b, 0x2d, 0x2d, 0x3e, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x44, 
    -	0xfe, 0x50, 0x01, 0xd3, 0x00, 0x39, 0x00, 0x13, 0x00, 0x29, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x08, 0x3e, 0x59, 
    -	0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0d, 0x10, 0xb0, 0x13, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0x30, 0x31, 0x21, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x01, 
    -	0x84, 0x46, 0x4f, 0x2d, 0x33, 0x1b, 0x2e, 0x1a, 0x21, 0x24, 0x57, 0x3c, 
    -	0x5f, 0x79, 0x79, 0x7f, 0x34, 0x5f, 0x36, 0x2a, 0x30, 0x0f, 0x0b, 0x7b, 
    -	0x13, 0x19, 0x6e, 0x63, 0x50, 0x90, 0x38, 0x00, 0x00, 0x01, 0x00, 0x87, 
    -	0x04, 0xe1, 0x03, 0x3d, 0x05, 0xf3, 0x00, 0x13, 0x00, 0x4e, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb2, 0x6f, 0x03, 0x01, 0x71, 0xb2, 0x3f, 0x03, 0x01, 0x5d, 
    -	0xb2, 0xbf, 0x03, 0x01, 0x5d, 0xb2, 0x80, 0x03, 0x01, 0x5d, 0xb0, 0x06, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x09, 0xd0, 0xb0, 0x06, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x10, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb0, 
    -	0x13, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x03, 0x3d, 0x77, 0x5a, 0x47, 0x9a, 0x33, 0x2b, 0x3a, 0x6c, 0x76, 0x5b, 
    -	0x38, 0xa8, 0x34, 0x29, 0x3c, 0x05, 0xd3, 0x5e, 0x82, 0x5d, 0x41, 0x2e, 
    -	0x1a, 0x5d, 0x89, 0x5e, 0x41, 0x2f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x64, 
    -	0x04, 0xe4, 0x03, 0x4a, 0x05, 0xee, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x03, 0x2f, 0xb2, 0x3f, 0x03, 0x01, 0x5d, 0xb2, 0x6f, 0x03, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x03, 0x01, 0x5d, 0xb2, 0x8f, 0x03, 0x01, 0x5d, 
    -	0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xaf, 
    -	0x00, 0x01, 0x5d, 0xb6, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x03, 0x5d, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x09, 0xd0, 0x30, 0x31, 0x01, 
    -	0x33, 0x17, 0x01, 0x23, 0x27, 0x03, 0x33, 0x17, 0x03, 0x23, 0x02, 0x62, 
    -	0xe5, 0x03, 0xfe, 0xd4, 0xab, 0x02, 0x55, 0xd3, 0x02, 0xf0, 0x9d, 0x05, 
    -	0xee, 0x06, 0xfe, 0xfc, 0x05, 0x01, 0x05, 0x05, 0xfe, 0xfb, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0xb6, 0xfe, 0x85, 0x01, 0xec, 0xff, 0xac, 0x00, 0x0b, 
    -	0x00, 0x17, 0x00, 0x31, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0f, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x15, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0xb6, 0x5b, 0x42, 0x3f, 0x5a, 0x59, 0x40, 
    -	0x42, 0x5b, 0x59, 0x28, 0x1c, 0x1a, 0x26, 0x26, 0x1a, 0x1c, 0x28, 0xea, 
    -	0x41, 0x55, 0x55, 0x41, 0x3f, 0x52, 0x52, 0x3f, 0x1a, 0x26, 0x25, 0x1b, 
    -	0x1e, 0x27, 0x28, 0x00, 0x00, 0x01, 0xfc, 0xd1, 0x04, 0xba, 0xfe, 0x04, 
    -	0x06, 0x16, 0x00, 0x03, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x23, 
    -	0x03, 0x33, 0xfe, 0x04, 0x83, 0xb0, 0xba, 0x04, 0xba, 0x01, 0x5c, 0x00, 
    -	0x00, 0x01, 0xfd, 0x6f, 0x04, 0xba, 0xfe, 0xa4, 0x06, 0x17, 0x00, 0x03, 
    -	0x00, 0x10, 0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x33, 0x03, 0x23, 0xfd, 0xee, 
    -	0xb6, 0xbc, 0x79, 0x06, 0x17, 0xfe, 0xa3, 0x00, 0xff, 0xff, 0xfc, 0x8d, 
    -	0x04, 0xe1, 0xff, 0x43, 0x05, 0xf3, 0x00, 0x07, 0x01, 0x58, 0xfc, 0x06, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfd, 0x5b, 0x04, 0xda, 0xfe, 0x93, 
    -	0x06, 0x76, 0x00, 0x0f, 0x00, 0x33, 0x00, 0x7c, 0xb0, 0x00, 0x2f, 0x18, 
    -	0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x08, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x01, 0x10, 0xb0, 0x0e, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x27, 0x36, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x07, 0xfd, 0x6f, 0x01, 0x4c, 0x41, 0x57, 0x49, 0x07, 0x93, 0x9e, 0x56, 
    -	0x41, 0x01, 0x04, 0xda, 0x9a, 0x04, 0x20, 0x25, 0x27, 0x26, 0x6c, 0x67, 
    -	0x56, 0x46, 0x49, 0x09, 0x47, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfc, 0x2c, 
    -	0x04, 0xe4, 0xff, 0x12, 0x05, 0xee, 0x00, 0x05, 0x00, 0x0a, 0x00, 0x22, 
    -	0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x02, 0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x0a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x0f, 0x0a, 0x1f, 
    -	0x0a, 0x2f, 0x0a, 0x03, 0x5d, 0xb0, 0x05, 0xd0, 0x30, 0x31, 0x01, 0x07, 
    -	0x23, 0x01, 0x37, 0x33, 0x01, 0x23, 0x03, 0x37, 0x33, 0xfe, 0x05, 0x02, 
    -	0xab, 0xfe, 0xd4, 0x03, 0xe5, 0x01, 0xfe, 0x9d, 0xf1, 0x02, 0xd4, 0x04, 
    -	0xe9, 0x05, 0x01, 0x04, 0x06, 0xfe, 0xf6, 0x01, 0x05, 0x05, 0x00, 0x00, 
    -	0x00, 0x01, 0xfd, 0x3c, 0xfe, 0xaf, 0xfe, 0x16, 0xff, 0x77, 0x00, 0x03, 
    -	0x00, 0x1c, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x00, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x35, 0x33, 0xfe, 0x16, 
    -	0xda, 0xda, 0xfe, 0xaf, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc3, 
    -	0x04, 0xf6, 0x01, 0xd0, 0x06, 0x72, 0x00, 0x03, 0x00, 0x1a, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb2, 0x0f, 0x00, 0x01, 0x5d, 0xb2, 0x5f, 0x00, 0x01, 0x5d, 
    -	0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 
    -	0x01, 0x33, 0x03, 0x23, 0x01, 0x00, 0xd0, 0xaf, 0x5e, 0x06, 0x72, 0xfe, 
    -	0x84, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xa1, 0x04, 0xe8, 0x03, 0x65, 
    -	0x06, 0xc2, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x27, 0x00, 0x7c, 
    -	0xb0, 0x05, 0x2f, 0x18, 0xb0, 0x01, 0xd0, 0xb1, 0x02, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0xd0, 0xb0, 0x0b, 
    -	0xd0, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 
    -	0x31, 0x01, 0x23, 0x35, 0x33, 0x05, 0x23, 0x35, 0x33, 0x13, 0x33, 0x03, 
    -	0x23, 0x03, 0x65, 0xc7, 0xc7, 0xfe, 0x02, 0xc6, 0xc6, 0x8a, 0xda, 0x7f, 
    -	0x8e, 0x04, 0xe8, 0xc8, 0xc8, 0xc8, 0x01, 0x12, 0xfe, 0xfa, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 0x06, 0x72, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x00, 0x06, 0x01, 0x61, 0x2e, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xa1, 0x02, 0x70, 0x01, 0x67, 0x03, 0x44, 0x01, 0x06, 
    -	0x00, 0x79, 0x00, 0x00, 0x00, 0x06, 0x00, 0xb0, 0x02, 0x2f, 0x30, 0x31, 
    -	0xff, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x04, 0xde, 0x06, 0x74, 0x00, 0x26, 
    -	0x00, 0x28, 0x64, 0x00, 0x00, 0x07, 0x01, 0x61, 0xff, 0x20, 0x00, 0x02, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x65, 0x06, 0x74, 0x00, 0x26, 
    -	0x00, 0x2b, 0x64, 0x00, 0x00, 0x07, 0x01, 0x61, 0xff, 0x51, 0x00, 0x02, 
    -	0xff, 0xff, 0x00, 0x18, 0x00, 0x00, 0x01, 0xe8, 0x06, 0x73, 0x00, 0x26, 
    -	0x00, 0x2c, 0x64, 0x00, 0x00, 0x07, 0x01, 0x61, 0xff, 0x55, 0x00, 0x01, 
    -	0xff, 0xff, 0x00, 0x44, 0xff, 0xeb, 0x05, 0x16, 0x06, 0x72, 0x00, 0x26, 
    -	0x00, 0x32, 0x14, 0x00, 0x00, 0x06, 0x01, 0x61, 0x81, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0x81, 0x00, 0x00, 0x05, 0x32, 0x06, 0x72, 0x00, 0x26, 
    -	0x00, 0x3c, 0x64, 0x00, 0x00, 0x07, 0x01, 0x61, 0xfe, 0xbe, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x3d, 0x00, 0x00, 0x04, 0xe4, 0x06, 0x72, 0x00, 0x26, 
    -	0x01, 0x83, 0x14, 0x00, 0x00, 0x07, 0x01, 0x61, 0xff, 0x7a, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xcd, 0xff, 0xeb, 0x02, 0x91, 0x06, 0x7a, 0x02, 0x26, 
    -	0x01, 0x93, 0x00, 0x00, 0x00, 0x07, 0x01, 0x62, 0xff, 0x2c, 0xff, 0xb8, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x24, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xaf, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x25, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x31, 0x05, 0xb0, 0x00, 0x05, 0x00, 0x2c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 
    -	0x04, 0x31, 0xfd, 0x48, 0xc5, 0x03, 0x7d, 0x05, 0x15, 0xfa, 0xeb, 0x05, 
    -	0xb0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1e, 0x00, 0x00, 0x05, 0x70, 
    -	0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x42, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 
    -	0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x00, 0x10, 0xb0, 0x06, 0xd0, 0xb4, 0x8f, 0x06, 0x9f, 0x06, 0x02, 0x5d, 
    -	0xb2, 0x7d, 0x06, 0x01, 0x5d, 0xb4, 0x5b, 0x06, 0x6b, 0x06, 0x02, 0x5d, 
    -	0x30, 0x31, 0x01, 0x33, 0x01, 0x21, 0x25, 0x21, 0x01, 0x23, 0x02, 0x87, 
    -	0xa9, 0x02, 0x40, 0xfa, 0xae, 0x01, 0x08, 0x03, 0x46, 0xfe, 0x70, 0x06, 
    -	0x05, 0xb0, 0xfa, 0x50, 0x9a, 0x04, 0x1a, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x28, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0x00, 0x00, 0x04, 0x6d, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x00, 0x03, 0x00, 0x11, 0x00, 0x1f, 
    -	0x00, 0x70, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 
    -	0x2f, 0x1b, 0xb1, 0x0e, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb2, 0xcf, 0x02, 0x01, 
    -	0x5d, 0xb2, 0x1f, 0x02, 0x01, 0x71, 0xb2, 0xef, 0x02, 0x01, 0x71, 0xb2, 
    -	0xbf, 0x02, 0x01, 0x71, 0xb2, 0xef, 0x02, 0x01, 0x5d, 0xb2, 0x7f, 0x02, 
    -	0x01, 0x5d, 0xb2, 0x2f, 0x02, 0x01, 0x5d, 0xb0, 0x02, 0x10, 0xb1, 0x00, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 
    -	0x10, 0xb1, 0x15, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x05, 0x10, 
    -	0x00, 0x21, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x20, 0x00, 0x11, 
    -	0x27, 0x34, 0x02, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 0x32, 
    -	0x36, 0x35, 0x03, 0xbf, 0xfe, 0x03, 0x01, 0xfd, 0x01, 0x43, 0xfe, 0xb5, 
    -	0xfe, 0xf8, 0xff, 0xfe, 0xc1, 0x01, 0x3f, 0xff, 0x01, 0x08, 0x01, 0x4b, 
    -	0xc5, 0xd8, 0xb6, 0xac, 0xcd, 0xcd, 0xac, 0xb7, 0xd7, 0x02, 0x93, 0x9a, 
    -	0xd7, 0xfe, 0xf5, 0xfe, 0xa0, 0x01, 0x60, 0x01, 0x0b, 0x01, 0x03, 0x01, 
    -	0x0a, 0x01, 0x62, 0xfe, 0x9f, 0xfe, 0xf5, 0x02, 0xc8, 0x01, 0x00, 0xff, 
    -	0x00, 0xc8, 0xfe, 0xfb, 0xca, 0xff, 0x00, 0xff, 0xcb, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x84, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x20, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x31, 
    -	0x00, 0x00, 0x05, 0x07, 0x05, 0xb0, 0x00, 0x07, 0x00, 0x45, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x00, 0xd0, 0xb2, 0x9f, 0x00, 0x01, 
    -	0x5d, 0x40, 0x0d, 0x3d, 0x00, 0x4d, 0x00, 0x5d, 0x00, 0x6d, 0x00, 0x7d, 
    -	0x00, 0x8d, 0x00, 0x06, 0x5d, 0x30, 0x31, 0x01, 0x23, 0x01, 0x23, 0x01, 
    -	0x33, 0x01, 0x23, 0x02, 0x9f, 0x06, 0xfe, 0x61, 0xc9, 0x02, 0x16, 0xaa, 
    -	0x02, 0x16, 0xc9, 0x04, 0x93, 0xfb, 0x6d, 0x05, 0xb0, 0xfa, 0x50, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x06, 0x52, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x30, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x31, 0x00, 0x00, 0x00, 0x03, 0x00, 0x7b, 
    -	0x00, 0x00, 0x04, 0x24, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 
    -	0x00, 0x59, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0xef, 0x04, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x04, 0x01, 0x5d, 0xb2, 0x70, 0x04, 0x01, 0x72, 0xb0, 
    -	0x04, 0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x37, 0x21, 0x15, 0x21, 0x13, 
    -	0x21, 0x15, 0x21, 0x03, 0x21, 0x15, 0x21, 0x7b, 0x03, 0xa9, 0xfc, 0x57, 
    -	0x53, 0x02, 0xf9, 0xfd, 0x07, 0x52, 0x03, 0x9c, 0xfc, 0x64, 0x9a, 0x9a, 
    -	0x03, 0x41, 0x9b, 0x03, 0x0a, 0x9b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x02, 0x06, 0x00, 0x32, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x03, 0x05, 0xb0, 0x00, 0x07, 
    -	0x00, 0x39, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x02, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 
    -	0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x05, 0x03, 0xc6, 0xfd, 0x3c, 
    -	0xc5, 0x04, 0x4f, 0x05, 0x15, 0xfa, 0xeb, 0x05, 0xb0, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xcc, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 0x00, 0x00, 0x04, 0x48, 
    -	0x05, 0xb0, 0x00, 0x0e, 0x00, 0x4e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x07, 0x04, 
    -	0x09, 0x11, 0x12, 0x39, 0xb0, 0x07, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x04, 
    -	0x10, 0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 
    -	0x01, 0x01, 0x17, 0x21, 0x15, 0x21, 0x35, 0x01, 0x01, 0x35, 0x21, 0x15, 
    -	0x21, 0x07, 0x01, 0x02, 0xf6, 0xfe, 0x43, 0x03, 0x03, 0x0c, 0xfb, 0xfe, 
    -	0x01, 0xe0, 0xfe, 0x20, 0x03, 0xd0, 0xfd, 0x26, 0x03, 0x01, 0xbd, 0x02, 
    -	0xcb, 0xfd, 0xd5, 0x05, 0x9b, 0x93, 0x02, 0x45, 0x02, 0x45, 0x93, 0x9b, 
    -	0x05, 0xfd, 0xd3, 0x00, 0xff, 0xff, 0x00, 0x22, 0x00, 0x00, 0x04, 0x8e, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x37, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x04, 0xce, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x3c, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x54, 0x00, 0x00, 0x05, 0x4d, 0x05, 0xb0, 0x00, 0x11, 
    -	0x00, 0x1a, 0x00, 0x23, 0x00, 0x62, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x0f, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x3f, 0x0f, 0x01, 0x5d, 0xb4, 0x5f, 0x0f, 0x6f, 
    -	0x0f, 0x02, 0x5d, 0xb0, 0x0f, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x15, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x17, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0xd0, 
    -	0xb0, 0x15, 0x10, 0xb0, 0x20, 0xd0, 0x30, 0x31, 0x01, 0x16, 0x00, 0x15, 
    -	0x14, 0x00, 0x07, 0x15, 0x23, 0x35, 0x26, 0x00, 0x35, 0x34, 0x00, 0x37, 
    -	0x35, 0x33, 0x01, 0x14, 0x16, 0x37, 0x37, 0x11, 0x27, 0x26, 0x06, 0x05, 
    -	0x34, 0x26, 0x23, 0x07, 0x11, 0x17, 0x16, 0x36, 0x03, 0x34, 0xe6, 0x01, 
    -	0x33, 0xfe, 0xcd, 0xe6, 0xc5, 0xe8, 0xfe, 0xcd, 0x01, 0x33, 0xe8, 0xc5, 
    -	0xfd, 0xe3, 0xb1, 0xa1, 0x06, 0x06, 0xa0, 0xb2, 0x03, 0x72, 0xb2, 0x9d, 
    -	0x06, 0x06, 0x9d, 0xb2, 0x04, 0xcd, 0x05, 0xfe, 0xe5, 0xda, 0xdd, 0xfe, 
    -	0xe3, 0x04, 0xd5, 0xd5, 0x03, 0x01, 0x1c, 0xdd, 0xdb, 0x01, 0x1e, 0x04, 
    -	0xe2, 0xfd, 0x21, 0xa1, 0xbb, 0x01, 0x02, 0x02, 0xb3, 0x02, 0x01, 0xbd, 
    -	0x9e, 0x9f, 0xbb, 0x02, 0xfd, 0x4d, 0x02, 0x01, 0xbd, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x42, 0x00, 0x00, 0x04, 0xd6, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x3b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x57, 0x00, 0x00, 0x05, 0x1b, 
    -	0x05, 0xb0, 0x00, 0x19, 0x00, 0x52, 0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x16, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0xd0, 0xb0, 0x0d, 0x10, 0xb0, 
    -	0x0a, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x35, 0x11, 0x33, 0x11, 
    -	0x14, 0x00, 0x07, 0x11, 0x23, 0x11, 0x26, 0x00, 0x35, 0x11, 0x33, 0x11, 
    -	0x14, 0x16, 0x17, 0x37, 0x11, 0x33, 0x03, 0x13, 0x06, 0x90, 0xad, 0xc5, 
    -	0xfe, 0xe2, 0xea, 0xc6, 0xe3, 0xfe, 0xed, 0xc4, 0xa4, 0x88, 0x06, 0xc6, 
    -	0x01, 0xe5, 0x02, 0x13, 0xd3, 0xac, 0x02, 0x3b, 0xfd, 0xc5, 0xf5, 0xfe, 
    -	0xd7, 0x18, 0xfe, 0xc1, 0x01, 0x40, 0x18, 0x01, 0x28, 0xf5, 0x02, 0x3b, 
    -	0xfd, 0xc5, 0xaa, 0xd2, 0x14, 0x01, 0x03, 0xca, 0x00, 0x01, 0x00, 0x70, 
    -	0x00, 0x00, 0x04, 0xd0, 0x05, 0xc5, 0x00, 0x23, 0x00, 0x5a, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x00, 0xd0, 0xb0, 0x19, 0x10, 0xb1, 0x07, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 
    -	0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0xd0, 0x30, 0x31, 0x25, 0x36, 0x12, 0x35, 0x35, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x15, 0x14, 0x12, 0x17, 0x15, 0x21, 0x35, 0x33, 0x26, 
    -	0x02, 0x35, 0x35, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x15, 0x14, 0x02, 
    -	0x07, 0x33, 0x15, 0x21, 0x02, 0xdf, 0x8d, 0x9d, 0xc1, 0xaa, 0xa9, 0xc0, 
    -	0xa1, 0x8f, 0xfe, 0x11, 0xea, 0x70, 0x80, 0x01, 0x35, 0xf9, 0xf9, 0x01, 
    -	0x37, 0x80, 0x6e, 0xf0, 0xfe, 0x0f, 0x9f, 0x19, 0x01, 0x1f, 0xfb, 0x76, 
    -	0xe9, 0xf9, 0xf9, 0xe9, 0x76, 0xfb, 0xfe, 0xe0, 0x18, 0x9f, 0x9a, 0x61, 
    -	0x01, 0x33, 0xa4, 0x74, 0x01, 0x1c, 0x01, 0x63, 0xfe, 0x9d, 0xfe, 0xe4, 
    -	0x74, 0xa4, 0xfe, 0xcd, 0x61, 0x9a, 0x00, 0x00, 0xff, 0xff, 0xff, 0xcb, 
    -	0x00, 0x00, 0x02, 0x7c, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0xff, 0x21, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 
    -	0x07, 0x0c, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0x6f, 0x01, 0x5c, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x62, 0xff, 0xeb, 0x04, 0x80, 0x06, 0x79, 0x02, 0x26, 
    -	0x01, 0x8b, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 0x01, 0x75, 0x00, 0x07, 
    -	0xff, 0xff, 0x00, 0x62, 0xff, 0xed, 0x03, 0xe9, 0x06, 0x78, 0x02, 0x26, 
    -	0x01, 0x8f, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 0x01, 0x2b, 0x00, 0x06, 
    -	0xff, 0xff, 0x00, 0x8f, 0xfe, 0x61, 0x03, 0xf5, 0x06, 0x79, 0x02, 0x26, 
    -	0x01, 0x91, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 0x01, 0x46, 0x00, 0x07, 
    -	0xff, 0xff, 0x00, 0xc5, 0xff, 0xeb, 0x02, 0x73, 0x06, 0x66, 0x02, 0x26, 
    -	0x01, 0x93, 0x00, 0x00, 0x00, 0x06, 0x01, 0x61, 0x32, 0xf4, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8d, 0xff, 0xeb, 0x04, 0x26, 0x06, 0x7a, 0x02, 0x26, 
    -	0x01, 0x9f, 0x00, 0x00, 0x01, 0x06, 0x01, 0x62, 0x54, 0xb8, 0x00, 0x16, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x1a, 0xdc, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x62, 0xff, 0xeb, 0x04, 0x80, 0x04, 0x4e, 0x00, 0x1c, 
    -	0x00, 0x2b, 0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 
    -	0x1b, 0xb1, 0x18, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x04, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x11, 0x10, 0xb1, 0x20, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x18, 0x10, 0xb1, 0x28, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 
    -	0x06, 0x23, 0x22, 0x02, 0x35, 0x35, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 
    -	0x37, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x11, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x03, 0xe9, 0x29, 0x23, 0x0f, 0x1a, 0x0b, 0x17, 
    -	0x1d, 0x3c, 0x25, 0x4b, 0x64, 0x18, 0x37, 0x99, 0x63, 0xc6, 0xe0, 0xdf, 
    -	0xc9, 0x65, 0x9b, 0x37, 0x33, 0xfd, 0xb3, 0x87, 0x8c, 0x51, 0x72, 0x27, 
    -	0x27, 0x73, 0x4e, 0x8d, 0x88, 0x04, 0x39, 0xfc, 0xdb, 0x48, 0x38, 0x03, 
    -	0x04, 0x8e, 0x14, 0x0e, 0x40, 0x45, 0x42, 0x43, 0x01, 0x1f, 0xea, 0x15, 
    -	0x01, 0x05, 0x01, 0x40, 0x48, 0x44, 0x77, 0xfd, 0xbb, 0xa4, 0xcb, 0x47, 
    -	0x40, 0x08, 0x02, 0x1d, 0x3c, 0x46, 0xef, 0xbb, 0x00, 0x02, 0x00, 0x9d, 
    -	0xfe, 0x81, 0x04, 0x4f, 0x05, 0xc5, 0x00, 0x14, 0x00, 0x2a, 0x00, 0x57, 
    -	0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x2a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb0, 0x2a, 0x10, 
    -	0xb1, 0x29, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x06, 0x29, 0x2a, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x1b, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 
    -	0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x34, 0x24, 
    -	0x13, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x16, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0x5f, 
    -	0xc3, 0xec, 0x64, 0x57, 0x77, 0x85, 0xfd, 0xca, 0x52, 0x99, 0x3b, 0xc5, 
    -	0x01, 0x0a, 0xb4, 0x7a, 0x74, 0x7d, 0x6d, 0x6b, 0x92, 0x2c, 0x8d, 0x59, 
    -	0x81, 0x95, 0x83, 0x6f, 0x8f, 0x05, 0xc5, 0xdc, 0xae, 0x5b, 0x99, 0x2d, 
    -	0x2c, 0xc4, 0x81, 0xd1, 0xed, 0x2d, 0x2e, 0xfe, 0x3b, 0x05, 0xb0, 0xa5, 
    -	0xef, 0xfd, 0x97, 0x79, 0x6a, 0x5f, 0x8c, 0x8f, 0x6a, 0xfc, 0xc2, 0x34, 
    -	0x3a, 0xa0, 0x80, 0x70, 0xac, 0x9b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2e, 
    -	0xfe, 0x5f, 0x03, 0xe4, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x4b, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x08, 
    -	0x3e, 0x59, 0xb2, 0x09, 0x03, 0x06, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x02, 0xd0, 0xb4, 0x8c, 0x02, 0x9c, 0x02, 0x02, 0x5d, 0xb0, 0x09, 
    -	0x10, 0xb0, 0x05, 0xd0, 0xb4, 0x8c, 0x05, 0x9c, 0x05, 0x02, 0x5d, 0x30, 
    -	0x31, 0x01, 0x33, 0x01, 0x11, 0x23, 0x11, 0x01, 0x33, 0x01, 0x17, 0x33, 
    -	0x37, 0x03, 0x1b, 0xc9, 0xfe, 0x89, 0xc5, 0xfe, 0x86, 0xca, 0x01, 0x00, 
    -	0x11, 0x06, 0x13, 0x04, 0x3a, 0xfc, 0x04, 0xfe, 0x21, 0x01, 0xe4, 0x03, 
    -	0xf7, 0xfd, 0x05, 0x4c, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x05, 0xb0, 0x00, 0x16, 0x00, 0x24, 0x00, 0x57, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 0x10, 0xb1, 0x17, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x15, 0x21, 0x07, 0x01, 0x16, 0x16, 0x15, 0x15, 
    -	0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x12, 0x3f, 0x02, 0x25, 
    -	0x35, 0x01, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x34, 0x26, 0x03, 0xaa, 0xfe, 0x3a, 0x02, 0x01, 0x73, 0x65, 0x70, 
    -	0xfe, 0xfc, 0xe0, 0xe0, 0xfe, 0xfb, 0xd3, 0xb9, 0x07, 0x02, 0xfe, 0xd7, 
    -	0x01, 0x77, 0x8d, 0x91, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x05, 0xb0, 0x97, 
    -	0x06, 0xfe, 0xeb, 0x4b, 0xf6, 0x96, 0x16, 0xf2, 0xfe, 0xcc, 0x01, 0x35, 
    -	0xf1, 0x16, 0xd7, 0x01, 0x2b, 0x1e, 0x01, 0x06, 0xec, 0x76, 0xfe, 0x03, 
    -	0xe2, 0xaa, 0x16, 0xac, 0xe0, 0xe0, 0xac, 0x16, 0xaa, 0xe2, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x62, 0xff, 0xed, 0x03, 0xe9, 0x04, 0x4c, 0x00, 0x2a, 
    -	0x00, 0x8f, 0x00, 0xb0, 0x29, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 
    -	0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x5f, 0x29, 0x01, 
    -	0x5d, 0xb2, 0xff, 0x29, 0x01, 0x5d, 0xb2, 0x6f, 0x29, 0x01, 0x71, 0xb2, 
    -	0xcf, 0x29, 0x01, 0x71, 0xb2, 0x3f, 0x29, 0x01, 0x72, 0xb2, 0x6f, 0x29, 
    -	0x01, 0x72, 0xb2, 0xff, 0x29, 0x01, 0x71, 0xb2, 0x9f, 0x29, 0x01, 0x71, 
    -	0xb2, 0x2f, 0x29, 0x01, 0x71, 0xb4, 0xbf, 0x29, 0xcf, 0x29, 0x02, 0x5d, 
    -	0xb2, 0x2f, 0x29, 0x01, 0x5d, 0xb2, 0x9f, 0x29, 0x01, 0x72, 0xb0, 0x29, 
    -	0x10, 0xb1, 0x2a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x14, 0x2a, 0x29, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb1, 
    -	0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 
    -	0x17, 0x16, 0x04, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 
    -	0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x02, 0x1a, 0x79, 0x79, 
    -	0x89, 0x76, 0x70, 0x91, 0xba, 0x02, 0x05, 0xfe, 0xf6, 0xb8, 0xca, 0xfb, 
    -	0x67, 0x63, 0x57, 0x60, 0xe9, 0xc9, 0xb7, 0xf9, 0x05, 0x02, 0xba, 0x8b, 
    -	0x64, 0x74, 0x79, 0x6d, 0x73, 0xd1, 0x01, 0xdd, 0x55, 0x57, 0x49, 0x64, 
    -	0x70, 0x4c, 0x06, 0xa2, 0xab, 0xad, 0x97, 0x5b, 0x80, 0x20, 0x23, 0x7a, 
    -	0x49, 0x96, 0xa4, 0xaf, 0x8b, 0x06, 0x46, 0x62, 0x5f, 0x43, 0x4a, 0x55, 
    -	0x96, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x73, 0xfe, 0x58, 0x03, 0xca, 
    -	0x05, 0xb0, 0x00, 0x21, 0x00, 0x45, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb1, 0x08, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x1f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x15, 0x01, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x33, 0x32, 0x16, 0x15, 0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x37, 0x01, 0x27, 0x21, 
    -	0x35, 0x03, 0xca, 0xfe, 0xaa, 0x81, 0x71, 0x69, 0x66, 0x20, 0x9f, 0xb4, 
    -	0x02, 0x9b, 0x6d, 0x51, 0x42, 0x5e, 0x52, 0x5a, 0x34, 0xb3, 0xb9, 0x8b, 
    -	0x90, 0x01, 0x0c, 0x02, 0xfd, 0x91, 0x05, 0xb0, 0x70, 0xfe, 0x50, 0x99, 
    -	0xe3, 0x91, 0x74, 0x75, 0x7f, 0x80, 0x6f, 0xa5, 0x2f, 0x7f, 0x1f, 0x56, 
    -	0x46, 0x34, 0x3a, 0xd6, 0xa8, 0x78, 0x01, 0x41, 0xa9, 0x01, 0x30, 0x05, 
    -	0x9b, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 0xfe, 0x61, 0x03, 0xf5, 
    -	0x04, 0x4e, 0x00, 0x13, 0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x08, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x04, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 
    -	0x01, 0x3f, 0x0d, 0x36, 0xa0, 0x65, 0xb1, 0xbd, 0xc5, 0x72, 0x74, 0x55, 
    -	0x7b, 0x26, 0xc5, 0x04, 0x3a, 0x96, 0x51, 0x59, 0xc3, 0xe0, 0xfb, 0xb6, 
    -	0x04, 0x46, 0x8f, 0x7d, 0x43, 0x3c, 0xfc, 0xcc, 0x04, 0x3a, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x77, 0xff, 0xeb, 0x04, 0x16, 0x05, 0xc5, 0x00, 0x0d, 
    -	0x00, 0x16, 0x00, 0x1f, 0x00, 0x77, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 
    -	0xb2, 0x7f, 0x0e, 0x01, 0x5d, 0xb4, 0xef, 0x0e, 0xff, 0x0e, 0x02, 0x5d, 
    -	0xb2, 0x4f, 0x0e, 0x01, 0x71, 0xb2, 0x9f, 0x0e, 0x01, 0x71, 0xb2, 0x1f, 
    -	0x0e, 0x01, 0x71, 0xb2, 0xcf, 0x0e, 0x01, 0x5d, 0xb2, 0x5f, 0x0e, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x0e, 0x01, 0x5d, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 
    -	0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x03, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 
    -	0x11, 0x10, 0x12, 0x33, 0x32, 0x12, 0x11, 0x05, 0x21, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x01, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x04, 0x16, 0xf7, 0xd7, 0xd7, 0xfa, 0xf9, 0xd6, 0xd7, 0xf9, 0xfd, 
    -	0x26, 0x02, 0x15, 0x89, 0x82, 0x82, 0x88, 0x02, 0x15, 0xfd, 0xeb, 0x8a, 
    -	0x82, 0x82, 0x87, 0x02, 0x2b, 0xfe, 0xe9, 0xfe, 0xd7, 0x01, 0x2a, 0x01, 
    -	0x16, 0x01, 0x59, 0x01, 0x16, 0x01, 0x2b, 0xfe, 0xd5, 0xfe, 0xea, 0x61, 
    -	0x8b, 0xbd, 0xbf, 0xbf, 0xbd, 0xfe, 0xda, 0x85, 0xbd, 0xc1, 0xc0, 0xbe, 
    -	0x00, 0x01, 0x00, 0xc5, 0xff, 0xeb, 0x02, 0x73, 0x04, 0x39, 0x00, 0x0f, 
    -	0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 
    -	0x8a, 0x35, 0x2d, 0x19, 0x30, 0x12, 0x2c, 0x2d, 0x59, 0x35, 0x77, 0x7c, 
    -	0x04, 0x39, 0xfc, 0xd3, 0x49, 0x38, 0x0f, 0x0b, 0x85, 0x1f, 0x16, 0x8e, 
    -	0x9e, 0x03, 0x22, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x40, 
    -	0x04, 0x3a, 0x02, 0x06, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x01, 0x00, 0x38, 
    -	0xff, 0xef, 0x04, 0x5e, 0x05, 0xee, 0x00, 0x21, 0x00, 0x67, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 
    -	0x1b, 0x06, 0x3e, 0x59, 0xb2, 0x02, 0x01, 0x0d, 0x11, 0x12, 0x39, 0xb0, 
    -	0x0d, 0x10, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1b, 0x10, 0xb1, 0x14, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb0, 0x1f, 0xd0, 0xb2, 
    -	0x9f, 0x1f, 0x01, 0x5d, 0x40, 0x0f, 0x2c, 0x1f, 0x3c, 0x1f, 0x4c, 0x1f, 
    -	0x5c, 0x1f, 0x6c, 0x1f, 0x7c, 0x1f, 0x8c, 0x1f, 0x07, 0x5d, 0xb2, 0xab, 
    -	0x1f, 0x01, 0x5d, 0x30, 0x31, 0x21, 0x23, 0x01, 0x27, 0x26, 0x26, 0x23, 
    -	0x22, 0x06, 0x23, 0x35, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x01, 0x16, 
    -	0x16, 0x33, 0x32, 0x36, 0x37, 0x07, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 
    -	0x03, 0x07, 0x07, 0x01, 0x13, 0xdb, 0x01, 0x87, 0x37, 0x20, 0x57, 0x3c, 
    -	0x0a, 0x36, 0x04, 0x14, 0x3f, 0x18, 0x81, 0x99, 0x28, 0x01, 0x68, 0x16, 
    -	0x47, 0x2c, 0x0e, 0x09, 0x18, 0x03, 0x0b, 0x25, 0x0b, 0x76, 0x8f, 0x35, 
    -	0xca, 0x06, 0x1d, 0x04, 0x04, 0x91, 0x54, 0x6a, 0x05, 0x91, 0x05, 0x0a, 
    -	0xa2, 0x6c, 0xfc, 0x4e, 0x47, 0x54, 0x01, 0x04, 0x9a, 0x05, 0x0a, 0x82, 
    -	0x8c, 0x02, 0x13, 0x01, 0x71, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 
    -	0xfe, 0x60, 0x03, 0xf2, 0x04, 0x3a, 0x02, 0x06, 0x00, 0x77, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x2e, 0x00, 0x00, 0x03, 0xe4, 0x04, 0x3a, 0x02, 0x06, 
    -	0x00, 0x59, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0xfe, 0x44, 0x03, 0xe3, 
    -	0x05, 0xb0, 0x00, 0x2e, 0x00, 0x5d, 0x00, 0xb0, 0x18, 0x2f, 0xb0, 0x09, 
    -	0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0a, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 
    -	0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x26, 0x0a, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x01, 0x10, 0xb0, 0x2d, 
    -	0xd0, 0x30, 0x31, 0x01, 0x15, 0x21, 0x06, 0x06, 0x15, 0x14, 0x16, 0x33, 
    -	0x33, 0x15, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 0x16, 
    -	0x15, 0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 
    -	0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 
    -	0x23, 0x35, 0x03, 0x9a, 0xfe, 0xd8, 0x7b, 0x7d, 0x91, 0x9a, 0x8f, 0x8f, 
    -	0xbb, 0xc3, 0xa0, 0x8d, 0x3c, 0xa1, 0xb2, 0x02, 0x9b, 0x6d, 0x4f, 0x41, 
    -	0x5e, 0x46, 0x4b, 0x44, 0xde, 0xfe, 0xec, 0x9f, 0x98, 0x6c, 0x78, 0x3d, 
    -	0x3b, 0xd7, 0x05, 0xb0, 0x9b, 0x08, 0x82, 0x60, 0x5e, 0x69, 0x9b, 0x9c, 
    -	0x99, 0x78, 0x96, 0x7f, 0x81, 0x6f, 0xa4, 0x2f, 0x7f, 0x1f, 0x55, 0x46, 
    -	0x34, 0x3c, 0xe3, 0xc8, 0x91, 0xc5, 0x2c, 0x28, 0x8d, 0x58, 0x4d, 0x79, 
    -	0x28, 0x9b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x04, 0x4e, 0x02, 0x06, 0x00, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4f, 
    -	0xff, 0xeb, 0x04, 0xcc, 0x04, 0x3a, 0x00, 0x17, 0x00, 0x51, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x16, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x05, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x10, 0xd0, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 
    -	0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x04, 0x5e, 0x7b, 0x35, 0x2d, 
    -	0x19, 0x30, 0x12, 0x2c, 0x2d, 0x59, 0x35, 0x77, 0x7c, 0xfe, 0x75, 0xc5, 
    -	0x7f, 0x04, 0x0f, 0x03, 0x9e, 0xfd, 0x6e, 0x49, 0x38, 0x0f, 0x0b, 0x85, 
    -	0x1f, 0x16, 0x8e, 0x9e, 0x02, 0x87, 0xfc, 0x62, 0x03, 0x9e, 0x9c, 0x00, 
    -	0x00, 0x02, 0x00, 0x8f, 0xfe, 0x60, 0x04, 0x24, 0x04, 0x4e, 0x00, 0x10, 
    -	0x00, 0x1e, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 
    -	0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 
    -	0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x03, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x11, 
    -	0x23, 0x11, 0x35, 0x34, 0x00, 0x33, 0x32, 0x12, 0x11, 0x23, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x24, 0xdb, 0xc5, 0x61, 0x98, 0x37, 0xc5, 0x01, 0x01, 0xc0, 0xe3, 0xf1, 
    -	0xc5, 0x84, 0x8b, 0x7b, 0x81, 0x25, 0x78, 0x57, 0x8b, 0x8c, 0x01, 0xf4, 
    -	0xeb, 0xfe, 0xe2, 0x3c, 0x3a, 0xfd, 0xff, 0x03, 0xe0, 0x01, 0xf7, 0x01, 
    -	0x16, 0xfe, 0xc3, 0xfe, 0xf8, 0xbd, 0xed, 0xe7, 0x8c, 0xfe, 0xd3, 0x43, 
    -	0x4b, 0xcc, 0xa3, 0x00, 0x00, 0x01, 0x00, 0x62, 0xfe, 0x57, 0x03, 0xe1, 
    -	0x04, 0x4e, 0x00, 0x22, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 0x07, 0x07, 0x23, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 
    -	0x15, 0x06, 0x06, 0x07, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 
    -	0x02, 0x35, 0x35, 0x34, 0x12, 0x02, 0x3d, 0xbb, 0xe9, 0x04, 0x02, 0xb2, 
    -	0x7a, 0x72, 0x8a, 0x8c, 0xa4, 0xa6, 0xb4, 0xa8, 0x02, 0x9b, 0x6d, 0x51, 
    -	0x42, 0x5e, 0x58, 0x5f, 0xfb, 0xfe, 0xff, 0x04, 0x4e, 0xd1, 0xb2, 0x06, 
    -	0x67, 0x87, 0xe6, 0x9b, 0x2a, 0x8f, 0xc9, 0x18, 0x1a, 0x6a, 0x7b, 0x6f, 
    -	0xa4, 0x2f, 0x7f, 0x1f, 0x55, 0x46, 0x30, 0x33, 0x0d, 0x23, 0x01, 0x0e, 
    -	0xd7, 0x2a, 0xe3, 0x01, 0x39, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x7c, 0x04, 0x3a, 0x00, 0x10, 0x00, 0x1e, 0x00, 0x4a, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x14, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 
    -	0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x16, 0x16, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 
    -	0x00, 0x35, 0x35, 0x34, 0x00, 0x37, 0x21, 0x01, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x04, 0x7c, 0xfe, 
    -	0xeb, 0x5e, 0x65, 0xfe, 0xf8, 0xdc, 0xe0, 0xfe, 0xfb, 0x01, 0x03, 0xdf, 
    -	0x02, 0x39, 0xfc, 0xaa, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x8e, 0x8d, 0x91, 
    -	0x03, 0x9e, 0x48, 0xd4, 0x82, 0x16, 0xd2, 0xfe, 0xd3, 0x01, 0x35, 0xf1, 
    -	0x16, 0xe7, 0x01, 0x2b, 0x01, 0xfd, 0xd7, 0xac, 0xe0, 0xe0, 0xac, 0x16, 
    -	0xa1, 0xd6, 0xd6, 0xa1, 0x00, 0x01, 0x00, 0x51, 0x00, 0x00, 0x03, 0xdc, 
    -	0x04, 0x3a, 0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 
    -	0x21, 0x03, 0xdc, 0xfe, 0x9a, 0xc5, 0xfe, 0xa0, 0x03, 0x8b, 0x03, 0xa1, 
    -	0xfc, 0x5f, 0x03, 0xa1, 0x99, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8d, 
    -	0xff, 0xeb, 0x04, 0x26, 0x04, 0x3a, 0x00, 0x15, 0x00, 0x36, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x26, 0x02, 0x27, 0x33, 0x16, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x26, 
    -	0x35, 0x11, 0x01, 0x52, 0x8a, 0x75, 0x89, 0x87, 0x03, 0x42, 0x37, 0xce, 
    -	0x33, 0x40, 0xde, 0xed, 0xdd, 0xf1, 0x04, 0x3a, 0xfd, 0x9c, 0xaf, 0xa2, 
    -	0xfd, 0xb0, 0x7e, 0x01, 0x02, 0x88, 0x6b, 0xfe, 0xfd, 0x9a, 0xff, 0xfe, 
    -	0xb8, 0xf2, 0xfb, 0x02, 0x62, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x53, 
    -	0xfe, 0x22, 0x05, 0x57, 0x04, 0x3a, 0x00, 0x18, 0x00, 0x21, 0x00, 0x54, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x09, 
    -	0x10, 0xb1, 0x16, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x00, 0x10, 0xb1, 0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x16, 0x10, 0xb0, 0x1e, 0xd0, 0x30, 0x31, 
    -	0x01, 0x32, 0x00, 0x15, 0x14, 0x00, 0x05, 0x11, 0x23, 0x11, 0x24, 0x00, 
    -	0x35, 0x34, 0x12, 0x37, 0x33, 0x06, 0x02, 0x07, 0x14, 0x16, 0x17, 0x37, 
    -	0x11, 0x01, 0x26, 0x26, 0x07, 0x07, 0x11, 0x17, 0x36, 0x36, 0x03, 0x2e, 
    -	0xe4, 0x01, 0x45, 0xfe, 0xf1, 0xfe, 0xe6, 0xc5, 0xfe, 0xee, 0xfe, 0xfc, 
    -	0x40, 0x34, 0xce, 0x39, 0x42, 0x02, 0xa3, 0xa8, 0x06, 0x02, 0x29, 0x04, 
    -	0xba, 0xa0, 0x06, 0x06, 0xb1, 0xad, 0x04, 0x3a, 0xfe, 0xbf, 0xed, 0xda, 
    -	0xfe, 0xd5, 0x17, 0xfe, 0x32, 0x01, 0xce, 0x19, 0x01, 0x41, 0xea, 0x99, 
    -	0x01, 0x01, 0x6c, 0x86, 0xfe, 0xfe, 0x7e, 0x9b, 0xee, 0x17, 0x02, 0x03, 
    -	0xa4, 0xfd, 0xd2, 0xa3, 0xed, 0x04, 0x02, 0xfc, 0xfd, 0x02, 0x15, 0xd9, 
    -	0x00, 0x01, 0x00, 0x5e, 0xfe, 0x4b, 0x04, 0x4b, 0x04, 0x49, 0x00, 0x25, 
    -	0x00, 0x7d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 
    -	0x1b, 0xb1, 0x13, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 
    -	0x2f, 0x1b, 0xb1, 0x19, 0x08, 0x3e, 0x59, 0xb2, 0x05, 0x19, 0x00, 0x11, 
    -	0x12, 0x39, 0xb4, 0x75, 0x05, 0x85, 0x05, 0x02, 0x5d, 0xb2, 0x94, 0x05, 
    -	0x01, 0x5d, 0xb0, 0x13, 0x10, 0xb1, 0x0c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x18, 0x19, 0x00, 0x11, 0x12, 0x39, 
    -	0x40, 0x0b, 0x5b, 0x18, 0x6b, 0x18, 0x7b, 0x18, 0x8b, 0x18, 0x9b, 0x18, 
    -	0x05, 0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x1f, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x32, 0x16, 0x17, 0x17, 
    -	0x33, 0x13, 0x33, 0x01, 0x13, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x07, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x03, 0x23, 0x01, 0x23, 0x01, 0x03, 
    -	0x26, 0x26, 0x23, 0x22, 0x06, 0x23, 0x27, 0x36, 0x36, 0xca, 0x81, 0x97, 
    -	0x2a, 0x5c, 0x06, 0xe9, 0xc6, 0xfe, 0xab, 0xcc, 0x20, 0x3e, 0x2b, 0x0e, 
    -	0x0a, 0x16, 0x03, 0x0a, 0x25, 0x0d, 0x74, 0x8b, 0x34, 0x7f, 0x06, 0xfe, 
    -	0xf7, 0xd1, 0x01, 0x7f, 0xa3, 0x21, 0x56, 0x3c, 0x0a, 0x36, 0x04, 0x01, 
    -	0x15, 0x3f, 0x04, 0x49, 0xa0, 0x6c, 0xde, 0x01, 0xdb, 0xfd, 0x3d, 0xfe, 
    -	0x14, 0x49, 0x4b, 0x02, 0x03, 0xa2, 0x06, 0x09, 0x83, 0x8d, 0x01, 0x2c, 
    -	0xfd, 0xda, 0x03, 0x0e, 0x01, 0x82, 0x52, 0x65, 0x05, 0x97, 0x05, 0x0a, 
    -	0x00, 0x01, 0x00, 0x5b, 0xfe, 0x26, 0x05, 0x4d, 0x04, 0x3a, 0x00, 0x1d, 
    -	0x00, 0x52, 0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb1, 0x02, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 
    -	0x10, 0xb0, 0x12, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x1b, 0xd0, 0x30, 0x31, 
    -	0x01, 0x11, 0x17, 0x36, 0x36, 0x35, 0x26, 0x02, 0x27, 0x33, 0x16, 0x12, 
    -	0x15, 0x14, 0x00, 0x05, 0x11, 0x23, 0x11, 0x26, 0x00, 0x11, 0x11, 0x33, 
    -	0x11, 0x14, 0x16, 0x17, 0x37, 0x11, 0x03, 0x25, 0x06, 0xb1, 0xac, 0x03, 
    -	0x42, 0x38, 0xcf, 0x33, 0x40, 0xfe, 0xf6, 0xfe, 0xe2, 0xc6, 0xf7, 0xfe, 
    -	0xf3, 0xc5, 0xa9, 0x90, 0x06, 0x04, 0x39, 0xfc, 0x5c, 0x02, 0x17, 0xf1, 
    -	0x9c, 0x7d, 0x01, 0x01, 0x85, 0x6a, 0xff, 0x00, 0x99, 0xf0, 0xfe, 0xbe, 
    -	0x16, 0xfe, 0x37, 0x01, 0xcb, 0x19, 0x01, 0x2e, 0x01, 0x1c, 0x01, 0xe6, 
    -	0xfe, 0x18, 0xcf, 0xdb, 0x13, 0x02, 0x03, 0xa2, 0x00, 0x01, 0x00, 0x6c, 
    -	0xff, 0xeb, 0x06, 0x60, 0x04, 0x3a, 0x00, 0x28, 0x00, 0x46, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 
    -	0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0xd0, 0x30, 0x31, 0x01, 0x06, 0x02, 0x07, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x26, 0x02, 0x27, 0x33, 0x16, 0x12, 0x15, 0x14, 0x02, 
    -	0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x34, 0x12, 
    -	0x37, 0x01, 0xd5, 0x4a, 0x56, 0x04, 0x70, 0x78, 0x6b, 0x7f, 0xc6, 0x7e, 
    -	0x6c, 0x78, 0x70, 0x05, 0x56, 0x49, 0xcf, 0x44, 0x56, 0xca, 0xd8, 0x7f, 
    -	0xaf, 0x2a, 0x2b, 0xaf, 0x7d, 0xd9, 0xca, 0x55, 0x46, 0x04, 0x3a, 0x86, 
    -	0xfe, 0xfd, 0x7f, 0xbe, 0xef, 0xa2, 0xaf, 0x01, 0x2c, 0xfe, 0xd4, 0xaf, 
    -	0xa2, 0xed, 0xc0, 0x7f, 0x01, 0x03, 0x86, 0x6a, 0xfe, 0xfc, 0x9a, 0xff, 
    -	0xfe, 0xb8, 0x7a, 0x77, 0x77, 0x7a, 0x01, 0x48, 0xff, 0x9b, 0x01, 0x04, 
    -	0x69, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xd8, 0xff, 0xeb, 0x02, 0x89, 
    -	0x05, 0xb6, 0x02, 0x26, 0x01, 0x93, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0xff, 0x2e, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x11, 0x01, 0x72, 
    -	0xb4, 0xdf, 0x11, 0xef, 0x11, 0x02, 0x71, 0xb2, 0x5f, 0x11, 0x01, 0x72, 
    -	0xb4, 0x2f, 0x11, 0x3f, 0x11, 0x02, 0x72, 0xb2, 0x7f, 0x14, 0x01, 0x72, 
    -	0xb4, 0xdf, 0x14, 0xef, 0x14, 0x02, 0x71, 0xb2, 0x5f, 0x14, 0x01, 0x72, 
    -	0xb4, 0x2f, 0x14, 0x3f, 0x14, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8d, 0xff, 0xeb, 0x04, 0x26, 0x05, 0xb6, 0x02, 0x26, 
    -	0x01, 0x9f, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x56, 0x06, 0x00, 0x33, 
    -	0x00, 0xb2, 0x7f, 0x17, 0x01, 0x72, 0xb4, 0xdf, 0x17, 0xef, 0x17, 0x02, 
    -	0x71, 0xb2, 0x5f, 0x17, 0x01, 0x72, 0xb4, 0x2f, 0x17, 0x3f, 0x17, 0x02, 
    -	0x72, 0xb2, 0x7f, 0x1a, 0x01, 0x72, 0xb4, 0xdf, 0x1a, 0xef, 0x1a, 0x02, 
    -	0x71, 0xb2, 0x5f, 0x1a, 0x01, 0x72, 0xb4, 0x2f, 0x1a, 0x3f, 0x1a, 0x02, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x06, 0x79, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 
    -	0x01, 0x4a, 0x00, 0x07, 0xff, 0xff, 0x00, 0x8d, 0xff, 0xeb, 0x04, 0x26, 
    -	0x06, 0x66, 0x02, 0x26, 0x01, 0x9f, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 
    -	0x01, 0x5c, 0xff, 0xf4, 0xff, 0xff, 0x00, 0x6c, 0xff, 0xeb, 0x06, 0x60, 
    -	0x06, 0x66, 0x02, 0x26, 0x01, 0xa3, 0x00, 0x00, 0x00, 0x07, 0x01, 0x61, 
    -	0x02, 0x6a, 0xff, 0xf4, 0x00, 0x02, 0x00, 0x71, 0xff, 0xeb, 0x04, 0xb0, 
    -	0x05, 0xc5, 0x00, 0x19, 0x00, 0x25, 0x00, 0x4d, 0x00, 0xb0, 0x10, 0x2f, 
    -	0xb0, 0x17, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 
    -	0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb1, 0x14, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1d, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0x10, 0xb1, 
    -	0x24, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x10, 0x00, 
    -	0x23, 0x22, 0x00, 0x11, 0x11, 0x37, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x26, 0x24, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 
    -	0x16, 0x17, 0x37, 0x02, 0x09, 0xbd, 0x97, 0x9d, 0xb6, 0xfe, 0xcf, 0xf8, 
    -	0xee, 0xfe, 0xd8, 0xc5, 0xb6, 0x9b, 0xa5, 0xbe, 0x02, 0xda, 0xfe, 0xf7, 
    -	0x01, 0xe3, 0x49, 0x46, 0x42, 0x4d, 0x96, 0x82, 0x06, 0x04, 0x0c, 0x3e, 
    -	0xac, 0xcf, 0xca, 0xb1, 0xfe, 0x06, 0xfe, 0xea, 0xfe, 0xb1, 0x01, 0x5c, 
    -	0x01, 0x09, 0x02, 0x94, 0x02, 0xfd, 0x6a, 0xc8, 0xfc, 0xed, 0xd0, 0x08, 
    -	0xfb, 0xfe, 0x6c, 0x6d, 0x6d, 0x6c, 0x40, 0x78, 0x9e, 0x04, 0x02, 0x00, 
    -	0x00, 0x01, 0xff, 0xea, 0x00, 0x00, 0x04, 0x53, 0x05, 0xbb, 0x00, 0x23, 
    -	0x00, 0x6a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 
    -	0xb1, 0x1c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x0a, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x21, 0x0f, 
    -	0x1c, 0x11, 0x12, 0x39, 0xb0, 0x21, 0x10, 0xb0, 0x0e, 0xd0, 0xb4, 0x4b, 
    -	0x0e, 0x5b, 0x0e, 0x02, 0x5d, 0xb2, 0x8b, 0x0e, 0x01, 0x5d, 0xb0, 0x21, 
    -	0x10, 0xb0, 0x11, 0xd0, 0xb4, 0x4b, 0x11, 0x5b, 0x11, 0x02, 0x5d, 0xb2, 
    -	0x8b, 0x11, 0x01, 0x5d, 0xb0, 0x0a, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 
    -	0x01, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x07, 0x01, 0x11, 0x23, 0x11, 0x01, 0x26, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x13, 0x17, 0x33, 0x37, 
    -	0x02, 0xe6, 0x33, 0x7b, 0x51, 0x22, 0x32, 0x1a, 0x17, 0x05, 0x16, 0x0d, 
    -	0x21, 0x37, 0x10, 0xfe, 0xd4, 0xc4, 0xfe, 0xd4, 0x11, 0x37, 0x20, 0x0e, 
    -	0x15, 0x05, 0x16, 0x18, 0x32, 0x23, 0x50, 0x7b, 0x34, 0xb2, 0x13, 0x06, 
    -	0x13, 0x04, 0xd7, 0x7c, 0x68, 0x0a, 0x0e, 0x98, 0x03, 0x05, 0x23, 0x27, 
    -	0xfd, 0x79, 0xfd, 0xbe, 0x02, 0x42, 0x02, 0x87, 0x27, 0x23, 0x05, 0x03, 
    -	0x98, 0x0e, 0x0a, 0x68, 0x7c, 0xfe, 0x6a, 0x46, 0x46, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x4e, 0xff, 0xeb, 0x06, 0x19, 0x04, 0x3a, 0x00, 0x16, 
    -	0x00, 0x2c, 0x00, 0x5d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 
    -	0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 
    -	0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x06, 0x3e, 0x59, 0xb0, 0x15, 0x10, 0xb1, 
    -	0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1b, 0xd0, 0xb0, 0x00, 0xd0, 0xb0, 0x0d, 0x10, 0xb1, 0x21, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x2a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x23, 0x16, 0x16, 0x15, 0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 
    -	0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x34, 0x36, 0x37, 0x23, 0x35, 0x21, 
    -	0x01, 0x26, 0x26, 0x27, 0x21, 0x06, 0x06, 0x07, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x35, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x06, 0x19, 
    -	0x85, 0x1d, 0x21, 0xae, 0xb8, 0x77, 0xa5, 0x28, 0x29, 0xa4, 0x76, 0xb9, 
    -	0xad, 0x20, 0x1e, 0x6f, 0x05, 0xcb, 0xfe, 0xf4, 0x03, 0x28, 0x22, 0xfc, 
    -	0xd1, 0x23, 0x28, 0x02, 0x53, 0x59, 0x62, 0x74, 0xc6, 0x73, 0x63, 0x57, 
    -	0x54, 0x03, 0x9e, 0x51, 0xb6, 0x65, 0xfe, 0xfe, 0xb7, 0x79, 0x74, 0x75, 
    -	0x78, 0x01, 0x49, 0xfe, 0x65, 0xb6, 0x51, 0x9c, 0xfd, 0xf8, 0x59, 0xb6, 
    -	0x5d, 0x5e, 0xb6, 0x58, 0xbe, 0xef, 0xa2, 0xaf, 0xfa, 0xfa, 0xaf, 0xa2, 
    -	0xee, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xdd, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x0e, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0x72, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0x00, 0x01, 0x00, 0x29, 0xff, 0xf7, 0x05, 0xb4, 0x05, 0xb0, 0x00, 0x1c, 
    -	0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 
    -	0x1b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb0, 0x1b, 0x10, 0xb1, 0x1a, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 
    -	0xb2, 0x05, 0x17, 0x1b, 0x11, 0x12, 0x39, 0xb0, 0x05, 0x2f, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x0d, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x05, 0x10, 0xb1, 0x13, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 
    -	0x32, 0x04, 0x15, 0x14, 0x06, 0x2f, 0x02, 0x32, 0x36, 0x35, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x04, 0x95, 
    -	0xfd, 0xfa, 0x4f, 0x98, 0x36, 0xf6, 0x01, 0x12, 0xfe, 0xee, 0x05, 0x02, 
    -	0xa2, 0x8c, 0x02, 0xa1, 0xa0, 0x3e, 0x99, 0x46, 0xc5, 0xfe, 0x5f, 0x04, 
    -	0x6c, 0x05, 0x15, 0xfe, 0x34, 0x16, 0x1d, 0xf2, 0xd9, 0xd8, 0xe2, 0x03, 
    -	0x02, 0x8d, 0x98, 0x90, 0x8f, 0x97, 0x19, 0x15, 0xfd, 0x57, 0x05, 0x15, 
    -	0x9b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x31, 
    -	0x07, 0x1e, 0x02, 0x26, 0x01, 0x6e, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x95, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x06, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0x00, 0x01, 0x00, 0x87, 0xff, 0xec, 0x04, 0xd0, 
    -	0x05, 0xc6, 0x00, 0x21, 0x00, 0x7a, 0x00, 0xb0, 0x17, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x0b, 0x10, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x7f, 0x17, 0x01, 0x5d, 0xb2, 0xef, 0x17, 0x01, 
    -	0x5d, 0xb2, 0xbf, 0x17, 0x01, 0x71, 0xb2, 0x3f, 0x17, 0x01, 0x72, 0xb2, 
    -	0xef, 0x17, 0x01, 0x71, 0xb2, 0x1f, 0x17, 0x01, 0x71, 0xb2, 0xcf, 0x17, 
    -	0x01, 0x5d, 0xb2, 0x2f, 0x17, 0x01, 0x5d, 0xb2, 0x8f, 0x17, 0x01, 0x72, 
    -	0xb0, 0x17, 0x10, 0xb1, 0x19, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x00, 
    -	0x23, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x07, 0x07, 
    -	0x23, 0x34, 0x26, 0x23, 0x22, 0x02, 0x15, 0x15, 0x21, 0x15, 0x21, 0x15, 
    -	0x14, 0x12, 0x33, 0x32, 0x36, 0x35, 0x04, 0xca, 0x02, 0x04, 0xfe, 0xd8, 
    -	0xf3, 0xf7, 0xfe, 0xc9, 0x01, 0x37, 0xf7, 0xf7, 0x01, 0x24, 0x04, 0x02, 
    -	0xbd, 0xb4, 0xa4, 0xa5, 0xc4, 0x02, 0x32, 0xfd, 0xce, 0xc4, 0xa5, 0xa4, 
    -	0xb4, 0x01, 0xd3, 0x06, 0xcd, 0xfe, 0xec, 0x01, 0x5e, 0x01, 0x0d, 0x01, 
    -	0x03, 0x01, 0x0d, 0x01, 0x5f, 0xfe, 0xf9, 0xd9, 0x06, 0x99, 0xb2, 0xfe, 
    -	0xf6, 0xc5, 0x2f, 0x9a, 0x3c, 0xc7, 0xfe, 0xf6, 0xb1, 0x9c, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x92, 0x05, 0xc5, 0x00, 0x27, 
    -	0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 
    -	0xb1, 0x1d, 0x06, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 0x09, 0x11, 0x12, 0x39, 
    -	0xb0, 0x17, 0x10, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb1, 0x25, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x34, 0x26, 0x27, 0x26, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x00, 0x07, 
    -	0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 
    -	0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x03, 0xcd, 0x96, 0xbf, 0xe7, 0xfe, 0xfd, 0x01, 0x17, 
    -	0xde, 0xef, 0x01, 0x1b, 0x05, 0x02, 0xbc, 0xa9, 0x9e, 0x93, 0x9d, 0xaa, 
    -	0xbf, 0xe6, 0xf0, 0xfe, 0xe0, 0xe8, 0xda, 0xfe, 0xb1, 0x05, 0x02, 0xbc, 
    -	0xce, 0x98, 0x95, 0xae, 0x01, 0x6f, 0x64, 0x87, 0x2e, 0x37, 0xd6, 0xa2, 
    -	0xaa, 0xe4, 0xfe, 0xfa, 0xad, 0x06, 0x80, 0x9e, 0x85, 0x6b, 0x5f, 0x7f, 
    -	0x30, 0x39, 0xde, 0xa4, 0xb0, 0xd6, 0xec, 0xc6, 0x06, 0x8c, 0x92, 0x7e, 
    -	0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x84, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xcb, 0x00, 0x00, 0x02, 0x7c, 
    -	0x07, 0x0d, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0xff, 0x21, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x3d, 0xff, 0xeb, 0x03, 0xc3, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x08, 0x49, 
    -	0x05, 0xb0, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x69, 0x00, 0xb0, 0x01, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x11, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 
    -	0x04, 0x23, 0x21, 0x11, 0x21, 0x03, 0x02, 0x02, 0x23, 0x23, 0x35, 0x33, 
    -	0x32, 0x12, 0x13, 0x11, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x04, 0xf7, 0x01, 0x67, 0xe8, 0x01, 0x03, 0xfe, 0xfd, 0xe8, 0xfd, 
    -	0xd4, 0xfe, 0x08, 0x01, 0x01, 0xd7, 0xfb, 0x34, 0x28, 0x96, 0x84, 0x01, 
    -	0x03, 0x82, 0x01, 0x67, 0x93, 0x93, 0x93, 0x93, 0x05, 0xb0, 0xfd, 0xc9, 
    -	0xf7, 0xc6, 0xc6, 0xf6, 0x05, 0x15, 0xfd, 0xed, 0xfe, 0x6f, 0xfe, 0x8f, 
    -	0x9a, 0x01, 0x1d, 0x01, 0x4b, 0x02, 0xae, 0xfd, 0x2f, 0xfd, 0xbb, 0xa9, 
    -	0x7b, 0x79, 0xa8, 0x00, 0x00, 0x02, 0x00, 0xb4, 0x00, 0x00, 0x08, 0x54, 
    -	0x05, 0xb0, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x6d, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x00, 0xd0, 0xb0, 0x00, 
    -	0x2f, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x14, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x33, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 0x21, 
    -	0x11, 0x23, 0x11, 0x33, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x01, 0x79, 0x02, 0xc4, 0xc5, 0x01, 0x68, 0xe9, 0x01, 0x01, 0xfe, 
    -	0xfe, 0xe8, 0xfd, 0xd3, 0xfd, 0x3c, 0xc5, 0xc5, 0x03, 0x89, 0x01, 0x68, 
    -	0x93, 0x93, 0x93, 0x93, 0x03, 0x3b, 0x02, 0x75, 0xfd, 0x98, 0xe4, 0xbc, 
    -	0xbd, 0xeb, 0x02, 0xa1, 0xfd, 0x5f, 0x05, 0xb0, 0xfc, 0xfd, 0xfd, 0xf8, 
    -	0x94, 0x71, 0x70, 0x93, 0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x05, 0xda, 
    -	0x05, 0xb0, 0x00, 0x17, 0x00, 0x4e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 0x16, 0x10, 
    -	0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x01, 0xd0, 0xb2, 0x05, 0x12, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x05, 
    -	0x2f, 0xb0, 0x12, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x05, 0x10, 0xb1, 0x0e, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 
    -	0x04, 0xae, 0xfd, 0xf0, 0x4c, 0x9e, 0x69, 0xf0, 0xf9, 0xc5, 0x8b, 0x99, 
    -	0x5a, 0xa7, 0x52, 0xc5, 0xfe, 0x69, 0x04, 0x6c, 0x05, 0x15, 0xfe, 0x4f, 
    -	0x14, 0x14, 0xd4, 0xec, 0xfe, 0x34, 0x01, 0xcc, 0xa4, 0x80, 0x16, 0x14, 
    -	0xfd, 0x3a, 0x05, 0x15, 0x9b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x05, 0x20, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x2e, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x89, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x0f, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x05, 0x01, 0x07, 0x22, 0x02, 0x26, 0x01, 0xc4, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x01, 0x46, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x55, 
    -	0xff, 0xeb, 0x04, 0xc8, 0x07, 0x4e, 0x00, 0x26, 0x01, 0xcf, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xda, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0xfe, 0x99, 0x05, 0x02, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x49, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0xd0, 0x30, 0x31, 0x13, 0x33, 0x11, 0x21, 0x11, 
    -	0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0xb4, 0xc5, 0x02, 0xc4, 0xc5, 
    -	0xfe, 0x43, 0xc5, 0xfe, 0x34, 0x05, 0xb0, 0xfa, 0xea, 0x05, 0x16, 0xfa, 
    -	0x50, 0xfe, 0x99, 0x01, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x24, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0xa3, 0x00, 0x00, 0x04, 0xbb, 0x05, 0xb0, 0x00, 0x0c, 
    -	0x00, 0x15, 0x00, 0x4d, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x21, 0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 0x21, 0x01, 0x11, 
    -	0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x04, 0x20, 0xfd, 0x48, 0x01, 
    -	0x67, 0xe9, 0x01, 0x03, 0xfe, 0xfc, 0xe8, 0xfd, 0xd4, 0x03, 0x7d, 0xfd, 
    -	0x48, 0x01, 0x67, 0x93, 0x94, 0x93, 0x94, 0x05, 0x15, 0xfe, 0x5b, 0xef, 
    -	0xc5, 0xc6, 0xf6, 0x05, 0xb0, 0xfd, 0x25, 0xfd, 0xc5, 0xa9, 0x7b, 0x77, 
    -	0xa0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xaf, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x25, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x31, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x6e, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x30, 0xfe, 0x99, 0x05, 0xd5, 0x05, 0xb0, 0x00, 0x0e, 
    -	0x00, 0x15, 0x00, 0x4a, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb1, 0x12, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 
    -	0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x03, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x09, 
    -	0xd0, 0xb0, 0x0d, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x33, 0x03, 0x23, 0x11, 0x21, 
    -	0x11, 0x23, 0x03, 0x33, 0x36, 0x12, 0x13, 0x13, 0x21, 0x01, 0x06, 0x02, 
    -	0x07, 0x21, 0x11, 0x21, 0x05, 0x0d, 0xc8, 0x14, 0xb1, 0xfb, 0xe5, 0xa7, 
    -	0x1e, 0x7d, 0x4d, 0x80, 0x06, 0x21, 0x03, 0x6c, 0xfd, 0x3a, 0x09, 0x66, 
    -	0x50, 0x02, 0xc0, 0xfe, 0x16, 0x9a, 0xfe, 0x01, 0x01, 0x65, 0xfe, 0x99, 
    -	0x02, 0x01, 0x57, 0x01, 0x51, 0x01, 0x21, 0x02, 0x4d, 0xfd, 0xb3, 0xee, 
    -	0xfe, 0x96, 0x71, 0x04, 0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x28, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x32, 0x05, 0xb0, 0x00, 0x15, 
    -	0x00, 0x66, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb0, 0x0d, 0xd0, 0xb2, 
    -	0x0c, 0x03, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x2f, 0xb2, 0xcf, 0x0c, 
    -	0x01, 0x5d, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x06, 0xd0, 0xb2, 
    -	0x08, 0x04, 0x0c, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x10, 0xb0, 0x0f, 0xd0, 
    -	0xb0, 0x0d, 0x10, 0xb0, 0x11, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x13, 0xd0, 
    -	0xb0, 0x03, 0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 
    -	0x11, 0x23, 0x01, 0x23, 0x01, 0x01, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, 
    -	0x33, 0x01, 0x33, 0x01, 0x01, 0x23, 0x04, 0xa7, 0x99, 0xc5, 0xa2, 0xfe, 
    -	0x6b, 0xf6, 0x01, 0xe7, 0xfe, 0x42, 0xe6, 0x01, 0x7a, 0xa4, 0xc5, 0x9c, 
    -	0x01, 0x7a, 0xe6, 0xfe, 0x41, 0x01, 0xe7, 0xf5, 0x02, 0x9c, 0xfd, 0x64, 
    -	0x02, 0x9c, 0xfd, 0x64, 0x03, 0x02, 0x02, 0xae, 0xfd, 0x87, 0x02, 0x79, 
    -	0xfd, 0x87, 0x02, 0x79, 0xfd, 0x53, 0xfc, 0xfd, 0x00, 0x01, 0x00, 0x78, 
    -	0xff, 0xeb, 0x04, 0xdf, 0x05, 0xc5, 0x00, 0x2a, 0x00, 0x72, 0x00, 0xb0, 
    -	0x19, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x06, 0x3e, 0x59, 0xb2, 0xcf, 0x19, 0x01, 0x5d, 0xb2, 0x1f, 0x19, 
    -	0x01, 0x71, 0xb2, 0xbf, 0x19, 0x01, 0x71, 0xb2, 0xef, 0x19, 0x01, 0x5d, 
    -	0xb2, 0x7f, 0x19, 0x01, 0x5d, 0xb2, 0x2f, 0x19, 0x01, 0x5d, 0xb0, 0x19, 
    -	0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x03, 0x18, 0x19, 0x11, 0x12, 0x39, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x28, 0x10, 0xb1, 0x20, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 
    -	0x04, 0x21, 0x22, 0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x24, 0x33, 0x20, 0x04, 0x04, 
    -	0xc9, 0x88, 0x78, 0x87, 0x8f, 0xfe, 0xc1, 0xfe, 0xfe, 0xe2, 0xfe, 0xbc, 
    -	0x05, 0x02, 0xbc, 0xc6, 0x9d, 0xb2, 0xca, 0xb8, 0xb4, 0xb7, 0xb7, 0xae, 
    -	0xa8, 0xb5, 0xb1, 0x8d, 0xc1, 0xbc, 0x01, 0x06, 0x01, 0x31, 0xe0, 0x01, 
    -	0x01, 0x01, 0x2a, 0x04, 0x26, 0x65, 0xa7, 0x2f, 0x2a, 0xae, 0x7d, 0xc9, 
    -	0xe2, 0xd6, 0xcd, 0x06, 0x72, 0x9d, 0x95, 0x78, 0x85, 0x81, 0x9c, 0x84, 
    -	0x72, 0x70, 0x90, 0x8e, 0x69, 0x06, 0xb0, 0xdc, 0xd8, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x77, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x05, 
    -	0xd0, 0x40, 0x0b, 0x5c, 0x05, 0x6c, 0x05, 0x7c, 0x05, 0x8c, 0x05, 0x9c, 
    -	0x05, 0x05, 0x5d, 0x40, 0x09, 0x1b, 0x05, 0x2b, 0x05, 0x3b, 0x05, 0x4b, 
    -	0x05, 0x04, 0x5d, 0xb0, 0x06, 0x10, 0xb0, 0x0b, 0xd0, 0x40, 0x09, 0x14, 
    -	0x0b, 0x24, 0x0b, 0x34, 0x0b, 0x44, 0x0b, 0x04, 0x5d, 0x40, 0x0b, 0x53, 
    -	0x0b, 0x63, 0x0b, 0x73, 0x0b, 0x83, 0x0b, 0x93, 0x0b, 0x05, 0x5d, 0x30, 
    -	0x31, 0x01, 0x33, 0x11, 0x23, 0x11, 0x27, 0x01, 0x23, 0x11, 0x33, 0x11, 
    -	0x17, 0x04, 0x3c, 0xc5, 0xc5, 0x06, 0xfd, 0x43, 0xc5, 0xc5, 0x06, 0x05, 
    -	0xb0, 0xfa, 0x50, 0x04, 0x56, 0x02, 0xfb, 0xa8, 0x05, 0xb0, 0xfb, 0xab, 
    -	0x02, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x07, 0x4e, 0x02, 0x26, 0x01, 0xc4, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x01, 0x31, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x20, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x31, 0x00, 0x00, 0x04, 0xf7, 
    -	0x05, 0xb0, 0x00, 0x0f, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x21, 0x03, 
    -	0x10, 0x02, 0x23, 0x23, 0x35, 0x33, 0x32, 0x12, 0x13, 0x13, 0x04, 0xf7, 
    -	0xc5, 0xfd, 0xf2, 0x01, 0xce, 0xef, 0x35, 0x29, 0x8a, 0x7a, 0x01, 0x01, 
    -	0x05, 0xb0, 0xfa, 0x50, 0x05, 0x15, 0xfd, 0xed, 0xfe, 0x70, 0xfe, 0x8e, 
    -	0x9a, 0x01, 0x1d, 0x01, 0x4b, 0x02, 0xae, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x06, 0x52, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x30, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 
    -	0x05, 0xc5, 0x02, 0x06, 0x00, 0x32, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x05, 0x03, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x7b, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xcc, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x33, 0x00, 0x00, 0xff, 0xff, 0x00, 0x76, 0xff, 0xeb, 0x04, 0xbf, 
    -	0x05, 0xc5, 0x02, 0x06, 0x00, 0x26, 0x00, 0x00, 0xff, 0xff, 0x00, 0x22, 
    -	0x00, 0x00, 0x04, 0x8e, 0x05, 0xb0, 0x02, 0x06, 0x00, 0x37, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xc8, 0x05, 0xb0, 0x00, 0x15, 
    -	0x00, 0x4d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb2, 0x01, 0x08, 0x15, 0x11, 0x12, 0x39, 
    -	0xb4, 0x85, 0x01, 0x95, 0x01, 0x02, 0x5d, 0xb0, 0x15, 0x10, 0xb0, 0x03, 
    -	0xd0, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb0, 0x13, 0xd0, 0xb4, 0x8a, 
    -	0x13, 0x9a, 0x13, 0x02, 0x5d, 0x30, 0x31, 0x01, 0x17, 0x33, 0x01, 0x33, 
    -	0x01, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x37, 0x37, 0x01, 0x33, 0x02, 0x4c, 0x49, 0x06, 0x01, 0x48, 0xe5, 
    -	0xfe, 0x03, 0x3b, 0x8b, 0x98, 0x19, 0x43, 0x09, 0x05, 0x0a, 0x43, 0x11, 
    -	0x47, 0x3d, 0x26, 0x28, 0xfe, 0x18, 0xdd, 0x03, 0x07, 0xbc, 0x03, 0x65, 
    -	0xfb, 0x3f, 0x83, 0x81, 0x06, 0x03, 0x95, 0x02, 0x02, 0x48, 0x50, 0x54, 
    -	0x04, 0x3f, 0x00, 0x00, 0x00, 0x03, 0x00, 0x55, 0xff, 0xc4, 0x05, 0xed, 
    -	0x05, 0xec, 0x00, 0x15, 0x00, 0x1e, 0x00, 0x27, 0x00, 0x4f, 0x00, 0xb0, 
    -	0x0a, 0x2f, 0xb0, 0x14, 0x2f, 0xb2, 0x40, 0x14, 0x01, 0x5d, 0xb2, 0x12, 
    -	0x14, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x2f, 0xb0, 0x01, 0xd0, 0xb2, 
    -	0x0c, 0x0a, 0x14, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x2f, 0xb0, 0x07, 0xd0, 
    -	0xb0, 0x12, 0x10, 0xb1, 0x16, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x21, 0xd0, 0xb0, 0x16, 0x10, 
    -	0xb0, 0x27, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x32, 0x00, 0x11, 0x10, 0x00, 
    -	0x23, 0x23, 0x15, 0x23, 0x35, 0x23, 0x22, 0x00, 0x11, 0x10, 0x00, 0x33, 
    -	0x33, 0x35, 0x33, 0x03, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x11, 
    -	0x33, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x03, 0x84, 0x1a, 
    -	0xfc, 0x01, 0x53, 0xfe, 0xad, 0xfc, 0x1a, 0xc5, 0x1d, 0xfd, 0xfe, 0xb0, 
    -	0x01, 0x51, 0xfc, 0x1d, 0xc5, 0xe2, 0xbd, 0xcd, 0xcd, 0xbd, 0x1d, 0xc5, 
    -	0x1c, 0xba, 0xcf, 0xcf, 0xba, 0x05, 0x1f, 0xfe, 0xb7, 0xfe, 0xff, 0xfe, 
    -	0xfd, 0xfe, 0xb6, 0xc4, 0xc4, 0x01, 0x48, 0x01, 0x03, 0x01, 0x01, 0x01, 
    -	0x4b, 0xcd, 0xfe, 0x98, 0xea, 0xc7, 0xc9, 0xe8, 0x03, 0x62, 0xfc, 0x9e, 
    -	0xea, 0xc9, 0xc6, 0xe9, 0xff, 0xff, 0x00, 0x42, 0x00, 0x00, 0x04, 0xd6, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb5, 
    -	0xfe, 0x99, 0x05, 0xd8, 0x05, 0xb0, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x35, 
    -	0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 
    -	0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0xd0, 0xb0, 0x05, 0x10, 
    -	0xb0, 0x08, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x01, 0x33, 0x11, 
    -	0x21, 0x11, 0x33, 0x11, 0x21, 0x05, 0xd8, 0xc5, 0xc5, 0xfa, 0xdd, 0xc6, 
    -	0x02, 0xc4, 0xc5, 0xfb, 0xb1, 0xfe, 0x99, 0x02, 0x07, 0x05, 0x10, 0xfa, 
    -	0xeb, 0x05, 0x15, 0xfa, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x93, 
    -	0x00, 0x00, 0x04, 0xcc, 0x05, 0xb0, 0x00, 0x13, 0x00, 0x3c, 0x00, 0xb0, 
    -	0x0f, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 
    -	0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x06, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x23, 0x11, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x04, 0xcc, 0xc5, 0x5f, 0xb2, 0x7a, 
    -	0xf1, 0xf8, 0xc6, 0x8a, 0x99, 0x68, 0xc0, 0x63, 0x05, 0xb0, 0xfa, 0x50, 
    -	0x02, 0x5b, 0x1d, 0x1a, 0xd3, 0xed, 0x01, 0xcc, 0xfe, 0x34, 0xa5, 0x7f, 
    -	0x1c, 0x1b, 0x02, 0xb9, 0x00, 0x01, 0x00, 0xb4, 0x00, 0x00, 0x06, 0xd8, 
    -	0x05, 0xb0, 0x00, 0x0b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb1, 0x01, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb0, 0x03, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x03, 0x10, 
    -	0xb0, 0x07, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 
    -	0x11, 0x33, 0x11, 0x21, 0x11, 0x01, 0x79, 0x01, 0xec, 0xc4, 0x01, 0xea, 
    -	0xc5, 0xf9, 0xdc, 0x05, 0xb0, 0xfa, 0xea, 0x05, 0x16, 0xfa, 0xea, 0x05, 
    -	0x16, 0xfa, 0x50, 0x05, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 
    -	0xfe, 0xa1, 0x07, 0x73, 0x05, 0xb0, 0x00, 0x0f, 0x00, 0x3e, 0x00, 0xb0, 
    -	0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0xd0, 0xb0, 0x00, 0x10, 0xb0, 0x03, 
    -	0xd0, 0xb0, 0x07, 0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x09, 0xd0, 0x30, 0x31, 
    -	0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x03, 
    -	0x23, 0x11, 0x21, 0x11, 0x01, 0x79, 0x01, 0xec, 0xc4, 0x01, 0xea, 0xc5, 
    -	0x9b, 0x14, 0xaf, 0xfa, 0x04, 0x05, 0xb0, 0xfa, 0xea, 0x05, 0x16, 0xfa, 
    -	0xea, 0x05, 0x16, 0xfa, 0xeb, 0xfe, 0x06, 0x01, 0x5f, 0x05, 0xb0, 0x00, 
    -	0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x05, 0xbc, 0x05, 0xb0, 0x00, 0x0c, 
    -	0x00, 0x15, 0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb2, 0x02, 0x0a, 0x01, 0x11, 
    -	0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x01, 0x10, 0xb1, 0x0b, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb1, 
    -	0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x13, 0x21, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 
    -	0x04, 0x23, 0x21, 0x11, 0x21, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x16, 0x02, 0x53, 0x01, 0x67, 0xea, 0x01, 0x02, 0xfe, 0xfd, 
    -	0xe9, 0xfd, 0xd4, 0xfe, 0x72, 0x02, 0x53, 0x01, 0x67, 0x94, 0x93, 0x93, 
    -	0x94, 0x05, 0xb0, 0xfd, 0xac, 0xe6, 0xc4, 0xc4, 0xee, 0x05, 0x15, 0xfd, 
    -	0xac, 0xfd, 0xd9, 0xa0, 0x7a, 0x76, 0x97, 0x00, 0x00, 0x03, 0x00, 0xb4, 
    -	0x00, 0x00, 0x06, 0x43, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x17, 
    -	0x00, 0x5c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 
    -	0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 
    -	0x2f, 0x1b, 0xb1, 0x14, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x07, 0x09, 0x11, 
    -	0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 0x33, 0x11, 0x11, 0x21, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0x23, 0x11, 0x33, 0x01, 0x79, 
    -	0x01, 0x67, 0xe9, 0x01, 0x03, 0xfe, 0xfc, 0xe8, 0xfd, 0xd4, 0xc5, 0x01, 
    -	0x67, 0x93, 0x94, 0x93, 0x94, 0x03, 0x63, 0xc6, 0xc6, 0x03, 0x70, 0xef, 
    -	0xc5, 0xc6, 0xf6, 0x05, 0xb0, 0xfd, 0x25, 0xfd, 0xc5, 0xa9, 0x7b, 0x77, 
    -	0xa0, 0xfd, 0x2b, 0x05, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xa3, 
    -	0x00, 0x00, 0x04, 0xbb, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x42, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x00, 0x08, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x2f, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x32, 0x04, 0x15, 0x14, 
    -	0x04, 0x23, 0x21, 0x11, 0x33, 0x11, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0x68, 0x01, 0x67, 0xea, 0x01, 0x02, 0xfe, 0xfd, 0xe9, 
    -	0xfd, 0xd4, 0xc5, 0x01, 0x67, 0x94, 0x93, 0x93, 0x94, 0x03, 0x5c, 0xe6, 
    -	0xc4, 0xc4, 0xee, 0x05, 0xb0, 0xfd, 0x11, 0xfd, 0xd9, 0xa0, 0x7a, 0x76, 
    -	0x97, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb5, 0xff, 0xec, 0x04, 0xff, 
    -	0x05, 0xc6, 0x00, 0x21, 0x00, 0x54, 0x00, 0xb0, 0x1a, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0xef, 0x1a, 0x01, 0x5d, 0xb2, 0x2f, 0x1a, 0x01, 0x5d, 0xb0, 0x1a, 
    -	0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x27, 0x26, 0x00, 0x33, 0x32, 
    -	0x00, 0x11, 0x11, 0x10, 0x00, 0x23, 0x22, 0x00, 0x37, 0x37, 0x33, 0x14, 
    -	0x16, 0x33, 0x32, 0x12, 0x35, 0x35, 0x21, 0x35, 0x21, 0x35, 0x34, 0x02, 
    -	0x23, 0x22, 0x06, 0x15, 0xbc, 0x02, 0x05, 0x01, 0x29, 0xf2, 0xf7, 0x01, 
    -	0x38, 0xfe, 0xc8, 0xf7, 0xf7, 0xfe, 0xdc, 0x05, 0x02, 0xbd, 0xb2, 0xa5, 
    -	0xa4, 0xc5, 0xfd, 0xc2, 0x02, 0x3e, 0xc5, 0xa4, 0xa5, 0xb2, 0x03, 0xde, 
    -	0x06, 0xcb, 0x01, 0x17, 0xfe, 0xa1, 0xfe, 0xf3, 0xfe, 0xfd, 0xfe, 0xf2, 
    -	0xfe, 0xa3, 0x01, 0x05, 0xda, 0x06, 0x9a, 0xb1, 0x01, 0x09, 0xc6, 0x51, 
    -	0x9b, 0x19, 0xc6, 0x01, 0x0b, 0xb2, 0x9b, 0x00, 0x00, 0x02, 0x00, 0xbe, 
    -	0xff, 0xeb, 0x06, 0xe2, 0x05, 0xc5, 0x00, 0x15, 0x00, 0x23, 0x00, 0xa6, 
    -	0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 
    -	0xb1, 0x12, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb2, 0x5f, 0x0d, 0x01, 
    -	0x5d, 0xb2, 0xaf, 0x0d, 0x01, 0x5d, 0xb4, 0x1f, 0x0d, 0x2f, 0x0d, 0x02, 
    -	0x71, 0xb2, 0xcf, 0x0d, 0x01, 0x71, 0xb4, 0xef, 0x0d, 0xff, 0x0d, 0x02, 
    -	0x71, 0xb4, 0x9f, 0x0d, 0xaf, 0x0d, 0x02, 0x71, 0x40, 0x09, 0xcf, 0x0d, 
    -	0xdf, 0x0d, 0xef, 0x0d, 0xff, 0x0d, 0x04, 0x5d, 0xb2, 0x7f, 0x0d, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x0d, 0x01, 0x5d, 0xb2, 0x0f, 0x0d, 0x01, 0x5d, 0xb0, 
    -	0x0d, 0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x12, 0x10, 0xb1, 0x19, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x20, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 
    -	0x00, 0x21, 0x22, 0x00, 0x11, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 
    -	0x33, 0x35, 0x10, 0x00, 0x33, 0x20, 0x00, 0x11, 0x27, 0x34, 0x02, 0x23, 
    -	0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 0x32, 0x36, 0x35, 0x06, 0xe2, 
    -	0xfe, 0xb5, 0xfe, 0xf8, 0xff, 0xfe, 0xc1, 0xcd, 0xc6, 0xc6, 0xcd, 0x01, 
    -	0x3f, 0xff, 0x01, 0x08, 0x01, 0x4b, 0xc5, 0xd8, 0xb6, 0xac, 0xcd, 0xcd, 
    -	0xac, 0xb7, 0xd7, 0x02, 0x56, 0xfe, 0xf5, 0xfe, 0xa0, 0x01, 0x60, 0x01, 
    -	0x0b, 0x22, 0xfd, 0x88, 0x05, 0xb0, 0xfd, 0x62, 0x47, 0x01, 0x0a, 0x01, 
    -	0x62, 0xfe, 0x9f, 0xfe, 0xf5, 0x02, 0xc8, 0x01, 0x00, 0xff, 0x00, 0xc8, 
    -	0xfe, 0xfb, 0xca, 0xff, 0x00, 0xff, 0xcb, 0x00, 0x00, 0x02, 0x00, 0x63, 
    -	0x00, 0x00, 0x04, 0x6e, 0x05, 0xb0, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x5d, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x16, 0x00, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x16, 
    -	0x2f, 0xb4, 0x0f, 0x16, 0x1f, 0x16, 0x02, 0x5d, 0xb4, 0x3f, 0x16, 0x4f, 
    -	0x16, 0x02, 0x5d, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x0c, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x01, 
    -	0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x23, 0x11, 0x21, 0x01, 
    -	0x21, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x21, 0x01, 0x34, 0xd1, 0x01, 
    -	0x55, 0x8d, 0x93, 0x01, 0x13, 0xf1, 0x01, 0xd2, 0xc5, 0xfe, 0xba, 0x01, 
    -	0x46, 0xfe, 0xf3, 0x9c, 0xa3, 0xa4, 0x99, 0x01, 0x0f, 0x02, 0x6e, 0x36, 
    -	0xc8, 0x8e, 0xd0, 0xe6, 0xfa, 0x50, 0x02, 0x39, 0x02, 0xdc, 0x96, 0x83, 
    -	0x83, 0xa4, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x04, 0x4e, 0x02, 0x06, 0x00, 0x44, 0x00, 0x00, 0x00, 0x02, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x06, 0x11, 0x00, 0x1c, 0x00, 0x2a, 0x00, 0x62, 
    -	0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb2, 0x0f, 0x11, 0x01, 0x5d, 0xb2, 0x2f, 
    -	0x11, 0x01, 0x5d, 0xb2, 0x00, 0x11, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x2f, 0xb2, 0x16, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x16, 0x2f, 0xb1, 
    -	0x0e, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x1a, 0x00, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x1d, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x24, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x32, 0x12, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 
    -	0x35, 0x35, 0x10, 0x00, 0x37, 0x36, 0x36, 0x35, 0x33, 0x17, 0x16, 0x06, 
    -	0x07, 0x06, 0x06, 0x07, 0x17, 0x36, 0x36, 0x17, 0x22, 0x06, 0x15, 0x15, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x02, 0x6b, 0xcf, 
    -	0xf0, 0xfe, 0xfc, 0xe0, 0xe0, 0xfe, 0xfb, 0x01, 0x0d, 0xe2, 0x7e, 0x71, 
    -	0x98, 0x02, 0x03, 0xac, 0xbb, 0x88, 0xc2, 0x16, 0x04, 0x3b, 0xb2, 0x3e, 
    -	0x8d, 0x90, 0x90, 0x8f, 0x8d, 0x92, 0x93, 0x03, 0xfc, 0xfe, 0xed, 0xd7, 
    -	0x16, 0xe9, 0xfe, 0xd8, 0x01, 0x28, 0xe9, 0x8c, 0x01, 0x40, 0x01, 0x7c, 
    -	0x2d, 0x17, 0x40, 0x49, 0x06, 0xb0, 0x6e, 0x20, 0x17, 0xa4, 0x9f, 0x05, 
    -	0x3f, 0x4f, 0x9a, 0xc0, 0x90, 0x16, 0xa3, 0xd4, 0xd4, 0xa3, 0x16, 0x90, 
    -	0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x04, 0x23, 
    -	0x04, 0x3a, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x20, 0x00, 0x92, 0x00, 0xb0, 
    -	0x18, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x18, 0xcf, 0x18, 0x02, 0x5d, 0xb2, 
    -	0x2f, 0x18, 0x01, 0x71, 0xb2, 0x9f, 0x18, 0x01, 0x71, 0xb2, 0xff, 0x18, 
    -	0x01, 0x71, 0xb2, 0x6f, 0x18, 0x01, 0x72, 0xb2, 0xdf, 0x18, 0x01, 0x72, 
    -	0xb2, 0x3f, 0x18, 0x01, 0x72, 0xb2, 0xcf, 0x18, 0x01, 0x71, 0xb2, 0x6f, 
    -	0x18, 0x01, 0x71, 0xb2, 0xff, 0x18, 0x01, 0x5d, 0xb2, 0x5f, 0x18, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x18, 0x01, 0x5d, 0xb0, 0x18, 0x10, 0xb1, 0x0f, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x08, 0x0f, 
    -	0x18, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x1f, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x90, 0x01, 0xab, 
    -	0xd6, 0xec, 0x5c, 0x54, 0x65, 0x71, 0xdd, 0xc6, 0xfe, 0xd5, 0x01, 0x2b, 
    -	0x6d, 0x70, 0x70, 0x6d, 0xfe, 0xd5, 0xe7, 0x7d, 0x7f, 0x80, 0x7d, 0xe6, 
    -	0x04, 0x3a, 0x95, 0x95, 0x4c, 0x77, 0x1f, 0x19, 0x89, 0x58, 0x98, 0x9c, 
    -	0x01, 0xda, 0xfe, 0xbe, 0x53, 0x4e, 0x4d, 0x54, 0x97, 0x4a, 0x4b, 0x4d, 
    -	0x4e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x03, 0x3f, 
    -	0x04, 0x3a, 0x00, 0x05, 0x00, 0x2c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x03, 0x3f, 0xfe, 0x15, 
    -	0xc5, 0x02, 0xb0, 0x03, 0x9e, 0xfc, 0x62, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x2e, 0xfe, 0xc2, 0x04, 0xa0, 0x04, 0x3a, 0x00, 0x0e, 
    -	0x00, 0x15, 0x00, 0x4a, 0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb1, 0x12, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 
    -	0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x0c, 0x10, 0xb0, 0x09, 
    -	0xd0, 0xb0, 0x05, 0x10, 0xb1, 0x14, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 
    -	0x11, 0x33, 0x03, 0x23, 0x11, 0x21, 0x11, 0x23, 0x03, 0x01, 0x06, 0x06, 
    -	0x07, 0x21, 0x11, 0x21, 0x83, 0x53, 0x58, 0x0f, 0x10, 0x02, 0xc3, 0x90, 
    -	0x13, 0xb2, 0xfd, 0x18, 0xb2, 0x13, 0x01, 0xd4, 0x0b, 0x51, 0x40, 0x01, 
    -	0xe5, 0xfe, 0xc0, 0x9a, 0x60, 0xd1, 0xd8, 0x01, 0x97, 0xfc, 0x60, 0xfe, 
    -	0x28, 0x01, 0x3e, 0xfe, 0xc2, 0x01, 0xd8, 0x02, 0x09, 0xb4, 0xfe, 0x57, 
    -	0x02, 0xf1, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 
    -	0x04, 0x4e, 0x02, 0x06, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x15, 
    -	0x00, 0x00, 0x06, 0x04, 0x04, 0x3a, 0x00, 0x15, 0x00, 0x68, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 
    -	0x59, 0xb2, 0x0c, 0x06, 0x0a, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x2f, 0xb4, 
    -	0xbf, 0x0c, 0xcf, 0x0c, 0x02, 0x5d, 0xb1, 0x04, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x06, 0x10, 
    -	0xb0, 0x03, 0xd0, 0xb2, 0x08, 0x04, 0x0c, 0x11, 0x12, 0x39, 0xb0, 0x0a, 
    -	0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x0c, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x0d, 
    -	0x10, 0xb0, 0x11, 0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x03, 
    -	0x10, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 
    -	0x01, 0x23, 0x01, 0x01, 0x33, 0x01, 0x33, 0x11, 0x33, 0x11, 0x33, 0x01, 
    -	0x33, 0x01, 0x01, 0x23, 0x03, 0xed, 0x7e, 0xc5, 0x7f, 0xfe, 0xe2, 0xf8, 
    -	0x01, 0x82, 0xfe, 0xa0, 0xee, 0x01, 0x0a, 0x7b, 0xc5, 0x7b, 0x01, 0x0b, 
    -	0xee, 0xfe, 0x9f, 0x01, 0x82, 0xf8, 0x01, 0xd5, 0xfe, 0x2b, 0x01, 0xd5, 
    -	0xfe, 0x2b, 0x02, 0x3d, 0x01, 0xfd, 0xfe, 0x42, 0x01, 0xbe, 0xfe, 0x42, 
    -	0x01, 0xbe, 0xfe, 0x03, 0xfd, 0xc3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x58, 
    -	0xff, 0xed, 0x03, 0xae, 0x04, 0x4c, 0x00, 0x2a, 0x00, 0x75, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0x2a, 
    -	0x1a, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x2a, 0x2f, 0xb2, 0x2f, 0x2a, 0x01, 
    -	0x5d, 0xb4, 0xbf, 0x2a, 0xcf, 0x2a, 0x02, 0x5d, 0xb2, 0x9f, 0x2a, 0x01, 
    -	0x71, 0xb1, 0x29, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x14, 0x29, 0x2a, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb0, 
    -	0x1f, 0xd0, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x23, 0x35, 0x02, 0x13, 0x68, 0x5a, 0x67, 0x68, 0x5d, 0x7e, 0xbb, 0x02, 
    -	0x06, 0xef, 0xaf, 0xbe, 0xd6, 0x58, 0x4f, 0x5b, 0x60, 0xe9, 0xbf, 0xb0, 
    -	0xfe, 0x05, 0x02, 0xbb, 0x84, 0x68, 0x6b, 0x77, 0x67, 0x6e, 0xbc, 0x02, 
    -	0x78, 0x4f, 0x4b, 0x44, 0x5e, 0x62, 0x46, 0x06, 0x8b, 0xaf, 0xa3, 0x97, 
    -	0x49, 0x79, 0x23, 0x21, 0x80, 0x5b, 0x98, 0xac, 0xab, 0xa2, 0x06, 0x4c, 
    -	0x70, 0x63, 0x4a, 0x57, 0x50, 0xa0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0x00, 0x00, 0x03, 0xfc, 0x04, 0x3a, 0x00, 0x0b, 0x00, 0x6e, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x04, 0xd0, 0xb2, 0x9d, 0x04, 
    -	0x01, 0x5d, 0xb6, 0x4c, 0x04, 0x5c, 0x04, 0x6c, 0x04, 0x03, 0x5d, 0xb4, 
    -	0x7b, 0x04, 0x8b, 0x04, 0x02, 0x5d, 0xb0, 0x06, 0x10, 0xb0, 0x0b, 0xd0, 
    -	0xb2, 0x84, 0x0b, 0x01, 0x5d, 0x40, 0x09, 0x43, 0x0b, 0x53, 0x0b, 0x63, 
    -	0x0b, 0x73, 0x0b, 0x04, 0x5d, 0xb2, 0x92, 0x0b, 0x01, 0x5d, 0x30, 0x31, 
    -	0x01, 0x33, 0x11, 0x23, 0x11, 0x27, 0x01, 0x23, 0x11, 0x33, 0x11, 0x17, 
    -	0x03, 0x37, 0xc5, 0xc5, 0x06, 0xfe, 0x22, 0xc4, 0xc4, 0x06, 0x04, 0x3a, 
    -	0xfb, 0xc6, 0x03, 0x00, 0x02, 0xfc, 0xfe, 0x04, 0x3a, 0xfd, 0x00, 0x02, 
    -	0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfc, 0x05, 0xf7, 0x02, 0x26, 
    -	0x01, 0xe4, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0x99, 0x00, 0x47, 
    -	0x00, 0x33, 0x00, 0xb2, 0x8f, 0x10, 0x01, 0x71, 0xb2, 0xcf, 0x10, 0x01, 
    -	0x71, 0xb2, 0x1f, 0x10, 0x01, 0x72, 0xb6, 0x3f, 0x10, 0x4f, 0x10, 0x5f, 
    -	0x10, 0x03, 0x5d, 0xb2, 0xff, 0x10, 0x01, 0x71, 0xb2, 0xaf, 0x10, 0x01, 
    -	0x71, 0xb6, 0x60, 0x10, 0x70, 0x10, 0x80, 0x10, 0x03, 0x5d, 0xb2, 0x00, 
    -	0x10, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x99, 
    -	0x00, 0x00, 0x04, 0x41, 0x04, 0x3a, 0x00, 0x0e, 0x00, 0x8e, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x06, 0xcf, 0x06, 0x02, 
    -	0x5d, 0xb2, 0x2f, 0x06, 0x01, 0x71, 0xb2, 0x9f, 0x06, 0x01, 0x71, 0xb2, 
    -	0xff, 0x06, 0x01, 0x71, 0xb2, 0x6f, 0x06, 0x01, 0x72, 0xb2, 0xdf, 0x06, 
    -	0x01, 0x72, 0xb2, 0x3f, 0x06, 0x01, 0x72, 0xb2, 0xcf, 0x06, 0x01, 0x71, 
    -	0xb2, 0x6f, 0x06, 0x01, 0x71, 0xb2, 0xff, 0x06, 0x01, 0x5d, 0xb2, 0x5f, 
    -	0x06, 0x01, 0x5d, 0xb2, 0x2f, 0x06, 0x01, 0x5d, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x01, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x0b, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x01, 
    -	0xdf, 0x81, 0xc5, 0xc5, 0x72, 0x01, 0x65, 0xe7, 0x03, 0xfe, 0x58, 0x01, 
    -	0xca, 0x03, 0xf2, 0x01, 0xcb, 0xfe, 0x35, 0x04, 0x3a, 0xfe, 0x37, 0x01, 
    -	0xc9, 0x05, 0xfd, 0xff, 0xfd, 0xd1, 0x05, 0x00, 0x00, 0x01, 0x00, 0x1a, 
    -	0x00, 0x00, 0x03, 0xfc, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x48, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x23, 0x11, 0x21, 0x11, 0x10, 0x02, 0x23, 0x23, 0x37, 0x37, 0x32, 0x36, 
    -	0x35, 0x11, 0x03, 0xfc, 0xc5, 0xfe, 0x92, 0xaa, 0xcd, 0x38, 0x04, 0x29, 
    -	0x69, 0x53, 0x04, 0x3a, 0xfb, 0xc6, 0x03, 0x9e, 0xfe, 0xce, 0xfe, 0xc0, 
    -	0xfe, 0xd4, 0xa8, 0x01, 0xcd, 0xf6, 0x01, 0xce, 0x00, 0x01, 0x00, 0x99, 
    -	0x00, 0x00, 0x05, 0x55, 0x04, 0x3a, 0x00, 0x0f, 0x00, 0x7b, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb0, 0x01, 0xd0, 0xb4, 0x44, 
    -	0x01, 0x54, 0x01, 0x02, 0x5d, 0x40, 0x09, 0x63, 0x01, 0x73, 0x01, 0x83, 
    -	0x01, 0x93, 0x01, 0x04, 0x5d, 0xb0, 0x0e, 0x10, 0xb0, 0x0a, 0xd0, 0xb6, 
    -	0x7d, 0x0a, 0x8d, 0x0a, 0x9d, 0x0a, 0x03, 0x5d, 0xb2, 0x6c, 0x0a, 0x01, 
    -	0x5d, 0xb4, 0x4b, 0x0a, 0x5b, 0x0a, 0x02, 0x5d, 0xb0, 0x07, 0xd0, 0x30, 
    -	0x31, 0x01, 0x33, 0x01, 0x33, 0x11, 0x23, 0x11, 0x27, 0x01, 0x23, 0x01, 
    -	0x07, 0x11, 0x23, 0x11, 0x33, 0x02, 0xf7, 0x06, 0x01, 0x62, 0xf6, 0xc5, 
    -	0x06, 0xfe, 0xb4, 0x88, 0xfe, 0xae, 0x06, 0xc5, 0xfe, 0x01, 0x02, 0x03, 
    -	0x38, 0xfb, 0xc6, 0x02, 0xef, 0x02, 0xfd, 0x0f, 0x03, 0x02, 0x02, 0xfd, 
    -	0x00, 0x04, 0x3a, 0x00, 0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfb, 
    -	0x04, 0x3a, 0x00, 0x0b, 0x00, 0xa0, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 
    -	0x3e, 0x59, 0xb2, 0x9f, 0x08, 0x01, 0x5d, 0xb2, 0xff, 0x08, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x08, 0x01, 0x71, 0xb4, 0xcf, 0x08, 0xdf, 0x08, 0x02, 0x71, 
    -	0xb4, 0x3f, 0x08, 0x4f, 0x08, 0x02, 0x72, 0xb2, 0xaf, 0x08, 0x01, 0x72, 
    -	0xb4, 0xdf, 0x08, 0xef, 0x08, 0x02, 0x72, 0xb4, 0x6f, 0x08, 0x7f, 0x08, 
    -	0x02, 0x72, 0xb2, 0xff, 0x08, 0x01, 0x71, 0xb2, 0x0f, 0x08, 0x01, 0x72, 
    -	0xb2, 0x9f, 0x08, 0x01, 0x71, 0xb4, 0x2f, 0x08, 0x3f, 0x08, 0x02, 0x71, 
    -	0xb4, 0xbf, 0x08, 0xcf, 0x08, 0x02, 0x5d, 0xb2, 0x5f, 0x08, 0x01, 0x5d, 
    -	0xb2, 0x2f, 0x08, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x03, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 
    -	0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x03, 0xfb, 
    -	0xc5, 0xfe, 0x1e, 0xc5, 0xc5, 0x01, 0xe2, 0xc5, 0x01, 0xcc, 0xfe, 0x34, 
    -	0x04, 0x3a, 0xfe, 0x2c, 0x01, 0xd4, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x04, 0x4e, 0x02, 0x06, 0x00, 0x52, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfc, 0x04, 0x3a, 0x00, 0x07, 
    -	0x00, 0x39, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x02, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 
    -	0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x03, 0xfc, 0xc5, 0xfe, 0x1d, 
    -	0xc5, 0x03, 0x6d, 0x03, 0x9e, 0xfc, 0x62, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8f, 0xfe, 0x60, 0x04, 0x29, 0x04, 0x4e, 0x02, 0x06, 
    -	0x00, 0x53, 0x00, 0x00, 0x00, 0x01, 0x00, 0x61, 0xff, 0xeb, 0x03, 0xf6, 
    -	0x04, 0x4e, 0x00, 0x1d, 0x00, 0x38, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 
    -	0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x33, 0x17, 0x16, 0x04, 0x23, 0x22, 
    -	0x02, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x02, 0x47, 0x62, 0x95, 
    -	0xb1, 0x02, 0x05, 0xfe, 0xfd, 0xac, 0xec, 0xfa, 0xfb, 0xeb, 0xbe, 0xf1, 
    -	0x04, 0x02, 0xb2, 0x8c, 0x6b, 0x9b, 0x85, 0x84, 0x85, 0x79, 0x58, 0x06, 
    -	0x8c, 0xd9, 0x01, 0x34, 0xe9, 0x2a, 0xe7, 0x01, 0x35, 0xe0, 0xa3, 0x06, 
    -	0x63, 0x8b, 0xdf, 0xa2, 0x2a, 0xa6, 0xdd, 0x00, 0x00, 0x01, 0x00, 0x47, 
    -	0x00, 0x00, 0x03, 0xd1, 0x04, 0x3a, 0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x06, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x23, 0x11, 0x21, 0x35, 0x21, 0x03, 0xd1, 0xfe, 0x9b, 0xc5, 0xfe, 0xa0, 
    -	0x03, 0x8a, 0x03, 0xa1, 0xfc, 0x5f, 0x03, 0xa1, 0x99, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 0x04, 0x3a, 0x02, 0x06, 
    -	0x00, 0x5c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x62, 0xfe, 0x60, 0x05, 0x6b, 
    -	0x06, 0x18, 0x00, 0x1f, 0x00, 0x2d, 0x00, 0x3b, 0x00, 0x5d, 0x00, 0xb0, 
    -	0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 
    -	0x1c, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 
    -	0xb1, 0x18, 0x08, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 
    -	0x1c, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x03, 0x10, 0xb1, 0x38, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x23, 0xd0, 0xb0, 
    -	0x1c, 0x10, 0xb1, 0x31, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x2a, 0xd0, 0x30, 0x31, 0x13, 0x10, 0x12, 0x33, 0x32, 
    -	0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x36, 0x33, 0x32, 0x12, 0x11, 0x15, 
    -	0x14, 0x02, 0x23, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x06, 0x06, 0x23, 
    -	0x22, 0x02, 0x35, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 
    -	0x11, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x62, 0xcc, 0xbe, 0x28, 0x47, 
    -	0x20, 0xc5, 0x22, 0x50, 0x2f, 0xbe, 0xcc, 0xcd, 0xbb, 0x2f, 0x52, 0x22, 
    -	0xc5, 0x20, 0x48, 0x29, 0xbc, 0xcc, 0x04, 0x44, 0x7f, 0x82, 0x1e, 0x32, 
    -	0x15, 0x14, 0x33, 0x20, 0x82, 0x7d, 0xfc, 0x81, 0x73, 0x82, 0x1b, 0x30, 
    -	0x14, 0x14, 0x2e, 0x1b, 0x82, 0x75, 0x02, 0x09, 0x01, 0x07, 0x01, 0x3e, 
    -	0x0e, 0x0c, 0x01, 0xe4, 0xfe, 0x16, 0x0f, 0x11, 0xfe, 0xc2, 0xfe, 0xf9, 
    -	0x15, 0xec, 0xfe, 0xe3, 0x10, 0x0e, 0xfe, 0x57, 0x01, 0xa4, 0x0c, 0x0d, 
    -	0x01, 0x1d, 0xec, 0x15, 0xbc, 0xee, 0x09, 0x08, 0xfc, 0xf1, 0x07, 0x07, 
    -	0xca, 0xa5, 0xa7, 0xc8, 0x07, 0x07, 0x03, 0x12, 0x06, 0x08, 0xec, 0xbe, 
    -	0xff, 0xff, 0x00, 0x2e, 0x00, 0x00, 0x03, 0xd4, 0x04, 0x3a, 0x02, 0x06, 
    -	0x00, 0x5b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 0xfe, 0x9e, 0x04, 0x80, 
    -	0x04, 0x3a, 0x00, 0x0b, 0x00, 0x38, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 
    -	0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x01, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x06, 0xd0, 
    -	0x30, 0x31, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 
    -	0x11, 0x21, 0x8f, 0xc5, 0x01, 0xe3, 0xc5, 0x84, 0xc5, 0xfc, 0xd4, 0x04, 
    -	0x3a, 0xfc, 0x60, 0x03, 0xa0, 0xfc, 0x60, 0xfe, 0x04, 0x01, 0x62, 0x00, 
    -	0x00, 0x01, 0x00, 0x7f, 0x00, 0x00, 0x03, 0xdc, 0x04, 0x3b, 0x00, 0x13, 
    -	0x00, 0x43, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x0e, 
    -	0xcf, 0x0e, 0x02, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x11, 0x33, 0x03, 0xdc, 0xc5, 0x39, 0x78, 0x44, 0xc4, 
    -	0xdf, 0xc5, 0x70, 0x6e, 0x42, 0x78, 0x3b, 0xc5, 0x01, 0x83, 0x0f, 0x0f, 
    -	0xce, 0xca, 0x01, 0x3e, 0xfe, 0xc2, 0x82, 0x7a, 0x0f, 0x0f, 0x02, 0x1b, 
    -	0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x05, 0xd8, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x46, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 
    -	0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0xd0, 0x30, 0x31, 
    -	0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 
    -	0x01, 0x54, 0x01, 0x7d, 0xc5, 0x01, 0x7d, 0xc5, 0xfa, 0xb7, 0x04, 0x3a, 
    -	0xfc, 0x60, 0x03, 0xa0, 0xfc, 0x60, 0x03, 0xa0, 0xfb, 0xc6, 0x04, 0x3a, 
    -	0x00, 0x01, 0x00, 0x8f, 0xfe, 0xae, 0x06, 0x88, 0x04, 0x3a, 0x00, 0x0f, 
    -	0x00, 0x47, 0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x06, 0x3e, 0x59, 0xb1, 0x02, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 
    -	0x03, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x05, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x07, 0xd0, 0xb0, 0x05, 0x10, 0xb0, 0x09, 0xd0, 0xb0, 0x09, 0x2f, 0x30, 
    -	0x31, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 
    -	0x11, 0x23, 0x11, 0x21, 0x11, 0x01, 0x54, 0x01, 0x7d, 0xc5, 0x01, 0x7d, 
    -	0xc5, 0xb0, 0xc3, 0xfa, 0xca, 0x04, 0x3a, 0xfc, 0x60, 0x03, 0xa0, 0xfc, 
    -	0x60, 0x03, 0xa0, 0xfc, 0x57, 0xfe, 0x1d, 0x01, 0x52, 0x04, 0x3a, 0x00, 
    -	0x00, 0x02, 0x00, 0x1d, 0x00, 0x00, 0x04, 0xc1, 0x04, 0x3a, 0x00, 0x0c, 
    -	0x00, 0x15, 0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x08, 0x0b, 0x11, 
    -	0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb0, 0x0b, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x08, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 
    -	0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x02, 0x1f, 0x01, 0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 0x2e, 
    -	0xfe, 0xc3, 0x02, 0x02, 0x01, 0x0d, 0x6a, 0x65, 0x66, 0x69, 0x02, 0xc6, 
    -	0xc3, 0x9c, 0x9d, 0xca, 0x03, 0x9f, 0x9b, 0xfd, 0xf2, 0xfe, 0x6e, 0x71, 
    -	0x55, 0x52, 0x7a, 0x00, 0x00, 0x03, 0x00, 0xad, 0x00, 0x00, 0x05, 0x98, 
    -	0x04, 0x3a, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x17, 0x00, 0x58, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 
    -	0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0f, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 
    -	0x33, 0x01, 0x23, 0x11, 0x33, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0x72, 0x01, 0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 0x2e, 
    -	0xc5, 0x04, 0x26, 0xc5, 0xc5, 0xfb, 0xda, 0x01, 0x0d, 0x6a, 0x65, 0x66, 
    -	0x69, 0x02, 0x9e, 0xb8, 0x93, 0x94, 0xbf, 0x04, 0x3a, 0xfb, 0xc6, 0x04, 
    -	0x3a, 0xfd, 0xca, 0xfe, 0x96, 0x66, 0x4c, 0x4a, 0x6e, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x99, 0x00, 0x00, 0x04, 0x00, 0x04, 0x3a, 0x00, 0x0a, 
    -	0x00, 0x13, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x21, 0x11, 0x33, 0x11, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x01, 0x5e, 0x01, 0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 0x2e, 
    -	0xc5, 0x01, 0x0d, 0x6a, 0x65, 0x66, 0x69, 0x02, 0x9e, 0xb8, 0x93, 0x94, 
    -	0xbf, 0x04, 0x3a, 0xfd, 0xca, 0xfe, 0x96, 0x66, 0x4c, 0x4a, 0x6e, 0x00, 
    -	0x00, 0x01, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xe3, 0x04, 0x4e, 0x00, 0x21, 
    -	0x00, 0x81, 0x00, 0xb0, 0x1d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb1, 
    -	0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0f, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x2f, 0x1d, 0x01, 0x5d, 0xb4, 0xbf, 0x1d, 0xcf, 0x1d, 
    -	0x02, 0x5d, 0xb2, 0x2f, 0x1d, 0x01, 0x71, 0xb2, 0xcf, 0x1d, 0x01, 0x71, 
    -	0xb2, 0xff, 0x1d, 0x01, 0x71, 0xb2, 0x9f, 0x1d, 0x01, 0x71, 0xb2, 0xff, 
    -	0x1d, 0x01, 0x5d, 0xb2, 0x5f, 0x1d, 0x01, 0x5d, 0xb2, 0x6f, 0x1d, 0x01, 
    -	0x72, 0xb2, 0x9f, 0x1d, 0x01, 0x72, 0xb0, 0x1d, 0x10, 0xb1, 0x1c, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 
    -	0x14, 0x00, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x37, 0x27, 0x21, 0x35, 0x21, 0x37, 0x26, 0x26, 0x02, 0x08, 0x5c, 
    -	0x8f, 0xb2, 0x02, 0x06, 0xff, 0xa6, 0xdc, 0xff, 0xff, 0x00, 0xdb, 0xb7, 
    -	0xee, 0x05, 0x02, 0xb3, 0x87, 0x64, 0x7e, 0x8a, 0x08, 0x03, 0xfe, 0x7f, 
    -	0x01, 0x7f, 0x02, 0x0a, 0x89, 0x03, 0xb3, 0x7a, 0x57, 0x06, 0x8b, 0xdb, 
    -	0xfe, 0xc7, 0xe3, 0x2a, 0xe4, 0xfe, 0xc7, 0xdf, 0xa3, 0x06, 0x63, 0x8b, 
    -	0xc4, 0x8c, 0x05, 0x9a, 0x05, 0x83, 0xb7, 0x00, 0x00, 0x02, 0x00, 0x99, 
    -	0xff, 0xeb, 0x06, 0x24, 0x04, 0x4e, 0x00, 0x13, 0x00, 0x21, 0x00, 0xa5, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 
    -	0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 
    -	0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x00, 0xcf, 
    -	0x00, 0x02, 0x5d, 0xb2, 0x2f, 0x00, 0x01, 0x71, 0xb2, 0x9f, 0x00, 0x01, 
    -	0x71, 0xb2, 0xff, 0x00, 0x01, 0x71, 0xb2, 0x6f, 0x00, 0x01, 0x72, 0xb2, 
    -	0xdf, 0x00, 0x01, 0x72, 0xb2, 0x3f, 0x00, 0x01, 0x72, 0xb2, 0xcf, 0x00, 
    -	0x01, 0x71, 0xb2, 0x6f, 0x00, 0x01, 0x71, 0xb2, 0xff, 0x00, 0x01, 0x5d, 
    -	0xb2, 0x5f, 0x00, 0x01, 0x5d, 0xb2, 0x2f, 0x00, 0x01, 0x5d, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x36, 
    -	0x12, 0x33, 0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x27, 
    -	0x23, 0x11, 0x23, 0x11, 0x33, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x5e, 0x01, 0x00, 0x14, 
    -	0xff, 0xcd, 0xe1, 0x01, 0x05, 0xfe, 0xfc, 0xe0, 0xd2, 0xfe, 0xff, 0x10, 
    -	0xff, 0xc5, 0xc5, 0x01, 0xc2, 0x91, 0x8f, 0x8d, 0x92, 0x93, 0x8e, 0x8d, 
    -	0x91, 0x02, 0x71, 0xd4, 0x01, 0x09, 0xfe, 0xca, 0xf1, 0x16, 0xf2, 0xfe, 
    -	0xcc, 0x01, 0x11, 0xdb, 0xfe, 0x29, 0x04, 0x3a, 0xfd, 0xd7, 0xac, 0xe0, 
    -	0xe0, 0xac, 0x16, 0xaa, 0xe2, 0xe2, 0xaa, 0x00, 0x00, 0x02, 0x00, 0x4e, 
    -	0x00, 0x00, 0x03, 0xf2, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x52, 
    -	0x00, 0xb0, 0x03, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 
    -	0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x12, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x07, 
    -	0x03, 0x12, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x13, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x23, 0x11, 0x21, 0x01, 0x23, 0x01, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 
    -	0x03, 0x14, 0x16, 0x33, 0x21, 0x11, 0x21, 0x22, 0x06, 0x03, 0xf2, 0xc5, 
    -	0xfe, 0xf5, 0xff, 0x00, 0xd4, 0x01, 0x12, 0x67, 0x6f, 0xdd, 0xc2, 0xd9, 
    -	0x62, 0x62, 0x01, 0x19, 0xfe, 0xfc, 0x6b, 0x6e, 0x04, 0x3a, 0xfb, 0xc6, 
    -	0x01, 0xa4, 0xfe, 0x5c, 0x01, 0xc1, 0x25, 0xa0, 0x69, 0x92, 0xb9, 0xfe, 
    -	0xb3, 0x48, 0x66, 0x01, 0x62, 0x6b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x05, 0xe1, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0x97, 0x00, 0x1c, 0x00, 0x08, 0x00, 0xb2, 
    -	0xc0, 0x20, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x05, 0xcc, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x2c, 0x1c, 0x00, 0x3d, 0x00, 0xb2, 0x60, 0x21, 
    -	0x01, 0x72, 0xb4, 0xb0, 0x21, 0xc0, 0x21, 0x02, 0x71, 0xb2, 0x40, 0x21, 
    -	0x01, 0x72, 0xb2, 0xf0, 0x21, 0x01, 0x71, 0xb4, 0x00, 0x21, 0x10, 0x21, 
    -	0x02, 0x72, 0xb2, 0x60, 0x24, 0x01, 0x72, 0xb4, 0xb0, 0x24, 0xc0, 0x24, 
    -	0x02, 0x71, 0xb2, 0x40, 0x24, 0x01, 0x72, 0xb2, 0xf0, 0x24, 0x01, 0x71, 
    -	0xb4, 0x00, 0x24, 0x10, 0x24, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0xff, 0xe7, 0xfe, 0x4b, 0x04, 0x01, 0x06, 0x18, 0x00, 0x29, 
    -	0x00, 0x7d, 0x00, 0xb0, 0x26, 0x2f, 0xb0, 0x29, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x08, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x06, 0x3e, 0x59, 
    -	0xb2, 0x5f, 0x29, 0x01, 0x5d, 0xb2, 0x2f, 0x29, 0x01, 0x5d, 0xb2, 0xbf, 
    -	0x29, 0x01, 0x5d, 0xb0, 0x29, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x15, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0x10, 
    -	0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0x10, 0xb0, 0x22, 0xd0, 0xb0, 0x29, 0x10, 0xb0, 0x24, 0xd0, 
    -	0xb2, 0x2f, 0x26, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x11, 0x36, 0x36, 
    -	0x33, 0x32, 0x16, 0x15, 0x15, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 
    -	0x21, 0x02, 0x68, 0xfe, 0xec, 0x38, 0xa3, 0x63, 0xad, 0xc1, 0x01, 0xac, 
    -	0x9a, 0x21, 0x34, 0x1c, 0x0f, 0x0d, 0x44, 0x11, 0x3c, 0x44, 0x73, 0x72, 
    -	0x52, 0x85, 0x2b, 0xc5, 0xa8, 0xa8, 0xc5, 0x01, 0x14, 0x04, 0xb8, 0xfe, 
    -	0xf1, 0x4e, 0x57, 0xd0, 0xd8, 0xde, 0xfd, 0xdf, 0xa7, 0xb5, 0x08, 0x09, 
    -	0x97, 0x05, 0x08, 0x67, 0x5a, 0x03, 0x01, 0x86, 0x80, 0x4d, 0x42, 0xfc, 
    -	0xe1, 0x04, 0xb8, 0x9b, 0xc5, 0xc5, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0x00, 0x00, 0x03, 0x3f, 0x05, 0xc7, 0x02, 0x26, 0x01, 0xdf, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x00, 0xc9, 0x00, 0x02, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x09, 0x01, 0x71, 0xb6, 0xdf, 0x09, 0xef, 0x09, 0xff, 0x09, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x09, 0x1f, 0x09, 0x2f, 0x09, 0x3f, 0x09, 0x4f, 
    -	0x09, 0x5f, 0x09, 0x6f, 0x09, 0x7f, 0x09, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0x00, 0x01, 0x00, 0x6b, 0xff, 0xeb, 0x04, 0x00, 0x04, 0x4e, 0x00, 0x21, 
    -	0x00, 0x9a, 0x00, 0xb0, 0x1c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 
    -	0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x2f, 0x1c, 0x01, 0x5d, 0xb2, 0x9f, 0x1c, 0x01, 0x5d, 0xb2, 0xff, 0x1c, 
    -	0x01, 0x5d, 0xb2, 0x6f, 0x1c, 0x01, 0x71, 0xb4, 0xcf, 0x1c, 0xdf, 0x1c, 
    -	0x02, 0x71, 0xb2, 0x3f, 0x1c, 0x01, 0x72, 0xb2, 0xff, 0x1c, 0x01, 0x71, 
    -	0xb2, 0x0f, 0x1c, 0x01, 0x72, 0xb2, 0x9f, 0x1c, 0x01, 0x71, 0xb4, 0x2f, 
    -	0x1c, 0x3f, 0x1c, 0x02, 0x71, 0xb4, 0xbf, 0x1c, 0xcf, 0x1c, 0x02, 0x5d, 
    -	0xb2, 0x5f, 0x1c, 0x01, 0x5d, 0xb4, 0x6f, 0x1c, 0x7f, 0x1c, 0x02, 0x72, 
    -	0xb4, 0xcf, 0x1c, 0xdf, 0x1c, 0x02, 0x72, 0xb0, 0x1c, 0x10, 0xb1, 0x1d, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x25, 0x32, 0x36, 0x35, 0x33, 0x17, 0x16, 0x04, 0x23, 0x22, 0x02, 0x35, 
    -	0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x07, 0x17, 0x21, 0x15, 0x21, 0x07, 0x16, 0x16, 0x02, 0x51, 
    -	0x62, 0x95, 0xb1, 0x02, 0x05, 0xfe, 0xfd, 0xac, 0xec, 0xfa, 0xfb, 0xeb, 
    -	0xbe, 0xf1, 0x04, 0x02, 0xb2, 0x8c, 0x6b, 0x8d, 0x87, 0x05, 0x02, 0x01, 
    -	0x78, 0xfe, 0x88, 0x02, 0x05, 0x86, 0x85, 0x79, 0x58, 0x06, 0x8c, 0xd9, 
    -	0x01, 0x34, 0xe9, 0x2a, 0xe7, 0x01, 0x35, 0xe0, 0xa3, 0x06, 0x63, 0x8b, 
    -	0xbb, 0x8a, 0x05, 0x9a, 0x05, 0x8d, 0xb8, 0x00, 0xff, 0xff, 0x00, 0x67, 
    -	0xff, 0xeb, 0x03, 0xc9, 0x04, 0x4e, 0x02, 0x06, 0x00, 0x56, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x9f, 0x00, 0x00, 0x01, 0x64, 0x06, 0x18, 0x02, 0x06, 
    -	0x00, 0x4c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa6, 0x00, 0x00, 0x02, 0x57, 
    -	0x05, 0xb6, 0x02, 0x26, 0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0xfe, 0xfc, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x05, 0x01, 0x72, 
    -	0xb4, 0xdf, 0x05, 0xef, 0x05, 0x02, 0x71, 0xb2, 0x5f, 0x05, 0x01, 0x72, 
    -	0xb4, 0x2f, 0x05, 0x3f, 0x05, 0x02, 0x72, 0xb2, 0x7f, 0x08, 0x01, 0x72, 
    -	0xb4, 0xdf, 0x08, 0xef, 0x08, 0x02, 0x71, 0xb2, 0x5f, 0x08, 0x01, 0x72, 
    -	0xb4, 0x2f, 0x08, 0x3f, 0x08, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xbe, 0xfe, 0x4b, 0x01, 0x72, 0x06, 0x18, 0x02, 0x06, 
    -	0x00, 0x4d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x41, 0x00, 0x00, 0x06, 0x9e, 
    -	0x04, 0x3a, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x69, 0x00, 0xb0, 0x01, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x11, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x21, 0x11, 0x21, 0x11, 0x10, 0x02, 0x23, 0x23, 0x37, 0x37, 
    -	0x32, 0x36, 0x35, 0x11, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x03, 0xfc, 0x01, 0x0d, 0xbf, 0xd6, 0xd7, 0xbe, 0xfe, 0x2e, 0xfe, 
    -	0xc2, 0xb2, 0xce, 0x38, 0x04, 0x29, 0x6a, 0x5c, 0x02, 0xc8, 0x01, 0x0d, 
    -	0x69, 0x66, 0x65, 0x6a, 0x04, 0x3a, 0xfe, 0x65, 0xb9, 0x93, 0x94, 0xbf, 
    -	0x03, 0x9e, 0xfe, 0xce, 0xfe, 0xc2, 0xfe, 0xd2, 0x9e, 0x01, 0xda, 0xf3, 
    -	0x01, 0xce, 0xfd, 0xcb, 0xfe, 0x93, 0x70, 0x4d, 0x49, 0x67, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x8f, 0x00, 0x00, 0x06, 0x9d, 0x04, 0x3a, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x6a, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x04, 0x10, 0xb0, 0x01, 0xd0, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x13, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x23, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x01, 0x11, 0x21, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x01, 0x54, 0x01, 0xe2, 0xc5, 0x01, 
    -	0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 0x2e, 0xfe, 0x1e, 0xc5, 0xc5, 0x02, 
    -	0xa7, 0x01, 0x0d, 0x69, 0x66, 0x65, 0x6a, 0x02, 0xa2, 0x01, 0x98, 0xfe, 
    -	0x64, 0xb8, 0x93, 0x94, 0xbf, 0x02, 0x09, 0xfd, 0xf7, 0x04, 0x3a, 0xfd, 
    -	0xcb, 0xfe, 0x93, 0x70, 0x4d, 0x49, 0x67, 0x00, 0x00, 0x01, 0x00, 0x13, 
    -	0x00, 0x00, 0x04, 0x00, 0x06, 0x18, 0x00, 0x1b, 0x00, 0x6e, 0x00, 0xb0, 
    -	0x18, 0x2f, 0xb0, 0x1b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb2, 0x5f, 0x1b, 0x01, 
    -	0x5d, 0xb2, 0xbf, 0x1b, 0x01, 0x5d, 0xb2, 0x2f, 0x1b, 0x01, 0x5d, 0xb0, 
    -	0x1b, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x05, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x14, 0xd0, 0xb0, 
    -	0x1b, 0x10, 0xb0, 0x16, 0xd0, 0xb2, 0x2f, 0x18, 0x01, 0x5d, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 
    -	0x35, 0x33, 0x15, 0x21, 0x02, 0x94, 0xfe, 0xc0, 0x38, 0xa3, 0x63, 0xad, 
    -	0xc1, 0xc5, 0x73, 0x72, 0x52, 0x85, 0x2b, 0xc5, 0x7c, 0x7c, 0xc5, 0x01, 
    -	0x40, 0x04, 0xbb, 0xfe, 0xee, 0x4e, 0x57, 0xd0, 0xd8, 0xfd, 0x5a, 0x02, 
    -	0xa8, 0x86, 0x80, 0x4d, 0x42, 0xfc, 0xe1, 0x04, 0xbb, 0x9b, 0xc2, 0xc2, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x41, 0x05, 0xc6, 0x02, 0x26, 
    -	0x01, 0xe6, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x3e, 0x00, 0x01, 
    -	0x00, 0x25, 0x00, 0xb2, 0xbf, 0x12, 0x01, 0x71, 0xb6, 0xdf, 0x12, 0xef, 
    -	0x12, 0xff, 0x12, 0x03, 0x71, 0x40, 0x11, 0x0f, 0x12, 0x1f, 0x12, 0x2f, 
    -	0x12, 0x3f, 0x12, 0x4f, 0x12, 0x5f, 0x12, 0x6f, 0x12, 0x7f, 0x12, 0x08, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfc, 
    -	0x05, 0xcb, 0x02, 0x26, 0x01, 0xe4, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xae, 0x00, 0x06, 0x00, 0x25, 0x00, 0xb2, 0xbf, 0x0c, 0x01, 0x71, 
    -	0xb6, 0xdf, 0x0c, 0xef, 0x0c, 0xff, 0x0c, 0x03, 0x71, 0x40, 0x11, 0x0f, 
    -	0x0c, 0x1f, 0x0c, 0x2f, 0x0c, 0x3f, 0x0c, 0x4f, 0x0c, 0x5f, 0x0c, 0x6f, 
    -	0x0c, 0x7f, 0x0c, 0x08, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1a, 
    -	0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xf7, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x54, 0x56, 0x47, 0x00, 0x33, 0x00, 0xb2, 0x8f, 0x1a, 
    -	0x01, 0x71, 0xb2, 0xcf, 0x1a, 0x01, 0x71, 0xb2, 0x1f, 0x1a, 0x01, 0x72, 
    -	0xb6, 0x3f, 0x1a, 0x4f, 0x1a, 0x5f, 0x1a, 0x03, 0x5d, 0xb2, 0xff, 0x1a, 
    -	0x01, 0x71, 0xb2, 0xaf, 0x1a, 0x01, 0x71, 0xb6, 0x60, 0x1a, 0x70, 0x1a, 
    -	0x80, 0x1a, 0x03, 0x5d, 0xb2, 0x00, 0x1a, 0x01, 0x71, 0x30, 0x31, 0x00, 
    -	0x00, 0x01, 0x00, 0x8f, 0xfe, 0x9c, 0x03, 0xfc, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x46, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb1, 0x01, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 
    -	0x01, 0x54, 0x01, 0xe3, 0xc5, 0xfe, 0xaf, 0xc5, 0xfe, 0xa9, 0x04, 0x3a, 
    -	0xfc, 0x60, 0x03, 0xa0, 0xfb, 0xc6, 0xfe, 0x9c, 0x01, 0x64, 0x04, 0x3a, 
    -	0x00, 0x01, 0x00, 0x9d, 0xff, 0xeb, 0x06, 0x69, 0x05, 0xb0, 0x00, 0x20, 
    -	0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 
    -	0x1b, 0xb1, 0x20, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0xd0, 0xb2, 0x07, 
    -	0x0a, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0xd0, 0x30, 
    -	0x31, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 
    -	0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x06, 0x69, 
    -	0xe7, 0xbb, 0x6d, 0xaa, 0x2f, 0x33, 0xb0, 0x71, 0xb4, 0xdc, 0xc5, 0x6f, 
    -	0x5c, 0x6c, 0x84, 0xcc, 0x7a, 0x64, 0x63, 0x7a, 0x05, 0xb0, 0xfb, 0xd7, 
    -	0xc9, 0xd3, 0x57, 0x56, 0x56, 0x57, 0xd3, 0xc9, 0x04, 0x29, 0xfb, 0xd7, 
    -	0x7f, 0x83, 0x83, 0x7f, 0x04, 0x29, 0xfb, 0xd7, 0x7e, 0x84, 0x84, 0x7e, 
    -	0x04, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7c, 0xff, 0xeb, 0x05, 0xa4, 
    -	0x04, 0x3a, 0x00, 0x20, 0x00, 0x53, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x04, 0xd0, 0xb2, 0x07, 0x0a, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x0a, 0x10, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1c, 0xd0, 0x30, 0x31, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x11, 0x05, 0xa4, 0xd2, 0xa9, 0x5d, 0x92, 0x2c, 0x2f, 0x9a, 0x61, 
    -	0xa3, 0xc5, 0xc5, 0x58, 0x4b, 0x59, 0x70, 0xc6, 0x63, 0x53, 0x51, 0x65, 
    -	0x04, 0x3a, 0xfd, 0x26, 0xb6, 0xbf, 0x47, 0x47, 0x47, 0x47, 0xbe, 0xb7, 
    -	0x02, 0xda, 0xfd, 0x26, 0x6c, 0x6f, 0x70, 0x6b, 0x02, 0xda, 0xfd, 0x26, 
    -	0x6c, 0x6f, 0x70, 0x6b, 0x02, 0xda, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcd, 
    -	0x00, 0x00, 0x04, 0xbb, 0x05, 0xb0, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x59, 
    -	0x00, 0xb0, 0x12, 0x2f, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb0, 0x12, 0x10, 
    -	0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0b, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0d, 0xd0, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x15, 0x21, 0x32, 0x04, 0x15, 
    -	0x14, 0x04, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 
    -	0x03, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0x4e, 0xe6, 
    -	0x01, 0x67, 0xe9, 0x01, 0x03, 0xfe, 0xfc, 0xe8, 0xfd, 0xd4, 0xd6, 0xd6, 
    -	0xc5, 0xe6, 0xe6, 0x01, 0x67, 0x93, 0x94, 0x93, 0x94, 0x04, 0x4d, 0xdd, 
    -	0xef, 0xc5, 0xc6, 0xf6, 0x04, 0x4d, 0x9b, 0xc8, 0xc8, 0xfd, 0xed, 0xfd, 
    -	0xc5, 0xa9, 0x7b, 0x77, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdb, 
    -	0x00, 0x00, 0x04, 0x00, 0x06, 0x18, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x5d, 
    -	0x00, 0xb0, 0x10, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb2, 0x11, 0x10, 0x0a, 0x11, 0x12, 0x39, 
    -	0xb0, 0x11, 0x2f, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x0a, 0x10, 0x11, 0x12, 0x39, 0xb0, 0x02, 
    -	0x2f, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0e, 
    -	0xd0, 0xb0, 0x02, 0x10, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 
    -	0x11, 0x33, 0x11, 0x21, 0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x02, 0x9f, 0xfe, 0xbf, 0x01, 0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 
    -	0x2e, 0xbe, 0xbe, 0xc5, 0x01, 0x41, 0xfe, 0xbf, 0x01, 0x0d, 0x6a, 0x65, 
    -	0x66, 0x69, 0x04, 0x3a, 0xfe, 0xb2, 0xcd, 0xa5, 0xa5, 0xd5, 0x04, 0x3a, 
    -	0x9a, 0x01, 0x44, 0xfe, 0xbc, 0xfd, 0x7e, 0xfe, 0x48, 0x7d, 0x5c, 0x5a, 
    -	0x85, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xbf, 0xff, 0xec, 0x06, 0x8e, 
    -	0x05, 0xc6, 0x00, 0x29, 0x00, 0x85, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x29, 0x2f, 0x1b, 0xb1, 0x29, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x12, 0x20, 0x05, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x2f, 0xb0, 0x01, 0xd0, 
    -	0xb2, 0x0a, 0x05, 0x20, 0x11, 0x12, 0x39, 0xb0, 0x05, 0x10, 0xb1, 0x0d, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x12, 
    -	0x10, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x20, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1b, 0x20, 0x05, 0x11, 0x12, 0x39, 0xb0, 
    -	0x13, 0x10, 0xb0, 0x24, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x35, 0x10, 0x00, 
    -	0x33, 0x32, 0x00, 0x17, 0x07, 0x23, 0x26, 0x26, 0x23, 0x22, 0x02, 0x15, 
    -	0x15, 0x21, 0x15, 0x21, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x33, 
    -	0x17, 0x06, 0x00, 0x23, 0x22, 0x00, 0x11, 0x35, 0x23, 0x11, 0x23, 0x11, 
    -	0x33, 0x01, 0x85, 0xc4, 0x01, 0x37, 0xf7, 0xf2, 0x01, 0x12, 0x13, 0x02, 
    -	0xbd, 0x18, 0xa2, 0x9e, 0xa5, 0xc4, 0x02, 0x1b, 0xfd, 0xe5, 0xc4, 0xa5, 
    -	0x9f, 0xa1, 0x18, 0xbd, 0x02, 0x13, 0xfe, 0xea, 0xee, 0xf7, 0xfe, 0xc9, 
    -	0xc4, 0xc6, 0xc6, 0x03, 0x42, 0x18, 0x01, 0x0d, 0x01, 0x5f, 0xfe, 0xff, 
    -	0xdf, 0x06, 0xa0, 0xab, 0xfe, 0xf6, 0xc5, 0x1a, 0x9b, 0x50, 0xc7, 0xfe, 
    -	0xf6, 0xaa, 0xa3, 0x06, 0xd3, 0xfe, 0xf2, 0x01, 0x5e, 0x01, 0x0d, 0x50, 
    -	0xfd, 0x59, 0x05, 0xb0, 0x00, 0x01, 0x00, 0x97, 0xff, 0xeb, 0x05, 0xaa, 
    -	0x04, 0x4e, 0x00, 0x27, 0x00, 0xa7, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x27, 0x2f, 0x1b, 0xb1, 0x27, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x24, 0x2f, 0x1b, 0xb1, 0x24, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x11, 0x1f, 0x04, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x2f, 0xb4, 0xbf, 0x11, 
    -	0xcf, 0x11, 0x02, 0x5d, 0xb2, 0x9f, 0x11, 0x01, 0x71, 0xb2, 0xff, 0x11, 
    -	0x01, 0x5d, 0xb2, 0x0f, 0x11, 0x01, 0x71, 0xb2, 0x2f, 0x11, 0x01, 0x5d, 
    -	0xb4, 0xcf, 0x11, 0xdf, 0x11, 0x02, 0x71, 0xb0, 0x01, 0xd0, 0xb2, 0x09, 
    -	0x04, 0x1f, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb1, 
    -	0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1f, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x1a, 0x1f, 0x04, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x10, 
    -	0xb0, 0x22, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x36, 0x12, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x17, 0x21, 0x15, 
    -	0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x17, 0x16, 0x04, 
    -	0x23, 0x22, 0x02, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x01, 0x5c, 0xbb, 
    -	0x0e, 0xf9, 0xdd, 0xbe, 0xf1, 0x04, 0x02, 0xb2, 0x8c, 0x6b, 0x8d, 0x87, 
    -	0x05, 0x02, 0x01, 0xa3, 0xfe, 0x5d, 0x02, 0x05, 0x86, 0x8e, 0x62, 0x95, 
    -	0xb1, 0x02, 0x05, 0xfe, 0xfd, 0xac, 0xdd, 0xf8, 0x0f, 0xbb, 0xc5, 0xc5, 
    -	0x02, 0x68, 0xd3, 0x01, 0x13, 0xe0, 0xa3, 0x06, 0x63, 0x8b, 0xbb, 0x8b, 
    -	0x05, 0x9a, 0x05, 0x8c, 0xb8, 0x79, 0x58, 0x06, 0x8c, 0xd9, 0x01, 0x0f, 
    -	0xd4, 0xfe, 0x32, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2b, 
    -	0x00, 0x00, 0x04, 0xe3, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x69, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x0a, 0x08, 0x11, 0x12, 0x39, 
    -	0xb0, 0x00, 0x2f, 0xb0, 0x04, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x0d, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 
    -	0xb0, 0x0e, 0xd0, 0xb6, 0x7f, 0x0e, 0x8f, 0x0e, 0x9f, 0x0e, 0x03, 0x5d, 
    -	0xb4, 0x5c, 0x0e, 0x6c, 0x0e, 0x02, 0x5d, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x23, 0x11, 0x23, 0x03, 0x23, 0x01, 0x33, 0x01, 0x23, 0x01, 0x21, 0x03, 
    -	0x23, 0x03, 0x85, 0xa1, 0xc4, 0x94, 0x98, 0xc9, 0x02, 0x0d, 0xa9, 0x02, 
    -	0x02, 0xc9, 0xfd, 0xab, 0x01, 0x88, 0xbf, 0x06, 0x01, 0xb6, 0xfe, 0x4a, 
    -	0x01, 0xb6, 0xfe, 0x4a, 0x05, 0xb0, 0xfa, 0x50, 0x02, 0x5a, 0x02, 0x33, 
    -	0x00, 0x02, 0x00, 0x0d, 0x00, 0x00, 0x04, 0x29, 0x04, 0x3a, 0x00, 0x0b, 
    -	0x00, 0x11, 0x00, 0x6d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 
    -	0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 
    -	0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x06, 0x3e, 0x59, 0xb2, 0x05, 0x06, 
    -	0x09, 0x11, 0x12, 0x39, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0xd0, 0xb0, 0x05, 
    -	0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x09, 0x10, 0xb0, 0x0f, 0xd0, 0x40, 0x11, 0x2c, 0x0f, 0x3c, 
    -	0x0f, 0x4c, 0x0f, 0x5c, 0x0f, 0x6c, 0x0f, 0x7c, 0x0f, 0x8c, 0x0f, 0x9c, 
    -	0x0f, 0x08, 0x5d, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 
    -	0x23, 0x01, 0x33, 0x01, 0x23, 0x01, 0x21, 0x03, 0x27, 0x23, 0x07, 0x02, 
    -	0xe9, 0x6a, 0xc4, 0x71, 0x74, 0xc9, 0x01, 0xb8, 0xa9, 0x01, 0xbb, 0xc9, 
    -	0xfe, 0x27, 0x01, 0x24, 0x7e, 0x12, 0x06, 0x12, 0x01, 0x26, 0xfe, 0xda, 
    -	0x01, 0x26, 0xfe, 0xda, 0x04, 0x3a, 0xfb, 0xc6, 0x01, 0xc1, 0x01, 0x38, 
    -	0x44, 0x44, 0x00, 0x00, 0x00, 0x02, 0x00, 0xd1, 0x00, 0x00, 0x06, 0xf4, 
    -	0x05, 0xb0, 0x00, 0x13, 0x00, 0x17, 0x00, 0x6f, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x0b, 0x10, 0x12, 0x11, 0x12, 0x39, 0xb0, 0x0b, 0x2f, 0xb1, 0x14, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0xd0, 
    -	0xb0, 0x12, 0x10, 0xb0, 0x02, 0xd0, 0xb0, 0x10, 0x10, 0xb0, 0x0d, 0xd0, 
    -	0xb0, 0x09, 0xd0, 0xb0, 0x05, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x07, 0xd0, 
    -	0xb0, 0x0b, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x16, 0xd0, 
    -	0xb4, 0x8f, 0x16, 0x9f, 0x16, 0x02, 0x5d, 0x40, 0x0b, 0x3c, 0x16, 0x4c, 
    -	0x16, 0x5c, 0x16, 0x6c, 0x16, 0x7c, 0x16, 0x05, 0x5d, 0x30, 0x31, 0x01, 
    -	0x21, 0x01, 0x33, 0x01, 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 
    -	0x23, 0x13, 0x21, 0x11, 0x23, 0x11, 0x33, 0x01, 0x21, 0x03, 0x23, 0x01, 
    -	0x97, 0x01, 0x7e, 0x01, 0x34, 0xa9, 0x02, 0x02, 0xc9, 0x95, 0xa1, 0xc4, 
    -	0x94, 0x98, 0xc9, 0x9e, 0xfe, 0xbd, 0xc6, 0xc6, 0x02, 0x3f, 0x01, 0x88, 
    -	0xbf, 0x06, 0x02, 0x5b, 0x03, 0x55, 0xfa, 0x50, 0x01, 0xb6, 0xfe, 0x4a, 
    -	0x01, 0xb6, 0xfe, 0x4a, 0x01, 0xb7, 0xfe, 0x49, 0x05, 0xb0, 0xfc, 0xaa, 
    -	0x02, 0x33, 0x00, 0x00, 0x00, 0x02, 0x00, 0xba, 0x00, 0x00, 0x05, 0xe8, 
    -	0x04, 0x3a, 0x00, 0x13, 0x00, 0x19, 0x00, 0x91, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x0b, 0x0d, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x0b, 
    -	0x2f, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x01, 0xd0, 0xb0, 0x0b, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x0b, 
    -	0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x02, 0x10, 0xb0, 0x17, 0xd0, 0xb4, 0x8f, 
    -	0x17, 0x9f, 0x17, 0x02, 0x5d, 0x40, 0x0b, 0x3c, 0x17, 0x4c, 0x17, 0x5c, 
    -	0x17, 0x6c, 0x17, 0x7c, 0x17, 0x05, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x01, 
    -	0x33, 0x01, 0x23, 0x03, 0x23, 0x11, 0x23, 0x11, 0x23, 0x03, 0x23, 0x13, 
    -	0x23, 0x11, 0x23, 0x11, 0x33, 0x01, 0x21, 0x03, 0x27, 0x23, 0x07, 0x01, 
    -	0x7f, 0x01, 0x03, 0x01, 0x02, 0xa9, 0x01, 0xbb, 0xc9, 0x77, 0x6a, 0xc4, 
    -	0x71, 0x74, 0xc9, 0x77, 0xc4, 0xc5, 0xc5, 0x01, 0xc7, 0x01, 0x24, 0x7e, 
    -	0x12, 0x06, 0x12, 0x01, 0xc1, 0x02, 0x79, 0xfb, 0xc6, 0x01, 0x26, 0xfe, 
    -	0xda, 0x01, 0x26, 0xfe, 0xda, 0x01, 0x25, 0xfe, 0xdb, 0x04, 0x3a, 0xfd, 
    -	0x87, 0x01, 0x38, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x95, 
    -	0x00, 0x00, 0x06, 0x4b, 0x05, 0xb0, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x70, 
    -	0x00, 0xb0, 0x1b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 
    -	0xb1, 0x1c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 
    -	0x1b, 0xb1, 0x15, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 
    -	0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x1b, 0x10, 0xb0, 
    -	0x01, 0xd0, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x1b, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1b, 0x10, 0xb0, 0x1e, 0xd0, 0xb0, 
    -	0x1c, 0x10, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 
    -	0x34, 0x26, 0x23, 0x23, 0x07, 0x11, 0x23, 0x11, 0x27, 0x23, 0x22, 0x06, 
    -	0x15, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x33, 0x01, 0x21, 0x01, 0x33, 
    -	0x01, 0x21, 0x04, 0x4c, 0x16, 0xef, 0xfa, 0xc5, 0x8b, 0x99, 0x74, 0x19, 
    -	0xc5, 0x11, 0x83, 0x99, 0x89, 0xc5, 0xf7, 0xf0, 0x25, 0xfe, 0x79, 0x04, 
    -	0xb9, 0xfd, 0x9f, 0x0a, 0x01, 0x1c, 0xfd, 0xbe, 0x03, 0x2e, 0xd1, 0xea, 
    -	0xfe, 0x8d, 0x01, 0x73, 0xa2, 0x7e, 0x2a, 0xfd, 0x97, 0x02, 0x78, 0x1b, 
    -	0x7e, 0xa2, 0xfe, 0x8d, 0x01, 0x73, 0xea, 0xd1, 0x02, 0x82, 0xfd, 0x7e, 
    -	0x01, 0xe7, 0x00, 0x00, 0x00, 0x02, 0x00, 0x95, 0x00, 0x00, 0x05, 0x57, 
    -	0x04, 0x3b, 0x00, 0x1f, 0x00, 0x22, 0x00, 0x67, 0x00, 0xb0, 0x1b, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x06, 0x3e, 0x59, 0xb0, 0x1b, 0x10, 0xb0, 0x02, 0xd0, 0xb0, 0x1b, 
    -	0x10, 0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0b, 0xd0, 0xb0, 0x1b, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 0x1c, 
    -	0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x33, 0x01, 0x16, 0x16, 0x15, 0x15, 0x23, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x07, 0x11, 0x23, 0x11, 0x27, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x23, 0x35, 0x34, 0x36, 0x37, 0x01, 0x33, 0x35, 0x21, 0x01, 
    -	0x13, 0x21, 0x04, 0x63, 0x7b, 0xfe, 0xe3, 0xc6, 0xd0, 0xc6, 0x77, 0x84, 
    -	0x2f, 0x0b, 0xc5, 0x06, 0x3c, 0x85, 0x76, 0xc5, 0xd4, 0xcd, 0xfe, 0xe4, 
    -	0x9e, 0x02, 0xab, 0xfe, 0x99, 0xb0, 0xfe, 0xa0, 0x04, 0x3a, 0xfe, 0x21, 
    -	0x0a, 0xd2, 0xdd, 0xa2, 0xa2, 0xa3, 0x7d, 0x13, 0xfe, 0x51, 0x01, 0xb8, 
    -	0x0a, 0x7d, 0xa3, 0xa2, 0xa2, 0xe2, 0xd0, 0x07, 0x01, 0xdf, 0x01, 0xfe, 
    -	0x24, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0xbe, 0x00, 0x00, 0x08, 0x82, 
    -	0x05, 0xb0, 0x00, 0x21, 0x00, 0x25, 0x00, 0x84, 0x00, 0xb0, 0x1e, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 
    -	0x14, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 
    -	0xb1, 0x0d, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb0, 0x1e, 0x10, 0xb0, 0x00, 0xd0, 
    -	0xb0, 0x1e, 0x10, 0xb1, 0x19, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x10, 0xd0, 0xb0, 0x0a, 0xd0, 0xb0, 0x1e, 0x10, 
    -	0xb0, 0x22, 0xd0, 0xb0, 0x20, 0x10, 0xb1, 0x25, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x20, 0x16, 0x15, 
    -	0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x23, 0x07, 0x11, 0x23, 0x11, 0x27, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x21, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x21, 0x01, 0x21, 0x01, 0x33, 0x01, 0x21, 0x06, 0x83, 
    -	0x01, 0x05, 0xfa, 0xc5, 0x8b, 0x99, 0x74, 0x19, 0xc5, 0x11, 0x83, 0x99, 
    -	0x89, 0xc5, 0x4d, 0xfe, 0x6b, 0xc6, 0xc6, 0x03, 0x54, 0xfe, 0x79, 0x04, 
    -	0xb9, 0xfd, 0x9f, 0x0a, 0x01, 0x1c, 0xfd, 0xbe, 0x03, 0x2e, 0xd1, 0xea, 
    -	0xfe, 0x8d, 0x01, 0x73, 0xa2, 0x7e, 0x2a, 0xfd, 0x97, 0x02, 0x78, 0x1b, 
    -	0x7e, 0xa2, 0xfe, 0x8d, 0x01, 0x73, 0xb9, 0x68, 0xfd, 0x6c, 0x05, 0xb0, 
    -	0xfd, 0x7e, 0x02, 0x82, 0xfd, 0x7e, 0x01, 0xe7, 0x00, 0x02, 0x00, 0x99, 
    -	0x00, 0x00, 0x07, 0x51, 0x04, 0x3a, 0x00, 0x21, 0x00, 0x24, 0x00, 0x84, 
    -	0x00, 0xb0, 0x1f, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 
    -	0xb1, 0x1e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x21, 0x2f, 
    -	0x1b, 0xb1, 0x21, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 
    -	0x2f, 0x1b, 0xb1, 0x1b, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x1f, 
    -	0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x1f, 0x10, 0xb1, 0x1a, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0xd0, 0xb0, 0x0a, 
    -	0xd0, 0xb0, 0x1f, 0x10, 0xb0, 0x22, 0xd0, 0xb0, 0x21, 0x10, 0xb1, 0x24, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x01, 0x16, 0x16, 0x15, 0x15, 0x23, 0x35, 0x34, 0x26, 0x23, 0x23, 
    -	0x07, 0x11, 0x23, 0x11, 0x27, 0x23, 0x22, 0x06, 0x15, 0x15, 0x23, 0x35, 
    -	0x34, 0x37, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x01, 0x01, 0x13, 
    -	0x21, 0x06, 0xd8, 0xfe, 0xe3, 0xc6, 0xd0, 0xc6, 0x77, 0x84, 0x2f, 0x0b, 
    -	0xc5, 0x06, 0x3c, 0x85, 0x76, 0xc5, 0x46, 0xfe, 0x89, 0xc5, 0xc5, 0x02, 
    -	0xd1, 0xfe, 0xe5, 0x01, 0xe2, 0xb0, 0xfe, 0xa0, 0x04, 0x3a, 0xfe, 0x21, 
    -	0x0a, 0xd2, 0xdd, 0xa2, 0xa2, 0xa3, 0x7d, 0x13, 0xfe, 0x51, 0x01, 0xb8, 
    -	0x0a, 0x7d, 0xa3, 0xa2, 0xa2, 0xb8, 0x68, 0xfe, 0x3e, 0x04, 0x3a, 0xfe, 
    -	0x23, 0x01, 0xdd, 0xfe, 0x25, 0x01, 0x40, 0x00, 0x00, 0x02, 0x00, 0x4a, 
    -	0xfe, 0x44, 0x03, 0xa4, 0x07, 0x72, 0x00, 0x2c, 0x00, 0x35, 0x00, 0x94, 
    -	0x00, 0xb0, 0x2c, 0x2f, 0xb0, 0x1d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0x10, 
    -	0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x7f, 0x2c, 0x01, 0x5d, 0xb2, 0xef, 0x2c, 0x01, 0x5d, 0xb2, 0xcf, 
    -	0x2c, 0x01, 0x5d, 0xb2, 0x2f, 0x2c, 0x01, 0x5d, 0xb2, 0x1f, 0x2c, 0x01, 
    -	0x71, 0xb0, 0x2c, 0x10, 0xb1, 0x2b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0f, 0x2b, 0x2c, 0x11, 0x12, 0x39, 0xb0, 
    -	0x16, 0x10, 0xb1, 0x23, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 0x32, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x2d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x2e, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x35, 0xd0, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 
    -	0x35, 0x21, 0x32, 0x04, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 
    -	0x04, 0x23, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x07, 0x26, 0x26, 
    -	0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 
    -	0x35, 0x01, 0x37, 0x33, 0x15, 0x05, 0x23, 0x27, 0x35, 0x33, 0x01, 0x9c, 
    -	0x9a, 0x92, 0x8f, 0x89, 0xfe, 0xd0, 0x01, 0x30, 0xd3, 0x01, 0x0b, 0x82, 
    -	0x73, 0x81, 0x8a, 0xfe, 0xf7, 0xd3, 0x32, 0x4c, 0x45, 0x5d, 0x42, 0x4f, 
    -	0x6f, 0x9b, 0x01, 0xb3, 0xa1, 0x2a, 0x81, 0x95, 0xa4, 0x9e, 0x8f, 0x01, 
    -	0x0a, 0x93, 0xaa, 0xfe, 0xff, 0x77, 0xfe, 0xa6, 0x03, 0x39, 0x7f, 0x72, 
    -	0x66, 0x85, 0x9b, 0xd5, 0xb5, 0x67, 0xa4, 0x2c, 0x29, 0xb0, 0x7f, 0xc8, 
    -	0xe3, 0x3b, 0x35, 0x46, 0x55, 0x1e, 0x7f, 0x2f, 0xa4, 0x6f, 0x81, 0x80, 
    -	0x95, 0x77, 0x85, 0x86, 0x9b, 0x03, 0xa5, 0x94, 0x12, 0xf5, 0xf3, 0x14, 
    -	0x00, 0x02, 0x00, 0x49, 0xfe, 0x44, 0x03, 0x79, 0x06, 0x1a, 0x00, 0x2c, 
    -	0x00, 0x35, 0x00, 0xc4, 0x00, 0xb0, 0x2c, 0x2f, 0xb0, 0x1d, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x08, 0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x5f, 0x2c, 0x01, 0x5d, 0xb4, 0xbf, 0x2c, 
    -	0xcf, 0x2c, 0x02, 0x5d, 0xb4, 0x2f, 0x2c, 0x3f, 0x2c, 0x02, 0x71, 0xb2, 
    -	0x9f, 0x2c, 0x01, 0x71, 0xb2, 0xff, 0x2c, 0x01, 0x71, 0xb2, 0x0f, 0x2c, 
    -	0x01, 0x72, 0xb2, 0x3f, 0x2c, 0x01, 0x72, 0xb4, 0xcf, 0x2c, 0xdf, 0x2c, 
    -	0x02, 0x71, 0xb2, 0x6f, 0x2c, 0x01, 0x71, 0xb2, 0xff, 0x2c, 0x01, 0x5d, 
    -	0xb2, 0x9f, 0x2c, 0x01, 0x5d, 0xb2, 0x2f, 0x2c, 0x01, 0x5d, 0xb4, 0x6f, 
    -	0x2c, 0x7f, 0x2c, 0x02, 0x72, 0xb0, 0x2c, 0x10, 0xb1, 0x2b, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0f, 0x2b, 0x2c, 
    -	0x11, 0x12, 0x39, 0xb0, 0x16, 0x10, 0xb1, 0x23, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 0x32, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x2d, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x2e, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x35, 0xd0, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 
    -	0x17, 0x07, 0x26, 0x26, 0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 
    -	0x34, 0x26, 0x23, 0x23, 0x35, 0x13, 0x37, 0x33, 0x15, 0x05, 0x23, 0x27, 
    -	0x35, 0x33, 0x01, 0x9a, 0x85, 0x7e, 0x7b, 0x74, 0xfe, 0xd1, 0x01, 0x2f, 
    -	0xc0, 0xf5, 0x67, 0x5b, 0x69, 0x6f, 0xf3, 0xc0, 0x31, 0x4c, 0x45, 0x5e, 
    -	0x42, 0x50, 0x6f, 0x9b, 0x01, 0xb3, 0xa1, 0x29, 0x6e, 0x7f, 0x8f, 0x8a, 
    -	0x8f, 0xc4, 0x93, 0xaa, 0xfe, 0xff, 0x77, 0xfe, 0xa6, 0x02, 0x6a, 0x53, 
    -	0x4b, 0x41, 0x55, 0x9c, 0xa8, 0x8e, 0x49, 0x77, 0x23, 0x21, 0x7a, 0x56, 
    -	0x97, 0xad, 0x3b, 0x35, 0x46, 0x56, 0x1d, 0x7f, 0x2f, 0xa4, 0x6f, 0x81, 
    -	0x80, 0x5b, 0x4a, 0x52, 0x51, 0x9b, 0x03, 0x1c, 0x94, 0x12, 0xf5, 0xf3, 
    -	0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x57, 0x00, 0x00, 0x05, 0x1b, 
    -	0x05, 0xb0, 0x02, 0x06, 0x01, 0x82, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5b, 
    -	0xfe, 0x26, 0x05, 0x4d, 0x04, 0x3a, 0x02, 0x06, 0x01, 0xa2, 0x00, 0x00, 
    -	0x00, 0x03, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x00, 0x0d, 
    -	0x00, 0x16, 0x00, 0x1f, 0x00, 0x5b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb2, 0x0e, 0x03, 
    -	0x0a, 0x11, 0x12, 0x39, 0x7c, 0xb0, 0x0e, 0x2f, 0x18, 0xb2, 0x90, 0x0e, 
    -	0x01, 0x5d, 0xb0, 0x0a, 0x10, 0xb1, 0x13, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x18, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x10, 0x00, 0x21, 0x22, 0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 
    -	0x20, 0x00, 0x11, 0x05, 0x21, 0x35, 0x34, 0x02, 0x23, 0x22, 0x02, 0x15, 
    -	0x05, 0x21, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x35, 0x05, 0x02, 0xfe, 
    -	0xb5, 0xfe, 0xf8, 0xff, 0xfe, 0xc1, 0x01, 0x3f, 0xff, 0x01, 0x08, 0x01, 
    -	0x4b, 0xfc, 0x34, 0x03, 0x07, 0xd8, 0xb6, 0xac, 0xcd, 0x03, 0x07, 0xfc, 
    -	0xf9, 0xcd, 0xac, 0xb7, 0xd7, 0x02, 0x56, 0xfe, 0xf5, 0xfe, 0xa0, 0x01, 
    -	0x60, 0x01, 0x0b, 0x01, 0x03, 0x01, 0x0a, 0x01, 0x62, 0xfe, 0x9f, 0xfe, 
    -	0xf5, 0x3d, 0x3f, 0xc8, 0x01, 0x00, 0xff, 0x00, 0xc8, 0xda, 0x2b, 0xca, 
    -	0xff, 0x00, 0xff, 0xcb, 0x00, 0x03, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x04, 0x4e, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x5e, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x1b, 0x0a, 0x03, 0x11, 0x12, 0x39, 0x7c, 0xb0, 0x1b, 0x2f, 
    -	0x18, 0xb4, 0x30, 0x1b, 0x40, 0x1b, 0x02, 0x5d, 0xb4, 0x70, 0x1b, 0x80, 
    -	0x1b, 0x02, 0x5d, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x13, 0x34, 0x00, 0x33, 
    -	0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x01, 0x32, 
    -	0x36, 0x37, 0x27, 0x21, 0x07, 0x16, 0x16, 0x13, 0x22, 0x06, 0x07, 0x17, 
    -	0x21, 0x37, 0x26, 0x26, 0x61, 0x01, 0x04, 0xdf, 0xe1, 0x01, 0x05, 0xfe, 
    -	0xfc, 0xe0, 0xe0, 0xfe, 0xfb, 0x01, 0xe5, 0x80, 0x8f, 0x08, 0x02, 0xfd, 
    -	0xd4, 0x02, 0x08, 0x8f, 0x80, 0x7d, 0x8e, 0x0b, 0x02, 0x02, 0x2a, 0x02, 
    -	0x0b, 0x90, 0x02, 0x27, 0xf0, 0x01, 0x37, 0xfe, 0xca, 0xf1, 0x16, 0xf2, 
    -	0xfe, 0xcc, 0x01, 0x35, 0xf1, 0xfe, 0x74, 0xb9, 0x92, 0x05, 0x05, 0x92, 
    -	0xb9, 0x03, 0x2e, 0xb3, 0x8b, 0x05, 0x05, 0x8a, 0xb4, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x04, 0xdc, 0x05, 0xc4, 0x00, 0x11, 
    -	0x00, 0x4c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 
    -	0x11, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 
    -	0xb1, 0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0xd0, 0x40, 0x0d, 0x44, 
    -	0x01, 0x54, 0x01, 0x64, 0x01, 0x74, 0x01, 0x84, 0x01, 0x94, 0x01, 0x06, 
    -	0x5d, 0xb0, 0x07, 0x10, 0xb1, 0x0a, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x36, 
    -	0x36, 0x33, 0x17, 0x07, 0x23, 0x22, 0x06, 0x07, 0x01, 0x23, 0x01, 0x33, 
    -	0x02, 0x45, 0x21, 0x06, 0x21, 0xfd, 0x31, 0x83, 0x6c, 0x32, 0x01, 0x0c, 
    -	0x32, 0x3d, 0x1b, 0xfe, 0x78, 0xa9, 0xfe, 0x02, 0xd6, 0x01, 0x7e, 0x79, 
    -	0x79, 0x03, 0x25, 0x9c, 0x85, 0x01, 0xa9, 0x3f, 0x50, 0xfb, 0x75, 0x05, 
    -	0xb0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2e, 0x00, 0x00, 0x04, 0x0e, 
    -	0x04, 0x4d, 0x00, 0x15, 0x00, 0x54, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 0x01, 
    -	0xd0, 0x40, 0x09, 0x34, 0x01, 0x44, 0x01, 0x54, 0x01, 0x64, 0x01, 0x04, 
    -	0x5d, 0xb2, 0x73, 0x01, 0x01, 0x5d, 0xb4, 0x80, 0x01, 0x90, 0x01, 0x02, 
    -	0x5d, 0xb0, 0x07, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x13, 0x36, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x07, 
    -	0x01, 0x23, 0x01, 0x33, 0x01, 0xe3, 0x11, 0x06, 0x13, 0x95, 0x29, 0x84, 
    -	0x52, 0x22, 0x33, 0x18, 0x16, 0x05, 0x16, 0x0d, 0x20, 0x3b, 0x0d, 0xfe, 
    -	0xd8, 0x95, 0xfe, 0x83, 0xca, 0x01, 0x3f, 0x4c, 0x4c, 0x02, 0x17, 0x7f, 
    -	0x78, 0x0a, 0x0f, 0x97, 0x03, 0x05, 0x34, 0x2a, 0xfc, 0xb9, 0x04, 0x3a, 
    -	0xff, 0xff, 0x00, 0x16, 0x00, 0x00, 0x04, 0xdc, 0x07, 0x48, 0x02, 0x26, 
    -	0x02, 0x20, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5f, 0x04, 0x38, 0x01, 0x5a, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 
    -	0xb1, 0x19, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xfe, 
    -	0x00, 0x00, 0x04, 0x0e, 0x06, 0x20, 0x02, 0x26, 0x02, 0x21, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5f, 0x03, 0xd2, 0x00, 0x32, 0x00, 0x12, 0xb2, 0x38, 
    -	0x17, 0x01, 0x5d, 0x00, 0xb2, 0x3f, 0x17, 0x01, 0x5d, 0xb2, 0x3f, 0x1d, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x71, 0xfe, 0x4b, 0x09, 0x5c, 
    -	0x05, 0xc5, 0x00, 0x26, 0x00, 0x32, 0x00, 0x00, 0x00, 0x07, 0x00, 0x5c, 
    -	0x05, 0x74, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xfe, 0x4b, 0x08, 0x74, 
    -	0x04, 0x4e, 0x00, 0x26, 0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x00, 0x5c, 
    -	0x04, 0x8c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x71, 0xff, 0x73, 0x05, 0x02, 
    -	0x06, 0x35, 0x00, 0x17, 0x00, 0x2f, 0x00, 0x73, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x13, 0x10, 0xb1, 0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x1f, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x28, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 
    -	0x10, 0xb1, 0x2b, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x10, 0x07, 0x06, 0x07, 0x15, 0x23, 0x35, 0x26, 
    -	0x27, 0x26, 0x11, 0x11, 0x10, 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 
    -	0x17, 0x16, 0x11, 0x27, 0x34, 0x27, 0x26, 0x27, 0x15, 0x23, 0x35, 0x06, 
    -	0x07, 0x06, 0x15, 0x11, 0x14, 0x17, 0x16, 0x17, 0x35, 0x33, 0x15, 0x36, 
    -	0x37, 0x36, 0x35, 0x05, 0x02, 0xa6, 0x81, 0xbe, 0xc5, 0xc4, 0x84, 0x9f, 
    -	0x9f, 0x84, 0xc4, 0xc5, 0xbe, 0x81, 0xa6, 0xc5, 0x6c, 0x49, 0x6b, 0xc5, 
    -	0x71, 0x4b, 0x66, 0x66, 0x4b, 0x71, 0xc5, 0x6b, 0x49, 0x6c, 0x02, 0x56, 
    -	0xfe, 0xf5, 0xb0, 0x8a, 0x1d, 0x81, 0x7e, 0x19, 0x91, 0xb0, 0x01, 0x0b, 
    -	0x01, 0x03, 0x01, 0x0a, 0xb1, 0x92, 0x19, 0x76, 0x79, 0x1e, 0x8a, 0xb0, 
    -	0xfe, 0xf5, 0x02, 0xc8, 0x80, 0x56, 0x1c, 0x65, 0x6a, 0x19, 0x5e, 0x80, 
    -	0xc8, 0xfe, 0xfb, 0xca, 0x80, 0x5e, 0x19, 0x6c, 0x68, 0x1c, 0x56, 0x80, 
    -	0xcb, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x61, 0xff, 0x8a, 0x04, 0x2a, 
    -	0x04, 0xb6, 0x00, 0x17, 0x00, 0x2f, 0x00, 0x73, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb1, 0x1c, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0x10, 0xb1, 0x1f, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x28, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 
    -	0x10, 0xb1, 0x2b, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x05, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 0x35, 0x34, 
    -	0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x15, 0x15, 0x14, 
    -	0x07, 0x06, 0x07, 0x01, 0x14, 0x17, 0x16, 0x17, 0x35, 0x33, 0x15, 0x36, 
    -	0x37, 0x36, 0x35, 0x35, 0x34, 0x27, 0x26, 0x27, 0x15, 0x23, 0x35, 0x06, 
    -	0x07, 0x06, 0x15, 0x02, 0xa9, 0xc5, 0x9c, 0x65, 0x82, 0x82, 0x64, 0x9d, 
    -	0xc5, 0x9b, 0x63, 0x83, 0x82, 0x64, 0x9b, 0xfe, 0x7d, 0x48, 0x2d, 0x49, 
    -	0xc5, 0x46, 0x2d, 0x49, 0x4a, 0x2c, 0x46, 0xc5, 0x48, 0x2e, 0x48, 0x76, 
    -	0x69, 0x1b, 0x77, 0x9b, 0xf1, 0x16, 0xf0, 0x9b, 0x79, 0x1b, 0x70, 0x71, 
    -	0x1c, 0x76, 0x9b, 0xf1, 0x16, 0xf2, 0x9a, 0x76, 0x1b, 0x02, 0x1d, 0xac, 
    -	0x70, 0x46, 0x1b, 0x67, 0x66, 0x1b, 0x45, 0x70, 0xac, 0x16, 0xaa, 0x71, 
    -	0x44, 0x1b, 0x5d, 0x5f, 0x1b, 0x46, 0x71, 0xaa, 0x00, 0x03, 0x00, 0x9d, 
    -	0xff, 0xeb, 0x06, 0x64, 0x07, 0x58, 0x00, 0x2e, 0x00, 0x40, 0x00, 0x46, 
    -	0x00, 0xa2, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 
    -	0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0xd0, 0xb2, 0x0b, 0x0e, 0x01, 
    -	0x11, 0x12, 0x39, 0xb0, 0x01, 0x10, 0xb0, 0x15, 0xd0, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x2e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x17, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x23, 0x01, 0x0e, 0x11, 0x12, 
    -	0x39, 0xb0, 0x23, 0x2f, 0xb0, 0x1e, 0x10, 0xb0, 0x27, 0xd0, 0xb2, 0x41, 
    -	0x17, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x41, 0x2f, 0xb0, 0x44, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 0xd0, 0xb0, 0x31, 0x2f, 
    -	0xb0, 0x34, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 
    -	0x10, 0xb0, 0x38, 0xd0, 0xb0, 0x34, 0x10, 0xb0, 0x3d, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x31, 0x10, 0xb0, 0x40, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x37, 0x36, 0x16, 
    -	0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x17, 0x15, 0x22, 0x06, 0x15, 0x11, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x13, 0x15, 0x23, 0x22, 0x24, 
    -	0x23, 0x22, 0x06, 0x15, 0x15, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x04, 
    -	0x33, 0x01, 0x27, 0x37, 0x27, 0x33, 0x15, 0x04, 0xd4, 0x06, 0xae, 0xdc, 
    -	0xdd, 0xb3, 0x72, 0xb0, 0x32, 0x33, 0xb0, 0x70, 0xb4, 0xdc, 0xdb, 0xaf, 
    -	0x06, 0x5c, 0x6f, 0x6f, 0x5c, 0x6c, 0x84, 0xc6, 0x84, 0x6d, 0x5a, 0x71, 
    -	0x71, 0x5a, 0x66, 0x2e, 0x83, 0xfe, 0xd5, 0x2a, 0x32, 0x3a, 0x86, 0x7c, 
    -	0x72, 0x48, 0x01, 0x24, 0x72, 0xfe, 0x47, 0x50, 0x3a, 0x01, 0xbc, 0x05, 
    -	0xa7, 0x02, 0x04, 0xe6, 0xda, 0xfd, 0xc0, 0xdb, 0xe7, 0x55, 0x55, 0x55, 
    -	0x55, 0xe7, 0xdb, 0x02, 0x40, 0xda, 0xe6, 0x04, 0x02, 0x92, 0x98, 0x90, 
    -	0xfd, 0xc0, 0x91, 0x97, 0x83, 0x7f, 0x01, 0xb0, 0xfe, 0x50, 0x7f, 0x83, 
    -	0x97, 0x91, 0x02, 0x40, 0x90, 0x98, 0x01, 0xc7, 0x81, 0x7b, 0x36, 0x34, 
    -	0x12, 0x24, 0x6c, 0x6e, 0x7c, 0xfe, 0x4a, 0x42, 0x73, 0x8c, 0x7b, 0x00, 
    -	0x00, 0x03, 0x00, 0x7b, 0xff, 0xeb, 0x05, 0xa2, 0x05, 0xf1, 0x00, 0x2e, 
    -	0x00, 0x40, 0x00, 0x46, 0x00, 0xa2, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0xd0, 
    -	0xb2, 0x0b, 0x0e, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x01, 0x10, 0xb0, 0x15, 
    -	0xd0, 0xb0, 0x01, 0x10, 0xb1, 0x2e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x1e, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x23, 
    -	0x01, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x23, 0x2f, 0xb0, 0x1e, 0x10, 0xb0, 
    -	0x27, 0xd0, 0xb2, 0x41, 0x17, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x41, 0x2f, 
    -	0xb0, 0x44, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x30, 
    -	0xd0, 0xb0, 0x30, 0x2f, 0xb0, 0x2f, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x30, 0x10, 0xb0, 0x34, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x30, 0x10, 0xb0, 0x38, 0xd0, 0xb0, 0x34, 0x10, 
    -	0xb0, 0x3d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 
    -	0x01, 0x37, 0x36, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x17, 0x15, 
    -	0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x33, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x13, 
    -	0x15, 0x23, 0x22, 0x24, 0x23, 0x22, 0x06, 0x15, 0x15, 0x23, 0x35, 0x34, 
    -	0x36, 0x33, 0x32, 0x04, 0x33, 0x01, 0x27, 0x37, 0x27, 0x17, 0x15, 0x04, 
    -	0x3a, 0x06, 0x9d, 0xc5, 0xc6, 0xa2, 0x63, 0x9b, 0x2e, 0x2f, 0x9a, 0x62, 
    -	0xa3, 0xc5, 0xc4, 0x9e, 0x06, 0x4b, 0x58, 0x58, 0x4b, 0x59, 0x70, 0xc5, 
    -	0x6f, 0x5a, 0x4a, 0x59, 0x59, 0x4a, 0xae, 0x2e, 0x83, 0xfe, 0xd5, 0x2a, 
    -	0x32, 0x3a, 0x86, 0x7c, 0x72, 0x48, 0x01, 0x24, 0x72, 0xfe, 0x49, 0x4f, 
    -	0x37, 0x01, 0xb9, 0x04, 0x3b, 0x03, 0x04, 0xd2, 0xc7, 0xfe, 0xdd, 0xc9, 
    -	0xd2, 0x48, 0x48, 0x48, 0x48, 0xd2, 0xc9, 0x01, 0x23, 0xc7, 0xd2, 0x04, 
    -	0x03, 0x92, 0x83, 0x7d, 0xfe, 0xdd, 0x7f, 0x82, 0x70, 0x6b, 0xea, 0xea, 
    -	0x6b, 0x70, 0x82, 0x7f, 0x01, 0x23, 0x7d, 0x83, 0x01, 0xcc, 0x81, 0x7b, 
    -	0x36, 0x34, 0x12, 0x24, 0x6c, 0x6e, 0x7c, 0xfe, 0x51, 0x48, 0x6d, 0x7e, 
    -	0x06, 0x75, 0x00, 0x00, 0x00, 0x02, 0x00, 0x9d, 0xff, 0xeb, 0x06, 0x69, 
    -	0x07, 0x05, 0x00, 0x07, 0x00, 0x28, 0x00, 0x6c, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x17, 0x10, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 0x10, 0xb0, 
    -	0x04, 0xd0, 0xb0, 0x17, 0x10, 0xb0, 0x1f, 0xd0, 0xb0, 0x28, 0xd0, 0xb0, 
    -	0x12, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x24, 0xd0, 0xb2, 0x0f, 0x12, 0x1f, 0x11, 0x12, 0x39, 
    -	0xb0, 0x12, 0x10, 0xb0, 0x0c, 0xd0, 0x30, 0x31, 0x01, 0x35, 0x21, 0x17, 
    -	0x21, 0x15, 0x23, 0x35, 0x05, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 
    -	0x11, 0x01, 0xd5, 0x03, 0x35, 0x01, 0xfe, 0xb5, 0xb2, 0x03, 0x5b, 0xe7, 
    -	0xbb, 0x6d, 0xaa, 0x2f, 0x33, 0xb0, 0x71, 0xb4, 0xdc, 0xc5, 0x6f, 0x5c, 
    -	0x6c, 0x84, 0xcc, 0x7a, 0x64, 0x63, 0x7a, 0x06, 0x98, 0x6d, 0x6d, 0x7e, 
    -	0x7e, 0xe8, 0xfb, 0xd7, 0xc9, 0xd3, 0x57, 0x56, 0x56, 0x57, 0xd3, 0xc9, 
    -	0x04, 0x29, 0xfb, 0xd7, 0x7f, 0x83, 0x83, 0x7f, 0x04, 0x29, 0xfb, 0xd7, 
    -	0x7e, 0x84, 0x84, 0x7e, 0x04, 0x29, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7c, 
    -	0xff, 0xeb, 0x05, 0xa4, 0x05, 0xb1, 0x00, 0x07, 0x00, 0x28, 0x00, 0x6f, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 0xb1, 0x17, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x17, 0x10, 0xb0, 0x06, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x07, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x07, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0c, 0xd0, 
    -	0xb0, 0x17, 0x10, 0xb0, 0x1f, 0xd0, 0xb2, 0x0f, 0x12, 0x1f, 0x11, 0x12, 
    -	0x39, 0xb0, 0x12, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x24, 0xd0, 0xb0, 0x1f, 0x10, 0xb0, 0x28, 
    -	0xd0, 0x30, 0x31, 0x01, 0x35, 0x21, 0x17, 0x21, 0x15, 0x23, 0x35, 0x01, 
    -	0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 
    -	0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 
    -	0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x01, 0x7c, 0x03, 0x35, 
    -	0x03, 0xfe, 0xb3, 0xb2, 0x02, 0xef, 0xd2, 0xa9, 0x5d, 0x92, 0x2c, 0x2f, 
    -	0x9a, 0x61, 0xa3, 0xc5, 0xc5, 0x58, 0x4b, 0x59, 0x70, 0xc6, 0x63, 0x53, 
    -	0x51, 0x65, 0x05, 0x44, 0x6d, 0x6d, 0x80, 0x80, 0xfe, 0xf6, 0xfd, 0x26, 
    -	0xb6, 0xbf, 0x47, 0x47, 0x47, 0x47, 0xbe, 0xb7, 0x02, 0xda, 0xfd, 0x26, 
    -	0x6c, 0x6f, 0x70, 0x6b, 0x02, 0xda, 0xfd, 0x26, 0x6c, 0x6f, 0x70, 0x6b, 
    -	0x02, 0xda, 0x00, 0x00, 0x00, 0x01, 0x00, 0x76, 0xfe, 0x81, 0x04, 0xbf, 
    -	0x05, 0xc5, 0x00, 0x19, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x19, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x26, 
    -	0x00, 0x35, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x07, 0x07, 0x23, 0x34, 
    -	0x26, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 0x33, 0x03, 0x17, 
    -	0xc4, 0xd7, 0xfe, 0xfa, 0x01, 0x37, 0xf7, 0xf7, 0x01, 0x24, 0x04, 0x02, 
    -	0xbd, 0xb4, 0xa4, 0xa5, 0xc4, 0xc4, 0xa5, 0x73, 0xfe, 0x81, 0x01, 0x70, 
    -	0x1d, 0x01, 0x52, 0xf6, 0x01, 0x03, 0x01, 0x0d, 0x01, 0x5f, 0xfe, 0xf9, 
    -	0xd9, 0x06, 0x99, 0xb2, 0xfe, 0xf6, 0xc5, 0xfe, 0xfb, 0xc7, 0xfe, 0xf6, 
    -	0x00, 0x01, 0x00, 0x62, 0xfe, 0x81, 0x03, 0xe1, 0x04, 0x4e, 0x00, 0x19, 
    -	0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x09, 0x10, 0xb1, 
    -	0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x02, 0x10, 0xb1, 0x19, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x11, 0x26, 0x02, 0x35, 0x35, 0x34, 
    -	0x12, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x33, 0x33, 0x02, 0xa7, 0xc5, 0xb5, 0xcb, 0xff, 
    -	0xdc, 0xb6, 0xee, 0x04, 0x02, 0xb2, 0x89, 0x63, 0x8a, 0x8c, 0x8b, 0x8b, 
    -	0x6a, 0xfe, 0x81, 0x01, 0x72, 0x20, 0x01, 0x2a, 0xcb, 0x2a, 0xe3, 0x01, 
    -	0x39, 0xe0, 0xa3, 0x06, 0x62, 0x8c, 0xe6, 0x9b, 0x2a, 0x9f, 0xe4, 0x00, 
    -	0x00, 0x01, 0x00, 0x70, 0x00, 0x00, 0x04, 0x94, 0x05, 0x3e, 0x00, 0x13, 
    -	0x00, 0x13, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x01, 0x05, 0x07, 
    -	0x25, 0x03, 0x23, 0x13, 0x25, 0x37, 0x05, 0x13, 0x25, 0x37, 0x05, 0x13, 
    -	0x33, 0x03, 0x05, 0x07, 0x25, 0x02, 0x5c, 0x01, 0x21, 0x47, 0xfe, 0xdd, 
    -	0xb5, 0xae, 0xe1, 0xfe, 0xdf, 0x47, 0x01, 0x25, 0xca, 0xfe, 0xde, 0x49, 
    -	0x01, 0x23, 0xb9, 0xab, 0xe5, 0x01, 0x25, 0x4b, 0xfe, 0xe0, 0x01, 0xbf, 
    -	0xac, 0x7d, 0xaa, 0xfe, 0xc0, 0x01, 0x8e, 0xab, 0x7c, 0xab, 0x01, 0x6c, 
    -	0xab, 0x7e, 0xab, 0x01, 0x4a, 0xfe, 0x69, 0xab, 0x7c, 0xaa, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xd4, 0x04, 0xa4, 0x03, 0xa3, 0x05, 0xfc, 0x00, 0x07, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x15, 0x27, 0x37, 0x21, 0x27, 
    -	0x17, 0x15, 0x01, 0x83, 0xaf, 0x01, 0x02, 0x20, 0x01, 0xaf, 0x05, 0x22, 
    -	0x7e, 0x01, 0xeb, 0x6c, 0x01, 0xd9, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfb, 
    -	0x05, 0x17, 0x03, 0xf3, 0x06, 0x15, 0x00, 0x11, 0x00, 0x27, 0x00, 0xb0, 
    -	0x10, 0x2f, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 
    -	0x10, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 
    -	0x31, 0x01, 0x32, 0x24, 0x33, 0x32, 0x16, 0x15, 0x15, 0x23, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x04, 0x23, 0x23, 0x35, 0x01, 0x27, 0x71, 0x01, 0x24, 
    -	0x49, 0x71, 0x7d, 0x86, 0x3b, 0x31, 0x2b, 0xfe, 0xd5, 0x82, 0x2e, 0x05, 
    -	0x99, 0x7c, 0x6e, 0x6c, 0x24, 0x12, 0x34, 0x36, 0x7c, 0x82, 0x00, 0x00, 
    -	0x00, 0x01, 0x01, 0x00, 0x05, 0x15, 0x01, 0xf5, 0x06, 0x57, 0x00, 0x05, 
    -	0x00, 0x10, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x35, 0x33, 0x07, 0x17, 0x07, 
    -	0x01, 0x00, 0xbb, 0x01, 0x3b, 0x51, 0x05, 0xdc, 0x7b, 0x8c, 0x74, 0x42, 
    -	0x00, 0x01, 0x01, 0x2c, 0x05, 0x15, 0x02, 0x21, 0x06, 0x57, 0x00, 0x05, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x27, 0x37, 0x27, 0x33, 0x15, 
    -	0x01, 0x7c, 0x50, 0x3a, 0x01, 0xbc, 0x05, 0x15, 0x42, 0x74, 0x8c, 0x7b, 
    -	0x00, 0x08, 0x00, 0x3b, 0xfe, 0xc4, 0x07, 0xd4, 0x05, 0xaf, 0x00, 0x0f, 
    -	0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, 
    -	0x00, 0x7f, 0x00, 0x9a, 0x00, 0xb0, 0x64, 0x2f, 0xb0, 0x74, 0x2f, 0xb0, 
    -	0x44, 0x2f, 0xb0, 0x54, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb1, 0x0c, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x54, 0x10, 0xb0, 0x14, 0xd0, 
    -	0xb1, 0x1c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x64, 0x10, 0xb0, 0x24, 0xd0, 0xb1, 0x2c, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x74, 0x10, 0xb0, 0x34, 0xd0, 
    -	0xb1, 0x3c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x44, 0x10, 0xb1, 0x4c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x54, 0x10, 0xb1, 0x5c, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x64, 0x10, 0xb1, 0x6c, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x74, 0x10, 
    -	0xb1, 0x7c, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 
    -	0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x13, 0x27, 
    -	0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 
    -	0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x27, 
    -	0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x01, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x13, 0x27, 0x26, 0x36, 0x33, 0x32, 
    -	0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x03, 0x2f, 
    -	0x02, 0x05, 0x70, 0x61, 0x60, 0x71, 0x04, 0x02, 0x68, 0x31, 0x32, 0x32, 
    -	0x2f, 0x01, 0xe6, 0x02, 0x05, 0x71, 0x60, 0x60, 0x72, 0x04, 0x02, 0x69, 
    -	0x30, 0x33, 0x32, 0x2e, 0x51, 0x02, 0x05, 0x71, 0x60, 0x60, 0x71, 0x04, 
    -	0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 0xfe, 0xd2, 0x02, 0x05, 0x71, 0x60, 
    -	0x60, 0x71, 0x04, 0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 0xfd, 0x57, 0x02, 
    -	0x05, 0x70, 0x61, 0x60, 0x71, 0x04, 0x02, 0x68, 0x31, 0x32, 0x32, 0x2f, 
    -	0xfd, 0x55, 0x02, 0x05, 0x71, 0x61, 0x60, 0x71, 0x04, 0x02, 0x68, 0x31, 
    -	0x32, 0x32, 0x2f, 0xfe, 0xe6, 0x02, 0x05, 0x71, 0x60, 0x60, 0x71, 0x04, 
    -	0x02, 0x68, 0x30, 0x33, 0x32, 0x2f, 0x3d, 0x02, 0x05, 0x71, 0x60, 0x60, 
    -	0x72, 0x04, 0x02, 0x69, 0x30, 0x33, 0x32, 0x2e, 0x04, 0xf3, 0x06, 0x4f, 
    -	0x67, 0x67, 0x4f, 0x06, 0x2b, 0x3a, 0x3a, 0x2b, 0xfe, 0xeb, 0x06, 0x4e, 
    -	0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfe, 0x09, 0x06, 0x4e, 
    -	0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfd, 0xf9, 0x06, 0x4e, 
    -	0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfe, 0xe4, 0x06, 0x50, 
    -	0x66, 0x66, 0x50, 0x06, 0x2c, 0x39, 0x39, 0x2c, 0x05, 0x1a, 0x06, 0x4f, 
    -	0x67, 0x67, 0x4f, 0x06, 0x2b, 0x3a, 0x3a, 0x2b, 0xfe, 0x09, 0x06, 0x4e, 
    -	0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0xfd, 0xf9, 0x06, 0x4e, 
    -	0x68, 0x67, 0x4f, 0x06, 0x2c, 0x39, 0x3a, 0x2b, 0x00, 0x08, 0x00, 0x4d, 
    -	0xfe, 0x63, 0x07, 0x8d, 0x05, 0xc6, 0x00, 0x04, 0x00, 0x09, 0x00, 0x0e, 
    -	0x00, 0x13, 0x00, 0x19, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x28, 0x00, 0x25, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x22, 0x2f, 0xb0, 0x16, 0x2f, 0xb0, 0x12, 
    -	0x2f, 0xb0, 0x0b, 0x2f, 0xb0, 0x1c, 0x2f, 0xb0, 0x27, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0c, 0x3e, 0x59, 0x30, 
    -	0x31, 0x05, 0x17, 0x03, 0x23, 0x13, 0x03, 0x27, 0x13, 0x33, 0x03, 0x01, 
    -	0x37, 0x05, 0x15, 0x25, 0x05, 0x07, 0x25, 0x35, 0x05, 0x01, 0x37, 0x25, 
    -	0x17, 0x06, 0x05, 0x01, 0x07, 0x05, 0x27, 0x25, 0x03, 0x27, 0x03, 0x37, 
    -	0x13, 0x01, 0x17, 0x13, 0x07, 0x03, 0x04, 0x50, 0x0b, 0x7a, 0x60, 0x46, 
    -	0x3a, 0x0c, 0x7a, 0x60, 0x46, 0x02, 0x1e, 0x0d, 0x01, 0x4d, 0xfe, 0xa6, 
    -	0xfb, 0x74, 0x0d, 0xfe, 0xb3, 0x01, 0x5a, 0x03, 0x9c, 0x02, 0x01, 0x41, 
    -	0x44, 0x25, 0xfe, 0xff, 0xfc, 0xf3, 0x02, 0xfe, 0xc0, 0x45, 0x01, 0x26, 
    -	0x2b, 0x11, 0x94, 0x41, 0xc6, 0x03, 0x60, 0x11, 0x95, 0x42, 0xc5, 0x3c, 
    -	0x0e, 0xfe, 0xad, 0x01, 0x61, 0x04, 0xa2, 0x0e, 0x01, 0x52, 0xfe, 0xa0, 
    -	0xfe, 0x11, 0x0c, 0x7c, 0x62, 0x47, 0x3b, 0x0c, 0x7c, 0x62, 0x47, 0x01, 
    -	0xae, 0x10, 0x99, 0x44, 0x17, 0xb1, 0xfc, 0x8e, 0x11, 0x99, 0x45, 0xc8, 
    -	0x02, 0xe4, 0x02, 0x01, 0x46, 0x45, 0xfe, 0xd5, 0xfc, 0xe3, 0x02, 0xfe, 
    -	0xbb, 0x47, 0x01, 0x2b, 0xff, 0xff, 0x00, 0xb4, 0xfe, 0xd8, 0x05, 0xa5, 
    -	0x07, 0x4e, 0x02, 0x26, 0x01, 0xc4, 0x00, 0x00, 0x00, 0x27, 0x01, 0x54, 
    -	0x01, 0x31, 0x01, 0x9e, 0x01, 0x07, 0x00, 0x0f, 0x04, 0x6a, 0xff, 0xda, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0xfe, 0xd8, 0x04, 0xa0, 0x05, 0xf7, 0x02, 0x26, 0x01, 0xe4, 0x00, 0x00, 
    -	0x00, 0x27, 0x01, 0x54, 0x00, 0x99, 0x00, 0x47, 0x01, 0x07, 0x00, 0x0f, 
    -	0x03, 0x65, 0xff, 0xda, 0x00, 0x33, 0x00, 0xb2, 0x8f, 0x10, 0x01, 0x71, 
    -	0xb2, 0xcf, 0x10, 0x01, 0x71, 0xb2, 0x1f, 0x10, 0x01, 0x72, 0xb6, 0x3f, 
    -	0x10, 0x4f, 0x10, 0x5f, 0x10, 0x03, 0x5d, 0xb2, 0xff, 0x10, 0x01, 0x71, 
    -	0xb2, 0xaf, 0x10, 0x01, 0x71, 0xb6, 0x60, 0x10, 0x70, 0x10, 0x80, 0x10, 
    -	0x03, 0x5d, 0xb2, 0x00, 0x10, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0xff, 0xcd, 0x00, 0x00, 0x04, 0xbb, 0x05, 0xb0, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x59, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x12, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x12, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0xd0, 0xb0, 0x12, 0x10, 0xb0, 0x0d, 
    -	0xd0, 0xb0, 0x02, 0x10, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x23, 0x15, 
    -	0x21, 0x32, 0x04, 0x15, 0x14, 0x04, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 
    -	0x35, 0x33, 0x15, 0x33, 0x03, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x02, 0x4e, 0xe6, 0x01, 0x67, 0xe9, 0x01, 0x03, 0xfe, 0xfc, 0xe8, 
    -	0xfd, 0xd4, 0xd6, 0xd6, 0xc5, 0xe6, 0xe6, 0x01, 0x67, 0x93, 0x94, 0x93, 
    -	0x94, 0x04, 0x4d, 0xdd, 0xef, 0xc5, 0xc6, 0xf6, 0x04, 0x4d, 0x9b, 0xc8, 
    -	0xc8, 0xfd, 0xed, 0xfd, 0xc5, 0xa9, 0x7b, 0x77, 0xa0, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0xff, 0xdb, 0x00, 0x00, 0x04, 0x00, 0x06, 0x72, 0x00, 0x12, 
    -	0x00, 0x1b, 0x00, 0x6d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 
    -	0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x01, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x02, 
    -	0x0a, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x0b, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x0e, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 
    -	0x10, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0a, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 
    -	0x01, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x02, 0x9f, 0xfe, 
    -	0xbf, 0x01, 0x0d, 0xc0, 0xd5, 0xd7, 0xbe, 0xfe, 0x2e, 0xbe, 0xbe, 0xc5, 
    -	0x01, 0x41, 0xfe, 0xbf, 0x01, 0x0d, 0x6a, 0x65, 0x66, 0x69, 0x05, 0x15, 
    -	0xfd, 0xd7, 0xcd, 0xa5, 0xa5, 0xd5, 0x05, 0x15, 0x9b, 0xc2, 0xc2, 0xfc, 
    -	0xa2, 0xfe, 0x48, 0x7d, 0x5c, 0x5a, 0x85, 0x00, 0x00, 0x02, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0xe6, 0x05, 0xb0, 0x00, 0x0e, 0x00, 0x1b, 0x00, 0x57, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x0f, 0x01, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x0f, 
    -	0x2f, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x09, 0x00, 0x03, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x14, 0x1b, 0x0f, 0x11, 0x12, 0x39, 0xb2, 0x15, 0x0f, 0x1b, 0x11, 0x12, 
    -	0x39, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x21, 0x32, 0x04, 0x15, 0x14, 
    -	0x07, 0x17, 0x07, 0x27, 0x06, 0x23, 0x25, 0x21, 0x32, 0x37, 0x27, 0x37, 
    -	0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0x79, 0xc5, 0x02, 0x2d, 
    -	0xe9, 0x01, 0x02, 0x6d, 0x87, 0x74, 0x93, 0x6a, 0x94, 0xfe, 0x98, 0x01, 
    -	0x68, 0x4e, 0x3a, 0x6c, 0x73, 0x6f, 0x28, 0x93, 0x93, 0xfe, 0x98, 0x02, 
    -	0x48, 0xfd, 0xb8, 0x05, 0xb0, 0xf0, 0xc4, 0xb7, 0x73, 0x92, 0x68, 0xa0, 
    -	0x30, 0x9a, 0x16, 0x76, 0x68, 0x79, 0x43, 0x5a, 0x79, 0xa2, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x8f, 0xfe, 0x60, 0x04, 0x2c, 0x04, 0x4e, 0x00, 0x15, 
    -	0x00, 0x27, 0x00, 0x78, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 
    -	0x1b, 0xb1, 0x0d, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 
    -	0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb2, 0x02, 0x12, 
    -	0x07, 0x11, 0x12, 0x39, 0xb2, 0x0a, 0x07, 0x12, 0x11, 0x12, 0x39, 0xb2, 
    -	0x0f, 0x12, 0x07, 0x11, 0x12, 0x39, 0xb0, 0x12, 0x10, 0xb1, 0x19, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x20, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x24, 0x19, 0x20, 0x11, 0x12, 0x39, 0xb2, 0x25, 0x20, 0x19, 0x11, 
    -	0x12, 0x39, 0x30, 0x31, 0x01, 0x14, 0x07, 0x17, 0x07, 0x27, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x36, 0x33, 0x32, 
    -	0x12, 0x11, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x16, 0x16, 
    -	0x33, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x35, 0x04, 0x29, 0x67, 0x6a, 
    -	0x74, 0x69, 0x57, 0x74, 0x64, 0x97, 0x35, 0xc5, 0xa9, 0x12, 0x35, 0x9c, 
    -	0x66, 0xc9, 0xdf, 0xc5, 0x91, 0x8d, 0x55, 0x78, 0x25, 0x25, 0x78, 0x57, 
    -	0x51, 0x3a, 0x6c, 0x74, 0x5f, 0x2a, 0x01, 0xf4, 0xe0, 0x8d, 0x75, 0x69, 
    -	0x74, 0x32, 0x43, 0x43, 0xfd, 0xef, 0x05, 0xda, 0x85, 0x4a, 0x4f, 0xfe, 
    -	0xc1, 0xfe, 0xfa, 0xb8, 0xed, 0x4d, 0x43, 0xfd, 0xf5, 0x43, 0x4b, 0x22, 
    -	0x78, 0x69, 0x6a, 0x5a, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa3, 
    -	0x00, 0x00, 0x04, 0x24, 0x06, 0xfe, 0x00, 0x07, 0x00, 0x2f, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x23, 0x11, 0x21, 0x11, 0x33, 0x04, 0x24, 0xfd, 0x44, 0xc5, 0x02, 0xbc, 
    -	0xc5, 0x05, 0x15, 0xfa, 0xeb, 0x05, 0xb0, 0x01, 0x4e, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x03, 0x44, 0x05, 0x75, 0x00, 0x07, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x03, 0x44, 0xfe, 
    -	0x10, 0xc5, 0x01, 0xf0, 0xc5, 0x03, 0x9e, 0xfc, 0x62, 0x04, 0x3a, 0x01, 
    -	0x3b, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x00, 0x00, 0x04, 0x31, 
    -	0x05, 0xb0, 0x00, 0x0d, 0x00, 0x47, 0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x0d, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x0d, 0x10, 0xb0, 0x06, 0xd0, 
    -	0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 
    -	0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x02, 0x7d, 0xfe, 0xfc, 0xc5, 
    -	0xb8, 0xb8, 0x03, 0x7d, 0xfd, 0x48, 0x01, 0x04, 0x02, 0xa9, 0xfd, 0x57, 
    -	0x02, 0xa9, 0x9b, 0x02, 0x6c, 0x9b, 0xfe, 0x2f, 0x00, 0x01, 0xff, 0xf3, 
    -	0x00, 0x00, 0x03, 0x3f, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0x51, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x06, 0x3e, 0x59, 0xb2, 0x5f, 0x0d, 0x01, 0x5d, 0xb2, 0x2f, 0x0d, 
    -	0x01, 0x5d, 0xb0, 0x0d, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x0d, 0x10, 0xb0, 
    -	0x06, 0xd0, 0xb0, 0x08, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 
    -	0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x02, 0x74, 0xfe, 
    -	0xe0, 0xc5, 0x9c, 0x9c, 0x02, 0xb0, 0xfe, 0x15, 0x01, 0x20, 0x01, 0xdc, 
    -	0xfe, 0x24, 0x01, 0xdc, 0x9b, 0x01, 0xc3, 0x9c, 0xfe, 0xd9, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xb4, 0xfe, 0xe0, 0x04, 0x85, 0x05, 0xb0, 0x00, 0x16, 
    -	0x00, 0x57, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 
    -	0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x06, 0x3e, 0x59, 0xb0, 0x16, 0x10, 0xb1, 
    -	0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x02, 0x13, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb0, 0x0a, 0x10, 
    -	0xb1, 0x0b, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x02, 0x10, 0xb1, 0x12, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x33, 0x20, 0x00, 0x11, 
    -	0x10, 0x02, 0x2f, 0x02, 0x32, 0x36, 0x35, 0x26, 0x26, 0x23, 0x23, 0x11, 
    -	0x23, 0x11, 0x21, 0x04, 0x31, 0xfd, 0x48, 0xb4, 0x01, 0x1c, 0x01, 0x3c, 
    -	0xf3, 0xe3, 0x06, 0x02, 0x97, 0x82, 0x02, 0xc8, 0xc9, 0xb4, 0xc5, 0x03, 
    -	0x7d, 0x05, 0x15, 0xfe, 0x2c, 0xfe, 0xcd, 0xfe, 0xf1, 0xfe, 0xf9, 0xfe, 
    -	0xe8, 0x04, 0x02, 0x8e, 0xcc, 0xbf, 0xca, 0xd3, 0xfd, 0x64, 0x05, 0xb0, 
    -	0x00, 0x01, 0x00, 0x8f, 0xfe, 0xe4, 0x03, 0xc2, 0x04, 0x3a, 0x00, 0x15, 
    -	0x00, 0x45, 0x00, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 
    -	0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x06, 0x3e, 0x59, 0xb0, 0x15, 0x10, 0xb1, 
    -	0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x02, 0x12, 0x15, 0x11, 0x12, 0x39, 0xb0, 0x02, 0x2f, 0xb1, 0x11, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x21, 0x11, 0x33, 0x32, 0x00, 0x15, 0x06, 0x02, 0x07, 0x27, 0x36, 0x36, 
    -	0x35, 0x26, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x03, 0x3f, 0xfe, 
    -	0x15, 0x6f, 0xe2, 0x01, 0x1d, 0x02, 0xc2, 0xbe, 0x34, 0x81, 0x70, 0x02, 
    -	0xab, 0x8d, 0x6f, 0xc5, 0x02, 0xb0, 0x03, 0x9e, 0xfe, 0xe9, 0xfe, 0xff, 
    -	0xdc, 0x8a, 0xfe, 0xe7, 0x23, 0x95, 0x22, 0x9d, 0x72, 0x93, 0xa5, 0xfe, 
    -	0x1e, 0x04, 0x3a, 0x00, 0xff, 0xff, 0x00, 0x1c, 0xfe, 0x99, 0x07, 0x79, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0xc2, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x06, 0x54, 0x00, 0x00, 0xff, 0xff, 0x00, 0x15, 0xfe, 0x99, 0x06, 0x28, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xe2, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x05, 0x03, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 0xfe, 0x52, 0x04, 0xdf, 
    -	0x05, 0xc5, 0x00, 0x26, 0x01, 0xc3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x01, 0x9b, 0xff, 0xb9, 0xff, 0xff, 0x00, 0x58, 0xfe, 0x53, 0x03, 0xae, 
    -	0x04, 0x4c, 0x02, 0x26, 0x01, 0xe3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x01, 0x45, 0xff, 0xba, 0xff, 0xff, 0x00, 0xb4, 0xfe, 0x99, 0x05, 0x66, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x04, 0x41, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 0xfe, 0x99, 0x04, 0x72, 
    -	0x04, 0x3a, 0x02, 0x26, 0x01, 0xe6, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x03, 0x4d, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa3, 0x00, 0x00, 0x04, 0xff, 
    -	0x05, 0xb0, 0x00, 0x14, 0x00, 0x81, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 
    -	0x3e, 0x59, 0xb2, 0xcf, 0x0e, 0x01, 0x5d, 0xb2, 0x1f, 0x0e, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x0e, 0x01, 0x71, 0xb2, 0xef, 0x0e, 0x01, 0x71, 0xb2, 0x9f, 
    -	0x0e, 0x01, 0x71, 0xb2, 0xef, 0x0e, 0x01, 0x5d, 0xb2, 0x7f, 0x0e, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x0e, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x09, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x01, 0x09, 
    -	0x0e, 0x11, 0x12, 0x39, 0xb0, 0x05, 0xd0, 0xb0, 0x0e, 0x10, 0xb0, 0x12, 
    -	0xd0, 0x30, 0x31, 0x09, 0x02, 0x23, 0x01, 0x23, 0x15, 0x23, 0x35, 0x23, 
    -	0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x01, 0x04, 
    -	0xd5, 0xfe, 0x72, 0x01, 0xb8, 0xf6, 0xfe, 0xac, 0x4e, 0x9d, 0x62, 0xc5, 
    -	0xc5, 0x62, 0x9d, 0x4c, 0x01, 0x3d, 0x05, 0xb0, 0xfd, 0x4f, 0xfd, 0x01, 
    -	0x02, 0x92, 0xf3, 0xf3, 0xfd, 0x6e, 0x05, 0xb0, 0xfd, 0x7c, 0xff, 0xff, 
    -	0x02, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x04, 0x63, 
    -	0x04, 0x3a, 0x00, 0x14, 0x00, 0x92, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 
    -	0x3e, 0x59, 0xb4, 0xbf, 0x0e, 0xcf, 0x0e, 0x02, 0x5d, 0xb2, 0x2f, 0x0e, 
    -	0x01, 0x71, 0xb2, 0x9f, 0x0e, 0x01, 0x71, 0xb2, 0xff, 0x0e, 0x01, 0x71, 
    -	0xb2, 0x6f, 0x0e, 0x01, 0x72, 0xb2, 0x3f, 0x0e, 0x01, 0x72, 0xb2, 0xcf, 
    -	0x0e, 0x01, 0x71, 0xb2, 0x6f, 0x0e, 0x01, 0x71, 0xb2, 0xff, 0x0e, 0x01, 
    -	0x5d, 0xb2, 0x5f, 0x0e, 0x01, 0x5d, 0xb2, 0x2f, 0x0e, 0x01, 0x5d, 0xb0, 
    -	0x0e, 0x10, 0xb1, 0x09, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x01, 0x09, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x05, 0xd0, 
    -	0xb0, 0x0e, 0x10, 0xb0, 0x12, 0xd0, 0x30, 0x31, 0x09, 0x02, 0x23, 0x01, 
    -	0x23, 0x15, 0x23, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x35, 
    -	0x33, 0x15, 0x33, 0x13, 0x04, 0x40, 0xfe, 0xad, 0x01, 0x76, 0xf9, 0xfe, 
    -	0xf3, 0x17, 0x9d, 0x4b, 0xc5, 0xc5, 0x4b, 0x9d, 0x0f, 0xff, 0x04, 0x3a, 
    -	0xfe, 0x00, 0xfd, 0xc6, 0x01, 0xcb, 0xbf, 0xbf, 0xfe, 0x35, 0x04, 0x3a, 
    -	0xfe, 0x37, 0xd3, 0xd3, 0x01, 0xc9, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf5, 
    -	0x00, 0x00, 0x05, 0x34, 0x05, 0xb0, 0x00, 0x16, 0x00, 0x9b, 0x00, 0xb0, 
    -	0x0e, 0x2f, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 
    -	0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 
    -	0x2f, 0x1b, 0xb1, 0x10, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb2, 0xcf, 0x0e, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x0e, 0x01, 0x71, 0xb2, 0xbf, 0x0e, 0x01, 0x71, 
    -	0xb2, 0x3f, 0x0e, 0x01, 0x72, 0xb2, 0xef, 0x0e, 0x01, 0x71, 0xb2, 0x9f, 
    -	0x0e, 0x01, 0x71, 0xb2, 0xef, 0x0e, 0x01, 0x5d, 0xb2, 0x7f, 0x0e, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x0e, 0x01, 0x5d, 0xb0, 0x0e, 0x10, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 
    -	0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x07, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x0c, 0xd0, 
    -	0xb2, 0x13, 0x00, 0x0e, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 
    -	0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 
    -	0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x02, 0x37, 0xaa, 0xc5, 
    -	0xd3, 0xd3, 0xc5, 0xe9, 0xe9, 0x98, 0x02, 0x09, 0xda, 0x03, 0xfd, 0xcb, 
    -	0x02, 0x5e, 0x03, 0xeb, 0x02, 0x91, 0xfd, 0x6f, 0x04, 0x82, 0x9b, 0x93, 
    -	0x93, 0x9b, 0xfe, 0xaa, 0x02, 0x84, 0x05, 0xfd, 0x45, 0xfd, 0x15, 0x05, 
    -	0x00, 0x01, 0xff, 0xcf, 0x00, 0x00, 0x04, 0x30, 0x06, 0x18, 0x00, 0x14, 
    -	0x00, 0x7d, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x07, 0x2f, 0xb0, 0x0e, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x4f, 0x0e, 0x01, 0x71, 0xb2, 0xaf, 0x0e, 0x01, 
    -	0x71, 0xb2, 0xbf, 0x0e, 0x01, 0x5d, 0xb2, 0x5f, 0x0e, 0x01, 0x5d, 0xb0, 
    -	0x0e, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x2f, 0x08, 0x01, 0x5d, 0xb0, 0x07, 
    -	0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x0c, 0xd0, 0xb2, 0x12, 
    -	0x01, 0x0e, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 
    -	0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x01, 
    -	0x33, 0x01, 0x01, 0x23, 0x01, 0xe9, 0x80, 0xc5, 0xd5, 0xd5, 0xc5, 0xe7, 
    -	0xe7, 0x7e, 0x01, 0x28, 0xec, 0xfe, 0x8e, 0x01, 0xa7, 0xe8, 0x01, 0xf3, 
    -	0xfe, 0x0d, 0x04, 0xbe, 0x9b, 0xbf, 0xbf, 0x9b, 0xfd, 0xd2, 0x01, 0xaa, 
    -	0xfe, 0x14, 0xfd, 0xb2, 0x00, 0x01, 0x00, 0x43, 0x00, 0x00, 0x06, 0x8b, 
    -	0x05, 0xb0, 0x00, 0x10, 0x00, 0x79, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb2, 
    -	0x08, 0x02, 0x06, 0x11, 0x12, 0x39, 0xb0, 0x08, 0x2f, 0xb2, 0xcf, 0x08, 
    -	0x01, 0x5d, 0xb4, 0xef, 0x08, 0xff, 0x08, 0x02, 0x5d, 0xb2, 0x2f, 0x08, 
    -	0x01, 0x5d, 0xb2, 0x9f, 0x08, 0x01, 0x71, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x05, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0d, 
    -	0x01, 0x08, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 
    -	0x21, 0x35, 0x21, 0x11, 0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 
    -	0x03, 0x8e, 0xaa, 0xc5, 0xfe, 0x24, 0x02, 0xa1, 0x98, 0x02, 0x09, 0xda, 
    -	0x03, 0xfd, 0xcb, 0x02, 0x5e, 0x03, 0xeb, 0x02, 0x91, 0xfd, 0x6f, 0x05, 
    -	0x15, 0x9b, 0xfd, 0x7c, 0x02, 0x84, 0x05, 0xfd, 0x45, 0xfd, 0x15, 0x05, 
    -	0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x05, 0x86, 0x04, 0x3a, 0x00, 0x10, 
    -	0x00, 0x79, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 
    -	0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 
    -	0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb2, 0x08, 0x02, 0x07, 0x11, 
    -	0x12, 0x39, 0xb0, 0x08, 0x2f, 0xb4, 0xbf, 0x08, 0xcf, 0x08, 0x02, 0x5d, 
    -	0xb2, 0x9f, 0x08, 0x01, 0x71, 0xb2, 0x2f, 0x08, 0x01, 0x5d, 0xb2, 0x6f, 
    -	0x08, 0x01, 0x72, 0xb1, 0x01, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0d, 0x01, 0x08, 0x11, 0x12, 
    -	0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 
    -	0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x03, 0x24, 0x81, 0xc5, 
    -	0xfe, 0x63, 0x02, 0x62, 0x72, 0x01, 0x65, 0xe7, 0x03, 0xfe, 0x58, 0x01, 
    -	0xca, 0x03, 0xf2, 0x01, 0xcb, 0xfe, 0x35, 0x03, 0x9e, 0x9c, 0xfe, 0x37, 
    -	0x01, 0xc9, 0x05, 0xfd, 0xff, 0xfd, 0xd1, 0x05, 0xff, 0xff, 0x00, 0xb4, 
    -	0xfe, 0x99, 0x05, 0x92, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x2b, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x99, 0x04, 0x6d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0xfe, 0x99, 0x04, 0x8c, 0x04, 0x3a, 0x02, 0x26, 0x01, 0xe9, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x99, 0x03, 0x67, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 
    -	0x00, 0x00, 0x07, 0x7a, 0x05, 0xb0, 0x00, 0x0d, 0x00, 0xac, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb2, 0x7f, 0x00, 0x01, 0x5d, 0xb2, 
    -	0xcf, 0x00, 0x01, 0x5d, 0xb2, 0x1f, 0x00, 0x01, 0x71, 0xb2, 0x7f, 0x00, 
    -	0x01, 0x71, 0xb4, 0xbf, 0x00, 0xcf, 0x00, 0x02, 0x71, 0xb2, 0x1f, 0x00, 
    -	0x01, 0x72, 0xb2, 0x6f, 0x00, 0x01, 0x72, 0xb2, 0x8f, 0x00, 0x01, 0x72, 
    -	0xb2, 0x3f, 0x00, 0x01, 0x72, 0xb2, 0xef, 0x00, 0x01, 0x71, 0xb2, 0x9f, 
    -	0x00, 0x01, 0x71, 0xb2, 0x4f, 0x00, 0x01, 0x71, 0xb4, 0xef, 0x00, 0xff, 
    -	0x00, 0x02, 0x5d, 0xb2, 0xaf, 0x00, 0x01, 0x5d, 0xb2, 0x5f, 0x00, 0x01, 
    -	0x5d, 0xb2, 0x2f, 0x00, 0x01, 0x5d, 0xb0, 0x02, 0x10, 0xb1, 0x04, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 
    -	0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 
    -	0x11, 0x23, 0x11, 0x33, 0x01, 0x79, 0x02, 0xc3, 0x03, 0x3e, 0xfd, 0x87, 
    -	0xc5, 0xfd, 0x3d, 0xc5, 0xc5, 0x03, 0x1e, 0x02, 0x92, 0x9b, 0xfa, 0xeb, 
    -	0x02, 0x83, 0xfd, 0x7d, 0x05, 0xb0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0x00, 0x00, 0x05, 0x65, 0x04, 0x3a, 0x00, 0x0d, 0x00, 0xa8, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb2, 0x9f, 0x00, 0x01, 0x5d, 0xb2, 
    -	0xff, 0x00, 0x01, 0x5d, 0xb2, 0x6f, 0x00, 0x01, 0x71, 0xb4, 0xcf, 0x00, 
    -	0xdf, 0x00, 0x02, 0x71, 0xb4, 0x3f, 0x00, 0x4f, 0x00, 0x02, 0x72, 0xb2, 
    -	0xaf, 0x00, 0x01, 0x72, 0xb4, 0x6f, 0x00, 0x7f, 0x00, 0x02, 0x72, 0xb2, 
    -	0xff, 0x00, 0x01, 0x71, 0xb2, 0x0f, 0x00, 0x01, 0x72, 0xb2, 0x9f, 0x00, 
    -	0x01, 0x71, 0xb4, 0x2f, 0x00, 0x3f, 0x00, 0x02, 0x71, 0xb4, 0xbf, 0x00, 
    -	0xcf, 0x00, 0x02, 0x5d, 0xb2, 0x5f, 0x00, 0x01, 0x5d, 0xb2, 0x2f, 0x00, 
    -	0x01, 0x5d, 0xb0, 0x02, 0x10, 0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x09, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 
    -	0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 
    -	0x01, 0x54, 0x01, 0xe2, 0x02, 0x2f, 0xfe, 0x96, 0xc5, 0xfe, 0x1e, 0xc5, 
    -	0xc5, 0x02, 0x66, 0x01, 0xd4, 0x9c, 0xfc, 0x62, 0x01, 0xcc, 0xfe, 0x34, 
    -	0x04, 0x3a, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb4, 0xfe, 0xe0, 0x07, 0xcd, 
    -	0x05, 0xb0, 0x00, 0x18, 0x00, 0x5a, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x12, 0xd0, 0xb2, 0x00, 0x12, 0x18, 0x11, 0x12, 0x39, 0xb0, 0x00, 
    -	0x2f, 0xb0, 0x07, 0x10, 0xb1, 0x09, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x10, 0x03, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x18, 0x10, 0xb1, 0x13, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x33, 0x20, 0x00, 0x11, 0x10, 0x02, 0x2f, 0x02, 0x32, 0x36, 0x35, 
    -	0x26, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 
    -	0x05, 0x03, 0x72, 0x01, 0x1c, 0x01, 0x3c, 0xf3, 0xe3, 0x06, 0x02, 0x97, 
    -	0x82, 0x02, 0xc8, 0xc9, 0x72, 0xc6, 0xfd, 0x3c, 0xc5, 0x04, 0x4f, 0x03, 
    -	0x41, 0xfe, 0xcd, 0xfe, 0xf1, 0xfe, 0xf9, 0xfe, 0xe8, 0x04, 0x02, 0x8e, 
    -	0xcc, 0xbf, 0xca, 0xd3, 0xfd, 0x64, 0x05, 0x15, 0xfa, 0xeb, 0x05, 0xb0, 
    -	0x00, 0x01, 0x00, 0x8f, 0xfe, 0xe4, 0x06, 0xb7, 0x04, 0x3a, 0x00, 0x17, 
    -	0x00, 0x48, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 
    -	0x2f, 0x1b, 0xb1, 0x17, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x06, 0x3e, 0x59, 0xb0, 0x11, 0xd0, 0xb2, 
    -	0x00, 0x11, 0x17, 0x11, 0x12, 0x39, 0xb0, 0x00, 0x2f, 0xb1, 0x0f, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x17, 0x10, 
    -	0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x33, 0x32, 0x00, 0x15, 0x06, 0x02, 0x07, 0x27, 0x36, 
    -	0x36, 0x35, 0x26, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 
    -	0x11, 0x21, 0x03, 0xfc, 0xa8, 0xeb, 0x01, 0x28, 0x02, 0xc2, 0xbe, 0x34, 
    -	0x81, 0x70, 0x02, 0xb6, 0x96, 0xa8, 0xc5, 0xfe, 0x1d, 0xc5, 0x03, 0x6d, 
    -	0x02, 0x87, 0xfe, 0xff, 0xdc, 0x8a, 0xfe, 0xe7, 0x23, 0x95, 0x22, 0x9d, 
    -	0x72, 0x94, 0xa4, 0xfe, 0x1e, 0x03, 0x9e, 0xfc, 0x62, 0x04, 0x3a, 0x00, 
    -	0x00, 0x02, 0x00, 0x71, 0xff, 0xe2, 0x05, 0x9b, 0x05, 0xc2, 0x00, 0x2a, 
    -	0x00, 0x39, 0x00, 0x8f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 
    -	0x1b, 0xb1, 0x20, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 
    -	0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb2, 0x03, 0x06, 
    -	0x20, 0x11, 0x12, 0x39, 0xb0, 0x0d, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x16, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x19, 
    -	0x2e, 0x03, 0x11, 0x12, 0x39, 0xb2, 0x27, 0x03, 0x2e, 0x11, 0x12, 0x39, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x2a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x2f, 0x20, 0x06, 0x11, 0x12, 0x39, 0xb0, 0x20, 
    -	0x10, 0xb1, 0x36, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x05, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x20, 0x00, 
    -	0x11, 0x35, 0x10, 0x12, 0x17, 0x17, 0x15, 0x22, 0x02, 0x15, 0x15, 0x14, 
    -	0x12, 0x33, 0x32, 0x36, 0x37, 0x26, 0x02, 0x35, 0x35, 0x34, 0x12, 0x33, 
    -	0x32, 0x12, 0x15, 0x15, 0x14, 0x02, 0x07, 0x16, 0x16, 0x33, 0x01, 0x14, 
    -	0x16, 0x17, 0x33, 0x36, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x05, 0x9b, 0x6d, 0xc7, 0x58, 0x46, 0x9c, 0x55, 0xfe, 0xef, 0xfe, 
    -	0xaa, 0xfc, 0xc5, 0x06, 0x77, 0x8b, 0xe3, 0xbf, 0x22, 0x3f, 0x1d, 0x7a, 
    -	0x83, 0xe5, 0xb7, 0xb6, 0xe4, 0x71, 0x66, 0x33, 0x71, 0x3f, 0xfd, 0x83, 
    -	0x75, 0x6f, 0x06, 0x5c, 0x66, 0x73, 0x62, 0x62, 0x75, 0x1e, 0x25, 0x25, 
    -	0x20, 0x21, 0x01, 0x8e, 0x01, 0x2c, 0xa6, 0x01, 0x0f, 0x01, 0x68, 0x05, 
    -	0x02, 0x98, 0xfe, 0xf7, 0xcd, 0xa8, 0xeb, 0xfe, 0xd2, 0x06, 0x07, 0x62, 
    -	0x01, 0x18, 0xa7, 0xe3, 0xec, 0x01, 0x39, 0xfe, 0xcd, 0xf2, 0xf8, 0x9d, 
    -	0xfe, 0xf4, 0x5f, 0x0e, 0x0d, 0x02, 0x36, 0x99, 0xeb, 0x44, 0x43, 0xe5, 
    -	0x8d, 0xfb, 0xac, 0xd6, 0xdc, 0xa6, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6c, 
    -	0xff, 0xeb, 0x04, 0xa1, 0x04, 0x4f, 0x00, 0x2a, 0x00, 0x3a, 0x00, 0x8f, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x03, 0x06, 0x20, 0x11, 0x12, 0x39, 
    -	0xb0, 0x0e, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x16, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x37, 0x20, 0x06, 0x11, 0x12, 
    -	0x39, 0xb2, 0x19, 0x37, 0x03, 0x11, 0x12, 0x39, 0xb2, 0x27, 0x03, 0x37, 
    -	0x11, 0x12, 0x39, 0xb0, 0x00, 0x10, 0xb1, 0x2a, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x20, 0x10, 0xb1, 0x2f, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 
    -	0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x12, 
    -	0x17, 0x17, 0x15, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x26, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x33, 0x03, 0x35, 0x34, 0x26, 0x07, 0x23, 
    -	0x26, 0x06, 0x15, 0x15, 0x14, 0x16, 0x17, 0x37, 0x36, 0x36, 0x04, 0xa1, 
    -	0x5a, 0xa1, 0x46, 0x3b, 0x84, 0x48, 0xda, 0xfe, 0xed, 0xc3, 0x98, 0x06, 
    -	0x48, 0x54, 0xa0, 0x88, 0x16, 0x2b, 0x15, 0x5d, 0x62, 0xad, 0x92, 0x91, 
    -	0xb0, 0x42, 0x3c, 0x26, 0x58, 0x31, 0xf6, 0x42, 0x37, 0x06, 0x39, 0x3e, 
    -	0x4b, 0x46, 0x06, 0x2d, 0x32, 0x0c, 0x1c, 0x1d, 0x21, 0x21, 0x01, 0x51, 
    -	0xfe, 0x39, 0xcd, 0x01, 0x0b, 0x05, 0x02, 0x97, 0xaf, 0x89, 0x3b, 0xbc, 
    -	0xf2, 0x05, 0x06, 0x4f, 0xd8, 0x7f, 0x67, 0xbd, 0xee, 0xfe, 0xc2, 0x69, 
    -	0x6f, 0xc3, 0x4b, 0x0b, 0x0a, 0x01, 0x92, 0x6c, 0x7b, 0xa0, 0x05, 0x05, 
    -	0x8f, 0x78, 0x6b, 0x66, 0xa2, 0x33, 0x01, 0x31, 0x99, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x76, 0xfe, 0x52, 0x04, 0xbf, 0x05, 0xc5, 0x02, 0x26, 
    -	0x00, 0x26, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x01, 0xe5, 0xff, 0xb9, 
    -	0xff, 0xff, 0x00, 0x61, 0xfe, 0x52, 0x03, 0xf6, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x01, 0x58, 0xff, 0xb9, 
    -	0xff, 0xff, 0x00, 0x22, 0xfe, 0x99, 0x04, 0x8e, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x37, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x02, 0x26, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x47, 0xfe, 0x99, 0x03, 0xd1, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xee, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x01, 0xd8, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x3c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2e, 0xfe, 0x5f, 0x03, 0xe4, 
    -	0x04, 0x3a, 0x02, 0x06, 0x01, 0x8d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x14, 
    -	0x00, 0x00, 0x04, 0xce, 0x05, 0xb0, 0x00, 0x10, 0x00, 0x72, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 
    -	0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb0, 0x0d, 0x10, 0xb0, 0x00, 0xd0, 0x40, 
    -	0x1b, 0x34, 0x00, 0x44, 0x00, 0x54, 0x00, 0x64, 0x00, 0x74, 0x00, 0x84, 
    -	0x00, 0x94, 0x00, 0xa4, 0x00, 0xb4, 0x00, 0xc4, 0x00, 0xd4, 0x00, 0xe4, 
    -	0x00, 0xf4, 0x00, 0x0d, 0x5d, 0xb6, 0x04, 0x00, 0x14, 0x00, 0x24, 0x00, 
    -	0x03, 0x71, 0xb0, 0x0d, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x0d, 0x10, 0xb1, 
    -	0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x05, 0xd0, 0x30, 0x31, 0x01, 0x01, 0x33, 0x01, 0x33, 0x15, 0x23, 0x07, 
    -	0x11, 0x23, 0x11, 0x27, 0x23, 0x35, 0x33, 0x01, 0x33, 0x02, 0x71, 0x01, 
    -	0x7c, 0xe1, 0xfe, 0x5d, 0x78, 0xcc, 0x08, 0xc4, 0x01, 0xe8, 0x94, 0xfe, 
    -	0x5e, 0xe1, 0x02, 0xcc, 0x02, 0xe4, 0xfc, 0xfa, 0x9b, 0x0f, 0xfe, 0x00, 
    -	0x02, 0x0d, 0x02, 0x9b, 0x03, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2e, 
    -	0xfe, 0x5f, 0x03, 0xe4, 0x04, 0x3a, 0x00, 0x11, 0x00, 0x72, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x08, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x0b, 0xd0, 0xb2, 0x34, 
    -	0x0b, 0x01, 0x5d, 0x40, 0x0b, 0x54, 0x0b, 0x64, 0x0b, 0x74, 0x0b, 0x84, 
    -	0x0b, 0x94, 0x0b, 0x05, 0x5d, 0xb0, 0x06, 0x10, 0xb0, 0x10, 0xd0, 0xb0, 
    -	0x11, 0xd0, 0x30, 0x31, 0x05, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 
    -	0x01, 0x33, 0x01, 0x17, 0x33, 0x37, 0x13, 0x33, 0x01, 0x33, 0x03, 0x51, 
    -	0xe4, 0xc5, 0xd8, 0xbc, 0xfe, 0xa2, 0xca, 0x01, 0x00, 0x11, 0x06, 0x13, 
    -	0xf9, 0xc9, 0xfe, 0xa6, 0xc7, 0x0d, 0xfe, 0x6c, 0x01, 0x94, 0x9b, 0x03, 
    -	0xac, 0xfd, 0x05, 0x4c, 0x4c, 0x02, 0xfb, 0xfc, 0x54, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x42, 0xfe, 0x99, 0x04, 0xf0, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x3b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x03, 0xcb, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x2e, 0xfe, 0x99, 0x04, 0x0b, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x5b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x02, 0xe6, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x37, 0xfe, 0x9d, 0x06, 0x9c, 0x05, 0xb0, 0x00, 0x0f, 
    -	0x00, 0x51, 0x00, 0xb0, 0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 
    -	0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x05, 0xd0, 0xb0, 0x0f, 0x10, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 
    -	0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 
    -	0x23, 0x11, 0x21, 0x01, 0x8c, 0xfe, 0xab, 0x03, 0xba, 0xfe, 0x61, 0x02, 
    -	0xc4, 0xc5, 0xc1, 0xc5, 0xfb, 0xb5, 0x05, 0x13, 0x9b, 0x9b, 0xfb, 0x88, 
    -	0x05, 0x15, 0xfa, 0xf1, 0xfd, 0xfc, 0x01, 0x63, 0x00, 0x01, 0x00, 0x20, 
    -	0xfe, 0x9e, 0x05, 0x1d, 0x04, 0x3b, 0x00, 0x0f, 0x00, 0x51, 0x00, 0xb0, 
    -	0x0d, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 
    -	0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 
    -	0xb1, 0x0f, 0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x05, 0xd0, 0xb0, 
    -	0x0f, 0x10, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x15, 
    -	0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x01, 
    -	0x2c, 0xfe, 0xf4, 0x02, 0xc4, 0xf3, 0x01, 0xe3, 0xc5, 0x84, 0xc5, 0xfc, 
    -	0xd4, 0x03, 0xa0, 0x9b, 0x9b, 0xfc, 0xfa, 0x03, 0xa0, 0xfc, 0x60, 0xfe, 
    -	0x04, 0x01, 0x62, 0x00, 0xff, 0xff, 0x00, 0x93, 0xfe, 0x99, 0x05, 0x5d, 
    -	0x05, 0xb0, 0x02, 0x26, 0x01, 0xd3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x04, 0x38, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7f, 0xfe, 0x99, 0x04, 0x6d, 
    -	0x04, 0x3b, 0x02, 0x26, 0x01, 0xf3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 
    -	0x03, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x93, 0x00, 0x00, 0x04, 0xcc, 
    -	0x05, 0xb0, 0x00, 0x1d, 0x00, 0x45, 0x00, 0xb0, 0x14, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x14, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0xd0, 0xb0, 0x14, 0x10, 0xb0, 0x18, 
    -	0xd0, 0x30, 0x31, 0x01, 0x11, 0x23, 0x11, 0x06, 0x07, 0x06, 0x07, 0x15, 
    -	0x23, 0x35, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 
    -	0x33, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x37, 0x11, 0x04, 0xcc, 0xc5, 
    -	0x5f, 0x59, 0x18, 0x19, 0x9e, 0x04, 0xf1, 0xf8, 0xc6, 0x8a, 0x99, 0x04, 
    -	0x9e, 0x13, 0x13, 0x60, 0x63, 0x05, 0xb0, 0xfa, 0x50, 0x02, 0x5b, 0x1d, 
    -	0x0d, 0x04, 0x03, 0xee, 0xe8, 0xd3, 0xed, 0x01, 0xcc, 0xfe, 0x34, 0xa5, 
    -	0x7f, 0x01, 0x39, 0xfe, 0xd0, 0x02, 0x03, 0x0e, 0x1b, 0x02, 0xb9, 0x00, 
    -	0x00, 0x01, 0x00, 0x7f, 0x00, 0x00, 0x03, 0xdc, 0x04, 0x3b, 0x00, 0x1c, 
    -	0x00, 0x4c, 0x00, 0xb0, 0x14, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb4, 0xbf, 0x14, 
    -	0xcf, 0x14, 0x02, 0x5d, 0xb0, 0x14, 0x10, 0xb1, 0x09, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0xd0, 0xb0, 0x14, 
    -	0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 0x21, 0x23, 0x11, 0x06, 0x07, 0x06, 
    -	0x07, 0x15, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 
    -	0x17, 0x16, 0x17, 0x11, 0x33, 0x11, 0x37, 0x36, 0x37, 0x11, 0x33, 0x03, 
    -	0xdc, 0xc5, 0x39, 0x3c, 0x0d, 0x0e, 0x9e, 0x9c, 0x5f, 0x6f, 0xc5, 0x38, 
    -	0x28, 0x45, 0x9e, 0x19, 0x3c, 0x3b, 0xc5, 0x01, 0x83, 0x0f, 0x08, 0x01, 
    -	0x02, 0x84, 0x82, 0x0d, 0x58, 0x67, 0xca, 0x01, 0x3e, 0xfe, 0xc2, 0x82, 
    -	0x3d, 0x2c, 0x0d, 0x01, 0x16, 0xfe, 0xea, 0x03, 0x08, 0x0f, 0x02, 0x1b, 
    -	0x00, 0x01, 0x00, 0x8a, 0x00, 0x00, 0x04, 0xc3, 0x05, 0xb0, 0x00, 0x13, 
    -	0x00, 0x3c, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 
    -	0x2f, 0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x33, 0x11, 0x33, 0x11, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x8a, 0xc5, 
    -	0x60, 0xb1, 0x7a, 0xf0, 0xf9, 0xc6, 0x8b, 0x98, 0x69, 0xc0, 0x62, 0x05, 
    -	0xb0, 0xfd, 0xa5, 0x1b, 0x1c, 0xd4, 0xec, 0xfe, 0x34, 0x01, 0xcc, 0xa4, 
    -	0x80, 0x1d, 0x1b, 0xfd, 0x48, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x94, 
    -	0x00, 0x01, 0x03, 0xf1, 0x04, 0x3c, 0x01, 0x0f, 0x01, 0xf3, 0x04, 0x70, 
    -	0x04, 0x3c, 0xc0, 0x02, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x4d, 0xff, 0xe9, 0x06, 0x2c, 0x05, 0xc3, 0x00, 0x1e, 
    -	0x00, 0x27, 0x00, 0x5a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 
    -	0x1b, 0xb1, 0x0f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x24, 0x00, 0x0f, 0x11, 
    -	0x12, 0x39, 0xb0, 0x24, 0x2f, 0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x24, 0x10, 0xb0, 
    -	0x0c, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0x10, 0xb1, 0x1f, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x20, 
    -	0x00, 0x11, 0x35, 0x26, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x17, 0x12, 
    -	0x00, 0x33, 0x20, 0x00, 0x11, 0x15, 0x21, 0x07, 0x06, 0x12, 0x33, 0x32, 
    -	0x36, 0x37, 0x17, 0x06, 0x06, 0x03, 0x22, 0x02, 0x07, 0x17, 0x21, 0x35, 
    -	0x34, 0x26, 0x04, 0x47, 0xfe, 0xb6, 0xfe, 0x91, 0x9e, 0xa3, 0x04, 0x02, 
    -	0x97, 0x53, 0x55, 0x1b, 0x01, 0x51, 0xe9, 0x01, 0x1b, 0x01, 0x2a, 0xfc, 
    -	0x2e, 0x02, 0x05, 0xf7, 0xfd, 0x6b, 0x9a, 0x4b, 0x30, 0x32, 0xc0, 0xee, 
    -	0xab, 0xd2, 0x0f, 0x03, 0x03, 0x09, 0xb5, 0x17, 0x01, 0x8d, 0x01, 0x47, 
    -	0x06, 0x14, 0xc4, 0x9a, 0x05, 0x5d, 0x7d, 0x12, 0x01, 0x17, 0x01, 0x5e, 
    -	0xfe, 0x9d, 0xfe, 0xc9, 0x6c, 0x05, 0xf9, 0xfe, 0xc4, 0x2e, 0x26, 0x8b, 
    -	0x24, 0x3f, 0x05, 0x3f, 0xfe, 0xf2, 0xd1, 0x05, 0x1f, 0xce, 0xf7, 0x00, 
    -	0x00, 0x02, 0xff, 0xdf, 0xff, 0xeb, 0x04, 0x5a, 0x04, 0x4e, 0x00, 0x1d, 
    -	0x00, 0x26, 0x00, 0x66, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 
    -	0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x12, 0x00, 0x0e, 0x11, 
    -	0x12, 0x39, 0xb0, 0x12, 0x2f, 0xb4, 0xd0, 0x12, 0xe0, 0x12, 0x02, 0x5d, 
    -	0xb2, 0xa0, 0x12, 0x01, 0x5d, 0xb0, 0x04, 0xd0, 0xb0, 0x12, 0x10, 0xb1, 
    -	0x23, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0b, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x05, 0x22, 
    -	0x00, 0x35, 0x35, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x17, 0x36, 0x24, 
    -	0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x07, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x17, 0x06, 0x06, 0x03, 0x22, 0x06, 0x07, 0x17, 0x21, 0x35, 0x34, 
    -	0x26, 0x02, 0xbd, 0xe2, 0xfe, 0xf5, 0x77, 0x7a, 0x9d, 0x2d, 0x30, 0x21, 
    -	0x01, 0x02, 0xa3, 0xdb, 0xe0, 0xfd, 0x42, 0x03, 0x03, 0x98, 0x89, 0x64, 
    -	0x97, 0x37, 0x4d, 0x3a, 0xbe, 0xa5, 0x63, 0x8c, 0x10, 0x02, 0x01, 0xf3, 
    -	0x7c, 0x15, 0x01, 0x2d, 0xf0, 0x08, 0x1d, 0xaf, 0x87, 0x45, 0x62, 0x19, 
    -	0xbd, 0xee, 0xfe, 0xf8, 0xdc, 0x7b, 0x05, 0x9c, 0xc9, 0x39, 0x32, 0x80, 
    -	0x39, 0x4c, 0x03, 0xc8, 0xa7, 0x7e, 0x05, 0x1a, 0x74, 0x9c, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x4d, 0xfe, 0x57, 0x06, 0x2c, 0x05, 0xc3, 0x00, 0x26, 
    -	0x02, 0x67, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x03, 0x0f, 0xff, 0xbe, 
    -	0xff, 0xff, 0xff, 0xdf, 0xfe, 0x59, 0x04, 0x5a, 0x04, 0x4e, 0x02, 0x26, 
    -	0x02, 0x68, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x02, 0x04, 0xff, 0xc0, 
    -	0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x84, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x32, 
    -	0x07, 0x4e, 0x02, 0x26, 0x01, 0xc2, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x01, 0xfe, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x15, 0x00, 0x00, 0x06, 0x04, 0x05, 0xf7, 0x02, 0x26, 
    -	0x01, 0xe2, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x01, 0x64, 0x00, 0x47, 
    -	0x00, 0x33, 0x00, 0xb2, 0x8f, 0x1a, 0x01, 0x71, 0xb2, 0xcf, 0x1a, 0x01, 
    -	0x71, 0xb2, 0x1f, 0x1a, 0x01, 0x72, 0xb6, 0x3f, 0x1a, 0x4f, 0x1a, 0x5f, 
    -	0x1a, 0x03, 0x5d, 0xb2, 0xff, 0x1a, 0x01, 0x71, 0xb2, 0xaf, 0x1a, 0x01, 
    -	0x71, 0xb6, 0x60, 0x1a, 0x70, 0x1a, 0x80, 0x1a, 0x03, 0x5d, 0xb2, 0x00, 
    -	0x1a, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xa3, 
    -	0xfe, 0xdd, 0x04, 0xd0, 0x05, 0xb0, 0x00, 0x18, 0x00, 0x58, 0x00, 0xb0, 
    -	0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 
    -	0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 
    -	0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb2, 0x14, 0x10, 0x13, 0x11, 0x12, 0x39, 
    -	0xb0, 0x14, 0x2f, 0xb0, 0x00, 0xd0, 0xb0, 0x06, 0x10, 0xb1, 0x08, 0x05, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 
    -	0xb1, 0x0f, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x16, 0x00, 0x15, 0x10, 0x02, 0x2f, 0x02, 0x32, 0x36, 
    -	0x35, 0x26, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x01, 
    -	0x33, 0x17, 0x02, 0xc5, 0xf6, 0x01, 0x0e, 0xf3, 0xe3, 0x06, 0x02, 0x97, 
    -	0x82, 0x02, 0xc8, 0xc9, 0xfe, 0xf7, 0xc5, 0xc5, 0x80, 0x02, 0x08, 0xde, 
    -	0x02, 0x03, 0x3a, 0x17, 0xfe, 0xd3, 0xfa, 0xfe, 0xf9, 0xfe, 0xe8, 0x04, 
    -	0x02, 0x8e, 0xcc, 0xbf, 0xca, 0xd2, 0xfd, 0x68, 0x05, 0xb0, 0xfd, 0x8e, 
    -	0x02, 0x72, 0x05, 0x00, 0x00, 0x01, 0x00, 0x99, 0xfe, 0xfe, 0x04, 0x1e, 
    -	0x04, 0x3a, 0x00, 0x17, 0x00, 0x50, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x0a, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 
    -	0x59, 0xb2, 0x13, 0x0f, 0x12, 0x11, 0x12, 0x39, 0xb0, 0x13, 0x2f, 0xb4, 
    -	0xbf, 0x13, 0xcf, 0x13, 0x02, 0x5d, 0xb0, 0x00, 0xd0, 0xb0, 0x13, 0x10, 
    -	0xb1, 0x0e, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x16, 0x16, 0x15, 0x06, 0x02, 0x07, 0x27, 0x36, 0x36, 
    -	0x35, 0x26, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x01, 
    -	0x33, 0x17, 0x02, 0x89, 0xb8, 0xd7, 0x02, 0xc2, 0xbe, 0x33, 0x80, 0x71, 
    -	0x02, 0xb2, 0x9a, 0xa8, 0xc5, 0xc5, 0x54, 0x01, 0x83, 0xe7, 0x02, 0x02, 
    -	0x65, 0x1e, 0xde, 0xb9, 0x85, 0xfe, 0xf5, 0x22, 0x96, 0x20, 0x91, 0x6b, 
    -	0x90, 0x8b, 0xfe, 0x35, 0x04, 0x3a, 0xfe, 0x37, 0x01, 0xc9, 0x05, 0x00, 
    -	0xff, 0xff, 0x00, 0x31, 0xfe, 0xd8, 0x05, 0x9b, 0x05, 0xb0, 0x02, 0x26, 
    -	0x01, 0xc7, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x04, 0x60, 0xff, 0xda, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0xd8, 0x04, 0xa0, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xe7, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x03, 0x65, 0xff, 0xda, 
    -	0x00, 0x01, 0x00, 0xb4, 0xfe, 0x4b, 0x05, 0x01, 0x05, 0xb0, 0x00, 0x17, 
    -	0x00, 0xb3, 0x00, 0xb0, 0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb2, 0x7f, 
    -	0x01, 0x01, 0x5d, 0xb2, 0xcf, 0x01, 0x01, 0x5d, 0xb2, 0x1f, 0x01, 0x01, 
    -	0x71, 0xb2, 0x7f, 0x01, 0x01, 0x71, 0xb4, 0xbf, 0x01, 0xcf, 0x01, 0x02, 
    -	0x71, 0xb2, 0x1f, 0x01, 0x01, 0x72, 0xb2, 0x6f, 0x01, 0x01, 0x72, 0xb2, 
    -	0xbf, 0x01, 0x01, 0x72, 0xb4, 0x8f, 0x01, 0x9f, 0x01, 0x02, 0x72, 0xb2, 
    -	0x3f, 0x01, 0x01, 0x72, 0xb2, 0xef, 0x01, 0x01, 0x71, 0xb2, 0x9f, 0x01, 
    -	0x01, 0x71, 0xb2, 0x4f, 0x01, 0x01, 0x71, 0xb4, 0xef, 0x01, 0xff, 0x01, 
    -	0x02, 0x5d, 0xb2, 0xaf, 0x01, 0x01, 0x5d, 0xb2, 0x5f, 0x01, 0x01, 0x5d, 
    -	0xb2, 0x2f, 0x01, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 
    -	0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 
    -	0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x23, 
    -	0x11, 0x01, 0x79, 0x02, 0xc2, 0xc6, 0xad, 0x9a, 0x1f, 0x35, 0x1c, 0x0e, 
    -	0x0d, 0x44, 0x11, 0x3d, 0x44, 0xfd, 0x3e, 0xc5, 0x05, 0xb0, 0xfd, 0x6e, 
    -	0x02, 0x92, 0xf9, 0xf7, 0xa7, 0xb5, 0x09, 0x09, 0x96, 0x05, 0x08, 0x67, 
    -	0x5a, 0x02, 0xdc, 0xfd, 0x7d, 0x05, 0xb0, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0xfe, 0x4b, 0x03, 0xfb, 0x04, 0x3a, 0x00, 0x17, 0x00, 0xad, 0x00, 0xb0, 
    -	0x01, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x08, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 
    -	0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb2, 0x9f, 0x01, 0x01, 0x5d, 0xb2, 
    -	0xff, 0x01, 0x01, 0x5d, 0xb2, 0x6f, 0x01, 0x01, 0x71, 0xb4, 0xcf, 0x01, 
    -	0xdf, 0x01, 0x02, 0x71, 0xb4, 0x3f, 0x01, 0x4f, 0x01, 0x02, 0x72, 0xb2, 
    -	0xaf, 0x01, 0x01, 0x72, 0xb2, 0xef, 0x01, 0x01, 0x72, 0xb4, 0x6f, 0x01, 
    -	0x7f, 0x01, 0x02, 0x72, 0xb2, 0xff, 0x01, 0x01, 0x71, 0xb2, 0x0f, 0x01, 
    -	0x01, 0x72, 0xb2, 0x9f, 0x01, 0x01, 0x71, 0xb4, 0x2f, 0x01, 0x3f, 0x01, 
    -	0x02, 0x71, 0xb4, 0xbf, 0x01, 0xcf, 0x01, 0x02, 0x5d, 0xb2, 0x5f, 0x01, 
    -	0x01, 0x5d, 0xb2, 0x2f, 0x01, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 
    -	0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x06, 0x23, 
    -	0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 
    -	0x11, 0x23, 0x11, 0x01, 0x54, 0x01, 0xe2, 0xc5, 0xad, 0x99, 0x1f, 0x35, 
    -	0x1c, 0x0f, 0x0d, 0x43, 0x11, 0x3c, 0x45, 0xfe, 0x1e, 0xc5, 0x04, 0x3a, 
    -	0xfe, 0x2c, 0x01, 0xd4, 0xfb, 0x6d, 0xa7, 0xb5, 0x09, 0x09, 0x96, 0x05, 
    -	0x08, 0x67, 0x5a, 0x02, 0x25, 0xfe, 0x34, 0x04, 0x3a, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0xd8, 0x05, 0xa5, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x04, 0x6a, 0xff, 0xda, 
    -	0xff, 0xff, 0x00, 0x8f, 0xfe, 0xd8, 0x04, 0x9f, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xe9, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x03, 0x64, 0xff, 0xda, 
    -	0xff, 0xff, 0x00, 0x93, 0xfe, 0x99, 0x04, 0xcc, 0x05, 0xb0, 0x02, 0x26, 
    -	0x01, 0xd3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x03, 0x15, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x7f, 0xfe, 0x99, 0x03, 0xdc, 0x04, 0x3b, 0x02, 0x26, 
    -	0x01, 0xf3, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x02, 0x24, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0xd8, 0x06, 0xf6, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x05, 0xbb, 0xff, 0xda, 
    -	0xff, 0xff, 0x00, 0x99, 0xfe, 0xd8, 0x05, 0xf9, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xe8, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x04, 0xbe, 0xff, 0xda, 
    -	0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x01, 0x84, 0x05, 0xb0, 0x02, 0x06, 
    -	0x00, 0x2c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x07, 0x4e, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0xeb, 0x01, 0x9e, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 0x06, 0x0c, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x7f, 0x5c, 0x00, 0x36, 
    -	0x00, 0xb2, 0x00, 0x30, 0x01, 0x71, 0xb2, 0xb0, 0x30, 0x01, 0x71, 0xb2, 
    -	0x00, 0x30, 0x01, 0x72, 0xb2, 0x8f, 0x30, 0x01, 0x71, 0xb2, 0x20, 0x30, 
    -	0x01, 0x72, 0xb4, 0xd0, 0x30, 0xe0, 0x30, 0x02, 0x71, 0xb2, 0x90, 0x30, 
    -	0x01, 0x71, 0xb6, 0x60, 0x30, 0x70, 0x30, 0x80, 0x30, 0x03, 0x5d, 0xb2, 
    -	0x20, 0x30, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0x0d, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x95, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x29, 0x1b, 0x00, 0x2f, 0x00, 0xb2, 0xf0, 0x2d, 0x01, 0x71, 0xb4, 0x00, 
    -	0x2d, 0x10, 0x2d, 0x02, 0x72, 0xb2, 0x60, 0x2d, 0x01, 0x72, 0xb2, 0x40, 
    -	0x2d, 0x01, 0x72, 0xb2, 0xf0, 0x30, 0x01, 0x71, 0xb4, 0x00, 0x30, 0x10, 
    -	0x30, 0x02, 0x72, 0xb2, 0x60, 0x30, 0x01, 0x72, 0xb2, 0x40, 0x30, 0x01, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xec, 0x00, 0x00, 0x07, 0x61, 
    -	0x05, 0xb0, 0x02, 0x06, 0x00, 0x88, 0x00, 0x00, 0xff, 0xff, 0x00, 0x3a, 
    -	0xff, 0xeb, 0x06, 0x7c, 0x04, 0x4e, 0x02, 0x06, 0x00, 0xa8, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 0x07, 0x4e, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xc8, 0x01, 0x9e, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x06, 0x0d, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0x82, 0x00, 0x5d, 0x00, 0x31, 0x00, 0xb2, 
    -	0x90, 0x24, 0x01, 0x71, 0xb4, 0xd0, 0x24, 0xe0, 0x24, 0x02, 0x71, 0xb2, 
    -	0x20, 0x24, 0x01, 0x72, 0xb2, 0x20, 0x24, 0x01, 0x5d, 0xb2, 0x00, 0x24, 
    -	0x01, 0x72, 0xb2, 0xb0, 0x24, 0x01, 0x71, 0xb2, 0x00, 0x24, 0x01, 0x71, 
    -	0xb6, 0x60, 0x24, 0x70, 0x24, 0x80, 0x24, 0x03, 0x5d, 0x30, 0x31, 0x00, 
    -	0x00, 0x02, 0x00, 0x59, 0xff, 0xeb, 0x05, 0x21, 0x05, 0xc5, 0x00, 0x16, 
    -	0x00, 0x1f, 0x00, 0x4d, 0x00, 0xb0, 0x0b, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x07, 0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x20, 0x00, 
    -	0x11, 0x15, 0x10, 0x00, 0x23, 0x20, 0x00, 0x11, 0x35, 0x21, 0x37, 0x36, 
    -	0x02, 0x23, 0x22, 0x06, 0x07, 0x27, 0x36, 0x36, 0x13, 0x32, 0x12, 0x37, 
    -	0x27, 0x21, 0x15, 0x14, 0x16, 0x02, 0x66, 0x01, 0x4a, 0x01, 0x71, 0xfe, 
    -	0xa2, 0xfc, 0xfe, 0xd0, 0xfe, 0xc2, 0x03, 0xfc, 0x02, 0x04, 0xf9, 0xfc, 
    -	0x6c, 0x99, 0x4a, 0x31, 0x32, 0xbf, 0xf0, 0xaa, 0xd2, 0x11, 0x03, 0xfc, 
    -	0xcd, 0xc7, 0x05, 0xc5, 0xfe, 0x71, 0xfe, 0xba, 0x31, 0xfe, 0xc4, 0xfe, 
    -	0x68, 0x01, 0x61, 0x01, 0x38, 0x6c, 0x05, 0xf8, 0x01, 0x3d, 0x2f, 0x25, 
    -	0x8b, 0x23, 0x41, 0xfa, 0xc0, 0x01, 0x0d, 0xd2, 0x05, 0x1f, 0xcf, 0xf6, 
    -	0xff, 0xff, 0x00, 0x74, 0xff, 0xec, 0x03, 0xfe, 0x04, 0x4f, 0x01, 0x0f, 
    -	0x00, 0x48, 0x04, 0x61, 0x04, 0x3a, 0xc0, 0x02, 0x00, 0x13, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x17, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x59, 
    -	0xff, 0xeb, 0x05, 0x21, 0x06, 0xdf, 0x02, 0x26, 0x02, 0x83, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0x73, 0x01, 0x2f, 0x00, 0x89, 0x00, 0xb2, 
    -	0xef, 0x21, 0x01, 0x5d, 0xb6, 0x3f, 0x21, 0x4f, 0x21, 0x5f, 0x21, 0x03, 
    -	0x71, 0xb6, 0x0f, 0x21, 0x1f, 0x21, 0x2f, 0x21, 0x03, 0x72, 0xb4, 0x0f, 
    -	0x21, 0x1f, 0x21, 0x02, 0x5d, 0x40, 0x0f, 0x8f, 0x21, 0x9f, 0x21, 0xaf, 
    -	0x21, 0xbf, 0x21, 0xcf, 0x21, 0xdf, 0x21, 0xef, 0x21, 0x07, 0x71, 0xb4, 
    -	0x0f, 0x21, 0x1f, 0x21, 0x02, 0x71, 0xb4, 0x6f, 0x21, 0x7f, 0x21, 0x02, 
    -	0x5d, 0xb2, 0xb0, 0x21, 0x01, 0x5d, 0xb2, 0xef, 0x24, 0x01, 0x5d, 0xb6, 
    -	0x3f, 0x24, 0x4f, 0x24, 0x5f, 0x24, 0x03, 0x71, 0xb6, 0x0f, 0x24, 0x1f, 
    -	0x24, 0x2f, 0x24, 0x03, 0x72, 0xb4, 0x0f, 0x24, 0x1f, 0x24, 0x02, 0x5d, 
    -	0x40, 0x0f, 0x8f, 0x24, 0x9f, 0x24, 0xaf, 0x24, 0xbf, 0x24, 0xcf, 0x24, 
    -	0xdf, 0x24, 0xef, 0x24, 0x07, 0x71, 0xb4, 0x0f, 0x24, 0x1f, 0x24, 0x02, 
    -	0x71, 0xb4, 0x6f, 0x24, 0x7f, 0x24, 0x02, 0x5d, 0xb2, 0xb0, 0x24, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x74, 0xff, 0xec, 0x03, 0xfe, 
    -	0x05, 0xcb, 0x00, 0x2f, 0x00, 0x48, 0x04, 0x61, 0x04, 0x3a, 0xc0, 0x02, 
    -	0x01, 0x06, 0x00, 0x6a, 0x36, 0x1b, 0x00, 0x3f, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 0xb0, 0x17, 
    -	0xd0, 0xb2, 0x60, 0x21, 0x01, 0x72, 0xb2, 0x40, 0x21, 0x01, 0x72, 0xb2, 
    -	0xf0, 0x21, 0x01, 0x71, 0xb4, 0x00, 0x21, 0x10, 0x21, 0x02, 0x72, 0xb2, 
    -	0x60, 0x24, 0x01, 0x72, 0xb2, 0x40, 0x24, 0x01, 0x72, 0xb2, 0xf0, 0x24, 
    -	0x01, 0x71, 0xb4, 0x00, 0x24, 0x10, 0x24, 0x02, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x07, 0x32, 0x07, 0x0d, 0x00, 0x26, 
    -	0x01, 0xc2, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x01, 0xad, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 
    -	0x1a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x15, 
    -	0x00, 0x00, 0x06, 0x04, 0x05, 0xb6, 0x00, 0x26, 0x01, 0xe2, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0xde, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 
    -	0x7f, 0x17, 0x01, 0x72, 0xb4, 0xdf, 0x17, 0xef, 0x17, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x17, 0x01, 0x72, 0xb4, 0x2f, 0x17, 0x3f, 0x17, 0x02, 0x72, 0xb2, 
    -	0x7f, 0x1a, 0x01, 0x72, 0xb4, 0xdf, 0x1a, 0xef, 0x1a, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x1a, 0x01, 0x72, 0xb4, 0x2f, 0x1a, 0x3f, 0x1a, 0x02, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x78, 0xff, 0xeb, 0x04, 0xdf, 
    -	0x07, 0x22, 0x02, 0x26, 0x01, 0xc3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xa9, 0x01, 0x72, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x2f, 0x2f, 0x1b, 0xb1, 0x2f, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x2c, 0x2f, 0x1b, 0xb1, 0x2c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x58, 0xff, 0xed, 0x03, 0xae, 0x05, 0xca, 0x00, 0x26, 
    -	0x01, 0xe3, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x25, 0x1a, 0x00, 0x39, 
    -	0x00, 0xb2, 0xf0, 0x2c, 0x01, 0x71, 0xb4, 0x00, 0x2c, 0x10, 0x2c, 0x02, 
    -	0x72, 0xb2, 0xdf, 0x2c, 0x01, 0x71, 0xb2, 0x60, 0x2c, 0x01, 0x72, 0xb2, 
    -	0x40, 0x2c, 0x01, 0x72, 0xb2, 0xf0, 0x2f, 0x01, 0x71, 0xb4, 0x00, 0x2f, 
    -	0x10, 0x2f, 0x02, 0x72, 0xb2, 0xdf, 0x2f, 0x01, 0x71, 0xb2, 0x60, 0x2f, 
    -	0x01, 0x72, 0xb2, 0x40, 0x2f, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x69, 0xff, 0xeb, 0x04, 0x2d, 0x05, 0xb0, 0x00, 0x1c, 
    -	0x00, 0x53, 0x00, 0xb0, 0x1c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1c, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x0c, 0x10, 0xb1, 0x14, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 
    -	0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x27, 0x21, 0x35, 0x21, 0x17, 0x01, 0x16, 0x16, 0x15, 0x14, 
    -	0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x03, 0x0d, 0x02, 0xfd, 0x89, 0x03, 
    -	0x65, 0x01, 0xfe, 0x67, 0xdb, 0xf1, 0xfe, 0xee, 0xdd, 0xc0, 0xfe, 0xeb, 
    -	0x05, 0x02, 0xbd, 0x98, 0x79, 0x8b, 0x9f, 0xa1, 0xa0, 0x92, 0x05, 0x10, 
    -	0x05, 0x9b, 0x78, 0xfe, 0x15, 0x0d, 0xe3, 0xc7, 0xc8, 0xe3, 0xd6, 0xcd, 
    -	0x06, 0x72, 0x9d, 0x95, 0x78, 0x99, 0x8f, 0x9a, 0x00, 0x01, 0x00, 0x69, 
    -	0xfe, 0x75, 0x04, 0x2d, 0x04, 0x3a, 0x00, 0x1c, 0x00, 0x47, 0x00, 0xb0, 
    -	0x1c, 0x2f, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x1b, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x06, 0x1b, 
    -	0x1c, 0x11, 0x12, 0x39, 0xb0, 0x0c, 0x10, 0xb1, 0x14, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x27, 0x21, 
    -	0x35, 0x21, 0x17, 0x01, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 
    -	0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x23, 0x35, 0x02, 0xf8, 0x03, 0xfd, 0x9f, 0x03, 0x65, 0x01, 0xfe, 0x74, 
    -	0xd6, 0xe9, 0xfe, 0xed, 0xdc, 0xbf, 0xfe, 0xea, 0x05, 0x02, 0xbd, 0x98, 
    -	0x79, 0x8b, 0x9f, 0xa2, 0xa0, 0x93, 0x03, 0x99, 0x05, 0x9c, 0x78, 0xfe, 
    -	0x13, 0x10, 0xe2, 0xc4, 0xc6, 0xe4, 0xd7, 0xcb, 0x06, 0x70, 0x9d, 0x95, 
    -	0x76, 0x9a, 0x8e, 0x9a, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x06, 0xfa, 0x02, 0x26, 0x01, 0xc4, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 
    -	0x00, 0xff, 0x01, 0x4a, 0x00, 0x08, 0x00, 0xb2, 0x0f, 0x0d, 0x01, 0x5d, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfc, 
    -	0x05, 0xa5, 0x02, 0x26, 0x01, 0xe4, 0x00, 0x00, 0x00, 0x06, 0x00, 0x71, 
    -	0x67, 0xf5, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x05, 0x01, 
    -	0x07, 0x0d, 0x02, 0x26, 0x01, 0xc4, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xdb, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x03, 0xfc, 0x05, 0xb6, 0x02, 0x26, 
    -	0x01, 0xe4, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x43, 0x06, 0x00, 0x33, 
    -	0x00, 0xb2, 0x7f, 0x0d, 0x01, 0x72, 0xb4, 0xdf, 0x0d, 0xef, 0x0d, 0x02, 
    -	0x71, 0xb2, 0x5f, 0x0d, 0x01, 0x72, 0xb4, 0x2f, 0x0d, 0x3f, 0x0d, 0x02, 
    -	0x72, 0xb2, 0x7f, 0x10, 0x01, 0x72, 0xb4, 0xdf, 0x10, 0xef, 0x10, 0x02, 
    -	0x71, 0xb2, 0x5f, 0x10, 0x01, 0x72, 0xb4, 0x2f, 0x10, 0x3f, 0x10, 0x02, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xb8, 0x01, 0x72, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x44, 0x1b, 0x00, 0x2f, 
    -	0x00, 0xb2, 0xf0, 0x1d, 0x01, 0x71, 0xb4, 0x00, 0x1d, 0x10, 0x1d, 0x02, 
    -	0x72, 0xb2, 0x60, 0x1d, 0x01, 0x72, 0xb2, 0x40, 0x1d, 0x01, 0x72, 0xb2, 
    -	0xf0, 0x20, 0x01, 0x71, 0xb4, 0x00, 0x20, 0x10, 0x20, 0x02, 0x72, 0xb2, 
    -	0x60, 0x20, 0x01, 0x72, 0xb2, 0x40, 0x20, 0x01, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x02, 0x06, 
    -	0x02, 0x1e, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x04, 0x4e, 0x02, 0x06, 0x02, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x07, 0x08, 0x02, 0x26, 0x02, 0x1e, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x00, 0xce, 0x01, 0x58, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x24, 0x2f, 0x1b, 0xb1, 0x24, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x21, 0x2f, 0x1b, 0xb1, 0x21, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 
    -	0x05, 0xe7, 0x02, 0x26, 0x02, 0x1f, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x2d, 0x37, 0x00, 0x83, 0x00, 0xb2, 0x60, 0x21, 0x01, 0x72, 0x40, 0x09, 
    -	0xc0, 0x21, 0xd0, 0x21, 0xe0, 0x21, 0xf0, 0x21, 0x04, 0x5d, 0x40, 0x1b, 
    -	0x00, 0x21, 0x10, 0x21, 0x20, 0x21, 0x30, 0x21, 0x40, 0x21, 0x50, 0x21, 
    -	0x60, 0x21, 0x70, 0x21, 0x80, 0x21, 0x90, 0x21, 0xa0, 0x21, 0xb0, 0x21, 
    -	0xc0, 0x21, 0x0d, 0x71, 0xb2, 0x40, 0x21, 0x01, 0x72, 0xb2, 0xf0, 0x21, 
    -	0x01, 0x71, 0xb4, 0x00, 0x21, 0x10, 0x21, 0x02, 0x72, 0xb2, 0x60, 0x24, 
    -	0x01, 0x72, 0x40, 0x09, 0xc0, 0x24, 0xd0, 0x24, 0xe0, 0x24, 0xf0, 0x24, 
    -	0x04, 0x5d, 0x40, 0x1b, 0x00, 0x24, 0x10, 0x24, 0x20, 0x24, 0x30, 0x24, 
    -	0x40, 0x24, 0x50, 0x24, 0x60, 0x24, 0x70, 0x24, 0x80, 0x24, 0x90, 0x24, 
    -	0xa0, 0x24, 0xb0, 0x24, 0xc0, 0x24, 0x0d, 0x71, 0xb2, 0x40, 0x24, 0x01, 
    -	0x72, 0xb2, 0xf0, 0x24, 0x01, 0x71, 0xb4, 0x00, 0x24, 0x10, 0x24, 0x02, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb5, 0xff, 0xec, 0x04, 0xff, 
    -	0x07, 0x23, 0x02, 0x26, 0x01, 0xd9, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 
    -	0x00, 0xb2, 0x01, 0x73, 0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x23, 0x2f, 0x1b, 0xb1, 0x23, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xe3, 0x05, 0xcb, 0x02, 0x26, 
    -	0x01, 0xf9, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x21, 0x1b, 0x00, 0x2f, 
    -	0x00, 0xb2, 0xf0, 0x23, 0x01, 0x71, 0xb4, 0x00, 0x23, 0x10, 0x23, 0x02, 
    -	0x72, 0xb2, 0x60, 0x23, 0x01, 0x72, 0xb2, 0x40, 0x23, 0x01, 0x72, 0xb2, 
    -	0xf0, 0x26, 0x01, 0x71, 0xb4, 0x00, 0x26, 0x10, 0x26, 0x02, 0x72, 0xb2, 
    -	0x60, 0x26, 0x01, 0x72, 0xb2, 0x40, 0x26, 0x01, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xc8, 0x06, 0xfa, 0x02, 0x26, 
    -	0x01, 0xcf, 0x00, 0x00, 0x01, 0x07, 0x00, 0x71, 0x00, 0xa8, 0x01, 0x4a, 
    -	0x00, 0x08, 0x00, 0xb2, 0x0f, 0x16, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xa5, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x71, 0x24, 0xf5, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xc8, 0x07, 0x0d, 0x02, 0x26, 
    -	0x01, 0xcf, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0x84, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 
    -	0x1a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1a, 
    -	0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xb6, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x17, 
    -	0x01, 0x72, 0xb4, 0xdf, 0x17, 0xef, 0x17, 0x02, 0x71, 0xb2, 0x5f, 0x17, 
    -	0x01, 0x72, 0xb4, 0x2f, 0x17, 0x3f, 0x17, 0x02, 0x72, 0xb2, 0x7f, 0x1a, 
    -	0x01, 0x72, 0xb4, 0xdf, 0x1a, 0xef, 0x1a, 0x02, 0x71, 0xb2, 0x5f, 0x1a, 
    -	0x01, 0x72, 0xb4, 0x2f, 0x1a, 0x3f, 0x1a, 0x02, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x55, 0xff, 0xeb, 0x04, 0xc8, 0x07, 0x4b, 0x02, 0x26, 
    -	0x01, 0xcf, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 0x01, 0x36, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 
    -	0x1f, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 
    -	0xb1, 0x1a, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1a, 
    -	0xfe, 0x4b, 0x03, 0xfc, 0x05, 0xf4, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x59, 0x00, 0xb2, 0x00, 0x06, 0x00, 0x0d, 0x00, 0xb2, 
    -	0xdf, 0x19, 0x01, 0x71, 0xb2, 0xdf, 0x1f, 0x01, 0x71, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0x00, 0x00, 0x04, 0xcc, 0x07, 0x0d, 0x02, 0x26, 
    -	0x01, 0xd3, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x00, 0xae, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x18, 0x2f, 0x1b, 0xb1, 
    -	0x18, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 
    -	0xb1, 0x15, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x7f, 
    -	0x00, 0x00, 0x03, 0xdc, 0x05, 0xb6, 0x02, 0x26, 0x01, 0xf3, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x26, 0x06, 0x00, 0x33, 0x00, 0xb2, 0x7f, 0x15, 
    -	0x01, 0x72, 0xb4, 0xdf, 0x15, 0xef, 0x15, 0x02, 0x71, 0xb2, 0x5f, 0x15, 
    -	0x01, 0x72, 0xb4, 0x2f, 0x15, 0x3f, 0x15, 0x02, 0x72, 0xb2, 0x7f, 0x18, 
    -	0x01, 0x72, 0xb4, 0xdf, 0x18, 0xef, 0x18, 0x02, 0x71, 0xb2, 0x5f, 0x18, 
    -	0x01, 0x72, 0xb4, 0x2f, 0x18, 0x3f, 0x18, 0x02, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0x99, 0x04, 0x31, 0x05, 0xb0, 0x02, 0x26, 
    -	0x01, 0x6e, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x00, 0xe5, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x8f, 0xfe, 0x99, 0x03, 0x3f, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x03, 0x99, 0x00, 0x9f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x06, 0x43, 0x07, 0x0d, 0x00, 0x26, 
    -	0x01, 0xd8, 0x11, 0x00, 0x00, 0x27, 0x00, 0x2c, 0x04, 0xbf, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x01, 0x7a, 0x01, 0x5d, 0x00, 0x1d, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x12, 0x3e, 
    -	0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xad, 0x00, 0x00, 0x05, 0x98, 
    -	0x05, 0xb6, 0x00, 0x26, 0x01, 0xf8, 0x14, 0x00, 0x00, 0x27, 0x00, 0xf3, 
    -	0x04, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x01, 0x22, 0x00, 0x06, 
    -	0x00, 0x33, 0x00, 0xb2, 0x7f, 0x19, 0x01, 0x72, 0xb4, 0xdf, 0x19, 0xef, 
    -	0x19, 0x02, 0x71, 0xb2, 0x5f, 0x19, 0x01, 0x72, 0xb4, 0x2f, 0x19, 0x3f, 
    -	0x19, 0x02, 0x72, 0xb2, 0x7f, 0x1c, 0x01, 0x72, 0xb4, 0xdf, 0x1c, 0xef, 
    -	0x1c, 0x02, 0x71, 0xb2, 0x5f, 0x1c, 0x01, 0x72, 0xb4, 0x2f, 0x1c, 0x3f, 
    -	0x1c, 0x02, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x41, 
    -	0xfe, 0x4b, 0x04, 0x7d, 0x05, 0xb0, 0x00, 0x26, 0x01, 0x6e, 0x4c, 0x00, 
    -	0x00, 0x26, 0x03, 0x82, 0xaf, 0x3f, 0x00, 0x07, 0x03, 0x9b, 0x01, 0x06, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x42, 0xfe, 0x4b, 0x03, 0xa1, 
    -	0x04, 0x3a, 0x00, 0x26, 0x01, 0xdf, 0x62, 0x00, 0x00, 0x26, 0x03, 0x82, 
    -	0xb0, 0x91, 0x00, 0x07, 0x03, 0x9b, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x42, 0xfe, 0x4b, 0x05, 0x23, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x3b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x9b, 0x03, 0xb1, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x2e, 0xfe, 0x4b, 0x04, 0x3e, 0x04, 0x3a, 0x02, 0x26, 
    -	0x00, 0x5b, 0x00, 0x00, 0x00, 0x07, 0x03, 0x9b, 0x02, 0xcc, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x04, 0xd6, 0x05, 0xb0, 0x00, 0x11, 
    -	0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 
    -	0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb2, 0x11, 0x02, 0x0e, 0x11, 
    -	0x12, 0x39, 0xb0, 0x11, 0x2f, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 0x05, 0x0b, 0x11, 0x12, 0x39, 
    -	0xb0, 0x07, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0x0d, 0x0b, 
    -	0x02, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x01, 0x23, 0x01, 0x01, 
    -	0x23, 0x01, 0x23, 0x35, 0x33, 0x01, 0x33, 0x01, 0x01, 0x33, 0x01, 0x33, 
    -	0x03, 0xd5, 0xac, 0x01, 0xad, 0xeb, 0xfe, 0xa3, 0xfe, 0xa2, 0xee, 0x01, 
    -	0xad, 0x9b, 0x8d, 0xfe, 0x6b, 0xec, 0x01, 0x52, 0x01, 0x54, 0xee, 0xfe, 
    -	0x6a, 0x9f, 0x02, 0x9b, 0xfd, 0x65, 0x02, 0x42, 0xfd, 0xbe, 0x02, 0x9b, 
    -	0x9b, 0x02, 0x7a, 0xfd, 0xc8, 0x02, 0x38, 0xfd, 0x86, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x2e, 0x00, 0x00, 0x03, 0xd4, 0x04, 0x3a, 0x00, 0x11, 
    -	0x00, 0x64, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 
    -	0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 
    -	0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb2, 0x11, 0x02, 0x0e, 0x11, 
    -	0x12, 0x39, 0xb0, 0x11, 0x2f, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x04, 0x05, 0x0b, 0x11, 0x12, 0x39, 
    -	0xb0, 0x07, 0xd0, 0xb0, 0x11, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0x0d, 0x0b, 
    -	0x05, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x01, 0x23, 0x03, 0x03, 
    -	0x23, 0x01, 0x23, 0x35, 0x33, 0x01, 0x33, 0x13, 0x13, 0x33, 0x01, 0x33, 
    -	0x03, 0x38, 0xa0, 0x01, 0x3c, 0xe2, 0xf0, 0xf0, 0xe4, 0x01, 0x3b, 0xb2, 
    -	0xa7, 0xfe, 0xda, 0xe3, 0xe3, 0xe6, 0xe6, 0xfe, 0xd9, 0x95, 0x01, 0xde, 
    -	0xfe, 0x22, 0x01, 0x99, 0xfe, 0x67, 0x01, 0xde, 0x9b, 0x01, 0xc1, 0xfe, 
    -	0x71, 0x01, 0x8f, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5b, 
    -	0x00, 0x00, 0x04, 0x72, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0c, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x11, 0x33, 0x11, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x01, 0x11, 
    -	0x21, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x03, 0xad, 0xc5, 0xfd, 0xd4, 
    -	0xe9, 0xfe, 0xfe, 0x01, 0x01, 0xea, 0x01, 0x67, 0xfe, 0x99, 0x94, 0x92, 
    -	0x92, 0x94, 0x03, 0x70, 0x02, 0x40, 0xfa, 0x50, 0xf6, 0xc6, 0xc5, 0xef, 
    -	0xfd, 0x2a, 0x02, 0x3b, 0xa0, 0x77, 0x7b, 0xa9, 0xff, 0xff, 0x00, 0x62, 
    -	0xff, 0xeb, 0x03, 0xf5, 0x06, 0x18, 0x02, 0x06, 0x00, 0x47, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x5b, 0x00, 0x00, 0x06, 0x6e, 0x05, 0xb0, 0x00, 0x18, 
    -	0x00, 0x21, 0x00, 0x41, 0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x11, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x19, 0xd0, 0xb0, 0x07, 0x10, 0xb1, 0x1a, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x22, 0x24, 
    -	0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x33, 0x11, 0x37, 0x36, 0x36, 0x37, 
    -	0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x06, 0x06, 0x23, 0x25, 0x11, 
    -	0x21, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x02, 0x46, 0xe9, 0xfe, 0xfe, 
    -	0x01, 0x01, 0xea, 0x01, 0x67, 0xc5, 0x53, 0x6a, 0x74, 0x04, 0x01, 0x1f, 
    -	0x1e, 0xbe, 0x21, 0x24, 0x02, 0x04, 0xf3, 0xb0, 0xfe, 0xe8, 0xfe, 0x99, 
    -	0x94, 0x92, 0x92, 0x94, 0xf6, 0xc6, 0xc5, 0xef, 0x02, 0x40, 0xfa, 0xe9, 
    -	0x01, 0x01, 0x8d, 0x7e, 0x4d, 0xa7, 0x4f, 0x64, 0x97, 0x48, 0xcc, 0xda, 
    -	0x9a, 0x02, 0x3b, 0xa0, 0x77, 0x7b, 0xa9, 0x00, 0x00, 0x02, 0x00, 0x62, 
    -	0xff, 0xe9, 0x06, 0x74, 0x06, 0x18, 0x00, 0x22, 0x00, 0x33, 0x00, 0x59, 
    -	0x00, 0xb0, 0x07, 0x2f, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x19, 0x2f, 0x1b, 0xb1, 0x19, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x06, 0x3e, 0x59, 0xb2, 0x2f, 
    -	0x07, 0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x26, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0x10, 
    -	0xb0, 0x2d, 0xd0, 0x30, 0x31, 0x13, 0x10, 0x12, 0x33, 0x32, 0x16, 0x17, 
    -	0x11, 0x33, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 
    -	0x37, 0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 0x27, 0x06, 0x06, 
    -	0x23, 0x22, 0x02, 0x35, 0x01, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 
    -	0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x26, 0x26, 0x35, 0x62, 0xdf, 0xc9, 
    -	0x59, 0x8c, 0x34, 0xc5, 0x02, 0x5c, 0x4d, 0x86, 0x94, 0x04, 0x01, 0x1f, 
    -	0x1e, 0xbe, 0x21, 0x24, 0x02, 0x04, 0xfe, 0xec, 0xcb, 0x78, 0xa3, 0x29, 
    -	0x35, 0xa1, 0x6d, 0xc6, 0xe0, 0x02, 0xc1, 0x27, 0x72, 0x4e, 0x8e, 0x87, 
    -	0x86, 0x8d, 0x54, 0x74, 0x27, 0x03, 0x03, 0x02, 0x09, 0x01, 0x05, 0x01, 
    -	0x40, 0x3e, 0x3b, 0x02, 0x43, 0xfb, 0x41, 0x5f, 0x75, 0x01, 0xd2, 0xb9, 
    -	0x61, 0xcb, 0x66, 0x01, 0x7a, 0xbd, 0x5c, 0xfe, 0xf6, 0xfe, 0xe4, 0x02, 
    -	0x55, 0x5d, 0x57, 0x59, 0x01, 0x1f, 0xea, 0x01, 0x3d, 0x3a, 0x43, 0xea, 
    -	0xbb, 0x15, 0xa4, 0xc5, 0x49, 0x42, 0x0f, 0x22, 0x12, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x36, 0xff, 0xe8, 0x05, 0xd3, 0x05, 0xb0, 0x00, 0x2c, 
    -	0x00, 0x57, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x22, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x29, 0x2f, 0x1b, 0xb1, 0x29, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x04, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x0c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x15, 0x04, 0x05, 0x11, 0x12, 0x39, 
    -	0xb0, 0x29, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x06, 0x16, 0x33, 0x36, 0x36, 
    -	0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x02, 0x02, 0x23, 0x06, 
    -	0x26, 0x27, 0x02, 0xbf, 0x89, 0x74, 0xbf, 0x88, 0xa6, 0x93, 0x8f, 0x98, 
    -	0xfe, 0x99, 0x01, 0x67, 0xef, 0xfd, 0x75, 0x6f, 0x76, 0x69, 0x01, 0x4f, 
    -	0x43, 0x74, 0x80, 0x04, 0x01, 0x1f, 0x1e, 0xbe, 0x22, 0x22, 0x01, 0x04, 
    -	0xfe, 0xbb, 0xa0, 0xae, 0x08, 0x01, 0x72, 0x76, 0x91, 0x9b, 0x7e, 0x83, 
    -	0x79, 0x87, 0x9b, 0xd4, 0xc9, 0x71, 0xa5, 0x31, 0x28, 0xb0, 0x80, 0x44, 
    -	0x4c, 0x5f, 0x01, 0xd4, 0xb7, 0x61, 0xcc, 0x66, 0x86, 0xb3, 0x5a, 0xfe, 
    -	0xf7, 0xfe, 0xe3, 0x03, 0x9d, 0xab, 0x00, 0x00, 0x00, 0x01, 0x00, 0x31, 
    -	0xff, 0xe3, 0x04, 0xeb, 0x04, 0x3a, 0x00, 0x2c, 0x00, 0x54, 0x00, 0xb0, 
    -	0x18, 0x2f, 0xb0, 0x09, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 
    -	0x1b, 0xb1, 0x22, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 
    -	0x2f, 0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x18, 0x10, 0xb1, 0x19, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x22, 
    -	0x10, 0xb1, 0x20, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x29, 0x18, 0x19, 0x11, 0x12, 0x39, 0x30, 0x31, 0x25, 0x06, 
    -	0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 
    -	0x06, 0x06, 0x23, 0x06, 0x26, 0x27, 0x35, 0x34, 0x26, 0x23, 0x23, 0x27, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x21, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x02, 0xec, 0x01, 0x27, 0x2f, 
    -	0x6a, 0x75, 0x04, 0x01, 0x20, 0x1e, 0xbe, 0x22, 0x24, 0x02, 0x05, 0xf2, 
    -	0xb1, 0x8a, 0x8a, 0x06, 0x6a, 0x62, 0xd3, 0x02, 0xb8, 0x77, 0x71, 0x72, 
    -	0x77, 0xfe, 0xfa, 0x06, 0x01, 0x0c, 0xce, 0xe2, 0x60, 0x5d, 0x63, 0x59, 
    -	0xd5, 0x2a, 0x2c, 0x02, 0x99, 0x89, 0x4c, 0xa4, 0x4f, 0x66, 0x92, 0x47, 
    -	0xd7, 0xe6, 0x03, 0x72, 0x81, 0x4b, 0x47, 0x4f, 0x9a, 0x53, 0x4d, 0x51, 
    -	0x5f, 0x99, 0xaa, 0x98, 0x51, 0x72, 0x24, 0x1c, 0x7a, 0x59, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x50, 0xfe, 0xfc, 0x03, 0xd1, 0x05, 0xb0, 0x00, 0x23, 
    -	0x00, 0x54, 0x00, 0xb0, 0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 
    -	0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 
    -	0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x16, 0x10, 0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb2, 0x1d, 0x0c, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x22, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 
    -	0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 
    -	0x35, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x1d, 0x02, 
    -	0x33, 0x03, 0xd1, 0x96, 0x75, 0x39, 0x3d, 0x29, 0x15, 0x89, 0x74, 0xdc, 
    -	0xa2, 0xa7, 0x95, 0x8f, 0x98, 0xfe, 0xee, 0x01, 0x12, 0xef, 0xfc, 0x75, 
    -	0x6f, 0x77, 0x69, 0x88, 0x2e, 0xfe, 0xce, 0x01, 0x04, 0x23, 0x83, 0x47, 
    -	0x84, 0x76, 0x91, 0x9a, 0x7f, 0x82, 0x7a, 0x88, 0x9b, 0xd4, 0xcb, 0x70, 
    -	0xa6, 0x30, 0x28, 0xb0, 0x80, 0x88, 0x10, 0x00, 0x00, 0x01, 0x00, 0x7b, 
    -	0xfe, 0xe8, 0x03, 0xc1, 0x04, 0x3a, 0x00, 0x22, 0x00, 0x54, 0x00, 0xb0, 
    -	0x0c, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 
    -	0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x16, 0x10, 0xb1, 0x15, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x1d, 
    -	0x0c, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x04, 0x10, 0xb1, 0x21, 0x04, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x03, 
    -	0x23, 0x13, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 0x33, 0x03, 0xc1, 0x96, 
    -	0x75, 0x3e, 0x3f, 0x25, 0x14, 0x6a, 0x62, 0xef, 0xd2, 0x78, 0x70, 0x71, 
    -	0x77, 0xfe, 0xe8, 0x01, 0x18, 0xcd, 0xe1, 0x61, 0x5e, 0x66, 0x59, 0x80, 
    -	0x1a, 0xfe, 0xce, 0x01, 0x18, 0x17, 0x63, 0x33, 0x5f, 0x50, 0x5b, 0x9a, 
    -	0x53, 0x4e, 0x51, 0x5e, 0x99, 0xa9, 0x99, 0x51, 0x74, 0x24, 0x1d, 0x84, 
    -	0x61, 0x46, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xff, 0xe8, 0x07, 0x75, 
    -	0x05, 0xb0, 0x00, 0x21, 0x00, 0x5a, 0x00, 0xb0, 0x17, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 0x1e, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1e, 0x10, 0xb1, 0x11, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x21, 0x11, 0x10, 0x02, 0x23, 0x23, 0x35, 0x33, 0x32, 0x12, 0x11, 
    -	0x11, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 
    -	0x37, 0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 0x27, 0x04, 0x24, 
    -	0xfe, 0x28, 0xd8, 0xfa, 0x35, 0x29, 0x95, 0x85, 0x03, 0x61, 0x01, 0x5b, 
    -	0x4d, 0x87, 0x93, 0x04, 0x01, 0x1f, 0x1e, 0xbe, 0x21, 0x24, 0x02, 0x04, 
    -	0xfe, 0xec, 0xcb, 0xaa, 0xba, 0x08, 0x05, 0x15, 0xfd, 0xeb, 0xfe, 0x72, 
    -	0xfe, 0x8e, 0x9a, 0x01, 0x20, 0x01, 0x46, 0x02, 0xb0, 0xfb, 0xa9, 0x5f, 
    -	0x75, 0x01, 0xd2, 0xb9, 0x61, 0xcb, 0x66, 0x01, 0x7a, 0xbd, 0x5c, 0xfe, 
    -	0xf6, 0xfe, 0xe4, 0x03, 0xb1, 0xc0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 
    -	0xff, 0xe8, 0x06, 0x41, 0x04, 0x3a, 0x00, 0x21, 0x00, 0x5a, 0x00, 0xb0, 
    -	0x17, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 
    -	0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 
    -	0x1e, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x07, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x1e, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x10, 0x02, 0x23, 0x23, 0x37, 
    -	0x37, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 
    -	0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x06, 0x02, 0x23, 0x06, 
    -	0x26, 0x27, 0x03, 0x2d, 0xfe, 0xcd, 0xb2, 0xce, 0x39, 0x04, 0x29, 0x6b, 
    -	0x5c, 0x02, 0xbd, 0x01, 0x5a, 0x4c, 0x6b, 0x74, 0x04, 0x01, 0x20, 0x1e, 
    -	0xbf, 0x21, 0x24, 0x02, 0x04, 0xf3, 0xb1, 0xa8, 0xba, 0x08, 0x03, 0x9e, 
    -	0xfe, 0xd0, 0xfe, 0xc3, 0xfe, 0xcf, 0xa8, 0x01, 0xd4, 0xf1, 0x01, 0xcc, 
    -	0xfd, 0x1f, 0x5f, 0x75, 0x01, 0xbb, 0xa4, 0x5c, 0xc0, 0x61, 0x78, 0xaf, 
    -	0x56, 0xf4, 0xfe, 0xfa, 0x03, 0xb1, 0xc0, 0x00, 0x00, 0x01, 0x00, 0xa9, 
    -	0xff, 0xe8, 0x07, 0x7e, 0x05, 0xb0, 0x00, 0x1d, 0x00, 0xb6, 0x00, 0xb0, 
    -	0x1b, 0x2f, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x19, 
    -	0x2f, 0x1b, 0xb1, 0x19, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x06, 0x3e, 0x59, 0xb0, 0x11, 0x10, 
    -	0xb1, 0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x5f, 0x1b, 0x01, 0x5d, 0xb2, 0xaf, 0x1b, 0x01, 0x5d, 0xb4, 0xef, 
    -	0x1b, 0xff, 0x1b, 0x02, 0x5d, 0xb2, 0x4f, 0x1b, 0x01, 0x71, 0xb2, 0x9f, 
    -	0x1b, 0x01, 0x71, 0xb2, 0xef, 0x1b, 0x01, 0x71, 0xb2, 0x3f, 0x1b, 0x01, 
    -	0x72, 0xb4, 0x8f, 0x1b, 0x9f, 0x1b, 0x02, 0x72, 0xb2, 0x6f, 0x1b, 0x01, 
    -	0x72, 0xb2, 0x1f, 0x1b, 0x01, 0x72, 0xb4, 0xbf, 0x1b, 0xcf, 0x1b, 0x02, 
    -	0x71, 0xb2, 0x7f, 0x1b, 0x01, 0x71, 0xb2, 0x1f, 0x1b, 0x01, 0x71, 0xb2, 
    -	0xcf, 0x1b, 0x01, 0x5d, 0xb2, 0x7f, 0x1b, 0x01, 0x5d, 0xb2, 0x2f, 0x1b, 
    -	0x01, 0x5d, 0xb2, 0xbf, 0x1b, 0x01, 0x72, 0xb0, 0x1b, 0x10, 0xb1, 0x16, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x01, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x37, 
    -	0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 0x27, 0x11, 0x21, 0x11, 
    -	0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x04, 0xf2, 0x01, 0x5a, 0x4d, 0x87, 
    -	0x94, 0x04, 0x01, 0x20, 0x1e, 0xbe, 0x22, 0x24, 0x02, 0x05, 0xfe, 0xec, 
    -	0xcb, 0xa9, 0xba, 0x08, 0xfd, 0x41, 0xc5, 0xc5, 0x02, 0xbf, 0x05, 0xb0, 
    -	0xfb, 0xa9, 0x5f, 0x75, 0x01, 0xd2, 0xb9, 0x61, 0xca, 0x67, 0x01, 0x7c, 
    -	0xbb, 0x5c, 0xfe, 0xf6, 0xfe, 0xe4, 0x03, 0xb1, 0xc0, 0x01, 0x2a, 0xfd, 
    -	0x7d, 0x05, 0xb0, 0xfd, 0x6e, 0x02, 0x92, 0x00, 0x00, 0x01, 0x00, 0x8f, 
    -	0xff, 0xe8, 0x06, 0x55, 0x04, 0x3a, 0x00, 0x1d, 0x00, 0xb2, 0x00, 0xb0, 
    -	0x13, 0x2f, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 
    -	0x1b, 0xb1, 0x05, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 0x59, 0xb2, 0x9f, 0x06, 
    -	0x01, 0x5d, 0xb2, 0xff, 0x06, 0x01, 0x5d, 0xb2, 0x6f, 0x06, 0x01, 0x71, 
    -	0xb4, 0xcf, 0x06, 0xdf, 0x06, 0x02, 0x71, 0xb4, 0x3f, 0x06, 0x4f, 0x06, 
    -	0x02, 0x72, 0xb2, 0xaf, 0x06, 0x01, 0x72, 0xb4, 0xdf, 0x06, 0xef, 0x06, 
    -	0x02, 0x72, 0xb4, 0x6f, 0x06, 0x7f, 0x06, 0x02, 0x72, 0xb2, 0xff, 0x06, 
    -	0x01, 0x71, 0xb2, 0x0f, 0x06, 0x01, 0x72, 0xb2, 0x9f, 0x06, 0x01, 0x71, 
    -	0xb4, 0x2f, 0x06, 0x3f, 0x06, 0x02, 0x71, 0xb4, 0xbf, 0x06, 0xcf, 0x06, 
    -	0x02, 0x5d, 0xb2, 0x5f, 0x06, 0x01, 0x5d, 0xb2, 0x2f, 0x06, 0x01, 0x5d, 
    -	0xb0, 0x06, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x1a, 0x10, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 
    -	0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x06, 0x02, 0x23, 0x06, 
    -	0x26, 0x27, 0x03, 0x40, 0xfe, 0x14, 0xc5, 0xc5, 0x01, 0xec, 0xc5, 0x01, 
    -	0x5b, 0x4c, 0x6a, 0x75, 0x04, 0x01, 0x1f, 0x1e, 0xbd, 0x22, 0x24, 0x02, 
    -	0x04, 0xf2, 0xb2, 0xa9, 0xba, 0x08, 0x01, 0xcc, 0xfe, 0x34, 0x04, 0x3a, 
    -	0xfe, 0x2b, 0x01, 0xd5, 0xfd, 0x1f, 0x5f, 0x75, 0x01, 0xbb, 0xa4, 0x5b, 
    -	0xc1, 0x61, 0x7b, 0xac, 0x56, 0xf4, 0xfe, 0xfa, 0x03, 0xb1, 0xc0, 0x00, 
    -	0x00, 0x01, 0x00, 0x76, 0xff, 0xeb, 0x04, 0x9f, 0x05, 0xc5, 0x00, 0x21, 
    -	0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 
    -	0x07, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x0e, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 
    -	0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x05, 0x20, 0x00, 0x11, 0x11, 0x10, 0x00, 0x21, 0x32, 0x16, 0x17, 
    -	0x07, 0x26, 0x26, 0x23, 0x22, 0x02, 0x15, 0x11, 0x14, 0x12, 0x33, 0x36, 
    -	0x36, 0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x06, 0x04, 0x02, 
    -	0xb9, 0xff, 0x00, 0xfe, 0xbd, 0x01, 0x43, 0x01, 0x00, 0x71, 0xb2, 0x44, 
    -	0x3f, 0x43, 0x90, 0x55, 0xaf, 0xcf, 0xcf, 0xaf, 0x88, 0x94, 0x04, 0x01, 
    -	0x1b, 0x18, 0xbe, 0x2a, 0x10, 0x01, 0x04, 0xfe, 0xeb, 0x15, 0x01, 0x5e, 
    -	0x01, 0x0c, 0x01, 0x06, 0x01, 0x0b, 0x01, 0x5f, 0x2d, 0x2b, 0x87, 0x21, 
    -	0x23, 0xfe, 0xf6, 0xc3, 0xfe, 0xf8, 0xc6, 0xfe, 0xf6, 0x01, 0x9a, 0x89, 
    -	0x53, 0xb5, 0x61, 0xc5, 0x56, 0x4e, 0xd8, 0xe6, 0x00, 0x01, 0x00, 0x62, 
    -	0xff, 0xeb, 0x03, 0xc6, 0x04, 0x4e, 0x00, 0x21, 0x00, 0x38, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x14, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x36, 0x36, 0x37, 0x34, 0x26, 
    -	0x27, 0x33, 0x16, 0x16, 0x15, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 
    -	0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x15, 0x14, 0x16, 0x02, 0x51, 0x5f, 0x4e, 0x03, 0x0a, 0x09, 0xbd, 
    -	0x0d, 0x0e, 0x04, 0xcc, 0xa5, 0xe6, 0xfe, 0xf7, 0xff, 0xdb, 0x5e, 0x8e, 
    -	0x2f, 0x2e, 0x2f, 0x7a, 0x44, 0x89, 0x8c, 0x95, 0x85, 0x01, 0x53, 0x54, 
    -	0x3a, 0x7a, 0x38, 0x44, 0x73, 0x35, 0x9e, 0xa4, 0x01, 0x3a, 0xe3, 0x2a, 
    -	0xe2, 0x01, 0x3a, 0x23, 0x1f, 0x93, 0x1b, 0x1f, 0xe7, 0x9a, 0x2a, 0x9e, 
    -	0xe5, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x24, 0xff, 0xe8, 0x05, 0x4d, 
    -	0x05, 0xb0, 0x00, 0x19, 0x00, 0x41, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 0xb0, 0x16, 0x10, 0xb1, 0x09, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x06, 0x16, 0x33, 0x36, 0x36, 0x37, 
    -	0x36, 0x26, 0x27, 0x37, 0x16, 0x16, 0x07, 0x02, 0x00, 0x23, 0x06, 0x26, 
    -	0x27, 0x01, 0xfc, 0xfe, 0x28, 0x04, 0x80, 0xfe, 0x1d, 0x01, 0x5b, 0x4c, 
    -	0x87, 0x95, 0x04, 0x01, 0x20, 0x1f, 0xbf, 0x22, 0x23, 0x02, 0x04, 0xfe, 
    -	0xec, 0xcc, 0xa9, 0xba, 0x08, 0x05, 0x15, 0x9b, 0x9b, 0xfc, 0x44, 0x5f, 
    -	0x75, 0x01, 0xd2, 0xb9, 0x60, 0xca, 0x68, 0x01, 0x7c, 0xbb, 0x5c, 0xfe, 
    -	0xf6, 0xfe, 0xe4, 0x03, 0xb1, 0xc0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 
    -	0xff, 0xe8, 0x04, 0xbd, 0x04, 0x3a, 0x00, 0x19, 0x00, 0x41, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x0a, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 0xb0, 0x16, 
    -	0x10, 0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x06, 0x16, 
    -	0x33, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x07, 0x06, 
    -	0x06, 0x23, 0x06, 0x26, 0x27, 0x01, 0xa8, 0xfe, 0x9e, 0x03, 0x8b, 0xfe, 
    -	0x9c, 0x01, 0x5a, 0x4d, 0x6a, 0x75, 0x04, 0x01, 0x20, 0x1d, 0xbd, 0x22, 
    -	0x24, 0x02, 0x04, 0xf3, 0xb1, 0xa9, 0xba, 0x08, 0x03, 0xa1, 0x99, 0x99, 
    -	0xfd, 0xb8, 0x5f, 0x75, 0x01, 0x9b, 0x89, 0x4c, 0xa7, 0x50, 0x67, 0x94, 
    -	0x48, 0xd8, 0xe7, 0x03, 0xb1, 0xc0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9c, 
    -	0xff, 0xeb, 0x05, 0x02, 0x05, 0xc5, 0x00, 0x2a, 0x00, 0x6f, 0x00, 0xb0, 
    -	0x29, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 
    -	0x0e, 0x06, 0x3e, 0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x7f, 0x29, 0x01, 0x5d, 0xb2, 0xef, 0x29, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x29, 0x01, 0x71, 0xb2, 0xcf, 0x29, 0x01, 0x5d, 
    -	0xb2, 0x2f, 0x29, 0x01, 0x5d, 0xb2, 0xbf, 0x29, 0x01, 0x71, 0xb0, 0x29, 
    -	0x10, 0xb1, 0x2a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x14, 0x2a, 0x29, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb1, 
    -	0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 
    -	0x17, 0x16, 0x04, 0x23, 0x20, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 
    -	0x35, 0x34, 0x24, 0x21, 0x32, 0x04, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x02, 0xcd, 0xb5, 0xb7, 
    -	0xca, 0xb2, 0x9c, 0xc7, 0xbc, 0x02, 0x04, 0xfe, 0xbc, 0xe1, 0xfe, 0xfe, 
    -	0xfe, 0xc1, 0x8e, 0x87, 0x78, 0x87, 0x01, 0x2a, 0x01, 0x01, 0xdf, 0x01, 
    -	0x32, 0x05, 0x01, 0xbc, 0xc3, 0x8c, 0xb2, 0xb4, 0xa7, 0xaf, 0xb8, 0x02, 
    -	0x98, 0x81, 0x85, 0x78, 0x95, 0x9d, 0x72, 0x06, 0xcd, 0xd6, 0xe3, 0xc8, 
    -	0x7e, 0xad, 0x2a, 0x30, 0xa6, 0x65, 0xc7, 0xd8, 0xdc, 0xb0, 0x06, 0x69, 
    -	0x8e, 0x90, 0x70, 0x72, 0x84, 0x9c, 0x00, 0x00, 0xff, 0xff, 0x00, 0x62, 
    -	0xff, 0xed, 0x03, 0xe9, 0x04, 0x4c, 0x02, 0x06, 0x01, 0x8f, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x31, 0xfe, 0x4b, 0x05, 0xbb, 0x05, 0xb0, 0x02, 0x26, 
    -	0x01, 0xc7, 0x00, 0x00, 0x00, 0x07, 0x03, 0x9b, 0x04, 0x49, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x04, 0xc0, 0x04, 0x3a, 0x02, 0x26, 
    -	0x01, 0xe7, 0x00, 0x00, 0x00, 0x07, 0x03, 0x9b, 0x03, 0x4e, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0xfe, 0x85, 0x05, 0x1a, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5a, 0x01, 0x55, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6a, 0xfe, 0x85, 0x03, 0xf3, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5a, 0x00, 0x9c, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x06, 0x52, 0x07, 0x1e, 0x02, 0x26, 
    -	0x00, 0x30, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x02, 0xa6, 0x01, 0x59, 
    -	0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x12, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x8f, 0x00, 0x00, 0x06, 0x6f, 0x05, 0xdc, 0x02, 0x26, 
    -	0x00, 0x50, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x02, 0xb7, 0x00, 0x17, 
    -	0x00, 0x1a, 0x00, 0xb2, 0xbf, 0x27, 0x01, 0x71, 0xb6, 0xdf, 0x27, 0xef, 
    -	0x27, 0xff, 0x27, 0x03, 0x71, 0xb6, 0x0f, 0x27, 0x1f, 0x27, 0x2f, 0x27, 
    -	0x03, 0x72, 0x30, 0x31, 0xff, 0xff, 0x00, 0x36, 0x00, 0x00, 0x06, 0xcf, 
    -	0x07, 0x22, 0x02, 0x26, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0xeb, 0x01, 0x5d, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x1a, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x2d, 0x00, 0x00, 0x05, 0xdc, 
    -	0x05, 0xcb, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x6e, 0x00, 0x06, 0x00, 0x25, 0x00, 0xb2, 0xbf, 0x16, 0x01, 0x71, 
    -	0xb6, 0xdf, 0x16, 0xef, 0x16, 0xff, 0x16, 0x03, 0x71, 0x40, 0x11, 0x0f, 
    -	0x16, 0x1f, 0x16, 0x2f, 0x16, 0x3f, 0x16, 0x4f, 0x16, 0x5f, 0x16, 0x6f, 
    -	0x16, 0x7f, 0x16, 0x08, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x36, 
    -	0x00, 0x00, 0x06, 0xcf, 0x07, 0x1e, 0x02, 0x26, 0x00, 0x3a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x02, 0xa5, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x14, 0x3e, 0x59, 
    -	0xb2, 0x0f, 0x16, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x2d, 
    -	0x00, 0x00, 0x05, 0xdc, 0x05, 0xc7, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x02, 0x28, 0x00, 0x02, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x19, 0x01, 0x71, 0xb6, 0xdf, 0x19, 0xef, 0x19, 0xff, 0x19, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x19, 0x1f, 0x19, 0x2f, 0x19, 0x3f, 0x19, 0x4f, 
    -	0x19, 0x5f, 0x19, 0x6f, 0x19, 0x7f, 0x19, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x36, 0x00, 0x00, 0x06, 0xcf, 0x07, 0x0d, 0x02, 0x26, 
    -	0x00, 0x3a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0x01, 0x80, 0x01, 0x5d, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 
    -	0x1a, 0x12, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x17, 0x2f, 0x1b, 
    -	0xb1, 0x17, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x2d, 
    -	0x00, 0x00, 0x05, 0xdc, 0x05, 0xb6, 0x02, 0x26, 0x00, 0x5a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x6a, 0x01, 0x03, 0x00, 0x06, 0x00, 0x33, 0x00, 0xb2, 
    -	0x7f, 0x17, 0x01, 0x72, 0xb4, 0xdf, 0x17, 0xef, 0x17, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x17, 0x01, 0x72, 0xb4, 0x2f, 0x17, 0x3f, 0x17, 0x02, 0x72, 0xb2, 
    -	0x7f, 0x1a, 0x01, 0x72, 0xb4, 0xdf, 0x1a, 0xef, 0x1a, 0x02, 0x71, 0xb2, 
    -	0x5f, 0x1a, 0x01, 0x72, 0xb4, 0x2f, 0x1a, 0x3f, 0x1a, 0x02, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0xfe, 0xaf, 0x05, 0x1a, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x04, 0xee, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xfe, 0xaf, 0x03, 0xf3, 
    -	0x04, 0x4e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x04, 0x52, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x07, 0xc8, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x04, 0xe8, 0x01, 0x52, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 0x06, 0x86, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0x7a, 0x00, 0x10, 
    -	0x00, 0x08, 0x00, 0xb2, 0x10, 0x2c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x24, 0x07, 0xf1, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x92, 0x00, 0xb3, 0x01, 0x59, 
    -	0x00, 0x18, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 
    -	0x12, 0x12, 0x3e, 0x59, 0xb2, 0xe0, 0x12, 0x01, 0x5d, 0xb0, 0x18, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x04, 0xae, 
    -	0x06, 0xaf, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x92, 
    -	0x3d, 0x17, 0x00, 0x13, 0x00, 0xb0, 0x32, 0x2f, 0xb2, 0x3f, 0x32, 0x01, 
    -	0x5d, 0xb2, 0x30, 0x32, 0x01, 0x72, 0xb0, 0x38, 0xd0, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 0x07, 0xe0, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x93, 0x00, 0xc4, 0x01, 0x48, 
    -	0x00, 0x18, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0xb2, 0xe0, 0x10, 0x01, 0x5d, 0xb0, 0x15, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa3, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x06, 0x9e, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x93, 
    -	0x4e, 0x06, 0x00, 0x0e, 0x00, 0xb0, 0x30, 0x2f, 0xb2, 0x3f, 0x30, 0x01, 
    -	0x5d, 0xb0, 0x35, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x08, 0x05, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x94, 0x00, 0xbc, 0x01, 0x34, 0x00, 0x2f, 0x00, 0xb0, 
    -	0x0e, 0x2f, 0xb4, 0xdf, 0x0e, 0xef, 0x0e, 0x02, 0x5d, 0xb4, 0x3f, 0x0e, 
    -	0x4f, 0x0e, 0x02, 0x71, 0xb2, 0x0f, 0x0e, 0x01, 0x5d, 0xb4, 0x0f, 0x0e, 
    -	0x1f, 0x0e, 0x02, 0x71, 0xb4, 0x6f, 0x0e, 0x7f, 0x0e, 0x02, 0x5d, 0xb2, 
    -	0x3f, 0x0e, 0x01, 0x5d, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x04, 0x77, 0x06, 0xc5, 0x02, 0x26, 
    -	0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x94, 0x46, 0xf4, 0x00, 0x0e, 
    -	0x00, 0xb0, 0x30, 0x2f, 0xb2, 0x3f, 0x30, 0x01, 0x5d, 0xb0, 0x35, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x08, 0x32, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x95, 
    -	0x00, 0xba, 0x01, 0x36, 0x00, 0x2f, 0x00, 0xb0, 0x0e, 0x2f, 0xb4, 0xdf, 
    -	0x0e, 0xef, 0x0e, 0x02, 0x5d, 0xb4, 0x3f, 0x0e, 0x4f, 0x0e, 0x02, 0x71, 
    -	0xb2, 0x0f, 0x0e, 0x01, 0x5d, 0xb4, 0x0f, 0x0e, 0x1f, 0x0e, 0x02, 0x71, 
    -	0xb4, 0x6f, 0x0e, 0x7f, 0x0e, 0x02, 0x5d, 0xb2, 0x3f, 0x0e, 0x01, 0x5d, 
    -	0xb0, 0x18, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x06, 0xf2, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x95, 0x4a, 0xf6, 0x00, 0x0e, 0x00, 0xb0, 0x30, 0x2f, 
    -	0xb2, 0x3f, 0x30, 0x01, 0x5d, 0xb0, 0x38, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0xfe, 0xaf, 0x05, 0x1a, 0x07, 0x48, 0x02, 0x26, 
    -	0x00, 0x24, 0x00, 0x00, 0x00, 0x27, 0x01, 0x52, 0x00, 0xb9, 0x01, 0x5d, 
    -	0x01, 0x07, 0x01, 0x60, 0x04, 0xee, 0x00, 0x00, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xfe, 0xaf, 0x03, 0xf3, 
    -	0x06, 0x06, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x00, 0x26, 0x01, 0x52, 
    -	0x4e, 0x1b, 0x01, 0x07, 0x01, 0x60, 0x04, 0x52, 0x00, 0x00, 0x00, 0x1d, 
    -	0x00, 0xb6, 0xd0, 0x30, 0xe0, 0x30, 0xf0, 0x30, 0x03, 0x71, 0xb4, 0x00, 
    -	0x30, 0x10, 0x30, 0x02, 0x72, 0xb2, 0x60, 0x30, 0x01, 0x72, 0xb2, 0x40, 
    -	0x30, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x07, 0xdf, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x96, 0x00, 0xe7, 0x01, 0x54, 0x00, 0x13, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x06, 0x9d, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x96, 0x75, 0x12, 0x00, 0x13, 0x00, 0xb0, 0x30, 0x2f, 
    -	0xb2, 0x0f, 0x30, 0x01, 0x5d, 0xb2, 0x3f, 0x30, 0x01, 0x5d, 0xb0, 0x3f, 
    -	0xd0, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x05, 0x1a, 
    -	0x07, 0xdf, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x01, 0x07, 0x03, 0x90, 
    -	0x00, 0xe7, 0x01, 0x54, 0x00, 0x13, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x12, 0x3e, 0x59, 0xb0, 0x0c, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 0xff, 0xeb, 0x03, 0xf3, 
    -	0x06, 0x9d, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 0x01, 0x06, 0x03, 0x90, 
    -	0x75, 0x12, 0x00, 0x0e, 0x00, 0xb0, 0x35, 0x2f, 0xb2, 0x0f, 0x35, 0x01, 
    -	0x5d, 0xb0, 0x2c, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x08, 0x77, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x97, 0x00, 0xf2, 0x01, 0x4d, 0x00, 0x13, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x2c, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x07, 0x31, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x97, 0x79, 0x07, 0x00, 0x18, 0x00, 0xb0, 0x30, 0x2f, 
    -	0xb2, 0x0f, 0x30, 0x01, 0x5d, 0xb2, 0x3f, 0x30, 0x01, 0x5d, 0xb2, 0x70, 
    -	0x30, 0x01, 0x71, 0xb0, 0x4c, 0xd0, 0x30, 0x31, 0xff, 0xff, 0x00, 0x14, 
    -	0x00, 0x00, 0x05, 0x1a, 0x08, 0x25, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x98, 0x00, 0xed, 0x01, 0x51, 0x00, 0x13, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 
    -	0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xff, 0xeb, 0x03, 0xf3, 0x06, 0xe3, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x98, 0x79, 0x0f, 0x00, 0x1d, 0x00, 0xb0, 0x30, 0x2f, 
    -	0xb2, 0x1f, 0x30, 0x01, 0x72, 0xb2, 0x0f, 0x30, 0x01, 0x5d, 0xb2, 0xcf, 
    -	0x30, 0x01, 0x71, 0xb2, 0x3f, 0x30, 0x01, 0x5d, 0xb0, 0x3f, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0xfe, 0xaf, 0x05, 0x1a, 
    -	0x07, 0x4e, 0x02, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x27, 0x01, 0x54, 
    -	0x00, 0xeb, 0x01, 0x9e, 0x01, 0x07, 0x01, 0x60, 0x04, 0xee, 0x00, 0x00, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6a, 
    -	0xfe, 0xaf, 0x03, 0xf3, 0x06, 0x0c, 0x02, 0x26, 0x00, 0x44, 0x00, 0x00, 
    -	0x00, 0x26, 0x01, 0x54, 0x7f, 0x5c, 0x01, 0x07, 0x01, 0x60, 0x04, 0x52, 
    -	0x00, 0x00, 0x00, 0x36, 0x00, 0xb2, 0x00, 0x30, 0x01, 0x71, 0xb2, 0xb0, 
    -	0x30, 0x01, 0x71, 0xb2, 0x00, 0x30, 0x01, 0x72, 0xb2, 0x8f, 0x30, 0x01, 
    -	0x71, 0xb2, 0x20, 0x30, 0x01, 0x72, 0xb4, 0xd0, 0x30, 0xe0, 0x30, 0x02, 
    -	0x71, 0xb2, 0x90, 0x30, 0x01, 0x71, 0xb6, 0x60, 0x30, 0x70, 0x30, 0x80, 
    -	0x30, 0x03, 0x5d, 0xb2, 0x20, 0x30, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0xb9, 0x04, 0x7a, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0xcb, 0x00, 0x0a, 
    -	0xff, 0xff, 0x00, 0x63, 0xfe, 0xaf, 0x03, 0xed, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x94, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0x7a, 0x07, 0xc8, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0xc3, 0x01, 0x52, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xff, 0xeb, 0x03, 0xed, 0x06, 0x87, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0x7d, 0x00, 0x11, 0x00, 0x08, 0x00, 0xb2, 
    -	0x10, 0x20, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x07, 0x54, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0x92, 0x01, 0x61, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 
    -	0x06, 0x13, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x4c, 0x20, 0x00, 0x27, 0x00, 0xb2, 0x40, 0x23, 0x01, 0x72, 0xb2, 0x70, 
    -	0x23, 0x01, 0x71, 0xb4, 0x60, 0x23, 0x70, 0x23, 0x02, 0x72, 0xb2, 0x20, 
    -	0x23, 0x01, 0x72, 0x40, 0x0b, 0x90, 0x23, 0xa0, 0x23, 0xb0, 0x23, 0xc0, 
    -	0x23, 0xd0, 0x23, 0x05, 0x71, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0xf7, 0x07, 0xf1, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x92, 0x00, 0x86, 0x01, 0x59, 0x00, 0x18, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x12, 0x3e, 0x59, 
    -	0xb2, 0xe0, 0x12, 0x01, 0x5d, 0xb0, 0x18, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x04, 0xb1, 0x06, 0xb0, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x92, 0x40, 0x18, 0x00, 0x0e, 
    -	0x00, 0xb0, 0x24, 0x2f, 0xb2, 0x3f, 0x24, 0x01, 0x5d, 0xb0, 0x2c, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xec, 0x00, 0x00, 0x04, 0x7a, 
    -	0x07, 0xe0, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x93, 
    -	0x00, 0x97, 0x01, 0x48, 0x00, 0x18, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x12, 0x3e, 0x59, 0xb2, 0xe0, 0x10, 0x01, 
    -	0x5d, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xa6, 
    -	0xff, 0xeb, 0x03, 0xed, 0x06, 0x9f, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x93, 0x51, 0x07, 0x00, 0x0e, 0x00, 0xb0, 0x24, 0x2f, 
    -	0xb2, 0x3f, 0x24, 0x01, 0x5d, 0xb0, 0x29, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0x00, 0x00, 0x04, 0xc0, 0x08, 0x05, 0x02, 0x26, 
    -	0x00, 0x28, 0x00, 0x00, 0x01, 0x07, 0x03, 0x94, 0x00, 0x8f, 0x01, 0x34, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x10, 0x2f, 0xb4, 0xdf, 0x10, 0xef, 0x10, 0x02, 
    -	0x5d, 0xb4, 0x3f, 0x10, 0x4f, 0x10, 0x02, 0x71, 0xb2, 0x0f, 0x10, 0x01, 
    -	0x5d, 0xb4, 0x0f, 0x10, 0x1f, 0x10, 0x02, 0x71, 0xb4, 0x6f, 0x10, 0x7f, 
    -	0x10, 0x02, 0x5d, 0xb2, 0x3f, 0x10, 0x01, 0x5d, 0xb0, 0x15, 0xd0, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x04, 0x7a, 
    -	0x06, 0xc6, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x94, 
    -	0x49, 0xf5, 0x00, 0x0e, 0x00, 0xb0, 0x22, 0x2f, 0xb2, 0x3f, 0x22, 0x01, 
    -	0x5d, 0xb0, 0x29, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 
    -	0x00, 0x00, 0x04, 0x7a, 0x08, 0x32, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x95, 0x00, 0x93, 0x01, 0x36, 0x00, 0x2f, 0x00, 0xb0, 
    -	0x10, 0x2f, 0xb4, 0xdf, 0x10, 0xef, 0x10, 0x02, 0x5d, 0xb4, 0x3f, 0x10, 
    -	0x4f, 0x10, 0x02, 0x71, 0xb2, 0x0f, 0x10, 0x01, 0x5d, 0xb4, 0x0f, 0x10, 
    -	0x1f, 0x10, 0x02, 0x71, 0xb4, 0x6f, 0x10, 0x7f, 0x10, 0x02, 0x5d, 0xb2, 
    -	0x3f, 0x10, 0x01, 0x5d, 0xb0, 0x18, 0xd0, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x63, 0xff, 0xeb, 0x03, 0xed, 0x06, 0xf3, 0x02, 0x26, 
    -	0x00, 0x48, 0x00, 0x00, 0x01, 0x06, 0x03, 0x95, 0x4d, 0xf7, 0x00, 0x0e, 
    -	0x00, 0xb0, 0x22, 0x2f, 0xb2, 0x3f, 0x22, 0x01, 0x5d, 0xb0, 0x2c, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb4, 0xfe, 0xb9, 0x04, 0x7a, 
    -	0x07, 0x48, 0x02, 0x26, 0x00, 0x28, 0x00, 0x00, 0x00, 0x27, 0x01, 0x52, 
    -	0x00, 0x97, 0x01, 0x5d, 0x01, 0x07, 0x01, 0x60, 0x04, 0xcb, 0x00, 0x0a, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x63, 
    -	0xfe, 0xaf, 0x03, 0xed, 0x06, 0x07, 0x02, 0x26, 0x00, 0x48, 0x00, 0x00, 
    -	0x00, 0x26, 0x01, 0x52, 0x51, 0x1c, 0x01, 0x07, 0x01, 0x60, 0x04, 0x94, 
    -	0x00, 0x00, 0x00, 0x22, 0x00, 0x40, 0x0b, 0xb0, 0x24, 0xc0, 0x24, 0xd0, 
    -	0x24, 0xe0, 0x24, 0xf0, 0x24, 0x05, 0x71, 0xb4, 0x00, 0x24, 0x10, 0x24, 
    -	0x02, 0x72, 0xb2, 0x60, 0x24, 0x01, 0x72, 0xb2, 0x40, 0x24, 0x01, 0x72, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0xbe, 0x00, 0x00, 0x02, 0x03, 
    -	0x07, 0xc8, 0x02, 0x26, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x03, 0x70, 0x01, 0x52, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x01, 0xde, 0x06, 0x73, 0x02, 0x26, 
    -	0x00, 0xf3, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x03, 0x4b, 0xff, 0xfd, 
    -	0x00, 0x08, 0x00, 0xb2, 0x10, 0x04, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xb4, 0xfe, 0xb8, 0x01, 0x8e, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x2c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x03, 0x78, 0x00, 0x09, 
    -	0xff, 0xff, 0x00, 0x95, 0xfe, 0xb9, 0x01, 0x6f, 0x06, 0x18, 0x02, 0x26, 
    -	0x00, 0x4c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x03, 0x59, 0x00, 0x0a, 
    -	0xff, 0xff, 0x00, 0x71, 0xfe, 0xa8, 0x05, 0x02, 0x05, 0xc5, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x05, 0x11, 0xff, 0xf9, 
    -	0xff, 0xff, 0x00, 0x61, 0xfe, 0xa7, 0x04, 0x2a, 0x04, 0x4e, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x9d, 0xff, 0xf8, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x02, 0x07, 0xdd, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x05, 0x09, 0x01, 0x67, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 
    -	0x1c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x06, 0x86, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0x95, 0x00, 0x10, 0x00, 0x08, 0x00, 0xb2, 
    -	0x10, 0x1c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x3d, 0x08, 0x06, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x92, 0x00, 0xcc, 0x01, 0x6e, 0x00, 0x18, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x12, 0x3e, 0x59, 
    -	0xb2, 0xe0, 0x22, 0x01, 0x5d, 0xb0, 0x28, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0xc9, 0x06, 0xaf, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x92, 0x58, 0x17, 0x00, 0x0e, 
    -	0x00, 0xb0, 0x20, 0x2f, 0xb2, 0x3f, 0x20, 0x01, 0x5d, 0xb0, 0x28, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x32, 0xff, 0xeb, 0x05, 0x02, 
    -	0x07, 0xf5, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x03, 0x93, 
    -	0x00, 0xdd, 0x01, 0x5d, 0x00, 0x18, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x20, 0x2f, 0x1b, 0xb1, 0x20, 0x12, 0x3e, 0x59, 0xb2, 0xe0, 0x20, 0x01, 
    -	0x5d, 0xb0, 0x25, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0xff, 0xbe, 
    -	0xff, 0xeb, 0x04, 0x2a, 0x06, 0x9e, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x01, 0x06, 0x03, 0x93, 0x69, 0x06, 0x00, 0x0e, 0x00, 0xb0, 0x20, 0x2f, 
    -	0xb2, 0x3f, 0x20, 0x01, 0x5d, 0xb0, 0x25, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x71, 0xff, 0xeb, 0x05, 0x06, 0x08, 0x1a, 0x02, 0x26, 
    -	0x00, 0x32, 0x00, 0x00, 0x01, 0x07, 0x03, 0x94, 0x00, 0xd5, 0x01, 0x49, 
    -	0x00, 0x18, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 
    -	0x20, 0x12, 0x3e, 0x59, 0xb2, 0xe0, 0x20, 0x01, 0x5d, 0xb0, 0x25, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x92, 
    -	0x06, 0xc5, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x94, 
    -	0x61, 0xf4, 0x00, 0x0e, 0x00, 0xb0, 0x1e, 0x2f, 0xb2, 0x3f, 0x1e, 0x01, 
    -	0x5d, 0xb0, 0x25, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 
    -	0xff, 0xeb, 0x05, 0x02, 0x08, 0x47, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 
    -	0x01, 0x07, 0x03, 0x95, 0x00, 0xd9, 0x01, 0x4b, 0x00, 0x18, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1e, 0x2f, 0x1b, 0xb1, 0x1e, 0x12, 0x3e, 0x59, 
    -	0xb2, 0xe0, 0x1e, 0x01, 0x5d, 0xb0, 0x28, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0x2a, 0x06, 0xf2, 0x02, 0x26, 
    -	0x00, 0x52, 0x00, 0x00, 0x01, 0x06, 0x03, 0x95, 0x65, 0xf6, 0x00, 0x0e, 
    -	0x00, 0xb0, 0x20, 0x2f, 0xb2, 0x3f, 0x20, 0x01, 0x5d, 0xb0, 0x28, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x71, 0xfe, 0xa8, 0x05, 0x02, 
    -	0x07, 0x5d, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x00, 0x27, 0x01, 0x52, 
    -	0x00, 0xdd, 0x01, 0x72, 0x01, 0x07, 0x01, 0x60, 0x05, 0x11, 0xff, 0xf9, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x20, 0x2f, 0x1b, 0xb1, 
    -	0x20, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xfe, 0xa7, 0x04, 0x2a, 0x06, 0x06, 0x02, 0x26, 0x00, 0x52, 0x00, 0x00, 
    -	0x00, 0x26, 0x01, 0x52, 0x69, 0x1b, 0x01, 0x07, 0x01, 0x60, 0x04, 0x9d, 
    -	0xff, 0xf8, 0x00, 0x1d, 0x00, 0xb6, 0xd0, 0x20, 0xe0, 0x20, 0xf0, 0x20, 
    -	0x03, 0x71, 0xb4, 0x00, 0x20, 0x10, 0x20, 0x02, 0x72, 0xb2, 0x60, 0x20, 
    -	0x01, 0x72, 0xb2, 0x40, 0x20, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6c, 0xff, 0xeb, 0x05, 0xff, 0x07, 0x0c, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0xe0, 0x01, 0x47, 
    -	0x00, 0x44, 0x00, 0xb2, 0x0f, 0x29, 0x01, 0x5d, 0xb2, 0xcf, 0x29, 0x01, 
    -	0x5d, 0x40, 0x0b, 0xbf, 0x29, 0xcf, 0x29, 0xdf, 0x29, 0xef, 0x29, 0xff, 
    -	0x29, 0x05, 0x71, 0xb2, 0x0f, 0x29, 0x01, 0x72, 0xb2, 0x5f, 0x29, 0x01, 
    -	0x72, 0xb4, 0x2f, 0x29, 0x3f, 0x29, 0x02, 0x72, 0xb6, 0x7f, 0x29, 0x8f, 
    -	0x29, 0x9f, 0x29, 0x03, 0x71, 0xb2, 0x6f, 0x29, 0x01, 0x5d, 0xb2, 0xf0, 
    -	0x29, 0x01, 0x5d, 0xb2, 0x40, 0x29, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0xe8, 0x05, 0xdc, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x69, 0x00, 0x17, 
    -	0x00, 0x1a, 0x00, 0xb2, 0xbf, 0x29, 0x01, 0x71, 0xb6, 0xdf, 0x29, 0xef, 
    -	0x29, 0xff, 0x29, 0x03, 0x71, 0xb6, 0x0f, 0x29, 0x1f, 0x29, 0x2f, 0x29, 
    -	0x03, 0x72, 0x30, 0x31, 0xff, 0xff, 0x00, 0x6c, 0xff, 0xeb, 0x05, 0xff, 
    -	0x07, 0x10, 0x02, 0x26, 0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x01, 0x26, 0x01, 0x4b, 0x00, 0x44, 0x00, 0x40, 0x0b, 0xbf, 0x26, 0xcf, 
    -	0x26, 0xdf, 0x26, 0xef, 0x26, 0xff, 0x26, 0x05, 0x71, 0xb2, 0x0f, 0x26, 
    -	0x01, 0x72, 0xb2, 0x5f, 0x26, 0x01, 0x72, 0xb4, 0x2f, 0x26, 0x3f, 0x26, 
    -	0x02, 0x72, 0xb2, 0x6f, 0x27, 0x01, 0x5d, 0xb4, 0x7f, 0x27, 0x8f, 0x27, 
    -	0x02, 0x71, 0xb2, 0x0f, 0x27, 0x01, 0x5d, 0xb2, 0xcf, 0x27, 0x01, 0x5d, 
    -	0xb4, 0x30, 0x27, 0x40, 0x27, 0x02, 0x71, 0xb2, 0xf0, 0x27, 0x01, 0x5d, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0xe8, 
    -	0x05, 0xe0, 0x02, 0x26, 0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xaf, 0x00, 0x1b, 0x00, 0x08, 0x00, 0xb2, 0xbf, 0x26, 0x01, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6c, 0xff, 0xeb, 0x05, 0xff, 
    -	0x07, 0xdd, 0x02, 0x26, 0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x05, 0x0c, 0x01, 0x67, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x26, 0x2f, 0x1b, 0xb1, 0x26, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x61, 0xff, 0xeb, 0x04, 0xe8, 0x06, 0x86, 0x02, 0x26, 
    -	0x01, 0x44, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x04, 0x95, 0x00, 0x10, 
    -	0x00, 0x08, 0x00, 0xb2, 0x10, 0x26, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6c, 0xff, 0xeb, 0x05, 0xff, 0x07, 0x42, 0x02, 0x26, 
    -	0x01, 0x43, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0xdb, 0x01, 0x4f, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x29, 0x2f, 0x1b, 0xb1, 
    -	0x29, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xff, 0xeb, 0x04, 0xe8, 0x06, 0x12, 0x02, 0x26, 0x01, 0x44, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x64, 0x1f, 0x00, 0x22, 0x00, 0xb4, 0x60, 0x29, 
    -	0x70, 0x29, 0x02, 0x72, 0x40, 0x0b, 0x90, 0x29, 0xa0, 0x29, 0xb0, 0x29, 
    -	0xc0, 0x29, 0xd0, 0x29, 0x05, 0x71, 0xb2, 0x40, 0x29, 0x01, 0x72, 0xb2, 
    -	0x20, 0x29, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6c, 
    -	0xfe, 0xaf, 0x05, 0xff, 0x06, 0x75, 0x02, 0x26, 0x01, 0x43, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x05, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x00, 0x61, 
    -	0xfe, 0xa7, 0x04, 0xe8, 0x04, 0xc7, 0x02, 0x26, 0x01, 0x44, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x04, 0x9d, 0xff, 0xf8, 0xff, 0xff, 0x00, 0x93, 
    -	0xfe, 0xa8, 0x04, 0xdc, 0x05, 0xb0, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x05, 0x0f, 0xff, 0xf9, 0xff, 0xff, 0x00, 0x8b, 
    -	0xfe, 0xaf, 0x03, 0xfc, 0x04, 0x3a, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x60, 0x04, 0x59, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 
    -	0xff, 0xeb, 0x04, 0xdc, 0x07, 0xc8, 0x02, 0x26, 0x00, 0x38, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x05, 0x08, 0x01, 0x52, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x03, 0xfc, 
    -	0x06, 0x73, 0x02, 0x26, 0x00, 0x58, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5e, 
    -	0x04, 0x93, 0xff, 0xfd, 0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x06, 0x57, 
    -	0x07, 0x1e, 0x02, 0x26, 0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0xdb, 0x01, 0x59, 0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x1c, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x05, 0x6a, 
    -	0x05, 0xc7, 0x02, 0x26, 0x01, 0x46, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x67, 0x00, 0x02, 0x00, 0x25, 0x00, 0xb2, 0xbf, 0x21, 0x01, 0x71, 
    -	0xb6, 0xdf, 0x21, 0xef, 0x21, 0xff, 0x21, 0x03, 0x71, 0x40, 0x11, 0x0f, 
    -	0x21, 0x1f, 0x21, 0x2f, 0x21, 0x3f, 0x21, 0x4f, 0x21, 0x5f, 0x21, 0x6f, 
    -	0x21, 0x7f, 0x21, 0x08, 0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x93, 
    -	0xff, 0xeb, 0x06, 0x57, 0x07, 0x22, 0x02, 0x26, 0x01, 0x45, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x43, 0x01, 0x21, 0x01, 0x5d, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x05, 0x6a, 0x05, 0xcb, 0x02, 0x26, 0x01, 0x46, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xad, 0x00, 0x06, 0x00, 0x25, 0x00, 0xb2, 
    -	0xbf, 0x1e, 0x01, 0x71, 0xb6, 0xdf, 0x1e, 0xef, 0x1e, 0xff, 0x1e, 0x03, 
    -	0x71, 0x40, 0x11, 0x0f, 0x1e, 0x1f, 0x1e, 0x2f, 0x1e, 0x3f, 0x1e, 0x4f, 
    -	0x1e, 0x5f, 0x1e, 0x6f, 0x1e, 0x7f, 0x1e, 0x08, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x93, 0xff, 0xeb, 0x06, 0x57, 0x07, 0xc8, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 0x05, 0x07, 0x01, 0x52, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 
    -	0x1c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 
    -	0xff, 0xeb, 0x05, 0x6a, 0x06, 0x73, 0x02, 0x26, 0x01, 0x46, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x5e, 0x04, 0x93, 0xff, 0xfd, 0x00, 0x08, 0x00, 0xb2, 
    -	0x10, 0x1e, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x93, 
    -	0xff, 0xeb, 0x06, 0x57, 0x07, 0x54, 0x02, 0x26, 0x01, 0x45, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0xd6, 0x01, 0x61, 0x00, 0x10, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x1f, 0x2f, 0x1b, 0xb1, 0x1f, 0x12, 0x3e, 0x59, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8b, 0xff, 0xeb, 0x05, 0x6a, 
    -	0x05, 0xfd, 0x02, 0x26, 0x01, 0x46, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x62, 0x0a, 0x00, 0x20, 0x00, 0xb2, 0x5f, 0x21, 0x01, 0x72, 0xb2, 0x8f, 
    -	0x21, 0x01, 0x71, 0xb2, 0x3f, 0x21, 0x01, 0x72, 0xb4, 0xef, 0x21, 0xff, 
    -	0x21, 0x02, 0x71, 0xb4, 0x0f, 0x21, 0x1f, 0x21, 0x02, 0x72, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x93, 0xfe, 0xa8, 0x06, 0x57, 0x06, 0x37, 0x02, 0x26, 
    -	0x01, 0x45, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x05, 0x0f, 0xff, 0xf9, 
    -	0xff, 0xff, 0x00, 0x8b, 0xfe, 0xaf, 0x05, 0x6a, 0x04, 0xcb, 0x02, 0x26, 
    -	0x01, 0x46, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 0x04, 0x59, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 0x07, 0x21, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0xda, 0x01, 0x5c, 
    -	0x00, 0x15, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 
    -	0x0d, 0x14, 0x3e, 0x59, 0xb2, 0x0f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xcb, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x01, 0x06, 0x00, 0x43, 0x6b, 0x06, 0x00, 0x25, 
    -	0x00, 0xb2, 0xbf, 0x16, 0x01, 0x71, 0xb6, 0xdf, 0x16, 0xef, 0x16, 0xff, 
    -	0x16, 0x03, 0x71, 0x40, 0x11, 0x0f, 0x16, 0x1f, 0x16, 0x2f, 0x16, 0x3f, 
    -	0x16, 0x4f, 0x16, 0x5f, 0x16, 0x6f, 0x16, 0x7f, 0x16, 0x08, 0x72, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x14, 0xfe, 0xb9, 0x04, 0xce, 
    -	0x05, 0xb0, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x04, 0xc8, 0x00, 0x0a, 0xff, 0xff, 0x00, 0x1a, 0xfe, 0x13, 0x03, 0xe8, 
    -	0x04, 0x3a, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x60, 
    -	0x05, 0x24, 0xff, 0x64, 0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 
    -	0x07, 0xc7, 0x02, 0x26, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x5e, 
    -	0x04, 0xc0, 0x01, 0x51, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1a, 0xfe, 0x4b, 0x03, 0xe8, 0x06, 0x73, 0x02, 0x26, 
    -	0x00, 0x5c, 0x00, 0x00, 0x00, 0x07, 0x01, 0x5e, 0x04, 0x51, 0xff, 0xfd, 
    -	0xff, 0xff, 0x00, 0x14, 0x00, 0x00, 0x04, 0xce, 0x07, 0x53, 0x02, 0x26, 
    -	0x00, 0x3c, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0x8f, 0x01, 0x60, 
    -	0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 0xb1, 
    -	0x0c, 0x12, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1a, 
    -	0xfe, 0x4b, 0x03, 0xe8, 0x05, 0xfd, 0x02, 0x26, 0x00, 0x5c, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x20, 0x0a, 0x00, 0x20, 0x00, 0xb2, 0x5f, 0x19, 
    -	0x01, 0x72, 0xb2, 0x8f, 0x19, 0x01, 0x71, 0xb2, 0x3f, 0x19, 0x01, 0x72, 
    -	0xb4, 0xef, 0x19, 0xff, 0x19, 0x02, 0x71, 0xb4, 0x0f, 0x19, 0x1f, 0x19, 
    -	0x02, 0x72, 0x30, 0x31, 0xff, 0xff, 0xff, 0x24, 0xff, 0xeb, 0x05, 0x02, 
    -	0x06, 0x93, 0x02, 0x26, 0x00, 0x32, 0x00, 0x00, 0x00, 0x07, 0x03, 0x6c, 
    -	0xfe, 0xbc, 0x00, 0xce, 0xff, 0xff, 0x00, 0xb4, 0x02, 0x88, 0x04, 0xf2, 
    -	0x03, 0x23, 0x00, 0x46, 0x03, 0x5a, 0xda, 0x00, 0x53, 0x33, 0x40, 0x00, 
    -	0xff, 0xff, 0x00, 0xbd, 0x02, 0x88, 0x05, 0xf5, 0x03, 0x23, 0x00, 0x46, 
    -	0x03, 0x5a, 0xb0, 0x00, 0x66, 0x66, 0x40, 0x00, 0xff, 0xff, 0x00, 0xbd, 
    -	0x02, 0x88, 0x05, 0xf5, 0x03, 0x23, 0x00, 0x46, 0x03, 0x5a, 0xb0, 0x00, 
    -	0x66, 0x66, 0x40, 0x00, 0xff, 0xff, 0x00, 0x05, 0xfe, 0x68, 0x03, 0xa0, 
    -	0x00, 0x00, 0x00, 0x27, 0x00, 0x42, 0x00, 0x01, 0xff, 0x02, 0x01, 0x06, 
    -	0x00, 0x42, 0x01, 0x00, 0x00, 0x16, 0x00, 0x40, 0x09, 0x00, 0x01, 0x10, 
    -	0x01, 0x20, 0x01, 0x30, 0x01, 0x04, 0x5d, 0xb4, 0xa0, 0x01, 0xb0, 0x01, 
    -	0x02, 0x5d, 0x30, 0x31, 0x00, 0x01, 0x00, 0x50, 0x03, 0xfc, 0x01, 0x51, 
    -	0x06, 0x18, 0x00, 0x05, 0x00, 0x06, 0x00, 0xb0, 0x01, 0x2f, 0x30, 0x31, 
    -	0x13, 0x13, 0x33, 0x03, 0x15, 0x23, 0x50, 0xa0, 0x61, 0x3c, 0xc5, 0x04, 
    -	0xb4, 0x01, 0x64, 0xfe, 0x96, 0xb2, 0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 
    -	0x03, 0xfd, 0x01, 0x51, 0x06, 0x18, 0x00, 0x05, 0x00, 0x06, 0x00, 0xb0, 
    -	0x04, 0x2f, 0x30, 0x31, 0x01, 0x03, 0x23, 0x13, 0x35, 0x33, 0x01, 0x51, 
    -	0xa0, 0x61, 0x3c, 0xc5, 0x05, 0x57, 0xfe, 0xa6, 0x01, 0x57, 0xc4, 0x00, 
    -	0x00, 0x01, 0x00, 0x50, 0xff, 0x01, 0x01, 0x51, 0x00, 0xf9, 0x00, 0x05, 
    -	0x00, 0x06, 0x00, 0xb0, 0x04, 0x2f, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 
    -	0x35, 0x33, 0x01, 0x51, 0xa0, 0x61, 0x3c, 0xc5, 0x1a, 0xfe, 0xe7, 0x01, 
    -	0x07, 0xf1, 0x00, 0x00, 0xff, 0xff, 0x00, 0x2b, 0x03, 0xfd, 0x01, 0x2c, 
    -	0x06, 0x18, 0x00, 0x47, 0x03, 0x35, 0x01, 0x7c, 0x00, 0x00, 0xc0, 0x02, 
    -	0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x50, 0x03, 0xfc, 0x02, 0x9a, 
    -	0x06, 0x18, 0x00, 0x26, 0x03, 0x34, 0x00, 0x00, 0x00, 0x07, 0x03, 0x34, 
    -	0x01, 0x49, 0x00, 0x00, 0xff, 0xff, 0x00, 0x50, 0x03, 0xfd, 0x02, 0xa2, 
    -	0x06, 0x18, 0x00, 0x26, 0x03, 0x35, 0x00, 0x00, 0x00, 0x07, 0x03, 0x35, 
    -	0x01, 0x51, 0x00, 0x00, 0x00, 0x02, 0x00, 0x50, 0xff, 0x11, 0x02, 0x85, 
    -	0x01, 0x18, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x09, 0x00, 0xb0, 0x05, 0x2f, 
    -	0xb0, 0x0a, 0xd0, 0x30, 0x31, 0x25, 0x03, 0x23, 0x13, 0x35, 0x33, 0x05, 
    -	0x03, 0x23, 0x13, 0x35, 0x33, 0x01, 0x51, 0xa0, 0x61, 0x3c, 0xc5, 0x01, 
    -	0x34, 0xa0, 0x61, 0x3c, 0xc5, 0x60, 0xfe, 0xb1, 0x01, 0x45, 0xc2, 0xb8, 
    -	0xfe, 0xb1, 0x01, 0x4d, 0xba, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 
    -	0x00, 0x00, 0x04, 0x24, 0x05, 0xb0, 0x00, 0x0b, 0x00, 0x4c, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0a, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0xb0, 0x05, 0xd0, 
    -	0x30, 0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 
    -	0x11, 0x21, 0x04, 0x24, 0xfe, 0x71, 0xc5, 0xfe, 0x76, 0x01, 0x8a, 0xc5, 
    -	0x01, 0x8f, 0x03, 0x9e, 0xfc, 0x62, 0x03, 0x9e, 0x9c, 0x01, 0x76, 0xfe, 
    -	0x8a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x57, 0xfe, 0x60, 0x04, 0x34, 
    -	0x05, 0xb0, 0x00, 0x13, 0x00, 0x7e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x08, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x10, 0xd0, 0xb0, 0x11, 
    -	0xd0, 0xb0, 0x06, 0x10, 0xb0, 0x12, 0xd0, 0xb0, 0x13, 0xd0, 0x30, 0x31, 
    -	0x21, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 
    -	0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x04, 0x34, 0xfe, 0x71, 
    -	0xc5, 0xfe, 0x77, 0x01, 0x89, 0xfe, 0x77, 0x01, 0x89, 0xc5, 0x01, 0x8f, 
    -	0xfe, 0x71, 0x01, 0x8f, 0xfe, 0x60, 0x01, 0xa0, 0x9a, 0x03, 0x04, 0x9c, 
    -	0x01, 0x76, 0xfe, 0x8a, 0x9c, 0xfc, 0xfc, 0x00, 0x00, 0x01, 0x00, 0x89, 
    -	0x02, 0x17, 0x02, 0x27, 0x03, 0xe1, 0x00, 0x0d, 0x00, 0x10, 0x00, 0xb0, 
    -	0x03, 0x2f, 0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x30, 0x31, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x35, 0x89, 0x70, 0x5e, 0x5f, 0x71, 0x70, 0x5f, 0x5f, 
    -	0x70, 0x03, 0x19, 0x58, 0x70, 0x70, 0x58, 0x3c, 0x59, 0x6d, 0x6e, 0x58, 
    -	0xff, 0xff, 0x00, 0xa1, 0x00, 0x00, 0x03, 0x21, 0x00, 0xca, 0x00, 0x26, 
    -	0x00, 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x11, 0x01, 0xbb, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xa1, 0x00, 0x00, 0x04, 0xc5, 0x00, 0xca, 0x00, 0x26, 
    -	0x00, 0x11, 0x00, 0x00, 0x00, 0x27, 0x00, 0x11, 0x01, 0xbb, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x11, 0x03, 0x5f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x40, 
    -	0xff, 0xeb, 0x07, 0x55, 0x05, 0xc5, 0x00, 0x19, 0x00, 0x27, 0x00, 0x35, 
    -	0x00, 0x43, 0x00, 0x51, 0x00, 0x55, 0x00, 0x9e, 0x00, 0xb0, 0x52, 0x2f, 
    -	0xb0, 0x54, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 
    -	0x1d, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x06, 0x3e, 0x59, 0xb0, 0x16, 0x10, 0xb0, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x09, 0xd0, 0xb0, 0x1d, 
    -	0x10, 0xb0, 0x24, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x16, 0x10, 0xb1, 0x2b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x32, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x39, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x32, 0x10, 0xb0, 
    -	0x40, 0xd0, 0xb0, 0x24, 0x10, 0xb1, 0x47, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1d, 0x10, 0xb1, 0x4e, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x01, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x05, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x13, 0x27, 0x01, 0x17, 
    -	0x03, 0x33, 0xa4, 0x88, 0x4a, 0x75, 0x25, 0x25, 0x75, 0x4a, 0x89, 0xa5, 
    -	0xa4, 0x88, 0x4b, 0x76, 0x25, 0x25, 0x74, 0x49, 0x8a, 0xa4, 0xfd, 0x0d, 
    -	0xa4, 0x88, 0x8a, 0xa4, 0xa4, 0x88, 0x89, 0xa5, 0x03, 0x85, 0x51, 0x4b, 
    -	0x4a, 0x50, 0x52, 0x4a, 0x4a, 0x50, 0x01, 0xc8, 0x51, 0x4b, 0x49, 0x50, 
    -	0x51, 0x4a, 0x4a, 0x50, 0xfb, 0x45, 0x51, 0x4b, 0x49, 0x51, 0x52, 0x4a, 
    -	0x4a, 0x50, 0xf8, 0x6d, 0x02, 0xc7, 0x6d, 0x01, 0x65, 0x7e, 0xae, 0x3f, 
    -	0x36, 0x36, 0x3f, 0xad, 0x7f, 0x4e, 0x80, 0xac, 0x3d, 0x37, 0x37, 0x3d, 
    -	0xac, 0x80, 0x03, 0x81, 0x7f, 0xae, 0xad, 0x80, 0x4d, 0x7f, 0xac, 0xac, 
    -	0x7f, 0xfc, 0xcc, 0x4b, 0x67, 0x67, 0x4b, 0x4e, 0x4a, 0x68, 0x68, 0x4a, 
    -	0x4e, 0x4b, 0x67, 0x67, 0x4b, 0x4e, 0x4a, 0x68, 0x68, 0x4a, 0x02, 0xe6, 
    -	0x4a, 0x67, 0x66, 0x4b, 0x4d, 0x4a, 0x69, 0x69, 0x4a, 0xfb, 0xd6, 0x43, 
    -	0x04, 0x72, 0x43, 0x00, 0xff, 0xff, 0x00, 0x50, 0x04, 0x1f, 0x01, 0x16, 
    -	0x06, 0x18, 0x02, 0x06, 0x00, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x50, 
    -	0x04, 0x10, 0x02, 0x4b, 0x06, 0x18, 0x02, 0x06, 0x00, 0x05, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x6c, 0x00, 0x98, 0x02, 0x27, 0x03, 0xb5, 0x00, 0x06, 
    -	0x00, 0x09, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0x2f, 0x30, 0x31, 0x01, 
    -	0x13, 0x23, 0x01, 0x35, 0x01, 0x33, 0x01, 0x28, 0xff, 0x94, 0xfe, 0xd9, 
    -	0x01, 0x27, 0x94, 0x02, 0x26, 0xfe, 0x72, 0x01, 0x85, 0x13, 0x01, 0x85, 
    -	0x00, 0x01, 0x00, 0x58, 0x00, 0x98, 0x02, 0x13, 0x03, 0xb5, 0x00, 0x06, 
    -	0x00, 0x09, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x03, 0x2f, 0x30, 0x31, 0x13, 
    -	0x01, 0x15, 0x01, 0x23, 0x13, 0x03, 0xec, 0x01, 0x27, 0xfe, 0xd9, 0x94, 
    -	0xff, 0xff, 0x03, 0xb5, 0xfe, 0x7b, 0x13, 0xfe, 0x7b, 0x01, 0x8e, 0x01, 
    -	0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xab, 0x00, 0x00, 0x03, 0x8c, 
    -	0x05, 0xb0, 0x00, 0x26, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x04, 
    -	0x02, 0x1b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x3b, 0x00, 0x6e, 0x03, 0x6f, 
    -	0x05, 0x23, 0x00, 0x03, 0x00, 0x09, 0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 
    -	0x2f, 0x30, 0x31, 0x37, 0x27, 0x01, 0x17, 0xa8, 0x6d, 0x02, 0xc7, 0x6d, 
    -	0x6e, 0x43, 0x04, 0x72, 0x43, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x47, 
    -	0x02, 0x30, 0x03, 0x53, 0x05, 0xc5, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x3a, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb0, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0xb2, 0x9b, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x33, 
    -	0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 0x01, 0x33, 0x01, 0x21, 0x11, 
    -	0x27, 0x07, 0x02, 0xbe, 0x95, 0x95, 0xac, 0xfe, 0x39, 0x04, 0x01, 0xc6, 
    -	0xb1, 0xfe, 0x47, 0x01, 0x0d, 0x06, 0x0d, 0x03, 0x69, 0x81, 0xb8, 0xb8, 
    -	0x60, 0x02, 0x7d, 0xfd, 0xa4, 0x01, 0x79, 0x01, 0x1a, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x7a, 0x02, 0x8b, 0x02, 0xfa, 0x05, 0xba, 0x00, 0x13, 
    -	0x00, 0x32, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 
    -	0x2f, 0x1b, 0xb1, 0x13, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb1, 0x0d, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x11, 0xd0, 0x30, 0x31, 0x01, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x23, 0x11, 
    -	0x01, 0x02, 0x1f, 0x24, 0x6e, 0x46, 0x7a, 0x87, 0xb4, 0x47, 0x41, 0x35, 
    -	0x48, 0x13, 0xb4, 0x05, 0xab, 0x78, 0x40, 0x47, 0x97, 0x9c, 0xfe, 0x04, 
    -	0x01, 0xdb, 0x66, 0x5b, 0x36, 0x2f, 0xfd, 0xc9, 0x03, 0x20, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x77, 0x05, 0xb0, 0x02, 0x26, 
    -	0x00, 0x29, 0x00, 0x00, 0x00, 0x07, 0x03, 0x82, 0xff, 0x8a, 0xfe, 0x80, 
    -	0x00, 0x01, 0x00, 0x46, 0x00, 0x00, 0x04, 0x57, 0x05, 0xc5, 0x00, 0x28, 
    -	0x00, 0xa5, 0x00, 0xb0, 0x27, 0x2f, 0xb0, 0x23, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x16, 0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 0x59, 0xb1, 
    -	0x04, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x07, 0xd0, 0xb2, 0xa0, 0x27, 0x01, 0x5d, 0xb2, 0xbf, 0x27, 0x01, 0x71, 
    -	0xb2, 0xdf, 0x27, 0x01, 0x5d, 0xb2, 0x0f, 0x27, 0x01, 0x71, 0xb2, 0x6f, 
    -	0x27, 0x01, 0x5d, 0xb2, 0x4f, 0x27, 0x01, 0x71, 0xb2, 0x80, 0x27, 0x01, 
    -	0x71, 0xb2, 0xf0, 0x27, 0x01, 0x71, 0xb0, 0x27, 0x10, 0xb1, 0x28, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0c, 0xd0, 
    -	0xb0, 0x27, 0x10, 0xb0, 0x0d, 0xd0, 0xb2, 0x3f, 0x23, 0x01, 0x5d, 0xb4, 
    -	0x0f, 0x23, 0x1f, 0x23, 0x02, 0x5d, 0xb0, 0x23, 0x10, 0xb1, 0x24, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0f, 0xd0, 
    -	0xb0, 0x23, 0x10, 0xb0, 0x11, 0xd0, 0xb0, 0x16, 0x10, 0xb1, 0x1e, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x06, 0x06, 0x07, 0x21, 0x07, 0x21, 0x35, 0x33, 0x36, 0x36, 0x37, 0x23, 
    -	0x35, 0x33, 0x27, 0x23, 0x35, 0x33, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x17, 0x21, 0x15, 
    -	0x21, 0x17, 0x21, 0x15, 0x01, 0xb3, 0x02, 0x1e, 0x1b, 0x02, 0xdf, 0x01, 
    -	0xfc, 0x30, 0x0a, 0x2d, 0x2f, 0x04, 0xaa, 0xa5, 0x06, 0x9e, 0x98, 0x05, 
    -	0xe0, 0xbc, 0xc8, 0xdc, 0x04, 0x02, 0xbe, 0x7e, 0x62, 0x63, 0x74, 0x05, 
    -	0x01, 0xa6, 0xfe, 0x60, 0x05, 0x01, 0x9b, 0x01, 0xb9, 0x53, 0x96, 0x36, 
    -	0x9a, 0x9a, 0x0c, 0xad, 0x66, 0x9b, 0x8f, 0x9b, 0x92, 0xcc, 0xe9, 0xd1, 
    -	0xac, 0x06, 0x76, 0x72, 0x95, 0x85, 0x92, 0x9b, 0x8f, 0x9b, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0xa4, 0xff, 0xeb, 0x06, 0x10, 0x05, 0xb0, 0x00, 0x23, 
    -	0x00, 0x2c, 0x00, 0x7f, 0x00, 0xb0, 0x19, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x22, 0x2f, 0x1b, 0xb1, 0x22, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x1c, 0x2f, 0x1b, 0xb1, 0x1c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 0x1b, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 0x06, 0x3e, 0x59, 
    -	0xb0, 0x22, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x22, 0x10, 0xb1, 0x13, 0x05, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 
    -	0xb0, 0x0f, 0x10, 0xb1, 0x08, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x19, 0x10, 0xb1, 0x24, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1c, 0x10, 0xb1, 0x2c, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x17, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x06, 0x07, 0x06, 0x23, 
    -	0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x17, 0x16, 0x17, 0x33, 0x11, 0x01, 
    -	0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x05, 0x39, 0xcd, 0xcd, 
    -	0x3f, 0x34, 0x11, 0x29, 0x10, 0x1a, 0x16, 0x55, 0x2b, 0x78, 0x8e, 0x87, 
    -	0x14, 0x69, 0x82, 0xe8, 0x9d, 0xc5, 0x01, 0x62, 0xe8, 0x82, 0x69, 0x14, 
    -	0x87, 0xfc, 0xf5, 0x9d, 0x93, 0x93, 0x93, 0x93, 0x9d, 0x05, 0x3f, 0xfe, 
    -	0xfb, 0x92, 0xfd, 0x6f, 0x4c, 0x3e, 0x08, 0x06, 0x87, 0x12, 0x17, 0x91, 
    -	0x9b, 0x02, 0x91, 0x95, 0x64, 0x7b, 0xfd, 0xcc, 0x05, 0xb0, 0x7d, 0x65, 
    -	0x94, 0x01, 0x05, 0xfd, 0x90, 0xa7, 0x7a, 0x7b, 0xaa, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x62, 0xfe, 0xec, 0x04, 0xba, 0x06, 0x18, 0x00, 0x27, 
    -	0x00, 0x42, 0x00, 0xa1, 0xff, 0x86, 0x00, 0x06, 0x00, 0xd3, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x4f, 0xff, 0xeb, 0x03, 0xd5, 0x05, 0xc5, 0x00, 0x2a, 
    -	0x00, 0x7a, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 
    -	0x1a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 0x1b, 
    -	0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb2, 0x2a, 0x26, 0x03, 0x2b, 0xb0, 0x2a, 
    -	0x10, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0c, 0x10, 0xb1, 0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x0f, 0xd0, 0xb0, 0x2a, 
    -	0x10, 0xb0, 0x12, 0xd0, 0xb4, 0x0f, 0x26, 0x1f, 0x26, 0x02, 0x5d, 0xb0, 
    -	0x26, 0x10, 0xb1, 0x27, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x14, 0xd0, 0xb0, 0x26, 0x10, 0xb0, 0x15, 0xd0, 0xb0, 
    -	0x1a, 0x10, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x07, 0x06, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x23, 0x35, 0x33, 0x35, 
    -	0x23, 0x35, 0x33, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x03, 
    -	0x92, 0xfe, 0x1b, 0x02, 0x04, 0xab, 0x93, 0x39, 0x70, 0x34, 0x13, 0x38, 
    -	0x7b, 0x3d, 0xe7, 0xfe, 0xe3, 0x92, 0x92, 0x92, 0x92, 0x01, 0x1b, 0xe7, 
    -	0x3b, 0x75, 0x42, 0x13, 0x36, 0x71, 0x38, 0x92, 0xab, 0x01, 0xec, 0xfe, 
    -	0x14, 0x01, 0xec, 0x01, 0xe1, 0x05, 0x8a, 0xcd, 0x11, 0x11, 0x9d, 0x0f, 
    -	0x10, 0x01, 0x21, 0xd5, 0x9b, 0x88, 0x9b, 0x0f, 0xf4, 0x01, 0x23, 0x10, 
    -	0x0f, 0x9f, 0x10, 0x13, 0xce, 0xac, 0x11, 0x9b, 0x88, 0x00, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x7c, 0xff, 0xeb, 0x05, 0x83, 0x05, 0xc5, 0x00, 0x1d, 
    -	0x00, 0x2b, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x65, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x21, 0x2f, 0xb0, 0x3a, 0x2f, 0xb0, 0x3c, 0x2f, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x28, 0x2f, 0x1b, 0xb1, 0x28, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x0b, 0x10, 0xb1, 0x13, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x1a, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x28, 0x10, 0xb1, 0x2f, 0x01, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x21, 0x10, 0xb1, 
    -	0x36, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x01, 0x34, 0x36, 0x33, 0x32, 
    -	0x16, 0x15, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x05, 
    -	0x27, 0x01, 0x17, 0x02, 0xa5, 0x02, 0x04, 0x96, 0x7e, 0x81, 0x9a, 0x99, 
    -	0x80, 0x7e, 0x98, 0x04, 0x02, 0x8a, 0x46, 0x40, 0x41, 0x46, 0x47, 0x42, 
    -	0x3f, 0x45, 0x01, 0x0e, 0xa4, 0x89, 0x88, 0xa5, 0xa4, 0x87, 0x8a, 0xa5, 
    -	0x92, 0x51, 0x4c, 0x49, 0x50, 0x52, 0x49, 0x4a, 0x51, 0xfe, 0x04, 0x6d, 
    -	0x02, 0xc7, 0x6d, 0x04, 0x20, 0x06, 0x69, 0x91, 0xac, 0x7f, 0x4d, 0x7f, 
    -	0xae, 0x94, 0x67, 0x06, 0x39, 0x4e, 0x69, 0x4a, 0x4d, 0x4a, 0x67, 0x50, 
    -	0x36, 0xfd, 0x45, 0x7f, 0xad, 0xad, 0x7f, 0x4e, 0x80, 0xac, 0xac, 0x80, 
    -	0x4b, 0x67, 0x67, 0x4b, 0x4e, 0x4a, 0x68, 0x68, 0x4a, 0xf7, 0x43, 0x04, 
    -	0x72, 0x43, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6a, 0xff, 0xed, 0x03, 0x73, 
    -	0x05, 0xc5, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x59, 0x00, 0xb0, 0x08, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x09, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb0, 0x17, 0xd0, 0xb0, 
    -	0x00, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x20, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb0, 0x25, 0xd0, 0x30, 
    -	0x31, 0x05, 0x07, 0x06, 0x26, 0x35, 0x35, 0x06, 0x06, 0x23, 0x35, 0x32, 
    -	0x36, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x02, 
    -	0x07, 0x15, 0x14, 0x16, 0x33, 0x03, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x11, 0x17, 0x36, 0x36, 0x02, 0xce, 0x06, 0xc7, 0xcd, 0x31, 0x65, 
    -	0x34, 0x37, 0x65, 0x2e, 0x9f, 0x8b, 0x7a, 0x9b, 0xcb, 0xaf, 0x60, 0x75, 
    -	0x20, 0x2c, 0x24, 0x33, 0x32, 0x06, 0x55, 0x5a, 0x0d, 0x02, 0x04, 0xef, 
    -	0xd3, 0x0c, 0x0c, 0x0c, 0xb4, 0x0d, 0x0d, 0x01, 0xd9, 0xb1, 0xca, 0xac, 
    -	0x90, 0x2a, 0x9e, 0xfe, 0xae, 0x64, 0x5c, 0x91, 0x92, 0x03, 0xd1, 0x2c, 
    -	0x4c, 0x4e, 0x6d, 0x6c, 0xfe, 0x9b, 0x01, 0x40, 0xcc, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0xab, 0x00, 0x00, 0x08, 0x4e, 0x05, 0xc2, 0x00, 0x22, 
    -	0x00, 0x31, 0xf7, 0x00, 0x00, 0x23, 0x00, 0x7c, 0x05, 0x23, 0xff, 0xfd, 
    -	0x00, 0x03, 0x00, 0x10, 0x05, 0xce, 0xff, 0x16, 0x00, 0x02, 0x00, 0x67, 
    -	0x03, 0x97, 0x04, 0x60, 0x05, 0xb0, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x6a, 
    -	0x00, 0xb0, 0x12, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0c, 0x2f, 
    -	0x1b, 0xb1, 0x0c, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 
    -	0x2f, 0x1b, 0xb1, 0x16, 0x0c, 0x3e, 0x59, 0xb2, 0xef, 0x12, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x12, 0x01, 0x72, 0xb2, 0x9f, 0x12, 0x01, 0x72, 0xb2, 0x5f, 
    -	0x12, 0x01, 0x71, 0xb2, 0x40, 0x12, 0x01, 0x5d, 0xb2, 0x80, 0x12, 0x01, 
    -	0x5d, 0xb0, 0x12, 0x10, 0xb0, 0x07, 0xd0, 0xb0, 0x03, 0xd0, 0xb0, 0x0f, 
    -	0xd0, 0xb0, 0x08, 0x10, 0xb0, 0x10, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x14, 0xd0, 0xb0, 0x15, 0xd0, 0x30, 0x31, 0x01, 0x27, 
    -	0x03, 0x23, 0x03, 0x07, 0x11, 0x23, 0x11, 0x33, 0x13, 0x33, 0x13, 0x33, 
    -	0x11, 0x23, 0x01, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x04, 0x03, 
    -	0x06, 0x96, 0x33, 0x9c, 0x06, 0x5d, 0x74, 0xa1, 0x06, 0xa2, 0x6e, 0x5d, 
    -	0xfd, 0xe4, 0x91, 0x5e, 0x91, 0x01, 0x80, 0x04, 0xee, 0x02, 0xfe, 0xa7, 
    -	0x01, 0x67, 0x02, 0xfe, 0x9b, 0x02, 0x19, 0xfe, 0x7a, 0x01, 0x86, 0xfd, 
    -	0xe7, 0x01, 0xc7, 0xfe, 0x39, 0x01, 0xc7, 0x52, 0x00, 0x02, 0x00, 0x98, 
    -	0xff, 0xec, 0x04, 0x93, 0x04, 0x4e, 0x00, 0x15, 0x00, 0x1e, 0x00, 0x53, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0a, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x0e, 0x03, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x0e, 
    -	0x2f, 0xb0, 0x03, 0x10, 0xb0, 0x12, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb2, 0x70, 0x12, 0x01, 0x71, 0xb0, 0x09, 0x10, 0xb0, 0x16, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 
    -	0x1a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x25, 
    -	0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 0x15, 
    -	0x15, 0x21, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x01, 0x22, 0x06, 
    -	0x07, 0x11, 0x21, 0x11, 0x26, 0x26, 0x04, 0x16, 0x57, 0xbc, 0x5f, 0xda, 
    -	0xfe, 0xce, 0x01, 0x43, 0xc9, 0xcf, 0x01, 0x20, 0xfd, 0x00, 0x37, 0x8d, 
    -	0x4d, 0x5f, 0xba, 0x57, 0xfe, 0x90, 0x4a, 0x8d, 0x3a, 0x02, 0x1c, 0x36, 
    -	0x8b, 0x5e, 0x37, 0x3b, 0x01, 0x49, 0xe8, 0xe2, 0x01, 0x4f, 0xfe, 0xca, 
    -	0xe7, 0x2f, 0xfe, 0xb8, 0x35, 0x39, 0x3c, 0x3e, 0x03, 0x2a, 0x41, 0x39, 
    -	0xfe, 0xeb, 0x01, 0x1e, 0x34, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0xff, 0xf5, 0x06, 0x52, 0x05, 0xb2, 0x00, 0x27, 0x03, 0xae, 0x00, 0x0c, 
    -	0x02, 0x86, 0x00, 0x27, 0x03, 0x46, 0x01, 0x06, 0x00, 0x00, 0x01, 0x07, 
    -	0x03, 0x6d, 0x03, 0x4b, 0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x13, 0x2f, 0x1b, 0xb1, 0x13, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x2b, 0xd0, 0xb0, 0x13, 0x10, 0xb0, 0x37, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x6e, 0xff, 0xf5, 0x06, 0xe9, 0x05, 0xc0, 0x00, 0x27, 
    -	0x03, 0xab, 0x00, 0x04, 0x02, 0x94, 0x00, 0x27, 0x03, 0x46, 0x01, 0xbf, 
    -	0x00, 0x00, 0x01, 0x07, 0x03, 0x6d, 0x03, 0xe2, 0x00, 0x00, 0x00, 0x26, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x38, 0x2f, 0x1b, 0xb1, 0x38, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x50, 0xd0, 0xb0, 0x38, 0x10, 0xb0, 0x5c, 0xd0, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xf5, 0x07, 0x19, 
    -	0x05, 0xaf, 0x00, 0x27, 0x03, 0xa9, 0xff, 0xfe, 0x02, 0x8e, 0x00, 0x27, 
    -	0x03, 0x46, 0x01, 0xf7, 0x00, 0x00, 0x01, 0x07, 0x03, 0x6d, 0x04, 0x12, 
    -	0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 
    -	0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x2d, 
    -	0x2f, 0x1b, 0xb1, 0x2d, 0x06, 0x3e, 0x59, 0xb0, 0x45, 0xd0, 0xb0, 0x2d, 
    -	0x10, 0xb0, 0x51, 0xd0, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x6b, 
    -	0xff, 0xf5, 0x06, 0x72, 0x05, 0xaf, 0x00, 0x27, 0x03, 0xb3, 0x00, 0x0c, 
    -	0x02, 0x8e, 0x00, 0x27, 0x03, 0x46, 0x01, 0x36, 0x00, 0x00, 0x01, 0x07, 
    -	0x03, 0x6d, 0x03, 0x6b, 0x00, 0x00, 0x00, 0x26, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x32, 0xd0, 0xb0, 0x1a, 0x10, 0xb0, 0x3e, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x48, 0xff, 0xeb, 0x04, 0x30, 0x05, 0xed, 0x00, 0x14, 
    -	0x00, 0x21, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x2f, 0xb0, 0x0d, 0x2f, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x06, 0x3e, 0x59, 
    -	0xb1, 0x15, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x0d, 0x10, 0xb1, 0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x04, 0x00, 0x11, 0x15, 0x14, 0x00, 
    -	0x23, 0x22, 0x00, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x26, 
    -	0x26, 0x27, 0x13, 0x32, 0x36, 0x35, 0x35, 0x26, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x14, 0x16, 0x01, 0xe7, 0x01, 0x07, 0x01, 0x42, 0xfe, 0xe0, 0xd7, 
    -	0xda, 0xfe, 0xe9, 0xfa, 0xda, 0x5f, 0xa8, 0x36, 0x03, 0x16, 0xeb, 0xb0, 
    -	0x92, 0x85, 0xa9, 0x24, 0xac, 0x7f, 0x88, 0x87, 0xa4, 0x05, 0xed, 0x3f, 
    -	0xfe, 0x6c, 0xfe, 0xd9, 0xdc, 0xf5, 0xfe, 0xc9, 0x01, 0x18, 0xcf, 0xe9, 
    -	0x01, 0x17, 0x3b, 0x34, 0x05, 0xc1, 0xec, 0x34, 0xfb, 0x3c, 0xe4, 0xae, 
    -	0x81, 0x43, 0x5c, 0xc9, 0x9c, 0x84, 0xc9, 0x00, 0x00, 0x01, 0x00, 0xa8, 
    -	0xff, 0x2d, 0x04, 0xf4, 0x05, 0xb0, 0x00, 0x07, 0x00, 0x28, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x01, 0xd0, 0xb0, 0x06, 0x10, 
    -	0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x05, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x04, 0xf4, 
    -	0xc5, 0xfd, 0x3e, 0xc5, 0x04, 0x4c, 0xd3, 0x05, 0xe8, 0xfa, 0x18, 0x06, 
    -	0x83, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 0xfe, 0xf3, 0x04, 0xae, 
    -	0x05, 0xb0, 0x00, 0x0e, 0x00, 0x31, 0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 
    -	0x04, 0x10, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x01, 0x17, 0x21, 0x15, 
    -	0x21, 0x35, 0x01, 0x01, 0x35, 0x21, 0x15, 0x21, 0x07, 0x01, 0x03, 0x65, 
    -	0xfd, 0xd2, 0x02, 0x03, 0x75, 0xfb, 0x98, 0x02, 0x62, 0xfd, 0x9e, 0x04, 
    -	0x19, 0xfc, 0xd8, 0x02, 0x02, 0x30, 0x02, 0x24, 0xfd, 0x6f, 0x05, 0x9b, 
    -	0x92, 0x02, 0xc9, 0x02, 0xcf, 0x93, 0x9b, 0x05, 0xfd, 0x67, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0xa8, 0x02, 0x88, 0x03, 0xeb, 0x03, 0x23, 0x00, 0x03, 
    -	0x00, 0x12, 0x00, 0xb0, 0x02, 0x2f, 0xb1, 0x01, 0x03, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 
    -	0x03, 0xeb, 0xfc, 0xbd, 0x03, 0x43, 0x02, 0x88, 0x9b, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x04, 0xad, 0x05, 0xb0, 0x00, 0x0b, 
    -	0x00, 0x3e, 0x00, 0xb0, 0x0a, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 
    -	0x2f, 0x1b, 0xb1, 0x04, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0xd0, 0x40, 
    -	0x09, 0x64, 0x01, 0x74, 0x01, 0x84, 0x01, 0x94, 0x01, 0x04, 0x5d, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x01, 0x33, 0x01, 0x23, 
    -	0x03, 0x23, 0x35, 0x21, 0x02, 0x2a, 0x12, 0x06, 0x13, 0x01, 0x8f, 0xc9, 
    -	0xfd, 0xdb, 0x95, 0xf8, 0xbc, 0x01, 0x48, 0x01, 0x54, 0x53, 0x53, 0x04, 
    -	0x5c, 0xfa, 0x50, 0x02, 0x74, 0x9c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x68, 
    -	0xff, 0xeb, 0x07, 0xbb, 0x04, 0x4e, 0x00, 0x19, 0x00, 0x27, 0x00, 0x35, 
    -	0x00, 0x5b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 
    -	0x10, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x16, 0x2f, 0x1b, 
    -	0xb1, 0x16, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 
    -	0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 
    -	0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb1, 0x1d, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x10, 0x10, 0xb1, 0x24, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2b, 
    -	0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x32, 0xd0, 0x30, 0x31, 0x01, 0x14, 0x02, 
    -	0x23, 0x22, 0x26, 0x27, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x35, 0x34, 
    -	0x12, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x05, 
    -	0x14, 0x16, 0x33, 0x32, 0x12, 0x37, 0x35, 0x26, 0x02, 0x23, 0x22, 0x06, 
    -	0x15, 0x21, 0x34, 0x26, 0x23, 0x22, 0x02, 0x07, 0x15, 0x16, 0x12, 0x33, 
    -	0x32, 0x36, 0x35, 0x07, 0xbb, 0xfa, 0xcd, 0xa5, 0xee, 0x50, 0x50, 0xef, 
    -	0xa3, 0xce, 0xf9, 0xf8, 0xcd, 0xa4, 0xf0, 0x51, 0x4f, 0xf0, 0xa5, 0xcb, 
    -	0xfa, 0xf9, 0x72, 0x83, 0x7f, 0x89, 0xd5, 0x1b, 0x1c, 0xd5, 0x8a, 0x7e, 
    -	0x82, 0x05, 0xc9, 0x84, 0x7c, 0x8a, 0xd4, 0x1e, 0x1d, 0xd4, 0x89, 0x7e, 
    -	0x84, 0x01, 0xfb, 0xe1, 0xfe, 0xd1, 0xd7, 0x9c, 0x9b, 0xd8, 0x01, 0x2f, 
    -	0xe1, 0x42, 0xe0, 0x01, 0x31, 0xd8, 0x9b, 0x9a, 0xd9, 0xfe, 0xce, 0xdf, 
    -	0x42, 0xaa, 0xcc, 0x01, 0x17, 0x6c, 0x2a, 0x6a, 0x01, 0x17, 0xcf, 0xa7, 
    -	0xa7, 0xcf, 0xfe, 0xeb, 0x6c, 0x2a, 0x6e, 0xfe, 0xeb, 0xcd, 0xa9, 0x00, 
    -	0x00, 0x01, 0xff, 0xbc, 0xfe, 0x4b, 0x02, 0x93, 0x06, 0x2d, 0x00, 0x1b, 
    -	0x00, 0x2e, 0x00, 0xb0, 0x11, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x08, 0x3e, 0x59, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb1, 0x18, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x01, 0x70, 0xac, 0x99, 0x1f, 0x33, 0x1d, 0x0e, 
    -	0x0e, 0x41, 0x12, 0x3b, 0x45, 0xb6, 0xa2, 0x21, 0x45, 0x2a, 0x18, 0x14, 
    -	0x2c, 0x19, 0x57, 0x5b, 0x59, 0xa7, 0xb5, 0x09, 0x09, 0x96, 0x05, 0x08, 
    -	0x67, 0x5a, 0x05, 0x1c, 0xad, 0xbd, 0x0b, 0x0a, 0x91, 0x05, 0x06, 0x6d, 
    -	0x62, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x65, 0x01, 0x10, 0x04, 0x14, 
    -	0x04, 0x00, 0x00, 0x19, 0x00, 0x33, 0x00, 0x70, 0x00, 0xb2, 0x16, 0x1d, 
    -	0x03, 0x2b, 0xb0, 0x16, 0x10, 0xb1, 0x03, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x10, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x19, 0xd0, 0xb0, 0x1d, 0x10, 0xb0, 0x23, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x1d, 0x10, 0xb0, 0x26, 0xd0, 0xb0, 0x23, 
    -	0x10, 0xb1, 0x2a, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x1d, 0x10, 0xb1, 0x30, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x2a, 0x10, 0xb0, 0x33, 0xd0, 0x30, 0x31, 
    -	0x13, 0x36, 0x36, 0x33, 0x36, 0x16, 0x17, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, 0x26, 0x07, 0x22, 
    -	0x06, 0x07, 0x07, 0x36, 0x36, 0x33, 0x36, 0x16, 0x17, 0x16, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x17, 0x06, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, 0x26, 
    -	0x07, 0x22, 0x06, 0x07, 0x6f, 0x2f, 0x7c, 0x41, 0x45, 0x40, 0x65, 0x56, 
    -	0x42, 0x42, 0x40, 0x7c, 0x30, 0x09, 0x30, 0x7c, 0x40, 0x42, 0x42, 0x56, 
    -	0x65, 0x40, 0x45, 0x41, 0x7c, 0x2f, 0x13, 0x2f, 0x7c, 0x41, 0x45, 0x40, 
    -	0x65, 0x59, 0x40, 0x41, 0x40, 0x7c, 0x30, 0x09, 0x30, 0x7c, 0x40, 0x42, 
    -	0x42, 0x56, 0x69, 0x3d, 0x44, 0x41, 0x7c, 0x2f, 0x03, 0x6a, 0x44, 0x4e, 
    -	0x01, 0x18, 0x32, 0x2c, 0x19, 0x4d, 0x45, 0xae, 0x45, 0x4d, 0x19, 0x2c, 
    -	0x32, 0x18, 0x01, 0x4e, 0x44, 0xfd, 0x44, 0x4e, 0x01, 0x18, 0x32, 0x2e, 
    -	0x18, 0x4d, 0x46, 0xaf, 0x45, 0x4d, 0x19, 0x2c, 0x34, 0x17, 0x01, 0x4e, 
    -	0x45, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x98, 0x00, 0xa7, 0x03, 0xda, 
    -	0x04, 0xe3, 0x00, 0x13, 0x00, 0x38, 0x00, 0xb2, 0x0f, 0x0c, 0x03, 0x2b, 
    -	0xb0, 0x0f, 0x10, 0xb1, 0x10, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x00, 0xd0, 0xb0, 0x0f, 0x10, 0xb0, 0x03, 0xd0, 
    -	0xb0, 0x0c, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 0x0c, 0x10, 0xb1, 0x0b, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x07, 0xd0, 
    -	0x30, 0x31, 0x01, 0x33, 0x15, 0x21, 0x07, 0x21, 0x15, 0x21, 0x07, 0x27, 
    -	0x37, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x13, 0x17, 0x03, 0x19, 
    -	0xc1, 0xfe, 0xe4, 0x8c, 0x01, 0xa8, 0xfd, 0xfd, 0x85, 0x57, 0x64, 0xc7, 
    -	0x01, 0x22, 0x8c, 0xfe, 0x52, 0x02, 0x09, 0x93, 0x57, 0x03, 0xdb, 0xa4, 
    -	0xfc, 0xa4, 0xf0, 0x3c, 0xb4, 0xa4, 0xfc, 0xa4, 0x01, 0x08, 0x3c, 0x00, 
    -	0xff, 0xff, 0x00, 0x9e, 0x00, 0x07, 0x03, 0xe7, 0x04, 0x3a, 0x00, 0x27, 
    -	0x03, 0x5a, 0xff, 0xfc, 0xfd, 0x7f, 0x01, 0x47, 0x00, 0x1f, 0x00, 0x57, 
    -	0x00, 0xbc, 0x40, 0x00, 0x39, 0x9a, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 0x09, 
    -	0xd0, 0xb2, 0x0f, 0x09, 0x01, 0x5d, 0xb2, 0x2f, 0x09, 0x01, 0x71, 0xb2, 
    -	0xaf, 0x09, 0x01, 0x71, 0xb2, 0xbf, 0x09, 0x01, 0x5d, 0xb2, 0x30, 0x09, 
    -	0x01, 0x71, 0xb2, 0xc0, 0x09, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x9a, 0x00, 0x05, 0x03, 0xf2, 0x04, 0x3a, 0x00, 0x27, 
    -	0x03, 0x5a, 0xff, 0xfc, 0xfd, 0x7d, 0x01, 0x47, 0x00, 0x21, 0x00, 0x12, 
    -	0x00, 0xbc, 0x40, 0x00, 0x39, 0x9a, 0x00, 0x31, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 0x3e, 0x59, 0xb0, 0x08, 
    -	0xd0, 0xb2, 0x0f, 0x08, 0x01, 0x5d, 0xb2, 0x2f, 0x08, 0x01, 0x71, 0xb2, 
    -	0xaf, 0x08, 0x01, 0x71, 0xb2, 0xbf, 0x08, 0x01, 0x5d, 0xb2, 0x30, 0x08, 
    -	0x01, 0x71, 0xb2, 0xc0, 0x08, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0x00, 0x02, 0x00, 0x29, 0x00, 0x00, 0x03, 0xdf, 0x05, 0xb0, 0x00, 0x05, 
    -	0x00, 0x0f, 0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 
    -	0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb0, 0x08, 
    -	0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x0d, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x01, 
    -	0x01, 0x23, 0x01, 0x21, 0x01, 0x27, 0x23, 0x07, 0x03, 0x01, 0x17, 0x33, 
    -	0x37, 0x01, 0xb7, 0x96, 0x01, 0x92, 0xfe, 0x71, 0x95, 0xfe, 0x6e, 0x02, 
    -	0xed, 0xfe, 0xff, 0x11, 0x06, 0x12, 0xfa, 0x01, 0x01, 0x11, 0x06, 0x12, 
    -	0x05, 0xb0, 0xfd, 0x27, 0xfd, 0x29, 0x02, 0xd7, 0x02, 0x00, 0x32, 0x32, 
    -	0xfe, 0x00, 0xfe, 0x01, 0x32, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x65, 
    -	0xff, 0x7a, 0x01, 0x40, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x1c, 0x00, 0xb0, 
    -	0x04, 0x2f, 0xb2, 0x00, 0x04, 0x01, 0x5d, 0xb4, 0x40, 0x04, 0x50, 0x04, 
    -	0x02, 0x5d, 0xb0, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0x30, 0x31, 0x25, 0x07, 0x23, 0x37, 0x35, 0x33, 0x01, 0x40, 0x7a, 0x61, 
    -	0x3d, 0x9e, 0x67, 0xed, 0xf6, 0x83, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1c, 
    -	0x00, 0x00, 0x03, 0xd5, 0x06, 0x2d, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x73, 
    -	0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 
    -	0xb1, 0x03, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x13, 0x2f, 
    -	0x1b, 0xb1, 0x13, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 
    -	0x2f, 0x1b, 0xb1, 0x1a, 0x0a, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x18, 0x2f, 0x1b, 0xb1, 0x18, 0x06, 0x3e, 0x59, 0xb0, 0x03, 0x10, 
    -	0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x2f, 0x08, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb0, 
    -	0x15, 0xd0, 0xb0, 0x16, 0xd0, 0x30, 0x31, 0x33, 0x11, 0x23, 0x35, 0x33, 
    -	0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x33, 0x15, 0x23, 0x11, 0x21, 0x23, 0x11, 0x33, 0xc6, 
    -	0xaa, 0xaa, 0xd5, 0xbd, 0x43, 0x82, 0x58, 0x22, 0x35, 0x78, 0x3f, 0x75, 
    -	0x67, 0xd7, 0xd7, 0x02, 0x4a, 0xc6, 0xc6, 0x03, 0xa8, 0x92, 0x75, 0xb6, 
    -	0xc8, 0x1f, 0x1e, 0xa0, 0x15, 0x1e, 0x68, 0x6c, 0x75, 0x92, 0xfc, 0x58, 
    -	0x04, 0x3a, 0x00, 0x00, 0xff, 0xff, 0x00, 0x38, 0x00, 0x00, 0x04, 0x27, 
    -	0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 0x00, 0x07, 0x00, 0x4f, 
    -	0x02, 0xc3, 0x00, 0x00, 0xff, 0xff, 0x00, 0x38, 0x00, 0x00, 0x06, 0x98, 
    -	0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 0x00, 0x07, 0x03, 0x64, 
    -	0x02, 0xc3, 0x00, 0x00, 0xff, 0xff, 0x00, 0x38, 0x00, 0x00, 0x06, 0xea, 
    -	0x06, 0x2d, 0x00, 0x26, 0x00, 0x49, 0x00, 0x00, 0x00, 0x27, 0x00, 0x49, 
    -	0x02, 0xc3, 0x00, 0x00, 0x00, 0x07, 0x00, 0x4f, 0x05, 0x86, 0x00, 0x00, 
    -	0x00, 0x16, 0x00, 0x5b, 0xfe, 0x72, 0x07, 0xee, 0x05, 0xae, 0x00, 0x0d, 
    -	0x00, 0x1c, 0x00, 0x2a, 0x00, 0x3b, 0x00, 0x41, 0x00, 0x47, 0x00, 0x4d, 
    -	0x00, 0x53, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6d, 
    -	0x00, 0x71, 0x00, 0x75, 0x00, 0x7e, 0x00, 0x82, 0x00, 0x86, 0x00, 0x8a, 
    -	0x00, 0x8e, 0x00, 0x92, 0x00, 0x96, 0x02, 0x16, 0x00, 0xb0, 0x3c, 0x2f, 
    -	0xb0, 0x48, 0x2f, 0xb0, 0x84, 0x2f, 0xb0, 0x80, 0x2f, 0xb0, 0x88, 0x2f, 
    -	0xb0, 0x03, 0x2f, 0xb0, 0x0e, 0x2f, 0xb0, 0x30, 0x2f, 0xb0, 0x76, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x49, 0x2f, 0x1b, 0xb1, 0x49, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x67, 0x2f, 0x1b, 0xb1, 0x67, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x63, 0x2f, 0x1b, 0xb1, 0x63, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x5f, 0x2f, 0x1b, 0xb1, 
    -	0x5f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x4f, 0x2f, 0x1b, 
    -	0xb1, 0x4f, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 
    -	0x2f, 0x1b, 0xb1, 0x0f, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x2b, 0x2f, 0x1b, 0xb1, 0x2b, 0x10, 0x3e, 0x59, 0xb2, 0x40, 0x03, 0x01, 
    -	0x5d, 0xb2, 0x40, 0x03, 0x01, 0x71, 0xb2, 0xc0, 0x03, 0x01, 0x5d, 0xb2, 
    -	0x40, 0x0e, 0x01, 0x71, 0xb2, 0xc0, 0x0e, 0x01, 0x5d, 0xb2, 0x40, 0x0e, 
    -	0x01, 0x5d, 0xb2, 0x7f, 0x76, 0x01, 0x72, 0xb2, 0x3f, 0x76, 0x01, 0x5d, 
    -	0xb6, 0x5f, 0x76, 0x6f, 0x76, 0x7f, 0x76, 0x03, 0x5d, 0xb2, 0x5f, 0x76, 
    -	0x01, 0x71, 0xb4, 0xdf, 0x76, 0xef, 0x76, 0x02, 0x5d, 0xb2, 0x4f, 0x76, 
    -	0x01, 0x72, 0xb4, 0xef, 0x76, 0xff, 0x76, 0x02, 0x72, 0xb2, 0x2f, 0x76, 
    -	0x01, 0x71, 0xb2, 0xcf, 0x76, 0x01, 0x71, 0xb0, 0x76, 0x10, 0xb0, 0x54, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x10, 0x54, 0x20, 
    -	0x54, 0x02, 0x72, 0xb2, 0x16, 0x54, 0x76, 0x11, 0x12, 0x39, 0xb0, 0x0a, 
    -	0x10, 0xb0, 0x20, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 
    -	0x10, 0x20, 0x01, 0x72, 0xb0, 0x03, 0x10, 0xb0, 0x27, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x1f, 0x27, 0x01, 0x72, 0xb2, 0xc0, 
    -	0x30, 0x01, 0x5d, 0xb2, 0x40, 0x30, 0x01, 0x71, 0xb2, 0x40, 0x30, 0x01, 
    -	0x5d, 0xb0, 0x30, 0x10, 0xb0, 0x38, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x88, 0x10, 0xb0, 0x3d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x3c, 0x10, 0xb0, 0x3f, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x2f, 0x3f, 0x01, 0x71, 0xb2, 0x4f, 0x3f, 
    -	0x01, 0x72, 0xb0, 0x3c, 0x10, 0xb0, 0x72, 0xd0, 0xb0, 0x6e, 0xd0, 0xb0, 
    -	0x6a, 0xd0, 0xb0, 0x42, 0xd0, 0xb0, 0x3f, 0x10, 0xb0, 0x73, 0xd0, 0xb0, 
    -	0x6f, 0xd0, 0xb0, 0x6b, 0xd0, 0xb0, 0x43, 0xd0, 0xb0, 0x3d, 0x10, 0xb0, 
    -	0x45, 0xd0, 0xb0, 0x49, 0x10, 0xb0, 0x4c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x66, 0xd0, 0xb0, 0x62, 0xd0, 0xb0, 0x5e, 0xd0, 
    -	0xb0, 0x4e, 0xd0, 0xb0, 0x48, 0x10, 0xb0, 0x52, 0xd0, 0xb0, 0x0e, 0x10, 
    -	0xb0, 0x55, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x00, 
    -	0x55, 0x01, 0x72, 0xb0, 0x0f, 0x10, 0xb0, 0x7e, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x40, 0x09, 0xcf, 0x7e, 0xdf, 0x7e, 0xef, 0x7e, 
    -	0xff, 0x7e, 0x04, 0x71, 0xb2, 0x0f, 0x7e, 0x01, 0x72, 0xb0, 0x84, 0x10, 
    -	0xb0, 0x81, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x48, 
    -	0x10, 0xb0, 0x85, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 
    -	0x80, 0x10, 0xb0, 0x89, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x80, 0x10, 0xb0, 0x8c, 0xd0, 0xb0, 0x81, 0x10, 0xb0, 0x8d, 0xd0, 
    -	0xb0, 0x84, 0x10, 0xb0, 0x90, 0xd0, 0xb0, 0x85, 0x10, 0xb0, 0x91, 0xd0, 
    -	0xb0, 0x88, 0x10, 0xb0, 0x94, 0xd0, 0xb0, 0x89, 0x10, 0xb0, 0x95, 0xd0, 
    -	0x30, 0x31, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 
    -	0x33, 0x32, 0x16, 0x15, 0x13, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 
    -	0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x01, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x01, 0x33, 0x11, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x01, 0x11, 0x33, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 
    -	0x33, 0x11, 0x01, 0x11, 0x21, 0x15, 0x23, 0x15, 0x25, 0x35, 0x21, 0x11, 
    -	0x23, 0x35, 0x01, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x23, 
    -	0x13, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 
    -	0x01, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x21, 0x15, 
    -	0x13, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 0x23, 0x35, 
    -	0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x25, 0x23, 0x35, 
    -	0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x03, 0x39, 0x80, 
    -	0x65, 0x68, 0x80, 0x80, 0x66, 0x66, 0x81, 0x43, 0xbc, 0x65, 0x6f, 0x2c, 
    -	0x28, 0x30, 0x36, 0x69, 0x5c, 0xfe, 0x84, 0x4b, 0x40, 0x40, 0x4a, 0x4a, 
    -	0x42, 0x3f, 0x4a, 0x03, 0xba, 0x5c, 0x6a, 0x51, 0x5b, 0x69, 0x06, 0x02, 
    -	0x54, 0x36, 0x32, 0x28, 0x37, 0xf9, 0xc4, 0x71, 0xc4, 0x05, 0x28, 0xc7, 
    -	0x6f, 0xf8, 0x6d, 0x01, 0x35, 0xc4, 0x05, 0xec, 0x01, 0x36, 0x6f, 0xfc, 
    -	0x5c, 0x7e, 0x32, 0x35, 0x33, 0x2f, 0x05, 0xd0, 0x01, 0x16, 0xfd, 0x5b, 
    -	0x01, 0x15, 0xfd, 0x5c, 0x01, 0x14, 0x02, 0x0a, 0x01, 0x16, 0xfd, 0x5b, 
    -	0x01, 0x15, 0xfd, 0x5c, 0x01, 0x14, 0xbc, 0x5d, 0x3a, 0x3c, 0x39, 0x3d, 
    -	0x5d, 0xfc, 0xf1, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x07, 0x22, 0x6f, 
    -	0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x01, 0xd4, 0x62, 0x79, 0x79, 0x62, 0x70, 
    -	0x60, 0x7b, 0x7b, 0x60, 0xfe, 0xb8, 0x02, 0x25, 0x4b, 0x4b, 0x27, 0x3e, 
    -	0x0f, 0x0d, 0x46, 0x2d, 0x4c, 0x4f, 0x01, 0x48, 0x44, 0x4f, 0x4f, 0x44, 
    -	0x70, 0x45, 0x4e, 0x4e, 0x45, 0x01, 0x4f, 0xfe, 0x86, 0x4f, 0x5c, 0x51, 
    -	0x4d, 0x06, 0x2e, 0x2d, 0x36, 0x2c, 0xfc, 0xc9, 0x01, 0x3b, 0xca, 0x71, 
    -	0x71, 0xca, 0xfe, 0xc5, 0x06, 0x1f, 0x01, 0x1d, 0x74, 0xa9, 0xa9, 0x74, 
    -	0xfe, 0xe3, 0xa9, 0xfc, 0xb6, 0xa9, 0x2b, 0x28, 0x26, 0x2e, 0x02, 0x03, 
    -	0x4a, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0xf9, 0x38, 0x71, 0x71, 0x71, 
    -	0x71, 0x71, 0x71, 0x03, 0xc4, 0x28, 0x28, 0x27, 0x20, 0xfe, 0xd3, 0xfc, 
    -	0x7e, 0xfa, 0xfc, 0x15, 0xf9, 0x7e, 0xfc, 0x7e, 0xfa, 0xfc, 0x15, 0xf9, 
    -	0x00, 0x05, 0x00, 0x5c, 0xfd, 0xd5, 0x07, 0xd7, 0x08, 0x62, 0x00, 0x03, 
    -	0x00, 0x1e, 0x00, 0x22, 0x00, 0x26, 0x00, 0x2a, 0x00, 0x00, 0x09, 0x03, 
    -	0x05, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x17, 0x17, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x06, 0x06, 0x15, 0x17, 0x23, 0x15, 0x33, 0x03, 0x33, 0x15, 0x23, 0x03, 
    -	0x33, 0x15, 0x23, 0x04, 0x18, 0x03, 0xbf, 0xfc, 0x41, 0xfc, 0x44, 0x04, 
    -	0x0f, 0x1a, 0x28, 0x48, 0x5e, 0xa9, 0x93, 0x88, 0xa7, 0x03, 0x03, 0xc2, 
    -	0x01, 0x3b, 0x2b, 0x36, 0x3b, 0x33, 0x2a, 0x4f, 0x3b, 0xca, 0xca, 0xca, 
    -	0x4b, 0x04, 0x04, 0x02, 0x04, 0x04, 0x06, 0x52, 0xfc, 0x31, 0xfc, 0x31, 
    -	0x03, 0xcf, 0xf1, 0x35, 0x3d, 0x1a, 0x27, 0x83, 0x4e, 0x80, 0x97, 0x82, 
    -	0x82, 0x06, 0x33, 0x34, 0x3f, 0x35, 0x32, 0x4d, 0x1c, 0x37, 0x5a, 0x58, 
    -	0x5b, 0xaa, 0xfd, 0x4c, 0x04, 0x0a, 0x8d, 0x04, 0xff, 0xff, 0xff, 0x99, 
    -	0x00, 0x00, 0x02, 0x6a, 0x05, 0xb7, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0xff, 0x1e, 0x00, 0x07, 0x00, 0x08, 0x00, 0xb2, 
    -	0x1f, 0x04, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0x02, 0x00, 0x68, 
    -	0x04, 0x6f, 0x02, 0xcc, 0x05, 0xc5, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x13, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0c, 
    -	0x3e, 0x59, 0xb0, 0x01, 0xd0, 0x30, 0x31, 0x01, 0x13, 0x33, 0x15, 0x03, 
    -	0x23, 0x25, 0x37, 0x33, 0x07, 0x15, 0x23, 0x01, 0x95, 0x66, 0xd1, 0xe5, 
    -	0x52, 0xfe, 0xd3, 0xa2, 0x6c, 0x52, 0xbc, 0x04, 0x8c, 0x01, 0x39, 0x15, 
    -	0xfe, 0xc1, 0x8d, 0xc6, 0xcc, 0x89, 0x00, 0x00, 0x00, 0x03, 0x00, 0x70, 
    -	0xff, 0xf5, 0x03, 0x07, 0x03, 0x2c, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 
    -	0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 
    -	0x15, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb2, 0x2d, 0x09, 0x15, 0x11, 0x12, 0x39, 
    -	0xb0, 0x2d, 0x2f, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 0xb1, 0x21, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 0xb1, 0x27, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 
    -	0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 
    -	0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 
    -	0xef, 0x49, 0x3e, 0x49, 0x56, 0xb9, 0x8c, 0x92, 0xc0, 0x59, 0x4c, 0x42, 
    -	0x4a, 0xb1, 0x87, 0x82, 0xac, 0x92, 0x5c, 0x40, 0x46, 0x60, 0x5f, 0x48, 
    -	0x41, 0x5a, 0x1a, 0x4b, 0x37, 0x3d, 0x4f, 0x51, 0x3c, 0x35, 0x4c, 0x02, 
    -	0x50, 0x3b, 0x5b, 0x1b, 0x1c, 0x63, 0x3f, 0x70, 0x7c, 0x7c, 0x70, 0x3f, 
    -	0x64, 0x1c, 0x1b, 0x5a, 0x3b, 0x69, 0x73, 0x73, 0xfe, 0x2f, 0x33, 0x43, 
    -	0x42, 0x34, 0x34, 0x3d, 0x3d, 0x01, 0x93, 0x2d, 0x35, 0x34, 0x2e, 0x2e, 
    -	0x39, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x68, 0xff, 0xf5, 0x02, 0xec, 
    -	0x03, 0x2c, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x53, 0x00, 0xb0, 0x07, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x10, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x00, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb6, 0x0f, 0x07, 0x1f, 0x07, 0x2f, 0x07, 0x03, 0x5d, 0xb0, 
    -	0x07, 0x10, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 
    -	0x06, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 
    -	0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 
    -	0x97, 0x48, 0x60, 0x1f, 0x54, 0x2f, 0x91, 0xa4, 0xb4, 0x8f, 0x8a, 0xb7, 
    -	0xc3, 0x92, 0x33, 0x6e, 0x32, 0x1c, 0x2b, 0x54, 0x48, 0x3c, 0x4f, 0x0d, 
    -	0x58, 0x42, 0x42, 0x50, 0x4b, 0x77, 0x54, 0x43, 0x49, 0x21, 0x22, 0x91, 
    -	0x7a, 0x72, 0x9b, 0xac, 0x86, 0xeb, 0x7d, 0x9d, 0x12, 0x10, 0x7f, 0x11, 
    -	0x0e, 0x01, 0x17, 0x31, 0x23, 0x18, 0x4c, 0x63, 0x53, 0x37, 0x42, 0x4f, 
    -	0x00, 0x02, 0x00, 0x78, 0xff, 0xef, 0x03, 0xd7, 0x04, 0x9d, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x4d, 0x00, 0xb0, 0x0e, 0x2f, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 
    -	0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x36, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x24, 
    -	0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x02, 0x4f, 0x42, 0x93, 0x43, 0x21, 0x3a, 0x72, 0x49, 0x79, 0x9b, 
    -	0x32, 0x8f, 0x58, 0xb9, 0xc8, 0xef, 0xbf, 0xba, 0xf7, 0x01, 0x11, 0xa1, 
    -	0x58, 0x7a, 0x1b, 0x86, 0x66, 0x69, 0x80, 0x72, 0x04, 0x9d, 0x1c, 0x17, 
    -	0x94, 0x18, 0x16, 0xa3, 0x7d, 0x6a, 0x34, 0x3a, 0xc6, 0xb3, 0xab, 0xd5, 
    -	0xf8, 0xc4, 0x01, 0x37, 0xc3, 0xf8, 0xfd, 0xb1, 0x40, 0x36, 0x2d, 0x7d, 
    -	0xa7, 0x86, 0x62, 0x68, 0x77, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x47, 
    -	0x00, 0x00, 0x04, 0x15, 0x04, 0x8d, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x4b, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0xb2, 0x7b, 0x0d, 0x01, 0x5d, 0xb2, 0x5b, 0x0d, 0x01, 
    -	0x5d, 0x30, 0x31, 0x01, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 
    -	0x01, 0x33, 0x03, 0x11, 0x27, 0x01, 0x03, 0x52, 0xc3, 0xc3, 0xc5, 0xfd, 
    -	0xbe, 0x04, 0x02, 0x3f, 0xcc, 0xc5, 0x06, 0xfe, 0x99, 0x01, 0x85, 0x9a, 
    -	0xeb, 0xeb, 0x7a, 0x03, 0x28, 0xfc, 0xf8, 0x01, 0xfb, 0x02, 0xfe, 0x03, 
    -	0x00, 0x01, 0x00, 0x5a, 0xff, 0xef, 0x03, 0xa3, 0x04, 0x9d, 0x00, 0x2a, 
    -	0x00, 0x85, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 
    -	0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 
    -	0xb1, 0x1a, 0x06, 0x3e, 0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 
    -	0x09, 0xd0, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x2a, 0x06, 0x22, 0x11, 0x12, 0x39, 
    -	0xb0, 0x2a, 0x2f, 0xb4, 0xdf, 0x2a, 0xef, 0x2a, 0x02, 0x5d, 0xb4, 0x1f, 
    -	0x2a, 0x2f, 0x2a, 0x02, 0x5d, 0xb2, 0xaf, 0x2a, 0x01, 0x5d, 0xb4, 0x9f, 
    -	0x2a, 0xaf, 0x2a, 0x02, 0x71, 0xb4, 0x6f, 0x2a, 0x7f, 0x2a, 0x02, 0x72, 
    -	0xb1, 0x29, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x14, 0x29, 0x2a, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb0, 0x1f, 
    -	0xd0, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x02, 0x00, 
    -	0x68, 0x63, 0x6e, 0x6a, 0x54, 0x72, 0xbb, 0x02, 0x06, 0xe2, 0xa7, 0xc0, 
    -	0xdd, 0x60, 0x54, 0x60, 0x67, 0xf0, 0xc0, 0xa8, 0xf1, 0x05, 0x02, 0xba, 
    -	0x79, 0x5f, 0x6c, 0x7e, 0x6f, 0x6e, 0xa8, 0x02, 0x9d, 0x5f, 0x54, 0x4c, 
    -	0x68, 0x60, 0x47, 0x06, 0x8c, 0xae, 0xac, 0xa0, 0x50, 0x85, 0x26, 0x23, 
    -	0x8a, 0x63, 0xa1, 0xb6, 0xab, 0xa2, 0x06, 0x4d, 0x6e, 0x6d, 0x52, 0x62, 
    -	0x5f, 0x96, 0x00, 0x00, 0x00, 0x01, 0x00, 0x59, 0x00, 0x00, 0x03, 0x73, 
    -	0x04, 0x9d, 0x00, 0x1a, 0x00, 0x4e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb1, 0x19, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0xd0, 
    -	0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 0x11, 0x10, 0xb1, 0x09, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x11, 
    -	0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x17, 0xd0, 0x30, 0x31, 
    -	0x21, 0x21, 0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 
    -	0x07, 0x17, 0x21, 0x03, 0x73, 0xfc, 0xf3, 0x01, 0x96, 0x66, 0x45, 0x5c, 
    -	0x57, 0x65, 0x72, 0xbc, 0x02, 0x06, 0xe0, 0xbb, 0xaf, 0xc9, 0x75, 0x9e, 
    -	0xf8, 0x03, 0x02, 0x0f, 0x98, 0x01, 0x96, 0x61, 0x72, 0x3e, 0x54, 0x71, 
    -	0x73, 0x53, 0x06, 0x8f, 0xca, 0xb8, 0xa8, 0x6d, 0x99, 0xa0, 0xf9, 0x06, 
    -	0x00, 0x01, 0x00, 0x4e, 0x00, 0x00, 0x01, 0xc3, 0x04, 0x9d, 0x00, 0x05, 
    -	0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x05, 0x10, 0xb0, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x07, 
    -	0x35, 0x25, 0x01, 0xc3, 0xc5, 0xb0, 0x01, 0x75, 0x03, 0xde, 0x02, 0xa0, 
    -	0x21, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x78, 0xff, 0xef, 0x03, 0xfa, 
    -	0x04, 0x9d, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x23, 0x22, 
    -	0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x27, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 
    -	0xfa, 0xf7, 0xc9, 0xca, 0xf8, 0xf7, 0xc9, 0xca, 0xf8, 0xc5, 0x88, 0x75, 
    -	0x73, 0x88, 0x89, 0x74, 0x74, 0x87, 0x01, 0x9b, 0xc5, 0xe7, 0xe8, 0xc4, 
    -	0x01, 0x57, 0xc3, 0xe8, 0xe8, 0xc3, 0x01, 0x7c, 0x95, 0x96, 0x7b, 0xfe, 
    -	0xa8, 0x7d, 0x97, 0x96, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 
    -	0x00, 0x00, 0x03, 0xd8, 0x04, 0x8d, 0x00, 0x09, 0x00, 0x46, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x04, 0x00, 0x02, 0x11, 0x12, 0x39, 0xb0, 0x07, 0x10, 0xb1, 
    -	0x05, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x09, 0x05, 0x07, 0x11, 0x12, 0x39, 0x30, 0x31, 0x25, 0x21, 0x15, 0x21, 
    -	0x35, 0x01, 0x21, 0x35, 0x21, 0x15, 0x01, 0x3d, 0x02, 0x9b, 0xfc, 0x76, 
    -	0x02, 0x81, 0xfd, 0xa1, 0x03, 0x50, 0x98, 0x98, 0x76, 0x03, 0x7e, 0x99, 
    -	0x72, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x04, 0x35, 
    -	0x04, 0x8d, 0x00, 0x08, 0x00, 0x6f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x00, 
    -	0x04, 0x07, 0x11, 0x12, 0x39, 0x40, 0x09, 0x65, 0x00, 0x75, 0x00, 0x85, 
    -	0x00, 0x95, 0x00, 0x04, 0x5d, 0xb0, 0x00, 0x10, 0xb0, 0x03, 0xd0, 0xb2, 
    -	0x5b, 0x03, 0x01, 0x5d, 0xb6, 0x7b, 0x03, 0x8b, 0x03, 0x9b, 0x03, 0x03, 
    -	0x5d, 0xb2, 0x6a, 0x03, 0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb0, 0x06, 0xd0, 
    -	0xb6, 0x7b, 0x06, 0x8b, 0x06, 0x9b, 0x06, 0x03, 0x5d, 0xb2, 0x5b, 0x06, 
    -	0x01, 0x5d, 0xb2, 0x6a, 0x06, 0x01, 0x5d, 0x30, 0x31, 0x01, 0x01, 0x33, 
    -	0x01, 0x11, 0x23, 0x11, 0x01, 0x33, 0x02, 0x29, 0x01, 0x2f, 0xdd, 0xfe, 
    -	0x54, 0xc5, 0xfe, 0x5a, 0xdd, 0x02, 0x4d, 0x02, 0x40, 0xfd, 0x0d, 0xfe, 
    -	0x66, 0x01, 0xa3, 0x02, 0xea, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x37, 
    -	0x00, 0x00, 0x04, 0x42, 0x04, 0x8d, 0x00, 0x0b, 0x00, 0x61, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x07, 0x2f, 0x1b, 0xb1, 0x07, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x00, 0x07, 0x0a, 0x11, 0x12, 0x39, 0x40, 0x0b, 
    -	0x55, 0x00, 0x65, 0x00, 0x75, 0x00, 0x85, 0x00, 0x95, 0x00, 0x05, 0x5d, 
    -	0xb2, 0x06, 0x07, 0x0a, 0x11, 0x12, 0x39, 0xb2, 0x5b, 0x06, 0x01, 0x5d, 
    -	0xb6, 0x7a, 0x06, 0x8a, 0x06, 0x9a, 0x06, 0x03, 0x5d, 0x30, 0x31, 0x01, 
    -	0x01, 0x33, 0x01, 0x01, 0x23, 0x01, 0x01, 0x23, 0x01, 0x01, 0x33, 0x02, 
    -	0x3a, 0x01, 0x16, 0xe9, 0xfe, 0x78, 0x01, 0x91, 0xe6, 0xfe, 0xe1, 0xfe, 
    -	0xe3, 0xe9, 0x01, 0x92, 0xfe, 0x77, 0xe8, 0x02, 0xdc, 0x01, 0xb1, 0xfd, 
    -	0xbf, 0xfd, 0xb4, 0x01, 0xba, 0xfe, 0x46, 0x02, 0x4c, 0x02, 0x41, 0x00, 
    -	0x00, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x05, 0xc0, 0x04, 0x8d, 0x00, 0x11, 
    -	0x00, 0x80, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 
    -	0x1b, 0xb1, 0x10, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 
    -	0x2f, 0x1b, 0xb1, 0x0a, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb0, 
    -	0x06, 0xd0, 0xb6, 0x43, 0x06, 0x53, 0x06, 0x63, 0x06, 0x03, 0x5d, 0xb2, 
    -	0x34, 0x06, 0x01, 0x5d, 0xb4, 0x71, 0x06, 0x81, 0x06, 0x02, 0x5d, 0xb2, 
    -	0x90, 0x06, 0x01, 0x5d, 0xb0, 0x01, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 0x0c, 
    -	0xd0, 0xb4, 0x8d, 0x0c, 0x9d, 0x0c, 0x02, 0x5d, 0x40, 0x09, 0x4c, 0x0c, 
    -	0x5c, 0x0c, 0x6c, 0x0c, 0x7c, 0x0c, 0x04, 0x5d, 0x30, 0x31, 0x01, 0x15, 
    -	0x37, 0x13, 0x33, 0x13, 0x15, 0x37, 0x13, 0x33, 0x01, 0x23, 0x03, 0x23, 
    -	0x03, 0x23, 0x01, 0x33, 0x01, 0xc7, 0x01, 0xdd, 0xb7, 0xdd, 0x01, 0xb3, 
    -	0xd3, 0xfe, 0xda, 0xb6, 0xe1, 0x06, 0xe3, 0xb5, 0xfe, 0xda, 0xd3, 0x01, 
    -	0x08, 0x03, 0x05, 0x03, 0x83, 0xfc, 0x7b, 0x03, 0x05, 0x03, 0x83, 0xfb, 
    -	0x73, 0x03, 0x57, 0xfc, 0xa9, 0x04, 0x8d, 0x00, 0x00, 0x01, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x83, 0x04, 0x8d, 0x00, 0x09, 0x00, 0x40, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x02, 0xd0, 0xb4, 0x44, 0x02, 0x54, 0x02, 0x02, 0x5d, 
    -	0x40, 0x09, 0x62, 0x02, 0x72, 0x02, 0x82, 0x02, 0x92, 0x02, 0x04, 0x5d, 
    -	0x30, 0x31, 0x01, 0x17, 0x33, 0x37, 0x01, 0x33, 0x01, 0x23, 0x01, 0x33, 
    -	0x02, 0x3b, 0x17, 0x06, 0x17, 0x01, 0x41, 0xd3, 0xfe, 0x2e, 0xb9, 0xfe, 
    -	0x2f, 0xd3, 0x01, 0x29, 0x52, 0x50, 0x03, 0x66, 0xfb, 0x73, 0x04, 0x8d, 
    -	0x00, 0x01, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 0x04, 0x8d, 0x00, 0x11, 
    -	0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 
    -	0x00, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 
    -	0xb1, 0x08, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x14, 0x04, 
    -	0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x11, 0x04, 0x74, 0xfe, 0xe9, 0xdf, 0xdd, 0xfe, 0xe8, 0xc4, 0xa9, 
    -	0x88, 0x89, 0xa9, 0x04, 0x8d, 0xfd, 0x01, 0xc3, 0xdc, 0xdc, 0xc3, 0x02, 
    -	0xff, 0xfd, 0x01, 0x7b, 0x8c, 0x8b, 0x7c, 0x02, 0xff, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x47, 0x00, 0x00, 0x03, 0xd1, 0x04, 0x8d, 0x00, 0x07, 
    -	0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 
    -	0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x00, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0xd0, 0x30, 
    -	0x31, 0x01, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x03, 0xd1, 0xfe, 
    -	0x9b, 0xc5, 0xfe, 0xa0, 0x03, 0x8a, 0x03, 0xf4, 0xfc, 0x0c, 0x03, 0xf4, 
    -	0x99, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5d, 0xff, 0xef, 0x04, 0x11, 
    -	0x04, 0x9d, 0x00, 0x27, 0x00, 0x5f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x1d, 0x2f, 0x1b, 0xb1, 0x1d, 0x06, 0x3e, 0x59, 0xb2, 0x17, 0x1d, 
    -	0x09, 0x11, 0x12, 0x39, 0xb4, 0xa9, 0x17, 0xb9, 0x17, 0x02, 0x5d, 0xb4, 
    -	0x19, 0x17, 0x29, 0x17, 0x02, 0x5d, 0xb0, 0x17, 0x10, 0xb1, 0x03, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x09, 0x10, 
    -	0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x1d, 0x10, 0xb1, 0x25, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 
    -	0x34, 0x36, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 
    -	0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 
    -	0x24, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x4c, 0x7c, 
    -	0xa2, 0xdf, 0xcb, 0xf3, 0xce, 0xd2, 0xeb, 0x05, 0x02, 0xbb, 0x84, 0x77, 
    -	0x7d, 0x7f, 0x73, 0xb2, 0xd7, 0xcc, 0xfe, 0xda, 0xca, 0xfe, 0xee, 0x06, 
    -	0x01, 0xbc, 0xa3, 0x76, 0x83, 0x90, 0x01, 0x30, 0x47, 0x58, 0x28, 0x3a, 
    -	0x95, 0x96, 0x93, 0xae, 0xba, 0xa8, 0x06, 0x5c, 0x73, 0x5d, 0x4a, 0x49, 
    -	0x51, 0x2b, 0x3a, 0x9c, 0x91, 0x9a, 0xa8, 0xaa, 0xb8, 0x06, 0x6c, 0x64, 
    -	0x5e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x99, 0x00, 0x00, 0x04, 0x2c, 
    -	0x04, 0x8d, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x61, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x12, 0x2f, 0x1b, 0xb1, 0x12, 
    -	0x06, 0x3e, 0x59, 0xb2, 0xbf, 0x00, 0x01, 0x71, 0xb2, 0x2f, 0x00, 0x01, 
    -	0x71, 0xb2, 0x20, 0x00, 0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb1, 0x1b, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0a, 0x00, 
    -	0x1b, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 0x23, 
    -	0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x15, 
    -	0x14, 0x16, 0x17, 0x15, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 
    -	0x25, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0x5e, 0xc5, 
    -	0x01, 0xcd, 0xcd, 0xe1, 0x63, 0x60, 0x68, 0x5b, 0x0b, 0x0d, 0xcb, 0x0c, 
    -	0x06, 0x68, 0x62, 0xfe, 0xd9, 0x01, 0x08, 0x78, 0x70, 0x71, 0x77, 0xfe, 
    -	0xf8, 0x01, 0xdf, 0xfe, 0x21, 0x04, 0x8d, 0xb4, 0xa2, 0x59, 0x7e, 0x27, 
    -	0x1e, 0x90, 0x69, 0x76, 0x2d, 0x56, 0x16, 0x13, 0x17, 0x62, 0x34, 0x74, 
    -	0x5a, 0x64, 0x9a, 0x5e, 0x58, 0x5c, 0x69, 0x00, 0x00, 0x02, 0x00, 0x70, 
    -	0xff, 0x8a, 0x04, 0x9a, 0x04, 0x9d, 0x00, 0x13, 0x00, 0x21, 0x00, 0x42, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x10, 0x2f, 0x1b, 0xb1, 0x10, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x03, 0x09, 0x10, 0x11, 0x12, 0x39, 0xb0, 0x10, 
    -	0x10, 0xb1, 0x17, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x09, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 0x17, 0x07, 
    -	0x27, 0x06, 0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 
    -	0x00, 0x15, 0x27, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x04, 0x5b, 0x34, 0x30, 0xa3, 0x87, 0xa7, 0x38, 
    -	0x85, 0x49, 0xdf, 0xfe, 0xe9, 0x01, 0x15, 0xdf, 0xe0, 0x01, 0x17, 0xc5, 
    -	0xa4, 0x8e, 0x8d, 0xa2, 0xa3, 0x8e, 0x8e, 0xa2, 0x01, 0xcd, 0x59, 0x9b, 
    -	0x3c, 0x9f, 0x74, 0xa1, 0x1e, 0x1e, 0x01, 0x09, 0xd5, 0xf3, 0xd4, 0x01, 
    -	0x09, 0xfe, 0xf7, 0xd4, 0x01, 0x97, 0xac, 0xac, 0x97, 0xf4, 0x9a, 0xac, 
    -	0xac, 0x9a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x8b, 0xff, 0xeb, 0x04, 0x52, 
    -	0x05, 0xc5, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x10, 0x00, 0x23, 0x22, 
    -	0x00, 0x11, 0x11, 0x10, 0x00, 0x33, 0x32, 0x00, 0x11, 0x27, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x52, 0xfe, 0xfe, 0xe0, 0xe0, 0xfe, 0xfb, 0x01, 0x04, 0xdf, 0xe0, 0x01, 
    -	0x04, 0xc5, 0x93, 0x8c, 0x8b, 0x93, 0x95, 0x8b, 0x8c, 0x91, 0x02, 0x2b, 
    -	0xfe, 0xe9, 0xfe, 0xd7, 0x01, 0x2a, 0x01, 0x16, 0x01, 0x59, 0x01, 0x16, 
    -	0x01, 0x2b, 0xfe, 0xd5, 0xfe, 0xea, 0x2a, 0xbd, 0xbf, 0xbf, 0xbd, 0xfe, 
    -	0x55, 0xbd, 0xc1, 0xc0, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x5b, 0x04, 0x9d, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x00, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x00, 
    -	0x15, 0x27, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x04, 0x5b, 0xfe, 0xeb, 0xe0, 0xdf, 0xfe, 0xe9, 0x01, 
    -	0x15, 0xdf, 0xe0, 0x01, 0x17, 0xc5, 0xa4, 0x8e, 0x8d, 0xa2, 0xa3, 0x8e, 
    -	0x8e, 0xa2, 0x01, 0xcd, 0xd6, 0xfe, 0xf8, 0x01, 0x09, 0xd5, 0xf3, 0xd4, 
    -	0x01, 0x09, 0xfe, 0xf7, 0xd4, 0x01, 0x97, 0xac, 0xac, 0x97, 0xf4, 0x9a, 
    -	0xac, 0xac, 0x9a, 0x00, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x04, 0x76, 
    -	0x04, 0x8d, 0x00, 0x0b, 0x00, 0x70, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 
    -	0x06, 0x10, 0xb0, 0x02, 0xd0, 0xb6, 0x7d, 0x02, 0x8d, 0x02, 0x9d, 0x02, 
    -	0x03, 0x5d, 0xb4, 0x5c, 0x02, 0x6c, 0x02, 0x02, 0x5d, 0xb2, 0x4b, 0x02, 
    -	0x01, 0x5d, 0xb0, 0x00, 0x10, 0xb0, 0x08, 0xd0, 0x40, 0x09, 0x24, 0x08, 
    -	0x34, 0x08, 0x44, 0x08, 0x54, 0x08, 0x04, 0x5d, 0x40, 0x09, 0x63, 0x08, 
    -	0x73, 0x08, 0x83, 0x08, 0x93, 0x08, 0x04, 0x5d, 0x30, 0x31, 0x21, 0x23, 
    -	0x01, 0x07, 0x11, 0x23, 0x11, 0x33, 0x01, 0x37, 0x11, 0x33, 0x04, 0x76, 
    -	0xc4, 0xfd, 0xb2, 0x06, 0xc5, 0xc5, 0x02, 0x4e, 0x06, 0xc4, 0x03, 0x5b, 
    -	0x02, 0xfc, 0xa7, 0x04, 0x8d, 0xfc, 0xa5, 0x02, 0x03, 0x59, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x92, 0x02, 0x88, 0x03, 0x13, 0x03, 0x23, 0x00, 0x03, 
    -	0x00, 0x12, 0x00, 0xb0, 0x02, 0x2f, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x35, 0x21, 
    -	0x03, 0x13, 0xfd, 0x7f, 0x02, 0x81, 0x02, 0x88, 0x9b, 0x00, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x05, 0x55, 0x04, 0x8d, 0x00, 0x0f, 
    -	0x00, 0x83, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 
    -	0xb1, 0x0e, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x08, 
    -	0x2f, 0x1b, 0xb1, 0x08, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0c, 0x2f, 0x1b, 0xb1, 0x0c, 0x06, 0x3e, 0x59, 0xb0, 0x08, 0x10, 0xb0, 
    -	0x00, 0xd0, 0xb2, 0x25, 0x00, 0x01, 0x5d, 0x40, 0x09, 0x64, 0x00, 0x74, 
    -	0x00, 0x84, 0x00, 0x94, 0x00, 0x04, 0x5d, 0xb4, 0x43, 0x00, 0x53, 0x00, 
    -	0x02, 0x5d, 0xb0, 0x02, 0x10, 0xb0, 0x07, 0xd0, 0xb4, 0x8f, 0x07, 0x9f, 
    -	0x07, 0x02, 0x5d, 0x40, 0x09, 0x4c, 0x07, 0x5c, 0x07, 0x6c, 0x07, 0x7c, 
    -	0x07, 0x04, 0x5d, 0xb2, 0x2b, 0x07, 0x01, 0x5d, 0xb0, 0x0a, 0xd0, 0x30, 
    -	0x31, 0x01, 0x33, 0x01, 0x33, 0x11, 0x23, 0x11, 0x27, 0x01, 0x23, 0x01, 
    -	0x07, 0x11, 0x23, 0x11, 0x33, 0x02, 0xf7, 0x06, 0x01, 0x62, 0xf6, 0xc5, 
    -	0x06, 0xfe, 0xb4, 0x88, 0xfe, 0xae, 0x06, 0xc5, 0xfe, 0x01, 0x03, 0x03, 
    -	0x8a, 0xfb, 0x73, 0x03, 0x29, 0x02, 0xfc, 0xd5, 0x03, 0x3d, 0x02, 0xfc, 
    -	0xc5, 0x04, 0x8d, 0x00, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x03, 0x6b, 
    -	0x04, 0x8d, 0x00, 0x05, 0x00, 0x29, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 
    -	0x21, 0x15, 0x21, 0x11, 0x33, 0x01, 0x5e, 0x02, 0x0d, 0xfd, 0x2e, 0xc5, 
    -	0x98, 0x98, 0x04, 0x8d, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x04, 0x41, 
    -	0x04, 0x8d, 0x00, 0x0e, 0x00, 0x92, 0x00, 0xb0, 0x06, 0x2f, 0xb0, 0x00, 
    -	0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x08, 0x2f, 0x1b, 0xb1, 0x08, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 
    -	0x3e, 0x59, 0xb2, 0x8f, 0x06, 0x01, 0x5d, 0xb4, 0xdf, 0x06, 0xef, 0x06, 
    -	0x02, 0x5d, 0xb2, 0x4f, 0x06, 0x01, 0x71, 0xb2, 0xdf, 0x06, 0x01, 0x71, 
    -	0xb2, 0x4f, 0x06, 0x01, 0x72, 0xb4, 0x6f, 0x06, 0x7f, 0x06, 0x02, 0x72, 
    -	0xb2, 0x0f, 0x06, 0x01, 0x72, 0xb4, 0x9f, 0x06, 0xaf, 0x06, 0x02, 0x71, 
    -	0xb2, 0x1f, 0x06, 0x01, 0x71, 0xb2, 0xbf, 0x06, 0x01, 0x5d, 0xb2, 0x5f, 
    -	0x06, 0x01, 0x5d, 0xb2, 0x1f, 0x06, 0x01, 0x5d, 0xb0, 0x06, 0x10, 0xb1, 
    -	0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x0b, 0x01, 0x06, 0x11, 0x12, 0x39, 0x30, 0x31, 0x01, 0x23, 0x11, 0x23, 
    -	0x11, 0x33, 0x11, 0x33, 0x01, 0x33, 0x17, 0x01, 0x01, 0x07, 0x23, 0x01, 
    -	0xc1, 0x63, 0xc5, 0xc5, 0x54, 0x01, 0x84, 0xe7, 0x03, 0xfe, 0x39, 0x01, 
    -	0xe8, 0x03, 0xf1, 0x01, 0xf4, 0xfe, 0x0c, 0x04, 0x8d, 0xfe, 0x04, 0x01, 
    -	0xfc, 0x05, 0xfd, 0xd6, 0xfd, 0xa7, 0x05, 0x00, 0x00, 0x01, 0x00, 0x40, 
    -	0xff, 0xef, 0x03, 0x77, 0x04, 0x8d, 0x00, 0x10, 0x00, 0x29, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x0d, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0x30, 0x31, 0x01, 0x33, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 
    -	0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x02, 0xb3, 0xc4, 0xe3, 
    -	0xaf, 0xc3, 0xe2, 0x06, 0x02, 0xbc, 0x76, 0x6b, 0x58, 0x76, 0x04, 0x8d, 
    -	0xfc, 0xd5, 0xaa, 0xc9, 0xb2, 0xaa, 0x06, 0x65, 0x65, 0x79, 0x62, 0x00, 
    -	0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x01, 0x5d, 0x04, 0x8d, 0x00, 0x03, 
    -	0x00, 0x1d, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 
    -	0x02, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x33, 0x01, 
    -	0x5d, 0xc4, 0xc4, 0x04, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x99, 
    -	0x00, 0x00, 0x04, 0x5a, 0x04, 0x8d, 0x00, 0x0b, 0x00, 0x6e, 0x00, 0x7c, 
    -	0xb0, 0x08, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 
    -	0xb1, 0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 
    -	0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 
    -	0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0xdf, 0x08, 0x01, 
    -	0x5d, 0xb2, 0x6f, 0x08, 0x01, 0x72, 0xb2, 0xaf, 0x08, 0x01, 0x5d, 0xb2, 
    -	0xdf, 0x08, 0x01, 0x72, 0xb2, 0x0f, 0x08, 0x01, 0x72, 0xb2, 0x70, 0x08, 
    -	0x01, 0x5d, 0xb2, 0x40, 0x08, 0x01, 0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x03, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x21, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 
    -	0x04, 0x5a, 0xc6, 0xfd, 0xca, 0xc5, 0xc5, 0x02, 0x36, 0xc6, 0x01, 0xeb, 
    -	0xfe, 0x15, 0x04, 0x8d, 0xfd, 0xf7, 0x02, 0x09, 0x00, 0x01, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x4b, 0x04, 0x9d, 0x00, 0x20, 0x00, 0x54, 0x00, 0xb0, 
    -	0x1f, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 
    -	0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 
    -	0x03, 0x06, 0x3e, 0x59, 0xb2, 0x0f, 0x1f, 0x0a, 0x11, 0x12, 0x39, 0xb0, 
    -	0x0a, 0x10, 0xb1, 0x12, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x19, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x1f, 0x10, 0xb1, 0x1e, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x06, 
    -	0x06, 0x23, 0x22, 0x00, 0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x07, 
    -	0x07, 0x23, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x04, 0x4b, 0x2d, 0xf2, 0xb5, 
    -	0xe7, 0xfe, 0xe0, 0x01, 0x22, 0xe1, 0xde, 0xf3, 0x04, 0x02, 0xbc, 0x91, 
    -	0x7e, 0x8c, 0xb2, 0xb0, 0x92, 0x69, 0x89, 0x1f, 0xfe, 0xfe, 0x01, 0xc5, 
    -	0x9d, 0x41, 0x6d, 0x01, 0x09, 0xd5, 0xf3, 0xd3, 0x01, 0x0a, 0xc9, 0x9d, 
    -	0x06, 0x65, 0x6e, 0xb8, 0x8b, 0xf4, 0x8e, 0xb8, 0x2a, 0x1b, 0xfa, 0x9a, 
    -	0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x03, 0xca, 0x04, 0x8d, 0x00, 0x09, 
    -	0x00, 0x4f, 0x00, 0x7c, 0xb0, 0x08, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 
    -	0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 0x06, 0x3e, 0x59, 0xb2, 0x9f, 
    -	0x08, 0x01, 0x71, 0xb2, 0x40, 0x08, 0x01, 0x5d, 0xb2, 0x70, 0x08, 0x01, 
    -	0x5d, 0xb0, 0x08, 0x10, 0xb1, 0x01, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 0xb1, 0x06, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 
    -	0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x03, 0x73, 0xfd, 0xeb, 0xc5, 
    -	0x03, 0x31, 0xfd, 0x94, 0x02, 0x15, 0x01, 0xf5, 0xfe, 0x0b, 0x04, 0x8d, 
    -	0x99, 0xfe, 0x9b, 0x00, 0x00, 0x01, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 
    -	0x04, 0x8d, 0x00, 0x0b, 0x00, 0x56, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x06, 0x2f, 0x1b, 0xb1, 0x06, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb2, 0x0b, 0x04, 
    -	0x06, 0x11, 0x12, 0x39, 0xb0, 0x0b, 0x2f, 0xb2, 0xaf, 0x0b, 0x01, 0x5d, 
    -	0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0x10, 0xb1, 0x02, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x06, 0x10, 0xb1, 0x08, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x21, 0x11, 0x21, 
    -	0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x03, 0x71, 0xfd, 0xed, 
    -	0x02, 0x6a, 0xfc, 0xd1, 0x03, 0x2f, 0xfd, 0x96, 0x02, 0x13, 0x02, 0x12, 
    -	0xfe, 0x86, 0x98, 0x04, 0x8d, 0x99, 0xfe, 0xb8, 0x00, 0x02, 0x00, 0x99, 
    -	0x00, 0x00, 0x04, 0x31, 0x04, 0x8d, 0x00, 0x09, 0x00, 0x13, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x0a, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0b, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 
    -	0x11, 0x21, 0x32, 0x00, 0x15, 0x15, 0x14, 0x00, 0x23, 0x03, 0x11, 0x33, 
    -	0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x99, 0x01, 0xa5, 0xd3, 0x01, 
    -	0x20, 0xfe, 0xe0, 0xd3, 0xe0, 0xe0, 0x7e, 0xb0, 0xb0, 0x7e, 0x04, 0x8d, 
    -	0xfe, 0xf3, 0xd1, 0xd2, 0xd2, 0xfe, 0xf5, 0x03, 0xf4, 0xfc, 0xa4, 0xba, 
    -	0x8b, 0xd3, 0x89, 0xbb, 0x00, 0x01, 0x00, 0x70, 0xff, 0xef, 0x04, 0x26, 
    -	0x04, 0x9d, 0x00, 0x1d, 0x00, 0x3b, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x13, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x04, 0x10, 0xb1, 0x1a, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x17, 0x16, 0x04, 0x23, 0x22, 0x00, 
    -	0x35, 0x35, 0x34, 0x00, 0x33, 0x32, 0x16, 0x07, 0x07, 0x23, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x04, 
    -	0x1e, 0x02, 0x05, 0xfe, 0xfd, 0xce, 0xcf, 0xfe, 0xeb, 0x01, 0x15, 0xcf, 
    -	0xd4, 0xfe, 0x05, 0x02, 0xbd, 0x8e, 0x80, 0x7b, 0xa4, 0xa4, 0x7b, 0x7f, 
    -	0x8e, 0x01, 0x7d, 0x06, 0xbd, 0xcb, 0x01, 0x0c, 0xd2, 0xf3, 0xd1, 0x01, 
    -	0x0c, 0xcb, 0xbb, 0x06, 0x79, 0x7a, 0xba, 0x89, 0xf4, 0x8b, 0xbb, 0x7a, 
    -	0x7c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x99, 0x00, 0x00, 0x04, 0x0d, 
    -	0x04, 0x8d, 0x00, 0x0e, 0x00, 0x18, 0x00, 0x21, 0x00, 0x76, 0x00, 0x7c, 
    -	0xb0, 0x19, 0x2f, 0x18, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 
    -	0xb1, 0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x19, 0x01, 0x71, 0xb4, 
    -	0x60, 0x19, 0x70, 0x19, 0x02, 0x71, 0xb2, 0x9f, 0x19, 0x01, 0x71, 0xb2, 
    -	0x30, 0x19, 0x01, 0x71, 0xb2, 0x70, 0x19, 0x01, 0x5d, 0xb2, 0x40, 0x19, 
    -	0x01, 0x5d, 0xb0, 0x19, 0x10, 0xb1, 0x0f, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x08, 0x0f, 0x19, 0x11, 0x12, 0x39, 
    -	0xb0, 0x00, 0x10, 0xb1, 0x10, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x01, 0x10, 0xb1, 0x20, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x33, 0x11, 0x21, 0x32, 
    -	0x16, 0x15, 0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x01, 
    -	0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x23, 0x25, 0x33, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x99, 0x01, 0x8d, 0xd5, 0xed, 0x5e, 
    -	0x57, 0x66, 0x74, 0xdd, 0xc5, 0xfe, 0xf3, 0x01, 0x0d, 0x6d, 0x6f, 0x6a, 
    -	0x67, 0x0b, 0xfe, 0xf3, 0xc8, 0x7c, 0x81, 0x7b, 0x82, 0xc8, 0x04, 0x8d, 
    -	0x9f, 0x9f, 0x54, 0x82, 0x21, 0x19, 0x96, 0x60, 0xa2, 0xa7, 0x02, 0x09, 
    -	0xfe, 0x8f, 0x5e, 0x58, 0x54, 0x64, 0x03, 0x8d, 0x59, 0x55, 0x56, 0x46, 
    -	0x00, 0x01, 0x00, 0xa0, 0x04, 0x8c, 0x01, 0x7a, 0x06, 0x17, 0x00, 0x05, 
    -	0x00, 0x10, 0x00, 0xb0, 0x05, 0x2f, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x13, 0x37, 0x33, 0x03, 0x15, 0x23, 
    -	0xa0, 0x79, 0x61, 0x15, 0xc5, 0x05, 0x20, 0xf7, 0xfe, 0xff, 0x8a, 0x00, 
    -	0x00, 0x02, 0x00, 0x81, 0x04, 0xdf, 0x02, 0xe0, 0x06, 0x8b, 0x00, 0x04, 
    -	0x00, 0x14, 0x00, 0x5b, 0x00, 0xb0, 0x09, 0x2f, 0xb2, 0x3f, 0x09, 0x01, 
    -	0x5d, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 
    -	0x09, 0x4f, 0x11, 0x5f, 0x11, 0x6f, 0x11, 0x7f, 0x11, 0x04, 0x71, 0xb0, 
    -	0x0e, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x1f, 0x0e, 
    -	0x01, 0x71, 0xb2, 0xff, 0x0e, 0x01, 0x71, 0x40, 0x09, 0x0f, 0x0e, 0x1f, 
    -	0x0e, 0x2f, 0x0e, 0x3f, 0x0e, 0x04, 0x72, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x14, 0xd0, 0x30, 0x31, 0x01, 
    -	0x23, 0x27, 0x37, 0x33, 0x05, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 
    -	0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x01, 0xf3, 0x77, 0xc8, 
    -	0x02, 0xb3, 0x01, 0x6f, 0x02, 0x06, 0xa4, 0x8b, 0x8c, 0xa4, 0x07, 0x02, 
    -	0x97, 0x45, 0x4b, 0x49, 0x46, 0x05, 0xc6, 0xbf, 0x06, 0xdb, 0x06, 0x59, 
    -	0x72, 0x72, 0x59, 0x06, 0x33, 0x3f, 0x3f, 0x33, 0x00, 0x02, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x8a, 0x04, 0x8d, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x5d, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x02, 0x2f, 0x1b, 0xb1, 0x02, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x06, 0x2f, 0x1b, 0xb1, 
    -	0x06, 0x06, 0x3e, 0x59, 0xb2, 0x00, 0x02, 0x04, 0x11, 0x12, 0x39, 0xb0, 
    -	0x00, 0x2f, 0xb4, 0x8f, 0x00, 0x9f, 0x00, 0x02, 0x5d, 0xb1, 0x09, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x04, 0x10, 
    -	0xb0, 0x0a, 0xd0, 0xb4, 0x8f, 0x0a, 0x9f, 0x0a, 0x02, 0x5d, 0xb6, 0x5c, 
    -	0x0a, 0x6c, 0x0a, 0x7c, 0x0a, 0x03, 0x5d, 0x30, 0x31, 0x01, 0x21, 0x03, 
    -	0x23, 0x01, 0x33, 0x01, 0x23, 0x01, 0x21, 0x03, 0x23, 0x03, 0x57, 0xfe, 
    -	0x03, 0x67, 0xcc, 0x01, 0xd5, 0xba, 0x01, 0xd4, 0xcb, 0xfd, 0xd6, 0x01, 
    -	0x87, 0xc1, 0x06, 0x01, 0x0c, 0xfe, 0xf4, 0x04, 0x8d, 0xfb, 0x73, 0x01, 
    -	0xa6, 0x01, 0xf2, 0x00, 0x00, 0x02, 0x00, 0x78, 0x04, 0xe4, 0x04, 0x71, 
    -	0x06, 0x98, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x40, 0x00, 0xb0, 0x06, 0x2f, 
    -	0xb0, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x2f, 
    -	0x05, 0x3f, 0x05, 0x4f, 0x05, 0x03, 0x72, 0xb0, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x06, 0x10, 0xb0, 0x04, 0xd0, 0xb0, 
    -	0x06, 0x10, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x0a, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 
    -	0x01, 0x33, 0x01, 0x07, 0x23, 0x27, 0x07, 0x23, 0x27, 0x01, 0x33, 0x03, 
    -	0x23, 0x01, 0x99, 0x9e, 0x01, 0x20, 0x02, 0xc6, 0xa7, 0xa7, 0xc7, 0x02, 
    -	0x03, 0x26, 0xd3, 0xcc, 0x93, 0x05, 0xeb, 0xfe, 0xff, 0x06, 0x9d, 0x9d, 
    -	0x06, 0x01, 0xae, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x55, 
    -	0x04, 0xe4, 0x03, 0x4d, 0x06, 0x98, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x40, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x02, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb6, 0x2f, 0x03, 0x3f, 
    -	0x03, 0x4f, 0x03, 0x03, 0x72, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0xb0, 0x04, 0x10, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0b, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0x30, 0x31, 0x01, 0x07, 0x23, 0x27, 0x07, 0x23, 0x27, 0x01, 
    -	0x33, 0x05, 0x23, 0x03, 0x33, 0x03, 0x4d, 0x02, 0xc7, 0xa7, 0xa7, 0xc6, 
    -	0x02, 0x01, 0x20, 0x9e, 0xfe, 0x87, 0x93, 0xcb, 0xd2, 0x04, 0xea, 0x06, 
    -	0x9d, 0x9d, 0x06, 0x01, 0x01, 0x57, 0x01, 0x04, 0x00, 0x02, 0x00, 0x6e, 
    -	0x04, 0xe4, 0x04, 0x31, 0x06, 0xd1, 0x00, 0x08, 0x00, 0x18, 0x00, 0x8a, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x02, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x03, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0xe0, 0x03, 0xf0, 
    -	0x03, 0x02, 0x71, 0xb4, 0x00, 0x03, 0x10, 0x03, 0x02, 0x72, 0xb6, 0x80, 
    -	0x03, 0x90, 0x03, 0xa0, 0x03, 0x03, 0x5d, 0x40, 0x0b, 0x30, 0x03, 0x40, 
    -	0x03, 0x50, 0x03, 0x60, 0x03, 0x70, 0x03, 0x05, 0x71, 0xb0, 0x08, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 0x17, 0x4f, 0x08, 0x5f, 
    -	0x08, 0x6f, 0x08, 0x7f, 0x08, 0x8f, 0x08, 0x9f, 0x08, 0xaf, 0x08, 0xbf, 
    -	0x08, 0xcf, 0x08, 0xdf, 0x08, 0xef, 0x08, 0x0b, 0x71, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x07, 0x23, 0x27, 0x07, 0x23, 
    -	0x27, 0x01, 0x33, 0x17, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x37, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x07, 0x03, 0x4d, 0x02, 0xaa, 0xc4, 
    -	0xc4, 0xa9, 0x02, 0x01, 0x0c, 0xc6, 0xf4, 0x01, 0x42, 0x37, 0x4b, 0x3e, 
    -	0x06, 0x7f, 0x89, 0x4b, 0x39, 0x01, 0x04, 0xea, 0x06, 0xba, 0xba, 0x06, 
    -	0x01, 0x01, 0x7d, 0x85, 0x04, 0x1a, 0x20, 0x22, 0x20, 0x5e, 0x57, 0x4b, 
    -	0x3d, 0x40, 0x07, 0x3d, 0x00, 0x02, 0x00, 0x6e, 0x04, 0xe4, 0x03, 0x4d, 
    -	0x06, 0xfc, 0x00, 0x08, 0x00, 0x1c, 0x00, 0x94, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x02, 0xd0, 0xb0, 0x04, 0x10, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x90, 0x03, 0xa0, 0x03, 0x02, 0x5d, 0x40, 
    -	0x09, 0x40, 0x03, 0x50, 0x03, 0x60, 0x03, 0x70, 0x03, 0x04, 0x71, 0xb4, 
    -	0x00, 0x03, 0x10, 0x03, 0x02, 0x72, 0xb0, 0x08, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0x40, 0x0f, 0x4f, 0x08, 0x5f, 0x08, 0x6f, 0x08, 
    -	0x7f, 0x08, 0x8f, 0x08, 0x9f, 0x08, 0xaf, 0x08, 0x07, 0x71, 0xb0, 0x0c, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0f, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x0c, 0x10, 0xb0, 0x12, 0xd0, 
    -	0xb0, 0x0f, 0x10, 0xb0, 0x16, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb4, 0x2f, 0x16, 0x3f, 0x16, 0x02, 0x71, 0xb0, 0x0c, 0x10, 0xb0, 
    -	0x19, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb4, 0x2f, 0x19, 
    -	0x3f, 0x19, 0x02, 0x71, 0xb0, 0x16, 0x10, 0xb0, 0x1c, 0xd0, 0x30, 0x31, 
    -	0x01, 0x07, 0x23, 0x27, 0x07, 0x23, 0x27, 0x01, 0x33, 0x37, 0x14, 0x06, 
    -	0x23, 0x22, 0x26, 0x23, 0x22, 0x06, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x03, 0x4d, 0x02, 0xaa, 0xc4, 0xc4, 0xa9, 
    -	0x02, 0x01, 0x21, 0x9d, 0xb6, 0x61, 0x42, 0x35, 0x71, 0x26, 0x1f, 0x33, 
    -	0x50, 0x60, 0x42, 0x2a, 0x7b, 0x27, 0x1e, 0x36, 0x04, 0xea, 0x06, 0xb0, 
    -	0xb0, 0x06, 0x01, 0x01, 0xfa, 0x45, 0x6b, 0x47, 0x3b, 0x22, 0x13, 0x45, 
    -	0x6f, 0x45, 0x38, 0x23, 0x00, 0x02, 0x00, 0x81, 0x04, 0xdf, 0x02, 0xe0, 
    -	0x06, 0x8b, 0x00, 0x0f, 0x00, 0x14, 0x00, 0x62, 0x00, 0xb0, 0x04, 0x2f, 
    -	0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x40, 0x09, 
    -	0x9f, 0x0c, 0xaf, 0x0c, 0xbf, 0x0c, 0xcf, 0x0c, 0x04, 0x72, 0x40, 0x09, 
    -	0x4f, 0x0c, 0x5f, 0x0c, 0x6f, 0x0c, 0x7f, 0x0c, 0x04, 0x71, 0xb0, 0x09, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0x1f, 0x09, 0x01, 
    -	0x71, 0xb2, 0xff, 0x09, 0x01, 0x71, 0x40, 0x09, 0x0f, 0x09, 0x1f, 0x09, 
    -	0x2f, 0x09, 0x3f, 0x09, 0x04, 0x72, 0xb0, 0x0f, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x14, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x10, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x17, 
    -	0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x27, 0x33, 0x17, 0x07, 0x23, 0x02, 0xd8, 0x02, 0x06, 0xa4, 
    -	0x8b, 0x8c, 0xa4, 0x07, 0x02, 0x97, 0x45, 0x4b, 0x49, 0x46, 0x5d, 0x9b, 
    -	0x02, 0x9f, 0x6a, 0x05, 0xb0, 0x06, 0x59, 0x72, 0x72, 0x59, 0x06, 0x33, 
    -	0x3f, 0x3f, 0x33, 0xdb, 0x05, 0xc0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x81, 
    -	0x04, 0xe0, 0x02, 0xca, 0x07, 0x2a, 0x00, 0x0f, 0x00, 0x20, 0x00, 0x78, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0x40, 0x0b, 0x9f, 0x0c, 0xaf, 0x0c, 0xbf, 0x0c, 0xcf, 0x0c, 
    -	0xdf, 0x0c, 0x05, 0x72, 0x40, 0x09, 0x4f, 0x0c, 0x5f, 0x0c, 0x6f, 0x0c, 
    -	0x7f, 0x0c, 0x04, 0x71, 0xb0, 0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb2, 0x1f, 0x09, 0x01, 0x71, 0xb2, 0xff, 0x09, 0x01, 0x71, 
    -	0x40, 0x09, 0x0f, 0x09, 0x1f, 0x09, 0x2f, 0x09, 0x3f, 0x09, 0x04, 0x72, 
    -	0xb0, 0x0f, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x10, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x11, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x18, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 
    -	0xb0, 0x19, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0x30, 0x31, 
    -	0x01, 0x17, 0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 
    -	0x33, 0x32, 0x36, 0x35, 0x27, 0x27, 0x36, 0x36, 0x27, 0x35, 0x36, 0x26, 
    -	0x23, 0x37, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x07, 0x02, 0xc2, 0x02, 
    -	0x06, 0x9e, 0x86, 0x87, 0x9e, 0x07, 0x02, 0x90, 0x44, 0x48, 0x47, 0x44, 
    -	0xbc, 0x01, 0x49, 0x3c, 0x05, 0x05, 0x51, 0x46, 0x07, 0x8e, 0x98, 0x53, 
    -	0x3f, 0x01, 0x05, 0xb0, 0x06, 0x59, 0x71, 0x71, 0x59, 0x06, 0x32, 0x40, 
    -	0x3f, 0x33, 0x38, 0x7e, 0x03, 0x17, 0x1a, 0x06, 0x1c, 0x1b, 0x53, 0x4e, 
    -	0x42, 0x35, 0x37, 0x07, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x81, 
    -	0x04, 0xdb, 0x02, 0xd3, 0x06, 0xd4, 0x00, 0x0f, 0x00, 0x23, 0x00, 0x82, 
    -	0x00, 0xb0, 0x04, 0x2f, 0xb0, 0x0c, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb6, 0x4f, 0x0c, 0x5f, 0x0c, 0x6f, 0x0c, 0x03, 0x71, 0x40, 
    -	0x09, 0x9f, 0x0c, 0xaf, 0x0c, 0xbf, 0x0c, 0xcf, 0x0c, 0x04, 0x72, 0xb0, 
    -	0x09, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb2, 0xff, 0x09, 
    -	0x01, 0x71, 0xb6, 0x0f, 0x09, 0x1f, 0x09, 0x2f, 0x09, 0x03, 0x72, 0xb2, 
    -	0x1f, 0x09, 0x01, 0x71, 0xb0, 0x0f, 0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x13, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x16, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x13, 0x10, 0xb0, 0x19, 0xd0, 
    -	0xb0, 0x16, 0x10, 0xb0, 0x1d, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 
    -	0x59, 0xb0, 0x13, 0x10, 0xb0, 0x20, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x1d, 0x10, 0xb0, 0x23, 0xd0, 0x30, 0x31, 0x01, 0x17, 
    -	0x16, 0x06, 0x23, 0x22, 0x26, 0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 
    -	0x36, 0x35, 0x13, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x35, 0x02, 0xcb, 
    -	0x02, 0x06, 0xa0, 0x88, 0x89, 0xa1, 0x07, 0x02, 0x94, 0x43, 0x4a, 0x47, 
    -	0x45, 0x94, 0x5f, 0x47, 0x3a, 0x7c, 0x29, 0x22, 0x2d, 0x58, 0x5e, 0x49, 
    -	0x2d, 0x87, 0x2b, 0x20, 0x30, 0x05, 0xb0, 0x06, 0x5b, 0x74, 0x74, 0x5b, 
    -	0x06, 0x34, 0x41, 0x41, 0x34, 0x01, 0x0c, 0x4b, 0x6b, 0x4c, 0x34, 0x25, 
    -	0x15, 0x4a, 0x6f, 0x4c, 0x33, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x60, 
    -	0xfe, 0x99, 0x01, 0x25, 0x00, 0x9d, 0x00, 0x03, 0x00, 0x06, 0x00, 0xb0, 
    -	0x02, 0x2f, 0x30, 0x31, 0x01, 0x23, 0x11, 0x33, 0x01, 0x25, 0xc5, 0xc5, 
    -	0xfe, 0x99, 0x02, 0x04, 0x00, 0x01, 0x00, 0x13, 0xfe, 0x63, 0x01, 0xc9, 
    -	0x00, 0x43, 0x00, 0x13, 0x00, 0x12, 0x00, 0xb0, 0x06, 0x2f, 0xb1, 0x0d, 
    -	0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x37, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0xf8, 0x69, 0x68, 0x85, 
    -	0x66, 0x44, 0x60, 0x27, 0x21, 0x1e, 0x37, 0x22, 0x3d, 0x36, 0x46, 0x3b, 
    -	0x43, 0x34, 0x8f, 0x4c, 0x63, 0x6e, 0x19, 0x13, 0x7b, 0x0b, 0x0f, 0x30, 
    -	0x2a, 0x31, 0x57, 0x2e, 0x00, 0x01, 0xff, 0xbe, 0xfe, 0x4b, 0x01, 0x72, 
    -	0x00, 0x9a, 0x00, 0x0f, 0x00, 0x1c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x08, 0x3e, 0x59, 0xb1, 0x0b, 0x03, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x15, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 
    -	0x35, 0x35, 0x01, 0x72, 0xac, 0x99, 0x1f, 0x33, 0x1d, 0x0e, 0x0e, 0x40, 
    -	0x13, 0x3c, 0x44, 0x9a, 0xf3, 0xa7, 0xb5, 0x09, 0x09, 0xa0, 0x05, 0x07, 
    -	0x5e, 0x58, 0xf3, 0x00, 0x00, 0x01, 0xff, 0xa0, 0xff, 0xce, 0x02, 0xca, 
    -	0x03, 0x70, 0x00, 0x0f, 0x00, 0x12, 0x00, 0xb0, 0x00, 0x2f, 0xb1, 0x0f, 
    -	0x03, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 
    -	0x03, 0x21, 0x32, 0x00, 0x15, 0x06, 0x02, 0x07, 0x27, 0x36, 0x36, 0x35, 
    -	0x26, 0x26, 0x23, 0x21, 0x60, 0x01, 0x17, 0xeb, 0x01, 0x28, 0x02, 0xc3, 
    -	0xbe, 0x33, 0x80, 0x70, 0x01, 0xb6, 0x96, 0xfe, 0xe9, 0x03, 0x70, 0xff, 
    -	0x00, 0xdc, 0x8a, 0xfe, 0xe6, 0x22, 0x94, 0x22, 0x9d, 0x73, 0x93, 0xa4, 
    -	0x00, 0x01, 0x00, 0x3b, 0x00, 0x00, 0x02, 0x2a, 0x05, 0xb0, 0x00, 0x05, 
    -	0x00, 0x36, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 
    -	0x05, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 
    -	0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb0, 0x05, 0x10, 0xb0, 0x04, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x05, 
    -	0x35, 0x25, 0x02, 0x2a, 0xc5, 0xfe, 0xd6, 0x01, 0xef, 0x04, 0xf0, 0x04, 
    -	0x8e, 0x36, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5b, 0x00, 0x00, 0x04, 0x25, 
    -	0x05, 0xc5, 0x00, 0x1a, 0x00, 0x52, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 0x59, 0xb1, 0x19, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x02, 0x19, 
    -	0x00, 0x11, 0x12, 0x39, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 
    -	0x11, 0x10, 0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x17, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x00, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x01, 0x17, 0x21, 0x04, 0x25, 0xfc, 0x51, 0x01, 
    -	0xdd, 0x80, 0x5a, 0x7f, 0x69, 0x97, 0x8f, 0xbd, 0x02, 0x05, 0x01, 0x04, 
    -	0xe6, 0xc4, 0xe9, 0x8d, 0x7f, 0xfe, 0x81, 0x02, 0x02, 0xbc, 0x87, 0x02, 
    -	0x12, 0x8f, 0xa8, 0x58, 0x6d, 0x95, 0x9b, 0x8c, 0x06, 0xbc, 0x01, 0x00, 
    -	0xe5, 0xb1, 0x77, 0xef, 0x89, 0xfe, 0x5f, 0x05, 0x00, 0x01, 0x00, 0x74, 
    -	0xff, 0xeb, 0x04, 0x24, 0x05, 0xc5, 0x00, 0x2a, 0x00, 0x7e, 0x00, 0xb0, 
    -	0x00, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0f, 0x2f, 0x1b, 0xb1, 0x0f, 
    -	0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1b, 0x2f, 0x1b, 0xb1, 
    -	0x1b, 0x06, 0x3e, 0x59, 0xb2, 0xcf, 0x00, 0x01, 0x5d, 0xb2, 0x1f, 0x00, 
    -	0x01, 0x71, 0xb2, 0xbf, 0x00, 0x01, 0x71, 0xb2, 0xef, 0x00, 0x01, 0x5d, 
    -	0xb2, 0x7f, 0x00, 0x01, 0x5d, 0xb2, 0x2f, 0x00, 0x01, 0x5d, 0xb0, 0x0f, 
    -	0x10, 0xb1, 0x07, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0f, 0x10, 0xb0, 0x0a, 0xd0, 0xb0, 0x00, 0x10, 0xb1, 0x2a, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x15, 
    -	0x2a, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x1b, 0x10, 0xb0, 0x20, 0xd0, 0xb0, 
    -	0x1b, 0x10, 0xb1, 0x23, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 
    -	0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x37, 0x37, 
    -	0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x01, 
    -	0x99, 0xac, 0x8e, 0x76, 0x86, 0x83, 0x73, 0x8b, 0xbd, 0x02, 0x05, 0xfa, 
    -	0xc8, 0xd3, 0xfb, 0x72, 0x72, 0x89, 0x71, 0xfe, 0xef, 0xd3, 0xc7, 0xfe, 
    -	0xfb, 0x05, 0x03, 0xbc, 0x8d, 0x7b, 0x86, 0x99, 0x88, 0x92, 0xac, 0x03, 
    -	0x33, 0x82, 0x76, 0x7d, 0x82, 0x87, 0x70, 0x06, 0xa5, 0xe7, 0xd7, 0xc7, 
    -	0x5a, 0xb3, 0x2f, 0x2b, 0xb8, 0x72, 0xc7, 0xe4, 0xd7, 0xb8, 0x06, 0x73, 
    -	0x88, 0x88, 0x85, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x46, 
    -	0x00, 0x00, 0x04, 0x61, 0x05, 0xb0, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x48, 
    -	0x00, 0xb0, 0x02, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 
    -	0xb1, 0x09, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 
    -	0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x02, 0x10, 0xb1, 0x01, 0x02, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x02, 0x10, 
    -	0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 0xd0, 0xb0, 0x09, 0x10, 
    -	0xb0, 0x0d, 0xd0, 0xb4, 0x8b, 0x0d, 0x9b, 0x0d, 0x02, 0x5d, 0x30, 0x31, 
    -	0x01, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x01, 0x33, 0x01, 
    -	0x21, 0x11, 0x27, 0x07, 0x03, 0x98, 0xc9, 0xc9, 0xc4, 0xfd, 0x72, 0x02, 
    -	0x82, 0xd0, 0xfd, 0x80, 0x01, 0xbc, 0x06, 0x13, 0x01, 0xea, 0x9a, 0xfe, 
    -	0xb0, 0x01, 0x50, 0x6f, 0x03, 0xf1, 0xfc, 0x3a, 0x02, 0xbb, 0x01, 0x2f, 
    -	0x00, 0x01, 0x00, 0xa7, 0xff, 0xeb, 0x04, 0x22, 0x05, 0xb0, 0x00, 0x1f, 
    -	0x00, 0x59, 0x00, 0xb0, 0x08, 0x2f, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 
    -	0x2f, 0x1b, 0xb1, 0x01, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 0xb1, 
    -	0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x0e, 0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 
    -	0x1c, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 
    -	0x08, 0x10, 0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 
    -	0x03, 0x36, 0x36, 0x37, 0x36, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x26, 
    -	0x37, 0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x07, 0xbe, 0x54, 0x02, 0xd9, 0xfd, 0xce, 0x30, 0x2e, 0x71, 
    -	0x4a, 0xc9, 0xe7, 0xeb, 0xe1, 0xb9, 0xf6, 0x05, 0x02, 0xb3, 0x88, 0x6d, 
    -	0x7d, 0x8a, 0x8c, 0x7b, 0x74, 0x68, 0x18, 0x02, 0x91, 0x03, 0x1f, 0xaf, 
    -	0xfe, 0x67, 0x22, 0x2d, 0x02, 0x02, 0xfe, 0xf6, 0xe1, 0xdb, 0xfe, 0xf6, 
    -	0xca, 0xc4, 0x06, 0x77, 0x83, 0xb0, 0x99, 0x8d, 0xb3, 0x46, 0x48, 0x00, 
    -	0x00, 0x02, 0x00, 0x93, 0xff, 0xeb, 0x04, 0x46, 0x05, 0xc5, 0x00, 0x1a, 
    -	0x00, 0x27, 0x00, 0x51, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 
    -	0x1b, 0xb1, 0x00, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 
    -	0x2f, 0x1b, 0xb1, 0x14, 0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0e, 
    -	0x14, 0x00, 0x11, 0x12, 0x39, 0xb0, 0x0e, 0x2f, 0xb1, 0x1b, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 
    -	0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 
    -	0x31, 0x01, 0x32, 0x16, 0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x15, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x02, 0x23, 0x22, 0x00, 
    -	0x11, 0x11, 0x10, 0x00, 0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x34, 0x26, 0x02, 0xb2, 0x4b, 0x93, 0x30, 0x2a, 0x31, 
    -	0x6b, 0x48, 0x9c, 0xbf, 0x40, 0xa5, 0x5f, 0xc3, 0xe8, 0xf7, 0xce, 0xd6, 
    -	0xfe, 0xe8, 0x01, 0x38, 0xa4, 0x65, 0x8e, 0x25, 0xaa, 0x80, 0x79, 0x87, 
    -	0x91, 0x05, 0xc5, 0x22, 0x1a, 0x97, 0x19, 0x1f, 0xfa, 0xc9, 0x17, 0x38, 
    -	0x3f, 0xfe, 0xf2, 0xcf, 0xe2, 0xfe, 0xe3, 0x01, 0x36, 0x01, 0x1a, 0x01, 
    -	0x16, 0x01, 0x18, 0x01, 0x5c, 0xfd, 0x6f, 0x52, 0x44, 0x76, 0xc9, 0xda, 
    -	0xcd, 0x98, 0x90, 0xba, 0x00, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x03, 0xce, 
    -	0x05, 0xb0, 0x00, 0x0c, 0x00, 0x2c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x09, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0x30, 0x31, 0x01, 0x02, 0x02, 0x03, 0x07, 0x23, 0x37, 0x12, 0x12, 0x13, 
    -	0x21, 0x35, 0x21, 0x03, 0xce, 0xf3, 0xaa, 0x25, 0x10, 0xc5, 0x10, 0x27, 
    -	0xdf, 0xc0, 0xfd, 0x11, 0x03, 0xb0, 0x05, 0x15, 0xfe, 0xc5, 0xfe, 0x1b, 
    -	0xfe, 0xa8, 0x9d, 0x9d, 0x01, 0x58, 0x02, 0x1e, 0x01, 0x02, 0x9b, 0x00, 
    -	0x00, 0x03, 0x00, 0x7d, 0xff, 0xeb, 0x04, 0x58, 0x05, 0xc5, 0x00, 0x17, 
    -	0x00, 0x23, 0x00, 0x2f, 0x00, 0x63, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0c, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 0x59, 0xb2, 0x2d, 0x09, 
    -	0x15, 0x11, 0x12, 0x39, 0xb0, 0x2d, 0x2f, 0xb2, 0xcf, 0x2d, 0x01, 0x5d, 
    -	0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x03, 0x1b, 0x2d, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb0, 0x0f, 
    -	0xd0, 0xb0, 0x09, 0x10, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 0xb1, 0x27, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 
    -	0x07, 0x16, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 
    -	0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x04, 0x2f, 0x85, 
    -	0x72, 0x83, 0x9d, 0xfe, 0xee, 0xdb, 0xdf, 0xfe, 0xf1, 0x99, 0x84, 0x72, 
    -	0x82, 0xf8, 0xcb, 0xc9, 0xfd, 0x9c, 0xaa, 0x80, 0x83, 0xa4, 0xa2, 0x87, 
    -	0x83, 0xa5, 0x29, 0x91, 0x70, 0x72, 0x8c, 0x8d, 0x73, 0x71, 0x8e, 0x04, 
    -	0x34, 0x72, 0xab, 0x2a, 0x2c, 0xbc, 0x7b, 0xca, 0xd5, 0xd5, 0xca, 0x7c, 
    -	0xbb, 0x2c, 0x29, 0xac, 0x72, 0xc0, 0xd1, 0xd1, 0xfc, 0x9a, 0x77, 0x9b, 
    -	0x99, 0x79, 0x7c, 0x8d, 0x8e, 0x03, 0x1d, 0x6c, 0x8e, 0x89, 0x71, 0x6f, 
    -	0x86, 0x86, 0x00, 0x00, 0x00, 0x02, 0x00, 0x62, 0xff, 0xeb, 0x04, 0x10, 
    -	0x05, 0xc5, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4a, 0x00, 0xb0, 0x07, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0c, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 0x06, 
    -	0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x07, 0x10, 0xb1, 0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 
    -	0x36, 0x35, 0x35, 0x06, 0x06, 0x23, 0x22, 0x02, 0x35, 0x34, 0x00, 0x33, 
    -	0x32, 0x00, 0x11, 0x11, 0x10, 0x00, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 
    -	0x16, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 
    -	0x14, 0x16, 0x02, 0x0e, 0x90, 0xad, 0x31, 0x93, 0x5a, 0xd3, 0xf8, 0x01, 
    -	0x07, 0xbc, 0xe4, 0x01, 0x07, 0xfe, 0xe3, 0xe5, 0x4d, 0x9f, 0x3f, 0x1e, 
    -	0x3b, 0x7f, 0x72, 0x6d, 0x91, 0x20, 0x93, 0x8d, 0x6c, 0x98, 0x8d, 0x85, 
    -	0xda, 0xd7, 0x42, 0x47, 0x49, 0x01, 0x05, 0xe5, 0xdb, 0x01, 0x18, 0xfe, 
    -	0xe3, 0xfe, 0xeb, 0xfe, 0xa5, 0xfe, 0xe3, 0xfe, 0xd0, 0x1d, 0x1e, 0x97, 
    -	0x1f, 0x19, 0x01, 0xfd, 0x5e, 0x49, 0x7e, 0xbf, 0xc4, 0xc1, 0x97, 0x96, 
    -	0xba, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x99, 0x00, 0x00, 0x04, 0x1f, 
    -	0x04, 0x8d, 0x00, 0x0a, 0x00, 0x13, 0x00, 0x3e, 0x00, 0xb0, 0x00, 0x2f, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 0x0e, 0x3e, 
    -	0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x06, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x0b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x12, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x11, 
    -	0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x25, 0x21, 0x32, 
    -	0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x01, 0x5e, 0xc5, 0x01, 0xd2, 0xcb, 
    -	0xe9, 0xe9, 0xcb, 0xfe, 0xf3, 0x01, 0x0d, 0x75, 0x79, 0x79, 0x75, 0xfe, 
    -	0xf3, 0x01, 0xa4, 0xfe, 0x5c, 0x04, 0x8d, 0xd0, 0xa5, 0xa6, 0xce, 0x9a, 
    -	0x7e, 0x5a, 0x5c, 0x82, 0x00, 0x01, 0x00, 0x5a, 0xff, 0xef, 0x03, 0xa8, 
    -	0x04, 0x8d, 0x00, 0x1f, 0x00, 0x60, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x03, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x08, 0x0e, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x08, 0x2f, 0xb0, 0x0e, 
    -	0x10, 0xb0, 0x13, 0xd0, 0xb0, 0x0e, 0x10, 0xb1, 0x16, 0x02, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 0x10, 0xb1, 0x1c, 
    -	0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x08, 
    -	0x10, 0xb0, 0x1f, 0xd0, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 0x03, 
    -	0x36, 0x36, 0x37, 0x36, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3f, 
    -	0x02, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 
    -	0x07, 0x87, 0x47, 0x02, 0xa6, 0xfe, 0x05, 0x21, 0x25, 0x72, 0x38, 0xb5, 
    -	0xcc, 0xd2, 0xdb, 0xb2, 0xef, 0x05, 0x01, 0xbd, 0x7b, 0x63, 0x76, 0x72, 
    -	0x6f, 0x65, 0x66, 0x63, 0x18, 0x01, 0xf8, 0x02, 0x95, 0xa4, 0xfe, 0xca, 
    -	0x19, 0x25, 0x02, 0x03, 0xca, 0xb9, 0xb2, 0xd2, 0xa1, 0x9d, 0x06, 0x0e, 
    -	0x53, 0x67, 0x7c, 0x6e, 0x6b, 0x7d, 0x39, 0x35, 0x00, 0x02, 0x00, 0x78, 
    -	0xff, 0xf5, 0x03, 0x04, 0x03, 0x2c, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x51, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x00, 0x10, 0xb1, 0x07, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 0x0e, 0x14, 0x00, 0x11, 0x12, 
    -	0x39, 0xb0, 0x0e, 0x2f, 0xb1, 0x1b, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x14, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x16, 
    -	0x17, 0x07, 0x26, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x36, 0x36, 0x33, 
    -	0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 
    -	0x13, 0x22, 0x06, 0x07, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 
    -	0x26, 0x01, 0xde, 0x35, 0x6c, 0x2b, 0x1e, 0x27, 0x52, 0x33, 0x53, 0x69, 
    -	0x24, 0x65, 0x3f, 0x84, 0x94, 0xb6, 0x90, 0x8d, 0xb9, 0xcd, 0x80, 0x40, 
    -	0x53, 0x0e, 0x56, 0x44, 0x47, 0x54, 0x4a, 0x03, 0x2c, 0x13, 0x10, 0x7f, 
    -	0x10, 0x0f, 0x5e, 0x4e, 0x42, 0x22, 0x26, 0x8c, 0x7a, 0x76, 0x92, 0xaa, 
    -	0x87, 0xd6, 0x87, 0xa9, 0xfe, 0x56, 0x2c, 0x26, 0x0a, 0x4e, 0x61, 0x4b, 
    -	0x3b, 0x3f, 0x46, 0x00, 0x00, 0x01, 0x00, 0x72, 0xff, 0xf5, 0x02, 0xf6, 
    -	0x03, 0x21, 0x00, 0x1f, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x01, 0x2f, 0x1b, 0xb1, 0x01, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x06, 0x3e, 0x59, 0xb0, 0x01, 0x10, 
    -	0xb1, 0x03, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x08, 0x0e, 0x01, 0x11, 0x12, 0x39, 0xb0, 0x08, 0x2f, 0xb1, 0x1c, 
    -	0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 
    -	0x10, 0xb1, 0x16, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb2, 0x1f, 0x1c, 0x16, 0x11, 0x12, 0x39, 0xb0, 0x1f, 0x10, 0xb0, 
    -	0x13, 0xd0, 0x30, 0x31, 0x13, 0x13, 0x21, 0x15, 0x21, 0x07, 0x36, 0x36, 
    -	0x37, 0x36, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3f, 0x02, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x92, 
    -	0x34, 0x02, 0x04, 0xfe, 0x95, 0x1a, 0x1e, 0x4f, 0x2a, 0x84, 0x96, 0x9f, 
    -	0xa6, 0x89, 0xb6, 0x06, 0x01, 0xa2, 0x52, 0x44, 0x4e, 0x4c, 0x4d, 0x43, 
    -	0x41, 0x43, 0x0f, 0x01, 0x5a, 0x01, 0xc7, 0x85, 0xb9, 0x11, 0x19, 0x01, 
    -	0x02, 0x91, 0x80, 0x7a, 0x90, 0x6e, 0x6a, 0x06, 0x0a, 0x30, 0x36, 0x45, 
    -	0x42, 0x42, 0x51, 0x22, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x57, 
    -	0x00, 0x00, 0x03, 0x28, 0x03, 0x21, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x45, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 
    -	0x06, 0x3e, 0x59, 0xb2, 0x02, 0x04, 0x09, 0x11, 0x12, 0x39, 0xb0, 0x02, 
    -	0x2f, 0xb1, 0x01, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x02, 0x10, 0xb0, 0x06, 0xd0, 0xb0, 0x01, 0x10, 0xb0, 0x0b, 
    -	0xd0, 0xb0, 0x09, 0x10, 0xb0, 0x0e, 0xd0, 0x30, 0x31, 0x01, 0x33, 0x15, 
    -	0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 0x01, 0x33, 0x01, 0x33, 0x11, 0x27, 
    -	0x07, 0x02, 0xaa, 0x7e, 0x7e, 0xaa, 0xfe, 0x5f, 0x08, 0x01, 0xa6, 0xad, 
    -	0xfe, 0x63, 0xf3, 0x06, 0x0d, 0x01, 0x1a, 0x82, 0x98, 0x98, 0x66, 0x02, 
    -	0x23, 0xfd, 0xf9, 0x01, 0x36, 0x01, 0x16, 0x00, 0x00, 0x01, 0x00, 0x6a, 
    -	0xff, 0xf5, 0x02, 0xe4, 0x03, 0x2c, 0x00, 0x2a, 0x00, 0x80, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x0e, 0x2f, 0x1b, 0xb1, 0x0e, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x1a, 0x2f, 0x1b, 0xb1, 0x1a, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x0e, 0x10, 0xb1, 0x06, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x09, 0xd0, 0xb2, 0x2a, 
    -	0x1a, 0x0e, 0x11, 0x12, 0x39, 0xb0, 0x2a, 0x2f, 0xb4, 0x0f, 0x2a, 0x1f, 
    -	0x2a, 0x02, 0x5d, 0xb6, 0x2f, 0x2a, 0x3f, 0x2a, 0x4f, 0x2a, 0x03, 0x71, 
    -	0xb2, 0xff, 0x2a, 0x01, 0x71, 0xb4, 0x0f, 0x2a, 0x1f, 0x2a, 0x02, 0x72, 
    -	0xb1, 0x29, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb2, 0x14, 0x29, 0x2a, 0x11, 0x12, 0x39, 0xb0, 0x1a, 0x10, 0xb0, 0x1f, 
    -	0xd0, 0xb0, 0x1a, 0x10, 0xb1, 0x22, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x32, 0x36, 0x35, 0x34, 0x26, 
    -	0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 
    -	0x14, 0x06, 0x07, 0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 
    -	0x37, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 
    -	0x35, 0x01, 0xa8, 0x43, 0x41, 0x49, 0x45, 0x38, 0x45, 0xa2, 0x02, 0x06, 
    -	0xa9, 0x7e, 0x91, 0xa8, 0x47, 0x3e, 0x46, 0x4c, 0xb4, 0x92, 0x7f, 0xb5, 
    -	0x06, 0x01, 0xa3, 0x4b, 0x3f, 0x48, 0x54, 0x49, 0x49, 0x84, 0x01, 0xd7, 
    -	0x39, 0x34, 0x2b, 0x3a, 0x30, 0x28, 0x06, 0x5e, 0x77, 0x77, 0x6e, 0x37, 
    -	0x5b, 0x1a, 0x17, 0x60, 0x44, 0x6f, 0x7c, 0x74, 0x6f, 0x06, 0x2e, 0x39, 
    -	0x3b, 0x30, 0x3e, 0x39, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x71, 
    -	0x00, 0x00, 0x02, 0xca, 0x03, 0x2c, 0x00, 0x1a, 0x00, 0x4e, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x11, 0x2f, 0x1b, 0xb1, 0x11, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 
    -	0x59, 0xb1, 0x19, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x02, 0xd0, 0xb2, 0x03, 0x00, 0x11, 0x11, 0x12, 0x39, 0xb0, 
    -	0x11, 0x10, 0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0xb0, 0x11, 0x10, 0xb0, 0x0c, 0xd0, 0xb0, 0x03, 0x10, 0xb0, 
    -	0x17, 0xd0, 0x30, 0x31, 0x21, 0x21, 0x35, 0x01, 0x36, 0x36, 0x35, 0x34, 
    -	0x26, 0x23, 0x22, 0x06, 0x15, 0x23, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x14, 0x06, 0x07, 0x07, 0x17, 0x21, 0x02, 0xca, 0xfd, 0xb0, 0x01, 
    -	0x2e, 0x45, 0x2c, 0x39, 0x3a, 0x43, 0x49, 0xa1, 0x02, 0x06, 0xa8, 0x8d, 
    -	0x87, 0x98, 0x59, 0x74, 0x99, 0x02, 0x01, 0x69, 0x82, 0x01, 0x06, 0x3c, 
    -	0x4b, 0x2a, 0x32, 0x3e, 0x40, 0x32, 0x06, 0x63, 0x8c, 0x80, 0x74, 0x50, 
    -	0x70, 0x69, 0x87, 0x06, 0x00, 0x03, 0x00, 0x9b, 0x04, 0x3d, 0x02, 0x74, 
    -	0x06, 0x72, 0x00, 0x04, 0x00, 0x10, 0x00, 0x1c, 0x00, 0x4f, 0x00, 0xb0, 
    -	0x0e, 0x2f, 0xb2, 0x2f, 0x0e, 0x01, 0x71, 0xb2, 0x3f, 0x0e, 0x01, 0x5d, 
    -	0xb2, 0x7f, 0x0e, 0x01, 0x5d, 0xb2, 0x5f, 0x0e, 0x01, 0x5d, 0xb0, 0x1a, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x08, 0xb0, 0x0a, 
    -	0x2b, 0x58, 0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x03, 0xb0, 0x0a, 0x2b, 0x58, 
    -	0xd8, 0x1b, 0xdc, 0x59, 0xb0, 0x00, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb0, 0x0e, 0x10, 0xb0, 0x14, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 
    -	0x1b, 0xdc, 0x59, 0x30, 0x31, 0x01, 0x33, 0x17, 0x07, 0x23, 0x07, 0x34, 
    -	0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x14, 
    -	0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0xab, 
    -	0xc7, 0x02, 0xd8, 0x81, 0x80, 0x66, 0x49, 0x46, 0x64, 0x63, 0x47, 0x49, 
    -	0x66, 0x58, 0x33, 0x24, 0x22, 0x31, 0x31, 0x22, 0x24, 0x33, 0x06, 0x72, 
    -	0x06, 0xb3, 0xd8, 0x48, 0x5f, 0x5f, 0x48, 0x48, 0x5c, 0x5c, 0x48, 0x23, 
    -	0x31, 0x30, 0x24, 0x25, 0x33, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5f, 
    -	0x00, 0x00, 0x01, 0x8c, 0x03, 0x2c, 0x00, 0x05, 0x00, 0x36, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x05, 0x2f, 0x1b, 0xb1, 0x05, 0x10, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x00, 0x2f, 0x1b, 0xb1, 0x00, 0x06, 0x3e, 
    -	0x59, 0xb0, 0x05, 0x10, 0xb0, 0x04, 0xb0, 0x0a, 0x2b, 0x58, 0xd8, 0x1b, 
    -	0xdc, 0x59, 0xb1, 0x03, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 
    -	0xf4, 0x59, 0x30, 0x31, 0x21, 0x23, 0x11, 0x23, 0x35, 0x25, 0x01, 0x8c, 
    -	0xae, 0x7f, 0x01, 0x2d, 0x02, 0x8f, 0x86, 0x17, 0x00, 0x02, 0x00, 0x78, 
    -	0xff, 0xf5, 0x03, 0x1e, 0x03, 0x2c, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x3b, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x10, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x03, 0x2f, 0x1b, 0xb1, 0x03, 
    -	0x06, 0x3e, 0x59, 0xb0, 0x0a, 0x10, 0xb1, 0x11, 0x01, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb0, 0x03, 0x10, 0xb1, 0x18, 0x01, 
    -	0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 
    -	0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 
    -	0x15, 0x27, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x15, 0x14, 0x16, 0x33, 
    -	0x32, 0x36, 0x35, 0x03, 0x1e, 0xbb, 0x97, 0x99, 0xbb, 0xba, 0x98, 0x98, 
    -	0xbc, 0xad, 0x59, 0x4e, 0x4e, 0x58, 0x59, 0x4f, 0x4d, 0x58, 0x01, 0x1b, 
    -	0x88, 0x9e, 0x9e, 0x88, 0xeb, 0x86, 0xa0, 0xa0, 0x86, 0x01, 0x4c, 0x56, 
    -	0x56, 0x4c, 0xec, 0x4e, 0x56, 0x56, 0x4e, 0x00, 0x00, 0x02, 0x00, 0x47, 
    -	0xff, 0xef, 0x03, 0xa0, 0x04, 0x9d, 0x00, 0x1a, 0x00, 0x27, 0x00, 0x4e, 
    -	0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0d, 0x2f, 0x1b, 0xb1, 0x0d, 0x0e, 
    -	0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x14, 0x2f, 0x1b, 0xb1, 0x14, 
    -	0x06, 0x3e, 0x59, 0xb1, 0x00, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb2, 0x07, 0x14, 0x0d, 0x11, 0x12, 0x39, 0xb0, 0x07, 
    -	0x2f, 0xb1, 0x1b, 0x05, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 
    -	0x59, 0xb0, 0x0d, 0x10, 0xb1, 0x22, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 
    -	0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x25, 0x32, 0x36, 0x35, 0x35, 0x06, 
    -	0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 
    -	0x14, 0x04, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x13, 0x32, 0x36, 
    -	0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x01, 0xde, 
    -	0x6c, 0x91, 0x2d, 0x7f, 0x48, 0xc3, 0xdd, 0xf0, 0xbe, 0xb9, 0xf2, 0xff, 
    -	0x00, 0xc2, 0x44, 0x94, 0x43, 0x1f, 0x3c, 0x75, 0x5b, 0x58, 0x7c, 0x19, 
    -	0x85, 0x63, 0x66, 0x80, 0x74, 0x87, 0x94, 0x6e, 0x75, 0x32, 0x34, 0xcf, 
    -	0xaf, 0xa6, 0xe1, 0xf9, 0xc3, 0xfe, 0xa9, 0xb5, 0xe6, 0x1a, 0x18, 0x95, 
    -	0x1a, 0x15, 0x01, 0xa3, 0x4a, 0x36, 0x37, 0x7c, 0xa7, 0x92, 0x5c, 0x66, 
    -	0x86, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x58, 0xff, 0xef, 0x03, 0xc9, 
    -	0x04, 0x9d, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x6a, 0x00, 0xb0, 
    -	0x00, 0x45, 0x58, 0xb0, 0x15, 0x2f, 0x1b, 0xb1, 0x15, 0x0e, 0x3e, 0x59, 
    -	0xb0, 0x00, 0x45, 0x58, 0xb0, 0x09, 0x2f, 0x1b, 0xb1, 0x09, 0x06, 0x3e, 
    -	0x59, 0xb2, 0x2d, 0x09, 0x15, 0x11, 0x12, 0x39, 0xb0, 0x2d, 0x2f, 0xb2, 
    -	0xaf, 0x2d, 0x01, 0x5d, 0xb4, 0x1f, 0x2d, 0x2f, 0x2d, 0x02, 0x5d, 0xb1, 
    -	0x1b, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0xb2, 
    -	0x03, 0x1b, 0x2d, 0x11, 0x12, 0x39, 0xb0, 0x03, 0x10, 0xb0, 0x0f, 0xd0, 
    -	0xb0, 0x09, 0x10, 0xb1, 0x21, 0x02, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 
    -	0x1b, 0xf4, 0x59, 0xb0, 0x15, 0x10, 0xb1, 0x27, 0x02, 0xb0, 0x0a, 0x2b, 
    -	0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x14, 0x06, 0x07, 
    -	0x16, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 
    -	0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0x34, 0x26, 0x23, 
    -	0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x03, 0xa6, 0x66, 0x56, 
    -	0x66, 0x79, 0xf7, 0xb9, 0xc2, 0xff, 0x7b, 0x6a, 0x5b, 0x68, 0xe9, 0xb4, 
    -	0xac, 0xe3, 0xa3, 0x8b, 0x61, 0x69, 0x91, 0x91, 0x6b, 0x62, 0x88, 0x23, 
    -	0x77, 0x52, 0x5d, 0x7b, 0x7d, 0x5d, 0x53, 0x74, 0x03, 0x5c, 0x57, 0x84, 
    -	0x25, 0x27, 0x90, 0x5e, 0xa2, 0xb6, 0xb6, 0xa2, 0x5e, 0x91, 0x26, 0x25, 
    -	0x84, 0x57, 0x99, 0xa8, 0xa8, 0xfd, 0x56, 0x54, 0x6f, 0x6f, 0x54, 0x57, 
    -	0x6d, 0x6d, 0x02, 0x64, 0x4a, 0x62, 0x5e, 0x4e, 0x4d, 0x63, 0x63, 0x00, 
    -	0x00, 0x01, 0x00, 0x47, 0x00, 0x00, 0x03, 0x67, 0x04, 0x8d, 0x00, 0x0c, 
    -	0x00, 0x2c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x0b, 0x2f, 0x1b, 0xb1, 
    -	0x0b, 0x0e, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 0xb0, 0x04, 0x2f, 0x1b, 
    -	0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 0xb1, 0x09, 0x02, 0xb0, 
    -	0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 0x30, 0x31, 0x01, 0x06, 
    -	0x02, 0x11, 0x15, 0x23, 0x35, 0x10, 0x12, 0x37, 0x21, 0x35, 0x21, 0x03, 
    -	0x67, 0xbd, 0xa3, 0xc5, 0xe7, 0x8e, 0xfd, 0x90, 0x03, 0x20, 0x03, 0xf4, 
    -	0xe8, 0xfe, 0xc0, 0xfe, 0xed, 0xb9, 0xb9, 0x01, 0x0c, 0x01, 0x96, 0x99, 
    -	0x99, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5f, 0x00, 0x00, 0x02, 0xac, 
    -	0x03, 0x21, 0x00, 0x0c, 0x00, 0x2f, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0b, 0x2f, 0x1b, 0xb1, 0x0b, 0x10, 0x3e, 0x59, 0xb0, 0x00, 0x45, 0x58, 
    -	0xb0, 0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x06, 0x3e, 0x59, 0xb0, 0x0b, 0x10, 
    -	0xb1, 0x09, 0x01, 0xb0, 0x0a, 0x2b, 0x58, 0x21, 0xd8, 0x1b, 0xf4, 0x59, 
    -	0xb0, 0x00, 0xd0, 0x30, 0x31, 0x01, 0x06, 0x06, 0x15, 0x15, 0x23, 0x35, 
    -	0x34, 0x12, 0x37, 0x21, 0x35, 0x21, 0x02, 0xac, 0x86, 0x6f, 0xac, 0x9b, 
    -	0x59, 0xfe, 0x60, 0x02, 0x4d, 0x02, 0x9e, 0x9e, 0xcb, 0xb6, 0x7f, 0x7f, 
    -	0xb5, 0x01, 0x17, 0x53, 0x83, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 
    -	0x04, 0xa4, 0x02, 0xd8, 0x05, 0xb0, 0x02, 0x06, 0x01, 0x54, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x04, 0x31, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x8c, 0x00, 0x00, 0x01, 0x07, 0x03, 0x82, 0xff, 0x64, 0xff, 0x7d, 
    -	0x00, 0x2f, 0x00, 0xb2, 0x1f, 0x16, 0x01, 0x71, 0xb2, 0x9f, 0x16, 0x01, 
    -	0x71, 0xb2, 0x6f, 0x16, 0x01, 0x72, 0xb4, 0x1f, 0x16, 0x2f, 0x16, 0x02, 
    -	0x5d, 0xb4, 0x0f, 0x16, 0x1f, 0x16, 0x02, 0x72, 0xb2, 0x4f, 0x16, 0x01, 
    -	0x71, 0xb2, 0xff, 0x16, 0x01, 0x5d, 0xb2, 0x5f, 0x16, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x04, 0x31, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x8c, 0x00, 0x00, 0x01, 0x07, 0x03, 0x82, 
    -	0xff, 0x64, 0xff, 0x7d, 0x00, 0x34, 0x00, 0xb2, 0xaf, 0x16, 0x01, 0x5d, 
    -	0xb2, 0x1f, 0x16, 0x01, 0x71, 0xb2, 0x9f, 0x16, 0x01, 0x71, 0xb2, 0x6f, 
    -	0x16, 0x01, 0x72, 0xb4, 0x0f, 0x16, 0x1f, 0x16, 0x02, 0x72, 0xb2, 0x4f, 
    -	0x16, 0x01, 0x71, 0xb2, 0xff, 0x16, 0x01, 0x5d, 0xb2, 0x5f, 0x16, 0x01, 
    -	0x5d, 0xb4, 0x1f, 0x16, 0x2f, 0x16, 0x02, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x47, 0x00, 0x00, 0x03, 0xd1, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x7b, 0x00, 0x00, 0x01, 0x06, 0x03, 0x82, 0x2d, 0xfa, 0x00, 0x08, 
    -	0x00, 0xb2, 0x00, 0x0a, 0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x8a, 0x05, 0xdf, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xbe, 0x00, 0x1a, 0x00, 0x2f, 0x00, 0xb6, 
    -	0xbf, 0x0c, 0xcf, 0x0c, 0xdf, 0x0c, 0x03, 0x5d, 0xb2, 0x9f, 0x0c, 0x01, 
    -	0x71, 0xb2, 0xdf, 0x0c, 0x01, 0x71, 0xb2, 0x1f, 0x0c, 0x01, 0x5d, 0xb2, 
    -	0xbf, 0x0c, 0x01, 0x71, 0xb2, 0x2f, 0x0c, 0x01, 0x71, 0xb2, 0x8f, 0x0c, 
    -	0x01, 0x5d, 0xb2, 0x6f, 0x0c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x8a, 0x05, 0xdb, 0x02, 0x26, 
    -	0x03, 0x91, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x78, 0x00, 0x16, 
    -	0x00, 0x4a, 0x00, 0xb4, 0xbf, 0x0f, 0xcf, 0x0f, 0x02, 0x5d, 0xb2, 0x9f, 
    -	0x0f, 0x01, 0x71, 0xb2, 0xef, 0x0f, 0x01, 0x71, 0xb2, 0x2f, 0x0f, 0x01, 
    -	0x71, 0xb2, 0x8f, 0x0f, 0x01, 0x5d, 0xb2, 0x6f, 0x0f, 0x01, 0x5d, 0xb2, 
    -	0xdf, 0x10, 0x01, 0x71, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0xff, 0x10, 
    -	0x01, 0x71, 0x40, 0x0b, 0x0f, 0x10, 0x1f, 0x10, 0x2f, 0x10, 0x3f, 0x10, 
    -	0x4f, 0x10, 0x05, 0x72, 0xb2, 0xbf, 0x10, 0x01, 0x71, 0xb2, 0xdf, 0x10, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x8a, 
    -	0x06, 0x05, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x78, 0x1a, 0x00, 0x1c, 0x00, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0xdf, 
    -	0x10, 0x01, 0x71, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0xbf, 0x10, 0x01, 
    -	0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x8a, 0x06, 0x11, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x58, 0x73, 0x1e, 0x00, 0x25, 0x00, 0x40, 0x0b, 0x0f, 
    -	0x0f, 0x1f, 0x0f, 0x2f, 0x0f, 0x3f, 0x0f, 0x4f, 0x0f, 0x05, 0x71, 0xb2, 
    -	0x1f, 0x0f, 0x01, 0x5d, 0xb2, 0x8f, 0x0f, 0x01, 0x71, 0xb2, 0x8f, 0x0f, 
    -	0x01, 0x5d, 0xb2, 0x6f, 0x0f, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x8a, 0x05, 0xca, 0x02, 0x26, 
    -	0x03, 0x91, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 0x53, 0x1a, 0x00, 0x5b, 
    -	0x00, 0xb2, 0x0f, 0x0d, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x0d, 0x9f, 0x0d, 
    -	0xaf, 0x0d, 0xbf, 0x0d, 0x04, 0x71, 0xb2, 0x1f, 0x0d, 0x01, 0x5d, 0xb2, 
    -	0xdf, 0x0d, 0x01, 0x71, 0xb4, 0x5f, 0x0d, 0x6f, 0x0d, 0x02, 0x71, 0xb2, 
    -	0x8f, 0x0d, 0x01, 0x5d, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0x8f, 0x10, 
    -	0x01, 0x5d, 0xb4, 0x5f, 0x10, 0x6f, 0x10, 0x02, 0x71, 0xb2, 0xdf, 0x10, 
    -	0x01, 0x71, 0x40, 0x09, 0x8f, 0x10, 0x9f, 0x10, 0xaf, 0x10, 0xbf, 0x10, 
    -	0x04, 0x71, 0xb2, 0x0f, 0x10, 0x01, 0x71, 0xb2, 0x6f, 0x10, 0x01, 0x5d, 
    -	0xb2, 0x1f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x8a, 0x06, 0x49, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x56, 0x00, 0xff, 0x00, 0x67, 0x00, 0x35, 0x00, 0xb2, 
    -	0x2f, 0x15, 0x01, 0x71, 0xb2, 0x0f, 0x15, 0x01, 0x5d, 0xb2, 0x4f, 0x15, 
    -	0x01, 0x71, 0xb2, 0xdf, 0x15, 0x01, 0x5d, 0xb2, 0xbf, 0x15, 0x01, 0x5d, 
    -	0xb2, 0xdf, 0x1b, 0x01, 0x5d, 0xb2, 0x4f, 0x1b, 0x01, 0x71, 0xb2, 0x2f, 
    -	0x1b, 0x01, 0x71, 0xb2, 0xbf, 0x1b, 0x01, 0x5d, 0xb2, 0x0f, 0x1b, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x8a, 
    -	0x06, 0xe2, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 0x01, 0x07, 0x03, 0xad, 
    -	0x01, 0x0e, 0x00, 0x70, 0x00, 0x1c, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x04, 0x2f, 0x1b, 0xb1, 0x04, 0x0e, 0x3e, 0x59, 0xb0, 0x1a, 0xdc, 0xb0, 
    -	0x0f, 0xd0, 0xb0, 0x1a, 0x10, 0xb0, 0x20, 0xd0, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x70, 0xfe, 0x48, 0x04, 0x26, 0x04, 0x9d, 0x02, 0x26, 
    -	0x03, 0x8d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x7a, 0x01, 0x6d, 0xff, 0xfb, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 0x05, 0xdf, 0x02, 0x26, 
    -	0x03, 0x8b, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 0x00, 0x8a, 0x00, 0x1a, 
    -	0x00, 0x2f, 0x00, 0xb6, 0xbf, 0x0c, 0xcf, 0x0c, 0xdf, 0x0c, 0x03, 0x5d, 
    -	0xb2, 0x9f, 0x0c, 0x01, 0x71, 0xb2, 0xdf, 0x0c, 0x01, 0x71, 0xb2, 0x1f, 
    -	0x0c, 0x01, 0x5d, 0xb2, 0xbf, 0x0c, 0x01, 0x71, 0xb2, 0x2f, 0x0c, 0x01, 
    -	0x71, 0xb2, 0x8f, 0x0c, 0x01, 0x5d, 0xb2, 0x6f, 0x0c, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 
    -	0x05, 0xdb, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x44, 0x00, 0x16, 0x00, 0x44, 0x00, 0xb4, 0xbf, 0x0f, 0xcf, 0x0f, 
    -	0x02, 0x5d, 0xb2, 0x9f, 0x0f, 0x01, 0x71, 0xb2, 0x2f, 0x0f, 0x01, 0x71, 
    -	0xb2, 0x8f, 0x0f, 0x01, 0x5d, 0xb2, 0x6f, 0x0f, 0x01, 0x5d, 0xb6, 0xdf, 
    -	0x10, 0xef, 0x10, 0xff, 0x10, 0x03, 0x71, 0x40, 0x0b, 0x0f, 0x10, 0x1f, 
    -	0x10, 0x2f, 0x10, 0x3f, 0x10, 0x4f, 0x10, 0x05, 0x72, 0xb2, 0x1f, 0x10, 
    -	0x01, 0x5d, 0xb2, 0xbf, 0x10, 0x01, 0x71, 0xb2, 0xdf, 0x10, 0x01, 0x5d, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 
    -	0x06, 0x05, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x44, 0x1a, 0x00, 0x1c, 0x00, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0xdf, 
    -	0x10, 0x01, 0x71, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0xbf, 0x10, 0x01, 
    -	0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x99, 
    -	0x00, 0x00, 0x03, 0xc8, 0x05, 0xca, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x6a, 0x1f, 0x1a, 0x00, 0x5b, 0x00, 0xb2, 0x0f, 0x0d, 
    -	0x01, 0x71, 0x40, 0x09, 0x8f, 0x0d, 0x9f, 0x0d, 0xaf, 0x0d, 0xbf, 0x0d, 
    -	0x04, 0x71, 0xb2, 0x1f, 0x0d, 0x01, 0x5d, 0xb2, 0xdf, 0x0d, 0x01, 0x71, 
    -	0xb4, 0x5f, 0x0d, 0x6f, 0x0d, 0x02, 0x71, 0xb2, 0x8f, 0x0d, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x5d, 0xb4, 0x5f, 
    -	0x10, 0x6f, 0x10, 0x02, 0x71, 0xb2, 0xdf, 0x10, 0x01, 0x71, 0x40, 0x09, 
    -	0x8f, 0x10, 0x9f, 0x10, 0xaf, 0x10, 0xbf, 0x10, 0x04, 0x71, 0xb2, 0x0f, 
    -	0x10, 0x01, 0x71, 0xb2, 0x6f, 0x10, 0x01, 0x5d, 0xb2, 0x1f, 0x10, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xb7, 0x00, 0x00, 0x01, 0x5d, 
    -	0x05, 0xdf, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0xff, 0x65, 0x00, 0x1a, 0x00, 0x2f, 0x00, 0xb6, 0xbf, 0x04, 0xcf, 0x04, 
    -	0xdf, 0x04, 0x03, 0x5d, 0xb2, 0x9f, 0x04, 0x01, 0x71, 0xb2, 0xdf, 0x04, 
    -	0x01, 0x71, 0xb2, 0x1f, 0x04, 0x01, 0x5d, 0xb2, 0xbf, 0x04, 0x01, 0x71, 
    -	0xb2, 0x2f, 0x04, 0x01, 0x71, 0xb2, 0x8f, 0x04, 0x01, 0x5d, 0xb2, 0x6f, 
    -	0x04, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 
    -	0x00, 0x00, 0x02, 0x41, 0x05, 0xdb, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x76, 0x1d, 0x16, 0x00, 0x44, 0x00, 0xb4, 0xbf, 0x07, 
    -	0xcf, 0x07, 0x02, 0x5d, 0xb2, 0x9f, 0x07, 0x01, 0x71, 0xb2, 0x2f, 0x07, 
    -	0x01, 0x71, 0xb2, 0x8f, 0x07, 0x01, 0x5d, 0xb2, 0x6f, 0x07, 0x01, 0x5d, 
    -	0xb6, 0xdf, 0x08, 0xef, 0x08, 0xff, 0x08, 0x03, 0x71, 0x40, 0x0b, 0x0f, 
    -	0x08, 0x1f, 0x08, 0x2f, 0x08, 0x3f, 0x08, 0x4f, 0x08, 0x05, 0x72, 0xb2, 
    -	0x1f, 0x08, 0x01, 0x5d, 0xb2, 0xbf, 0x08, 0x01, 0x71, 0xb2, 0xdf, 0x08, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x02, 0x30, 
    -	0x06, 0x05, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0xff, 0x1f, 0x00, 0x1a, 0x00, 0x1c, 0x00, 0xb2, 0x6f, 0x06, 0x01, 0x5d, 
    -	0xb2, 0xdf, 0x08, 0x01, 0x71, 0xb2, 0x1f, 0x08, 0x01, 0x5d, 0xb2, 0xbf, 
    -	0x08, 0x01, 0x5d, 0xb2, 0x8f, 0x08, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x02, 0x55, 0x05, 0xca, 0x02, 0x26, 
    -	0x03, 0x87, 0x00, 0x00, 0x01, 0x07, 0x00, 0x6a, 0xfe, 0xfa, 0x00, 0x1a, 
    -	0x00, 0x5b, 0x00, 0xb2, 0x0f, 0x05, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x05, 
    -	0x9f, 0x05, 0xaf, 0x05, 0xbf, 0x05, 0x04, 0x71, 0xb2, 0x1f, 0x05, 0x01, 
    -	0x5d, 0xb2, 0xdf, 0x05, 0x01, 0x71, 0xb4, 0x5f, 0x05, 0x6f, 0x05, 0x02, 
    -	0x71, 0xb2, 0x8f, 0x05, 0x01, 0x5d, 0xb2, 0x6f, 0x05, 0x01, 0x5d, 0xb2, 
    -	0x8f, 0x08, 0x01, 0x5d, 0xb4, 0x5f, 0x08, 0x6f, 0x08, 0x02, 0x71, 0xb2, 
    -	0xdf, 0x08, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x08, 0x9f, 0x08, 0xaf, 0x08, 
    -	0xbf, 0x08, 0x04, 0x71, 0xb2, 0x0f, 0x08, 0x01, 0x71, 0xb2, 0x6f, 0x08, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x08, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x76, 0x06, 0x11, 0x02, 0x26, 
    -	0x03, 0x81, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0x00, 0x92, 0x00, 0x1e, 
    -	0x00, 0x25, 0x00, 0x40, 0x0b, 0x0f, 0x0f, 0x1f, 0x0f, 0x2f, 0x0f, 0x3f, 
    -	0x0f, 0x4f, 0x0f, 0x05, 0x71, 0xb2, 0x1f, 0x0f, 0x01, 0x5d, 0xb2, 0x8f, 
    -	0x0f, 0x01, 0x71, 0xb2, 0x8f, 0x0f, 0x01, 0x5d, 0xb2, 0x6f, 0x0f, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x05, 0xef, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x07, 0x00, 0x43, 
    -	0x00, 0xbe, 0x00, 0x2a, 0x00, 0x41, 0x00, 0xb2, 0xc0, 0x1c, 0x01, 0x71, 
    -	0xb2, 0x6f, 0x1c, 0x01, 0x5d, 0xb6, 0xbf, 0x1c, 0xcf, 0x1c, 0xdf, 0x1c, 
    -	0x03, 0x5d, 0xb2, 0x1f, 0x1c, 0x01, 0x5d, 0xb2, 0x8f, 0x1c, 0x01, 0x5d, 
    -	0xb2, 0xf0, 0x1c, 0x01, 0x5d, 0xb4, 0x00, 0x1c, 0x10, 0x1c, 0x02, 0x71, 
    -	0xb2, 0xa0, 0x1c, 0x01, 0x71, 0x40, 0x0d, 0x30, 0x1c, 0x40, 0x1c, 0x50, 
    -	0x1c, 0x60, 0x1c, 0x70, 0x1c, 0x80, 0x1c, 0x06, 0x71, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 0x05, 0xeb, 0x02, 0x26, 
    -	0x03, 0x80, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x78, 0x00, 0x26, 
    -	0x00, 0x3b, 0x00, 0xb2, 0x8f, 0x1f, 0x01, 0x5d, 0xb2, 0xcf, 0x1f, 0x01, 
    -	0x5d, 0xb2, 0xc0, 0x20, 0x01, 0x71, 0xb2, 0xbf, 0x20, 0x01, 0x5d, 0xb2, 
    -	0x1f, 0x20, 0x01, 0x5d, 0xb2, 0xdf, 0x20, 0x01, 0x5d, 0xb2, 0x6f, 0x20, 
    -	0x01, 0x5d, 0xb2, 0xa0, 0x20, 0x01, 0x71, 0x40, 0x0d, 0x30, 0x20, 0x40, 
    -	0x20, 0x50, 0x20, 0x60, 0x20, 0x70, 0x20, 0x80, 0x20, 0x06, 0x71, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x06, 0x15, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x06, 0x01, 0x52, 
    -	0x78, 0x2a, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x20, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x20, 0x01, 0x5d, 0xb2, 0xbf, 0x20, 0x01, 0x5d, 0xb2, 0x6f, 0x20, 0x01, 
    -	0x5d, 0xb2, 0xf0, 0x20, 0x01, 0x5d, 0x40, 0x1b, 0x00, 0x20, 0x10, 0x20, 
    -	0x20, 0x20, 0x30, 0x20, 0x40, 0x20, 0x50, 0x20, 0x60, 0x20, 0x70, 0x20, 
    -	0x80, 0x20, 0x90, 0x20, 0xa0, 0x20, 0xb0, 0x20, 0xc0, 0x20, 0x0d, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x06, 0x21, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x06, 0x01, 0x58, 
    -	0x73, 0x2e, 0x00, 0x24, 0x00, 0xb2, 0x6f, 0x1f, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x1f, 0x01, 0x5d, 0xb2, 0x8f, 0x1f, 0x01, 0x5d, 0xb6, 0xd0, 0x1f, 0xe0, 
    -	0x1f, 0xf0, 0x1f, 0x03, 0x5d, 0xb6, 0x50, 0x1f, 0x60, 0x1f, 0x70, 0x1f, 
    -	0x03, 0x71, 0x30, 0x31, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x05, 0xda, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x53, 0x2a, 0x00, 0x57, 0x00, 0xb2, 0xc0, 0x1d, 0x01, 0x71, 0xb2, 0x6f, 
    -	0x1d, 0x01, 0x5d, 0xb2, 0x1f, 0x1d, 0x01, 0x5d, 0xb2, 0x8f, 0x1d, 0x01, 
    -	0x5d, 0xb2, 0xf0, 0x1d, 0x01, 0x5d, 0xb2, 0x70, 0x1d, 0x01, 0x71, 0x40, 
    -	0x09, 0x10, 0x1d, 0x20, 0x1d, 0x30, 0x1d, 0x40, 0x1d, 0x04, 0x71, 0xb2, 
    -	0x70, 0x20, 0x01, 0x71, 0xb2, 0x6f, 0x20, 0x01, 0x5d, 0xb2, 0x1f, 0x20, 
    -	0x01, 0x5d, 0xb2, 0x8f, 0x20, 0x01, 0x5d, 0xb2, 0xc0, 0x20, 0x01, 0x71, 
    -	0x40, 0x09, 0x10, 0x20, 0x20, 0x20, 0x30, 0x20, 0x40, 0x20, 0x04, 0x71, 
    -	0xb2, 0xf0, 0x20, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xef, 0x04, 0x74, 0x05, 0xe0, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x43, 0x00, 0xdb, 0x00, 0x1b, 0x00, 0x2a, 0x00, 0xb6, 
    -	0xbf, 0x12, 0xcf, 0x12, 0xdf, 0x12, 0x03, 0x5d, 0xb2, 0x9f, 0x12, 0x01, 
    -	0x71, 0xb2, 0x1f, 0x12, 0x01, 0x5d, 0xb2, 0xbf, 0x12, 0x01, 0x71, 0xb2, 
    -	0x2f, 0x12, 0x01, 0x71, 0xb2, 0x8f, 0x12, 0x01, 0x5d, 0xb2, 0x6f, 0x12, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 
    -	0x05, 0xdc, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x95, 0x00, 0x17, 0x00, 0x42, 0x00, 0xb2, 0x8f, 0x15, 0x01, 0x5d, 
    -	0xb2, 0x9f, 0x15, 0x01, 0x71, 0xb2, 0xcf, 0x15, 0x01, 0x5d, 0xb2, 0xbf, 
    -	0x16, 0x01, 0x5d, 0xb2, 0x2f, 0x16, 0x01, 0x71, 0xb6, 0xdf, 0x16, 0xef, 
    -	0x16, 0xff, 0x16, 0x03, 0x71, 0xb6, 0x0f, 0x16, 0x1f, 0x16, 0x2f, 0x16, 
    -	0x03, 0x72, 0xb2, 0xbf, 0x16, 0x01, 0x71, 0xb2, 0xdf, 0x16, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x16, 0x01, 0x5d, 0xb2, 0x1f, 0x16, 0x01, 0x5d, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 0x06, 0x06, 0x02, 0x26, 
    -	0x03, 0x7a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x00, 0x95, 0x00, 0x1b, 
    -	0x00, 0x17, 0x00, 0xb2, 0xbf, 0x16, 0x01, 0x5d, 0xb2, 0x1f, 0x16, 0x01, 
    -	0x5d, 0xb2, 0x8f, 0x16, 0x01, 0x5d, 0xb2, 0x6f, 0x16, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 
    -	0x05, 0xcb, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x70, 0x1b, 0x00, 0x51, 0x00, 0xb2, 0x0f, 0x13, 0x01, 0x71, 0x40, 0x09, 
    -	0x8f, 0x13, 0x9f, 0x13, 0xaf, 0x13, 0xbf, 0x13, 0x04, 0x71, 0xb2, 0x1f, 
    -	0x13, 0x01, 0x5d, 0xb4, 0x5f, 0x13, 0x6f, 0x13, 0x02, 0x71, 0xb2, 0x8f, 
    -	0x13, 0x01, 0x5d, 0xb2, 0x6f, 0x13, 0x01, 0x5d, 0xb2, 0x8f, 0x16, 0x01, 
    -	0x5d, 0xb4, 0x5f, 0x16, 0x6f, 0x16, 0x02, 0x71, 0x40, 0x09, 0x8f, 0x16, 
    -	0x9f, 0x16, 0xaf, 0x16, 0xbf, 0x16, 0x04, 0x71, 0xb2, 0x0f, 0x16, 0x01, 
    -	0x71, 0xb2, 0x6f, 0x16, 0x01, 0x5d, 0xb2, 0x1f, 0x16, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1e, 0x00, 0x00, 0x04, 0x35, 
    -	0x05, 0xda, 0x02, 0x26, 0x03, 0x76, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x46, 0x00, 0x15, 0x00, 0x47, 0x00, 0xb2, 0x8f, 0x0c, 0x01, 0x5d, 
    -	0xb2, 0x9f, 0x0c, 0x01, 0x71, 0xb2, 0xcf, 0x0c, 0x01, 0x5d, 0xb2, 0xbf, 
    -	0x0d, 0x01, 0x5d, 0xb2, 0x2f, 0x0d, 0x01, 0x71, 0xb6, 0xdf, 0x0d, 0xef, 
    -	0x0d, 0xff, 0x0d, 0x03, 0x71, 0x40, 0x0b, 0x0f, 0x0d, 0x1f, 0x0d, 0x2f, 
    -	0x0d, 0x3f, 0x0d, 0x4f, 0x0d, 0x05, 0x72, 0xb2, 0xbf, 0x0d, 0x01, 0x71, 
    -	0xb2, 0xdf, 0x0d, 0x01, 0x5d, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x27, 
    -	0x00, 0x00, 0x04, 0x8a, 0x05, 0xb7, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 
    -	0x01, 0x06, 0x00, 0x71, 0x77, 0x07, 0x00, 0x08, 0x00, 0xb2, 0x1f, 0x0c, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x27, 0x00, 0x00, 0x04, 0x8a, 
    -	0x06, 0x0b, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 
    -	0x00, 0xa9, 0x00, 0x5b, 0x00, 0x14, 0x00, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 
    -	0xb2, 0x8f, 0x10, 0x01, 0x71, 0xb4, 0x5f, 0x10, 0x6f, 0x10, 0x02, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x27, 0xfe, 0x50, 0x04, 0xbd, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x91, 0x00, 0x00, 0x00, 0x07, 0x01, 0x57, 
    -	0x02, 0xea, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x26, 
    -	0x05, 0xeb, 0x02, 0x26, 0x03, 0x8d, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x68, 0x00, 0x26, 0x00, 0x3b, 0x00, 0xb2, 0x1f, 0x21, 0x01, 0x5d, 
    -	0xb2, 0xcf, 0x21, 0x01, 0x5d, 0xb2, 0x8f, 0x21, 0x01, 0x5d, 0xb2, 0xc0, 
    -	0x22, 0x01, 0x71, 0xb2, 0xdf, 0x22, 0x01, 0x5d, 0xb2, 0x6f, 0x22, 0x01, 
    -	0x5d, 0xb2, 0xbf, 0x22, 0x01, 0x5d, 0xb2, 0xa0, 0x22, 0x01, 0x71, 0x40, 
    -	0x0d, 0x30, 0x22, 0x40, 0x22, 0x50, 0x22, 0x60, 0x22, 0x70, 0x22, 0x80, 
    -	0x22, 0x06, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x26, 0x06, 0x15, 0x02, 0x26, 0x03, 0x8d, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x68, 0x2a, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x22, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x22, 0x01, 0x5d, 0xb2, 0xbf, 0x22, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x22, 0x01, 0x5d, 0xb2, 0xf0, 0x22, 0x01, 0x5d, 0x40, 0x1b, 
    -	0x00, 0x22, 0x10, 0x22, 0x20, 0x22, 0x30, 0x22, 0x40, 0x22, 0x50, 0x22, 
    -	0x60, 0x22, 0x70, 0x22, 0x80, 0x22, 0x90, 0x22, 0xa0, 0x22, 0xb0, 0x22, 
    -	0xc0, 0x22, 0x0d, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x26, 0x05, 0xda, 0x02, 0x26, 0x03, 0x8d, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0x38, 0x00, 0x2a, 0x00, 0x4c, 0x00, 0xb2, 
    -	0xf0, 0x1e, 0x01, 0x5d, 0xb2, 0x10, 0x1e, 0x01, 0x71, 0xb2, 0xc0, 0x1f, 
    -	0x01, 0x71, 0xb2, 0x10, 0x1f, 0x01, 0x72, 0xb2, 0x8f, 0x1f, 0x01, 0x5d, 
    -	0xb2, 0xdf, 0x1f, 0x01, 0x5d, 0xb2, 0x1f, 0x1f, 0x01, 0x5d, 0xb2, 0xbf, 
    -	0x1f, 0x01, 0x5d, 0xb2, 0x6f, 0x1f, 0x01, 0x5d, 0xb4, 0xe0, 0x1f, 0xf0, 
    -	0x1f, 0x02, 0x71, 0x40, 0x0d, 0x20, 0x1f, 0x30, 0x1f, 0x40, 0x1f, 0x50, 
    -	0x1f, 0x60, 0x1f, 0x70, 0x1f, 0x06, 0x71, 0xb2, 0x00, 0x1f, 0x01, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x26, 
    -	0x06, 0x16, 0x02, 0x26, 0x03, 0x8d, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 
    -	0x7f, 0x2b, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x22, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x22, 0x01, 0x5d, 0xb2, 0xbf, 0x22, 0x01, 0x5d, 0xb2, 0x6f, 0x22, 0x01, 
    -	0x5d, 0xb2, 0xf0, 0x22, 0x01, 0x5d, 0x40, 0x1b, 0x00, 0x22, 0x10, 0x22, 
    -	0x20, 0x22, 0x30, 0x22, 0x40, 0x22, 0x50, 0x22, 0x60, 0x22, 0x70, 0x22, 
    -	0x80, 0x22, 0x90, 0x22, 0xa0, 0x22, 0xb0, 0x22, 0xc0, 0x22, 0x0d, 0x71, 
    -	0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x31, 
    -	0x06, 0x06, 0x02, 0x26, 0x03, 0x8c, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 
    -	0x2c, 0x1b, 0x00, 0x17, 0x00, 0xb2, 0xbf, 0x18, 0x01, 0x5d, 0xb2, 0x1f, 
    -	0x18, 0x01, 0x5d, 0xb2, 0x8f, 0x18, 0x01, 0x5d, 0xb2, 0x6f, 0x18, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 
    -	0x05, 0xb7, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 
    -	0x43, 0x07, 0x00, 0x08, 0x00, 0xb2, 0x1f, 0x0c, 0x01, 0x5d, 0x30, 0x31, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0xc8, 0x06, 0x0b, 0x02, 0x26, 
    -	0x03, 0x8b, 0x00, 0x00, 0x01, 0x06, 0x01, 0x54, 0x75, 0x5b, 0x00, 0x14, 
    -	0x00, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x71, 0xb4, 
    -	0x5f, 0x10, 0x6f, 0x10, 0x02, 0x71, 0x30, 0x31, 0xff, 0xff, 0x00, 0x99, 
    -	0x00, 0x00, 0x03, 0xc8, 0x05, 0xca, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x01, 0x14, 0x00, 0x1a, 0x00, 0x37, 0x00, 0xb2, 
    -	0x1f, 0x0d, 0x01, 0x5d, 0xb2, 0x8f, 0x0d, 0x01, 0x5d, 0xb2, 0xdf, 0x0d, 
    -	0x01, 0x5d, 0xb2, 0xdf, 0x0d, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x0d, 0x9f, 
    -	0x0d, 0xaf, 0x0d, 0xbf, 0x0d, 0x04, 0x71, 0xb2, 0xbf, 0x0d, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0xb2, 0xf0, 0x0d, 0x01, 0x71, 0xb2, 0x10, 
    -	0x0d, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 
    -	0xfe, 0x50, 0x03, 0xc8, 0x04, 0x8d, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x57, 0x01, 0x18, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 
    -	0x00, 0x00, 0x03, 0xc8, 0x06, 0x06, 0x02, 0x26, 0x03, 0x8b, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x5b, 0x1b, 0x00, 0x17, 0x00, 0xb2, 0xbf, 0x10, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x4b, 0x06, 0x15, 0x02, 0x26, 0x03, 0x89, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x74, 0x2a, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x25, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x25, 0x01, 0x5d, 0xb2, 0xbf, 0x25, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x25, 0x01, 0x5d, 0xb2, 0xf0, 0x25, 0x01, 0x5d, 0x40, 0x1b, 
    -	0x00, 0x25, 0x10, 0x25, 0x20, 0x25, 0x30, 0x25, 0x40, 0x25, 0x50, 0x25, 
    -	0x60, 0x25, 0x70, 0x25, 0x80, 0x25, 0x90, 0x25, 0xa0, 0x25, 0xb0, 0x25, 
    -	0xc0, 0x25, 0x0d, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xff, 0xef, 0x04, 0x4b, 0x06, 0x1b, 0x02, 0x26, 0x03, 0x89, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xa5, 0x00, 0x6b, 0x00, 0x17, 0x00, 0xb2, 
    -	0x70, 0x25, 0x01, 0x72, 0xb2, 0x20, 0x25, 0x01, 0x5d, 0xb2, 0x70, 0x25, 
    -	0x01, 0x71, 0xb2, 0x40, 0x25, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x4b, 0x05, 0xda, 0x02, 0x26, 
    -	0x03, 0x89, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x44, 0x00, 0x2a, 
    -	0x00, 0x4c, 0x00, 0xb2, 0xf0, 0x21, 0x01, 0x5d, 0xb2, 0x10, 0x21, 0x01, 
    -	0x71, 0xb2, 0xc0, 0x22, 0x01, 0x71, 0xb2, 0x10, 0x22, 0x01, 0x72, 0xb2, 
    -	0x8f, 0x22, 0x01, 0x5d, 0xb2, 0xdf, 0x22, 0x01, 0x5d, 0xb2, 0x1f, 0x22, 
    -	0x01, 0x5d, 0xb2, 0xbf, 0x22, 0x01, 0x5d, 0xb2, 0x6f, 0x22, 0x01, 0x5d, 
    -	0xb4, 0xe0, 0x22, 0xf0, 0x22, 0x02, 0x71, 0x40, 0x0d, 0x20, 0x22, 0x30, 
    -	0x22, 0x40, 0x22, 0x50, 0x22, 0x60, 0x22, 0x70, 0x22, 0x06, 0x71, 0xb2, 
    -	0x00, 0x22, 0x01, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 
    -	0xfe, 0x15, 0x04, 0x4b, 0x04, 0x9d, 0x02, 0x26, 0x03, 0x89, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0x59, 0xfe, 0x9b, 0xff, 0xff, 0x00, 0x99, 
    -	0x00, 0x00, 0x04, 0x5a, 0x06, 0x05, 0x02, 0x26, 0x03, 0x88, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x7f, 0x1a, 0x00, 0x1c, 0x00, 0xb2, 0xbf, 0x10, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0xb2, 0xdf, 0x10, 0x01, 0x71, 
    -	0xb2, 0x8f, 0x10, 0x01, 0x5d, 0xb2, 0x6f, 0x10, 0x01, 0x5d, 0x30, 0x31, 
    -	0xff, 0xff, 0xff, 0xa1, 0x00, 0x00, 0x02, 0x57, 0x06, 0x11, 0x02, 0x26, 
    -	0x03, 0x87, 0x00, 0x00, 0x01, 0x07, 0x01, 0x58, 0xff, 0x1a, 0x00, 0x1e, 
    -	0x00, 0x25, 0x00, 0x40, 0x0b, 0x0f, 0x07, 0x1f, 0x07, 0x2f, 0x07, 0x3f, 
    -	0x07, 0x4f, 0x07, 0x05, 0x71, 0xb2, 0x1f, 0x07, 0x01, 0x5d, 0xb2, 0x8f, 
    -	0x07, 0x01, 0x71, 0xb2, 0x8f, 0x07, 0x01, 0x5d, 0xb2, 0x6f, 0x07, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 
    -	0x06, 0x09, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 
    -	0x01, 0x22, 0x00, 0x1b, 0x00, 0x3d, 0x00, 0xb4, 0x5f, 0x15, 0x6f, 0x15, 
    -	0x02, 0x71, 0x40, 0x09, 0x8f, 0x15, 0x9f, 0x15, 0xaf, 0x15, 0xbf, 0x15, 
    -	0x04, 0x71, 0xb2, 0xdf, 0x16, 0x01, 0x5d, 0xb2, 0xbf, 0x17, 0x01, 0x5d, 
    -	0x40, 0x09, 0x8f, 0x1b, 0x9f, 0x1b, 0xaf, 0x1b, 0xbf, 0x1b, 0x04, 0x71, 
    -	0xb2, 0xbf, 0x1b, 0x01, 0x5d, 0xb4, 0x5f, 0x1b, 0x6f, 0x1b, 0x02, 0x71, 
    -	0xb2, 0xdf, 0x1b, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0xff, 0xd1, 
    -	0x00, 0x00, 0x02, 0x28, 0x06, 0x0b, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0xff, 0x50, 0x00, 0x5b, 0x00, 0x14, 0x00, 0xb2, 
    -	0x1f, 0x08, 0x01, 0x5d, 0xb2, 0x8f, 0x08, 0x01, 0x71, 0xb4, 0x5f, 0x08, 
    -	0x6f, 0x08, 0x02, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x3c, 
    -	0xfe, 0x50, 0x01, 0xcb, 0x04, 0x8d, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 
    -	0x00, 0x06, 0x01, 0x57, 0xf8, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x8f, 
    -	0x00, 0x00, 0x01, 0x69, 0x05, 0xca, 0x02, 0x26, 0x03, 0x87, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x55, 0xef, 0x1a, 0x00, 0x37, 0x00, 0xb2, 0x1f, 0x05, 
    -	0x01, 0x5d, 0xb2, 0x8f, 0x05, 0x01, 0x5d, 0xb2, 0xdf, 0x05, 0x01, 0x5d, 
    -	0xb2, 0xdf, 0x05, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x05, 0x9f, 0x05, 0xaf, 
    -	0x05, 0xbf, 0x05, 0x04, 0x71, 0xb2, 0xbf, 0x05, 0x01, 0x5d, 0xb2, 0x6f, 
    -	0x05, 0x01, 0x5d, 0xb2, 0xf0, 0x05, 0x01, 0x71, 0xb2, 0x10, 0x05, 0x01, 
    -	0x72, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x40, 0xff, 0xef, 0x04, 0x42, 
    -	0x05, 0xfc, 0x02, 0x26, 0x03, 0x86, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 
    -	0x01, 0x31, 0x00, 0x11, 0x00, 0x3a, 0x00, 0xb2, 0xef, 0x13, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x15, 0x01, 0x5d, 0xb2, 0xff, 0x15, 0x01, 0x71, 0x40, 0x11, 
    -	0x0f, 0x15, 0x1f, 0x15, 0x2f, 0x15, 0x3f, 0x15, 0x4f, 0x15, 0x5f, 0x15, 
    -	0x6f, 0x15, 0x7f, 0x15, 0x08, 0x72, 0xb2, 0x1f, 0x15, 0x01, 0x5d, 0xb2, 
    -	0xdf, 0x15, 0x01, 0x71, 0xb2, 0x8f, 0x15, 0x01, 0x5d, 0xb2, 0x6f, 0x15, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x99, 0xfe, 0x21, 0x04, 0x41, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x85, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 
    -	0x01, 0x06, 0xfe, 0xa7, 0xff, 0xff, 0x00, 0x6b, 0x00, 0x00, 0x03, 0x6b, 
    -	0x05, 0xab, 0x02, 0x26, 0x03, 0x84, 0x00, 0x00, 0x01, 0x06, 0x00, 0x76, 
    -	0xe8, 0xe6, 0x00, 0x60, 0x00, 0xb2, 0x9f, 0x09, 0x01, 0x71, 0xb2, 0x1f, 
    -	0x09, 0x01, 0x5d, 0xb2, 0xcf, 0x09, 0x01, 0x5d, 0xb2, 0x8f, 0x09, 0x01, 
    -	0x5d, 0xb2, 0xdf, 0x0a, 0x01, 0x5d, 0xb2, 0xbf, 0x0a, 0x01, 0x71, 0x40, 
    -	0x09, 0xaf, 0x0a, 0xbf, 0x0a, 0xcf, 0x0a, 0xdf, 0x0a, 0x04, 0x72, 0xb2, 
    -	0xff, 0x0a, 0x01, 0x72, 0xb6, 0xdf, 0x0a, 0xef, 0x0a, 0xff, 0x0a, 0x03, 
    -	0x71, 0x40, 0x13, 0x0f, 0x0a, 0x1f, 0x0a, 0x2f, 0x0a, 0x3f, 0x0a, 0x4f, 
    -	0x0a, 0x5f, 0x0a, 0x6f, 0x0a, 0x7f, 0x0a, 0x8f, 0x0a, 0x09, 0x72, 0xb2, 
    -	0x2f, 0x0a, 0x01, 0x71, 0xb2, 0xbf, 0x0a, 0x01, 0x5d, 0xb2, 0x6f, 0x0a, 
    -	0x01, 0x5d, 0x30, 0x31, 0xff, 0xff, 0x00, 0x99, 0xfe, 0x23, 0x03, 0x6b, 
    -	0x04, 0x8d, 0x02, 0x26, 0x03, 0x84, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 
    -	0x00, 0xe3, 0xfe, 0xa9, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0x6b, 
    -	0x04, 0x8e, 0x02, 0x26, 0x03, 0x84, 0x00, 0x00, 0x01, 0x07, 0x03, 0x63, 
    -	0x01, 0x4b, 0x03, 0x9b, 0x00, 0x10, 0x00, 0xb0, 0x00, 0x45, 0x58, 0xb0, 
    -	0x0a, 0x2f, 0x1b, 0xb1, 0x0a, 0x0e, 0x3e, 0x59, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x03, 0x6b, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x84, 0x00, 0x00, 0x01, 0x07, 0x01, 0x55, 0x01, 0x31, 0xfd, 0x2a, 
    -	0x00, 0x0b, 0x00, 0xb0, 0x08, 0x2f, 0xb2, 0x1f, 0x08, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x76, 
    -	0x05, 0xdb, 0x02, 0x26, 0x03, 0x81, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x97, 0x00, 0x16, 0x00, 0x3f, 0x00, 0xb2, 0x9f, 0x0f, 0x01, 0x71, 
    -	0xb2, 0x8f, 0x10, 0x01, 0x5d, 0xb2, 0x2f, 0x10, 0x01, 0x71, 0xb6, 0xdf, 
    -	0x10, 0xef, 0x10, 0xff, 0x10, 0x03, 0x71, 0x40, 0x09, 0x1f, 0x10, 0x2f, 
    -	0x10, 0x3f, 0x10, 0x4f, 0x10, 0x04, 0x72, 0xb2, 0xbf, 0x10, 0x01, 0x71, 
    -	0xb6, 0xbf, 0x10, 0xcf, 0x10, 0xdf, 0x10, 0x03, 0x5d, 0xb2, 0x6f, 0x10, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x10, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0xfe, 0x23, 0x04, 0x76, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x81, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x7b, 0xfe, 0xa9, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x76, 0x06, 0x06, 0x02, 0x26, 
    -	0x03, 0x81, 0x00, 0x00, 0x01, 0x07, 0x01, 0x53, 0x00, 0xae, 0x00, 0x1b, 
    -	0x00, 0x17, 0x00, 0xb2, 0xbf, 0x10, 0x01, 0x5d, 0xb2, 0x1f, 0x10, 0x01, 
    -	0x5d, 0xb2, 0x8f, 0x10, 0x01, 0x5d, 0xb2, 0x6f, 0x10, 0x01, 0x5d, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x05, 0xc7, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x06, 0x00, 0x71, 
    -	0x77, 0x17, 0x00, 0x1f, 0x00, 0xb2, 0x1f, 0x1c, 0x01, 0x5d, 0x40, 0x0b, 
    -	0x30, 0x1c, 0x40, 0x1c, 0x50, 0x1c, 0x60, 0x1c, 0x70, 0x1c, 0x05, 0x72, 
    -	0xb6, 0x90, 0x1c, 0xa0, 0x1c, 0xb0, 0x1c, 0x03, 0x72, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 0x06, 0x1b, 0x02, 0x26, 
    -	0x03, 0x80, 0x00, 0x00, 0x01, 0x07, 0x01, 0x54, 0x00, 0xa9, 0x00, 0x6b, 
    -	0x00, 0x17, 0x00, 0xb2, 0x70, 0x20, 0x01, 0x72, 0xb2, 0x20, 0x20, 0x01, 
    -	0x5d, 0xb2, 0x70, 0x20, 0x01, 0x71, 0xb2, 0x40, 0x20, 0x01, 0x71, 0x30, 
    -	0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x70, 0xff, 0xef, 0x04, 0x5b, 
    -	0x06, 0x18, 0x02, 0x26, 0x03, 0x80, 0x00, 0x00, 0x01, 0x07, 0x01, 0x59, 
    -	0x01, 0x05, 0x00, 0x2a, 0x00, 0x51, 0x00, 0xb2, 0xf0, 0x1f, 0x01, 0x5d, 
    -	0x40, 0x0b, 0x00, 0x1f, 0x10, 0x1f, 0x20, 0x1f, 0x30, 0x1f, 0x40, 0x1f, 
    -	0x05, 0x71, 0xb2, 0xc0, 0x1f, 0x01, 0x71, 0xb2, 0x70, 0x1f, 0x01, 0x71, 
    -	0xb2, 0xbf, 0x20, 0x01, 0x5d, 0xb2, 0xdf, 0x20, 0x01, 0x5d, 0xb2, 0xc0, 
    -	0x25, 0x01, 0x71, 0xb2, 0xbf, 0x25, 0x01, 0x5d, 0xb2, 0xdf, 0x25, 0x01, 
    -	0x5d, 0xb2, 0x70, 0x25, 0x01, 0x71, 0xb2, 0xf0, 0x25, 0x01, 0x5d, 0x40, 
    -	0x0b, 0x00, 0x25, 0x10, 0x25, 0x20, 0x25, 0x30, 0x25, 0x40, 0x25, 0x05, 
    -	0x71, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x2c, 
    -	0x05, 0xdb, 0x02, 0x26, 0x03, 0x7d, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 
    -	0x01, 0x25, 0x00, 0x16, 0x00, 0x41, 0x00, 0xb2, 0x9f, 0x27, 0x01, 0x71, 
    -	0xb6, 0xbf, 0x28, 0xcf, 0x28, 0xdf, 0x28, 0x03, 0x5d, 0xb2, 0xbf, 0x28, 
    -	0x01, 0x71, 0xb2, 0x1f, 0x28, 0x01, 0x5d, 0xb6, 0xdf, 0x28, 0xef, 0x28, 
    -	0xff, 0x28, 0x03, 0x71, 0x40, 0x0b, 0x0f, 0x28, 0x1f, 0x28, 0x2f, 0x28, 
    -	0x3f, 0x28, 0x4f, 0x28, 0x05, 0x72, 0xb2, 0x2f, 0x28, 0x01, 0x71, 0xb2, 
    -	0x8f, 0x28, 0x01, 0x5d, 0xb2, 0x6f, 0x28, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x99, 0xfe, 0x23, 0x04, 0x2c, 0x04, 0x8d, 0x02, 0x26, 
    -	0x03, 0x7d, 0x00, 0x00, 0x00, 0x07, 0x03, 0x63, 0x01, 0x09, 0xfe, 0xa9, 
    -	0xff, 0xff, 0x00, 0x99, 0x00, 0x00, 0x04, 0x2c, 0x06, 0x06, 0x02, 0x26, 
    -	0x03, 0x7d, 0x00, 0x00, 0x01, 0x06, 0x01, 0x53, 0x3c, 0x1b, 0x00, 0x17, 
    -	0x00, 0xb2, 0xbf, 0x28, 0x01, 0x5d, 0xb2, 0x1f, 0x28, 0x01, 0x5d, 0xb2, 
    -	0x8f, 0x28, 0x01, 0x5d, 0xb2, 0x6f, 0x28, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x5d, 0xff, 0xef, 0x04, 0x11, 0x05, 0xeb, 0x02, 0x26, 
    -	0x03, 0x7c, 0x00, 0x00, 0x01, 0x07, 0x00, 0x76, 0x01, 0x50, 0x00, 0x26, 
    -	0x00, 0x35, 0x00, 0x40, 0x0d, 0x30, 0x2c, 0x40, 0x2c, 0x50, 0x2c, 0x60, 
    -	0x2c, 0x70, 0x2c, 0x80, 0x2c, 0x06, 0x71, 0xb2, 0x8f, 0x2c, 0x01, 0x5d, 
    -	0xb2, 0x1f, 0x2c, 0x01, 0x5d, 0xb6, 0xbf, 0x2c, 0xcf, 0x2c, 0xdf, 0x2c, 
    -	0x03, 0x5d, 0xb2, 0x6f, 0x2c, 0x01, 0x5d, 0xb2, 0xc0, 0x2c, 0x01, 0x71, 
    -	0xb2, 0xa0, 0x2c, 0x01, 0x71, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5d, 
    -	0xff, 0xef, 0x04, 0x11, 0x06, 0x15, 0x02, 0x26, 0x03, 0x7c, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x50, 0x2a, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x2c, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x2c, 0x01, 0x5d, 0xb2, 0xbf, 0x2c, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x2c, 0x01, 0x5d, 0xb2, 0xf0, 0x2c, 0x01, 0x5d, 0x40, 0x1b, 
    -	0x00, 0x2c, 0x10, 0x2c, 0x20, 0x2c, 0x30, 0x2c, 0x40, 0x2c, 0x50, 0x2c, 
    -	0x60, 0x2c, 0x70, 0x2c, 0x80, 0x2c, 0x90, 0x2c, 0xa0, 0x2c, 0xb0, 0x2c, 
    -	0xc0, 0x2c, 0x0d, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x5d, 
    -	0xfe, 0x48, 0x04, 0x11, 0x04, 0x9d, 0x02, 0x26, 0x03, 0x7c, 0x00, 0x00, 
    -	0x00, 0x07, 0x00, 0x7a, 0x01, 0x55, 0xff, 0xfb, 0xff, 0xff, 0x00, 0x5d, 
    -	0xff, 0xef, 0x04, 0x11, 0x06, 0x16, 0x02, 0x26, 0x03, 0x7c, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x67, 0x2b, 0x00, 0x3a, 0x00, 0xb2, 0x8f, 0x2c, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x2c, 0x01, 0x5d, 0xb2, 0xbf, 0x2c, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x2c, 0x01, 0x5d, 0xb2, 0xf0, 0x2c, 0x01, 0x5d, 0x40, 0x1b, 
    -	0x00, 0x2c, 0x10, 0x2c, 0x20, 0x2c, 0x30, 0x2c, 0x40, 0x2c, 0x50, 0x2c, 
    -	0x60, 0x2c, 0x70, 0x2c, 0x80, 0x2c, 0x90, 0x2c, 0xa0, 0x2c, 0xb0, 0x2c, 
    -	0xc0, 0x2c, 0x0d, 0x71, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x47, 
    -	0xfe, 0x23, 0x03, 0xd1, 0x04, 0x8d, 0x02, 0x26, 0x03, 0x7b, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x63, 0x01, 0x0a, 0xfe, 0xa9, 0xff, 0xff, 0x00, 0x47, 
    -	0x00, 0x00, 0x03, 0xd1, 0x06, 0x05, 0x02, 0x26, 0x03, 0x7b, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x3d, 0x1a, 0x00, 0x17, 0x00, 0xb2, 0xbf, 0x0c, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x0c, 0x01, 0x5d, 0xb2, 0x8f, 0x0c, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0c, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xef, 0x04, 0x74, 0x06, 0x12, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x58, 0x00, 0x90, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x40, 
    -	0x0b, 0x0f, 0x15, 0x1f, 0x15, 0x2f, 0x15, 0x3f, 0x15, 0x4f, 0x15, 0x05, 
    -	0x71, 0xb2, 0x1f, 0x15, 0x01, 0x5d, 0xb2, 0x8f, 0x15, 0x01, 0x5d, 0xb2, 
    -	0x6f, 0x15, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xef, 0x04, 0x74, 0x05, 0xb8, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x71, 0x00, 0x94, 0x00, 0x08, 0x00, 0x08, 0x00, 0xb2, 
    -	0x1f, 0x12, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xff, 0xef, 0x04, 0x74, 0x06, 0x0c, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x54, 0x00, 0xc6, 0x00, 0x5c, 0x00, 0x19, 0x00, 0xb2, 
    -	0x8f, 0x16, 0x01, 0x71, 0xb2, 0x1f, 0x16, 0x01, 0x5d, 0xb4, 0x5f, 0x16, 
    -	0x6f, 0x16, 0x02, 0x71, 0xb2, 0x20, 0x16, 0x01, 0x5d, 0x30, 0x31, 0x00, 
    -	0xff, 0xff, 0x00, 0x89, 0xff, 0xef, 0x04, 0x74, 0x06, 0x4a, 0x02, 0x26, 
    -	0x03, 0x7a, 0x00, 0x00, 0x01, 0x07, 0x01, 0x56, 0x01, 0x1c, 0x00, 0x68, 
    -	0x00, 0x35, 0x00, 0xb2, 0x2f, 0x1b, 0x01, 0x71, 0xb2, 0x0f, 0x1b, 0x01, 
    -	0x5d, 0xb2, 0x4f, 0x1b, 0x01, 0x71, 0xb2, 0xdf, 0x1b, 0x01, 0x5d, 0xb2, 
    -	0xbf, 0x1b, 0x01, 0x5d, 0xb2, 0xdf, 0x21, 0x01, 0x5d, 0xb2, 0x4f, 0x21, 
    -	0x01, 0x71, 0xb2, 0x2f, 0x21, 0x01, 0x71, 0xb2, 0xbf, 0x21, 0x01, 0x5d, 
    -	0xb2, 0x0f, 0x21, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x5d, 
    -	0xff, 0xef, 0x08, 0x82, 0x04, 0x9d, 0x00, 0x26, 0x03, 0x7c, 0x00, 0x00, 
    -	0x00, 0x07, 0x03, 0x7c, 0x04, 0x71, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4e, 
    -	0x00, 0x00, 0x03, 0xd8, 0x06, 0x06, 0x02, 0x26, 0x03, 0x75, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x53, 0x3a, 0x1b, 0x00, 0x17, 0x00, 0xb2, 0xbf, 0x0e, 
    -	0x01, 0x5d, 0xb2, 0x1f, 0x0e, 0x01, 0x5d, 0xb2, 0x8f, 0x0e, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0e, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x4e, 
    -	0x00, 0x00, 0x03, 0xd8, 0x05, 0xca, 0x02, 0x26, 0x03, 0x75, 0x00, 0x00, 
    -	0x01, 0x07, 0x01, 0x55, 0x00, 0xf3, 0x00, 0x1a, 0x00, 0x37, 0x00, 0xb2, 
    -	0x1f, 0x0b, 0x01, 0x5d, 0xb2, 0x8f, 0x0b, 0x01, 0x5d, 0xb2, 0xdf, 0x0b, 
    -	0x01, 0x5d, 0xb2, 0xdf, 0x0b, 0x01, 0x71, 0x40, 0x09, 0x8f, 0x0b, 0x9f, 
    -	0x0b, 0xaf, 0x0b, 0xbf, 0x0b, 0x04, 0x71, 0xb2, 0xbf, 0x0b, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0b, 0x01, 0x5d, 0xb2, 0xf0, 0x0b, 0x01, 0x71, 0xb2, 0x10, 
    -	0x0b, 0x01, 0x72, 0x30, 0x31, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4e, 
    -	0x00, 0x00, 0x03, 0xd8, 0x05, 0xdb, 0x02, 0x26, 0x03, 0x75, 0x00, 0x00, 
    -	0x01, 0x07, 0x00, 0x76, 0x01, 0x23, 0x00, 0x16, 0x00, 0x41, 0x00, 0xb2, 
    -	0x9f, 0x0d, 0x01, 0x71, 0xb6, 0xbf, 0x0e, 0xcf, 0x0e, 0xdf, 0x0e, 0x03, 
    -	0x5d, 0xb2, 0xbf, 0x0e, 0x01, 0x71, 0xb2, 0x1f, 0x0e, 0x01, 0x5d, 0xb6, 
    -	0xdf, 0x0e, 0xef, 0x0e, 0xff, 0x0e, 0x03, 0x71, 0x40, 0x0b, 0x0f, 0x0e, 
    -	0x1f, 0x0e, 0x2f, 0x0e, 0x3f, 0x0e, 0x4f, 0x0e, 0x05, 0x72, 0xb2, 0x2f, 
    -	0x0e, 0x01, 0x71, 0xb2, 0x8f, 0x0e, 0x01, 0x5d, 0xb2, 0x6f, 0x0e, 0x01, 
    -	0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1e, 0x00, 0x00, 0x04, 0x35, 
    -	0x05, 0xc9, 0x02, 0x26, 0x03, 0x76, 0x00, 0x00, 0x01, 0x06, 0x00, 0x6a, 
    -	0x21, 0x19, 0x00, 0x63, 0x00, 0xb2, 0x0f, 0x0a, 0x01, 0x71, 0x40, 0x09, 
    -	0x8f, 0x0a, 0x9f, 0x0a, 0xaf, 0x0a, 0xbf, 0x0a, 0x04, 0x71, 0xb2, 0x1f, 
    -	0x0a, 0x01, 0x5d, 0xb6, 0xdf, 0x0a, 0xef, 0x0a, 0xff, 0x0a, 0x03, 0x71, 
    -	0xb4, 0x5f, 0x0a, 0x6f, 0x0a, 0x02, 0x71, 0xb2, 0x8f, 0x0a, 0x01, 0x5d, 
    -	0xb2, 0x6f, 0x0a, 0x01, 0x5d, 0xb2, 0x8f, 0x0d, 0x01, 0x5d, 0xb4, 0x5f, 
    -	0x0d, 0x6f, 0x0d, 0x02, 0x71, 0xb6, 0xdf, 0x0d, 0xef, 0x0d, 0xff, 0x0d, 
    -	0x03, 0x71, 0x40, 0x09, 0x8f, 0x0d, 0x9f, 0x0d, 0xaf, 0x0d, 0xbf, 0x0d, 
    -	0x04, 0x71, 0xb2, 0x0f, 0x0d, 0x01, 0x71, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 
    -	0xb2, 0x1f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0xff, 0xff, 0x00, 0x1e, 
    -	0x00, 0x00, 0x04, 0x35, 0x06, 0x04, 0x02, 0x26, 0x03, 0x76, 0x00, 0x00, 
    -	0x01, 0x06, 0x01, 0x52, 0x46, 0x19, 0x00, 0x26, 0x00, 0xb2, 0xef, 0x0b, 
    -	0x01, 0x71, 0xb2, 0xbf, 0x0d, 0x01, 0x5d, 0xb2, 0xff, 0x0d, 0x01, 0x71, 
    -	0xb2, 0x1f, 0x0d, 0x01, 0x5d, 0xb2, 0xdf, 0x0d, 0x01, 0x71, 0xb2, 0x8f, 
    -	0x0d, 0x01, 0x5d, 0xb2, 0x6f, 0x0d, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 
    -	0xff, 0xff, 0x00, 0x3f, 0x00, 0x00, 0x05, 0xc0, 0x06, 0x05, 0x02, 0x26, 
    -	0x03, 0x78, 0x00, 0x00, 0x01, 0x07, 0x01, 0x52, 0x01, 0x1b, 0x00, 0x1a, 
    -	0x00, 0x1c, 0x00, 0xb2, 0xbf, 0x16, 0x01, 0x5d, 0xb2, 0x1f, 0x16, 0x01, 
    -	0x5d, 0xb2, 0xdf, 0x16, 0x01, 0x71, 0xb2, 0x8f, 0x16, 0x01, 0x5d, 0xb2, 
    -	0x6f, 0x16, 0x01, 0x5d, 0x30, 0x31, 0x00, 0x00, 0xff, 0xff, 0x00, 0x89, 
    -	0xfe, 0x50, 0x04, 0x74, 0x04, 0x8d, 0x02, 0x26, 0x03, 0x7a, 0x00, 0x00, 
    -	0x00, 0x07, 0x01, 0x57, 0x01, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 
    -	0x01, 0x4a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 
    -	0x00, 0x1f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 
    -	0x00, 0x25, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1a, 
    -	0x00, 0x2c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 
    -	0x00, 0x46, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 
    -	0x00, 0x54, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0e, 
    -	0x00, 0x6a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x20, 
    -	0x00, 0x78, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x06, 
    -	0x00, 0x98, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x0a, 
    -	0x00, 0x9e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x13, 
    -	0x00, 0xa8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x2e, 
    -	0x00, 0xbb, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x2a, 
    -	0x00, 0xe9, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x0e, 
    -	0x00, 0x46, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x3e, 
    -	0x01, 0x13, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x0c, 
    -	0x01, 0x51, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, 
    -	0x01, 0x5d, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x34, 
    -	0x01, 0x6b, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x1c, 
    -	0x01, 0x9f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x2c, 
    -	0x01, 0xbb, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x1c, 
    -	0x01, 0xe7, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, 0x00, 0x40, 
    -	0x02, 0x03, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x09, 0x00, 0x0c, 
    -	0x02, 0x43, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0b, 0x00, 0x14, 
    -	0x02, 0x4f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0c, 0x00, 0x26, 
    -	0x02, 0x63, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0d, 0x00, 0x5c, 
    -	0x02, 0x89, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x54, 
    -	0x02, 0xe5, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 
    -	0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x6c, 0x65, 0x20, 0x32, 0x30, 0x31, 0x32, 0x52, 0x6f, 0x62, 
    -	0x6f, 0x74, 0x6f, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x20, 
    -	0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x3a, 0x32, 0x30, 0x31, 0x33, 
    -	0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x20, 0x52, 0x65, 0x67, 0x75, 0x6c, 
    -	0x61, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 
    -	0x31, 0x30, 0x30, 0x31, 0x34, 0x31, 0x3b, 0x20, 0x32, 0x30, 0x31, 0x33, 
    -	0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x2d, 0x52, 0x65, 0x67, 0x75, 0x6c, 
    -	0x61, 0x72, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x6f, 0x20, 0x69, 0x73, 0x20, 
    -	0x61, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x20, 
    -	0x6f, 0x66, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x47, 0x6f, 
    -	0x6f, 0x67, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 
    -	0x6f, 0x6d, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x69, 0x61, 0x6e, 0x20, 
    -	0x52, 0x6f, 0x62, 0x65, 0x72, 0x74, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x63, 
    -	0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 
    -	0x74, 0x68, 0x65, 0x20, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 
    -	0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 
    -	0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x68, 0x74, 0x74, 0x70, 0x3a, 
    -	0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 
    -	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 
    -	0x73, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 
    -	0x30, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 
    -	0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x20, 0x00, 0x63, 0x00, 
    -	0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 
    -	0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 
    -	0x31, 0x00, 0x32, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 
    -	0x74, 0x00, 0x6f, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 
    -	0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x3a, 0x00, 0x52, 0x00, 0x6f, 0x00, 
    -	0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x52, 0x00, 
    -	0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, 0x00, 
    -	0x3a, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x33, 0x00, 0x52, 0x00, 
    -	0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 
    -	0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 
    -	0x72, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 
    -	0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x31, 0x00, 
    -	0x30, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00, 0x31, 0x00, 0x3b, 0x00, 
    -	0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x33, 0x00, 0x52, 0x00, 
    -	0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x2d, 0x00, 
    -	0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 
    -	0x72, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x74, 0x00, 
    -	0x6f, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 
    -	0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 
    -	0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x6f, 0x00, 
    -	0x66, 0x00, 0x20, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x67, 0x00, 
    -	0x6c, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x47, 0x00, 0x6f, 0x00, 0x6f, 0x00, 
    -	0x67, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 
    -	0x6d, 0x00, 0x43, 0x00, 0x68, 0x00, 0x72, 0x00, 0x69, 0x00, 0x73, 0x00, 
    -	0x74, 0x00, 0x69, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x52, 0x00, 
    -	0x6f, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x73, 0x00, 
    -	0x6f, 0x00, 0x6e, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 
    -	0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 
    -	0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 
    -	0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x41, 0x00, 0x70, 0x00, 0x61, 0x00, 
    -	0x63, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, 0x00, 
    -	0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2c, 0x00, 
    -	0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 
    -	0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 
    -	0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 
    -	0x2f, 0x00, 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x61, 0x00, 
    -	0x70, 0x00, 0x61, 0x00, 0x63, 0x00, 0x68, 0x00, 0x65, 0x00, 0x2e, 0x00, 
    -	0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x6c, 0x00, 0x69, 0x00, 
    -	0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x73, 0x00, 
    -	0x2f, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x43, 0x00, 0x45, 0x00, 0x4e, 0x00, 
    -	0x53, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 
    -	0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x6a, 0x00, 0x64, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x00, 
    -	0x01, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 
    -	0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 
    -	0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 
    -	0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 
    -	0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 
    -	0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 
    -	0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 
    -	0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 
    -	0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 
    -	0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 
    -	0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 
    -	0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 
    -	0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 
    -	0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 
    -	0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 
    -	0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 
    -	0x00, 0x61, 0x00, 0xac, 0x00, 0xa3, 0x00, 0x84, 0x00, 0x85, 0x00, 0xbd, 
    -	0x00, 0x96, 0x00, 0xe8, 0x00, 0x86, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x9d, 
    -	0x00, 0xa9, 0x00, 0xa4, 0x01, 0x03, 0x00, 0x8a, 0x01, 0x04, 0x00, 0x83, 
    -	0x00, 0x93, 0x00, 0xf2, 0x00, 0xf3, 0x00, 0x8d, 0x00, 0x97, 0x00, 0x88, 
    -	0x01, 0x05, 0x00, 0xde, 0x00, 0xf1, 0x00, 0x9e, 0x00, 0xaa, 0x00, 0xf5, 
    -	0x00, 0xf4, 0x00, 0xf6, 0x00, 0xa2, 0x00, 0xad, 0x00, 0xc9, 0x00, 0xc7, 
    -	0x00, 0xae, 0x00, 0x62, 0x00, 0x63, 0x00, 0x90, 0x00, 0x64, 0x00, 0xcb, 
    -	0x00, 0x65, 0x00, 0xc8, 0x00, 0xca, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xcd, 
    -	0x00, 0xce, 0x00, 0xe9, 0x00, 0x66, 0x00, 0xd3, 0x00, 0xd0, 0x00, 0xd1, 
    -	0x00, 0xaf, 0x00, 0x67, 0x00, 0xf0, 0x00, 0x91, 0x00, 0xd6, 0x00, 0xd4, 
    -	0x00, 0xd5, 0x00, 0x68, 0x00, 0xeb, 0x00, 0xed, 0x00, 0x89, 0x00, 0x6a, 
    -	0x00, 0x69, 0x00, 0x6b, 0x00, 0x6d, 0x00, 0x6c, 0x00, 0x6e, 0x00, 0xa0, 
    -	0x00, 0x6f, 0x00, 0x71, 0x00, 0x70, 0x00, 0x72, 0x00, 0x73, 0x00, 0x75, 
    -	0x00, 0x74, 0x00, 0x76, 0x00, 0x77, 0x00, 0xea, 0x00, 0x78, 0x00, 0x7a, 
    -	0x00, 0x79, 0x00, 0x7b, 0x00, 0x7d, 0x00, 0x7c, 0x00, 0xb8, 0x00, 0xa1, 
    -	0x00, 0x7f, 0x00, 0x7e, 0x00, 0x80, 0x00, 0x81, 0x00, 0xec, 0x00, 0xee, 
    -	0x00, 0xba, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a, 
    -	0x01, 0x0b, 0x00, 0xfd, 0x00, 0xfe, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 
    -	0x01, 0x0f, 0x00, 0xff, 0x01, 0x00, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 
    -	0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 
    -	0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 
    -	0x01, 0x1f, 0x00, 0xf8, 0x00, 0xf9, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 
    -	0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 
    -	0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 
    -	0x01, 0x2f, 0x01, 0x30, 0x00, 0xd7, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 
    -	0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 
    -	0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 
    -	0x00, 0xe2, 0x00, 0xe3, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 
    -	0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 
    -	0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, 0x00, 0xb0, 
    -	0x00, 0xb1, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 
    -	0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x00, 0xfb, 
    -	0x00, 0xfc, 0x00, 0xe4, 0x00, 0xe5, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 
    -	0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 
    -	0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 
    -	0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 
    -	0x01, 0x6e, 0x00, 0xbb, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 
    -	0x00, 0xe6, 0x00, 0xe7, 0x01, 0x73, 0x00, 0xa6, 0x01, 0x74, 0x01, 0x75, 
    -	0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 
    -	0x01, 0x7c, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 
    -	0x01, 0x82, 0x00, 0xd8, 0x00, 0xe1, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 
    -	0x00, 0xe0, 0x00, 0xd9, 0x00, 0xdf, 0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 
    -	0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, 
    -	0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 
    -	0x01, 0x92, 0x01, 0x93, 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 
    -	0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 
    -	0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 
    -	0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 
    -	0x01, 0xaa, 0x01, 0xab, 0x00, 0x9f, 0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 
    -	0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 
    -	0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb9, 0x01, 0xba, 
    -	0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 
    -	0x01, 0xc1, 0x00, 0x9b, 0x01, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, 0xc5, 
    -	0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, 
    -	0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd1, 
    -	0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 
    -	0x01, 0xd8, 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, 0x01, 0xdc, 0x01, 0xdd, 
    -	0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 
    -	0x01, 0xe4, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xe9, 
    -	0x01, 0xea, 0x01, 0xeb, 0x01, 0xec, 0x01, 0xed, 0x01, 0xee, 0x01, 0xef, 
    -	0x01, 0xf0, 0x01, 0xf1, 0x01, 0xf2, 0x01, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 
    -	0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfa, 0x01, 0xfb, 
    -	0x01, 0xfc, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x02, 0x00, 0x02, 0x01, 
    -	0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 
    -	0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x0b, 0x02, 0x0c, 0x02, 0x0d, 
    -	0x02, 0x0e, 0x02, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 
    -	0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02, 0x19, 
    -	0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 
    -	0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 
    -	0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 
    -	0x02, 0x2c, 0x02, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x31, 
    -	0x02, 0x32, 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 
    -	0x02, 0x38, 0x02, 0x39, 0x02, 0x3a, 0x02, 0x3b, 0x02, 0x3c, 0x02, 0x3d, 
    -	0x02, 0x3e, 0x02, 0x3f, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, 
    -	0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 
    -	0x02, 0x4a, 0x02, 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x4e, 0x02, 0x4f, 
    -	0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x02, 0x54, 0x02, 0x55, 
    -	0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5a, 0x02, 0x5b, 
    -	0x02, 0x5c, 0x02, 0x5d, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 
    -	0x02, 0x62, 0x02, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 
    -	0x02, 0x68, 0x02, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 
    -	0x02, 0x6e, 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, 0x02, 0x72, 0x02, 0x73, 
    -	0x02, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, 
    -	0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 0x02, 0x7e, 0x02, 0x7f, 
    -	0x02, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 
    -	0x02, 0x86, 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, 0x8a, 0x02, 0x8b, 
    -	0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, 0x02, 0x8f, 0x02, 0x90, 0x02, 0x91, 
    -	0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 0x02, 0x96, 0x02, 0x97, 
    -	0x02, 0x98, 0x02, 0x99, 0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 
    -	0x02, 0x9e, 0x02, 0x9f, 0x02, 0xa0, 0x02, 0xa1, 0x02, 0xa2, 0x02, 0xa3, 
    -	0x02, 0xa4, 0x02, 0xa5, 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xa9, 
    -	0x02, 0xaa, 0x02, 0xab, 0x02, 0xac, 0x02, 0xad, 0x02, 0xae, 0x02, 0xaf, 
    -	0x02, 0xb0, 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 0x02, 0xb4, 0x02, 0xb5, 
    -	0x02, 0xb6, 0x02, 0xb7, 0x02, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 
    -	0x02, 0xbc, 0x02, 0xbd, 0x02, 0xbe, 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xc1, 
    -	0x02, 0xc2, 0x02, 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02, 0xc7, 
    -	0x02, 0xc8, 0x02, 0xc9, 0x02, 0xca, 0x02, 0xcb, 0x02, 0xcc, 0x02, 0xcd, 
    -	0x02, 0xce, 0x02, 0xcf, 0x02, 0xd0, 0x02, 0xd1, 0x02, 0xd2, 0x02, 0xd3, 
    -	0x02, 0xd4, 0x02, 0xd5, 0x02, 0xd6, 0x02, 0xd7, 0x02, 0xd8, 0x02, 0xd9, 
    -	0x02, 0xda, 0x02, 0xdb, 0x02, 0xdc, 0x02, 0xdd, 0x02, 0xde, 0x02, 0xdf, 
    -	0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 
    -	0x02, 0xe6, 0x02, 0xe7, 0x02, 0xe8, 0x02, 0xe9, 0x02, 0xea, 0x02, 0xeb, 
    -	0x02, 0xec, 0x02, 0xed, 0x02, 0xee, 0x02, 0xef, 0x02, 0xf0, 0x02, 0xf1, 
    -	0x02, 0xf2, 0x02, 0xf3, 0x02, 0xf4, 0x02, 0xf5, 0x02, 0xf6, 0x02, 0xf7, 
    -	0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 0x02, 0xfc, 0x02, 0xfd, 
    -	0x02, 0xfe, 0x02, 0xff, 0x03, 0x00, 0x03, 0x01, 0x03, 0x02, 0x03, 0x03, 
    -	0x03, 0x04, 0x03, 0x05, 0x03, 0x06, 0x03, 0x07, 0x03, 0x08, 0x03, 0x09, 
    -	0x03, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x03, 0x0e, 0x03, 0x0f, 
    -	0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 
    -	0x03, 0x16, 0x03, 0x17, 0x03, 0x18, 0x03, 0x19, 0x03, 0x1a, 0x03, 0x1b, 
    -	0x03, 0x1c, 0x03, 0x1d, 0x03, 0x1e, 0x03, 0x1f, 0x03, 0x20, 0x03, 0x21, 
    -	0x03, 0x22, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, 0x03, 0x27, 
    -	0x03, 0x28, 0x03, 0x29, 0x03, 0x2a, 0x03, 0x2b, 0x03, 0x2c, 0x03, 0x2d, 
    -	0x03, 0x2e, 0x03, 0x2f, 0x03, 0x30, 0x03, 0x31, 0x03, 0x32, 0x03, 0x33, 
    -	0x03, 0x34, 0x03, 0x35, 0x03, 0x36, 0x03, 0x37, 0x03, 0x38, 0x03, 0x39, 
    -	0x03, 0x3a, 0x03, 0x3b, 0x03, 0x3c, 0x03, 0x3d, 0x03, 0x3e, 0x03, 0x3f, 
    -	0x03, 0x40, 0x03, 0x41, 0x03, 0x42, 0x03, 0x43, 0x03, 0x44, 0x03, 0x45, 
    -	0x03, 0x46, 0x03, 0x47, 0x03, 0x48, 0x03, 0x49, 0x03, 0x4a, 0x03, 0x4b, 
    -	0x03, 0x4c, 0x03, 0x4d, 0x03, 0x4e, 0x03, 0x4f, 0x03, 0x50, 0x03, 0x51, 
    -	0x03, 0x52, 0x03, 0x53, 0x03, 0x54, 0x03, 0x55, 0x03, 0x56, 0x00, 0xb2, 
    -	0x00, 0xb3, 0x03, 0x57, 0x03, 0x58, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xc4, 
    -	0x03, 0x59, 0x00, 0xb4, 0x00, 0xb5, 0x00, 0xc5, 0x00, 0x82, 0x00, 0xc2, 
    -	0x00, 0x87, 0x03, 0x5a, 0x00, 0xab, 0x00, 0xc6, 0x03, 0x5b, 0x03, 0x5c, 
    -	0x00, 0xbe, 0x00, 0xbf, 0x03, 0x5d, 0x00, 0xbc, 0x03, 0x5e, 0x03, 0x5f, 
    -	0x00, 0xf7, 0x03, 0x60, 0x03, 0x61, 0x03, 0x62, 0x03, 0x63, 0x03, 0x64, 
    -	0x03, 0x65, 0x03, 0x66, 0x00, 0x8c, 0x03, 0x67, 0x03, 0x68, 0x03, 0x69, 
    -	0x03, 0x6a, 0x03, 0x6b, 0x00, 0x98, 0x00, 0x9a, 0x00, 0x99, 0x00, 0xef, 
    -	0x00, 0xa5, 0x00, 0x92, 0x00, 0x9c, 0x00, 0xa7, 0x00, 0x8f, 0x00, 0x94, 
    -	0x00, 0x95, 0x00, 0xb9, 0x03, 0x6c, 0x00, 0xc0, 0x03, 0x6d, 0x03, 0x6e, 
    -	0x03, 0x6f, 0x03, 0x70, 0x03, 0x71, 0x03, 0x72, 0x03, 0x73, 0x03, 0x74, 
    -	0x03, 0x75, 0x03, 0x76, 0x03, 0x77, 0x03, 0x78, 0x03, 0x79, 0x03, 0x7a, 
    -	0x03, 0x7b, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, 0x03, 0x7f, 0x03, 0x80, 
    -	0x03, 0x81, 0x03, 0x82, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 0x03, 0x86, 
    -	0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 0x03, 0x8c, 
    -	0x03, 0x8d, 0x03, 0x8e, 0x03, 0x8f, 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 
    -	0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, 0x03, 0x97, 0x03, 0x98, 
    -	0x03, 0x99, 0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, 
    -	0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa4, 
    -	0x03, 0xa5, 0x03, 0xa6, 0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa9, 0x03, 0xaa, 
    -	0x03, 0xab, 0x03, 0xac, 0x03, 0xad, 0x03, 0xae, 0x03, 0xaf, 0x03, 0xb0, 
    -	0x03, 0xb1, 0x03, 0xb2, 0x03, 0xb3, 0x03, 0xb4, 0x03, 0xb5, 0x03, 0xb6, 
    -	0x03, 0xb7, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 
    -	0x03, 0xbd, 0x03, 0xbe, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 
    -	0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc7, 0x03, 0xc8, 
    -	0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, 0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 
    -	0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 0x03, 0xd3, 0x03, 0xd4, 
    -	0x03, 0xd5, 0x03, 0xd6, 0x03, 0xd7, 0x03, 0xd8, 0x03, 0xd9, 0x03, 0xda, 
    -	0x03, 0xdb, 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xde, 0x03, 0xdf, 0x03, 0xe0, 
    -	0x03, 0xe1, 0x03, 0xe2, 0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe5, 0x03, 0xe6, 
    -	0x03, 0xe7, 0x03, 0xe8, 0x03, 0xe9, 0x03, 0xea, 0x03, 0xeb, 0x03, 0xec, 
    -	0x03, 0xed, 0x03, 0xee, 0x03, 0xef, 0x03, 0xf0, 0x03, 0xf1, 0x03, 0xf2, 
    -	0x03, 0xf3, 0x03, 0xf4, 0x03, 0xf5, 0x03, 0xf6, 0x03, 0xf7, 0x03, 0xf8, 
    -	0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfb, 0x03, 0xfc, 0x03, 0xfd, 0x03, 0xfe, 
    -	0x03, 0xff, 0x04, 0x00, 0x04, 0x01, 0x04, 0x02, 0x04, 0x03, 0x04, 0x04, 
    -	0x04, 0x05, 0x04, 0x06, 0x04, 0x07, 0x04, 0x08, 0x04, 0x09, 0x04, 0x0a, 
    -	0x04, 0x0b, 0x04, 0x0c, 0x04, 0x0d, 0x04, 0x0e, 0x04, 0x0f, 0x04, 0x10, 
    -	0x04, 0x11, 0x04, 0x12, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x30, 0x41, 0x44, 0x06, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 
    -	0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x65, 
    -	0x72, 0x65, 0x64, 0x07, 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 
    -	0x61, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x41, 0x62, 0x72, 0x65, 
    -	0x76, 0x65, 0x06, 0x61, 0x62, 0x72, 0x65, 0x76, 0x65, 0x07, 0x41, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x61, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 
    -	0x6b, 0x0b, 0x43, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x63, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x30, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x31, 0x30, 0x42, 0x06, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x06, 0x64, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x44, 0x63, 0x72, 0x6f, 
    -	0x61, 0x74, 0x06, 0x64, 0x63, 0x72, 0x6f, 0x61, 0x74, 0x07, 0x45, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x65, 0x6d, 0x61, 0x63, 0x72, 0x6f, 
    -	0x6e, 0x06, 0x45, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x65, 0x62, 0x72, 
    -	0x65, 0x76, 0x65, 0x0a, 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0a, 0x65, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x07, 0x45, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x65, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x06, 0x45, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x06, 0x65, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x47, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x67, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x31, 0x32, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x32, 0x31, 0x0c, 
    -	0x47, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 
    -	0x0c, 0x67, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x0b, 0x48, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x68, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x04, 0x48, 0x62, 0x61, 0x72, 0x04, 0x68, 0x62, 0x61, 0x72, 0x06, 
    -	0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x06, 0x69, 0x74, 0x69, 0x6c, 0x64, 
    -	0x65, 0x07, 0x49, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x69, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x49, 0x62, 0x72, 0x65, 0x76, 0x65, 
    -	0x06, 0x69, 0x62, 0x72, 0x65, 0x76, 0x65, 0x07, 0x49, 0x6f, 0x67, 0x6f, 
    -	0x6e, 0x65, 0x6b, 0x07, 0x69, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x0a, 
    -	0x49, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x02, 0x49, 
    -	0x4a, 0x02, 0x69, 0x6a, 0x0b, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x0b, 0x6a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x0c, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 
    -	0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6b, 0x67, 0x72, 0x65, 0x65, 
    -	0x6e, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x63, 0x06, 0x4c, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x06, 0x6c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0c, 0x4c, 0x63, 
    -	0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x6c, 
    -	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 
    -	0x4c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x6c, 0x63, 0x61, 0x72, 0x6f, 
    -	0x6e, 0x04, 0x4c, 0x64, 0x6f, 0x74, 0x04, 0x6c, 0x64, 0x6f, 0x74, 0x06, 
    -	0x4e, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x6e, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x0c, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0c, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x06, 0x4e, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x6e, 
    -	0x63, 0x61, 0x72, 0x6f, 0x6e, 0x0b, 0x6e, 0x61, 0x70, 0x6f, 0x73, 0x74, 
    -	0x72, 0x6f, 0x70, 0x68, 0x65, 0x03, 0x45, 0x6e, 0x67, 0x03, 0x65, 0x6e, 
    -	0x67, 0x07, 0x4f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x6f, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x06, 0x4f, 0x62, 0x72, 0x65, 0x76, 0x65, 
    -	0x06, 0x6f, 0x62, 0x72, 0x65, 0x76, 0x65, 0x0d, 0x4f, 0x68, 0x75, 0x6e, 
    -	0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x0d, 0x6f, 0x68, 
    -	0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x06, 
    -	0x52, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x72, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x0c, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0c, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x06, 0x52, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x72, 
    -	0x63, 0x61, 0x72, 0x6f, 0x6e, 0x06, 0x53, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x06, 0x73, 0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x53, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0b, 0x73, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x0c, 0x54, 0x63, 0x6f, 0x6d, 
    -	0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x74, 0x63, 0x6f, 
    -	0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x06, 0x54, 0x63, 
    -	0x61, 0x72, 0x6f, 0x6e, 0x06, 0x74, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x04, 
    -	0x54, 0x62, 0x61, 0x72, 0x04, 0x74, 0x62, 0x61, 0x72, 0x06, 0x55, 0x74, 
    -	0x69, 0x6c, 0x64, 0x65, 0x06, 0x75, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x07, 
    -	0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x07, 0x75, 0x6d, 0x61, 0x63, 
    -	0x72, 0x6f, 0x6e, 0x06, 0x55, 0x62, 0x72, 0x65, 0x76, 0x65, 0x06, 0x75, 
    -	0x62, 0x72, 0x65, 0x76, 0x65, 0x05, 0x55, 0x72, 0x69, 0x6e, 0x67, 0x05, 
    -	0x75, 0x72, 0x69, 0x6e, 0x67, 0x0d, 0x55, 0x68, 0x75, 0x6e, 0x67, 0x61, 
    -	0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x0d, 0x75, 0x68, 0x75, 0x6e, 
    -	0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 0x07, 0x55, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x07, 0x75, 0x6f, 0x67, 0x6f, 0x6e, 0x65, 
    -	0x6b, 0x0b, 0x57, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x77, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x0b, 0x79, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x06, 0x5a, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x7a, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x0a, 0x5a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x0a, 0x7a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x05, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x05, 0x4f, 0x68, 0x6f, 0x72, 
    -	0x6e, 0x05, 0x6f, 0x68, 0x6f, 0x72, 0x6e, 0x05, 0x55, 0x68, 0x6f, 0x72, 
    -	0x6e, 0x05, 0x75, 0x68, 0x6f, 0x72, 0x6e, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x31, 0x46, 0x30, 0x0a, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x0a, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x07, 0x41, 0x45, 0x61, 0x63, 0x75, 0x74, 0x65, 0x07, 0x61, 0x65, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x4f, 0x73, 0x6c, 0x61, 0x73, 0x68, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0b, 0x6f, 0x73, 0x6c, 0x61, 0x73, 0x68, 
    -	0x61, 0x63, 0x75, 0x74, 0x65, 0x0c, 0x53, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x0c, 0x73, 0x63, 0x6f, 0x6d, 0x6d, 
    -	0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x07, 0x75, 0x6e, 0x69, 0x30, 
    -	0x32, 0x33, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x42, 0x43, 0x07, 
    -	0x75, 0x6e, 0x69, 0x30, 0x32, 0x46, 0x33, 0x09, 0x67, 0x72, 0x61, 0x76, 
    -	0x65, 0x63, 0x6f, 0x6d, 0x62, 0x09, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 
    -	0x6f, 0x6d, 0x62, 0x09, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 
    -	0x62, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 
    -	0x30, 0x46, 0x08, 0x64, 0x6f, 0x74, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x05, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0d, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 
    -	0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x41, 0x6c, 0x70, 0x68, 
    -	0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x09, 0x61, 0x6e, 0x6f, 0x74, 0x65, 
    -	0x6c, 0x65, 0x69, 0x61, 0x0c, 0x45, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x08, 0x45, 0x74, 0x61, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x09, 0x49, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 
    -	0x0c, 0x4f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 
    -	0x73, 0x0c, 0x55, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x0a, 0x4f, 0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 
    -	0x73, 0x11, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 
    -	0x69, 0x73, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x05, 0x41, 0x6c, 0x70, 0x68, 
    -	0x61, 0x04, 0x42, 0x65, 0x74, 0x61, 0x05, 0x47, 0x61, 0x6d, 0x6d, 0x61, 
    -	0x05, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x07, 0x45, 0x70, 0x73, 0x69, 0x6c, 
    -	0x6f, 0x6e, 0x04, 0x5a, 0x65, 0x74, 0x61, 0x03, 0x45, 0x74, 0x61, 0x05, 
    -	0x54, 0x68, 0x65, 0x74, 0x61, 0x04, 0x49, 0x6f, 0x74, 0x61, 0x05, 0x4b, 
    -	0x61, 0x70, 0x70, 0x61, 0x06, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x02, 
    -	0x4d, 0x75, 0x02, 0x4e, 0x75, 0x02, 0x58, 0x69, 0x07, 0x4f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x02, 0x50, 0x69, 0x03, 0x52, 0x68, 0x6f, 0x05, 
    -	0x53, 0x69, 0x67, 0x6d, 0x61, 0x03, 0x54, 0x61, 0x75, 0x07, 0x55, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x03, 0x50, 0x68, 0x69, 0x03, 0x43, 0x68, 
    -	0x69, 0x03, 0x50, 0x73, 0x69, 0x0c, 0x49, 0x6f, 0x74, 0x61, 0x64, 0x69, 
    -	0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0f, 0x55, 0x70, 0x73, 0x69, 0x6c, 
    -	0x6f, 0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0a, 0x61, 
    -	0x6c, 0x70, 0x68, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x65, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x08, 0x65, 
    -	0x74, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x09, 0x69, 0x6f, 0x74, 0x61, 
    -	0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x14, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 
    -	0x6e, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x6f, 0x6e, 
    -	0x6f, 0x73, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x04, 0x62, 0x65, 0x74, 
    -	0x61, 0x05, 0x67, 0x61, 0x6d, 0x6d, 0x61, 0x05, 0x64, 0x65, 0x6c, 0x74, 
    -	0x61, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x04, 0x7a, 0x65, 
    -	0x74, 0x61, 0x03, 0x65, 0x74, 0x61, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 
    -	0x04, 0x69, 0x6f, 0x74, 0x61, 0x05, 0x6b, 0x61, 0x70, 0x70, 0x61, 0x06, 
    -	0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 
    -	0x42, 0x43, 0x02, 0x6e, 0x75, 0x02, 0x78, 0x69, 0x07, 0x6f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x03, 0x72, 0x68, 0x6f, 0x06, 0x73, 0x69, 0x67, 
    -	0x6d, 0x61, 0x31, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x03, 0x74, 0x61, 
    -	0x75, 0x07, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x03, 0x70, 0x68, 
    -	0x69, 0x03, 0x63, 0x68, 0x69, 0x03, 0x70, 0x73, 0x69, 0x05, 0x6f, 0x6d, 
    -	0x65, 0x67, 0x61, 0x0c, 0x69, 0x6f, 0x74, 0x61, 0x64, 0x69, 0x65, 0x72, 
    -	0x65, 0x73, 0x69, 0x73, 0x0f, 0x75, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 
    -	0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x0c, 0x6f, 0x6d, 0x69, 
    -	0x63, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0c, 0x75, 0x70, 
    -	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x0a, 0x6f, 
    -	0x6d, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x6e, 0x6f, 0x73, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x33, 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x33, 0x44, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x30, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x31, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x32, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x32, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x33, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x33, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x34, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x34, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x35, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x35, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x36, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x36, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x37, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x37, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x38, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x38, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x39, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x39, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x41, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x41, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x42, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x42, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x43, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x44, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x44, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x45, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x34, 0x46, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x34, 0x46, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x30, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x30, 0x35, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x35, 0x31, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x30, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x33, 0x46, 0x06, 0x57, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x06, 0x77, 0x67, 0x72, 0x61, 0x76, 0x65, 0x06, 
    -	0x57, 0x61, 0x63, 0x75, 0x74, 0x65, 0x06, 0x77, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x09, 0x57, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x09, 
    -	0x77, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x41, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x41, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x42, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x42, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x33, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x36, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x39, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x43, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x43, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 
    -	0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x43, 0x46, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x31, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x32, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x35, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x38, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x41, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x42, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 
    -	0x44, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x44, 0x45, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x44, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x30, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x31, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x33, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x34, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x37, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x41, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x43, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 0x44, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x45, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x45, 
    -	0x46, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x30, 0x07, 0x75, 0x6e, 
    -	0x69, 0x31, 0x45, 0x46, 0x31, 0x06, 0x59, 0x67, 0x72, 0x61, 0x76, 0x65, 
    -	0x06, 0x79, 0x67, 0x72, 0x61, 0x76, 0x65, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x45, 0x46, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x35, 0x07, 
    -	0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x45, 0x46, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x38, 0x07, 
    -	0x75, 0x6e, 0x69, 0x31, 0x45, 0x46, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x31, 
    -	0x46, 0x34, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x30, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x33, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x36, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x39, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x32, 
    -	0x30, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x31, 0x35, 0x0d, 
    -	0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x64, 0x62, 
    -	0x6c, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x65, 0x76, 0x65, 0x72, 
    -	0x73, 0x65, 0x64, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x32, 0x35, 0x06, 
    -	0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 
    -	0x64, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x64, 0x62, 0x6c, 0x07, 
    -	0x75, 0x6e, 0x69, 0x32, 0x30, 0x37, 0x34, 0x09, 0x6e, 0x73, 0x75, 0x70, 
    -	0x65, 0x72, 0x69, 0x6f, 0x72, 0x04, 0x6c, 0x69, 0x72, 0x61, 0x06, 0x70, 
    -	0x65, 0x73, 0x65, 0x74, 0x61, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x41, 
    -	0x42, 0x04, 0x45, 0x75, 0x72, 0x6f, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, 
    -	0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x31, 0x31, 0x33, 0x07, 0x75, 
    -	0x6e, 0x69, 0x32, 0x31, 0x31, 0x36, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 
    -	0x61, 0x74, 0x65, 0x64, 0x09, 0x6f, 0x6e, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x0c, 0x74, 0x68, 0x72, 0x65, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x73, 0x0b, 0x66, 0x69, 0x76, 0x65, 0x65, 0x69, 0x67, 0x68, 
    -	0x74, 0x68, 0x73, 0x0c, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x65, 0x69, 0x67, 
    -	0x68, 0x74, 0x68, 0x73, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 
    -	0x63, 0x65, 0x6e, 0x74, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x32, 
    -	0x07, 0x75, 0x6e, 0x69, 0x46, 0x42, 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 
    -	0x46, 0x42, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x45, 0x46, 0x46, 
    -	0x07, 0x75, 0x6e, 0x69, 0x46, 0x46, 0x46, 0x43, 0x07, 0x75, 0x6e, 0x69, 
    -	0x46, 0x46, 0x46, 0x44, 0x0c, 0x49, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x64, 0x61, 0x73, 0x69, 0x61, 0x6f, 
    -	0x78, 0x69, 0x61, 0x09, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x73, 0x75, 
    -	0x70, 0x08, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 0x73, 
    -	0x69, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x66, 0x6f, 0x75, 0x72, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x08, 0x74, 0x77, 0x6f, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x08, 0x6f, 0x6e, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x7a, 
    -	0x65, 0x72, 0x6f, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x5a, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x06, 0x59, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x58, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x57, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x06, 0x56, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x55, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x06, 0x54, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x53, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x06, 0x52, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x51, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x06, 0x4f, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x4e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x08, 0x63, 0x72, 0x6f, 0x73, 0x73, 
    -	0x62, 0x61, 0x72, 0x06, 0x4d, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x4c, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x4b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x06, 0x4a, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x49, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x06, 0x48, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x47, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x06, 0x46, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 
    -	0x45, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x44, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x06, 0x43, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x06, 0x42, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x0e, 0x62, 0x72, 
    -	0x65, 0x76, 0x65, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 
    -	0x06, 0x41, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x13, 0x63, 0x69, 0x72, 0x63, 
    -	0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x61, 0x63, 0x75, 0x74, 0x65, 0x63, 
    -	0x6f, 0x6d, 0x62, 0x13, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 
    -	0x65, 0x78, 0x67, 0x72, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x12, 
    -	0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x68, 0x6f, 
    -	0x6f, 0x6b, 0x63, 0x6f, 0x6d, 0x62, 0x13, 0x63, 0x69, 0x72, 0x63, 0x75, 
    -	0x6d, 0x66, 0x6c, 0x65, 0x78, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 
    -	0x6d, 0x62, 0x0e, 0x62, 0x72, 0x65, 0x76, 0x65, 0x61, 0x63, 0x75, 0x74, 
    -	0x65, 0x63, 0x6f, 0x6d, 0x62, 0x0d, 0x62, 0x72, 0x65, 0x76, 0x65, 0x68, 
    -	0x6f, 0x6f, 0x6b, 0x63, 0x6f, 0x6d, 0x62, 0x0e, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x62, 0x0b, 0x63, 
    -	0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x74, 0x69, 0x63, 0x10, 0x63, 
    -	0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x68, 0x6f, 0x6f, 0x6b, 0x6c, 
    -	0x65, 0x66, 0x74, 0x0c, 0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 
    -	0x68, 0x6f, 0x6f, 0x6b, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x69, 
    -	0x67, 0x68, 0x74, 0x68, 0x6f, 0x6f, 0x6b, 0x08, 0x6f, 0x6e, 0x65, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x08, 0x74, 0x77, 0x6f, 0x2e, 0x6c, 0x6e, 0x75, 
    -	0x6d, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 
    -	0x09, 0x66, 0x6f, 0x75, 0x72, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x09, 0x66, 
    -	0x69, 0x76, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x08, 0x73, 0x69, 0x78, 
    -	0x2e, 0x6c, 0x6e, 0x75, 0x6d, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 
    -	0x6c, 0x6e, 0x75, 0x6d, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x6c, 
    -	0x6e, 0x75, 0x6d, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x6c, 0x6e, 0x75, 
    -	0x6d, 0x06, 0x50, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x66, 0x69, 0x76, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x07, 0x73, 0x69, 0x78, 0x2e, 0x73, 
    -	0x75, 0x70, 0x08, 0x66, 0x69, 0x76, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 
    -	0x66, 0x6f, 0x75, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x09, 0x74, 0x68, 0x72, 
    -	0x65, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x07, 0x74, 0x77, 0x6f, 0x2e, 0x73, 
    -	0x75, 0x70, 0x09, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x07, 0x6f, 0x6e, 0x65, 0x2e, 0x73, 0x75, 0x70, 0x08, 0x7a, 0x65, 0x72, 
    -	0x6f, 0x2e, 0x73, 0x75, 0x70, 0x09, 0x6e, 0x69, 0x6e, 0x65, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0a, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x09, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x2e, 0x73, 0x75, 0x70, 0x0d, 
    -	0x63, 0x79, 0x72, 0x69, 0x6c, 0x6c, 0x69, 0x63, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x0b, 0x44, 0x63, 0x72, 0x6f, 0x61, 0x74, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x08, 0x45, 0x74, 0x68, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x54, 
    -	0x62, 0x61, 0x72, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x67, 0x72, 
    -	0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x41, 0x63, 0x69, 
    -	0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x41, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0e, 0x41, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0a, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0f, 0x41, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0d, 0x43, 0x63, 0x65, 0x64, 
    -	0x69, 0x6c, 0x6c, 0x61, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x61, 
    -	0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x45, 0x63, 
    -	0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0e, 0x45, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x67, 0x72, 0x61, 0x76, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x49, 0x63, 0x69, 0x72, 0x63, 0x75, 
    -	0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x49, 
    -	0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4e, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4f, 0x67, 0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x4f, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x10, 0x4f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 
    -	0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4f, 0x74, 0x69, 0x6c, 0x64, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x4f, 0x64, 0x69, 0x65, 0x72, 
    -	0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x55, 0x67, 
    -	0x72, 0x61, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x55, 0x61, 
    -	0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x55, 0x63, 
    -	0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0e, 0x55, 0x64, 0x69, 0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x59, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x41, 0x6d, 0x61, 0x63, 0x72, 0x6f, 
    -	0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x41, 0x62, 0x72, 0x65, 0x76, 
    -	0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x41, 0x6f, 0x67, 0x6f, 0x6e, 
    -	0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x43, 0x61, 0x63, 0x75, 
    -	0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x43, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x30, 0x41, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x43, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x44, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0c, 0x45, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0b, 0x45, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 
    -	0x63, 0x70, 0x0f, 0x45, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 
    -	0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x45, 0x6f, 0x67, 0x6f, 0x6e, 
    -	0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x45, 0x63, 0x61, 0x72, 
    -	0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x47, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x47, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x75, 0x6e, 0x69, 0x30, 0x31, 0x32, 0x30, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x11, 0x47, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 
    -	0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 0x48, 0x63, 0x69, 0x72, 
    -	0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x49, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x12, 0x55, 0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 
    -	0x75, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x49, 0x62, 0x72, 0x65, 
    -	0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x49, 0x6f, 0x67, 0x6f, 
    -	0x6e, 0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0f, 0x49, 0x64, 0x6f, 
    -	0x74, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x10, 0x4a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x4b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x4c, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 
    -	0x4c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4c, 0x63, 0x61, 0x72, 0x6f, 0x6e, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x09, 0x4c, 0x64, 0x6f, 0x74, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x0b, 0x4e, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 
    -	0x6d, 0x63, 0x70, 0x11, 0x4e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x61, 0x63, 
    -	0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4e, 0x63, 
    -	0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x4f, 0x6d, 
    -	0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x4f, 
    -	0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x12, 0x4f, 
    -	0x68, 0x75, 0x6e, 0x67, 0x61, 0x72, 0x75, 0x6d, 0x6c, 0x61, 0x75, 0x74, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x52, 0x61, 0x63, 0x75, 0x74, 0x65, 
    -	0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x52, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 
    -	0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x52, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 
    -	0x53, 0x61, 0x63, 0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 
    -	0x53, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0d, 0x53, 0x63, 0x65, 0x64, 0x69, 0x6c, 0x6c, 
    -	0x61, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x53, 0x63, 0x61, 0x72, 0x6f, 
    -	0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x11, 0x54, 0x63, 0x6f, 0x6d, 0x6d, 
    -	0x61, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x54, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0b, 0x55, 0x74, 0x69, 0x6c, 0x64, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0c, 0x55, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x6e, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0b, 0x55, 0x62, 0x72, 0x65, 0x76, 0x65, 0x2e, 0x73, 0x6d, 0x63, 
    -	0x70, 0x0a, 0x55, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x6d, 0x63, 0x70, 
    -	0x0f, 0x67, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x6c, 0x73, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0b, 0x5a, 0x63, 0x61, 0x72, 0x6f, 0x6e, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x0f, 0x5a, 0x64, 0x6f, 0x74, 0x61, 0x63, 0x63, 
    -	0x65, 0x6e, 0x74, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0b, 0x5a, 0x61, 0x63, 
    -	0x75, 0x74, 0x65, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0e, 0x59, 0x64, 0x69, 
    -	0x65, 0x72, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x10, 
    -	0x59, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 0x66, 0x6c, 0x65, 0x78, 0x2e, 
    -	0x73, 0x6d, 0x63, 0x70, 0x10, 0x57, 0x63, 0x69, 0x72, 0x63, 0x75, 0x6d, 
    -	0x66, 0x6c, 0x65, 0x78, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x0c, 0x55, 0x6f, 
    -	0x67, 0x6f, 0x6e, 0x65, 0x6b, 0x2e, 0x73, 0x6d, 0x63, 0x70, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0x00, 0x02, 0xff, 0xff, 0x00, 0x0f, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x30, 0x00, 0x44, 0x00, 0x02, 
    -	0x44, 0x46, 0x4c, 0x54, 0x00, 0x0e, 0x6c, 0x61, 0x74, 0x6e, 0x00, 0x1a, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 
    -	0x00, 0x02, 0x6b, 0x65, 0x72, 0x6e, 0x00, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 
    -	0x00, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 
    -	0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x32, 0xa8, 0x00, 0x01, 
    -	0x03, 0x2e, 0x00, 0x04, 0x00, 0x00, 0x01, 0x92, 0x31, 0xe6, 0x31, 0xe6, 
    -	0x06, 0x56, 0x30, 0x3c, 0x1e, 0xf4, 0x2d, 0xa6, 0x31, 0xc4, 0x30, 0xc4, 
    -	0x06, 0xac, 0x30, 0xe0, 0x30, 0xe0, 0x2d, 0x64, 0x0d, 0x78, 0x30, 0xe0, 
    -	0x30, 0xe0, 0x31, 0xc4, 0x21, 0xfe, 0x09, 0xd6, 0x0a, 0x50, 0x2d, 0xb8, 
    -	0x2d, 0x24, 0x30, 0x26, 0x2f, 0xca, 0x31, 0x24, 0x0d, 0xa4, 0x0a, 0xb6, 
    -	0x30, 0xa6, 0x2e, 0x92, 0x30, 0xda, 0x0a, 0xf8, 0x0c, 0x22, 0x31, 0x02, 
    -	0x2e, 0x92, 0x0d, 0x96, 0x31, 0xa6, 0x0d, 0x18, 0x30, 0x20, 0x31, 0xa6, 
    -	0x0d, 0x36, 0x30, 0x3c, 0x30, 0x3c, 0x30, 0x3c, 0x30, 0x3c, 0x30, 0x3c, 
    -	0x30, 0x3c, 0x2d, 0xa6, 0x30, 0xc4, 0x30, 0xc4, 0x30, 0xc4, 0x30, 0xc4, 
    -	0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x31, 0xc4, 0x30, 0xe0, 
    -	0x31, 0xc4, 0x31, 0xc4, 0x31, 0xc4, 0x31, 0xc4, 0x31, 0xc4, 0x31, 0x24, 
    -	0x30, 0xa6, 0x30, 0xa6, 0x30, 0xa6, 0x30, 0xa6, 0x30, 0xa6, 0x30, 0xa6, 
    -	0x30, 0xda, 0x30, 0xda, 0x30, 0xda, 0x30, 0xda, 0x31, 0x02, 0x31, 0x02, 
    -	0x31, 0x02, 0x31, 0x02, 0x31, 0x02, 0x31, 0xa6, 0x2e, 0x92, 0x31, 0xa6, 
    -	0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 
    -	0x2d, 0xa6, 0x2d, 0xa6, 0x2d, 0xa6, 0x2d, 0xa6, 0x31, 0xc4, 0x31, 0xc4, 
    -	0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 
    -	0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 0x30, 0xe0, 0x30, 0xe0, 
    -	0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x2d, 0x64, 0x0d, 0x78, 
    -	0x0d, 0x78, 0x0d, 0x78, 0x0d, 0x78, 0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 
    -	0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 
    -	0x0d, 0x96, 0x0d, 0x96, 0x0d, 0x96, 0x2d, 0xb8, 0x2d, 0xb8, 0x2d, 0xb8, 
    -	0x30, 0x26, 0x31, 0x24, 0x31, 0xa6, 0x31, 0x24, 0x0d, 0xa4, 0x0d, 0xa4, 
    -	0x0d, 0xa4, 0x30, 0x3c, 0x30, 0xa6, 0x31, 0xe6, 0x30, 0x3c, 0x30, 0xc4, 
    -	0x30, 0xe0, 0x30, 0xe0, 0x31, 0xc4, 0x31, 0x24, 0x30, 0x3c, 0x1e, 0xf4, 
    -	0x2e, 0xfa, 0x30, 0x3c, 0x30, 0xc4, 0x0d, 0xa4, 0x30, 0xe0, 0x31, 0xc4, 
    -	0x30, 0xe0, 0x2d, 0x64, 0x30, 0x3c, 0x30, 0xe0, 0x30, 0xe0, 0x0d, 0xb6, 
    -	0x31, 0xc4, 0x21, 0xfe, 0x0e, 0xa0, 0x2d, 0xb8, 0x31, 0x24, 0x0f, 0x8e, 
    -	0x2f, 0xca, 0x10, 0x6c, 0x30, 0xe0, 0x31, 0x24, 0x11, 0x0e, 0x31, 0xa6, 
    -	0x11, 0x14, 0x11, 0x1e, 0x13, 0xe0, 0x15, 0xba, 0x31, 0xa6, 0x16, 0xa4, 
    -	0x31, 0x02, 0x2e, 0x92, 0x17, 0x9e, 0x17, 0xa4, 0x19, 0x8e, 0x19, 0xc4, 
    -	0x1b, 0x56, 0x1b, 0x88, 0x31, 0x02, 0x30, 0xc4, 0x30, 0xc4, 0x1c, 0x06, 
    -	0x2e, 0xfa, 0x30, 0xe0, 0x30, 0xe0, 0x2c, 0xdc, 0x2c, 0xdc, 0x1d, 0x74, 
    -	0x2d, 0x64, 0x2e, 0xac, 0x30, 0xe0, 0x30, 0x3c, 0x1e, 0x06, 0x1e, 0xf4, 
    -	0x2e, 0xfa, 0x1e, 0xfe, 0x30, 0xc4, 0x2f, 0xca, 0x21, 0x38, 0x30, 0xe0, 
    -	0x2d, 0x64, 0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x31, 0xc4, 0x21, 0xfe, 
    -	0x2d, 0xa6, 0x2d, 0xb8, 0x2e, 0xac, 0x2f, 0xca, 0x30, 0xe0, 0x30, 0xe0, 
    -	0x22, 0x20, 0x2c, 0xdc, 0x2c, 0xdc, 0x23, 0xb2, 0x24, 0x70, 0x24, 0xfa, 
    -	0x30, 0xa6, 0x25, 0x54, 0x26, 0x2e, 0x2f, 0xc0, 0x26, 0xb4, 0x30, 0xda, 
    -	0x30, 0x20, 0x26, 0xda, 0x27, 0x04, 0x31, 0x02, 0x2e, 0x92, 0x28, 0x5e, 
    -	0x31, 0xa6, 0x2e, 0x92, 0x30, 0x20, 0x2a, 0xcc, 0x2b, 0x06, 0x2d, 0x02, 
    -	0x2d, 0x02, 0x2e, 0x92, 0x2c, 0x30, 0x30, 0xda, 0x30, 0xda, 0x2f, 0xc0, 
    -	0x2c, 0xb2, 0x2d, 0x02, 0x2d, 0x02, 0x31, 0xa6, 0x2c, 0xdc, 0x2d, 0x02, 
    -	0x30, 0x3c, 0x31, 0x02, 0x2d, 0x24, 0x31, 0xa6, 0x2d, 0x24, 0x31, 0xa6, 
    -	0x2d, 0x3a, 0x2e, 0x92, 0x2e, 0xfa, 0x2f, 0xc0, 0x2e, 0xfa, 0x2f, 0xca, 
    -	0x30, 0x20, 0x2d, 0x64, 0x2d, 0x64, 0x2d, 0x64, 0x2d, 0x64, 0x30, 0xe0, 
    -	0x2d, 0xa6, 0x2d, 0xb8, 0x31, 0x24, 0x31, 0xa6, 0x31, 0x24, 0x2f, 0xca, 
    -	0x30, 0x20, 0x30, 0xe0, 0x2f, 0xca, 0x30, 0x20, 0x30, 0xe0, 0x30, 0xe0, 
    -	0x30, 0xe0, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0xc4, 
    -	0x30, 0xda, 0x30, 0xda, 0x30, 0xda, 0x2f, 0xca, 0x30, 0x20, 0x31, 0xc4, 
    -	0x31, 0x02, 0x31, 0x02, 0x2e, 0x92, 0x2e, 0xac, 0x31, 0xa6, 0x2e, 0xac, 
    -	0x31, 0xa6, 0x2e, 0xac, 0x31, 0xa6, 0x2e, 0xfa, 0x2f, 0xc0, 0x2f, 0xc0, 
    -	0x2f, 0xca, 0x30, 0x20, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0xe0, 0x30, 0x26, 
    -	0x30, 0x26, 0x30, 0x26, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 
    -	0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 
    -	0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 
    -	0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 0x30, 0x3c, 0x30, 0xa6, 
    -	0x30, 0x3c, 0x30, 0xa6, 0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 
    -	0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 
    -	0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 0x30, 0xc4, 0x30, 0xda, 
    -	0x30, 0xe0, 0x30, 0xe0, 0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 
    -	0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 
    -	0x31, 0xc4, 0x31, 0x02, 0x31, 0xc4, 0x31, 0x02, 0x31, 0x02, 0x31, 0x24, 
    -	0x31, 0xa6, 0x31, 0x24, 0x31, 0xa6, 0x31, 0x24, 0x31, 0xa6, 0x31, 0x24, 
    -	0x31, 0xa6, 0x31, 0xc4, 0x31, 0xe6, 0x31, 0xe6, 0x31, 0xe6, 0x31, 0xe6, 
    -	0x31, 0xe6, 0x31, 0xe6, 0x31, 0xe6, 0x32, 0x08, 0x31, 0xec, 0x32, 0x74, 
    -	0x32, 0x02, 0x32, 0x08, 0x32, 0x0e, 0x32, 0x24, 0x32, 0x36, 0x32, 0x48, 
    -	0x32, 0x5a, 0x32, 0x74, 0x32, 0x7a, 0x32, 0x84, 0x00, 0x01, 0x01, 0x92, 
    -	0x00, 0x05, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 
    -	0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2e, 
    -	0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 
    -	0x00, 0x35, 0x00, 0x37, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 
    -	0x00, 0x3d, 0x00, 0x3e, 0x00, 0x44, 0x00, 0x45, 0x00, 0x48, 0x00, 0x49, 
    -	0x00, 0x4e, 0x00, 0x52, 0x00, 0x53, 0x00, 0x55, 0x00, 0x59, 0x00, 0x5a, 
    -	0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5e, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 
    -	0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x89, 0x00, 0x8a, 0x00, 0x8b, 
    -	0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 
    -	0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 
    -	0x00, 0x98, 0x00, 0x9f, 0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 
    -	0x00, 0xa6, 0x00, 0xa7, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 
    -	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xbf, 
    -	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc2, 0x00, 0xc3, 0x00, 0xc4, 0x00, 0xc5, 
    -	0x00, 0xc6, 0x00, 0xc7, 0x00, 0xc8, 0x00, 0xca, 0x00, 0xcc, 0x00, 0xce, 
    -	0x00, 0xd0, 0x00, 0xd2, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 0x00, 0xd7, 
    -	0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xdd, 
    -	0x00, 0xe6, 0x00, 0xea, 0x00, 0xec, 0x00, 0xee, 0x00, 0xf0, 0x00, 0xf2, 
    -	0x00, 0xf8, 0x00, 0xfb, 0x00, 0xfd, 0x00, 0xff, 0x01, 0x01, 0x01, 0x05, 
    -	0x01, 0x07, 0x01, 0x09, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 
    -	0x01, 0x12, 0x01, 0x13, 0x01, 0x17, 0x01, 0x19, 0x01, 0x1b, 0x01, 0x24, 
    -	0x01, 0x26, 0x01, 0x28, 0x01, 0x36, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 
    -	0x01, 0x3b, 0x01, 0x3d, 0x01, 0x3f, 0x01, 0x48, 0x01, 0x49, 0x01, 0x51, 
    -	0x01, 0x63, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 
    -	0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 
    -	0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 
    -	0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7c, 0x01, 0x7d, 0x01, 0x7e, 
    -	0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x84, 0x01, 0x85, 
    -	0x01, 0x8b, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x90, 0x01, 0x93, 0x01, 0x95, 
    -	0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9b, 0x01, 0x9d, 0x01, 0x9e, 
    -	0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa6, 0x01, 0xac, 
    -	0x01, 0xad, 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb5, 
    -	0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 
    -	0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 
    -	0x01, 0xc3, 0x01, 0xc4, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 
    -	0x01, 0xca, 0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd1, 
    -	0x01, 0xd2, 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd8, 0x01, 0xd9, 
    -	0x01, 0xda, 0x01, 0xdb, 0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, 
    -	0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe6, 0x01, 0xea, 
    -	0x01, 0xec, 0x01, 0xee, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xf1, 0x01, 0xf2, 
    -	0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfa, 0x01, 0xfc, 
    -	0x01, 0xfd, 0x01, 0xff, 0x02, 0x00, 0x02, 0x05, 0x02, 0x06, 0x02, 0x0a, 
    -	0x02, 0x0e, 0x02, 0x0f, 0x02, 0x12, 0x02, 0x1f, 0x02, 0x20, 0x02, 0x21, 
    -	0x02, 0x22, 0x02, 0x23, 0x02, 0x2d, 0x02, 0x3a, 0x02, 0x3b, 0x02, 0x3c, 
    -	0x02, 0x3d, 0x02, 0x41, 0x02, 0x42, 0x02, 0x45, 0x02, 0x47, 0x02, 0x49, 
    -	0x02, 0x4b, 0x02, 0x4d, 0x02, 0x55, 0x02, 0x57, 0x02, 0x59, 0x02, 0x5a, 
    -	0x02, 0x5b, 0x02, 0x5d, 0x02, 0x5e, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 
    -	0x02, 0x74, 0x02, 0x78, 0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 
    -	0x02, 0x7e, 0x02, 0x81, 0x02, 0x82, 0x02, 0x84, 0x02, 0x86, 0x02, 0x87, 
    -	0x02, 0x88, 0x02, 0x91, 0x02, 0x92, 0x02, 0x96, 0x02, 0x98, 0x02, 0x99, 
    -	0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, 0x02, 0xa1, 
    -	0x02, 0xa2, 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xbf, 0x02, 0xc0, 
    -	0x02, 0xc1, 0x02, 0xc3, 0x02, 0xc5, 0x02, 0xc7, 0x02, 0xc9, 0x02, 0xca, 
    -	0x02, 0xcb, 0x02, 0xcc, 0x02, 0xcd, 0x02, 0xce, 0x02, 0xcf, 0x02, 0xd0, 
    -	0x02, 0xd1, 0x02, 0xd2, 0x02, 0xd3, 0x02, 0xd4, 0x02, 0xd5, 0x02, 0xd6, 
    -	0x02, 0xd7, 0x02, 0xd8, 0x02, 0xd9, 0x02, 0xda, 0x02, 0xdb, 0x02, 0xdc, 
    -	0x02, 0xdd, 0x02, 0xde, 0x02, 0xdf, 0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 
    -	0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 0x02, 0xe6, 0x02, 0xe7, 0x02, 0xe8, 
    -	0x02, 0xe9, 0x02, 0xea, 0x02, 0xeb, 0x02, 0xec, 0x02, 0xed, 0x02, 0xee, 
    -	0x02, 0xef, 0x02, 0xf0, 0x02, 0xf1, 0x02, 0xf3, 0x02, 0xf5, 0x02, 0xf6, 
    -	0x02, 0xf7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 0x02, 0xfc, 
    -	0x02, 0xfd, 0x02, 0xfe, 0x02, 0xff, 0x03, 0x00, 0x03, 0x01, 0x03, 0x02, 
    -	0x03, 0x0a, 0x03, 0x1b, 0x03, 0x1c, 0x03, 0x1d, 0x03, 0x1e, 0x03, 0x1f, 
    -	0x03, 0x20, 0x03, 0x21, 0x03, 0x22, 0x03, 0x23, 0x03, 0x34, 0x03, 0x35, 
    -	0x03, 0x37, 0x03, 0x38, 0x03, 0x39, 0x03, 0x41, 0x03, 0x42, 0x03, 0x75, 
    -	0x03, 0x76, 0x03, 0x77, 0x03, 0x78, 0x03, 0x79, 0x03, 0x7b, 0x03, 0x7d, 
    -	0x03, 0x7e, 0x03, 0x80, 0x03, 0x84, 0x03, 0x85, 0x03, 0x8c, 0x03, 0x91, 
    -	0x00, 0x15, 0x00, 0x39, 0x00, 0x14, 0x00, 0x3a, 0x00, 0x25, 0x00, 0x3c, 
    -	0x00, 0x16, 0x00, 0x9f, 0x00, 0x16, 0x01, 0x36, 0x00, 0x25, 0x01, 0x38, 
    -	0x00, 0x16, 0x01, 0x3a, 0x00, 0x16, 0x01, 0x69, 0x00, 0x16, 0x01, 0x7f, 
    -	0x00, 0x16, 0x01, 0x85, 0x00, 0x16, 0x02, 0x20, 0x00, 0x14, 0x02, 0x22, 
    -	0x00, 0x14, 0x02, 0x59, 0x00, 0x16, 0x02, 0x5b, 0x00, 0x16, 0x02, 0xc3, 
    -	0x00, 0x25, 0x02, 0xc5, 0x00, 0x25, 0x02, 0xc7, 0x00, 0x25, 0x03, 0x1b, 
    -	0x00, 0x16, 0x03, 0x1d, 0x00, 0x16, 0x03, 0x1f, 0x00, 0x16, 0x03, 0x21, 
    -	0x00, 0x16, 0x00, 0xca, 0x00, 0x0f, 0xfe, 0xef, 0x00, 0x11, 0xfe, 0xef, 
    -	0x00, 0x1d, 0xfe, 0xef, 0x00, 0x24, 0xff, 0xc5, 0x00, 0x37, 0x00, 0x14, 
    -	0x00, 0x44, 0xff, 0xde, 0x00, 0x46, 0xff, 0xeb, 0x00, 0x47, 0xff, 0xeb, 
    -	0x00, 0x48, 0xff, 0xeb, 0x00, 0x4a, 0xff, 0xeb, 0x00, 0x52, 0xff, 0xeb, 
    -	0x00, 0x54, 0xff, 0xeb, 0x00, 0x55, 0xff, 0xe6, 0x00, 0x58, 0xff, 0xea, 
    -	0x00, 0x59, 0xff, 0xe8, 0x00, 0x5c, 0xff, 0xe8, 0x00, 0x82, 0xff, 0xc5, 
    -	0x00, 0x83, 0xff, 0xc5, 0x00, 0x84, 0xff, 0xc5, 0x00, 0x85, 0xff, 0xc5, 
    -	0x00, 0x86, 0xff, 0xc5, 0x00, 0x87, 0xff, 0xc5, 0x00, 0xa2, 0xff, 0xde, 
    -	0x00, 0xa3, 0xff, 0xde, 0x00, 0xa4, 0xff, 0xde, 0x00, 0xa5, 0xff, 0xde, 
    -	0x00, 0xa6, 0xff, 0xde, 0x00, 0xa7, 0xff, 0xde, 0x00, 0xa9, 0xff, 0xeb, 
    -	0x00, 0xaa, 0xff, 0xeb, 0x00, 0xab, 0xff, 0xeb, 0x00, 0xac, 0xff, 0xeb, 
    -	0x00, 0xad, 0xff, 0xeb, 0x00, 0xb4, 0xff, 0xeb, 0x00, 0xb5, 0xff, 0xeb, 
    -	0x00, 0xb6, 0xff, 0xeb, 0x00, 0xb7, 0xff, 0xeb, 0x00, 0xb8, 0xff, 0xeb, 
    -	0x00, 0xbb, 0xff, 0xea, 0x00, 0xbc, 0xff, 0xea, 0x00, 0xbd, 0xff, 0xea, 
    -	0x00, 0xbe, 0xff, 0xea, 0x00, 0xbf, 0xff, 0xe8, 0x00, 0xc1, 0xff, 0xe8, 
    -	0x00, 0xc2, 0xff, 0xc5, 0x00, 0xc3, 0xff, 0xde, 0x00, 0xc4, 0xff, 0xc5, 
    -	0x00, 0xc5, 0xff, 0xde, 0x00, 0xc6, 0xff, 0xc5, 0x00, 0xc7, 0xff, 0xde, 
    -	0x00, 0xc9, 0xff, 0xeb, 0x00, 0xcb, 0xff, 0xeb, 0x00, 0xcd, 0xff, 0xeb, 
    -	0x00, 0xcf, 0xff, 0xeb, 0x00, 0xd1, 0xff, 0xeb, 0x00, 0xd5, 0xff, 0xeb, 
    -	0x00, 0xd7, 0xff, 0xeb, 0x00, 0xd9, 0xff, 0xeb, 0x00, 0xdb, 0xff, 0xeb, 
    -	0x00, 0xdd, 0xff, 0xeb, 0x00, 0xdf, 0xff, 0xeb, 0x00, 0xe1, 0xff, 0xeb, 
    -	0x00, 0xe3, 0xff, 0xeb, 0x00, 0xe5, 0xff, 0xeb, 0x01, 0x0f, 0xff, 0xeb, 
    -	0x01, 0x11, 0xff, 0xeb, 0x01, 0x13, 0xff, 0xeb, 0x01, 0x15, 0xff, 0xeb, 
    -	0x01, 0x24, 0x00, 0x14, 0x01, 0x26, 0x00, 0x14, 0x01, 0x2b, 0xff, 0xea, 
    -	0x01, 0x2d, 0xff, 0xea, 0x01, 0x2f, 0xff, 0xea, 0x01, 0x31, 0xff, 0xea, 
    -	0x01, 0x33, 0xff, 0xea, 0x01, 0x35, 0xff, 0xea, 0x01, 0x39, 0xff, 0xe8, 
    -	0x01, 0x44, 0xff, 0xeb, 0x01, 0x46, 0xff, 0xea, 0x01, 0x48, 0xff, 0xc5, 
    -	0x01, 0x49, 0xff, 0xde, 0x01, 0x63, 0xff, 0xc5, 0x01, 0x6c, 0xff, 0xc5, 
    -	0x01, 0x6f, 0xff, 0xc5, 0x01, 0x76, 0xff, 0xc5, 0x01, 0x86, 0xff, 0xeb, 
    -	0x01, 0x8a, 0xff, 0xea, 0x01, 0x8b, 0xff, 0xeb, 0x01, 0x8d, 0xff, 0xe8, 
    -	0x01, 0x97, 0xff, 0xe8, 0x01, 0x99, 0xff, 0xeb, 0x01, 0x9c, 0xff, 0xeb, 
    -	0x01, 0x9d, 0xff, 0xeb, 0x01, 0x9f, 0xff, 0xea, 0x01, 0xa5, 0xff, 0xea, 
    -	0x01, 0xa6, 0xff, 0xeb, 0x01, 0xa7, 0xff, 0xea, 0x01, 0xae, 0x00, 0x14, 
    -	0x01, 0xb7, 0x00, 0x14, 0x01, 0xbc, 0xff, 0xc5, 0x01, 0xce, 0x00, 0x14, 
    -	0x01, 0xdc, 0xff, 0xde, 0x01, 0xe1, 0xff, 0xeb, 0x01, 0xea, 0xff, 0xeb, 
    -	0x01, 0xed, 0xff, 0xeb, 0x01, 0xef, 0xff, 0xe8, 0x01, 0xf0, 0xff, 0xeb, 
    -	0x01, 0xfc, 0xff, 0xeb, 0x01, 0xfd, 0xff, 0xeb, 0x02, 0x00, 0xff, 0xeb, 
    -	0x02, 0x0a, 0xff, 0xe8, 0x02, 0x12, 0xff, 0xc5, 0x02, 0x1f, 0xff, 0xeb, 
    -	0x02, 0x21, 0xff, 0xe8, 0x02, 0x23, 0xff, 0xe8, 0x02, 0x25, 0xff, 0xeb, 
    -	0x02, 0x29, 0xff, 0xeb, 0x02, 0x2d, 0xff, 0xeb, 0x02, 0x4b, 0x00, 0x14, 
    -	0x02, 0x54, 0xff, 0xeb, 0x02, 0x56, 0xff, 0xeb, 0x02, 0x57, 0x00, 0x14, 
    -	0x02, 0x5a, 0xff, 0xe8, 0x02, 0x5f, 0x00, 0x14, 0x02, 0x7b, 0xff, 0xc5, 
    -	0x02, 0x7c, 0xff, 0xde, 0x02, 0x7d, 0xff, 0xc5, 0x02, 0x7e, 0xff, 0xde, 
    -	0x02, 0x82, 0xff, 0xeb, 0x02, 0x84, 0xff, 0xeb, 0x02, 0x86, 0xff, 0xeb, 
    -	0x02, 0x92, 0xff, 0xeb, 0x02, 0x94, 0xff, 0xeb, 0x02, 0x96, 0xff, 0xeb, 
    -	0x02, 0x9a, 0xff, 0xe8, 0x02, 0x9c, 0xff, 0xe8, 0x02, 0x9e, 0xff, 0xe8, 
    -	0x02, 0xac, 0xff, 0xeb, 0x02, 0xad, 0xff, 0xeb, 0x02, 0xae, 0xff, 0xeb, 
    -	0x02, 0xb8, 0xff, 0xeb, 0x02, 0xbf, 0xff, 0xc5, 0x02, 0xc0, 0xff, 0xde, 
    -	0x02, 0xc9, 0xff, 0xc5, 0x02, 0xca, 0xff, 0xde, 0x02, 0xcb, 0xff, 0xc5, 
    -	0x02, 0xcc, 0xff, 0xde, 0x02, 0xcd, 0xff, 0xc5, 0x02, 0xce, 0xff, 0xde, 
    -	0x02, 0xcf, 0xff, 0xc5, 0x02, 0xd0, 0xff, 0xde, 0x02, 0xd1, 0xff, 0xc5, 
    -	0x02, 0xd2, 0xff, 0xde, 0x02, 0xd3, 0xff, 0xc5, 0x02, 0xd4, 0xff, 0xde, 
    -	0x02, 0xd5, 0xff, 0xc5, 0x02, 0xd6, 0xff, 0xde, 0x02, 0xd7, 0xff, 0xc5, 
    -	0x02, 0xd8, 0xff, 0xde, 0x02, 0xd9, 0xff, 0xc5, 0x02, 0xda, 0xff, 0xde, 
    -	0x02, 0xdb, 0xff, 0xc5, 0x02, 0xdc, 0xff, 0xde, 0x02, 0xdd, 0xff, 0xc5, 
    -	0x02, 0xde, 0xff, 0xde, 0x02, 0xdf, 0xff, 0xc5, 0x02, 0xe0, 0xff, 0xde, 
    -	0x02, 0xe2, 0xff, 0xeb, 0x02, 0xe4, 0xff, 0xeb, 0x02, 0xe6, 0xff, 0xeb, 
    -	0x02, 0xe8, 0xff, 0xeb, 0x02, 0xea, 0xff, 0xeb, 0x02, 0xec, 0xff, 0xeb, 
    -	0x02, 0xee, 0xff, 0xeb, 0x02, 0xf0, 0xff, 0xeb, 0x02, 0xf6, 0xff, 0xeb, 
    -	0x02, 0xf8, 0xff, 0xeb, 0x02, 0xfa, 0xff, 0xeb, 0x02, 0xfc, 0xff, 0xeb, 
    -	0x02, 0xfe, 0xff, 0xeb, 0x03, 0x00, 0xff, 0xeb, 0x03, 0x02, 0xff, 0xeb, 
    -	0x03, 0x04, 0xff, 0xeb, 0x03, 0x06, 0xff, 0xeb, 0x03, 0x08, 0xff, 0xeb, 
    -	0x03, 0x0a, 0xff, 0xeb, 0x03, 0x0c, 0xff, 0xeb, 0x03, 0x0e, 0xff, 0xea, 
    -	0x03, 0x10, 0xff, 0xea, 0x03, 0x12, 0xff, 0xea, 0x03, 0x14, 0xff, 0xea, 
    -	0x03, 0x16, 0xff, 0xea, 0x03, 0x18, 0xff, 0xea, 0x03, 0x1a, 0xff, 0xea, 
    -	0x03, 0x1c, 0xff, 0xe8, 0x03, 0x1e, 0xff, 0xe8, 0x03, 0x20, 0xff, 0xe8, 
    -	0x03, 0x22, 0xff, 0xe8, 0x03, 0x36, 0xfe, 0xef, 0x03, 0x3a, 0xfe, 0xef, 
    -	0x03, 0x3e, 0xfe, 0xef, 0x03, 0x3f, 0xfe, 0xef, 0x00, 0x1e, 0x00, 0x37, 
    -	0xff, 0xdf, 0x00, 0x39, 0xff, 0xe4, 0x00, 0x3a, 0xff, 0xec, 0x00, 0x3c, 
    -	0xff, 0xdd, 0x00, 0x9f, 0xff, 0xdd, 0x01, 0x24, 0xff, 0xdf, 0x01, 0x26, 
    -	0xff, 0xdf, 0x01, 0x36, 0xff, 0xec, 0x01, 0x38, 0xff, 0xdd, 0x01, 0x3a, 
    -	0xff, 0xdd, 0x01, 0x69, 0xff, 0xdd, 0x01, 0x7f, 0xff, 0xdd, 0x01, 0x85, 
    -	0xff, 0xdd, 0x01, 0xae, 0xff, 0xdf, 0x01, 0xb7, 0xff, 0xdf, 0x01, 0xce, 
    -	0xff, 0xdf, 0x02, 0x20, 0xff, 0xe4, 0x02, 0x22, 0xff, 0xe4, 0x02, 0x4b, 
    -	0xff, 0xdf, 0x02, 0x57, 0xff, 0xdf, 0x02, 0x59, 0xff, 0xdd, 0x02, 0x5b, 
    -	0xff, 0xdd, 0x02, 0x5f, 0xff, 0xdf, 0x02, 0xc3, 0xff, 0xec, 0x02, 0xc5, 
    -	0xff, 0xec, 0x02, 0xc7, 0xff, 0xec, 0x03, 0x1b, 0xff, 0xdd, 0x03, 0x1d, 
    -	0xff, 0xdd, 0x03, 0x1f, 0xff, 0xdd, 0x03, 0x21, 0xff, 0xdd, 0x00, 0x19, 
    -	0x00, 0x37, 0xff, 0xce, 0x00, 0x39, 0xff, 0xed, 0x00, 0x3c, 0xff, 0xd0, 
    -	0x00, 0x9f, 0xff, 0xd0, 0x01, 0x24, 0xff, 0xce, 0x01, 0x26, 0xff, 0xce, 
    -	0x01, 0x38, 0xff, 0xd0, 0x01, 0x3a, 0xff, 0xd0, 0x01, 0x69, 0xff, 0xd0, 
    -	0x01, 0x7f, 0xff, 0xd0, 0x01, 0x85, 0xff, 0xd0, 0x01, 0xae, 0xff, 0xce, 
    -	0x01, 0xb7, 0xff, 0xce, 0x01, 0xce, 0xff, 0xce, 0x02, 0x20, 0xff, 0xed, 
    -	0x02, 0x22, 0xff, 0xed, 0x02, 0x4b, 0xff, 0xce, 0x02, 0x57, 0xff, 0xce, 
    -	0x02, 0x59, 0xff, 0xd0, 0x02, 0x5b, 0xff, 0xd0, 0x02, 0x5f, 0xff, 0xce, 
    -	0x03, 0x1b, 0xff, 0xd0, 0x03, 0x1d, 0xff, 0xd0, 0x03, 0x1f, 0xff, 0xd0, 
    -	0x03, 0x21, 0xff, 0xd0, 0x00, 0x10, 0x00, 0x2d, 0xff, 0xee, 0x00, 0x38, 
    -	0xff, 0xee, 0x00, 0x9b, 0xff, 0xee, 0x00, 0x9c, 0xff, 0xee, 0x00, 0x9d, 
    -	0xff, 0xee, 0x00, 0x9e, 0xff, 0xee, 0x00, 0xf6, 0xff, 0xee, 0x01, 0x2a, 
    -	0xff, 0xee, 0x01, 0x2c, 0xff, 0xee, 0x01, 0x2e, 0xff, 0xee, 0x01, 0x30, 
    -	0xff, 0xee, 0x01, 0x32, 0xff, 0xee, 0x01, 0x34, 0xff, 0xee, 0x01, 0xb4, 
    -	0xff, 0xee, 0x03, 0x0d, 0xff, 0xee, 0x03, 0x0f, 0xff, 0xee, 0x00, 0x4a, 
    -	0x00, 0x05, 0x00, 0x10, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x0c, 0x00, 0x14, 
    -	0x00, 0x40, 0x00, 0x12, 0x00, 0x46, 0xff, 0xe8, 0x00, 0x47, 0xff, 0xe8, 
    -	0x00, 0x48, 0xff, 0xe8, 0x00, 0x4a, 0xff, 0xe8, 0x00, 0x54, 0xff, 0xe8, 
    -	0x00, 0x60, 0x00, 0x13, 0x00, 0xa9, 0xff, 0xe8, 0x00, 0xaa, 0xff, 0xe8, 
    -	0x00, 0xab, 0xff, 0xe8, 0x00, 0xac, 0xff, 0xe8, 0x00, 0xad, 0xff, 0xe8, 
    -	0x00, 0xc9, 0xff, 0xe8, 0x00, 0xcb, 0xff, 0xe8, 0x00, 0xcd, 0xff, 0xe8, 
    -	0x00, 0xcf, 0xff, 0xe8, 0x00, 0xd1, 0xff, 0xe8, 0x00, 0xd5, 0xff, 0xe8, 
    -	0x00, 0xd7, 0xff, 0xe8, 0x00, 0xd9, 0xff, 0xe8, 0x00, 0xdb, 0xff, 0xe8, 
    -	0x00, 0xdd, 0xff, 0xe8, 0x00, 0xdf, 0xff, 0xe8, 0x00, 0xe1, 0xff, 0xe8, 
    -	0x00, 0xe3, 0xff, 0xe8, 0x00, 0xe5, 0xff, 0xe8, 0x01, 0x15, 0xff, 0xe8, 
    -	0x01, 0x44, 0xff, 0xe8, 0x01, 0x51, 0x00, 0x10, 0x01, 0x86, 0xff, 0xe8, 
    -	0x01, 0x8b, 0xff, 0xe8, 0x01, 0x9c, 0xff, 0xe8, 0x01, 0x9d, 0xff, 0xe8, 
    -	0x01, 0xe1, 0xff, 0xe8, 0x01, 0xed, 0xff, 0xe8, 0x01, 0xf0, 0xff, 0xe8, 
    -	0x01, 0xfc, 0xff, 0xe8, 0x01, 0xfd, 0xff, 0xe8, 0x02, 0x00, 0xff, 0xe8, 
    -	0x02, 0x25, 0xff, 0xe8, 0x02, 0x29, 0xff, 0xe8, 0x02, 0x2d, 0xff, 0xe8, 
    -	0x02, 0x54, 0xff, 0xe8, 0x02, 0x56, 0xff, 0xe8, 0x02, 0x82, 0xff, 0xe8, 
    -	0x02, 0x84, 0xff, 0xe8, 0x02, 0x86, 0xff, 0xe8, 0x02, 0x94, 0xff, 0xe8, 
    -	0x02, 0xac, 0xff, 0xe8, 0x02, 0xad, 0xff, 0xe8, 0x02, 0xae, 0xff, 0xe8, 
    -	0x02, 0xb8, 0xff, 0xe8, 0x02, 0xe2, 0xff, 0xe8, 0x02, 0xe4, 0xff, 0xe8, 
    -	0x02, 0xe6, 0xff, 0xe8, 0x02, 0xe8, 0xff, 0xe8, 0x02, 0xea, 0xff, 0xe8, 
    -	0x02, 0xec, 0xff, 0xe8, 0x02, 0xee, 0xff, 0xe8, 0x02, 0xf0, 0xff, 0xe8, 
    -	0x03, 0x04, 0xff, 0xe8, 0x03, 0x06, 0xff, 0xe8, 0x03, 0x08, 0xff, 0xe8, 
    -	0x03, 0x0c, 0xff, 0xe8, 0x03, 0x34, 0x00, 0x10, 0x03, 0x35, 0x00, 0x10, 
    -	0x03, 0x37, 0x00, 0x10, 0x03, 0x38, 0x00, 0x10, 0x03, 0x39, 0x00, 0x10, 
    -	0x03, 0x41, 0x00, 0x10, 0x03, 0x42, 0x00, 0x10, 0x00, 0x3d, 0x00, 0x46, 
    -	0xff, 0xec, 0x00, 0x47, 0xff, 0xec, 0x00, 0x48, 0xff, 0xec, 0x00, 0x4a, 
    -	0xff, 0xec, 0x00, 0x54, 0xff, 0xec, 0x00, 0xa9, 0xff, 0xec, 0x00, 0xaa, 
    -	0xff, 0xec, 0x00, 0xab, 0xff, 0xec, 0x00, 0xac, 0xff, 0xec, 0x00, 0xad, 
    -	0xff, 0xec, 0x00, 0xc9, 0xff, 0xec, 0x00, 0xcb, 0xff, 0xec, 0x00, 0xcd, 
    -	0xff, 0xec, 0x00, 0xcf, 0xff, 0xec, 0x00, 0xd1, 0xff, 0xec, 0x00, 0xd5, 
    -	0xff, 0xec, 0x00, 0xd7, 0xff, 0xec, 0x00, 0xd9, 0xff, 0xec, 0x00, 0xdb, 
    -	0xff, 0xec, 0x00, 0xdd, 0xff, 0xec, 0x00, 0xdf, 0xff, 0xec, 0x00, 0xe1, 
    -	0xff, 0xec, 0x00, 0xe3, 0xff, 0xec, 0x00, 0xe5, 0xff, 0xec, 0x01, 0x15, 
    -	0xff, 0xec, 0x01, 0x44, 0xff, 0xec, 0x01, 0x86, 0xff, 0xec, 0x01, 0x8b, 
    -	0xff, 0xec, 0x01, 0x9c, 0xff, 0xec, 0x01, 0x9d, 0xff, 0xec, 0x01, 0xe1, 
    -	0xff, 0xec, 0x01, 0xed, 0xff, 0xec, 0x01, 0xf0, 0xff, 0xec, 0x01, 0xfc, 
    -	0xff, 0xec, 0x01, 0xfd, 0xff, 0xec, 0x02, 0x00, 0xff, 0xec, 0x02, 0x25, 
    -	0xff, 0xec, 0x02, 0x29, 0xff, 0xec, 0x02, 0x2d, 0xff, 0xec, 0x02, 0x54, 
    -	0xff, 0xec, 0x02, 0x56, 0xff, 0xec, 0x02, 0x82, 0xff, 0xec, 0x02, 0x84, 
    -	0xff, 0xec, 0x02, 0x86, 0xff, 0xec, 0x02, 0x94, 0xff, 0xec, 0x02, 0xac, 
    -	0xff, 0xec, 0x02, 0xad, 0xff, 0xec, 0x02, 0xae, 0xff, 0xec, 0x02, 0xb8, 
    -	0xff, 0xec, 0x02, 0xe2, 0xff, 0xec, 0x02, 0xe4, 0xff, 0xec, 0x02, 0xe6, 
    -	0xff, 0xec, 0x02, 0xe8, 0xff, 0xec, 0x02, 0xea, 0xff, 0xec, 0x02, 0xec, 
    -	0xff, 0xec, 0x02, 0xee, 0xff, 0xec, 0x02, 0xf0, 0xff, 0xec, 0x03, 0x04, 
    -	0xff, 0xec, 0x03, 0x06, 0xff, 0xec, 0x03, 0x08, 0xff, 0xec, 0x03, 0x0c, 
    -	0xff, 0xec, 0x00, 0x07, 0x00, 0x0f, 0xff, 0x84, 0x00, 0x11, 0xff, 0x84, 
    -	0x00, 0x1d, 0xff, 0x84, 0x03, 0x36, 0xff, 0x84, 0x03, 0x3a, 0xff, 0x84, 
    -	0x03, 0x3e, 0xff, 0x84, 0x03, 0x3f, 0xff, 0x84, 0x00, 0x10, 0x00, 0x2d, 
    -	0xff, 0xec, 0x00, 0x38, 0xff, 0xec, 0x00, 0x9b, 0xff, 0xec, 0x00, 0x9c, 
    -	0xff, 0xec, 0x00, 0x9d, 0xff, 0xec, 0x00, 0x9e, 0xff, 0xec, 0x00, 0xf6, 
    -	0xff, 0xec, 0x01, 0x2a, 0xff, 0xec, 0x01, 0x2c, 0xff, 0xec, 0x01, 0x2e, 
    -	0xff, 0xec, 0x01, 0x30, 0xff, 0xec, 0x01, 0x32, 0xff, 0xec, 0x01, 0x34, 
    -	0xff, 0xec, 0x01, 0xb4, 0xff, 0xec, 0x03, 0x0d, 0xff, 0xec, 0x03, 0x0f, 
    -	0xff, 0xec, 0x00, 0x07, 0x00, 0x5a, 0xff, 0xcc, 0x03, 0x76, 0xff, 0xb5, 
    -	0x03, 0x78, 0xff, 0xd6, 0x03, 0x79, 0xff, 0xb7, 0x03, 0x7a, 0xff, 0xee, 
    -	0x03, 0x7b, 0xff, 0xbb, 0x03, 0x7e, 0xff, 0xf2, 0x00, 0x03, 0x00, 0x49, 
    -	0x00, 0x0f, 0x00, 0x57, 0x00, 0x11, 0x00, 0x5a, 0x00, 0x11, 0x00, 0x04, 
    -	0x00, 0x5a, 0xff, 0xe5, 0x01, 0x80, 0xff, 0xcb, 0x01, 0xa2, 0xff, 0xe4, 
    -	0x03, 0x7e, 0xff, 0xec, 0x00, 0x3a, 0x00, 0x26, 0xff, 0xf3, 0x00, 0x2a, 
    -	0xff, 0xf3, 0x00, 0x32, 0xff, 0xf3, 0x00, 0x34, 0xff, 0xf3, 0x00, 0x89, 
    -	0xff, 0xf3, 0x00, 0x94, 0xff, 0xf3, 0x00, 0x95, 0xff, 0xf3, 0x00, 0x96, 
    -	0xff, 0xf3, 0x00, 0x97, 0xff, 0xf3, 0x00, 0x98, 0xff, 0xf3, 0x00, 0x9a, 
    -	0xff, 0xf3, 0x00, 0xc8, 0xff, 0xf3, 0x00, 0xca, 0xff, 0xf3, 0x00, 0xcc, 
    -	0xff, 0xf3, 0x00, 0xce, 0xff, 0xf3, 0x00, 0xde, 0xff, 0xf3, 0x00, 0xe0, 
    -	0xff, 0xf3, 0x00, 0xe2, 0xff, 0xf3, 0x00, 0xe4, 0xff, 0xf3, 0x01, 0x0e, 
    -	0xff, 0xf3, 0x01, 0x10, 0xff, 0xf3, 0x01, 0x12, 0xff, 0xf3, 0x01, 0x14, 
    -	0xff, 0xf3, 0x01, 0x43, 0xff, 0xf3, 0x01, 0x4c, 0xff, 0xf3, 0x01, 0x68, 
    -	0xff, 0xf3, 0x01, 0x73, 0xff, 0xf3, 0x01, 0x7a, 0xff, 0xf3, 0x01, 0x95, 
    -	0x00, 0x0d, 0x01, 0xb0, 0xff, 0xf3, 0x01, 0xca, 0xff, 0xf3, 0x01, 0xcd, 
    -	0xff, 0xf3, 0x02, 0x0c, 0xff, 0xf3, 0x02, 0x1e, 0xff, 0xf3, 0x02, 0x24, 
    -	0xff, 0xf3, 0x02, 0x26, 0xff, 0xf3, 0x02, 0x28, 0xff, 0xf3, 0x02, 0x2a, 
    -	0xff, 0xf3, 0x02, 0x2c, 0xff, 0xf3, 0x02, 0x53, 0xff, 0xf3, 0x02, 0x55, 
    -	0xff, 0xf3, 0x02, 0x91, 0xff, 0xf3, 0x02, 0x93, 0xff, 0xf3, 0x02, 0x95, 
    -	0xff, 0xf3, 0x02, 0xb7, 0xff, 0xf3, 0x02, 0xf5, 0xff, 0xf3, 0x02, 0xf7, 
    -	0xff, 0xf3, 0x02, 0xf9, 0xff, 0xf3, 0x02, 0xfb, 0xff, 0xf3, 0x02, 0xfd, 
    -	0xff, 0xf3, 0x02, 0xff, 0xff, 0xf3, 0x03, 0x01, 0xff, 0xf3, 0x03, 0x03, 
    -	0xff, 0xf3, 0x03, 0x05, 0xff, 0xf3, 0x03, 0x07, 0xff, 0xf3, 0x03, 0x09, 
    -	0xff, 0xf3, 0x03, 0x0b, 0xff, 0xf3, 0x03, 0x23, 0xff, 0xf3, 0x00, 0x3b, 
    -	0x00, 0x26, 0xff, 0xe6, 0x00, 0x2a, 0xff, 0xe6, 0x00, 0x32, 0xff, 0xe6, 
    -	0x00, 0x34, 0xff, 0xe6, 0x00, 0x89, 0xff, 0xe6, 0x00, 0x94, 0xff, 0xe6, 
    -	0x00, 0x95, 0xff, 0xe6, 0x00, 0x96, 0xff, 0xe6, 0x00, 0x97, 0xff, 0xe6, 
    -	0x00, 0x98, 0xff, 0xe6, 0x00, 0x9a, 0xff, 0xe6, 0x00, 0xc8, 0xff, 0xe6, 
    -	0x00, 0xca, 0xff, 0xe6, 0x00, 0xcc, 0xff, 0xe6, 0x00, 0xce, 0xff, 0xe6, 
    -	0x00, 0xde, 0xff, 0xe6, 0x00, 0xe0, 0xff, 0xe6, 0x00, 0xe2, 0xff, 0xe6, 
    -	0x00, 0xe4, 0xff, 0xe6, 0x01, 0x0e, 0xff, 0xe6, 0x01, 0x10, 0xff, 0xe6, 
    -	0x01, 0x12, 0xff, 0xe6, 0x01, 0x14, 0xff, 0xe6, 0x01, 0x43, 0xff, 0xe6, 
    -	0x01, 0x4c, 0xff, 0xe6, 0x01, 0x68, 0xff, 0xe6, 0x01, 0x73, 0xff, 0xe6, 
    -	0x01, 0x7a, 0xff, 0xe6, 0x01, 0x80, 0xff, 0xc2, 0x01, 0x95, 0x00, 0x10, 
    -	0x01, 0xb0, 0xff, 0xe6, 0x01, 0xca, 0xff, 0xe6, 0x01, 0xcd, 0xff, 0xe6, 
    -	0x02, 0x0c, 0xff, 0xe6, 0x02, 0x1e, 0xff, 0xe6, 0x02, 0x24, 0xff, 0xe6, 
    -	0x02, 0x26, 0xff, 0xe6, 0x02, 0x28, 0xff, 0xe6, 0x02, 0x2a, 0xff, 0xe6, 
    -	0x02, 0x2c, 0xff, 0xe6, 0x02, 0x53, 0xff, 0xe6, 0x02, 0x55, 0xff, 0xe6, 
    -	0x02, 0x91, 0xff, 0xe6, 0x02, 0x93, 0xff, 0xe6, 0x02, 0x95, 0xff, 0xe6, 
    -	0x02, 0xb7, 0xff, 0xe6, 0x02, 0xf5, 0xff, 0xe6, 0x02, 0xf7, 0xff, 0xe6, 
    -	0x02, 0xf9, 0xff, 0xe6, 0x02, 0xfb, 0xff, 0xe6, 0x02, 0xfd, 0xff, 0xe6, 
    -	0x02, 0xff, 0xff, 0xe6, 0x03, 0x01, 0xff, 0xe6, 0x03, 0x03, 0xff, 0xe6, 
    -	0x03, 0x05, 0xff, 0xe6, 0x03, 0x07, 0xff, 0xe6, 0x03, 0x09, 0xff, 0xe6, 
    -	0x03, 0x0b, 0xff, 0xe6, 0x03, 0x23, 0xff, 0xe6, 0x00, 0x37, 0x00, 0x24, 
    -	0xff, 0xe4, 0x00, 0x3b, 0xff, 0xd2, 0x00, 0x3c, 0xff, 0xd3, 0x00, 0x82, 
    -	0xff, 0xe4, 0x00, 0x83, 0xff, 0xe4, 0x00, 0x84, 0xff, 0xe4, 0x00, 0x85, 
    -	0xff, 0xe4, 0x00, 0x86, 0xff, 0xe4, 0x00, 0x87, 0xff, 0xe4, 0x00, 0x9f, 
    -	0xff, 0xd3, 0x00, 0xc2, 0xff, 0xe4, 0x00, 0xc4, 0xff, 0xe4, 0x00, 0xc6, 
    -	0xff, 0xe4, 0x01, 0x38, 0xff, 0xd3, 0x01, 0x3a, 0xff, 0xd3, 0x01, 0x48, 
    -	0xff, 0xe4, 0x01, 0x63, 0xff, 0xe4, 0x01, 0x69, 0xff, 0xd3, 0x01, 0x6c, 
    -	0xff, 0xe4, 0x01, 0x6f, 0xff, 0xe4, 0x01, 0x76, 0xff, 0xe4, 0x01, 0x7f, 
    -	0xff, 0xd3, 0x01, 0x81, 0xff, 0xd2, 0x01, 0x85, 0xff, 0xd3, 0x01, 0x95, 
    -	0xff, 0xe2, 0x01, 0xbc, 0xff, 0xe4, 0x01, 0xc2, 0xff, 0xd2, 0x01, 0xd1, 
    -	0xff, 0xd2, 0x02, 0x12, 0xff, 0xe4, 0x02, 0x41, 0xff, 0xd2, 0x02, 0x59, 
    -	0xff, 0xd3, 0x02, 0x5b, 0xff, 0xd3, 0x02, 0x5d, 0xff, 0xd2, 0x02, 0x6c, 
    -	0xff, 0xd2, 0x02, 0x7b, 0xff, 0xe4, 0x02, 0x7d, 0xff, 0xe4, 0x02, 0x87, 
    -	0xff, 0xd2, 0x02, 0xa7, 0xff, 0xd2, 0x02, 0xbf, 0xff, 0xe4, 0x02, 0xc9, 
    -	0xff, 0xe4, 0x02, 0xcb, 0xff, 0xe4, 0x02, 0xcd, 0xff, 0xe4, 0x02, 0xcf, 
    -	0xff, 0xe4, 0x02, 0xd1, 0xff, 0xe4, 0x02, 0xd3, 0xff, 0xe4, 0x02, 0xd5, 
    -	0xff, 0xe4, 0x02, 0xd7, 0xff, 0xe4, 0x02, 0xd9, 0xff, 0xe4, 0x02, 0xdb, 
    -	0xff, 0xe4, 0x02, 0xdd, 0xff, 0xe4, 0x02, 0xdf, 0xff, 0xe4, 0x03, 0x1b, 
    -	0xff, 0xd3, 0x03, 0x1d, 0xff, 0xd3, 0x03, 0x1f, 0xff, 0xd3, 0x03, 0x21, 
    -	0xff, 0xd3, 0x00, 0x28, 0x00, 0x0f, 0xff, 0x46, 0x00, 0x11, 0xff, 0x46, 
    -	0x00, 0x1d, 0xff, 0x46, 0x00, 0x24, 0xff, 0xcd, 0x00, 0x82, 0xff, 0xcd, 
    -	0x00, 0x83, 0xff, 0xcd, 0x00, 0x84, 0xff, 0xcd, 0x00, 0x85, 0xff, 0xcd, 
    -	0x00, 0x86, 0xff, 0xcd, 0x00, 0x87, 0xff, 0xcd, 0x00, 0xc2, 0xff, 0xcd, 
    -	0x00, 0xc4, 0xff, 0xcd, 0x00, 0xc6, 0xff, 0xcd, 0x01, 0x48, 0xff, 0xcd, 
    -	0x01, 0x63, 0xff, 0xcd, 0x01, 0x6c, 0xff, 0xcd, 0x01, 0x6f, 0xff, 0xcd, 
    -	0x01, 0x76, 0xff, 0xcd, 0x01, 0x9b, 0xff, 0xf2, 0x01, 0xbc, 0xff, 0xcd, 
    -	0x02, 0x12, 0xff, 0xcd, 0x02, 0x7b, 0xff, 0xcd, 0x02, 0x7d, 0xff, 0xcd, 
    -	0x02, 0xbf, 0xff, 0xcd, 0x02, 0xc9, 0xff, 0xcd, 0x02, 0xcb, 0xff, 0xcd, 
    -	0x02, 0xcd, 0xff, 0xcd, 0x02, 0xcf, 0xff, 0xcd, 0x02, 0xd1, 0xff, 0xcd, 
    -	0x02, 0xd3, 0xff, 0xcd, 0x02, 0xd5, 0xff, 0xcd, 0x02, 0xd7, 0xff, 0xcd, 
    -	0x02, 0xd9, 0xff, 0xcd, 0x02, 0xdb, 0xff, 0xcd, 0x02, 0xdd, 0xff, 0xcd, 
    -	0x02, 0xdf, 0xff, 0xcd, 0x03, 0x36, 0xff, 0x46, 0x03, 0x3a, 0xff, 0x46, 
    -	0x03, 0x3e, 0xff, 0x46, 0x03, 0x3f, 0xff, 0x46, 0x00, 0x01, 0x01, 0x95, 
    -	0x00, 0x0e, 0x00, 0x02, 0x01, 0x9e, 0xff, 0xed, 0x01, 0xa1, 0xff, 0xec, 
    -	0x00, 0xb0, 0x00, 0x46, 0xff, 0xdc, 0x00, 0x47, 0xff, 0xdc, 0x00, 0x48, 
    -	0xff, 0xdc, 0x00, 0x4a, 0xff, 0xdc, 0x00, 0x50, 0xff, 0xc2, 0x00, 0x51, 
    -	0xff, 0xc2, 0x00, 0x52, 0xff, 0xd6, 0x00, 0x53, 0xff, 0xc2, 0x00, 0x54, 
    -	0xff, 0xdc, 0x00, 0x58, 0xff, 0xdd, 0x00, 0x59, 0xff, 0xe1, 0x00, 0x5c, 
    -	0xff, 0xe1, 0x00, 0xa9, 0xff, 0xdc, 0x00, 0xaa, 0xff, 0xdc, 0x00, 0xab, 
    -	0xff, 0xdc, 0x00, 0xac, 0xff, 0xdc, 0x00, 0xad, 0xff, 0xdc, 0x00, 0xb3, 
    -	0xff, 0xc2, 0x00, 0xb4, 0xff, 0xd6, 0x00, 0xb5, 0xff, 0xd6, 0x00, 0xb6, 
    -	0xff, 0xd6, 0x00, 0xb7, 0xff, 0xd6, 0x00, 0xb8, 0xff, 0xd6, 0x00, 0xbb, 
    -	0xff, 0xdd, 0x00, 0xbc, 0xff, 0xdd, 0x00, 0xbd, 0xff, 0xdd, 0x00, 0xbe, 
    -	0xff, 0xdd, 0x00, 0xbf, 0xff, 0xe1, 0x00, 0xc1, 0xff, 0xe1, 0x00, 0xc9, 
    -	0xff, 0xdc, 0x00, 0xcb, 0xff, 0xdc, 0x00, 0xcd, 0xff, 0xdc, 0x00, 0xcf, 
    -	0xff, 0xdc, 0x00, 0xd1, 0xff, 0xdc, 0x00, 0xd5, 0xff, 0xdc, 0x00, 0xd7, 
    -	0xff, 0xdc, 0x00, 0xd9, 0xff, 0xdc, 0x00, 0xdb, 0xff, 0xdc, 0x00, 0xdd, 
    -	0xff, 0xdc, 0x00, 0xdf, 0xff, 0xdc, 0x00, 0xe1, 0xff, 0xdc, 0x00, 0xe3, 
    -	0xff, 0xdc, 0x00, 0xe5, 0xff, 0xdc, 0x01, 0x06, 0xff, 0xc2, 0x01, 0x08, 
    -	0xff, 0xc2, 0x01, 0x0a, 0xff, 0xc2, 0x01, 0x0b, 0xff, 0xc2, 0x01, 0x0f, 
    -	0xff, 0xd6, 0x01, 0x11, 0xff, 0xd6, 0x01, 0x13, 0xff, 0xd6, 0x01, 0x15, 
    -	0xff, 0xdc, 0x01, 0x2b, 0xff, 0xdd, 0x01, 0x2d, 0xff, 0xdd, 0x01, 0x2f, 
    -	0xff, 0xdd, 0x01, 0x31, 0xff, 0xdd, 0x01, 0x33, 0xff, 0xdd, 0x01, 0x35, 
    -	0xff, 0xdd, 0x01, 0x39, 0xff, 0xe1, 0x01, 0x44, 0xff, 0xdc, 0x01, 0x46, 
    -	0xff, 0xdd, 0x01, 0x86, 0xff, 0xdc, 0x01, 0x88, 0xff, 0xc2, 0x01, 0x8a, 
    -	0xff, 0xdd, 0x01, 0x8b, 0xff, 0xdc, 0x01, 0x8d, 0xff, 0xe1, 0x01, 0x8e, 
    -	0xff, 0xee, 0x01, 0x8f, 0xff, 0xe6, 0x01, 0x91, 0xff, 0xc2, 0x01, 0x92, 
    -	0xff, 0xeb, 0x01, 0x93, 0xff, 0xe9, 0x01, 0x97, 0xff, 0xe1, 0x01, 0x98, 
    -	0xff, 0xf0, 0x01, 0x99, 0xff, 0xd6, 0x01, 0x9a, 0xff, 0xe7, 0x01, 0x9c, 
    -	0xff, 0xdc, 0x01, 0x9d, 0xff, 0xdc, 0x01, 0x9e, 0xff, 0xe3, 0x01, 0x9f, 
    -	0xff, 0xdd, 0x01, 0xa0, 0xff, 0xce, 0x01, 0xa2, 0xff, 0xd4, 0x01, 0xa3, 
    -	0xff, 0xdb, 0x01, 0xa5, 0xff, 0xdd, 0x01, 0xa6, 0xff, 0xd6, 0x01, 0xa7, 
    -	0xff, 0xdd, 0x01, 0xdf, 0xff, 0xc2, 0x01, 0xe1, 0xff, 0xdc, 0x01, 0xe4, 
    -	0xff, 0xc2, 0x01, 0xe5, 0xff, 0xc2, 0x01, 0xe6, 0xff, 0xc2, 0x01, 0xe8, 
    -	0xff, 0xc2, 0x01, 0xe9, 0xff, 0xc2, 0x01, 0xea, 0xff, 0xd6, 0x01, 0xeb, 
    -	0xff, 0xc2, 0x01, 0xec, 0xff, 0xc2, 0x01, 0xed, 0xff, 0xdc, 0x01, 0xef, 
    -	0xff, 0xe1, 0x01, 0xf0, 0xff, 0xdc, 0x01, 0xf2, 0xff, 0xc2, 0x01, 0xf4, 
    -	0xff, 0xc2, 0x01, 0xf5, 0xff, 0xc2, 0x01, 0xf8, 0xff, 0xc2, 0x01, 0xfa, 
    -	0xff, 0xc2, 0x01, 0xfc, 0xff, 0xdc, 0x01, 0xfd, 0xff, 0xdc, 0x01, 0xff, 
    -	0xff, 0xc2, 0x02, 0x00, 0xff, 0xdc, 0x02, 0x06, 0xff, 0xc2, 0x02, 0x08, 
    -	0xff, 0xc2, 0x02, 0x09, 0xff, 0xc2, 0x02, 0x0a, 0xff, 0xe1, 0x02, 0x1f, 
    -	0xff, 0xd6, 0x02, 0x21, 0xff, 0xe1, 0x02, 0x23, 0xff, 0xe1, 0x02, 0x25, 
    -	0xff, 0xdc, 0x02, 0x29, 0xff, 0xdc, 0x02, 0x2d, 0xff, 0xdc, 0x02, 0x36, 
    -	0xff, 0xc2, 0x02, 0x46, 0xff, 0xc2, 0x02, 0x4e, 0xff, 0xc2, 0x02, 0x50, 
    -	0xff, 0xc2, 0x02, 0x54, 0xff, 0xdc, 0x02, 0x56, 0xff, 0xdc, 0x02, 0x5a, 
    -	0xff, 0xe1, 0x02, 0x73, 0xff, 0xc2, 0x02, 0x75, 0xff, 0xc2, 0x02, 0x79, 
    -	0xff, 0xc2, 0x02, 0x82, 0xff, 0xdc, 0x02, 0x84, 0xff, 0xdc, 0x02, 0x86, 
    -	0xff, 0xdc, 0x02, 0x8e, 0xff, 0xc2, 0x02, 0x90, 0xff, 0xc2, 0x02, 0x92, 
    -	0xff, 0xd6, 0x02, 0x94, 0xff, 0xdc, 0x02, 0x96, 0xff, 0xd6, 0x02, 0x9a, 
    -	0xff, 0xe1, 0x02, 0x9c, 0xff, 0xe1, 0x02, 0x9e, 0xff, 0xe1, 0x02, 0xa2, 
    -	0xff, 0xc2, 0x02, 0xa4, 0xff, 0xc2, 0x02, 0xa6, 0xff, 0xc2, 0x02, 0xac, 
    -	0xff, 0xdc, 0x02, 0xad, 0xff, 0xdc, 0x02, 0xae, 0xff, 0xdc, 0x02, 0xb8, 
    -	0xff, 0xdc, 0x02, 0xc2, 0xff, 0xc2, 0x02, 0xe2, 0xff, 0xdc, 0x02, 0xe4, 
    -	0xff, 0xdc, 0x02, 0xe6, 0xff, 0xdc, 0x02, 0xe8, 0xff, 0xdc, 0x02, 0xea, 
    -	0xff, 0xdc, 0x02, 0xec, 0xff, 0xdc, 0x02, 0xee, 0xff, 0xdc, 0x02, 0xf0, 
    -	0xff, 0xdc, 0x02, 0xf6, 0xff, 0xd6, 0x02, 0xf8, 0xff, 0xd6, 0x02, 0xfa, 
    -	0xff, 0xd6, 0x02, 0xfc, 0xff, 0xd6, 0x02, 0xfe, 0xff, 0xd6, 0x03, 0x00, 
    -	0xff, 0xd6, 0x03, 0x02, 0xff, 0xd6, 0x03, 0x04, 0xff, 0xdc, 0x03, 0x06, 
    -	0xff, 0xdc, 0x03, 0x08, 0xff, 0xdc, 0x03, 0x0a, 0xff, 0xd6, 0x03, 0x0c, 
    -	0xff, 0xdc, 0x03, 0x0e, 0xff, 0xdd, 0x03, 0x10, 0xff, 0xdd, 0x03, 0x12, 
    -	0xff, 0xdd, 0x03, 0x14, 0xff, 0xdd, 0x03, 0x16, 0xff, 0xdd, 0x03, 0x18, 
    -	0xff, 0xdd, 0x03, 0x1a, 0xff, 0xdd, 0x03, 0x1c, 0xff, 0xe1, 0x03, 0x1e, 
    -	0xff, 0xe1, 0x03, 0x20, 0xff, 0xe1, 0x03, 0x22, 0xff, 0xe1, 0x00, 0x76, 
    -	0x00, 0x05, 0xff, 0xda, 0x00, 0x0a, 0xff, 0xda, 0x00, 0x46, 0xff, 0xf0, 
    -	0x00, 0x47, 0xff, 0xf0, 0x00, 0x48, 0xff, 0xf0, 0x00, 0x4a, 0xff, 0xf0, 
    -	0x00, 0x54, 0xff, 0xf0, 0x00, 0x58, 0xff, 0xef, 0x00, 0x59, 0xff, 0xdc, 
    -	0x00, 0x5c, 0xff, 0xdc, 0x00, 0xa9, 0xff, 0xf0, 0x00, 0xaa, 0xff, 0xf0, 
    -	0x00, 0xab, 0xff, 0xf0, 0x00, 0xac, 0xff, 0xf0, 0x00, 0xad, 0xff, 0xf0, 
    -	0x00, 0xbb, 0xff, 0xef, 0x00, 0xbc, 0xff, 0xef, 0x00, 0xbd, 0xff, 0xef, 
    -	0x00, 0xbe, 0xff, 0xef, 0x00, 0xbf, 0xff, 0xdc, 0x00, 0xc1, 0xff, 0xdc, 
    -	0x00, 0xc9, 0xff, 0xf0, 0x00, 0xcb, 0xff, 0xf0, 0x00, 0xcd, 0xff, 0xf0, 
    -	0x00, 0xcf, 0xff, 0xf0, 0x00, 0xd1, 0xff, 0xf0, 0x00, 0xd5, 0xff, 0xf0, 
    -	0x00, 0xd7, 0xff, 0xf0, 0x00, 0xd9, 0xff, 0xf0, 0x00, 0xdb, 0xff, 0xf0, 
    -	0x00, 0xdd, 0xff, 0xf0, 0x00, 0xdf, 0xff, 0xf0, 0x00, 0xe1, 0xff, 0xf0, 
    -	0x00, 0xe3, 0xff, 0xf0, 0x00, 0xe5, 0xff, 0xf0, 0x01, 0x15, 0xff, 0xf0, 
    -	0x01, 0x2b, 0xff, 0xef, 0x01, 0x2d, 0xff, 0xef, 0x01, 0x2f, 0xff, 0xef, 
    -	0x01, 0x31, 0xff, 0xef, 0x01, 0x33, 0xff, 0xef, 0x01, 0x35, 0xff, 0xef, 
    -	0x01, 0x39, 0xff, 0xdc, 0x01, 0x44, 0xff, 0xf0, 0x01, 0x46, 0xff, 0xef, 
    -	0x01, 0x51, 0xff, 0xda, 0x01, 0x86, 0xff, 0xf0, 0x01, 0x8a, 0xff, 0xef, 
    -	0x01, 0x8b, 0xff, 0xf0, 0x01, 0x8d, 0xff, 0xdc, 0x01, 0x92, 0xff, 0xec, 
    -	0x01, 0x95, 0x00, 0x0f, 0x01, 0x97, 0xff, 0xdc, 0x01, 0x9a, 0xff, 0xea, 
    -	0x01, 0x9c, 0xff, 0xf0, 0x01, 0x9d, 0xff, 0xf0, 0x01, 0x9e, 0xff, 0xdc, 
    -	0x01, 0x9f, 0xff, 0xef, 0x01, 0xa0, 0xff, 0xe7, 0x01, 0xa5, 0xff, 0xef, 
    -	0x01, 0xa7, 0xff, 0xef, 0x01, 0xe1, 0xff, 0xf0, 0x01, 0xed, 0xff, 0xf0, 
    -	0x01, 0xef, 0xff, 0xdc, 0x01, 0xf0, 0xff, 0xf0, 0x01, 0xfc, 0xff, 0xf0, 
    -	0x01, 0xfd, 0xff, 0xf0, 0x02, 0x00, 0xff, 0xf0, 0x02, 0x0a, 0xff, 0xdc, 
    -	0x02, 0x21, 0xff, 0xdc, 0x02, 0x23, 0xff, 0xdc, 0x02, 0x25, 0xff, 0xf0, 
    -	0x02, 0x29, 0xff, 0xf0, 0x02, 0x2d, 0xff, 0xf0, 0x02, 0x54, 0xff, 0xf0, 
    -	0x02, 0x56, 0xff, 0xf0, 0x02, 0x5a, 0xff, 0xdc, 0x02, 0x82, 0xff, 0xf0, 
    -	0x02, 0x84, 0xff, 0xf0, 0x02, 0x86, 0xff, 0xf0, 0x02, 0x94, 0xff, 0xf0, 
    -	0x02, 0x9a, 0xff, 0xdc, 0x02, 0x9c, 0xff, 0xdc, 0x02, 0x9e, 0xff, 0xdc, 
    -	0x02, 0xac, 0xff, 0xf0, 0x02, 0xad, 0xff, 0xf0, 0x02, 0xae, 0xff, 0xf0, 
    -	0x02, 0xb8, 0xff, 0xf0, 0x02, 0xe2, 0xff, 0xf0, 0x02, 0xe4, 0xff, 0xf0, 
    -	0x02, 0xe6, 0xff, 0xf0, 0x02, 0xe8, 0xff, 0xf0, 0x02, 0xea, 0xff, 0xf0, 
    -	0x02, 0xec, 0xff, 0xf0, 0x02, 0xee, 0xff, 0xf0, 0x02, 0xf0, 0xff, 0xf0, 
    -	0x03, 0x04, 0xff, 0xf0, 0x03, 0x06, 0xff, 0xf0, 0x03, 0x08, 0xff, 0xf0, 
    -	0x03, 0x0c, 0xff, 0xf0, 0x03, 0x0e, 0xff, 0xef, 0x03, 0x10, 0xff, 0xef, 
    -	0x03, 0x12, 0xff, 0xef, 0x03, 0x14, 0xff, 0xef, 0x03, 0x16, 0xff, 0xef, 
    -	0x03, 0x18, 0xff, 0xef, 0x03, 0x1a, 0xff, 0xef, 0x03, 0x1c, 0xff, 0xdc, 
    -	0x03, 0x1e, 0xff, 0xdc, 0x03, 0x20, 0xff, 0xdc, 0x03, 0x22, 0xff, 0xdc, 
    -	0x03, 0x34, 0xff, 0xda, 0x03, 0x35, 0xff, 0xda, 0x03, 0x37, 0xff, 0xda, 
    -	0x03, 0x38, 0xff, 0xda, 0x03, 0x39, 0xff, 0xda, 0x03, 0x41, 0xff, 0xda, 
    -	0x03, 0x42, 0xff, 0xda, 0x00, 0x3a, 0x00, 0x05, 0xff, 0xa0, 0x00, 0x0a, 
    -	0xff, 0xa0, 0x00, 0x49, 0xff, 0xe9, 0x00, 0x58, 0xff, 0xf1, 0x00, 0x59, 
    -	0xff, 0xc5, 0x00, 0x5c, 0xff, 0xc5, 0x00, 0xbb, 0xff, 0xf1, 0x00, 0xbc, 
    -	0xff, 0xf1, 0x00, 0xbd, 0xff, 0xf1, 0x00, 0xbe, 0xff, 0xf1, 0x00, 0xbf, 
    -	0xff, 0xc5, 0x00, 0xc1, 0xff, 0xc5, 0x01, 0x2b, 0xff, 0xf1, 0x01, 0x2d, 
    -	0xff, 0xf1, 0x01, 0x2f, 0xff, 0xf1, 0x01, 0x31, 0xff, 0xf1, 0x01, 0x33, 
    -	0xff, 0xf1, 0x01, 0x35, 0xff, 0xf1, 0x01, 0x39, 0xff, 0xc5, 0x01, 0x46, 
    -	0xff, 0xf1, 0x01, 0x51, 0xff, 0xa0, 0x01, 0x8a, 0xff, 0xf1, 0x01, 0x8d, 
    -	0xff, 0xc5, 0x01, 0x92, 0xff, 0xee, 0x01, 0x95, 0x00, 0x10, 0x01, 0x97, 
    -	0xff, 0xc5, 0x01, 0x9a, 0xff, 0xec, 0x01, 0x9e, 0xff, 0xbe, 0x01, 0x9f, 
    -	0xff, 0xf1, 0x01, 0xa1, 0xff, 0xda, 0x01, 0xa5, 0xff, 0xf1, 0x01, 0xa7, 
    -	0xff, 0xf1, 0x01, 0xef, 0xff, 0xc5, 0x02, 0x0a, 0xff, 0xc5, 0x02, 0x21, 
    -	0xff, 0xc5, 0x02, 0x23, 0xff, 0xc5, 0x02, 0x5a, 0xff, 0xc5, 0x02, 0x9a, 
    -	0xff, 0xc5, 0x02, 0x9c, 0xff, 0xc5, 0x02, 0x9e, 0xff, 0xc5, 0x03, 0x0e, 
    -	0xff, 0xf1, 0x03, 0x10, 0xff, 0xf1, 0x03, 0x12, 0xff, 0xf1, 0x03, 0x14, 
    -	0xff, 0xf1, 0x03, 0x16, 0xff, 0xf1, 0x03, 0x18, 0xff, 0xf1, 0x03, 0x1a, 
    -	0xff, 0xf1, 0x03, 0x1c, 0xff, 0xc5, 0x03, 0x1e, 0xff, 0xc5, 0x03, 0x20, 
    -	0xff, 0xc5, 0x03, 0x22, 0xff, 0xc5, 0x03, 0x34, 0xff, 0xa0, 0x03, 0x35, 
    -	0xff, 0xa0, 0x03, 0x37, 0xff, 0xa0, 0x03, 0x38, 0xff, 0xa0, 0x03, 0x39, 
    -	0xff, 0xa0, 0x03, 0x41, 0xff, 0xa0, 0x03, 0x42, 0xff, 0xa0, 0x00, 0x3e, 
    -	0x00, 0x46, 0xff, 0xe7, 0x00, 0x47, 0xff, 0xe7, 0x00, 0x48, 0xff, 0xe7, 
    -	0x00, 0x4a, 0xff, 0xe7, 0x00, 0x54, 0xff, 0xe7, 0x00, 0xa9, 0xff, 0xe7, 
    -	0x00, 0xaa, 0xff, 0xe7, 0x00, 0xab, 0xff, 0xe7, 0x00, 0xac, 0xff, 0xe7, 
    -	0x00, 0xad, 0xff, 0xe7, 0x00, 0xc9, 0xff, 0xe7, 0x00, 0xcb, 0xff, 0xe7, 
    -	0x00, 0xcd, 0xff, 0xe7, 0x00, 0xcf, 0xff, 0xe7, 0x00, 0xd1, 0xff, 0xe7, 
    -	0x00, 0xd5, 0xff, 0xe7, 0x00, 0xd7, 0xff, 0xe7, 0x00, 0xd9, 0xff, 0xe7, 
    -	0x00, 0xdb, 0xff, 0xe7, 0x00, 0xdd, 0xff, 0xe7, 0x00, 0xdf, 0xff, 0xe7, 
    -	0x00, 0xe1, 0xff, 0xe7, 0x00, 0xe3, 0xff, 0xe7, 0x00, 0xe5, 0xff, 0xe7, 
    -	0x01, 0x15, 0xff, 0xe7, 0x01, 0x44, 0xff, 0xe7, 0x01, 0x86, 0xff, 0xe7, 
    -	0x01, 0x8b, 0xff, 0xe7, 0x01, 0x95, 0x00, 0x0f, 0x01, 0x9c, 0xff, 0xe7, 
    -	0x01, 0x9d, 0xff, 0xe7, 0x01, 0xe1, 0xff, 0xe7, 0x01, 0xed, 0xff, 0xe7, 
    -	0x01, 0xf0, 0xff, 0xe7, 0x01, 0xfc, 0xff, 0xe7, 0x01, 0xfd, 0xff, 0xe7, 
    -	0x02, 0x00, 0xff, 0xe7, 0x02, 0x25, 0xff, 0xe7, 0x02, 0x29, 0xff, 0xe7, 
    -	0x02, 0x2d, 0xff, 0xe7, 0x02, 0x54, 0xff, 0xe7, 0x02, 0x56, 0xff, 0xe7, 
    -	0x02, 0x82, 0xff, 0xe7, 0x02, 0x84, 0xff, 0xe7, 0x02, 0x86, 0xff, 0xe7, 
    -	0x02, 0x94, 0xff, 0xe7, 0x02, 0xac, 0xff, 0xe7, 0x02, 0xad, 0xff, 0xe7, 
    -	0x02, 0xae, 0xff, 0xe7, 0x02, 0xb8, 0xff, 0xe7, 0x02, 0xe2, 0xff, 0xe7, 
    -	0x02, 0xe4, 0xff, 0xe7, 0x02, 0xe6, 0xff, 0xe7, 0x02, 0xe8, 0xff, 0xe7, 
    -	0x02, 0xea, 0xff, 0xe7, 0x02, 0xec, 0xff, 0xe7, 0x02, 0xee, 0xff, 0xe7, 
    -	0x02, 0xf0, 0xff, 0xe7, 0x03, 0x04, 0xff, 0xe7, 0x03, 0x06, 0xff, 0xe7, 
    -	0x03, 0x08, 0xff, 0xe7, 0x03, 0x0c, 0xff, 0xe7, 0x00, 0x01, 0x01, 0x9e, 
    -	0x00, 0x0b, 0x00, 0x7a, 0x00, 0x05, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x0c, 
    -	0x00, 0x46, 0xff, 0xe8, 0x00, 0x47, 0xff, 0xe8, 0x00, 0x48, 0xff, 0xe8, 
    -	0x00, 0x49, 0x00, 0x0c, 0x00, 0x4a, 0xff, 0xe8, 0x00, 0x52, 0xff, 0xea, 
    -	0x00, 0x54, 0xff, 0xe8, 0x00, 0x59, 0x00, 0x0b, 0x00, 0x5c, 0x00, 0x0b, 
    -	0x00, 0xa9, 0xff, 0xe8, 0x00, 0xaa, 0xff, 0xe8, 0x00, 0xab, 0xff, 0xe8, 
    -	0x00, 0xac, 0xff, 0xe8, 0x00, 0xad, 0xff, 0xe8, 0x00, 0xb4, 0xff, 0xea, 
    -	0x00, 0xb5, 0xff, 0xea, 0x00, 0xb6, 0xff, 0xea, 0x00, 0xb7, 0xff, 0xea, 
    -	0x00, 0xb8, 0xff, 0xea, 0x00, 0xbf, 0x00, 0x0b, 0x00, 0xc1, 0x00, 0x0b, 
    -	0x00, 0xc9, 0xff, 0xe8, 0x00, 0xcb, 0xff, 0xe8, 0x00, 0xcd, 0xff, 0xe8, 
    -	0x00, 0xcf, 0xff, 0xe8, 0x00, 0xd1, 0xff, 0xe8, 0x00, 0xd5, 0xff, 0xe8, 
    -	0x00, 0xd7, 0xff, 0xe8, 0x00, 0xd9, 0xff, 0xe8, 0x00, 0xdb, 0xff, 0xe8, 
    -	0x00, 0xdd, 0xff, 0xe8, 0x00, 0xdf, 0xff, 0xe8, 0x00, 0xe1, 0xff, 0xe8, 
    -	0x00, 0xe3, 0xff, 0xe8, 0x00, 0xe5, 0xff, 0xe8, 0x01, 0x0f, 0xff, 0xea, 
    -	0x01, 0x11, 0xff, 0xea, 0x01, 0x13, 0xff, 0xea, 0x01, 0x15, 0xff, 0xe8, 
    -	0x01, 0x39, 0x00, 0x0b, 0x01, 0x44, 0xff, 0xe8, 0x01, 0x51, 0x00, 0x0c, 
    -	0x01, 0x86, 0xff, 0xe8, 0x01, 0x8b, 0xff, 0xe8, 0x01, 0x8d, 0x00, 0x0b, 
    -	0x01, 0x8e, 0xff, 0xed, 0x01, 0x97, 0x00, 0x0b, 0x01, 0x99, 0xff, 0xea, 
    -	0x01, 0x9a, 0x00, 0x0b, 0x01, 0x9c, 0xff, 0xe8, 0x01, 0x9d, 0xff, 0xe8, 
    -	0x01, 0x9e, 0x00, 0x0c, 0x01, 0xa6, 0xff, 0xea, 0x01, 0xe1, 0xff, 0xe8, 
    -	0x01, 0xea, 0xff, 0xea, 0x01, 0xed, 0xff, 0xe8, 0x01, 0xef, 0x00, 0x0b, 
    -	0x01, 0xf0, 0xff, 0xe8, 0x01, 0xfc, 0xff, 0xe8, 0x01, 0xfd, 0xff, 0xe8, 
    -	0x02, 0x00, 0xff, 0xe8, 0x02, 0x0a, 0x00, 0x0b, 0x02, 0x1f, 0xff, 0xea, 
    -	0x02, 0x21, 0x00, 0x0b, 0x02, 0x23, 0x00, 0x0b, 0x02, 0x25, 0xff, 0xe8, 
    -	0x02, 0x29, 0xff, 0xe8, 0x02, 0x2d, 0xff, 0xe8, 0x02, 0x54, 0xff, 0xe8, 
    -	0x02, 0x56, 0xff, 0xe8, 0x02, 0x5a, 0x00, 0x0b, 0x02, 0x82, 0xff, 0xe8, 
    -	0x02, 0x84, 0xff, 0xe8, 0x02, 0x86, 0xff, 0xe8, 0x02, 0x92, 0xff, 0xea, 
    -	0x02, 0x94, 0xff, 0xe8, 0x02, 0x96, 0xff, 0xea, 0x02, 0x9a, 0x00, 0x0b, 
    -	0x02, 0x9c, 0x00, 0x0b, 0x02, 0x9e, 0x00, 0x0b, 0x02, 0xac, 0xff, 0xe8, 
    -	0x02, 0xad, 0xff, 0xe8, 0x02, 0xae, 0xff, 0xe8, 0x02, 0xb8, 0xff, 0xe8, 
    -	0x02, 0xe2, 0xff, 0xe8, 0x02, 0xe4, 0xff, 0xe8, 0x02, 0xe6, 0xff, 0xe8, 
    -	0x02, 0xe8, 0xff, 0xe8, 0x02, 0xea, 0xff, 0xe8, 0x02, 0xec, 0xff, 0xe8, 
    -	0x02, 0xee, 0xff, 0xe8, 0x02, 0xf0, 0xff, 0xe8, 0x02, 0xf6, 0xff, 0xea, 
    -	0x02, 0xf8, 0xff, 0xea, 0x02, 0xfa, 0xff, 0xea, 0x02, 0xfc, 0xff, 0xea, 
    -	0x02, 0xfe, 0xff, 0xea, 0x03, 0x00, 0xff, 0xea, 0x03, 0x02, 0xff, 0xea, 
    -	0x03, 0x04, 0xff, 0xe8, 0x03, 0x06, 0xff, 0xe8, 0x03, 0x08, 0xff, 0xe8, 
    -	0x03, 0x0a, 0xff, 0xea, 0x03, 0x0c, 0xff, 0xe8, 0x03, 0x1c, 0x00, 0x0b, 
    -	0x03, 0x1e, 0x00, 0x0b, 0x03, 0x20, 0x00, 0x0b, 0x03, 0x22, 0x00, 0x0b, 
    -	0x03, 0x34, 0x00, 0x0c, 0x03, 0x35, 0x00, 0x0c, 0x03, 0x37, 0x00, 0x0c, 
    -	0x03, 0x38, 0x00, 0x0c, 0x03, 0x39, 0x00, 0x0c, 0x03, 0x41, 0x00, 0x0c, 
    -	0x03, 0x42, 0x00, 0x0c, 0x03, 0x76, 0x00, 0x0d, 0x03, 0x79, 0x00, 0x0d, 
    -	0x03, 0x7b, 0x00, 0x0e, 0x03, 0x7c, 0xff, 0xf5, 0x03, 0x7e, 0xff, 0xec, 
    -	0x00, 0x0d, 0x00, 0x5b, 0xff, 0xed, 0x00, 0x5d, 0xff, 0xed, 0x01, 0x3c, 
    -	0xff, 0xed, 0x01, 0x3e, 0xff, 0xed, 0x01, 0x40, 0xff, 0xed, 0x01, 0xa1, 
    -	0xff, 0xe1, 0x01, 0xe2, 0xff, 0xed, 0x01, 0xf1, 0xff, 0xed, 0x02, 0x42, 
    -	0xff, 0xed, 0x02, 0x5e, 0xff, 0xed, 0x02, 0x6d, 0xff, 0xed, 0x02, 0x88, 
    -	0xff, 0xed, 0x02, 0xa8, 0xff, 0xed, 0x00, 0x64, 0x00, 0x05, 0x00, 0x0b, 
    -	0x00, 0x0a, 0x00, 0x0b, 0x00, 0x46, 0xff, 0xeb, 0x00, 0x47, 0xff, 0xeb, 
    -	0x00, 0x48, 0xff, 0xeb, 0x00, 0x49, 0x00, 0x0b, 0x00, 0x4a, 0xff, 0xeb, 
    -	0x00, 0x52, 0xff, 0xe9, 0x00, 0x54, 0xff, 0xeb, 0x00, 0xa9, 0xff, 0xeb, 
    -	0x00, 0xaa, 0xff, 0xeb, 0x00, 0xab, 0xff, 0xeb, 0x00, 0xac, 0xff, 0xeb, 
    -	0x00, 0xad, 0xff, 0xeb, 0x00, 0xb4, 0xff, 0xe9, 0x00, 0xb5, 0xff, 0xe9, 
    -	0x00, 0xb6, 0xff, 0xe9, 0x00, 0xb7, 0xff, 0xe9, 0x00, 0xb8, 0xff, 0xe9, 
    -	0x00, 0xc9, 0xff, 0xeb, 0x00, 0xcb, 0xff, 0xeb, 0x00, 0xcd, 0xff, 0xeb, 
    -	0x00, 0xcf, 0xff, 0xeb, 0x00, 0xd1, 0xff, 0xeb, 0x00, 0xd5, 0xff, 0xeb, 
    -	0x00, 0xd7, 0xff, 0xeb, 0x00, 0xd9, 0xff, 0xeb, 0x00, 0xdb, 0xff, 0xeb, 
    -	0x00, 0xdd, 0xff, 0xeb, 0x00, 0xdf, 0xff, 0xeb, 0x00, 0xe1, 0xff, 0xeb, 
    -	0x00, 0xe3, 0xff, 0xeb, 0x00, 0xe5, 0xff, 0xeb, 0x01, 0x0f, 0xff, 0xe9, 
    -	0x01, 0x11, 0xff, 0xe9, 0x01, 0x13, 0xff, 0xe9, 0x01, 0x15, 0xff, 0xeb, 
    -	0x01, 0x44, 0xff, 0xeb, 0x01, 0x51, 0x00, 0x0b, 0x01, 0x86, 0xff, 0xeb, 
    -	0x01, 0x8b, 0xff, 0xeb, 0x01, 0x8e, 0xff, 0xee, 0x01, 0x8f, 0xff, 0xf2, 
    -	0x01, 0x99, 0xff, 0xe9, 0x01, 0x9c, 0xff, 0xeb, 0x01, 0x9d, 0xff, 0xeb, 
    -	0x01, 0xa0, 0xff, 0xf1, 0x01, 0xa1, 0x00, 0x0f, 0x01, 0xa3, 0xff, 0xef, 
    -	0x01, 0xa6, 0xff, 0xe9, 0x01, 0xe1, 0xff, 0xeb, 0x01, 0xea, 0xff, 0xe9, 
    -	0x01, 0xed, 0xff, 0xeb, 0x01, 0xf0, 0xff, 0xeb, 0x01, 0xfc, 0xff, 0xeb, 
    -	0x01, 0xfd, 0xff, 0xeb, 0x02, 0x00, 0xff, 0xeb, 0x02, 0x1f, 0xff, 0xe9, 
    -	0x02, 0x25, 0xff, 0xeb, 0x02, 0x29, 0xff, 0xeb, 0x02, 0x2d, 0xff, 0xeb, 
    -	0x02, 0x54, 0xff, 0xeb, 0x02, 0x56, 0xff, 0xeb, 0x02, 0x82, 0xff, 0xeb, 
    -	0x02, 0x84, 0xff, 0xeb, 0x02, 0x86, 0xff, 0xeb, 0x02, 0x92, 0xff, 0xe9, 
    -	0x02, 0x94, 0xff, 0xeb, 0x02, 0x96, 0xff, 0xe9, 0x02, 0xac, 0xff, 0xeb, 
    -	0x02, 0xad, 0xff, 0xeb, 0x02, 0xae, 0xff, 0xeb, 0x02, 0xb8, 0xff, 0xeb, 
    -	0x02, 0xe2, 0xff, 0xeb, 0x02, 0xe4, 0xff, 0xeb, 0x02, 0xe6, 0xff, 0xeb, 
    -	0x02, 0xe8, 0xff, 0xeb, 0x02, 0xea, 0xff, 0xeb, 0x02, 0xec, 0xff, 0xeb, 
    -	0x02, 0xee, 0xff, 0xeb, 0x02, 0xf0, 0xff, 0xeb, 0x02, 0xf6, 0xff, 0xe9, 
    -	0x02, 0xf8, 0xff, 0xe9, 0x02, 0xfa, 0xff, 0xe9, 0x02, 0xfc, 0xff, 0xe9, 
    -	0x02, 0xfe, 0xff, 0xe9, 0x03, 0x00, 0xff, 0xe9, 0x03, 0x02, 0xff, 0xe9, 
    -	0x03, 0x04, 0xff, 0xeb, 0x03, 0x06, 0xff, 0xeb, 0x03, 0x08, 0xff, 0xeb, 
    -	0x03, 0x0a, 0xff, 0xe9, 0x03, 0x0c, 0xff, 0xeb, 0x03, 0x34, 0x00, 0x0b, 
    -	0x03, 0x35, 0x00, 0x0b, 0x03, 0x37, 0x00, 0x0b, 0x03, 0x38, 0x00, 0x0b, 
    -	0x03, 0x39, 0x00, 0x0b, 0x03, 0x41, 0x00, 0x0b, 0x03, 0x42, 0x00, 0x0b, 
    -	0x00, 0x0c, 0x00, 0x5b, 0xff, 0xf2, 0x00, 0x5d, 0xff, 0xf2, 0x01, 0x3c, 
    -	0xff, 0xf2, 0x01, 0x3e, 0xff, 0xf2, 0x01, 0x40, 0xff, 0xf2, 0x01, 0xe2, 
    -	0xff, 0xf2, 0x01, 0xf1, 0xff, 0xf2, 0x02, 0x42, 0xff, 0xf2, 0x02, 0x5e, 
    -	0xff, 0xf2, 0x02, 0x6d, 0xff, 0xf2, 0x02, 0x88, 0xff, 0xf2, 0x02, 0xa8, 
    -	0xff, 0xf2, 0x00, 0x1f, 0x00, 0x59, 0xff, 0xf4, 0x00, 0x5b, 0xff, 0xf2, 
    -	0x00, 0x5c, 0xff, 0xf4, 0x00, 0x5d, 0xff, 0xf3, 0x00, 0xbf, 0xff, 0xf4, 
    -	0x00, 0xc1, 0xff, 0xf4, 0x01, 0x39, 0xff, 0xf4, 0x01, 0x3c, 0xff, 0xf3, 
    -	0x01, 0x3e, 0xff, 0xf3, 0x01, 0x40, 0xff, 0xf3, 0x01, 0x8d, 0xff, 0xf4, 
    -	0x01, 0x97, 0xff, 0xf4, 0x01, 0xe2, 0xff, 0xf2, 0x01, 0xef, 0xff, 0xf4, 
    -	0x01, 0xf1, 0xff, 0xf2, 0x02, 0x0a, 0xff, 0xf4, 0x02, 0x21, 0xff, 0xf4, 
    -	0x02, 0x23, 0xff, 0xf4, 0x02, 0x42, 0xff, 0xf2, 0x02, 0x5a, 0xff, 0xf4, 
    -	0x02, 0x5e, 0xff, 0xf2, 0x02, 0x6d, 0xff, 0xf2, 0x02, 0x88, 0xff, 0xf2, 
    -	0x02, 0x9a, 0xff, 0xf4, 0x02, 0x9c, 0xff, 0xf4, 0x02, 0x9e, 0xff, 0xf4, 
    -	0x02, 0xa8, 0xff, 0xf2, 0x03, 0x1c, 0xff, 0xf4, 0x03, 0x1e, 0xff, 0xf4, 
    -	0x03, 0x20, 0xff, 0xf4, 0x03, 0x22, 0xff, 0xf4, 0x00, 0x5b, 0x00, 0x05, 
    -	0xff, 0xca, 0x00, 0x0a, 0xff, 0xca, 0x00, 0x37, 0xff, 0xd2, 0x00, 0x39, 
    -	0xff, 0xd4, 0x00, 0x3b, 0xff, 0xf4, 0x00, 0x3c, 0xff, 0xd3, 0x00, 0x59, 
    -	0xff, 0xe6, 0x00, 0x5b, 0xff, 0xef, 0x00, 0x5c, 0xff, 0xe6, 0x00, 0x9f, 
    -	0xff, 0xd3, 0x00, 0xbf, 0xff, 0xe6, 0x00, 0xc1, 0xff, 0xe6, 0x01, 0x24, 
    -	0xff, 0xd2, 0x01, 0x26, 0xff, 0xd2, 0x01, 0x38, 0xff, 0xd3, 0x01, 0x39, 
    -	0xff, 0xe6, 0x01, 0x3a, 0xff, 0xd3, 0x01, 0x51, 0xff, 0xca, 0x01, 0x69, 
    -	0xff, 0xd3, 0x01, 0x7f, 0xff, 0xd3, 0x01, 0x81, 0xff, 0xf4, 0x01, 0x85, 
    -	0xff, 0xd3, 0x01, 0x8d, 0xff, 0xe6, 0x01, 0x97, 0xff, 0xe6, 0x01, 0xae, 
    -	0xff, 0xd2, 0x01, 0xb7, 0xff, 0xd2, 0x01, 0xba, 0xff, 0xed, 0x01, 0xc2, 
    -	0xff, 0xf4, 0x01, 0xce, 0xff, 0xd2, 0x01, 0xcf, 0xff, 0xed, 0x01, 0xd1, 
    -	0xff, 0xf4, 0x01, 0xd3, 0xff, 0xe1, 0x01, 0xd8, 0xff, 0xd4, 0x01, 0xe2, 
    -	0xff, 0xef, 0x01, 0xee, 0xff, 0xc9, 0x01, 0xef, 0xff, 0xe6, 0x01, 0xf1, 
    -	0xff, 0xef, 0x02, 0x0a, 0xff, 0xe6, 0x02, 0x0d, 0xff, 0xe5, 0x02, 0x20, 
    -	0xff, 0xd4, 0x02, 0x21, 0xff, 0xe6, 0x02, 0x22, 0xff, 0xd4, 0x02, 0x23, 
    -	0xff, 0xe6, 0x02, 0x2b, 0xff, 0xe3, 0x02, 0x41, 0xff, 0xf4, 0x02, 0x42, 
    -	0xff, 0xef, 0x02, 0x4b, 0xff, 0xd2, 0x02, 0x4c, 0xff, 0xc4, 0x02, 0x57, 
    -	0xff, 0xd2, 0x02, 0x59, 0xff, 0xd3, 0x02, 0x5a, 0xff, 0xe6, 0x02, 0x5b, 
    -	0xff, 0xd3, 0x02, 0x5d, 0xff, 0xf4, 0x02, 0x5e, 0xff, 0xef, 0x02, 0x5f, 
    -	0xff, 0xd2, 0x02, 0x61, 0xff, 0xe1, 0x02, 0x63, 0xff, 0xe1, 0x02, 0x6c, 
    -	0xff, 0xf4, 0x02, 0x6d, 0xff, 0xef, 0x02, 0x76, 0xff, 0xe1, 0x02, 0x87, 
    -	0xff, 0xf4, 0x02, 0x88, 0xff, 0xef, 0x02, 0x99, 0xff, 0xed, 0x02, 0x9a, 
    -	0xff, 0xe6, 0x02, 0x9b, 0xff, 0xed, 0x02, 0x9c, 0xff, 0xe6, 0x02, 0x9d, 
    -	0xff, 0xed, 0x02, 0x9e, 0xff, 0xe6, 0x02, 0x9f, 0xff, 0xe1, 0x02, 0xa7, 
    -	0xff, 0xf4, 0x02, 0xa8, 0xff, 0xef, 0x02, 0xaf, 0xff, 0xd4, 0x02, 0xb0, 
    -	0xff, 0xf5, 0x02, 0xb1, 0xff, 0xe7, 0x02, 0xb9, 0xff, 0x67, 0x02, 0xba, 
    -	0xff, 0xc9, 0x03, 0x1b, 0xff, 0xd3, 0x03, 0x1c, 0xff, 0xe6, 0x03, 0x1d, 
    -	0xff, 0xd3, 0x03, 0x1e, 0xff, 0xe6, 0x03, 0x1f, 0xff, 0xd3, 0x03, 0x20, 
    -	0xff, 0xe6, 0x03, 0x21, 0xff, 0xd3, 0x03, 0x22, 0xff, 0xe6, 0x03, 0x34, 
    -	0xff, 0xca, 0x03, 0x35, 0xff, 0xca, 0x03, 0x37, 0xff, 0xca, 0x03, 0x38, 
    -	0xff, 0xca, 0x03, 0x39, 0xff, 0xca, 0x03, 0x41, 0xff, 0xca, 0x03, 0x42, 
    -	0xff, 0xca, 0x00, 0x24, 0x00, 0x37, 0xff, 0xbe, 0x00, 0x59, 0xff, 0xef, 
    -	0x00, 0x5c, 0xff, 0xef, 0x00, 0xbf, 0xff, 0xef, 0x00, 0xc1, 0xff, 0xef, 
    -	0x01, 0x24, 0xff, 0xbe, 0x01, 0x26, 0xff, 0xbe, 0x01, 0x39, 0xff, 0xef, 
    -	0x01, 0x8d, 0xff, 0xef, 0x01, 0x97, 0xff, 0xef, 0x01, 0xae, 0xff, 0xbe, 
    -	0x01, 0xb7, 0xff, 0xbe, 0x01, 0xce, 0xff, 0xbe, 0x01, 0xd8, 0xff, 0xc9, 
    -	0x01, 0xee, 0xff, 0xdf, 0x01, 0xef, 0xff, 0xef, 0x02, 0x0a, 0xff, 0xef, 
    -	0x02, 0x0d, 0xff, 0xed, 0x02, 0x21, 0xff, 0xef, 0x02, 0x23, 0xff, 0xef, 
    -	0x02, 0x2b, 0xff, 0xeb, 0x02, 0x4b, 0xff, 0xbe, 0x02, 0x4c, 0xff, 0xdf, 
    -	0x02, 0x57, 0xff, 0xbe, 0x02, 0x5a, 0xff, 0xef, 0x02, 0x5f, 0xff, 0xbe, 
    -	0x02, 0x67, 0xff, 0xe9, 0x02, 0x9a, 0xff, 0xef, 0x02, 0x9c, 0xff, 0xef, 
    -	0x02, 0x9e, 0xff, 0xef, 0x02, 0xb0, 0xff, 0xf5, 0x02, 0xba, 0xff, 0xe0, 
    -	0x03, 0x1c, 0xff, 0xef, 0x03, 0x1e, 0xff, 0xef, 0x03, 0x20, 0xff, 0xef, 
    -	0x03, 0x22, 0xff, 0xef, 0x00, 0x3b, 0x00, 0x37, 0xff, 0xe6, 0x00, 0x39, 
    -	0xff, 0xe7, 0x00, 0x3b, 0xff, 0xf2, 0x00, 0x3c, 0xff, 0xe7, 0x00, 0x5b, 
    -	0xff, 0xf1, 0x00, 0x9f, 0xff, 0xe7, 0x01, 0x24, 0xff, 0xe6, 0x01, 0x26, 
    -	0xff, 0xe6, 0x01, 0x38, 0xff, 0xe7, 0x01, 0x3a, 0xff, 0xe7, 0x01, 0x69, 
    -	0xff, 0xe7, 0x01, 0x7f, 0xff, 0xe7, 0x01, 0x81, 0xff, 0xf2, 0x01, 0x85, 
    -	0xff, 0xe7, 0x01, 0xae, 0xff, 0xe6, 0x01, 0xb7, 0xff, 0xe6, 0x01, 0xba, 
    -	0xff, 0xee, 0x01, 0xc2, 0xff, 0xf2, 0x01, 0xce, 0xff, 0xe6, 0x01, 0xcf, 
    -	0xff, 0xee, 0x01, 0xd1, 0xff, 0xf2, 0x01, 0xd3, 0xff, 0xe8, 0x01, 0xd8, 
    -	0xff, 0xe6, 0x01, 0xe2, 0xff, 0xf1, 0x01, 0xee, 0xff, 0xd0, 0x01, 0xf1, 
    -	0xff, 0xf1, 0x02, 0x20, 0xff, 0xe7, 0x02, 0x22, 0xff, 0xe7, 0x02, 0x41, 
    -	0xff, 0xf2, 0x02, 0x42, 0xff, 0xf1, 0x02, 0x4b, 0xff, 0xe6, 0x02, 0x4c, 
    -	0xff, 0xce, 0x02, 0x57, 0xff, 0xe6, 0x02, 0x59, 0xff, 0xe7, 0x02, 0x5b, 
    -	0xff, 0xe7, 0x02, 0x5d, 0xff, 0xf2, 0x02, 0x5e, 0xff, 0xf1, 0x02, 0x5f, 
    -	0xff, 0xe6, 0x02, 0x61, 0xff, 0xe8, 0x02, 0x63, 0xff, 0xe8, 0x02, 0x6c, 
    -	0xff, 0xf2, 0x02, 0x6d, 0xff, 0xf1, 0x02, 0x76, 0xff, 0xe8, 0x02, 0x87, 
    -	0xff, 0xf2, 0x02, 0x88, 0xff, 0xf1, 0x02, 0x99, 0xff, 0xee, 0x02, 0x9b, 
    -	0xff, 0xee, 0x02, 0x9d, 0xff, 0xee, 0x02, 0x9f, 0xff, 0xe8, 0x02, 0xa7, 
    -	0xff, 0xf2, 0x02, 0xa8, 0xff, 0xf1, 0x02, 0xaf, 0xff, 0xe7, 0x02, 0xb1, 
    -	0xff, 0xed, 0x02, 0xb9, 0xff, 0xe6, 0x02, 0xba, 0xff, 0xd0, 0x03, 0x1b, 
    -	0xff, 0xe7, 0x03, 0x1d, 0xff, 0xe7, 0x03, 0x1f, 0xff, 0xe7, 0x03, 0x21, 
    -	0xff, 0xe7, 0x00, 0x02, 0x02, 0x16, 0x00, 0x0b, 0x02, 0xb9, 0xff, 0xe6, 
    -	0x00, 0x8e, 0x00, 0x24, 0x00, 0x10, 0x00, 0x26, 0xff, 0xe8, 0x00, 0x2a, 
    -	0xff, 0xe8, 0x00, 0x32, 0xff, 0xe8, 0x00, 0x34, 0xff, 0xe8, 0x00, 0x37, 
    -	0xff, 0xe0, 0x00, 0x39, 0xff, 0xe0, 0x00, 0x3c, 0xff, 0xdf, 0x00, 0x82, 
    -	0x00, 0x10, 0x00, 0x83, 0x00, 0x10, 0x00, 0x84, 0x00, 0x10, 0x00, 0x85, 
    -	0x00, 0x10, 0x00, 0x86, 0x00, 0x10, 0x00, 0x87, 0x00, 0x10, 0x00, 0x89, 
    -	0xff, 0xe8, 0x00, 0x94, 0xff, 0xe8, 0x00, 0x95, 0xff, 0xe8, 0x00, 0x96, 
    -	0xff, 0xe8, 0x00, 0x97, 0xff, 0xe8, 0x00, 0x98, 0xff, 0xe8, 0x00, 0x9a, 
    -	0xff, 0xe8, 0x00, 0x9f, 0xff, 0xdf, 0x00, 0xc2, 0x00, 0x10, 0x00, 0xc4, 
    -	0x00, 0x10, 0x00, 0xc6, 0x00, 0x10, 0x00, 0xc8, 0xff, 0xe8, 0x00, 0xca, 
    -	0xff, 0xe8, 0x00, 0xcc, 0xff, 0xe8, 0x00, 0xce, 0xff, 0xe8, 0x00, 0xde, 
    -	0xff, 0xe8, 0x00, 0xe0, 0xff, 0xe8, 0x00, 0xe2, 0xff, 0xe8, 0x00, 0xe4, 
    -	0xff, 0xe8, 0x01, 0x0e, 0xff, 0xe8, 0x01, 0x10, 0xff, 0xe8, 0x01, 0x12, 
    -	0xff, 0xe8, 0x01, 0x14, 0xff, 0xe8, 0x01, 0x24, 0xff, 0xe0, 0x01, 0x26, 
    -	0xff, 0xe0, 0x01, 0x38, 0xff, 0xdf, 0x01, 0x3a, 0xff, 0xdf, 0x01, 0x43, 
    -	0xff, 0xe8, 0x01, 0x48, 0x00, 0x10, 0x01, 0x4c, 0xff, 0xe8, 0x01, 0x63, 
    -	0x00, 0x10, 0x01, 0x68, 0xff, 0xe8, 0x01, 0x69, 0xff, 0xdf, 0x01, 0x6c, 
    -	0x00, 0x10, 0x01, 0x6f, 0x00, 0x10, 0x01, 0x73, 0xff, 0xe8, 0x01, 0x76, 
    -	0x00, 0x10, 0x01, 0x7a, 0xff, 0xe8, 0x01, 0x7f, 0xff, 0xdf, 0x01, 0x85, 
    -	0xff, 0xdf, 0x01, 0xae, 0xff, 0xe0, 0x01, 0xb0, 0xff, 0xe8, 0x01, 0xb5, 
    -	0x00, 0x10, 0x01, 0xb7, 0xff, 0xe0, 0x01, 0xbc, 0x00, 0x10, 0x01, 0xc0, 
    -	0x00, 0x14, 0x01, 0xc7, 0x00, 0x10, 0x01, 0xca, 0xff, 0xe8, 0x01, 0xcd, 
    -	0xff, 0xe8, 0x01, 0xce, 0xff, 0xe0, 0x01, 0xd3, 0xff, 0xe1, 0x01, 0xd8, 
    -	0xff, 0xe0, 0x01, 0xe0, 0x00, 0x13, 0x01, 0xe7, 0x00, 0x10, 0x01, 0xf3, 
    -	0xff, 0xe0, 0x02, 0x05, 0x00, 0x10, 0x02, 0x0c, 0xff, 0xe8, 0x02, 0x12, 
    -	0x00, 0x10, 0x02, 0x1e, 0xff, 0xe8, 0x02, 0x20, 0xff, 0xe0, 0x02, 0x22, 
    -	0xff, 0xe0, 0x02, 0x24, 0xff, 0xe8, 0x02, 0x26, 0xff, 0xe8, 0x02, 0x28, 
    -	0xff, 0xe8, 0x02, 0x2a, 0xff, 0xe8, 0x02, 0x2c, 0xff, 0xe8, 0x02, 0x4b, 
    -	0xff, 0xe0, 0x02, 0x53, 0xff, 0xe8, 0x02, 0x55, 0xff, 0xe8, 0x02, 0x57, 
    -	0xff, 0xe0, 0x02, 0x59, 0xff, 0xdf, 0x02, 0x5b, 0xff, 0xdf, 0x02, 0x5f, 
    -	0xff, 0xe0, 0x02, 0x61, 0xff, 0xe1, 0x02, 0x62, 0xff, 0xe0, 0x02, 0x63, 
    -	0xff, 0xe1, 0x02, 0x64, 0xff, 0xe0, 0x02, 0x68, 0xff, 0xe1, 0x02, 0x70, 
    -	0x00, 0x10, 0x02, 0x71, 0x00, 0x10, 0x02, 0x76, 0xff, 0xe1, 0x02, 0x77, 
    -	0xff, 0xe0, 0x02, 0x7b, 0x00, 0x10, 0x02, 0x7d, 0x00, 0x10, 0x02, 0x83, 
    -	0xff, 0xe9, 0x02, 0x91, 0xff, 0xe8, 0x02, 0x93, 0xff, 0xe8, 0x02, 0x95, 
    -	0xff, 0xe8, 0x02, 0x9f, 0xff, 0xe1, 0x02, 0xa0, 0xff, 0xe0, 0x02, 0xaf, 
    -	0xff, 0xdf, 0x02, 0xb1, 0xff, 0xde, 0x02, 0xb3, 0x00, 0x10, 0x02, 0xb7, 
    -	0xff, 0xe8, 0x02, 0xb9, 0xff, 0xdf, 0x02, 0xbb, 0xff, 0xf2, 0x02, 0xbd, 
    -	0x00, 0x10, 0x02, 0xbe, 0x00, 0x10, 0x02, 0xbf, 0x00, 0x10, 0x02, 0xc9, 
    -	0x00, 0x10, 0x02, 0xcb, 0x00, 0x10, 0x02, 0xcd, 0x00, 0x10, 0x02, 0xcf, 
    -	0x00, 0x10, 0x02, 0xd1, 0x00, 0x10, 0x02, 0xd3, 0x00, 0x10, 0x02, 0xd5, 
    -	0x00, 0x10, 0x02, 0xd7, 0x00, 0x10, 0x02, 0xd9, 0x00, 0x10, 0x02, 0xdb, 
    -	0x00, 0x10, 0x02, 0xdd, 0x00, 0x10, 0x02, 0xdf, 0x00, 0x10, 0x02, 0xf5, 
    -	0xff, 0xe8, 0x02, 0xf7, 0xff, 0xe8, 0x02, 0xf9, 0xff, 0xe8, 0x02, 0xfb, 
    -	0xff, 0xe8, 0x02, 0xfd, 0xff, 0xe8, 0x02, 0xff, 0xff, 0xe8, 0x03, 0x01, 
    -	0xff, 0xe8, 0x03, 0x03, 0xff, 0xe8, 0x03, 0x05, 0xff, 0xe8, 0x03, 0x07, 
    -	0xff, 0xe8, 0x03, 0x09, 0xff, 0xe8, 0x03, 0x0b, 0xff, 0xe8, 0x03, 0x1b, 
    -	0xff, 0xdf, 0x03, 0x1d, 0xff, 0xdf, 0x03, 0x1f, 0xff, 0xdf, 0x03, 0x21, 
    -	0xff, 0xdf, 0x03, 0x23, 0xff, 0xe8, 0x00, 0x31, 0x00, 0x1a, 0xff, 0xf2, 
    -	0x00, 0x37, 0xff, 0xf1, 0x00, 0x39, 0xff, 0xf4, 0x00, 0x3b, 0xff, 0xf4, 
    -	0x00, 0x3c, 0xff, 0xf0, 0x00, 0x9f, 0xff, 0xf0, 0x01, 0x24, 0xff, 0xf1, 
    -	0x01, 0x26, 0xff, 0xf1, 0x01, 0x38, 0xff, 0xf0, 0x01, 0x3a, 0xff, 0xf0, 
    -	0x01, 0x69, 0xff, 0xf0, 0x01, 0x7f, 0xff, 0xf0, 0x01, 0x81, 0xff, 0xf4, 
    -	0x01, 0x85, 0xff, 0xf0, 0x01, 0xae, 0xff, 0xf1, 0x01, 0xb5, 0xff, 0xf5, 
    -	0x01, 0xb7, 0xff, 0xf1, 0x01, 0xba, 0xff, 0xf3, 0x01, 0xc2, 0xff, 0xf4, 
    -	0x01, 0xc7, 0xff, 0xf5, 0x01, 0xce, 0xff, 0xf1, 0x01, 0xcf, 0xff, 0xf3, 
    -	0x01, 0xd1, 0xff, 0xf4, 0x01, 0xd8, 0xff, 0xf1, 0x02, 0x20, 0xff, 0xf4, 
    -	0x02, 0x22, 0xff, 0xf4, 0x02, 0x41, 0xff, 0xf4, 0x02, 0x4b, 0xff, 0xf1, 
    -	0x02, 0x57, 0xff, 0xf1, 0x02, 0x59, 0xff, 0xf0, 0x02, 0x5b, 0xff, 0xf0, 
    -	0x02, 0x5d, 0xff, 0xf4, 0x02, 0x5f, 0xff, 0xf1, 0x02, 0x6c, 0xff, 0xf4, 
    -	0x02, 0x70, 0xff, 0xf5, 0x02, 0x87, 0xff, 0xf4, 0x02, 0x99, 0xff, 0xf3, 
    -	0x02, 0x9b, 0xff, 0xf3, 0x02, 0x9d, 0xff, 0xf3, 0x02, 0xa7, 0xff, 0xf4, 
    -	0x02, 0xaf, 0xff, 0xf2, 0x02, 0xb1, 0xff, 0xf2, 0x02, 0xb3, 0xff, 0xf5, 
    -	0x02, 0xb9, 0xff, 0xf2, 0x02, 0xbd, 0xff, 0xf5, 0x03, 0x1b, 0xff, 0xf0, 
    -	0x03, 0x1d, 0xff, 0xf0, 0x03, 0x1f, 0xff, 0xf0, 0x03, 0x21, 0xff, 0xf0, 
    -	0x00, 0x08, 0x00, 0x57, 0x00, 0x0e, 0x00, 0x88, 0xfe, 0xdb, 0x01, 0x8e, 
    -	0xff, 0xd8, 0x01, 0x95, 0xff, 0x9a, 0x01, 0x9b, 0xff, 0xc8, 0x01, 0xc0, 
    -	0xff, 0x15, 0x01, 0xe0, 0xff, 0x55, 0x02, 0xab, 0xff, 0xd0, 0x00, 0x64, 
    -	0x00, 0x24, 0x00, 0x0f, 0x00, 0x37, 0xff, 0xe6, 0x00, 0x39, 0xff, 0xe6, 
    -	0x00, 0x3b, 0x00, 0x0e, 0x00, 0x3c, 0xff, 0xe6, 0x00, 0x82, 0x00, 0x0f, 
    -	0x00, 0x83, 0x00, 0x0f, 0x00, 0x84, 0x00, 0x0f, 0x00, 0x85, 0x00, 0x0f, 
    -	0x00, 0x86, 0x00, 0x0f, 0x00, 0x87, 0x00, 0x0f, 0x00, 0x9f, 0xff, 0xe6, 
    -	0x00, 0xc2, 0x00, 0x0f, 0x00, 0xc4, 0x00, 0x0f, 0x00, 0xc6, 0x00, 0x0f, 
    -	0x01, 0x24, 0xff, 0xe6, 0x01, 0x26, 0xff, 0xe6, 0x01, 0x38, 0xff, 0xe6, 
    -	0x01, 0x3a, 0xff, 0xe6, 0x01, 0x48, 0x00, 0x0f, 0x01, 0x63, 0x00, 0x0f, 
    -	0x01, 0x69, 0xff, 0xe6, 0x01, 0x6c, 0x00, 0x0f, 0x01, 0x6f, 0x00, 0x0f, 
    -	0x01, 0x76, 0x00, 0x0f, 0x01, 0x7f, 0xff, 0xe6, 0x01, 0x81, 0x00, 0x0e, 
    -	0x01, 0x85, 0xff, 0xe6, 0x01, 0xae, 0xff, 0xe6, 0x01, 0xb5, 0x00, 0x0e, 
    -	0x01, 0xb7, 0xff, 0xe6, 0x01, 0xba, 0x00, 0x0b, 0x01, 0xbc, 0x00, 0x0f, 
    -	0x01, 0xc0, 0x00, 0x13, 0x01, 0xc2, 0x00, 0x0e, 0x01, 0xc7, 0x00, 0x0e, 
    -	0x01, 0xce, 0xff, 0xe6, 0x01, 0xcf, 0x00, 0x0b, 0x01, 0xd1, 0x00, 0x0e, 
    -	0x01, 0xd3, 0xff, 0xe5, 0x01, 0xd8, 0xff, 0xe6, 0x01, 0xd9, 0xff, 0xf4, 
    -	0x01, 0xe0, 0x00, 0x12, 0x01, 0xe7, 0x00, 0x0f, 0x01, 0xee, 0xff, 0xe7, 
    -	0x01, 0xf3, 0xff, 0xe8, 0x02, 0x05, 0x00, 0x0f, 0x02, 0x12, 0x00, 0x0f, 
    -	0x02, 0x20, 0xff, 0xe6, 0x02, 0x22, 0xff, 0xe6, 0x02, 0x41, 0x00, 0x0e, 
    -	0x02, 0x4b, 0xff, 0xe6, 0x02, 0x4c, 0xff, 0xe7, 0x02, 0x57, 0xff, 0xe6, 
    -	0x02, 0x59, 0xff, 0xe6, 0x02, 0x5b, 0xff, 0xe6, 0x02, 0x5d, 0x00, 0x0e, 
    -	0x02, 0x5f, 0xff, 0xe6, 0x02, 0x61, 0xff, 0xe5, 0x02, 0x62, 0xff, 0xe8, 
    -	0x02, 0x63, 0xff, 0xe5, 0x02, 0x64, 0xff, 0xe8, 0x02, 0x6c, 0x00, 0x0e, 
    -	0x02, 0x70, 0x00, 0x0e, 0x02, 0x71, 0x00, 0x0f, 0x02, 0x76, 0xff, 0xe5, 
    -	0x02, 0x77, 0xff, 0xe8, 0x02, 0x7b, 0x00, 0x0f, 0x02, 0x7d, 0x00, 0x0f, 
    -	0x02, 0x87, 0x00, 0x0e, 0x02, 0x99, 0x00, 0x0b, 0x02, 0x9b, 0x00, 0x0b, 
    -	0x02, 0x9d, 0x00, 0x0b, 0x02, 0x9f, 0xff, 0xe5, 0x02, 0xa0, 0xff, 0xe8, 
    -	0x02, 0xa7, 0x00, 0x0e, 0x02, 0xaf, 0xff, 0xe6, 0x02, 0xb1, 0xff, 0xe6, 
    -	0x02, 0xb3, 0x00, 0x0e, 0x02, 0xb9, 0xff, 0xe6, 0x02, 0xba, 0xff, 0xe7, 
    -	0x02, 0xbd, 0x00, 0x0e, 0x02, 0xbe, 0x00, 0x0f, 0x02, 0xbf, 0x00, 0x0f, 
    -	0x02, 0xc9, 0x00, 0x0f, 0x02, 0xcb, 0x00, 0x0f, 0x02, 0xcd, 0x00, 0x0f, 
    -	0x02, 0xcf, 0x00, 0x0f, 0x02, 0xd1, 0x00, 0x0f, 0x02, 0xd3, 0x00, 0x0f, 
    -	0x02, 0xd5, 0x00, 0x0f, 0x02, 0xd7, 0x00, 0x0f, 0x02, 0xd9, 0x00, 0x0f, 
    -	0x02, 0xdb, 0x00, 0x0f, 0x02, 0xdd, 0x00, 0x0f, 0x02, 0xdf, 0x00, 0x0f, 
    -	0x03, 0x1b, 0xff, 0xe6, 0x03, 0x1d, 0xff, 0xe6, 0x03, 0x1f, 0xff, 0xe6, 
    -	0x03, 0x21, 0xff, 0xe6, 0x00, 0x2f, 0x00, 0x37, 0xff, 0xe3, 0x00, 0x3b, 
    -	0xff, 0xe5, 0x00, 0x3c, 0xff, 0xe4, 0x00, 0x9f, 0xff, 0xe4, 0x01, 0x24, 
    -	0xff, 0xe3, 0x01, 0x26, 0xff, 0xe3, 0x01, 0x38, 0xff, 0xe4, 0x01, 0x3a, 
    -	0xff, 0xe4, 0x01, 0x69, 0xff, 0xe4, 0x01, 0x7f, 0xff, 0xe4, 0x01, 0x81, 
    -	0xff, 0xe5, 0x01, 0x85, 0xff, 0xe4, 0x01, 0xae, 0xff, 0xe3, 0x01, 0xb5, 
    -	0xff, 0xe5, 0x01, 0xb7, 0xff, 0xe3, 0x01, 0xba, 0xff, 0xe9, 0x01, 0xc0, 
    -	0xff, 0xe2, 0x01, 0xc2, 0xff, 0xe5, 0x01, 0xc7, 0xff, 0xe5, 0x01, 0xce, 
    -	0xff, 0xe3, 0x01, 0xcf, 0xff, 0xe9, 0x01, 0xd1, 0xff, 0xe5, 0x01, 0xe7, 
    -	0xff, 0xea, 0x02, 0x05, 0xff, 0xea, 0x02, 0x41, 0xff, 0xe5, 0x02, 0x4b, 
    -	0xff, 0xe3, 0x02, 0x57, 0xff, 0xe3, 0x02, 0x59, 0xff, 0xe4, 0x02, 0x5b, 
    -	0xff, 0xe4, 0x02, 0x5d, 0xff, 0xe5, 0x02, 0x5f, 0xff, 0xe3, 0x02, 0x6c, 
    -	0xff, 0xe5, 0x02, 0x70, 0xff, 0xe5, 0x02, 0x71, 0xff, 0xea, 0x02, 0x87, 
    -	0xff, 0xe5, 0x02, 0x99, 0xff, 0xe9, 0x02, 0x9b, 0xff, 0xe9, 0x02, 0x9d, 
    -	0xff, 0xe9, 0x02, 0xa7, 0xff, 0xe5, 0x02, 0xb3, 0xff, 0xe5, 0x02, 0xb9, 
    -	0xff, 0xe4, 0x02, 0xbd, 0xff, 0xe5, 0x02, 0xbe, 0xff, 0xea, 0x03, 0x1b, 
    -	0xff, 0xe4, 0x03, 0x1d, 0xff, 0xe4, 0x03, 0x1f, 0xff, 0xe4, 0x03, 0x21, 
    -	0xff, 0xe4, 0x00, 0x22, 0x00, 0x37, 0xff, 0xe2, 0x00, 0x3b, 0xff, 0xe4, 
    -	0x01, 0x24, 0xff, 0xe2, 0x01, 0x26, 0xff, 0xe2, 0x01, 0x81, 0xff, 0xe4, 
    -	0x01, 0xae, 0xff, 0xe2, 0x01, 0xb5, 0xff, 0xe4, 0x01, 0xb7, 0xff, 0xe2, 
    -	0x01, 0xba, 0xff, 0xe9, 0x01, 0xc0, 0xff, 0xe1, 0x01, 0xc2, 0xff, 0xe4, 
    -	0x01, 0xc7, 0xff, 0xe4, 0x01, 0xce, 0xff, 0xe2, 0x01, 0xcf, 0xff, 0xe9, 
    -	0x01, 0xd1, 0xff, 0xe4, 0x01, 0xe0, 0xff, 0xe4, 0x01, 0xe7, 0xff, 0xeb, 
    -	0x02, 0x05, 0xff, 0xeb, 0x02, 0x41, 0xff, 0xe4, 0x02, 0x4b, 0xff, 0xe2, 
    -	0x02, 0x57, 0xff, 0xe2, 0x02, 0x5d, 0xff, 0xe4, 0x02, 0x5f, 0xff, 0xe2, 
    -	0x02, 0x6c, 0xff, 0xe4, 0x02, 0x70, 0xff, 0xe4, 0x02, 0x71, 0xff, 0xeb, 
    -	0x02, 0x87, 0xff, 0xe4, 0x02, 0x99, 0xff, 0xe9, 0x02, 0x9b, 0xff, 0xe9, 
    -	0x02, 0x9d, 0xff, 0xe9, 0x02, 0xa7, 0xff, 0xe4, 0x02, 0xb3, 0xff, 0xe4, 
    -	0x02, 0xbd, 0xff, 0xe4, 0x02, 0xbe, 0xff, 0xeb, 0x00, 0x16, 0x00, 0x37, 
    -	0xff, 0xeb, 0x00, 0x3c, 0xff, 0xf3, 0x00, 0x9f, 0xff, 0xf3, 0x01, 0x24, 
    -	0xff, 0xeb, 0x01, 0x26, 0xff, 0xeb, 0x01, 0x38, 0xff, 0xf3, 0x01, 0x3a, 
    -	0xff, 0xf3, 0x01, 0x69, 0xff, 0xf3, 0x01, 0x7f, 0xff, 0xf3, 0x01, 0x85, 
    -	0xff, 0xf3, 0x01, 0xae, 0xff, 0xeb, 0x01, 0xb7, 0xff, 0xeb, 0x01, 0xce, 
    -	0xff, 0xeb, 0x02, 0x4b, 0xff, 0xeb, 0x02, 0x57, 0xff, 0xeb, 0x02, 0x59, 
    -	0xff, 0xf3, 0x02, 0x5b, 0xff, 0xf3, 0x02, 0x5f, 0xff, 0xeb, 0x03, 0x1b, 
    -	0xff, 0xf3, 0x03, 0x1d, 0xff, 0xf3, 0x03, 0x1f, 0xff, 0xf3, 0x03, 0x21, 
    -	0xff, 0xf3, 0x00, 0x36, 0x00, 0x50, 0xff, 0xef, 0x00, 0x51, 0xff, 0xef, 
    -	0x00, 0x53, 0xff, 0xef, 0x00, 0x5b, 0xff, 0xf0, 0x00, 0xb3, 0xff, 0xef, 
    -	0x01, 0x06, 0xff, 0xef, 0x01, 0x08, 0xff, 0xef, 0x01, 0x0a, 0xff, 0xef, 
    -	0x01, 0x0b, 0xff, 0xef, 0x01, 0x88, 0xff, 0xef, 0x01, 0x91, 0xff, 0xef, 
    -	0x01, 0xdf, 0xff, 0xef, 0x01, 0xe0, 0xff, 0xee, 0x01, 0xe2, 0xff, 0xf0, 
    -	0x01, 0xe4, 0xff, 0xef, 0x01, 0xe5, 0xff, 0xef, 0x01, 0xe6, 0xff, 0xef, 
    -	0x01, 0xe8, 0xff, 0xef, 0x01, 0xe9, 0xff, 0xef, 0x01, 0xeb, 0xff, 0xef, 
    -	0x01, 0xec, 0xff, 0xef, 0x01, 0xee, 0xff, 0xee, 0x01, 0xf1, 0xff, 0xf0, 
    -	0x01, 0xf2, 0xff, 0xef, 0x01, 0xf4, 0xff, 0xef, 0x01, 0xf5, 0xff, 0xef, 
    -	0x01, 0xf8, 0xff, 0xef, 0x01, 0xfa, 0xff, 0xef, 0x01, 0xff, 0xff, 0xef, 
    -	0x02, 0x06, 0xff, 0xef, 0x02, 0x08, 0xff, 0xef, 0x02, 0x09, 0xff, 0xef, 
    -	0x02, 0x0d, 0xff, 0xf4, 0x02, 0x2b, 0xff, 0xf1, 0x02, 0x36, 0xff, 0xef, 
    -	0x02, 0x42, 0xff, 0xf0, 0x02, 0x46, 0xff, 0xef, 0x02, 0x4c, 0xff, 0xef, 
    -	0x02, 0x4e, 0xff, 0xef, 0x02, 0x50, 0xff, 0xef, 0x02, 0x5e, 0xff, 0xf0, 
    -	0x02, 0x6d, 0xff, 0xf0, 0x02, 0x73, 0xff, 0xef, 0x02, 0x75, 0xff, 0xef, 
    -	0x02, 0x79, 0xff, 0xef, 0x02, 0x88, 0xff, 0xf0, 0x02, 0x8e, 0xff, 0xef, 
    -	0x02, 0x90, 0xff, 0xef, 0x02, 0xa2, 0xff, 0xef, 0x02, 0xa4, 0xff, 0xef, 
    -	0x02, 0xa6, 0xff, 0xef, 0x02, 0xa8, 0xff, 0xf0, 0x02, 0xba, 0xff, 0xef, 
    -	0x02, 0xc2, 0xff, 0xef, 0x00, 0x21, 0x00, 0x05, 0xff, 0xf2, 0x00, 0x0a, 
    -	0xff, 0xf2, 0x00, 0x59, 0xff, 0xf5, 0x00, 0x5c, 0xff, 0xf5, 0x00, 0xbf, 
    -	0xff, 0xf5, 0x00, 0xc1, 0xff, 0xf5, 0x01, 0x39, 0xff, 0xf5, 0x01, 0x51, 
    -	0xff, 0xf2, 0x01, 0x8d, 0xff, 0xf5, 0x01, 0x97, 0xff, 0xf5, 0x01, 0xee, 
    -	0xff, 0xf4, 0x01, 0xef, 0xff, 0xf5, 0x02, 0x0a, 0xff, 0xf5, 0x02, 0x0d, 
    -	0xff, 0xf5, 0x02, 0x21, 0xff, 0xf5, 0x02, 0x23, 0xff, 0xf5, 0x02, 0x4c, 
    -	0xff, 0xf5, 0x02, 0x5a, 0xff, 0xf5, 0x02, 0x9a, 0xff, 0xf5, 0x02, 0x9c, 
    -	0xff, 0xf5, 0x02, 0x9e, 0xff, 0xf5, 0x02, 0xba, 0xff, 0xf5, 0x03, 0x1c, 
    -	0xff, 0xf5, 0x03, 0x1e, 0xff, 0xf5, 0x03, 0x20, 0xff, 0xf5, 0x03, 0x22, 
    -	0xff, 0xf5, 0x03, 0x34, 0xff, 0xf2, 0x03, 0x35, 0xff, 0xf2, 0x03, 0x37, 
    -	0xff, 0xf2, 0x03, 0x38, 0xff, 0xf2, 0x03, 0x39, 0xff, 0xf2, 0x03, 0x41, 
    -	0xff, 0xf2, 0x03, 0x42, 0xff, 0xf2, 0x00, 0x09, 0x01, 0xe0, 0x00, 0x14, 
    -	0x01, 0xee, 0xff, 0xed, 0x01, 0xf3, 0xff, 0xed, 0x02, 0x4c, 0xff, 0xed, 
    -	0x02, 0x62, 0xff, 0xed, 0x02, 0x64, 0xff, 0xed, 0x02, 0x77, 0xff, 0xed, 
    -	0x02, 0xa0, 0xff, 0xed, 0x02, 0xba, 0xff, 0xed, 0x00, 0x0a, 0x00, 0x05, 
    -	0xff, 0xf5, 0x00, 0x0a, 0xff, 0xf5, 0x01, 0x51, 0xff, 0xf5, 0x03, 0x34, 
    -	0xff, 0xf5, 0x03, 0x35, 0xff, 0xf5, 0x03, 0x37, 0xff, 0xf5, 0x03, 0x38, 
    -	0xff, 0xf5, 0x03, 0x39, 0xff, 0xf5, 0x03, 0x41, 0xff, 0xf5, 0x03, 0x42, 
    -	0xff, 0xf5, 0x00, 0x56, 0x00, 0x46, 0xff, 0xf0, 0x00, 0x47, 0xff, 0xf0, 
    -	0x00, 0x48, 0xff, 0xf0, 0x00, 0x4a, 0xff, 0xf0, 0x00, 0x52, 0xff, 0xc8, 
    -	0x00, 0x54, 0xff, 0xf0, 0x00, 0xa9, 0xff, 0xf0, 0x00, 0xaa, 0xff, 0xf0, 
    -	0x00, 0xab, 0xff, 0xf0, 0x00, 0xac, 0xff, 0xf0, 0x00, 0xad, 0xff, 0xf0, 
    -	0x00, 0xb4, 0xff, 0xc8, 0x00, 0xb5, 0xff, 0xc8, 0x00, 0xb6, 0xff, 0xc8, 
    -	0x00, 0xb7, 0xff, 0xc8, 0x00, 0xb8, 0xff, 0xc8, 0x00, 0xc9, 0xff, 0xf0, 
    -	0x00, 0xcb, 0xff, 0xf0, 0x00, 0xcd, 0xff, 0xf0, 0x00, 0xcf, 0xff, 0xf0, 
    -	0x00, 0xd1, 0xff, 0xf0, 0x00, 0xd5, 0xff, 0xf0, 0x00, 0xd7, 0xff, 0xf0, 
    -	0x00, 0xd9, 0xff, 0xf0, 0x00, 0xdb, 0xff, 0xf0, 0x00, 0xdd, 0xff, 0xf0, 
    -	0x00, 0xdf, 0xff, 0xf0, 0x00, 0xe1, 0xff, 0xf0, 0x00, 0xe3, 0xff, 0xf0, 
    -	0x00, 0xe5, 0xff, 0xf0, 0x01, 0x0f, 0xff, 0xc8, 0x01, 0x11, 0xff, 0xc8, 
    -	0x01, 0x13, 0xff, 0xc8, 0x01, 0x15, 0xff, 0xf0, 0x01, 0x44, 0xff, 0xf0, 
    -	0x01, 0x86, 0xff, 0xf0, 0x01, 0x8b, 0xff, 0xf0, 0x01, 0x99, 0xff, 0xc8, 
    -	0x01, 0x9c, 0xff, 0xf0, 0x01, 0x9d, 0xff, 0xf0, 0x01, 0xa6, 0xff, 0xc8, 
    -	0x01, 0xe1, 0xff, 0xf0, 0x01, 0xea, 0xff, 0xc8, 0x01, 0xed, 0xff, 0xf0, 
    -	0x01, 0xf0, 0xff, 0xf0, 0x01, 0xfc, 0xff, 0xf0, 0x01, 0xfd, 0xff, 0xf0, 
    -	0x02, 0x00, 0xff, 0xf0, 0x02, 0x1f, 0xff, 0xc8, 0x02, 0x25, 0xff, 0xf0, 
    -	0x02, 0x27, 0xff, 0xeb, 0x02, 0x29, 0xff, 0xf0, 0x02, 0x2d, 0xff, 0xf0, 
    -	0x02, 0x54, 0xff, 0xf0, 0x02, 0x56, 0xff, 0xf0, 0x02, 0x82, 0xff, 0xf0, 
    -	0x02, 0x84, 0xff, 0xf0, 0x02, 0x86, 0xff, 0xf0, 0x02, 0x92, 0xff, 0xc8, 
    -	0x02, 0x94, 0xff, 0xf0, 0x02, 0x96, 0xff, 0xc8, 0x02, 0xac, 0xff, 0xf0, 
    -	0x02, 0xad, 0xff, 0xf0, 0x02, 0xae, 0xff, 0xf0, 0x02, 0xb8, 0xff, 0xf0, 
    -	0x02, 0xe2, 0xff, 0xf0, 0x02, 0xe4, 0xff, 0xf0, 0x02, 0xe6, 0xff, 0xf0, 
    -	0x02, 0xe8, 0xff, 0xf0, 0x02, 0xea, 0xff, 0xf0, 0x02, 0xec, 0xff, 0xf0, 
    -	0x02, 0xee, 0xff, 0xf0, 0x02, 0xf0, 0xff, 0xf0, 0x02, 0xf6, 0xff, 0xc8, 
    -	0x02, 0xf8, 0xff, 0xc8, 0x02, 0xfa, 0xff, 0xc8, 0x02, 0xfc, 0xff, 0xc8, 
    -	0x02, 0xfe, 0xff, 0xc8, 0x03, 0x00, 0xff, 0xc8, 0x03, 0x02, 0xff, 0xc8, 
    -	0x03, 0x04, 0xff, 0xf0, 0x03, 0x06, 0xff, 0xf0, 0x03, 0x08, 0xff, 0xf0, 
    -	0x03, 0x0a, 0xff, 0xc8, 0x03, 0x0c, 0xff, 0xf0, 0x03, 0x7e, 0xff, 0xeb, 
    -	0x00, 0x9b, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x44, 
    -	0xff, 0xf0, 0x00, 0x46, 0xff, 0xee, 0x00, 0x47, 0xff, 0xee, 0x00, 0x48, 
    -	0xff, 0xee, 0x00, 0x49, 0x00, 0x0d, 0x00, 0x4a, 0xff, 0xee, 0x00, 0x52, 
    -	0xff, 0xea, 0x00, 0x54, 0xff, 0xee, 0x00, 0x59, 0x00, 0x0b, 0x00, 0x5c, 
    -	0x00, 0x0b, 0x00, 0xa2, 0xff, 0xf0, 0x00, 0xa3, 0xff, 0xf0, 0x00, 0xa4, 
    -	0xff, 0xf0, 0x00, 0xa5, 0xff, 0xf0, 0x00, 0xa6, 0xff, 0xf0, 0x00, 0xa7, 
    -	0xff, 0xf0, 0x00, 0xa9, 0xff, 0xee, 0x00, 0xaa, 0xff, 0xee, 0x00, 0xab, 
    -	0xff, 0xee, 0x00, 0xac, 0xff, 0xee, 0x00, 0xad, 0xff, 0xee, 0x00, 0xb4, 
    -	0xff, 0xea, 0x00, 0xb5, 0xff, 0xea, 0x00, 0xb6, 0xff, 0xea, 0x00, 0xb7, 
    -	0xff, 0xea, 0x00, 0xb8, 0xff, 0xea, 0x00, 0xbf, 0x00, 0x0b, 0x00, 0xc1, 
    -	0x00, 0x0b, 0x00, 0xc3, 0xff, 0xf0, 0x00, 0xc5, 0xff, 0xf0, 0x00, 0xc7, 
    -	0xff, 0xf0, 0x00, 0xc9, 0xff, 0xee, 0x00, 0xcb, 0xff, 0xee, 0x00, 0xcd, 
    -	0xff, 0xee, 0x00, 0xcf, 0xff, 0xee, 0x00, 0xd1, 0xff, 0xee, 0x00, 0xd5, 
    -	0xff, 0xee, 0x00, 0xd7, 0xff, 0xee, 0x00, 0xd9, 0xff, 0xee, 0x00, 0xdb, 
    -	0xff, 0xee, 0x00, 0xdd, 0xff, 0xee, 0x00, 0xdf, 0xff, 0xee, 0x00, 0xe1, 
    -	0xff, 0xee, 0x00, 0xe3, 0xff, 0xee, 0x00, 0xe5, 0xff, 0xee, 0x01, 0x0f, 
    -	0xff, 0xea, 0x01, 0x11, 0xff, 0xea, 0x01, 0x13, 0xff, 0xea, 0x01, 0x15, 
    -	0xff, 0xee, 0x01, 0x39, 0x00, 0x0b, 0x01, 0x44, 0xff, 0xee, 0x01, 0x49, 
    -	0xff, 0xf0, 0x01, 0x51, 0x00, 0x0d, 0x01, 0x86, 0xff, 0xee, 0x01, 0x8b, 
    -	0xff, 0xee, 0x01, 0x8d, 0x00, 0x0b, 0x01, 0x97, 0x00, 0x0b, 0x01, 0x99, 
    -	0xff, 0xea, 0x01, 0x9c, 0xff, 0xee, 0x01, 0x9d, 0xff, 0xee, 0x01, 0xa6, 
    -	0xff, 0xea, 0x01, 0xdc, 0xff, 0xf0, 0x01, 0xe0, 0xff, 0xc8, 0x01, 0xe1, 
    -	0xff, 0xee, 0x01, 0xe7, 0xff, 0xd7, 0x01, 0xea, 0xff, 0xea, 0x01, 0xed, 
    -	0xff, 0xee, 0x01, 0xef, 0x00, 0x0b, 0x01, 0xf0, 0xff, 0xee, 0x01, 0xfc, 
    -	0xff, 0xee, 0x01, 0xfd, 0xff, 0xee, 0x02, 0x00, 0xff, 0xee, 0x02, 0x05, 
    -	0xff, 0xd7, 0x02, 0x0a, 0x00, 0x0b, 0x02, 0x1f, 0xff, 0xea, 0x02, 0x21, 
    -	0x00, 0x0b, 0x02, 0x23, 0x00, 0x0b, 0x02, 0x25, 0xff, 0xee, 0x02, 0x27, 
    -	0xff, 0xec, 0x02, 0x29, 0xff, 0xee, 0x02, 0x2b, 0x00, 0x0c, 0x02, 0x2d, 
    -	0xff, 0xee, 0x02, 0x54, 0xff, 0xee, 0x02, 0x56, 0xff, 0xee, 0x02, 0x5a, 
    -	0x00, 0x0b, 0x02, 0x71, 0xff, 0xd7, 0x02, 0x7c, 0xff, 0xf0, 0x02, 0x7e, 
    -	0xff, 0xf0, 0x02, 0x82, 0xff, 0xee, 0x02, 0x84, 0xff, 0xee, 0x02, 0x86, 
    -	0xff, 0xee, 0x02, 0x92, 0xff, 0xea, 0x02, 0x94, 0xff, 0xee, 0x02, 0x96, 
    -	0xff, 0xea, 0x02, 0x9a, 0x00, 0x0b, 0x02, 0x9c, 0x00, 0x0b, 0x02, 0x9e, 
    -	0x00, 0x0b, 0x02, 0xac, 0xff, 0xee, 0x02, 0xad, 0xff, 0xee, 0x02, 0xae, 
    -	0xff, 0xee, 0x02, 0xb0, 0x00, 0x0b, 0x02, 0xb2, 0x00, 0x0b, 0x02, 0xb8, 
    -	0xff, 0xee, 0x02, 0xbe, 0xff, 0xd7, 0x02, 0xc0, 0xff, 0xf0, 0x02, 0xca, 
    -	0xff, 0xf0, 0x02, 0xcc, 0xff, 0xf0, 0x02, 0xce, 0xff, 0xf0, 0x02, 0xd0, 
    -	0xff, 0xf0, 0x02, 0xd2, 0xff, 0xf0, 0x02, 0xd4, 0xff, 0xf0, 0x02, 0xd6, 
    -	0xff, 0xf0, 0x02, 0xd8, 0xff, 0xf0, 0x02, 0xda, 0xff, 0xf0, 0x02, 0xdc, 
    -	0xff, 0xf0, 0x02, 0xde, 0xff, 0xf0, 0x02, 0xe0, 0xff, 0xf0, 0x02, 0xe2, 
    -	0xff, 0xee, 0x02, 0xe4, 0xff, 0xee, 0x02, 0xe6, 0xff, 0xee, 0x02, 0xe8, 
    -	0xff, 0xee, 0x02, 0xea, 0xff, 0xee, 0x02, 0xec, 0xff, 0xee, 0x02, 0xee, 
    -	0xff, 0xee, 0x02, 0xf0, 0xff, 0xee, 0x02, 0xf6, 0xff, 0xea, 0x02, 0xf8, 
    -	0xff, 0xea, 0x02, 0xfa, 0xff, 0xea, 0x02, 0xfc, 0xff, 0xea, 0x02, 0xfe, 
    -	0xff, 0xea, 0x03, 0x00, 0xff, 0xea, 0x03, 0x02, 0xff, 0xea, 0x03, 0x04, 
    -	0xff, 0xee, 0x03, 0x06, 0xff, 0xee, 0x03, 0x08, 0xff, 0xee, 0x03, 0x0a, 
    -	0xff, 0xea, 0x03, 0x0c, 0xff, 0xee, 0x03, 0x1c, 0x00, 0x0b, 0x03, 0x1e, 
    -	0x00, 0x0b, 0x03, 0x20, 0x00, 0x0b, 0x03, 0x22, 0x00, 0x0b, 0x03, 0x34, 
    -	0x00, 0x0d, 0x03, 0x35, 0x00, 0x0d, 0x03, 0x37, 0x00, 0x0d, 0x03, 0x38, 
    -	0x00, 0x0d, 0x03, 0x39, 0x00, 0x0d, 0x03, 0x41, 0x00, 0x0d, 0x03, 0x42, 
    -	0x00, 0x0d, 0x03, 0x76, 0x00, 0x0d, 0x03, 0x79, 0x00, 0x0d, 0x03, 0x7b, 
    -	0x00, 0x0e, 0x03, 0x7c, 0xff, 0xf5, 0x03, 0x7e, 0xff, 0xec, 0x00, 0x0e, 
    -	0x01, 0xe0, 0x00, 0x14, 0x01, 0xe7, 0x00, 0x10, 0x01, 0xee, 0xff, 0xf0, 
    -	0x01, 0xf3, 0xff, 0xf0, 0x01, 0xfb, 0x00, 0x0c, 0x02, 0x05, 0x00, 0x10, 
    -	0x02, 0x4c, 0xff, 0xf0, 0x02, 0x62, 0xff, 0xf0, 0x02, 0x64, 0xff, 0xf0, 
    -	0x02, 0x71, 0x00, 0x10, 0x02, 0x77, 0xff, 0xf0, 0x02, 0xa0, 0xff, 0xf0, 
    -	0x02, 0xba, 0xff, 0xf0, 0x02, 0xbe, 0x00, 0x10, 0x00, 0x4a, 0x00, 0x46, 
    -	0xff, 0xee, 0x00, 0x47, 0xff, 0xee, 0x00, 0x48, 0xff, 0xee, 0x00, 0x4a, 
    -	0xff, 0xee, 0x00, 0x54, 0xff, 0xee, 0x00, 0xa9, 0xff, 0xee, 0x00, 0xaa, 
    -	0xff, 0xee, 0x00, 0xab, 0xff, 0xee, 0x00, 0xac, 0xff, 0xee, 0x00, 0xad, 
    -	0xff, 0xee, 0x00, 0xc9, 0xff, 0xee, 0x00, 0xcb, 0xff, 0xee, 0x00, 0xcd, 
    -	0xff, 0xee, 0x00, 0xcf, 0xff, 0xee, 0x00, 0xd1, 0xff, 0xee, 0x00, 0xd5, 
    -	0xff, 0xee, 0x00, 0xd7, 0xff, 0xee, 0x00, 0xd9, 0xff, 0xee, 0x00, 0xdb, 
    -	0xff, 0xee, 0x00, 0xdd, 0xff, 0xee, 0x00, 0xdf, 0xff, 0xee, 0x00, 0xe1, 
    -	0xff, 0xee, 0x00, 0xe3, 0xff, 0xee, 0x00, 0xe5, 0xff, 0xee, 0x01, 0x15, 
    -	0xff, 0xee, 0x01, 0x44, 0xff, 0xee, 0x01, 0x86, 0xff, 0xee, 0x01, 0x8b, 
    -	0xff, 0xee, 0x01, 0x9c, 0xff, 0xee, 0x01, 0x9d, 0xff, 0xee, 0x01, 0xe0, 
    -	0x00, 0x12, 0x01, 0xe1, 0xff, 0xee, 0x01, 0xe7, 0x00, 0x0e, 0x01, 0xed, 
    -	0xff, 0xee, 0x01, 0xee, 0xff, 0xe3, 0x01, 0xf0, 0xff, 0xee, 0x01, 0xf3, 
    -	0xff, 0xe3, 0x01, 0xfc, 0xff, 0xee, 0x01, 0xfd, 0xff, 0xee, 0x02, 0x00, 
    -	0xff, 0xee, 0x02, 0x05, 0x00, 0x0e, 0x02, 0x25, 0xff, 0xee, 0x02, 0x29, 
    -	0xff, 0xee, 0x02, 0x2d, 0xff, 0xee, 0x02, 0x4c, 0xff, 0xe2, 0x02, 0x54, 
    -	0xff, 0xee, 0x02, 0x56, 0xff, 0xee, 0x02, 0x62, 0xff, 0xe3, 0x02, 0x64, 
    -	0xff, 0xe3, 0x02, 0x71, 0x00, 0x0e, 0x02, 0x77, 0xff, 0xe3, 0x02, 0x82, 
    -	0xff, 0xee, 0x02, 0x84, 0xff, 0xee, 0x02, 0x86, 0xff, 0xee, 0x02, 0x94, 
    -	0xff, 0xee, 0x02, 0xa0, 0xff, 0xe3, 0x02, 0xac, 0xff, 0xee, 0x02, 0xad, 
    -	0xff, 0xee, 0x02, 0xae, 0xff, 0xee, 0x02, 0xb8, 0xff, 0xee, 0x02, 0xba, 
    -	0xff, 0xe3, 0x02, 0xbe, 0x00, 0x0e, 0x02, 0xe2, 0xff, 0xee, 0x02, 0xe4, 
    -	0xff, 0xee, 0x02, 0xe6, 0xff, 0xee, 0x02, 0xe8, 0xff, 0xee, 0x02, 0xea, 
    -	0xff, 0xee, 0x02, 0xec, 0xff, 0xee, 0x02, 0xee, 0xff, 0xee, 0x02, 0xf0, 
    -	0xff, 0xee, 0x03, 0x04, 0xff, 0xee, 0x03, 0x06, 0xff, 0xee, 0x03, 0x08, 
    -	0xff, 0xee, 0x03, 0x0c, 0xff, 0xee, 0x00, 0x20, 0x00, 0x59, 0xff, 0xf4, 
    -	0x00, 0x5b, 0xff, 0xf0, 0x00, 0x5c, 0xff, 0xf4, 0x00, 0xbf, 0xff, 0xf4, 
    -	0x00, 0xc1, 0xff, 0xf4, 0x01, 0x39, 0xff, 0xf4, 0x01, 0x8d, 0xff, 0xf4, 
    -	0x01, 0x97, 0xff, 0xf4, 0x01, 0xe0, 0xff, 0xef, 0x01, 0xe2, 0xff, 0xf0, 
    -	0x01, 0xe7, 0xff, 0xf3, 0x01, 0xef, 0xff, 0xf4, 0x01, 0xf1, 0xff, 0xf0, 
    -	0x02, 0x05, 0xff, 0xf3, 0x02, 0x0a, 0xff, 0xf4, 0x02, 0x21, 0xff, 0xf4, 
    -	0x02, 0x23, 0xff, 0xf4, 0x02, 0x42, 0xff, 0xf0, 0x02, 0x5a, 0xff, 0xf4, 
    -	0x02, 0x5e, 0xff, 0xf0, 0x02, 0x6d, 0xff, 0xf0, 0x02, 0x71, 0xff, 0xf3, 
    -	0x02, 0x88, 0xff, 0xf0, 0x02, 0x9a, 0xff, 0xf4, 0x02, 0x9c, 0xff, 0xf4, 
    -	0x02, 0x9e, 0xff, 0xf4, 0x02, 0xa8, 0xff, 0xf0, 0x02, 0xbe, 0xff, 0xf3, 
    -	0x03, 0x1c, 0xff, 0xf4, 0x03, 0x1e, 0xff, 0xf4, 0x03, 0x20, 0xff, 0xf4, 
    -	0x03, 0x22, 0xff, 0xf4, 0x00, 0x0a, 0x00, 0x05, 0xff, 0xd6, 0x00, 0x0a, 
    -	0xff, 0xd6, 0x01, 0x51, 0xff, 0xd6, 0x03, 0x34, 0xff, 0xd6, 0x03, 0x35, 
    -	0xff, 0xd6, 0x03, 0x37, 0xff, 0xd6, 0x03, 0x38, 0xff, 0xd6, 0x03, 0x39, 
    -	0xff, 0xd6, 0x03, 0x41, 0xff, 0xd6, 0x03, 0x42, 0xff, 0xd6, 0x00, 0x09, 
    -	0x01, 0xd8, 0xff, 0xc3, 0x01, 0xee, 0xff, 0xcf, 0x02, 0x4c, 0xff, 0xce, 
    -	0x02, 0x63, 0xff, 0xe7, 0x02, 0x67, 0xff, 0xdf, 0x02, 0xaf, 0xff, 0xd1, 
    -	0x02, 0xb1, 0xff, 0xec, 0x02, 0xb9, 0xff, 0xa0, 0x02, 0xba, 0xff, 0xd1, 
    -	0x00, 0x08, 0x01, 0xee, 0xff, 0xba, 0x02, 0x0d, 0xff, 0xd9, 0x02, 0x2b, 
    -	0xff, 0xdb, 0x02, 0x4c, 0xff, 0xa0, 0x02, 0x64, 0xff, 0xed, 0x02, 0xb0, 
    -	0xff, 0xf0, 0x02, 0xb2, 0xff, 0xf2, 0x02, 0xba, 0xff, 0xba, 0x00, 0x05, 
    -	0x00, 0x0c, 0x00, 0x14, 0x00, 0x40, 0x00, 0x11, 0x00, 0x55, 0xff, 0xe2, 
    -	0x00, 0x60, 0x00, 0x13, 0x03, 0x7e, 0xff, 0xd9, 0x00, 0x0a, 0x00, 0x05, 
    -	0xff, 0xd8, 0x00, 0x0a, 0xff, 0xd8, 0x01, 0x51, 0xff, 0xd8, 0x03, 0x34, 
    -	0xff, 0xd8, 0x03, 0x35, 0xff, 0xd8, 0x03, 0x37, 0xff, 0xd8, 0x03, 0x38, 
    -	0xff, 0xd8, 0x03, 0x39, 0xff, 0xd8, 0x03, 0x41, 0xff, 0xd8, 0x03, 0x42, 
    -	0xff, 0xd8, 0x00, 0x10, 0x00, 0x5a, 0xff, 0xc1, 0x01, 0x80, 0xff, 0xc5, 
    -	0x01, 0x9e, 0xff, 0xb4, 0x01, 0xdd, 0xff, 0xd7, 0x01, 0xee, 0xff, 0xb9, 
    -	0x02, 0x0d, 0xff, 0xb2, 0x02, 0x27, 0xff, 0xd2, 0x02, 0x2b, 0xff, 0xc8, 
    -	0x02, 0x4c, 0xff, 0xa0, 0x02, 0x64, 0xff, 0xc5, 0x02, 0x83, 0xff, 0xe4, 
    -	0x02, 0xb0, 0xff, 0xcc, 0x02, 0xb2, 0xff, 0xcc, 0x02, 0xba, 0xff, 0xcb, 
    -	0x02, 0xbb, 0xff, 0xef, 0x03, 0x7e, 0xff, 0xe7, 0x00, 0x04, 0x00, 0x0c, 
    -	0xff, 0xe6, 0x00, 0x40, 0xff, 0xf4, 0x00, 0x60, 0xff, 0xef, 0x02, 0x68, 
    -	0xff, 0xed, 0x00, 0x36, 0x00, 0x55, 0xff, 0xbf, 0x00, 0x5a, 0xff, 0xd1, 
    -	0x00, 0x6d, 0xff, 0x69, 0x00, 0x7d, 0xff, 0x6d, 0x00, 0x88, 0xff, 0x44, 
    -	0x00, 0xa8, 0xff, 0xac, 0x00, 0xba, 0xff, 0xa1, 0x01, 0x80, 0xff, 0xb8, 
    -	0x01, 0x8e, 0xff, 0xf1, 0x01, 0x8f, 0xff, 0x7e, 0x01, 0x93, 0xff, 0x7b, 
    -	0x01, 0x9a, 0xff, 0x9b, 0x01, 0x9b, 0xff, 0x79, 0x01, 0x9e, 0xff, 0xb2, 
    -	0x01, 0xa0, 0xff, 0x7e, 0x01, 0xa1, 0xff, 0xb3, 0x01, 0xa2, 0xff, 0x7d, 
    -	0x01, 0xa3, 0xff, 0x7c, 0x01, 0xc0, 0xff, 0xaf, 0x01, 0xd8, 0x00, 0x0f, 
    -	0x01, 0xdd, 0xff, 0xe4, 0x01, 0xde, 0xff, 0xa0, 0x01, 0xe0, 0xff, 0x74, 
    -	0x01, 0xe3, 0xff, 0x80, 0x01, 0xee, 0xff, 0xb2, 0x01, 0xf7, 0xff, 0x7d, 
    -	0x01, 0xf9, 0xff, 0x80, 0x01, 0xfb, 0xff, 0x79, 0x02, 0x0b, 0xff, 0x7d, 
    -	0x02, 0x0d, 0xff, 0x7f, 0x02, 0x27, 0xff, 0x67, 0x02, 0x2b, 0xff, 0xda, 
    -	0x02, 0x3a, 0xff, 0x81, 0x02, 0x3c, 0xff, 0x98, 0x02, 0x48, 0xff, 0x7d, 
    -	0x02, 0x4c, 0xff, 0xb3, 0x02, 0x52, 0xff, 0xa0, 0x02, 0x64, 0xff, 0x7c, 
    -	0x02, 0x66, 0xff, 0x7c, 0x02, 0x67, 0xff, 0x9a, 0x02, 0x68, 0xff, 0x6c, 
    -	0x02, 0x83, 0xff, 0xe6, 0x02, 0xab, 0xff, 0x6b, 0x02, 0xb0, 0xff, 0x92, 
    -	0x02, 0xb2, 0xff, 0xad, 0x02, 0xb6, 0xff, 0x7b, 0x02, 0xb9, 0x00, 0x0f, 
    -	0x02, 0xba, 0xff, 0x91, 0x02, 0xbb, 0xff, 0xf2, 0x03, 0x77, 0xff, 0xed, 
    -	0x03, 0x78, 0xff, 0xf1, 0x03, 0x7b, 0xff, 0xf1, 0x03, 0x7c, 0xff, 0xbc, 
    -	0x03, 0x7e, 0xff, 0xb9, 0x00, 0x06, 0x01, 0x9e, 0xff, 0xea, 0x01, 0xa1, 
    -	0xff, 0xe8, 0x01, 0xe0, 0xff, 0xee, 0x01, 0xee, 0xff, 0xeb, 0x02, 0x4c, 
    -	0xff, 0xec, 0x02, 0xba, 0xff, 0xec, 0x00, 0x13, 0x01, 0xc0, 0xff, 0xae, 
    -	0x01, 0xd8, 0x00, 0x12, 0x01, 0xde, 0xff, 0xe0, 0x01, 0xe0, 0xff, 0xad, 
    -	0x01, 0xe3, 0xff, 0xd6, 0x01, 0xf7, 0xff, 0xdf, 0x01, 0xfb, 0xff, 0xd2, 
    -	0x02, 0x0b, 0xff, 0xe0, 0x02, 0x27, 0xff, 0xce, 0x02, 0x3a, 0xff, 0xdd, 
    -	0x02, 0x3c, 0xff, 0xe2, 0x02, 0x48, 0xff, 0xe0, 0x02, 0x52, 0xff, 0xe0, 
    -	0x02, 0x64, 0xff, 0xe9, 0x02, 0x66, 0xff, 0xde, 0x02, 0x68, 0xff, 0xda, 
    -	0x02, 0xab, 0xff, 0xbd, 0x02, 0xb6, 0xff, 0xdf, 0x02, 0xb9, 0x00, 0x11, 
    -	0x00, 0x31, 0x00, 0x55, 0xff, 0x7e, 0x00, 0x5a, 0xff, 0x9d, 0x00, 0x6d, 
    -	0xfe, 0xeb, 0x00, 0x7d, 0xfe, 0xf2, 0x00, 0x88, 0xfe, 0xac, 0x00, 0xa8, 
    -	0xff, 0x5d, 0x00, 0xba, 0xff, 0x4b, 0x01, 0x80, 0xff, 0x72, 0x01, 0x8e, 
    -	0xff, 0xd2, 0x01, 0x8f, 0xff, 0x0f, 0x01, 0x93, 0xff, 0x0a, 0x01, 0x9a, 
    -	0xff, 0x41, 0x01, 0x9b, 0xff, 0x07, 0x01, 0x9e, 0xff, 0x68, 0x01, 0xa0, 
    -	0xff, 0x0f, 0x01, 0xa1, 0xff, 0x6a, 0x01, 0xa2, 0xff, 0x0e, 0x01, 0xa3, 
    -	0xff, 0x0b, 0x01, 0xc0, 0xff, 0x63, 0x01, 0xd8, 0x00, 0x05, 0x01, 0xdd, 
    -	0xff, 0xbd, 0x01, 0xde, 0xff, 0x49, 0x01, 0xe0, 0xfe, 0xfe, 0x01, 0xe3, 
    -	0xff, 0x13, 0x01, 0xee, 0xff, 0x68, 0x01, 0xf7, 0xff, 0x0e, 0x01, 0xf9, 
    -	0xff, 0x13, 0x01, 0xfb, 0xff, 0x07, 0x02, 0x0b, 0xff, 0x0e, 0x02, 0x0d, 
    -	0xff, 0x11, 0x02, 0x27, 0xfe, 0xe9, 0x02, 0x2b, 0xff, 0xac, 0x02, 0x3a, 
    -	0xff, 0x15, 0x02, 0x3c, 0xff, 0x3c, 0x02, 0x48, 0xff, 0x0e, 0x02, 0x4c, 
    -	0xff, 0x6a, 0x02, 0x52, 0xff, 0x49, 0x02, 0x64, 0xff, 0x0c, 0x02, 0x66, 
    -	0xff, 0x0c, 0x02, 0x67, 0xff, 0x3f, 0x02, 0x68, 0xfe, 0xf1, 0x02, 0x83, 
    -	0xff, 0xc0, 0x02, 0xab, 0xfe, 0xef, 0x02, 0xb0, 0xff, 0x31, 0x02, 0xb2, 
    -	0xff, 0x5f, 0x02, 0xb6, 0xff, 0x0a, 0x02, 0xb9, 0x00, 0x05, 0x02, 0xba, 
    -	0xff, 0x30, 0x02, 0xbb, 0xff, 0xd5, 0x00, 0x02, 0x01, 0xe0, 0xff, 0xc9, 
    -	0x02, 0x27, 0xff, 0xee, 0x00, 0x15, 0x01, 0x80, 0xff, 0xd4, 0x01, 0x8e, 
    -	0xff, 0xf0, 0x01, 0x92, 0xff, 0xed, 0x01, 0x95, 0x00, 0x11, 0x01, 0x9e, 
    -	0xff, 0xe0, 0x01, 0xa0, 0xff, 0xe7, 0x01, 0xa2, 0xff, 0xe5, 0x01, 0xa3, 
    -	0xff, 0xee, 0x01, 0xc0, 0x00, 0x12, 0x01, 0xdd, 0xff, 0xe9, 0x01, 0xee, 
    -	0xff, 0xd7, 0x02, 0x4c, 0xff, 0xd7, 0x02, 0x64, 0xff, 0xd3, 0x02, 0x67, 
    -	0xff, 0xd6, 0x02, 0x68, 0xff, 0xc5, 0x02, 0x83, 0xff, 0xe7, 0x02, 0xaf, 
    -	0x00, 0x0d, 0x02, 0xb1, 0x00, 0x0c, 0x02, 0xba, 0xff, 0xd6, 0x02, 0xbb, 
    -	0xff, 0xf2, 0x03, 0x7e, 0xff, 0xe9, 0x00, 0x01, 0x02, 0x27, 0xff, 0xf1, 
    -	0x00, 0x05, 0x00, 0x0c, 0x00, 0x0f, 0x00, 0x40, 0x00, 0x0c, 0x00, 0x55, 
    -	0xff, 0xeb, 0x00, 0x60, 0x00, 0x0e, 0x03, 0x7e, 0xff, 0xe7, 0x00, 0x1a, 
    -	0x00, 0x22, 0xff, 0xb0, 0x00, 0x57, 0xff, 0xef, 0x00, 0x5a, 0xff, 0xdf, 
    -	0x01, 0x45, 0xff, 0xee, 0x01, 0x80, 0xff, 0xe5, 0x01, 0x82, 0xff, 0xd1, 
    -	0x01, 0x95, 0x00, 0x11, 0x01, 0x9e, 0xff, 0xc8, 0x01, 0xc0, 0x00, 0x13, 
    -	0x01, 0xd8, 0xff, 0xc5, 0x01, 0xee, 0xff, 0xca, 0x02, 0x4c, 0xff, 0x82, 
    -	0x02, 0x63, 0xff, 0x65, 0x02, 0x64, 0xff, 0x85, 0x02, 0x67, 0xff, 0x68, 
    -	0x02, 0x68, 0xff, 0xdd, 0x02, 0x83, 0xff, 0xf2, 0x02, 0xaf, 0xff, 0xb0, 
    -	0x02, 0xb1, 0xff, 0xca, 0x02, 0xb9, 0xff, 0xa8, 0x02, 0xba, 0xff, 0xc7, 
    -	0x03, 0x76, 0xff, 0xc4, 0x03, 0x78, 0xff, 0xdd, 0x03, 0x79, 0xff, 0xcd, 
    -	0x03, 0x7a, 0xff, 0xf1, 0x03, 0x7b, 0xff, 0xc7, 0x00, 0x07, 0x01, 0xee, 
    -	0xff, 0xf0, 0x02, 0x0d, 0xff, 0xf1, 0x02, 0x2b, 0xff, 0xf3, 0x02, 0x4c, 
    -	0xff, 0xf1, 0x02, 0xb0, 0xff, 0xf3, 0x02, 0xb2, 0xff, 0xf3, 0x02, 0xba, 
    -	0xff, 0xf1, 0x00, 0x05, 0x00, 0x49, 0xff, 0xee, 0x00, 0x5a, 0xff, 0xea, 
    -	0x03, 0x76, 0xff, 0xf0, 0x03, 0x78, 0xff, 0xed, 0x03, 0x79, 0xff, 0xf0, 
    -	0x00, 0x01, 0x01, 0xee, 0xff, 0xf5, 0x00, 0x08, 0x01, 0xc0, 0x00, 0x15, 
    -	0x01, 0xe0, 0x00, 0x15, 0x02, 0x63, 0xff, 0xe4, 0x02, 0x64, 0xff, 0xe5, 
    -	0x02, 0x67, 0xff, 0xe4, 0x02, 0xaf, 0xff, 0xe3, 0x02, 0xb1, 0xff, 0xe2, 
    -	0x02, 0xb9, 0xff, 0xe4, 0x00, 0x08, 0x01, 0x9e, 0xff, 0xea, 0x01, 0xa1, 
    -	0xff, 0xea, 0x01, 0xee, 0xff, 0xea, 0x02, 0x0d, 0xff, 0xf0, 0x02, 0x2b, 
    -	0xff, 0xf1, 0x02, 0x4c, 0xff, 0xeb, 0x02, 0xb0, 0xff, 0xf5, 0x02, 0xba, 
    -	0xff, 0xec, 0x00, 0x20, 0x00, 0x09, 0xff, 0xe2, 0x00, 0x0c, 0x00, 0x14, 
    -	0x00, 0x0d, 0xff, 0xcf, 0x00, 0x40, 0x00, 0x12, 0x00, 0x49, 0xff, 0xea, 
    -	0x00, 0x55, 0xff, 0xd8, 0x00, 0x57, 0xff, 0xea, 0x00, 0x60, 0x00, 0x13, 
    -	0x00, 0x6d, 0xff, 0xae, 0x00, 0x7d, 0xff, 0xcd, 0x00, 0x88, 0xff, 0xa0, 
    -	0x00, 0xa8, 0xff, 0xc1, 0x00, 0xba, 0xff, 0xc0, 0x01, 0x80, 0xff, 0xd0, 
    -	0x01, 0x8c, 0xff, 0xea, 0x01, 0x8e, 0xff, 0xee, 0x01, 0x8f, 0xff, 0xc6, 
    -	0x01, 0x90, 0x00, 0x0d, 0x01, 0x92, 0xff, 0xe9, 0x01, 0x93, 0xff, 0xd6, 
    -	0x01, 0x9a, 0xff, 0xe8, 0x01, 0x9b, 0xff, 0xba, 0x01, 0x9e, 0xff, 0xe9, 
    -	0x01, 0xa0, 0xff, 0xcb, 0x01, 0xa1, 0xff, 0xc1, 0x01, 0xa2, 0xff, 0xda, 
    -	0x01, 0xa3, 0xff, 0xc7, 0x03, 0x3d, 0xff, 0xd3, 0x03, 0x77, 0xff, 0xef, 
    -	0x03, 0x78, 0xff, 0xf3, 0x03, 0x7b, 0xff, 0xf3, 0x03, 0x7e, 0xff, 0xcb, 
    -	0x00, 0x07, 0x00, 0x49, 0x00, 0x0d, 0x01, 0x8e, 0xff, 0xf5, 0x01, 0x9a, 
    -	0x00, 0x0b, 0x01, 0x9b, 0xff, 0xea, 0x01, 0x9e, 0x00, 0x0c, 0x01, 0xe0, 
    -	0xff, 0xc8, 0x02, 0x27, 0xff, 0xf1, 0x00, 0x08, 0x00, 0x88, 0xff, 0xdf, 
    -	0x01, 0x79, 0xff, 0xf3, 0x01, 0x7d, 0xff, 0xf0, 0x01, 0x95, 0xff, 0xea, 
    -	0x01, 0xc0, 0xff, 0xdf, 0x01, 0xd8, 0xff, 0xe0, 0x02, 0xb9, 0xff, 0xe0, 
    -	0x03, 0x77, 0xff, 0xf5, 0x00, 0x01, 0x00, 0x5a, 0x00, 0x0b, 0x00, 0x05, 
    -	0x03, 0x76, 0x00, 0x10, 0x03, 0x78, 0x00, 0x0d, 0x03, 0x79, 0x00, 0x10, 
    -	0x03, 0x7b, 0x00, 0x0f, 0x03, 0x7e, 0xff, 0xeb, 0x00, 0x01, 0x03, 0x7b, 
    -	0x00, 0x0e, 0x00, 0x01, 0x03, 0x7e, 0xff, 0xf0, 0x00, 0x05, 0x03, 0x76, 
    -	0x00, 0x0d, 0x03, 0x79, 0x00, 0x0d, 0x03, 0x7b, 0x00, 0x0e, 0x03, 0x7c, 
    -	0xff, 0xf5, 0x03, 0x7e, 0xff, 0xec, 0x00, 0x04, 0x03, 0x76, 0xff, 0xee, 
    -	0x03, 0x78, 0xff, 0xf5, 0x03, 0x79, 0xff, 0xf1, 0x03, 0x7b, 0xff, 0xf2, 
    -	0x00, 0x04, 0x03, 0x76, 0xff, 0xe5, 0x03, 0x78, 0xff, 0xf1, 0x03, 0x79, 
    -	0xff, 0xeb, 0x03, 0x7b, 0xff, 0xe9, 0x00, 0x04, 0x03, 0x76, 0xff, 0xea, 
    -	0x03, 0x77, 0xff, 0xec, 0x03, 0x79, 0xff, 0xf1, 0x03, 0x7b, 0xff, 0xee, 
    -	0x00, 0x06, 0x03, 0x76, 0xff, 0xb4, 0x03, 0x78, 0xff, 0xd5, 0x03, 0x79, 
    -	0xff, 0xb7, 0x03, 0x7a, 0xff, 0xec, 0x03, 0x7b, 0xff, 0xbb, 0x03, 0x7e, 
    -	0xff, 0xf0, 0x00, 0x01, 0x03, 0x7e, 0xff, 0xeb, 0x00, 0x02, 0x03, 0x78, 
    -	0xff, 0xf5, 0x03, 0x79, 0xff, 0xee, 0x00, 0x06, 0x03, 0x76, 0xff, 0xbf, 
    -	0x03, 0x78, 0xff, 0xd8, 0x03, 0x79, 0xff, 0xc7, 0x03, 0x7a, 0xff, 0xec, 
    -	0x03, 0x7b, 0xff, 0xc0, 0x03, 0x7e, 0xff, 0xf2, 0x00, 0x02, 0x07, 0x50, 
    -	0x00, 0x04, 0x00, 0x00, 0x0a, 0x24, 0x14, 0xd8, 0x00, 0x20, 0x00, 0x1d, 
    -	0x00, 0x00, 0xff, 0xda, 0xff, 0x88, 0xff, 0xce, 0xff, 0xc5, 0xff, 0xec, 
    -	0xff, 0xa6, 0xff, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xfe, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xe5, 0xff, 0xe8, 0xff, 0xc9, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe3, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xeb, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe5, 0xff, 0xea, 
    -	0xff, 0xd5, 0x00, 0x00, 0xff, 0x87, 0xff, 0xea, 0xff, 0xe9, 0xff, 0xe1, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 
    -	0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xef, 
    -	0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe3, 0x00, 0x00, 0xff, 0xe4, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xe4, 0x00, 0x11, 0xff, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe6, 0x00, 0x00, 0xff, 0xe5, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe9, 0xff, 0xd8, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xa3, 0xff, 0x5e, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x13, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x32, 
    -	0xff, 0x33, 0xfe, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xf2, 0xff, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xe7, 0xff, 0xe8, 0xff, 0xa3, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x4f, 0xff, 0xf5, 
    -	0xff, 0xf3, 0x00, 0x00, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xfe, 0x6e, 0xff, 0xce, 0xff, 0xdd, 0xff, 0x71, 
    -	0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xa8, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x94, 0xff, 0xad, 0xff, 0xa7, 
    -	0xff, 0xa7, 0xff, 0xb1, 0xff, 0xb4, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 
    -	0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcb, 0xff, 0xbf, 
    -	0xff, 0xaf, 0x00, 0x00, 0xff, 0x7e, 0xff, 0x7c, 0xfe, 0xf1, 0xff, 0xe4, 
    -	0x00, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0xff, 0xb3, 0xff, 0xc4, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xff, 0xd2, 0xff, 0xd4, 0x00, 0x00, 
    -	0xff, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xff, 0xf5, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x66, 0xff, 0xf3, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xd5, 0xff, 0xdf, 0xff, 0xe1, 0x00, 0x00, 0xff, 0xe1, 
    -	0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x72, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe6, 0x00, 0x00, 0xff, 0xeb, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x11, 0xff, 0xeb, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x11, 
    -	0xff, 0xd1, 0xff, 0x67, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x6c, 
    -	0xff, 0xc1, 0xff, 0xbf, 0xff, 0xd8, 0xff, 0xbf, 0xff, 0xc6, 0x00, 0x11, 
    -	0x00, 0x12, 0x00, 0x12, 0x00, 0x00, 0xff, 0x1a, 0x00, 0x0d, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xd9, 0xff, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x6a, 0xff, 0xe3, 0xff, 0xa0, 0x00, 0x11, 0xff, 0xf0, 0xff, 0xe9, 
    -	0xff, 0xe2, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 
    -	0xff, 0xeb, 0x00, 0x00, 0xff, 0xeb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xed, 0xff, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf5, 
    -	0x00, 0x00, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xf1, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf2, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xf1, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xff, 0xf0, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 
    -	0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0xff, 0xf1, 0xff, 0xf3, 0x00, 0x00, 
    -	0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x5b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 0xff, 0xd9, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x34, 
    -	0xff, 0x5e, 0xff, 0x55, 0xff, 0x55, 0xff, 0x66, 0xff, 0x6a, 0x00, 0x07, 
    -	0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0xfe, 0x38, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x92, 0xff, 0x7d, 0xff, 0x62, 0x00, 0x00, 0xff, 0x0f, 0xff, 0x0c, 
    -	0xfe, 0x20, 0xff, 0xbd, 0x00, 0x00, 0x00, 0x05, 0xff, 0xd1, 0xff, 0x6a, 
    -	0xff, 0x86, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0xff, 0xc8, 
    -	0xff, 0xad, 0xff, 0xeb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc9, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa5, 0xff, 0xaf, 0xff, 0xbd, 
    -	0xff, 0xae, 0xff, 0xbd, 0xff, 0xd2, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 
    -	0x00, 0x00, 0xfe, 0x77, 0x00, 0x00, 0x00, 0x00, 0xff, 0xca, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xff, 0xe9, 0xff, 0x3b, 0xff, 0xe9, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xec, 0x00, 0x00, 
    -	0xff, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0xff, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xdd, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xed, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
    -	0x00, 0x00, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x68, 
    -	0x00, 0x05, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x11, 0x00, 0x1d, 0x00, 0x25, 
    -	0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 
    -	0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 
    -	0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 
    -	0x00, 0x3d, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x48, 0x00, 0x4b, 
    -	0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x55, 0x00, 0x59, 
    -	0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x89, 0x00, 0x8a, 0x00, 0x8b, 
    -	0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8e, 0x00, 0x8f, 0x00, 0x90, 0x00, 0x91, 
    -	0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 
    -	0x00, 0x98, 0x00, 0x9b, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x9e, 0x00, 0x9f, 
    -	0x00, 0xa2, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0xa5, 0x00, 0xa6, 0x00, 0xa7, 
    -	0x00, 0xa9, 0x00, 0xaa, 0x00, 0xab, 0x00, 0xac, 0x00, 0xad, 0x00, 0xb3, 
    -	0x00, 0xb4, 0x00, 0xb5, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb8, 0x00, 0xbf, 
    -	0x00, 0xc0, 0x00, 0xc1, 0x00, 0xc3, 0x00, 0xc5, 0x00, 0xc7, 0x00, 0xc8, 
    -	0x00, 0xc9, 0x00, 0xca, 0x00, 0xcb, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 
    -	0x00, 0xcf, 0x00, 0xd0, 0x00, 0xd2, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0xd6, 
    -	0x00, 0xd7, 0x00, 0xd8, 0x00, 0xd9, 0x00, 0xda, 0x00, 0xdb, 0x00, 0xdc, 
    -	0x00, 0xdd, 0x00, 0xe6, 0x00, 0xe7, 0x00, 0xea, 0x00, 0xec, 0x00, 0xee, 
    -	0x00, 0xf0, 0x00, 0xf2, 0x00, 0xf6, 0x00, 0xf8, 0x00, 0xfb, 0x00, 0xfd, 
    -	0x00, 0xff, 0x01, 0x01, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 
    -	0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 
    -	0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x17, 0x01, 0x19, 0x01, 0x1b, 
    -	0x01, 0x24, 0x01, 0x26, 0x01, 0x28, 0x01, 0x2a, 0x01, 0x2c, 0x01, 0x2e, 
    -	0x01, 0x30, 0x01, 0x32, 0x01, 0x34, 0x01, 0x36, 0x01, 0x38, 0x01, 0x39, 
    -	0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 
    -	0x01, 0x40, 0x01, 0x49, 0x01, 0x51, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 
    -	0x01, 0x68, 0x01, 0x69, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x70, 0x01, 0x71, 
    -	0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x77, 0x01, 0x78, 
    -	0x01, 0x7a, 0x01, 0x7c, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x81, 0x01, 0x84, 
    -	0x01, 0x85, 0x01, 0x88, 0x01, 0x8d, 0x01, 0x91, 0x01, 0x97, 0x01, 0x99, 
    -	0x01, 0x9b, 0x01, 0xa6, 0x01, 0xac, 0x01, 0xad, 0x01, 0xaf, 0x01, 0xb2, 
    -	0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb8, 0x01, 0xba, 
    -	0x01, 0xbb, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc1, 0x01, 0xc2, 0x01, 0xc4, 
    -	0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcc, 
    -	0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd1, 0x01, 0xd2, 0x01, 0xd4, 
    -	0x01, 0xd6, 0x01, 0xd8, 0x01, 0xdc, 0x01, 0xdf, 0x01, 0xe1, 0x01, 0xe2, 
    -	0x01, 0xea, 0x01, 0xec, 0x01, 0xed, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xf1, 
    -	0x01, 0xf6, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfc, 0x01, 0xfd, 0x01, 0xff, 
    -	0x02, 0x05, 0x02, 0x06, 0x02, 0x0a, 0x02, 0x0e, 0x02, 0x0f, 0x02, 0x1f, 
    -	0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, 0x02, 0x3a, 0x02, 0x3b, 
    -	0x02, 0x3c, 0x02, 0x3d, 0x02, 0x41, 0x02, 0x42, 0x02, 0x45, 0x02, 0x47, 
    -	0x02, 0x49, 0x02, 0x4b, 0x02, 0x4d, 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 
    -	0x02, 0x59, 0x02, 0x5a, 0x02, 0x5b, 0x02, 0x5d, 0x02, 0x5e, 0x02, 0x66, 
    -	0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 0x02, 0x74, 0x02, 0x78, 0x02, 0x7a, 
    -	0x02, 0x7c, 0x02, 0x7e, 0x02, 0x81, 0x02, 0x82, 0x02, 0x84, 0x02, 0x86, 
    -	0x02, 0x87, 0x02, 0x88, 0x02, 0x91, 0x02, 0x92, 0x02, 0x96, 0x02, 0x98, 
    -	0x02, 0x99, 0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, 
    -	0x02, 0xa1, 0x02, 0xa2, 0x02, 0xa6, 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xc0, 
    -	0x02, 0xc1, 0x02, 0xc2, 0x02, 0xc3, 0x02, 0xc5, 0x02, 0xc7, 0x02, 0xca, 
    -	0x02, 0xcc, 0x02, 0xce, 0x02, 0xd0, 0x02, 0xd2, 0x02, 0xd4, 0x02, 0xd6, 
    -	0x02, 0xd8, 0x02, 0xda, 0x02, 0xdc, 0x02, 0xde, 0x02, 0xe0, 0x02, 0xe1, 
    -	0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 0x02, 0xe6, 0x02, 0xe7, 
    -	0x02, 0xe8, 0x02, 0xe9, 0x02, 0xea, 0x02, 0xeb, 0x02, 0xec, 0x02, 0xed, 
    -	0x02, 0xee, 0x02, 0xef, 0x02, 0xf0, 0x02, 0xf1, 0x02, 0xf3, 0x02, 0xf5, 
    -	0x02, 0xf6, 0x02, 0xf7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 
    -	0x02, 0xfc, 0x02, 0xfd, 0x02, 0xfe, 0x02, 0xff, 0x03, 0x00, 0x03, 0x01, 
    -	0x03, 0x02, 0x03, 0x0a, 0x03, 0x0d, 0x03, 0x0f, 0x03, 0x1b, 0x03, 0x1c, 
    -	0x03, 0x1d, 0x03, 0x1e, 0x03, 0x1f, 0x03, 0x20, 0x03, 0x21, 0x03, 0x22, 
    -	0x03, 0x23, 0x03, 0x34, 0x03, 0x35, 0x03, 0x36, 0x03, 0x37, 0x03, 0x38, 
    -	0x03, 0x39, 0x03, 0x3a, 0x03, 0x3e, 0x03, 0x3f, 0x03, 0x41, 0x03, 0x42, 
    -	0x00, 0x02, 0x01, 0xc8, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x10, 
    -	0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x11, 0x00, 0x01, 0x00, 0x12, 
    -	0x00, 0x1c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x1e, 
    -	0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x25, 0x00, 0x02, 0x00, 0x26, 
    -	0x00, 0x26, 0x00, 0x03, 0x00, 0x27, 0x00, 0x27, 0x00, 0x04, 0x00, 0x28, 
    -	0x00, 0x28, 0x00, 0x05, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2b, 
    -	0x00, 0x2c, 0x00, 0x06, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x07, 0x00, 0x2e, 
    -	0x00, 0x2e, 0x00, 0x08, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x09, 0x00, 0x30, 
    -	0x00, 0x31, 0x00, 0x06, 0x00, 0x32, 0x00, 0x32, 0x00, 0x04, 0x00, 0x33, 
    -	0x00, 0x33, 0x00, 0x0a, 0x00, 0x34, 0x00, 0x36, 0x00, 0x00, 0x00, 0x37, 
    -	0x00, 0x37, 0x00, 0x0b, 0x00, 0x38, 0x00, 0x38, 0x00, 0x07, 0x00, 0x39, 
    -	0x00, 0x39, 0x00, 0x0c, 0x00, 0x3a, 0x00, 0x3a, 0x00, 0x0d, 0x00, 0x3b, 
    -	0x00, 0x3b, 0x00, 0x0e, 0x00, 0x3c, 0x00, 0x3c, 0x00, 0x0f, 0x00, 0x3d, 
    -	0x00, 0x3d, 0x00, 0x10, 0x00, 0x3e, 0x00, 0x43, 0x00, 0x00, 0x00, 0x44, 
    -	0x00, 0x44, 0x00, 0x11, 0x00, 0x45, 0x00, 0x45, 0x00, 0x12, 0x00, 0x46, 
    -	0x00, 0x46, 0x00, 0x13, 0x00, 0x47, 0x00, 0x47, 0x00, 0x00, 0x00, 0x48, 
    -	0x00, 0x48, 0x00, 0x14, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x4b, 
    -	0x00, 0x4b, 0x00, 0x15, 0x00, 0x4c, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x50, 
    -	0x00, 0x51, 0x00, 0x15, 0x00, 0x52, 0x00, 0x52, 0x00, 0x16, 0x00, 0x53, 
    -	0x00, 0x53, 0x00, 0x12, 0x00, 0x54, 0x00, 0x54, 0x00, 0x00, 0x00, 0x55, 
    -	0x00, 0x55, 0x00, 0x17, 0x00, 0x56, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 
    -	0x00, 0x59, 0x00, 0x18, 0x00, 0x5a, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5b, 
    -	0x00, 0x5b, 0x00, 0x19, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x18, 0x00, 0x5d, 
    -	0x00, 0x5d, 0x00, 0x1a, 0x00, 0x5e, 0x00, 0x88, 0x00, 0x00, 0x00, 0x89, 
    -	0x00, 0x89, 0x00, 0x03, 0x00, 0x8a, 0x00, 0x8d, 0x00, 0x05, 0x00, 0x8e, 
    -	0x00, 0x91, 0x00, 0x06, 0x00, 0x92, 0x00, 0x92, 0x00, 0x04, 0x00, 0x93, 
    -	0x00, 0x93, 0x00, 0x06, 0x00, 0x94, 0x00, 0x98, 0x00, 0x04, 0x00, 0x99, 
    -	0x00, 0x9a, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x9e, 0x00, 0x07, 0x00, 0x9f, 
    -	0x00, 0x9f, 0x00, 0x0f, 0x00, 0xa0, 0x00, 0xa1, 0x00, 0x00, 0x00, 0xa2, 
    -	0x00, 0xa7, 0x00, 0x11, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0x00, 0x00, 0xa9, 
    -	0x00, 0xa9, 0x00, 0x13, 0x00, 0xaa, 0x00, 0xad, 0x00, 0x14, 0x00, 0xae, 
    -	0x00, 0xb2, 0x00, 0x00, 0x00, 0xb3, 0x00, 0xb3, 0x00, 0x15, 0x00, 0xb4, 
    -	0x00, 0xb8, 0x00, 0x16, 0x00, 0xb9, 0x00, 0xbe, 0x00, 0x00, 0x00, 0xbf, 
    -	0x00, 0xbf, 0x00, 0x18, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x12, 0x00, 0xc1, 
    -	0x00, 0xc1, 0x00, 0x18, 0x00, 0xc2, 0x00, 0xc2, 0x00, 0x00, 0x00, 0xc3, 
    -	0x00, 0xc3, 0x00, 0x11, 0x00, 0xc4, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xc5, 
    -	0x00, 0xc5, 0x00, 0x11, 0x00, 0xc6, 0x00, 0xc6, 0x00, 0x00, 0x00, 0xc7, 
    -	0x00, 0xc7, 0x00, 0x11, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0x03, 0x00, 0xc9, 
    -	0x00, 0xc9, 0x00, 0x13, 0x00, 0xca, 0x00, 0xca, 0x00, 0x03, 0x00, 0xcb, 
    -	0x00, 0xcb, 0x00, 0x13, 0x00, 0xcc, 0x00, 0xcc, 0x00, 0x03, 0x00, 0xcd, 
    -	0x00, 0xcd, 0x00, 0x13, 0x00, 0xce, 0x00, 0xce, 0x00, 0x03, 0x00, 0xcf, 
    -	0x00, 0xcf, 0x00, 0x13, 0x00, 0xd0, 0x00, 0xd0, 0x00, 0x04, 0x00, 0xd1, 
    -	0x00, 0xd1, 0x00, 0x00, 0x00, 0xd2, 0x00, 0xd2, 0x00, 0x04, 0x00, 0xd3, 
    -	0x00, 0xd3, 0x00, 0x00, 0x00, 0xd4, 0x00, 0xd4, 0x00, 0x05, 0x00, 0xd5, 
    -	0x00, 0xd5, 0x00, 0x14, 0x00, 0xd6, 0x00, 0xd6, 0x00, 0x05, 0x00, 0xd7, 
    -	0x00, 0xd7, 0x00, 0x14, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x05, 0x00, 0xd9, 
    -	0x00, 0xd9, 0x00, 0x14, 0x00, 0xda, 0x00, 0xda, 0x00, 0x05, 0x00, 0xdb, 
    -	0x00, 0xdb, 0x00, 0x14, 0x00, 0xdc, 0x00, 0xdc, 0x00, 0x05, 0x00, 0xdd, 
    -	0x00, 0xdd, 0x00, 0x14, 0x00, 0xde, 0x00, 0xe5, 0x00, 0x00, 0x00, 0xe6, 
    -	0x00, 0xe6, 0x00, 0x06, 0x00, 0xe7, 0x00, 0xe7, 0x00, 0x15, 0x00, 0xe8, 
    -	0x00, 0xe9, 0x00, 0x00, 0x00, 0xea, 0x00, 0xea, 0x00, 0x06, 0x00, 0xeb, 
    -	0x00, 0xeb, 0x00, 0x00, 0x00, 0xec, 0x00, 0xec, 0x00, 0x06, 0x00, 0xed, 
    -	0x00, 0xed, 0x00, 0x00, 0x00, 0xee, 0x00, 0xee, 0x00, 0x06, 0x00, 0xef, 
    -	0x00, 0xef, 0x00, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0x06, 0x00, 0xf1, 
    -	0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2, 0x00, 0xf2, 0x00, 0x06, 0x00, 0xf3, 
    -	0x00, 0xf5, 0x00, 0x00, 0x00, 0xf6, 0x00, 0xf6, 0x00, 0x07, 0x00, 0xf7, 
    -	0x00, 0xf7, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0x08, 0x00, 0xf9, 
    -	0x00, 0xfa, 0x00, 0x00, 0x00, 0xfb, 0x00, 0xfb, 0x00, 0x09, 0x00, 0xfc, 
    -	0x00, 0xfc, 0x00, 0x00, 0x00, 0xfd, 0x00, 0xfd, 0x00, 0x09, 0x00, 0xfe, 
    -	0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x09, 0x01, 0x00, 
    -	0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x09, 0x01, 0x02, 
    -	0x01, 0x04, 0x00, 0x00, 0x01, 0x05, 0x01, 0x05, 0x00, 0x06, 0x01, 0x06, 
    -	0x01, 0x06, 0x00, 0x15, 0x01, 0x07, 0x01, 0x07, 0x00, 0x06, 0x01, 0x08, 
    -	0x01, 0x08, 0x00, 0x15, 0x01, 0x09, 0x01, 0x09, 0x00, 0x06, 0x01, 0x0a, 
    -	0x01, 0x0b, 0x00, 0x15, 0x01, 0x0c, 0x01, 0x0d, 0x00, 0x00, 0x01, 0x0e, 
    -	0x01, 0x0e, 0x00, 0x04, 0x01, 0x0f, 0x01, 0x0f, 0x00, 0x16, 0x01, 0x10, 
    -	0x01, 0x10, 0x00, 0x04, 0x01, 0x11, 0x01, 0x11, 0x00, 0x16, 0x01, 0x12, 
    -	0x01, 0x12, 0x00, 0x04, 0x01, 0x13, 0x01, 0x13, 0x00, 0x16, 0x01, 0x14, 
    -	0x01, 0x16, 0x00, 0x00, 0x01, 0x17, 0x01, 0x17, 0x00, 0x17, 0x01, 0x18, 
    -	0x01, 0x18, 0x00, 0x00, 0x01, 0x19, 0x01, 0x19, 0x00, 0x17, 0x01, 0x1a, 
    -	0x01, 0x1a, 0x00, 0x00, 0x01, 0x1b, 0x01, 0x1b, 0x00, 0x17, 0x01, 0x1c, 
    -	0x01, 0x23, 0x00, 0x00, 0x01, 0x24, 0x01, 0x24, 0x00, 0x0b, 0x01, 0x25, 
    -	0x01, 0x25, 0x00, 0x00, 0x01, 0x26, 0x01, 0x26, 0x00, 0x0b, 0x01, 0x27, 
    -	0x01, 0x27, 0x00, 0x00, 0x01, 0x28, 0x01, 0x28, 0x00, 0x0b, 0x01, 0x29, 
    -	0x01, 0x29, 0x00, 0x00, 0x01, 0x2a, 0x01, 0x2a, 0x00, 0x07, 0x01, 0x2b, 
    -	0x01, 0x2b, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0x07, 0x01, 0x2d, 
    -	0x01, 0x2d, 0x00, 0x00, 0x01, 0x2e, 0x01, 0x2e, 0x00, 0x07, 0x01, 0x2f, 
    -	0x01, 0x2f, 0x00, 0x00, 0x01, 0x30, 0x01, 0x30, 0x00, 0x07, 0x01, 0x31, 
    -	0x01, 0x31, 0x00, 0x00, 0x01, 0x32, 0x01, 0x32, 0x00, 0x07, 0x01, 0x33, 
    -	0x01, 0x33, 0x00, 0x00, 0x01, 0x34, 0x01, 0x34, 0x00, 0x07, 0x01, 0x35, 
    -	0x01, 0x35, 0x00, 0x00, 0x01, 0x36, 0x01, 0x36, 0x00, 0x0d, 0x01, 0x37, 
    -	0x01, 0x37, 0x00, 0x00, 0x01, 0x38, 0x01, 0x38, 0x00, 0x0f, 0x01, 0x39, 
    -	0x01, 0x39, 0x00, 0x18, 0x01, 0x3a, 0x01, 0x3a, 0x00, 0x0f, 0x01, 0x3b, 
    -	0x01, 0x3b, 0x00, 0x10, 0x01, 0x3c, 0x01, 0x3c, 0x00, 0x1a, 0x01, 0x3d, 
    -	0x01, 0x3d, 0x00, 0x10, 0x01, 0x3e, 0x01, 0x3e, 0x00, 0x1a, 0x01, 0x3f, 
    -	0x01, 0x3f, 0x00, 0x10, 0x01, 0x40, 0x01, 0x40, 0x00, 0x1a, 0x01, 0x41, 
    -	0x01, 0x48, 0x00, 0x00, 0x01, 0x49, 0x01, 0x49, 0x00, 0x11, 0x01, 0x4a, 
    -	0x01, 0x64, 0x00, 0x00, 0x01, 0x65, 0x01, 0x65, 0x00, 0x05, 0x01, 0x66, 
    -	0x01, 0x67, 0x00, 0x06, 0x01, 0x68, 0x01, 0x68, 0x00, 0x04, 0x01, 0x69, 
    -	0x01, 0x69, 0x00, 0x0f, 0x01, 0x6a, 0x01, 0x6c, 0x00, 0x00, 0x01, 0x6d, 
    -	0x01, 0x6d, 0x00, 0x02, 0x01, 0x6e, 0x01, 0x6e, 0x00, 0x1b, 0x01, 0x6f, 
    -	0x01, 0x6f, 0x00, 0x00, 0x01, 0x70, 0x01, 0x70, 0x00, 0x05, 0x01, 0x71, 
    -	0x01, 0x71, 0x00, 0x10, 0x01, 0x72, 0x01, 0x72, 0x00, 0x06, 0x01, 0x73, 
    -	0x01, 0x73, 0x00, 0x04, 0x01, 0x74, 0x01, 0x74, 0x00, 0x06, 0x01, 0x75, 
    -	0x01, 0x75, 0x00, 0x08, 0x01, 0x76, 0x01, 0x76, 0x00, 0x00, 0x01, 0x77, 
    -	0x01, 0x78, 0x00, 0x06, 0x01, 0x79, 0x01, 0x79, 0x00, 0x00, 0x01, 0x7a, 
    -	0x01, 0x7a, 0x00, 0x04, 0x01, 0x7b, 0x01, 0x7b, 0x00, 0x00, 0x01, 0x7c, 
    -	0x01, 0x7c, 0x00, 0x0a, 0x01, 0x7d, 0x01, 0x7d, 0x00, 0x00, 0x01, 0x7e, 
    -	0x01, 0x7e, 0x00, 0x0b, 0x01, 0x7f, 0x01, 0x7f, 0x00, 0x0f, 0x01, 0x80, 
    -	0x01, 0x80, 0x00, 0x00, 0x01, 0x81, 0x01, 0x81, 0x00, 0x0e, 0x01, 0x82, 
    -	0x01, 0x83, 0x00, 0x00, 0x01, 0x84, 0x01, 0x84, 0x00, 0x06, 0x01, 0x85, 
    -	0x01, 0x85, 0x00, 0x0f, 0x01, 0x86, 0x01, 0x87, 0x00, 0x00, 0x01, 0x88, 
    -	0x01, 0x88, 0x00, 0x15, 0x01, 0x89, 0x01, 0x8c, 0x00, 0x00, 0x01, 0x8d, 
    -	0x01, 0x8d, 0x00, 0x18, 0x01, 0x8e, 0x01, 0x90, 0x00, 0x00, 0x01, 0x91, 
    -	0x01, 0x91, 0x00, 0x15, 0x01, 0x92, 0x01, 0x96, 0x00, 0x00, 0x01, 0x97, 
    -	0x01, 0x97, 0x00, 0x18, 0x01, 0x98, 0x01, 0x98, 0x00, 0x00, 0x01, 0x99, 
    -	0x01, 0x99, 0x00, 0x16, 0x01, 0x9a, 0x01, 0x9a, 0x00, 0x00, 0x01, 0x9b, 
    -	0x01, 0x9b, 0x00, 0x12, 0x01, 0x9c, 0x01, 0xa5, 0x00, 0x00, 0x01, 0xa6, 
    -	0x01, 0xa6, 0x00, 0x16, 0x01, 0xa7, 0x01, 0xab, 0x00, 0x00, 0x01, 0xac, 
    -	0x01, 0xad, 0x00, 0x05, 0x01, 0xae, 0x01, 0xae, 0x00, 0x00, 0x01, 0xaf, 
    -	0x01, 0xaf, 0x00, 0x1b, 0x01, 0xb0, 0x01, 0xb1, 0x00, 0x00, 0x01, 0xb2, 
    -	0x01, 0xb3, 0x00, 0x06, 0x01, 0xb4, 0x01, 0xb4, 0x00, 0x07, 0x01, 0xb5, 
    -	0x01, 0xb6, 0x00, 0x1c, 0x01, 0xb7, 0x01, 0xb7, 0x00, 0x00, 0x01, 0xb8, 
    -	0x01, 0xb8, 0x00, 0x08, 0x01, 0xb9, 0x01, 0xb9, 0x00, 0x00, 0x01, 0xba, 
    -	0x01, 0xba, 0x00, 0x1d, 0x01, 0xbb, 0x01, 0xbb, 0x00, 0x06, 0x01, 0xbc, 
    -	0x01, 0xbd, 0x00, 0x00, 0x01, 0xbe, 0x01, 0xbe, 0x00, 0x02, 0x01, 0xbf, 
    -	0x01, 0xbf, 0x00, 0x1b, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x00, 0x01, 0xc1, 
    -	0x01, 0xc1, 0x00, 0x05, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0e, 0x01, 0xc3, 
    -	0x01, 0xc3, 0x00, 0x00, 0x01, 0xc4, 0x01, 0xc4, 0x00, 0x06, 0x01, 0xc5, 
    -	0x01, 0xc5, 0x00, 0x00, 0x01, 0xc6, 0x01, 0xc6, 0x00, 0x08, 0x01, 0xc7, 
    -	0x01, 0xc9, 0x00, 0x06, 0x01, 0xca, 0x01, 0xca, 0x00, 0x04, 0x01, 0xcb, 
    -	0x01, 0xcb, 0x00, 0x00, 0x01, 0xcc, 0x01, 0xcc, 0x00, 0x0a, 0x01, 0xcd, 
    -	0x01, 0xcd, 0x00, 0x03, 0x01, 0xce, 0x01, 0xce, 0x00, 0x0b, 0x01, 0xcf, 
    -	0x01, 0xcf, 0x00, 0x1d, 0x01, 0xd0, 0x01, 0xd0, 0x00, 0x00, 0x01, 0xd1, 
    -	0x01, 0xd1, 0x00, 0x0e, 0x01, 0xd2, 0x01, 0xd2, 0x00, 0x06, 0x01, 0xd3, 
    -	0x01, 0xd3, 0x00, 0x00, 0x01, 0xd4, 0x01, 0xd4, 0x00, 0x06, 0x01, 0xd5, 
    -	0x01, 0xd5, 0x00, 0x00, 0x01, 0xd6, 0x01, 0xd6, 0x00, 0x1c, 0x01, 0xd7, 
    -	0x01, 0xd7, 0x00, 0x00, 0x01, 0xd8, 0x01, 0xd8, 0x00, 0x1c, 0x01, 0xd9, 
    -	0x01, 0xdb, 0x00, 0x00, 0x01, 0xdc, 0x01, 0xdc, 0x00, 0x11, 0x01, 0xdd, 
    -	0x01, 0xde, 0x00, 0x00, 0x01, 0xdf, 0x01, 0xdf, 0x00, 0x1e, 0x01, 0xe0, 
    -	0x01, 0xe0, 0x00, 0x00, 0x01, 0xe1, 0x01, 0xe1, 0x00, 0x14, 0x01, 0xe2, 
    -	0x01, 0xe2, 0x00, 0x19, 0x01, 0xe3, 0x01, 0xe9, 0x00, 0x00, 0x01, 0xea, 
    -	0x01, 0xea, 0x00, 0x16, 0x01, 0xeb, 0x01, 0xeb, 0x00, 0x00, 0x01, 0xec, 
    -	0x01, 0xec, 0x00, 0x12, 0x01, 0xed, 0x01, 0xed, 0x00, 0x13, 0x01, 0xee, 
    -	0x01, 0xee, 0x00, 0x00, 0x01, 0xef, 0x01, 0xef, 0x00, 0x18, 0x01, 0xf0, 
    -	0x01, 0xf0, 0x00, 0x12, 0x01, 0xf1, 0x01, 0xf1, 0x00, 0x19, 0x01, 0xf2, 
    -	0x01, 0xf5, 0x00, 0x00, 0x01, 0xf6, 0x01, 0xf6, 0x00, 0x1f, 0x01, 0xf7, 
    -	0x01, 0xf7, 0x00, 0x00, 0x01, 0xf8, 0x01, 0xf8, 0x00, 0x1f, 0x01, 0xf9, 
    -	0x01, 0xf9, 0x00, 0x12, 0x01, 0xfa, 0x01, 0xfb, 0x00, 0x00, 0x01, 0xfc, 
    -	0x01, 0xfd, 0x00, 0x14, 0x01, 0xfe, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xff, 
    -	0x01, 0xff, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x04, 0x00, 0x00, 0x02, 0x05, 
    -	0x02, 0x06, 0x00, 0x1f, 0x02, 0x07, 0x02, 0x09, 0x00, 0x00, 0x02, 0x0a, 
    -	0x02, 0x0a, 0x00, 0x18, 0x02, 0x0b, 0x02, 0x0d, 0x00, 0x00, 0x02, 0x0e, 
    -	0x02, 0x0e, 0x00, 0x1c, 0x02, 0x0f, 0x02, 0x0f, 0x00, 0x1f, 0x02, 0x10, 
    -	0x02, 0x1e, 0x00, 0x00, 0x02, 0x1f, 0x02, 0x1f, 0x00, 0x16, 0x02, 0x20, 
    -	0x02, 0x20, 0x00, 0x0c, 0x02, 0x21, 0x02, 0x21, 0x00, 0x18, 0x02, 0x22, 
    -	0x02, 0x22, 0x00, 0x0c, 0x02, 0x23, 0x02, 0x23, 0x00, 0x18, 0x02, 0x24, 
    -	0x02, 0x39, 0x00, 0x00, 0x02, 0x3a, 0x02, 0x3a, 0x00, 0x12, 0x02, 0x3b, 
    -	0x02, 0x3b, 0x00, 0x1b, 0x02, 0x3c, 0x02, 0x3c, 0x00, 0x1e, 0x02, 0x3d, 
    -	0x02, 0x3d, 0x00, 0x1b, 0x02, 0x3e, 0x02, 0x40, 0x00, 0x00, 0x02, 0x41, 
    -	0x02, 0x41, 0x00, 0x0e, 0x02, 0x42, 0x02, 0x42, 0x00, 0x19, 0x02, 0x43, 
    -	0x02, 0x44, 0x00, 0x00, 0x02, 0x45, 0x02, 0x45, 0x00, 0x08, 0x02, 0x46, 
    -	0x02, 0x46, 0x00, 0x00, 0x02, 0x47, 0x02, 0x47, 0x00, 0x08, 0x02, 0x48, 
    -	0x02, 0x48, 0x00, 0x00, 0x02, 0x49, 0x02, 0x49, 0x00, 0x08, 0x02, 0x4a, 
    -	0x02, 0x4a, 0x00, 0x00, 0x02, 0x4b, 0x02, 0x4b, 0x00, 0x08, 0x02, 0x4c, 
    -	0x02, 0x4c, 0x00, 0x00, 0x02, 0x4d, 0x02, 0x4d, 0x00, 0x06, 0x02, 0x4e, 
    -	0x02, 0x54, 0x00, 0x00, 0x02, 0x55, 0x02, 0x55, 0x00, 0x03, 0x02, 0x56, 
    -	0x02, 0x56, 0x00, 0x13, 0x02, 0x57, 0x02, 0x57, 0x00, 0x0b, 0x02, 0x58, 
    -	0x02, 0x58, 0x00, 0x00, 0x02, 0x59, 0x02, 0x59, 0x00, 0x0f, 0x02, 0x5a, 
    -	0x02, 0x5a, 0x00, 0x18, 0x02, 0x5b, 0x02, 0x5b, 0x00, 0x0f, 0x02, 0x5c, 
    -	0x02, 0x5c, 0x00, 0x00, 0x02, 0x5d, 0x02, 0x5d, 0x00, 0x0e, 0x02, 0x5e, 
    -	0x02, 0x5e, 0x00, 0x19, 0x02, 0x5f, 0x02, 0x65, 0x00, 0x00, 0x02, 0x66, 
    -	0x02, 0x66, 0x00, 0x15, 0x02, 0x67, 0x02, 0x6a, 0x00, 0x00, 0x02, 0x6b, 
    -	0x02, 0x6b, 0x00, 0x06, 0x02, 0x6c, 0x02, 0x6c, 0x00, 0x0e, 0x02, 0x6d, 
    -	0x02, 0x6d, 0x00, 0x19, 0x02, 0x6e, 0x02, 0x73, 0x00, 0x00, 0x02, 0x74, 
    -	0x02, 0x74, 0x00, 0x06, 0x02, 0x75, 0x02, 0x77, 0x00, 0x00, 0x02, 0x78, 
    -	0x02, 0x78, 0x00, 0x06, 0x02, 0x79, 0x02, 0x79, 0x00, 0x00, 0x02, 0x7a, 
    -	0x02, 0x7a, 0x00, 0x06, 0x02, 0x7b, 0x02, 0x7b, 0x00, 0x00, 0x02, 0x7c, 
    -	0x02, 0x7c, 0x00, 0x11, 0x02, 0x7d, 0x02, 0x7d, 0x00, 0x00, 0x02, 0x7e, 
    -	0x02, 0x7e, 0x00, 0x11, 0x02, 0x7f, 0x02, 0x80, 0x00, 0x00, 0x02, 0x81, 
    -	0x02, 0x81, 0x00, 0x05, 0x02, 0x82, 0x02, 0x82, 0x00, 0x14, 0x02, 0x83, 
    -	0x02, 0x83, 0x00, 0x00, 0x02, 0x84, 0x02, 0x84, 0x00, 0x14, 0x02, 0x85, 
    -	0x02, 0x85, 0x00, 0x00, 0x02, 0x86, 0x02, 0x86, 0x00, 0x14, 0x02, 0x87, 
    -	0x02, 0x87, 0x00, 0x0e, 0x02, 0x88, 0x02, 0x88, 0x00, 0x19, 0x02, 0x89, 
    -	0x02, 0x90, 0x00, 0x00, 0x02, 0x91, 0x02, 0x91, 0x00, 0x04, 0x02, 0x92, 
    -	0x02, 0x92, 0x00, 0x16, 0x02, 0x93, 0x02, 0x95, 0x00, 0x00, 0x02, 0x96, 
    -	0x02, 0x96, 0x00, 0x16, 0x02, 0x97, 0x02, 0x97, 0x00, 0x00, 0x02, 0x98, 
    -	0x02, 0x98, 0x00, 0x12, 0x02, 0x99, 0x02, 0x99, 0x00, 0x1d, 0x02, 0x9a, 
    -	0x02, 0x9a, 0x00, 0x18, 0x02, 0x9b, 0x02, 0x9b, 0x00, 0x1d, 0x02, 0x9c, 
    -	0x02, 0x9c, 0x00, 0x18, 0x02, 0x9d, 0x02, 0x9d, 0x00, 0x1d, 0x02, 0x9e, 
    -	0x02, 0x9e, 0x00, 0x18, 0x02, 0x9f, 0x02, 0xa0, 0x00, 0x00, 0x02, 0xa1, 
    -	0x02, 0xa1, 0x00, 0x1b, 0x02, 0xa2, 0x02, 0xa2, 0x00, 0x1e, 0x02, 0xa3, 
    -	0x02, 0xa5, 0x00, 0x00, 0x02, 0xa6, 0x02, 0xa6, 0x00, 0x1e, 0x02, 0xa7, 
    -	0x02, 0xa7, 0x00, 0x0e, 0x02, 0xa8, 0x02, 0xa8, 0x00, 0x19, 0x02, 0xa9, 
    -	0x02, 0xbf, 0x00, 0x00, 0x02, 0xc0, 0x02, 0xc0, 0x00, 0x11, 0x02, 0xc1, 
    -	0x02, 0xc1, 0x00, 0x06, 0x02, 0xc2, 0x02, 0xc2, 0x00, 0x15, 0x02, 0xc3, 
    -	0x02, 0xc3, 0x00, 0x0d, 0x02, 0xc4, 0x02, 0xc4, 0x00, 0x00, 0x02, 0xc5, 
    -	0x02, 0xc5, 0x00, 0x0d, 0x02, 0xc6, 0x02, 0xc6, 0x00, 0x00, 0x02, 0xc7, 
    -	0x02, 0xc7, 0x00, 0x0d, 0x02, 0xc8, 0x02, 0xc9, 0x00, 0x00, 0x02, 0xca, 
    -	0x02, 0xca, 0x00, 0x11, 0x02, 0xcb, 0x02, 0xcb, 0x00, 0x00, 0x02, 0xcc, 
    -	0x02, 0xcc, 0x00, 0x11, 0x02, 0xcd, 0x02, 0xcd, 0x00, 0x00, 0x02, 0xce, 
    -	0x02, 0xce, 0x00, 0x11, 0x02, 0xcf, 0x02, 0xcf, 0x00, 0x00, 0x02, 0xd0, 
    -	0x02, 0xd0, 0x00, 0x11, 0x02, 0xd1, 0x02, 0xd1, 0x00, 0x00, 0x02, 0xd2, 
    -	0x02, 0xd2, 0x00, 0x11, 0x02, 0xd3, 0x02, 0xd3, 0x00, 0x00, 0x02, 0xd4, 
    -	0x02, 0xd4, 0x00, 0x11, 0x02, 0xd5, 0x02, 0xd5, 0x00, 0x00, 0x02, 0xd6, 
    -	0x02, 0xd6, 0x00, 0x11, 0x02, 0xd7, 0x02, 0xd7, 0x00, 0x00, 0x02, 0xd8, 
    -	0x02, 0xd8, 0x00, 0x11, 0x02, 0xd9, 0x02, 0xd9, 0x00, 0x00, 0x02, 0xda, 
    -	0x02, 0xda, 0x00, 0x11, 0x02, 0xdb, 0x02, 0xdb, 0x00, 0x00, 0x02, 0xdc, 
    -	0x02, 0xdc, 0x00, 0x11, 0x02, 0xdd, 0x02, 0xdd, 0x00, 0x00, 0x02, 0xde, 
    -	0x02, 0xde, 0x00, 0x11, 0x02, 0xdf, 0x02, 0xdf, 0x00, 0x00, 0x02, 0xe0, 
    -	0x02, 0xe0, 0x00, 0x11, 0x02, 0xe1, 0x02, 0xe1, 0x00, 0x05, 0x02, 0xe2, 
    -	0x02, 0xe2, 0x00, 0x14, 0x02, 0xe3, 0x02, 0xe3, 0x00, 0x05, 0x02, 0xe4, 
    -	0x02, 0xe4, 0x00, 0x14, 0x02, 0xe5, 0x02, 0xe5, 0x00, 0x05, 0x02, 0xe6, 
    -	0x02, 0xe6, 0x00, 0x14, 0x02, 0xe7, 0x02, 0xe7, 0x00, 0x05, 0x02, 0xe8, 
    -	0x02, 0xe8, 0x00, 0x14, 0x02, 0xe9, 0x02, 0xe9, 0x00, 0x05, 0x02, 0xea, 
    -	0x02, 0xea, 0x00, 0x14, 0x02, 0xeb, 0x02, 0xeb, 0x00, 0x05, 0x02, 0xec, 
    -	0x02, 0xec, 0x00, 0x14, 0x02, 0xed, 0x02, 0xed, 0x00, 0x05, 0x02, 0xee, 
    -	0x02, 0xee, 0x00, 0x14, 0x02, 0xef, 0x02, 0xef, 0x00, 0x05, 0x02, 0xf0, 
    -	0x02, 0xf0, 0x00, 0x14, 0x02, 0xf1, 0x02, 0xf1, 0x00, 0x06, 0x02, 0xf2, 
    -	0x02, 0xf2, 0x00, 0x00, 0x02, 0xf3, 0x02, 0xf3, 0x00, 0x06, 0x02, 0xf4, 
    -	0x02, 0xf4, 0x00, 0x00, 0x02, 0xf5, 0x02, 0xf5, 0x00, 0x04, 0x02, 0xf6, 
    -	0x02, 0xf6, 0x00, 0x16, 0x02, 0xf7, 0x02, 0xf7, 0x00, 0x04, 0x02, 0xf8, 
    -	0x02, 0xf8, 0x00, 0x16, 0x02, 0xf9, 0x02, 0xf9, 0x00, 0x04, 0x02, 0xfa, 
    -	0x02, 0xfa, 0x00, 0x16, 0x02, 0xfb, 0x02, 0xfb, 0x00, 0x04, 0x02, 0xfc, 
    -	0x02, 0xfc, 0x00, 0x16, 0x02, 0xfd, 0x02, 0xfd, 0x00, 0x04, 0x02, 0xfe, 
    -	0x02, 0xfe, 0x00, 0x16, 0x02, 0xff, 0x02, 0xff, 0x00, 0x04, 0x03, 0x00, 
    -	0x03, 0x00, 0x00, 0x16, 0x03, 0x01, 0x03, 0x01, 0x00, 0x04, 0x03, 0x02, 
    -	0x03, 0x02, 0x00, 0x16, 0x03, 0x03, 0x03, 0x09, 0x00, 0x00, 0x03, 0x0a, 
    -	0x03, 0x0a, 0x00, 0x16, 0x03, 0x0b, 0x03, 0x0c, 0x00, 0x00, 0x03, 0x0d, 
    -	0x03, 0x0d, 0x00, 0x07, 0x03, 0x0e, 0x03, 0x0e, 0x00, 0x00, 0x03, 0x0f, 
    -	0x03, 0x0f, 0x00, 0x07, 0x03, 0x10, 0x03, 0x1a, 0x00, 0x00, 0x03, 0x1b, 
    -	0x03, 0x1b, 0x00, 0x0f, 0x03, 0x1c, 0x03, 0x1c, 0x00, 0x18, 0x03, 0x1d, 
    -	0x03, 0x1d, 0x00, 0x0f, 0x03, 0x1e, 0x03, 0x1e, 0x00, 0x18, 0x03, 0x1f, 
    -	0x03, 0x1f, 0x00, 0x0f, 0x03, 0x20, 0x03, 0x20, 0x00, 0x18, 0x03, 0x21, 
    -	0x03, 0x21, 0x00, 0x0f, 0x03, 0x22, 0x03, 0x22, 0x00, 0x18, 0x03, 0x23, 
    -	0x03, 0x23, 0x00, 0x04, 0x03, 0x24, 0x03, 0x35, 0x00, 0x00, 0x03, 0x36, 
    -	0x03, 0x36, 0x00, 0x01, 0x03, 0x37, 0x03, 0x39, 0x00, 0x00, 0x03, 0x3a, 
    -	0x03, 0x3a, 0x00, 0x01, 0x03, 0x3b, 0x03, 0x3d, 0x00, 0x00, 0x03, 0x3e, 
    -	0x03, 0x3f, 0x00, 0x01, 0x00, 0x02, 0x01, 0xfd, 0x00, 0x05, 0x00, 0x05, 
    -	0x00, 0x01, 0x00, 0x06, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 
    -	0x00, 0x01, 0x00, 0x0b, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0f, 
    -	0x00, 0x0c, 0x00, 0x10, 0x00, 0x10, 0x00, 0x15, 0x00, 0x11, 0x00, 0x11, 
    -	0x00, 0x0c, 0x00, 0x12, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x1d, 
    -	0x00, 0x0c, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x24, 
    -	0x00, 0x02, 0x00, 0x25, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x26, 
    -	0x00, 0x16, 0x00, 0x27, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x2a, 
    -	0x00, 0x16, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x2d, 
    -	0x00, 0x1c, 0x00, 0x2e, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x32, 
    -	0x00, 0x16, 0x00, 0x33, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x34, 
    -	0x00, 0x16, 0x00, 0x35, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x36, 
    -	0x00, 0x19, 0x00, 0x37, 0x00, 0x37, 0x00, 0x08, 0x00, 0x38, 0x00, 0x38, 
    -	0x00, 0x17, 0x00, 0x39, 0x00, 0x39, 0x00, 0x09, 0x00, 0x3a, 0x00, 0x3a, 
    -	0x00, 0x18, 0x00, 0x3b, 0x00, 0x3b, 0x00, 0x0d, 0x00, 0x3c, 0x00, 0x3c, 
    -	0x00, 0x0a, 0x00, 0x3d, 0x00, 0x3d, 0x00, 0x0e, 0x00, 0x3e, 0x00, 0x43, 
    -	0x00, 0x00, 0x00, 0x44, 0x00, 0x44, 0x00, 0x03, 0x00, 0x45, 0x00, 0x45, 
    -	0x00, 0x00, 0x00, 0x46, 0x00, 0x48, 0x00, 0x04, 0x00, 0x49, 0x00, 0x49, 
    -	0x00, 0x00, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x04, 0x00, 0x4b, 0x00, 0x4f, 
    -	0x00, 0x00, 0x00, 0x50, 0x00, 0x51, 0x00, 0x05, 0x00, 0x52, 0x00, 0x52, 
    -	0x00, 0x06, 0x00, 0x53, 0x00, 0x53, 0x00, 0x05, 0x00, 0x54, 0x00, 0x54, 
    -	0x00, 0x04, 0x00, 0x55, 0x00, 0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x56, 
    -	0x00, 0x07, 0x00, 0x57, 0x00, 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x58, 
    -	0x00, 0x10, 0x00, 0x59, 0x00, 0x59, 0x00, 0x11, 0x00, 0x5a, 0x00, 0x5a, 
    -	0x00, 0x00, 0x00, 0x5b, 0x00, 0x5b, 0x00, 0x1a, 0x00, 0x5c, 0x00, 0x5c, 
    -	0x00, 0x11, 0x00, 0x5d, 0x00, 0x5d, 0x00, 0x1b, 0x00, 0x5e, 0x00, 0x6e, 
    -	0x00, 0x00, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x15, 0x00, 0x70, 0x00, 0x81, 
    -	0x00, 0x00, 0x00, 0x82, 0x00, 0x87, 0x00, 0x02, 0x00, 0x88, 0x00, 0x88, 
    -	0x00, 0x00, 0x00, 0x89, 0x00, 0x89, 0x00, 0x16, 0x00, 0x8a, 0x00, 0x93, 
    -	0x00, 0x00, 0x00, 0x94, 0x00, 0x98, 0x00, 0x16, 0x00, 0x99, 0x00, 0x99, 
    -	0x00, 0x00, 0x00, 0x9a, 0x00, 0x9a, 0x00, 0x16, 0x00, 0x9b, 0x00, 0x9e, 
    -	0x00, 0x17, 0x00, 0x9f, 0x00, 0x9f, 0x00, 0x0a, 0x00, 0xa0, 0x00, 0xa1, 
    -	0x00, 0x00, 0x00, 0xa2, 0x00, 0xa7, 0x00, 0x03, 0x00, 0xa8, 0x00, 0xa8, 
    -	0x00, 0x00, 0x00, 0xa9, 0x00, 0xad, 0x00, 0x04, 0x00, 0xae, 0x00, 0xb2, 
    -	0x00, 0x00, 0x00, 0xb3, 0x00, 0xb3, 0x00, 0x05, 0x00, 0xb4, 0x00, 0xb8, 
    -	0x00, 0x06, 0x00, 0xb9, 0x00, 0xba, 0x00, 0x00, 0x00, 0xbb, 0x00, 0xbe, 
    -	0x00, 0x10, 0x00, 0xbf, 0x00, 0xbf, 0x00, 0x11, 0x00, 0xc0, 0x00, 0xc0, 
    -	0x00, 0x00, 0x00, 0xc1, 0x00, 0xc1, 0x00, 0x11, 0x00, 0xc2, 0x00, 0xc2, 
    -	0x00, 0x02, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0x03, 0x00, 0xc4, 0x00, 0xc4, 
    -	0x00, 0x02, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0x03, 0x00, 0xc6, 0x00, 0xc6, 
    -	0x00, 0x02, 0x00, 0xc7, 0x00, 0xc7, 0x00, 0x03, 0x00, 0xc8, 0x00, 0xc8, 
    -	0x00, 0x16, 0x00, 0xc9, 0x00, 0xc9, 0x00, 0x04, 0x00, 0xca, 0x00, 0xca, 
    -	0x00, 0x16, 0x00, 0xcb, 0x00, 0xcb, 0x00, 0x04, 0x00, 0xcc, 0x00, 0xcc, 
    -	0x00, 0x16, 0x00, 0xcd, 0x00, 0xcd, 0x00, 0x04, 0x00, 0xce, 0x00, 0xce, 
    -	0x00, 0x16, 0x00, 0xcf, 0x00, 0xcf, 0x00, 0x04, 0x00, 0xd0, 0x00, 0xd0, 
    -	0x00, 0x00, 0x00, 0xd1, 0x00, 0xd1, 0x00, 0x04, 0x00, 0xd2, 0x00, 0xd4, 
    -	0x00, 0x00, 0x00, 0xd5, 0x00, 0xd5, 0x00, 0x04, 0x00, 0xd6, 0x00, 0xd6, 
    -	0x00, 0x00, 0x00, 0xd7, 0x00, 0xd7, 0x00, 0x04, 0x00, 0xd8, 0x00, 0xd8, 
    -	0x00, 0x00, 0x00, 0xd9, 0x00, 0xd9, 0x00, 0x04, 0x00, 0xda, 0x00, 0xda, 
    -	0x00, 0x00, 0x00, 0xdb, 0x00, 0xdb, 0x00, 0x04, 0x00, 0xdc, 0x00, 0xdc, 
    -	0x00, 0x00, 0x00, 0xdd, 0x00, 0xdd, 0x00, 0x04, 0x00, 0xde, 0x00, 0xde, 
    -	0x00, 0x16, 0x00, 0xdf, 0x00, 0xdf, 0x00, 0x04, 0x00, 0xe0, 0x00, 0xe0, 
    -	0x00, 0x16, 0x00, 0xe1, 0x00, 0xe1, 0x00, 0x04, 0x00, 0xe2, 0x00, 0xe2, 
    -	0x00, 0x16, 0x00, 0xe3, 0x00, 0xe3, 0x00, 0x04, 0x00, 0xe4, 0x00, 0xe4, 
    -	0x00, 0x16, 0x00, 0xe5, 0x00, 0xe5, 0x00, 0x04, 0x00, 0xe6, 0x00, 0xf5, 
    -	0x00, 0x00, 0x00, 0xf6, 0x00, 0xf6, 0x00, 0x1c, 0x00, 0xf7, 0x01, 0x05, 
    -	0x00, 0x00, 0x01, 0x06, 0x01, 0x06, 0x00, 0x05, 0x01, 0x07, 0x01, 0x07, 
    -	0x00, 0x00, 0x01, 0x08, 0x01, 0x08, 0x00, 0x05, 0x01, 0x09, 0x01, 0x09, 
    -	0x00, 0x00, 0x01, 0x0a, 0x01, 0x0b, 0x00, 0x05, 0x01, 0x0c, 0x01, 0x0d, 
    -	0x00, 0x00, 0x01, 0x0e, 0x01, 0x0e, 0x00, 0x16, 0x01, 0x0f, 0x01, 0x0f, 
    -	0x00, 0x06, 0x01, 0x10, 0x01, 0x10, 0x00, 0x16, 0x01, 0x11, 0x01, 0x11, 
    -	0x00, 0x06, 0x01, 0x12, 0x01, 0x12, 0x00, 0x16, 0x01, 0x13, 0x01, 0x13, 
    -	0x00, 0x06, 0x01, 0x14, 0x01, 0x14, 0x00, 0x16, 0x01, 0x15, 0x01, 0x15, 
    -	0x00, 0x04, 0x01, 0x16, 0x01, 0x1b, 0x00, 0x00, 0x01, 0x1c, 0x01, 0x1c, 
    -	0x00, 0x19, 0x01, 0x1d, 0x01, 0x1d, 0x00, 0x07, 0x01, 0x1e, 0x01, 0x1e, 
    -	0x00, 0x19, 0x01, 0x1f, 0x01, 0x1f, 0x00, 0x07, 0x01, 0x20, 0x01, 0x20, 
    -	0x00, 0x19, 0x01, 0x21, 0x01, 0x21, 0x00, 0x07, 0x01, 0x22, 0x01, 0x22, 
    -	0x00, 0x19, 0x01, 0x23, 0x01, 0x23, 0x00, 0x07, 0x01, 0x24, 0x01, 0x24, 
    -	0x00, 0x08, 0x01, 0x25, 0x01, 0x25, 0x00, 0x00, 0x01, 0x26, 0x01, 0x26, 
    -	0x00, 0x08, 0x01, 0x27, 0x01, 0x29, 0x00, 0x00, 0x01, 0x2a, 0x01, 0x2a, 
    -	0x00, 0x17, 0x01, 0x2b, 0x01, 0x2b, 0x00, 0x10, 0x01, 0x2c, 0x01, 0x2c, 
    -	0x00, 0x17, 0x01, 0x2d, 0x01, 0x2d, 0x00, 0x10, 0x01, 0x2e, 0x01, 0x2e, 
    -	0x00, 0x17, 0x01, 0x2f, 0x01, 0x2f, 0x00, 0x10, 0x01, 0x30, 0x01, 0x30, 
    -	0x00, 0x17, 0x01, 0x31, 0x01, 0x31, 0x00, 0x10, 0x01, 0x32, 0x01, 0x32, 
    -	0x00, 0x17, 0x01, 0x33, 0x01, 0x33, 0x00, 0x10, 0x01, 0x34, 0x01, 0x34, 
    -	0x00, 0x17, 0x01, 0x35, 0x01, 0x35, 0x00, 0x10, 0x01, 0x36, 0x01, 0x36, 
    -	0x00, 0x18, 0x01, 0x37, 0x01, 0x37, 0x00, 0x00, 0x01, 0x38, 0x01, 0x38, 
    -	0x00, 0x0a, 0x01, 0x39, 0x01, 0x39, 0x00, 0x11, 0x01, 0x3a, 0x01, 0x3a, 
    -	0x00, 0x0a, 0x01, 0x3b, 0x01, 0x3b, 0x00, 0x0e, 0x01, 0x3c, 0x01, 0x3c, 
    -	0x00, 0x1b, 0x01, 0x3d, 0x01, 0x3d, 0x00, 0x0e, 0x01, 0x3e, 0x01, 0x3e, 
    -	0x00, 0x1b, 0x01, 0x3f, 0x01, 0x3f, 0x00, 0x0e, 0x01, 0x40, 0x01, 0x40, 
    -	0x00, 0x1b, 0x01, 0x41, 0x01, 0x42, 0x00, 0x00, 0x01, 0x43, 0x01, 0x43, 
    -	0x00, 0x16, 0x01, 0x44, 0x01, 0x44, 0x00, 0x04, 0x01, 0x45, 0x01, 0x45, 
    -	0x00, 0x00, 0x01, 0x46, 0x01, 0x46, 0x00, 0x10, 0x01, 0x47, 0x01, 0x47, 
    -	0x00, 0x00, 0x01, 0x48, 0x01, 0x48, 0x00, 0x02, 0x01, 0x49, 0x01, 0x49, 
    -	0x00, 0x03, 0x01, 0x4a, 0x01, 0x4b, 0x00, 0x00, 0x01, 0x4c, 0x01, 0x4c, 
    -	0x00, 0x16, 0x01, 0x4d, 0x01, 0x4d, 0x00, 0x00, 0x01, 0x4e, 0x01, 0x4e, 
    -	0x00, 0x19, 0x01, 0x4f, 0x01, 0x4f, 0x00, 0x07, 0x01, 0x50, 0x01, 0x50, 
    -	0x00, 0x00, 0x01, 0x51, 0x01, 0x51, 0x00, 0x01, 0x01, 0x52, 0x01, 0x62, 
    -	0x00, 0x00, 0x01, 0x63, 0x01, 0x63, 0x00, 0x02, 0x01, 0x64, 0x01, 0x67, 
    -	0x00, 0x00, 0x01, 0x68, 0x01, 0x68, 0x00, 0x16, 0x01, 0x69, 0x01, 0x69, 
    -	0x00, 0x0a, 0x01, 0x6a, 0x01, 0x6b, 0x00, 0x00, 0x01, 0x6c, 0x01, 0x6c, 
    -	0x00, 0x02, 0x01, 0x6d, 0x01, 0x6e, 0x00, 0x00, 0x01, 0x6f, 0x01, 0x6f, 
    -	0x00, 0x02, 0x01, 0x70, 0x01, 0x70, 0x00, 0x00, 0x01, 0x71, 0x01, 0x71, 
    -	0x00, 0x0e, 0x01, 0x72, 0x01, 0x72, 0x00, 0x00, 0x01, 0x73, 0x01, 0x73, 
    -	0x00, 0x16, 0x01, 0x74, 0x01, 0x75, 0x00, 0x00, 0x01, 0x76, 0x01, 0x76, 
    -	0x00, 0x02, 0x01, 0x77, 0x01, 0x79, 0x00, 0x00, 0x01, 0x7a, 0x01, 0x7a, 
    -	0x00, 0x16, 0x01, 0x7b, 0x01, 0x7e, 0x00, 0x00, 0x01, 0x7f, 0x01, 0x7f, 
    -	0x00, 0x0a, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x01, 0x81, 0x01, 0x81, 
    -	0x00, 0x0d, 0x01, 0x82, 0x01, 0x84, 0x00, 0x00, 0x01, 0x85, 0x01, 0x85, 
    -	0x00, 0x0a, 0x01, 0x86, 0x01, 0x86, 0x00, 0x04, 0x01, 0x87, 0x01, 0x87, 
    -	0x00, 0x00, 0x01, 0x88, 0x01, 0x88, 0x00, 0x05, 0x01, 0x89, 0x01, 0x89, 
    -	0x00, 0x00, 0x01, 0x8a, 0x01, 0x8a, 0x00, 0x10, 0x01, 0x8b, 0x01, 0x8b, 
    -	0x00, 0x04, 0x01, 0x8c, 0x01, 0x8c, 0x00, 0x00, 0x01, 0x8d, 0x01, 0x8d, 
    -	0x00, 0x11, 0x01, 0x8e, 0x01, 0x90, 0x00, 0x00, 0x01, 0x91, 0x01, 0x91, 
    -	0x00, 0x05, 0x01, 0x92, 0x01, 0x96, 0x00, 0x00, 0x01, 0x97, 0x01, 0x97, 
    -	0x00, 0x11, 0x01, 0x98, 0x01, 0x98, 0x00, 0x00, 0x01, 0x99, 0x01, 0x99, 
    -	0x00, 0x06, 0x01, 0x9a, 0x01, 0x9b, 0x00, 0x00, 0x01, 0x9c, 0x01, 0x9d, 
    -	0x00, 0x04, 0x01, 0x9e, 0x01, 0x9e, 0x00, 0x00, 0x01, 0x9f, 0x01, 0x9f, 
    -	0x00, 0x10, 0x01, 0xa0, 0x01, 0xa4, 0x00, 0x00, 0x01, 0xa5, 0x01, 0xa5, 
    -	0x00, 0x10, 0x01, 0xa6, 0x01, 0xa6, 0x00, 0x06, 0x01, 0xa7, 0x01, 0xa7, 
    -	0x00, 0x10, 0x01, 0xa8, 0x01, 0xad, 0x00, 0x00, 0x01, 0xae, 0x01, 0xae, 
    -	0x00, 0x08, 0x01, 0xaf, 0x01, 0xaf, 0x00, 0x00, 0x01, 0xb0, 0x01, 0xb0, 
    -	0x00, 0x16, 0x01, 0xb1, 0x01, 0xb3, 0x00, 0x00, 0x01, 0xb4, 0x01, 0xb4, 
    -	0x00, 0x1c, 0x01, 0xb5, 0x01, 0xb5, 0x00, 0x0f, 0x01, 0xb6, 0x01, 0xb6, 
    -	0x00, 0x00, 0x01, 0xb7, 0x01, 0xb7, 0x00, 0x08, 0x01, 0xb8, 0x01, 0xb9, 
    -	0x00, 0x00, 0x01, 0xba, 0x01, 0xba, 0x00, 0x0b, 0x01, 0xbb, 0x01, 0xbb, 
    -	0x00, 0x00, 0x01, 0xbc, 0x01, 0xbc, 0x00, 0x02, 0x01, 0xbd, 0x01, 0xc1, 
    -	0x00, 0x00, 0x01, 0xc2, 0x01, 0xc2, 0x00, 0x0d, 0x01, 0xc3, 0x01, 0xc6, 
    -	0x00, 0x00, 0x01, 0xc7, 0x01, 0xc7, 0x00, 0x0f, 0x01, 0xc8, 0x01, 0xc9, 
    -	0x00, 0x00, 0x01, 0xca, 0x01, 0xca, 0x00, 0x16, 0x01, 0xcb, 0x01, 0xcc, 
    -	0x00, 0x00, 0x01, 0xcd, 0x01, 0xcd, 0x00, 0x16, 0x01, 0xce, 0x01, 0xce, 
    -	0x00, 0x08, 0x01, 0xcf, 0x01, 0xcf, 0x00, 0x0b, 0x01, 0xd0, 0x01, 0xd0, 
    -	0x00, 0x00, 0x01, 0xd1, 0x01, 0xd1, 0x00, 0x0d, 0x01, 0xd2, 0x01, 0xd2, 
    -	0x00, 0x00, 0x01, 0xd3, 0x01, 0xd3, 0x00, 0x12, 0x01, 0xd4, 0x01, 0xdb, 
    -	0x00, 0x00, 0x01, 0xdc, 0x01, 0xdc, 0x00, 0x03, 0x01, 0xdd, 0x01, 0xde, 
    -	0x00, 0x00, 0x01, 0xdf, 0x01, 0xdf, 0x00, 0x05, 0x01, 0xe0, 0x01, 0xe0, 
    -	0x00, 0x00, 0x01, 0xe1, 0x01, 0xe1, 0x00, 0x04, 0x01, 0xe2, 0x01, 0xe2, 
    -	0x00, 0x1a, 0x01, 0xe3, 0x01, 0xe3, 0x00, 0x00, 0x01, 0xe4, 0x01, 0xe6, 
    -	0x00, 0x05, 0x01, 0xe7, 0x01, 0xe7, 0x00, 0x13, 0x01, 0xe8, 0x01, 0xe9, 
    -	0x00, 0x05, 0x01, 0xea, 0x01, 0xea, 0x00, 0x06, 0x01, 0xeb, 0x01, 0xec, 
    -	0x00, 0x05, 0x01, 0xed, 0x01, 0xed, 0x00, 0x04, 0x01, 0xee, 0x01, 0xee, 
    -	0x00, 0x00, 0x01, 0xef, 0x01, 0xef, 0x00, 0x11, 0x01, 0xf0, 0x01, 0xf0, 
    -	0x00, 0x04, 0x01, 0xf1, 0x01, 0xf1, 0x00, 0x1a, 0x01, 0xf2, 0x01, 0xf2, 
    -	0x00, 0x05, 0x01, 0xf3, 0x01, 0xf3, 0x00, 0x14, 0x01, 0xf4, 0x01, 0xf5, 
    -	0x00, 0x05, 0x01, 0xf6, 0x01, 0xf7, 0x00, 0x00, 0x01, 0xf8, 0x01, 0xf8, 
    -	0x00, 0x05, 0x01, 0xf9, 0x01, 0xf9, 0x00, 0x00, 0x01, 0xfa, 0x01, 0xfa, 
    -	0x00, 0x05, 0x01, 0xfb, 0x01, 0xfb, 0x00, 0x00, 0x01, 0xfc, 0x01, 0xfd, 
    -	0x00, 0x04, 0x01, 0xfe, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xff, 0x01, 0xff, 
    -	0x00, 0x05, 0x02, 0x00, 0x02, 0x00, 0x00, 0x04, 0x02, 0x01, 0x02, 0x01, 
    -	0x00, 0x07, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x02, 0x05, 0x02, 0x05, 
    -	0x00, 0x13, 0x02, 0x06, 0x02, 0x06, 0x00, 0x05, 0x02, 0x07, 0x02, 0x07, 
    -	0x00, 0x00, 0x02, 0x08, 0x02, 0x09, 0x00, 0x05, 0x02, 0x0a, 0x02, 0x0a, 
    -	0x00, 0x11, 0x02, 0x0b, 0x02, 0x0b, 0x00, 0x00, 0x02, 0x0c, 0x02, 0x0c, 
    -	0x00, 0x16, 0x02, 0x0d, 0x02, 0x11, 0x00, 0x00, 0x02, 0x12, 0x02, 0x12, 
    -	0x00, 0x02, 0x02, 0x13, 0x02, 0x1d, 0x00, 0x00, 0x02, 0x1e, 0x02, 0x1e, 
    -	0x00, 0x16, 0x02, 0x1f, 0x02, 0x1f, 0x00, 0x06, 0x02, 0x20, 0x02, 0x20, 
    -	0x00, 0x09, 0x02, 0x21, 0x02, 0x21, 0x00, 0x11, 0x02, 0x22, 0x02, 0x22, 
    -	0x00, 0x09, 0x02, 0x23, 0x02, 0x23, 0x00, 0x11, 0x02, 0x24, 0x02, 0x24, 
    -	0x00, 0x16, 0x02, 0x25, 0x02, 0x25, 0x00, 0x04, 0x02, 0x26, 0x02, 0x26, 
    -	0x00, 0x16, 0x02, 0x27, 0x02, 0x27, 0x00, 0x00, 0x02, 0x28, 0x02, 0x28, 
    -	0x00, 0x16, 0x02, 0x29, 0x02, 0x29, 0x00, 0x04, 0x02, 0x2a, 0x02, 0x2a, 
    -	0x00, 0x16, 0x02, 0x2b, 0x02, 0x2b, 0x00, 0x00, 0x02, 0x2c, 0x02, 0x2c, 
    -	0x00, 0x16, 0x02, 0x2d, 0x02, 0x2d, 0x00, 0x04, 0x02, 0x2e, 0x02, 0x35, 
    -	0x00, 0x00, 0x02, 0x36, 0x02, 0x36, 0x00, 0x05, 0x02, 0x37, 0x02, 0x40, 
    -	0x00, 0x00, 0x02, 0x41, 0x02, 0x41, 0x00, 0x0d, 0x02, 0x42, 0x02, 0x42, 
    -	0x00, 0x1a, 0x02, 0x43, 0x02, 0x45, 0x00, 0x00, 0x02, 0x46, 0x02, 0x46, 
    -	0x00, 0x05, 0x02, 0x47, 0x02, 0x4a, 0x00, 0x00, 0x02, 0x4b, 0x02, 0x4b, 
    -	0x00, 0x08, 0x02, 0x4c, 0x02, 0x4d, 0x00, 0x00, 0x02, 0x4e, 0x02, 0x4e, 
    -	0x00, 0x05, 0x02, 0x4f, 0x02, 0x4f, 0x00, 0x00, 0x02, 0x50, 0x02, 0x50, 
    -	0x00, 0x05, 0x02, 0x51, 0x02, 0x52, 0x00, 0x00, 0x02, 0x53, 0x02, 0x53, 
    -	0x00, 0x16, 0x02, 0x54, 0x02, 0x54, 0x00, 0x04, 0x02, 0x55, 0x02, 0x55, 
    -	0x00, 0x16, 0x02, 0x56, 0x02, 0x56, 0x00, 0x04, 0x02, 0x57, 0x02, 0x57, 
    -	0x00, 0x08, 0x02, 0x58, 0x02, 0x58, 0x00, 0x00, 0x02, 0x59, 0x02, 0x59, 
    -	0x00, 0x0a, 0x02, 0x5a, 0x02, 0x5a, 0x00, 0x11, 0x02, 0x5b, 0x02, 0x5b, 
    -	0x00, 0x0a, 0x02, 0x5c, 0x02, 0x5c, 0x00, 0x00, 0x02, 0x5d, 0x02, 0x5d, 
    -	0x00, 0x0d, 0x02, 0x5e, 0x02, 0x5e, 0x00, 0x1a, 0x02, 0x5f, 0x02, 0x5f, 
    -	0x00, 0x08, 0x02, 0x60, 0x02, 0x60, 0x00, 0x00, 0x02, 0x61, 0x02, 0x61, 
    -	0x00, 0x12, 0x02, 0x62, 0x02, 0x62, 0x00, 0x14, 0x02, 0x63, 0x02, 0x6b, 
    -	0x00, 0x00, 0x02, 0x6c, 0x02, 0x6c, 0x00, 0x0d, 0x02, 0x6d, 0x02, 0x6d, 
    -	0x00, 0x1a, 0x02, 0x6e, 0x02, 0x6f, 0x00, 0x00, 0x02, 0x70, 0x02, 0x70, 
    -	0x00, 0x0f, 0x02, 0x71, 0x02, 0x71, 0x00, 0x13, 0x02, 0x72, 0x02, 0x72, 
    -	0x00, 0x00, 0x02, 0x73, 0x02, 0x73, 0x00, 0x05, 0x02, 0x74, 0x02, 0x74, 
    -	0x00, 0x00, 0x02, 0x75, 0x02, 0x75, 0x00, 0x05, 0x02, 0x76, 0x02, 0x76, 
    -	0x00, 0x12, 0x02, 0x77, 0x02, 0x77, 0x00, 0x14, 0x02, 0x78, 0x02, 0x78, 
    -	0x00, 0x00, 0x02, 0x79, 0x02, 0x79, 0x00, 0x05, 0x02, 0x7a, 0x02, 0x7a, 
    -	0x00, 0x00, 0x02, 0x7b, 0x02, 0x7b, 0x00, 0x02, 0x02, 0x7c, 0x02, 0x7c, 
    -	0x00, 0x03, 0x02, 0x7d, 0x02, 0x7d, 0x00, 0x02, 0x02, 0x7e, 0x02, 0x7e, 
    -	0x00, 0x03, 0x02, 0x7f, 0x02, 0x81, 0x00, 0x00, 0x02, 0x82, 0x02, 0x82, 
    -	0x00, 0x04, 0x02, 0x83, 0x02, 0x83, 0x00, 0x00, 0x02, 0x84, 0x02, 0x84, 
    -	0x00, 0x04, 0x02, 0x85, 0x02, 0x85, 0x00, 0x00, 0x02, 0x86, 0x02, 0x86, 
    -	0x00, 0x04, 0x02, 0x87, 0x02, 0x87, 0x00, 0x0d, 0x02, 0x88, 0x02, 0x88, 
    -	0x00, 0x1a, 0x02, 0x89, 0x02, 0x8d, 0x00, 0x00, 0x02, 0x8e, 0x02, 0x8e, 
    -	0x00, 0x05, 0x02, 0x8f, 0x02, 0x8f, 0x00, 0x00, 0x02, 0x90, 0x02, 0x90, 
    -	0x00, 0x05, 0x02, 0x91, 0x02, 0x91, 0x00, 0x16, 0x02, 0x92, 0x02, 0x92, 
    -	0x00, 0x06, 0x02, 0x93, 0x02, 0x93, 0x00, 0x16, 0x02, 0x94, 0x02, 0x94, 
    -	0x00, 0x04, 0x02, 0x95, 0x02, 0x95, 0x00, 0x16, 0x02, 0x96, 0x02, 0x96, 
    -	0x00, 0x06, 0x02, 0x97, 0x02, 0x98, 0x00, 0x00, 0x02, 0x99, 0x02, 0x99, 
    -	0x00, 0x0b, 0x02, 0x9a, 0x02, 0x9a, 0x00, 0x11, 0x02, 0x9b, 0x02, 0x9b, 
    -	0x00, 0x0b, 0x02, 0x9c, 0x02, 0x9c, 0x00, 0x11, 0x02, 0x9d, 0x02, 0x9d, 
    -	0x00, 0x0b, 0x02, 0x9e, 0x02, 0x9e, 0x00, 0x11, 0x02, 0x9f, 0x02, 0x9f, 
    -	0x00, 0x12, 0x02, 0xa0, 0x02, 0xa0, 0x00, 0x14, 0x02, 0xa1, 0x02, 0xa1, 
    -	0x00, 0x00, 0x02, 0xa2, 0x02, 0xa2, 0x00, 0x05, 0x02, 0xa3, 0x02, 0xa3, 
    -	0x00, 0x00, 0x02, 0xa4, 0x02, 0xa4, 0x00, 0x05, 0x02, 0xa5, 0x02, 0xa5, 
    -	0x00, 0x00, 0x02, 0xa6, 0x02, 0xa6, 0x00, 0x05, 0x02, 0xa7, 0x02, 0xa7, 
    -	0x00, 0x0d, 0x02, 0xa8, 0x02, 0xa8, 0x00, 0x1a, 0x02, 0xa9, 0x02, 0xab, 
    -	0x00, 0x00, 0x02, 0xac, 0x02, 0xae, 0x00, 0x04, 0x02, 0xaf, 0x02, 0xb2, 
    -	0x00, 0x00, 0x02, 0xb3, 0x02, 0xb3, 0x00, 0x0f, 0x02, 0xb4, 0x02, 0xb6, 
    -	0x00, 0x00, 0x02, 0xb7, 0x02, 0xb7, 0x00, 0x16, 0x02, 0xb8, 0x02, 0xb8, 
    -	0x00, 0x04, 0x02, 0xb9, 0x02, 0xbc, 0x00, 0x00, 0x02, 0xbd, 0x02, 0xbd, 
    -	0x00, 0x0f, 0x02, 0xbe, 0x02, 0xbe, 0x00, 0x13, 0x02, 0xbf, 0x02, 0xbf, 
    -	0x00, 0x02, 0x02, 0xc0, 0x02, 0xc0, 0x00, 0x03, 0x02, 0xc1, 0x02, 0xc1, 
    -	0x00, 0x00, 0x02, 0xc2, 0x02, 0xc2, 0x00, 0x05, 0x02, 0xc3, 0x02, 0xc3, 
    -	0x00, 0x18, 0x02, 0xc4, 0x02, 0xc4, 0x00, 0x00, 0x02, 0xc5, 0x02, 0xc5, 
    -	0x00, 0x18, 0x02, 0xc6, 0x02, 0xc6, 0x00, 0x00, 0x02, 0xc7, 0x02, 0xc7, 
    -	0x00, 0x18, 0x02, 0xc8, 0x02, 0xc8, 0x00, 0x00, 0x02, 0xc9, 0x02, 0xc9, 
    -	0x00, 0x02, 0x02, 0xca, 0x02, 0xca, 0x00, 0x03, 0x02, 0xcb, 0x02, 0xcb, 
    -	0x00, 0x02, 0x02, 0xcc, 0x02, 0xcc, 0x00, 0x03, 0x02, 0xcd, 0x02, 0xcd, 
    -	0x00, 0x02, 0x02, 0xce, 0x02, 0xce, 0x00, 0x03, 0x02, 0xcf, 0x02, 0xcf, 
    -	0x00, 0x02, 0x02, 0xd0, 0x02, 0xd0, 0x00, 0x03, 0x02, 0xd1, 0x02, 0xd1, 
    -	0x00, 0x02, 0x02, 0xd2, 0x02, 0xd2, 0x00, 0x03, 0x02, 0xd3, 0x02, 0xd3, 
    -	0x00, 0x02, 0x02, 0xd4, 0x02, 0xd4, 0x00, 0x03, 0x02, 0xd5, 0x02, 0xd5, 
    -	0x00, 0x02, 0x02, 0xd6, 0x02, 0xd6, 0x00, 0x03, 0x02, 0xd7, 0x02, 0xd7, 
    -	0x00, 0x02, 0x02, 0xd8, 0x02, 0xd8, 0x00, 0x03, 0x02, 0xd9, 0x02, 0xd9, 
    -	0x00, 0x02, 0x02, 0xda, 0x02, 0xda, 0x00, 0x03, 0x02, 0xdb, 0x02, 0xdb, 
    -	0x00, 0x02, 0x02, 0xdc, 0x02, 0xdc, 0x00, 0x03, 0x02, 0xdd, 0x02, 0xdd, 
    -	0x00, 0x02, 0x02, 0xde, 0x02, 0xde, 0x00, 0x03, 0x02, 0xdf, 0x02, 0xdf, 
    -	0x00, 0x02, 0x02, 0xe0, 0x02, 0xe0, 0x00, 0x03, 0x02, 0xe1, 0x02, 0xe1, 
    -	0x00, 0x00, 0x02, 0xe2, 0x02, 0xe2, 0x00, 0x04, 0x02, 0xe3, 0x02, 0xe3, 
    -	0x00, 0x00, 0x02, 0xe4, 0x02, 0xe4, 0x00, 0x04, 0x02, 0xe5, 0x02, 0xe5, 
    -	0x00, 0x00, 0x02, 0xe6, 0x02, 0xe6, 0x00, 0x04, 0x02, 0xe7, 0x02, 0xe7, 
    -	0x00, 0x00, 0x02, 0xe8, 0x02, 0xe8, 0x00, 0x04, 0x02, 0xe9, 0x02, 0xe9, 
    -	0x00, 0x00, 0x02, 0xea, 0x02, 0xea, 0x00, 0x04, 0x02, 0xeb, 0x02, 0xeb, 
    -	0x00, 0x00, 0x02, 0xec, 0x02, 0xec, 0x00, 0x04, 0x02, 0xed, 0x02, 0xed, 
    -	0x00, 0x00, 0x02, 0xee, 0x02, 0xee, 0x00, 0x04, 0x02, 0xef, 0x02, 0xef, 
    -	0x00, 0x00, 0x02, 0xf0, 0x02, 0xf0, 0x00, 0x04, 0x02, 0xf1, 0x02, 0xf4, 
    -	0x00, 0x00, 0x02, 0xf5, 0x02, 0xf5, 0x00, 0x16, 0x02, 0xf6, 0x02, 0xf6, 
    -	0x00, 0x06, 0x02, 0xf7, 0x02, 0xf7, 0x00, 0x16, 0x02, 0xf8, 0x02, 0xf8, 
    -	0x00, 0x06, 0x02, 0xf9, 0x02, 0xf9, 0x00, 0x16, 0x02, 0xfa, 0x02, 0xfa, 
    -	0x00, 0x06, 0x02, 0xfb, 0x02, 0xfb, 0x00, 0x16, 0x02, 0xfc, 0x02, 0xfc, 
    -	0x00, 0x06, 0x02, 0xfd, 0x02, 0xfd, 0x00, 0x16, 0x02, 0xfe, 0x02, 0xfe, 
    -	0x00, 0x06, 0x02, 0xff, 0x02, 0xff, 0x00, 0x16, 0x03, 0x00, 0x03, 0x00, 
    -	0x00, 0x06, 0x03, 0x01, 0x03, 0x01, 0x00, 0x16, 0x03, 0x02, 0x03, 0x02, 
    -	0x00, 0x06, 0x03, 0x03, 0x03, 0x03, 0x00, 0x16, 0x03, 0x04, 0x03, 0x04, 
    -	0x00, 0x04, 0x03, 0x05, 0x03, 0x05, 0x00, 0x16, 0x03, 0x06, 0x03, 0x06, 
    -	0x00, 0x04, 0x03, 0x07, 0x03, 0x07, 0x00, 0x16, 0x03, 0x08, 0x03, 0x08, 
    -	0x00, 0x04, 0x03, 0x09, 0x03, 0x09, 0x00, 0x16, 0x03, 0x0a, 0x03, 0x0a, 
    -	0x00, 0x06, 0x03, 0x0b, 0x03, 0x0b, 0x00, 0x16, 0x03, 0x0c, 0x03, 0x0c, 
    -	0x00, 0x04, 0x03, 0x0d, 0x03, 0x0d, 0x00, 0x17, 0x03, 0x0e, 0x03, 0x0e, 
    -	0x00, 0x10, 0x03, 0x0f, 0x03, 0x0f, 0x00, 0x17, 0x03, 0x10, 0x03, 0x10, 
    -	0x00, 0x10, 0x03, 0x11, 0x03, 0x11, 0x00, 0x00, 0x03, 0x12, 0x03, 0x12, 
    -	0x00, 0x10, 0x03, 0x13, 0x03, 0x13, 0x00, 0x00, 0x03, 0x14, 0x03, 0x14, 
    -	0x00, 0x10, 0x03, 0x15, 0x03, 0x15, 0x00, 0x00, 0x03, 0x16, 0x03, 0x16, 
    -	0x00, 0x10, 0x03, 0x17, 0x03, 0x17, 0x00, 0x00, 0x03, 0x18, 0x03, 0x18, 
    -	0x00, 0x10, 0x03, 0x19, 0x03, 0x19, 0x00, 0x00, 0x03, 0x1a, 0x03, 0x1a, 
    -	0x00, 0x10, 0x03, 0x1b, 0x03, 0x1b, 0x00, 0x0a, 0x03, 0x1c, 0x03, 0x1c, 
    -	0x00, 0x11, 0x03, 0x1d, 0x03, 0x1d, 0x00, 0x0a, 0x03, 0x1e, 0x03, 0x1e, 
    -	0x00, 0x11, 0x03, 0x1f, 0x03, 0x1f, 0x00, 0x0a, 0x03, 0x20, 0x03, 0x20, 
    -	0x00, 0x11, 0x03, 0x21, 0x03, 0x21, 0x00, 0x0a, 0x03, 0x22, 0x03, 0x22, 
    -	0x00, 0x11, 0x03, 0x23, 0x03, 0x23, 0x00, 0x16, 0x03, 0x24, 0x03, 0x2f, 
    -	0x00, 0x00, 0x03, 0x30, 0x03, 0x32, 0x00, 0x15, 0x03, 0x33, 0x03, 0x33, 
    -	0x00, 0x00, 0x03, 0x34, 0x03, 0x35, 0x00, 0x01, 0x03, 0x36, 0x03, 0x36, 
    -	0x00, 0x0c, 0x03, 0x37, 0x03, 0x39, 0x00, 0x01, 0x03, 0x3a, 0x03, 0x3a, 
    -	0x00, 0x0c, 0x03, 0x3b, 0x03, 0x3d, 0x00, 0x00, 0x03, 0x3e, 0x03, 0x3f, 
    -	0x00, 0x0c, 0x03, 0x40, 0x03, 0x40, 0x00, 0x00, 0x03, 0x41, 0x03, 0x42, 
    -	0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x36, 
    -	0x00, 0x6e, 0x00, 0x02, 0x44, 0x46, 0x4c, 0x54, 0x00, 0x0e, 0x6c, 0x61, 
    -	0x74, 0x6e, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 
    -	0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 
    -	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 
    -	0x61, 0x61, 0x6c, 0x74, 0x00, 0x20, 0x61, 0x61, 0x6c, 0x74, 0x00, 0x20, 
    -	0x6c, 0x69, 0x67, 0x61, 0x00, 0x26, 0x6c, 0x6e, 0x75, 0x6d, 0x00, 0x2c, 
    -	0x73, 0x6d, 0x63, 0x70, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x0a, 0x02, 0x5a, 
    -	0x04, 0x90, 0x04, 0xb0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 
    -	0x00, 0x02, 0x01, 0xd2, 0x00, 0xe6, 0x03, 0x7f, 0x03, 0x9d, 0x03, 0x9e, 
    -	0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa4, 
    -	0x03, 0xa5, 0x03, 0x91, 0x03, 0x8e, 0x03, 0x8d, 0x03, 0x8c, 0x03, 0x8b, 
    -	0x03, 0x8a, 0x03, 0x89, 0x03, 0x88, 0x03, 0x87, 0x03, 0x86, 0x03, 0x85, 
    -	0x03, 0x84, 0x03, 0x83, 0x03, 0x81, 0x03, 0x80, 0x03, 0xa6, 0x03, 0x7e, 
    -	0x03, 0x7d, 0x03, 0x7c, 0x03, 0x7b, 0x03, 0x7a, 0x03, 0x79, 0x03, 0x78, 
    -	0x03, 0x77, 0x03, 0x76, 0x03, 0x75, 0x03, 0x91, 0x03, 0x8e, 0x03, 0x8d, 
    -	0x03, 0x8c, 0x03, 0x8b, 0x03, 0x8a, 0x03, 0x89, 0x03, 0x88, 0x03, 0x87, 
    -	0x03, 0x86, 0x03, 0x85, 0x03, 0x84, 0x03, 0x83, 0x03, 0x81, 0x03, 0x80, 
    -	0x03, 0xa6, 0x03, 0x7e, 0x03, 0x7d, 0x03, 0x7c, 0x03, 0x7b, 0x03, 0x7a, 
    -	0x03, 0x79, 0x03, 0x78, 0x03, 0x77, 0x03, 0x76, 0x03, 0x75, 0x03, 0xb8, 
    -	0x03, 0xb9, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbf, 
    -	0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, 
    -	0x03, 0xc6, 0x03, 0xc7, 0x03, 0xb6, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 
    -	0x03, 0xcb, 0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 0x03, 0xcf, 0x03, 0xd0, 
    -	0x03, 0xd1, 0x03, 0xd2, 0x04, 0x03, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, 
    -	0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc1, 
    -	0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc7, 
    -	0x03, 0xb6, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, 0x03, 0xcc, 
    -	0x03, 0xcd, 0x03, 0xce, 0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 
    -	0x04, 0x07, 0x03, 0xd3, 0x03, 0xd3, 0x03, 0xd4, 0x03, 0xd4, 0x03, 0xd5, 
    -	0x03, 0xd5, 0x03, 0xd6, 0x03, 0xd6, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd9, 
    -	0x03, 0xd9, 0x03, 0xda, 0x03, 0xda, 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xdb, 
    -	0x03, 0xdb, 0x03, 0xdc, 0x03, 0xdc, 0x03, 0xdd, 0x03, 0xdd, 0x03, 0xde, 
    -	0x03, 0xde, 0x03, 0xdf, 0x03, 0xdf, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe1, 
    -	0x03, 0xe1, 0x03, 0xe3, 0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe4, 0x03, 0xe5, 
    -	0x03, 0xe5, 0x03, 0x6b, 0x03, 0x6b, 0x03, 0xe7, 0x03, 0xe7, 0x03, 0xe8, 
    -	0x03, 0xe8, 0x03, 0xe9, 0x03, 0xea, 0x03, 0xea, 0x03, 0xeb, 0x03, 0xeb, 
    -	0x03, 0xec, 0x03, 0xec, 0x03, 0xed, 0x03, 0xed, 0x03, 0xee, 0x03, 0xee, 
    -	0x03, 0xef, 0x03, 0xef, 0x03, 0xf0, 0x03, 0xf0, 0x03, 0xf1, 0x03, 0xf1, 
    -	0x03, 0xf2, 0x03, 0xf2, 0x03, 0xf3, 0x03, 0xf3, 0x03, 0xf4, 0x03, 0xf4, 
    -	0x03, 0xf5, 0x03, 0xf5, 0x03, 0xf6, 0x03, 0xf6, 0x03, 0xf7, 0x03, 0xf7, 
    -	0x03, 0xf8, 0x03, 0xf8, 0x03, 0xf9, 0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfa, 
    -	0x03, 0xfb, 0x03, 0xfb, 0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfd, 0x03, 0xfd, 
    -	0x03, 0xfe, 0x03, 0xfe, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xff, 0x03, 0xff, 
    -	0x04, 0x00, 0x04, 0x00, 0x04, 0x01, 0x04, 0x01, 0x04, 0x02, 0x04, 0x02, 
    -	0x03, 0xe6, 0x03, 0xe6, 0x04, 0x0a, 0x04, 0x0a, 0x04, 0x09, 0x04, 0x09, 
    -	0x04, 0x08, 0x04, 0x08, 0x04, 0x07, 0x04, 0x06, 0x04, 0x06, 0x04, 0x05, 
    -	0x04, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0xbe, 0x03, 0xbe, 0x00, 0x02, 
    -	0x00, 0x13, 0x00, 0x13, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x24, 0x00, 0x3d, 
    -	0x00, 0x0a, 0x00, 0x44, 0x00, 0x5d, 0x00, 0x24, 0x00, 0x82, 0x00, 0x87, 
    -	0x00, 0x3e, 0x00, 0x89, 0x00, 0x98, 0x00, 0x44, 0x00, 0x9b, 0x00, 0x9f, 
    -	0x00, 0x54, 0x00, 0xa1, 0x00, 0xa7, 0x00, 0x59, 0x00, 0xa9, 0x00, 0xb8, 
    -	0x00, 0x60, 0x00, 0xbb, 0x00, 0xbf, 0x00, 0x70, 0x00, 0xc1, 0x00, 0xcb, 
    -	0x00, 0x75, 0x00, 0xce, 0x00, 0xe1, 0x00, 0x80, 0x00, 0xe4, 0x00, 0xe7, 
    -	0x00, 0x94, 0x00, 0xea, 0x00, 0xf2, 0x00, 0x98, 0x00, 0xf6, 0x00, 0xf9, 
    -	0x00, 0xa1, 0x00, 0xfb, 0x01, 0x02, 0x00, 0xa5, 0x01, 0x05, 0x01, 0x0a, 
    -	0x00, 0xad, 0x01, 0x0e, 0x01, 0x13, 0x00, 0xb3, 0x01, 0x16, 0x01, 0x40, 
    -	0x00, 0xb9, 0x01, 0x48, 0x01, 0x49, 0x00, 0xe4, 0x00, 0x01, 0x00, 0x00, 
    -	0x00, 0x01, 0x00, 0x08, 0x00, 0x02, 0x01, 0xbe, 0x00, 0xdc, 0x03, 0x91, 
    -	0x03, 0x8e, 0x03, 0x8d, 0x03, 0x8c, 0x03, 0x8b, 0x03, 0x8a, 0x03, 0x89, 
    -	0x03, 0x88, 0x03, 0x87, 0x03, 0x86, 0x03, 0x85, 0x03, 0x84, 0x03, 0x83, 
    -	0x03, 0x81, 0x03, 0x80, 0x03, 0xa6, 0x03, 0x7e, 0x03, 0x7d, 0x03, 0x7c, 
    -	0x03, 0x7b, 0x03, 0x7a, 0x03, 0x79, 0x03, 0x78, 0x03, 0x77, 0x03, 0x76, 
    -	0x03, 0x75, 0x03, 0x91, 0x03, 0x8e, 0x03, 0x8d, 0x03, 0x8c, 0x03, 0x8b, 
    -	0x03, 0x8a, 0x03, 0x89, 0x03, 0x88, 0x03, 0x87, 0x03, 0x86, 0x03, 0x85, 
    -	0x03, 0x84, 0x03, 0x83, 0x03, 0x81, 0x03, 0x80, 0x03, 0xa6, 0x03, 0x7e, 
    -	0x03, 0x7d, 0x03, 0x7c, 0x03, 0x7b, 0x03, 0x7a, 0x03, 0x79, 0x03, 0x78, 
    -	0x03, 0x77, 0x03, 0x76, 0x03, 0x75, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, 
    -	0x03, 0xbb, 0x03, 0xbc, 0x03, 0xbd, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc1, 
    -	0x03, 0xc2, 0x03, 0xc3, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc7, 
    -	0x03, 0xb6, 0x03, 0xc8, 0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, 0x03, 0xcc, 
    -	0x03, 0xcd, 0x03, 0xce, 0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 
    -	0x04, 0x03, 0x03, 0xb8, 0x03, 0xb9, 0x03, 0xba, 0x03, 0xbb, 0x03, 0xbc, 
    -	0x03, 0xbd, 0x03, 0xbf, 0x03, 0xc0, 0x03, 0xc1, 0x03, 0xc2, 0x03, 0xc3, 
    -	0x03, 0xc4, 0x03, 0xc5, 0x03, 0xc6, 0x03, 0xc7, 0x03, 0xb6, 0x03, 0xc8, 
    -	0x03, 0xc9, 0x03, 0xca, 0x03, 0xcb, 0x03, 0xcc, 0x03, 0xcd, 0x03, 0xce, 
    -	0x03, 0xcf, 0x03, 0xd0, 0x03, 0xd1, 0x03, 0xd2, 0x04, 0x07, 0x03, 0xd3, 
    -	0x03, 0xd3, 0x03, 0xd4, 0x03, 0xd4, 0x03, 0xd5, 0x03, 0xd5, 0x03, 0xd6, 
    -	0x03, 0xd6, 0x03, 0xd7, 0x03, 0xd7, 0x03, 0xd9, 0x03, 0xd9, 0x03, 0xda, 
    -	0x03, 0xda, 0x03, 0xb5, 0x03, 0xb5, 0x03, 0xdb, 0x03, 0xdb, 0x03, 0xdc, 
    -	0x03, 0xdc, 0x03, 0xdd, 0x03, 0xdd, 0x03, 0xde, 0x03, 0xde, 0x03, 0xdf, 
    -	0x03, 0xdf, 0x03, 0xe0, 0x03, 0xe0, 0x03, 0xe1, 0x03, 0xe1, 0x03, 0xe3, 
    -	0x03, 0xe3, 0x03, 0xe4, 0x03, 0xe4, 0x03, 0xe5, 0x03, 0xe5, 0x03, 0x6b, 
    -	0x03, 0x6b, 0x03, 0xe7, 0x03, 0xe7, 0x03, 0xe8, 0x03, 0xe8, 0x03, 0xe9, 
    -	0x03, 0xea, 0x03, 0xea, 0x03, 0xeb, 0x03, 0xeb, 0x03, 0xec, 0x03, 0xec, 
    -	0x03, 0xed, 0x03, 0xed, 0x03, 0xee, 0x03, 0xee, 0x03, 0xef, 0x03, 0xef, 
    -	0x03, 0xf0, 0x03, 0xf0, 0x03, 0xf1, 0x03, 0xf1, 0x03, 0xf2, 0x03, 0xf2, 
    -	0x03, 0xf3, 0x03, 0xf3, 0x03, 0xf4, 0x03, 0xf4, 0x03, 0xf5, 0x03, 0xf5, 
    -	0x03, 0xf6, 0x03, 0xf6, 0x03, 0xf7, 0x03, 0xf7, 0x03, 0xf8, 0x03, 0xf8, 
    -	0x03, 0xf9, 0x03, 0xf9, 0x03, 0xfa, 0x03, 0xfa, 0x03, 0xfb, 0x03, 0xfb, 
    -	0x03, 0xfc, 0x03, 0xfc, 0x03, 0xfd, 0x03, 0xfd, 0x03, 0xfe, 0x03, 0xfe, 
    -	0x03, 0xb7, 0x03, 0xb7, 0x03, 0xff, 0x03, 0xff, 0x04, 0x00, 0x04, 0x00, 
    -	0x04, 0x01, 0x04, 0x01, 0x04, 0x02, 0x04, 0x02, 0x03, 0xe6, 0x03, 0xe6, 
    -	0x04, 0x0a, 0x04, 0x0a, 0x04, 0x09, 0x04, 0x09, 0x04, 0x08, 0x04, 0x08, 
    -	0x04, 0x07, 0x04, 0x06, 0x04, 0x06, 0x04, 0x05, 0x04, 0x05, 0x04, 0x04, 
    -	0x04, 0x04, 0x03, 0xbe, 0x03, 0xbe, 0x00, 0x02, 0x00, 0x12, 0x00, 0x24, 
    -	0x00, 0x3d, 0x00, 0x00, 0x00, 0x44, 0x00, 0x5d, 0x00, 0x1a, 0x00, 0x82, 
    -	0x00, 0x87, 0x00, 0x34, 0x00, 0x89, 0x00, 0x98, 0x00, 0x3a, 0x00, 0x9b, 
    -	0x00, 0x9f, 0x00, 0x4a, 0x00, 0xa1, 0x00, 0xa7, 0x00, 0x4f, 0x00, 0xa9, 
    -	0x00, 0xb8, 0x00, 0x56, 0x00, 0xbb, 0x00, 0xbf, 0x00, 0x66, 0x00, 0xc1, 
    -	0x00, 0xcb, 0x00, 0x6b, 0x00, 0xce, 0x00, 0xe1, 0x00, 0x76, 0x00, 0xe4, 
    -	0x00, 0xe7, 0x00, 0x8a, 0x00, 0xea, 0x00, 0xf2, 0x00, 0x8e, 0x00, 0xf6, 
    -	0x00, 0xf9, 0x00, 0x97, 0x00, 0xfb, 0x01, 0x02, 0x00, 0x9b, 0x01, 0x05, 
    -	0x01, 0x0a, 0x00, 0xa3, 0x01, 0x0e, 0x01, 0x13, 0x00, 0xa9, 0x01, 0x16, 
    -	0x01, 0x40, 0x00, 0xaf, 0x01, 0x48, 0x01, 0x49, 0x00, 0xda, 0x00, 0x04, 
    -	0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 
    -	0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x03, 0x64, 0x00, 0x02, 0x00, 0x4c, 
    -	0x00, 0x01, 0x00, 0x01, 0x00, 0x49, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
    -	0x00, 0x08, 0x00, 0x02, 0x00, 0x1a, 0x00, 0x0a, 0x03, 0x7f, 0x03, 0x9d, 
    -	0x03, 0x9e, 0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 
    -	0x03, 0xa4, 0x03, 0xa5, 0x00, 0x02, 0x00, 0x01, 0x00, 0x13, 0x00, 0x1c, 
    -	0x00, 0x00, 0x00, 0x00, 
    -	0x00
    -};
    -
    -uint32_t igl_roboto_regular_ttf_size = 145348;
    -
    diff --git a/include/igl/viewer/TextRenderer_fonts.h b/include/igl/viewer/TextRenderer_fonts.h
    deleted file mode 100644
    index cd0ace788..000000000
    --- a/include/igl/viewer/TextRenderer_fonts.h
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Wenzel Jacob 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#ifndef IGL_TEXT_RENDERER_FONTS_H
    -#define IGL_TEXT_RENDERER_FONTS_H
    -
    -#include 
    -
    -#ifndef IGL_STATIC_LIBRARY
    -namespace
    -{
    -#endif
    -  extern uint8_t igl_entypo_ttf[];
    -  extern uint32_t igl_entypo_ttf_size;
    -
    -  extern uint8_t igl_roboto_bold_ttf[];
    -  extern uint32_t igl_roboto_bold_ttf_size;
    -
    -  extern uint8_t igl_roboto_regular_ttf[];
    -  extern uint32_t igl_roboto_regular_ttf_size;
    -
    -#ifndef IGL_STATIC_LIBRARY
    -}
    -#endif
    -
    -#ifndef IGL_STATIC_LIBRARY
    -namespace
    -{
    -  #include "TextRenderer_fonts.cpp"
    -}
    -#endif
    -
    -#endif
    diff --git a/include/igl/viewer/ViewerData.cpp b/include/igl/viewer/ViewerData.cpp
    deleted file mode 100644
    index dc9d76536..000000000
    --- a/include/igl/viewer/ViewerData.cpp
    +++ /dev/null
    @@ -1,422 +0,0 @@
    -// This file is part of libigl, a simple c++ geometry processing library.
    -//
    -// Copyright (C) 2014 Daniele Panozzo 
    -//
    -// This Source Code Form is subject to the terms of the Mozilla Public License
    -// v. 2.0. If a copy of the MPL was not distributed with this file, You can
    -// obtain one at http://mozilla.org/MPL/2.0/.
    -
    -#include "ViewerData.h"
    -
    -#include 
    -
    -#include 
    -#include 
    -#include 
    -#include 
    -
    -IGL_INLINE igl::viewer::ViewerData::ViewerData()
    -: dirty(DIRTY_ALL)
    -{
    -  clear();
    -};
    -
    -IGL_INLINE void igl::viewer::ViewerData::set_face_based(bool newvalue)
    -{
    -  if (face_based != newvalue)
    -  {
    -    face_based = newvalue;
    -    dirty = DIRTY_ALL;
    -  }
    -}
    -
    -// Helpers that draws the most common meshes
    -IGL_INLINE void igl::viewer::ViewerData::set_mesh(const Eigen::MatrixXd& _V, const Eigen::MatrixXi& _F)
    -{
    -  using namespace std;
    -
    -  Eigen::MatrixXd V_temp;
    -
    -  // If V only has two columns, pad with a column of zeros
    -  if (_V.cols() == 2)
    -  {
    -    V_temp = Eigen::MatrixXd::Zero(_V.rows(),3);
    -    V_temp.block(0,0,_V.rows(),2) = _V;
    -  }
    -  else
    -    V_temp = _V;
    -
    -  if (V.rows() == 0 && F.rows() == 0)
    -  {
    -    V = V_temp;
    -    F = _F;
    -
    -    compute_normals();
    -    uniform_colors(
    -      Eigen::Vector3d(GOLD_AMBIENT[0], GOLD_AMBIENT[1], GOLD_AMBIENT[2]),
    -      Eigen::Vector3d(GOLD_DIFFUSE[0], GOLD_DIFFUSE[1], GOLD_DIFFUSE[2]),
    -      Eigen::Vector3d(GOLD_SPECULAR[0], GOLD_SPECULAR[1], GOLD_SPECULAR[2]));
    -
    -    grid_texture();
    -  }
    -  else
    -  {
    -    if (_V.rows() == V.rows() && _F.rows() == F.rows())
    -    {
    -      V = V_temp;
    -      F = _F;
    -    }
    -    else
    -      cerr << "ERROR (set_mesh): The new mesh has a different number of vertices/faces. Please clear the mesh before plotting."<0 && C.cols() == 1)
    -  {
    -    Eigen::MatrixXd C3;
    -    igl::parula(C,true,C3);
    -    return set_colors(C3);
    -  }
    -  // Ambient color should be darker color
    -  const auto ambient = [](const MatrixXd & C)->MatrixXd
    -  {
    -    MatrixXd T = 0.1*C;
    -    T.col(3) = C.col(3);
    -    return T;
    -  };
    -  // Specular color should be a less saturated and darker color: dampened
    -  // highlights
    -  const auto specular = [](const MatrixXd & C)->MatrixXd
    -  {
    -    const double grey = 0.3;
    -    MatrixXd T = grey+0.1*(C.array()-grey);
    -    T.col(3) = C.col(3);
    -    return T;
    -  };
    -  if (C.rows() == 1)
    -  {
    -    for (unsigned i=0;i& R,
    -  const Eigen::Matrix& G,
    -  const Eigen::Matrix& B)
    -{
    -  texture_R = R;
    -  texture_G = G;
    -  texture_B = B;
    -  texture_A = Eigen::Matrix::Constant(R.rows(),R.cols(),255);
    -  dirty |= DIRTY_TEXTURE;
    -}
    -
    -IGL_INLINE void igl::viewer::ViewerData::set_texture(
    -  const Eigen::Matrix& R,
    -  const Eigen::Matrix& G,
    -  const Eigen::Matrix& B,
    -  const Eigen::Matrix& A)
    -{
    -  texture_R = R;
    -  texture_G = G;
    -  texture_B = B;
    -  texture_A = A;
    -  dirty |= DIRTY_TEXTURE;
    -}
    -
    -IGL_INLINE void igl::viewer::ViewerData::set_points(
    -  const Eigen::MatrixXd& P,
    -  const Eigen::MatrixXd& C)
    -{
    -  // clear existing points
    -  points.resize(0,0);
    -  add_points(P,C);
    -}
    -
    -IGL_INLINE void igl::viewer::ViewerData::add_points(const Eigen::MatrixXd& P,  const Eigen::MatrixXd& C)
    -{
    -  Eigen::MatrixXd P_temp;
    -
    -  // If P only has two columns, pad with a column of zeros
    -  if (P.cols() == 2)
    -  {
    -    P_temp = Eigen::MatrixXd::Zero(P.rows(),3);
    -    P_temp.block(0,0,P.rows(),2) = P;
    -  }
    -  else
    -    P_temp = P;
    -
    -  int lastid = points.rows();
    -  points.conservativeResize(points.rows() + P_temp.rows(),6);
    -  for (unsigned i=0; i=size2 && j>=size2))
    -        texture_R(i,j) = 255;
    -    }
    -  }
    -
    -  texture_G = texture_R;
    -  texture_B = texture_R;
    -  texture_A = Eigen::Matrix::Constant(texture_R.rows(),texture_R.cols(),255);
    -  dirty |= DIRTY_TEXTURE;
    -}
    diff --git a/include/igl/voxel_grid.cpp b/include/igl/voxel_grid.cpp
    index 345be10b9..388e58af4 100644
    --- a/include/igl/voxel_grid.cpp
    +++ b/include/igl/voxel_grid.cpp
    @@ -58,18 +58,16 @@ IGL_INLINE void igl::voxel_grid(
       const Array ratio = 
         a*(side.template cast().array()-1.0)/(Scalar)(side(ai)-1.0);
       GV.array().rowwise() *= ratio;
    -  GV.rowwise() += (box.center().transpose()-GV.colwise().mean()).eval();
    +  const Eigen::Matrix offset = (box.center().transpose()-GV.colwise().mean()).eval();
    +  GV.rowwise() += offset;
     }
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
     template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
     template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
    -// generated by autoexplicit.sh
    -template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     template void igl::voxel_grid, Eigen::Matrix >(Eigen::AlignedBox const&, int, int, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&);
     #endif
    diff --git a/include/igl/winding_number.cpp b/include/igl/winding_number.cpp
    index ad25a243c..d6af18d98 100644
    --- a/include/igl/winding_number.cpp
    +++ b/include/igl/winding_number.cpp
    @@ -93,6 +93,10 @@ IGL_INLINE typename DerivedV::Scalar igl::winding_number(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template Eigen::Matrix::Scalar igl::winding_number, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
    +template Eigen::Matrix::Scalar igl::winding_number, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
     template void igl::winding_number, Eigen::Matrix, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&);
     // generated by autoexplicit.sh
     template Eigen::Matrix::Scalar igl::winding_number, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    diff --git a/include/igl/writeDMAT.cpp b/include/igl/writeDMAT.cpp
    index 05d6cfe46..c8f6ae0f6 100644
    --- a/include/igl/writeDMAT.cpp
    +++ b/include/igl/writeDMAT.cpp
    @@ -85,4 +85,8 @@ IGL_INLINE bool igl::writeDMAT(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     template bool igl::writeDMAT >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, bool);
    +template bool igl::writeDMAT >(std::string, Eigen::MatrixBase > const&, bool);
    +template bool igl::writeDMAT >(std::string, Eigen::MatrixBase > const&, bool);
    +template bool igl::writeDMAT >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, bool);
    +template bool igl::writeDMAT >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, bool);
     #endif
    diff --git a/include/igl/writeMESH.cpp b/include/igl/writeMESH.cpp
    index 532042791..27b0123cb 100644
    --- a/include/igl/writeMESH.cpp
    +++ b/include/igl/writeMESH.cpp
    @@ -137,6 +137,8 @@ IGL_INLINE bool igl::writeMESH(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::writeMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
    +// generated by autoexplicit.sh
     template bool igl::writeMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
     // generated by autoexplicit.sh
     template bool igl::writeMESH, Eigen::Matrix, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
    diff --git a/include/igl/writeOBJ.cpp b/include/igl/writeOBJ.cpp
    index e3ee6d42d..286254174 100644
    --- a/include/igl/writeOBJ.cpp
    +++ b/include/igl/writeOBJ.cpp
    @@ -121,6 +121,8 @@ IGL_INLINE bool igl::writeOBJ(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::writeOBJ, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    +// generated by autoexplicit.sh
     template bool igl::writeOBJ, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
     // generated by autoexplicit.sh
     template bool igl::writeOBJ, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&);
    diff --git a/include/igl/writeOFF.cpp b/include/igl/writeOFF.cpp
    index ad16fc275..9222d76a0 100644
    --- a/include/igl/writeOFF.cpp
    +++ b/include/igl/writeOFF.cpp
    @@ -61,13 +61,15 @@ IGL_INLINE bool igl::writeOFF(
     
       //Check if RGB values are in the range [0..1] or [0..255]
       int rgbScale = (C.maxCoeff() <= 1.0)?255:1;
    -  Eigen::MatrixXd RGB = rgbScale * C;
    +  // Use RGB_Array instead of RGB because of clash with mingw macro 
    +  // (https://github.com/libigl/libigl/pull/679)
    +  Eigen::MatrixXd RGB_Array = rgbScale * C;
     
       s<< "COFF\n"<
     #include 
     
    +namespace
    +{
    +  template  int ply_type();
    +  template <> int ply_type(){ return PLY_CHAR; }
    +  template <> int ply_type(){ return PLY_SHORT; }
    +  template <> int ply_type(){ return PLY_INT; }
    +  template <> int ply_type(){ return PLY_UCHAR; }
    +  template <> int ply_type(){ return PLY_SHORT; }
    +  template <> int ply_type(){ return PLY_UINT; }
    +  template <> int ply_type(){ return PLY_FLOAT; }
    +  template <> int ply_type(){ return PLY_DOUBLE; }
    +}
    +
     template <
       typename DerivedV,
       typename DerivedF,
    @@ -18,43 +31,47 @@ template <
       typename DerivedUV>
     IGL_INLINE bool igl::writePLY(
       const std::string & filename,
    -  const Eigen::PlainObjectBase & V,
    -  const Eigen::PlainObjectBase & F,
    -  const Eigen::PlainObjectBase & N,
    -  const Eigen::PlainObjectBase & UV,
    +  const Eigen::MatrixBase & V,
    +  const Eigen::MatrixBase & F,
    +  const Eigen::MatrixBase & N,
    +  const Eigen::MatrixBase & UV,
       const bool ascii)
     {
       // Largely based on obj2ply.c
    +  typedef typename DerivedV::Scalar VScalar;
    +  typedef typename DerivedN::Scalar NScalar;
    +  typedef typename DerivedUV::Scalar UVScalar;
    +  typedef typename DerivedF::Scalar FScalar;
     
       typedef struct Vertex
       {
    -    double x,y,z,w;          /* position */
    -    double nx,ny,nz;         /* surface normal */
    -    double s,t;              /* texture coordinates */
    +    VScalar x,y,z,w;          /* position */
    +    NScalar nx,ny,nz;         /* surface normal */
    +    UVScalar s,t;              /* texture coordinates */
       } Vertex;
     
       typedef struct Face
       {
         unsigned char nverts;    /* number of vertex indices in list */
    -    int *verts;              /* vertex index list */
    +    FScalar *verts;              /* vertex index list */
       } Face;
     
       PlyProperty vert_props[] =
       { /* list of property information for a vertex */
    -    {"x", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,x), 0, 0, 0, 0},
    -    {"y", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,y), 0, 0, 0, 0},
    -    {"z", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,z), 0, 0, 0, 0},
    -    {"nx", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,nx), 0, 0, 0, 0},
    -    {"ny", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,ny), 0, 0, 0, 0},
    -    {"nz", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,nz), 0, 0, 0, 0},
    -    {"s", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,s), 0, 0, 0, 0},
    -    {"t", PLY_DOUBLE, PLY_DOUBLE, offsetof(Vertex,t), 0, 0, 0, 0},
    +    {"x", ply_type(), ply_type(),offsetof(Vertex,x),0,0,0,0},
    +    {"y", ply_type(), ply_type(),offsetof(Vertex,y),0,0,0,0},
    +    {"z", ply_type(), ply_type(),offsetof(Vertex,z),0,0,0,0},
    +    {"nx",ply_type(), ply_type(),offsetof(Vertex,nx),0,0,0,0},
    +    {"ny",ply_type(), ply_type(),offsetof(Vertex,ny),0,0,0,0},
    +    {"nz",ply_type(), ply_type(),offsetof(Vertex,nz),0,0,0,0},
    +    {"s", ply_type(),ply_type(),offsetof(Vertex,s),0,0,0,0},
    +    {"t", ply_type(),ply_type(),offsetof(Vertex,t),0,0,0,0},
       };
     
       PlyProperty face_props[] =
       { /* list of property information for a face */
    -    {"vertex_indices", PLY_INT, PLY_INT, offsetof(Face,verts),
    -      1, PLY_UCHAR, PLY_UCHAR, offsetof(Face,nverts)},
    +    {"vertex_indices", ply_type(), ply_type(), 
    +      offsetof(Face,verts), 1, PLY_UCHAR, PLY_UCHAR, offsetof(Face,nverts)},
       };
       const bool has_normals = N.rows() > 0;
       const bool has_texture_coords = UV.rows() > 0;
    @@ -80,7 +97,7 @@ IGL_INLINE bool igl::writePLY(
       for(size_t i = 0;i<(size_t)F.rows();i++)
       {
         flist[i].nverts = F.cols();
    -    flist[i].verts = new int[F.cols()];
    +    flist[i].verts = new FScalar[F.cols()];
         for(size_t c = 0;c<(size_t)F.cols();c++)
         {
           flist[i].verts[c] = F(i,c);
    @@ -145,21 +162,21 @@ template <
       typename DerivedF>
     IGL_INLINE bool igl::writePLY(
       const std::string & filename,
    -  const Eigen::PlainObjectBase & V,
    -  const Eigen::PlainObjectBase & F,
    +  const Eigen::MatrixBase & V,
    +  const Eigen::MatrixBase & F,
       const bool ascii)
     {
    -  Eigen::MatrixXd N,UV;
    +  Eigen::Matrix N,UV;
       return writePLY(filename,V,F,N,UV,ascii);
     }
     
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    -template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    +template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, bool);
     // generated by autoexplicit.sh
    -template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    -template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    -template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    -template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    +template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, bool);
    +template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, bool);
    +template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, bool);
    +template bool igl::writePLY, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::MatrixBase > const&, Eigen::MatrixBase > const&, bool);
     #endif
    diff --git a/include/igl/writePLY.h b/include/igl/writePLY.h
    index af48a9c85..8b99ea1d0 100644
    --- a/include/igl/writePLY.h
    +++ b/include/igl/writePLY.h
    @@ -29,18 +29,18 @@ namespace igl
         typename DerivedUV>
       IGL_INLINE bool writePLY(
         const std::string & filename,
    -    const Eigen::PlainObjectBase & V,
    -    const Eigen::PlainObjectBase & F,
    -    const Eigen::PlainObjectBase & N,
    -    const Eigen::PlainObjectBase & UV,
    +    const Eigen::MatrixBase & V,
    +    const Eigen::MatrixBase & F,
    +    const Eigen::MatrixBase & N,
    +    const Eigen::MatrixBase & UV,
         const bool ascii = true);
       template <
         typename DerivedV,
         typename DerivedF>
       IGL_INLINE bool writePLY(
         const std::string & filename,
    -    const Eigen::PlainObjectBase & V,
    -    const Eigen::PlainObjectBase & F,
    +    const Eigen::MatrixBase & V,
    +    const Eigen::MatrixBase & F,
         const bool ascii = true);
     }
     #ifndef IGL_STATIC_LIBRARY
    diff --git a/include/igl/writeSTL.cpp b/include/igl/writeSTL.cpp
    index 05f5c0283..d95f2a8d7 100644
    --- a/include/igl/writeSTL.cpp
    +++ b/include/igl/writeSTL.cpp
    @@ -111,6 +111,8 @@ IGL_INLINE bool igl::writeSTL(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::writeSTL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    +// generated by autoexplicit.sh
     template bool igl::writeSTL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
     // generated by autoexplicit.sh
     template bool igl::writeSTL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    diff --git a/include/igl/writeWRL.cpp b/include/igl/writeWRL.cpp
    index cb2aeed2c..2740d1c2f 100644
    --- a/include/igl/writeWRL.cpp
    +++ b/include/igl/writeWRL.cpp
    @@ -114,6 +114,8 @@ ccw TRUE
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::writeWRL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
    +// generated by autoexplicit.sh
     template bool igl::writeWRL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
     // generated by autoexplicit.sh
     template bool igl::writeWRL, Eigen::Matrix >(std::basic_string, std::allocator > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&);
    diff --git a/include/igl/write_triangle_mesh.cpp b/include/igl/write_triangle_mesh.cpp
    index 77d690b32..3699009f5 100644
    --- a/include/igl/write_triangle_mesh.cpp
    +++ b/include/igl/write_triangle_mesh.cpp
    @@ -59,6 +59,8 @@ IGL_INLINE bool igl::write_triangle_mesh(
     #ifdef IGL_STATIC_LIBRARY
     // Explicit template instantiation
     // generated by autoexplicit.sh
    +template bool igl::write_triangle_mesh, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    +// generated by autoexplicit.sh
     template bool igl::write_triangle_mesh, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
     // generated by autoexplicit.sh
     template bool igl::write_triangle_mesh, Eigen::Matrix >(std::basic_string, std::allocator >, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, bool);
    diff --git a/include/igl/xml/XMLSerializable.h b/include/igl/xml/XMLSerializable.h
    index 54e569388..610559643 100644
    --- a/include/igl/xml/XMLSerializable.h
    +++ b/include/igl/xml/XMLSerializable.h
    @@ -11,7 +11,7 @@
     // Interface for xml-serializable class see serialize_xml.h
     
     // Pretty sure all of these IGL_INLINE should be inline
    - 
    +
     namespace igl
     {
       namespace xml
    @@ -29,83 +29,83 @@ namespace igl
         class XMLSerializable: public XMLSerializableBase
         {
         private:
    -  
    +
           template 
           struct XMLSerializationObject: public XMLSerializableBase
           {
             bool Binary;
             std::string Name;
             T* Object;
    -  
    +
             void Serialize(std::vector& buffer) const {
               serialize(*Object,Name,buffer);
             }
    -  
    +
             void Deserialize(const std::vector& buffer) {
               deserialize(*Object,Name,buffer);
             }
    -  
    +
             void Serialize(tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element) const {
               serialize_xml(*Object,Name,doc,element,Binary);
             }
    -  
    +
             void Deserialize(const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element) {
               deserialize_xml(*Object,Name,doc,element);
             }
           };
    -  
    +
           mutable bool initialized;
           mutable std::vector objects;
    -  
    +
         public:
    -  
    +
           // Override this function to add your member variables which should be serialized
           IGL_INLINE virtual void InitSerialization() = 0;
    -  
    +
           // Following functions can be overridden to handle the specific events.
           // Return false to prevent the de-/serialization of an object.
           IGL_INLINE virtual bool PreSerialization() const;
           IGL_INLINE virtual void PostSerialization() const;
           IGL_INLINE virtual bool PreDeserialization();
           IGL_INLINE virtual void PostDeserialization();
    -  
    +
           // Default implementation of XMLSerializableBase interface
           IGL_INLINE void Serialize(std::vector& buffer) const;
           IGL_INLINE void Deserialize(const std::vector& buffer);
           IGL_INLINE void Serialize(tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element) const;
           IGL_INLINE void Deserialize(const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element);
    -  
    +
           // Default constructor, destructor, assignment and copy constructor
           IGL_INLINE XMLSerializable();
           IGL_INLINE XMLSerializable(const XMLSerializable& obj);
           IGL_INLINE ~XMLSerializable();
           IGL_INLINE XMLSerializable& operator=(const XMLSerializable& obj);
    -  
    +
           // Use this function to add your variables which should be serialized
           template 
           IGL_INLINE void Add(T& obj,std::string name,bool binary = false);
         };
    - 
    +
         // IMPLEMENTATION
     
         IGL_INLINE bool XMLSerializable::PreSerialization() const
    -    { 
    +    {
           return true;
         }
    -    
    +
         IGL_INLINE void XMLSerializable::PostSerialization() const
         {
         }
    -    
    +
         IGL_INLINE bool XMLSerializable::PreDeserialization()
    -    { 
    +    {
           return true;
         }
    -  
    -    IGL_INLINE void XMLSerializable::PostDeserialization() 
    +
    +    IGL_INLINE void XMLSerializable::PostDeserialization()
         {
         }
    -  
    +
         IGL_INLINE void XMLSerializable::Serialize(std::vector& buffer) const
         {
           if(this->PreSerialization())
    @@ -116,14 +116,14 @@ namespace igl
               (const_cast(this))->InitSerialization();
               initialized = true;
             }
    -  
    +
             for(unsigned int i=0;iSerialize(buffer);
    -  
    +
             this->PostSerialization();
           }
         }
    -  
    +
         IGL_INLINE void XMLSerializable::Deserialize(const std::vector& buffer)
         {
           if(this->PreDeserialization())
    @@ -134,14 +134,14 @@ namespace igl
               (const_cast(this))->InitSerialization();
               initialized = true;
             }
    -  
    +
             for(unsigned int i=0;iDeserialize(buffer);
    -  
    +
             this->PostDeserialization();
           }
         }
    -  
    +
         IGL_INLINE void XMLSerializable::Serialize(tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element) const
         {
           if(this->PreSerialization())
    @@ -152,14 +152,14 @@ namespace igl
               (const_cast(this))->InitSerialization();
               initialized = true;
             }
    -  
    +
             for(unsigned int i=0;iSerialize(doc,element);
    -  
    +
             this->PostSerialization();
           }
         }
    -  
    +
         IGL_INLINE void XMLSerializable::Deserialize(const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element)
         {
           if(this->PreDeserialization())
    @@ -170,32 +170,32 @@ namespace igl
               (const_cast(this))->InitSerialization();
               initialized = true;
             }
    -  
    +
             for(unsigned int i=0;iDeserialize(doc,element);
    -  
    +
             this->PostDeserialization();
           }
         }
    -  
    +
         IGL_INLINE XMLSerializable::XMLSerializable()
         {
           initialized = false;
         }
    -  
    +
         IGL_INLINE XMLSerializable::XMLSerializable(const XMLSerializable& obj)
         {
           initialized = false;
           objects.clear();
         }
    -  
    +
         IGL_INLINE XMLSerializable::~XMLSerializable()
         {
           initialized = false;
           objects.clear();
         }
    -  
    -  
    +
    +
         IGL_INLINE XMLSerializable& XMLSerializable::operator=(const XMLSerializable& obj)
         {
           if(this != &obj)
    @@ -208,7 +208,7 @@ namespace igl
           }
           return *this;
         }
    -  
    +
         template 
         IGL_INLINE void XMLSerializable::Add(T& obj,std::string name,bool binary)
         {
    @@ -216,10 +216,10 @@ namespace igl
           object->Binary = binary;
           object->Name = name;
           object->Object = &obj;
    -  
    +
           objects.push_back(object);
         }
    -    
    +
       }
     }
     #endif
    diff --git a/include/igl/xml/serialize_xml.h b/include/igl/xml/serialize_xml.h
    index 764208aca..2190f676a 100644
    --- a/include/igl/xml/serialize_xml.h
    +++ b/include/igl/xml/serialize_xml.h
    @@ -58,7 +58,7 @@ namespace igl
         IGL_INLINE void serialize_xml(
           const T& obj,
           const std::string& objectName,
    -      const std::string& filename, 
    +      const std::string& filename,
           bool binary = false,
           bool overwrite = false);
         template 
    @@ -68,7 +68,7 @@ namespace igl
           tinyxml2::XMLDocument* doc,
           tinyxml2::XMLElement* element,
           bool binary = false);
    -  
    +
         // deserializes the given data from a xml file or doc data back to the provided object
         //
         // Templates:
    @@ -90,7 +90,7 @@ namespace igl
         IGL_INLINE void deserialize_xml(T& obj,const std::string& objectName,const std::string& filename);
         template 
         IGL_INLINE void deserialize_xml(T& obj,const std::string& objectName,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element);
    -  
    +
         // internal functions
         namespace serialization_xml
         {
    @@ -99,38 +99,38 @@ namespace igl
           IGL_INLINE typename std::enable_if::value>::type serialize(const T& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE typename std::enable_if::value>::type deserialize(T& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // std::string
           IGL_INLINE void serialize(const std::string& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           IGL_INLINE void deserialize(std::string& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // XMLSerializableBase
           template 
           IGL_INLINE typename std::enable_if::value>::type serialize(const T& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE typename std::enable_if::value>::type deserialize(T& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // STL containers
           template 
           IGL_INLINE void serialize(const std::pair& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE void deserialize(std::pair& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           template 
           IGL_INLINE void serialize(const std::vector& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE void deserialize(std::vector& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           template 
           IGL_INLINE void serialize(const std::set& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE void deserialize(std::set& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           template 
           IGL_INLINE void serialize(const std::map& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE void deserialize(std::map& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // Eigen types
     
           // Serialize a Dense Eigen Matrix to xml (in the matrix= attribute,
    @@ -143,7 +143,7 @@ namespace igl
           // Outputs:
           //   doc  pointer to xml document
           //   element  pointer to xml element
    -      //   
    +      //
           template
           IGL_INLINE void serialize(
             const Eigen::Matrix& obj,
    @@ -168,7 +168,7 @@ namespace igl
             const std::string& name,
             const std::function & from_string,
             Eigen::Matrix& obj);
    -  
    +
           // Legacy APIs
           template
           IGL_INLINE void serialize(
    @@ -182,18 +182,18 @@ namespace igl
             const tinyxml2::XMLDocument* doc,
             const tinyxml2::XMLElement* element,
             const std::string& name);
    -  
    +
           template
           IGL_INLINE void serialize(const Eigen::SparseMatrix& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template
           IGL_INLINE void deserialize(Eigen::SparseMatrix& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // raw pointers
           template 
           IGL_INLINE typename std::enable_if::value>::type serialize(const T& obj,tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           template 
           IGL_INLINE typename std::enable_if::value>::type deserialize(T& obj,const tinyxml2::XMLDocument* doc,const tinyxml2::XMLElement* element,const std::string& name);
    -  
    +
           // helper functions
           tinyxml2::XMLElement* getElement(tinyxml2::XMLDocument* doc,tinyxml2::XMLElement* element,const std::string& name);
           IGL_INLINE void getAttribute(const char* src,bool& dest);
    @@ -210,7 +210,7 @@ namespace igl
           IGL_INLINE void decodeXMLElementName(std::string& name);
           IGL_INLINE std::string base64_encode(unsigned char const* bytes_to_encode,unsigned int in_len);
           IGL_INLINE std::string base64_decode(std::string const& encoded_string);
    -  
    +
           // compile time type serializable check
           template 
           struct is_stl_container { static const bool value = false; };
    @@ -222,14 +222,14 @@ namespace igl
           struct is_stl_container > { static const bool value = true; };
           template 
           struct is_stl_container > { static const bool value = true; };
    -  
    +
           template 
           struct is_eigen_type { static const bool value = false; };
           template 
           struct is_eigen_type > { static const bool value = true; };
           template 
           struct is_eigen_type > { static const bool value = true; };
    -  
    +
           template 
           struct is_serializable {
             using T0 = typename  std::remove_pointer::type;
    diff --git a/include/igl/xml/writeDAE.cpp b/include/igl/xml/writeDAE.cpp
    index 399abd307..2c2bb4301 100644
    --- a/include/igl/xml/writeDAE.cpp
    +++ b/include/igl/xml/writeDAE.cpp
    @@ -25,12 +25,12 @@ IGL_INLINE bool igl::xml::writeDAE(
     
       const auto & ele = [&doc](
         const std::string tag,
    -    // Can't just use `{}` as the default arguement because of a clang-bug 
    +    // Can't just use `{}` as the default argument because of a clang-bug
         // http://stackoverflow.com/questions/17264067/
    -    const std::map attribs = 
    +    const std::map attribs =
           std::map(),
         const std::string text="",
    -    const std::list children = 
    +    const std::list children =
            std::list()
         )->XMLElement *
       {
    diff --git a/index.html b/index.html
    index a6d95df4f..e9c4fc5da 100644
    --- a/index.html
    +++ b/index.html
    @@ -1,14 +1,11 @@
     
    -
    +
     
     	
     	libigl
     	
     	
    -
    -
    -
    -
    +   
     
     
     
    @@ -22,10 +19,10 @@
     
     

    Get started with:

    +
    git clone --recursive https://github.com/libigl/libigl.git
     
    -

    libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry @@ -39,7 +36,7 @@ like MATLAB.

    just include igl headers (e.g. #include <igl/cotmatrix.h>) and run. Each header file contains a single function (e.g. igl/cotmatrix.h contains igl::cotmatrix()). Most are tailored to operate on a generic triangle mesh -stored in an n-by–3 matrix of vertex positions V and an m-by–3 matrix of +stored in an n-by-3 matrix of vertex positions V and an m-by-3 matrix of triangle indices F.

    Optionally the library may also be pre-compiled into a statically @@ -121,14 +118,14 @@ libigl depends only on the Eigen librar

    Libigl compartmentalizes its optional dependences via its directory organization in the include/ folder. All header files located directly in the include/igl/ folder have only stl and Eigen as dependencies. For example, -all of the headers that depend on CGAL are located in include/igl/cgal. For a -full list of optional dependencies check optional/CMakeLists.txt.

    +all of the headers that depend on CGAL are located in include/igl/copyleft/cgal. +For a full list of optional dependencies check optional/CMakeLists.txt.

    GCC and the Optional CGAL Dependency

    -

    The include/igl/cgal/*.h headers depend on CGAL. It has come to our attention -that CGAL does not work properly with GCC 4.8. To the best of our knowledge, -GCC 4.7 and clang will work correctly.

    +

    The include/igl/copyleft/cgal/*.h headers depend on CGAL. It has come to +our attention that CGAL does not work properly with GCC 4.8. To the best of +our knowledge, GCC 4.7 and clang will work correctly.

    OpenMP and Windows

    @@ -210,7 +207,7 @@ BibTeX entry:

    title = {{libigl}: A simple {C++} geometry processing library}, author = {Alec Jacobson and Daniele Panozzo and others}, note = {http://libigl.github.io/libigl/}, - year = {2016}, + year = {2017}, }
    @@ -221,56 +218,59 @@ Eurographics/ACM Symposium on Geometry Processing software award. Here are a few labs/companies/institutions using libigl:

    Contact

    Libigl is a group endeavor led by Alec Jacobson and Daniele -Panozzo. Please contact -us if you have +Panozzo. Please contact +us if you have questions or comments. For troubleshooting, please post an issue on github.

    -

    If you’re using libigl in your projects, quickly drop us a -note. Tell us who you +

    If you’re using libigl in your projects, quickly drop us a +note. Tell us who you are and what you’re using it for. This helps us apply for funding and justify spending time maintaining this.

    @@ -279,11 +279,10 @@ page.

    -

    2017 Alec Jacobson, Daniele Panozzo, Christian Schüller, Olga Diamanti, Qingnan -Zhou, Sebastian Koch, Amir Vaxman, Nico Pietroni, Stefan Brugger, Kenshi Takayama, Wenzel Jakob, Nikolas De -Giorgis, Luigi Rocca, Leonardo Sacht, Kevin Walliman, Olga Sorkine-Hornung, and others.

    +

    2017 Alec Jacobson, Daniele Panozzo, Christian Schüller, Olga Diamanti, Qingnan Zhou, Sebastian Koch, Jeremie Dumas, Amir Vaxman, Nico Pietroni, Stefan Brugger, Kenshi Takayama, Wenzel Jakob, Nikolas De Giorgis, Luigi Rocca, Leonardo Sacht, Kevin Walliman, Olga Sorkine-Hornung, and others.

    Please see individual files for appropriate copyright notices.

    + diff --git a/optional/CMakeLists.txt b/optional/CMakeLists.txt index 2470b3005..f9cd86fdf 100644 --- a/optional/CMakeLists.txt +++ b/optional/CMakeLists.txt @@ -1,55 +1,22 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.1) project(libigl) -set (CMAKE_MODULE_PATH -#${CMAKE_MODULE_PATH} -"${PROJECT_SOURCE_DIR}/../shared/cmake") - -### Compilation flags: adapt to your needs ### -if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj /w") ### Enable parallel compilation - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} ) -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11 - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage") -endif() +set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../shared/cmake") +# These ensure that lib*.a are placed in the directory where `cmake +# ../optional/` was issued. +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +### conditionally compile certain modules depending on libraries found on the system +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../shared/cmake) +find_package(CGAL QUIET COMPONENTS Core) +find_package(MATLAB QUIET) +find_package(MOSEK) +### libIGL options: choose between header only and compiled static library option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" ON) +### Adding libIGL: choose the path to your local copy libIGL +include(libigl) -option(LIBIGL_WITH_ANTTWEAKBAR "Use AntTweakBar" ON) -find_package(CGAL QUIET COMPONENTS Core) -option(LIBIGL_WITH_CGAL "Use CGAL" "${CGAL_FOUND}") -option(LIBIGL_WITH_COMISO "Use CoMiso" ON) -### Cork is off by default since it fails to build out-of-the-box on windows -option(LIBIGL_WITH_CORK "Use Cork" OFF) -option(LIBIGL_WITH_EMBREE "Use Embree" ON) -option(LIBIGL_WITH_LIM "Use LIM" ON) -find_package(MATLAB QUIET) -option(LIBIGL_WITH_MATLAB "Use Matlab" "${MATLAB_FOUND}") -find_package(MOSEK QUIET) -option(LIBIGL_WITH_MOSEK "Use MOSEK" "${MOSEK_FOUND}") -### Nanogui is off by default because it has many dependencies and generates -### many issues -option(LIBIGL_WITH_NANOGUI "Use Nanogui menu" OFF) -option(LIBIGL_WITH_OPENGL "Use OpenGL" ON) -option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" ON) -option(LIBIGL_WITH_PNG "Use PNG" ON) -option(LIBIGL_WITH_TETGEN "Use Tetgen" ON) -option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON) -option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" ON) -option(LIBIGL_WITH_XML "Use XML" ON) - -if(LIBIGL_WITH_CGAL) # Do not remove or move this block, cgal strange build system fails without it - find_package(CGAL REQUIRED COMPONENTS Core) - set(CGAL_DONT_OVERRIDE_CMAKE_FLAGS TRUE CACHE BOOL "CGAL's CMAKE Setup is super annoying ") - include(${CGAL_USE_FILE}) -endif() - -# libigl*.a libraries should be built directly into libigl/lib/ -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") -add_subdirectory("${PROJECT_SOURCE_DIR}/../shared/cmake" "libigl") diff --git a/optional/README.md b/optional/README.md index 1448eb703..48dcdeda0 100644 --- a/optional/README.md +++ b/optional/README.md @@ -232,7 +232,7 @@ Alternatively, you can also compress everything into a single header file: * **Hard to debug/edit**: The compressed files are automatically generated. They're huge and should not be edited. Thus - debugging and editting are near impossible. + debugging and editing are near impossible. * **Compounded dependencies**: An immediate disadvantage of this @@ -241,7 +241,7 @@ Alternatively, you can also compress everything into a single header file: `igl.cpp` will require linking to all of `libigl`'s dependencies (`OpenGL`, `GLUT`, `AntTweakBar`, `BLAS`). However, because all - depencies other than Eigen should be encapsulated between + dependencies other than Eigen should be encapsulated between `#ifndef` guards (e.g. `#ifndef IGL_NO_OPENGL`, it is possible to ignore certain functions that have such dependencies. diff --git a/optional/index.html b/optional/index.html index f846aa016..51b7168e1 100644 --- a/optional/index.html +++ b/optional/index.html @@ -1,14 +1,11 @@ - + libigl - - - - + @@ -24,7 +21,7 @@ improve your compilation times.

    Libigl is developed most often on Mac OS X, though has current users in Linux and Windows.

    -

    Linux/Mac OS X/Cygwin

    +

    Linux/Mac OS X/Cygwin

    Libigl may also be compiled to a static library. This is advantageous when building a project with libigl, since when used as an header-only library can @@ -40,7 +37,7 @@ cmake -DCMAKE_BUILD_TYPE=Release ../optional make -

    Warnings

    +

    Warnings

    You should expect to see a few linker warnings of the form:

    @@ -50,7 +47,7 @@ make

    These are (admittedly unpopular) functions that have never been used by us statically so we haven’t explicit instantiations (yet).

    -

    External

    +

    External

    Finally there are a number of external libraries that we include in ./external/ because they are either difficult to obtain or they have been @@ -58,7 +55,7 @@ patched for easier use with libigl. Please see the respective readmes in those directories or build the tutorial using cmake, which will recursively build all dependencies.

    -
    Installing Embree 2.0
    +
    Installing Embree 2.0

    To build the embree library and executables on Mac OS X issue:

    @@ -74,72 +71,72 @@ make #sudo make install -

    Extras

    +

    Extras

    -

    bbw

    +

    bbw

    This library extra contains functions for computing Bounded Biharmonic Weights, can be used with and without the mosek extra via the IGL_NO_MOSEK macro.

    -

    boolean

    +

    boolean

    This library extra contains functions for computing mesh-mesh booleans, depending on CGAL and optionally Cork.

    -

    cgal

    +

    cgal

    This library extra utilizes CGAL’s efficient and exact intersection and proximity queries.

    -

    embree

    +

    embree

    This library extra utilizes embree’s efficient ray tracing queries.

    -

    matlab

    +

    matlab

    This library extra provides support for reading and writing .mat workspace files, interfacing with Matlab at run time and compiling mex functions.

    -

    mosek

    +

    mosek

    This library extra utilizes mosek’s efficient interior-point solver for quadratic programs.

    -

    png

    +

    png

    This library extra uses libpng and YImage to read and write .png files.

    -

    tetgen

    +

    tetgen

    This library extra provides a simplified wrapper to the tetgen 3d tetrahedral meshing library.

    -

    Triangle

    +

    Triangle

    This library extra provides a simplified wrapper to the triangle 2d triangle meshing library.

    -

    viewer

    +

    viewer

    This library extra utilizes glfw and glew to open an opengl context and launch a simple mesh viewer.

    -

    xml

    +

    xml

    This library extra utilizes tinyxml2 to read and write serialized classes containing Eigen matrices and other standard simple data-structures.

    -

    Development

    +

    Development

    Further documentation for developers is listed in style_guidelines.html.

    -

    License

    +

    License

    See LICENSE.txt

    -

    Zipping

    +

    Zipping

    Zip this directory without .git litter and binaries using:

    @@ -275,28 +272,28 @@ exposing templated functions.
    • Easy incorporation: This can be easily incorporated - into external projects.
    • +into external projects.

    Drawbacks of compressed .h/.cpp pair

    • Hard to debug/edit: The compressed files are - automatically generated. They’re huge and should not be edited. Thus - debugging and editting are near impossible.

    • +automatically generated. They’re huge and should not be edited. Thus +debugging and editing are near impossible.

    • Compounded dependencies: - An immediate disadvantage of this - seems to be that even to use a single function (e.g. - cotmatrix), compiling and linking against - igl.cpp will require linking to all of libigl’s - dependencies (OpenGL, GLUT, - AntTweakBar, BLAS). However, because all - depencies other than Eigen should be encapsulated between - #ifndef guards (e.g. #ifndef IGL_NO_OPENGL, it - is possible to ignore certain functions that have such dependencies.

    • +An immediate disadvantage of this +seems to be that even to use a single function (e.g. +cotmatrix), compiling and linking against +igl.cpp will require linking to all of libigl’s +dependencies (OpenGL, GLUT, +AntTweakBar, BLAS). However, because all +dependencies other than Eigen should be encapsulated between +#ifndef guards (e.g. #ifndef IGL_NO_OPENGL, it +is possible to ignore certain functions that have such dependencies.

    • Long compile: - Compiling igl.cpp takes a long time and isn’t easily parallelized (no make - -j12 equivalent).

    • +Compiling igl.cpp takes a long time and isn’t easily parallelized (no make +-j12 equivalent).

    Here’s a tiny test example using igl.h and igl.cpp. Save the following in test.cpp:

    @@ -334,7 +331,7 @@ return (argc>=2 && igl::read_triangle_mesh(argv[1],V,F)?0:1);
    grep OpenGL `grep -L IGL_NO_OPENGL include/igl/*`
     
    -

    Optional

    +

    Optional

    • OpenGL (disable with IGL_NO_OPENGL) @@ -343,7 +340,7 @@ return (argc>=2 && igl::read_triangle_mesh(argv[1],V,F)?0:1);
    • OpenGL >= 4 (enable with IGL_OPENGL_4)
  • AntTweakBar (disable with IGL_NO_ANTTWEAKBAR) Last tested 1.16 (see - libigl/external/AntTweakBar)
  • +libigl/external/AntTweakBar)
  • GLEW Windows and Linux
  • OpenMP
  • libpng libiglpng extra only
  • @@ -361,7 +358,7 @@ return (argc>=2 && igl::read_triangle_mesh(argv[1],V,F)?0:1);
  • CoMiSo libcomiso extra only
  • -

    Optional (included in external/)

    +

    Optional (included in external/)

    • TetGen libigltetgen extra only
    • @@ -373,3 +370,4 @@ return (argc>=2 && igl::read_triangle_mesh(argv[1],V,F)?0:1); + diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 537a4e085..31ef6058a 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -1,153 +1,120 @@ cmake_minimum_required(VERSION 2.8.12) -project(pybind) - -### Compilation flags: adapt to your needs ### -if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj /w") ### Enable parallel compilation - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR} ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR} ) -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") #### Libigl requires a modern C++ compiler that supports c++11 - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../" ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations -Wno-unused-parameter -Wno-deprecated-register -Wno-return-type-c-linkage") -endif() +project(pyigl) # Force a specific python version -# SET(PYTHON_LIBRARIES "D:/Python34/libs/python34.lib") -# SET(PYTHON_INCLUDE_DIR "D:/Python34/include") +# set(PYTHON_LIBRARIES "D:/Python34/libs/python34.lib") +# set(PYTHON_INCLUDE_DIR "D:/Python34/include") # Force a specific python version -# SET(PYTHON_LIBRARIES "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib") -# SET(PYTHON_INCLUDE_DIR "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/include/python3.5m") +# set(PYTHON_LIBRARIES "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib") +# set(PYTHON_INCLUDE_DIR "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/include/python3.5m") set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6) find_package(PythonLibs REQUIRED) find_package(PythonInterp REQUIRED) string(TOUPPER "${CMAKE_BUILD_TYPE}" U_CMAKE_BUILD_TYPE) -if (UNIX) +if(UNIX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") - if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) + if(NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -flto") endif() endif() -# Compile with compiler warnings turned on -# if(MSVC) -# if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") -# string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -# else() -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") -# endif() -# else() -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") -# endif() - -include_directories(${PYTHON_INCLUDE_DIR} include) - ## include pybind -set(PYBIND11_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/../external/nanogui/ext/pybind11/include CACHE PATH "Path to pybind11/include") -include_directories(${PYBIND11_INCLUDE_DIR}) +set(PYBIND11_DIR ${PROJECT_SOURCE_DIR}/../external/pybind11 CACHE PATH "Path to pybind11") +add_subdirectory(${PYBIND11_DIR} pybind11) ## include libigl option(LIBIGL_USE_STATIC_LIBRARY "Use LibIGL as static library" OFF) -option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" ON) -option(LIBIGL_WITH_OPENGL "Use viewer" ON) -option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" ON) -option(LIBIGL_WITH_NANOGUI "Use Nanogui menu" OFF) -option(LIBIGL_WITH_CGAL "Use CGAL" OFF) -option(LIBIGL_WITH_BOOLEAN "Use Cork boolean" OFF) -option(LIBIGL_WITH_COMISO "Use CoMiso" ON) -option(LIBIGL_WITH_EMBREE "Use Embree" ON) -option(LIBIGL_WITH_LIM "Use LIM" ON) -option(LIBIGL_WITH_MATLAB "Use Matlab" OFF) -option(LIBIGL_WITH_MOSEK "Use MOSEK" OFF) -option(LIBIGL_WITH_PNG "Use PNG" ON) -option(LIBIGL_WITH_TETGEN "Use Tetgen" ON) -option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON) -option(LIBIGL_WITH_XML "Use XML" ON) -option(LIBIGL_WITH_PYTHON "Use Python" ON) -option(LIBIGL_WITH_COPYLEFT "Use Copyleft" ON) +option(LIBIGL_WITH_OPENGL "Use viewer" ON) +option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" ON) +option(LIBIGL_WITH_OPENGL_GLFW_IMGUI "Use ImGui" OFF) +option(LIBIGL_WITH_CGAL "Use CGAL" OFF) +option(LIBIGL_WITH_BOOLEAN "Use Cork boolean" OFF) +option(LIBIGL_WITH_COMISO "Use CoMiso" ON) +option(LIBIGL_WITH_EMBREE "Use Embree" ON) +option(LIBIGL_WITH_LIM "Use LIM" ON) +option(LIBIGL_WITH_MATLAB "Use Matlab" OFF) +option(LIBIGL_WITH_MOSEK "Use MOSEK" OFF) +option(LIBIGL_WITH_PNG "Use PNG" ON) +option(LIBIGL_WITH_TETGEN "Use Tetgen" ON) +option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON) +option(LIBIGL_WITH_XML "Use XML" ON) +option(LIBIGL_WITH_PYTHON "Use Python" ON) +option(LIBIGL_WITH_COPYLEFT "Use Copyleft" ON) - -if(LIBIGL_WITH_CGAL) # Do not remove or move this block, cgal strange build system fails without it - find_package(CGAL REQUIRED) - set(CGAL_DONT_OVERRIDE_CMAKE_FLAGS TRUE CACHE BOOL "CGAL's CMAKE Setup is super annoying ") - include(${CGAL_USE_FILE}) +## libigl +if(NOT TARGET igl::core) + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../shared/cmake") + include(libigl) endif() -add_subdirectory("${PROJECT_SOURCE_DIR}/../shared/cmake" "libigl") - - -### Prepare the build environment - -include_directories(${LIBIGL_INCLUDE_DIRS}) -add_definitions(${LIBIGL_DEFINITIONS}) - -## Optional modules -if (LIBIGL_WITH_VIEWER) - add_definitions(-DPY_VIEWER) - list(APPEND SHARED_SOURCES "modules/py_igl_viewer.cpp") -endif () - -if (LIBIGL_WITH_COMISO) - add_definitions(-DPY_COMISO) - list(APPEND SHARED_SOURCES "modules/copyleft/py_igl_comiso.cpp") -endif () - -if (LIBIGL_WITH_TETGEN) - add_definitions(-DPY_TETGEN) - list(APPEND SHARED_SOURCES "modules/copyleft/py_igl_tetgen.cpp") -endif () - -if (LIBIGL_WITH_EMBREE) - add_definitions(-DPY_EMBREE) - list(APPEND SHARED_SOURCES "modules/py_igl_embree.cpp") -endif () - -if (LIBIGL_WITH_TRIANGLE) - add_definitions(-DPY_TRIANGLE) - list(APPEND SHARED_SOURCES "modules/py_igl_triangle.cpp") -endif () - -if (LIBIGL_WITH_CGAL) - add_definitions(-DPY_CGAL) - list(APPEND SHARED_SOURCES "modules/copyleft/py_igl_cgal.cpp") -endif () - -if (LIBIGL_WITH_COPYLEFT) - add_definitions(-DPY_COPYLEFT) - list(APPEND SHARED_SOURCES "modules/copyleft/py_igl_copyleft.cpp") -endif () - -if (LIBIGL_WITH_PNG) - add_definitions(-DPY_PNG) - list(APPEND SHARED_SOURCES "modules/py_igl_png.cpp") -endif () - -#---- ## Prepare the python library -add_library(pyigl SHARED +pybind11_add_module(pyigl python_shared.cpp modules/py_vector.cpp py_igl.cpp py_doc.cpp - ${SHARED_SOURCES} ) +## Add dependencies +target_include_directories(pyigl PUBLIC igl::core) + +## Optional modules +if(LIBIGL_WITH_OPENGL_GLFW) + target_sources(pyigl PRIVATE "modules/py_igl_opengl_glfw.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_GLFW) + target_link_libraries(pyigl PUBLIC igl::opengl igl::opengl_glfw) +endif() + +if(LIBIGL_WITH_COMISO) + target_sources(pyigl PRIVATE "modules/copyleft/py_igl_comiso.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_COMISO) + target_link_libraries(pyigl PUBLIC igl::comiso) +endif() + +if(LIBIGL_WITH_TETGEN) + target_sources(pyigl PRIVATE "modules/copyleft/py_igl_tetgen.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_TETGEN) + target_link_libraries(pyigl PUBLIC igl::tetgen) +endif() + +if(LIBIGL_WITH_EMBREE) + target_sources(pyigl PRIVATE "modules/py_igl_embree.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_EMBREE) + target_link_libraries(pyigl PUBLIC igl::embree) +endif() + +if(LIBIGL_WITH_TRIANGLE) + target_sources(pyigl PRIVATE "modules/py_igl_triangle.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_TRIANGLE) + target_link_libraries(pyigl PUBLIC igl::triangle) +endif() + +if(LIBIGL_WITH_CGAL) + target_sources(pyigl PRIVATE "modules/copyleft/py_igl_cgal.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_CGAL) + target_link_libraries(pyigl PUBLIC igl::cgal) +endif() + +if(LIBIGL_WITH_COPYLEFT) + target_sources(pyigl PRIVATE "modules/copyleft/py_igl_copyleft.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_COPYLEFT) +endif() + +if(LIBIGL_WITH_PNG) + target_sources(pyigl PRIVATE "modules/py_igl_png.cpp") + target_compile_definitions(pyigl PUBLIC -DPY_PNG) + target_link_libraries(pyigl PUBLIC igl::png) +endif() + set_target_properties(pyigl PROPERTIES PREFIX "") set_target_properties(pyigl PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}) -target_link_libraries(pyigl ${LIBIGL_LIBRARIES} ${LIBIGL_EXTRA_LIBRARIES}) - -# Copy the nanogui bindings -#get_target_property(NANOGUI_LIB nanogui_python LOCATION) -#file(COPY ${NANOGUI_LIB} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../) - -if (WIN32) - if (MSVC) +if(WIN32) + if(MSVC) # Enforce size-based optimization and link time code generation on MSVC (~30% smaller binaries in experiments) set_target_properties(pyigl PROPERTIES COMPILE_FLAGS "/Os /GL") set_target_properties(pyigl PROPERTIES LINK_FLAGS "/LTCG") @@ -159,9 +126,9 @@ if (WIN32) # Link against the Python shared library # message(FATAL_ERROR ${PYTHON_LIBRARY}) # target_link_libraries(igl ${PYTHON_LIBRARY}) - target_link_libraries(pyigl ${PYTHON_LIBRARIES}) + target_link_libraries(pyigl PRIVATE ${PYTHON_LIBRARIES}) -elseif (UNIX) +elseif(UNIX) # It's quite common to have multiple copies of the same Python version # installed on one's system. E.g.: one copy from the OS and another copy # that's statically linked into an application like Blender or Maya. @@ -184,34 +151,23 @@ elseif (UNIX) if(APPLE) set_target_properties(pyigl PROPERTIES MACOSX_RPATH ".") - if (NOT CHECK_UNDEFINED) + if(NOT CHECK_UNDEFINED) set_target_properties(pyigl PROPERTIES LINK_FLAGS "-undefined dynamic_lookup -dead_strip") endif() - if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) + if(NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) add_custom_command(TARGET pyigl POST_BUILD COMMAND strip -u -r ${PROJECT_SOURCE_DIR}/pyigl.so) endif() else() - if (CHECK_UNDEFINED) - target_link_libraries(pyigl ${PYTHON_LIBRARIES}) + if(CHECK_UNDEFINED) + target_link_libraries(pyigl PRIVATE ${PYTHON_LIBRARIES}) set_target_properties(pyigl PROPERTIES LINK_FLAGS "-Wl,--no-undefined") endif() - if (NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) + if(NOT ${U_CMAKE_BUILD_TYPE} MATCHES DEBUG) add_custom_command(TARGET pyigl POST_BUILD COMMAND strip ${PROJECT_SOURCE_DIR}/pyigl.so) endif() endif() endif() -if (LIBIGL_WITH_PYTHON AND LIBIGL_WITH_NANOGUI) - # Copy the nanogui python lib after compilation - get_target_property(NANOGUI_LIB nanogui-python LOCATION) - add_custom_target(copy ALL) - add_custom_command( - TARGET copy - COMMAND ${CMAKE_COMMAND} -E copy ${NANOGUI_LIB} ${PROJECT_SOURCE_DIR} - ) - add_dependencies(copy pyigl) - -endif() diff --git a/python/README.md b/python/README.md index e993d65a2..a65dcbd64 100644 --- a/python/README.md +++ b/python/README.md @@ -91,15 +91,15 @@ def key_pressed(viewer, key, modifier): if key == ord('1'): # # Clear should be called before drawing the mesh - viewer.data.clear(); + viewer.data().clear(); # # Draw_mesh creates or updates the vertices and faces of the displayed mesh. # # If a mesh is already displayed, draw_mesh returns an error if the given V and # # F have size different than the current ones - viewer.data.set_mesh(V1, F1); + viewer.data().set_mesh(V1, F1); viewer.core.align_camera_center(V1,F1); elif key == ord('2'): - viewer.data.clear(); - viewer.data.set_mesh(V2, F2); + viewer.data().clear(); + viewer.data().set_mesh(V2, F2); viewer.core.align_camera_center(V2,F2); return False @@ -111,22 +111,22 @@ igl.readOFF("../tutorial/shared/fertility.off", V2, F2); print("1 Switch to bump mesh") print("2 Switch to fertility mesh") -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Register a keyboard callback that allows to switch between # the two loaded meshes viewer.callback_key_pressed = key_pressed -viewer.data.set_mesh(V1, F1) +viewer.data().set_mesh(V1, F1) viewer.launch() ``` ### Remote viewer -Whe using the viewer from an interactive python shell (iPython), it is +When using the viewer from an interactive python shell (iPython), it is inconvenient to let the viewer take control of the main thread for rendering purposes. We provide a simple wrapper for the viewer that allows to launch a remote process and send meshes to it via a TCP/IP socket. For more -informations on how to use it see the documentation in [tcpviewer.py](tcpviewer.py) +information on how to use it see the documentation in [tcpviewer.py](tcpviewer.py) ## Matlab @@ -139,7 +139,7 @@ The python functions have exactly the same prototypes as their C++ counterpart. Docstrings for all available python functions are extracted from the C++ header files and compiled into the python module. To get help for a certain function, you can run `help(pyigl.)` in the python console. In the scripts folder there is the script `generate_docstrings.py` that automatically generates python docstrings for a new function. You can run it with `generate_docstrings.py `. -The script depends on additional libraries (joblib, mako, clang), make sure to install them (e.g. through pip. python-clang is included in external/nanogui/ext/pybind11/tools/clang). +The script depends on additional libraries (joblib, mako, clang), make sure to install them (e.g. through pip. python-clang is included in external/pybind11/tools/clang). ## Known Issues diff --git a/python/iglhelpers.py b/python/iglhelpers.py index c6c87351e..0695bb533 100644 --- a/python/iglhelpers.py +++ b/python/iglhelpers.py @@ -1,18 +1,25 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import numpy as np import scipy.sparse as sparse import pyigl as igl def p2e(m): if isinstance(m, np.ndarray): - if not m.flags['C_CONTIGUOUS']: - raise TypeError("p2e only support C-contiguous order") - if m.dtype.type == np.int32: - return igl.eigen.MatrixXi(m) - elif m.dtype.type == np.float64: - return igl.eigen.MatrixXd(m) + if not (m.flags['C_CONTIGUOUS'] or m.flags['F_CONTIGUOUS']): + raise TypeError('p2e support either c-order or f-order') + if m.dtype.type in [np.int32, np.int64]: + return igl.eigen.MatrixXi(m.astype(np.int32)) + elif m.dtype.type in [np.float64, np.float32]: + return igl.eigen.MatrixXd(m.astype(np.float64)) elif m.dtype.type == np.bool: return igl.eigen.MatrixXb(m) - raise TypeError("p2e only support dtype float64, int32 and bool") + raise TypeError("p2e only support dtype float64/32, int64/32 and bool") if sparse.issparse(m): # convert in a dense matrix with triples coo = m.tocoo() diff --git a/python/modules/copyleft/py_igl_cgal.cpp b/python/modules/copyleft/py_igl_cgal.cpp index 1ba2ff9a9..2ea3372dc 100644 --- a/python/modules/copyleft/py_igl_cgal.cpp +++ b/python/modules/copyleft/py_igl_cgal.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //#include //#include //#include diff --git a/python/modules/copyleft/py_igl_comiso.cpp b/python/modules/copyleft/py_igl_comiso.cpp index 316b7c544..59d331b52 100644 --- a/python/modules/copyleft/py_igl_comiso.cpp +++ b/python/modules/copyleft/py_igl_comiso.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include #include #include diff --git a/python/modules/copyleft/py_igl_copyleft.cpp b/python/modules/copyleft/py_igl_copyleft.cpp index 7bb0bb6e3..8443a1482 100644 --- a/python/modules/copyleft/py_igl_copyleft.cpp +++ b/python/modules/copyleft/py_igl_copyleft.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //#include //#include //#include diff --git a/python/modules/copyleft/py_igl_tetgen.cpp b/python/modules/copyleft/py_igl_tetgen.cpp index 1c7bdfaf6..ac2dc3850 100644 --- a/python/modules/copyleft/py_igl_tetgen.cpp +++ b/python/modules/copyleft/py_igl_tetgen.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //#include //#include //#include diff --git a/python/modules/py_igl_embree.cpp b/python/modules/py_igl_embree.cpp index 054ab7940..3b7fac76a 100644 --- a/python/modules/py_igl_embree.cpp +++ b/python/modules/py_igl_embree.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //#include //#include //#include diff --git a/python/modules/py_igl_opengl_glfw.cpp b/python/modules/py_igl_opengl_glfw.cpp new file mode 100644 index 000000000..2e19ad139 --- /dev/null +++ b/python/modules/py_igl_opengl_glfw.cpp @@ -0,0 +1,470 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. +#include +#include + +#include "../python_shared.h" +#include +#include +#include +#include +#include +#ifdef IGL_VIEWER_WITH_NANOGUI +#include "../../../external/nanogui/include/nanogui/formhelper.h" +#include "../../../external/nanogui/include/nanogui/screen.h" +#endif + +void python_export_igl_glfw(py::module &m) +{ + + py::module me = m.def_submodule( + "glfw", "GLFW Mesh viewer"); + +/////////////////////// DATA + +py::class_ viewerdata_class(me, "ViewerData"); + +py::enum_(viewerdata_class, "DirtyFlags") + .value("DIRTY_NONE", igl::opengl::MeshGL::DIRTY_NONE) + .value("DIRTY_POSITION", igl::opengl::MeshGL::DIRTY_POSITION) + .value("DIRTY_UV", igl::opengl::MeshGL::DIRTY_UV) + .value("DIRTY_NORMAL", igl::opengl::MeshGL::DIRTY_NORMAL) + .value("DIRTY_AMBIENT", igl::opengl::MeshGL::DIRTY_AMBIENT) + .value("DIRTY_DIFFUSE", igl::opengl::MeshGL::DIRTY_DIFFUSE) + .value("DIRTY_SPECULAR", igl::opengl::MeshGL::DIRTY_SPECULAR) + .value("DIRTY_TEXTURE", igl::opengl::MeshGL::DIRTY_TEXTURE) + .value("DIRTY_FACE", igl::opengl::MeshGL::DIRTY_FACE) + .value("DIRTY_MESH", igl::opengl::MeshGL::DIRTY_MESH) + .value("DIRTY_OVERLAY_LINES", igl::opengl::MeshGL::DIRTY_OVERLAY_LINES) + .value("DIRTY_OVERLAY_POINTS", igl::opengl::MeshGL::DIRTY_OVERLAY_POINTS) + .value("DIRTY_ALL", igl::opengl::MeshGL::DIRTY_ALL) + .export_values(); + + + viewerdata_class + .def(py::init<>()) + .def("set_mesh", &igl::opengl::ViewerData::set_mesh) + .def("set_colors", &igl::opengl::ViewerData::set_colors) + .def("clear", &igl::opengl::ViewerData::clear) + .def("set_face_based", &igl::opengl::ViewerData::set_face_based) + + .def("set_vertices", &igl::opengl::ViewerData::set_vertices) + .def("set_normals", &igl::opengl::ViewerData::set_normals) + + .def("set_uv", + (void (igl::opengl::ViewerData::*) (const Eigen::MatrixXd &)) &igl::opengl::ViewerData::set_uv + ) + + .def("set_uv", + (void (igl::opengl::ViewerData::*) (const Eigen::MatrixXd &, const Eigen::MatrixXi&)) &igl::opengl::ViewerData::set_uv + ) + + .def("set_texture", + (void (igl::opengl::ViewerData::*) ( + const Eigen::Matrix&, + const Eigen::Matrix&, + const Eigen::Matrix&) + ) &igl::opengl::ViewerData::set_texture + ) + + .def("set_texture", + (void (igl::opengl::ViewerData::*) ( + const Eigen::Matrix&, + const Eigen::Matrix&, + const Eigen::Matrix&, + const Eigen::Matrix&) + ) &igl::opengl::ViewerData::set_texture + ) + + .def("set_points", &igl::opengl::ViewerData::set_points) + .def("add_points", &igl::opengl::ViewerData::add_points) + .def("set_edges", &igl::opengl::ViewerData::set_edges) + .def("add_edges", &igl::opengl::ViewerData::add_edges) + + .def("add_label", [] (igl::opengl::ViewerData& data, const Eigen::MatrixXd& P, const std::string& str) + { + assert_is_VectorX("P",P); + data.add_label(P,str); + }) + + .def("compute_normals", &igl::opengl::ViewerData::compute_normals) + + .def("uniform_colors", [] (igl::opengl::ViewerData& data, const Eigen::MatrixXd& ambient, const Eigen::MatrixXd& diffuse, const Eigen::MatrixXd& specular) + { + if (ambient.cols() == 3) + { + assert_is_Vector3("ambient",ambient); + assert_is_Vector3("diffuse",diffuse); + assert_is_Vector3("specular",specular); + Eigen::Vector3d vambient = ambient; + Eigen::Vector3d vdiffuse = diffuse; + Eigen::Vector3d vspecular = specular; + data.uniform_colors(vambient,vdiffuse, vspecular); + } + + if (ambient.cols() == 4) + { + assert_is_Vector4("ambient",ambient); + assert_is_Vector4("diffuse",diffuse); + assert_is_Vector4("specular",specular); + Eigen::Vector4d vambient = ambient; + Eigen::Vector4d vdiffuse = diffuse; + Eigen::Vector4d vspecular = specular; + data.uniform_colors(vambient,vdiffuse,vspecular); + } + + }) + + .def("grid_texture", &igl::opengl::ViewerData::grid_texture) + + .def_readwrite("V", &igl::opengl::ViewerData::V) + .def_readwrite("F", &igl::opengl::ViewerData::F) + + .def_readwrite("F_normals", &igl::opengl::ViewerData::F_normals) + .def_readwrite("F_material_ambient", &igl::opengl::ViewerData::F_material_ambient) + .def_readwrite("F_material_diffuse", &igl::opengl::ViewerData::F_material_diffuse) + .def_readwrite("F_material_specular", &igl::opengl::ViewerData::F_material_specular) + + .def_readwrite("V_normals", &igl::opengl::ViewerData::V_normals) + .def_readwrite("V_material_ambient", &igl::opengl::ViewerData::V_material_ambient) + .def_readwrite("V_material_diffuse", &igl::opengl::ViewerData::V_material_diffuse) + .def_readwrite("V_material_specular", &igl::opengl::ViewerData::V_material_specular) + + .def_readwrite("V_uv", &igl::opengl::ViewerData::V_uv) + .def_readwrite("F_uv", &igl::opengl::ViewerData::F_uv) + + .def_readwrite("texture_R", &igl::opengl::ViewerData::texture_R) + .def_readwrite("texture_G", &igl::opengl::ViewerData::texture_G) + .def_readwrite("texture_B", &igl::opengl::ViewerData::texture_B) + + .def_readwrite("lines", &igl::opengl::ViewerData::lines) + .def_readwrite("points", &igl::opengl::ViewerData::points) + .def_readwrite("labels_positions", &igl::opengl::ViewerData::labels_positions) + .def_readwrite("labels_strings", &igl::opengl::ViewerData::labels_strings) + // .def_readwrite("dirty", &igl::opengl::MeshGL::dirty) + .def_readwrite("face_based", &igl::opengl::ViewerData::face_based) + .def("serialize", [](igl::opengl::ViewerData& data) + { + std::vector a; + igl::serialize(data,"Data",a); + return a; + }) + + .def("deserialize", [](igl::opengl::ViewerData& data, const std::vector& a) + { + igl::deserialize(data,"Data",a); + return; + }) + + .def_readwrite("shininess",&igl::opengl::ViewerData::shininess) + + .def_property("line_color", + [](const igl::opengl::ViewerData& data) {return Eigen::MatrixXd(data.line_color.cast());}, + [](igl::opengl::ViewerData& data, const Eigen::MatrixXd& v) + { + assert_is_Vector4("line_color",v); + data.line_color = Eigen::Vector4f(v.cast()); + }) + + .def_readwrite("show_overlay",&igl::opengl::ViewerData::show_overlay) + .def_readwrite("show_overlay_depth",&igl::opengl::ViewerData::show_overlay_depth) + .def_readwrite("show_texture",&igl::opengl::ViewerData::show_texture) + .def_readwrite("show_faces",&igl::opengl::ViewerData::show_faces) + + .def_readwrite("show_lines",&igl::opengl::ViewerData::show_lines) + .def_readwrite("show_vertid",&igl::opengl::ViewerData::show_vertid) + .def_readwrite("show_faceid",&igl::opengl::ViewerData::show_faceid) + .def_readwrite("invert_normals",&igl::opengl::ViewerData::invert_normals) + + .def_readwrite("point_size",&igl::opengl::ViewerData::point_size) + .def_readwrite("line_width",&igl::opengl::ViewerData::line_width) + + ; + +//////////////////////// OPENGL_State + +// py::class_ opengl_state_class(me, "OpenGL_state"); + +// opengl_state_class +// .def(py::init<>()) +// .def("init", &igl::opengl::State::init) + +// ; + +//////////////////////// CORE + +py::class_ viewercore_class(me, "ViewerCore"); + + py::enum_(viewercore_class, "RotationType") + .value("ROTATION_TYPE_TRACKBALL", igl::opengl::ViewerCore::ROTATION_TYPE_TRACKBALL) + .value("ROTATION_TYPE_TWO_AXIS_VALUATOR_FIXED_UP", igl::opengl::ViewerCore::ROTATION_TYPE_TWO_AXIS_VALUATOR_FIXED_UP) + .value("NUM_ROTATION_TYPES", igl::opengl::ViewerCore::NUM_ROTATION_TYPES) + .export_values(); + + viewercore_class + .def(py::init<>()) + //.def("align_camera_center", [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& V, const Eigen::MatrixXi& F){return core.align_camera_center(V,F);}) + .def("init", &igl::opengl::ViewerCore::init) + .def("shut", &igl::opengl::ViewerCore::shut) + //.def("InitSerialization", &igl::opengl::ViewerCore::InitSerialization) + .def("align_camera_center", + (void (igl::opengl::ViewerCore::*) (const Eigen::MatrixXd &, const Eigen::MatrixXi &)) &igl::opengl::ViewerCore::align_camera_center + ) + + .def("align_camera_center", + (void (igl::opengl::ViewerCore::*) (const Eigen::MatrixXd &)) &igl::opengl::ViewerCore::align_camera_center + ) + + .def("clear_framebuffers",&igl::opengl::ViewerCore::clear_framebuffers) + .def("draw",&igl::opengl::ViewerCore::draw) + .def("draw_buffer",&igl::opengl::ViewerCore::draw_buffer) + + .def_property("background_color", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.background_color.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector4("background_color",v); + core.background_color << Eigen::Vector4f(v.cast()); + }) + + .def_property("light_position", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.light_position.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("light_position",v); + core.light_position = Eigen::Vector3f(v.cast()); + }) + + .def_readwrite("lighting_factor",&igl::opengl::ViewerCore::lighting_factor) + .def_readwrite("model_zoom",&igl::opengl::ViewerCore::model_zoom) + + .def_property("trackball_angle", + [](const igl::opengl::ViewerCore& core) {return Eigen::Quaterniond(core.trackball_angle.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::Quaterniond& q) + { + core.trackball_angle = Eigen::Quaternionf(q.cast()); + }) + + .def_property("model_translation", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.model_translation.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("model_translation",v); + core.model_translation = Eigen::Vector3f(v.cast()); + }) + + .def_readwrite("model_zoom_uv",&igl::opengl::ViewerCore::model_zoom_uv) + + .def_property("model_translation_uv", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.model_translation_uv.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("model_translation_uv",v); + core.model_translation_uv = Eigen::Vector3f(v.cast()); + }) + + .def_readwrite("camera_zoom",&igl::opengl::ViewerCore::camera_zoom) + .def_readwrite("orthographic",&igl::opengl::ViewerCore::orthographic) + + .def_property("camera_eye", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.camera_eye.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("camera_eye",v); + core.camera_eye = Eigen::Vector3f(v.cast()); + }) + + .def_property("camera_up", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.camera_up.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("camera_up",v); + core.camera_up = Eigen::Vector3f(v.cast()); + }) + + .def_property("camera_center", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.camera_center.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector3("camera_center",v); + core.camera_center = Eigen::Vector3f(v.cast()); + }) + + .def_readwrite("camera_view_angle",&igl::opengl::ViewerCore::camera_view_angle) + + .def_readwrite("camera_dnear",&igl::opengl::ViewerCore::camera_dnear) + .def_readwrite("camera_dfar",&igl::opengl::ViewerCore::camera_dfar) + + .def_readwrite("depth_test",&igl::opengl::ViewerCore::depth_test) + + .def_readwrite("is_animating",&igl::opengl::ViewerCore::is_animating) + .def_readwrite("animation_max_fps",&igl::opengl::ViewerCore::animation_max_fps) + + .def_readwrite("object_scale",&igl::opengl::ViewerCore::object_scale) + + .def_property("viewport", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.viewport.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Vector4("viewport",v); + core.viewport = Eigen::Vector4f(v.cast()); + }) + + .def_property("view", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.view.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Matrix4("view",v); + core.view = Eigen::Matrix4f(v.cast()); + }) + + .def_property("model", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.model.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Matrix4("model",v); + core.model = Eigen::Matrix4f(v.cast()); + }) + + .def_property("proj", + [](const igl::opengl::ViewerCore& core) {return Eigen::MatrixXd(core.proj.cast());}, + [](igl::opengl::ViewerCore& core, const Eigen::MatrixXd& v) + { + assert_is_Matrix4("proj",v); + core.proj = Eigen::Matrix4f(v.cast()); + }) + + .def_readwrite("rotation_type",&igl::opengl::ViewerCore::rotation_type) + + .def("serialize", [](igl::opengl::ViewerCore& core) + { + std::vector a; + igl::serialize(core,"Core",a); + return a; + }) + + .def("deserialize", [](igl::opengl::ViewerCore& core, const std::vector& a) + { + igl::deserialize(core,"Core",a); + return; + }) + + // TODO: wrap this! + // Eigen::Quaternionf trackball_angle; + ; + +///////////////////////// VIEWER + +// UI Enumerations + py::class_ viewer_class(me, "Viewer"); + +// #ifdef IGL_VIEWER_WITH_NANOGUI +// py::object fh = (py::object) py::module::import("nanogui").attr("FormHelper"); +// py::class_ form_helper_class(me, "FormHelper", fh); + +// py::object screen = (py::object) py::module::import("nanogui").attr("Screen"); +// py::class_ screen_class(me, "Screen", screen); +// #endif + + py::enum_(viewer_class, "MouseButton") + .value("Left", igl::opengl::glfw::Viewer::MouseButton::Left) + .value("Middle", igl::opengl::glfw::Viewer::MouseButton::Middle) + .value("Right", igl::opengl::glfw::Viewer::MouseButton::Right) + .export_values(); + + viewer_class + .def(py::init<>()) + //.def_readwrite("data", &igl::opengl::glfw::Viewer::data) + + // .def_property("data", + // [](igl::opengl::glfw::Viewer& viewer) {return viewer.data();}, + // [](igl::opengl::glfw::Viewer& viewer, const igl::opengl::ViewerData& data) + // { + // viewer.data() = data; + // }) + + .def("data", &igl::opengl::glfw::Viewer::data,pybind11::return_value_policy::reference) + + .def_readwrite("core", &igl::opengl::glfw::Viewer::core) + //.def_readwrite("opengl", &igl::opengl::glfw::Viewer::opengl) + + #ifdef IGL_VIEWER_WITH_NANOGUI + .def_readwrite("ngui", &igl::opengl::glfw::Viewer::ngui) + .def_readwrite("screen", &igl::opengl::glfw::Viewer::screen) + #endif + + .def("launch", &igl::opengl::glfw::Viewer::launch, py::arg("resizable") = true, py::arg("fullscreen") = false) + .def("launch_init", &igl::opengl::glfw::Viewer::launch_init, py::arg("resizable") = true, py::arg("fullscreen") = false) + .def("launch_rendering", &igl::opengl::glfw::Viewer::launch_rendering, py::arg("loop") = true) + .def("launch_shut", &igl::opengl::glfw::Viewer::launch_shut) + .def("init", &igl::opengl::glfw::Viewer::init) + .def("serialize", [](igl::opengl::glfw::Viewer& viewer) + { + std::vector a; + igl::serialize(viewer.core,"Core",a); + //igl::serialize(viewer.data,"Data",a); TODO + + return a; + }) + + .def("deserialize", [](igl::opengl::glfw::Viewer& viewer, const std::vector& a) + { + igl::deserialize(viewer.core,"Core",a); + //igl::deserialize(viewer.data,"Data",a); + return; + }) + + // Scene IO + .def("load_scene", [](igl::opengl::glfw::Viewer& viewer) + { + viewer.load_scene(); + }) + + .def("load_scene", [](igl::opengl::glfw::Viewer& viewer, std::string str) + { + viewer.load_scene(str); + }) + + .def("save_scene", [](igl::opengl::glfw::Viewer& viewer) + { + viewer.save_scene(); + }) + + .def("save_scene", [](igl::opengl::glfw::Viewer& viewer, std::string str) + { + viewer.save_scene(str); + }) + + // Draw everything + .def("draw", &igl::opengl::glfw::Viewer::draw) + + // OpenGL context resize + .def("resize", &igl::opengl::glfw::Viewer::resize) + + // Helper functions + .def("snap_to_canonical_quaternion", &igl::opengl::glfw::Viewer::snap_to_canonical_quaternion) + .def("open_dialog_load_mesh", &igl::opengl::glfw::Viewer::open_dialog_load_mesh) + .def("open_dialog_save_mesh", &igl::opengl::glfw::Viewer::open_dialog_save_mesh) + + // Input handling + .def_readwrite("current_mouse_x", &igl::opengl::glfw::Viewer::current_mouse_x) + .def_readwrite("current_mouse_y", &igl::opengl::glfw::Viewer::current_mouse_y) + + // Callbacks + .def_readwrite("callback_init", &igl::opengl::glfw::Viewer::callback_init) + .def_readwrite("callback_pre_draw", &igl::opengl::glfw::Viewer::callback_pre_draw) + .def_readwrite("callback_post_draw", &igl::opengl::glfw::Viewer::callback_post_draw) + .def_readwrite("callback_mouse_down", &igl::opengl::glfw::Viewer::callback_mouse_down) + .def_readwrite("callback_mouse_up", &igl::opengl::glfw::Viewer::callback_mouse_up) + .def_readwrite("callback_mouse_move", &igl::opengl::glfw::Viewer::callback_mouse_move) + .def_readwrite("callback_mouse_scroll", &igl::opengl::glfw::Viewer::callback_mouse_scroll) + .def_readwrite("callback_key_pressed", &igl::opengl::glfw::Viewer::callback_key_pressed) + .def_readwrite("callback_key_down", &igl::opengl::glfw::Viewer::callback_key_down) + .def_readwrite("callback_key_up", &igl::opengl::glfw::Viewer::callback_key_up) + ; +} diff --git a/python/modules/py_igl_png.cpp b/python/modules/py_igl_png.cpp index a17141d9a..33429c0b0 100644 --- a/python/modules/py_igl_png.cpp +++ b/python/modules/py_igl_png.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include "../python_shared.h" diff --git a/python/modules/py_igl_triangle.cpp b/python/modules/py_igl_triangle.cpp index a6b21ede9..87026a156 100644 --- a/python/modules/py_igl_triangle.cpp +++ b/python/modules/py_igl_triangle.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //#include //#include //#include diff --git a/python/modules/py_igl_viewer.cpp b/python/modules/py_igl_viewer.cpp deleted file mode 100644 index 3f56c8068..000000000 --- a/python/modules/py_igl_viewer.cpp +++ /dev/null @@ -1,445 +0,0 @@ -#include -#include - -#include "../python_shared.h" -#define ENABLE_SERIALIZATION -#include -#include -#include -#include -#include -#ifdef IGL_VIEWER_WITH_NANOGUI -#include "../../../external/nanogui/include/nanogui/formhelper.h" -#include "../../../external/nanogui/include/nanogui/screen.h" -#endif - -void python_export_igl_viewer(py::module &m) -{ - - py::module me = m.def_submodule( - "viewer", "Mesh viewer"); - -/////////////////////// DATA - -py::class_ viewerdata_class(me, "ViewerData"); - -py::enum_(viewerdata_class, "DirtyFlags") - .value("DIRTY_NONE", igl::viewer::ViewerData::DIRTY_NONE) - .value("DIRTY_POSITION", igl::viewer::ViewerData::DIRTY_POSITION) - .value("DIRTY_UV", igl::viewer::ViewerData::DIRTY_UV) - .value("DIRTY_NORMAL", igl::viewer::ViewerData::DIRTY_NORMAL) - .value("DIRTY_AMBIENT", igl::viewer::ViewerData::DIRTY_AMBIENT) - .value("DIRTY_DIFFUSE", igl::viewer::ViewerData::DIRTY_DIFFUSE) - .value("DIRTY_SPECULAR", igl::viewer::ViewerData::DIRTY_SPECULAR) - .value("DIRTY_TEXTURE", igl::viewer::ViewerData::DIRTY_TEXTURE) - .value("DIRTY_FACE", igl::viewer::ViewerData::DIRTY_FACE) - .value("DIRTY_MESH", igl::viewer::ViewerData::DIRTY_MESH) - .value("DIRTY_OVERLAY_LINES", igl::viewer::ViewerData::DIRTY_OVERLAY_LINES) - .value("DIRTY_OVERLAY_POINTS", igl::viewer::ViewerData::DIRTY_OVERLAY_POINTS) - .value("DIRTY_ALL", igl::viewer::ViewerData::DIRTY_ALL) - .export_values(); - - - viewerdata_class - .def(py::init<>()) - .def("set_mesh", &igl::viewer::ViewerData::set_mesh) - .def("set_colors", &igl::viewer::ViewerData::set_colors) - .def("clear", &igl::viewer::ViewerData::clear) - .def("set_face_based", &igl::viewer::ViewerData::set_face_based) - - .def("set_vertices", &igl::viewer::ViewerData::set_vertices) - .def("set_normals", &igl::viewer::ViewerData::set_normals) - - .def("set_uv", - (void (igl::viewer::ViewerData::*) (const Eigen::MatrixXd &)) &igl::viewer::ViewerData::set_uv - ) - - .def("set_uv", - (void (igl::viewer::ViewerData::*) (const Eigen::MatrixXd &, const Eigen::MatrixXi&)) &igl::viewer::ViewerData::set_uv - ) - - .def("set_texture", - (void (igl::viewer::ViewerData::*) ( - const Eigen::Matrix&, - const Eigen::Matrix&, - const Eigen::Matrix&) - ) &igl::viewer::ViewerData::set_texture - ) - - .def("set_texture", - (void (igl::viewer::ViewerData::*) ( - const Eigen::Matrix&, - const Eigen::Matrix&, - const Eigen::Matrix&, - const Eigen::Matrix&) - ) &igl::viewer::ViewerData::set_texture - ) - - .def("set_points", &igl::viewer::ViewerData::set_points) - .def("add_points", &igl::viewer::ViewerData::add_points) - .def("set_edges", &igl::viewer::ViewerData::set_edges) - .def("add_edges", &igl::viewer::ViewerData::add_edges) - - .def("add_label", [] (igl::viewer::ViewerData& data, const Eigen::MatrixXd& P, const std::string& str) - { - assert_is_VectorX("P",P); - data.add_label(P,str); - }) - - .def("compute_normals", &igl::viewer::ViewerData::compute_normals) - - .def("uniform_colors", [] (igl::viewer::ViewerData& data, const Eigen::MatrixXd& ambient, const Eigen::MatrixXd& diffuse, const Eigen::MatrixXd& specular) - { - if (ambient.cols() == 3) - { - assert_is_Vector3("ambient",ambient); - assert_is_Vector3("diffuse",diffuse); - assert_is_Vector3("specular",specular); - Eigen::Vector3d vambient = ambient; - Eigen::Vector3d vdiffuse = diffuse; - Eigen::Vector3d vspecular = specular; - data.uniform_colors(vambient,vdiffuse, vspecular); - } - - if (ambient.cols() == 4) - { - assert_is_Vector4("ambient",ambient); - assert_is_Vector4("diffuse",diffuse); - assert_is_Vector4("specular",specular); - Eigen::Vector4d vambient = ambient; - Eigen::Vector4d vdiffuse = diffuse; - Eigen::Vector4d vspecular = specular; - data.uniform_colors(vambient,vdiffuse,vspecular); - } - - }) - - .def("grid_texture", &igl::viewer::ViewerData::grid_texture) - - .def_readwrite("V", &igl::viewer::ViewerData::V) - .def_readwrite("F", &igl::viewer::ViewerData::F) - - .def_readwrite("F_normals", &igl::viewer::ViewerData::F_normals) - .def_readwrite("F_material_ambient", &igl::viewer::ViewerData::F_material_ambient) - .def_readwrite("F_material_diffuse", &igl::viewer::ViewerData::F_material_diffuse) - .def_readwrite("F_material_specular", &igl::viewer::ViewerData::F_material_specular) - - .def_readwrite("V_normals", &igl::viewer::ViewerData::V_normals) - .def_readwrite("V_material_ambient", &igl::viewer::ViewerData::V_material_ambient) - .def_readwrite("V_material_diffuse", &igl::viewer::ViewerData::V_material_diffuse) - .def_readwrite("V_material_specular", &igl::viewer::ViewerData::V_material_specular) - - .def_readwrite("V_uv", &igl::viewer::ViewerData::V_uv) - .def_readwrite("F_uv", &igl::viewer::ViewerData::F_uv) - - .def_readwrite("texture_R", &igl::viewer::ViewerData::texture_R) - .def_readwrite("texture_G", &igl::viewer::ViewerData::texture_G) - .def_readwrite("texture_B", &igl::viewer::ViewerData::texture_B) - - .def_readwrite("lines", &igl::viewer::ViewerData::lines) - .def_readwrite("points", &igl::viewer::ViewerData::points) - .def_readwrite("labels_positions", &igl::viewer::ViewerData::labels_positions) - .def_readwrite("labels_strings", &igl::viewer::ViewerData::labels_strings) - .def_readwrite("dirty", &igl::viewer::ViewerData::dirty) - .def_readwrite("face_based", &igl::viewer::ViewerData::face_based) - .def("serialize", [](igl::viewer::ViewerData& data) - { - std::vector a; - igl::serialize(data,"Data",a); - return a; - }) - - .def("deserialize", [](igl::viewer::ViewerData& data, const std::vector& a) - { - igl::deserialize(data,"Data",a); - return; - }) - - ; - -//////////////////////// OPENGL_State - -py::class_ opengl_state_class(me, "OpenGL_state"); - - opengl_state_class - .def(py::init<>()) - .def("init", &igl::viewer::OpenGL_state::init) - - ; - -//////////////////////// CORE - -py::class_ viewercore_class(me, "ViewerCore"); - - py::enum_(viewercore_class, "RotationType") - .value("ROTATION_TYPE_TRACKBALL", igl::viewer::ViewerCore::ROTATION_TYPE_TRACKBALL) - .value("ROTATION_TYPE_TWO_AXIS_VALUATOR_FIXED_UP", igl::viewer::ViewerCore::ROTATION_TYPE_TWO_AXIS_VALUATOR_FIXED_UP) - .value("NUM_ROTATION_TYPES", igl::viewer::ViewerCore::NUM_ROTATION_TYPES) - .export_values(); - - viewercore_class - .def(py::init<>()) - //.def("align_camera_center", [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& V, const Eigen::MatrixXi& F){return core.align_camera_center(V,F);}) - .def("init", &igl::viewer::ViewerCore::init) - .def("shut", &igl::viewer::ViewerCore::shut) - //.def("InitSerialization", &igl::viewer::ViewerCore::InitSerialization) - .def("align_camera_center", - (void (igl::viewer::ViewerCore::*) (const Eigen::MatrixXd &, const Eigen::MatrixXi &)) &igl::viewer::ViewerCore::align_camera_center - ) - - .def("align_camera_center", - (void (igl::viewer::ViewerCore::*) (const Eigen::MatrixXd &)) &igl::viewer::ViewerCore::align_camera_center - ) - - .def("clear_framebuffers",&igl::viewer::ViewerCore::clear_framebuffers) - .def("draw",&igl::viewer::ViewerCore::draw) - .def("draw_buffer",&igl::viewer::ViewerCore::draw_buffer) - - .def_readwrite("shininess",&igl::viewer::ViewerCore::shininess) - - .def_property("background_color", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.background_color.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector4("background_color",v); - core.background_color << Eigen::Vector4f(v.cast()); - }) - - .def_property("line_color", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.line_color.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector4("line_color",v); - core.line_color = Eigen::Vector4f(v.cast()); - }) - - .def_property("light_position", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.light_position.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("light_position",v); - core.light_position = Eigen::Vector3f(v.cast()); - }) - - .def_readwrite("lighting_factor",&igl::viewer::ViewerCore::lighting_factor) - .def_readwrite("model_zoom",&igl::viewer::ViewerCore::model_zoom) - - .def_property("trackball_angle", - [](const igl::viewer::ViewerCore& core) {return Eigen::Quaterniond(core.trackball_angle.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::Quaterniond& q) - { - core.trackball_angle = Eigen::Quaternionf(q.cast()); - }) - - .def_property("model_translation", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.model_translation.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("model_translation",v); - core.model_translation = Eigen::Vector3f(v.cast()); - }) - - .def_readwrite("model_zoom_uv",&igl::viewer::ViewerCore::model_zoom_uv) - - .def_property("model_translation_uv", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.model_translation_uv.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("model_translation_uv",v); - core.model_translation_uv = Eigen::Vector3f(v.cast()); - }) - - .def_readwrite("camera_zoom",&igl::viewer::ViewerCore::camera_zoom) - .def_readwrite("orthographic",&igl::viewer::ViewerCore::orthographic) - - .def_property("camera_eye", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.camera_eye.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("camera_eye",v); - core.camera_eye = Eigen::Vector3f(v.cast()); - }) - - .def_property("camera_up", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.camera_up.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("camera_up",v); - core.camera_up = Eigen::Vector3f(v.cast()); - }) - - .def_property("camera_center", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.camera_center.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector3("camera_center",v); - core.camera_center = Eigen::Vector3f(v.cast()); - }) - - .def_readwrite("camera_view_angle",&igl::viewer::ViewerCore::camera_view_angle) - - .def_readwrite("camera_dnear",&igl::viewer::ViewerCore::camera_dnear) - .def_readwrite("camera_dfar",&igl::viewer::ViewerCore::camera_dfar) - - .def_readwrite("show_overlay",&igl::viewer::ViewerCore::show_overlay) - .def_readwrite("show_overlay_depth",&igl::viewer::ViewerCore::show_overlay_depth) - .def_readwrite("show_texture",&igl::viewer::ViewerCore::show_texture) - .def_readwrite("show_faces",&igl::viewer::ViewerCore::show_faces) - - .def_readwrite("show_lines",&igl::viewer::ViewerCore::show_lines) - .def_readwrite("show_vertid",&igl::viewer::ViewerCore::show_vertid) - .def_readwrite("show_faceid",&igl::viewer::ViewerCore::show_faceid) - .def_readwrite("invert_normals",&igl::viewer::ViewerCore::invert_normals) - .def_readwrite("depth_test",&igl::viewer::ViewerCore::depth_test) - - .def_readwrite("point_size",&igl::viewer::ViewerCore::point_size) - .def_readwrite("line_width",&igl::viewer::ViewerCore::line_width) - - .def_readwrite("is_animating",&igl::viewer::ViewerCore::is_animating) - .def_readwrite("animation_max_fps",&igl::viewer::ViewerCore::animation_max_fps) - - .def_readwrite("object_scale",&igl::viewer::ViewerCore::object_scale) - - .def_property("viewport", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.viewport.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Vector4("viewport",v); - core.viewport = Eigen::Vector4f(v.cast()); - }) - - .def_property("view", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.view.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Matrix4("view",v); - core.view = Eigen::Matrix4f(v.cast()); - }) - - .def_property("model", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.model.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Matrix4("model",v); - core.model = Eigen::Matrix4f(v.cast()); - }) - - .def_property("proj", - [](const igl::viewer::ViewerCore& core) {return Eigen::MatrixXd(core.proj.cast());}, - [](igl::viewer::ViewerCore& core, const Eigen::MatrixXd& v) - { - assert_is_Matrix4("proj",v); - core.proj = Eigen::Matrix4f(v.cast()); - }) - - .def_readwrite("rotation_type",&igl::viewer::ViewerCore::rotation_type) - - .def("serialize", [](igl::viewer::ViewerCore& core) - { - std::vector a; - igl::serialize(core,"Core",a); - return a; - }) - - .def("deserialize", [](igl::viewer::ViewerCore& core, const std::vector& a) - { - igl::deserialize(core,"Core",a); - return; - }) - - // TODO: wrap this! - // Eigen::Quaternionf trackball_angle; - ; - -///////////////////////// VIEWER - -// UI Enumerations - py::class_ viewer_class(me, "Viewer"); - -// #ifdef IGL_VIEWER_WITH_NANOGUI -// py::object fh = (py::object) py::module::import("nanogui").attr("FormHelper"); -// py::class_ form_helper_class(me, "FormHelper", fh); - -// py::object screen = (py::object) py::module::import("nanogui").attr("Screen"); -// py::class_ screen_class(me, "Screen", screen); -// #endif - - py::enum_(viewer_class, "MouseButton") - .value("Left", igl::viewer::Viewer::MouseButton::Left) - .value("Middle", igl::viewer::Viewer::MouseButton::Middle) - .value("Right", igl::viewer::Viewer::MouseButton::Right) - .export_values(); - - viewer_class - .def(py::init<>()) - .def_readwrite("data", &igl::viewer::Viewer::data) - .def_readwrite("core", &igl::viewer::Viewer::core) - .def_readwrite("opengl", &igl::viewer::Viewer::opengl) - - #ifdef IGL_VIEWER_WITH_NANOGUI - .def_readwrite("ngui", &igl::viewer::Viewer::ngui) - .def_readwrite("screen", &igl::viewer::Viewer::screen) - #endif - - .def("launch", &igl::viewer::Viewer::launch, py::arg("resizable") = true, py::arg("fullscreen") = false) - .def("launch_init", &igl::viewer::Viewer::launch_init, py::arg("resizable") = true, py::arg("fullscreen") = false) - .def("launch_rendering", &igl::viewer::Viewer::launch_rendering, py::arg("loop") = true) - .def("launch_shut", &igl::viewer::Viewer::launch_shut) - .def("init", &igl::viewer::Viewer::init) - .def("serialize", [](igl::viewer::Viewer& viewer) - { - std::vector a; - igl::serialize(viewer.core,"Core",a); - igl::serialize(viewer.data,"Data",a); - - return a; - }) - - .def("deserialize", [](igl::viewer::Viewer& viewer, const std::vector& a) - { - igl::deserialize(viewer.core,"Core",a); - igl::deserialize(viewer.data,"Data",a); - return; - }) - - // Scene IO - .def("load_scene", [](igl::viewer::Viewer& viewer) - { - viewer.load_scene(); - }) - - .def("load_scene", [](igl::viewer::Viewer& viewer, std::string str) - { - viewer.load_scene(str); - }) - - .def("save_scene", &igl::viewer::Viewer::save_scene) - - // Draw everything - .def("draw", &igl::viewer::Viewer::draw) - - // OpenGL context resize - .def("resize", &igl::viewer::Viewer::resize) - - // Helper functions - .def("snap_to_canonical_quaternion", &igl::viewer::Viewer::snap_to_canonical_quaternion) - .def("open_dialog_load_mesh", &igl::viewer::Viewer::open_dialog_load_mesh) - .def("open_dialog_save_mesh", &igl::viewer::Viewer::open_dialog_save_mesh) - - // Input handling - .def_readwrite("current_mouse_x", &igl::viewer::Viewer::current_mouse_x) - .def_readwrite("current_mouse_y", &igl::viewer::Viewer::current_mouse_y) - - // Callbacks - .def_readwrite("callback_init", &igl::viewer::Viewer::callback_init) - .def_readwrite("callback_pre_draw", &igl::viewer::Viewer::callback_pre_draw) - .def_readwrite("callback_post_draw", &igl::viewer::Viewer::callback_post_draw) - .def_readwrite("callback_mouse_down", &igl::viewer::Viewer::callback_mouse_down) - .def_readwrite("callback_mouse_up", &igl::viewer::Viewer::callback_mouse_up) - .def_readwrite("callback_mouse_move", &igl::viewer::Viewer::callback_mouse_move) - .def_readwrite("callback_mouse_scroll", &igl::viewer::Viewer::callback_mouse_scroll) - .def_readwrite("callback_key_pressed", &igl::viewer::Viewer::callback_key_pressed) - .def_readwrite("callback_key_down", &igl::viewer::Viewer::callback_key_down) - .def_readwrite("callback_key_up", &igl::viewer::Viewer::callback_key_up) - ; -} diff --git a/python/modules/py_typedefs.cpp b/python/modules/py_typedefs.cpp index 97f24a2de..2ccf2122c 100644 --- a/python/modules/py_typedefs.cpp +++ b/python/modules/py_typedefs.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::class_(m, "RotationList") .def(py::init<>()) .def(py::init()) diff --git a/python/modules/py_typedefs.h b/python/modules/py_typedefs.h index 7258cc770..4023ad429 100644 --- a/python/modules/py_typedefs.h +++ b/python/modules/py_typedefs.h @@ -1,5 +1,16 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include #include +#include +#include +#include +#include typedef std::vector > RotationList; PYBIND11_MAKE_OPAQUE(RotationList) diff --git a/python/modules/py_vector.cpp b/python/modules/py_vector.cpp index 9dadb3f90..501d739db 100644 --- a/python/modules/py_vector.cpp +++ b/python/modules/py_vector.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include #include #include @@ -93,7 +100,7 @@ py::class_ bind_eigen_2(py::module &m, const char *name) { .def("rows", [](const Type &m) { return m.rows(); }) .def("shape", [](const Type &m) { return std::tuple(m.rows(), m.cols()); }) - /* Extract rows and colums */ + /* Extract rows and columns */ .def("col", [](const Type &m, int i) { if (i<0 || i>=m.cols()) throw std::runtime_error("Column index out of bound."); diff --git a/python/py_doc.cpp b/python/py_doc.cpp index 343c102ce..2178e5da1 100644 --- a/python/py_doc.cpp +++ b/python/py_doc.cpp @@ -1,8 +1,15 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. const char *__doc_igl_active_set = R"igl_Qu8mg5v7(// Known Bugs: rows of [Aeq;Aieq] **must** be linearly independent. Should be // using QR decomposition otherwise: // http://www.okstate.edu/sas/v8/sashtml/ormp/chap5/sect32.htm // - // ACTIVE_SET Minimize quadratic energy + // ACTIVE_SET Minimize quadratic energy // // 0.5*Z'*A*Z + Z'*B + C with constraints // @@ -37,7 +44,7 @@ const char *__doc_igl_adjacency_list = R"igl_Qu8mg5v7(// Constructs the graph ad // Inputs: // F #F by dim list of mesh faces (must be triangles) // sorted flag that indicates if the list should be sorted counter-clockwise - // Outputs: + // Outputs: // A vector > containing at row i the adjacent vertices of vertex i // // Example: @@ -119,7 +126,7 @@ const char *__doc_igl_bbw = R"igl_Qu8mg5v7(// Compute Bounded Biharmonic Weights // Ele #Elements by simplex-size list of element indices // b #b boundary indices into V // bc #b by #W list of boundary values - // data object containing options, intial guess --> solution and results + // data object containing options, initial guess --> solution and results // Outputs: // W #V by #W list of *unnormalized* weights to normalize use // igl::normalize_row_sums(W,W); @@ -171,11 +178,11 @@ const char *__doc_igl_boundary_loop = R"igl_Qu8mg5v7(// Compute list of ordered //)igl_Qu8mg5v7"; const char *__doc_igl_cat = R"igl_Qu8mg5v7(// Perform concatenation of a two matrices along a single dimension // If dim == 1, then C = [A;B]. If dim == 2 then C = [A B] - // + // // Template: // Scalar scalar data type for sparse matrices like double or int // Mat matrix type for all matrices (e.g. MatrixXd, SparseMatrix) - // MatC matrix type for ouput matrix (e.g. MatrixXd) needs to support + // MatC matrix type for output matrix (e.g. MatrixXd) needs to support // resize // Inputs: // A first input matrix @@ -284,7 +291,7 @@ const char *__doc_igl_copyleft_cgal_remesh_self_intersections = R"igl_Qu8mg5v7(/ // Known bugs: If an existing edge in (V,F) lies exactly on another face then // any resulting additional vertices along that edge may not get properly // connected so that the output mesh has the same global topology. This is - // because + // because // // Example: // // resolve intersections @@ -315,7 +322,7 @@ const char *__doc_igl_copyleft_comiso_miq = R"igl_Qu8mg5v7(// Inputs: // UV #UV by 2 list of vertices in 2D // FUV #FUV by 3 list of face indices in UV // - // TODO: rename the parameters name in the cpp consistenly + // TODO: rename the parameters name in the cpp consistently // improve the handling of hard_features, right now it might fail in difficult cases)igl_Qu8mg5v7"; const char *__doc_igl_copyleft_comiso_nrosy = R"igl_Qu8mg5v7(// Generate a N-RoSy field from a sparse set of constraints // @@ -329,7 +336,7 @@ const char *__doc_igl_copyleft_comiso_nrosy = R"igl_Qu8mg5v7(// Generate a N-RoS // w_soft #S by 1 weight for the soft constraints (0-1) // bc_soft #S by 3 bc for soft constraints // N the degree of the N-RoSy vector field - // soft the strenght of the soft contraints w.r.t. smoothness + // soft the strength of the soft constraints w.r.t. smoothness // (0 -> smoothness only, 1->constraints only) // Outputs: // R #F by 3 the representative vectors of the interpolated field @@ -360,7 +367,7 @@ const char *__doc_igl_copyleft_marching_cubes = R"igl_Qu8mg5v7(// marching_cubes //)igl_Qu8mg5v7"; const char *__doc_igl_copyleft_swept_volume = R"igl_Qu8mg5v7(// Compute the surface of the swept volume of a solid object with surface // (V,F) mesh under going rigid motion. - // + // // Inputs: // V #V by 3 list of mesh positions in reference pose // F #F by 3 list of mesh indices into V @@ -404,7 +411,7 @@ const char *__doc_igl_cotmatrix = R"igl_Qu8mg5v7(// Constructs the cotangent sti // Inputs: // V #V by dim list of mesh vertex positions // F #F by simplex_size list of mesh faces (must be triangles) - // Outputs: + // Outputs: // L #V by #V cotangent matrix, each row i corresponding to V(i,:) // // See also: adjacency_matrix @@ -464,9 +471,9 @@ const char *__doc_igl_directed_edge_orientations = R"igl_Qu8mg5v7(// Determine r // C #C by 3 list of edge vertex positions // E #E by 2 list of directed edges // Outputs: - // Q #E list of quaternions + // Q #E list of quaternions //)igl_Qu8mg5v7"; -const char *__doc_igl_directed_edge_parents = R"igl_Qu8mg5v7(// Recover "parents" (preceeding edges) in a tree given just directed edges. +const char *__doc_igl_directed_edge_parents = R"igl_Qu8mg5v7(// Recover "parents" (preceding edges) in a tree given just directed edges. // // Inputs: // E #E by 2 list of directed edges @@ -506,7 +513,7 @@ const char *__doc_igl_dqs = R"igl_Qu8mg5v7(// Dual quaternion skinning // Inputs: // V #V by 3 list of rest positions // W #W by #C list of weights - // vQ #C list of rotation quaternions + // vQ #C list of rotation quaternions // vT #C list of translation vectors // Outputs: // U #V by 3 list of new positions)igl_Qu8mg5v7"; @@ -525,7 +532,7 @@ const char *__doc_igl_edge_lengths = R"igl_Qu8mg5v7(// Constructs a list of leng // or // T #T by 4 list of mesh elements (must be tets) // Outputs: - // L #F by {1|3|6} list of edge lengths + // L #F by {1|3|6} list of edge lengths // for edges, column of lengths // for triangles, columns correspond to edges [1,2],[2,0],[0,1] // for tets, columns correspond to edges @@ -558,8 +565,8 @@ const char *__doc_igl_embree_ambient_occlusion = R"igl_Qu8mg5v7(// Compute ambie // 0 (not occluded) //)igl_Qu8mg5v7"; const char *__doc_igl_embree_line_mesh_intersection = R"igl_Qu8mg5v7(// Project the point cloud V_source onto the triangle mesh - // V_target,F_target. - // A ray is casted for every vertex in the direction specified by + // V_target,F_target. + // A ray is casted for every vertex in the direction specified by // N_source and its opposite. // // Input: @@ -569,9 +576,9 @@ const char *__doc_igl_embree_line_mesh_intersection = R"igl_Qu8mg5v7(// Project // F_target: #F2x3 Faces of the target mesh // // Output: - // #Vx3 matrix of baricentric coordinate. Each row corresponds to + // #Vx3 matrix of baricentric coordinate. Each row corresponds to // a vertex of the projected mesh and it has the following format: - // id b1 b2. id is the id of a face of the source mesh. b1 and b2 are + // id b1 b2. id is the id of a face of the source mesh. b1 and b2 are // the barycentric coordinates wrt the first two edges of the triangle // To convert to standard global coordinates, see barycentric_to_global.h)igl_Qu8mg5v7"; const char *__doc_igl_embree_reorient_facets_raycast = R"igl_Qu8mg5v7(// Orient each component (identified by C) of a mesh (V,F) using ambient @@ -591,6 +598,23 @@ const char *__doc_igl_embree_reorient_facets_raycast = R"igl_Qu8mg5v7(// Orient // Outputs: // I #F list of whether face has been flipped // C #F list of patch ID (output of bfs_orient > manifold patches))igl_Qu8mg5v7"; +const char *__doc_igl_exact_geodesic = R"igl_Qu8mg5v7( + // Exact geodesic algorithm for triangular mesh with the implementation from https://code.google.com/archive/p/geodesic/, + // and the algorithm first described by Mitchell, Mount and Papadimitriou in 1987 + // + // Inputs: + // V #V by 3 list of 3D vertex positions + // F #F by 3 list of mesh faces + // VS #VS by 1 vector specifying indices of source vertices + // FS #FS by 1 vector specifying indices of source faces + // VT #VT by 1 vector specifying indices of target vertices + // FT #FT by 1 vector specifying indices of target faces + // Output: + // D #VT+#FT by 1 vector of geodesic distances of each target w.r.t. the nearest one in the source set + // + // Note: + // Specifying a face as target/source means its center. + //)igl_Qu8mg5v7"; const char *__doc_igl_find_cross_field_singularities = R"igl_Qu8mg5v7(// Inputs: // V #V by 3 eigen Matrix of mesh vertex 3D positions // F #F by 3 eigen Matrix of face (quad) indices @@ -605,7 +629,7 @@ const char *__doc_igl_fit_rotations = R"igl_Qu8mg5v7(// Known issues: This seems // // FIT_ROTATIONS Given an input mesh and new positions find rotations for // every covariance matrix in a stack of covariance matrices - // + // // Inputs: // S nr*dim by dim stack of covariance matrices // single_precision whether to use single precision (faster) @@ -614,7 +638,7 @@ const char *__doc_igl_fit_rotations = R"igl_Qu8mg5v7(// Known issues: This seems //)igl_Qu8mg5v7"; const char *__doc_igl_fit_rotations_planar = R"igl_Qu8mg5v7(// FIT_ROTATIONS Given an input mesh and new positions find 2D rotations for // every vertex that best maps its one ring to the new one ring - // + // // Inputs: // S nr*dim by dim stack of covariance matrices, third column and every // third row will be ignored @@ -623,7 +647,7 @@ const char *__doc_igl_fit_rotations_planar = R"igl_Qu8mg5v7(// FIT_ROTATIONS Giv // rotation will just be identity //)igl_Qu8mg5v7"; const char *__doc_igl_fit_rotations_SSE = R"igl_Qu8mg5v7(See fit_rotations_SSE for the documentation.)igl_Qu8mg5v7"; -const char *__doc_igl_floor = R"igl_Qu8mg5v7(// Floor a given matrix to nearest integers +const char *__doc_igl_floor = R"igl_Qu8mg5v7(// Floor a given matrix to nearest integers // // Inputs: // X m by n matrix of scalars @@ -651,7 +675,7 @@ const char *__doc_igl_gaussian_curvature = R"igl_Qu8mg5v7(// Compute discrete lo // K #V by 1 eigen Matrix of discrete gaussian curvature values //)igl_Qu8mg5v7"; const char *__doc_igl_get_seconds = R"igl_Qu8mg5v7(// Return the current time in seconds since program start - // + // // Example: // const auto & tictoc = []() // { @@ -692,7 +716,7 @@ const char *__doc_igl_hsv_to_rgb = R"igl_Qu8mg5v7(// Convert RGB to HSV // s saturation value ([0,1]) // v value value ([0,1]) // Outputs: - // r red value ([0,1]) + // r red value ([0,1]) // g green value ([0,1]) // b blue value ([0,1]))igl_Qu8mg5v7"; const char *__doc_igl_internal_angles = R"igl_Qu8mg5v7(// Compute internal angles for a triangle mesh @@ -740,7 +764,7 @@ const char *__doc_igl_is_irregular_vertex = R"igl_Qu8mg5v7(// Determine if a ver const char *__doc_igl_jet = R"igl_Qu8mg5v7(// JET like MATLAB's jet // // Inputs: - // m number of colors + // m number of colors // Outputs: // J m by list of RGB colors between 0 and 1 // @@ -784,7 +808,7 @@ const char *__doc_igl_lbs_matrix_column = R"igl_Qu8mg5v7(// LBS_MATRIX construc // Output: // M #V * dim by #handles * dim * (dim+1) matrix such that // new_V(:) = LBS(V,W,A) = reshape(M * A,size(V)), where A is a column - // vectors formed by the entries in each handle's dim by dim+1 + // vectors formed by the entries in each handle's dim by dim+1 // transformation matrix. Specifcally, A = // reshape(permute(Astack,[3 1 2]),n*dim*(dim+1),1) // or A = [Lxx;Lyx;Lxy;Lyy;tx;ty], and likewise for other dim @@ -845,7 +869,7 @@ const char *__doc_igl_massmatrix = R"igl_Qu8mg5v7(// Constructs the mass (area) // MASSMATRIX_TYPE_BARYCENTRIC barycentric // MASSMATRIX_TYPE_VORONOI voronoi-hybrid {default} // MASSMATRIX_TYPE_FULL full {not implemented} - // Outputs: + // Outputs: // M #V by #V mass matrix // // See also: adjacency_matrix @@ -896,12 +920,6 @@ const char *__doc_igl_min_quad_with_fixed_solve = R"igl_Qu8mg5v7(// Solves a sys // sol #unknowns+#lagrange by k solution to linear system // Returns true on success, false on error)igl_Qu8mg5v7"; const char *__doc_igl_min_quad_with_fixed = R"igl_Qu8mg5v7(See min_quad_with_fixed for the documentation.)igl_Qu8mg5v7"; -const char *__doc_igl_n_polyvector = R"igl_Qu8mg5v7(// Inputs: - // v0, v1 the two #3 by 1 vectors - // normalized boolean, if false, then the vectors are normalized prior to the calculation - // Output: - // 3 by 3 rotation matrix that takes v0 to v1 - //)igl_Qu8mg5v7"; const char *__doc_igl_normalize_row_lengths = R"igl_Qu8mg5v7(// Obsolete: just use A.rowwise().normalize() or B=A.rowwise().normalized(); // // Normalize the rows in A so that their lengths are each 1 and place the new @@ -921,7 +939,7 @@ const char *__doc_igl_normalize_row_sums = R"igl_Qu8mg5v7(// Normalize the rows const char *__doc_igl_parula = R"igl_Qu8mg5v7(// PARULA like MATLAB's parula // // Inputs: - // m number of colors + // m number of colors // Outputs: // J m by list of RGB colors between 0 and 1 // @@ -1033,7 +1051,7 @@ const char *__doc_igl_principal_curvature = R"igl_Qu8mg5v7(// Compute the princi // Inputs: // V eigen matrix #V by 3 // F #F by 3 list of mesh faces (must be triangles) - // radius controls the size of the neighbourhood used, 1 = average edge lenght + // radius controls the size of the neighbourhood used, 1 = average edge length // // Outputs: // PD1 #V by 3 maximal curvature direction for each vertex. @@ -1116,18 +1134,18 @@ const char *__doc_igl_readTGF = R"igl_Qu8mg5v7(// READTGF // // Input: // filename .tgf file name - // Ouput: + // Output: // V # vertices by 3 list of vertex positions // E # edges by 2 list of edge indices // P # point-handles list of point handle indices // BE # bone-edges by 2 list of bone-edge indices // CE # cage-edges by 2 list of cage-edge indices // PE # pseudo-edges by 2 list of pseudo-edge indices - // + // // Assumes that graph vertices are 3 dimensional)igl_Qu8mg5v7"; const char *__doc_igl_read_triangle_mesh = R"igl_Qu8mg5v7(// read mesh from an ascii file with automatic detection of file format. // supported: obj, off, stl, wrl, ply, mesh) - // + // // Templates: // Scalar type for positions and vectors (will be read as double and cast // to Scalar) @@ -1147,7 +1165,7 @@ const char *__doc_igl_remove_duplicate_vertices = R"igl_Qu8mg5v7(// REMOVE_DUPLI // this as a tolerance on L1 distance // Outputs: // SV #SV by dim new list of vertex positions - // SVI #V by 1 list of indices so SV = V(SVI,:) + // SVI #V by 1 list of indices so SV = V(SVI,:) // SVJ #SV by 1 list of indices so V = SV(SVJ,:) // // Example: @@ -1200,7 +1218,7 @@ const char *__doc_igl_signed_distance_pseudonormal = R"igl_Qu8mg5v7(// Computes // Inputs: // tree AABB acceleration tree (see AABB.h) // F #F by 3 list of triangle indices - // FN #F by 3 list of triangle normals + // FN #F by 3 list of triangle normals // VN #V by 3 list of vertex normals (ANGLE WEIGHTING) // EN #E by 3 list of edge normals (UNIFORM WEIGHTING) // EMAP #F*3 mapping edges in F to E @@ -1214,7 +1232,7 @@ const char *__doc_igl_signed_distance_winding_number = R"igl_Qu8mg5v7(// Inputs: // Returns signed distance to mesh)igl_Qu8mg5v7"; const char *__doc_igl_slice = R"igl_Qu8mg5v7(// Act like the matlab X(row_indices,col_indices) operator, where // row_indices, col_indices are non-negative integer indices. - // + // // Inputs: // X m by n matrix // R list of row indices @@ -1224,7 +1242,7 @@ const char *__doc_igl_slice = R"igl_Qu8mg5v7(// Act like the matlab X(row_indice // // See also: slice_mask)igl_Qu8mg5v7"; const char *__doc_igl_slice_into = R"igl_Qu8mg5v7(// Act like the matlab Y(row_indices,col_indices) = X - // + // // Inputs: // X xm by xn rhs matrix // R list of row indices @@ -1234,7 +1252,7 @@ const char *__doc_igl_slice_into = R"igl_Qu8mg5v7(// Act like the matlab Y(row_i // Y ym by yn lhs matrix, same as input but Y(R,C) = X)igl_Qu8mg5v7"; const char *__doc_igl_slice_mask = R"igl_Qu8mg5v7(// Act like the matlab X(row_mask,col_mask) operator, where // row_mask, col_mask are non-negative integer indices. - // + // // Inputs: // X m by n matrix // R m list of row bools @@ -1248,7 +1266,7 @@ const char *__doc_igl_slice_tets = R"igl_Qu8mg5v7(// SLICE_TETS Slice through a // // Inputs: // V #V by 3 list of tet mesh vertices - // T #T by 4 list of tet indices into V + // T #T by 4 list of tet indices into V // plane list of 4 coefficients in the plane equation: [x y z 1]'*plane = 0 // Optional: // 'Manifold' followed by whether to stitch together triangles into a @@ -1446,3 +1464,33 @@ const char *__doc_igl_readPLY= R"igl_Qu8mg5v7(// Read a mesh from an ascii ply f // N double matrix of corner normals #N by 3 // UV #V by 2 texture coordinates // Returns true on success, false on errors)igl_Qu8mg5v7"; +const char *__doc_igl_seam_edges=R"igl_Qu8mg5v7(// Finds all UV-space boundaries of a mesh. + // + // Inputs: + // V #V by dim list of positions of the input mesh. + // TC #TC by 2 list of 2D texture coordinates of the input mesh + // F #F by 3 list of triange indices into V representing a + // manifold-with-boundary triangle mesh + // FTC #F by 3 list of indices into TC for each corner + // Outputs: + // seams Edges where the forwards and backwards directions have different + // texture coordinates, as a #seams-by-4 matrix of indices. Each row is + // organized as [ forward_face_index, forward_face_vertex_index, + // backwards_face_index, backwards_face_vertex_index ] such that one side + // of the seam is the edge: + // F[ seams( i, 0 ), seams( i, 1 ) ], F[ seams( i, 0 ), (seams( i, 1 ) + 1) % 3 ] + // and the other side is the edge: + // F[ seams( i, 2 ), seams( i, 3 ) ], F[ seams( i, 2 ), (seams( i, 3 ) + 1) % 3 ] + // boundaries Edges with only one incident triangle, as a #boundaries-by-2 + // matrix of indices. Each row is organized as + // [ face_index, face_vertex_index ] + // such that the edge is: + // F[ boundaries( i, 0 ), boundaries( i, 1 ) ], F[ boundaries( i, 0 ), (boundaries( i, 1 ) + 1) % 3 ] + // foldovers Edges where the two incident triangles fold over each other + // in UV-space, as a #foldovers-by-4 matrix of indices. + // Each row is organized as [ forward_face_index, forward_face_vertex_index, + // backwards_face_index, backwards_face_vertex_index ] + // such that one side of the foldover is the edge: + // F[ foldovers( i, 0 ), foldovers( i, 1 ) ], F[ foldovers( i, 0 ), (foldovers( i, 1 ) + 1) % 3 ] + // and the other side is the edge: + // F[ foldovers( i, 2 ), foldovers( i, 3 ) ], F[ foldovers( i, 2 ), (foldovers( i, 3 ) + 1) % 3 ])igl_Qu8mg5v7"; diff --git a/python/py_doc.h b/python/py_doc.h index 7675c1637..2703b38b7 100644 --- a/python/py_doc.h +++ b/python/py_doc.h @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. extern const char *__doc_igl_active_set; extern const char *__doc_igl_adjacency_list; extern const char *__doc_igl_arap_precomputation; @@ -41,6 +48,7 @@ extern const char *__doc_igl_eigs; extern const char *__doc_igl_embree_ambient_occlusion; extern const char *__doc_igl_embree_line_mesh_intersection; extern const char *__doc_igl_embree_reorient_facets_raycast; +extern const char *__doc_igl_exact_geodesic; extern const char *__doc_igl_find_cross_field_singularities; extern const char *__doc_igl_fit_rotations; extern const char *__doc_igl_fit_rotations_planar; @@ -67,7 +75,6 @@ extern const char *__doc_igl_massmatrix; extern const char *__doc_igl_min_quad_with_fixed_precompute; extern const char *__doc_igl_min_quad_with_fixed_solve; extern const char *__doc_igl_min_quad_with_fixed; -extern const char *__doc_igl_n_polyvector; extern const char *__doc_igl_normalize_row_lengths; extern const char *__doc_igl_normalize_row_sums; extern const char *__doc_igl_parula; @@ -92,6 +99,7 @@ extern const char *__doc_igl_readTGF; extern const char *__doc_igl_read_triangle_mesh; extern const char *__doc_igl_remove_duplicate_vertices; extern const char *__doc_igl_rotate_vectors; +extern const char *__doc_igl_seam_edges; extern const char *__doc_igl_setdiff; extern const char *__doc_igl_signed_distance; extern const char *__doc_igl_signed_distance_pseudonormal; @@ -118,4 +126,4 @@ extern const char *__doc_igl_winding_number_2; extern const char *__doc_igl_writeMESH; extern const char *__doc_igl_writeOBJ; extern const char *__doc_igl_writePLY; -extern const char *__doc_igl_readPLY; +extern const char *__doc_igl_readPLY; \ No newline at end of file diff --git a/python/py_igl.cpp b/python/py_igl.cpp index 61eb1b620..aa4386339 100644 --- a/python/py_igl.cpp +++ b/python/py_igl.cpp @@ -1,7 +1,14 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include #include "python_shared.h" -#include "modules/py_typedefs.h" + #include #include @@ -37,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -56,7 +64,6 @@ #include #include #include -#include #include #include #include @@ -85,7 +92,6 @@ #include #include #include -#include #include #include #include @@ -95,6 +101,7 @@ #include #include #include +#include void python_export_igl(py::module &m) { @@ -134,6 +141,7 @@ void python_export_igl(py::module &m) #include "py_igl/py_edge_lengths.cpp" #include "py_igl/py_edge_topology.cpp" #include "py_igl/py_eigs.cpp" +#include "py_igl/py_exact_geodesic.cpp" #include "py_igl/py_find_cross_field_singularities.cpp" #include "py_igl/py_fit_rotations.cpp" #include "py_igl/py_floor.cpp" @@ -153,7 +161,6 @@ void python_export_igl(py::module &m) #include "py_igl/py_map_vertices_to_circle.cpp" #include "py_igl/py_massmatrix.cpp" #include "py_igl/py_min_quad_with_fixed.cpp" -#include "py_igl/py_n_polyvector.cpp" #include "py_igl/py_normalize_row_lengths.cpp" #include "py_igl/py_normalize_row_sums.cpp" #include "py_igl/py_parula.cpp" @@ -182,7 +189,6 @@ void python_export_igl(py::module &m) #include "py_igl/py_slice_mask.cpp" #include "py_igl/py_slice_tets.cpp" #include "py_igl/py_sortrows.cpp" -#include "py_igl/py_streamlines.cpp" #include "py_igl/py_triangle_triangle_adjacency.cpp" #include "py_igl/py_unique.cpp" #include "py_igl/py_unproject_onto_mesh.cpp" @@ -192,4 +198,5 @@ void python_export_igl(py::module &m) #include "py_igl/py_writeOBJ.cpp" #include "py_igl/py_writePLY.cpp" #include "py_igl/py_readPLY.cpp" +#include "py_igl/py_seam_edges.cpp" } diff --git a/python/py_igl/copyleft/cgal/py_RemeshSelfIntersectionsParam.cpp b/python/py_igl/copyleft/cgal/py_RemeshSelfIntersectionsParam.cpp index c9efdb9c0..d0cb8ebde 100644 --- a/python/py_igl/copyleft/cgal/py_RemeshSelfIntersectionsParam.cpp +++ b/python/py_igl/copyleft/cgal/py_RemeshSelfIntersectionsParam.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::class_ RemeshSelfIntersectionsParam(m, "RemeshSelfIntersectionsParam"); RemeshSelfIntersectionsParam diff --git a/python/py_igl/copyleft/cgal/py_mesh_boolean.cpp b/python/py_igl/copyleft/cgal/py_mesh_boolean.cpp index 654464e5f..2728943fa 100644 --- a/python/py_igl/copyleft/cgal/py_mesh_boolean.cpp +++ b/python/py_igl/copyleft/cgal/py_mesh_boolean.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== m.def("mesh_boolean", [] diff --git a/python/py_igl/copyleft/cgal/py_remesh_self_intersections.cpp b/python/py_igl/copyleft/cgal/py_remesh_self_intersections.cpp index 2c66c3334..f466f1bcd 100644 --- a/python/py_igl/copyleft/cgal/py_remesh_self_intersections.cpp +++ b/python/py_igl/copyleft/cgal/py_remesh_self_intersections.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("remesh_self_intersections", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/copyleft/comiso/py_miq.cpp b/python/py_igl/copyleft/comiso/py_miq.cpp index 134b781da..1e3a3446b 100644 --- a/python/py_igl/copyleft/comiso/py_miq.cpp +++ b/python/py_igl/copyleft/comiso/py_miq.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("miq", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/copyleft/comiso/py_nrosy.cpp b/python/py_igl/copyleft/comiso/py_nrosy.cpp index 608ad514b..33c8e6412 100644 --- a/python/py_igl/copyleft/comiso/py_nrosy.cpp +++ b/python/py_igl/copyleft/comiso/py_nrosy.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("nrosy", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/copyleft/py_marching_cubes.cpp b/python/py_igl/copyleft/py_marching_cubes.cpp index 4aac4f2d0..24c946302 100644 --- a/python/py_igl/copyleft/py_marching_cubes.cpp +++ b/python/py_igl/copyleft/py_marching_cubes.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("marching_cubes", [] diff --git a/python/py_igl/copyleft/py_swept_volume.cpp b/python/py_igl/copyleft/py_swept_volume.cpp index e9214d960..a59b1efff 100644 --- a/python/py_igl/copyleft/py_swept_volume.cpp +++ b/python/py_igl/copyleft/py_swept_volume.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("swept_volume", [] ( diff --git a/python/py_igl/copyleft/tetgen/py_tetrahedralize.cpp b/python/py_igl/copyleft/tetgen/py_tetrahedralize.cpp index e477093ef..fe798842d 100644 --- a/python/py_igl/copyleft/tetgen/py_tetrahedralize.cpp +++ b/python/py_igl/copyleft/tetgen/py_tetrahedralize.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("tetrahedralize", [] ( @@ -13,4 +20,20 @@ m.def("tetrahedralize", [] }, __doc_igl_copyleft_tetgen_tetrahedralize, py::arg("V"), py::arg("F"), py::arg("switches"), py::arg("TV"), py::arg("TT"), py::arg("TF")); +m.def("tetrahedralize", [] +( + const Eigen::MatrixXd& V, + const Eigen::MatrixXi& F, + const Eigen::MatrixXi& VM, + const Eigen::MatrixXi& FM, + const std::string switches, + Eigen::MatrixXd& TV, + Eigen::MatrixXi& TT, + Eigen::MatrixXi& TF, + Eigen::MatrixXi& TM +) +{ + return igl::copyleft::tetgen::tetrahedralize(V, F, VM, FM, switches, TV, TT, TF, TM); +}, __doc_igl_copyleft_tetgen_tetrahedralize, +py::arg("V"), py::arg("F"), py::arg("VM"), py::arg("FM"), py::arg("switches"), py::arg("TV"), py::arg("TT"), py::arg("TF"), py::arg("TM")); diff --git a/python/py_igl/embree/py_ambient_occlusion.cpp b/python/py_igl/embree/py_ambient_occlusion.cpp index b79310f29..399e55b16 100644 --- a/python/py_igl/embree/py_ambient_occlusion.cpp +++ b/python/py_igl/embree/py_ambient_occlusion.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("ambient_occlusion", [] diff --git a/python/py_igl/embree/py_line_mesh_intersection.cpp b/python/py_igl/embree/py_line_mesh_intersection.cpp index 267bef34a..b180d2b23 100644 --- a/python/py_igl/embree/py_line_mesh_intersection.cpp +++ b/python/py_igl/embree/py_line_mesh_intersection.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("line_mesh_intersection", [] diff --git a/python/py_igl/embree/py_reorient_facets_raycast.cpp b/python/py_igl/embree/py_reorient_facets_raycast.cpp index 04e3570c1..c2308073f 100644 --- a/python/py_igl/embree/py_reorient_facets_raycast.cpp +++ b/python/py_igl/embree/py_reorient_facets_raycast.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("reorient_facets_raycast", [] diff --git a/python/py_igl/png/py_readPNG.cpp b/python/py_igl/png/py_readPNG.cpp index c0fb91ade..5e800bce2 100644 --- a/python/py_igl/png/py_readPNG.cpp +++ b/python/py_igl/png/py_readPNG.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readPNG", [] ( diff --git a/python/py_igl/png/py_writePNG.cpp b/python/py_igl/png/py_writePNG.cpp index 921686300..d8a9f8d99 100644 --- a/python/py_igl/png/py_writePNG.cpp +++ b/python/py_igl/png/py_writePNG.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("writePNG", [] diff --git a/python/py_igl/py_AABB.cpp b/python/py_igl/py_AABB.cpp index 580c49731..850724e7b 100644 --- a/python/py_igl/py_AABB.cpp +++ b/python/py_igl/py_AABB.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::class_ > AABB(m, "AABB"); AABB diff --git a/python/py_igl/py_ARAPEnergyType.cpp b/python/py_igl/py_ARAPEnergyType.cpp index 966d0a3da..be0442b03 100644 --- a/python/py_igl/py_ARAPEnergyType.cpp +++ b/python/py_igl/py_ARAPEnergyType.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "ARAPEnergyType") .value("ARAP_ENERGY_TYPE_SPOKES", igl::ARAP_ENERGY_TYPE_SPOKES) .value("ARAP_ENERGY_TYPE_SPOKES_AND_RIMS", igl::ARAP_ENERGY_TYPE_SPOKES_AND_RIMS) diff --git a/python/py_igl/py_MeshBooleanType.cpp b/python/py_igl/py_MeshBooleanType.cpp index be621afbc..219575108 100644 --- a/python/py_igl/py_MeshBooleanType.cpp +++ b/python/py_igl/py_MeshBooleanType.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "MeshBooleanType") .value("MESH_BOOLEAN_TYPE_UNION", igl::MESH_BOOLEAN_TYPE_UNION) .value("MESH_BOOLEAN_TYPE_INTERSECT", igl::MESH_BOOLEAN_TYPE_INTERSECT) diff --git a/python/py_igl/py_SolverStatus.cpp b/python/py_igl/py_SolverStatus.cpp index 1e5ccc5d1..ffd7d3369 100644 --- a/python/py_igl/py_SolverStatus.cpp +++ b/python/py_igl/py_SolverStatus.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "SolverStatus") .value("SOLVER_STATUS_CONVERGED", igl::SOLVER_STATUS_CONVERGED) .value("SOLVER_STATUS_MAX_ITER", igl::SOLVER_STATUS_MAX_ITER) diff --git a/python/py_igl/py_active_set.cpp b/python/py_igl/py_active_set.cpp index e9cba466e..ccfd61da8 100644 --- a/python/py_igl/py_active_set.cpp +++ b/python/py_igl/py_active_set.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // Wrap the params struct py::class_ active_set_params(m, "active_set_params"); diff --git a/python/py_igl/py_adjacency_list.cpp b/python/py_igl/py_adjacency_list.cpp index a2a274d0b..8546e4276 100644 --- a/python/py_igl/py_adjacency_list.cpp +++ b/python/py_igl/py_adjacency_list.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("adjacency_list", [](const Eigen::MatrixXi& F, std::vector>& A, bool sorted) { igl::adjacency_list(F, A, sorted); }, py::arg("F"), py::arg("A"), py::arg("sorted")=false); diff --git a/python/py_igl/py_arap.cpp b/python/py_igl/py_arap.cpp index 323fd83bd..439285804 100644 --- a/python/py_igl/py_arap.cpp +++ b/python/py_igl/py_arap.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::class_ ARAPData(m, "ARAPData"); ARAPData diff --git a/python/py_igl/py_avg_edge_length.cpp b/python/py_igl/py_avg_edge_length.cpp index a0c084153..b4aa53b0e 100644 --- a/python/py_igl/py_avg_edge_length.cpp +++ b/python/py_igl/py_avg_edge_length.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("avg_edge_length", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_barycenter.cpp b/python/py_igl/py_barycenter.cpp index c91fbdb5c..d0597a710 100644 --- a/python/py_igl/py_barycenter.cpp +++ b/python/py_igl/py_barycenter.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("barycenter", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_barycentric_coordinates.cpp b/python/py_igl/py_barycentric_coordinates.cpp index bde5ebf1f..bc3da4282 100644 --- a/python/py_igl/py_barycentric_coordinates.cpp +++ b/python/py_igl/py_barycentric_coordinates.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("barycentric_coordinates", [] diff --git a/python/py_igl/py_barycentric_to_global.cpp b/python/py_igl/py_barycentric_to_global.cpp index 3042da7fe..c62ffaf8a 100644 --- a/python/py_igl/py_barycentric_to_global.cpp +++ b/python/py_igl/py_barycentric_to_global.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("barycentric_to_global", [] diff --git a/python/py_igl/py_bbw.cpp b/python/py_igl/py_bbw.cpp index a629b046b..92fe2dda5 100644 --- a/python/py_igl/py_bbw.cpp +++ b/python/py_igl/py_bbw.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // Wrap the BBWData class py::class_ BBWData(m, "BBWData"); diff --git a/python/py_igl/py_boundary_conditions.cpp b/python/py_igl/py_boundary_conditions.cpp index 633ce5f0f..aecd228da 100644 --- a/python/py_igl/py_boundary_conditions.cpp +++ b/python/py_igl/py_boundary_conditions.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("boundary_conditions", [] diff --git a/python/py_igl/py_boundary_facets.cpp b/python/py_igl/py_boundary_facets.cpp index f034a939c..ef78111c8 100644 --- a/python/py_igl/py_boundary_facets.cpp +++ b/python/py_igl/py_boundary_facets.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("boundary_facets", [] ( const Eigen::MatrixXi& T, diff --git a/python/py_igl/py_boundary_loop.cpp b/python/py_igl/py_boundary_loop.cpp index d3e31ca2a..dc5a84892 100755 --- a/python/py_igl/py_boundary_loop.cpp +++ b/python/py_igl/py_boundary_loop.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("boundary_loop", [] ( const Eigen::MatrixXi& F, diff --git a/python/py_igl/py_cat.cpp b/python/py_igl/py_cat.cpp index f8f875aae..77344493f 100644 --- a/python/py_igl/py_cat.cpp +++ b/python/py_igl/py_cat.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("cat", [] ( const int dim, diff --git a/python/py_igl/py_collapse_edge.cpp b/python/py_igl/py_collapse_edge.cpp index a4416802a..19d501dea 100644 --- a/python/py_igl/py_collapse_edge.cpp +++ b/python/py_igl/py_collapse_edge.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_colon.cpp b/python/py_igl/py_colon.cpp index 409727b9d..144801185 100644 --- a/python/py_igl/py_colon.cpp +++ b/python/py_igl/py_colon.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("colon", [] ( const double low, diff --git a/python/py_igl/py_column_to_quats.cpp b/python/py_igl/py_column_to_quats.cpp index 882e61645..94e9e8c25 100644 --- a/python/py_igl/py_column_to_quats.cpp +++ b/python/py_igl/py_column_to_quats.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("column_to_quats", [] ( const Eigen::MatrixXd& Q, diff --git a/python/py_igl/py_comb_cross_field.cpp b/python/py_igl/py_comb_cross_field.cpp index 8e7a07fb9..f585a4100 100644 --- a/python/py_igl/py_comb_cross_field.cpp +++ b/python/py_igl/py_comb_cross_field.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("comb_cross_field", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/py_comb_frame_field.cpp b/python/py_igl/py_comb_frame_field.cpp index 36e646ac7..8bcc3eb9e 100644 --- a/python/py_igl/py_comb_frame_field.cpp +++ b/python/py_igl/py_comb_frame_field.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("comb_frame_field", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/py_compute_frame_field_bisectors.cpp b/python/py_igl/py_compute_frame_field_bisectors.cpp index 8cf3c9941..8f6f2af01 100644 --- a/python/py_igl/py_compute_frame_field_bisectors.cpp +++ b/python/py_igl/py_compute_frame_field_bisectors.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("compute_frame_field_bisectors", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_cotmatrix.cpp b/python/py_igl/py_cotmatrix.cpp index a95d5b5ac..0cf569eb5 100644 --- a/python/py_igl/py_cotmatrix.cpp +++ b/python/py_igl/py_cotmatrix.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("cotmatrix", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_covariance_scatter_matrix.cpp b/python/py_igl/py_covariance_scatter_matrix.cpp index 5247a6ce6..c7710be55 100644 --- a/python/py_igl/py_covariance_scatter_matrix.cpp +++ b/python/py_igl/py_covariance_scatter_matrix.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("covariance_scatter_matrix", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_cross_field_missmatch.cpp b/python/py_igl/py_cross_field_missmatch.cpp index 25b85f4ab..ed1474b46 100644 --- a/python/py_igl/py_cross_field_missmatch.cpp +++ b/python/py_igl/py_cross_field_missmatch.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("cross_field_missmatch", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/py_cut_mesh_from_singularities.cpp b/python/py_igl/py_cut_mesh_from_singularities.cpp index 7ab5b71c3..f14d9413f 100644 --- a/python/py_igl/py_cut_mesh_from_singularities.cpp +++ b/python/py_igl/py_cut_mesh_from_singularities.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("cut_mesh_from_singularities", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/py_deform_skeleton.cpp b/python/py_igl/py_deform_skeleton.cpp index 4b5630355..f62f62459 100644 --- a/python/py_igl/py_deform_skeleton.cpp +++ b/python/py_igl/py_deform_skeleton.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_directed_edge_orientations.cpp b/python/py_igl/py_directed_edge_orientations.cpp index 9a87ef75d..d14796e64 100644 --- a/python/py_igl/py_directed_edge_orientations.cpp +++ b/python/py_igl/py_directed_edge_orientations.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("directed_edge_orientations", [] ( diff --git a/python/py_igl/py_directed_edge_parents.cpp b/python/py_igl/py_directed_edge_parents.cpp index fcbbf192e..5a3d12e7c 100644 --- a/python/py_igl/py_directed_edge_parents.cpp +++ b/python/py_igl/py_directed_edge_parents.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("directed_edge_parents", [] diff --git a/python/py_igl/py_doublearea.cpp b/python/py_igl/py_doublearea.cpp index 1e3465a3c..5e77081f9 100644 --- a/python/py_igl/py_doublearea.cpp +++ b/python/py_igl/py_doublearea.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("doublearea", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_dqs.cpp b/python/py_igl/py_dqs.cpp index cf6696202..e39dabd5a 100644 --- a/python/py_igl/py_dqs.cpp +++ b/python/py_igl/py_dqs.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("dqs", [] diff --git a/python/py_igl/py_edge_lengths.cpp b/python/py_igl/py_edge_lengths.cpp index 098b44c53..0988fb755 100644 --- a/python/py_igl/py_edge_lengths.cpp +++ b/python/py_igl/py_edge_lengths.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("edge_lengths", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_edge_topology.cpp b/python/py_igl/py_edge_topology.cpp index dcacca6ef..4defb0dc8 100644 --- a/python/py_igl/py_edge_topology.cpp +++ b/python/py_igl/py_edge_topology.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("edge_topology", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_eigs.cpp b/python/py_igl/py_eigs.cpp index 9eae6e0a4..b86c4b64c 100644 --- a/python/py_igl/py_eigs.cpp +++ b/python/py_igl/py_eigs.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "EigsType") .value("EIGS_TYPE_SM", igl::EIGS_TYPE_SM) .value("EIGS_TYPE_LM", igl::EIGS_TYPE_LM) diff --git a/python/py_igl/py_exact_geodesic.cpp b/python/py_igl/py_exact_geodesic.cpp new file mode 100644 index 000000000..b05ac744b --- /dev/null +++ b/python/py_igl/py_exact_geodesic.cpp @@ -0,0 +1,24 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2018 Zhongshi Jiang +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. + + +m.def("exact_geodesic", [] +( + const Eigen::MatrixXd &V, + const Eigen::MatrixXi &F, + const Eigen::MatrixXi &VS, + const Eigen::MatrixXi &FS, + const Eigen::MatrixXi &VT, + const Eigen::MatrixXi &FT, + Eigen::MatrixXd &D +) +{ + return igl::exact_geodesic(V, F, VS,FS,VT,FT, D); +}, __doc_igl_exact_geodesic, +py::arg("V"), py::arg("F"), py::arg("VS"), py::arg("FS"), py::arg("VT"), py::arg("FT"), py::arg("D")); + diff --git a/python/py_igl/py_find_cross_field_singularities.cpp b/python/py_igl/py_find_cross_field_singularities.cpp index e7dc5134a..dcdbac109 100644 --- a/python/py_igl/py_find_cross_field_singularities.cpp +++ b/python/py_igl/py_find_cross_field_singularities.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("find_cross_field_singularities", [] ( const Eigen::MatrixXd &V, diff --git a/python/py_igl/py_fit_rotations.cpp b/python/py_igl/py_fit_rotations.cpp index 0d95cb7cf..0c4fe92f6 100644 --- a/python/py_igl/py_fit_rotations.cpp +++ b/python/py_igl/py_fit_rotations.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("fit_rotations", [] ( const Eigen::MatrixXd& S, diff --git a/python/py_igl/py_floor.cpp b/python/py_igl/py_floor.cpp index b9e27a78f..e0f028767 100644 --- a/python/py_igl/py_floor.cpp +++ b/python/py_igl/py_floor.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("floor", [] ( const Eigen::MatrixXd& X, diff --git a/python/py_igl/py_forward_kinematics.cpp b/python/py_igl/py_forward_kinematics.cpp index d42f15df5..2d6e2e603 100644 --- a/python/py_igl/py_forward_kinematics.cpp +++ b/python/py_igl/py_forward_kinematics.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //m.def("forward_kinematics", [] //( diff --git a/python/py_igl/py_gaussian_curvature.cpp b/python/py_igl/py_gaussian_curvature.cpp index 39204df2b..9eefe3531 100644 --- a/python/py_igl/py_gaussian_curvature.cpp +++ b/python/py_igl/py_gaussian_curvature.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("gaussian_curvature", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_get_seconds.cpp b/python/py_igl/py_get_seconds.cpp index bb96c7fc3..fffc8d408 100644 --- a/python/py_igl/py_get_seconds.cpp +++ b/python/py_igl/py_get_seconds.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("get_seconds", [] () { diff --git a/python/py_igl/py_grad.cpp b/python/py_igl/py_grad.cpp index 0410e4045..f47ef363c 100644 --- a/python/py_igl/py_grad.cpp +++ b/python/py_igl/py_grad.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("grad", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_harmonic.cpp b/python/py_igl/py_harmonic.cpp index eaeab1014..aab69b3e0 100644 --- a/python/py_igl/py_harmonic.cpp +++ b/python/py_igl/py_harmonic.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("harmonic", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_hsv_to_rgb.cpp b/python/py_igl/py_hsv_to_rgb.cpp index e9c8e7101..d88a830b1 100644 --- a/python/py_igl/py_hsv_to_rgb.cpp +++ b/python/py_igl/py_hsv_to_rgb.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_internal_angles.cpp b/python/py_igl/py_internal_angles.cpp index 27b72a981..1e17e89b9 100644 --- a/python/py_igl/py_internal_angles.cpp +++ b/python/py_igl/py_internal_angles.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("internal_angles", [] diff --git a/python/py_igl/py_invert_diag.cpp b/python/py_igl/py_invert_diag.cpp index 9b8360f24..6f5b0b5fb 100644 --- a/python/py_igl/py_invert_diag.cpp +++ b/python/py_igl/py_invert_diag.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("invert_diag", [] ( const Eigen::SparseMatrix& X, diff --git a/python/py_igl/py_is_irregular_vertex.cpp b/python/py_igl/py_is_irregular_vertex.cpp index 04e16cc22..431868200 100644 --- a/python/py_igl/py_is_irregular_vertex.cpp +++ b/python/py_igl/py_is_irregular_vertex.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("is_irregular_vertex", [] diff --git a/python/py_igl/py_jet.cpp b/python/py_igl/py_jet.cpp index 1d5b3830f..7914d843d 100644 --- a/python/py_igl/py_jet.cpp +++ b/python/py_igl/py_jet.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("jet", [] ( const Eigen::MatrixXd& Z, diff --git a/python/py_igl/py_lbs_matrix.cpp b/python/py_igl/py_lbs_matrix.cpp index 2964272ca..32bfe21f7 100644 --- a/python/py_igl/py_lbs_matrix.cpp +++ b/python/py_igl/py_lbs_matrix.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_local_basis.cpp b/python/py_igl/py_local_basis.cpp index 41aa481e2..7dc34ea96 100644 --- a/python/py_igl/py_local_basis.cpp +++ b/python/py_igl/py_local_basis.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("local_basis", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_lscm.cpp b/python/py_igl/py_lscm.cpp index a653d322f..211db6add 100644 --- a/python/py_igl/py_lscm.cpp +++ b/python/py_igl/py_lscm.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("lscm", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_map_vertices_to_circle.cpp b/python/py_igl/py_map_vertices_to_circle.cpp index 8fa308d4f..e7ca6cf73 100755 --- a/python/py_igl/py_map_vertices_to_circle.cpp +++ b/python/py_igl/py_map_vertices_to_circle.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("map_vertices_to_circle", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_massmatrix.cpp b/python/py_igl/py_massmatrix.cpp index 05eb3e84b..79d73de20 100644 --- a/python/py_igl/py_massmatrix.cpp +++ b/python/py_igl/py_massmatrix.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "MassMatrixType") .value("MASSMATRIX_TYPE_BARYCENTRIC", igl::MASSMATRIX_TYPE_BARYCENTRIC) .value("MASSMATRIX_TYPE_VORONOI", igl::MASSMATRIX_TYPE_VORONOI) diff --git a/python/py_igl/py_min_quad_with_fixed.cpp b/python/py_igl/py_min_quad_with_fixed.cpp index 3780c7492..31c100a6e 100644 --- a/python/py_igl/py_min_quad_with_fixed.cpp +++ b/python/py_igl/py_min_quad_with_fixed.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // Wrap the data class, no properties are exposed since it is not necessary py::class_ > min_quad_with_fixed_data(m, "min_quad_with_fixed_data"); diff --git a/python/py_igl/py_n_polyvector.cpp b/python/py_igl/py_n_polyvector.cpp deleted file mode 100644 index da5bc4e84..000000000 --- a/python/py_igl/py_n_polyvector.cpp +++ /dev/null @@ -1,19 +0,0 @@ -m.def("n_polyvector", [] -( - const Eigen::MatrixXd& V, - const Eigen::MatrixXi& F, - const Eigen::MatrixXi& b, - const Eigen::MatrixXd& bc, - Eigen::MatrixXd &output -) -{ - assert_is_VectorX("b",b); - - Eigen::VectorXi bt; - if (b.size() != 0) - bt = b; - - igl::n_polyvector(V,F,bt,bc,output); - -}, __doc_igl_n_polyvector, -py::arg("V"), py::arg("F"), py::arg("b"), py::arg("bc"), py::arg("output")); diff --git a/python/py_igl/py_normalize_row_lengths.cpp b/python/py_igl/py_normalize_row_lengths.cpp index 3e893cbc0..546c5f66f 100644 --- a/python/py_igl/py_normalize_row_lengths.cpp +++ b/python/py_igl/py_normalize_row_lengths.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("normalize_row_lengths", [] diff --git a/python/py_igl/py_normalize_row_sums.cpp b/python/py_igl/py_normalize_row_sums.cpp index 0d59f5b0f..c657ae568 100644 --- a/python/py_igl/py_normalize_row_sums.cpp +++ b/python/py_igl/py_normalize_row_sums.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("normalize_row_sums", [] diff --git a/python/py_igl/py_parula.cpp b/python/py_igl/py_parula.cpp index a3cfcd1b7..1ab41bd6d 100644 --- a/python/py_igl/py_parula.cpp +++ b/python/py_igl/py_parula.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. //m.def("parula", [] //( // const double f, diff --git a/python/py_igl/py_per_corner_normals.cpp b/python/py_igl/py_per_corner_normals.cpp index 0bddf815e..a0b24c49b 100644 --- a/python/py_igl/py_per_corner_normals.cpp +++ b/python/py_igl/py_per_corner_normals.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("per_corner_normals", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_per_edge_normals.cpp b/python/py_igl/py_per_edge_normals.cpp index dc7210778..25f929db2 100644 --- a/python/py_igl/py_per_edge_normals.cpp +++ b/python/py_igl/py_per_edge_normals.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "PerEdgeNormalsWeightingType") .value("PER_EDGE_NORMALS_WEIGHTING_TYPE_UNIFORM", igl::PER_EDGE_NORMALS_WEIGHTING_TYPE_UNIFORM) .value("PER_EDGE_NORMALS_WEIGHTING_TYPE_AREA", igl::PER_EDGE_NORMALS_WEIGHTING_TYPE_AREA) diff --git a/python/py_igl/py_per_face_normals.cpp b/python/py_igl/py_per_face_normals.cpp index 08495ee4f..2321e8903 100644 --- a/python/py_igl/py_per_face_normals.cpp +++ b/python/py_igl/py_per_face_normals.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("per_face_normals", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_per_vertex_normals.cpp b/python/py_igl/py_per_vertex_normals.cpp index 3e718d7f6..2adb9e75a 100644 --- a/python/py_igl/py_per_vertex_normals.cpp +++ b/python/py_igl/py_per_vertex_normals.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "PerVertexNormalsWeightingType") .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_UNIFORM", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_UNIFORM) .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_AREA", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_AREA) diff --git a/python/py_igl/py_planarize_quad_mesh.cpp b/python/py_igl/py_planarize_quad_mesh.cpp index 8601c2dc1..e577fc7f9 100644 --- a/python/py_igl/py_planarize_quad_mesh.cpp +++ b/python/py_igl/py_planarize_quad_mesh.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("planarize_quad_mesh", [] ( diff --git a/python/py_igl/py_point_mesh_squared_distance.cpp b/python/py_igl/py_point_mesh_squared_distance.cpp index 3bb7422d3..11c9315cf 100644 --- a/python/py_igl/py_point_mesh_squared_distance.cpp +++ b/python/py_igl/py_point_mesh_squared_distance.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("point_mesh_squared_distance", [] ( const Eigen::MatrixXd& P, diff --git a/python/py_igl/py_polar_svd.cpp b/python/py_igl/py_polar_svd.cpp index 36e77231f..1a2b1d82d 100644 --- a/python/py_igl/py_polar_svd.cpp +++ b/python/py_igl/py_polar_svd.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("polar_svd", [] ( const Eigen::MatrixXd& A, diff --git a/python/py_igl/py_principal_curvature.cpp b/python/py_igl/py_principal_curvature.cpp index cd6e671ab..d6389c2e6 100644 --- a/python/py_igl/py_principal_curvature.cpp +++ b/python/py_igl/py_principal_curvature.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("principal_curvature", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_quad_planarity.cpp b/python/py_igl/py_quad_planarity.cpp index 694010db6..800d2c326 100644 --- a/python/py_igl/py_quad_planarity.cpp +++ b/python/py_igl/py_quad_planarity.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("quad_planarity", [] diff --git a/python/py_igl/py_randperm.cpp b/python/py_igl/py_randperm.cpp index 010044385..a0cea43e2 100644 --- a/python/py_igl/py_randperm.cpp +++ b/python/py_igl/py_randperm.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("randperm", [] ( int n, diff --git a/python/py_igl/py_readDMAT.cpp b/python/py_igl/py_readDMAT.cpp index 0c3d03a07..f80ff538d 100644 --- a/python/py_igl/py_readDMAT.cpp +++ b/python/py_igl/py_readDMAT.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readDMAT", [] ( diff --git a/python/py_igl/py_readMESH.cpp b/python/py_igl/py_readMESH.cpp index 12afc5497..244d3392a 100644 --- a/python/py_igl/py_readMESH.cpp +++ b/python/py_igl/py_readMESH.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readMESH", [] ( const std::string mesh_file_name, diff --git a/python/py_igl/py_readOBJ.cpp b/python/py_igl/py_readOBJ.cpp index 3fd596785..a8073b3bd 100644 --- a/python/py_igl/py_readOBJ.cpp +++ b/python/py_igl/py_readOBJ.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readOBJ", [] ( const std::string str, diff --git a/python/py_igl/py_readOFF.cpp b/python/py_igl/py_readOFF.cpp index 158d2f41c..6df9c5c57 100644 --- a/python/py_igl/py_readOFF.cpp +++ b/python/py_igl/py_readOFF.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readOFF", [] ( const std::string str, diff --git a/python/py_igl/py_readPLY.cpp b/python/py_igl/py_readPLY.cpp index ea838b7b3..6f2367001 100644 --- a/python/py_igl/py_readPLY.cpp +++ b/python/py_igl/py_readPLY.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("readPLY", [] ( const std::string str, diff --git a/python/py_igl/py_readTGF.cpp b/python/py_igl/py_readTGF.cpp index 30c8542a3..7c9700f52 100644 --- a/python/py_igl/py_readTGF.cpp +++ b/python/py_igl/py_readTGF.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_read_triangle_mesh.cpp b/python/py_igl/py_read_triangle_mesh.cpp index ee1c4d82c..74cdaca7b 100644 --- a/python/py_igl/py_read_triangle_mesh.cpp +++ b/python/py_igl/py_read_triangle_mesh.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("read_triangle_mesh", [] ( const std::string str, diff --git a/python/py_igl/py_remove_duplicate_vertices.cpp b/python/py_igl/py_remove_duplicate_vertices.cpp index c2049a82a..8c55d4826 100644 --- a/python/py_igl/py_remove_duplicate_vertices.cpp +++ b/python/py_igl/py_remove_duplicate_vertices.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("remove_duplicate_vertices", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_rotate_vectors.cpp b/python/py_igl/py_rotate_vectors.cpp index 81a6eac7f..b4a9e2f04 100644 --- a/python/py_igl/py_rotate_vectors.cpp +++ b/python/py_igl/py_rotate_vectors.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("rotate_vectors", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_seam_edges.cpp b/python/py_igl/py_seam_edges.cpp new file mode 100755 index 000000000..c3464012b --- /dev/null +++ b/python/py_igl/py_seam_edges.cpp @@ -0,0 +1,21 @@ +m.def("seam_edges", [] +( + const Eigen::MatrixXd& V, + const Eigen::MatrixXd& TC, + const Eigen::MatrixXi& F, + const Eigen::MatrixXi& FTC, + Eigen::MatrixXi& seams, + Eigen::MatrixXi& boundaries, + Eigen::MatrixXi& foldovers +) +{ +return igl::seam_edges( V, TC, F, FTC, seams, boundaries, foldovers); +}, __doc_igl_seam_edges, +py::arg("V"), +py::arg("TC"), +py::arg("F"), +py::arg("FTC"), +py::arg("seams"), +py::arg("boundaries"), +py::arg("foldovers")); + diff --git a/python/py_igl/py_setdiff.cpp b/python/py_igl/py_setdiff.cpp index be873778f..6c7591318 100644 --- a/python/py_igl/py_setdiff.cpp +++ b/python/py_igl/py_setdiff.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("setdiff", [] ( const Eigen::MatrixXi& A, diff --git a/python/py_igl/py_signed_distance.cpp b/python/py_igl/py_signed_distance.cpp index a286da53b..1bb7530c0 100644 --- a/python/py_igl/py_signed_distance.cpp +++ b/python/py_igl/py_signed_distance.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::enum_(m, "SignedDistanceType") .value("SIGNED_DISTANCE_TYPE_PSEUDONORMAL", igl::SIGNED_DISTANCE_TYPE_PSEUDONORMAL) diff --git a/python/py_igl/py_slice.cpp b/python/py_igl/py_slice.cpp index d40a632ff..c5c5c4502 100644 --- a/python/py_igl/py_slice.cpp +++ b/python/py_igl/py_slice.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // // Double // m.def("slice", [] diff --git a/python/py_igl/py_slice_into.cpp b/python/py_igl/py_slice_into.cpp index 08a7118c9..57aba982f 100644 --- a/python/py_igl/py_slice_into.cpp +++ b/python/py_igl/py_slice_into.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("slice_into", [] ( const Eigen::SparseMatrix& X, diff --git a/python/py_igl/py_slice_mask.cpp b/python/py_igl/py_slice_mask.cpp index a9605a71f..0d2d0a2a7 100644 --- a/python/py_igl/py_slice_mask.cpp +++ b/python/py_igl/py_slice_mask.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("slice_mask", [] ( const Eigen::MatrixXd& X, diff --git a/python/py_igl/py_slice_tets.cpp b/python/py_igl/py_slice_tets.cpp index 3176a6d9c..7cdeeab6b 100644 --- a/python/py_igl/py_slice_tets.cpp +++ b/python/py_igl/py_slice_tets.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("slice_tets", [] ( const Eigen::MatrixXd& V, diff --git a/python/py_igl/py_sortrows.cpp b/python/py_igl/py_sortrows.cpp index b35d03968..972be6fd4 100644 --- a/python/py_igl/py_sortrows.cpp +++ b/python/py_igl/py_sortrows.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("sortrows", [] ( const Eigen::MatrixXd& X, diff --git a/python/py_igl/py_streamlines.cpp b/python/py_igl/py_streamlines.cpp index 4d03589ef..ae993e2cf 100644 --- a/python/py_igl/py_streamlines.cpp +++ b/python/py_igl/py_streamlines.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. py::class_ StreamlineData(m, "StreamlineData"); StreamlineData .def(py::init<>()) diff --git a/python/py_igl/py_triangle_triangle_adjacency.cpp b/python/py_igl/py_triangle_triangle_adjacency.cpp index 2c3b9efd4..4ef030479 100644 --- a/python/py_igl/py_triangle_triangle_adjacency.cpp +++ b/python/py_igl/py_triangle_triangle_adjacency.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("triangle_triangle_adjacency", [] ( diff --git a/python/py_igl/py_unique.cpp b/python/py_igl/py_unique.cpp index 6681e828a..6db119fcd 100644 --- a/python/py_igl/py_unique.cpp +++ b/python/py_igl/py_unique.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("unique", [] ( const Eigen::MatrixXd& A, diff --git a/python/py_igl/py_unique_rows.cpp b/python/py_igl/py_unique_rows.cpp index 7bd55a525..9ae1c0344 100644 --- a/python/py_igl/py_unique_rows.cpp +++ b/python/py_igl/py_unique_rows.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("unique_rows", [] ( const Eigen::MatrixXd& A, diff --git a/python/py_igl/py_unproject_onto_mesh.cpp b/python/py_igl/py_unproject_onto_mesh.cpp index 1159157d5..2d995928f 100644 --- a/python/py_igl/py_unproject_onto_mesh.cpp +++ b/python/py_igl/py_unproject_onto_mesh.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== m.def("unproject_onto_mesh", [] diff --git a/python/py_igl/py_upsample.cpp b/python/py_igl/py_upsample.cpp index fd51a3481..6c7a934b4 100644 --- a/python/py_igl/py_upsample.cpp +++ b/python/py_igl/py_upsample.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("upsample", [] ( Eigen::MatrixXd& V, diff --git a/python/py_igl/py_winding_number.cpp b/python/py_igl/py_winding_number.cpp index 49752ff15..bd1c8fe43 100644 --- a/python/py_igl/py_winding_number.cpp +++ b/python/py_igl/py_winding_number.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. // COMPLETE BINDINGS ======================== diff --git a/python/py_igl/py_writeMESH.cpp b/python/py_igl/py_writeMESH.cpp index 0df63a346..ae52f920b 100644 --- a/python/py_igl/py_writeMESH.cpp +++ b/python/py_igl/py_writeMESH.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("writeMESH", [] ( const std::string mesh_file_name, diff --git a/python/py_igl/py_writeOBJ.cpp b/python/py_igl/py_writeOBJ.cpp index 0f1d57ce5..3545aa23e 100644 --- a/python/py_igl/py_writeOBJ.cpp +++ b/python/py_igl/py_writeOBJ.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("writeOBJ", [] ( const std::string str, diff --git a/python/py_igl/py_writePLY.cpp b/python/py_igl/py_writePLY.cpp index 4069670f9..c450aad56 100644 --- a/python/py_igl/py_writePLY.cpp +++ b/python/py_igl/py_writePLY.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("writePLY", [] ( const std::string str, diff --git a/python/py_igl/triangle/py_triangulate.cpp b/python/py_igl/triangle/py_triangulate.cpp index aec460514..b0dc621d4 100644 --- a/python/py_igl/triangle/py_triangulate.cpp +++ b/python/py_igl/triangle/py_triangulate.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. m.def("triangulate", [] diff --git a/python/python_shared.cpp b/python/python_shared.cpp index 7a19ae010..75ef5bfac 100644 --- a/python/python_shared.cpp +++ b/python/python_shared.cpp @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #include "python_shared.h" #include #include @@ -6,8 +13,8 @@ extern void python_export_vector(py::module &); extern void python_export_igl(py::module &); -#ifdef PY_VIEWER -extern void python_export_igl_viewer(py::module &); +#ifdef PY_GLFW +extern void python_export_igl_glfw(py::module &); #endif #ifdef PY_COMISO @@ -112,7 +119,6 @@ PYBIND11_PLUGIN(pyigl) { map_vertices_to_circle massmatrix min_quad_with_fixed - n_polyvector normalize_row_lengths normalize_row_sums parula @@ -161,8 +167,8 @@ PYBIND11_PLUGIN(pyigl) { python_export_igl(m); - #ifdef PY_VIEWER - python_export_igl_viewer(m); + #ifdef PY_GLFW + python_export_igl_glfw(m); #endif #ifdef PY_COMISO diff --git a/python/python_shared.h b/python/python_shared.h index 6987a0a6d..5017634b3 100644 --- a/python/python_shared.h +++ b/python/python_shared.h @@ -1,3 +1,10 @@ +// This file is part of libigl, a simple c++ geometry processing library. +// +// Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +// +// This Source Code Form is subject to the terms of the Mozilla Public License +// v. 2.0. If a copy of the MPL was not distributed with this file, You can +// obtain one at http://mozilla.org/MPL/2.0/. #pragma once #include @@ -6,10 +13,10 @@ #include #include #include - -#include "py_doc.h" - #include +#include "py_doc.h" +#include "modules/py_typedefs.h" + template void assert_is_VectorX(const std::string name, const Eigen::PlainObjectBase& v) diff --git a/python/scripts/generate_bindings.py b/python/scripts/generate_bindings.py index 0ffc14fea..69a1e5b92 100755 --- a/python/scripts/generate_bindings.py +++ b/python/scripts/generate_bindings.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. #!/usr/bin/env python3 # # Syntax: generate_docstrings.py diff --git a/python/scripts/generate_docstrings.py b/python/scripts/generate_docstrings.py index d17faa233..e80a80e59 100755 --- a/python/scripts/generate_docstrings.py +++ b/python/scripts/generate_docstrings.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. #!/usr/bin/env python # # Syntax: generate_docstrings.py diff --git a/python/scripts/parser.py b/python/scripts/parser.py index 2a9231667..48648b52b 100644 --- a/python/scripts/parser.py +++ b/python/scripts/parser.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys import os from threading import Thread diff --git a/python/tcpviewer.py b/python/tcpviewer.py index 84159024d..f7cf984f0 100644 --- a/python/tcpviewer.py +++ b/python/tcpviewer.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import socket import threading import pyigl as igl @@ -25,10 +32,10 @@ def worker(viewer,lock,s): data = ''.join(slist) temp = list(data) - isempty = viewer.data.V.rows() == 0 - viewer.data.deserialize(temp) - if isempty and viewer.data.V.rows() != 0: - viewer.core.align_camera_center(viewer.data.V,viewer.data.F) + isempty = viewer.data().V.rows() == 0 + viewer.data().deserialize(temp) + if isempty and viewer.data().V.rows() != 0: + viewer.core.align_camera_center(viewer.data().V,viewer.data().F) lock.release() @@ -36,12 +43,12 @@ def worker(viewer,lock,s): s.close() return -class TCPViewer(igl.viewer.Viewer): +class TCPViewer(igl.glfw.Viewer): def launch(self): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) - ser = self.data.serialize() + ser = self.data().serialize() a = array.array('u', ser) s.sendall(a) s.close() @@ -59,7 +66,7 @@ if __name__ == "__main__": # The main script is a server exit(1) s.listen(1) - viewer = igl.viewer.Viewer() + viewer = igl.glfw.Viewer() lock = threading.Lock() t = threading.Thread(target=worker, args=(viewer,lock,s,)) @@ -67,7 +74,7 @@ if __name__ == "__main__": # The main script is a server t.start() viewer.core.is_animating = True - # viewer.data.dirty = int(0x03FF) + # viewer.data().dirty = int(0x03FF) viewer.launch_init(True,False) done = False diff --git a/python/tutorial/001_BasicTypes.py b/python/tutorial/001_BasicTypes.py index 0179c2060..f3a31069f 100644 --- a/python/tutorial/001_BasicTypes.py +++ b/python/tutorial/001_BasicTypes.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. from iglhelpers import * ############# Dense Matrix Types ############# diff --git a/python/tutorial/101_FileIO.py b/python/tutorial/101_FileIO.py index afa965ea4..72cc59eed 100644 --- a/python/tutorial/101_FileIO.py +++ b/python/tutorial/101_FileIO.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path diff --git a/python/tutorial/102_DrawMesh.py b/python/tutorial/102_DrawMesh.py index 7517b8881..88efdfd08 100755 --- a/python/tutorial/102_DrawMesh.py +++ b/python/tutorial/102_DrawMesh.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,16 +13,15 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) - # Load a mesh in OFF format V = igl.eigen.MatrixXd() F = igl.eigen.MatrixXi() igl.readOFF(TUTORIAL_SHARED_PATH + "beetle.off", V, F) # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) viewer.launch() diff --git a/python/tutorial/102_DrawMesh_TCP.py b/python/tutorial/102_DrawMesh_TCP.py index c5a580ac5..35b0fb899 100644 --- a/python/tutorial/102_DrawMesh_TCP.py +++ b/python/tutorial/102_DrawMesh_TCP.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os import time # Add the igl library to the modules search path @@ -19,5 +26,5 @@ igl.readOFF(TUTORIAL_SHARED_PATH + "beetle.off", V, F) # Send it to the viewer viewer = tcpviewer.TCPViewer() -viewer.data.set_mesh(V, F) +viewer.data().set_mesh(V, F) viewer.launch() diff --git a/python/tutorial/103_Events.py b/python/tutorial/103_Events.py index 747af105b..febd7d0d9 100755 --- a/python/tutorial/103_Events.py +++ b/python/tutorial/103_Events.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -21,15 +28,15 @@ def key_pressed(viewer, key, modifier): if key == ord('1'): # # Clear should be called before drawing the mesh - viewer.data.clear() + viewer.data().clear() # # Draw_mesh creates or updates the vertices and faces of the displayed mesh. # # If a mesh is already displayed, draw_mesh returns an error if the given V and # # F have size different than the current ones - viewer.data.set_mesh(V1, F1) + viewer.data().set_mesh(V1, F1) viewer.core.align_camera_center(V1,F1) elif key == ord('2'): - viewer.data.clear() - viewer.data.set_mesh(V2, F2) + viewer.data().clear() + viewer.data().set_mesh(V2, F2) viewer.core.align_camera_center(V2,F2) return False @@ -41,10 +48,10 @@ igl.readOFF(TUTORIAL_SHARED_PATH + "fertility.off", V2, F2) print("1 Switch to bump mesh") print("2 Switch to fertility mesh") -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Register a keyboard callback that allows to switch between # the two loaded meshes viewer.callback_key_pressed = key_pressed -viewer.data.set_mesh(V1, F1) +viewer.data().set_mesh(V1, F1) viewer.launch() diff --git a/python/tutorial/104_Colors.py b/python/tutorial/104_Colors.py index f7217e954..0a1ee47f5 100755 --- a/python/tutorial/104_Colors.py +++ b/python/tutorial/104_Colors.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -18,8 +25,8 @@ C = igl.eigen.MatrixXd() igl.readOFF(TUTORIAL_SHARED_PATH + "screwdriver.off", V, F) # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) # Use the z coordinate as a scalar field over the surface Z = V.col(2) @@ -28,7 +35,7 @@ Z = V.col(2) igl.jet(Z, True, C) # Add per-vertex colors -viewer.data.set_colors(C) +viewer.data().set_colors(C) # Launch the viewer viewer.launch() diff --git a/python/tutorial/105_Overlays.py b/python/tutorial/105_Overlays.py index e10d28b8a..ef65d5ec9 100755 --- a/python/tutorial/105_Overlays.py +++ b/python/tutorial/105_Overlays.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -34,43 +41,43 @@ V_box = igl.eigen.MatrixXd( ] ) -E_box = igl.eigen.MatrixXi( - [ - [0, 1], - [1, 2], - [2, 3], - [3, 0], - [4, 5], - [5, 6], - [6, 7], - [7, 4], - [0, 4], - [1, 5], - [2, 6], - [7, 3] - ] -) +E_box = igl.eigen.MatrixXd( + [ + [0, 1], + [1, 2], + [2, 3], + [3, 0], + [4, 5], + [5, 6], + [6, 7], + [7, 4], + [0, 4], + [1, 5], + [2, 6], + [7, 3] + ] +).castint() # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) # Plot the corners of the bounding box as points -viewer.data.add_points(V_box, igl.eigen.MatrixXd([[1, 0, 0]])) +viewer.data().add_points(V_box, igl.eigen.MatrixXd([[1, 0, 0]])) # Plot the edges of the bounding box for i in range(0, E_box.rows()): - viewer.data.add_edges( + viewer.data().add_edges( V_box.row(E_box[i, 0]), V_box.row(E_box[i, 1]), igl.eigen.MatrixXd([[1, 0, 0]])) # Plot labels with the coordinates of bounding box vertices l1 = 'x: ' + str(m[0, 0]) + ' y: ' + str(m[0, 1]) + ' z: ' + str(m[0, 2]) -viewer.data.add_label(m.transpose(), l1) +viewer.data().add_label(m.transpose(), l1) l2 = 'x: ' + str(M[0, 0]) + ' y: ' + str(M[0, 1]) + ' z: ' + str(M[0, 2]) -viewer.data.add_label(M.transpose(), l2) +viewer.data().add_label(M.transpose(), l2) # Launch the viewer viewer.launch() diff --git a/python/tutorial/106_ViewerMenu.py b/python/tutorial/106_ViewerMenu.py deleted file mode 100644 index 591a227cb..000000000 --- a/python/tutorial/106_ViewerMenu.py +++ /dev/null @@ -1,83 +0,0 @@ -# Add the igl library to the modules search path -import sys, os -sys.path.insert(0, os.getcwd() + "/../") - -import pyigl as igl -import nanogui - -V1 = igl.eigen.MatrixXd() -F1 = igl.eigen.MatrixXi() - -V2 = igl.eigen.MatrixXd() -F2 = igl.eigen.MatrixXi() - -float_variable = 0.1 -bool_variable = True -dir = 0 - - -def make_accessors(name): - def setter(value): - globals()[name] = value - - def getter(): - return globals()[name] - return setter, getter - - -def viewer_init(viewer): - # add new group - viewer.ngui.addGroup("New Group") - - # Expose the using general callback - viewer.ngui.addDoubleVariable("double", *make_accessors("float_variable")) - - def setter(val): - global bool_variable - bool_variable = val - - def getter(): - global bool_variable - return bool_variable - - # ... or using a custom callback - viewer.ngui.addBoolVariable("bool", setter, getter) - - viewer.ngui.addEnumVariable("Direction", *make_accessors("dir")) \ - .setItems(["Up", "Down", "Left", "Right"]) - - # Add a button - def cb(): - print("Hello") - viewer.ngui.addButton("Print Hello", cb) - - #Add an additional menu window - viewer.ngui.addWindow((220, 10), "New Window") - - # add accessor - viewer.ngui.addDoubleVariable("double", *make_accessors("float_variable")) - - #Generate menu - viewer.screen.performLayout() - - return False - - - -def main(): - # Load a mesh in OFF format - igl.readOFF("../../tutorial/shared/bunny.off", V1, F1) - - # Init the viewer - viewer = igl.viewer.Viewer() - - # Extend viewer menu - viewer.callback_init = viewer_init - - # Plot the mesh - viewer.data.set_mesh(V1, F1) - viewer.launch() - - -if __name__ == "__main__": - main() diff --git a/python/tutorial/201_Normals.py b/python/tutorial/201_Normals.py index c6fcb073f..a69bdce0d 100755 --- a/python/tutorial/201_Normals.py +++ b/python/tutorial/201_Normals.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -21,13 +28,13 @@ N_corners = igl.eigen.MatrixXd() # This function is called every time a keyboard button is pressed def key_pressed(viewer, key, modifier): if key == ord('1'): - viewer.data.set_normals(N_faces) + viewer.data().set_normals(N_faces) return True elif key == ord('2'): - viewer.data.set_normals(N_vertices) + viewer.data().set_normals(N_vertices) return True elif key == ord('3'): - viewer.data.set_normals(N_corners) + viewer.data().set_normals(N_corners) return True return False @@ -48,11 +55,11 @@ N_corners = igl.eigen.MatrixXd() igl.per_corner_normals(V, F, 20, N_corners) # Plot the mesh -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() viewer.callback_key_pressed = key_pressed -viewer.core.show_lines = False -viewer.data.set_mesh(V, F) -viewer.data.set_normals(N_faces) +viewer.data().show_lines = False +viewer.data().set_mesh(V, F) +viewer.data().set_normals(N_faces) print("Press '1' for per-face normals.") print("Press '2' for per-vertex normals.") print("Press '3' for per-corner normals.") diff --git a/python/tutorial/202_GaussianCurvature.py b/python/tutorial/202_GaussianCurvature.py index 9dd957bff..c39bacfb4 100644 --- a/python/tutorial/202_GaussianCurvature.py +++ b/python/tutorial/202_GaussianCurvature.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -24,7 +31,7 @@ C = igl.eigen.MatrixXd() igl.jet(K, True, C) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_colors(C) viewer.launch() diff --git a/python/tutorial/203_CurvatureDirections.py b/python/tutorial/203_CurvatureDirections.py index 767f10edd..f12e6a2bd 100755 --- a/python/tutorial/203_CurvatureDirections.py +++ b/python/tutorial/203_CurvatureDirections.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -43,14 +50,14 @@ igl.principal_curvature(V, F, PD1, PD2, PV1, PV2) # Mean curvature H = 0.5 * (PV1 + PV2) -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) # Compute pseudocolor C = igl.eigen.MatrixXd() igl.parula(H, True, C) -viewer.data.set_colors(C) +viewer.data().set_colors(C) # Average edge length for sizing avg = igl.avg_edge_length(V, F) @@ -59,12 +66,12 @@ avg = igl.avg_edge_length(V, F) red = igl.eigen.MatrixXd([[0.8, 0.2, 0.2]]) blue = igl.eigen.MatrixXd([[0.2, 0.2, 0.8]]) -viewer.data.add_edges(V + PD1 * avg, V - PD1 * avg, blue) +viewer.data().add_edges(V + PD1 * avg, V - PD1 * avg, blue) # Draw a red segment parallel to the maximal curvature direction -viewer.data.add_edges(V + PD2 * avg, V - PD2 * avg, red) +viewer.data().add_edges(V + PD2 * avg, V - PD2 * avg, red) # Hide wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False viewer.launch() diff --git a/python/tutorial/204_Gradient.py b/python/tutorial/204_Gradient.py index 6fdfa23ae..b73bc2eab 100755 --- a/python/tutorial/204_Gradient.py +++ b/python/tutorial/204_Gradient.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -31,8 +38,8 @@ GU = (G * U).MapMatrix(F.rows(), 3) # Compute gradient magnitude GU_mag = GU.rowwiseNorm() -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) # Compute pseudocolor for original function C = igl.eigen.MatrixXd() @@ -42,7 +49,7 @@ igl.jet(U, True, C) # Or for gradient magnitude # igl.jet(GU_mag,True,C) -viewer.data.set_colors(C) +viewer.data().set_colors(C) # Average edge length divided by average gradient (for scaling) max_size = igl.avg_edge_length(V, F) / GU_mag.mean() @@ -52,9 +59,9 @@ BC = igl.eigen.MatrixXd() igl.barycenter(V, F, BC) black = igl.eigen.MatrixXd([[0.0, 0.0, 0.0]]) -viewer.data.add_edges(BC, BC + max_size * GU, black) +viewer.data().add_edges(BC, BC + max_size * GU, black) # Hide wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False viewer.launch() diff --git a/python/tutorial/205_Laplacian.py b/python/tutorial/205_Laplacian.py index ba4e58584..f65fe29c1 100755 --- a/python/tutorial/205_Laplacian.py +++ b/python/tutorial/205_Laplacian.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os import math @@ -7,7 +14,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -16,7 +23,7 @@ U = igl.eigen.MatrixXd() F = igl.eigen.MatrixXi() L = igl.eigen.SparseMatrixd() -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Load a mesh in OFF format igl.readOFF(TUTORIAL_SHARED_PATH + "cow.off", V, F) @@ -90,8 +97,8 @@ def key_pressed(viewer, key, modifier): return False # Send new positions, update normals, recenter - viewer.data.set_vertices(U) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().compute_normals() viewer.core.align_camera_center(U, F) return True @@ -103,8 +110,8 @@ C = N.rowwiseNormalized() * 0.5 + 0.5 # Initialize smoothing with base mesh U = V -viewer.data.set_mesh(U, F) -viewer.data.set_colors(C) +viewer.data().set_mesh(U, F) +viewer.data().set_colors(C) viewer.callback_key_pressed = key_pressed print("Press [space] to smooth.") diff --git a/python/tutorial/301_Slice.py b/python/tutorial/301_Slice.py index 5d3774ea7..1914cf245 100644 --- a/python/tutorial/301_Slice.py +++ b/python/tutorial/301_Slice.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) V = igl.eigen.MatrixXd() @@ -15,11 +22,11 @@ F = igl.eigen.MatrixXi() igl.readOFF(TUTORIAL_SHARED_PATH + "decimated-knight.off", V, F) -# 100 random indicies into rows of F +# 100 random indices into rows of F I = igl.eigen.MatrixXi() igl.floor((0.5 * (igl.eigen.MatrixXd.Random(100, 1) + 1.) * F.rows()), I) -# 50 random indicies into rows of I +# 50 random indices into rows of I J = igl.eigen.MatrixXi() igl.floor((0.5 * (igl.eigen.MatrixXd.Random(50, 1) + 1.) * I.rows()), J) @@ -37,7 +44,7 @@ R = igl.eigen.MatrixXd([[1.0, 0.3, 0.3]]).replicate(K.rows(), 1) igl.slice_into(R, K, 1, C) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_colors(C) viewer.launch() diff --git a/python/tutorial/302_Sort.py b/python/tutorial/302_Sort.py index 3b9f46b41..9792401d5 100644 --- a/python/tutorial/302_Sort.py +++ b/python/tutorial/302_Sort.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -38,7 +45,7 @@ C = igl.eigen.MatrixXd() igl.jet(J.castdouble(), True, C) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_colors(C) viewer.launch() diff --git a/python/tutorial/303_LaplaceEquation.py b/python/tutorial/303_LaplaceEquation.py index 522787436..25414ac9c 100644 --- a/python/tutorial/303_LaplaceEquation.py +++ b/python/tutorial/303_LaplaceEquation.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) V = igl.eigen.MatrixXd() @@ -75,8 +82,8 @@ C = igl.eigen.MatrixXd() igl.jet(Z, True, C) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.core.show_lines = False -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().show_lines = False +viewer.data().set_colors(C) viewer.launch() diff --git a/python/tutorial/304_LinearEqualityConstraints.py b/python/tutorial/304_LinearEqualityConstraints.py index 496783833..1bb973c99 100644 --- a/python/tutorial/304_LinearEqualityConstraints.py +++ b/python/tutorial/304_LinearEqualityConstraints.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -17,7 +24,7 @@ igl.readOFF(TUTORIAL_SHARED_PATH + "cheburashka.off", V, F) # Two fixed points # Left hand, left foot -b = igl.eigen.MatrixXi([[4331], [5957]]) +b = igl.eigen.MatrixXd([[4331], [5957]]).castint() bc = igl.eigen.MatrixXd([[1], [-1]]) # Construct Laplacian and mass matrix @@ -75,10 +82,10 @@ igl.jet(Z, min_z, max_z, C) igl.jet(Z_const, min_z, max_z, C_const) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.core.show_lines = False -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().show_lines = False +viewer.data().set_colors(C) def key_down(viewer, key, mode): @@ -86,9 +93,9 @@ def key_down(viewer, key, mode): global toggle, C, C_const if toggle: - viewer.data.set_colors(C) + viewer.data().set_colors(C) else: - viewer.data.set_colors(C_const) + viewer.data().set_colors(C_const) toggle = not toggle return True diff --git a/python/tutorial/305_QuadraticProgramming.py b/python/tutorial/305_QuadraticProgramming.py index 1d4e0b63a..579434ba3 100644 --- a/python/tutorial/305_QuadraticProgramming.py +++ b/python/tutorial/305_QuadraticProgramming.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -33,7 +40,7 @@ def solve(viewer): C = igl.eigen.MatrixXd() igl.jet(Z, 0, 1, C) - viewer.data.set_colors(C) + viewer.data().set_colors(C) def key_down(viewer, key, mod): @@ -58,13 +65,13 @@ F = igl.eigen.MatrixXi() igl.readOFF(TUTORIAL_SHARED_PATH + "cheburashka.off", V, F) # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.core.show_lines = False +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().show_lines = False viewer.callback_key_down = key_down # One fixed point on belly -b = igl.eigen.MatrixXi([[2556]]) +b = igl.eigen.MatrixXd([[2556]]).castint() bc = igl.eigen.MatrixXd([[1]]) # Construct Laplacian and mass matrix diff --git a/python/tutorial/306_EigenDecomposition.py b/python/tutorial/306_EigenDecomposition.py index 1c89cbb56..5449306dd 100644 --- a/python/tutorial/306_EigenDecomposition.py +++ b/python/tutorial/306_EigenDecomposition.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -38,7 +45,7 @@ if not igl.eigs(L, M, k + 1, igl.EIGS_TYPE_SM, U, D): U = (U - U.minCoeff()) / (U.maxCoeff() - U.minCoeff()) -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() def key_down(viewer, key, mod): @@ -56,14 +63,14 @@ def key_down(viewer, key, mod): if twod: V.setcol(2, Z) - viewer.data.set_mesh(V, F) - viewer.data.compute_normals() - viewer.data.set_colors(C) + viewer.data().set_mesh(V, F) + viewer.data().compute_normals() + viewer.data().set_colors(C) return True return False viewer.callback_key_down = key_down viewer.callback_key_down(viewer, ord(' '), 0) -viewer.core.show_lines = False +viewer.data().show_lines = False viewer.launch() diff --git a/python/tutorial/401_BiharmonicDeformation.py b/python/tutorial/401_BiharmonicDeformation.py index a58e00c41..c848a5df2 100755 --- a/python/tutorial/401_BiharmonicDeformation.py +++ b/python/tutorial/401_BiharmonicDeformation.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) bc_frac = 1.0 @@ -40,8 +47,8 @@ def pre_draw(viewer): else: igl.harmonic(V, F, b, U_bc_anim, 2, U) - viewer.data.set_vertices(U) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().compute_normals() return False @@ -66,7 +73,7 @@ igl.readDMAT(TUTORIAL_SHARED_PATH + "decimated-max-selection.dmat", S) S = S.castint() -b = igl.eigen.MatrixXi([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose() +b = igl.eigen.MatrixXd([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose().castint() # Boundary conditions directly on deformed positions U_bc.resize(b.rows(), V.cols()) @@ -97,10 +104,10 @@ for f in range(0, F.rows()): C.setRow(f, gold) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(U, F) -viewer.core.show_lines = False -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(U, F) +viewer.data().show_lines = False +viewer.data().set_colors(C) # viewer.core.trackball_angle = igl.eigen.Quaterniond(sqrt(2.0),0,sqrt(2.0),0) # viewer.core.trackball_angle.normalize() diff --git a/python/tutorial/402_PolyharmonicDeformation.py b/python/tutorial/402_PolyharmonicDeformation.py index d025541e9..1adf27da2 100755 --- a/python/tutorial/402_PolyharmonicDeformation.py +++ b/python/tutorial/402_PolyharmonicDeformation.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -34,8 +41,8 @@ def pre_draw(viewer): resolve = False U.setCol(2, z_max * Z) - viewer.data.set_vertices(U) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().compute_normals() if viewer.core.is_animating: z_max += z_dir @@ -70,7 +77,7 @@ is_outer = [Vrn[i] - 1.00 > -1e-15 for i in range(0, V.rows())] is_inner = [Vrn[i] - 0.15 < 1e-15 for i in range(0, V.rows())] in_b = [is_outer[i] or is_inner[i] for i in range(0, len(is_outer))] -b = igl.eigen.MatrixXi([[i for i in range(0, V.rows()) if (in_b[i])]]).transpose() +b = igl.eigen.MatrixXd([[i for i in range(0, V.rows()) if (in_b[i])]]).transpose().castint() bc.resize(b.size(), 1) @@ -89,10 +96,10 @@ for f in range(0, F.rows()): C.setRow(f, gold) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(U, F) -viewer.core.show_lines = False -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(U, F) +viewer.data().show_lines = False +viewer.data().set_colors(C) viewer.core.trackball_angle = igl.eigen.Quaterniond(0.81,-0.58,-0.03,-0.03) viewer.core.trackball_angle.normalize() viewer.callback_pre_draw = pre_draw diff --git a/python/tutorial/403_BoundedBiharmonicWeights.py b/python/tutorial/403_BoundedBiharmonicWeights.py index 0c1df5d21..dcc59d955 100755 --- a/python/tutorial/403_BoundedBiharmonicWeights.py +++ b/python/tutorial/403_BoundedBiharmonicWeights.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -20,7 +27,7 @@ def pre_draw(viewer): for e in range(len(pose)): anim_pose[e] = pose[e].slerp(anim_t, igl.eigen.Quaterniond.Identity()) - # Propogate relative rotations via FK to retrieve absolute transformations + # Propagate relative rotations via FK to retrieve absolute transformations vQ = igl.RotationList() vT = [] igl.forward_kinematics(C, BE, P, anim_pose, vQ, vT) @@ -40,9 +47,9 @@ def pre_draw(viewer): BET = igl.eigen.MatrixXi() igl.deform_skeleton(C, BE, T, CT, BET) - viewer.data.set_vertices(U) - viewer.data.set_edges(CT, BET, sea_green) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().set_edges(CT, BET, sea_green) + viewer.data().compute_normals() anim_t += anim_t_dir anim_t_dir *= -1.0 if (0.0 >= anim_t or anim_t >= 1.0) else 1.0 @@ -69,7 +76,7 @@ def set_color(viewer): global selected, W C = igl.eigen.MatrixXd() igl.jet(W.col(selected), True, C) - viewer.data.set_colors(C) + viewer.data().set_colors(C) if __name__ == "__main__": @@ -130,13 +137,13 @@ if __name__ == "__main__": igl.lbs_matrix(V, W, M) # Plot the mesh with pseudocolors - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(U, F) + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(U, F) set_color(viewer) - viewer.data.set_edges(C, BE, sea_green) - viewer.core.show_lines = False - viewer.core.show_overlay_depth = False - viewer.core.line_width = 1 + viewer.data().set_edges(C, BE, sea_green) + viewer.data().show_lines = False + viewer.data().show_overlay_depth = False + viewer.data().line_width = 1 viewer.core.trackball_angle.normalize() viewer.callback_pre_draw = pre_draw viewer.callback_key_down = key_down diff --git a/python/tutorial/404_DualQuaternionSkinning.py b/python/tutorial/404_DualQuaternionSkinning.py index 26029ad2d..c18c9b28c 100755 --- a/python/tutorial/404_DualQuaternionSkinning.py +++ b/python/tutorial/404_DualQuaternionSkinning.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os from math import sin, cos, pi @@ -9,7 +16,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -27,7 +34,7 @@ def pre_draw(viewer): for e in range(len(poses[begin])): anim_pose.append(poses[begin][e].slerp(t, poses[end][e])) - # Propogate relative rotations via FK to retrieve absolute transformations + # Propagate relative rotations via FK to retrieve absolute transformations vQ = igl.RotationList() vT = [] igl.forward_kinematics(C, BE, P, anim_pose, vQ, vT) @@ -50,9 +57,9 @@ def pre_draw(viewer): BET = igl.eigen.MatrixXi() igl.deform_skeleton(C, BE, T, CT, BET) - viewer.data.set_vertices(U) - viewer.data.set_edges(CT, BET, sea_green) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().set_edges(CT, BET, sea_green) + viewer.data().compute_normals() if viewer.core.is_animating: anim_t += anim_t_dir else: @@ -125,12 +132,12 @@ if __name__ == "__main__": igl.lbs_matrix(V, W, M) # Plot the mesh with pseudocolors - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(U, F) - viewer.data.set_edges(C, BE, sea_green) - viewer.core.show_lines = False - viewer.core.show_overlay_depth = False - viewer.core.line_width = 1 + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(U, F) + viewer.data().set_edges(C, BE, sea_green) + viewer.data().show_lines = False + viewer.data().show_overlay_depth = False + viewer.data().line_width = 1 viewer.core.trackball_angle.normalize() viewer.callback_pre_draw = pre_draw viewer.callback_key_down = key_down diff --git a/python/tutorial/405_AsRigidAsPossible.py b/python/tutorial/405_AsRigidAsPossible.py index 44c7896dd..498e3f5c8 100755 --- a/python/tutorial/405_AsRigidAsPossible.py +++ b/python/tutorial/405_AsRigidAsPossible.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os from math import sin, cos, pi @@ -7,7 +14,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -48,8 +55,8 @@ def pre_draw(viewer): bc[i, 0] += r * sin(0.35 * anim_t * 2. * pi) igl.arap_solve(bc, arap_data, U) - viewer.data.set_vertices(U) - viewer.data.compute_normals() + viewer.data().set_vertices(U) + viewer.data().compute_normals() if viewer.core.is_animating: anim_t += anim_t_dir @@ -70,7 +77,7 @@ igl.readDMAT(TUTORIAL_SHARED_PATH + "decimated-knight-selection.dmat", S) # Vertices in selection -b = igl.eigen.MatrixXi([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose() +b = igl.eigen.MatrixXd([[t[0] for t in [(i, S[i]) for i in range(0, V.rows())] if t[1] >= 0]]).transpose().castint() # Centroid mid = 0.5 * (V.colwiseMaxCoeff() + V.colwiseMinCoeff()) @@ -91,9 +98,9 @@ for f in range(0, F.rows()): C.setRow(f, gold) # Plot the mesh with pseudocolors -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(U, F) -viewer.data.set_colors(C) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(U, F) +viewer.data().set_colors(C) viewer.callback_pre_draw = pre_draw viewer.callback_key_down = key_down viewer.core.is_animating = True diff --git a/python/tutorial/501_HarmonicParam.py b/python/tutorial/501_HarmonicParam.py index f2277124a..fab9c472a 100755 --- a/python/tutorial/501_HarmonicParam.py +++ b/python/tutorial/501_HarmonicParam.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -18,13 +25,13 @@ V_uv = igl.eigen.MatrixXd() def key_down(viewer, key, modifier): if key == ord('1'): # Plot the 3D mesh - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) viewer.core.align_camera_center(V, F) elif key == ord('2'): # Plot the mesh in 2D using the UV coordinates as vertex coordinates - viewer.data.set_mesh(V_uv, F) + viewer.data().set_mesh(V_uv, F) viewer.core.align_camera_center(V_uv, F) - viewer.data.compute_normals() + viewer.data().compute_normals() return False @@ -46,16 +53,16 @@ igl.harmonic(V, F, bnd, bnd_uv, 1, V_uv) V_uv *= 5 # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_uv(V_uv) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_uv(V_uv) viewer.callback_key_down = key_down # Disable wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False # Draw checkerboard texture -viewer.core.show_texture = True +viewer.data().show_texture = True # Launch the viewer viewer.launch() diff --git a/python/tutorial/502_LSCMParam.py b/python/tutorial/502_LSCMParam.py index 38d81f681..ec91cec4a 100755 --- a/python/tutorial/502_LSCMParam.py +++ b/python/tutorial/502_LSCMParam.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -18,13 +25,13 @@ V_uv = igl.eigen.MatrixXd() def key_down(viewer, key, modifier): if key == ord('1'): # Plot the 3D mesh - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) viewer.core.align_camera_center(V, F) elif key == ord('2'): # Plot the mesh in 2D using the UV coordinates as vertex coordinates - viewer.data.set_mesh(V_uv, F) + viewer.data().set_mesh(V_uv, F) viewer.core.align_camera_center(V_uv, F) - viewer.data.compute_normals() + viewer.data().compute_normals() return False @@ -47,16 +54,16 @@ igl.lscm(V, F, b, bc, V_uv) V_uv *= 5 # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_uv(V_uv) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_uv(V_uv) viewer.callback_key_down = key_down # Disable wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False # Draw checkerboard texture -viewer.core.show_texture = True +viewer.data().show_texture = True # Launch the viewer viewer.launch() diff --git a/python/tutorial/503_ARAPParam.py b/python/tutorial/503_ARAPParam.py index 611cd161d..c19cf38d6 100755 --- a/python/tutorial/503_ARAPParam.py +++ b/python/tutorial/503_ARAPParam.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -28,13 +35,13 @@ def key_down(viewer, key, modifier): V_uv = initial_guess if show_uv: - viewer.data.set_mesh(V_uv, F) + viewer.data().set_mesh(V_uv, F) viewer.core.align_camera_center(V_uv, F) else: - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) viewer.core.align_camera_center(V, F) - viewer.data.compute_normals() + viewer.data().compute_normals() return False @@ -70,16 +77,16 @@ igl.arap_solve(bc, arap_data, V_uv) V_uv *= 20 # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.data.set_uv(V_uv) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V, F) +viewer.data().set_uv(V_uv) viewer.callback_key_down = key_down # Disable wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False # Draw checkerboard texture -viewer.core.show_texture = True +viewer.data().show_texture = True # Launch the viewer viewer.launch() diff --git a/python/tutorial/504_NRosyDesign.py b/python/tutorial/504_NRosyDesign.py index 8287bdbbe..700723576 100755 --- a/python/tutorial/504_NRosyDesign.py +++ b/python/tutorial/504_NRosyDesign.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os from math import atan2, pi, cos, sin @@ -7,7 +14,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["comiso", "viewer"] +dependencies = ["comiso", "glfw"] check_dependencies(dependencies) @@ -52,8 +59,8 @@ def representative_to_nrosy(V, F, R, N, Y): # The constrained faces (b) are colored in red. def plot_mesh_nrosy(viewer, V, F, N, PD1, S, b): # Clear the mesh - viewer.data.clear() - viewer.data.set_mesh(V, F) + viewer.data().clear() + viewer.data().set_mesh(V, F) # Expand the representative vectors in the full vector set and plot them as lines avg = igl.avg_edge_length(V, F) @@ -68,20 +75,20 @@ def plot_mesh_nrosy(viewer, V, F, N, PD1, S, b): for j in range(0, N): Be.setRow(i * N + j, B.row(i)) - viewer.data.add_edges(Be, Be + Y * (avg / 2), igl.eigen.MatrixXd([[0, 0, 1]])) + viewer.data().add_edges(Be, Be + Y * (avg / 2), igl.eigen.MatrixXd([[0, 0, 1]])) # Plot the singularities as colored dots (red for negative, blue for positive) for i in range(0, S.size()): if S[i] < -0.001: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) elif S[i] > 0.001: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[0, 1, 0]])); + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[0, 1, 0]])); # Highlight in red the constrained faces C = igl.eigen.MatrixXd.Constant(F.rows(), 3, 1) for i in range(0, b.size()): C.setRow(b[i], igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.set_colors(C) + viewer.data().set_colors(C) # It allows to change the degree of the field when a number is pressed @@ -103,20 +110,20 @@ def key_down(viewer, key, modifier): igl.readOFF(TUTORIAL_SHARED_PATH + "bumpy.off", V, F) # Threshold faces with high anisotropy -b = igl.eigen.MatrixXi([[0]]) +b = igl.eigen.MatrixXd([[0]]).castint() bc = igl.eigen.MatrixXd([[1, 1, 1]]) -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Interpolate the field and plot key_down(viewer, ord('4'), 0) # Plot the mesh -viewer.data.set_mesh(V, F) +viewer.data().set_mesh(V, F) viewer.callback_key_down = key_down # Disable wireframe -viewer.core.show_lines = False +viewer.data().show_lines = False # Launch the viewer viewer.launch() diff --git a/python/tutorial/505_MIQ.py b/python/tutorial/505_MIQ.py index 3a1013424..69e4c0d2c 100755 --- a/python/tutorial/505_MIQ.py +++ b/python/tutorial/505_MIQ.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os from math import pi @@ -7,7 +14,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["comiso", "viewer"] +dependencies = ["comiso", "glfw"] check_dependencies(dependencies) @@ -90,37 +97,37 @@ def key_down(viewer, key, modifier): if key < ord('1') or key > ord('8'): return False - viewer.data.clear() - viewer.core.show_lines = False - viewer.core.show_texture = False + viewer.data().clear() + viewer.data().show_lines = False + viewer.data().show_texture = False if key == ord('1'): # Cross field - viewer.data.set_mesh(V, F) - viewer.data.add_edges(B - global_scale * X1 if extend_arrows else B, B + global_scale * X1, + viewer.data().set_mesh(V, F) + viewer.data().add_edges(B - global_scale * X1 if extend_arrows else B, B + global_scale * X1, igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.add_edges(B - global_scale * X2 if extend_arrows else B, B + global_scale * X2, + viewer.data().add_edges(B - global_scale * X2 if extend_arrows else B, B + global_scale * X2, igl.eigen.MatrixXd([[0, 0, 1]])) if key == ord('2'): # Bisector field - viewer.data.set_mesh(V, F) - viewer.data.add_edges(B - global_scale * BIS1 if extend_arrows else B, B + global_scale * BIS1, + viewer.data().set_mesh(V, F) + viewer.data().add_edges(B - global_scale * BIS1 if extend_arrows else B, B + global_scale * BIS1, igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.add_edges(B - global_scale * BIS2 if extend_arrows else B, B + global_scale * BIS2, + viewer.data().add_edges(B - global_scale * BIS2 if extend_arrows else B, B + global_scale * BIS2, igl.eigen.MatrixXd([[0, 0, 1]])) if key == ord('3'): # Bisector field combed - viewer.data.set_mesh(V, F) - viewer.data.add_edges(B - global_scale * BIS1_combed if extend_arrows else B, B + global_scale * BIS1_combed, + viewer.data().set_mesh(V, F) + viewer.data().add_edges(B - global_scale * BIS1_combed if extend_arrows else B, B + global_scale * BIS1_combed, igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.add_edges(B - global_scale * BIS2_combed if extend_arrows else B, B + global_scale * BIS2_combed, + viewer.data().add_edges(B - global_scale * BIS2_combed if extend_arrows else B, B + global_scale * BIS2_combed, igl.eigen.MatrixXd([[0, 0, 1]])) if key == ord('4'): # Singularities and cuts - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) # Plot cuts l_count = Seams.sum() @@ -134,22 +141,22 @@ def key_down(viewer, key, modifier): P2.setRow(l_count - 1, V.row(F[i, (j + 1) % 3])) l_count -= 1 - viewer.data.add_edges(P1, P2, igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_edges(P1, P2, igl.eigen.MatrixXd([[1, 0, 0]])) # Plot the singularities as colored dots (red for negative, blue for positive) for i in range(0, singularityIndex.size()): if 2 > singularityIndex[i] > 0: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) elif singularityIndex[i] > 2: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) if key == ord('5'): # Singularities and cuts, original field # Singularities and cuts - viewer.data.set_mesh(V, F) - viewer.data.add_edges(B - global_scale * X1_combed if extend_arrows else B, B + global_scale * X1_combed, + viewer.data().set_mesh(V, F) + viewer.data().add_edges(B - global_scale * X1_combed if extend_arrows else B, B + global_scale * X1_combed, igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.add_edges(B - global_scale * X2_combed if extend_arrows else B, B + global_scale * X2_combed, + viewer.data().add_edges(B - global_scale * X2_combed if extend_arrows else B, B + global_scale * X2_combed, igl.eigen.MatrixXd([[0, 0, 1]])) # Plot cuts @@ -165,38 +172,38 @@ def key_down(viewer, key, modifier): P2.setRow(l_count - 1, V.row(F[i, (j + 1) % 3])) l_count -= 1 - viewer.data.add_edges(P1, P2, igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_edges(P1, P2, igl.eigen.MatrixXd([[1, 0, 0]])) # Plot the singularities as colored dots (red for negative, blue for positive) for i in range(0, singularityIndex.size()): if 2 > singularityIndex[i] > 0: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[1, 0, 0]])) elif singularityIndex[i] > 2: - viewer.data.add_points(V.row(i), igl.eigen.MatrixXd([[0, 1, 0]])) + viewer.data().add_points(V.row(i), igl.eigen.MatrixXd([[0, 1, 0]])) if key == ord('6'): # Global parametrization UV - viewer.data.set_mesh(UV, FUV) - viewer.data.set_uv(UV) - viewer.core.show_lines = True + viewer.data().set_mesh(UV, FUV) + viewer.data().set_uv(UV) + viewer.data().show_lines = True if key == ord('7'): # Global parametrization in 3D - viewer.data.set_mesh(V, F) - viewer.data.set_uv(UV, FUV) - viewer.core.show_texture = True + viewer.data().set_mesh(V, F) + viewer.data().set_uv(UV, FUV) + viewer.data().show_texture = True if key == ord('8'): # Global parametrization in 3D with seams - viewer.data.set_mesh(V, F) - viewer.data.set_uv(UV_seams, FUV_seams) - viewer.core.show_texture = True + viewer.data().set_mesh(V, F) + viewer.data().set_uv(UV_seams, FUV_seams) + viewer.data().show_texture = True - viewer.data.set_colors(igl.eigen.MatrixXd([[1, 1, 1]])) + viewer.data().set_colors(igl.eigen.MatrixXd([[1, 1, 1]])) - viewer.data.set_texture(texture_R, texture_B, texture_G) + viewer.data().set_texture(texture_R, texture_B, texture_G) - viewer.core.align_camera_center(viewer.data.V, viewer.data.F) + viewer.core.align_camera_center(viewer.data().V, viewer.data().F) return False @@ -211,7 +218,7 @@ igl.barycenter(V, F, B) global_scale = .5 * igl.avg_edge_length(V, F) # Contrain one face -b = igl.eigen.MatrixXi([[0]]) +b = igl.eigen.MatrixXd([[0]]).castint() bc = igl.eigen.MatrixXd([[1, 0, 0]]) # Create a smooth 4-RoSy field @@ -219,7 +226,7 @@ S = igl.eigen.MatrixXd() igl.comiso.nrosy(V, F, b, bc, igl.eigen.MatrixXi(), igl.eigen.MatrixXd(), igl.eigen.MatrixXd(), 4, 0.5, X1, S) -# Find the the orthogonal vector +# Find the orthogonal vector B1 = igl.eigen.MatrixXd() B2 = igl.eigen.MatrixXd() B3 = igl.eigen.MatrixXd() @@ -260,7 +267,7 @@ igl.comiso.miq(V, F, X1_combed, X2_combed, MMatch, isSingularity, Seams, UV_seam stiffness, direct_round, iterations, 5, False) # Plot the mesh -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Replace the standard texture with an integer shift invariant texture (texture_R, texture_G, texture_B) = line_texture() diff --git a/python/tutorial/509_Planarization.py b/python/tutorial/507_Planarization.py similarity index 68% rename from python/tutorial/509_Planarization.py rename to python/tutorial/507_Planarization.py index 6cb75af18..2fd27134b 100755 --- a/python/tutorial/509_Planarization.py +++ b/python/tutorial/507_Planarization.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,11 +13,11 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() # Quad mesh generated from conjugate field VQC = igl.eigen.MatrixXd() @@ -33,7 +40,7 @@ PQC3plan = igl.eigen.MatrixXd() def key_down(viewer, key, modifier): if key == ord('1'): # Draw the triangulated quad mesh - viewer.data.set_mesh(VQC, FQCtri) + viewer.data().set_mesh(VQC, FQCtri) # Assign a color to each quad that corresponds to its planarity planarity = igl.eigen.MatrixXd() @@ -43,17 +50,17 @@ def key_down(viewer, key, modifier): C = igl.eigen.MatrixXd(FQCtri.rows(), 3) C.setTopRows(Ct.rows(), Ct) C.setBottomRows(Ct.rows(), Ct) - viewer.data.set_colors(C) + viewer.data().set_colors(C) # Plot a line for each edge of the quad mesh - viewer.data.add_edges(PQC0, PQC1, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC1, PQC2, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC2, PQC3, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC3, PQC0, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC0, PQC1, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC1, PQC2, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC2, PQC3, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC3, PQC0, igl.eigen.MatrixXd([[0, 0, 0]])) elif key == ord('2'): # Draw the planar quad mesh - viewer.data.set_mesh(VQCplan, FQCtri) + viewer.data().set_mesh(VQCplan, FQCtri) # Assign a color to each quad that corresponds to its planarity planarity = igl.eigen.MatrixXd() @@ -63,13 +70,13 @@ def key_down(viewer, key, modifier): C = igl.eigen.MatrixXd(FQCtri.rows(), 3) C.setTopRows(Ct.rows(), Ct) C.setBottomRows(Ct.rows(), Ct) - viewer.data.set_colors(C) + viewer.data().set_colors(C) # Plot a line for each edge of the quad mesh - viewer.data.add_edges(PQC0plan, PQC1plan, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC1plan, PQC2plan, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC2plan, PQC3plan, igl.eigen.MatrixXd([[0, 0, 0]])) - viewer.data.add_edges(PQC3plan, PQC0plan, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC0plan, PQC1plan, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC1plan, PQC2plan, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC2plan, PQC3plan, igl.eigen.MatrixXd([[0, 0, 0]])) + viewer.data().add_edges(PQC3plan, PQC0plan, igl.eigen.MatrixXd([[0, 0, 0]])) else: return False @@ -112,7 +119,7 @@ igl.slice(VQCplan, FQC.col(3), 1, PQC3plan) # Launch the viewer key_down(viewer, ord('2'), 0) -viewer.core.invert_normals = True -viewer.core.show_lines = False +viewer.data().invert_normals = True +viewer.data().show_lines = False viewer.callback_key_down = key_down viewer.launch() diff --git a/python/tutorial/507_PolyVectorField.py b/python/tutorial/507_PolyVectorField.py deleted file mode 100755 index 7725fd9d3..000000000 --- a/python/tutorial/507_PolyVectorField.py +++ /dev/null @@ -1,136 +0,0 @@ -import sys, os -import random -from math import cos,sin,pi - -# Add the igl library to the modules search path -sys.path.insert(0, os.getcwd() + "/../") -import pyigl as igl - -from shared import TUTORIAL_SHARED_PATH, check_dependencies - -dependencies = ["embree", "viewer"] -check_dependencies(dependencies) - - -# Input mesh -V = igl.eigen.MatrixXd() -F = igl.eigen.MatrixXi() - -# Per face bases -B1 = igl.eigen.MatrixXd() -B2 = igl.eigen.MatrixXd() -B3 = igl.eigen.MatrixXd() - -# Face barycenters -B = igl.eigen.MatrixXd() - -# Scale for visualizing the fields -global_scale = 1 - -# Random length factor -rand_factor = 5 - -samples = igl.eigen.MatrixXi() - -def readSamples(fname): - samples = igl.eigen.MatrixXi() - numSamples = 0 - - fp = open(fname, 'r') - - numSamples = int(fp.readline()) - - samples.resize(numSamples,1) - - for i in range(0,numSamples): - samples[i] = int(fp.readline()) - - fp.close() - - return samples - -# Create a random set of tangent vectors -def random_constraints(b1, b2, n): - - r = igl.eigen.MatrixXd(1,n*3) - - for i in range(0,n): - a = random.random()*2*pi - s = 1 + random.random() * rand_factor - t = s * (cos(a) * b1 + sin(a) * b2) - r.setBlock(0,i*3,1,3,t) - - return r - -def key_down(viewer, key, modifier): - if key < ord('1') or key > ord('8'): - return False - - viewer.data.lines.resize(0,9) - - num = key - ord('0') - - # Interpolate - print("Interpolating " + repr(num * 2) + "-PolyVector field") - - b = igl.eigen.MatrixXi([[4550, 2321, 5413, 5350]]).transpose() - - bc = igl.eigen.MatrixXd(b.size(),num*3) - - for i in range(0,b.size()): - t = random_constraints(B1.row(b[i]),B2.row(b[i]),num) - bc.setRow(i,t) - - # Interpolated PolyVector field - pvf = igl.eigen.MatrixXd() - igl.n_polyvector(V, F, b, bc, pvf) - - # Highlight in red the constrained faces - C = igl.eigen.MatrixXd.Constant(F.rows(),3,1) - - for i in range(0,b.size()): - C.setRow(b[i],igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.set_colors(C) - - for n in range(0,num): - VF = igl.eigen.MatrixXd.Zero(F.rows(),3) - - for i in range(0,b.size()): - VF.setRow(b[i],bc.block(i,n*3,1,3)) - - for i in range(0,samples.rows()): - VF.setRow(samples[i],pvf.block(samples[i],n*3,1,3)) - - c = VF.rowwiseNorm() - - C2 = igl.eigen.MatrixXd() - igl.jet(c,1,1+rand_factor,C2) - viewer.data.add_edges(B - global_scale*VF, B + global_scale*VF , C2) - - return False - - -# Load a mesh in OBJ format -igl.readOBJ("../../tutorial/shared/lilium.obj", V, F) -samples = readSamples("../../tutorial/shared/lilium.samples.0.2") - -# Compute local basis for faces -igl.local_basis(V,F,B1,B2,B3) - -# Compute face barycenters -igl.barycenter(V, F, B) - -# Compute scale for visualizing fields -global_scale = 0.2*igl.avg_edge_length(V, F) - -# Make the example deterministic -random.seed(0) - -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V, F) -viewer.callback_key_down = key_down -viewer.core.show_lines = False - -key_down(viewer,ord('2'),0) - -viewer.launch() diff --git a/python/tutorial/604_Triangle.py b/python/tutorial/604_Triangle.py index 82d4db721..1211326c5 100755 --- a/python/tutorial/604_Triangle.py +++ b/python/tutorial/604_Triangle.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,13 +13,13 @@ import pyigl as igl from shared import check_dependencies -dependencies = ["triangle", "viewer"] +dependencies = ["triangle", "glfw"] check_dependencies(dependencies) # Input polygon V = igl.eigen.MatrixXd([[-1, -1], [1, -1], [1, 1], [-1, 1], [-2, -2], [2, -2], [2, 2], [-2, 2]]) -E = igl.eigen.MatrixXi([[0, 1], [1, 2], [2, 3], [3, 0], [4, 5], [5, 6], [6,7], [7,4]]) +E = igl.eigen.MatrixXd([[0, 1], [1, 2], [2, 3], [3, 0], [4, 5], [5, 6], [6,7], [7,4]]).castint() H = igl.eigen.MatrixXd([[0, 0]]) # Triangulated Interior @@ -22,6 +29,6 @@ F2 = igl.eigen.MatrixXi() igl.triangle.triangulate(V, E, H, "a0.005q", V2, F2) # Plot the mesh -viewer = igl.viewer.Viewer() -viewer.data.set_mesh(V2, F2) +viewer = igl.glfw.Viewer() +viewer.data().set_mesh(V2, F2) viewer.launch() diff --git a/python/tutorial/605_Tetgen.py b/python/tutorial/605_Tetgen.py index 7715b80b6..4a120ae02 100755 --- a/python/tutorial/605_Tetgen.py +++ b/python/tutorial/605_Tetgen.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["tetgen", "viewer"] +dependencies = ["tetgen", "glfw"] check_dependencies(dependencies) @@ -20,7 +27,7 @@ TV = igl.eigen.MatrixXd() TT = igl.eigen.MatrixXi() TF = igl.eigen.MatrixXi() -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() def key_down(viewer, key, modifier): @@ -36,7 +43,7 @@ def key_down(viewer, key, modifier): s.append(i) V_temp = igl.eigen.MatrixXd(len(s) * 4, 3) - F_temp = igl.eigen.MatrixXi(len(s) * 4, 3) + F_temp = igl.eigen.MatrixXd(len(s) * 4, 3).castint() for i in range(len(s)): V_temp.setRow(i * 4 + 0, TV.row(TT[s[i], 0])) @@ -44,14 +51,14 @@ def key_down(viewer, key, modifier): V_temp.setRow(i * 4 + 2, TV.row(TT[s[i], 2])) V_temp.setRow(i * 4 + 3, TV.row(TT[s[i], 3])) - F_temp.setRow(i * 4 + 0, igl.eigen.MatrixXi([[(i*4)+0, (i*4)+1, (i*4)+3]])) - F_temp.setRow(i * 4 + 1, igl.eigen.MatrixXi([[(i*4)+0, (i*4)+2, (i*4)+1]])) - F_temp.setRow(i * 4 + 2, igl.eigen.MatrixXi([[(i*4)+3, (i*4)+2, (i*4)+0]])) - F_temp.setRow(i * 4 + 3, igl.eigen.MatrixXi([[(i*4)+1, (i*4)+2, (i*4)+3]])) + F_temp.setRow(i * 4 + 0, igl.eigen.MatrixXd([[(i*4)+0, (i*4)+1, (i*4)+3]]).castint()) + F_temp.setRow(i * 4 + 1, igl.eigen.MatrixXd([[(i*4)+0, (i*4)+2, (i*4)+1]]).castint()) + F_temp.setRow(i * 4 + 2, igl.eigen.MatrixXd([[(i*4)+3, (i*4)+2, (i*4)+0]]).castint()) + F_temp.setRow(i * 4 + 3, igl.eigen.MatrixXd([[(i*4)+1, (i*4)+2, (i*4)+3]]).castint()) - viewer.data.clear() - viewer.data.set_mesh(V_temp, F_temp) - viewer.data.set_face_based(True) + viewer.data().clear() + viewer.data().set_mesh(V_temp, F_temp) + viewer.data().set_face_based(True) else: return False diff --git a/python/tutorial/606_AmbientOcclusion.py b/python/tutorial/606_AmbientOcclusion.py index 5183b19df..e33593409 100755 --- a/python/tutorial/606_AmbientOcclusion.py +++ b/python/tutorial/606_AmbientOcclusion.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["embree", "viewer"] +dependencies = ["embree", "glfw"] check_dependencies(dependencies) @@ -17,7 +24,7 @@ AO = igl.eigen.MatrixXd() N = igl.eigen.MatrixXd() -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() def key_down(viewer, key, modifier): @@ -26,13 +33,13 @@ def key_down(viewer, key, modifier): if key == ord('1'): # Show the mesh without the ambient occlusion factor - viewer.data.set_colors(color) + viewer.data().set_colors(color) elif key == ord('2'): # Show the mesh with the ambient occlusion factor C = color.replicate(V.rows(), 1) for i in range(C.rows()): C.setRow(i, C.row(i) * AO[i, 0]) - viewer.data.set_colors(C) + viewer.data().set_colors(C) elif key == ord('.'): viewer.core.lighting_factor += 0.1 elif key == ord(','): @@ -57,9 +64,9 @@ igl.embree.ambient_occlusion(V, F, V, N, 500, AO) AO = 1.0 - AO # Plot the generated mesh -viewer.data.set_mesh(V, F) +viewer.data().set_mesh(V, F) key_down(viewer, ord('2'), 0) viewer.callback_key_down = key_down -viewer.core.show_lines = False +viewer.data().show_lines = False viewer.core.lighting_factor = 0.0 viewer.launch() diff --git a/python/tutorial/607_ScreenCapture.py b/python/tutorial/607_ScreenCapture.py index 8b106ca8c..778896fcc 100755 --- a/python/tutorial/607_ScreenCapture.py +++ b/python/tutorial/607_ScreenCapture.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["png", "viewer"] +dependencies = ["png", "glfw"] check_dependencies(dependencies) temp_png = os.path.join(os.getcwd(),"out.png") @@ -20,7 +27,7 @@ def key_down(viewer, key, modifier): A = igl.eigen.MatrixXuc(1280, 800) # Draw the scene in the buffers - viewer.core.draw_buffer(viewer.data, viewer.opengl, False, R, G, B, A) + viewer.core.draw_buffer(viewer.data(), False, R, G, B, A) # Save it to a PNG igl.png.writePNG(R, G, B, A, temp_png) @@ -40,18 +47,18 @@ def key_down(viewer, key, modifier): [0.5, 0.5, 0], [-0.5, 0.5, 0]]) - F = igl.eigen.MatrixXi([[0, 1, 2], [2, 3, 0]]) + F = igl.eigen.MatrixXd([[0, 1, 2], [2, 3, 0]]).castint() UV = igl.eigen.MatrixXd([[0, 0], [1, 0], [1, 1], [0, 1]]) - viewer.data.clear() - viewer.data.set_mesh(V, F) - viewer.data.set_uv(UV) + viewer.data().clear() + viewer.data().set_mesh(V, F) + viewer.data().set_uv(UV) viewer.core.align_camera_center(V) - viewer.core.show_texture = True + viewer.data().show_texture = True # Use the image as a texture - viewer.data.set_texture(R, G, B) + viewer.data().set_texture(R, G, B) else: return False @@ -66,13 +73,13 @@ if __name__ == "__main__": # Load meshes in OFF format igl.readOFF(TUTORIAL_SHARED_PATH + "bunny.off", V, F) - viewer = igl.viewer.Viewer() + viewer = igl.glfw.Viewer() print( "Usage: Press 1 to render the scene and save it in a png. \nPress 2 to load the saved png and use it as a texture.") viewer.callback_key_down = key_down - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) viewer.launch() os.remove(temp_png) diff --git a/python/tutorial/609_Boolean.py b/python/tutorial/609_Boolean.py index 891f81711..d6d28985b 100755 --- a/python/tutorial/609_Boolean.py +++ b/python/tutorial/609_Boolean.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["cgal", "viewer"] +dependencies = ["cgal", "glfw"] check_dependencies(dependencies) boolean_type_names = {igl.MESH_BOOLEAN_TYPE_UNION: "Union", igl.MESH_BOOLEAN_TYPE_INTERSECT: "Intersect", igl.MESH_BOOLEAN_TYPE_MINUS: "Minus", igl.MESH_BOOLEAN_TYPE_XOR: "XOR", igl.MESH_BOOLEAN_TYPE_RESOLVE: "Resolve"} @@ -27,9 +34,9 @@ def update(viewer): else: C.setRow(f, Green) - viewer.data.clear() - viewer.data.set_mesh(VC, FC) - viewer.data.set_colors(C) + viewer.data().clear() + viewer.data().set_mesh(VC, FC) + viewer.data().set_colors(C) print("Done.") @@ -71,13 +78,13 @@ if __name__ == "__main__": boolean_type = igl.MESH_BOOLEAN_TYPE_UNION - viewer = igl.viewer.Viewer() + viewer = igl.glfw.Viewer() update(viewer) print( "Usage: Press '.' to switch to next boolean operation type. \nPress ',' to switch to previous boolean operation type. \nPress ']' to push near cutting plane away from camera. \nPress '[' to pull near cutting plane closer to camera. \nHint: investigate _inside_ the model to see orientation changes. \n") - viewer.core.show_lines = True + viewer.data().show_lines = True viewer.callback_key_down = key_down viewer.core.camera_dnear = 3.9 viewer.launch() diff --git a/python/tutorial/701_Statistics.py b/python/tutorial/701_Statistics.py index 01d0d1656..401cc8c8e 100755 --- a/python/tutorial/701_Statistics.py +++ b/python/tutorial/701_Statistics.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path diff --git a/python/tutorial/702_WindingNumber.py b/python/tutorial/702_WindingNumber.py index 2de16e664..c76f70d54 100755 --- a/python/tutorial/702_WindingNumber.py +++ b/python/tutorial/702_WindingNumber.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -39,10 +46,10 @@ def update(viewer): elif overlay == 2: # OVERLAY_OUTPUT append_mesh(C_vis, F_vis, V_vis, V, F, igl.eigen.MatrixXd([[0.8, 0.8, 0.8]])) - viewer.data.clear() - viewer.data.set_mesh(V_vis, F_vis) - viewer.data.set_colors(C_vis) - viewer.data.set_face_based(True) + viewer.data().clear() + viewer.data().set_mesh(V_vis, F_vis) + viewer.data().set_colors(C_vis) + viewer.data().set_face_based(True) def key_down(viewer, key, modifier): @@ -106,7 +113,7 @@ if __name__ == "__main__": W = (W - W.minCoeff()) / (W.maxCoeff() - W.minCoeff()) # Plot the generated mesh - viewer = igl.viewer.Viewer() + viewer = igl.glfw.Viewer() update(viewer) viewer.callback_key_down = key_down viewer.launch() diff --git a/python/tutorial/704_SignedDistance.py b/python/tutorial/704_SignedDistance.py index 47d4a04fb..22a83b00d 100644 --- a/python/tutorial/704_SignedDistance.py +++ b/python/tutorial/704_SignedDistance.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os import math @@ -7,7 +14,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -25,7 +32,7 @@ max_distance = 1 slice_z = 0.5 overlay = False -viewer = igl.viewer.Viewer() +viewer = igl.glfw.Viewer() def append_mesh(C_vis, F_vis, V_vis, V, F, color): @@ -85,9 +92,9 @@ def update_visualization(viewer): if overlay: append_mesh(C_vis, F_vis, V_vis, V, F, igl.eigen.MatrixXd([[0.8, 0.8, 0.8]])) - viewer.data.clear() - viewer.data.set_mesh(V_vis, F_vis) - viewer.data.set_colors(C_vis) + viewer.data().clear() + viewer.data().set_mesh(V_vis, F_vis) + viewer.data().set_colors(C_vis) viewer.core.lighting_factor = overlay @@ -131,5 +138,5 @@ igl.per_edge_normals(V, F, igl.PER_EDGE_NORMALS_WEIGHTING_TYPE_UNIFORM, FN, EN, # Plot the generated mesh update_visualization(viewer) viewer.callback_key_down = key_down -viewer.core.show_lines = False +viewer.data().show_lines = False viewer.launch() diff --git a/python/tutorial/705_MarchingCubes.py b/python/tutorial/705_MarchingCubes.py index 8ce6305b4..38a5b3490 100755 --- a/python/tutorial/705_MarchingCubes.py +++ b/python/tutorial/705_MarchingCubes.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,20 +13,20 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["copyleft", "viewer"] +dependencies = ["copyleft", "glfw"] check_dependencies(dependencies) def key_down(viewer, key, modifier): if key == ord('1'): - viewer.data.clear() - viewer.data.set_mesh(V, F) + viewer.data().clear() + viewer.data().set_mesh(V, F) elif key == ord('2'): - viewer.data.clear() - viewer.data.set_mesh(SV, SF) + viewer.data().clear() + viewer.data().set_mesh(SV, SF) elif key == ord('3'): - viewer.data.clear() - viewer.data.set_mesh(BV, BF) + viewer.data().clear() + viewer.data().set_mesh(BV, BF) return True @@ -88,7 +95,7 @@ if __name__ == "__main__": igl.copyleft.marching_cubes(B, GV, res[0], res[1], res[2], BV, BF) # Plot the generated mesh - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(SV, SF) + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(SV, SF) viewer.callback_key_down = key_down viewer.launch() diff --git a/python/tutorial/706_FacetOrientation.py b/python/tutorial/706_FacetOrientation.py index 6543e6c62..f17e2cf2d 100755 --- a/python/tutorial/706_FacetOrientation.py +++ b/python/tutorial/706_FacetOrientation.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -6,7 +13,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["embree", "viewer"] +dependencies = ["embree", "glfw"] check_dependencies(dependencies) @@ -19,9 +26,9 @@ def key_down(viewer, key, modifier): elif key == ord(' '): is_showing_reoriented = ~is_showing_reoriented - viewer.data.clear() - viewer.data.set_mesh(V, FF[facetwise] if is_showing_reoriented else F) - viewer.data.set_colors(RGBcolors[facetwise]) + viewer.data().clear() + viewer.data().set_mesh(V, FF[facetwise] if is_showing_reoriented else F) + viewer.data().set_colors(RGBcolors[facetwise]) return True @@ -37,7 +44,7 @@ def scramble_colors(): HSVright.setConstant(1.0) HSV.setRightCols(2, HSVright) igl.hsv_to_rgb(HSV, RGBcolors[p]) - viewer.data.set_colors(RGBcolors[facetwise]) + viewer.data().set_colors(RGBcolors[facetwise]) @@ -70,9 +77,9 @@ if __name__ == "__main__": FF[p].setRow(i, F.row(i)) # Plot the generated mesh - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(V, FF[facetwise] if is_showing_reoriented else F) - viewer.data.set_face_based(True) + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(V, FF[facetwise] if is_showing_reoriented else F) + viewer.data().set_face_based(True) scramble_colors() viewer.callback_key_down = key_down viewer.launch() diff --git a/python/tutorial/707_SweptVolume.py b/python/tutorial/707_SweptVolume.py index e15252911..cfa63e49c 100755 --- a/python/tutorial/707_SweptVolume.py +++ b/python/tutorial/707_SweptVolume.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path @@ -8,7 +15,7 @@ import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["copyleft", "viewer"] +dependencies = ["copyleft", "glfw"] check_dependencies(dependencies) @@ -16,16 +23,16 @@ def key_down(viewer, key, modifier): global show_swept_volume, SV, SF, V, F if key == ord(' '): show_swept_volume = not show_swept_volume - viewer.data.clear() + viewer.data().clear() if show_swept_volume: - viewer.data.set_mesh(SV, SF) - viewer.data.uniform_colors(igl.eigen.MatrixXd([0.2, 0.2, 0.2]), igl.eigen.MatrixXd([1.0, 1.0, 1.0]), igl.eigen.MatrixXd([1.0, 1.0, 1.0])) # TODO replace with constants from cpp + viewer.data().set_mesh(SV, SF) + viewer.data().uniform_colors(igl.eigen.MatrixXd([0.2, 0.2, 0.2]), igl.eigen.MatrixXd([1.0, 1.0, 1.0]), igl.eigen.MatrixXd([1.0, 1.0, 1.0])) # TODO replace with constants from cpp else: - viewer.data.set_mesh(V, F) + viewer.data().set_mesh(V, F) viewer.core.is_animating = not show_swept_volume - viewer.data.set_face_based(True) + viewer.data().set_face_based(True) return True @@ -39,8 +46,8 @@ def pre_draw(viewer): Vtrans = igl.eigen.MatrixXd(VT.rows(), VT.cols()) Vtrans.rowwiseSet(trans) VT += Vtrans - viewer.data.set_vertices(VT) - viewer.data.compute_normals() + viewer.data().set_vertices(VT) + viewer.data().compute_normals() return False @@ -74,9 +81,9 @@ if __name__ == "__main__": print("...finished.") # Plot the generated mesh - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(V, F) - viewer.data.set_face_based(True) + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(V, F) + viewer.data().set_face_based(True) viewer.core.is_animating = not show_swept_volume viewer.callback_pre_draw = pre_draw viewer.callback_key_down = key_down diff --git a/python/tutorial/708_Picking.py b/python/tutorial/708_Picking.py index 19b1e3f72..8875f56d4 100755 --- a/python/tutorial/708_Picking.py +++ b/python/tutorial/708_Picking.py @@ -1,13 +1,20 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os # Add the igl library to the modules search path sys.path.insert(0, os.getcwd() + "/../") import pyigl as igl - +import numpy as np from shared import TUTORIAL_SHARED_PATH, check_dependencies, print_usage -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) @@ -15,14 +22,14 @@ def mouse_down(viewer, a, b): bc = igl.eigen.MatrixXd() # Cast a ray in the view direction starting from the mouse position - fid = igl.eigen.MatrixXi([-1]) + fid = igl.eigen.MatrixXi(np.array([-1])) coord = igl.eigen.MatrixXd([viewer.current_mouse_x, viewer.core.viewport[3] - viewer.current_mouse_y]) hit = igl.unproject_onto_mesh(coord, viewer.core.view * viewer.core.model, viewer.core.proj, viewer.core.viewport, V, F, fid, bc) if hit: # paint hit red C.setRow(fid[0, 0], igl.eigen.MatrixXd([[1, 0, 0]])) - viewer.data.set_colors(C) + viewer.data().set_colors(C) return True return False @@ -44,9 +51,9 @@ if __name__ == "__main__": C.setConstant(F.rows(), 3, 1.0) # Show mesh - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(V, F) - viewer.data.set_colors(C) - viewer.core.show_lines = False + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(V, F) + viewer.data().set_colors(C) + viewer.data().show_lines = False viewer.callback_mouse_down = mouse_down viewer.launch() diff --git a/python/tutorial/709_VectorFieldVisualizer.py b/python/tutorial/709_VectorFieldVisualizer.py index c77605a6f..12365925b 100644 --- a/python/tutorial/709_VectorFieldVisualizer.py +++ b/python/tutorial/709_VectorFieldVisualizer.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import sys, os import numpy as np @@ -6,7 +13,7 @@ sys.path.insert(0, os.getcwd() + "/../") import pyigl as igl from shared import TUTORIAL_SHARED_PATH, check_dependencies -dependencies = ["viewer"] +dependencies = ["glfw"] check_dependencies(dependencies) # Input mesh @@ -59,7 +66,7 @@ def pre_draw(viewer): value = 1 - value value /= 0.5 r, g, b = igl.parula(value) - viewer.data.add_edges(state.start_point, state.end_point, igl.eigen.MatrixXd([[r, g, b]])) + viewer.data().add_edges(state.start_point, state.end_point, igl.eigen.MatrixXd([[r, g, b]])) anim_t += anim_t_dir @@ -93,8 +100,8 @@ def main(): igl.streamlines_init(V, F, temp_field2, treat_as_symmetric, data, state) # Setup viewer - viewer = igl.viewer.Viewer() - viewer.data.set_mesh(V, F) + viewer = igl.glfw.Viewer() + viewer.data().set_mesh(V, F) viewer.callback_pre_draw = pre_draw viewer.callback_key_down = key_down @@ -105,8 +112,8 @@ def main(): # Paint mesh grayish C = igl.eigen.MatrixXd() - C.setConstant(viewer.data.V.rows(), 3, .9) - viewer.data.set_colors(C) + C.setConstant(viewer.data().V.rows(), 3, .9) + viewer.data().set_colors(C) # Draw vector field on sample points state0 = state.copy() @@ -115,7 +122,7 @@ def main(): v = state0.end_point - state0.start_point v = v.rowwiseNormalized() - viewer.data.add_edges(state0.start_point, + viewer.data().add_edges(state0.start_point, state0.start_point + 0.059 * v, igl.eigen.MatrixXd([[1.0, 1.0, 1.0]])) diff --git a/python/tutorial/shared.py b/python/tutorial/shared.py index 1adf98024..86b5596e2 100644 --- a/python/tutorial/shared.py +++ b/python/tutorial/shared.py @@ -1,3 +1,10 @@ +# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. import pyigl as igl import sys import os diff --git a/scripts/clone-and-build.sh b/scripts/clone-and-build.sh index f4bcfe617..84717134d 100755 --- a/scripts/clone-and-build.sh +++ b/scripts/clone-and-build.sh @@ -64,7 +64,7 @@ The command produced the following standard output/error before failing: echo -e "$html_content" | mail -s "$subject" $recipients } -# Runs the arguements as a command as usual, but if the command fails send an +# Runs the arguments as a command as usual, but if the command fails send an # email using `report_error` and exit without continuing # # guard command arg1 arg2 ... diff --git a/scripts/h2pair.sh b/scripts/h2pair.sh index 037778738..437c0c7d2 100755 --- a/scripts/h2pair.sh +++ b/scripts/h2pair.sh @@ -37,7 +37,7 @@ do if [[ `grep -c "^\#endif" "$i"` > 1 ]]; then - echo "Warning $i contains multple matches to ^#endif" + echo "Warning $i contains multiple matches to ^#endif" fi before=`sed -n '/^\/\/ Implementation$/q;p' "$i"`; diff --git a/scripts/license.py b/scripts/license.py new file mode 100644 index 000000000..8be11b980 --- /dev/null +++ b/scripts/license.py @@ -0,0 +1,55 @@ +# https://stackoverflow.com/questions/151677/tool-for-adding-license-headers-to-source-files +# updates the copyright information for all .cs files +# usage: call recursive_traversal, with the following parameters +# parent directory, old copyright text content, new copyright text content + +import os + +excludedir = ["..\\Lib"] + +def update_source(filename, oldcopyright, copyright): + utfstr = chr(0xef)+chr(0xbb)+chr(0xbf) + fdata = file(filename,"r+").read() + isUTF = False + if (fdata.startswith(utfstr)): + isUTF = True + fdata = fdata[3:] + if (oldcopyright != None): + if (fdata.startswith(oldcopyright)): + fdata = fdata[len(oldcopyright):] + if not (fdata.startswith(copyright)): + print "updating "+filename + fdata = copyright + fdata + if (isUTF): + file(filename,"w").write(utfstr+fdata) + else: + file(filename,"w").write(fdata) + +def recursive_traversal(dir, oldcopyright, copyright): + global excludedir + fns = os.listdir(dir) + # print "listing "+dir + for fn in fns: + fullfn = os.path.join(dir,fn) + if (fullfn in excludedir): + continue + if (os.path.isdir(fullfn)): + recursive_traversal(fullfn, oldcopyright, copyright) + else: + if (fullfn.endswith(".py")): + update_source(fullfn, oldcopyright, copyright) + + +#oldcright = file("oldcr.txt","r+").read() +#cright = file("copyrightText.txt","r+").read() +oldcright = None +cright = """# This file is part of libigl, a simple c++ geometry processing library. +# +# Copyright (C) 2017 Sebastian Koch and Daniele Panozzo +# +# This Source Code Form is subject to the terms of the Mozilla Public License +# v. 2.0. If a copy of the MPL was not distributed with this file, You can +# obtain one at http://mozilla.org/MPL/2.0/. +""" +recursive_traversal(".", oldcright, cright) +exit() diff --git a/scripts/pre-commit.sh b/scripts/pre-commit.sh index 202da9fcc..8cd688f86 100755 --- a/scripts/pre-commit.sh +++ b/scripts/pre-commit.sh @@ -23,7 +23,7 @@ The following files contain the offensive \"std::__1\" namespace: ${RED}$STD1${NC} -Consider issueing: +Consider issuing: sed -i '' -e \"s/std::__1/std/g\"" $STD1 diff --git a/shared/cmake/CMakeLists.txt b/shared/cmake/CMakeLists.txt deleted file mode 100644 index 0138c1cdf..000000000 --- a/shared/cmake/CMakeLists.txt +++ /dev/null @@ -1,524 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(libigl) - -### Available options ### -option(LIBIGL_USE_STATIC_LIBRARY "Use libigl as static library" OFF) -option(LIBIGL_WITH_ANTTWEAKBAR "Use AntTweakBar" OFF) -option(LIBIGL_WITH_CGAL "Use CGAL" OFF) -option(LIBIGL_WITH_COMISO "Use CoMiso" OFF) -option(LIBIGL_WITH_CORK "Use Cork" OFF) -option(LIBIGL_WITH_EMBREE "Use Embree" OFF) -option(LIBIGL_WITH_LIM "Use LIM" OFF) -option(LIBIGL_WITH_MATLAB "Use Matlab" OFF) -option(LIBIGL_WITH_MOSEK "Use MOSEK" OFF) -option(LIBIGL_WITH_NANOGUI "Use Nanogui menu" OFF) -option(LIBIGL_WITH_OPENGL "Use OpenGL" OFF) -option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" OFF) -option(LIBIGL_WITH_PNG "Use PNG" OFF) -option(LIBIGL_WITH_TETGEN "Use Tetgen" OFF) -option(LIBIGL_WITH_TRIANGLE "Use Triangle" OFF) -option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" OFF) -option(LIBIGL_WITH_XML "Use XML" OFF) -option(LIBIGL_WITH_PYTHON "Use Python" OFF) - -if(LIBIGL_WITH_VIEWER AND (NOT LIBIGL_WITH_OPENGL_GLFW OR NOT LIBIGL_WITH_OPENGL) ) - message(FATAL_ERROR "LIBIGL_WITH_VIEWER=ON requires LIBIGL_WITH_OPENGL_GLFW=ON and LIBIGL_WITH_OPENGL=ON") -endif() - -### Compilation configuration ### -if(MSVC) - ### Enable parallel compilation for Visual Studio - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /bigobj") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w") # disable all warnings (not ideal but...) -else() - #### Libigl requires a modern C++ compiler that supports c++11 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") # disable all warnings (not ideal but...) -endif() -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}") - -### OpenMP ### (OpenMP is disable for now) -#find_package(OpenMP) -#if(OPENMP_FOUND AND NOT WIN32) -# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -# list(APPEND LIBIGL_DEFINITIONS "${OpenMP_CXX_FLAGS}") -#endif() - - -### Compiling libraries based on chosen options ### -set(LIBIGL_INCLUDE_DIRS "") -set(LIBIGL_LIBRARIES "") -set(LIBIGL_EXTRA_LIBRARIES "") -set(LIBIGL_DEFINITIONS "") - -if(LIBIGL_USE_STATIC_LIBRARY) - list(APPEND LIBIGL_DEFINITIONS "-DIGL_STATIC_LIBRARY") -endif() - -### macro definition ### -set(LIBIGL_ROOT "${PROJECT_SOURCE_DIR}/../..") -set(LIBIGL_SOURCE_DIR "${LIBIGL_ROOT}/include") -set(LIBIGL_EXTERNAL "${LIBIGL_ROOT}/external") - -### Multiple dependencies are buried in Nanogui -set(NANOGUI_DIR "${LIBIGL_EXTERNAL}/nanogui") - -### Eigen ### -if(NOT EIGEN_INCLUDE_DIR) - set(EIGEN_INCLUDE_DIR "${NANOGUI_DIR}/ext/eigen") -endif() -list(APPEND LIBIGL_INCLUDE_DIRS "${EIGEN_INCLUDE_DIR}") - -macro(CompileIGL_Module module_dir prefix) - string(REPLACE "/" "_" module_name "${module_dir}") - file(GLOB SOURCES_IGL_${module_name} - "${LIBIGL_SOURCE_DIR}/igl/${prefix}/${module_dir}/*.cpp" - ) - set(module_lib_name igl_${module_name}) - add_library(${module_lib_name} STATIC ${SOURCES_IGL_${module_name}}) - target_include_directories(${module_lib_name} PRIVATE ${EIGEN_INCLUDE_DIR}) - target_include_directories(${module_lib_name} PRIVATE ${LIBIGL_SOURCE_DIR}) - target_compile_definitions(${module_lib_name} PRIVATE -DIGL_STATIC_LIBRARY) - list(APPEND LIBIGL_LIBRARIES "${module_lib_name}") -endmacro() - -### IGL Common ### -list(APPEND LIBIGL_INCLUDE_DIRS "${LIBIGL_SOURCE_DIR}") -if(LIBIGL_USE_STATIC_LIBRARY) - file(GLOB SOURCES_IGL - "${LIBIGL_SOURCE_DIR}/igl/*.cpp" - "${LIBIGL_SOURCE_DIR}/igl/copyleft/*.cpp") - add_library(igl STATIC ${SOURCES_IGL}) - target_include_directories(igl PRIVATE ${EIGEN_INCLUDE_DIR}) - target_include_directories(igl PRIVATE ${LIBIGL_SOURCE_DIR}) - target_compile_definitions(igl PRIVATE -DIGL_STATIC_LIBRARY) - list(APPEND LIBIGL_LIBRARIES "igl") -endif() - - -### Compile the AntTweakBar part ### -if(LIBIGL_WITH_ANTTWEAKBAR) - set(ANTTWEAKBAR_DIR "${LIBIGL_EXTERNAL}/AntTweakBar") - set(ANTTWEAKBAR_INCLUDE_DIR "${ANTTWEAKBAR_DIR}/include") - set(ANTTWEAKBAR_C_SRC_FILES - "${ANTTWEAKBAR_DIR}/src/TwEventGLFW.c" - "${ANTTWEAKBAR_DIR}/src/TwEventGLUT.c" - "${ANTTWEAKBAR_DIR}/src/TwEventSDL.c" - "${ANTTWEAKBAR_DIR}/src/TwEventSDL12.c" - "${ANTTWEAKBAR_DIR}/src/TwEventSDL13.c" - ) - set(ANTTWEAKBAR_CPP_SRC_FILES - "${ANTTWEAKBAR_DIR}/src/LoadOGL.cpp" - "${ANTTWEAKBAR_DIR}/src/LoadOGLCore.cpp" - "${ANTTWEAKBAR_DIR}/src/TwBar.cpp" - "${ANTTWEAKBAR_DIR}/src/TwColors.cpp" - "${ANTTWEAKBAR_DIR}/src/TwEventSFML.cpp" - "${ANTTWEAKBAR_DIR}/src/TwFonts.cpp" - "${ANTTWEAKBAR_DIR}/src/TwMgr.cpp" - "${ANTTWEAKBAR_DIR}/src/TwOpenGL.cpp" - "${ANTTWEAKBAR_DIR}/src/TwOpenGLCore.cpp" - "${ANTTWEAKBAR_DIR}/src/TwPrecomp.cpp" - ) - # These are probably needed for windows/Linux, should append if - # windows/Linux - #"${ANTTWEAKBAR_DIR}/src/TwEventWin.c" - #"${ANTTWEAKBAR_DIR}/src/TwEventX11.c" - #"${ANTTWEAKBAR_DIR}/src/TwDirect3D10.cpp" - #"${ANTTWEAKBAR_DIR}/src/TwDirect3D11.cpp" - #"${ANTTWEAKBAR_DIR}/src/TwDirect3D9.cpp" - list( - APPEND - ANTTWEAKBAR_SRC_FILES - "${ANTTWEAKBAR_C_SRC_FILES}" - "${ANTTWEAKBAR_CPP_SRC_FILES}") - add_library(AntTweakBar STATIC "${ANTTWEAKBAR_SRC_FILES}") - target_include_directories(AntTweakBar PUBLIC "${ANTTWEAKBAR_INCLUDE_DIR}") - if(APPLE) - set_target_properties( - AntTweakBar - PROPERTIES - COMPILE_FLAGS - "-fPIC -fno-strict-aliasing -x objective-c++") - target_compile_definitions( - AntTweakBar PUBLIC _MACOSX __PLACEMENT_NEW_INLINE) - endif() - list(APPEND LIBIGL_INCLUDE_DIRS "${ANTTWEAKBAR_INCLUDE_DIR}") - set(LIBIGL_ANTTWEAKBAR_EXTRA_LIBRARIES "AntTweakBar") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_ANTTWEAKBAR_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("anttweakbar" "") - target_include_directories(igl_anttweakbar PRIVATE ${ANTTWEAKBAR_INCLUDE_DIR}) - endif() -endif() - -### Compile the cgal parts ### -if(LIBIGL_WITH_CGAL) # to be cleaned - # Core is needed for - # `Exact_predicates_exact_constructions_kernel_with_sqrt` - find_package(CGAL REQUIRED COMPONENTS Core) - # set(Boost_USE_MULTITHREADED ON) - # set(Boost_USE_STATIC_LIBS ON) - # - # find_package(BOOST REQUIRED) - include(${CGAL_USE_FILE}) - list(APPEND LIBIGL_INCLUDE_DIRS ${CGAL_3RD_PARTY_INCLUDE_DIRS}) - list(APPEND LIBIGL_INCLUDE_DIRS ${CGAL_INCLUDE_DIRS}) - list(APPEND LIBIGL_CGAL_EXTRA_LIBRARIES ${CGAL_3RD_PARTY_LIBRARIES}) - list(APPEND LIBIGL_CGAL_EXTRA_LIBRARIES ${CGAL_LIBRARIES}) - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_CGAL_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("cgal" "copyleft/") - target_include_directories(igl_cgal PRIVATE - ${CGAL_3RD_PARTY_INCLUDE_DIRS} - ${CGAL_INCLUDE_DIRS}) - endif() -endif() - -#Compile CoMISo -# NOTE: this cmakefile works only with the -# comiso available here: https://github.com/libigl/CoMISo -if(LIBIGL_WITH_COMISO) - set(COMISO_DIR "${LIBIGL_EXTERNAL}/CoMISo") - set(COMISO_INCLUDE_DIRS - "${COMISO_DIR}/ext/gmm-4.2/include" - "${COMISO_DIR}/../") - list(APPEND LIBIGL_INCLUDE_DIRS ${COMISO_INCLUDE_DIRS}) - #add_definitions(-DINCLUDE_TEMPLATES) (what need this?) - list(APPEND LIBIGL_DEFINITIONS "-DINCLUDE_TEMPLATES") - if(APPLE) - find_library(accelerate_library Accelerate) - list(APPEND LIBIGL_COMISO_EXTRA_LIBRARIES "CoMISo" ${accelerate_library}) - elseif(UNIX) - find_package(BLAS REQUIRED) - list(APPEND LIBIGL_COMISO_EXTRA_LIBRARIES "CoMISo" ${BLAS_LIBRARIES}) - endif(APPLE) - if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SCL_SECURE_NO_DEPRECATE") - #link_directories("${COMISO_ROOT}/CoMISo/ext/OpenBLAS-v0.2.14-Win64-int64/lib/") - list(APPEND LIBIGL_COMISO_EXTRA_LIBRARIES "CoMISo" "${COMISO_DIR}/ext/OpenBLAS-v0.2.14-Win64-int64/lib/libopenblas.dll.a.lib") - endif() - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_COMISO_EXTRA_LIBRARIES}) - add_subdirectory("${COMISO_DIR}" "CoMISo") - if(MSVC) - # Copy the dll - add_custom_target(Copy-CoMISo-DLL ALL # Adds a post-build event to MyTest - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${COMISO_DIR}/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libopenblas.dll" - "${CMAKE_CURRENT_BINARY_DIR}/../libopenblas.dll" - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${COMISO_DIR}/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libgcc_s_seh-1.dll" - "${CMAKE_CURRENT_BINARY_DIR}/../libgcc_s_seh-1.dll" - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${COMISO_DIR}/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libgfortran-3.dll" - "${CMAKE_CURRENT_BINARY_DIR}/../libgfortran-3.dll" - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${COMISO_DIR}/ext/OpenBLAS-v0.2.14-Win64-int64/bin/libquadmath-0.dll" - "${CMAKE_CURRENT_BINARY_DIR}/../libquadmath-0.dll") - endif() - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("comiso" "copyleft/") - target_include_directories(igl_comiso PRIVATE ${COMISO_INCLUDE_DIRS}) - target_compile_definitions(igl_comiso PRIVATE -DINCLUDE_TEMPLATES) - endif() -endif() - -### Compile the cork parts ### -if(LIBIGL_WITH_CORK) - set(CORK_DIR "${LIBIGL_EXTERNAL}/cork") - set(CORK_INCLUDE_DIR "${CORK_DIR}/src") - # call this "lib-cork" instead of "cork", otherwise cmake gets confused about - # "cork" executable - add_subdirectory("${CORK_DIR}" "lib-cork") - list(APPEND LIBIGL_INCLUDE_DIRS "${CORK_INCLUDE_DIR}") - list(APPEND LIBIGL_CORK_EXTRA_LIBRARIES "cork") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_CORK_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("cork" "copyleft/") - target_include_directories(igl_cork PRIVATE ${CORK_INCLUDE_DIR}) - endif() -endif() - -### Compile the embree part ### -if(LIBIGL_WITH_EMBREE) - set(EMBREE_DIR "${LIBIGL_EXTERNAL}/embree") - - set(EMBREE_ISPC_SUPPORT OFF CACHE BOOL " " FORCE) - set(EMBREE_TASKING_SYSTEM "INTERNAL" CACHE BOOL " " FORCE) - set(EMBREE_TUTORIALS OFF CACHE BOOL " " FORCE) - set(EMBREE_MAX_ISA NONE CACHE STRINGS " " FORCE) - - # set(ENABLE_INSTALLER OFF CACHE BOOL " " FORCE) - if(MSVC) - # set(EMBREE_STATIC_RUNTIME OFF CACHE BOOL " " FORCE) - set(EMBREE_STATIC_LIB OFF CACHE BOOL " " FORCE) - else() - set(EMBREE_STATIC_LIB ON CACHE BOOL " " FORCE) - endif() - - add_subdirectory("${EMBREE_DIR}" "embree") - list(APPEND LIBIGL_INCLUDE_DIRS "${EMBREE_DIR}/include") - list(APPEND LIBIGL_EMBREE_EXTRA_LIBRARIES "embree") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_EMBREE_EXTRA_LIBRARIES}) - - if(NOT MSVC) - list(APPEND LIBIGL_DEFINITIONS "-DENABLE_STATIC_LIB") - endif() - - if(MSVC) - add_custom_target(Copy-Embree-DLL ALL # Adds a post-build event to MyTest - COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E copy_if_different..." - "${CMAKE_BINARY_DIR}/libigl/embree/$/embree.dll" # <--this is in-file - "${CMAKE_BINARY_DIR}/embree.dll") # <--this is out-file path endif() - endif() - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("embree" "") - target_include_directories(igl_embree PRIVATE ${EMBREE_DIR}/include) - if(NOT MSVC) - target_compile_definitions(igl_embree PRIVATE -DENABLE_STATIC_LIB) - endif() - endif() -endif() - -### Compile the lim part ### -if(LIBIGL_WITH_LIM) - set(LIM_DIR "${LIBIGL_EXTERNAL}/lim") - add_subdirectory("${LIM_DIR}" "lim") - list(APPEND LIBIGL_INCLUDE_DIRS ${LIM_DIR}) - ## it depends on ligigl, so placing it here solve linking problems - #list(APPEND LIBIGL_LIBRARIES "lim") - # ^--- Alec: I don't understand this comment. Does lim need to come before - # libigl libraries? Why can't lim be placed where it belongs in - # LIBIGL_EXTRA_LIBRARIES? - set(LIBIGL_LIM_EXTRA_LIBRARIES "lim") - list(APPEND LIBIGL_EXTRA_LIBRARIES "${LIBIGL_LIM_EXTRA_LIBRARIES}") - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("lim" "") - target_include_directories(igl_lim PRIVATE ${LIM_DIR}) - endif() -endif() - -### Compile the matlab part ### -if(LIBIGL_WITH_MATLAB) - find_package(MATLAB REQUIRED) - list(APPEND LIBIGL_INCLUDE_DIRS ${MATLAB_INCLUDE_DIR}) - list(APPEND LIBIGL_MATLAB_EXTRA_LIBRARIES ${MATLAB_LIBRARIES}) - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_MATLAB_EXTRA_LIBRARIES}) - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("matlab" "") - target_include_directories(igl_matlab PRIVATE ${MATLAB_INCLUDE_DIR}) - endif() -endif() - -### Compile the mosek part ### -if(LIBIGL_WITH_MOSEK) - find_package(MOSEK REQUIRED) - list(APPEND LIBIGL_INCLUDE_DIRS ${MOSEK_INCLUDE_DIR}) - list(APPEND LIBIGL_MOSEK_EXTRA_LIBRARIES ${MOSEK_LIBRARIES}) - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_MOSEK_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("mosek" "") - target_include_directories(igl_mosek PRIVATE ${MOSEK_INCLUDE_DIR}) - endif() -else() - list(APPEND LIBIGL_DEFINITIONS "-DIGL_NO_MOSEK") -endif() - -### Compile the opengl parts ### -set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE) -set(GLFW_BUILD_TESTS OFF CACHE BOOL " " FORCE) -set(GLFW_BUILD_DOCS OFF CACHE BOOL " " FORCE) -set(GLFW_BUILD_INSTALL OFF CACHE BOOL " " FORCE) -if(LIBIGL_WITH_OPENGL) - find_package(OpenGL REQUIRED) - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("opengl" "") - CompileIGL_Module("opengl2" "") - if(NOT APPLE) - target_include_directories(igl_opengl PRIVATE "${NANOGUI_DIR}/ext/glew/include") - target_include_directories(igl_opengl2 PRIVATE "${NANOGUI_DIR}/ext/glew/include") - endif() - endif() - set(LIBIGL_OPENGL_EXTRA_LIBRARIES ${OPENGL_gl_LIBRARY}) - - ### GLEW for linux and windows - if((UNIX AND NOT APPLE) OR WIN32) ### Compile glew if needed - set(GLEW_INSTALL OFF CACHE BOOL " " FORCE) - add_subdirectory("${NANOGUI_DIR}/ext/glew" "glew") - endif() - if(NOT APPLE) - list(APPEND LIBIGL_INCLUDE_DIRS "${NANOGUI_DIR}/ext/glew/include") - list(APPEND LIBIGL_OPENGL_EXTRA_LIBRARIES "glew") - endif() - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_OPENGL_EXTRA_LIBRARIES}) - - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_OPENGL_EXTRA_LIBRARIES}) - - if(LIBIGL_WITH_OPENGL_GLFW) - set(GLFW_INCLUDE_DIRS "${NANOGUI_DIR}/ext/glfw/include") - if(NOT APPLE) - list(APPEND GLFW_INCLUDE_DIRS "${NANOGUI_DIR}/ext/glew/include") - endif() - - # Note: if add_subdirectory("${NANOGUI_DIR}" "nanogui") runs below it will - # add GLFW as a side-effect; in this case, CMake will complain about - # duplicates if we add them here. - if (NOT (LIBIGL_WITH_VIEWER AND LIBIGL_WITH_NANOGUI)) - add_subdirectory("${NANOGUI_DIR}/ext/glfw" "glfw") - endif() - set(LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES "glfw" ${GLFW_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("opengl/glfw" "") - target_include_directories(igl_opengl_glfw PRIVATE ${GLFW_INCLUDE_DIRS}) - target_include_directories(igl_opengl_glfw PRIVATE ${OPENGL_INCLUDE_DIR}) - if(NOT APPLE) - target_include_directories(igl_opengl PRIVATE "${NANOGUI_DIR}/ext/glew/include") - endif() - endif() - list(APPEND LIBIGL_INCLUDE_DIRS ${GLFW_INCLUDE_DIRS}) - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) - - ### Compile the viewer ### - if(LIBIGL_WITH_VIEWER) - if(LIBIGL_WITH_NANOGUI) - list(APPEND LIBIGL_DEFINITIONS "-DIGL_VIEWER_WITH_NANOGUI") - if (LIBIGL_WITH_PYTHON) - set(NANOGUI_BUILD_PYTHON ON CACHE BOOL " " FORCE) - else() - set(NANOGUI_BUILD_PYTHON OFF CACHE BOOL " " FORCE) - endif() - set(NANOGUI_BUILD_EXAMPLE OFF CACHE BOOL " " FORCE) - set(NANOGUI_BUILD_SHARED OFF CACHE BOOL " " FORCE) - add_subdirectory("${NANOGUI_DIR}" "nanogui") - set(VIEWER_INCLUDE_DIRS - "${NANOGUI_DIR}/include" - "${NANOGUI_DIR}/ext/nanovg/src") - set(LIBIGL_VIEWER_EXTRA_LIBRARIES "nanogui" ${NANOGUI_EXTRA_LIBS}) - else() - set(VIEWER_INCLUDE_DIRS "${NANOGUI_DIR}/ext/glfw/include") - endif() - list(APPEND VIEWER_INCLUDE_DIRS ${GLFW_INCLUDE_DIRS}) - list(APPEND LIBIGL_INCLUDE_DIRS ${VIEWER_INCLUDE_DIRS}) - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_VIEWER_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("viewer" "") - if(LIBIGL_WITH_NANOGUI) - target_compile_definitions(igl_viewer PRIVATE -DIGL_VIEWER_WITH_NANOGUI) - endif() - target_include_directories(igl_viewer PRIVATE ${VIEWER_INCLUDE_DIRS}) - if(NOT APPLE) - target_include_directories(igl_viewer PRIVATE "${NANOGUI_DIR}/ext/glew/include") - endif() - endif() - endif() - endif() - -endif() - -### Compile the png parts ### -if(LIBIGL_WITH_PNG) - if(LIBIGL_WITH_NANOGUI) - set(STBI_LOAD OFF CACHE BOOL " " FORCE) - endif() - set(STB_IMAGE_DIR "${LIBIGL_EXTERNAL}/stb_image") - add_subdirectory("${STB_IMAGE_DIR}" "stb_image") - list(APPEND LIBIGL_INCLUDE_DIRS ${STB_IMAGE_DIR}) - list(APPEND LIBIGL_PNG_EXTRA_LIBRARIES "stb_image") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_PNG_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("png" "") - target_include_directories(igl_png PRIVATE ${STB_IMAGE_DIR}) - if(NOT APPLE) - target_include_directories(igl_png PRIVATE "${NANOGUI_DIR}/ext/glew/include") - endif() - endif() -endif() - -### Compile the tetgen part ### -if(LIBIGL_WITH_TETGEN) - set(TETGEN_DIR "${LIBIGL_EXTERNAL}/tetgen") - add_subdirectory("${TETGEN_DIR}" "tetgen") - list(APPEND LIBIGL_INCLUDE_DIRS ${TETGEN_DIR}) - list(APPEND LIBIGL_TETGEN_EXTRA_LIBRARIES "tetgen") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_TETGEN_EXTRA_LIBRARIES}) - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("tetgen" "copyleft/") - target_include_directories(igl_tetgen PRIVATE ${TETGEN_DIR}) - endif() -endif() - -### Compile the triangle part ### -if(LIBIGL_WITH_TRIANGLE) - set(TRIANGLE_DIR "${LIBIGL_EXTERNAL}/triangle") - add_subdirectory("${TRIANGLE_DIR}" "triangle") - list(APPEND LIBIGL_INCLUDE_DIRS ${TRIANGLE_DIR}) - list(APPEND LIBIGL_TRIANGLE_EXTRA_LIBRARIES "triangle") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_TRIANGLE_EXTRA_LIBRARIES}) - - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("triangle" "") - target_include_directories(igl_triangle PRIVATE ${TRIANGLE_DIR}) - endif() -endif() - -### Compile the xml part ### -if(LIBIGL_WITH_XML) - set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") - add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) - set_target_properties(tinyxml2 PROPERTIES - COMPILE_DEFINITIONS "TINYXML2_EXPORT" - VERSION "3.0.0" - SOVERSION "3") - list(APPEND LIBIGL_INCLUDE_DIRS ${TINYXML2_DIR}) - list(APPEND LIBIGL_XML_EXTRA_LIBRARIES "tinyxml2") - list(APPEND LIBIGL_EXTRA_LIBRARIES ${LIBIGL_XML_EXTRA_LIBRARIES}) - if(LIBIGL_USE_STATIC_LIBRARY) - CompileIGL_Module("xml" "") - target_include_directories(igl_xml PRIVATE ${TINYXML2_DIR}) - endif() -endif() - -# Function to print list nicely -function(print_list title list) - message("-- ${title}:") - foreach(elt ${list}) - message("\t ${elt}") - endforeach() -endfunction() - -# Pass the list of compiled libraries to the parent if there is one -if(NOT ${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME}) - list(REVERSE LIBIGL_LIBRARIES) - - set(LIBIGL_INCLUDE_DIRS ${LIBIGL_INCLUDE_DIRS} PARENT_SCOPE) - set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_ANTTWEAKBAR_EXTRA_LIBRARIES ${LIBIGL_ANTTWEAKBAR_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_CGAL_EXTRA_LIBRARIES ${LIBIGL_CGAL_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_COMISO_EXTRA_LIBRARIES ${LIBIGL_COMISO_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_CORK_EXTRA_LIBRARIES ${LIBIGL_CORK_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_EMBREE_EXTRA_LIBRARIES ${LIBIGL_EMBREE_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_LIM_EXTRA_LIBRARIES ${LIBIGL_LIM_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_MATLAB_EXTRA_LIBRARIES ${LIBIGL_MATLAB_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_MOSEK_EXTRA_LIBRARIES ${LIBIGL_MOSEK_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_NANOGUI_EXTRA_LIBRARIES ${LIBIGL_NANOGUI_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_OPENGL_EXTRA_LIBRARIES ${LIBIGL_OPENGL_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_PNG_EXTRA_LIBRARIES ${LIBIGL_PNG_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_TETGEN_EXTRA_LIBRARIES ${LIBIGL_TETGEN_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_TRIANGLE_EXTRA_LIBRARIES ${LIBIGL_TRIANGLE_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_VIEWER_EXTRA_LIBRARIES ${LIBIGL_VIEWER_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_XML_EXTRA_LIBRARIES ${LIBIGL_XML_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_EXTRA_LIBRARIES ${LIBIGL_EXTRA_LIBRARIES} PARENT_SCOPE) - set(LIBIGL_DEFINITIONS ${LIBIGL_DEFINITIONS} PARENT_SCOPE) - - ### ligIGL information ### - print_list("libigl includes" "${LIBIGL_INCLUDE_DIRS}") - print_list("libigl libraries" "${LIBIGL_LIBRARIES}") - print_list("libigl extra libraries" "${LIBIGL_EXTRA_LIBRARIES}") - print_list("libigl definitions" "${LIBIGL_DEFINITIONS}") -endif() diff --git a/shared/cmake/CXXFeatures.cmake b/shared/cmake/CXXFeatures.cmake new file mode 100644 index 000000000..8689d0ae0 --- /dev/null +++ b/shared/cmake/CXXFeatures.cmake @@ -0,0 +1,85 @@ +################################################################################ + +if(NOT (${CMAKE_VERSION} VERSION_LESS "3.8.0")) + # For CMake 3.8 and above, we can use meta features directly provided by CMake itself + set(CXX11_FEATURES cxx_std_11) + set(CXX14_FEATURES cxx_std_14) + set(CXX17_FEATURES cxx_std_17) + return() +endif() + +################################################################################ + +set(CXX11_FEATURES + cxx_auto_type + cxx_constexpr +) + +set(CXX14_FEATURES + cxx_generic_lambdas +) + +set(CXX17_FEATURES + +) + +################################################################################ + +# https://cmake.org/cmake/help/v3.1/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html +# cxx_aggregate_default_initializers Aggregate default initializers, as defined in N3605. +# cxx_alias_templates Template aliases, as defined in N2258. +# cxx_alignas Alignment control alignas, as defined in N2341. +# cxx_alignof Alignment control alignof, as defined in N2341. +# cxx_attributes Generic attributes, as defined in N2761. +# cxx_attribute_deprecated deprecated]] attribute, as defined in N3760. +# cxx_auto_type Automatic type deduction, as defined in N1984. +# cxx_binary_literals Binary literals, as defined in N3472. +# cxx_constexpr Constant expressions, as defined in N2235. +# cxx_contextual_conversions Contextual conversions, as defined in N3323. +# cxx_decltype_incomplete_return_types Decltype on incomplete return types, as defined in N3276. +# cxx_decltype Decltype, as defined in N2343. +# cxx_decltype_auto decltype(auto) semantics, as defined in N3638. +# cxx_default_function_template_args Default template arguments for function templates, as defined in DR226 +# cxx_defaulted_functions Defaulted functions, as defined in N2346. +# cxx_defaulted_move_initializers Defaulted move initializers, as defined in N3053. +# cxx_delegating_constructors Delegating constructors, as defined in N1986. +# cxx_deleted_functions Deleted functions, as defined in N2346. +# cxx_digit_separators Digit separators, as defined in N3781. +# cxx_enum_forward_declarations Enum forward declarations, as defined in N2764. +# cxx_explicit_conversions Explicit conversion operators, as defined in N2437. +# cxx_extended_friend_declarations Extended friend declarations, as defined in N1791. +# cxx_extern_templates Extern templates, as defined in N1987. +# cxx_final Override control final keyword, as defined in N2928, N3206 and N3272. +# cxx_func_identifier Predefined __func__ identifier, as defined in N2340. +# cxx_generalized_initializers Initializer lists, as defined in N2672. +# cxx_generic_lambdas Generic lambdas, as defined in N3649. +# cxx_inheriting_constructors Inheriting constructors, as defined in N2540. +# cxx_inline_namespaces Inline namespaces, as defined in N2535. +# cxx_lambdas Lambda functions, as defined in N2927. +# cxx_lambda_init_captures Initialized lambda captures, as defined in N3648. +# cxx_local_type_template_args Local and unnamed types as template arguments, as defined in N2657. +# cxx_long_long_type long long type, as defined in N1811. +# cxx_noexcept Exception specifications, as defined in N3050. +# cxx_nonstatic_member_init Non-static data member initialization, as defined in N2756. +# cxx_nullptr Null pointer, as defined in N2431. +# cxx_override Override control override keyword, as defined in N2928, N3206 and N3272. +# cxx_range_for Range-based for, as defined in N2930. +# cxx_raw_string_literals Raw string literals, as defined in N2442. +# cxx_reference_qualified_functions Reference qualified functions, as defined in N2439. +# cxx_relaxed_constexpr Relaxed constexpr, as defined in N3652. +# cxx_return_type_deduction Return type deduction on normal functions, as defined in N3386. +# cxx_right_angle_brackets Right angle bracket parsing, as defined in N1757. +# cxx_rvalue_references R-value references, as defined in N2118. +# cxx_sizeof_member Size of non-static data members, as defined in N2253. +# cxx_static_assert Static assert, as defined in N1720. +# cxx_strong_enums Strongly typed enums, as defined in N2347. +# cxx_thread_local Thread-local variables, as defined in N2659. +# cxx_trailing_return_types Automatic function return type, as defined in N2541. +# cxx_unicode_literals Unicode string literals, as defined in N2442. +# cxx_uniform_initialization Uniform initialization, as defined in N2640. +# cxx_unrestricted_unions Unrestricted unions, as defined in N2544. +# cxx_user_literals User-defined literals, as defined in N2765. +# cxx_variable_templates Variable templates, as defined in N3651. +# cxx_variadic_macros Variadic macros, as defined in N1653. +# cxx_variadic_templates Variadic templates, as defined in N2242. +# cxx_template_template_parameters Template template parameters, as defined in ISO/IEC 14882:1998. diff --git a/shared/cmake/FindCGAL.cmake b/shared/cmake/FindCGAL.cmake index bc9900f74..66ba6a9c6 100644 --- a/shared/cmake/FindCGAL.cmake +++ b/shared/cmake/FindCGAL.cmake @@ -13,27 +13,27 @@ # Construct consitent error messages for use below. set(CGAL_DIR_DESCRIPTION "directory containing CGALConfig.cmake. This is either the binary directory where CGAL was configured or PREFIX/lib/CGAL for an installation.") set(CGAL_DIR_MESSAGE "CGAL not found. Set the CGAL_DIR cmake variable or environment variable to the ${CGAL_DIR_DESCRIPTION}") - + set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) - + if ( NOT CGAL_DIR ) - + # Get the system search path as a list. if(UNIX) string(REGEX MATCHALL "[^:]+" CGAL_DIR_SEARCH1 "$ENV{PATH}") else() string(REGEX REPLACE "\\\\" "/" CGAL_DIR_SEARCH1 "$ENV{PATH}") endif() - + string(REGEX REPLACE "/;" ";" CGAL_DIR_SEARCH2 "${CGAL_DIR_SEARCH1}") # Construct a set of paths relative to the system search path. set(CGAL_DIR_SEARCH "") - + foreach(dir ${CGAL_DIR_SEARCH2}) - + set(CGAL_DIR_SEARCH ${CGAL_DIR_SEARCH} ${dir}/../lib/CGAL ) - + endforeach() @@ -41,6 +41,8 @@ if ( NOT CGAL_DIR ) # Look for an installation or build tree. # find_path(CGAL_DIR CGALConfig.cmake + # Look for CGAL in 'external/' folder + "${CMAKE_CURRENT_LIST_DIR}/../../external/cgal/lib/CGAL" # Look for an environment variable CGAL_DIR. $ENV{CGAL_DIR} @@ -70,11 +72,11 @@ if ( NOT CGAL_DIR ) # Help the user find it if we cannot. DOC "The ${CGAL_DIR_DESCRIPTION}" ) - + endif() if ( CGAL_DIR ) - + if ( EXISTS "${CGAL_DIR}/CGALConfig.cmake" ) include( "${CGAL_DIR}/CGALConfig.cmake" ) set( CGAL_FOUND TRUE ) diff --git a/shared/cmake/FindMATLAB.cmake b/shared/cmake/FindMATLAB.cmake deleted file mode 100644 index 4d7814b63..000000000 --- a/shared/cmake/FindMATLAB.cmake +++ /dev/null @@ -1,216 +0,0 @@ -# - this module looks for Matlab -# Defines: -# MATLAB_INCLUDE_DIR: include path for mex.h, engine.h -# MATLAB_LIBRARIES: required libraries: libmex, etc -# MATLAB_MEX_LIBRARY: path to libmex.lib -# MATLAB_MX_LIBRARY: path to libmx.lib -# MATLAB_MAT_LIBRARY: path to libmat.lib # added -# MATLAB_ENG_LIBRARY: path to libeng.lib -# MATLAB_ROOT: path to Matlab's root directory - -# This file is part of Gerardus -# -# This is a derivative work of file FindMatlab.cmake released with -# CMake v2.8, because the original seems to be a bit outdated and -# doesn't work with my Windows XP and Visual Studio 10 install -# -# (Note that the original file does work for Ubuntu Natty) -# -# Author: Ramon Casero , Tom Doel -# Version: 0.2.3 -# $Rev$ -# $Date$ -# -# The original file was copied from an Ubuntu Linux install -# /usr/share/cmake-2.8/Modules/FindMatlab.cmake - -#============================================================================= -# Copyright 2005-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -SET(MATLAB_FOUND 0) -IF(WIN32) - # Search for a version of Matlab available, starting from the most modern one to older versions - FOREACH(MATVER "7.14" "7.11" "7.17" "7.10" "7.9" "7.8" "7.7" "7.6" "7.5" "7.4" "8.0" "8.1" "8.2" "8.3" "8.4" "8.5") - IF((NOT DEFINED MATLAB_ROOT) - OR ("${MATLAB_ROOT}" STREQUAL "") - OR ("${MATLAB_ROOT}" STREQUAL "/registry")) - GET_FILENAME_COMPONENT(MATLAB_ROOT - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\${MATVER};MATLABROOT]" - ABSOLUTE) - SET(MATLAB_VERSION ${MATVER}) - ENDIF((NOT DEFINED MATLAB_ROOT) - OR ("${MATLAB_ROOT}" STREQUAL "") - OR ("${MATLAB_ROOT}" STREQUAL "/registry")) - ENDFOREACH(MATVER) - - # Directory name depending on whether the Windows architecture is 32 - # bit or 64 bit - set(CMAKE_SIZEOF_VOID_P 8) # Note: For some weird reason this variable is undefined in my system... - IF(CMAKE_SIZEOF_VOID_P MATCHES "4") - SET(WINDIR "win32") - ELSEIF(CMAKE_SIZEOF_VOID_P MATCHES "8") - SET(WINDIR "win64") - ELSE(CMAKE_SIZEOF_VOID_P MATCHES "4") - MESSAGE(FATAL_ERROR - "CMAKE_SIZEOF_VOID_P (${CMAKE_SIZEOF_VOID_P}) doesn't indicate a valid platform") - ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "4") - - # Folder where the MEX libraries are, depending of the Windows compiler - IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6") - SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/msvc60") - ELSEIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 7") - # Assume people are generally using Visual Studio 7.1, - # if using 7.0 need to link to: ../extern/lib/${WINDIR}/microsoft/msvc70 - SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/msvc71") - # SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/msvc70") - ELSEIF(${CMAKE_GENERATOR} MATCHES "Borland") - # Assume people are generally using Borland 5.4, - # if using 7.0 need to link to: ../extern/lib/${WINDIR}/microsoft/msvc70 - SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/bcc54") - # SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/bcc50") - # SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/bcc51") - ELSEIF(${CMAKE_GENERATOR} MATCHES "Visual Studio*") - # If the compiler is Visual Studio, but not any of the specific - # versions above, we try our luck with the microsoft directory - SET(MATLAB_LIBRARIES_DIR "${MATLAB_ROOT}/extern/lib/${WINDIR}/microsoft/") - ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6") - MESSAGE(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}") - ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6") - - # Get paths to the Matlab MEX libraries - FIND_LIBRARY(MATLAB_MEX_LIBRARY - libmex - ${MATLAB_LIBRARIES_DIR} - ) - FIND_LIBRARY(MATLAB_MX_LIBRARY - libmx - ${MATLAB_LIBRARIES_DIR} - ) - FIND_LIBRARY(MATLAB_MAT_LIBRARY - libmat - ${MATLAB_LIBRARIES_DIR} - ) - FIND_LIBRARY(MATLAB_ENG_LIBRARY - libeng - ${MATLAB_LIBRARIES_DIR} - ) - - # Get path to the include directory - FIND_PATH(MATLAB_INCLUDE_DIR - "mex.h" - "${MATLAB_ROOT}/extern/include" - ) - -ELSE(WIN32) - - IF((NOT DEFINED MATLAB_ROOT) - OR ("${MATLAB_ROOT}" STREQUAL "")) - # get path to the Matlab root directory - EXECUTE_PROCESS( - COMMAND which matlab - COMMAND xargs readlink - COMMAND xargs dirname - COMMAND xargs dirname - COMMAND xargs echo -n - OUTPUT_VARIABLE MATLAB_ROOT - ) - ENDIF((NOT DEFINED MATLAB_ROOT) - OR ("${MATLAB_ROOT}" STREQUAL "")) - - # Check if this is a Mac - IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - - SET(LIBRARY_EXTENSION .dylib) - - # If this is a Mac and the attempts to find MATLAB_ROOT have so far failed, - # we look in the applications folder - IF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL "")) - - # Search for a version of Matlab available, starting from the most modern one to older versions - FOREACH(MATVER "R2017b" "R2017a" "R2016b" "R2016a" "R2015b" "R2015a" "R2014b" "R2014a" "R2014a" "R2013b" "R2013a" "R2012b" "R2012a" "R2011b" "R2011a" "R2010b" "R2010a" "R2009b" "R2009a" "R2008b") - IF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL "")) - IF(EXISTS /Applications/MATLAB_${MATVER}.app) - SET(MATLAB_ROOT /Applications/MATLAB_${MATVER}.app) - - ENDIF(EXISTS /Applications/MATLAB_${MATVER}.app) - ENDIF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL "")) - ENDFOREACH(MATVER) - - ENDIF((NOT DEFINED MATLAB_ROOT) OR ("${MATLAB_ROOT}" STREQUAL "")) - - ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - SET(LIBRARY_EXTENSION .so) - - ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - - # Get path to the MEX libraries - EXECUTE_PROCESS( - #COMMAND find "${MATLAB_ROOT}/extern/lib" -name libmex${LIBRARY_EXTENSION} # Peter - COMMAND find "${MATLAB_ROOT}/bin" -name libmex${LIBRARY_EXTENSION} # Standard - COMMAND xargs echo -n - OUTPUT_VARIABLE MATLAB_MEX_LIBRARY - ) - EXECUTE_PROCESS( - #COMMAND find "${MATLAB_ROOT}/extern/lib" -name libmx${LIBRARY_EXTENSION} # Peter - COMMAND find "${MATLAB_ROOT}/bin" -name libmx${LIBRARY_EXTENSION} # Standard - COMMAND xargs echo -n - OUTPUT_VARIABLE MATLAB_MX_LIBRARY - ) - EXECUTE_PROCESS( - #COMMAND find "${MATLAB_ROOT}/extern/lib" -name libmat${LIBRARY_EXTENSION} # Peter - COMMAND find "${MATLAB_ROOT}/bin" -name libmat${LIBRARY_EXTENSION} # Standard - COMMAND xargs echo -n - OUTPUT_VARIABLE MATLAB_MAT_LIBRARY - ) - EXECUTE_PROCESS( - #COMMAND find "${MATLAB_ROOT}/extern/lib" -name libeng${LIBRARY_EXTENSION} # Peter - COMMAND find "${MATLAB_ROOT}/bin" -name libeng${LIBRARY_EXTENSION} # Standard - COMMAND xargs echo -n - OUTPUT_VARIABLE MATLAB_ENG_LIBRARY - ) - - # Get path to the include directory - FIND_PATH(MATLAB_INCLUDE_DIR - "mex.h" - PATHS "${MATLAB_ROOT}/extern/include" - ) - -ENDIF(WIN32) - -if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - set(MATLAB_LIBSTDCPP "-lstdc++") -endif () - - -# This is common to UNIX and Win32: -SET(MATLAB_LIBRARIES - ${MATLAB_LIBSTDCPP} - ${MATLAB_MAT_LIBRARY} - ${MATLAB_MEX_LIBRARY} - ${MATLAB_MX_LIBRARY} - ${MATLAB_ENG_LIBRARY} -) - -IF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES) - SET(MATLAB_FOUND 1) -ENDIF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES) - -MARK_AS_ADVANCED( - MATLAB_LIBRARIES - MATLAB_MEX_LIBRARY - MATLAB_MX_LIBRARY - MATLAB_ENG_LIBRARY - MATLAB_INCLUDE_DIR - MATLAB_FOUND - MATLAB_ROOT -) diff --git a/shared/cmake/FindMOSEK.cmake b/shared/cmake/FindMOSEK.cmake index 70d6308b7..87f9640ab 100644 --- a/shared/cmake/FindMOSEK.cmake +++ b/shared/cmake/FindMOSEK.cmake @@ -7,26 +7,35 @@ # MOSEK_LIBRARIES - Link these to use MOSEK # -FIND_PATH(MOSEK_INCLUDE_DIR mosek.h - PATHS - /usr/local/mosek/7/tools/platform/osx64x86/h/ - /usr/local/mosek/8/tools/platform/osx64x86/h/ - ) +# Hardcoded search paths +set(SEARCH_PATHS + /usr/local/mosek/7/tools/platform/osx64x86/ + /usr/local/mosek/8/tools/platform/osx64x86/ + /opt/mosek/7/tools/platform/linux64x86/ +) -SET(SEARCH_PATHS "${MOSEK_INCLUDE_DIR}" "${MOSEK_INCLUDE_DIR}/../bin" "${MOSEK_INCLUDE_DIR}/lib") +find_path(MOSEK_INCLUDE_DIR mosek.h + PATHS ${SEARCH_PATHS} + PATH_SUFFIXES h +) set(MOSEK_LIBRARIES) -FIND_LIBRARY(MOSEK_LIBRARIES NAMES mosek64 PATHS ${SEARCH_PATHS} NO_DEFAULT_PATH DPATH_SUFFIXES a lib dylib) +find_library(MOSEK_LIBRARIES NAMES mosek64 + HINT + "${MOSEK_INCLUDE_DIR}" + "${MOSEK_INCLUDE_DIR}/../bin" + "${MOSEK_INCLUDE_DIR}/lib" + PATHS + ${SEARCH_PATHS} + NO_DEFAULT_PATH + PATH_SUFFIXES a bin lib dylib) -if(MOSEK_LIBRARIES AND MOSEK_INCLUDE_DIR) -message(STATUS "Found mosek: ${MOSEK_LIBRARIES}") -set(MOSEK_FOUND TRUE) -endif(MOSEK_LIBRARIES AND MOSEK_INCLUDE_DIR) +# Check that Mosek was successfully found +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + MOSEK DEFAULT_MSG MOSEK_LIBRARIES MOSEK_INCLUDE_DIR +) +set(MOSEK_INCLUDE_DIRS ${MOSEK_INCLUDE_DIR}) -IF (MOSEK_FOUND) - message(STATUS "Found MOSEK: ${MOSEK_INCLUDE_DIR}") - SET(MOSEK_INCLUDE_DIRS ${MOSEK_INCLUDE_DIR} ) -ELSE (MOSEK_FOUND) - #add_definitions(-DIGL_NO_MOSEK) - #message(WARNING "could NOT find MOSEK") -ENDIF (MOSEK_FOUND) +# Hide variables from CMake-Gui options +mark_as_advanced(MOSEK_LIBRARIES MOSEK_INCLUDE_DIRS MOSEK_INCLUDE_DIR) diff --git a/shared/cmake/libigl.cmake b/shared/cmake/libigl.cmake new file mode 100644 index 000000000..fb41207b2 --- /dev/null +++ b/shared/cmake/libigl.cmake @@ -0,0 +1,389 @@ +cmake_minimum_required(VERSION 3.1) + +### Find packages to populate default options ### +# +# COMPONENTS should match subsequent calls +find_package(CGAL COMPONENTS Core) # --> CGAL_FOUND +find_package(Boost 1.48 COMPONENTS thread system) # --> BOOST_FOUND +if(CGAL_FOUND AND BOOST_FOUND) + set(CGAL_AND_BOOST_FOUND TRUE) +endif() +find_package(Matlab COMPONENTS MEX_COMPILER MX_LIBRARY ENG_LIBRARY) # --> Matlab_FOUND +find_package(MOSEK) # --> MOSEK_FOUND +find_package(OpenGL) # --> OPENGL_FOUND + +### Available options ### +option(LIBIGL_USE_STATIC_LIBRARY "Use libigl as static library" OFF) +option(LIBIGL_WITH_ANTTWEAKBAR "Use AntTweakBar" OFF) +option(LIBIGL_WITH_CGAL "Use CGAL" "${CGAL_AND_BOOST_FOUND}") +option(LIBIGL_WITH_COMISO "Use CoMiso" ON) +option(LIBIGL_WITH_CORK "Use Cork" OFF) +option(LIBIGL_WITH_EMBREE "Use Embree" OFF) +option(LIBIGL_WITH_LIM "Use LIM" ON) +option(LIBIGL_WITH_MATLAB "Use Matlab" "${Matlab_FOUND}") +option(LIBIGL_WITH_MOSEK "Use MOSEK" "${MOSEK_FOUND}") +option(LIBIGL_WITH_OPENGL "Use OpenGL" "${OPENGL_FOUND}") +option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" "${OPENGL_FOUND}") +option(LIBIGL_WITH_OPENGL_GLFW_IMGUI "Use ImGui" OFF) +option(LIBIGL_WITH_PNG "Use PNG" ON) +option(LIBIGL_WITH_TETGEN "Use Tetgen" ON) +option(LIBIGL_WITH_TRIANGLE "Use Triangle" ON) +option(LIBIGL_WITH_VIEWER "Use OpenGL viewer" "${OPENGL_FOUND}") +option(LIBIGL_WITH_XML "Use XML" ON) +option(LIBIGL_WITH_PYTHON "Use Python" OFF) + +if(LIBIGL_WITH_VIEWER AND (NOT LIBIGL_WITH_OPENGL_GLFW OR NOT LIBIGL_WITH_OPENGL) ) + message(FATAL_ERROR "LIBIGL_WITH_VIEWER=ON requires LIBIGL_WITH_OPENGL_GLFW=ON and LIBIGL_WITH_OPENGL=ON") +endif() + +################################################################################ + +### Configuration +set(LIBIGL_ROOT "${CMAKE_CURRENT_LIST_DIR}/../..") +set(LIBIGL_SOURCE_DIR "${LIBIGL_ROOT}/include") +set(LIBIGL_EXTERNAL "${LIBIGL_ROOT}/external") + +# Dependencies are linked as INTERFACE targets unless libigl is compiled as a static library +if(LIBIGL_USE_STATIC_LIBRARY) + set(IGL_SCOPE PUBLIC) +else() + set(IGL_SCOPE INTERFACE) +endif() + +################################################################################ +### IGL Common +################################################################################ + +add_library(igl_common INTERFACE) +target_include_directories(igl_common SYSTEM INTERFACE ${LIBIGL_SOURCE_DIR}) +if(LIBIGL_USE_STATIC_LIBRARY) + target_compile_definitions(igl_common INTERFACE -DIGL_STATIC_LIBRARY) +endif() + +# Transitive C++11 flags +include(CXXFeatures) +target_compile_features(igl_common INTERFACE ${CXX11_FEATURES}) + +# Other compilation flags +if(MSVC) + # Enable parallel compilation for Visual Studio + target_compile_options(igl_common INTERFACE /MP /bigobj) + if(LIBIGL_WITH_CGAL) + target_compile_options(igl_common INTERFACE "/MD$<$:d>") + endif() +endif() + +if(BUILD_SHARED_LIBS) + # Generate position independent code + set_target_properties(igl_common PROPERTIES INTERFACE_POSITION_INDEPENDENT_CODE ON) +endif() + +# Eigen +if(TARGET Eigen3::Eigen) + # If an imported target already exists, use it + target_link_libraries(igl_common INTERFACE Eigen3::Eigen) +else() + target_include_directories(igl_common SYSTEM INTERFACE ${LIBIGL_EXTERNAL}/eigen) +endif() + +# C++11 Thread library +find_package(Threads REQUIRED) +target_link_libraries(igl_common INTERFACE ${CMAKE_THREAD_LIBS_INIT}) + +################################################################################ + +function(compile_igl_module module_dir) + string(REPLACE "/" "_" module_name "${module_dir}") + if(LIBIGL_USE_STATIC_LIBRARY) + file(GLOB SOURCES_IGL_${module_name} + "${LIBIGL_SOURCE_DIR}/igl/${module_dir}/*.cpp" + "${LIBIGL_SOURCE_DIR}/igl/copyleft/${module_dir}/*.cpp") + add_library(igl_${module_name} STATIC ${SOURCES_IGL_${module_name}} ${ARGN}) + if(MSVC) + target_compile_options(igl_${module_name} PRIVATE /w) # disable all warnings (not ideal but...) + else() + #target_compile_options(igl_${module_name} PRIVATE -w) # disable all warnings (not ideal but...) + endif() + else() + add_library(igl_${module_name} INTERFACE) + endif() + + target_link_libraries(igl_${module_name} ${IGL_SCOPE} igl_common) + if(NOT module_name STREQUAL "core") + target_link_libraries(igl_${module_name} ${IGL_SCOPE} igl_core) + endif() + + # Alias target because it looks nicer + message(STATUS "Creating target: igl::${module_name}") + add_library(igl::${module_name} ALIAS igl_${module_name}) +endfunction() + +################################################################################ +### IGL Core +################################################################################ + +if(LIBIGL_USE_STATIC_LIBRARY) + file(GLOB SOURCES_IGL + "${LIBIGL_SOURCE_DIR}/igl/*.cpp" + "${LIBIGL_SOURCE_DIR}/igl/copyleft/*.cpp") +endif() +compile_igl_module("core" ${SOURCES_IGL}) + +################################################################################ +## Compile the AntTweakBar part ### +if(LIBIGL_WITH_ANTTWEAKBAR) + set(ANTTWEAKBAR_DIR "${LIBIGL_EXTERNAL}/AntTweakBar") + if(NOT TARGET AntTweakBar) + add_subdirectory("${ANTTWEAKBAR_DIR}" AntTweakBar) + endif() + compile_igl_module("anttweakbar") + target_link_libraries(igl_anttweakbar ${IGL_SCOPE} AntTweakBar) +endif() + +################################################################################ +### Compile the cgal parts ### +if(LIBIGL_WITH_CGAL) + # CGAL Core is needed for + # `Exact_predicates_exact_constructions_kernel_with_sqrt` + if(EXISTS ${LIBIGL_EXTERNAL}/boost) + set(BOOST_ROOT "${LIBIGL_EXTERNAL}/boost") + endif() + find_package(CGAL COMPONENTS Core) + if(CGAL_FOUND) + compile_igl_module("cgal") + if(WIN32) + set(Boost_USE_STATIC_LIBS ON) # Favor static Boost libs on Windows + endif() + target_include_directories(igl_cgal ${IGL_SCOPE} "${GMP_INCLUDE_DIR}" "${MPFR_INCLUDE_DIR}") + find_package(Boost 1.48 REQUIRED thread system) + target_include_directories(igl_cgal ${IGL_SCOPE} ${CGAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + target_link_libraries(igl_cgal ${IGL_SCOPE} CGAL::CGAL CGAL::CGAL_Core ${Boost_LIBRARIES}) + else() + set(LIBIGL_WITH_CGAL OFF CACHE BOOL "" FORCE) + endif() +endif() + +# Helper function for `igl_copy_cgal_dll()` +function(igl_copy_imported_dll src_target dst_target) + get_target_property(configurations ${src_target} IMPORTED_CONFIGURATIONS) + foreach(config ${configurations}) + get_target_property(main_lib ${src_target} IMPORTED_LOCATION_${config}) + get_target_property(other_libs ${src_target} IMPORTED_LINK_INTERFACE_LIBRARIES_${config}) + set(locations) + list(APPEND locations ${main_lib} ${other_libs}) + foreach(location ${locations}) + string(REGEX MATCH "^(.*)\\.[^.]*$" dummy ${location}) + set(location "${CMAKE_MATCH_1}.dll") + if(EXISTS "${location}" AND location MATCHES "^.*\\.dll$") + add_custom_command(TARGET ${dst_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${location}" $) + endif() + endforeach() + endforeach() +endfunction() + +# Convenient functions to copy CGAL dlls into a target (executable) destination folder (for Windows) +function(igl_copy_cgal_dll target) + if(WIN32 AND LIBIGL_WITH_CGAL) + igl_copy_imported_dll(CGAL::CGAL ${target}) + igl_copy_imported_dll(CGAL::CGAL_Core ${target}) + endif() +endfunction() + +################################################################################ +# Compile CoMISo +# NOTE: this cmakefile works only with the +# comiso available here: https://github.com/libigl/CoMISo +if(LIBIGL_WITH_COMISO) + compile_igl_module("comiso") + if(NOT TARGET CoMISo) + add_subdirectory("${LIBIGL_EXTERNAL}/CoMISo" CoMISo) + endif() + target_link_libraries(igl_comiso ${IGL_SCOPE} CoMISo) +endif() + +################################################################################ +### Compile the cork parts ### +if(LIBIGL_WITH_CORK) + set(CORK_DIR "${LIBIGL_EXTERNAL}/cork") + if(NOT TARGET cork) + # call this "lib-cork" instead of "cork", otherwise cmake gets confused about + # "cork" executable + add_subdirectory("${CORK_DIR}" "lib-cork") + endif() + compile_igl_module("cork") + target_include_directories(igl_cork ${IGL_SCOPE} cork) + target_include_directories(igl_cork ${IGL_SCOPE} "${CORK_DIR}/src") +endif() + +################################################################################ +### Compile the embree part ### +if(LIBIGL_WITH_EMBREE) + set(EMBREE_DIR "${LIBIGL_EXTERNAL}/embree") + + set(EMBREE_ISPC_SUPPORT OFF CACHE BOOL " " FORCE) + set(EMBREE_TASKING_SYSTEM "INTERNAL" CACHE BOOL " " FORCE) + set(EMBREE_TUTORIALS OFF CACHE BOOL " " FORCE) + set(EMBREE_MAX_ISA NONE CACHE STRINGS " " FORCE) + + # set(ENABLE_INSTALLER OFF CACHE BOOL " " FORCE) + if(MSVC) + # set(EMBREE_STATIC_RUNTIME OFF CACHE BOOL " " FORCE) + set(EMBREE_STATIC_LIB OFF CACHE BOOL " " FORCE) + else() + set(EMBREE_STATIC_LIB ON CACHE BOOL " " FORCE) + endif() + + if(NOT TARGET embree) + add_subdirectory("${EMBREE_DIR}" "embree") + endif() + + if(MSVC) + add_custom_target(Copy-Embree-DLL ALL # Adds a post-build event + COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake - E + $ # <--this is in-file + "${CMAKE_BINARY_DIR}" # <--this is out-file path + DEPENDS embree) # Execute after embree target has been built + endif() + + compile_igl_module("embree") + target_link_libraries(igl_embree ${IGL_SCOPE} embree) + target_include_directories(igl_embree ${IGL_SCOPE} ${EMBREE_DIR}/include) + if(NOT MSVC) + target_compile_definitions(igl_embree ${IGL_SCOPE} -DENABLE_STATIC_LIB) + endif() +endif() + +################################################################################ +### Compile the lim part ### +if(LIBIGL_WITH_LIM) + set(LIM_DIR "${LIBIGL_EXTERNAL}/lim") + if(NOT TARGET lim) + add_subdirectory("${LIM_DIR}" "lim") + endif() + compile_igl_module("lim") + target_link_libraries(igl_lim ${IGL_SCOPE} lim) + target_include_directories(igl_lim ${IGL_SCOPE} ${LIM_DIR}) +endif() + +################################################################################ +### Compile the matlab part ### +if(LIBIGL_WITH_MATLAB) + find_package(Matlab REQUIRED COMPONENTS MEX_COMPILER MX_LIBRARY ENG_LIBRARY) + compile_igl_module("matlab") + target_link_libraries(igl_matlab ${IGL_SCOPE} ${Matlab_LIBRARIES}) + target_include_directories(igl_matlab ${IGL_SCOPE} ${Matlab_INCLUDE_DIRS}) +endif() + +################################################################################ +### Compile the mosek part ### +if(LIBIGL_WITH_MOSEK) + find_package(MOSEK REQUIRED) + compile_igl_module("mosek") + target_link_libraries(igl_mosek ${IGL_SCOPE} ${MOSEK_LIBRARIES}) + target_include_directories(igl_mosek ${IGL_SCOPE} ${MOSEK_INCLUDE_DIRS}) + target_compile_definitions(igl_mosek ${IGL_SCOPE} -DLIBIGL_WITH_MOSEK) +endif() + +################################################################################ +### Compile the opengl parts ### + +if(LIBIGL_WITH_OPENGL) + # OpenGL module + find_package(OpenGL REQUIRED) + compile_igl_module("opengl") + target_link_libraries(igl_opengl ${IGL_SCOPE} ${OPENGL_gl_LIBRARY}) + target_include_directories(igl_opengl SYSTEM ${IGL_SCOPE} ${OPENGL_INCLUDE_DIR}) + + # glad module + if(NOT TARGET glad) + add_subdirectory(${LIBIGL_EXTERNAL}/glad glad) + endif() + target_link_libraries(igl_opengl ${IGL_SCOPE} glad) +endif() + +################################################################################ +### Compile the GLFW part ### + +if(LIBIGL_WITH_OPENGL_GLFW) + if(TARGET igl::opengl) + # GLFW module + compile_igl_module("opengl/glfw") + if(NOT TARGET glfw) + set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE) + set(GLFW_BUILD_TESTS OFF CACHE BOOL " " FORCE) + set(GLFW_BUILD_DOCS OFF CACHE BOOL " " FORCE) + set(GLFW_INSTALL OFF CACHE BOOL " " FORCE) + add_subdirectory(${LIBIGL_EXTERNAL}/glfw glfw) + endif() + target_link_libraries(igl_opengl_glfw ${IGL_SCOPE} igl_opengl glfw) + endif() +endif() + +################################################################################ +### Compile the ImGui part ### + +if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) + if(TARGET igl::opengl_glfw) + # ImGui module + compile_igl_module("opengl/glfw/imgui") + if(NOT TARGET imgui) + add_subdirectory(${LIBIGL_EXTERNAL}/imgui imgui) + endif() + target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui) + endif() +endif() + +################################################################################ +### Compile the png part ### +if(LIBIGL_WITH_PNG) + # png/ module is anomalous because it also depends on opengl it really should + # be moved into the opengl/ directory and namespace ... + if(TARGET igl_opengl) + set(STB_IMAGE_DIR "${LIBIGL_EXTERNAL}/stb_image") + if(NOT TARGET stb_image) + add_subdirectory("${STB_IMAGE_DIR}" "stb_image") + endif() + compile_igl_module("png" "") + target_link_libraries(igl_png ${IGL_SCOPE} igl_stb_image igl_opengl) + endif() +endif() + +################################################################################ +### Compile the tetgen part ### +if(LIBIGL_WITH_TETGEN) + set(TETGEN_DIR "${LIBIGL_EXTERNAL}/tetgen") + if(NOT TARGET tetgen) + add_subdirectory("${TETGEN_DIR}" "tetgen") + endif() + compile_igl_module("tetgen") + target_link_libraries(igl_tetgen ${IGL_SCOPE} tetgen) + target_include_directories(igl_tetgen ${IGL_SCOPE} ${TETGEN_DIR}) +endif() + +################################################################################ +### Compile the triangle part ### +if(LIBIGL_WITH_TRIANGLE) + set(TRIANGLE_DIR "${LIBIGL_EXTERNAL}/triangle") + if(NOT TARGET triangle) + add_subdirectory("${TRIANGLE_DIR}" "triangle") + endif() + compile_igl_module("triangle") + target_link_libraries(igl_triangle ${IGL_SCOPE} triangle) + target_include_directories(igl_triangle ${IGL_SCOPE} ${TRIANGLE_DIR}) +endif() + +################################################################################ +### Compile the xml part ### +if(LIBIGL_WITH_XML) + set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") + if(NOT TARGET tinyxml2) + add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) + target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR}) + set_target_properties(tinyxml2 PROPERTIES + COMPILE_DEFINITIONS "TINYXML2_EXPORT" + VERSION "3.0.0" + SOVERSION "3") + endif() + compile_igl_module("xml") + target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2) +endif() diff --git a/style-guidelines.html b/style-guidelines.html index 415b904cb..e81d7af75 100644 --- a/style-guidelines.html +++ b/style-guidelines.html @@ -1,14 +1,11 @@ - + libigl - - - - + @@ -18,7 +15,7 @@ style guidelines for developers of the library, but also acts as best-practices for users.

      -

      One function, one .h/.cpp pair

      +

      One function, one .h/.cpp pair

      The structure of libigl is very flat and function-based. For every function/sub-routine, create a single .h and .cpp file. For example, if you have @@ -61,7 +58,7 @@ namespace igl } #ifndef IGL_STATIC_LIBRARY -# include "example_fun.cpp" +#include "example_fun.cpp" #endif #endif @@ -185,21 +182,21 @@ Eigen::SparseMatrix<Atype> adjacency_matrix(const ... & F);

      Templating with Eigen

      Functions taking Eigen dense matrices/arrays as inputs and outputs (but not -return arguments), should template on top of Eigen::PlainObjectBase. Each +return arguments), should template on top of Eigen::MatrixBase. Each parameter should be derived using its own template.

      For example,

      template <typename DerivedV, typename DerivedF, typename DerivedBC>
       void barycenter(
      -  const Eigen::PlainObjectBase<DerivedV> & V,
      -  const Eigen::PlainObjectBase<DerivedF> & F,
      -  const Eigen::PlainObjectBase<DerivedBC> & BC);
      +  const Eigen::MatrixBase<DerivedV> & V,
      +  const Eigen::MatrixBase<DerivedF> & F,
      +  const Eigen::MatrixBase<DerivedBC> & BC);
       

      The Derived* template encodes the scalar type (e.g. double, int), the number of rows and cols at compile time, and the data storage (Row-major vs. -column-major).

      +column-major).

      Returning Eigen types is discouraged. In cases where the size and scalar type are a fixed and matching function of an input Derived* template, then @@ -219,7 +216,7 @@ output-argument version and call that. So a full implementation looks like:

      template <typename DerivedV, typename DerivedW>
       void fit_to_unit_cube(
      -  const Eigen::PlainObjectBase<DerivedV> & V,
      +  const Eigen::MatrixBase<DerivedV> & V,
         Eigen::PlainObjectBase<DerivedW> & W);
       template <typename DerivedV>
       void DerivedV fit_to_unit_cube(const Eigen::PlainObjectBase<DerivedV> & V);
      @@ -229,7 +226,7 @@ void DerivedV fit_to_unit_cube(const Eigen::PlainObjectBase<DerivedV> &
       
       
      template <typename DerivedV, typename DerivedW>
       void fit_to_unit_cube(
      -  const Eigen::PlainObjectBase<DerivedV> & V,
      +  const Eigen::MatrixBase<DerivedV> & V,
         Eigen::PlainObjectBase<DerivedW> & W)
       {
         W = (V.rowwise()-V.colwise().minCoeff()).array() /
      @@ -237,7 +234,7 @@ void fit_to_unit_cube(
       }
       
       template <typename DerivedV>
      -void DerivedV fit_to_unit_cube(const Eigen::PlainObjectBase<DerivedV> & V)
      +void DerivedV fit_to_unit_cube(const Eigen::MatrixBase<DerivedV> & V)
       {
         DerivedV W;
         fit_to_unit_cube(V,W);
      @@ -274,7 +271,7 @@ to mean a list of faces/triangles.

      Classes should be avoided. When naming a class use CamelCase (e.g. SortableRow.h).

      -

      Enum naming convertion

      +

      Enum naming conversion

      Enums types should be placed in the appropriate igl:: namespace and should be named in CamelCase (e.g. igl::SolverStatus) and instances should be named in @@ -392,3 +389,4 @@ implementation so we’re keeping it as long as possible and profitable.

      + diff --git a/style-guidelines.md b/style-guidelines.md index 573d34072..1dd697ca3 100644 --- a/style-guidelines.md +++ b/style-guidelines.md @@ -270,7 +270,7 @@ to mean a list of faces/triangles. Classes should be avoided. When naming a class use CamelCase (e.g. SortableRow.h). -## Enum naming convertion +## Enum naming conversion Enums types should be placed in the appropriate `igl::` namespace and should be named in CamelCase (e.g. `igl::SolverStatus`) and instances should be named in diff --git a/tutorial/101_FileIO/CMakeLists.txt b/tutorial/101_FileIO/CMakeLists.txt index 481b40224..b7b6bea84 100644 --- a/tutorial/101_FileIO/CMakeLists.txt +++ b/tutorial/101_FileIO/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(101_FileIO) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core tutorials) diff --git a/tutorial/102_DrawMesh/CMakeLists.txt b/tutorial/102_DrawMesh/CMakeLists.txt index 2f7004bc7..c4ce2b52d 100644 --- a/tutorial/102_DrawMesh/CMakeLists.txt +++ b/tutorial/102_DrawMesh/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(102_DrawMesh) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/102_DrawMesh/main.cpp b/tutorial/102_DrawMesh/main.cpp index fe5355e8d..239fd1cef 100755 --- a/tutorial/102_DrawMesh/main.cpp +++ b/tutorial/102_DrawMesh/main.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include "tutorial_shared_path.h" Eigen::MatrixXd V; @@ -11,7 +11,7 @@ int main(int argc, char *argv[]) igl::readOFF(TUTORIAL_SHARED_PATH "/bunny.off", V, F); // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); viewer.launch(); } diff --git a/tutorial/103_Events/CMakeLists.txt b/tutorial/103_Events/CMakeLists.txt index bfd42fb56..c4ce2b52d 100644 --- a/tutorial/103_Events/CMakeLists.txt +++ b/tutorial/103_Events/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(103_Events) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/103_Events/main.cpp b/tutorial/103_Events/main.cpp index fdcf62708..8ea2fee2a 100755 --- a/tutorial/103_Events/main.cpp +++ b/tutorial/103_Events/main.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include "tutorial_shared_path.h" @@ -7,23 +7,23 @@ Eigen::MatrixXd V1,V2; Eigen::MatrixXi F1,F2; // This function is called every time a keyboard button is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { std::cout<<"Key: "< -#include +#include #include #include "tutorial_shared_path.h" @@ -13,8 +13,8 @@ int main(int argc, char *argv[]) igl::readOFF(TUTORIAL_SHARED_PATH "/screwdriver.off", V, F); // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); // Use the z coordinate as a scalar field over the surface Eigen::VectorXd Z = V.col(2); @@ -23,7 +23,7 @@ int main(int argc, char *argv[]) igl::jet(Z,true,C); // Add per-vertex colors - viewer.data.set_colors(C); + viewer.data().set_colors(C); // Launch the viewer viewer.launch(); diff --git a/tutorial/105_Overlays/CMakeLists.txt b/tutorial/105_Overlays/CMakeLists.txt index 61f73b592..c4ce2b52d 100644 --- a/tutorial/105_Overlays/CMakeLists.txt +++ b/tutorial/105_Overlays/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(105_Overlays) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/105_Overlays/main.cpp b/tutorial/105_Overlays/main.cpp index 2f0644ab5..a9f5293ef 100755 --- a/tutorial/105_Overlays/main.cpp +++ b/tutorial/105_Overlays/main.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include "tutorial_shared_path.h" @@ -44,15 +44,15 @@ int main(int argc, char *argv[]) 7 ,3; // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); // Plot the corners of the bounding box as points - viewer.data.add_points(V_box,Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V_box,Eigen::RowVector3d(1,0,0)); // Plot the edges of the bounding box for (unsigned i=0;i -int main() -{ - std::cerr<< - "Error: recompile with LIBIGL_VIEWER_WITH_NANOGUI defined."< -#include -#include -#include +#include +#include +#include +#include #include #include "tutorial_shared_path.h" + int main(int argc, char *argv[]) { Eigen::MatrixXd V; Eigen::MatrixXi F; - bool boolVariable = true; - float floatVariable = 0.1f; - enum Orientation { Up=0,Down,Left,Right } dir = Up; - // Load a mesh in OFF format igl::readOFF(TUTORIAL_SHARED_PATH "/bunny.off", V, F); // Init the viewer - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; - // Extend viewer menu - viewer.callback_init = [&](igl::viewer::Viewer& viewer) + // Attach a menu plugin + igl::opengl::glfw::imgui::ImGuiMenu menu; + viewer.plugins.push_back(&menu); + + // Customize the menu + float floatVariable = 0.1f; // Shared between two menus + + // Add content to the default menu window + menu.callback_draw_viewer_menu = [&]() { + // Draw parent menu content + menu.draw_viewer_menu(); + // Add new group - viewer.ngui->addGroup("New Group"); + if (ImGui::CollapsingHeader("New Group", ImGuiTreeNodeFlags_DefaultOpen)) + { + // Expose variable directly ... + ImGui::InputFloat("float", &floatVariable, 0, 0, 3); - // Expose variable directly ... - viewer.ngui->addVariable("float",floatVariable); + // ... or using a custom callback + static bool boolVariable = true; + if (ImGui::Checkbox("bool", &boolVariable)) + { + // do something + std::cout << "boolVariable: " << std::boolalpha << boolVariable << std::endl; + } - // ... or using a custom callback - viewer.ngui->addVariable("bool",[&](bool val) { - boolVariable = val; // set - },[&]() { - return boolVariable; // get - }); + // Expose an enumeration type + enum Orientation { Up=0, Down, Left, Right }; + static Orientation dir = Up; + ImGui::Combo("Direction", (int *)(&dir), "Up\0Down\0Left\0Right\0\0"); - // Expose an enumaration type - viewer.ngui->addVariable("Direction",dir)->setItems({"Up","Down","Left","Right"}); + // We can also use a std::vector defined dynamically + static int num_choices = 3; + static std::vector choices; + static int idx_choice = 0; + if (ImGui::InputInt("Num letters", &num_choices)) + { + num_choices = std::max(1, std::min(26, num_choices)); + } + if (num_choices != (int) choices.size()) + { + choices.resize(num_choices); + for (int i = 0; i < num_choices; ++i) + choices[i] = std::string(1, 'A' + i); + if (idx_choice >= num_choices) + idx_choice = num_choices - 1; + } + ImGui::Combo("Letter", &idx_choice, choices); - // Add a button - viewer.ngui->addButton("Print Hello",[](){ std::cout << "Hello\n"; }); + // Add a button + if (ImGui::Button("Print Hello", ImVec2(-1,0))) + { + std::cout << "Hello\n"; + } + } + }; - // Add an additional menu window - viewer.ngui->addWindow(Eigen::Vector2i(220,10),"New Window"); + // Draw additional windows + menu.callback_draw_custom_window = [&]() + { + // Define next window position + size + ImGui::SetNextWindowPos(ImVec2(180.f * menu.menu_scaling(), 10), ImGuiSetCond_FirstUseEver); + ImGui::SetNextWindowSize(ImVec2(200, 160), ImGuiSetCond_FirstUseEver); + ImGui::Begin( + "New Window", nullptr, + ImGuiWindowFlags_NoSavedSettings + ); // Expose the same variable directly ... - viewer.ngui->addVariable("float",floatVariable); + ImGui::PushItemWidth(-80); + ImGui::DragFloat("float", &floatVariable, 0.0, 0.0, 3.0); + ImGui::PopItemWidth(); - // Generate menu - viewer.screen->performLayout(); + static std::string str = "bunny"; + ImGui::InputText("Name", str); - return false; + ImGui::End(); }; // Plot the mesh - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.launch(); } -#endif diff --git a/tutorial/107_MultipleMeshes/CMakeLists.txt b/tutorial/107_MultipleMeshes/CMakeLists.txt new file mode 100644 index 000000000..c4ce2b52d --- /dev/null +++ b/tutorial/107_MultipleMeshes/CMakeLists.txt @@ -0,0 +1,5 @@ +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) + +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/107_MultipleMeshes/main.cpp b/tutorial/107_MultipleMeshes/main.cpp new file mode 100755 index 000000000..15ce4cea0 --- /dev/null +++ b/tutorial/107_MultipleMeshes/main.cpp @@ -0,0 +1,55 @@ +#include "tutorial_shared_path.h" +#include +#include +#include +#include +#include + +int main(int argc, char * argv[]) +{ + igl::opengl::glfw::Viewer viewer; + const auto names = + {"cube.obj","sphere.obj","xcylinder.obj","ycylinder.obj","zcylinder.obj"}; + std::map colors; + int last_selected = -1; + for(const auto & name : names) + { + viewer.load_mesh_from_file(std::string(TUTORIAL_SHARED_PATH) + "/" + name); + colors.emplace(viewer.data().id, 0.5*Eigen::RowVector3d::Random().array() + 0.5); + } + + viewer.callback_key_down = + [&](igl::opengl::glfw::Viewer &, unsigned int key, int mod) + { + if(key == GLFW_KEY_BACKSPACE) + { + int old_id = viewer.data().id; + if (viewer.erase_mesh(viewer.selected_data_index)) + { + colors.erase(old_id); + last_selected = -1; + } + return true; + } + return false; + }; + + // Refresh selected mesh colors + viewer.callback_pre_draw = + [&](igl::opengl::glfw::Viewer &) + { + if (last_selected != viewer.selected_data_index) + { + for (auto &data : viewer.data_list) + { + data.set_colors(colors[data.id]); + } + viewer.data_list[viewer.selected_data_index].set_colors(Eigen::RowVector3d(0.9,0.1,0.1)); + last_selected = viewer.selected_data_index; + } + return false; + }; + + viewer.launch(); + return EXIT_SUCCESS; +} diff --git a/tutorial/201_Normals/CMakeLists.txt b/tutorial/201_Normals/CMakeLists.txt index 1fef78980..c4ce2b52d 100644 --- a/tutorial/201_Normals/CMakeLists.txt +++ b/tutorial/201_Normals/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(201_Normals) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/201_Normals/main.cpp b/tutorial/201_Normals/main.cpp index 8c0e0fdb8..e67b865b9 100755 --- a/tutorial/201_Normals/main.cpp +++ b/tutorial/201_Normals/main.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include @@ -15,18 +15,18 @@ Eigen::MatrixXd N_corners; // This function is called every time a keyboard button is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { switch(key) { case '1': - viewer.data.set_normals(N_faces); + viewer.data().set_normals(N_faces); return true; case '2': - viewer.data.set_normals(N_vertices); + viewer.data().set_normals(N_vertices); return true; case '3': - viewer.data.set_normals(N_corners); + viewer.data().set_normals(N_corners); return true; default: break; } @@ -48,11 +48,11 @@ int main(int argc, char *argv[]) igl::per_corner_normals(V,F,20,N_corners); // Plot the mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.core.show_lines = false; - viewer.data.set_mesh(V, F); - viewer.data.set_normals(N_faces); + viewer.data().show_lines = false; + viewer.data().set_mesh(V, F); + viewer.data().set_normals(N_faces); std::cout<< "Press '1' for per-face normals."< #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -29,8 +29,8 @@ int main(int argc, char *argv[]) igl::jet(K,true,C); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_colors(C); viewer.launch(); } diff --git a/tutorial/203_CurvatureDirections/CMakeLists.txt b/tutorial/203_CurvatureDirections/CMakeLists.txt index 25e32e1e7..c4ce2b52d 100644 --- a/tutorial/203_CurvatureDirections/CMakeLists.txt +++ b/tutorial/203_CurvatureDirections/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(203_CurvatureDirections) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/203_CurvatureDirections/main.cpp b/tutorial/203_CurvatureDirections/main.cpp index 8c24e4c48..5dc859ffa 100755 --- a/tutorial/203_CurvatureDirections/main.cpp +++ b/tutorial/203_CurvatureDirections/main.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include "tutorial_shared_path.h" Eigen::MatrixXd V; @@ -43,27 +43,27 @@ int main(int argc, char *argv[]) // mean curvature H = 0.5*(PV1+PV2); - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); // Compute pseudocolor MatrixXd C; igl::parula(H,true,C); - viewer.data.set_colors(C); + viewer.data().set_colors(C); // Average edge length for sizing const double avg = igl::avg_edge_length(V,F); // Draw a blue segment parallel to the minimal curvature direction const RowVector3d red(0.8,0.2,0.2),blue(0.2,0.2,0.8); - viewer.data.add_edges(V + PD1*avg, V - PD1*avg, blue); + viewer.data().add_edges(V + PD1*avg, V - PD1*avg, blue); // Draw a red segment parallel to the maximal curvature direction - viewer.data.add_edges(V + PD2*avg, V - PD2*avg, red); + viewer.data().add_edges(V + PD2*avg, V - PD2*avg, red); // Hide wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/204_Gradient/CMakeLists.txt b/tutorial/204_Gradient/CMakeLists.txt index 1d0215d5a..c4ce2b52d 100644 --- a/tutorial/204_Gradient/CMakeLists.txt +++ b/tutorial/204_Gradient/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(204_Gradient) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/204_Gradient/main.cpp b/tutorial/204_Gradient/main.cpp index 799260b0c..45c9cf443 100755 --- a/tutorial/204_Gradient/main.cpp +++ b/tutorial/204_Gradient/main.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -32,15 +32,15 @@ int main(int argc, char *argv[]) // Compute gradient magnitude const VectorXd GU_mag = GU.rowwise().norm(); - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); // Compute pseudocolor for original function MatrixXd C; igl::jet(U,true,C); // // Or for gradient magnitude //igl::jet(GU_mag,true,C); - viewer.data.set_colors(C); + viewer.data().set_colors(C); // Average edge length divided by average gradient (for scaling) const double max_size = igl::avg_edge_length(V,F) / GU_mag.mean(); @@ -48,10 +48,10 @@ int main(int argc, char *argv[]) MatrixXd BC; igl::barycenter(V,F,BC); const RowVector3d black(0,0,0); - viewer.data.add_edges(BC,BC+max_size*GU, black); + viewer.data().add_edges(BC,BC+max_size*GU, black); // Hide wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/205_Laplacian/CMakeLists.txt b/tutorial/205_Laplacian/CMakeLists.txt index e1c9430d3..c4ce2b52d 100644 --- a/tutorial/205_Laplacian/CMakeLists.txt +++ b/tutorial/205_Laplacian/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(205_Laplacian) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/205_Laplacian/main.cpp b/tutorial/205_Laplacian/main.cpp index a9609387d..487e0af34 100755 --- a/tutorial/205_Laplacian/main.cpp +++ b/tutorial/205_Laplacian/main.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -16,7 +16,7 @@ Eigen::MatrixXd V,U; Eigen::MatrixXi F; Eigen::SparseMatrix L; -igl::viewer::Viewer viewer; +igl::opengl::glfw::Viewer viewer; int main(int argc, char *argv[]) { @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) K = -G.transpose() * T * G; cout<<"|K-L|: "<<(K-L).norm()<bool + const auto &key_down = [](igl::opengl::glfw::Viewer &viewer,unsigned char key,int mod)->bool { switch(key) { @@ -81,8 +81,8 @@ int main(int argc, char *argv[]) return false; } // Send new positions, update normals, recenter - viewer.data.set_vertices(U); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); viewer.core.align_camera_center(U,F); return true; }; @@ -95,8 +95,8 @@ int main(int argc, char *argv[]) // Initialize smoothing with base mesh U = V; - viewer.data.set_mesh(U, F); - viewer.data.set_colors(C); + viewer.data().set_mesh(U, F); + viewer.data().set_colors(C); viewer.callback_key_down = key_down; cout<<"Press [space] to smooth."< +#include +#include +#include +#include +#include +#include "tutorial_shared_path.h" + + +int main(int argc, char *argv[]) +{ + using namespace Eigen; + using namespace std; + Eigen::MatrixXd V; + Eigen::MatrixXi F; + igl::opengl::glfw::Viewer viewer; + // Load a mesh in OFF format + igl::readOBJ(TUTORIAL_SHARED_PATH "/armadillo.obj", V, F); + + const auto update_distance = [&](const int vid) + { + Eigen::VectorXi VS,FS,VT,FT; + // The selected vertex is the source + VS.resize(1); + VS << vid; + // All vertices are the targets + VT.setLinSpaced(V.rows(),0,V.rows()-1); + Eigen::VectorXd d; + std::cout<<"Computing geodesic distance to vertex "<bool + { + int fid; + Eigen::Vector3f bc; + // Cast a ray in the view direction starting from the mouse position + double x = viewer.current_mouse_x; + double y = viewer.core.viewport(3) - viewer.current_mouse_y; + if(igl::unproject_onto_mesh( + Eigen::Vector2f(x,y), + viewer.core.view * viewer.core.model, + viewer.core.proj, + viewer.core.viewport, + V, + F, + fid, + bc)) + { + int max; + bc.maxCoeff(&max); + int vid = F(fid,max); + update_distance(vid); + return true; + } + return false; + }; + viewer.data().set_mesh(V,F); + + cout << "Click on mesh to define new source.\n" << std::endl; + update_distance(0); + return viewer.launch(); +} diff --git a/tutorial/301_Slice/CMakeLists.txt b/tutorial/301_Slice/CMakeLists.txt index e5489cc41..c4ce2b52d 100644 --- a/tutorial/301_Slice/CMakeLists.txt +++ b/tutorial/301_Slice/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(301_Slice) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/301_Slice/main.cpp b/tutorial/301_Slice/main.cpp index 1852504cf..66e02636a 100644 --- a/tutorial/301_Slice/main.cpp +++ b/tutorial/301_Slice/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -14,11 +14,11 @@ int main(int argc, char *argv[]) MatrixXi F; igl::readOFF(TUTORIAL_SHARED_PATH "/decimated-knight.off",V,F); - // 100 random indicies into rows of F + // 100 random indices into rows of F VectorXi I; igl::floor((0.5*(VectorXd::Random(100,1).array()+1.)*F.rows()).eval(),I); - // 50 random indicies into rows of I + // 50 random indices into rows of I VectorXi J; igl::floor((0.5*(VectorXd::Random(50,1).array()+1.)*I.rows()).eval(),J); @@ -34,8 +34,8 @@ int main(int argc, char *argv[]) igl::slice_into(R,K,1,C); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_colors(C); viewer.launch(); } diff --git a/tutorial/302_Sort/CMakeLists.txt b/tutorial/302_Sort/CMakeLists.txt index 1ab40c14d..c4ce2b52d 100644 --- a/tutorial/302_Sort/CMakeLists.txt +++ b/tutorial/302_Sort/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(302_Sort) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/302_Sort/main.cpp b/tutorial/302_Sort/main.cpp index 04e65c23a..84ca03a17 100644 --- a/tutorial/302_Sort/main.cpp +++ b/tutorial/302_Sort/main.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -32,8 +32,8 @@ int main(int argc, char *argv[]) igl::jet(J,true,C); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_colors(C); viewer.launch(); } diff --git a/tutorial/303_LaplaceEquation/CMakeLists.txt b/tutorial/303_LaplaceEquation/CMakeLists.txt index 05ba93418..c4ce2b52d 100644 --- a/tutorial/303_LaplaceEquation/CMakeLists.txt +++ b/tutorial/303_LaplaceEquation/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(303_LaplaceEquation) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/303_LaplaceEquation/main.cpp b/tutorial/303_LaplaceEquation/main.cpp index d219704de..3a7aa1614 100644 --- a/tutorial/303_LaplaceEquation/main.cpp +++ b/tutorial/303_LaplaceEquation/main.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include "tutorial_shared_path.h" @@ -65,9 +65,9 @@ int main(int argc, char *argv[]) igl::jet(Z,true,C); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.core.show_lines = false; - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().show_lines = false; + viewer.data().set_colors(C); viewer.launch(); } diff --git a/tutorial/304_LinearEqualityConstraints/CMakeLists.txt b/tutorial/304_LinearEqualityConstraints/CMakeLists.txt index 77f291adc..c4ce2b52d 100644 --- a/tutorial/304_LinearEqualityConstraints/CMakeLists.txt +++ b/tutorial/304_LinearEqualityConstraints/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(304_LinearEqualityConstraints) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/304_LinearEqualityConstraints/main.cpp b/tutorial/304_LinearEqualityConstraints/main.cpp index 8fcb84922..8b1489d8c 100644 --- a/tutorial/304_LinearEqualityConstraints/main.cpp +++ b/tutorial/304_LinearEqualityConstraints/main.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include "tutorial_shared_path.h" @@ -72,19 +72,19 @@ int main(int argc, char *argv[]) igl::jet(Z_const,min_z,max_z,data.C_const); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.core.show_lines = false; - viewer.data.set_colors(data.C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().show_lines = false; + viewer.data().set_colors(data.C); viewer.callback_key_down = - [](igl::viewer::Viewer& viewer,unsigned char key,int mod)->bool + [](igl::opengl::glfw::Viewer& viewer,unsigned char key,int mod)->bool { if(key == ' ') { Data & data = *static_cast(viewer.callback_key_down_data); static bool toggle = true; - viewer.data.set_colors(toggle?data.C_const:data.C); + viewer.data().set_colors(toggle?data.C_const:data.C); toggle = !toggle; return true; }else diff --git a/tutorial/305_QuadraticProgramming/CMakeLists.txt b/tutorial/305_QuadraticProgramming/CMakeLists.txt index 2101c64d7..c4ce2b52d 100644 --- a/tutorial/305_QuadraticProgramming/CMakeLists.txt +++ b/tutorial/305_QuadraticProgramming/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(305_QuadraticProgramming) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/305_QuadraticProgramming/main.cpp b/tutorial/305_QuadraticProgramming/main.cpp index 082f2fc06..3b142326d 100644 --- a/tutorial/305_QuadraticProgramming/main.cpp +++ b/tutorial/305_QuadraticProgramming/main.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include "tutorial_shared_path.h" @@ -14,7 +14,7 @@ Eigen::VectorXi b; Eigen::VectorXd B,bc,lx,ux,Beq,Bieq,Z; Eigen::SparseMatrix Q,Aeq,Aieq; -void solve(igl::viewer::Viewer &viewer) +void solve(igl::opengl::glfw::Viewer &viewer) { using namespace std; igl::active_set_params as; @@ -23,10 +23,10 @@ void solve(igl::viewer::Viewer &viewer) // Pseudo-color based on solution Eigen::MatrixXd C; igl::jet(Z,0,1,C); - viewer.data.set_colors(C); + viewer.data().set_colors(C); } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mod) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mod) { switch(key) { @@ -56,9 +56,9 @@ int main(int argc, char *argv[]) igl::readOFF(TUTORIAL_SHARED_PATH "/cheburashka.off",V,F); // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.core.show_lines = false; + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().show_lines = false; viewer.callback_key_down = &key_down; // One fixed point diff --git a/tutorial/306_EigenDecomposition/CMakeLists.txt b/tutorial/306_EigenDecomposition/CMakeLists.txt index 9ebf246f4..c4ce2b52d 100644 --- a/tutorial/306_EigenDecomposition/CMakeLists.txt +++ b/tutorial/306_EigenDecomposition/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(306_EigenDecomposition) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/306_EigenDecomposition/main.cpp b/tutorial/306_EigenDecomposition/main.cpp index 0d0551207..a2ad06f96 100644 --- a/tutorial/306_EigenDecomposition/main.cpp +++ b/tutorial/306_EigenDecomposition/main.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include #include @@ -36,10 +36,11 @@ int main(int argc, char * argv[]) { cout<<"failed."<bool + igl::opengl::glfw::Viewer viewer; + viewer.callback_key_down = [&](igl::opengl::glfw::Viewer & viewer,unsigned char key,int)->bool { switch(key) { @@ -58,14 +59,18 @@ int main(int argc, char * argv[]) { V.col(2) = Z; } - viewer.data.set_mesh(V,F); - viewer.data.compute_normals(); - viewer.data.set_colors(C); + viewer.data().set_mesh(V,F); + viewer.data().compute_normals(); + viewer.data().set_colors(C); return true; } } }; viewer.callback_key_down(viewer,' ',0); - viewer.core.show_lines = false; + viewer.data().show_lines = false; + std::cout<< +R"( + [space] Cycle through eigen modes +)"; viewer.launch(); } diff --git a/tutorial/401_BiharmonicDeformation/CMakeLists.txt b/tutorial/401_BiharmonicDeformation/CMakeLists.txt index 78e263223..c4ce2b52d 100644 --- a/tutorial/401_BiharmonicDeformation/CMakeLists.txt +++ b/tutorial/401_BiharmonicDeformation/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(401_BiharmonicDeformation) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/401_BiharmonicDeformation/main.cpp b/tutorial/401_BiharmonicDeformation/main.cpp index 56fb61e1e..34b25407d 100755 --- a/tutorial/401_BiharmonicDeformation/main.cpp +++ b/tutorial/401_BiharmonicDeformation/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include #include "tutorial_shared_path.h" @@ -15,7 +15,7 @@ Eigen::VectorXd Z; Eigen::MatrixXi F; Eigen::VectorXi b; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; // Determine boundary conditions @@ -36,12 +36,12 @@ bool pre_draw(igl::viewer::Viewer & viewer) { igl::harmonic(V,F,b,U_bc_anim,2.,U); } - viewer.data.set_vertices(U); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); return false; } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { switch(key) { @@ -109,10 +109,10 @@ int main(int argc, char *argv[]) } // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); - viewer.core.show_lines = false; - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); + viewer.data().show_lines = false; + viewer.data().set_colors(C); viewer.core.trackball_angle = Eigen::Quaternionf(sqrt(2.0),0,sqrt(2.0),0); viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; diff --git a/tutorial/402_PolyharmonicDeformation/CMakeLists.txt b/tutorial/402_PolyharmonicDeformation/CMakeLists.txt index 2b65cd3d6..c4ce2b52d 100644 --- a/tutorial/402_PolyharmonicDeformation/CMakeLists.txt +++ b/tutorial/402_PolyharmonicDeformation/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(402_PolyharmonicDeformation) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/402_PolyharmonicDeformation/main.cpp b/tutorial/402_PolyharmonicDeformation/main.cpp index f3cc007ff..c6bf11920 100755 --- a/tutorial/402_PolyharmonicDeformation/main.cpp +++ b/tutorial/402_PolyharmonicDeformation/main.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include #include "tutorial_shared_path.h" @@ -16,7 +16,7 @@ Eigen::MatrixXi F; Eigen::VectorXi b; Eigen::VectorXd bc; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; if(resolve) @@ -25,8 +25,8 @@ bool pre_draw(igl::viewer::Viewer & viewer) resolve = false; } U.col(2) = z_max*Z; - viewer.data.set_vertices(U); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); if(viewer.core.is_animating) { z_max += z_dir; @@ -35,7 +35,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) return false; } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { switch(key) { @@ -93,10 +93,10 @@ int main(int argc, char *argv[]) } // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); - viewer.core.show_lines = false; - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); + viewer.data().show_lines = false; + viewer.data().set_colors(C); viewer.core.trackball_angle = Eigen::Quaternionf(0.81,-0.58,-0.03,-0.03); viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; diff --git a/tutorial/403_BoundedBiharmonicWeights/CMakeLists.txt b/tutorial/403_BoundedBiharmonicWeights/CMakeLists.txt index 61e24b2f2..e0a450450 100644 --- a/tutorial/403_BoundedBiharmonicWeights/CMakeLists.txt +++ b/tutorial/403_BoundedBiharmonicWeights/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 2.8.12) -project(403_BoundedBiharmonicWeights) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) -if(LIBIGL_WITH_MOSEK) - target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_MOSEK_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) +if(TARGET igl::mosek) + target_link_libraries(${PROJECT_NAME}_bin igl::mosek) endif() diff --git a/tutorial/403_BoundedBiharmonicWeights/main.cpp b/tutorial/403_BoundedBiharmonicWeights/main.cpp index c42108529..8c5a1cb8a 100755 --- a/tutorial/403_BoundedBiharmonicWeights/main.cpp +++ b/tutorial/403_BoundedBiharmonicWeights/main.cpp @@ -1,13 +1,10 @@ -// If you don't have mosek installed and don't want to install it. Then -// uncomment the following six lines. Don't use static library for this -// example because of Mosek complications -// -//#define IGL_NO_MOSEK -//#ifdef IGL_NO_MOSEK -//#ifdef IGL_STATIC_LIBRARY -//#undef IGL_STATIC_LIBRARY -//#endif -//#endif +// Because of Mosek complications, we don't use static library if Mosek is used. +#ifdef LIBIGL_WITH_MOSEK +#ifdef IGL_STATIC_LIBRARY +#undef IGL_STATIC_LIBRARY +#endif +#endif + #include #include #include @@ -20,7 +17,7 @@ #include #include #include -#include +#include #include //#include @@ -45,7 +42,7 @@ RotationList pose; double anim_t = 1.0; double anim_t_dir = -0.03; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -57,7 +54,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) { anim_pose[e] = pose[e].slerp(anim_t,Quaterniond::Identity()); } - // Propogate relative rotations via FK to retrieve absolute transformations + // Propagate relative rotations via FK to retrieve absolute transformations RotationList vQ; vector vT; igl::forward_kinematics(C,BE,P,anim_pose,vQ,vT); @@ -79,23 +76,23 @@ bool pre_draw(igl::viewer::Viewer & viewer) MatrixXi BET; igl::deform_skeleton(C,BE,T,CT,BET); - viewer.data.set_vertices(U); - viewer.data.set_edges(CT,BET,sea_green); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_edges(CT,BET,sea_green); + viewer.data().compute_normals(); anim_t += anim_t_dir; anim_t_dir *= (anim_t>=1.0 || anim_t<=0.0?-1.0:1.0); } return false; } -void set_color(igl::viewer::Viewer &viewer) +void set_color(igl::opengl::glfw::Viewer &viewer) { Eigen::MatrixXd C; igl::jet(W.col(selected).eval(),true,C); - viewer.data.set_colors(C); + viewer.data().set_colors(C); } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { switch(key) { @@ -145,7 +142,7 @@ int main(int argc, char *argv[]) bbw_data.verbosity = 2; if(!igl::bbw(V,T,b,bc,bbw_data,W)) { - return false; + return EXIT_FAILURE; } //MatrixXd Vsurf = V.topLeftCorner(F.maxCoeff()+1,V.cols()); @@ -163,13 +160,13 @@ int main(int argc, char *argv[]) igl::lbs_matrix(V,W,M); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); set_color(viewer); - viewer.data.set_edges(C,BE,sea_green); - viewer.core.show_lines = false; - viewer.core.show_overlay_depth = false; - viewer.core.line_width = 1; + viewer.data().set_edges(C,BE,sea_green); + viewer.data().show_lines = false; + viewer.data().show_overlay_depth = false; + viewer.data().line_width = 1; viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; @@ -179,4 +176,5 @@ int main(int argc, char *argv[]) "Press ',' to show previous weight function."< #include #include -#include +#include #include #include @@ -32,7 +32,7 @@ double anim_t_dir = 0.015; bool use_dqs = false; bool recompute = true; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -49,7 +49,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) { anim_pose[e] = poses[begin][e].slerp(t,poses[end][e]); } - // Propogate relative rotations via FK to retrieve absolute transformations + // Propagate relative rotations via FK to retrieve absolute transformations RotationList vQ; vector vT; igl::forward_kinematics(C,BE,P,anim_pose,vQ,vT); @@ -77,9 +77,9 @@ bool pre_draw(igl::viewer::Viewer & viewer) MatrixXi BET; igl::deform_skeleton(C,BE,T,CT,BET); - viewer.data.set_vertices(U); - viewer.data.set_edges(CT,BET,sea_green); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_edges(CT,BET,sea_green); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -92,7 +92,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) return false; } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { recompute = true; switch(key) @@ -130,12 +130,12 @@ int main(int argc, char *argv[]) igl::lbs_matrix(V,W,M); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); - viewer.data.set_edges(C,BE,sea_green); - viewer.core.show_lines = false; - viewer.core.show_overlay_depth = false; - viewer.core.line_width = 1; + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); + viewer.data().set_edges(C,BE,sea_green); + viewer.data().show_lines = false; + viewer.data().show_overlay_depth = false; + viewer.data().line_width = 1; viewer.core.trackball_angle.normalize(); viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; diff --git a/tutorial/405_AsRigidAsPossible/CMakeLists.txt b/tutorial/405_AsRigidAsPossible/CMakeLists.txt index e9089d97d..c4ce2b52d 100644 --- a/tutorial/405_AsRigidAsPossible/CMakeLists.txt +++ b/tutorial/405_AsRigidAsPossible/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(405_AsRigidAsPossible) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/405_AsRigidAsPossible/main.cpp b/tutorial/405_AsRigidAsPossible/main.cpp index 73ffccadc..efa66bd73 100755 --- a/tutorial/405_AsRigidAsPossible/main.cpp +++ b/tutorial/405_AsRigidAsPossible/main.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include @@ -32,7 +32,7 @@ double anim_t = 0.0; double anim_t_dir = 0.03; igl::ARAPData arap_data; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -68,8 +68,8 @@ bool pre_draw(igl::viewer::Viewer & viewer) } } igl::arap_solve(bc,arap_data,U); - viewer.data.set_vertices(U); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -77,7 +77,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) return false; } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { switch(key) { @@ -122,9 +122,9 @@ int main(int argc, char *argv[]) } // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); - viewer.data.set_colors(C); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); + viewer.data().set_colors(C); viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; diff --git a/tutorial/406_FastAutomaticSkinningTransformations/CMakeLists.txt b/tutorial/406_FastAutomaticSkinningTransformations/CMakeLists.txt index 68f48be10..c4ce2b52d 100644 --- a/tutorial/406_FastAutomaticSkinningTransformations/CMakeLists.txt +++ b/tutorial/406_FastAutomaticSkinningTransformations/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(406_FastAutomaticSkinningTransformations) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/406_FastAutomaticSkinningTransformations/main.cpp b/tutorial/406_FastAutomaticSkinningTransformations/main.cpp index bc948120e..a09d78807 100755 --- a/tutorial/406_FastAutomaticSkinningTransformations/main.cpp +++ b/tutorial/406_FastAutomaticSkinningTransformations/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include @@ -51,7 +51,7 @@ enum ModeType NUM_MODE_TYPES = 4 } mode = MODE_TYPE_ARAP; -bool pre_draw(igl::viewer::Viewer & viewer) +bool pre_draw(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -82,6 +82,8 @@ bool pre_draw(igl::viewer::Viewer & viewer) } switch(mode) { + default: + assert("unknown mode"); case MODE_TYPE_ARAP: igl::arap_solve(bc,arap_data,U); break; @@ -99,9 +101,9 @@ bool pre_draw(igl::viewer::Viewer & viewer) break; } } - viewer.data.set_vertices(U); - viewer.data.set_points(bc,sea_green); - viewer.data.compute_normals(); + viewer.data().set_vertices(U); + viewer.data().set_points(bc,sea_green); + viewer.data().compute_normals(); if(viewer.core.is_animating) { anim_t += anim_t_dir; @@ -113,7 +115,7 @@ bool pre_draw(igl::viewer::Viewer & viewer) return false; } -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int mods) +bool key_down(igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods) { switch(key) { @@ -204,10 +206,10 @@ int main(int argc, char *argv[]) bbd = (V.colwise().maxCoeff()- V.colwise().minCoeff()).norm(); // Plot the mesh with pseudocolors - igl::viewer::Viewer viewer; - viewer.data.set_mesh(U, F); - viewer.data.add_points(igl::slice(V,b,1),sea_green); - viewer.core.show_lines = false; + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(U, F); + viewer.data().add_points(igl::slice(V,b,1),sea_green); + viewer.data().show_lines = false; viewer.callback_pre_draw = &pre_draw; viewer.callback_key_down = &key_down; viewer.core.is_animating = false; diff --git a/tutorial/407_BiharmonicCoordinates/CMakeLists.txt b/tutorial/407_BiharmonicCoordinates/CMakeLists.txt index 9cea2de94..75cf0da50 100644 --- a/tutorial/407_BiharmonicCoordinates/CMakeLists.txt +++ b/tutorial/407_BiharmonicCoordinates/CMakeLists.txt @@ -1,8 +1,6 @@ -cmake_minimum_required(VERSION 2.8.12) -project(407_BiharmonicCoordinates) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) + +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) diff --git a/tutorial/407_BiharmonicCoordinates/main.cpp b/tutorial/407_BiharmonicCoordinates/main.cpp index 90cdb7487..0953efb68 100755 --- a/tutorial/407_BiharmonicCoordinates/main.cpp +++ b/tutorial/407_BiharmonicCoordinates/main.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -11,7 +12,7 @@ #include #include #include -#include +#include #include #include #include @@ -100,20 +101,20 @@ int main(int argc, char * argv[]) // Random initial velocities to wiggle things arap_data.vel = MatrixXd::Random(n,3); - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; // Create one huge mesh containing both meshes igl::cat(1,low.U,high.U,scene.U); igl::cat(1,low.F,MatrixXi(high.F.array()+low.V.rows()),scene.F); // Color each mesh - viewer.data.set_mesh(scene.U,scene.F); + viewer.data().set_mesh(scene.U,scene.F); MatrixXd C(scene.F.rows(),3); C<< RowVector3d(0.8,0.5,0.2).replicate(low.F.rows(),1), RowVector3d(0.3,0.4,1.0).replicate(high.F.rows(),1); - viewer.data.set_colors(C); + viewer.data().set_colors(C); viewer.callback_key_pressed = - [&](igl::viewer::Viewer & viewer,unsigned int key,int mods)->bool + [&](igl::opengl::glfw::Viewer & viewer,unsigned int key,int mods)->bool { switch(key) { @@ -127,7 +128,7 @@ int main(int argc, char * argv[]) return true; } }; - viewer.callback_pre_draw = [&](igl::viewer::Viewer & viewer)->bool + viewer.callback_pre_draw = [&](igl::opengl::glfw::Viewer & viewer)->bool { glEnable(GL_CULL_FACE); if(viewer.core.is_animating) @@ -150,20 +151,20 @@ int main(int argc, char * argv[]) high.U = W * (low.U.rowwise() + RowVector3d(1,0,0)); scene.U.block(low.U.rows(),0,high.U.rows(),high.U.cols()) = high.U; - viewer.data.set_vertices(scene.U); - viewer.data.compute_normals(); + viewer.data().set_vertices(scene.U); + viewer.data().compute_normals(); } return false; }; - viewer.core.show_lines = false; + viewer.data().show_lines = false; viewer.core.is_animating = true; viewer.core.animation_max_fps = 30.; - viewer.data.set_face_based(true); + viewer.data().set_face_based(true); cout< #include #include -#include +#include #include "tutorial_shared_path.h" @@ -10,22 +10,22 @@ Eigen::MatrixXd V; Eigen::MatrixXi F; Eigen::MatrixXd V_uv; -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == '1') { // Plot the 3D mesh - viewer.data.set_mesh(V,F); + viewer.data().set_mesh(V,F); viewer.core.align_camera_center(V,F); } else if (key == '2') { // Plot the mesh in 2D using the UV coordinates as vertex coordinates - viewer.data.set_mesh(V_uv,F); + viewer.data().set_mesh(V_uv,F); viewer.core.align_camera_center(V_uv,F); } - viewer.data.compute_normals(); + viewer.data().compute_normals(); return false; } @@ -50,16 +50,16 @@ int main(int argc, char *argv[]) V_uv *= 5; // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_uv(V_uv); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(V_uv); viewer.callback_key_down = &key_down; // Disable wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; // Draw checkerboard texture - viewer.core.show_texture = true; + viewer.data().show_texture = true; // Launch the viewer viewer.launch(); diff --git a/tutorial/502_LSCMParam/CMakeLists.txt b/tutorial/502_LSCMParam/CMakeLists.txt index 7938ca59f..c4ce2b52d 100644 --- a/tutorial/502_LSCMParam/CMakeLists.txt +++ b/tutorial/502_LSCMParam/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(502_LSCMParam) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/502_LSCMParam/main.cpp b/tutorial/502_LSCMParam/main.cpp index 04536ec87..744e58fd5 100755 --- a/tutorial/502_LSCMParam/main.cpp +++ b/tutorial/502_LSCMParam/main.cpp @@ -1,6 +1,6 @@ #include #include -#include +#include #include @@ -10,23 +10,23 @@ Eigen::MatrixXd V; Eigen::MatrixXi F; Eigen::MatrixXd V_uv; -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == '1') { // Plot the 3D mesh - viewer.data.set_mesh(V,F); + viewer.data().set_mesh(V,F); viewer.core.align_camera_center(V,F); } else if (key == '2') { // Plot the mesh in 2D using the UV coordinates as vertex coordinates - viewer.data.set_mesh(V_uv,F); + viewer.data().set_mesh(V_uv,F); viewer.core.align_camera_center(V_uv,F); } - viewer.data.compute_normals(); + viewer.data().compute_normals(); return false; } @@ -54,16 +54,16 @@ int main(int argc, char *argv[]) V_uv *= 5; // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_uv(V_uv); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(V_uv); viewer.callback_key_down = &key_down; // Disable wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; // Draw checkerboard texture - viewer.core.show_texture = true; + viewer.data().show_texture = true; // Launch the viewer viewer.launch(); diff --git a/tutorial/503_ARAPParam/CMakeLists.txt b/tutorial/503_ARAPParam/CMakeLists.txt index 9ea5fc518..c4ce2b52d 100644 --- a/tutorial/503_ARAPParam/CMakeLists.txt +++ b/tutorial/503_ARAPParam/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(503_ARAPParam) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/503_ARAPParam/main.cpp b/tutorial/503_ARAPParam/main.cpp index fcda0ff5a..a9f279a91 100755 --- a/tutorial/503_ARAPParam/main.cpp +++ b/tutorial/503_ARAPParam/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include "tutorial_shared_path.h" @@ -14,7 +14,7 @@ Eigen::MatrixXd initial_guess; bool show_uv = false; -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == '1') show_uv = false; @@ -26,16 +26,16 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) if (show_uv) { - viewer.data.set_mesh(V_uv,F); + viewer.data().set_mesh(V_uv,F); viewer.core.align_camera_center(V_uv,F); } else { - viewer.data.set_mesh(V,F); + viewer.data().set_mesh(V,F); viewer.core.align_camera_center(V,F); } - viewer.data.compute_normals(); + viewer.data().compute_normals(); return false; } @@ -76,16 +76,16 @@ int main(int argc, char *argv[]) V_uv *= 20; // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.data.set_uv(V_uv); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(V_uv); viewer.callback_key_down = &key_down; // Disable wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; // Draw checkerboard texture - viewer.core.show_texture = true; + viewer.data().show_texture = true; // Launch the viewer viewer.launch(); diff --git a/tutorial/504_NRosyDesign/CMakeLists.txt b/tutorial/504_NRosyDesign/CMakeLists.txt index 3b5aefe24..6996a1424 100644 --- a/tutorial/504_NRosyDesign/CMakeLists.txt +++ b/tutorial/504_NRosyDesign/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(504_NRosyDesign) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_COMISO_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::comiso tutorials) diff --git a/tutorial/504_NRosyDesign/main.cpp b/tutorial/504_NRosyDesign/main.cpp index adc4fde44..1aecd9a37 100755 --- a/tutorial/504_NRosyDesign/main.cpp +++ b/tutorial/504_NRosyDesign/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include "tutorial_shared_path.h" @@ -55,7 +55,7 @@ void representative_to_nrosy( // Plots the mesh with an N-RoSy field and its singularities on top // The constrained faces (b) are colored in red. void plot_mesh_nrosy( - igl::viewer::Viewer& viewer, + igl::opengl::glfw::Viewer& viewer, Eigen::MatrixXd& V, Eigen::MatrixXi& F, int N, @@ -66,8 +66,8 @@ void plot_mesh_nrosy( using namespace Eigen; using namespace std; // Clear the mesh - viewer.data.clear(); - viewer.data.set_mesh(V,F); + viewer.data().clear(); + viewer.data().set_mesh(V,F); // Expand the representative vectors in the full vector set and plot them as lines double avg = igl::avg_edge_length(V, F); @@ -82,26 +82,26 @@ void plot_mesh_nrosy( for(unsigned j=0; j 0.001) - viewer.data.add_points(V.row(i),RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),RowVector3d(0,1,0)); } // Highlight in red the constrained faces MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -80,7 +80,7 @@ void line_texture(Eigen::Matrix &te texture_B = texture_R; } -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == 'E') { @@ -90,38 +90,38 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) if (key <'1' || key >'8') return false; - viewer.data.clear(); - viewer.core.show_lines = false; - viewer.core.show_texture = false; + viewer.data().clear(); + viewer.data().show_lines = false; + viewer.data().show_texture = false; if (key == '1') { // Cross field - viewer.data.set_mesh(V, F); - viewer.data.add_edges(extend_arrows ? B - global_scale*X1 : B, B + global_scale*X1 ,Eigen::RowVector3d(1,0,0)); - viewer.data.add_edges(extend_arrows ? B - global_scale*X2 : B, B + global_scale*X2 ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*X1 : B, B + global_scale*X1 ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*X2 : B, B + global_scale*X2 ,Eigen::RowVector3d(0,0,1)); } if (key == '2') { // Bisector field - viewer.data.set_mesh(V, F); - viewer.data.add_edges(extend_arrows ? B - global_scale*BIS1 : B, B + global_scale*BIS1 ,Eigen::RowVector3d(1,0,0)); - viewer.data.add_edges(extend_arrows ? B - global_scale*BIS2 : B, B + global_scale*BIS2 ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS1 : B, B + global_scale*BIS1 ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS2 : B, B + global_scale*BIS2 ,Eigen::RowVector3d(0,0,1)); } if (key == '3') { // Bisector field combed - viewer.data.set_mesh(V, F); - viewer.data.add_edges(extend_arrows ? B - global_scale*BIS1_combed : B, B + global_scale*BIS1_combed ,Eigen::RowVector3d(1,0,0)); - viewer.data.add_edges(extend_arrows ? B - global_scale*BIS2_combed : B, B + global_scale*BIS2_combed ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS1_combed : B, B + global_scale*BIS1_combed ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*BIS2_combed : B, B + global_scale*BIS2_combed ,Eigen::RowVector3d(0,0,1)); } if (key == '4') { // Singularities and cuts - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); // Plot cuts int l_count = Seams.sum(); @@ -141,15 +141,15 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) } } - viewer.data.add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); + viewer.data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); // Plot the singularities as colored dots (red for negative, blue for positive) for (unsigned i=0; i 0) - viewer.data.add_points(V.row(i),Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); else if (singularityIndex(i) > 2) - viewer.data.add_points(V.row(i),Eigen::RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); } } @@ -158,9 +158,9 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) { // Singularities and cuts, original field // Singularities and cuts - viewer.data.set_mesh(V, F); - viewer.data.add_edges(extend_arrows ? B - global_scale*X1_combed : B, B + global_scale*X1_combed ,Eigen::RowVector3d(1,0,0)); - viewer.data.add_edges(extend_arrows ? B - global_scale*X2_combed : B, B + global_scale*X2_combed ,Eigen::RowVector3d(0,0,1)); + viewer.data().set_mesh(V, F); + viewer.data().add_edges(extend_arrows ? B - global_scale*X1_combed : B, B + global_scale*X1_combed ,Eigen::RowVector3d(1,0,0)); + viewer.data().add_edges(extend_arrows ? B - global_scale*X2_combed : B, B + global_scale*X2_combed ,Eigen::RowVector3d(0,0,1)); // Plot cuts int l_count = Seams.sum(); @@ -180,50 +180,50 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) } } - viewer.data.add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); + viewer.data().add_edges(P1, P2, Eigen::RowVector3d(1, 0, 0)); // Plot the singularities as colored dots (red for negative, blue for positive) for (unsigned i=0; i 0) - viewer.data.add_points(V.row(i),Eigen::RowVector3d(1,0,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(1,0,0)); else if (singularityIndex(i) > 2) - viewer.data.add_points(V.row(i),Eigen::RowVector3d(0,1,0)); + viewer.data().add_points(V.row(i),Eigen::RowVector3d(0,1,0)); } } if (key == '6') { // Global parametrization UV - viewer.data.set_mesh(UV, FUV); - viewer.data.set_uv(UV); - viewer.core.show_lines = true; + viewer.data().set_mesh(UV, FUV); + viewer.data().set_uv(UV); + viewer.data().show_lines = true; } if (key == '7') { // Global parametrization in 3D - viewer.data.set_mesh(V, F); - viewer.data.set_uv(UV,FUV); - viewer.core.show_texture = true; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(UV,FUV); + viewer.data().show_texture = true; } if (key == '8') { // Global parametrization in 3D with seams - viewer.data.set_mesh(V, F); - viewer.data.set_uv(UV_seams,FUV_seams); - viewer.core.show_texture = true; + viewer.data().set_mesh(V, F); + viewer.data().set_uv(UV_seams,FUV_seams); + viewer.data().show_texture = true; } - viewer.data.set_colors(Eigen::RowVector3d(1,1,1)); + viewer.data().set_colors(Eigen::RowVector3d(1,1,1)); // Replace the standard texture with an integer shift invariant texture Eigen::Matrix texture_R, texture_G, texture_B; line_texture(texture_R, texture_G, texture_B); - viewer.data.set_texture(texture_R, texture_B, texture_G); + viewer.data().set_texture(texture_R, texture_B, texture_G); - viewer.core.align_camera_center(viewer.data.V,viewer.data.F); + viewer.core.align_camera_center(viewer.data().V,viewer.data().F); return false; } @@ -257,7 +257,7 @@ int main(int argc, char *argv[]) VectorXd S; igl::copyleft::comiso::nrosy(V, F, b, bc, VectorXi(), VectorXd(), MatrixXd(), 4, 0.5, X1, S); - // Find the the orthogonal vector + // Find the orthogonal vector MatrixXd B1, B2, B3; igl::local_basis(V, F, B1, B2, B3); X2 = igl::rotate_vectors(X1, VectorXd::Constant(1, M_PI / 2), B1, B2); @@ -315,7 +315,7 @@ igl::copyleft::comiso::miq(V, false); // Plot the mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; // Plot the original mesh with a texture parametrization key_down(viewer,'7',0); diff --git a/tutorial/506_FrameField/CMakeLists.txt b/tutorial/506_FrameField/CMakeLists.txt index 3583009ad..6996a1424 100644 --- a/tutorial/506_FrameField/CMakeLists.txt +++ b/tutorial/506_FrameField/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(506_FrameField) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_COMISO_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::comiso tutorials) diff --git a/tutorial/506_FrameField/main.cpp b/tutorial/506_FrameField/main.cpp index 26212fe8d..92e777a25 100755 --- a/tutorial/506_FrameField/main.cpp +++ b/tutorial/506_FrameField/main.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "tutorial_shared_path.h" @@ -68,7 +68,7 @@ void line_texture(Eigen::Matrix &te texture_B = texture_R; } -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { using namespace std; using namespace Eigen; @@ -76,14 +76,14 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) if (key <'1' || key >'6') return false; - viewer.data.clear(); - viewer.core.show_lines = false; - viewer.core.show_texture = false; + viewer.data().clear(); + viewer.data().show_lines = false; + viewer.data().show_texture = false; if (key == '1') { // Frame field constraints - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); MatrixXd F1_t = MatrixXd::Zero(FF1.rows(),FF1.cols()); MatrixXd F2_t = MatrixXd::Zero(FF2.rows(),FF2.cols()); @@ -96,7 +96,7 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) F2_t.row(b(i)) = bc2.row(i); } - viewer.data.set_colors(C); + viewer.data().set_colors(C); MatrixXd C1,C2; VectorXd K1 = F1_t.rowwise().norm(); @@ -104,72 +104,72 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) igl::jet(K1,true,C1); igl::jet(K2,true,C2); - viewer.data.add_edges(B - global_scale*F1_t, B + global_scale*F1_t ,C1); - viewer.data.add_edges(B - global_scale*F2_t, B + global_scale*F2_t ,C2); + viewer.data().add_edges(B - global_scale*F1_t, B + global_scale*F1_t ,C1); + viewer.data().add_edges(B - global_scale*F2_t, B + global_scale*F2_t ,C2); } if (key == '2') { // Frame field - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); MatrixXd C1,C2; VectorXd K1 = FF1.rowwise().norm(); VectorXd K2 = FF2.rowwise().norm(); igl::jet(K1,true,C1); igl::jet(K2,true,C2); - viewer.data.add_edges(B - global_scale*FF1, B + global_scale*FF1 ,C1); - viewer.data.add_edges(B - global_scale*FF2, B + global_scale*FF2 ,C2); + viewer.data().add_edges(B - global_scale*FF1, B + global_scale*FF1 ,C1); + viewer.data().add_edges(B - global_scale*FF2, B + global_scale*FF2 ,C2); // Highlight in red the constrained faces MatrixXd C = MatrixXd::Constant(F.rows(),3,1); for (unsigned i=0; i texture_R, texture_G, texture_B; line_texture(texture_R, texture_G, texture_B); - viewer.data.set_texture(texture_R, texture_B, texture_G); - viewer.core.align_camera_center(viewer.data.V,viewer.data.F); + viewer.data().set_texture(texture_R, texture_B, texture_G); + viewer.core.align_camera_center(viewer.data().V,viewer.data().F); return false; } @@ -245,7 +245,7 @@ int main(int argc, char *argv[]) false, 2); - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; // Plot the original mesh with a texture parametrization key_down(viewer,'6',0); diff --git a/tutorial/507_Planarization/CMakeLists.txt b/tutorial/507_Planarization/CMakeLists.txt new file mode 100644 index 000000000..c4ce2b52d --- /dev/null +++ b/tutorial/507_Planarization/CMakeLists.txt @@ -0,0 +1,5 @@ +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) + +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/509_Planarization/main.cpp b/tutorial/507_Planarization/main.cpp similarity index 70% rename from tutorial/509_Planarization/main.cpp rename to tutorial/507_Planarization/main.cpp index 8373f1371..0c798e4ef 100755 --- a/tutorial/509_Planarization/main.cpp +++ b/tutorial/507_Planarization/main.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include @@ -28,7 +28,7 @@ Eigen::MatrixXd PQC0plan, PQC1plan, PQC2plan, PQC3plan; double global_scale; //TODO: not used -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { using namespace std; using namespace Eigen; @@ -37,7 +37,7 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) if (key == '1') { // Draw the triangulated quad mesh - viewer.data.set_mesh(VQC, FQCtri); + viewer.data().set_mesh(VQC, FQCtri); // Assign a color to each quad that corresponds to its planarity VectorXd planarity; @@ -46,20 +46,20 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) igl::jet(planarity, 0, 0.01, Ct); MatrixXd C(FQCtri.rows(),3); C << Ct, Ct; - viewer.data.set_colors(C); + viewer.data().set_colors(C); // Plot a line for each edge of the quad mesh - viewer.data.add_edges(PQC0, PQC1, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC1, PQC2, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC2, PQC3, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC3, PQC0, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC0, PQC1, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC1, PQC2, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC2, PQC3, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC3, PQC0, Eigen::RowVector3d(0,0,0)); } // Plot the planarized quad mesh if (key == '2') { // Draw the triangulated quad mesh - viewer.data.set_mesh(VQCplan, FQCtri); + viewer.data().set_mesh(VQCplan, FQCtri); // Assign a color to each quad that corresponds to its planarity VectorXd planarity; @@ -68,13 +68,13 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) igl::jet(planarity, 0, 0.01, Ct); MatrixXd C(FQCtri.rows(),3); C << Ct, Ct; - viewer.data.set_colors(C); + viewer.data().set_colors(C); // Plot a line for each edge of the quad mesh - viewer.data.add_edges(PQC0plan, PQC1plan, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC1plan, PQC2plan, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC2plan, PQC3plan, Eigen::RowVector3d(0,0,0)); - viewer.data.add_edges(PQC3plan, PQC0plan, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC0plan, PQC1plan, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC1plan, PQC2plan, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC2plan, PQC3plan, Eigen::RowVector3d(0,0,0)); + viewer.data().add_edges(PQC3plan, PQC0plan, Eigen::RowVector3d(0,0,0)); } return false; @@ -107,10 +107,10 @@ int main(int argc, char *argv[]) igl::slice( VQCplan, FQC.col(3).eval(), 1, PQC3plan); // Launch the viewer - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; key_down(viewer,'2',0); - viewer.core.invert_normals = true; - viewer.core.show_lines = false; + viewer.data().invert_normals = true; + viewer.data().show_lines = false; viewer.callback_key_down = &key_down; viewer.launch(); } diff --git a/tutorial/507_PolyVectorField/CMakeLists.txt b/tutorial/507_PolyVectorField/CMakeLists.txt deleted file mode 100644 index 744cd6c4b..000000000 --- a/tutorial/507_PolyVectorField/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(507_PolyVectorField) - -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) diff --git a/tutorial/507_PolyVectorField/main.cpp b/tutorial/507_PolyVectorField/main.cpp deleted file mode 100755 index 8f11a2592..000000000 --- a/tutorial/507_PolyVectorField/main.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tutorial_shared_path.h" - -// Input mesh -Eigen::MatrixXd V; -Eigen::MatrixXi F; - -// Per face bases -Eigen::MatrixXd B1,B2,B3; - -// Face barycenters -Eigen::MatrixXd B; - -// Scale for visualizing the fields -double global_scale; - -// Random length factor -double rand_factor = 5; - -Eigen::VectorXi samples; - -void readSamples(const std::string &fname, Eigen::VectorXi &samples) -{ - int numSamples; - FILE *fp = fopen(fname.c_str(),"r"); - if (fscanf(fp, "%d", &numSamples)!=1) - { - fclose(fp); - return; - } - samples.resize(numSamples,1); - int vali; - for (int i =0; i'8') - return false; - - viewer.data.lines.resize(0,9); - - int num = key - '0'; - - // Interpolate - std::cerr << "Interpolating " << num * 2 << "-PolyVector field" << std::endl; - - VectorXi b(4); - b << 4550, 2321, 5413, 5350; - - MatrixXd bc(b.size(),num*3); - for (unsigned i=0; i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tutorial_shared_path.h" - -// Input mesh -Eigen::MatrixXd V; -Eigen::MatrixXi F; - -// Face barycenters -Eigen::MatrixXd B; - -// Scale for visualizing the fields -double global_scale; - -// Input constraints -Eigen::VectorXi b; -Eigen::MatrixXd bc; - -Eigen::MatrixXd smooth_pvf; -Eigen::MatrixXd conjugate_pvf; -Eigen::VectorXd conjugacy_s; -Eigen::VectorXd conjugacy_c; - - -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) -{ - using namespace std; - using namespace Eigen; - - if (key <'1' || key >'5') - return false; - - viewer.data.lines.resize(0,9); - // Highlight in red the constrained faces - MatrixXd C = MatrixXd::Constant(F.rows(),3,1); - for (unsigned i=0; i csdata(V,F); - conjugate_pvf = smooth_pvf; - - - // Optimize the field - int conjIter = 20; - double lambdaOrtho = .1; - double lambdaInit = 100; - double lambdaMultFactor = 1.01; - bool doHardConstraints = true; - VectorXi isConstrained = VectorXi::Constant(F.rows(),0); - for (unsigned i=0; i pvU, pvV; - pvU.resize(F.rows(),2); pvV.resize(F.rows(),2); - //smooth - const Eigen::MatrixXd &Us = smooth_pvf.leftCols(3); - const Eigen::MatrixXd &Vs = smooth_pvf.rightCols(3); - pvU << igl::dot_row(Us,B1), igl::dot_row(Us,B2); - pvV << igl::dot_row(Vs,B1), igl::dot_row(Vs,B2); - csdata.evaluateConjugacy(pvU, pvV, conjugacy_s); - //conjugate - const Eigen::MatrixXd &Uc = conjugate_pvf.leftCols(3); - const Eigen::MatrixXd &Vc = conjugate_pvf.rightCols(3); - pvU << igl::dot_row(Uc,B1), igl::dot_row(Uc,B2); - pvV << igl::dot_row(Vc,B1), igl::dot_row(Vc,B2); - csdata.evaluateConjugacy(pvU, pvV, conjugacy_c); - // Launch the viewer - igl::viewer::Viewer viewer; - viewer.core.invert_normals = true; - viewer.core.show_lines = false; - viewer.core.show_texture = false; - viewer.data.set_mesh(V, F); - viewer.callback_key_down = &key_down; - key_down(viewer,'1',0); - viewer.launch(); -} diff --git a/tutorial/509_Planarization/CMakeLists.txt b/tutorial/509_Planarization/CMakeLists.txt deleted file mode 100644 index b98ad558c..000000000 --- a/tutorial/509_Planarization/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(509_Planarization) - -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) diff --git a/tutorial/510_Integrable/CMakeLists.txt b/tutorial/510_Integrable/CMakeLists.txt deleted file mode 100644 index 626991ee9..000000000 --- a/tutorial/510_Integrable/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(510_Integrable) - -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) diff --git a/tutorial/510_Integrable/main.cpp b/tutorial/510_Integrable/main.cpp deleted file mode 100644 index c70c44826..000000000 --- a/tutorial/510_Integrable/main.cpp +++ /dev/null @@ -1,721 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "tutorial_shared_path.h" - -using namespace std; - -// Input mesh -Eigen::MatrixXd V; -Eigen::MatrixXi F; -std::vector V_border; -std::vector > VF, VFi; -std::vector > VV; -Eigen::MatrixXi TT, TTi; -Eigen::MatrixXi E, E2F, F2E; - -// Per face bases (only needed to generate constraints) -Eigen::MatrixXd B1,B2,B3; - -// "Subdivided" mesh obtained by splitting each triangle into 3 (only needed for display) -Eigen::MatrixXd Vbs; -Eigen::MatrixXi Fbs; - -// Scale for visualizing the fields -double global_scale; - -// Scale for visualizing textures -double uv_scale; - -// Data for original PolyVector field -Eigen::MatrixXd two_pv_ori; // field -Eigen::VectorXi singularities_ori; // singularities -Eigen::VectorXd curl_ori; // curl per edge -Eigen::MatrixXi cuts_ori; // cut edges -Eigen::MatrixXd two_pv_poisson_ori; // field after poisson integration -Eigen::VectorXf poisson_error_ori; // poisson integration error -Eigen::MatrixXd scalars_ori; -Eigen::MatrixXd Vcut_ori; -Eigen::MatrixXi Fcut_ori; - -// Data for curl-free PolyVector field -Eigen::MatrixXd two_pv; // field -Eigen::VectorXi singularities; // singularities -Eigen::VectorXd curl; // curl per edge -Eigen::MatrixXi cuts; // cut edges -Eigen::MatrixXd two_pv_poisson; // field after poisson integration -Eigen::VectorXf poisson_error; // poisson integration error -Eigen::MatrixXd scalars; -Eigen::MatrixXd Vcut; -Eigen::MatrixXi Fcut; - -// Vector of constrained faces -Eigen::VectorXi b; - -// Matrix of constraints -Eigen::MatrixXd bc; - -// "constraint level" flag (level=2 indicates that both directions are constrained, -// level = 1 indicates a partially constrained face, i.e. only the first vector will -// be constrained) -Eigen::VectorXi blevel; - -// Face Barycenters (only needed for display) -Eigen::MatrixXd B; - -// percentage of constrained faces -double constraint_percentage = 0.002; - -// Random length factor -double rand_factor = 5; - -// The set of parameters for calculating the curl-free fields -igl::integrable_polyvector_fields_parameters params; - -// Solver data (needed for precomputation) -igl::IntegrableFieldSolverData ipfdata; - -//texture image -Eigen::Matrix texture_R, texture_G, texture_B; - -int display_mode = 1; - -int iter = 0; - -// Create a texture that hides the integer translation in the parametrization -void line_texture(Eigen::Matrix &texture_R, - Eigen::Matrix &texture_G, - Eigen::Matrix &texture_B) -{ - unsigned size = 128; - unsigned size2 = size/2; - unsigned lineWidth = 3; - texture_R.setConstant(size, size, 255); - for (unsigned i=0; i0) - color.row(i)<<0.7,0.7,0.7; - // Eigen::RowVector3d color; color<<0.5,0.5,0.5; - viewer.data.add_edges(Bc - global_scale*bc.block(0,n*3,bc.rows(),3), Bc + global_scale*bc.block(0,n*3,bc.rows(),3) , color); - } - -} - - -void colorEdgeMeshFaces(const Eigen::VectorXd &values, - const double &minimum, - const double &maximum, - Eigen::MatrixXd &C) -{ - C.setConstant(Fbs.rows(),3,1); - - Eigen::MatrixXd colors; - igl::jet(values, minimum, maximum, colors); - - for (int ei = 0; ei -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -// Input mesh -Eigen::MatrixXd V; -Eigen::MatrixXi F; - -// Per face bases -Eigen::MatrixXd B1,B2,B3; - -// Face barycenters -Eigen::MatrixXd B; - -// Scale for visualizing the fields -double global_scale; - -// Random length factor -double rand_factor = 5; - -Eigen::VectorXi samples; - -void readSamples(const std::string &fname, Eigen::VectorXi &samples) -{ - int numSamples; - FILE *fp = fopen(fname.c_str(),"r"); - if (fscanf(fp, "%d", &numSamples)!=1) - { - fclose(fp); - return; - } - samples.resize(numSamples,1); - int vali; - for (int i =0; i'9') - return false; - - viewer.data.lines.resize(0,9); - - int num = key - '0'; - - // Interpolate - std::cerr << "Interpolating " << num << "-PolyVector field" << std::endl; - - VectorXi b(3); - b << 1511, 603, 506; - - int numConstraintsToGenerate; - // if it's not a 2-PV or a 1-PV, include a line direction (2 opposite vectors) - // in the field - if (num>=5) - numConstraintsToGenerate = num-2; - else - if (num>=3) - numConstraintsToGenerate = num-1; - else - numConstraintsToGenerate = num; - - - MatrixXd bc(b.size(),numConstraintsToGenerate*3); - for (unsigned i=0; i=5) - rootsIndex[num-2] = -2; - if (num>=3) - rootsIndex[num-1] = -1; - - // Interpolated PolyVector field - Eigen::MatrixXd pvf; - igl::n_polyvector_general(V, F, b, bc, rootsIndex, pvf); - - ofstream ofs; - ofs.open("pvf.txt", ofstream::out); - ofs< #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -17,7 +17,7 @@ Engine* engine; // Eigenvectors of the laplacian Eigen::MatrixXd EV; -void plotEV(igl::viewer::Viewer& viewer, int id) +void plotEV(igl::opengl::glfw::Viewer& viewer, int id) { Eigen::VectorXd v = EV.col(id); v = v.array() - v.minCoeff(); @@ -32,11 +32,11 @@ void plotEV(igl::viewer::Viewer& viewer, int id) C.row(i) << r,g,b; } - viewer.data.set_colors(C); + viewer.data().set_colors(C); } // This function is called every time a keyboard button is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key >= '1' && key <= '9') plotEV(viewer,(key - '1') + 1); @@ -65,16 +65,16 @@ int main(int argc, char *argv[]) // Extract the first 10 eigenvectors igl::matlab::mleval(&engine,"[EV,~] = eigs(-L,10,'sm')"); - // Plot the size of EV (only for demostration purposes) + // Plot the size of EV (only for demonstration purposes) std::cerr << igl::matlab::mleval(&engine,"size(EV)") << std::endl; // Retrieve the result igl::matlab::mlgetmatrix(&engine,"EV",EV); // Plot the mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); // Plot the first non-trivial eigenvector plotEV(viewer,1); diff --git a/tutorial/604_Triangle/CMakeLists.txt b/tutorial/604_Triangle/CMakeLists.txt index a0d25d621..7261d33ee 100644 --- a/tutorial/604_Triangle/CMakeLists.txt +++ b/tutorial/604_Triangle/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(604_Triangle) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_TRIANGLE_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::triangle tutorials) diff --git a/tutorial/604_Triangle/main.cpp b/tutorial/604_Triangle/main.cpp index ea5d60056..3167f4e8d 100755 --- a/tutorial/604_Triangle/main.cpp +++ b/tutorial/604_Triangle/main.cpp @@ -1,4 +1,4 @@ -#include +#include #include // Input polygon Eigen::MatrixXd V; @@ -31,7 +31,7 @@ int main(int argc, char *argv[]) igl::triangle::triangulate(V,E,H,"a0.005q",V2,F2); // Plot the generated mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V2,F2); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V2,F2); viewer.launch(); } diff --git a/tutorial/605_Tetgen/CMakeLists.txt b/tutorial/605_Tetgen/CMakeLists.txt index 8adc93ff1..391af8e91 100644 --- a/tutorial/605_Tetgen/CMakeLists.txt +++ b/tutorial/605_Tetgen/CMakeLists.txt @@ -1,7 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(605_Tetgen) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) add_executable(${PROJECT_NAME}_bin main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_TETGEN_EXTRA_LIBRARIES}) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::tetgen tutorials) diff --git a/tutorial/605_Tetgen/main.cpp b/tutorial/605_Tetgen/main.cpp index edc109acf..29de1c198 100755 --- a/tutorial/605_Tetgen/main.cpp +++ b/tutorial/605_Tetgen/main.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -16,7 +16,7 @@ Eigen::MatrixXi TT; Eigen::MatrixXi TF; // This function is called every time a keyboard button is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { using namespace std; using namespace Eigen; @@ -49,9 +49,9 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) F_temp.row(i*4+3) << (i*4)+1, (i*4)+2, (i*4)+3; } - viewer.data.clear(); - viewer.data.set_mesh(V_temp,F_temp); - viewer.data.set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V_temp,F_temp); + viewer.data().set_face_based(true); } @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) igl::barycenter(TV,TT,B); // Plot the generated mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; key_down(viewer,'5',0); viewer.launch(); diff --git a/tutorial/606_AmbientOcclusion/CMakeLists.txt b/tutorial/606_AmbientOcclusion/CMakeLists.txt index 46924cd97..d0ec26931 100644 --- a/tutorial/606_AmbientOcclusion/CMakeLists.txt +++ b/tutorial/606_AmbientOcclusion/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(606_AmbientOcclusion) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_EMBREE_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::embree tutorials) diff --git a/tutorial/606_AmbientOcclusion/main.cpp b/tutorial/606_AmbientOcclusion/main.cpp index 17a997f74..d2fa29dca 100755 --- a/tutorial/606_AmbientOcclusion/main.cpp +++ b/tutorial/606_AmbientOcclusion/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -14,7 +14,7 @@ Eigen::MatrixXi F; Eigen::VectorXd AO; // It allows to change the degree of the field when a number is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { using namespace Eigen; using namespace std; @@ -23,7 +23,7 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) { case '1': // Show the mesh without the ambient occlusion factor - viewer.data.set_colors(color); + viewer.data().set_colors(color); break; case '2': { @@ -31,7 +31,7 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) MatrixXd C = color.replicate(V.rows(),1); for (unsigned i=0; i(AO(i)+0.2,1); - viewer.data.set_colors(C); + viewer.data().set_colors(C); break; } case '.': @@ -69,11 +69,11 @@ int main(int argc, char *argv[]) AO = 1.0 - AO.array(); // Show mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); viewer.callback_key_down = &key_down; key_down(viewer,'2',0); - viewer.core.show_lines = false; + viewer.data().show_lines = false; viewer.core.lighting_factor = 0.0f; viewer.launch(); } diff --git a/tutorial/607_ScreenCapture/CMakeLists.txt b/tutorial/607_ScreenCapture/CMakeLists.txt index e26fb4a0f..bf18bdd55 100644 --- a/tutorial/607_ScreenCapture/CMakeLists.txt +++ b/tutorial/607_ScreenCapture/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(607_ScreenCapture) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_PNG_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::png tutorials) diff --git a/tutorial/607_ScreenCapture/main.cpp b/tutorial/607_ScreenCapture/main.cpp index d0846c4eb..8894a3af8 100755 --- a/tutorial/607_ScreenCapture/main.cpp +++ b/tutorial/607_ScreenCapture/main.cpp @@ -1,12 +1,12 @@ #include -#include +#include #include #include "tutorial_shared_path.h" #include #include // This function is called every time a keyboard button is pressed -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == '1') { @@ -17,7 +17,8 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) Eigen::Matrix A(1280,800); // Draw the scene in the buffers - viewer.core.draw_buffer(viewer.data,viewer.opengl,false,R,G,B,A); + viewer.core.draw_buffer( + viewer.data(),false,R,G,B,A); // Save it to a PNG igl::png::writePNG(R,G,B,A,"out.png"); @@ -49,14 +50,14 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) 1,1, 0,1; - viewer.data.clear(); - viewer.data.set_mesh(V,F); - viewer.data.set_uv(UV); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_uv(UV); viewer.core.align_camera_center(V); - viewer.core.show_texture = true; + viewer.data().show_texture = true; // Use the image as a texture - viewer.data.set_texture(R,G,B); + viewer.data().set_texture(R,G,B); } @@ -75,8 +76,8 @@ int main(int argc, char *argv[]) std::cerr << "Press 2 to load the saved png and use it as a texture." << std::endl; // Plot the mesh and register the callback - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.launch(); } diff --git a/tutorial/608_LIM/CMakeLists.txt b/tutorial/608_LIM/CMakeLists.txt index 697304551..39c442e6f 100644 --- a/tutorial/608_LIM/CMakeLists.txt +++ b/tutorial/608_LIM/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(608_LIM) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_LIM_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::lim igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/608_LIM/main.cpp b/tutorial/608_LIM/main.cpp index 6b4b4bb69..15fb0158f 100644 --- a/tutorial/608_LIM/main.cpp +++ b/tutorial/608_LIM/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include "tutorial_shared_path.h" @@ -22,12 +22,12 @@ bool barriersEnabled; // This function is called every time a keyboard button is pressed // keys: 0:Original Mesh / 1:Harmonic / 2:Biharmonic / 3:Green / 4:ARAP -bool key_down(igl::viewer::Viewer& viewer,unsigned char key,int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer,unsigned char key,int modifier) { using namespace std; using namespace Eigen; - if(key >= '0' && key <= '5' || key == 'B') + if((key >= '0' && key <= '5') || key == 'B') { // compute locally injective map Energy energy = Energy(key - '1'); @@ -50,7 +50,7 @@ bool key_down(igl::viewer::Viewer& viewer,unsigned char key,int modifier) } // set mesh - viewer.data.set_vertices(V1); + viewer.data().set_vertices(V1); return true; } @@ -106,10 +106,10 @@ int main(int argc, char *argv[]) lim(V1,V0,F,C,b,energyType,1e-8,100,true,true,barriersEnabled,true,-1,-1); // Show mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; - viewer.data.set_mesh(V1, F); - viewer.core.show_lines = true; + viewer.data().set_mesh(V1, F); + viewer.data().show_lines = true; viewer.core.lighting_factor = 0.0f; viewer.launch(); } diff --git a/tutorial/609_Boolean/CMakeLists.txt b/tutorial/609_Boolean/CMakeLists.txt index 1320c330e..63697a72b 100644 --- a/tutorial/609_Boolean/CMakeLists.txt +++ b/tutorial/609_Boolean/CMakeLists.txt @@ -1,8 +1,6 @@ -cmake_minimum_required(VERSION 2.8.12) -project(609_Boolean) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_CGAL_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::cgal igl::opengl igl::opengl_glfw tutorials) +igl_copy_cgal_dll(${PROJECT_NAME}_bin) diff --git a/tutorial/609_Boolean/main.cpp b/tutorial/609_Boolean/main.cpp index decc730f5..ef849de67 100755 --- a/tutorial/609_Boolean/main.cpp +++ b/tutorial/609_Boolean/main.cpp @@ -1,8 +1,7 @@ #include -//#define IGL_NO_CORK //#undef IGL_STATIC_LIBRARY #include -#include +#include #include #include @@ -24,7 +23,7 @@ const char * MESH_BOOLEAN_TYPE_NAMES[] = "Resolve", }; -void update(igl::viewer::Viewer &viewer) +void update(igl::opengl::glfw::Viewer &viewer) { igl::copyleft::cgal::mesh_boolean(VA,FA,VB,FB,boolean_type,VC,FC,J); Eigen::MatrixXd C(FC.rows(),3); @@ -38,13 +37,13 @@ void update(igl::viewer::Viewer &viewer) C.row(f) = Eigen::RowVector3d(0,1,0); } } - viewer.data.clear(); - viewer.data.set_mesh(VC,FC); - viewer.data.set_colors(C); + viewer.data().clear(); + viewer.data().set_mesh(VC,FC); + viewer.data().set_colors(C); std::cout<<"A "< #include -#include +#include #include #include @@ -24,19 +24,19 @@ int main(int argc, char * argv[]) read_triangle_mesh(TUTORIAL_SHARED_PATH "/xcylinder.obj",VC,FC); read_triangle_mesh(TUTORIAL_SHARED_PATH "/ycylinder.obj",VD,FD); read_triangle_mesh(TUTORIAL_SHARED_PATH "/zcylinder.obj",VE,FE); - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; int num_views = 5+4; int view_id = num_views-1; const auto & update = [&]() { - viewer.data.clear(); + viewer.data().clear(); // CSGTree templated on type of F VectorXd I; const auto & set_mesh = [&](const MatrixXd & V, const MatrixXi & F, const int i) { - viewer.data.set_mesh(V,F); + viewer.data().set_mesh(V,F); I = VectorXd::Constant(F.rows(),1,i); }; switch(view_id) @@ -85,7 +85,7 @@ int main(int argc, char * argv[]) default: assert(false && "unknown view id"); } - viewer.data.set_mesh(M.cast_V(),M.F()); + viewer.data().set_mesh(M.cast_V(),M.F()); I.resize(M.F().rows(),1); // Compute colors based on original facets for(int f = 0;fbool + [&](igl::opengl::glfw::Viewer &viewer, unsigned char key, int mods)->bool { switch(key) { diff --git a/tutorial/701_Statistics/CMakeLists.txt b/tutorial/701_Statistics/CMakeLists.txt index ab4b7c39e..c4ce2b52d 100644 --- a/tutorial/701_Statistics/CMakeLists.txt +++ b/tutorial/701_Statistics/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(701_Statistics) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/702_WindingNumber/CMakeLists.txt b/tutorial/702_WindingNumber/CMakeLists.txt index fca227135..c4ce2b52d 100644 --- a/tutorial/702_WindingNumber/CMakeLists.txt +++ b/tutorial/702_WindingNumber/CMakeLists.txt @@ -1,7 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(702_WindingNumber) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) add_executable(${PROJECT_NAME}_bin main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/702_WindingNumber/main.cpp b/tutorial/702_WindingNumber/main.cpp index d1ea824b6..f9ff70e36 100755 --- a/tutorial/702_WindingNumber/main.cpp +++ b/tutorial/702_WindingNumber/main.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include @@ -23,7 +23,7 @@ enum OverLayType NUM_OVERLAY = 3, } overlay = OVERLAY_NONE; -void update_visualization(igl::viewer::Viewer & viewer) +void update_visualization(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -32,8 +32,16 @@ void update_visualization(igl::viewer::Viewer & viewer) MatrixXd V_vis; MatrixXi F_vis; VectorXi J; - SparseMatrix bary; - igl::slice_tets(V,T,plane,V_vis,F_vis,J,bary); + { + SparseMatrix bary; + // Value of plane's implicit function at all vertices + const VectorXd IV = + (V.col(0)*plane(0) + + V.col(1)*plane(1) + + V.col(2)*plane(2)).array() + + plane(3); + igl::slice_tets(V,T,IV,V_vis,F_vis,J,bary); + } VectorXd W_vis; igl::slice(W,J,W_vis); MatrixXd C_vis; @@ -64,13 +72,13 @@ void update_visualization(igl::viewer::Viewer & viewer) default: break; } - viewer.data.clear(); - viewer.data.set_mesh(V_vis,F_vis); - viewer.data.set_colors(C_vis); - viewer.data.set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V_vis,F_vis); + viewer.data().set_colors(C_vis); + viewer.data().set_face_based(true); } -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int mod) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int mod) { switch(key) { @@ -134,7 +142,7 @@ int main(int argc, char *argv[]) W = (W.array() - W.minCoeff())/(W.maxCoeff()-W.minCoeff()); // Plot the generated mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; update_visualization(viewer); viewer.callback_key_down = &key_down; viewer.launch(); diff --git a/tutorial/703_Decimation/CMakeLists.txt b/tutorial/703_Decimation/CMakeLists.txt index 8dac873c4..c4ce2b52d 100644 --- a/tutorial/703_Decimation/CMakeLists.txt +++ b/tutorial/703_Decimation/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(703_Decimation) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/703_Decimation/main.cpp b/tutorial/703_Decimation/main.cpp index 4a7631614..002cf1c5c 100755 --- a/tutorial/703_Decimation/main.cpp +++ b/tutorial/703_Decimation/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include #include @@ -28,7 +28,7 @@ int main(int argc, char * argv[]) MatrixXi F,OF; read_triangle_mesh(filename,OV,OF); - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; // Prepare array-based edge data structures and priority queue VectorXi EMAP; @@ -60,12 +60,12 @@ int main(int argc, char * argv[]) Qit[e] = Q.insert(std::pair(cost,e)).first; } num_collapsed = 0; - viewer.data.clear(); - viewer.data.set_mesh(V,F); - viewer.data.set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); }; - const auto &pre_draw = [&](igl::viewer::Viewer & viewer)->bool + const auto &pre_draw = [&](igl::opengl::glfw::Viewer & viewer)->bool { // If animating then collapse 10% of edges if(viewer.core.is_animating && !Q.empty()) @@ -86,16 +86,16 @@ int main(int argc, char * argv[]) if(something_collapsed) { - viewer.data.clear(); - viewer.data.set_mesh(V,F); - viewer.data.set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); } } return false; }; const auto &key_down = - [&](igl::viewer::Viewer &viewer,unsigned char key,int mod)->bool + [&](igl::opengl::glfw::Viewer &viewer,unsigned char key,int mod)->bool { switch(key) { diff --git a/tutorial/704_SignedDistance/CMakeLists.txt b/tutorial/704_SignedDistance/CMakeLists.txt index 7e42213c3..c4ce2b52d 100644 --- a/tutorial/704_SignedDistance/CMakeLists.txt +++ b/tutorial/704_SignedDistance/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(704_SignedDistance) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/704_SignedDistance/main.cpp b/tutorial/704_SignedDistance/main.cpp index 2d0bf2273..37e00b3dc 100755 --- a/tutorial/704_SignedDistance/main.cpp +++ b/tutorial/704_SignedDistance/main.cpp @@ -10,7 +10,8 @@ #include #include #include -#include +#include +#include #include #include @@ -27,7 +28,7 @@ double max_distance = 1; double slice_z = 0.5; bool overlay = false; -void update_visualization(igl::viewer::Viewer & viewer) +void update_visualization(igl::opengl::glfw::Viewer & viewer) { using namespace Eigen; using namespace std; @@ -40,7 +41,16 @@ void update_visualization(igl::viewer::Viewer & viewer) { VectorXi J; SparseMatrix bary; - igl::slice_tets(V,T,plane,V_vis,F_vis,J,bary); + { + // Value of plane's implicit function at all vertices + const VectorXd IV = + (V.col(0)*plane(0) + + V.col(1)*plane(1) + + V.col(2)*plane(2)).array() + + plane(3); + igl::slice_tets(V,T,IV,V_vis,F_vis,J,bary); + igl::writeOBJ("vis.obj",V_vis,F_vis); + } while(true) { MatrixXd l; @@ -91,13 +101,13 @@ void update_visualization(igl::viewer::Viewer & viewer) { append_mesh(V,F,RowVector3d(0.8,0.8,0.8)); } - viewer.data.clear(); - viewer.data.set_mesh(V_vis,F_vis); - viewer.data.set_colors(C_vis); + viewer.data().clear(); + viewer.data().set_mesh(V_vis,F_vis); + viewer.data().set_colors(C_vis); viewer.core.lighting_factor = overlay; } -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int mod) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int mod) { switch(key) { @@ -151,9 +161,9 @@ int main(int argc, char *argv[]) V,F,igl::PER_EDGE_NORMALS_WEIGHTING_TYPE_UNIFORM,FN,EN,E,EMAP); // Plot the generated mesh - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; update_visualization(viewer); viewer.callback_key_down = &key_down; - viewer.core.show_lines = false; + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/705_MarchingCubes/CMakeLists.txt b/tutorial/705_MarchingCubes/CMakeLists.txt index 54b8445a4..c4ce2b52d 100644 --- a/tutorial/705_MarchingCubes/CMakeLists.txt +++ b/tutorial/705_MarchingCubes/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(705_MarchingCubes) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/705_MarchingCubes/main.cpp b/tutorial/705_MarchingCubes/main.cpp index e43ba920b..e9f85c817 100755 --- a/tutorial/705_MarchingCubes/main.cpp +++ b/tutorial/705_MarchingCubes/main.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include @@ -63,29 +63,29 @@ int main(int argc, char * argv[]) '2' Show marching cubes contour of signed distance. '3' Show marching cubes contour of indicator function. )"; - igl::viewer::Viewer viewer; - viewer.data.set_mesh(SV,SF); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(SV,SF); viewer.callback_key_down = - [&](igl::viewer::Viewer & viewer, unsigned char key, int mod)->bool + [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool { switch(key) { default: return false; case '1': - viewer.data.clear(); - viewer.data.set_mesh(V,F); + viewer.data().clear(); + viewer.data().set_mesh(V,F); break; case '2': - viewer.data.clear(); - viewer.data.set_mesh(SV,SF); + viewer.data().clear(); + viewer.data().set_mesh(SV,SF); break; case '3': - viewer.data.clear(); - viewer.data.set_mesh(BV,BF); + viewer.data().clear(); + viewer.data().set_mesh(BV,BF); break; } - viewer.data.set_face_based(true); + viewer.data().set_face_based(true); return true; }; viewer.launch(); diff --git a/tutorial/706_FacetOrientation/CMakeLists.txt b/tutorial/706_FacetOrientation/CMakeLists.txt index 6c926d46e..d0ec26931 100644 --- a/tutorial/706_FacetOrientation/CMakeLists.txt +++ b/tutorial/706_FacetOrientation/CMakeLists.txt @@ -1,7 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(706_FacetOrientation) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) add_executable(${PROJECT_NAME}_bin main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES} ${LIBIGL_EMBREE_EXTRA_LIBRARIES}) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw igl::embree tutorials) diff --git a/tutorial/706_FacetOrientation/main.cpp b/tutorial/706_FacetOrientation/main.cpp index 271b5bd45..f1ddb29fd 100755 --- a/tutorial/706_FacetOrientation/main.cpp +++ b/tutorial/706_FacetOrientation/main.cpp @@ -4,13 +4,13 @@ #include #include #include -#include +#include #include #include #include #include -igl::viewer::Viewer viewer; +igl::opengl::glfw::Viewer viewer; Eigen::MatrixXd V; std::vector C(2); std::vector RGBcolors(2); @@ -44,12 +44,12 @@ S,s Scramble colors HSV.rightCols(2).setConstant(1.0); igl::hsv_to_rgb(HSV,RGBcolors[pass]); } - viewer.data.set_colors(RGBcolors[facetwise]); + viewer.data().set_colors(RGBcolors[facetwise]); }; viewer.callback_key_pressed = [&scramble_colors] - (igl::viewer::Viewer& /*viewer*/, unsigned int key, int mod)->bool + (igl::opengl::glfw::Viewer& /*viewer*/, unsigned int key, int mod)->bool { switch(key) { @@ -73,9 +73,9 @@ S,s Scramble colors break; } } - viewer.data.clear(); - viewer.data.set_mesh(V,is_showing_reoriented?FF[facetwise]:F); - viewer.data.set_colors(RGBcolors[facetwise]); + viewer.data().clear(); + viewer.data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); + viewer.data().set_colors(RGBcolors[facetwise]); return true; }; @@ -100,8 +100,8 @@ S,s Scramble colors } } - viewer.data.set_mesh(V,is_showing_reoriented?FF[facetwise]:F); - viewer.data.set_face_based(true); + viewer.data().set_mesh(V,is_showing_reoriented?FF[facetwise]:F); + viewer.data().set_face_based(true); scramble_colors(); viewer.launch(); } diff --git a/tutorial/707_SweptVolume/CMakeLists.txt b/tutorial/707_SweptVolume/CMakeLists.txt index 6dc97b5cd..c4ce2b52d 100644 --- a/tutorial/707_SweptVolume/CMakeLists.txt +++ b/tutorial/707_SweptVolume/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(707_SweptVolume) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/707_SweptVolume/main.cpp b/tutorial/707_SweptVolume/main.cpp index 66e08452b..ab1f5c749 100755 --- a/tutorial/707_SweptVolume/main.cpp +++ b/tutorial/707_SweptVolume/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include @@ -30,9 +30,9 @@ int main(int argc, char * argv[]) cout<bool + [&](igl::opengl::glfw::Viewer & viewer)->bool { if(!show_swept_volume) { @@ -51,13 +51,13 @@ int main(int argc, char * argv[]) VT = V*T.matrix().block(0,0,3,3).transpose(); Eigen::RowVector3d trans = T.matrix().block(0,3,3,1).transpose(); VT = ( VT.rowwise() + trans).eval(); - viewer.data.set_vertices(VT); - viewer.data.compute_normals(); + viewer.data().set_vertices(VT); + viewer.data().compute_normals(); } return false; }; viewer.callback_key_down = - [&](igl::viewer::Viewer & viewer, unsigned char key, int mod)->bool + [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool { switch(key) { @@ -65,21 +65,21 @@ int main(int argc, char * argv[]) return false; case ' ': show_swept_volume = !show_swept_volume; - viewer.data.clear(); + viewer.data().clear(); if(show_swept_volume) { - viewer.data.set_mesh(SV,SF); + viewer.data().set_mesh(SV,SF); Eigen::Vector3d ambient = Eigen::Vector3d(SILVER_AMBIENT[0], SILVER_AMBIENT[1], SILVER_AMBIENT[2]); Eigen::Vector3d diffuse = Eigen::Vector3d(SILVER_DIFFUSE[0], SILVER_DIFFUSE[1], SILVER_DIFFUSE[2]); Eigen::Vector3d specular = Eigen::Vector3d(SILVER_SPECULAR[0], SILVER_SPECULAR[1], SILVER_SPECULAR[2]); - viewer.data.uniform_colors(ambient,diffuse,specular); + viewer.data().uniform_colors(ambient,diffuse,specular); } else { - viewer.data.set_mesh(V,F); + viewer.data().set_mesh(V,F); } viewer.core.is_animating = !show_swept_volume; - viewer.data.set_face_based(true); + viewer.data().set_face_based(true); break; } return true; diff --git a/tutorial/708_Picking/CMakeLists.txt b/tutorial/708_Picking/CMakeLists.txt index b5407b975..c4ce2b52d 100644 --- a/tutorial/708_Picking/CMakeLists.txt +++ b/tutorial/708_Picking/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(708_Picking) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/708_Picking/main.cpp b/tutorial/708_Picking/main.cpp index 2522d06c9..b8c1b627c 100755 --- a/tutorial/708_Picking/main.cpp +++ b/tutorial/708_Picking/main.cpp @@ -1,7 +1,7 @@ #include "tutorial_shared_path.h" #include #include -#include +#include #include int main(int argc, char *argv[]) @@ -15,9 +15,9 @@ int main(int argc, char *argv[]) // Initialize white C = Eigen::MatrixXd::Constant(F.rows(),3,1); - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_mouse_down = - [&V,&F,&C](igl::viewer::Viewer& viewer, int, int)->bool + [&V,&F,&C](igl::opengl::glfw::Viewer& viewer, int, int)->bool { int fid; Eigen::Vector3f bc; @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) { // paint hit red C.row(fid)<<1,0,0; - viewer.data.set_colors(C); + viewer.data().set_colors(C); return true; } return false; @@ -39,8 +39,8 @@ int main(int argc, char *argv[]) )"; // Show mesh - viewer.data.set_mesh(V, F); - viewer.data.set_colors(C); - viewer.core.show_lines = false; + viewer.data().set_mesh(V, F); + viewer.data().set_colors(C); + viewer.data().show_lines = false; viewer.launch(); } diff --git a/tutorial/709_VectorFieldVisualizer/CMakeLists.txt b/tutorial/709_VectorFieldVisualizer/CMakeLists.txt deleted file mode 100644 index 947b24380..000000000 --- a/tutorial/709_VectorFieldVisualizer/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 2.8.12) -project(709_VectorFieldVisualizer) - -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_COMISO_EXTRA_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) diff --git a/tutorial/709_VectorFieldVisualizer/main.cpp b/tutorial/709_VectorFieldVisualizer/main.cpp deleted file mode 100644 index 27e34a445..000000000 --- a/tutorial/709_VectorFieldVisualizer/main.cpp +++ /dev/null @@ -1,161 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - - -// Mesh -Eigen::MatrixXd V; -Eigen::MatrixXi F; - -igl::StreamlineData sl_data; -igl::StreamlineState sl_state; - -int degree; // degree of the vector field -int half_degree; // degree/2 if treat_as_symmetric -bool treat_as_symmetric = true; - -int anim_t = 0; -int anim_t_dir = 1; - - -void representative_to_nrosy( - const Eigen::MatrixXd &V, - const Eigen::MatrixXi &F, - const Eigen::MatrixXd &R, - const int N, - Eigen::MatrixXd &Y) -{ - using namespace Eigen; - using namespace std; - MatrixXd B1, B2, B3; - - igl::local_basis(V, F, B1, B2, B3); - - Y.resize(F.rows(), 3 * N); - for (unsigned i = 0; i < F.rows(); ++i) - { - double x = R.row(i) * B1.row(i).transpose(); - double y = R.row(i) * B2.row(i).transpose(); - double angle = atan2(y, x); - - for (unsigned j = 0; j < N; ++j) - { - double anglej = angle + M_PI * double(j) / double(N); - double xj = cos(anglej); - double yj = sin(anglej); - Y.block(i, j * 3, 1, 3) = xj * B1.row(i) + yj * B2.row(i); - } - } -} - -bool pre_draw(igl::viewer::Viewer &viewer) -{ - using namespace Eigen; - using namespace std; - - if (!viewer.core.is_animating) - return false; - - igl::streamlines_next(V, F, sl_data, sl_state); - Eigen::RowVector3d color = Eigen::RowVector3d::Zero(); - double value = ((anim_t) % 100) / 100.; - - if (value > 0.5) - value = 1 - value; - value = value / 0.5; - igl::parula(value, color[0], color[1], color[2]); - - viewer.data.add_edges(sl_state.start_point, sl_state.end_point, color); - - anim_t += anim_t_dir; - - return false; -} - -bool key_down(igl::viewer::Viewer &viewer, unsigned char key, int modifier) -{ - if (key == ' ') - { - viewer.core.is_animating = !viewer.core.is_animating; - return true; - } - return false; -} - -int main(int argc, char *argv[]) -{ - using namespace Eigen; - using namespace std; - - - // Load a mesh in OFF format - igl::readOFF(TUTORIAL_SHARED_PATH "/bumpy.off", V, F); - // Create a Vector Field - Eigen::VectorXi b; - Eigen::MatrixXd bc; - Eigen::VectorXd S; // unused - - b.resize(1); - b << 0; - bc.resize(1, 3); - bc << 1, 1, 1; - - half_degree = 3; - treat_as_symmetric = true; - - Eigen::MatrixXd temp_field, temp_field2; - igl::copyleft::comiso::nrosy(V, F, b, bc, VectorXi(), VectorXd(), MatrixXd(), 1, 0.5, temp_field, S); - representative_to_nrosy(V, F, temp_field, half_degree, temp_field2); - - - igl::streamlines_init(V, F, temp_field2, treat_as_symmetric, sl_data, sl_state); - - - // Viewer Settings - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); - viewer.callback_pre_draw = &pre_draw; - viewer.callback_key_down = &key_down; - - viewer.core.show_lines = false; - - viewer.core.is_animating = false; - viewer.core.animation_max_fps = 30.; - - // Paint mesh grayish - Eigen::MatrixXd C; - C.setConstant(viewer.data.V.rows(), 3, .9); - viewer.data.set_colors(C); - - - // Draw vector field on sample points - igl::StreamlineState sl_state0; - sl_state0 = sl_state; - igl::streamlines_next(V, F, sl_data, sl_state0); - Eigen::MatrixXd v = sl_state0.end_point - sl_state0.start_point; - v.rowwise().normalize(); - - viewer.data.add_edges(sl_state0.start_point, - sl_state0.start_point + 0.059 * v, - Eigen::RowVector3d::Constant(1.0f)); - - cout << - "Press [space] to toggle animation" << endl; - viewer.launch(); -} diff --git a/tutorial/710_SLIM/CMakeLists.txt b/tutorial/710_SLIM/CMakeLists.txt index d113458a5..c4ce2b52d 100644 --- a/tutorial/710_SLIM/CMakeLists.txt +++ b/tutorial/710_SLIM/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(710_SLIM) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/710_SLIM/main.cpp b/tutorial/710_SLIM/main.cpp index b0de5f55d..2f711d322 100644 --- a/tutorial/710_SLIM/main.cpp +++ b/tutorial/710_SLIM/main.cpp @@ -12,7 +12,7 @@ #include "igl/harmonic.h" #include #include -#include +#include #include #include #include @@ -30,12 +30,12 @@ using namespace std; using namespace Eigen; void check_mesh_for_issues(Eigen::MatrixXd& V, Eigen::MatrixXi& F); -void param_2d_demo_iter(igl::viewer::Viewer& viewer); +void param_2d_demo_iter(igl::opengl::glfw::Viewer& viewer); void get_soft_constraint_for_circle(Eigen::MatrixXd& V_o, Eigen::MatrixXi& F, Eigen::VectorXi& b, Eigen::MatrixXd& bc); -void soft_const_demo_iter(igl::viewer::Viewer& viewer); -void deform_3d_demo_iter(igl::viewer::Viewer& viewer); +void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer); +void deform_3d_demo_iter(igl::opengl::glfw::Viewer& viewer); void get_cube_corner_constraints(Eigen::MatrixXd& V_o, Eigen::MatrixXi& F, Eigen::VectorXi& b, Eigen::MatrixXd& bc); -void display_3d_mesh(igl::viewer::Viewer& viewer); +void display_3d_mesh(igl::opengl::glfw::Viewer& viewer); void int_set_to_eigen_vector(const std::set& int_set, Eigen::VectorXi& vec); Eigen::MatrixXd V; @@ -53,7 +53,7 @@ enum DEMO_TYPE { }; DEMO_TYPE demo_type; -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier){ +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier){ if (key == ' ') { switch (demo_type) { case PARAM_2D: { @@ -76,7 +76,7 @@ bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier){ return false; } -void param_2d_demo_iter(igl::viewer::Viewer& viewer) { +void param_2d_demo_iter(igl::opengl::glfw::Viewer& viewer) { if (first_iter) { timer.start(); igl::read_triangle_mesh(TUTORIAL_SHARED_PATH "/face.obj", V, F); @@ -100,21 +100,21 @@ void param_2d_demo_iter(igl::viewer::Viewer& viewer) { slim_precompute(V,F,uv_init,sData, igl::SLIMData::SYMMETRIC_DIRICHLET, b,bc,0); uv_scale_param = 15 * (1./sqrt(sData.mesh_area)); - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.core.align_camera_center(V,F); - viewer.data.set_uv(sData.V_o*uv_scale_param); - viewer.data.compute_normals(); - viewer.core.show_texture = true; + viewer.data().set_uv(sData.V_o*uv_scale_param); + viewer.data().compute_normals(); + viewer.data().show_texture = true; first_iter = false; } else { slim_solve(sData,1); // 1 iter - viewer.data.set_uv(sData.V_o*uv_scale_param); + viewer.data().set_uv(sData.V_o*uv_scale_param); cout << "time = " << timer.getElapsedTime() << endl; } } -void soft_const_demo_iter(igl::viewer::Viewer& viewer) { +void soft_const_demo_iter(igl::opengl::glfw::Viewer& viewer) { if (first_iter) { igl::read_triangle_mesh(TUTORIAL_SHARED_PATH "/circle.obj", V, F); @@ -128,20 +128,20 @@ void soft_const_demo_iter(igl::viewer::Viewer& viewer) { double soft_const_p = 1e5; slim_precompute(V,F,V_0,sData,igl::SLIMData::SYMMETRIC_DIRICHLET,b,bc,soft_const_p); - viewer.data.set_mesh(V, F); + viewer.data().set_mesh(V, F); viewer.core.align_camera_center(V,F); - viewer.data.compute_normals(); - viewer.core.show_lines = true; + viewer.data().compute_normals(); + viewer.data().show_lines = true; first_iter = false; } else { slim_solve(sData,1); // 1 iter - viewer.data.set_mesh(sData.V_o, F); + viewer.data().set_mesh(sData.V_o, F); } } -void deform_3d_demo_iter(igl::viewer::Viewer& viewer) { +void deform_3d_demo_iter(igl::opengl::glfw::Viewer& viewer) { if (first_iter) { igl::readOBJ(TUTORIAL_SHARED_PATH "/cube_40k.obj", V, F); @@ -152,7 +152,7 @@ void deform_3d_demo_iter(igl::viewer::Viewer& viewer) { double soft_const_p = 1e5; sData.exp_factor = 5.0; slim_precompute(V,F,V_0,sData,igl::SLIMData::EXP_CONFORMAL,b,bc,soft_const_p); - cout << "precomputed" << endl; + //cout << "precomputed" << endl; first_iter = false; display_3d_mesh(viewer); @@ -163,7 +163,7 @@ void deform_3d_demo_iter(igl::viewer::Viewer& viewer) { } } -void display_3d_mesh(igl::viewer::Viewer& viewer) { +void display_3d_mesh(igl::opengl::glfw::Viewer& viewer) { MatrixXd V_temp; MatrixXi F_temp; Eigen::MatrixXd Barycenters; @@ -195,10 +195,10 @@ void display_3d_mesh(igl::viewer::Viewer& viewer) { F_temp.row(i*4+2) << (i*4)+3, (i*4)+2, (i*4)+0; F_temp.row(i*4+3) << (i*4)+1, (i*4)+2, (i*4)+3; } - viewer.data.set_mesh(V_temp,F_temp); + viewer.data().set_mesh(V_temp,F_temp); viewer.core.align_camera_center(V_temp,F_temp); - viewer.data.set_face_based(true); - viewer.core.show_lines = true; + viewer.data().set_face_based(true); + viewer.data().show_lines = true; } int main(int argc, char *argv[]) { @@ -232,14 +232,14 @@ int main(int argc, char *argv[]) { // Launch the viewer - igl::viewer::Viewer viewer; + igl::opengl::glfw::Viewer viewer; viewer.callback_key_down = &key_down; // Disable wireframe - viewer.core.show_lines = false; + viewer.data().show_lines = false; // Draw checkerboard texture - viewer.core.show_texture = false; + viewer.data().show_texture = false; // First iteration key_down(viewer, ' ', 0); diff --git a/tutorial/711_Subdivision/CMakeLists.txt b/tutorial/711_Subdivision/CMakeLists.txt index 779ba900a..c4ce2b52d 100644 --- a/tutorial/711_Subdivision/CMakeLists.txt +++ b/tutorial/711_Subdivision/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(711_Subdivision) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/711_Subdivision/main.cpp b/tutorial/711_Subdivision/main.cpp index a68ccc9ac..d11c5919e 100755 --- a/tutorial/711_Subdivision/main.cpp +++ b/tutorial/711_Subdivision/main.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include @@ -25,12 +25,12 @@ int main(int argc, char * argv[]) 3 Apply Loop subdivided mesh 4 Apply False barycentric subdivision )"; - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V,F); - viewer.data.set_face_based(true); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); viewer.callback_key_down = - [&](igl::viewer::Viewer & viewer, unsigned char key, int mod)->bool + [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool { switch(key) { @@ -59,9 +59,9 @@ int main(int argc, char * argv[]) break; } } - viewer.data.clear(); - viewer.data.set_mesh(V,F); - viewer.data.set_face_based(true); + viewer.data().clear(); + viewer.data().set_mesh(V,F); + viewer.data().set_face_based(true); return true; }; viewer.launch(); diff --git a/tutorial/712_DataSmoothing/CMakeLists.txt b/tutorial/712_DataSmoothing/CMakeLists.txt index cd71d8881..c4ce2b52d 100644 --- a/tutorial/712_DataSmoothing/CMakeLists.txt +++ b/tutorial/712_DataSmoothing/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) -project(712_DataSmoothing) +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) -add_executable(${PROJECT_NAME}_bin - main.cpp) -target_include_directories(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_INCLUDE_DIRS}) -target_compile_definitions(${PROJECT_NAME}_bin PRIVATE ${LIBIGL_DEFINITIONS}) -target_link_libraries(${PROJECT_NAME}_bin ${LIBIGL_LIBRARIES} ${LIBIGL_VIEWER_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_EXTRA_LIBRARIES} ${LIBIGL_OPENGL_GLFW_EXTRA_LIBRARIES}) +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/712_DataSmoothing/main.cpp b/tutorial/712_DataSmoothing/main.cpp index a1573dda3..8cb7fad2a 100755 --- a/tutorial/712_DataSmoothing/main.cpp +++ b/tutorial/712_DataSmoothing/main.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include @@ -64,11 +64,12 @@ int main(int argc, char * argv[]) Eigen::VectorXd zh = hessSolver.solve(ah*M*znoisy); //Viewer that shows all functions: zexact, znoisy, zl, zh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V,F); - viewer.core.show_lines = false; + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V,F); + viewer.data().show_lines = false; viewer.callback_key_down = - [&](igl::viewer::Viewer & viewer, unsigned char key, int mod)->bool { + [&](igl::opengl::glfw::Viewer & viewer, unsigned char key, int mod)->bool + { //Graduate result to show isolines, then compute color matrix const Eigen::VectorXd* z; switch(key) { @@ -91,10 +92,11 @@ int main(int argc, char * argv[]) Eigen::MatrixXi isoE; if(key!='2') igl::isolines(V, F, *z, 30, isoV, isoE); - viewer.data.set_edges(isoV,isoE,Eigen::RowVector3d(0,0,0)); + viewer.data().set_edges(isoV,isoE,Eigen::RowVector3d(0,0,0)); Eigen::MatrixXd colors; igl::jet(*z, true, colors); - viewer.data.set_colors(colors); + viewer.data().set_colors(colors); + return true; }; std::cout << R"(Usage: 1 Show original function diff --git a/tutorial/713_ShapeUp/CMakeLists.txt b/tutorial/713_ShapeUp/CMakeLists.txt new file mode 100644 index 000000000..c4ce2b52d --- /dev/null +++ b/tutorial/713_ShapeUp/CMakeLists.txt @@ -0,0 +1,5 @@ +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) +project(${PROJECT_NAME}) + +add_executable(${PROJECT_NAME}_bin main.cpp) +target_link_libraries(${PROJECT_NAME}_bin igl::core igl::opengl igl::opengl_glfw tutorials) diff --git a/tutorial/713_ShapeUp/main.cpp b/tutorial/713_ShapeUp/main.cpp new file mode 100755 index 000000000..026e7a477 --- /dev/null +++ b/tutorial/713_ShapeUp/main.cpp @@ -0,0 +1,155 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tutorial_shared_path.h" + +// Quad mesh loaded +Eigen::MatrixXd VQC; +Eigen::MatrixXi FQC; +Eigen::MatrixXi E; +Eigen::MatrixXi FQCtri; +Eigen::MatrixXd PQC0, PQC1, PQC2, PQC3; +// Euclidean-regular quad mesh +Eigen::MatrixXd VQCregular; +Eigen::MatrixXi FQCtriregular; +Eigen::MatrixXd PQC0regular, PQC1regular, PQC2regular, PQC3regular; + +igl::ShapeupData su_data; + + + +// Scale for visualizing the fields +double global_scale; //TODO: not used + +void quadAngleRegularity(const Eigen::MatrixXd& V, const Eigen::MatrixXi& Q, Eigen::VectorXd& angleRegularity) +{ + angleRegularity.conservativeResize(Q.rows()); + angleRegularity.setZero(); + for (int i=0;i - + libigl Tutorial - - - - + @@ -19,6 +16,7 @@
      +

      Libigl is an open source C++ library for geometry processing research and @@ -45,9 +43,10 @@ lecture notes links to a cross-platform example application.

    • 104 Scalar field visualization
    • 105 Overlays
    • 106 Viewer Menu
    • +
    • 107 Multiple Meshes
  • Chapter 2: Discrete Geometric Quantities and - Operators +Operators
  • Chapter 3: Matrices and Linear Algebra @@ -95,7 +95,7 @@ lecture notes links to a cross-platform example application.

  • 404 Dual Quaternion Skinning
  • 405 As-rigid-as-possible
  • 406 Fast automatic skinning - transformations +transformations
  • Chapter 6: External libraries @@ -125,8 +121,7 @@ lecture notes links to a cross-platform example application.

  • 603 Calling libigl functions from Matlab
  • 604 Triangulation of closed polygons
  • @@ -152,11 +147,12 @@ lecture notes links to a cross-platform example application.

  • 710 Scalable Locally Injective Maps
  • 711 Subdivision surfaces
  • 712 Data smoothing
  • +
  • 713 ShapeUp projection
  • Chapter 8: Outlook for continuing development
  • -

    Chapter 1

    +

    Chapter 1

    We introduce libigl with a series of self-contained examples. The purpose of each example is to showcase a feature of libigl while applying to a practical @@ -165,24 +161,24 @@ concepts of libigl and introduce a simple mesh viewer that allows to visualize a surface mesh and its attributes. All the tutorial examples are cross-platform and can be compiled on MacOSX, Linux and Windows.

    -

    libigl design principles

    +

    libigl design principles

    Before getting into the examples, we summarize the main design principles in libigl:

    1. No complex data types. We mostly use matrices and vectors. This greatly - favors code reusability and forces the function authors to expose all the - parameters used by the algorithm.

    2. +favors code reusability and forces the function authors to expose all the +parameters used by the algorithm.

    3. Minimal dependencies. We use external libraries only when necessary and - we wrap them in a small set of functions.

    4. +we wrap them in a small set of functions.

    5. Header-only. It is straight forward to use our library since it is only - one additional include directory in your project. (if you are worried about - compilation speed, it is also possible to build the library as a static - library)

    6. +one additional include directory in your project. (if you are worried about +compilation speed, it is also possible to build the library as a static +library)

    7. Function encapsulation. Every function (including its full - implementation) is contained in a pair of .h/.cpp files with the same name of - the function.

    8. +implementation) is contained in a pair of .h/.cpp files with the same name of +the function.

    Downloading libigl

    @@ -248,7 +244,7 @@ in 32 bit on windows.

    We provide a blank project example showing how to use libigl and cmake. Feel free and encouraged to copy or fork this project as a way of starting a new personal project using libigl.

    -

    Mesh representation

    +

    Mesh representation

    libigl uses the Eigen library to encode vector and matrices. We suggest that you keep the @@ -302,10 +298,10 @@ Similarly, a mesh can be written in an OBJ file using:

    Example 101 contains a simple mesh converter from OFF to OBJ format.

    -

    Visualizing surfaces

    +

    Visualizing surfaces

    Libigl provides an glfw-based OpenGL 3.2 viewer to visualize surfaces, their -properties and additional debugging informations.

    +properties and additional debugging information.

    The following code (Example 102) is a basic skeleton for all the examples that will be used in the tutorial. @@ -313,7 +309,7 @@ It is a standalone application that loads a mesh and uses the viewer to render it.

    #include <igl/readOFF.h>
    -#include <igl/viewer/Viewer.h>
    +#include <igl/opengl/glfw/Viewer.h>
     
     Eigen::MatrixXd V;
     Eigen::MatrixXi F;
    @@ -324,8 +320,8 @@ int main(int argc, char *argv[])
       igl::readOFF(TUTORIAL_SHARED_PATH "/bunny.off", V, F);
     
       // Plot the mesh
    -  igl::viewer::Viewer viewer;
    -  viewer.data.set_mesh(V, F);
    +  igl::opengl::glfw::Viewer viewer;
    +  viewer.data().set_mesh(V, F);
       viewer.launch();
     }
     
    @@ -335,16 +331,16 @@ int main(int argc, char *argv[]) Additional properties can be plotted on the mesh (as we will see later), and it is possible to extend the viewer with standard OpenGL code. Please see the documentation in -Viewer.h for more details.

    +Viewer.h for more details.

    -(Example 102) loads and draws a
+<img src=
    (Example 102) loads and draws a mesh.
    -

    Interaction with keyboard and mouse

    +

    Interaction with keyboard and mouse

    Keyboard and mouse events triggers callbacks that can be registered in the viewer. The viewer supports the following callbacks:

    @@ -363,18 +359,18 @@ bool (*callback_key_up)(Viewer& viewer, unsigned char key, int modifiers); stages of an algorithm, as demonstrated in Example 103, where the keyboard callback changes the visualized mesh depending on the key pressed:

    -
    bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier)
    +
    bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier)
     {
       if (key == '1')
       {
    -    viewer.data.clear();
    -    viewer.data.set_mesh(V1, F1);
    +    viewer.data().clear();
    +    viewer.data().set_mesh(V1, F1);
         viewer.core.align_camera_center(V1,F1);
       }
       else if (key == '2')
       {
    -    viewer.data.clear();
    -    viewer.data.set_mesh(V2, F2);
    +    viewer.data().clear();
    +    viewer.data().set_mesh(V2, F2);
         viewer.core.align_camera_center(V2,F2);
       }
       return false;
    @@ -395,14 +391,14 @@ control the camera directly in your code.

    The viewer can be extended using plugins, which are classes that implements all the viewer’s callbacks. See the -Viewer_plugin for more details.

    +Viewer_plugin for more details.

    -

    Scalar field visualization

    +

    Scalar field visualization

    Colors and normals can be associated to faces or vertices using the set_colors function:

    -
    viewer.data.set_colors(C);
    +
    viewer.data().set_colors(C);
     

    C is a #C by 3 matrix with one RGB color per row. C must have as many @@ -426,7 +422,7 @@ igl::jet(Z,true,C); vertex) and the second calls a libigl functions that converts a scalar field to colors. The second parameter of jet normalizes the scalar field to lie between 0 and 1 before applying the transfer function.

    -(Example 104) igl::jet converts a scalar field to a
+<img src=
    (Example 104) igl::jet converts a scalar field to a color field.
    @@ -436,21 +432,21 @@ color field. types and can be easily reused for many different tasks. Not committing to heavy data structures types favors simplicity, ease of use and reusability.

    -

    Overlays

    +

    Overlays

    -

    In addition to plotting the surface, the viewer supports the visualization of points, lines and text labels: these overlays can be very helpful while developing geometric processing algorithms to plot debug informations.

    +

    In addition to plotting the surface, the viewer supports the visualization of points, lines and text labels: these overlays can be very helpful while developing geometric processing algorithms to plot debug information.

    -
    viewer.data.add_points(P,Eigen::RowVector3d(r,g,b));
    +
    viewer.data().add_points(P,Eigen::RowVector3d(r,g,b));
     

    Draws a point of color r,g,b for each row of P. The point is placed at the coordinates specified in each row of P, which is a #P by 3 matrix.

    -
    viewer.data.add_edges(P1,P2,Eigen::RowVector3d(r,g,b);
    +
    viewer.data().add_edges(P1,P2,Eigen::RowVector3d(r,g,b);
     

    Draws a line of color r,g,b for each row of P1 and P2, which connects the 3D point in to the point in P2. Both P1 and P2 are of size #P by 3.

    -
    viewer.data.add_label(p,str);
    +
    viewer.data().add_label(p,str);
     

    Draws a label containing the string str at the position p, which is a vector of length 3.

    @@ -466,81 +462,135 @@ Eigen::Vector3d M = V.colwise().maxCoeff();
    -(Example 105) The bounding box of a mesh is shown
+<img src=
    (Example 105) The bounding box of a mesh is shown using overlays.
    -

    Viewer Menu

    +

    Viewer Menu

    -

    As of version 1.2 the viewer uses a new menu and completely replaces -AntTweakBar. It is based on the -open-source projects nanovg and -nanogui. To extend the default menu of the -viewer and to expose more user defined variables you have to define a callback -function:

    +

    As of latest version, the viewer uses a new menu and completely replaces +AntTweakBar and +nanogui with Dear ImGui. To extend the default menu of the +viewer and to expose more user defined variables you have to implement a custom interface, as in Example 106:

    -
    igl::viewer::Viewer viewer;
    -
    -bool boolVariable = true;
    -float floatVariable = 0.1f;
    -enum Orientation { Up=0,Down,Left,Right } dir = Up;
    -
    -// Extend viewer menu
    -viewer.callback_init = [&](igl::viewer::Viewer& viewer)
    +
    // Add content to the default menu window
    +menu.callback_draw_viewer_menu = [&]()
     {
    +  // Draw parent menu content
    +  menu.draw_viewer_menu();
    +
       // Add new group
    -  viewer.ngui->addGroup("New Group");
    +  if (ImGui::CollapsingHeader("New Group", ImGuiTreeNodeFlags_DefaultOpen))
    +  {
    +    // Expose variable directly ...
    +    ImGui::InputFloat("float", &floatVariable, 0, 0, 3);
     
    -  // Expose a variable directly ...
    -  viewer.ngui->addVariable("float",floatVariable);
    +    // ... or using a custom callback
    +    static bool boolVariable = true;
    +    if (ImGui::Checkbox("bool", &boolVariable))
    +    {
    +      // do something
    +      std::cout << "boolVariable: " << std::boolalpha << boolVariable << std::endl;
    +    }
     
    -  // Expose an enumaration type
    -  viewer.ngui->addVariable<Orientation>("Direction",dir)->setItems({"Up","Down","Left","Right"});
    +    // Expose an enumeration type
    +    enum Orientation { Up=0, Down, Left, Right };
    +    static Orientation dir = Up;
    +    ImGui::Combo("Direction", (int *)(&dir), "Up\0Down\0Left\0Right\0\0");
     
    -  // Add a button
    -  viewer.ngui->addButton("Print Hello",[](){ std::cout << "Hello\n"; });
    +    // We can also use a std::vector<std::string> defined dynamically
    +    static int num_choices = 3;
    +    static std::vector<std::string> choices;
    +    static int idx_choice = 0;
    +    if (ImGui::InputInt("Num letters", &num_choices))
    +    {
    +      num_choices = std::max(1, std::min(26, num_choices));
    +    }
    +    if (num_choices != (int) choices.size())
    +    {
    +      choices.resize(num_choices);
    +      for (int i = 0; i < num_choices; ++i)
    +        choices[i] = std::string(1, 'A' + i);
    +      if (idx_choice >= num_choices)
    +        idx_choice = num_choices - 1;
    +    }
    +    ImGui::Combo("Letter", &idx_choice, choices);
     
    -  // call to generate menu
    -  viewer.screen->performLayout();
    -  return false;
    +    // Add a button
    +    if (ImGui::Button("Print Hello", ImVec2(-1,0)))
    +    {
    +      std::cout << "Hello\n";
    +    }
    +  }
     };
    -
    -// start viewer
    -viewer.launch();
     
    -

    If you need a separate new menu window use:

    +

    If you need a separate new menu window implement:

    -
    viewer.ngui->addWindow(Eigen::Vector2i(220,10),"New Window");
    -
    +
    // Draw additional windows
    +menu.callback_draw_custom_window = [&]()
    +{
    +  // Define next window position + size
    +  ImGui::SetNextWindowPos(ImVec2(180.f * menu.menu_scaling(), 10), ImGuiSetCond_FirstUseEver);
    +  ImGui::SetNextWindowSize(ImVec2(200, 160), ImGuiSetCond_FirstUseEver);
    +  ImGui::Begin(
    +      "New Window", nullptr,
    +      ImGuiWindowFlags_NoSavedSettings
    +  );
     
    -

    If you do not want to expose variables directly but rather use the get/set functionality:

    + // Expose the same variable directly ... + ImGui::PushItemWidth(-80); + ImGui::DragFloat("float", &floatVariable, 0.0, 0.0, 3.0); + ImGui::PopItemWidth(); -
    // ... or using a custom callback
    -viewer.ngui->addVariable<bool>("bool",[&](bool val) {
    -  boolVariable = val; // setter
    -},[&]() {
    -  return boolVariable; // getter
    -});
    +  static std::string str = "bunny";
    +  ImGui::InputText("Name", str);
    +
    +  ImGui::End();
    +};
     
    -(Example 106) The UI of the viewer can be easily customized. -
    (Example 106) The UI of the viewer can be easily customized.
    +([Example 106](106_ViewerMenu/main.cpp)) The UI of the viewer can be easily
+customized. +
    (Example 106) The UI of the viewer can be easily +customized.
    +
    + +

    Multiple Meshes

    + +

    Libigl’s igl::opengl::glfw::Viewer provides basic support for rendering +multiple meshes.

    + +

    Which mesh is selected is controlled via the viewer.selected_data_index +field. By default it his is set to 0, so in the typical case of a single mesh +viewer.data() returns the igl::ViewerData corresponding to the one +and only mesh.

    + +
    +([Example 107](107_MultipleMeshes/main.cpp)) The `igl::opengl::glfw::Viewer`
+can render multiple meshes, each with its own attributes like
+colors. +
    (Example 107) The igl::opengl::glfw::Viewer +can render multiple meshes, each with its own attributes like +colors.

    Chapter 2: Discrete Geometric Quantities and Operators

    This chapter illustrates a few discrete quantities that libigl can compute on a mesh and the libigl functions that construct popular discrete differential -geometry operators. It also provides an introduction to basic drawing and coloring routines of our viewer.

    +geometry operators. It also provides an introduction to basic drawing and +coloring routines of our viewer.

    Normals

    Surface normals are a basic quantity necessary for rendering a surface. There -are a variety of ways to compute and store normals on a triangle mesh. Example 201 demonstrates how to compute and visualize normals with libigl.

    +are a variety of ways to compute and store normals on a triangle mesh. Example +201 demonstrates how to compute and visualize normals +with libigl.

    Per-face

    @@ -593,7 +643,7 @@ implements a simple scheme which computes corner normals as averages of normals of faces incident on the corresponding vertex which do not deviate by more than a specified dihedral angle (e.g. 20°).

    -The Normals example computes per-face (left), per-vertex (middle) and
+<img src=
    The Normals example computes per-face (left), per-vertex (middle) and per-corner (right) normals
    @@ -610,8 +660,8 @@ principal curvatures:

    not the surface’s embedding.

    Intuitively, Gaussian curvature tells how locally spherical or elliptic the -surface is ( \(k_G>0\) ), how locally saddle-shaped or hyperbolic the surface -is ( \(k_G<0\) ), or how locally cylindrical or parabolic ( \(k_G=0\) ) the +surface is ( \(k_G>0\) ), how locally saddle-shaped or hyperbolic the surface +is ( \(k_G<0\) ), or how locally cylindrical or parabolic ( \(k_G=0\) ) the surface is.

    In the discrete setting, one definition for a “discrete Gaussian curvature” @@ -620,13 +670,13 @@ on a triangle mesh is via a vertex’s angular deficit:

    \(k_G(v_i) = 2π - \sum\limits_{j\in N(i)}θ_{ij},\)

    where \(N(i)\) are the triangles incident on vertex \(i\) and \(θ_{ij}\) is the angle -at vertex \(i\) in triangle \(j\) [1].

    +at vertex \(i\) in triangle \(j\) (1).

    Just like the continuous analog, our discrete Gaussian curvature reveals -elliptic, hyperbolic and parabolic vertices on the domain, as demonstrated in Example 202.

    +elliptic, hyperbolic and parabolic vertices on the domain, as demonstrated in Example 202.

    -The GaussianCurvature example computes discrete Gaussian curvature and
+<img src=
    The GaussianCurvature example computes discrete Gaussian curvature and visualizes it in pseudocolor.
    @@ -650,7 +700,7 @@ normal:

    \(-\Delta \mathbf{x} = H \mathbf{n}.\)

    It is easy to compute this on a discrete triangle mesh in libigl using the -cotangent Laplace-Beltrami operator [1].

    +cotangent Laplace-Beltrami operator (1).

    #include <igl/cotmatrix.h>
     #include <igl/massmatrix.h>
    @@ -667,16 +717,16 @@ H = HN.rowwise().norm(); //up to sign
     
     

    Combined with the angle defect definition of discrete Gaussian curvature, one can define principal curvatures and use least squares fitting to find -directions [1].

    +directions (1).

    Alternatively, a robust method for determining principal curvatures is via -quadric fitting [2]. In the neighborhood around every vertex, a +quadric fitting (2). In the neighborhood around every vertex, a best-fit quadric is found and principal curvature values and directions are analytically computed on this quadric (Example 203).

    -The CurvatureDirections example computes principal curvatures via quadric
+<img src=
    The CurvatureDirections example computes principal curvatures via quadric @@ -706,8 +756,8 @@ linear on incident triangles.
    of the hat functions:

    \(\nabla f(\mathbf{x}) \approx - \nabla \sum\limits_{i=1}^n \phi_i(\mathbf{x})\, f_i = - \sum\limits_{i=1}^n \nabla \phi_i(\mathbf{x})\, f_i.\)

    +\nabla \sum\limits_{i=1}^n \phi_i(\mathbf{x})\, f_i = +\sum\limits_{i=1}^n \nabla \phi_i(\mathbf{x})\, f_i.\)

    This reveals that the gradient is a linear function of the vector of \(f_i\) values. Because the \(\phi_i\) are linear in each triangle, their gradients are @@ -718,12 +768,12 @@ as a matrix multiplication taking vertex values to triangle values:

    where \(\mathbf{f}\) is \(n\times 1\) and \(\mathbf{G}\) is an \(md\times n\) sparse matrix. This matrix \(\mathbf{G}\) can be derived geometrically, e.g. -[ch. 2, 3]. +(ch. 2, 3). Libigl’s grad function computes \(\mathbf{G}\) for triangle and tetrahedral meshes (Example 204):

    -The Gradient example computes gradients of an input function on a mesh and
+<img src=
    The Gradient example computes gradients of an input function on a mesh and visualizes the vector field.
    @@ -739,9 +789,9 @@ gradient (or equivalently the Laplacian of a function is the trace of its Hessian):

    \(\Delta f = - \frac{\partial^2 f}{\partial x^2} + - \frac{\partial^2 f}{\partial y^2} + - \frac{\partial^2 f}{\partial z^2}.\)

    +\frac{\partial^2 f}{\partial x^2} + +\frac{\partial^2 f}{\partial y^2} + +\frac{\partial^2 f}{\partial z^2}.\)

    The Laplace-Beltrami operator generalizes this to surfaces.

    @@ -752,9 +802,9 @@ simultaneously from FEM, DEC and applying divergence theorem to vertex one-rings. As a linear operator taking vertex values to vertex values, the Laplacian \(\mathbf{L}\) is a \(n\times n\) matrix with elements:

    -

    \(L_{ij} = \begin{cases}j \in N(i) &\cot \alpha_{ij} + \cot \beta_{ij},\\ -j \notin N(i) & 0,\\ -i = j & -\sum\limits_{k\neq i} L_{ik}, +

    \(L_{ij} = \begin{cases}j \in N(i) &\cot \alpha_{ij} + \cot \beta_{ij},\\ +j \notin N(i) & 0,\\ +i = j & -\sum\limits_{k\neq i} L_{ik}, \end{cases}\)

    where \(N(i)\) are the vertices adjacent to (neighboring) vertex \(i\), and @@ -793,16 +843,16 @@ of the Dirichlet energy (sum of squared gradients):

    Libigl implements discrete “cotangent” Laplacians for triangles meshes and tetrahedral meshes, building both with fast geometric rules rather than “by the book” FEM construction which involves many (small) matrix inversions, cf. -[4].

    +(4)[].

    The operator applied to mesh vertex positions amounts to smoothing by flowing the surface along the mean curvature normal direction (Example 205). Note that this is equivalent to minimizing surface area.

    -The Laplacian example computes conformalized mean curvature flow using the
-cotangent Laplacian . +The `Laplacian` example computes conformalized mean curvature flow using the
+cotangent Laplacian [#kazhdan_2012][].
    The Laplacian example computes conformalized mean curvature flow using the -cotangent Laplacian [5].
    +cotangent Laplacian (5)[].

    Mass matrix

    @@ -811,7 +861,7 @@ cotangent Laplacian [5 values to vertex values. From an FEM point of view, it is a discretization of the inner-product: it accounts for the area around each vertex. Consequently, \(\mathbf{M}\) is often a diagonal matrix, such that \(M_{ii}\) is the barycentric -or voronoi area around vertex \(i\) in the mesh [1]. The inverse of +or voronoi area around vertex \(i\) in the mesh (1)[]. The inverse of this matrix is also very useful as it transforms integrated quantities into point-wise quantities, e.g.:

    @@ -839,8 +889,8 @@ Green’s identity (ignoring boundary conditions for the moment):

    Or in matrix form which is immediately translatable to code:

    \(\mathbf{f}^T \mathbf{G}^T \mathbf{T} \mathbf{G} \mathbf{f} = - \mathbf{f}^T \mathbf{M} \mathbf{M}^{-1} \mathbf{L} \mathbf{f} = - \mathbf{f}^T \mathbf{L} \mathbf{f}.\)

    +\mathbf{f}^T \mathbf{M} \mathbf{M}^{-1} \mathbf{L} \mathbf{f} = +\mathbf{f}^T \mathbf{L} \mathbf{f}.\)

    So we have that \(\mathbf{L} = \mathbf{G}^T \mathbf{T} \mathbf{G}\). This also hints that we may consider \(\mathbf{G}^T\) as a discrete divergence operator, @@ -848,6 +898,34 @@ since the Laplacian is the divergence of the gradient. Naturally, \(n \times md\) sparse matrix which takes vector values stored at triangle faces to scalar divergence values at vertices.

    +

    Geodesic

    + +

    The discrete geodesic distance between two points is the length of the shortest path between then restricted to the surface. For triangle meshes, such a path is made of a set of segments which can be either edges of the mesh or crossing a triangle.

    + +

    Libigl includes a wrapper for the exact geodesic algorithm (6) developed by Danil Kirsanov (https://code.google.com/archive/p/geodesic/), exposing it through an Eigen-based API. The function

    + +
    igl::exact_geodesic(V,F,VS,FS,VT,FT,d);
    +
    + +

    computes the closest geodesic distances of each vertex in VT or face in FT, from the source vertices VS or faces FS of the input mesh V,F. The output is writted in the vector d, which lists first the distances for the vertices in VT, and then for the faces in FT. For example, if you want to compute the distance from the vertex with id vid, to all vertices of F you can use:

    + +
    Eigen::VectorXi VS,FS,VT,FT;
    +// The selected vertex is the source
    +VS.resize(1);
    +VS << vid;
    +// All vertices are the targets
    +VT.setLinSpaced(V.rows(),0,V.rows()-1);
    +Eigen::VectorXd d;
    +igl::exact_geodesic(V,F,VS,FS,VT,FT,d);
    +
    + +
    +[Example 206](206_GeodesicDistance/main.cpp) allows to interactively pick the source vertex and displays the distance using a periodic color pattern.
+ +
    Example 206 allows to interactively pick the source vertex and displays the distance using a periodic color pattern. +
    +
    +

    Chapter 3: Matrices and linear algebra

    Libigl relies heavily on the Eigen library for dense and sparse linear algebra @@ -891,7 +969,7 @@ functionality is provided in libigl using slice_into:

    -The example Slice shows how to use igl::slice to change the colors for
+<img src=
    The example Slice shows how to use igl::slice to change the colors for triangles on a mesh.
    @@ -933,11 +1011,11 @@ X(I(i,j),j);
    . That is, I reveals how X is sorte

    Analogous functions are available in libigl for: max, min, and unique.

    -The example Sort shows how to use igl::sortrows to
+<img src= +order ([Example 302](302_Sort/main.cpp))." />
    The example Sort shows how to use igl::sortrows to -pseudocolor triangles according to their barycenters’ sorted +pseudocolor triangles according to their barycenters' sorted order (Example 302).
    @@ -954,187 +1032,187 @@ functionality as common Matlab functions.

    - Name - Description + Name + Description - igl::all - Whether all elements are non-zero (true) + igl::all + Whether all elements are non-zero (true) - igl::any - Whether any elements are non-zero (true) + igl::any + Whether any elements are non-zero (true) - igl::cat - Concatenate two matrices (especially useful for dealing with Eigen sparse matrices) + igl::cat + Concatenate two matrices (especially useful for dealing with Eigen sparse matrices) - igl::ceil - Round entries up to nearest integer + igl::ceil + Round entries up to nearest integer - igl::cumsum - Cumulative sum of matrix elements + igl::cumsum + Cumulative sum of matrix elements - igl::colon - Act like Matlab’s :, similar to Eigen’s LinSpaced + igl::colon + Act like Matlab’s :, similar to Eigen’s LinSpaced - igl::components - Connected components of graph (cf. Matlab’s graphconncomp) + igl::components + Connected components of graph (cf. Matlab’s graphconncomp) - igl::count - Count non-zeros in rows or columns + igl::count + Count non-zeros in rows or columns - igl::cross - Cross product per-row + igl::cross + Cross product per-row - igl::cumsum - Cummulative summation + igl::cumsum + Cumulative summation - igl::dot - dot product per-row + igl::dot + dot product per-row - igl::eigs - Solve sparse eigen value problem + igl::eigs + Solve sparse eigen value problem - igl::find - Find subscripts of non-zero entries + igl::find + Find subscripts of non-zero entries - igl::floor - Round entries down to nearest integer + igl::floor + Round entries down to nearest integer - igl::histc - Counting occurrences for building a histogram + igl::histc + Counting occurrences for building a histogram - igl::hsv_to_rgb - Convert HSV colors to RGB (cf. Matlab’s hsv2rgb) + igl::hsv_to_rgb + Convert HSV colors to RGB (cf. Matlab’s hsv2rgb) - igl::intersect - Set intersection of matrix elements. + igl::intersect + Set intersection of matrix elements. - igl::isdiag - Determine whether matrix is diagonal + igl::isdiag + Determine whether matrix is diagonal - igl::ismember - Determine whether elements in A occur in B + igl::ismember + Determine whether elements in A occur in B - igl::jet - Quantized colors along the rainbow. + igl::jet + Quantized colors along the rainbow. - igl::max - Compute maximum entry per row or column + igl::max + Compute maximum entry per row or column - igl::median - Compute the median per column + igl::median + Compute the median per column - igl::min - Compute minimum entry per row or column + igl::min + Compute minimum entry per row or column - igl::mod - Compute per element modulo + igl::mod + Compute per element modulo - igl::mode - Compute the mode per column + igl::mode + Compute the mode per column - igl::null - Compute the null space basis of a matrix + igl::null + Compute the null space basis of a matrix - igl::nchoosek - Compute all k-size combinations of n-long vector + igl::nchoosek + Compute all k-size combinations of n-long vector - igl::orth - Orthogonalization of a basis + igl::orth + Orthogonalization of a basis - igl::parula - Generate a quantized colormap from blue to yellow + igl::parula + Generate a quantized colormap from blue to yellow - igl::pinv - Compute Moore-Penrose pseudoinverse + igl::pinv + Compute Moore-Penrose pseudoinverse - igl::randperm - Generate a random permutation of [0,…,n–1] + igl::randperm + Generate a random permutation of [0,…,n-1] - igl::rgb_to_hsv - Convert RGB colors to HSV (cf. Matlab’s rgb2hsv) + igl::rgb_to_hsv + Convert RGB colors to HSV (cf. Matlab’s rgb2hsv) - igl::repmat - Repeat a matrix along columns and rows + igl::repmat + Repeat a matrix along columns and rows - igl::round - Per-element round to whole number + igl::round + Per-element round to whole number - igl::setdiff - Set difference of matrix elements + igl::setdiff + Set difference of matrix elements - igl::setunion - Set union of matrix elements + igl::setunion + Set union of matrix elements - igl::setxor - Set exclusive “or” of matrix elements + igl::setxor + Set exclusive “or” of matrix elements - igl::slice - Slice parts of matrix using index lists: (cf. Matlab’s B = A(I,J)) + igl::slice + Slice parts of matrix using index lists: (cf. Matlab’s B = A(I,J)) - igl::slice_mask - Slice parts of matrix using boolean masks: (cf. Matlab’s B = A(M,N)) + igl::slice_mask + Slice parts of matrix using boolean masks: (cf. Matlab’s B = A(M,N)) - igl::slice_into - Slice left-hand side of matrix assignment using index lists (cf. Matlab’s B(I,J) = A) + igl::slice_into + Slice left-hand side of matrix assignment using index lists (cf. Matlab’s B(I,J) = A) - igl::sort - Sort elements or rows of matrix + igl::sort + Sort elements or rows of matrix - igl::speye - Identity as sparse matrix + igl::speye + Identity as sparse matrix - igl::sum - Sum along columns or rows (of sparse matrix) + igl::sum + Sum along columns or rows (of sparse matrix) - igl::unique - Extract unique elements or rows of matrix + igl::unique + Extract unique elements or rows of matrix @@ -1164,31 +1242,31 @@ the right-hand side.

    vertices come first and then boundary vertices:

    \[\left(\begin{array}{cc} - \mathbf{L}_{in,in} & \mathbf{L}_{in,b}\\ - \mathbf{L}_{b,in} & \mathbf{L}_{b,b}\end{array}\right) - \left(\begin{array}{c} - \mathbf{z}_{in}\\ - \mathbf{z}_{b}\end{array}\right) = - \left(\begin{array}{c} - \mathbf{0}_{in}\\ - \mathbf{z}_{bc}\end{array}\right)\]

    +\mathbf{L}_{in,in} & \mathbf{L}_{in,b}\\ +\mathbf{L}_{b,in} & \mathbf{L}_{b,b}\end{array}\right) +\left(\begin{array}{c} +\mathbf{z}_{in}\\ +\mathbf{z}_{b}\end{array}\right) = +\left(\begin{array}{c} +\mathbf{0}_{in}\\ +\mathbf{z}_{bc}\end{array}\right)\]

    The bottom block of equations is no longer meaningful so we’ll only consider the top block:

    \[\left(\begin{array}{cc} - \mathbf{L}_{in,in} & \mathbf{L}_{in,b}\end{array}\right) - \left(\begin{array}{c} - \mathbf{z}_{in}\\ - \mathbf{z}_{b}\end{array}\right) = - \mathbf{0}_{in}\]

    +\mathbf{L}_{in,in} & \mathbf{L}_{in,b}\end{array}\right) +\left(\begin{array}{c} +\mathbf{z}_{in}\\ +\mathbf{z}_{b}\end{array}\right) = +\mathbf{0}_{in}\]

    We can move the known values to the right-hand side:

    \[\mathbf{L}_{in,in} - \mathbf{z}_{in} = - - \mathbf{L}_{in,b} - \mathbf{z}_{b}\]

    +\mathbf{z}_{in} = - +\mathbf{L}_{in,b} +\mathbf{z}_{b}\]

    Finally we can solve this equation for the unknown values at interior vertices \(\mathbf{z}_{in}\).

    @@ -1203,7 +1281,7 @@ the linear algebra above directly. Then we can slice the solution into rows of Z corresponding to the interior vertices (Example 303).

    -The LaplaceEquation example solves a Laplace equation with Dirichlet
+<img src=
    The LaplaceEquation example solves a Laplace equation with Dirichlet boundary conditions.
    @@ -1219,7 +1297,7 @@ energy subject to the same boundary conditions:

    On our discrete mesh, recall that this becomes

    \(\mathop{\text{minimize }}_\mathbf{z} \frac{1}{2}\mathbf{z}^T \mathbf{G}^T \mathbf{D} - \mathbf{G} \mathbf{z} \rightarrow \mathop{\text{minimize }}_\mathbf{z} \mathbf{z}^T \mathbf{L} \mathbf{z}\)

    +\mathbf{G} \mathbf{z} \rightarrow \mathop{\text{minimize }}_\mathbf{z} \mathbf{z}^T \mathbf{L} \mathbf{z}\)

    The general problem of minimizing some energy over a mesh subject to fixed value boundary conditions is so wide spread that libigl has a dedicated api for @@ -1229,26 +1307,28 @@ solving such systems.

    common constraints:

    \[\mathop{\text{minimize }}_\mathbf{z} \frac{1}{2}\mathbf{z}^T \mathbf{Q} \mathbf{z} + - \mathbf{z}^T \mathbf{B} + \text{constant},\]

    +\mathbf{z}^T \mathbf{B} + \text{constant},\]

    subject to

    \[\mathbf{z}_b = \mathbf{z}_{bc} \text{ and } \mathbf{A}_{eq} \mathbf{z} = - \mathbf{B}_{eq},\]

    +\mathbf{B}_{eq},\]

    where

      -
    • \(\mathbf{Q}\) is a (usually sparse) \(n \times n\) positive semi-definite +
    • \(\mathbf{Q}\) is a (usually sparse) \(n \times n\) positive semi-definite matrix of quadratic coefficients (Hessian),
    • -
    • \(\mathbf{B}\) is a \(n \times 1\) vector of linear coefficients,
    • -
    • \(\mathbf{z}_b\) is a \(|b| \times 1\) portion of +
    • \(\mathbf{B}\) is a \(n \times 1\) vector of linear coefficients,
    • +
    • \(\mathbf{z}_b\) is a \(|b| \times 1\) portion of + \(\mathbf{z}\) corresponding to boundary or fixed vertices,
    • -
    • \(\mathbf{z}_{bc}\) is a \(|b| \times 1\) vector of known values corresponding to +
    • \(\mathbf{z}_{bc}\) is a \(|b| \times 1\) vector of known values corresponding to + \(\mathbf{z}_b\),
    • -
    • \(\mathbf{A}_{eq}\) is a (usually sparse) \(m \times n\) matrix of linear +
    • \(\mathbf{A}_{eq}\) is a (usually sparse) \(m \times n\) matrix of linear equality constraint coefficients (one row per constraint), and
    • -
    • \(\mathbf{B}_{eq}\) is a \(m \times 1\) vector of linear equality constraint +
    • \(\mathbf{B}_{eq}\) is a \(m \times 1\) vector of linear equality constraint right-hand side values.
    @@ -1283,7 +1363,7 @@ with active linear equality constraints. Specifically let’s solve the bi-Laplace equation or equivalently minimize the Laplace energy:

    \[\Delta^2 z = 0 \leftrightarrow \mathop{\text{minimize }}\limits_z \frac{1}{2} - \int\limits_S (\Delta z)^2 dA\]

    +\int\limits_S (\Delta z)^2 dA\]

    subject to fixed value constraints and a linear equality constraint:

    @@ -1303,41 +1383,44 @@ general a \(m \times 1\) vector of variables

    \[\mathop{\text{find saddle }}_{\mathbf{z},\lambda}\, \frac{1}{2}\mathbf{z}^T \mathbf{Q} \mathbf{z} + - \mathbf{z}^T \mathbf{B} + \text{constant} + \lambda^T\left(\mathbf{A}_{eq} - \mathbf{z} - \mathbf{B}_{eq}\right)\]

    +\mathbf{z}^T \mathbf{B} + \text{constant} + \lambda^T\left(\mathbf{A}_{eq} +\mathbf{z} - \mathbf{B}_{eq}\right)\]

    This can be rewritten in a more familiar form by stacking \(\mathbf{z}\) and \(\lambda\) into one \((m+n) \times 1\) vector of unknowns:

    -

    \[\mathop{\text{find saddle }}_{\mathbf{z},\lambda}\, - \frac{1}{2} - \left( - \mathbf{z}^T - \lambda^T - \right) - \left( - \begin{array}{cc} - \mathbf{Q} & \mathbf{A}_{eq}^T\\ - \mathbf{A}_{eq} & 0 - \end{array} - \right) - \left( - \begin{array}{c} - \mathbf{z}\\ - \lambda - \end{array} - \right) + - \left( - \mathbf{z}^T - \lambda^T - \right) - \left( - \begin{array}{c} - \mathbf{B}\\ - -\mathbf{B}_{eq} - \end{array} - \right) - + \text{constant}\]

    +

    $$\mathop{\text{find saddle }}_{\mathbf{z},\lambda}, +\frac{1}{2} +\left( +\mathbf{z}T +\lambdaT +\right) +\left( +\begin{array}{cc} +\mathbf{Q} & \mathbf{A}{eq}T\ +\mathbf{A}{eq} & 0 +\end{array} +\right) +\left( +\begin{array}{c} +\mathbf{z}\ +\lambda +\end{array} +\right) + +\left( +\mathbf{z}T +\lambdaT +\right) +\left( +\begin{array}{c} +\mathbf{B}\ +-\mathbf{B}_{eq} +\end{array} +\right)

    + +
      +
    • \text{constant}$$
    • +

    Differentiating with respect to \(\left( \mathbf{z}^T \lambda^T \right)\) reveals a linear system and we can solve for \(\mathbf{z}\) and \(\lambda\). The only @@ -1348,12 +1431,12 @@ different factorization technique (LDLT rather than LLT): libigl’s the presence of linear equality constraints (Example 304).

    -The example LinearEqualityConstraints first solves with just fixed value
+<img src=
    The example LinearEqualityConstraints first solves with just fixed value -constraints (left: 1 and –1 on the left hand and foot respectively), then +constraints (left: 1 and -1 on the left hand and foot respectively), then solves with an additional linear equality constraint (right: points on right hand and foot constrained to be equal).
    @@ -1400,11 +1483,11 @@ igl::active_set(Q,B,b,bc,Aeq,Beq,Aieq,Bieq,lx,ux,as,Z);
    - Example 305 uses an active set solver to optimize
-discrete biharmonic kernels  at multiple scales
+<img src=
    Example 305 uses an active set solver to optimize -discrete biharmonic kernels [6] at multiple scales +discrete biharmonic kernels (7)[] at multiple scales .
    @@ -1417,9 +1500,9 @@ eigen value problem:

    where \(A\) is a sparse symmetric matrix and \(B\) is a sparse positive definite matrix. Most commonly in geometry processing, we let \(A=L\) the cotangent -Laplacian and \(B=M\) the per-vertex mass matrix (e.g. [7]). +Laplacian and \(B=M\) the per-vertex mass matrix (e.g. (8)[]). Typically applications will make use of the low frequency eigen modes. -Analagous to the Fourier decomposition, a function \(f\) on a surface can be +Analogous to the Fourier decomposition, a function \(f\) on a surface can be represented via its spectral decomposition of the eigen modes of the Laplace-Beltrami:

    @@ -1437,7 +1520,7 @@ eigen vector satisfying:

    \(\mathbf{L} \phi_i = \lambda_i \mathbf{M} \phi_i\).

    -

    Note that Vallet & Levy [7] propose solving a symmetrized +

    Note that Vallet & Levy (8)[] propose solving a symmetrized standard eigen problem \(\mathbf{M}^{-1/2}\mathbf{L}\mathbf{M}^{-1/2} \phi_i = \lambda_i \phi_i\). Libigl implements a generalized eigen problem solver so this unnecessary symmetrization can be avoided.

    @@ -1445,9 +1528,9 @@ this unnecessary symmetrization can be avoided.

    Often the sum above is truncated to the first \(k\) eigen vectors. If the low frequency modes are chosen, i.e. those corresponding to small \(\lambda_i\) values, then this truncation effectively regularizes \(\mathbf{f}\) to smooth, -slowly changing functions over the mesh (e.g. [8]). Modal +slowly changing functions over the mesh (e.g. (9)[]). Modal analysis and model subspaces have been used frequently in real-time deformation -(e.g. [9]).

    +(e.g. (10)[]).

    In Example 306), the first 5 eigen vectors of the discrete Laplace-Beltrami operator are computed and displayed in @@ -1464,7 +1547,7 @@ igl::eigs(L,M,5,igl::EIGS_TYPE_SM,U,S);

    -(Example 306) Low frequency eigen vectors
+<img src=
    (Example 306) Low frequency eigen vectors @@ -1491,9 +1574,9 @@ partial differential equation.

    There are many flavors of these techniques, but a prototypical subset are those that consider solutions to the bi-Laplace equation, that is a biharmonic -function [10]. This fourth-order PDE provides sufficient +function (11)[]. This fourth-order PDE provides sufficient flexibility in boundary conditions to ensure \(C^1\) continuity at handle -constraints (in the limit under refinement) [11].

    +constraints (in the limit under refinement) (12)[].

    Biharmonic surfaces

    @@ -1565,7 +1648,7 @@ U = V+D;
    -The BiharmonicDeformation example deforms a statues head as a biharmonic
+<img src=
    The BiharmonicDeformation example deforms a statue’s head as a biharmonic @@ -1589,10 +1672,10 @@ terms of the original positions \(\mathbf{x}\) and the \(\mathbf{x}' = \mathbf{x} - \mathbf{d}\):

    \(\int\limits_S \|\Delta (\mathbf{x}' - \mathbf{x})\|^2 dA = \int\limits_S - \|\Delta \mathbf{x}' - \Delta \mathbf{x})\|^2 dA.\)

    +\|\Delta \mathbf{x}' - \Delta \mathbf{x})\|^2 dA.\)

    In the early work of Sorkine et al., the quantities \(\Delta \mathbf{x}'\) and -\(\Delta \mathbf{x}\) were dubbed “differential coordinates” [12]. +\(\Delta \mathbf{x}\) were dubbed “differential coordinates” (13)[]. Their deformations (without linearized rotations) is thus equivalent to biharmonic deformation fields.

    @@ -1612,7 +1695,7 @@ igl::harmonic(V,F,b,bc,k,Z);
    -The PolyharmonicDeformation example deforms a flat domain (left) into a bump as a
+<img src=
    The PolyharmonicDeformation example deforms a flat domain (left) into a bump as a solution to various \(k\)-harmonic PDEs.
    @@ -1630,7 +1713,7 @@ rotations.

    computes its new location as a linear combination of bone transformations:

    \(\mathbf{x}' = \sum\limits_{i = 1}^m w_i(\mathbf{x}) \mathbf{T}_i - \left(\begin{array}{c}\mathbf{x}_i\\1\end{array}\right),\)

    +\left(\begin{array}{c}\mathbf{x}_i\\1\end{array}\right),\)

    where \(w_i(\mathbf{x})\) is the scalar weight function of the ith bone evaluated at \(\mathbf{x}\) and \(\mathbf{T}_i\) is the bone transformation as a \(4 \times 3\) @@ -1660,15 +1743,15 @@ any handle structure such as a cage, collection of points, selected regions, etc.).

    Bounded biharmonic weights are one such technique that casts weight computation -as a constrained optimization problem [13]. The weights enforce +as a constrained optimization problem (14)[]. The weights enforce smoothness by minimizing the familiar Laplacian energy:

    \(\sum\limits_{i = 1}^m \int_S (\Delta w_i)^2 dA\)

    subject to constraints which enforce interpolation of handle constraints:

    -

    \(w_i(\mathbf{x}) = \begin{cases} 1 & \text{ if } \mathbf{x} \in H_i\\ 0 & - \text{ otherwise } \end{cases},\)

    +

    \(w_i(\mathbf{x}) = \begin{cases} 1 & \text{ if } \mathbf{x} \in H_i\\ 0 & +\text{ otherwise } \end{cases},\)

    where \(H_i\) is the ith handle, and constraints which enforce non-negativity, parition of unity and encourage sparsity:

    @@ -1679,7 +1762,7 @@ parition of unity and encourage sparsity:

    set solver or by calling out to Mosek.

    -The example BoundedBiharmonicWeights computes weights for a tetrahedral
+<img src=
    The example BoundedBiharmonicWeights computes weights for a tetrahedral @@ -1697,22 +1780,22 @@ about the \(z\)-axis. Intuitively one might expect to but instead the blend is a degenerate matrix scaling the \(x\) and \(y\) coordinates by zero:

    -

    \(0.5\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&1\end{array}\right)+ - 0.5\left(\begin{array}{ccc}0&1&0\\-1&0&0\\0&0&1\end{array}\right)= - \left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&1\end{array}\right)\)

    +

    \(0.5\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&1\end{array}\right)+ +0.5\left(\begin{array}{ccc}0&1&0\\-1&0&0\\0&0&1\end{array}\right)= +\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&1\end{array}\right)\)

    In practice, this means the shape shrinks and collapses in regions where bone weights overlap: near joints.

    -

    Dual quaternion skinning presents a solution [14]. This method +

    Dual quaternion skinning presents a solution (15). This method represents rigid transformations as a pair of unit quaternions, \(\hat{\mathbf{q}}\). The linear blend skinning formula is replaced with a linear blend of dual quaternions:

    \(\mathbf{x}' = - \cfrac{\sum\limits_{i=1}^m w_i(\mathbf{x})\hat{\mathbf{q}_i}} - {\left\|\sum\limits_{i=1}^m w_i(\mathbf{x})\hat{\mathbf{q}_i}\right\|} - \mathbf{x},\)

    +\cfrac{\sum\limits_{i=1}^m w_i(\mathbf{x})\hat{\mathbf{q}_i}} +{\left\|\sum\limits_{i=1}^m w_i(\mathbf{x})\hat{\mathbf{q}_i}\right\|} +\mathbf{x},\)

    where \(\hat{\mathbf{q}_i}\) is the dual quaternion representation of the rigid transformation of bone \(i\). The normalization forces the result of the linear @@ -1732,8 +1815,8 @@ igl::dqs(V,W,vQ,vT,U);

    -The example DualQuaternionSkinning compares linear blend skinning (top) to dual
-quaternion skinning (bottom), highlighting LBSs candy wrapper effect (middle)
+<img src=
    The example DualQuaternionSkinning compares linear blend skinning (top) to dual quaternion skinning (bottom), highlighting LBS’s candy wrapper effect (middle) @@ -1761,15 +1844,15 @@ They work by comparing the deformation of a mesh vertex to its rest position rotated to a new coordinate frame which best matches the deformation. The non-linearity stems from the mutual dependence of the deformation and the best-fit rotation. These techniques are often labeled -“as-rigid-as-possible” as they penalize the sum of all local deformations’ +“as-rigid-as-possible” as they penalize the sum of all local deformations' deviations from rotations.

    To arrive at such an energy, let’s consider a simple per-triangle energy:

    \(E_\text{linear}(\mathbf{X}') = \sum\limits_{t \in T} a_t \sum\limits_{\{i,j\} - \in t} w_{ij} \left\| - \left(\mathbf{x}'_i - \mathbf{x}'_j\right) - - \left(\mathbf{x}_i - \mathbf{x}_j\right)\right\|^2\)

    +\in t} w_{ij} \left\| +\left(\mathbf{x}'_i - \mathbf{x}'_j\right) - +\left(\mathbf{x}_i - \mathbf{x}_j\right)\right\|^2\)

    where \(\mathbf{X}'\) are the mesh’s unknown deformed vertex positions, \(t\) is a triangle in a list of triangles \(T\), \(a_t\) is the area of triangle \(t\) and @@ -1788,10 +1871,11 @@ for each triangle \(t\) which are constrained to be ro rewritten, this time comparing deformed edge vectors to their rotated rest counterparts:

    -

    \(E_\text{arap}(\mathbf{X}',\{\mathbf{R}_1,\dots,\mathbf{R}_{|T|}\}) = \sum\limits_{t \in T} a_t \sum\limits_{\{i,j\} - \in t} w_{ij} \left\| - \left(\mathbf{x}'_i - \mathbf{x}'_j\right)- - \mathbf{R}_t\left(\mathbf{x}_i - \mathbf{x}_j\right)\right\|^2.\)

    +

    $E_\text{arap}(\mathbf{X}',{\mathbf{R}1,\dots,\mathbf{R}{|T|}}) = \sum\limits_{t \in T} a_t \sum\limits_{{i,j}

    + +

    \in t} w_{ij} \left| +\left(\mathbf{x}‘_i - \mathbf{x}’_j\right)- +\mathbf{R}_t\left(\mathbf{x}_i - \mathbf{x}_j\right)\right|2.$

    The separation into the primary vertex position variables \(\mathbf{X}'\) and the rotations \(\{\mathbf{R}_1,\dots,\mathbf{R}_{|T|}\}\) lead to strategy for @@ -1805,11 +1889,11 @@ the energy, thus we may safely iterate them until convergence.

    The different flavors of “as-rigid-as-possible” depend on the dimension and codimension of the domain and the edge-sets \(T\). The proposed surface -manipulation technique by Sorkine and Alexa [15], considers \(T\) to +manipulation technique by Sorkine and Alexa (16)[], considers \(T\) to be the set of sets of edges emanating from each vertex (spokes). Later, Chao et al. derived the relationship between “as-rigid-as-possible” mesh energies and co-rotational elasticity considering 0-codimension elements as edge-sets: -triangles in 2D and tetrahedra in 3D [16]. They also showed how +triangles in 2D and tetrahedra in 3D (17)[]. They also showed how Sorkine and Alexa’s edge-sets are not a discretization of a continuous energy, proposing instead edge-sets for surfaces containing all edges of elements incident on a vertex (spokes and rims). They show that this amounts to @@ -1836,10 +1920,10 @@ certain constraints on the positions of vertices in b, we may call:

    Libigl’s implementation of as-rigid-as-possible deformation takes advantage of the highly optimized singular value decomposition code from McAdams et al. -[17] which leverages SSE intrinsics.

    +(18)[] which leverages SSE intrinsics.

    -The example AsRigidAsPossible deforms a surface as if it were made of an
+<img src=
    The example AsRigidAsPossible deforms a surface as if it were made of an elastic material
    @@ -1855,7 +1939,7 @@ the case of the as-rigid-as-possible optimization, the bottleneck is typically the large number of polar decompositions necessary to recover best fit rotations for each edge-set (i.e. for each triangle, tetrahedron, or vertex cell). Even if this code is optimized, the number of primary degrees of freedom -is tied to the discretization level, despite the deformations’ low frequency +is tied to the discretization level, despite the deformations' low frequency behavior.

    This invites two routes toward fast non-linear optimization. First, is it @@ -1875,7 +1959,7 @@ linear blend skinning in matrix form:

    replaced by a linear combination of a small number of degrees of freedom in the \((3+1)m \times 3\) stack of transposed “handle” transformations. Swapping in \(\mathbf{M}\mathbf{T}\) for \(\mathbf{X}'\) in the ARAP energies above immediately -sees performance gains during the global solve step as \(m << n\).

    +sees performance gains during the global solve step as \(m << n\).

    The complexity of the local step—fitting rotations—is still bound to the original mesh discretization. However, if the skinning is well behaved, @@ -1888,7 +1972,7 @@ clustered edge-sets show diminishing returns on the deformation quality so we may choose a small number of clusters, proportional to the number of skinning weight functions (rather than the number of discrete mesh vertices).

    -

    This proposed deformation model [18], can simultaneously be seen as a +

    This proposed deformation model (19)[], can simultaneously be seen as a fast, subspace optimization for ARAP and as an automatic method for finding the best skinning transformation degrees of freedom.

    @@ -1897,11 +1981,11 @@ the skinning transformations associated with handles. To fix a transformation entirely we simply add the constraint:

    \(\left(\begin{array}{cccc} - 1 & 0 & 0 & 0\\ - 0 & 1 & 0 & 0\\ - 0 & 0 & 1 & 0\\ - 0 & 0 & 0 & 1\end{array}\right) - \mathbf{T}_i^T = \hat{\mathbf{T}}_i^T,\)

    +1 & 0 & 0 & 0\\ +0 & 1 & 0 & 0\\ +0 & 0 & 1 & 0\\ +0 & 0 & 0 & 1\end{array}\right) +\mathbf{T}_i^T = \hat{\mathbf{T}}_i^T,\)

    where \(\hat{\mathbf{T}}_i^T\) is the \((3+1) \times 3\) transposed fixed transformation for handle \(i\).

    @@ -1920,10 +2004,10 @@ user.

    freeing the translation component (producing a “chickenhead” effect):

    \(\left(\begin{array}{cccc} - 1&0&0&0\\ - 0&1&0&0\\ - 0&0&1&0\end{array}\right) - \mathbf{T}_i^T = \hat{\mathbf{L}}_i^T,\)

    +1&0&0&0\\ +0&1&0&0\\ +0&0&1&0\end{array}\right) +\mathbf{T}_i^T = \hat{\mathbf{L}}_i^T,\)

    where \(\hat{\mathbf{L}}_i^T\) is the fixed \(3 \times 3\) linear part of the transformation at handle \(i\).

    @@ -1951,7 +2035,7 @@ biharmonic distance embedding.

    redundant) clustering of the per-triangle edge-sets.

    -The example FastAutomaticSkinningTransformations compares a full (slow)
+<img src= @@ -1964,10 +2048,10 @@ rotation edge sets (right of middle), to the very fast subpsace method

    Biharmonic Coordinates

    Linear blend skinning (as above) deforms a mesh by -propogating full affine transformations at handles (bones, points, regions, +propagating full affine transformations at handles (bones, points, regions, etc.) to the rest of the shape via weights. Another deformation framework, called “generalized barycentric coordinates”, is a special case of linear blend -skinning [19]: transformations are restricted to +skinning (20)[]: transformations are restricted to pure translations and weights are required to retain affine precision. This latter requirement means that we can write the rest-position of any vertex in the mesh as the weighted combination of the control handle locations:

    @@ -1983,19 +2067,19 @@ position of each point of the shape to be the weighted combination of the

    There are many different flavors of “generalized barycentric coordinates” (see table in “Automatic Methods” section, -[19]). The vague goal of “generalized barycentric +(20)[]). The vague goal of “generalized barycentric coordinates” is to capture as many properties of simplicial barycentric coordinates (e.g. for triangles in 2D and tetrahedral in 3D) for larger sets of points or polyhedra. Some generalized barycentric coordinates can be computed in closed form; others require optimization-based precomputation. Nearly all flavors require connectivity information describing how the control points form a external polyhedron around the input shape: a cage. However, a recent -techinique does not require a cage [20]. This method ensures +techinique does not require a cage (21)[]. This method ensures affine precision during optimization over weights of a smoothness energy with affine functions in its kernel:

    \(\mathop{\text{min}}_\mathbf{W}\,\, \text{trace}(\frac{1}{2}\mathbf{W}^T \mathbf{A} - \mathbf{W}), \text{subject to: } \mathbf{C} = \mathbf{W}\mathbf{C}\)

    +\mathbf{W}), \text{subject to: } \mathbf{C} = \mathbf{W}\mathbf{C}\)

    subject to interpolation constraints at selected vertices. If \(\mathbf{A}\) has affine functions in its kernel—that is, if \(\mathbf{A}\mathbf{V} = 0\)—then @@ -2020,12 +2104,12 @@ the integral-average of \(\mathbf{K}\) applied to a fu the mesh:

    \(\mathbf{A} = (\mathbf{M}^{-1}\mathbf{K})^2_\mathbf{M} = \mathbf{K}^T \mathbf{M}^{-1} - \mathbf{K}.\)

    +\mathbf{K}.\)

    Since the Laplacian \(\mathbf{K}\) is a second-order derivative it measures zero on affine functions, thus \(\mathbf{A}\) has affine functions in its null space. A short derivation proves that this implies \(\mathbf{W}\) will be affine precise (see -[20]).

    +(21)[]).

    Minimizers of this “squared Laplacian” energy are in some sense discrete biharmonic functions. Thus they’re dubbed “biharmonic coordinates” (not the @@ -2040,7 +2124,7 @@ handles):

    -(Example 407) shows a physics
+<img src= @@ -2050,7 +2134,7 @@ points for a biharmonic coordinates deformation of the blue high-resolution mesh.
    -

    Chapter 5: Parametrization

    +

    Chapter 5: Parametrization

    In computer graphics, we denote as surface parametrization a map from the surface to \(\mathbf{R}^2\). It is usually encoded by a new set of 2D @@ -2076,9 +2160,9 @@ genus. They initially cut the mesh in multiple patches that can be separately pa

  • Global seamless parametrization: these are global parametrization algorithm that hides the seams, making the parametrization “continuous”, under specific assumptions that we will discuss later.

  • -

    Harmonic parametrization

    +

    Harmonic parametrization

    -

    Harmonic parametrization [21] is a single patch, fixed boundary parametrization +

    Harmonic parametrization (22)[] is a single patch, fixed boundary parametrization algorithm that computes the 2D coordinates of the flattened mesh as two harmonic functions.

    @@ -2106,14 +2190,14 @@ functions is designed to be reusable in other parametrization algorithms.

    A UV parametrization can be visualized in the viewer with:

    -
    viewer.data.set_uv(V_uv);
    +
    viewer.data().set_uv(V_uv);
     

    The UV coordinates are then used to apply a procedural checkerboard texture to the mesh (Example 501).

    -(Example 501) Harmonic parametrization. (left)
+<img src=
    (Example 501) Harmonic parametrization. (left) @@ -2121,9 +2205,9 @@ mesh with texture, (right) UV parametrization with texture
    -

    Least squares conformal maps

    +

    Least squares conformal maps

    -

    Least squares conformal maps parametrization [22] minimizes the +

    Least squares conformal maps parametrization (23)[] minimizes the conformal (angular) distortion of the parametrization. Differently from harmonic parametrization, it does not need to have a fixed boundary.

    @@ -2131,7 +2215,7 @@ harmonic parametrization, it does not need to have a fixed boundary.

    \[ E_{LSCM}(\mathbf{u},\mathbf{v}) = \int_X \frac{1}{2}| \nabla \mathbf{u}^{\perp} - \nabla \mathbf{v} |^2 dA \]

    -

    which can be rewritten in matrix form as [23]:

    +

    which can be rewritten in matrix form as (24)[]:

    \[ E_{LSCM}(\mathbf{u},\mathbf{v}) = \frac{1}{2} [\mathbf{u},\mathbf{v}]^t (L_c - 2A) [\mathbf{u},\mathbf{v}] \]

    @@ -2165,15 +2249,15 @@ case we do not need to fix the boundary. To remove the null space of the energy vertices to two arbitrary positions. The full source code is provided in Example 502.

    -(Example 502) LSCM parametrization. (left) mesh
+<img src=
    (Example 502) LSCM parametrization. (left) mesh with texture, (right) UV parametrization
    -

    As-rigid-as-possible parametrization

    +

    As-rigid-as-possible parametrization

    -

    As-rigid-as-possible parametrization [24] is a powerful single-patch, +

    As-rigid-as-possible parametrization (25)[] is a powerful single-patch, non-linear algorithm to compute a parametrization that strives to preserve distances (and thus angles). The idea is very similar to ARAP surface deformation: each triangle is mapped to the plane trying to preserve its @@ -2190,7 +2274,7 @@ parametrization. Similarly to LSCM, the boundary is free to deform to minimize the distortion.

    -(Example 503) As-Rigid-As-Possible parametrization.
+<img src=
    (Example 503) As-Rigid-As-Possible parametrization. @@ -2198,7 +2282,7 @@ texture" /> texture
    -

    N-rotationally symmetric tangent fields

    +

    N-rotationally symmetric tangent fields

    The design of tangent fields is a basic tool used to design guidance fields for uniform quadrilateral and hexahedral remeshing. Libigl contains an @@ -2225,7 +2309,7 @@ the triangle mesh (output_field), plus the singularities of the field

    The singularities are vertices where the field vanishes (highlighted in red in -the figure above). igl::nrosy can also generate N-RoSy fields [25], +the figure above). igl::nrosy can also generate N-RoSy fields (26)[], which are a generalization of vector fields where in every face the vector is defined up to a constant rotation of \(2\pi / N\). As can be observed in the following figure, the singularities of the fields generated with different @@ -2239,11 +2323,12 @@ N are of different types and they appear in different positions.

    We demonstrate how to call and plot N-RoSy fields in Example 504, where the degree of the field can be change pressing the number keys. igl::nrosy implements the algorithm proposed in -[26]. N-RoSy fields can also be interpolated with the algorithm -proposed in [27], see Section npolyvectorfields for more details -(igl::n_polyvector).

    +(27)[]. N-RoSy fields can also be interpolated with many other algorithms, +see the library libdirectional for +a reference implementation of the most popular ones. For a complete categorization +of fields used in various applications see Vaxman et al. 2016 (28).

    -

    Global, seamless integer-grid parametrization

    +

    Global, seamless integer-grid parametrization

    The previous parametrization methods were focusing on creating parametrizations of surface patches aimed at texture mapping or baking of other surface @@ -2251,7 +2336,7 @@ properties such as normals and high-frequency details. Global, seamless parametrization aims at parametrizing complex shapes with a parametrization that is aligned with a given set of directions for the purpose of surface remeshing. In libigl, we provide a reference implementation of the pipeline -proposed in the mixed integer quadrangulation paper [26].

    +proposed in the mixed integer quadrangulation paper (27)[].

    The first step involves the design of a 4-RoSy field (sometimes called cross field) that describes the alignment of the edges of the desired quadrilateral @@ -2330,7 +2415,7 @@ input cross field.

    We hide the seams by adding integer constraints to the Poisson problem -that align the isolines on both sides of each seam [26].

    +that align the isolines on both sides of each seam (27).

    Seamless Poisson parametrization. @@ -2349,12 +2434,12 @@ it contains many overlaps.

    libQEx (not included in libigl). The full pipeline is implemented in Example 505.

    -

    Anisotropic remeshing

    +

    Anisotropic remeshing

    Anisotropic and non-uniform quad remeshing is important to concentrate the elements in the regions with more details. It is possible to extend the MIQ quad meshing framework to generate anisotropic quad meshes using a mesh -deformation approach [28].

    +deformation approach (29)[].

    The input of the anisotropic remeshing algorithm is a sparse set of constraints that define the shape and scale of the desired quads. This can be encoded as a @@ -2410,116 +2495,50 @@ generate the UV parametrization, but other algorithms could be applied: the only desiderata is that the generated quad mesh should be as isotropic as possible.

    -

    N-PolyVector fields

    - -

    N-RoSy vector fields can be further generalized to represent arbitrary -vector-sets, with arbitrary angles between them and with arbitrary lengths -[29]. This generalization is called N-PolyVector field, and -libigl provides the function igl::n_polyvector to design them starting from a -sparse set of constraints (Example 507).

    - -
    -Interpolation of a 6-PolyVector field (right) and a 12-PolyVector field from a sparse set of random constraints. -
    Interpolation of a 6-PolyVector field (right) and a 12-PolyVector field from a sparse set of random constraints.
    -
    - -

    The core idea is to represent the vector set as the roots of a complex -polynomial: The polynomial coefficients are then harmonically interpolated -leading to polynomials whose roots smoothly vary over the surface.

    - -

    Globally optimal direction fields [27] are a special case of -PolyVector fields. If the constraints are taken from an N-RoSy field, -igl::n_polyvector generates a field that is equivalent, after normalization, -to a globally optimal direction field.

    - -

    Conjugate vector fields

    - -

    Two tangent vectors lying on a face of a triangle mesh are conjugate if

    - -

    \[ k_1 (u^T d_1)(v^T d_1) + k_2(u^T d_2)(v^T d_2) = 0. \]

    - -

    This condition is very important in architectural geometry: The faces of an -infinitely dense quad mesh whose edges are aligned with a conjugate field are -planar. Thus, a quad mesh whose edges follow a conjugate field are easier to -planarize [30].

    - -

    Finding a conjugate vector field that satisfies given directional constraints -is a standard problem in architectural geometry, which can be tackled by -deforming a Poly-Vector field to the closest conjugate field.

    - -

    This algorithm [29] alternates a global step, which enforces -smoothness, with a local step, that projects the field on every face to the -closest conjugate field (Example 508).

    - -
    -A smooth 4-PolyVector field (left) is deformed to become a conjugate field
-(right). -
    A smooth 4-PolyVector field (left) is deformed to become a conjugate field -(right).
    -
    - -

    Planarization

    +

    Planarization

    A quad mesh can be transformed in a planar quad mesh with Shape-Up -[31], a local/global approach that uses the global step to enforce +(30), a local/global approach that uses the global step to enforce surface continuity and the local step to enforce planarity.

    -

    Example 509 planarizes a quad mesh until it +

    Example 507 planarizes a quad mesh until it satisfies a user-given planarity threshold.

    A non-planar quad mesh (left) is planarized using the libigl function
-igl::palanarize (right). The colors represent the planarity of the
+igl::planarize (right). The colors represent the planarity of the
 quads.
    A non-planar quad mesh (left) is planarized using the libigl function -igl::palanarize (right). The colors represent the planarity of the +igl::planarize (right). The colors represent the planarity of the quads.
    -

    Integrable PolyVector Fields

    - -

    Vector-field guided surface parameterization is based on the idea of designing the gradients -of the parameterization functions (which are tangent vector fields on the surface) instead of the functions themselves. Thus, vector-set fields (N-Rosy, frame fields, and polyvector fields) that are to be used for parameterization (and subsequent remeshing) need to be integrable: it must be possible to break them down into individual vector fields that are gradients of scalar functions. Fields obtained by most smoothness-based design methods (eg. [25], [27], [29], [26], [28]) do not have this property. In [32], a method for creating integrable polyvector fields was introduced. This method takes as input a given field and improves its integrability by removing the vector field curl, thus turning it into a gradient of a function (Example 510).

    - -
    -Integration error is removed from a frame field to produce a field aligned parameterization free of triangle flips. -
    Integration error is removed from a frame field to produce a field aligned parameterization free of triangle flips.
    -
    - -

    This method retains much of the core principles of the polyvector framework - it expresses the condition for zero discrete curl condition (which typically requires integers for the vector matchings) into a condition involving continuous variables only. This is done using coefficients of appropriately defined polynomials. The parameterizations generated by the resulting fields are exactly aligned to the field directions and contain no inverted triangles.

    - -

    General N-PolyVector fields

    - -

    While mostly applicable for the design of symmetric fields (i.e. fields that comprise of vector sets with symmetries between them at each point, e.g. N-RoSy or frame-fields), the framework presented in [29] can be used to design completely general fields, with possibly no such symmetries. For example, one can design fields that at each point comprise of an arbitrary number of vectors, not required to be collinear - as opposed e.g. to the case of the 4 pairwise-collinear vectors designed in the example (Example 507). This capability is implemented in the function igl::n_polyvector_general, and is illustrated in the example (Example 511).

    - -
    -Interpolation of a general field with 3 (left) and 9 vectors per point field from a sparse set of random constraints (in red). The field is defined on all mesh faces, but is only shown on a subset for clarity. -
    Interpolation of a general field with 3 (left) and 9 vectors per point field from a sparse set of random constraints (in red). The field is defined on all mesh faces, but is only shown on a subset for clarity.
    -
    - -

    The design of these general directional fields (also called vector-set fields) is based on the same polynomial framework and includes the symmetric fields as a special case. Note that in the case that some symmetries do exist in the constraints, the final field is not guaranteed to have these symmetries everywhere else on the mesh. For example, designing a field with 3 vectors per point where, at the constrained faces, two of the vectors are on a line opposite to each other, we are not guaranteed to always have two pairwise-collinear vectors everywhere in the result, as can be seen in the picture. In some cases however (as is the case of the frame field in the previous example Example 507) these symmetries are in fact guaranteed due to the particular nature of the polynomial that applies in that case (two coefficients are 0).

    - -

    For a complete categorization of fields used in various applications (including these general ones) see Vaxman et al. 2016 [33].

    - -

    Chapter 6: External libraries

    +

    Chapter 6: External libraries

    An additional positive side effect of using matrices as basic types is that it -is easy to exchange data between libigl and other softwares and libraries.

    +is easy to exchange data between libigl and other software and libraries.

    -

    State serialization

    +

    State serialization

    Geometry processing applications often require a considerable amount of -computational time and/or manual input. Serializing the state of the application is a simple strategy to greatly increase the development efficiency. It allows to quickly start debugging just -before the crash happens, avoiding to wait for the precomputation to take place -every time and it also makes your experiments reproducible, allowing to quickly test algorithms variants on the same input data.

    +computational time and/or manual input. Serializing the state of the application +is a simple strategy to greatly increase the development efficiency. It allows +to quickly start debugging just before the crash happens, avoiding to wait for +the precomputation to take place every time and it also makes your experiments +reproducible, allowing to quickly test algorithms variants on the same input +data.

    -

    Serialization is often not considered in geometry processing due -to the extreme difficulty in serializing pointer-based data structured, such as -an half-edge data structure (OpenMesh, CGAL), or a pointer based indexed structure (VCG).

    +

    Serialization is often not considered in geometry processing due to the extreme +difficulty in serializing pointer-based data structured, such as an half-edge +data structure (OpenMesh, CGAL), +or a pointer based indexed structure +(VCG).

    -

    In libigl, serialization is much simpler, since the majority of the functions use basic types, and pointers are used in very rare cases (usually to interface -with external libraries). Libigl bundles a simple and self-contained binary and XML serialization framework, that drastically reduces the overhead required to add -serialization to your applications.

    +

    In libigl, serialization is much simpler, since the majority of the functions +use basic types, and pointers are used in very rare cases (usually to interface +with external libraries). Libigl bundles a simple and self-contained binary and +XML serialization framework, that drastically reduces the overhead required to +add serialization to your applications.

    To de-/serialize a set of variables use the following method:

    @@ -2529,7 +2548,8 @@ bool b = true; unsigned int num = 10; std::vector<float> vec = {0.1,0.002,5.3}; -// use overwrite = true for the first serialization to create or overwrite an existing file +// use overwrite = true for the first serialization to create or overwrite an +// existing file igl::serialize(b,"B","filename",true); // append following serialization to existing file igl::serialize(num,"Number","filename"); @@ -2541,10 +2561,16 @@ igl::deserialize(num,"Number","filename"); igl::deserialize(vec,"VectorName","filename");
    -

    Currently all fundamental data types (bool, int, float, double, …) are supported, as well as std::string, basic STL containers, dense and sparse Eigen matrices and nestings of those. -Some limitations apply to pointers. Currently, loops or many to one type of link structures are not handled correctly. Each pointer is assumed to point to a different independent object. -Uninitialized pointers must be set to nullptr before de-/serialization to avoid memory leaks. Cross-platform issues like little-, big-endianess is currently not supported. -To make user defined types serializable, just derive from igl::Serializable and trivially implementing the InitSerialization method.

    +

    Currently all fundamental data types (bool, int, float, double, …) are +supported, as well as std::string, basic STL containers, dense and sparse +Eigen matrices and nestings of those. Some limitations apply to pointers. +Currently, loops or many to one type of link structures are not handled +correctly. Each pointer is assumed to point to a different independent object. +Uninitialized pointers must be set to nullptr before de-/serialization to +avoid memory leaks. Cross-platform issues like little-, big-endianess is +currently not supported. To make user defined types serializable, just derive +from igl::Serializable and trivially implementing the InitSerialization +method.

    Assume that the state of your application is a mesh and a set of integer ids:

    @@ -2565,7 +2591,9 @@ struct State : public igl::Serializable };
    -

    If you need more control over the serialization of your types, you can override the following functions or directly inherit from the interface igl::SerializableBase.

    +

    If you need more control over the serialization of your types, you can override +the following functions or directly inherit from the interface +igl::SerializableBase.

    bool Serializable::PreSerialization() const;
     void Serializable::PostSerialization() const;
    @@ -2573,18 +2601,21 @@ bool Serializable::PreDeserialization();
     void Serializable::PostDeserialization();
     
    -

    Alternatively, if you want a non-intrusive way of serializing your state you can overload the following functions:

    +

    Alternatively, if you want a non-intrusive way of serializing your state you can +overload the following functions:

    namespace igl
     {
       namespace serialization
       {
    -    template <> inline void serialize(const State& obj,std::vector<char>& buffer){
    +    template <> inline void serialize(const State& obj,std::vector<char>& buffer)
    +    {
           ::igl::serialize(obj.V,std::string("V"),buffer);
           ::igl::serialize(obj.F,std::string("F"),buffer);
           ::igl::serialize(obj.ids,std::string("ids"),buffer);
         }
    -    template <> inline void deserialize(State& obj,const std::vector<char>& buffer){
    +    template <> inline void deserialize(State& obj,const std::vector<char>& buffer)
    +    {
           ::igl::deserialize(obj.V,std::string("V"),buffer);
           ::igl::deserialize(obj.F,std::string("F"),buffer);
           ::igl::deserialize(obj.ids,std::string("ids"),buffer);
    @@ -2602,9 +2633,13 @@ void Serializable::PostDeserialization();
     )
     
    -

    All the former code is for binary serialization which is especially useful if you have to handle larger data where the loading and saving times become more important. -For cases where you want to read and edit the serialized data by hand we provide a serialization to XML files which is based on the library tinyxml2. -There you also have the option to create a partial binary serialization of your data by using the binary parameter, exposed in the function serialize_xml():

    +

    All the former code is for binary serialization which is especially useful if +you have to handle larger data where the loading and saving times become more +important. For cases where you want to read and edit the serialized data by +hand we provide a serialization to XML files which is based on the library +tinyxml2. There you also have the +option to create a partial binary serialization of your data by using the binary +parameter, exposed in the function serialize_xml():

    #include "igl/xml/serialize_xml.h"
     
    @@ -2628,11 +2663,11 @@ common to have to do small changes to figures, and being able to serialize the
     entire state just before you take screenshots will save you many painful hours
     before a submission deadline.

    -

    Mixing Matlab code

    +

    Mixing Matlab code

    Libigl can be interfaced with Matlab to offload numerically heavy computation to a Matlab script. The major advantage of this approach is that you will be -able to develop efficient and complex user-interfaces in C++, while exploting +able to develop efficient and complex user-interfaces in C++, while exploring the syntax and fast protototyping features of matlab. In particular, the use of an external Matlab script in a libigl application allows to change the Matlab code while the C++ application is running, greatly increasing coding @@ -2754,7 +2789,7 @@ L = sparse(LIJV(:,1),LIJV(:,2),LIJV(:,3));

    which is easily copied and pasted into Matlab for debugging, etc.

    -

    Calling libigl functions from Matlab

    +

    Calling libigl functions from Matlab

    It is also possible to call libigl functions from matlab, compiling them as MEX functions. This can be used to offload to C++ code the computationally @@ -2765,7 +2800,7 @@ We plan to provide wrappers for all our functions in the future, if you are interested in this feature (or if you want to help implementing it) please let us know.

    -

    Triangulation of closed polygons

    +

    Triangulation of closed polygons

    The generation of high-quality triangle and tetrahedral meshes is a very common task in geometry processing. We provide wrappers in libigl to @@ -2790,7 +2825,7 @@ in its interior) is triangulated.

    Triangulation of the interior of a polygon.
    -

    Tetrahedralization of closed surfaces

    +

    Tetrahedralization of closed surfaces

    Similarly, the interior of a closed manifold surface can be tetrahedralized using the function igl::tetrahedralize which wraps the Tetgen library (Example @@ -2804,7 +2839,7 @@ using the function igl::tetrahedralize which wraps the Tetgen libra

    Tetrahedralization of the interior of a surface mesh.
    -

    Baking ambient occlusion

    +

    Baking ambient occlusion

    Ambient occlusion is a rendering technique used to calculate the exposure of each point in a surface @@ -2841,13 +2876,13 @@ occlusion." /> occlusion. -

    Screen Capture

    +

    Screen Capture

    Libigl supports read and writing to .png files via the stb image code.

    With the viewer used in this tutorial, it is possible to render the scene in a -memory buffer using the function, igl::viewer::ViewerCore::draw_buffer:

    +memory buffer using the function, igl::opengl::ViewerCore::draw_buffer:

    // Allocate temporary buffers for 1280x800 image
     Eigen::Matrix<unsigned char,Eigen::Dynamic,Eigen::Dynamic> R(1280,800);
    @@ -2865,14 +2900,14 @@ igl::png::writePNG(R,G,B,A,"out.png");
     

    In Example 607 a scene is rendered in a temporary png and used to texture a quadrilateral.

    -

    Locally Injective Maps

    +

    Locally Injective Maps

    Extreme deformations or parametrizations with high-distortion might flip elements. This is undesirable in many applications, and it is possible to avoid it by introducing a non-linear constraints that guarantees that the area of every element remain positive.

    -

    Libigl can be used to compute Locally Injective Maps [34] using a variety of +

    Libigl can be used to compute Locally Injective Maps (31)[] using a variety of deformation energies. A simple deformation of a 2D grid is computed in Example 608.

    @@ -2883,7 +2918,7 @@ editing plus the anti-flipping constraints (right)." /> editing plus the anti-flipping constraints (right). -

    Boolean operations on meshes

    +

    Boolean operations on meshes

    Constructive solid geometry (CSG) is a technique to define a complex surface as the result of a number of set operations on solid regions of space: union, @@ -2897,23 +2932,27 @@ function \(a(\mathbf{x})\) “returns true”. operations are straightforward. For example, the union of solids \(A\) and \(B\) is simply

    -

    \(A \cup B = \{\mathbf{x} \left.\right| - a(\mathbf{x}) \text{ or } b(\mathbf{x})\},\)

    +

    $A \cup B = {\mathbf{x} \left.\right|

    + +

    a(\mathbf{x}) \text{ or } b(\mathbf{x})},$

    the intersection is

    -

    \(A \cap B = \{\mathbf{x} \left.\right| - a(\mathbf{x}) \text{ and } b(\mathbf{x})\},\)

    +

    $A \cap B = {\mathbf{x} \left.\right|

    + +

    a(\mathbf{x}) \text{ and } b(\mathbf{x})},$

    the difference \(A\) minus \(B\) is

    -

    \(A \setminus B = \{\mathbf{x} \left.\right| - a(\mathbf{x}) \text{ and _not_ } b(\mathbf{x})\},\)

    +

    $A \setminus B = {\mathbf{x} \left.\right|

    + +

    a(\mathbf{x}) \text{ and not } b(\mathbf{x})},$

    and the symmetric difference (XOR) is

    -

    \(A \triangle B = \{\mathbf{x} \left.\right| - \text{either } a(\mathbf{x}) \text{ or } b(\mathbf{x}) \text{ but not both }\}.\)

    +

    $A \triangle B = {\mathbf{x} \left.\right|

    + +

    \text{either } a(\mathbf{x}) \text{ or } b(\mathbf{x}) \text{ but not both }}.$

    Stringing together many of these operations, one can design quite complex shapes. A typical CSG library might only keep explicit base-case @@ -2926,7 +2965,7 @@ compute robustly with boundary representations, but are nonetheless useful.

    To compute a boolean operation on a triangle mesh with vertices VA and triangles FA and another mesh VB and FB, libigl first computes a unified -“mesh arrangement” (see [35]) with vertices V and triangles F where all triangle-triangle +“mesh arrangement” (see (32)[]) with vertices V and triangles F where all triangle-triangle intersections have been “resolved”. That is, edges and vertices are added exactly at the intersection lines, so the resulting non-manifold mesh (V,F) has no self-intersections.

    @@ -2945,10 +2984,10 @@ intersection) the boundary of the corresponding cells are extracted.

    The following figure shows each boolean operation on two meshes.

    -The example Boolean conducts
+<img src=
    The example Boolean conducts boolean operations on the Cheburashka (red) and Knight (green). From left @@ -2970,7 +3009,7 @@ together coincident vertices, maintaining original triangle orientations.

    cork, which is typically faster, but is not always robust.

    -

    CSG Tree

    +

    CSG Tree

    The previous section discusses using igl::copyleft::cgal::mesh_boolean to compute the result of a single boolean @@ -3006,13 +3045,20 @@ operations

    then the final composite.

    -Example 610 computes complex CSG Tree operation on 5
+<img src=
    Example 610 computes complex CSG Tree operation on 5 input meshes.
    -

    Mesh Statistics

    +

    Miscellaneous

    + +

    Libigl contains a wide variety of geometry processing tools and functions for +dealing with meshes and the linear algebra related to them: far too many to +discuss in this introductory tutorial. We’ve pulled out a couple of the +interesting functions in this chapter to highlight.

    + +

    Mesh Statistics

    Libigl contains various mesh statistics, including face angles, face areas and the detection of singular vertices, which are vertices with more or less than 6 @@ -3047,7 +3093,7 @@ the angles are to 60 degrees the more stable will the optimization be. In this case, it is clear that the mesh is of bad quality and it will probably result in artifacts if used for solving PDEs.

    -

    Generalized Winding Number

    +

    Generalized Winding Number

    The problem of tetrahedralizing the interior of closed watertight surface mesh is a difficult, but well-posed problem (see our Tetgen wrappers). But @@ -3069,7 +3115,7 @@ mesh and which are outside. That is, which should be kept and which should be removed.

    The “Generalized Winding Number” is a robust method for determined -inside and outside for troublesome meshes [36]. The generalized +inside and outside for troublesome meshes (33)[]. The generalized winding number with respect to (V,F) at some point \(\mathbf{p} \in \mathcal{R}^3\) is defined as scalar function:

    @@ -3088,7 +3134,7 @@ oriented), then \(w(\mathbf{p})\) tends smoothly towar more inside (V,F), and toward 0 as \(\mathbf{p}\) is more outside.

    -Example 702 computes the
+<img src=Mesh Decimation +

    Mesh Decimation

    The study of mesh simplification or decimation is nearly as old as meshes themselves. Given a high resolution mesh with too many triangles, find a “well @@ -3112,14 +3158,14 @@ methods are fairly advanced.

    One family of mesh decimation methods operates by successively remove elements from the mesh. In particular, Hoppe advocates for successively remove or rather -collapsing edges [37]. The generic form of this technique is to +collapsing edges (34)[]. The generic form of this technique is to construct a sequence of n meshes from the initial high-resolution mesh \(M_0\) to the lowest resolution mesh \(M_n\) by collapsing a single edge:

    \(M_0 \mathop{\longrightarrow}_\text{edge collapse} - M_1 \mathop{\longrightarrow}_\text{edge collapse} - \dots \mathop{\longrightarrow}_\text{edge collapse} - M_{n-1} \mathop{\longrightarrow}_\text{edge collapse} M_n.\)

    +M_1 \mathop{\longrightarrow}_\text{edge collapse} +\dots \mathop{\longrightarrow}_\text{edge collapse} +M_{n-1} \mathop{\longrightarrow}_\text{edge collapse} M_n.\)

    Hoppe’s original method and subsequent follow-up works propose various ways to choose the next edge to collapse in this sequence. Using a cost-based paradigm, @@ -3179,13 +3225,13 @@ drops below m=1000.

    One can also scratch deeper inside the decimation loop and call igl::collapse_edge directly. In order to operate efficiently, this routine needs more than the usual (V,F) mesh representation. We need E a list of -edge indices, where E.row(i) --> [s,d]; we need EMAP which maps the +edge indices, where E.row(i) --> [s,d]; we need EMAP which maps the “half”-edges of each triangle in F to its corresponding edge in E so that -E.row(EMAP(f+i*F.rows)) --> [s,d] if the edge across from the ith corner of the +E.row(EMAP(f+i*F.rows)) --> [s,d] if the edge across from the ith corner of the fth face is [s,d] (up to orientation); we need EF and EI which keep track of the faces incident on each edge and across from which corner of those faces the edges appears, so that EF(e,o) = f and EI(e,o) = i means that the edge -E.row(e) --> [s,d] appears in the fth face across from its ith corner (for +E.row(e) --> [s,d] appears in the fth face across from its ith corner (for o=0 the edge orientations should match, for o=1 the orientations are opposite).

    @@ -3238,7 +3284,7 @@ model. queue based approach with the simple shortest-edge-midpoint cost/placement strategy discussed above.

    -

    Signed Distances

    +

    Signed Distances

    In the Generalized Winding Number section, we examined a robust method for determining whether points lie inside or outside @@ -3313,15 +3359,15 @@ tree.squared_distance(V,F,P,sqrD,I,C);

    Finally, from the closest point or the winding number it’s possible to sign this distance. In igl::signed_distance we provide two methods for signing: -the so-called “pseudo-normal test” [38] and the generalized -winding number [36].

    +the so-called “pseudo-normal test” (35)[] and the generalized +winding number (33)[].

    The pseudo-normal test (see also igl::pseudonormal_test) assumes the input mesh is a watertight (closed, non-self-intersecting, manifold) mesh. Then given a query point \(\mathbf{q}\) and its closest point \(\mathbf{c} \in (V,F)\), it carefully chooses an outward normal \(\mathbf{n}\) at \(\mathbf{c}\) so that \(\text{sign}(\mathbf{q}-\mathbf{c})\cdot \mathbf{n}\) reveals whether -\(\mathbf{q}\) is inside \((V,F)\): –1, or outside: +1. This is a fast \(O(1)\) test +\(\mathbf{q}\) is inside \((V,F)\): -1, or outside: +1. This is a fast \(O(1)\) test once \(\mathbf{c}\) is located, but may fail if V,F is not watertight.

    An alternative is to use the generalized winding @@ -3342,13 +3388,13 @@ contains signed (unsquared) distances and the extra output N (only with the pseudo-normal test.

    -Example 704 computes signed distance on
+<img src=
    Example 704 computes signed distance on slices through the bunny.
    -

    Marching Cubes

    +

    Marching Cubes

    Often 3D data is captured as scalar field defined over space \(f(\mathbf{x}) : \mathcal{R}^3 \rightarrow \mathcal{R}\). Lurking within this field, @@ -3358,7 +3404,7 @@ iso-surface at value \(v\) is composed of all points < processing is to extract an iso-surface as a triangle mesh for further mesh-based processing or visualization. This is referred to as iso-contouring.

    -

    “Marching Cubes” [39] is a famous +

    “Marching Cubes” (36) is a famous method for iso-contouring tri-linear functions \(f\) on a regular lattice (aka grid). The core idea of this method is to contour the iso-surface passing through each cell (if it does at @@ -3375,7 +3421,7 @@ input scalar field S sampled at vertex locations GV of

    -(Example 705) samples signed distance to the
+<img src=Facet Orientation +

    Facet Orientation

    Models from the web occasionally arrive unorientated in the sense that the orderings of each triangles vertices do not consistently agree. Determining @@ -3409,7 +3455,7 @@ enforce a consistent facet orientation in the output faces FF.

    For (closed or nearly closed) surfaces representing the boundary of a solid object, libigl provides a routine to reorient faces so that the vertex ordering corresponds to a counter-clockwise ordering of the vertices with a -right-hand-rule normal pointing outward. This method [40] assumes +right-hand-rule normal pointing outward. This method (37)[] assumes that most of the universe is empty. That is, most points in space are outside of the solid object than inside. @@ -3424,10 +3470,10 @@ occluded (lighter, i.e., facing more void space).

    The boolean vector I reveals which rows of F have been flipped in FF.

    -(Example 706) loads a truck model with
+<img src=
    (Example 706) loads a truck model with inconsistent orientations (back facing triangles shown darker). Orientable @@ -3436,7 +3482,7 @@ Alternatively, each individual triangle is considered a “patch” (mid and oriented outward independently.
    -

    Swept Volume

    +

    Swept Volume

    The swept volume \(S\) of a moving solid object \(A\) can be defined as any point in space such that at one moment in time the point lies inside the solid. In other @@ -3461,20 +3507,21 @@ error.

    volume is by exploiting an alternative definition of the swept volume based on signed distances:

    -

    \(S = \left\{ \mathbf{p}\ \middle| \ d(\mathbf{p},\partial S) < 0 \right\} = \left\{ \mathbf{p}\ -\middle|\ -\min\limits_{t \in [0,1]} d(\mathbf{p},f(t)\ \partial A) < 0 \right\}\)

    +

    $S = \left{ \mathbf{p} \middle|  d(\mathbf{p},\partial S) < 0 \right} = \left{ \mathbf{p}
    +\middle|

    + +

    \min\limits_{t \in [0,1]} d(\mathbf{p},f(t) \partial A) < 0 \right}$

    If \(\partial A\) is a triangle mesh, then we can approximate this by 1) discretizing time at a finite step of steps \([0,\Delta t,2\Delta t, \dots, 1]\) and by 2) discretizing space with a regular grid and representing the distance field using trilinear interpolation of grid values. Finally the output mesh, \(\partial S\) is approximated by contouring using Marching Cubes -[39].

    +(36).

    This method is similar to one described by Schroeder et al. in 1994 -[41], and the one used in conjunction with boolean operations by -Garg et al. 2016 [42].

    +(38), and the one used in conjunction with boolean operations by +Garg et al. 2016 (39).

    In libigl, if your input solid’s surface is represented by (V,F) then the output surface mesh will be (SV,SF) after calling:

    @@ -3487,7 +3534,7 @@ volume, greater than zero to approximate a positive offset of the swept volume or less than zero to approximate a negative offset.

    -(Example 707) computes
+<img src=
    (Example 707) computes @@ -3495,11 +3542,11 @@ the surface of the swept volume (silver) of the bunny model undergoing a rigid motion (gold).
    -

    Picking

    +

    Picking

    Picking vertices and faces using the mouse is very common in geometry processing applications. While this might seem a simple operation, its -implementation is not straighforward. Libigl contains a function that solves this problem using the +implementation is not straightforward. Libigl contains a function that solves this problem using the Embree raycaster. Its usage is demonstrated in Example 708:

    @@ -3524,15 +3571,15 @@ Hierarchy constructed by Embree, and fid and vid are the picked face and vertex, respectively.

    -(Example 708) Picking via ray casting. The selected
+<img src=
    (Example 708) Picking via ray casting. The selected vertices are colored in red.
    -

    Vector Field Visualization

    +

    Vector Field Visualization

    -

    Vector fields on surfaces are commonly visualized by tracing streamlines. Libigl +

    Vector fields on surfaces are commonly visualized by tracing [streamlines] (https://en.wikipedia.org/wiki/Streamlines,_streaklines,_and_pathlines). Libigl supports the seeding and tracing of streamlines, for both simple vector fields and for N-rosy fields. The seeds for the streamlines are initialized using streamlines_init, and the lines are traced using streamlines_next. Each call to streamlines_next extends @@ -3540,13 +3587,13 @@ each line by one triangle, allowing interactive rendering of the traced lines, a in Example 709.

    -(Example 709) Interactive streamlines tracing. +([Example 709](709_VectorFieldVisualizer/main.cpp)) Interactive streamlines tracing.
    (Example 709) Interactive streamlines tracing.
    -

    Scalable Locally Injective Maps

    +

    Scalable Locally Injective Maps

    -

    The Scalable Locally Injective Maps [43] algorithm allows to +

    The Scalable Locally Injective Maps (40) algorithm allows to compute locally injective maps on massive datasets. The algorithm shares many similarities with ARAP, but uses a reweighting scheme to minimize arbitrary distortion energies, including those that prevent the introduction of flips.

    @@ -3566,7 +3613,7 @@ using the SLIM algorithm in 10 iterations." /> using the SLIM algorithm in 10 iterations.
    -

    Subdivision surfaces

    +

    Subdivision surfaces

    Given a coarse mesh (aka cage) with vertices V and faces F, one can createa higher-resolution mesh with more vertices and faces by subdividing every @@ -3590,7 +3637,7 @@ a finer and finer mesh.

    The subdivision method of igl::loop is not in plane. The vertices of the refined mesh are moved to weight combinations of their neighbors: the mesh is -smoothed as it is refined [44]. This and other smooth subdivision +smoothed as it is refined (41). This and other smooth subdivision methods can be understood as generalizations of spline curves to surfaces. In particular the Loop subdivision method will converge to a \(C^1\) surface as we consider the limit of recursive applications of subdivision. Away from @@ -3609,14 +3656,14 @@ the carrier surfaces with extreme bias.

    The original coarse mesh and three different subdivision methods:
-igl::upsample, igl::loop and
-igl::false_barycentric_subdivision. +`igl::upsample`, `igl::loop` and +`igl::false_barycentric_subdivision`." />
    The original coarse mesh and three different subdivision methods: igl::upsample, igl::loop and igl::false_barycentric_subdivision.
    -

    Data smoothing

    +

    Data smoothing

    A noisy function \(f\) defined on a surface \(\Omega\) can be smoothed using an energy minimization that balances a smoothing term \(E_S\) with a quadratic @@ -3647,7 +3694,7 @@ of the function to be perpendicular to the boundary, the Hessian energy gives an unbiased result.

    -(Example 712) From left to right: a function
+<img src= @@ -3657,31 +3704,50 @@ with the Laplacian energy and zero Neumann boundary conditions, and the result of smoothing with the Hessian energy.
    -

    Miscellaneous

    +

    ShapeUp Projections

    -

    Libigl contains a wide variety of geometry processing tools and functions for -dealing with meshes and the linear algebra related to them: far too many to -discuss in this introductory tutorial. We’ve pulled out a couple of the -interesting functions in this chapter to highlight.

    +

    Our input is a set of points \(P_0\) (not necessarily part of any mesh), and a set of constraints \(S=\left\{S_1,S_2,...S_m\right\}\), where each constraint is defined on a different, and sparse, subset of \(P_0\). We wish to create a new set of points \(P\) that are close to the original set \(P_0\) (each point with corresponding indices), while adhering to the constraints. Other objectives, such as smoothness, can be employed. The constraints can be nonlinear, which makes the problem nonconvex, difficult, and without a guaranteed global optimum. A very popular lightweight approach to such problems is a local-global iterative algorithm, comprising these two steps:

    -

    Outlook for continuing development

    +

    For iteration \(k\):

    + +
      +
    1. Local step: compute the projections of the set \(P_{k-1}\) onto \(S\), individually per constraint; that would mean fragmenting each point that appears in multiple constraints. That can be a nonlinear operation, but if the constraints are sparse, it is a a set of many small systems.
    2. +
    3. Global step: integrate the set \(P_k\) to be as close as possible to the projected fragmented set, with auxiliary objective functions possible. That results in a global, but quadratic objective function. Moreover, the resulting linear system has a constant matrix, and therefore can be pre-factored.
    4. +
    + +

    The version we implement in libigl is the general version described by (30), and is in two files: <igl/shapeup.h> and <igl/shapeup_local_projections.h>. A demo implementing regularity constraints (creating a mesh in which each face is as regular as possible) is in Example 713.

    + +

    The local step is instantiated by a function of type igl::shapeup_projection_function. The global step is done by two functions: igl::shapeup_precomputation(), which precomputes the matrices required for the global step, and igl::shapeup_solve(), which solves the problem, according to the initial solution \(P_0\) and the input local projection function. The data struct igl::ShapeUpData contains the information necessary to run the algorithm, and can be configured; for instance, the self-explanatory variable Maxiterations.

    + +

    The global step minimizes the following energy:

    + +

    \[E_{total}=\lambda_{shape}E_{shape}+\lambda_{close}E_{close}+\lambda_{smooth}E_{smooth},\]

    + +

    where the \(\lambda\) coefficients are encoded in igl::ShapeUpData, and can be updated prior to calling igl::shapeup_precomputation(). The \(E_{shape}\) component is the integration energy (fitting \(P_k\) to the local projections). The \(E_{close}\) component is adherence to positional constraints, given by b and bc parameters. The \(E_{smooth}\) component is an optional objective function, to minimize differences (in the Dirichlet sense) between points, encodes by “edges” in parameter E. Both \(E_{close}\) and \(E_{shape}\) are also weighted by wClose and wShape function parameters, respectively.

    + +
    +([Example 713](713_ShapeUp/main.cpp)) The half-tunnel mesh (left) has been optimized to be almost perfectly regular (right). The color scale is between $[0,0.05]$, measuring the average normalized deviation of the angles of each face from $90^{\circ}$. +
    (Example 713) The half-tunnel mesh (left) has been optimized to be almost perfectly regular (right). The color scale is between \([0,0.05]\), measuring the average normalized deviation of the angles of each face from \(90^{\circ}\).
    +
    + +

    Outlook for continuing development

    Libigl is in active development, and we plan to focus on the following features in the next months:

    • A better and more consistent documentation, plus extending this tutorial - to cover more libigl features.

    • +to cover more libigl features.

    • Implement a mixed-integer solver which only uses Eigen to remove the - dependency on CoMiSo.

    • +dependency on CoMiSo.

    • Improve the robustness and performance of the active set QP solver. In - particular, handle linearly dependent constraints.

    • +particular, handle linearly dependent constraints.

    • Implement more mesh analysis functions, including structural analysis for - masonry and 3D-printability analysis.

    • +masonry and 3D-printability analysis.

    • Increase support for point clouds and general polygonal meshes.

    • -
    • What would you like to see in libigl? Contact - us! or post a feature - request.

    • +
    • What would you like to see in libigl? Contact +us! or post a feature +request.

    We encourage you to contribute to the library and to report problems and bugs. @@ -3690,262 +3756,285 @@ repository and to open a our github repository.

    -
    +

      -
    1. Mark Meyer, Mathieu Desbrun, Peter Schröder and Alan H. Barr, - Discrete Differential-Geometry Operators for Triangulated - 2-Manifolds, - 2003.

      +
    2. +

      Mark Meyer, Mathieu Desbrun, Peter Schröder and Alan H. Barr, +Discrete Differential–Geometry Operators for Triangulated +2–Manifolds, +2003.  ↩

    3. -
    4. Daniele Panozzo, Enrico Puppo, Luigi Rocca, Efficient - Multi-scale Curvature and Crease - Estimation, - 2010.

      +
    5. +

      Daniele Panozzo, Enrico Puppo, Luigi Rocca, Efficient +Multi–scale Curvature and Crease +Estimation, +2010.  ↩

    6. -
    7. Alec Jacobson, - Algorithms and Interfaces for Real-Time Deformation of 2D and 3D - Shapes, - 2013.

      +
    8. +

      Alec Jacobson, +Algorithms and Interfaces for Real–Time Deformation of 2D and 3D +Shapes, +2013.  ↩

    9. -
    10. Andrei Sharf, Thomas Lewiner, Gil Shklarski, Sivan Toledo, and - Daniel Cohen-Or. Interactive topology-aware surface - reconstruction, - 2007.

      +
    11. +

      Andrei Sharf, Thomas Lewiner, Gil Shklarski, Sivan Toledo, and +Daniel Cohen–Or. Interactive topology–aware surface +reconstruction, +2007.  ↩

    12. -
    13. Michael Kazhdan, Jake Solomon, Mirela Ben-Chen, - Can Mean-Curvature Flow Be Made - Non-Singular, - 2012.

      +
    14. +

      Michael Kazhdan, Jake Solomon, Mirela Ben–Chen, +Can Mean–Curvature Flow Be Made +Non–Singular, +2012.  ↩

    15. -
    16. Raid M. Rustamov, Multiscale Biharmonic - Kernels, 2011.

      +
    17. +

      Joseph S. B. Mitchell, David M. Mount, Christos H. Papadimitriou. The Discrete Geodesic Problem, 1987  ↩

    18. -
    19. Bruno Vallet and Bruno Lévy. Spectral Geometry Processing with - Manifold - Harmonics, - 2008.

      +
    20. +

      Raid M. Rustamov, Multiscale Biharmonic +Kernels, 2011.  ↩

    21. -
    22. Klaus Hildebrandt, Christian Schulz, Christoph von - Tycowicz, and Konrad Polthier. Interactive Surface Modeling using Modal - Analysis, - 2011.

      +
    23. +

      Bruno Vallet and Bruno Lévy. Spectral Geometry Processing with +Manifold +Harmonics, +2008.  ↩

    24. -
    25. Jernej Barbic and Doug James. Real-Time Subspace Integration - for St.Venant-Kirchhoff Deformable - Models, - 2005.

      +
    26. +

      Klaus Hildebrandt, Christian Schulz, Christoph von +Tycowicz, and Konrad Polthier. Interactive Surface Modeling using Modal +Analysis, +2011.  ↩

    27. -
    28. Matrio Botsch and Leif Kobbelt. - An Intuitive Framework for Real-Time Freeform - Modeling, - 2004.

      +
    29. +

      Jernej Barbic and Doug James. Real–Time Subspace Integration +for St.Venant–Kirchhoff Deformable +Models, +2005.  ↩

    30. -
    31. Alec Jacobson, Elif Tosun, Olga Sorkine, and Denis - Zorin. Mixed Finite Elements for Variational Surface - Modeling, - 2010.

      +
    32. +

      Matrio Botsch and Leif Kobbelt. +An Intuitive Framework for Real–Time Freeform +Modeling, +2004.  ↩

    33. -
    34. Olga Sorkine, Yaron Lipman, Daniel Cohen-Or, Marc Alexa, - Christian Rössl and Hans-Peter Seidel. Laplacian Surface - Editing, 2004.

      +
    35. +

      Alec Jacobson, Elif Tosun, Olga Sorkine, and Denis +Zorin. Mixed Finite Elements for Variational Surface +Modeling, +2010.  ↩

    36. -
    37. Alec Jacobson, Ilya Baran, Jovan Popović, and Olga Sorkine. - Bounded Biharmonic Weights for Real-Time - Deformation, - 2011.

      +
    38. +

      Olga Sorkine, Yaron Lipman, Daniel Cohen–Or, Marc Alexa, +Christian Rössl and Hans–Peter Seidel. Laplacian Surface +Editing, 2004.  ↩

    39. -
    40. Ladislav Kavan, Steven Collins, Jiri Zara, and Carol O’Sullivan. - Geometric Skinning with Approximate Dual Quaternion - Blending, - 2008.

      +
    41. +

      Alec Jacobson, Ilya Baran, Jovan Popović, and Olga Sorkine. +Bounded Biharmonic Weights for Real–Time +Deformation, +2011.  ↩

    42. -
    43. Olga Sorkine and Marc Alexa. As-rigid-as-possible Surface - Modeling, 2007.

      +
    44. +

      Ladislav Kavan, Steven Collins, Jiri Zara, and Carol O'Sullivan. +Geometric Skinning with Approximate Dual Quaternion +Blending, +2008.  ↩

    45. -
    46. Isaac Chao, Ulrich Pinkall, Patrick Sanan, Peter Schröder. - A Simple Geometric Model for Elastic - Deformations, - 2010.

      +
    47. +

      Olga Sorkine and Marc Alexa. As–rigid–as–possible Surface +Modeling, 2007.  ↩

    48. -
    49. Alexa McAdams, Andrew Selle, Rasmus Tamstorf, Joseph Teran, - Eftychios Sifakis. Computing the Singular Value Decomposition of 3x3 - matrices with minimal branching and elementary floating point - operations, - 2011.

      +
    50. +

      Isaac Chao, Ulrich Pinkall, Patrick Sanan, Peter Schröder. +A Simple Geometric Model for Elastic +Deformations, +2010.  ↩

    51. -
    52. Alec Jacobson, Ilya Baran, Ladislav Kavan, Jovan Popović, and - Olga Sorkine. Fast Automatic Skinning - Transformations, - 2012.

      +
    53. +

      Alexa McAdams, Andrew Selle, Rasmus Tamstorf, Joseph Teran, +Eftychios Sifakis. Computing the Singular Value Decomposition of 3x3 +matrices with minimal branching and elementary floating point +operations, +2011.  ↩

    54. -
    55. Alec Jacobson, Zhigang Deng, Ladislav Kavan, - J.P. Lewis. Skinning: Real-Time Shape - Deformation, - 2014.

      +
    56. +

      Alec Jacobson, Ilya Baran, Ladislav Kavan, Jovan Popović, and +Olga Sorkine. Fast Automatic Skinning +Transformations, +2012.  ↩

    57. -
    58. Yu Wang, Alec Jacobson, Jernej Barbic, Ladislav Kavan. Linear - Subspace Design for Real-Time Shape - Deformation, - 2015

      +
    59. +

      Alec Jacobson, Zhigang Deng, Ladislav Kavan, +J.P. Lewis. Skinning: Real–Time Shape +Deformation, +2014.  ↩

    60. -
    61. Matthias Eck, Tony DeRose, Tom Duchamp, Hugues Hoppe, Michael Lounsbery, Werner - Stuetzle. Multiresolution Analysis of Arbitrary - Meshes, 2005.

      +
    62. +

      Yu Wang, Alec Jacobson, Jernej Barbic, Ladislav Kavan. Linear +Subspace Design for Real–Time Shape +Deformation, +2015  ↩

    63. -
    64. Bruno Lévy, Sylvain Petitjean, Nicolas Ray, Jérome Maillot. - Least Squares Conformal Maps, for Automatic Texture Atlas - Generation,, 2002.

      +
    65. +

      Matthias Eck, Tony DeRose, Tom Duchamp, Hugues Hoppe, Michael Lounsbery, Werner +Stuetzle. Multiresolution Analysis of Arbitrary +Meshes, 2005.  ↩

    66. -
    67. Patrick Mullen, Yiying Tong, Pierre Alliez, Mathieu Desbrun. - Spectral Conformal - Parameterization, 2008.

      +
    68. +

      Bruno Lévy, Sylvain Petitjean, Nicolas Ray, Jérome Maillot. +Least Squares Conformal Maps, for Automatic Texture Atlas +Generation,, 2002.  ↩

    69. -
    70. Ligang Liu, Lei Zhang, Yin Xu, Craig Gotsman, Steven J. Gortler. - A Local/Global Approach to Mesh - Parameterization, 2008.

      +
    71. +

      Patrick Mullen, Yiying Tong, Pierre Alliez, Mathieu Desbrun. +Spectral Conformal +Parameterization, 2008.  ↩

    72. -
    73. Nicolas Ray, Bruno Vallet, Wan Chiu Li, Bruno Lévy. - N-Symmetry Direction Field - Design, - 2008.

      +
    74. +

      Ligang Liu, Lei Zhang, Yin Xu, Craig Gotsman, Steven J. Gortler. +A Local/Global Approach to Mesh +Parameterization, 2008.  ↩

    75. -
    76. David Bommes, Henrik Zimmer, Leif Kobbelt. - Mixed-integer - quadrangulation, - 2009.

      +
    77. +

      Nicolas Ray, Bruno Vallet, Wan Chiu Li, Bruno Lévy. +N–Symmetry Direction Field +Design, +2008.  ↩

    78. -
    79. Felix Knöppel, Keenan Crane, Ulrich Pinkall, and Peter - Schröder. Globally Optimal Direction - Fields, - 2013.

      +
    80. +

      David Bommes, Henrik Zimmer, Leif Kobbelt. +Mixed–integer +quadrangulation, +2009.  ↩

    81. -
    82. Daniele Panozzo, Enrico Puppo, Marco Tarini, Olga - Sorkine-Hornung. Frame Fields: Anisotropic and Non-Orthogonal Cross - Fields, - 2014.

      +
    83. +

      Amir Vaxman, Marcel Campen, Olga Diamanti, Daniele Panozzo, +David Bommes, Klaus Hildebrandt, Mirela Ben–Chen. Directional Field +Synthesis, Design, and +Processing, +2016  ↩

    84. -
    85. Olga Diamanti, Amir Vaxman, Daniele Panozzo, Olga - Sorkine-Hornung. Designing N-PolyVector Fields with Complex - Polynomials, 2014

      +
    86. +

      Daniele Panozzo, Enrico Puppo, Marco Tarini, Olga +Sorkine–Hornung. Frame Fields: Anisotropic and Non–Orthogonal Cross +Fields, +2014.  ↩

    87. -
    88. Yang Liu, Weiwei Xu, Jun Wang, Lifeng Zhu, Baining Guo, Falai Chen, Guoping - Wang. General Planar Quadrilateral Mesh Design Using Conjugate Direction - Field, - 2008.

      +
    89. +

      Sofien Bouaziz, Mario Deuss, Yuliy Schwartzburg, Thibaut Weise, Mark Pauly +Shape–Up: Shaping Discrete Geometry with +Projections, 2012  ↩

    90. -
    91. Sofien Bouaziz, Mario Deuss, Yuliy Schwartzburg, Thibaut Weise, Mark Pauly - Shape-Up: Shaping Discrete Geometry with - Projections, 2012

      +
    92. +

      Christian Schüller, Ladislav Kavan, Daniele Panozzo, Olga +Sorkine–Hornung. Locally Injective +Mappings, 2013.  ↩

    93. -
    94. Olga Diamanti, Amir Vaxman, Daniele Panozzo, Olga - Sorkine-Hornung. Integrable PolyVector Fields, 2015

      +
    95. +

      Qingnan Zhou, Eitan Grinspun, Denis Zorin. Mesh Arrangements for +Solid +Geometry, +2016  ↩

    96. -
    97. Amir Vaxman, Marcel Campen, Olga Diamanti, Daniele Panozzo, - David Bommes, Klaus Hildebrandt, Mirela Ben-Chen. Directional Field - Synthesis, Design, and - Processing, - 2016

      +
    98. +

      Alec Jacobson, Ladislav Kavan, and Olga Sorkine. +Robust Inside–Outside Segmentation using Generalized Winding +Numbers, +2013.  ↩

    99. -
    100. Christian Schüller, Ladislav Kavan, Daniele Panozzo, Olga - Sorkine-Hornung. Locally Injective - Mappings, 2013.

      +
    101. +

      Hugues Hoppe. Progressive +Meshes, 1996  ↩

    102. -
    103. Qingnan Zhou, Eitan Grinspun, Denis Zorin. Mesh Arrangements for - Solid - Geometry, - 2016

      -
    104. - -
    105. Alec Jacobson, Ladislav Kavan, and Olga Sorkine. - Robust Inside-Outside Segmentation using Generalized Winding - Numbers, - 2013.

      -
    106. - -
    107. Hugues Hoppe. Progressive - Meshes, 1996

      -
    108. - -
    109. J Andreas Baerentzen and Henrik Aanaes. +

    110. +

      J Andreas Baerentzen and Henrik Aanaes. Signed distance computation using the angle weighted pseudonormal, - 2005.

      +2005.  ↩

    111. -
    112. W.E. Lorensen and Harvey E. Cline. Marching cubes: A high - resolution 3d surface construction - algorithm, - 1987.

      +
    113. +

      W.E. Lorensen and Harvey E. Cline. Marching cubes: A high +resolution 3d surface construction +algorithm, +1987.  ↩

    114. -
    115. Kenshi Takayama, Alec Jacobson, Ladislav Kavan, Olga - Sorkine-Hornung. A Simple Method for Correcting Facet Orientations in - Polygon Meshes Based on Ray - Casting, - 2014.

      +
    116. +

      Kenshi Takayama, Alec Jacobson, Ladislav Kavan, Olga +Sorkine–Hornung. A Simple Method for Correcting Facet Orientations in +Polygon Meshes Based on Ray +Casting, +2014.  ↩

    117. -
    118. William J. Schroeder, William E. Lorensen, and Steve - Linthicum. Implicit Modeling of Swept Surfaces and - Volumes, - 1994.

      +
    119. +

      William J. Schroeder, William E. Lorensen, and Steve +Linthicum. Implicit Modeling of Swept Surfaces and +Volumes, +1994.  ↩

    120. -
    121. Akash Garg, Alec Jacobson, Eitan Grinspun. Computational Design - of - Reconfigurables, - 2016

      +
    122. +

      Akash Garg, Alec Jacobson, Eitan Grinspun. Computational Design +of +Reconfigurables, +2016  ↩

    123. -
    124. Michael Rabinovich, Roi Poranne, Daniele Panozzo, Olga - Sorkine-Hornung. Scalable Locally Injective - Mappings, 2016.

      +
    125. +

      Michael Rabinovich, Roi Poranne, Daniele Panozzo, Olga +Sorkine–Hornung. Scalable Locally Injective +Mappings, 2016.  ↩

    126. -
    127. Charles Loop. Smooth Subdivision Surfaces Based on - Triangles, - 1987.

      +
    128. +

      Charles Loop. Smooth Subdivision Surfaces Based on +Triangles, +1987.  ↩

    - + diff --git a/tutorial/tutorial.md b/tutorial/tutorial.md index 58d89e2b3..55a820e30 100644 --- a/tutorial/tutorial.md +++ b/tutorial/tutorial.md @@ -34,6 +34,7 @@ lecture notes links to a cross-platform example application. * [104 Scalar field visualization](#scalarfieldvisualization) * [105 Overlays](#overlays) * [106 Viewer Menu](#viewermenu) + * [107 Multiple Meshes](#multiplemeshes) * [Chapter 2: Discrete Geometric Quantities and Operators](#chapter2:discretegeometricquantitiesandoperators) * [201 Normals](#normals) @@ -43,10 +44,11 @@ lecture notes links to a cross-platform example application. * [202 Gaussian Curvature](#gaussiancurvature) * [203 Curvature Directions](#curvaturedirections) * [204 Gradient](#gradient) - * [204 Laplacian](#laplacian) + * [205 Laplacian](#laplacian) * [Mass matrix](#massmatrix) * [Alternative construction of Laplacian](#alternativeconstructionoflaplacian) + * [206 Geodesic Distance](#geodesic) * [Chapter 3: Matrices and Linear Algebra](#chapter3:matricesandlinearalgebra) * [301 Slice](#slice) * [302 Sort](#sort) @@ -73,17 +75,12 @@ lecture notes links to a cross-platform example application. * [504 N-Rotationally symmetric tangent fields](#nrotationallysymmetrictangetfields) * [505 Global, seamless integer-grid parametrization](#globalseamlessintegergridparametrization) * [506 Anisotropic remeshing using frame fields](#anisotropicremeshingusingframefields) - * [507 N-PolyVector fields](#npolyvectorfields) - * [508 Conjugate vector fields](#conjugatevectorfields) - * [509 Planarization](#planarization) - * [510 Integrable PolyVector Fields](#integrable) - * [511 General N-PolyVector Fields](#npolyvectorfields_general) + * [507 Planarization](#planarization) * [Chapter 6: External libraries](#chapter6:externallibraries) * [601 State serialization](#stateserialization) * [602 Mixing Matlab code](#mixingmatlabcode) * [Saving a Matlab workspace](#savingamatlabworkspace) - * [Dumping Eigen matrices to copy and paste into - Matlab](#dumpingeigenmatricestocopyandpasteintomatlab) + * [Dumping Eigen matrices to copy and paste into Matlab](#dumpingeigenmatricestocopyandpasteintomatlab) * [603 Calling libigl functions from Matlab](#callinglibiglfunctionsfrommatlab) * [604 Triangulation of closed polygons](#triangulationofclosedpolygons) * [605 Tetrahedralization of closed surfaces](#tetrahedralizationofclosedsurfaces) @@ -105,6 +102,7 @@ lecture notes links to a cross-platform example application. * [710 Scalable Locally Injective Maps](#slim) * [711 Subdivision surfaces](#subdivision) * [712 Data smoothing](#datasmoothing) + * [713 ShapeUp projection](#shapeup) * [Chapter 8: Outlook for continuing development](#future) # Chapter 1 [chapter1:introductiontolibigl] @@ -258,7 +256,7 @@ converter from OFF to OBJ format. ## [Visualizing surfaces](#visualizingsurfaces) [visualizingsurfaces] Libigl provides an glfw-based OpenGL 3.2 viewer to visualize surfaces, their -properties and additional debugging informations. +properties and additional debugging information. The following code ([Example 102](102_DrawMesh/main.cpp)) is a basic skeleton for all the examples that will be used in the tutorial. @@ -267,7 +265,7 @@ render it. ```cpp #include -#include +#include Eigen::MatrixXd V; Eigen::MatrixXi F; @@ -278,8 +276,8 @@ int main(int argc, char *argv[]) igl::readOFF(TUTORIAL_SHARED_PATH "/bunny.off", V, F); // Plot the mesh - igl::viewer::Viewer viewer; - viewer.data.set_mesh(V, F); + igl::opengl::glfw::Viewer viewer; + viewer.data().set_mesh(V, F); viewer.launch(); } ``` @@ -289,7 +287,7 @@ The function `set_mesh` copies the mesh into the viewer. Additional properties can be plotted on the mesh (as we will see later), and it is possible to extend the viewer with standard OpenGL code. Please see the documentation in -[Viewer.h](../include/igl/Viewer/Viewer.h) for more details. +[Viewer.h](../include/igl/opengl/glfw/Viewer.h) for more details. ![([Example 102](102_DrawMesh/main.cpp)) loads and draws a mesh.](images/102_DrawMesh.png) @@ -315,18 +313,18 @@ stages of an algorithm, as demonstrated in [Example 103](103_Events/main.cpp), w the keyboard callback changes the visualized mesh depending on the key pressed: ```cpp -bool key_down(igl::viewer::Viewer& viewer, unsigned char key, int modifier) +bool key_down(igl::opengl::glfw::Viewer& viewer, unsigned char key, int modifier) { if (key == '1') { - viewer.data.clear(); - viewer.data.set_mesh(V1, F1); + viewer.data().clear(); + viewer.data().set_mesh(V1, F1); viewer.core.align_camera_center(V1,F1); } else if (key == '2') { - viewer.data.clear(); - viewer.data.set_mesh(V2, F2); + viewer.data().clear(); + viewer.data().set_mesh(V2, F2); viewer.core.align_camera_center(V2,F2); } return false; @@ -348,7 +346,7 @@ control the camera directly in your code. The viewer can be extended using plugins, which are classes that implements all the viewer's callbacks. See the -[Viewer_plugin](../include/igl/viewer/ViewerPlugin.h) for more details. +[Viewer_plugin](../include/igl/opengl/glfw/ViewerPlugin.h) for more details. ## [Scalar field visualization](#scalarfieldvisualization) [scalarfieldvisualization] @@ -356,7 +354,7 @@ Colors and normals can be associated to faces or vertices using the set_colors function: ```cpp -viewer.data.set_colors(C); +viewer.data().set_colors(C); ``` `C` is a #C by 3 matrix with one RGB color per row. `C` must have as many @@ -389,22 +387,22 @@ heavy data structures types favors simplicity, ease of use and reusability. ## [Overlays](#overlays) [overlays] -In addition to plotting the surface, the viewer supports the visualization of points, lines and text labels: these overlays can be very helpful while developing geometric processing algorithms to plot debug informations. +In addition to plotting the surface, the viewer supports the visualization of points, lines and text labels: these overlays can be very helpful while developing geometric processing algorithms to plot debug information. ```cpp -viewer.data.add_points(P,Eigen::RowVector3d(r,g,b)); +viewer.data().add_points(P,Eigen::RowVector3d(r,g,b)); ``` Draws a point of color r,g,b for each row of P. The point is placed at the coordinates specified in each row of P, which is a #P by 3 matrix. ```cpp -viewer.data.add_edges(P1,P2,Eigen::RowVector3d(r,g,b); +viewer.data().add_edges(P1,P2,Eigen::RowVector3d(r,g,b); ``` Draws a line of color r,g,b for each row of P1 and P2, which connects the 3D point in to the point in P2. Both P1 and P2 are of size #P by 3. ```cpp -viewer.data.add_label(p,str); +viewer.data().add_label(p,str); ``` Draws a label containing the string str at the position p, which is a vector of length 3. @@ -425,71 +423,117 @@ using overlays.](images/105_Overlays.png) ## [Viewer Menu](#viewermenu) [viewermenu] -As of version 1.2 the viewer uses a new menu and completely replaces -[AntTweakBar](http://anttweakbar.sourceforge.net/doc/). It is based on the -open-source projects [nanovg](https://github.com/memononen/nanovg) and -[nanogui](https://github.com/wjakob/nanogui). To extend the default menu of the -viewer and to expose more user defined variables you have to define a callback -function: - +As of latest version, the viewer uses a new menu and completely replaces +[AntTweakBar](http://anttweakbar.sourceforge.net/doc/) and +[nanogui](https://github.com/wjakob/nanogui) with [Dear ImGui](https://github.com/ocornut/imgui). To extend the default menu of the +viewer and to expose more user defined variables you have to implement a custom interface, as in [Example 106](106_ViewerMenu/main.cpp): ```cpp -igl::viewer::Viewer viewer; - -bool boolVariable = true; -float floatVariable = 0.1f; -enum Orientation { Up=0,Down,Left,Right } dir = Up; - -// Extend viewer menu -viewer.callback_init = [&](igl::viewer::Viewer& viewer) +// Add content to the default menu window +menu.callback_draw_viewer_menu = [&]() { + // Draw parent menu content + menu.draw_viewer_menu(); + // Add new group - viewer.ngui->addGroup("New Group"); + if (ImGui::CollapsingHeader("New Group", ImGuiTreeNodeFlags_DefaultOpen)) + { + // Expose variable directly ... + ImGui::InputFloat("float", &floatVariable, 0, 0, 3); - // Expose a variable directly ... - viewer.ngui->addVariable("float",floatVariable); + // ... or using a custom callback + static bool boolVariable = true; + if (ImGui::Checkbox("bool", &boolVariable)) + { + // do something + std::cout << "boolVariable: " << std::boolalpha << boolVariable << std::endl; + } - // Expose an enumaration type - viewer.ngui->addVariable("Direction",dir)->setItems({"Up","Down","Left","Right"}); + // Expose an enumeration type + enum Orientation { Up=0, Down, Left, Right }; + static Orientation dir = Up; + ImGui::Combo("Direction", (int *)(&dir), "Up\0Down\0Left\0Right\0\0"); - // Add a button - viewer.ngui->addButton("Print Hello",[](){ std::cout << "Hello\n"; }); + // We can also use a std::vector defined dynamically + static int num_choices = 3; + static std::vector choices; + static int idx_choice = 0; + if (ImGui::InputInt("Num letters", &num_choices)) + { + num_choices = std::max(1, std::min(26, num_choices)); + } + if (num_choices != (int) choices.size()) + { + choices.resize(num_choices); + for (int i = 0; i < num_choices; ++i) + choices[i] = std::string(1, 'A' + i); + if (idx_choice >= num_choices) + idx_choice = num_choices - 1; + } + ImGui::Combo("Letter", &idx_choice, choices); - // call to generate menu - viewer.screen->performLayout(); - return false; + // Add a button + if (ImGui::Button("Print Hello", ImVec2(-1,0))) + { + std::cout << "Hello\n"; + } + } }; - -// start viewer -viewer.launch(); ``` -If you need a separate new menu window use: +If you need a separate new menu window implement: ```cpp -viewer.ngui->addWindow(Eigen::Vector2i(220,10),"New Window"); +// Draw additional windows +menu.callback_draw_custom_window = [&]() +{ + // Define next window position + size + ImGui::SetNextWindowPos(ImVec2(180.f * menu.menu_scaling(), 10), ImGuiSetCond_FirstUseEver); + ImGui::SetNextWindowSize(ImVec2(200, 160), ImGuiSetCond_FirstUseEver); + ImGui::Begin( + "New Window", nullptr, + ImGuiWindowFlags_NoSavedSettings + ); + + // Expose the same variable directly ... + ImGui::PushItemWidth(-80); + ImGui::DragFloat("float", &floatVariable, 0.0, 0.0, 3.0); + ImGui::PopItemWidth(); + + static std::string str = "bunny"; + ImGui::InputText("Name", str); + + ImGui::End(); +}; ``` -If you do not want to expose variables directly but rather use the get/set functionality: +![([Example 106](106_ViewerMenu/main.cpp)) The UI of the viewer can be easily +customized.](images/106_ViewerMenu.png) -```cpp -// ... or using a custom callback -viewer.ngui->addVariable("bool",[&](bool val) { - boolVariable = val; // setter -},[&]() { - return boolVariable; // getter -}); -``` +## [Multiple Meshes](#multiplemeshes) [multiplemeshes] -![([Example 106](106_ViewerMenu/main.cpp)) The UI of the viewer can be easily customized.](images/106_ViewerMenu.png) +Libigl's `igl::opengl::glfw::Viewer` provides basic support for rendering +multiple meshes. + +Which mesh is _selected_ is controlled via the `viewer.selected_data_index` +field. By default it his is set to `0`, so in the typical case of a single mesh +`viewer.data()` returns the `igl::ViewerData` corresponding to the one +and only mesh. + +![([Example 107](107_MultipleMeshes/main.cpp)) The `igl::opengl::glfw::Viewer` +can render multiple meshes, each with its own attributes like +colors.](images/multiple-meshes.png) # Chapter 2: Discrete Geometric Quantities and Operators This chapter illustrates a few discrete quantities that libigl can compute on a mesh and the libigl functions that construct popular discrete differential -geometry operators. It also provides an introduction to basic drawing and coloring routines of our viewer. +geometry operators. It also provides an introduction to basic drawing and +coloring routines of our viewer. ## Normals Surface normals are a basic quantity necessary for rendering a surface. There -are a variety of ways to compute and store normals on a triangle mesh. [Example 201](201_Normals/main.cpp) demonstrates how to compute and visualize normals with libigl. +are a variety of ways to compute and store normals on a triangle mesh. [Example +201](201_Normals/main.cpp) demonstrates how to compute and visualize normals +with libigl. ### Per-face Normals are well defined on each triangle of a mesh as the vector orthogonal to @@ -567,7 +611,7 @@ where $N(i)$ are the triangles incident on vertex $i$ and $θ_{ij}$ is the angle at vertex $i$ in triangle $j$ [][#meyer_2003]. Just like the continuous analog, our discrete Gaussian curvature reveals -elliptic, hyperbolic and parabolic vertices on the domain, as demonstrated in [Example 202](202GaussianCurvature/main.cpp). +elliptic, hyperbolic and parabolic vertices on the domain, as demonstrated in [Example 202](202_GaussianCurvature/main.cpp). ![The `GaussianCurvature` example computes discrete Gaussian curvature and visualizes it in pseudocolor.](images/bumpy-gaussian-curvature.jpg) @@ -771,6 +815,28 @@ since the Laplacian is the divergence of the gradient. Naturally, $\mathbf{G}^T$ a $n \times md$ sparse matrix which takes vector values stored at triangle faces to scalar divergence values at vertices. +## Geodesic + +The discrete geodesic distance between two points is the length of the shortest path between then restricted to the surface. For triangle meshes, such a path is made of a set of segments which can be either edges of the mesh or crossing a triangle. + +Libigl includes a wrapper for the exact geodesic algorithm [#mitchell_1987] developed by Danil Kirsanov (https://code.google.com/archive/p/geodesic/), exposing it through an Eigen-based API. The function +```cpp +igl::exact_geodesic(V,F,VS,FS,VT,FT,d); +``` +computes the closest geodesic distances of each vertex in VT or face in FT, from the source vertices VS or faces FS of the input mesh V,F. The output is writted in the vector d, which lists first the distances for the vertices in VT, and then for the faces in FT. For example, if you want to compute the distance from the vertex with id ```vid```, to all vertices of F you can use: +```cpp +Eigen::VectorXi VS,FS,VT,FT; +// The selected vertex is the source +VS.resize(1); +VS << vid; +// All vertices are the targets +VT.setLinSpaced(V.rows(),0,V.rows()-1); +Eigen::VectorXd d; +igl::exact_geodesic(V,F,VS,FS,VT,FT,d); +``` +![[Example 206](206_GeodesicDistance/main.cpp) allows to interactively pick the source vertex and displays the distance using a periodic color pattern. +](images/geodesicdistance.jpg) + # Chapter 3: Matrices and linear algebra Libigl relies heavily on the Eigen library for dense and sparse linear algebra routines. Besides geometry processing routines, libigl has linear algebra @@ -876,7 +942,7 @@ functionality as common Matlab functions. | `igl::components` | Connected components of graph (cf. Matlab's `graphconncomp`) | | `igl::count` | Count non-zeros in rows or columns | | `igl::cross` | Cross product per-row | -| `igl::cumsum` | Cummulative summation | +| `igl::cumsum` | Cumulative summation | | `igl::dot` | dot product per-row | | `igl::eigs` | Solve sparse eigen value problem | | `igl::find` | Find subscripts of non-zero entries | @@ -1176,7 +1242,7 @@ where $A$ is a sparse symmetric matrix and $B$ is a sparse positive definite matrix. Most commonly in geometry processing, we let $A=L$ the cotangent Laplacian and $B=M$ the per-vertex mass matrix (e.g. [#vallet_2008][]). Typically applications will make use of the _low frequency_ eigen modes. -Analagous to the Fourier decomposition, a function $f$ on a surface can be +Analogous to the Fourier decomposition, a function $f$ on a surface can be represented via its spectral decomposition of the eigen modes of the Laplace-Beltrami: @@ -1687,7 +1753,7 @@ rotation edge sets (right of middle), to the very fast subpsace method ## Biharmonic Coordinates Linear blend skinning (as [above](#boundedbiharmonicweights)) deforms a mesh by -propogating _full affine transformations_ at handles (bones, points, regions, +propagating _full affine transformations_ at handles (bones, points, regions, etc.) to the rest of the shape via weights. Another deformation framework, called "generalized barycentric coordinates", is a special case of linear blend skinning [#jacobson_skinning_course_2014][]: transformations are restricted to @@ -1826,7 +1892,7 @@ functions is designed to be reusable in other parametrization algorithms. A UV parametrization can be visualized in the viewer with: ```cpp -viewer.data.set_uv(V_uv); +viewer.data().set_uv(V_uv); ``` The UV coordinates are then used to apply a procedural checkerboard texture to the @@ -1944,9 +2010,11 @@ N are of different types and they appear in different positions. We demonstrate how to call and plot N-RoSy fields in [Example 504](504_NRosyDesign/main.cpp), where the degree of the field can be change pressing the number keys. `igl::nrosy` implements the algorithm proposed in -[#bommes_2009][]. N-RoSy fields can also be interpolated with the algorithm -proposed in [#knoppel_2013][], see Section [npolyvectorfields] for more details -([igl::n_polyvector](../include/igl/n_polyvector.h)). +[#bommes_2009][]. N-RoSy fields can also be interpolated with many other algorithms, +see the library [libdirectional](https://github.com/avaxman/libdirectional) for +a reference implementation of the most popular ones. For a complete categorization +of fields used in various applications see Vaxman et al. 2016 [#vaxman_2016]. + ### [Global, seamless integer-grid parametrization](#globalseamlessintegergridparametrization) [globalseamlessintegergridparametrization] @@ -2075,98 +2143,45 @@ generate the UV parametrization, but other algorithms could be applied: the only desiderata is that the generated quad mesh should be as isotropic as possible. -## [N-PolyVector fields](#npolyvectorfields) [npolyvectorfields] - -N-RoSy vector fields can be further generalized to represent arbitrary -vector-sets, with arbitrary angles between them and with arbitrary lengths -[#diamanti_2014][]. This generalization is called N-PolyVector field, and -libigl provides the function `igl::n_polyvector` to design them starting from a -sparse set of constraints ([Example 507](507_PolyVectorField/main.cpp)). - -![Interpolation of a 6-PolyVector field (right) and a 12-PolyVector field from a sparse set of random constraints.](images/507_PolyVectorField.png) - -The core idea is to represent the vector set as the roots of a complex -polynomial: The polynomial coefficients are then harmonically interpolated -leading to polynomials whose roots smoothly vary over the surface. - -Globally optimal direction fields [#knoppel_2013][] are a special case of -PolyVector fields. If the constraints are taken from an N-RoSy field, -`igl::n_polyvector` generates a field that is equivalent, after normalization, -to a globally optimal direction field. - -## [Conjugate vector fields](#conjugatevectorfields) [conjugatevectorfields] - -Two tangent vectors lying on a face of a triangle mesh are conjugate if - -\\[ k_1 (u^T d_1)(v^T d_1) + k_2(u^T d_2)(v^T d_2) = 0. \\] - -This condition is very important in architectural geometry: The faces of an -infinitely dense quad mesh whose edges are aligned with a conjugate field are -planar. Thus, a quad mesh whose edges follow a conjugate field are easier to -planarize [#liu_2011]. - -Finding a conjugate vector field that satisfies given directional constraints -is a standard problem in architectural geometry, which can be tackled by -deforming a Poly-Vector field to the closest conjugate field. - -This algorithm [#diamanti_2014] alternates a global step, which enforces -smoothness, with a local step, that projects the field on every face to the -closest conjugate field ([Example 508](508_ConjugateField/main.cpp)). - -![A smooth 4-PolyVector field (left) is deformed to become a conjugate field -(right).](images/508_ConjugateField.png) - ## [Planarization](#planarization) [planarization] A quad mesh can be transformed in a planar quad mesh with Shape-Up [#bouaziz_2012], a local/global approach that uses the global step to enforce surface continuity and the local step to enforce planarity. -[Example 509](509_Planarization/main.cpp) planarizes a quad mesh until it +[Example 507](507_Planarization/main.cpp) planarizes a quad mesh until it satisfies a user-given planarity threshold. ![A non-planar quad mesh (left) is planarized using the libigl function -igl::palanarize (right). The colors represent the planarity of the +igl::planarize (right). The colors represent the planarity of the quads.](images/509_Planarization.png) -## [Integrable PolyVector Fields](#integrable) [integrable] - -Vector-field guided surface parameterization is based on the idea of designing the gradients -of the parameterization functions (which are tangent vector fields on the surface) instead of the functions themselves. Thus, vector-set fields (N-Rosy, frame fields, and polyvector fields) that are to be used for parameterization (and subsequent remeshing) need to be integrable: it must be possible to break them down into individual vector fields that are gradients of scalar functions. Fields obtained by most smoothness-based design methods (eg. [#levy_2008][], [#knoppel_2013][], [#diamanti_2014][], [#bommes_2009][], [#panozzo_2014][]) do not have this property. In [#diamanti_2015][], a method for creating integrable polyvector fields was introduced. This method takes as input a given field and improves its integrability by removing the vector field curl, thus turning it into a gradient of a function ([Example 510](510_Integrable/main.cpp)). - -![Integration error is removed from a frame field to produce a field aligned parameterization free of triangle flips.](images/510_Integrable.png) - -This method retains much of the core principles of the polyvector framework - it expresses the condition for zero discrete curl condition (which typically requires integers for the vector matchings) into a condition involving continuous variables only. This is done using coefficients of appropriately defined polynomials. The parameterizations generated by the resulting fields are exactly aligned to the field directions and contain no inverted triangles. - -## [General N-PolyVector fields](#npolyvectorfields_general) [npolyvectorfields_general] - -While mostly applicable for the design of symmetric fields (i.e. fields that comprise of vector sets with symmetries between them at each point, e.g. N-RoSy or frame-fields), the framework presented in [#diamanti_2014][] can be used to design completely general fields, with possibly no such symmetries. For example, one can design fields that at each point comprise of an arbitrary number of vectors, not required to be collinear - as opposed e.g. to the case of the 4 pairwise-collinear vectors designed in the example ([Example 507](507_PolyVectorField/main.cpp)). This capability is implemented in the function igl::n_polyvector_general, and is illustrated in the example ([Example 511](511_PolyVectorFieldGeneral/main.cpp)). - -![Interpolation of a general field with 3 (left) and 9 vectors per point field from a sparse set of random constraints (in red). The field is defined on all mesh faces, but is only shown on a subset for clarity. ](images/511_PolyVectorFieldGeneral.png) - -The design of these general directional fields (also called vector-set fields) is based on the same polynomial framework and includes the symmetric fields as a special case. Note that in the case that some symmetries do exist in the constraints, the final field is not guaranteed to have these symmetries everywhere else on the mesh. For example, designing a field with 3 vectors per point where, at the constrained faces, two of the vectors are on a line opposite to each other, we are not guaranteed to always have two pairwise-collinear vectors everywhere in the result, as can be seen in the picture. In some cases however (as is the case of the frame field in the previous example [Example 507](507_PolyVectorField/main.cpp)) these symmetries are in fact guaranteed due to the particular nature of the polynomial that applies in that case (two coefficients are 0). - -For a complete categorization of fields used in various applications (including these general ones) see Vaxman et al. 2016 [#vaxman_2016]. - # Chapter 6: External libraries [chapter6:externallibraries] An additional positive side effect of using matrices as basic types is that it -is easy to exchange data between libigl and other softwares and libraries. +is easy to exchange data between libigl and other software and libraries. ## [State serialization](#stateserialization) [stateserialization] Geometry processing applications often require a considerable amount of -computational time and/or manual input. Serializing the state of the application is a simple strategy to greatly increase the development efficiency. It allows to quickly start debugging just -before the crash happens, avoiding to wait for the precomputation to take place -every time and it also makes your experiments reproducible, allowing to quickly test algorithms variants on the same input data. +computational time and/or manual input. Serializing the state of the application +is a simple strategy to greatly increase the development efficiency. It allows +to quickly start debugging just before the crash happens, avoiding to wait for +the precomputation to take place every time and it also makes your experiments +reproducible, allowing to quickly test algorithms variants on the same input +data. -Serialization is often not considered in geometry processing due -to the extreme difficulty in serializing pointer-based data structured, such as -an half-edge data structure ([OpenMesh](http://openmesh.org), [CGAL](http://www.cgal.org)), or a pointer based indexed structure ([VCG](http://vcg.isti.cnr.it/~cignoni/newvcglib/html/)). +Serialization is often not considered in geometry processing due to the extreme +difficulty in serializing pointer-based data structured, such as an half-edge +data structure ([OpenMesh](http://openmesh.org), [CGAL](http://www.cgal.org)), +or a pointer based indexed structure +([VCG](http://vcg.isti.cnr.it/~cignoni/newvcglib/html/)). -In libigl, serialization is much simpler, since the majority of the functions use basic types, and pointers are used in very rare cases (usually to interface -with external libraries). Libigl bundles a simple and self-contained binary and XML serialization framework, that drastically reduces the overhead required to add -serialization to your applications. +In libigl, serialization is much simpler, since the majority of the functions +use basic types, and pointers are used in very rare cases (usually to interface +with external libraries). Libigl bundles a simple and self-contained binary and +XML serialization framework, that drastically reduces the overhead required to +add serialization to your applications. To de-/serialize a set of variables use the following method: @@ -2177,7 +2192,8 @@ bool b = true; unsigned int num = 10; std::vector vec = {0.1,0.002,5.3}; -// use overwrite = true for the first serialization to create or overwrite an existing file +// use overwrite = true for the first serialization to create or overwrite an +// existing file igl::serialize(b,"B","filename",true); // append following serialization to existing file igl::serialize(num,"Number","filename"); @@ -2189,10 +2205,16 @@ igl::deserialize(num,"Number","filename"); igl::deserialize(vec,"VectorName","filename"); ``` -Currently all fundamental data types (bool, int, float, double, ...) are supported, as well as std::string, basic `STL` containers, dense and sparse Eigen matrices and nestings of those. -Some limitations apply to pointers. Currently, loops or many to one type of link structures are not handled correctly. Each pointer is assumed to point to a different independent object. -Uninitialized pointers must be set to `nullptr` before de-/serialization to avoid memory leaks. Cross-platform issues like little-, big-endianess is currently not supported. -To make user defined types serializable, just derive from `igl::Serializable` and trivially implementing the `InitSerialization` method. +Currently all fundamental data types (bool, int, float, double, ...) are +supported, as well as std::string, basic `STL` containers, dense and sparse +Eigen matrices and nestings of those. Some limitations apply to pointers. +Currently, loops or many to one type of link structures are not handled +correctly. Each pointer is assumed to point to a different independent object. +Uninitialized pointers must be set to `nullptr` before de-/serialization to +avoid memory leaks. Cross-platform issues like little-, big-endianess is +currently not supported. To make user defined types serializable, just derive +from `igl::Serializable` and trivially implementing the `InitSerialization` +method. Assume that the state of your application is a mesh and a set of integer ids: @@ -2214,7 +2236,9 @@ struct State : public igl::Serializable }; ``` -If you need more control over the serialization of your types, you can override the following functions or directly inherit from the interface `igl::SerializableBase`. +If you need more control over the serialization of your types, you can override +the following functions or directly inherit from the interface +`igl::SerializableBase`. ```cpp bool Serializable::PreSerialization() const; @@ -2223,19 +2247,22 @@ bool Serializable::PreDeserialization(); void Serializable::PostDeserialization(); ``` -Alternatively, if you want a non-intrusive way of serializing your state you can overload the following functions: +Alternatively, if you want a non-intrusive way of serializing your state you can +overload the following functions: ```cpp namespace igl { namespace serialization { - template <> inline void serialize(const State& obj,std::vector& buffer){ + template <> inline void serialize(const State& obj,std::vector& buffer) + { ::igl::serialize(obj.V,std::string("V"),buffer); ::igl::serialize(obj.F,std::string("F"),buffer); ::igl::serialize(obj.ids,std::string("ids"),buffer); } - template <> inline void deserialize(State& obj,const std::vector& buffer){ + template <> inline void deserialize(State& obj,const std::vector& buffer) + { ::igl::deserialize(obj.V,std::string("V"),buffer); ::igl::deserialize(obj.F,std::string("F"),buffer); ::igl::deserialize(obj.ids,std::string("ids"),buffer); @@ -2254,9 +2281,13 @@ SERIALIZE_TYPE(State, ) ``` -All the former code is for binary serialization which is especially useful if you have to handle larger data where the loading and saving times become more important. -For cases where you want to read and edit the serialized data by hand we provide a serialization to XML files which is based on the library [tinyxml2](https://github.com/leethomason/tinyxml2). -There you also have the option to create a partial binary serialization of your data by using the binary parameter, exposed in the function `serialize_xml()`: +All the former code is for binary serialization which is especially useful if +you have to handle larger data where the loading and saving times become more +important. For cases where you want to read and edit the serialized data by +hand we provide a serialization to XML files which is based on the library +[tinyxml2](https://github.com/leethomason/tinyxml2). There you also have the +option to create a partial binary serialization of your data by using the binary +parameter, exposed in the function `serialize_xml()`: ```cpp #include "igl/xml/serialize_xml.h" @@ -2285,7 +2316,7 @@ before a submission deadline. Libigl can be interfaced with Matlab to offload numerically heavy computation to a Matlab script. The major advantage of this approach is that you will be -able to develop efficient and complex user-interfaces in C++, while exploting +able to develop efficient and complex user-interfaces in C++, while exploring the syntax and fast protototyping features of matlab. In particular, the use of an external Matlab script in a libigl application allows to change the Matlab code while the C++ application is running, greatly increasing coding @@ -2481,7 +2512,7 @@ required to get a smooth result) and the result is returned in `AO`, as a single scalar for each sample. Ambient occlusion can be used to darken the surface colors, as shown in -[Example 606](606_AmbientOcclusion/main.c) +[Example 606](606_AmbientOcclusion/main.cpp) ![A mesh rendered without (left) and with (right) ambient occlusion.](images/606_AmbientOcclusion.png) @@ -2492,7 +2523,7 @@ Libigl supports read and writing to .png files via the [stb image](http://nothings.org/stb_image.h) code. With the viewer used in this tutorial, it is possible to render the scene in a -memory buffer using the function, `igl::viewer::ViewerCore::draw_buffer`: +memory buffer using the function, `igl::opengl::ViewerCore::draw_buffer`: ```cpp // Allocate temporary buffers for 1280x800 image @@ -2642,6 +2673,13 @@ then the final composite. ![Example [610](610_CSGTree/main.cpp) computes complex CSG Tree operation on 5 input meshes.](images/cube-sphere-cylinders-csg.gif) +# Miscellaneous [chapter7:miscellaneous] + +Libigl contains a _wide_ variety of geometry processing tools and functions for +dealing with meshes and the linear algebra related to them: far too many to +discuss in this introductory tutorial. We've pulled out a couple of the +interesting functions in this chapter to highlight. + ## [Mesh Statistics](#meshstatistics) [meshstatistics] Libigl contains various mesh statistics, including face angles, face areas and @@ -3100,7 +3138,7 @@ motion (gold).](images/bunny-swept-volume.gif) Picking vertices and faces using the mouse is very common in geometry processing applications. While this might seem a simple operation, its -implementation is not straighforward. Libigl contains a function that solves this problem using the +implementation is not straightforward. Libigl contains a function that solves this problem using the [Embree](https://software.intel.com/en-us/articles/embree-photo-realistic-ray-tracing-kernels) raycaster. Its usage is demonstrated in [Example 708](708_Picking/main.cpp): @@ -3237,12 +3275,32 @@ on the beetle mesh, the function with added noise, the result of smoothing with the Laplacian energy and zero Neumann boundary conditions, and the result of smoothing with the Hessian energy.](images/712_beetles.jpg) -# Miscellaneous [chapter7:miscellaneous] +## [ShapeUp Projections](#shapeup) [shapeup] + +Our input is a set of points $P_0$ (not necessarily part of any mesh), and a set of constraints $S=\left\{S_1,S_2,...S_m\right\}$, where each constraint is defined on a different, and sparse, subset of $P_0$. We wish to create a new set of points $P$ that are close to the original set $P_0$ (each point with corresponding indices), while adhering to the constraints. Other objectives, such as smoothness, can be employed. The constraints can be nonlinear, which makes the problem nonconvex, difficult, and without a guaranteed global optimum. A very popular lightweight approach to such problems is a local-global iterative algorithm, comprising these two steps: + +For iteration $k$: +1. *Local step*: compute the projections of the set $P_{k-1}$ onto $S$, individually per constraint; that would mean fragmenting each point that appears in multiple constraints. That can be a nonlinear operation, but if the constraints are sparse, it is a a set of many small systems. +2. *Global step*: integrate the set $P_k$ to be as close as possible to the projected fragmented set, with auxiliary objective functions possible. That results in a global, but quadratic objective function. Moreover, the resulting linear system has a constant matrix, and therefore can be pre-factored. + +The version we implement in libigl is the general version described by [#bouaziz_2012], and is in two files: ```` and ````. A demo implementing regularity constraints (creating a mesh in which each face is as regular as possible) is in [Example 713](713_Shapeup/main.cpp). + +The local step is instantiated by a function of type ``igl::shapeup_projection_function``. The global step is done by two functions: ``igl::shapeup_precomputation()``, which precomputes the matrices required for the global step, and ``igl::shapeup_solve()``, which solves the problem, according to the initial solution $P_0$ and the input local projection function. The data struct ``igl::ShapeUpData`` contains the information necessary to run the algorithm, and can be configured; for instance, the self-explanatory variable ``Maxiterations``. + +The global step minimizes the following energy: + +$$E_{total}=\lambda_{shape}E_{shape}+\lambda_{close}E_{close}+\lambda_{smooth}E_{smooth},$$ + +where the $\lambda$ coefficients are encoded in ``igl::ShapeUpData``, and can be updated **prior** to calling ``igl::shapeup_precomputation()``. The $E_{shape}$ component is the integration energy (fitting $P_k$ to the local projections). The $E_{close}$ component is adherence to positional constraints, given by ``b`` and ``bc`` parameters. The $E_{smooth}$ component is an optional objective function, to minimize differences (in the Dirichlet sense) between points, encodes by "edges" in parameter `E`. Both $E_{close}$ and $E_{shape}$ are also weighted by ``wClose`` and ``wShape`` function parameters, respectively. + +![([Example 713](713_ShapeUp/main.cpp)) The half-tunnel mesh (left) has been optimized to be almost perfectly regular (right). The color scale is between $[0,0.05]$, measuring the average normalized deviation of the angles of each face from $90^{\circ}$.](images/713_ShapeUp.png) + + + + + + -Libigl contains a _wide_ variety of geometry processing tools and functions for -dealing with meshes and the linear algebra related to them: far too many to -discuss in this introductory tutorial. We've pulled out a couple of the -interesting functions in this chapter to highlight. # Outlook for continuing development [future] @@ -3441,3 +3499,4 @@ pseudonormal](https://www.google.com/search?q=Signed+distance+computation+using+ Solid Geometry](https://www.google.com/search?q=Mesh+Arrangements+for+Solid+Geometry), 2016 +[#mitchell_1987]: Joseph S. B. Mitchell, David M. Mount, Christos H. Papadimitriou. [The Discrete Geodesic Problem](https://www.google.com/search?q=The+Discrete+Geodesic+Problem), 1987