diff --git a/.gitignore b/.gitignore index 89942d9e..2afccb56 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ *.vcxproj *.xcodeproj build - +*/hdri # Created by https://www.gitignore.io/api/linux,osx,sublimetext,windows,jetbrains,vim,emacs,cmake,c++,cuda,visualstudio,webstorm,eclipse,xcode ### Linux ### @@ -23,7 +23,8 @@ build .LSOverride # Icon must end with two \r -Icon +Icon + # Thumbnails ._* diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e535f5d..d0cc7728 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,12 @@ else(UNIX) add_definitions(${GLEW_DEFINITIONS}) include_directories(${GLEW_INCLUDE_DIR} ${GLFW_INCLUDE_DIR}) - set(LIBRARIES ${GLEW_LIBRARY} ${GLFW_LIBRARY} ${OPENGL_LIBRARY}) + + set(OIDN_ROOT_DIR ${EXTERNAL}/oidn) + include_directories("${OIDN_ROOT_DIR}/include") + link_directories("${OIDN_ROOT_DIR}/lib") + + set(LIBRARIES ${GLEW_LIBRARY} ${GLFW_LIBRARY} ${OPENGL_LIBRARY} OpenImageDenoise) endif(UNIX) set(GLM_ROOT_DIR "${CMAKE_SOURCE_DIR}/external") @@ -61,6 +66,15 @@ set(headers src/sceneStructs.h src/preview.h src/utilities.h + src/tiny_obj_loader.h + src/PTDirectives.h + src/bvh.h + src/texture.h + src/memoryArena.h + src/cudaUtilities.h + src/light.h + src/pbr.h + src/disneybsdf.h ) set(sources @@ -74,6 +88,10 @@ set(sources src/scene.cpp src/preview.cpp src/utilities.cpp + src/tiny_obj_loader.cpp + src/bvh.cu + src/texture.cu + src/cudaUtilities.cu ) set(imgui_headers @@ -128,3 +146,20 @@ target_link_libraries(${CMAKE_PROJECT_NAME} target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE "$<$,$>:-G;-src-in-ptx>") target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE "$<$,$>:-lineinfo;-src-in-ptx>") set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${CMAKE_PROJECT_NAME}) + + +# add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD +# COMMAND ${CMAKE_COMMAND} -E copy_if_different +# "${CMAKE_SOURCE_DIR}/external/oidn/bin/OpenImageDenoise.dll" +# $ +# COMMAND ${CMAKE_COMMAND} -E copy_if_different +# "${CMAKE_SOURCE_DIR}/external/oidn/bin/OpenImageDenoise_core.dll" +# $) + +file(GLOB OIDN_DLLS "${PROJECT_SOURCE_DIR}/external/oidn/bin/*.dll") +foreach(DLL ${OIDN_DLLS}) + add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + "${DLL}" + "$") +endforeach() \ No newline at end of file diff --git a/README.md b/README.md index 110697ce..3f088e7e 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,158 @@ -CUDA Path Tracer -================ +# CUDA Path Tracer **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 3** -* (TODO) YOUR NAME HERE -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +- Jinxiang Wang +- Tested on: Windows 11, AMD Ryzen 9 8945HS w/ Radeon 780M Graphics 4.00 GHz 32GB, RTX 4070 Laptop 8 GB -### (TODO: Your README) +## Results Preview: -*DO NOT* leave the README to the last minute! It is a crucial part of the -project, and we will not be able to grade you without a good README. +![](results/Cover/CoverDenoisedMIS.png) +

A large mineway castle shaded with one Disney BRDF material (6,490,766 triangles, 300 spp, 6.1 fps)

+ +![](results/RefractDragon.png) + +

A stanford dragon shaded with refract material

+ +## Features Implemented: + +1. Bounding Volume Hierarchy (HLBVH) +2. Disney DRDF model (not fully correct in some cases) +3. GUI for dynamic material modification +4. Muiti-Importance Sampling +5. ACES Tone Mapping +6. TinyObj mesh loading +7. Environment Map +8. Stocastic Sampled Anti-Aliasing + +# Bounding Volume Hierarchy + +The base code shoots rays out from the camera and compute intersections with all objects in the scene. + +This works fine when we can implicitly define intersecting method for each geometry (just like SDF). But after mesh loading feature is implemented, the way of light-scene intersection is changed from calculating +intersection with implicit geometries to calculating it with all triangles! + +This gives an extremely low performance when model with many faces is loaded: + +| < 200 faces (~60 fps) | ~6000 faces (< 10 fps) | +| -------------------------------- | ------------------------------- | +| ![](results/BVH/simplescene.png) | ![](results/BVH/marioScene.png) | + +To effectively reduce the amout of intersection computation, we could use BVH, Bounding Volume Hierarchy, which construct +a tree-like structure to store scene primitives. + +The efficiency of BVH depends on how we build the tree. There are many ways to segment triangls, for this project, I used HLBVH, which is a combination of Surface Area Heuristic (SAH) and morton code based Linear BVH. For more reference, check [PBRT 4.3 Bounding Volume Hierarchy](https://pbr-book.org/3ed-2018/Primitives_and_Intersection_Acceleration/Bounding_Volume_Hierarchies). + +And this gives a very good speed up + +| Before BVH (< 10 fps) | After BVH (~30 fps) | +| ------------------------------- | ----------------------------- | +| ![](results/BVH/marioScene.png) | ![](results/BVH/AfterBVH.png) | + +We can go even further with a stanford dragon (2,349,078 triangles) + +| Dragon ( 15 fps) | +| --------------------------- | +| ![](results/BVH/Dragon.png) | + +Visualizer: + +| Wahoo | Dragon | Mineway Castle | +| ------------------------ | ------------------------------ | ----------------------------- | +| 5117 triangles | 2,349,078 triangles | 6,490,766 triangles | +| ![](results/BVH/BVH.png) | ![](results/BVH/DragonBVH.png) | ![](results/BVH/CoverBVH.png) | + +# Disney BRDF Model + +This is a robust and art-oriented material model that allows for interpolation between different types of material based on pbr parameters. The model implemented in this project referenced SIGGRAPH 2012 [Physically Based Shading at Disney](https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf) by Disney and their public repo [brdf](https://github.com/wdas/brdf/tree/main) +![](results/DisneyBRDF/presentation.png) + +The input parameters are given by: + +color baseColor .82 .67 .16 +float metallic 0 1 0 +float subsurface 0 1 0 +float specular 0 1 .5 +float roughness 0 1 .5 +float specularTint 0 1 0 +float anisotropic 0 1 0 +float sheen 0 1 0 +float sheenTint 0 1 .5 +float clearcoat 0 1 0 +float clearcoatGloss 0 1 1 + +| Input Format +| ------------------------------------- | +| ![](results/DisneyBRDF/jsonInput.png) | + +GUI allowing for dynamically changing parameters: + +| GUI | +| ------------------------------- | +| ![](results/DisneyBRDF/GUI.png) | + +A brief demo illustrates the usage: + +https://github.com/user-attachments/assets/62e0fcce-20bc-49f6-b9c6-eea6904767dc + +# Direct Lighting & Multi-Importance Sampling + +Consider the following 2 scenarios: + +1. When light is very small in size +2. When we want to implement point light/directional light/spot light + +When light is small in size, it is less likely for a diffused BRDF to gather meaningful light contribution. +Therefore, each time when a ray hits a surface, we can consider sampling radiance directly from a light in the scene. +This way of calculating radiance contribution is called direct lighting. + +The direct radiance from different sample point: + +| Direct Lighting Radiance | Accumulative Color (depth = 1) | +| ------------------------------- | ------------------------------- | +| ![](results/MIS/DIRadiance.png) | ![](results/MIS/accumColor.png) | + +But direct lighting behaves poorly when sampling from a large area light. + +Veach Scene: + +| BSDF Lighting | Direct Lighting | MIS Lighting | +| ---------------------------- | -------------------------- | ----------------------------- | +| ![](results/MIS/MISBSDF.png) | ![](results/MIS/MISDI.png) | ![](results/MIS/MISVeach.png) | + +So a good practice might be to combine the two method, which is the main idea of Multi-Importance Sampling. To ensure energy-conserving contribution, we use Power Heuristic to calculate the appropriate weight for the directional light radiance. + +Also by having an additional directional light contribution, we can acchieve a faster convergence. In order to make a correct contribution to our final color. At each bounce, multiply the sampled radiance with corresponding throughput (radiance `*` accumThroughput `*` BSDF(wo, wdirect)). + +Some results: + +| MIS On | MIS Off | +| -------------------------- | --------------------------- | +| ![](results/MIS/MISOn.png) | ![](results/MIS/MISOff.png) | + +### Tone Mapping + +--- + +Applying ACES Tone Mapping + +| ACES Off | ACES On | +| ----------------------------- | ---------------------------- | +| ![](results/ACES/ACESOff.png) | ![](results/ACES/ACESOn.png) | + +### Stocastic AA + +--- + +| AA Off | AA On | +| -------------------------- | ------------------------ | +| ![](results//beforeAA.png) | ![](results/afterAA.png) | + +### Denoiser (Intel® Open Image Denoise) + +--- + +| Denoiser Off | Denoiser On | +| ------------------------------------- | --------------------------------------- | +| ![](results/Cover/CoverNoDenoise.png) | ![](results/Cover/CoverDenoisedMIS.png) | diff --git a/external/include/stb_image.h b/external/include/stb_image.h index b9b265fa..9eedabed 100644 --- a/external/include/stb_image.h +++ b/external/include/stb_image.h @@ -1,5 +1,5 @@ -/* stb_image - v2.06 - public domain image loader - http://nothings.org/stb_image.h - no warranty implied; use at your own risk +/* stb_image - v2.30 - public domain image loader - http://nothings.org/stb + no warranty implied; use at your own risk Do this: #define STB_IMAGE_IMPLEMENTATION @@ -21,17 +21,20 @@ avoid problematic images and only need the trivial interface JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) - PNG 1/2/4/8-bit-per-channel (16 bpc not supported) + PNG 1/2/4/8/16-bit-per-channel TGA (not sure what subset, if a subset) BMP non-1bpp, non-RLE - PSD (composited view only, no extra channels) + PSD (composited view only, no extra channels, 8/16 bit-per-channel) GIF (*comp always reports as 4-channel) HDR (radiance rgbE format) PIC (Softimage PIC) PNM (PPM and PGM binary only) + Animated GIF still needs a proper API, but here's one way to do it: + http://gist.github.com/urraka/685d9a6340b26b830d49 + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) - decode from arbitrary I/O callbacks - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) @@ -39,177 +42,88 @@ Full documentation under "DOCUMENTATION" below. - Revision 2.00 release notes: - - - Progressive JPEG is now supported. - - - PPM and PGM binary formats are now supported, thanks to Ken Miller. - - - x86 platforms now make use of SSE2 SIMD instructions for - JPEG decoding, and ARM platforms can use NEON SIMD if requested. - This work was done by Fabian "ryg" Giesen. SSE2 is used by - default, but NEON must be enabled explicitly; see docs. - - With other JPEG optimizations included in this version, we see - 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup - on a JPEG on an ARM machine, relative to previous versions of this - library. The same results will not obtain for all JPGs and for all - x86/ARM machines. (Note that progressive JPEGs are significantly - slower to decode than regular JPEGs.) This doesn't mean that this - is the fastest JPEG decoder in the land; rather, it brings it - closer to parity with standard libraries. If you want the fastest - decode, look elsewhere. (See "Philosophy" section of docs below.) - - See final bullet items below for more info on SIMD. - - - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing - the memory allocator. Unlike other STBI libraries, these macros don't - support a context parameter, so if you need to pass a context in to - the allocator, you'll have to store it in a global or a thread-local - variable. - - - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and - STBI_NO_LINEAR. - STBI_NO_HDR: suppress implementation of .hdr reader format - STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API - - - You can suppress implementation of any of the decoders to reduce - your code footprint by #defining one or more of the following - symbols before creating the implementation. - - STBI_NO_JPEG - STBI_NO_PNG - STBI_NO_BMP - STBI_NO_PSD - STBI_NO_TGA - STBI_NO_GIF - STBI_NO_HDR - STBI_NO_PIC - STBI_NO_PNM (.ppm and .pgm) - - - You can request *only* certain decoders and suppress all other ones - (this will be more forward-compatible, as addition of new decoders - doesn't require you to disable them explicitly): - - STBI_ONLY_JPEG - STBI_ONLY_PNG - STBI_ONLY_BMP - STBI_ONLY_PSD - STBI_ONLY_TGA - STBI_ONLY_GIF - STBI_ONLY_HDR - STBI_ONLY_PIC - STBI_ONLY_PNM (.ppm and .pgm) - - Note that you can define multiples of these, and you will get all - of them ("only x" and "only y" is interpreted to mean "only x&y"). - - - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still - want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB - - - Compilation of all SIMD code can be suppressed with - #define STBI_NO_SIMD - It should not be necessary to disable SIMD unless you have issues - compiling (e.g. using an x86 compiler which doesn't support SSE - intrinsics or that doesn't support the method used to detect - SSE2 support at run-time), and even those can be reported as - bugs so I can refine the built-in compile-time checking to be - smarter. - - - The old STBI_SIMD system which allowed installing a user-defined - IDCT etc. has been removed. If you need this, don't upgrade. My - assumption is that almost nobody was doing this, and those who - were will find the built-in SIMD more satisfactory anyway. - - - RGB values computed for JPEG images are slightly different from - previous versions of stb_image. (This is due to using less - integer precision in SIMD.) The C code has been adjusted so - that the same RGB values will be computed regardless of whether - SIMD support is available, so your app should always produce - consistent results. But these results are slightly different from - previous versions. (Specifically, about 3% of available YCbCr values - will compute different RGB results from pre-1.49 versions by +-1; - most of the deviating values are one smaller in the G channel.) - - - If you must produce consistent results with previous versions of - stb_image, #define STBI_JPEG_OLD and you will get the same results - you used to; however, you will not get the SIMD speedups for - the YCbCr-to-RGB conversion step (although you should still see - significant JPEG speedup from the other changes). - - Please note that STBI_JPEG_OLD is a temporary feature; it will be - removed in future versions of the library. It is only intended for - near-term back-compatibility use. - - - Latest revision history: - 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value - 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning - 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit - 2.03 (2015-04-12) additional corruption checking - stbi_set_flip_vertically_on_load - fix NEON support; fix mingw support - 2.02 (2015-01-19) fix incorrect assert, fix warning - 2.01 (2015-01-17) fix various warnings - 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG - 2.00 (2014-12-25) optimize JPEG, including x86 SSE2 & ARM NEON SIMD - progressive JPEG - PGM/PPM support - STBI_MALLOC,STBI_REALLOC,STBI_FREE - STBI_NO_*, STBI_ONLY_* - GIF bugfix - 1.48 (2014-12-14) fix incorrectly-named assert() - 1.47 (2014-12-14) 1/2/4-bit PNG support (both grayscale and paletted) - optimize PNG - fix bug in interlaced PNG with user-specified channel count +LICENSE + + See end of file for license information. + +RECENT REVISION HISTORY: + + 2.30 (2024-05-31) avoid erroneous gcc warning + 2.29 (2023-05-xx) optimizations + 2.28 (2023-01-29) many error fixes, security errors, just tons of stuff + 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes + 2.26 (2020-07-13) many minor fixes + 2.25 (2020-02-02) fix warnings + 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically + 2.23 (2019-08-11) fix clang static analysis warning + 2.22 (2019-03-04) gif fixes, fix warnings + 2.21 (2019-02-25) fix typo in comment + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings + 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes + 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 + RGB-format JPEG; remove white matting in PSD; + allocate large structures on the stack; + correct channel count for PNG & BMP + 2.10 (2016-01-22) avoid warning introduced in 2.09 + 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED See end of file for full revision history. ============================ Contributors ========================= - Image formats Bug fixes & warning fixes - Sean Barrett (jpeg, png, bmp) Marc LeBlanc - Nicolas Schulz (hdr, psd) Christpher Lloyd - Jonathan Dummer (tga) Dave Moore - Jean-Marc Lienher (gif) Won Chun - Tom Seddon (pic) the Horde3D community - Thatcher Ulrich (psd) Janez Zemva - Ken Miller (pgm, ppm) Jonathan Blow - Laurent Gomila - Aruelien Pocheville - Extensions, features Ryamond Barbiero - Jetro Lauha (stbi_info) David Woo - Martin "SpartanJ" Golini (stbi_info) Martin Golini - James "moose2000" Brown (iPhone PNG) Roy Eltham - Ben "Disch" Wenger (io callbacks) Luke Graham - Omar Cornut (1/2/4-bit PNG) Thomas Ruf - Nicolas Guillemot (vertical flip) John Bartholomew - Ken Hamada - Optimizations & bugfixes Cort Stratton - Fabian "ryg" Giesen Blazej Dariusz Roszkowski - Arseny Kapoulkine Thibault Reuille - Paul Du Bois - Guillaume George - If your name should be here but Jerry Jansson - isn't, let Sean know. Hayaki Saito - Johan Duparc - Ronny Chevalier - Michal Cichon - Tero Hanninen - Sergio Gonzalez - Cass Everitt - Engin Manap - Martins Mozeiko - Joseph Thomson - Phil Jordan - -LICENSE - -This software is in the public domain. Where that dedication is not -recognized, you are granted a perpetual, irrevocable license to copy, -distribute, and modify this file as you see fit. - + Image formats Extensions, features + Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) + Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) + Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) + Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) + Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) + Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) + Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) + github:urraka (animated gif) Junggon Kim (PNM comments) + Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) + socks-the-fox (16-bit PNG) + Jeremy Sawicki (handle all ImageNet JPGs) + Optimizations & bugfixes Mikhail Morozov (1-bit BMP) + Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) + Arseny Kapoulkine Simon Breuss (16-bit PNM) + John-Mark Allen + Carmelo J Fdez-Aguera + + Bug & warning fixes + Marc LeBlanc David Woo Guillaume George Martins Mozeiko + Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski + Phil Jordan Dave Moore Roy Eltham + Hayaki Saito Nathan Reed Won Chun + Luke Graham Johan Duparc Nick Verigakis the Horde3D community + Thomas Ruf Ronny Chevalier github:rlyeh + Janez Zemva John Bartholomew Michal Cichon github:romigrou + Jonathan Blow Ken Hamada Tero Hanninen github:svdijk + Eugene Golushkov Laurent Gomila Cort Stratton github:snagar + Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex + Cass Everitt Ryamond Barbiero github:grim210 + Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw + Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus + Josh Tobin Neil Bickford Matthew Gregan github:poppolopoppo + Julian Raschke Gregory Mullen Christian Floisand github:darealshinji + Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007 + Brad Weinberger Matvey Cherevko github:mosra + Luca Sas Alexander Veselov Zack Middleton [reserved] + Ryan C. Gordon [reserved] [reserved] + DO NOT ADD YOUR NAME HERE + + Jacko Dirks + + To add your name to the credits, pick a random blank space in the middle and fill it. + 80% of merge conflicts on stb PRs are due to people adding their name at the end + of the credits. */ #ifndef STBI_INCLUDE_STB_IMAGE_H @@ -218,10 +132,8 @@ distribute, and modify this file as you see fit. // DOCUMENTATION // // Limitations: -// - no 16-bit-per-channel PNG // - no 12-bit-per-channel JPEG // - no JPEGs with arithmetic coding -// - no 1-bit BMP // - GIF always returns *comp=4 // // Basic usage (see HDR discussion below for HDR usage): @@ -231,13 +143,13 @@ distribute, and modify this file as you see fit. // // ... x = width, y = height, n = # 8-bit components per pixel ... // // ... replace '0' with '1'..'4' to force that many components per pixel // // ... but 'n' will always be the number that it would have been if you said 0 -// stbi_image_free(data) +// stbi_image_free(data); // // Standard parameters: -// int *x -- outputs image width in pixels -// int *y -- outputs image height in pixels -// int *comp -- outputs # of image components in image file -// int req_comp -- if non-zero, # of image components requested in result +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *channels_in_file -- outputs # of image components in image file +// int desired_channels -- if non-zero, # of image components requested in result // // The return value from an image loader is an 'unsigned char *' which points // to the pixel data, or NULL on an allocation failure or if the image is @@ -245,11 +157,12 @@ distribute, and modify this file as you see fit. // with each pixel consisting of N interleaved 8-bit components; the first // pixel pointed to is top-left-most in the image. There is no padding between // image scanlines or between pixels, regardless of format. The number of -// components N is 'req_comp' if req_comp is non-zero, or *comp otherwise. -// If req_comp is non-zero, *comp has the number of components that _would_ -// have been output otherwise. E.g. if you set req_comp to 4, you will always -// get RGBA output, but you can check *comp to see if it's trivially opaque -// because e.g. there were only 3 channels in the source image. +// components N is 'desired_channels' if desired_channels is non-zero, or +// *channels_in_file otherwise. If desired_channels is non-zero, +// *channels_in_file has the number of components that _would_ have been +// output otherwise. E.g. if you set desired_channels to 4, you will always +// get RGBA output, but you can check *channels_in_file to see if it's trivially +// opaque because e.g. there were only 3 channels in the source image. // // An output image with N components has the following components interleaved // in this order in each pixel: @@ -261,14 +174,50 @@ distribute, and modify this file as you see fit. // 4 red, green, blue, alpha // // If image loading fails for any reason, the return value will be NULL, -// and *x, *y, *comp will be unchanged. The function stbi_failure_reason() -// can be queried for an extremely brief, end-user unfriendly explanation -// of why the load failed. Define STBI_NO_FAILURE_STRINGS to avoid -// compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// and *x, *y, *channels_in_file will be unchanged. The function +// stbi_failure_reason() can be queried for an extremely brief, end-user +// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS +// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly // more user-friendly ones. // // Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. // +// To query the width, height and component count of an image without having to +// decode the full file, you can use the stbi_info family of functions: +// +// int x,y,n,ok; +// ok = stbi_info(filename, &x, &y, &n); +// // returns ok=1 and sets x, y, n if image is a supported format, +// // 0 otherwise. +// +// Note that stb_image pervasively uses ints in its public API for sizes, +// including sizes of memory buffers. This is now part of the API and thus +// hard to change without causing breakage. As a result, the various image +// loaders all have certain limits on image size; these differ somewhat +// by format but generally boil down to either just under 2GB or just under +// 1GB. When the decoded image would be larger than this, stb_image decoding +// will fail. +// +// Additionally, stb_image will reject image files that have any of their +// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS, +// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit, +// the only way to have an image with such dimensions load correctly +// is for it to have a rather extreme aspect ratio. Either way, the +// assumption here is that such larger images are likely to be malformed +// or malicious. If you do need to load an image with individual dimensions +// larger than that, and it still fits in the overall size limit, you can +// #define STBI_MAX_DIMENSIONS on your own to be something larger. +// +// =========================================================================== +// +// UNICODE: +// +// If compiling for Windows and you wish to use Unicode filenames, compile +// with +// #define STBI_WINDOWS_UTF8 +// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert +// Windows wchar_t filenames to utf8. +// // =========================================================================== // // Philosophy @@ -281,15 +230,15 @@ distribute, and modify this file as you see fit. // // Sometimes I let "good performance" creep up in priority over "easy to maintain", // and for best performance I may provide less-easy-to-use APIs that give higher -// performance, in addition to the easy to use ones. Nevertheless, it's important +// performance, in addition to the easy-to-use ones. Nevertheless, it's important // to keep in mind that from the standpoint of you, a client of this library, -// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. +// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. // // Some secondary priorities arise directly from the first two, some of which -// make more explicit reasons why performance can't be emphasized. +// provide more explicit reasons why performance can't be emphasized. // // - Portable ("ease of use") -// - Small footprint ("easy to maintain") +// - Small source code footprint ("easy to maintain") // - No dependencies ("ease of use") // // =========================================================================== @@ -321,13 +270,6 @@ distribute, and modify this file as you see fit. // (at least this is true for iOS and Android). Therefore, the NEON support is // toggled by a build flag: define STBI_NEON to get NEON loops. // -// The output of the JPEG decoder is slightly different from versions where -// SIMD support was introduced (that is, for versions before 1.49). The -// difference is only +-1 in the 8-bit RGB channels, and only on a small -// fraction of pixels. You can force the pre-1.49 behavior by defining -// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path -// and hence cost some performance. -// // If for some reason you do not want to use any of SIMD code, or if // you have issues compiling it, you can disable it entirely by // defining STBI_NO_SIMD. @@ -336,11 +278,10 @@ distribute, and modify this file as you see fit. // // HDR image support (disable by defining STBI_NO_HDR) // -// stb_image now supports loading HDR images in general, and currently -// the Radiance .HDR file format, although the support is provided -// generically. You can still load any file through the existing interface; -// if you attempt to load an HDR file, it will be automatically remapped to -// LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// stb_image supports loading HDR images in general, and currently the Radiance +// .HDR file format specifically. You can still load any file through the existing +// interface; if you attempt to load an HDR file, it will be automatically remapped +// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; // both of these constants can be reconfigured through this interface: // // stbi_hdr_to_ldr_gamma(2.2f); @@ -372,18 +313,59 @@ distribute, and modify this file as you see fit. // // iPhone PNG support: // -// By default we convert iphone-formatted PNGs back to RGB, even though -// they are internally encoded differently. You can disable this conversion -// by by calling stbi_convert_iphone_png_to_rgb(0), in which case -// you will always just get the native iphone "format" through (which -// is BGR stored in RGB). +// We optionally support converting iPhone-formatted PNGs (which store +// premultiplied BGRA) back to RGB, even though they're internally encoded +// differently. To enable this conversion, call +// stbi_convert_iphone_png_to_rgb(1). // // Call stbi_set_unpremultiply_on_load(1) as well to force a divide per // pixel to remove any premultiplied alpha *only* if the image file explicitly // says there's premultiplied data (currently only happens in iPhone images, // and only if iPhone convert-to-rgb processing is on). // - +// =========================================================================== +// +// ADDITIONAL CONFIGURATION +// +// - You can suppress implementation of any of the decoders to reduce +// your code footprint by #defining one or more of the following +// symbols before creating the implementation. +// +// STBI_NO_JPEG +// STBI_NO_PNG +// STBI_NO_BMP +// STBI_NO_PSD +// STBI_NO_TGA +// STBI_NO_GIF +// STBI_NO_HDR +// STBI_NO_PIC +// STBI_NO_PNM (.ppm and .pgm) +// +// - You can request *only* certain decoders and suppress all other ones +// (this will be more forward-compatible, as addition of new decoders +// doesn't require you to disable them explicitly): +// +// STBI_ONLY_JPEG +// STBI_ONLY_PNG +// STBI_ONLY_BMP +// STBI_ONLY_PSD +// STBI_ONLY_TGA +// STBI_ONLY_GIF +// STBI_ONLY_HDR +// STBI_ONLY_PIC +// STBI_ONLY_PNM (.ppm and .pgm) +// +// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still +// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB +// +// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater +// than that size (in either width or height) without further processing. +// This is to let programs in the wild set an upper bound to prevent +// denial-of-service attacks on untrusted data, as one could generate a +// valid image of gigantic dimensions and force stb_image to allocate a +// huge block of memory and spend disproportionate time decoding it. By +// default this is set to (1 << 24), which is 16777216, but that's still +// very big. #ifndef STBI_NO_STDIO #include @@ -393,7 +375,7 @@ distribute, and modify this file as you see fit. enum { - STBI_default = 0, // only used for req_comp + STBI_default = 0, // only used for desired_channels STBI_grey = 1, STBI_grey_alpha = 2, @@ -401,17 +383,21 @@ enum STBI_rgb_alpha = 4 }; +#include typedef unsigned char stbi_uc; +typedef unsigned short stbi_us; #ifdef __cplusplus extern "C" { #endif +#ifndef STBIDEF #ifdef STB_IMAGE_STATIC #define STBIDEF static #else #define STBIDEF extern #endif +#endif ////////////////////////////////////////////////////////////////////////////// // @@ -429,34 +415,64 @@ typedef struct int (*eof) (void *user); // returns nonzero if we are at end of file/data } stbi_io_callbacks; -STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *comp, int req_comp); -STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *comp, int req_comp); -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *comp, int req_comp); +//////////////////////////////////// +// +// 8-bits-per-channel interface +// + +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); #ifndef STBI_NO_STDIO -STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); // for stbi_load_from_file, file pointer is left pointing immediately after image #endif +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +#endif + +#ifdef STBI_WINDOWS_UTF8 +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#endif + +//////////////////////////////////// +// +// 16-bits-per-channel interface +// + +STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +#endif + +//////////////////////////////////// +// +// float-per-channel interface +// #ifndef STBI_NO_LINEAR - STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *comp, int req_comp); - STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp); - STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); #ifndef STBI_NO_STDIO - STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *comp, int req_comp); + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); #endif #endif #ifndef STBI_NO_HDR STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); STBIDEF void stbi_hdr_to_ldr_scale(float scale); -#endif +#endif // STBI_NO_HDR #ifndef STBI_NO_LINEAR STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); STBIDEF void stbi_ldr_to_hdr_scale(float scale); -#endif // STBI_NO_HDR +#endif // STBI_NO_LINEAR // stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); @@ -468,7 +484,7 @@ STBIDEF int stbi_is_hdr_from_file(FILE *f); // get a VERY brief reason for failure -// NOT THREADSAFE +// on most compilers (and ALL modern mainstream compilers) this is threadsafe STBIDEF const char *stbi_failure_reason (void); // free the loaded image -- this is just free() @@ -477,11 +493,14 @@ STBIDEF void stbi_image_free (void *retval_from_stbi_load); // get image dimensions & components without fully decoding STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); #ifndef STBI_NO_STDIO -STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); - +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit (char const *filename); +STBIDEF int stbi_is_16_bit_from_file(FILE *f); #endif @@ -498,6 +517,13 @@ STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); // flip the image vertically, so the first pixel in the output array is the bottom left STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); +// as above, but only applies to images loaded on the thread that calls the function +// this function is only available if your compiler supports thread-local variables; +// calling it will fail to link if your compiler doesn't +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip); + // ZLIB client - used by PNG, available for other purposes STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); @@ -562,9 +588,10 @@ STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const ch #include // ptrdiff_t on osx #include #include +#include #if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -#include // ldexp +#include // ldexp, pow #endif #ifndef STBI_NO_STDIO @@ -576,6 +603,12 @@ STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const ch #define STBI_ASSERT(x) assert(x) #endif +#ifdef __cplusplus +#define STBI_EXTERN extern "C" +#else +#define STBI_EXTERN extern +#endif + #ifndef _MSC_VER #ifdef __cplusplus @@ -587,8 +620,25 @@ STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const ch #define stbi_inline __forceinline #endif +#ifndef STBI_NO_THREAD_LOCALS + #if defined(__cplusplus) && __cplusplus >= 201103L + #define STBI_THREAD_LOCAL thread_local + #elif defined(__GNUC__) && __GNUC__ < 5 + #define STBI_THREAD_LOCAL __thread + #elif defined(_MSC_VER) + #define STBI_THREAD_LOCAL __declspec(thread) + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) + #define STBI_THREAD_LOCAL _Thread_local + #endif -#ifdef _MSC_VER + #ifndef STBI_THREAD_LOCAL + #if defined(__GNUC__) + #define STBI_THREAD_LOCAL __thread + #endif + #endif +#endif + +#if defined(_MSC_VER) || defined(__SYMBIAN32__) typedef unsigned short stbi__uint16; typedef signed short stbi__int16; typedef unsigned int stbi__uint32; @@ -617,21 +667,25 @@ typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; #ifdef STBI_HAS_LROTL #define stbi_lrot(x,y) _lrotl(x,y) #else - #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (32 - (y)))) + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (-(y) & 31))) #endif -#if defined(STBI_MALLOC) && defined(STBI_FREE) && defined(STBI_REALLOC) +#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) // ok -#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) // ok #else -#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC." +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." #endif #ifndef STBI_MALLOC -#define STBI_MALLOC(sz) malloc(sz) -#define STBI_REALLOC(p,sz) realloc(p,sz) -#define STBI_FREE(p) free(p) +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,newsz) realloc(p,newsz) +#define STBI_FREE(p) free(p) +#endif + +#ifndef STBI_REALLOC_SIZED +#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) #endif // x86/x64 detection @@ -641,12 +695,14 @@ typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; #define STBI__X86_TARGET #endif -#if defined(__GNUC__) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// NOTE: not clear do we actually need this for the 64-bit path? +#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) // gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; -// this is just broken and gcc are jerks for not fixing it properly -// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) +// which in turn means it gets to use SSE2 everywhere. This is unfortunate, +// but previous attempts to provide the SSE2 functions with runtime +// detection caused numerous issues. The way architecture extensions are +// exposed in GCC/Clang is, sadly, not really suited for one-file libs. +// New behavior: if compiled with -msse2, we use SSE2 without any +// detection; if not, we don't use it at all. #define STBI_NO_SIMD #endif @@ -665,7 +721,7 @@ typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; #define STBI_NO_SIMD #endif -#if !defined(STBI_NO_SIMD) && defined(STBI__X86_TARGET) +#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) #define STBI_SSE2 #include @@ -694,25 +750,27 @@ static int stbi__cpuid3(void) #define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name -static int stbi__sse2_available() +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) { int info3 = stbi__cpuid3(); return ((info3 >> 26) & 1) != 0; } +#endif + #else // assume GCC-style if not VC++ #define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) -static int stbi__sse2_available() +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) { -#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later - // GCC 4.8+ has a nice way to do this - return __builtin_cpu_supports("sse2"); -#else - // portable way to do this, preferably without using GCC inline ASM? - // just bail for now. - return 0; -#endif + // If we're even attempting to compile this on GCC/Clang, that means + // -msse2 is on, which means the compiler is allowed to use SSE2 + // instructions at will, and so are we. + return 1; } +#endif + #endif #endif @@ -723,14 +781,21 @@ static int stbi__sse2_available() #ifdef STBI_NEON #include -// assume GCC or Clang on ARM targets +#ifdef _MSC_VER +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name +#else #define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) #endif +#endif #ifndef STBI_SIMD_ALIGN #define STBI_SIMD_ALIGN(type, name) type name #endif +#ifndef STBI_MAX_DIMENSIONS +#define STBI_MAX_DIMENSIONS (1 << 24) +#endif + /////////////////////////////////////////////// // // stbi__context struct and start_xxx functions @@ -748,9 +813,10 @@ typedef struct int read_from_callbacks; int buflen; stbi_uc buffer_start[128]; + int callback_already_read; stbi_uc *img_buffer, *img_buffer_end; - stbi_uc *img_buffer_original; + stbi_uc *img_buffer_original, *img_buffer_original_end; } stbi__context; @@ -761,8 +827,9 @@ static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) { s->io.read = NULL; s->read_from_callbacks = 0; + s->callback_already_read = 0; s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; - s->img_buffer_end = (stbi_uc *) buffer+len; + s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; } // initialize a callback-based context @@ -772,8 +839,10 @@ static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void * s->io_user_data = user; s->buflen = sizeof(s->buffer_start); s->read_from_callbacks = 1; - s->img_buffer_original = s->buffer_start; + s->callback_already_read = 0; + s->img_buffer = s->img_buffer_original = s->buffer_start; stbi__refill_buffer(s); + s->img_buffer_original_end = s->img_buffer_end; } #ifndef STBI_NO_STDIO @@ -785,12 +854,17 @@ static int stbi__stdio_read(void *user, char *data, int size) static void stbi__stdio_skip(void *user, int n) { + int ch; fseek((FILE*) user, n, SEEK_CUR); + ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ + if (ch != EOF) { + ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ + } } static int stbi__stdio_eof(void *user) { - return feof((FILE*) user); + return feof((FILE*) user) || ferror((FILE *) user); } static stbi_io_callbacks stbi__stdio_callbacks = @@ -815,81 +889,200 @@ static void stbi__rewind(stbi__context *s) // but we just rewind to the beginning of the initial buffer, because // we only use it after doing 'test', which only ever looks at at most 92 bytes s->img_buffer = s->img_buffer_original; + s->img_buffer_end = s->img_buffer_original_end; } +enum +{ + STBI_ORDER_RGB, + STBI_ORDER_BGR +}; + +typedef struct +{ + int bits_per_channel; + int num_channels; + int channel_order; +} stbi__result_info; + #ifndef STBI_NO_JPEG static int stbi__jpeg_test(stbi__context *s); -static stbi_uc *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_PNG static int stbi__png_test(stbi__context *s); -static stbi_uc *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__png_is16(stbi__context *s); #endif #ifndef STBI_NO_BMP static int stbi__bmp_test(stbi__context *s); -static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_TGA static int stbi__tga_test(stbi__context *s); -static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_PSD static int stbi__psd_test(stbi__context *s); -static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__psd_is16(stbi__context *s); #endif #ifndef STBI_NO_HDR static int stbi__hdr_test(stbi__context *s); -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_PIC static int stbi__pic_test(stbi__context *s); -static stbi_uc *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_GIF static int stbi__gif_test(stbi__context *s); -static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); #endif #ifndef STBI_NO_PNM static int stbi__pnm_test(stbi__context *s); -static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp); +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__pnm_is16(stbi__context *s); #endif -// this is not threadsafe -static const char *stbi__g_failure_reason; +static +#ifdef STBI_THREAD_LOCAL +STBI_THREAD_LOCAL +#endif +const char *stbi__g_failure_reason; STBIDEF const char *stbi_failure_reason(void) { return stbi__g_failure_reason; } +#ifndef STBI_NO_FAILURE_STRINGS static int stbi__err(const char *str) { stbi__g_failure_reason = str; return 0; } +#endif static void *stbi__malloc(size_t size) { return STBI_MALLOC(size); } +// stb_image uses ints pervasively, including for offset calculations. +// therefore the largest decoded image size we can support with the +// current code, even on 64-bit targets, is INT_MAX. this is not a +// significant limitation for the intended use case. +// +// we do, however, need to make sure our size calculations don't +// overflow. hence a few helper functions for size calculations that +// multiply integers together, making sure that they're non-negative +// and no overflow occurs. + +// return 1 if the sum is valid, 0 on overflow. +// negative terms are considered invalid. +static int stbi__addsizes_valid(int a, int b) +{ + if (b < 0) return 0; + // now 0 <= b <= INT_MAX, hence also + // 0 <= INT_MAX - b <= INTMAX. + // And "a + b <= INT_MAX" (which might overflow) is the + // same as a <= INT_MAX - b (no overflow) + return a <= INT_MAX - b; +} + +// returns 1 if the product is valid, 0 on overflow. +// negative factors are considered invalid. +static int stbi__mul2sizes_valid(int a, int b) +{ + if (a < 0 || b < 0) return 0; + if (b == 0) return 1; // mul-by-0 is always safe + // portable way to check for no overflows in a*b + return a <= INT_MAX/b; +} + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow +static int stbi__mad2sizes_valid(int a, int b, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); +} +#endif + +// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow +static int stbi__mad3sizes_valid(int a, int b, int c, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__addsizes_valid(a*b*c, add); +} + +// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); +} +#endif + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// mallocs with size overflow checking +static void *stbi__malloc_mad2(int a, int b, int add) +{ + if (!stbi__mad2sizes_valid(a, b, add)) return NULL; + return stbi__malloc(a*b + add); +} +#endif + +static void *stbi__malloc_mad3(int a, int b, int c, int add) +{ + if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; + return stbi__malloc(a*b*c + add); +} + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) +{ + if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; + return stbi__malloc(a*b*c*d + add); +} +#endif + +// returns 1 if the sum of two signed ints is valid (between -2^31 and 2^31-1 inclusive), 0 on overflow. +static int stbi__addints_valid(int a, int b) +{ + if ((a >= 0) != (b >= 0)) return 1; // a and b have different signs, so no overflow + if (a < 0 && b < 0) return a >= INT_MIN - b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. + return a <= INT_MAX - b; +} + +// returns 1 if the product of two ints fits in a signed short, 0 on overflow. +static int stbi__mul2shorts_valid(int a, int b) +{ + if (b == 0 || b == -1) return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow + if ((a >= 0) == (b >= 0)) return a <= SHRT_MAX/b; // product is positive, so similar to mul2sizes_valid + if (b < 0) return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN + return a >= SHRT_MIN / b; +} + // stbi__err - error // stbi__errpf - error returning pointer to float // stbi__errpuc - error returning pointer to unsigned char @@ -902,8 +1095,8 @@ static void *stbi__malloc(size_t size) #define stbi__err(x,y) stbi__err(x) #endif -#define stbi__errpf(x,y) ((float *) (stbi__err(x,y)?NULL:NULL)) -#define stbi__errpuc(x,y) ((unsigned char *) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) STBIDEF void stbi_image_free(void *retval_from_stbi_load) { @@ -918,40 +1111,69 @@ static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); #endif -static int stbi__vertically_flip_on_load = 0; +static int stbi__vertically_flip_on_load_global = 0; STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) { - stbi__vertically_flip_on_load = flag_true_if_should_flip; + stbi__vertically_flip_on_load_global = flag_true_if_should_flip; } -static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +#ifndef STBI_THREAD_LOCAL +#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global +#else +static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; + +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) { - #ifndef STBI_NO_JPEG - if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp); - #endif + stbi__vertically_flip_on_load_local = flag_true_if_should_flip; + stbi__vertically_flip_on_load_set = 1; +} + +#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ + ? stbi__vertically_flip_on_load_local \ + : stbi__vertically_flip_on_load_global) +#endif // STBI_THREAD_LOCAL + +static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields + ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed + ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order + ri->num_channels = 0; + + // test the formats with a very explicit header first (at least a FOURCC + // or distinctive magic number first) #ifndef STBI_NO_PNG - if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp); + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); #endif #ifndef STBI_NO_BMP - if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp); + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); #endif #ifndef STBI_NO_GIF - if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp); + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); #endif #ifndef STBI_NO_PSD - if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp); + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); + #else + STBI_NOTUSED(bpc); #endif #ifndef STBI_NO_PIC - if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp); + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); + #endif + + // then the formats that can end up attempting to load with just 1 or 2 + // bytes matching expectations; these are prone to false positives, so + // try them later + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); #endif #ifndef STBI_NO_PNM - if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp); + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); #endif #ifndef STBI_NO_HDR if (stbi__hdr_test(s)) { - float *hdr = stbi__hdr_load(s, x,y,comp,req_comp); + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); } #endif @@ -959,65 +1181,179 @@ static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *com #ifndef STBI_NO_TGA // test tga last because it's a crappy test! if (stbi__tga_test(s)) - return stbi__tga_load(s,x,y,comp,req_comp); + return stbi__tga_load(s,x,y,comp,req_comp, ri); #endif return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); } -static unsigned char *stbi__load_flip(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) { - unsigned char *result = stbi__load_main(s, x, y, comp, req_comp); + int i; + int img_len = w * h * channels; + stbi_uc *reduced; - if (stbi__vertically_flip_on_load && result != NULL) { - int w = *x, h = *y; - int depth = req_comp ? req_comp : *comp; - int row,col,z; - stbi_uc temp; - - // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once - for (row = 0; row < (h>>1); row++) { - for (col = 0; col < w; col++) { - for (z = 0; z < depth; z++) { - temp = result[(row * w + col) * depth + z]; - result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; - result[((h - row - 1) * w + col) * depth + z] = temp; - } - } + reduced = (stbi_uc *) stbi__malloc(img_len); + if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling + + STBI_FREE(orig); + return reduced; +} + +static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi__uint16 *enlarged; + + enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); + if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff + + STBI_FREE(orig); + return enlarged; +} + +static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) +{ + int row; + size_t bytes_per_row = (size_t)w * bytes_per_pixel; + stbi_uc temp[2048]; + stbi_uc *bytes = (stbi_uc *)image; + + for (row = 0; row < (h>>1); row++) { + stbi_uc *row0 = bytes + row*bytes_per_row; + stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; + // swap row0 with row1 + size_t bytes_left = bytes_per_row; + while (bytes_left) { + size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); + memcpy(temp, row0, bytes_copy); + memcpy(row0, row1, bytes_copy); + memcpy(row1, temp, bytes_copy); + row0 += bytes_copy; + row1 += bytes_copy; + bytes_left -= bytes_copy; } } +} - return result; +#ifndef STBI_NO_GIF +static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) +{ + int slice; + int slice_size = w * h * bytes_per_pixel; + + stbi_uc *bytes = (stbi_uc *)image; + for (slice = 0; slice < z; ++slice) { + stbi__vertical_flip(bytes, w, h, bytes_per_pixel); + bytes += slice_size; + } } +#endif + +static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 8) { + result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 8; + } + + // @TODO: move stbi__convert_format to here + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); + } + + return (unsigned char *) result; +} + +static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 16) { + result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 16; + } + // @TODO: move stbi__convert_format16 to here + // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); + } + + return (stbi__uint16 *) result; +} + +#if !defined(STBI_NO_HDR) && !defined(STBI_NO_LINEAR) static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) { if (stbi__vertically_flip_on_load && result != NULL) { - int w = *x, h = *y; - int depth = req_comp ? req_comp : *comp; - int row,col,z; - float temp; - - // @OPTIMIZE: use a bigger temp buffer and memcpy multiple pixels at once - for (row = 0; row < (h>>1); row++) { - for (col = 0; col < w; col++) { - for (z = 0; z < depth; z++) { - temp = result[(row * w + col) * depth + z]; - result[(row * w + col) * depth + z] = result[((h - row - 1) * w + col) * depth + z]; - result[((h - row - 1) * w + col) * depth + z] = temp; - } - } - } + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); } } - +#endif #ifndef STBI_NO_STDIO +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); +#endif + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + static FILE *stbi__fopen(char const *filename, char const *mode) { FILE *f; +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + #if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 if (0 != fopen_s(&f, filename, mode)) f=0; #else @@ -1042,28 +1378,83 @@ STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req unsigned char *result; stbi__context s; stbi__start_file(&s,f); - result = stbi__load_flip(&s,x,y,comp,req_comp); + result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__uint16 *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); if (result) { // need to 'unget' all the characters in the IO buffer fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); } return result; } + +STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + stbi__uint16 *result; + if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file_16(f,x,y,comp,req_comp); + fclose(f); + return result; +} + + #endif //!STBI_NO_STDIO +STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) { stbi__context s; stbi__start_mem(&s,buffer,len); - return stbi__load_flip(&s,x,y,comp,req_comp); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); } STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) { stbi__context s; stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__load_flip(&s,x,y,comp,req_comp); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_mem(&s,buffer,len); + + result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); + if (stbi__vertically_flip_on_load) { + stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); + } + + return result; } +#endif #ifndef STBI_NO_LINEAR static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) @@ -1071,13 +1462,14 @@ static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int unsigned char *data; #ifndef STBI_NO_HDR if (stbi__hdr_test(s)) { - float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp); + stbi__result_info ri; + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); if (hdr_data) stbi__float_postprocess(hdr_data,x,y,comp,req_comp); return hdr_data; } #endif - data = stbi__load_flip(s, x, y, comp, req_comp); + data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); if (data) return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); @@ -1147,13 +1539,18 @@ STBIDEF int stbi_is_hdr (char const *filename) return result; } -STBIDEF int stbi_is_hdr_from_file(FILE *f) +STBIDEF int stbi_is_hdr_from_file(FILE *f) { #ifndef STBI_NO_HDR + long pos = ftell(f); + int res; stbi__context s; stbi__start_file(&s,f); - return stbi__hdr_test(&s); + res = stbi__hdr_test(&s); + fseek(f, pos, SEEK_SET); + return res; #else + STBI_NOTUSED(f); return 0; #endif } @@ -1166,18 +1563,21 @@ STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); return stbi__hdr_test(&s); #else + STBI_NOTUSED(clbk); + STBI_NOTUSED(user); return 0; #endif } -static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; +#ifndef STBI_NO_LINEAR static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; -#ifndef STBI_NO_LINEAR STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } #endif +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } @@ -1197,6 +1597,7 @@ enum static void stbi__refill_buffer(stbi__context *s) { int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); if (n == 0) { // at end of file, treat same as if from memory, but need to handle case // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file @@ -1221,6 +1622,9 @@ stbi_inline static stbi_uc stbi__get8(stbi__context *s) return 0; } +#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else stbi_inline static int stbi__at_eof(stbi__context *s) { if (s->io.read) { @@ -1232,9 +1636,14 @@ stbi_inline static int stbi__at_eof(stbi__context *s) return s->img_buffer >= s->img_buffer_end; } +#endif +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) +// nothing +#else static void stbi__skip(stbi__context *s, int n) { + if (n == 0) return; // already there! if (n < 0) { s->img_buffer = s->img_buffer_end; return; @@ -1249,7 +1658,11 @@ static void stbi__skip(stbi__context *s, int n) } s->img_buffer += n; } +#endif +#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) +// nothing +#else static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) { if (s->io.read) { @@ -1273,34 +1686,52 @@ static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) } else return 0; } +#endif +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else static int stbi__get16be(stbi__context *s) { int z = stbi__get8(s); return (z << 8) + stbi__get8(s); } +#endif +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else static stbi__uint32 stbi__get32be(stbi__context *s) { stbi__uint32 z = stbi__get16be(s); return (z << 16) + stbi__get16be(s); } +#endif +#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) +// nothing +#else static int stbi__get16le(stbi__context *s) { int z = stbi__get8(s); return z + (stbi__get8(s) << 8); } +#endif +#ifndef STBI_NO_BMP static stbi__uint32 stbi__get32le(stbi__context *s) { stbi__uint32 z = stbi__get16le(s); - return z + (stbi__get16le(s) << 16); + z += (stbi__uint32)stbi__get16le(s) << 16; + return z; } +#endif #define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings - +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else ////////////////////////////////////////////////////////////////////////////// // // generic converter from built-in img_n to req_comp @@ -1316,7 +1747,11 @@ static stbi_uc stbi__compute_y(int r, int g, int b) { return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); } +#endif +#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) { int i,j; @@ -1325,7 +1760,7 @@ static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int r if (req_comp == img_n) return data; STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - good = (unsigned char *) stbi__malloc(req_comp * x * y); + good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); if (good == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); @@ -1335,37 +1770,97 @@ static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int r unsigned char *src = data + j * x * img_n ; unsigned char *dest = good + j * x * req_comp; - #define COMBO(a,b) ((a)*8+(b)) - #define CASE(a,b) case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) // convert source image with img_n components to one with req_comp components; // avoid switch per pixel, so use switch per scanline and massive macros - switch (COMBO(img_n, req_comp)) { - CASE(1,2) dest[0]=src[0], dest[1]=255; break; - CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break; - CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break; - CASE(2,1) dest[0]=src[0]; break; - CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break; - CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break; - CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break; - CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; - CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break; - CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break; - CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break; - CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break; - default: STBI_ASSERT(0); + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=255; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=255; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=255; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = 255; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); } - #undef CASE + #undef STBI__CASE } STBI_FREE(data); return good; } +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 stbi__compute_y_16(int r, int g, int b) +{ + return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + stbi__uint16 *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); + if (good == NULL) { + STBI_FREE(data); + return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + stbi__uint16 *src = data + j * x * img_n ; + stbi__uint16 *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=0xffff; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=0xffff; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=0xffff; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = 0xffff; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif #ifndef STBI_NO_LINEAR static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) { int i,k,n; - float *output = (float *) stbi__malloc(x * y * comp * sizeof(float)); + float *output; + if (!data) return NULL; + output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } // compute number of non-alpha components if (comp & 1) n = comp; else n = comp-1; @@ -1373,7 +1868,11 @@ static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) for (k=0; k < n; ++k) { output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); } - if (k < comp) output[i*comp + k] = data[i*comp+k]/255.0f; + } + if (n < comp) { + for (i=0; i < x*y; ++i) { + output[i*comp + n] = data[i*comp + n]/255.0f; + } } STBI_FREE(data); return output; @@ -1385,7 +1884,9 @@ static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) { int i,k,n; - stbi_uc *output = (stbi_uc *) stbi__malloc(x * y * comp); + stbi_uc *output; + if (!data) return NULL; + output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } // compute number of non-alpha components if (comp & 1) n = comp; else n = comp-1; @@ -1450,7 +1951,7 @@ typedef struct stbi__context *s; stbi__huffman huff_dc[4]; stbi__huffman huff_ac[4]; - stbi_uc dequant[4][64]; + stbi__uint16 dequant[4][64]; stbi__int16 fast_ac[4][1 << FAST_BITS]; // sizes for components, interleaved MCUs @@ -1486,6 +1987,9 @@ typedef struct int succ_high; int succ_low; int eob_run; + int jfif; + int app14_color_transform; // Adobe APP14 tag + int rgb; int scan_n, order[4]; int restart_interval, todo; @@ -1498,11 +2002,15 @@ typedef struct static int stbi__build_huffman(stbi__huffman *h, int *count) { - int i,j,k=0,code; + int i,j,k=0; + unsigned int code; // build size list for each symbol (from JPEG spec) - for (i=0; i < 16; ++i) - for (j=0; j < count[i]; ++j) + for (i=0; i < 16; ++i) { + for (j=0; j < count[i]; ++j) { h->size[k++] = (stbi_uc) (i+1); + if(k >= 257) return stbi__err("bad size list","Corrupt JPEG"); + } + } h->size[k] = 0; // compute actual symbols (from jpeg spec) @@ -1514,7 +2022,7 @@ static int stbi__build_huffman(stbi__huffman *h, int *count) if (h->size[k] == j) { while (h->size[k] == j) h->code[k++] = (stbi__uint16) (code++); - if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); } // compute largest code + 1 for this size, preshifted as needed later h->maxcode[j] = code << (16-j); @@ -1555,10 +2063,10 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) // magnitude code followed by receive_extend code int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); int m = 1 << (magbits - 1); - if (k < m) k += (-1 << magbits) + 1; + if (k < m) k += (~0U << magbits) + 1; // if the result is small enough, we can fit it in fast_ac table if (k >= -128 && k <= 127) - fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); + fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); } } } @@ -1567,9 +2075,10 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) static void stbi__grow_buffer_unsafe(stbi__jpeg *j) { do { - int b = j->nomore ? 0 : stbi__get8(j->s); + unsigned int b = j->nomore ? 0 : stbi__get8(j->s); if (b == 0xff) { int c = stbi__get8(j->s); + while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes if (c != 0) { j->marker = (unsigned char) c; j->nomore = 1; @@ -1582,7 +2091,7 @@ static void stbi__grow_buffer_unsafe(stbi__jpeg *j) } // (1 << n) - 1 -static stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; +static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; // decode a jpeg huffman value from the bitstream stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) @@ -1626,6 +2135,8 @@ stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) // convert the huffman code to the symbol id c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + if(c < 0 || c >= 256) // symbol id out of bounds! + return -1; STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); // convert the id to a symbol @@ -1635,7 +2146,7 @@ stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) } // bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing - sgn = (stbi__int32)j->code_buffer >> 31; // sign bit is always in MSB + sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) k = stbi_lrot(j->code_buffer, n); - STBI_ASSERT(n >= 0 && n < (int) (sizeof(stbi__bmask)/sizeof(*stbi__bmask))); j->code_buffer = k & ~stbi__bmask[n]; k &= stbi__bmask[n]; j->code_bits -= n; - return k + (stbi__jbias[n] & ~sgn); + return k + (stbi__jbias[n] & (sgn - 1)); } // get some unsigned bits @@ -1659,6 +2170,7 @@ stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) { unsigned int k; if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing k = stbi_lrot(j->code_buffer, n); j->code_buffer = k & ~stbi__bmask[n]; k &= stbi__bmask[n]; @@ -1670,6 +2182,7 @@ stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) { unsigned int k; if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + if (j->code_bits < 1) return 0; // ran out of bits from stream, return 0s intead of continuing k = j->code_buffer; j->code_buffer <<= 1; --j->code_bits; @@ -1678,7 +2191,7 @@ stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) // given a value that's at position X in the zigzag stream, // where does it appear in the 8x8 matrix coded as row-major? -static stbi_uc stbi__jpeg_dezigzag[64+15] = +static const stbi_uc stbi__jpeg_dezigzag[64+15] = { 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, @@ -1694,21 +2207,23 @@ static stbi_uc stbi__jpeg_dezigzag[64+15] = }; // decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) { int diff,dc,k; int t; if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + if (t < 0 || t > 15) return stbi__err("bad huffman code","Corrupt JPEG"); // 0 all the ac values now so we can do it 32-bits at a time memset(data,0,64*sizeof(data[0])); diff = t ? stbi__extend_receive(j, t) : 0; + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta","Corrupt JPEG"); dc = j->img_comp[b].dc_pred + diff; j->img_comp[b].dc_pred = dc; + if (!stbi__mul2shorts_valid(dc, dequant[0])) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); data[0] = (short) (dc * dequant[0]); // decode AC components, see JPEG spec @@ -1722,6 +2237,7 @@ static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman if (r) { // fast-AC path k += (r >> 4) & 15; // run s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); j->code_buffer <<= s; j->code_bits -= s; // decode into unzigzag'd location @@ -1758,11 +2274,14 @@ static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__ // first scan for DC coefficient, must be first memset(data,0,64*sizeof(data[0])); // 0 all the ac values now t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); diff = t ? stbi__extend_receive(j, t) : 0; + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta", "Corrupt JPEG"); dc = j->img_comp[b].dc_pred + diff; j->img_comp[b].dc_pred = dc; - data[0] = (short) (dc << j->succ_low); + if (!stbi__mul2shorts_valid(dc, 1 << j->succ_low)) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * (1 << j->succ_low)); } else { // refinement scan for DC coefficient if (stbi__jpeg_get_bit(j)) @@ -1796,10 +2315,11 @@ static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__ if (r) { // fast-AC path k += (r >> 4) & 15; // run s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); j->code_buffer <<= s; j->code_bits -= s; zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) << shift); + data[zig] = (short) ((r >> 8) * (1 << shift)); } else { int rs = stbi__jpeg_huff_decode(j, hac); if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); @@ -1817,7 +2337,7 @@ static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__ } else { k += r; zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) << shift); + data[zig] = (short) (stbi__extend_receive(j,s) * (1 << shift)); } } } while (k <= j->spec_end); @@ -1904,7 +2424,7 @@ stbi_inline static stbi_uc stbi__clamp(int x) } #define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) -#define stbi__fsh(x) ((x) << 12) +#define stbi__fsh(x) ((x) * 4096) // derived from jidctint -- DCT_ISLOW #define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ @@ -1959,7 +2479,7 @@ static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) // (1|2|3|4|5|6|7)==0 0 seconds // all separate -0.047 seconds // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds - int dcterm = d[0] << 2; + int dcterm = d[0]*4; v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; } else { STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) @@ -2403,7 +2923,7 @@ static stbi_uc stbi__get_marker(stbi__jpeg *j) x = stbi__get8(j->s); if (x != 0xff) return STBI__MARKER_none; while (x == 0xff) - x = stbi__get8(j->s); + x = stbi__get8(j->s); // consume repeated 0xff fill bytes return x; } @@ -2418,7 +2938,7 @@ static void stbi__jpeg_reset(stbi__jpeg *j) j->code_bits = 0; j->code_buffer = 0; j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; j->marker = STBI__MARKER_none; j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; j->eob_run = 0; @@ -2550,7 +3070,7 @@ static int stbi__parse_entropy_coded_data(stbi__jpeg *z) } } -static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) +static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) { int i; for (i=0; i < 64; ++i) @@ -2592,13 +3112,14 @@ static int stbi__process_marker(stbi__jpeg *z, int m) L = stbi__get16be(z->s)-2; while (L > 0) { int q = stbi__get8(z->s); - int p = q >> 4; + int p = q >> 4, sixteen = (p != 0); int t = q & 15,i; - if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); + if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); - L -= 65; + z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); + L -= (sixteen ? 129 : 65); } return L==0; @@ -2615,6 +3136,7 @@ static int stbi__process_marker(stbi__jpeg *z, int m) sizes[i] = stbi__get8(z->s); n += sizes[i]; } + if(n > 256) return stbi__err("bad DHT header","Corrupt JPEG"); // Loop over i < n would write past end of values! L -= 17; if (tc == 0) { if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; @@ -2631,12 +3153,50 @@ static int stbi__process_marker(stbi__jpeg *z, int m) } return L==0; } + // check for comment block or APP blocks if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - stbi__skip(z->s, stbi__get16be(z->s)-2); + L = stbi__get16be(z->s); + if (L < 2) { + if (m == 0xFE) + return stbi__err("bad COM len","Corrupt JPEG"); + else + return stbi__err("bad APP len","Corrupt JPEG"); + } + L -= 2; + + if (m == 0xE0 && L >= 5) { // JFIF APP0 segment + static const unsigned char tag[5] = {'J','F','I','F','\0'}; + int ok = 1; + int i; + for (i=0; i < 5; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 5; + if (ok) + z->jfif = 1; + } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment + static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; + int ok = 1; + int i; + for (i=0; i < 6; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 6; + if (ok) { + stbi__get8(z->s); // version + stbi__get16be(z->s); // flags0 + stbi__get16be(z->s); // flags1 + z->app14_color_transform = stbi__get8(z->s); // color transform + L -= 6; + } + } + + stbi__skip(z->s, L); return 1; } - return 0; + + return stbi__err("unknown marker","Corrupt JPEG"); } // after we see SOS @@ -2675,8 +3235,30 @@ static int stbi__process_scan_header(stbi__jpeg *z) z->spec_end = 63; } } - - return 1; + + return 1; +} + +static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) +{ + int i; + for (i=0; i < ncomp; ++i) { + if (z->img_comp[i].raw_data) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].raw_data = NULL; + z->img_comp[i].data = NULL; + } + if (z->img_comp[i].raw_coeff) { + STBI_FREE(z->img_comp[i].raw_coeff); + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].coeff = 0; + } + if (z->img_comp[i].linebuf) { + STBI_FREE(z->img_comp[i].linebuf); + z->img_comp[i].linebuf = NULL; + } + } + return why; } static int stbi__process_frame_header(stbi__jpeg *z, int scan) @@ -2687,8 +3269,10 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); c = stbi__get8(s); - if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires + if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); s->img_n = c; for (i=0; i < c; ++i) { z->img_comp[i].data = NULL; @@ -2697,11 +3281,12 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + z->rgb = 0; for (i=0; i < s->img_n; ++i) { + static const unsigned char rgb[3] = { 'R', 'G', 'B' }; z->img_comp[i].id = stbi__get8(s); - if (z->img_comp[i].id != i+1) // JFIF requires - if (z->img_comp[i].id != i) // some version of jpegtran outputs non-JFIF-compliant files! - return stbi__err("bad component ID","Corrupt JPEG"); + if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) + ++z->rgb; q = stbi__get8(s); z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); @@ -2710,18 +3295,26 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) if (scan != STBI__SCAN_load) return 1; - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); for (i=0; i < s->img_n; ++i) { if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; } + // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios + // and I've never seen a non-corrupted JPEG file actually use them + for (i=0; i < s->img_n; ++i) { + if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); + if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); + } + // compute interleaved mcu info z->img_h_max = h_max; z->img_v_max = v_max; z->img_mcu_w = h_max * 8; z->img_mcu_h = v_max * 8; + // these sizes can't be more than 17 bits z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; @@ -2733,28 +3326,27 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) // the bogus oversized data from using interleaved MCUs and their // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't // discard the extra data until colorspace conversion + // + // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) + // so these muls can't overflow with 32-bit ints (which we require) z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - z->img_comp[i].raw_data = stbi__malloc(z->img_comp[i].w2 * z->img_comp[i].h2+15); - - if (z->img_comp[i].raw_data == NULL) { - for(--i; i >= 0; --i) { - STBI_FREE(z->img_comp[i].raw_data); - z->img_comp[i].data = NULL; - } - return stbi__err("outofmem", "Out of memory"); - } + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].linebuf = NULL; + z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); + if (z->img_comp[i].raw_data == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); // align blocks for idct using mmx/sse z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); - z->img_comp[i].linebuf = NULL; if (z->progressive) { - z->img_comp[i].coeff_w = (z->img_comp[i].w2 + 7) >> 3; - z->img_comp[i].coeff_h = (z->img_comp[i].h2 + 7) >> 3; - z->img_comp[i].raw_coeff = STBI_MALLOC(z->img_comp[i].coeff_w * z->img_comp[i].coeff_h * 64 * sizeof(short) + 15); + // w2, h2 are multiples of 8 (see above) + z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; + z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; + z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); + if (z->img_comp[i].raw_coeff == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); - } else { - z->img_comp[i].coeff = 0; - z->img_comp[i].raw_coeff = 0; } } @@ -2773,6 +3365,8 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) { int m; + z->jfif = 0; + z->app14_color_transform = -1; // valid values are 0,1,2 z->marker = STBI__MARKER_none; // initialize cached marker to empty m = stbi__get_marker(z); if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); @@ -2792,6 +3386,28 @@ static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) return 1; } +static stbi_uc stbi__skip_jpeg_junk_at_end(stbi__jpeg *j) +{ + // some JPEGs have junk at end, skip over it but if we find what looks + // like a valid marker, resume there + while (!stbi__at_eof(j->s)) { + stbi_uc x = stbi__get8(j->s); + while (x == 0xff) { // might be a marker + if (stbi__at_eof(j->s)) return STBI__MARKER_none; + x = stbi__get8(j->s); + if (x != 0x00 && x != 0xff) { + // not a stuffed zero or lead-in to another marker, looks + // like an actual marker, return it + return x; + } + // stuffed zero has x=0 now which ends the loop, meaning we go + // back to regular scan loop. + // repeated 0xff keeps trying to read the next byte of the marker. + } + } + return STBI__MARKER_none; +} + // decode image to YCbCr format static int stbi__decode_jpeg_image(stbi__jpeg *j) { @@ -2808,22 +3424,22 @@ static int stbi__decode_jpeg_image(stbi__jpeg *j) if (!stbi__process_scan_header(j)) return 0; if (!stbi__parse_entropy_coded_data(j)) return 0; if (j->marker == STBI__MARKER_none ) { - // handle 0s at the end of image data from IP Kamera 9060 - while (!stbi__at_eof(j->s)) { - int x = stbi__get8(j->s); - if (x == 255) { - j->marker = stbi__get8(j->s); - break; - } else if (x != 0) { - return stbi__err("junk before marker", "Corrupt JPEG"); - } - } + j->marker = stbi__skip_jpeg_junk_at_end(j); // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 } + m = stbi__get_marker(j); + if (STBI__RESTART(m)) + m = stbi__get_marker(j); + } else if (stbi__DNL(m)) { + int Ld = stbi__get16be(j->s); + stbi__uint32 NL = stbi__get16be(j->s); + if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); + if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); + m = stbi__get_marker(j); } else { - if (!stbi__process_marker(j, m)) return 0; + if (!stbi__process_marker(j, m)) return 1; + m = stbi__get_marker(j); } - m = stbi__get_marker(j); } if (j->progressive) stbi__jpeg_finish(j); @@ -3038,38 +3654,9 @@ static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_ return out; } -#ifdef STBI_JPEG_OLD -// this is the same YCbCr-to-RGB calculation that stb_image has used -// historically before the algorithm changes in 1.49 -#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 16) + 32768; // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr*float2fixed(1.40200f); - g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); - b = y_fixed + cb*float2fixed(1.77200f); - r >>= 16; - g >>= 16; - b >>= 16; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#else // this is a reduced-precision calculation of YCbCr-to-RGB introduced // to make sure the code produces the same results in both SIMD and scalar -#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) { int i; @@ -3078,9 +3665,9 @@ static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc int r,g,b; int cr = pcr[i] - 128; int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); r >>= 20; g >>= 20; b >>= 20; @@ -3094,7 +3681,6 @@ static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc out += step; } } -#endif #if defined(STBI_SSE2) || defined(STBI_NEON) static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) @@ -3213,9 +3799,9 @@ static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc cons int r,g,b; int cr = pcr[i] - 128; int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); r >>= 20; g >>= 20; b >>= 20; @@ -3241,18 +3827,14 @@ static void stbi__setup_jpeg(stbi__jpeg *j) #ifdef STBI_SSE2 if (stbi__sse2_available()) { j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; } #endif #ifdef STBI_NEON j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; #endif } @@ -3260,23 +3842,7 @@ static void stbi__setup_jpeg(stbi__jpeg *j) // clean up the temporary component buffers static void stbi__cleanup_jpeg(stbi__jpeg *j) { - int i; - for (i=0; i < j->s->img_n; ++i) { - if (j->img_comp[i].raw_data) { - STBI_FREE(j->img_comp[i].raw_data); - j->img_comp[i].raw_data = NULL; - j->img_comp[i].data = NULL; - } - if (j->img_comp[i].raw_coeff) { - STBI_FREE(j->img_comp[i].raw_coeff); - j->img_comp[i].raw_coeff = 0; - j->img_comp[i].coeff = 0; - } - if (j->img_comp[i].linebuf) { - STBI_FREE(j->img_comp[i].linebuf); - j->img_comp[i].linebuf = NULL; - } - } + stbi__free_jpeg_components(j, j->s->img_n, 0); } typedef struct @@ -3289,9 +3855,16 @@ typedef struct int ypos; // which pre-expansion row we're on } stbi__resample; +// fast 0..255 * 0..255 => 0..255 rounded multiplication +static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) +{ + unsigned int t = x*y + 128; + return (stbi_uc) ((t + (t >>8)) >> 8); +} + static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) { - int n, decode_n; + int n, decode_n, is_rgb; z->s->img_n = 0; // make stbi__cleanup_jpeg safe // validate req_comp @@ -3301,19 +3874,25 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n; + n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; + + is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); - if (z->s->img_n == 3 && n < 3) + if (z->s->img_n == 3 && n < 3 && !is_rgb) decode_n = 1; else decode_n = z->s->img_n; + // nothing to do if no components requested; check this now to avoid + // accessing uninitialized coutput[0] later + if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } + // resample and color-convert { int k; unsigned int i,j; stbi_uc *output; - stbi_uc *coutput[4]; + stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; stbi__resample res_comp[4]; @@ -3340,7 +3919,7 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp } // can't error after this so, this is safe - output = (stbi_uc *) stbi__malloc(n * z->s->img_x * z->s->img_y + 1); + output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } // now go ahead and resample @@ -3363,7 +3942,39 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp if (n >= 3) { stbi_uc *y = coutput[0]; if (z->s->img_n == 3) { - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + if (is_rgb) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = y[i]; + out[1] = coutput[1][i]; + out[2] = coutput[2][i]; + out[3] = 255; + out += n; + } + } else { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else if (z->s->img_n == 4) { + if (z->app14_color_transform == 0) { // CMYK + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(coutput[0][i], m); + out[1] = stbi__blinn_8x8(coutput[1][i], m); + out[2] = stbi__blinn_8x8(coutput[2][i], m); + out[3] = 255; + out += n; + } + } else if (z->app14_color_transform == 2) { // YCCK + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(255 - out[0], m); + out[1] = stbi__blinn_8x8(255 - out[1], m); + out[2] = stbi__blinn_8x8(255 - out[2], m); + out += n; + } + } else { // YCbCr + alpha? Ignore the fourth channel for now + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } } else for (i=0; i < z->s->img_x; ++i) { out[0] = out[1] = out[2] = y[i]; @@ -3371,37 +3982,74 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp out += n; } } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + if (is_rgb) { + if (n == 1) + for (i=0; i < z->s->img_x; ++i) + *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + else { + for (i=0; i < z->s->img_x; ++i, out += 2) { + out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + out[1] = 255; + } + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); + stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); + stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); + out[0] = stbi__compute_y(r, g, b); + out[1] = 255; + out += n; + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); + out[1] = 255; + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) { *out++ = y[i]; *out++ = 255; } + } } } stbi__cleanup_jpeg(z); *out_x = z->s->img_x; *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n; // report original components, not output + if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output return output; } } -static unsigned char *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { - stbi__jpeg j; - j.s = s; - stbi__setup_jpeg(&j); - return load_jpeg_image(&j, x,y,comp,req_comp); + unsigned char* result; + stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__errpuc("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + STBI_NOTUSED(ri); + j->s = s; + stbi__setup_jpeg(j); + result = load_jpeg_image(j, x,y,comp,req_comp); + STBI_FREE(j); + return result; } static int stbi__jpeg_test(stbi__context *s) { int r; - stbi__jpeg j; - j.s = s; - stbi__setup_jpeg(&j); - r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); + stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + stbi__setup_jpeg(j); + r = stbi__decode_jpeg_header(j, STBI__SCAN_type); stbi__rewind(s); + STBI_FREE(j); return r; } @@ -3413,15 +4061,20 @@ static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) } if (x) *x = j->s->img_x; if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n; + if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; return 1; } static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) { - stbi__jpeg j; - j.s = s; - return stbi__jpeg_info_raw(&j, x, y, comp); + int result; + stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + result = stbi__jpeg_info_raw(j, x, y, comp); + STBI_FREE(j); + return result; } #endif @@ -3437,6 +4090,7 @@ static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) // fast-way is faster to check than jpeg huffman, but slow way is slower #define STBI__ZFAST_BITS 9 // accelerate all cases in default tables #define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) +#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet // zlib-style huffman encoding // (jpegs packs from left, zlib from right, so can't share code) @@ -3446,8 +4100,8 @@ typedef struct stbi__uint16 firstcode[16]; int maxcode[17]; stbi__uint16 firstsymbol[16]; - stbi_uc size[288]; - stbi__uint16 value[288]; + stbi_uc size[STBI__ZNSYMS]; + stbi__uint16 value[STBI__ZNSYMS]; } stbi__zhuffman; stbi_inline static int stbi__bitreverse16(int n) @@ -3467,7 +4121,7 @@ stbi_inline static int stbi__bit_reverse(int v, int bits) return stbi__bitreverse16(v) >> (16-bits); } -static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) +static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) { int i,k=0; int code, next_code[16], sizes[17]; @@ -3502,10 +4156,10 @@ static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) z->size [c] = (stbi_uc ) s; z->value[c] = (stbi__uint16) i; if (s <= STBI__ZFAST_BITS) { - int k = stbi__bit_reverse(next_code[s],s); - while (k < (1 << STBI__ZFAST_BITS)) { - z->fast[k] = fastv; - k += (1 << s); + int j = stbi__bit_reverse(next_code[s],s); + while (j < (1 << STBI__ZFAST_BITS)) { + z->fast[j] = fastv; + j += (1 << s); } } ++next_code[s]; @@ -3524,6 +4178,7 @@ typedef struct { stbi_uc *zbuffer, *zbuffer_end; int num_bits; + int hit_zeof_once; stbi__uint32 code_buffer; char *zout; @@ -3534,16 +4189,23 @@ typedef struct stbi__zhuffman z_length, z_distance; } stbi__zbuf; +stbi_inline static int stbi__zeof(stbi__zbuf *z) +{ + return (z->zbuffer >= z->zbuffer_end); +} + stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) { - if (z->zbuffer >= z->zbuffer_end) return 0; - return *z->zbuffer++; + return stbi__zeof(z) ? 0 : *z->zbuffer++; } static void stbi__fill_bits(stbi__zbuf *z) { do { - STBI_ASSERT(z->code_buffer < (1U << z->num_bits)); + if (z->code_buffer >= (1U << z->num_bits)) { + z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ + return; + } z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; z->num_bits += 8; } while (z->num_bits <= 24); @@ -3568,10 +4230,11 @@ static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) for (s=STBI__ZFAST_BITS+1; ; ++s) if (k < z->maxcode[s]) break; - if (s == 16) return -1; // invalid code! + if (s >= 16) return -1; // invalid code! // code size is s, so: b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; - STBI_ASSERT(z->size[b] == s); + if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! + if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. a->code_buffer >>= s; a->num_bits -= s; return z->value[b]; @@ -3580,7 +4243,23 @@ static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) { int b,s; - if (a->num_bits < 16) stbi__fill_bits(a); + if (a->num_bits < 16) { + if (stbi__zeof(a)) { + if (!a->hit_zeof_once) { + // This is the first time we hit eof, insert 16 extra padding btis + // to allow us to keep going; if we actually consume any of them + // though, that is invalid data. This is caught later. + a->hit_zeof_once = 1; + a->num_bits += 16; // add 16 implicit zero bits + } else { + // We already inserted our extra 16 padding bits and are again + // out, this stream is actually prematurely terminated. + return -1; + } + } else { + stbi__fill_bits(a); + } + } b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; if (b) { s = b >> 9; @@ -3594,14 +4273,18 @@ stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes { char *q; - int cur, limit; + unsigned int cur, limit, old_limit; z->zout = zout; if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); - cur = (int) (z->zout - z->zout_start); - limit = (int) (z->zout_end - z->zout_start); - while (cur + n > limit) + cur = (unsigned int) (z->zout - z->zout_start); + limit = old_limit = (unsigned) (z->zout_end - z->zout_start); + if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); + while (cur + n > limit) { + if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); limit *= 2; - q = (char *) STBI_REALLOC(z->zout_start, limit); + } + q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); + STBI_NOTUSED(old_limit); if (q == NULL) return stbi__err("outofmem", "Out of memory"); z->zout_start = q; z->zout = q + cur; @@ -3609,18 +4292,18 @@ static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room return 1; } -static int stbi__zlength_base[31] = { +static const int stbi__zlength_base[31] = { 3,4,5,6,7,8,9,10,11,13, 15,17,19,23,27,31,35,43,51,59, 67,83,99,115,131,163,195,227,258,0,0 }; -static int stbi__zlength_extra[31]= +static const int stbi__zlength_extra[31]= { 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; -static int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, 257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; -static int stbi__zdist_extra[32] = +static const int stbi__zdist_extra[32] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; static int stbi__parse_huffman_block(stbi__zbuf *a) @@ -3640,17 +4323,25 @@ static int stbi__parse_huffman_block(stbi__zbuf *a) int len,dist; if (z == 256) { a->zout = zout; + if (a->hit_zeof_once && a->num_bits < 16) { + // The first time we hit zeof, we inserted 16 extra zero bits into our bit + // buffer so the decoder can just do its speculative decoding. But if we + // actually consumed any of those bits (which is the case when num_bits < 16), + // the stream actually read past the end so it is malformed. + return stbi__err("unexpected end","Corrupt PNG"); + } return 1; } + if (z >= 286) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data z -= 257; len = stbi__zlength_base[z]; if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); z = stbi__zhuffman_decode(a, &a->z_distance); - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); + if (z < 0 || z >= 30) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data dist = stbi__zdist_base[z]; if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); - if (zout + len > a->zout_end) { + if (len > a->zout_end - zout) { if (!stbi__zexpand(a, zout, len)) return 0; zout = a->zout; } @@ -3667,7 +4358,7 @@ static int stbi__parse_huffman_block(stbi__zbuf *a) static int stbi__compute_huffman_codes(stbi__zbuf *a) { - static stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; stbi__zhuffman z_codelength; stbi_uc lencodes[286+32+137];//padding for maximum single op stbi_uc codelength_sizes[19]; @@ -3676,6 +4367,7 @@ static int stbi__compute_huffman_codes(stbi__zbuf *a) int hlit = stbi__zreceive(a,5) + 257; int hdist = stbi__zreceive(a,5) + 1; int hclen = stbi__zreceive(a,4) + 4; + int ntot = hlit + hdist; memset(codelength_sizes, 0, sizeof(codelength_sizes)); for (i=0; i < hclen; ++i) { @@ -3685,33 +4377,36 @@ static int stbi__compute_huffman_codes(stbi__zbuf *a) if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; n = 0; - while (n < hlit + hdist) { + while (n < ntot) { int c = stbi__zhuffman_decode(a, &z_codelength); if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); if (c < 16) lencodes[n++] = (stbi_uc) c; - else if (c == 16) { - c = stbi__zreceive(a,2)+3; - memset(lencodes+n, lencodes[n-1], c); - n += c; - } else if (c == 17) { - c = stbi__zreceive(a,3)+3; - memset(lencodes+n, 0, c); - n += c; - } else { - STBI_ASSERT(c == 18); - c = stbi__zreceive(a,7)+11; - memset(lencodes+n, 0, c); + else { + stbi_uc fill = 0; + if (c == 16) { + c = stbi__zreceive(a,2)+3; + if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); + fill = lencodes[n-1]; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + } else if (c == 18) { + c = stbi__zreceive(a,7)+11; + } else { + return stbi__err("bad codelengths", "Corrupt PNG"); + } + if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); + memset(lencodes+n, fill, c); n += c; } } - if (n != hlit+hdist) return stbi__err("bad codelengths","Corrupt PNG"); + if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; return 1; } -static int stbi__parse_uncomperssed_block(stbi__zbuf *a) +static int stbi__parse_uncompressed_block(stbi__zbuf *a) { stbi_uc header[4]; int len,nlen,k; @@ -3724,7 +4419,7 @@ static int stbi__parse_uncomperssed_block(stbi__zbuf *a) a->code_buffer >>= 8; a->num_bits -= 8; } - STBI_ASSERT(a->num_bits == 0); + if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); // now fill header the normal way while (k < 4) header[k++] = stbi__zget8(a); @@ -3746,6 +4441,7 @@ static int stbi__parse_zlib_header(stbi__zbuf *a) int cm = cmf & 15; /* int cinfo = cmf >> 4; */ int flg = stbi__zget8(a); + if (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png @@ -3753,9 +4449,24 @@ static int stbi__parse_zlib_header(stbi__zbuf *a) return 1; } -// @TODO: should statically initialize these for optimal thread safety -static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; -static void stbi__init_zdefaults(void) +static const stbi_uc stbi__zdefault_length[STBI__ZNSYMS] = +{ + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 +}; +static const stbi_uc stbi__zdefault_distance[32] = +{ + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +}; +/* +Init algorithm: { int i; // use <= to match clearly with spec for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; @@ -3765,6 +4476,7 @@ static void stbi__init_zdefaults(void) for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; } +*/ static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) { @@ -3773,18 +4485,18 @@ static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) if (!stbi__parse_zlib_header(a)) return 0; a->num_bits = 0; a->code_buffer = 0; + a->hit_zeof_once = 0; do { final = stbi__zreceive(a,1); type = stbi__zreceive(a,2); if (type == 0) { - if (!stbi__parse_uncomperssed_block(a)) return 0; + if (!stbi__parse_uncompressed_block(a)) return 0; } else if (type == 3) { return 0; } else { if (type == 1) { // use fixed code lengths - if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); - if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , STBI__ZNSYMS)) return 0; if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; } else { if (!stbi__compute_huffman_codes(a)) return 0; @@ -3908,7 +4620,7 @@ static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) static int stbi__check_png_header(stbi__context *s) { - static stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; int i; for (i=0; i < 8; ++i) if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); @@ -3919,6 +4631,7 @@ typedef struct { stbi__context *s; stbi_uc *idata, *expanded, *out; + int depth; } stbi__png; @@ -3928,9 +4641,8 @@ enum { STBI__F_up=2, STBI__F_avg=3, STBI__F_paeth=4, - // synthetic filters used for first scanline to avoid needing a dummy row of 0s - STBI__F_avg_first, - STBI__F_paeth_first + // synthetic filter used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first }; static stbi_uc first_row_filter[5] = @@ -3939,210 +4651,225 @@ static stbi_uc first_row_filter[5] = STBI__F_sub, STBI__F_none, STBI__F_avg_first, - STBI__F_paeth_first + STBI__F_sub // Paeth with b=c=0 turns out to be equivalent to sub }; static int stbi__paeth(int a, int b, int c) { - int p = a + b - c; - int pa = abs(p-a); - int pb = abs(p-b); - int pc = abs(p-c); - if (pa <= pb && pa <= pc) return a; - if (pb <= pc) return b; - return c; + // This formulation looks very different from the reference in the PNG spec, but is + // actually equivalent and has favorable data dependencies and admits straightforward + // generation of branch-free code, which helps performance significantly. + int thresh = c*3 - (a + b); + int lo = a < b ? a : b; + int hi = a < b ? b : a; + int t0 = (hi <= thresh) ? lo : c; + int t1 = (thresh <= lo) ? hi : t0; + return t1; } -static stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; +static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// adds an extra all-255 alpha channel +// dest == src is legal +// img_n must be 1 or 3 +static void stbi__create_png_alpha_expand8(stbi_uc *dest, stbi_uc *src, stbi__uint32 x, int img_n) +{ + int i; + // must process data backwards since we allow dest==src + if (img_n == 1) { + for (i=x-1; i >= 0; --i) { + dest[i*2+1] = 255; + dest[i*2+0] = src[i]; + } + } else { + STBI_ASSERT(img_n == 3); + for (i=x-1; i >= 0; --i) { + dest[i*4+3] = 255; + dest[i*4+2] = src[i*3+2]; + dest[i*4+1] = src[i*3+1]; + dest[i*4+0] = src[i*3+0]; + } + } +} // create the png data from post-deflated data static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) { + int bytes = (depth == 16 ? 2 : 1); stbi__context *s = a->s; - stbi__uint32 i,j,stride = x*out_n; + stbi__uint32 i,j,stride = x*out_n*bytes; stbi__uint32 img_len, img_width_bytes; + stbi_uc *filter_buf; + int all_ok = 1; int k; int img_n = s->img_n; // copy it into a local for later + int output_bytes = out_n*bytes; + int filter_bytes = img_n*bytes; + int width = x; + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc(x * y * out_n); // extra bytes to write off the end into + a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into if (!a->out) return stbi__err("outofmem", "Out of memory"); + // note: error exits here don't need to clean up a->out individually, + // stbi__do_png always does on error. + if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); img_width_bytes = (((img_n * x * depth) + 7) >> 3); + if (!stbi__mad2sizes_valid(img_width_bytes, y, img_width_bytes)) return stbi__err("too large", "Corrupt PNG"); img_len = (img_width_bytes + 1) * y; - if (s->img_x == x && s->img_y == y) { - if (raw_len != img_len) return stbi__err("not enough pixels","Corrupt PNG"); - } else { // interlaced: - if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + + // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, + // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), + // so just check for raw_len < img_len always. + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + + // Allocate two scan lines worth of filter workspace buffer. + filter_buf = (stbi_uc *) stbi__malloc_mad2(img_width_bytes, 2, 0); + if (!filter_buf) return stbi__err("outofmem", "Out of memory"); + + // Filtering for low-bit-depth images + if (depth < 8) { + filter_bytes = 1; + width = img_width_bytes; } for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *prior = cur - stride; + // cur/prior filter buffers alternate + stbi_uc *cur = filter_buf + (j & 1)*img_width_bytes; + stbi_uc *prior = filter_buf + (~j & 1)*img_width_bytes; + stbi_uc *dest = a->out + stride*j; + int nk = width * filter_bytes; int filter = *raw++; - int filter_bytes = img_n; - int width = x; - if (filter > 4) - return stbi__err("invalid filter","Corrupt PNG"); - if (depth < 8) { - STBI_ASSERT(img_width_bytes <= x); - cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place - filter_bytes = 1; - width = img_width_bytes; + // check filter type + if (filter > 4) { + all_ok = stbi__err("invalid filter","Corrupt PNG"); + break; } // if first row, use special filter that doesn't sample previous row if (j == 0) filter = first_row_filter[filter]; - // handle first byte explicitly - for (k=0; k < filter_bytes; ++k) { - switch (filter) { - case STBI__F_none : cur[k] = raw[k]; break; - case STBI__F_sub : cur[k] = raw[k]; break; - case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; - case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; - case STBI__F_avg_first : cur[k] = raw[k]; break; - case STBI__F_paeth_first: cur[k] = raw[k]; break; - } - } - - if (depth == 8) { - if (img_n != out_n) - cur[img_n] = 255; // first pixel - raw += img_n; - cur += out_n; - prior += out_n; - } else { - raw += 1; - cur += 1; - prior += 1; + // perform actual filtering + switch (filter) { + case STBI__F_none: + memcpy(cur, raw, nk); + break; + case STBI__F_sub: + memcpy(cur, raw, filter_bytes); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); + break; + case STBI__F_up: + for (k = 0; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + prior[k]); + break; + case STBI__F_avg: + for (k = 0; k < filter_bytes; ++k) + cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); + break; + case STBI__F_paeth: + for (k = 0; k < filter_bytes; ++k) + cur[k] = STBI__BYTECAST(raw[k] + prior[k]); // prior[k] == stbi__paeth(0,prior[k],0) + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes], prior[k], prior[k-filter_bytes])); + break; + case STBI__F_avg_first: + memcpy(cur, raw, filter_bytes); + for (k = filter_bytes; k < nk; ++k) + cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); + break; } - // this is a little gross, so that we don't switch per-pixel or per-component - if (depth < 8 || img_n == out_n) { - int nk = (width - 1)*img_n; - #define CASE(f) \ - case f: \ - for (k=0; k < nk; ++k) - switch (filter) { - // "none" filter turns into a memcpy here; make that explicit. - case STBI__F_none: memcpy(cur, raw, nk); break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break; - } - #undef CASE - raw += nk; - } else { - STBI_ASSERT(img_n+1 == out_n); - #define CASE(f) \ - case f: \ - for (i=x-1; i >= 1; --i, cur[img_n]=255,raw+=img_n,cur+=out_n,prior+=out_n) \ - for (k=0; k < img_n; ++k) - switch (filter) { - CASE(STBI__F_none) cur[k] = raw[k]; break; - CASE(STBI__F_sub) cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break; - CASE(STBI__F_up) cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - CASE(STBI__F_avg) cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break; - CASE(STBI__F_paeth) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break; - CASE(STBI__F_avg_first) cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break; - CASE(STBI__F_paeth_first) cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break; - } - #undef CASE - } - } + raw += nk; - // we make a separate pass to expand bits to pixels; for performance, - // this could run two scanlines behind the above code, so it won't - // intefere with filtering but will still be in the cache. - if (depth < 8) { - for (j=0; j < y; ++j) { - stbi_uc *cur = a->out + stride*j; - stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; - // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit - // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + // expand decoded bits in cur to dest, also adding an extra alpha channel if desired + if (depth < 8) { stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + stbi_uc *in = cur; + stbi_uc *out = dest; + stbi_uc inb = 0; + stbi__uint32 nsmp = x*img_n; - // note that the final byte might overshoot and write more data than desired. - // we can allocate enough data that this never writes out of memory, but it - // could also overwrite the next scanline. can it overwrite non-empty data - // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. - // so we need to explicitly clamp the final ones - + // expand bits to bytes first if (depth == 4) { - for (k=x*img_n; k >= 2; k-=2, ++in) { - *cur++ = scale * ((*in >> 4) ); - *cur++ = scale * ((*in ) & 0x0f); + for (i=0; i < nsmp; ++i) { + if ((i & 1) == 0) inb = *in++; + *out++ = scale * (inb >> 4); + inb <<= 4; } - if (k > 0) *cur++ = scale * ((*in >> 4) ); } else if (depth == 2) { - for (k=x*img_n; k >= 4; k-=4, ++in) { - *cur++ = scale * ((*in >> 6) ); - *cur++ = scale * ((*in >> 4) & 0x03); - *cur++ = scale * ((*in >> 2) & 0x03); - *cur++ = scale * ((*in ) & 0x03); + for (i=0; i < nsmp; ++i) { + if ((i & 3) == 0) inb = *in++; + *out++ = scale * (inb >> 6); + inb <<= 2; } - if (k > 0) *cur++ = scale * ((*in >> 6) ); - if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); - if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); - } else if (depth == 1) { - for (k=x*img_n; k >= 8; k-=8, ++in) { - *cur++ = scale * ((*in >> 7) ); - *cur++ = scale * ((*in >> 6) & 0x01); - *cur++ = scale * ((*in >> 5) & 0x01); - *cur++ = scale * ((*in >> 4) & 0x01); - *cur++ = scale * ((*in >> 3) & 0x01); - *cur++ = scale * ((*in >> 2) & 0x01); - *cur++ = scale * ((*in >> 1) & 0x01); - *cur++ = scale * ((*in ) & 0x01); + } else { + STBI_ASSERT(depth == 1); + for (i=0; i < nsmp; ++i) { + if ((i & 7) == 0) inb = *in++; + *out++ = scale * (inb >> 7); + inb <<= 1; } - if (k > 0) *cur++ = scale * ((*in >> 7) ); - if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); - if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); - if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); - if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); - if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); - if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); } - if (img_n != out_n) { - // insert alpha = 255 - stbi_uc *cur = a->out + stride*j; - int i; + + // insert alpha=255 values if desired + if (img_n != out_n) + stbi__create_png_alpha_expand8(dest, dest, x, img_n); + } else if (depth == 8) { + if (img_n == out_n) + memcpy(dest, cur, x*img_n); + else + stbi__create_png_alpha_expand8(dest, cur, x, img_n); + } else if (depth == 16) { + // convert the image data from big-endian to platform-native + stbi__uint16 *dest16 = (stbi__uint16*)dest; + stbi__uint32 nsmp = x*img_n; + + if (img_n == out_n) { + for (i = 0; i < nsmp; ++i, ++dest16, cur += 2) + *dest16 = (cur[0] << 8) | cur[1]; + } else { + STBI_ASSERT(img_n+1 == out_n); if (img_n == 1) { - for (i=x-1; i >= 0; --i) { - cur[i*2+1] = 255; - cur[i*2+0] = cur[i]; + for (i = 0; i < x; ++i, dest16 += 2, cur += 2) { + dest16[0] = (cur[0] << 8) | cur[1]; + dest16[1] = 0xffff; } } else { STBI_ASSERT(img_n == 3); - for (i=x-1; i >= 0; --i) { - cur[i*4+3] = 255; - cur[i*4+2] = cur[i*3+2]; - cur[i*4+1] = cur[i*3+1]; - cur[i*4+0] = cur[i*3+0]; + for (i = 0; i < x; ++i, dest16 += 4, cur += 6) { + dest16[0] = (cur[0] << 8) | cur[1]; + dest16[1] = (cur[2] << 8) | cur[3]; + dest16[2] = (cur[4] << 8) | cur[5]; + dest16[3] = 0xffff; } } } } } + STBI_FREE(filter_buf); + if (!all_ok) return 0; + return 1; } static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) { + int bytes = (depth == 16 ? 2 : 1); + int out_bytes = out_n * bytes; stbi_uc *final; int p; if (!interlaced) return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); // de-interlacing - final = (stbi_uc *) stbi__malloc(a->s->img_x * a->s->img_y * out_n); + final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); + if (!final) return stbi__err("outofmem", "Out of memory"); for (p=0; p < 7; ++p) { int xorig[] = { 0,4,0,2,0,1,0 }; int yorig[] = { 0,0,4,0,2,0,1 }; @@ -4162,8 +4889,8 @@ static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint3 for (i=0; i < x; ++i) { int out_y = j*yspc[p]+yorig[p]; int out_x = i*xspc[p]+xorig[p]; - memcpy(final + out_y*a->s->img_x*out_n + out_x*out_n, - a->out + (j*x+i)*out_n, out_n); + memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, + a->out + (j*x+i)*out_bytes, out_bytes); } } STBI_FREE(a->out); @@ -4201,12 +4928,37 @@ static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) return 1; } +static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi__uint16 *p = (stbi__uint16*) z->out; + + // compute color-based transparency, assuming we've + // already got 65535 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i = 0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 65535); + p += 2; + } + } else { + for (i = 0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) { stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; stbi_uc *p, *temp_out, *orig = a->out; - p = (stbi_uc *) stbi__malloc(pixel_count * pal_img_n); + p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); if (p == NULL) return stbi__err("outofmem", "Out of memory"); // between here and free(out) below, exitting would leak @@ -4238,19 +4990,46 @@ static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int return 1; } -static int stbi__unpremultiply_on_load = 0; -static int stbi__de_iphone_flag = 0; +static int stbi__unpremultiply_on_load_global = 0; +static int stbi__de_iphone_flag_global = 0; STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) { - stbi__unpremultiply_on_load = flag_true_if_should_unpremultiply; + stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; } STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) { - stbi__de_iphone_flag = flag_true_if_should_convert; + stbi__de_iphone_flag_global = flag_true_if_should_convert; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global +#define stbi__de_iphone_flag stbi__de_iphone_flag_global +#else +static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; +static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; + +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; + stbi__unpremultiply_on_load_set = 1; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_local = flag_true_if_should_convert; + stbi__de_iphone_flag_set = 1; } +#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ + ? stbi__unpremultiply_on_load_local \ + : stbi__unpremultiply_on_load_global) +#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ + ? stbi__de_iphone_flag_local \ + : stbi__de_iphone_flag_global) +#endif // STBI_THREAD_LOCAL + static void stbi__de_iphone(stbi__png *z) { stbi__context *s = z->s; @@ -4272,9 +5051,10 @@ static void stbi__de_iphone(stbi__png *z) stbi_uc a = p[3]; stbi_uc t = p[0]; if (a) { - p[0] = p[2] * 255 / a; - p[1] = p[1] * 255 / a; - p[2] = t * 255 / a; + stbi_uc half = a / 2; + p[0] = (p[2] * 255 + half) / a; + p[1] = (p[1] * 255 + half) / a; + p[2] = ( t * 255 + half) / a; } else { p[0] = p[2]; p[2] = t; @@ -4293,14 +5073,15 @@ static void stbi__de_iphone(stbi__png *z) } } -#define STBI__PNG_TYPE(a,b,c,d) (((a) << 24) + ((b) << 16) + ((c) << 8) + (d)) +#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) { stbi_uc palette[1024], pal_img_n=0; - stbi_uc has_trans=0, tc[3]; + stbi_uc has_trans=0, tc[3]={0}; + stbi__uint16 tc16[3]; stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; - int first=1,k,interlace=0, color=0, depth=0, is_iphone=0; + int first=1,k,interlace=0, color=0, is_iphone=0; stbi__context *s = z->s; z->expanded = NULL; @@ -4323,10 +5104,13 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); first = 0; if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); - s->img_x = stbi__get32be(s); if (s->img_x > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); - depth = stbi__get8(s); if (depth != 1 && depth != 2 && depth != 4 && depth != 8) return stbi__err("1/2/4/8-bit only","PNG not supported: 1/2/4/8-bit only"); + s->img_x = stbi__get32be(s); + s->img_y = stbi__get32be(s); + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); @@ -4335,14 +5119,13 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (!pal_img_n) { s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - if (scan == STBI__SCAN_header) return 1; } else { // if paletted, then pal_n is our final components, and // img_n is # components to decompress/filter. s->img_n = 1; if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); - // if SCAN_header, have to scan to see if we have a tRNS } + // even with SCAN_header, have to scan to see if we have a tRNS break; } @@ -4374,8 +5157,15 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); has_trans = 1; - for (k=0; k < s->img_n; ++k) - tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger + // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. + if (scan == STBI__SCAN_header) { ++s->img_n; return 1; } + if (z->depth == 16) { + for (k = 0; k < s->img_n && k < 3; ++k) // extra loop test to suppress false GCC warning + tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is + } else { + for (k = 0; k < s->img_n && k < 3; ++k) + tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger + } } break; } @@ -4383,14 +5173,22 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) case STBI__PNG_TYPE('I','D','A','T'): { if (first) return stbi__err("first not IHDR", "Corrupt PNG"); if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); - if (scan == STBI__SCAN_header) { s->img_n = pal_img_n; return 1; } + if (scan == STBI__SCAN_header) { + // header scan definitely stops at first IDAT + if (pal_img_n) + s->img_n = pal_img_n; + return 1; + } + if (c.length > (1u << 30)) return stbi__err("IDAT size limit", "IDAT section larger than 2^30 bytes"); if ((int)(ioff + c.length) < (int)ioff) return 0; if (ioff + c.length > idata_limit) { + stbi__uint32 idata_limit_old = idata_limit; stbi_uc *p; if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; while (ioff + c.length > idata_limit) idata_limit *= 2; - p = (stbi_uc *) STBI_REALLOC(z->idata, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + STBI_NOTUSED(idata_limit_old); + p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); z->idata = p; } if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); @@ -4404,7 +5202,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (scan != STBI__SCAN_load) return 1; if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); // initial guess for decoded data size to avoid unnecessary reallocs - bpl = (s->img_x * depth + 7) / 8; // bytes per line, per component + bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); if (z->expanded == NULL) return 0; // zlib should set error @@ -4413,9 +5211,14 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) s->img_out_n = s->img_n+1; else s->img_out_n = s->img_n; - if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, depth, color, interlace)) return 0; - if (has_trans) - if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; + if (has_trans) { + if (z->depth == 16) { + if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; + } else { + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + } + } if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) stbi__de_iphone(z); if (pal_img_n) { @@ -4425,8 +5228,13 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) if (req_comp >= 3) s->img_out_n = req_comp; if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) return 0; + } else if (has_trans) { + // non-paletted image with tRNS -> source image has (constant) alpha + ++s->img_n; } STBI_FREE(z->expanded); z->expanded = NULL; + // end of PNG chunk, read and skip CRC + stbi__get32be(s); return 1; } @@ -4452,21 +5260,30 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) } } -static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp) +static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) { - unsigned char *result=NULL; + void *result=NULL; if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + if (p->depth <= 8) + ri->bits_per_channel = 8; + else if (p->depth == 16) + ri->bits_per_channel = 16; + else + return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color depth"); result = p->out; p->out = NULL; if (req_comp && req_comp != p->s->img_out_n) { - result = stbi__convert_format(result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + if (ri->bits_per_channel == 8) + result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + else + result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); p->s->img_out_n = req_comp; if (result == NULL) return result; } *x = p->s->img_x; *y = p->s->img_y; - if (n) *n = p->s->img_out_n; + if (n) *n = p->s->img_n; } STBI_FREE(p->out); p->out = NULL; STBI_FREE(p->expanded); p->expanded = NULL; @@ -4475,11 +5292,11 @@ static unsigned char *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req return result; } -static unsigned char *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { stbi__png p; p.s = s; - return stbi__do_png(&p, x,y,comp,req_comp); + return stbi__do_png(&p, x,y,comp,req_comp, ri); } static int stbi__png_test(stbi__context *s) @@ -4508,6 +5325,19 @@ static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) p.s = s; return stbi__png_info_raw(&p, x, y, comp); } + +static int stbi__png_is16(stbi__context *s) +{ + stbi__png p; + p.s = s; + if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) + return 0; + if (p.depth != 16) { + stbi__rewind(p.s); + return 0; + } + return 1; +} #endif // Microsoft/Windows BMP image @@ -4541,11 +5371,11 @@ static int stbi__high_bit(unsigned int z) { int n=0; if (z == 0) return -1; - if (z >= 0x10000) n += 16, z >>= 16; - if (z >= 0x00100) n += 8, z >>= 8; - if (z >= 0x00010) n += 4, z >>= 4; - if (z >= 0x00004) n += 2, z >>= 2; - if (z >= 0x00002) n += 1, z >>= 1; + if (z >= 0x10000) { n += 16; z >>= 16; } + if (z >= 0x00100) { n += 8; z >>= 8; } + if (z >= 0x00010) { n += 4; z >>= 4; } + if (z >= 0x00004) { n += 2; z >>= 2; } + if (z >= 0x00002) { n += 1;/* >>= 1;*/ } return n; } @@ -4559,36 +5389,76 @@ static int stbi__bitcount(unsigned int a) return a & 0xff; } -static int stbi__shiftsigned(int v, int shift, int bits) +// extract an arbitrarily-aligned N-bit value (N=bits) +// from v, and then make it 8-bits long and fractionally +// extend it to full full range. +static int stbi__shiftsigned(unsigned int v, int shift, int bits) +{ + static unsigned int mul_table[9] = { + 0, + 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, + 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, + }; + static unsigned int shift_table[9] = { + 0, 0,0,1,0,2,4,6,0, + }; + if (shift < 0) + v <<= -shift; + else + v >>= shift; + STBI_ASSERT(v < 256); + v >>= (8-bits); + STBI_ASSERT(bits >= 0 && bits <= 8); + return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; +} + +typedef struct { - int result; - int z=0; + int bpp, offset, hsz; + unsigned int mr,mg,mb,ma, all_a; + int extra_read; +} stbi__bmp_data; - if (shift < 0) v <<= -shift; - else v >>= shift; - result = v; +static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) +{ + // BI_BITFIELDS specifies masks explicitly, don't override + if (compress == 3) + return 1; - z = bits; - while (z < 8) { - result += v >> z; - z += bits; + if (compress == 0) { + if (info->bpp == 16) { + info->mr = 31u << 10; + info->mg = 31u << 5; + info->mb = 31u << 0; + } else if (info->bpp == 32) { + info->mr = 0xffu << 16; + info->mg = 0xffu << 8; + info->mb = 0xffu << 0; + info->ma = 0xffu << 24; + info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 + } else { + // otherwise, use defaults, which is all-0 + info->mr = info->mg = info->mb = info->ma = 0; + } + return 1; } - return result; + return 0; // error } -static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) { - stbi_uc *out; - unsigned int mr=0,mg=0,mb=0,ma=0, fake_a=0; - stbi_uc pal[256][4]; - int psize=0,i,j,compress=0,width; - int bpp, flip_vertically, pad, target, offset, hsz; + int hsz; if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); stbi__get32le(s); // discard filesize stbi__get16le(s); // discard reserved stbi__get16le(s); // discard reserved - offset = stbi__get32le(s); - hsz = stbi__get32le(s); + info->offset = stbi__get32le(s); + info->hsz = hsz = stbi__get32le(s); + info->mr = info->mg = info->mb = info->ma = 0; + info->extra_read = 14; + + if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); if (hsz == 12) { s->img_x = stbi__get16le(s); @@ -4598,16 +5468,12 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int s->img_y = stbi__get32le(s); } if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); - bpp = stbi__get16le(s); - if (bpp == 1) return stbi__errpuc("monochrome", "BMP type not supported: 1-bit"); - flip_vertically = ((int) s->img_y) > 0; - s->img_y = abs((int) s->img_y); - if (hsz == 12) { - if (bpp < 24) - psize = (offset - 14 - 24) / 3; - } else { - compress = stbi__get32le(s); + info->bpp = stbi__get16le(s); + if (hsz != 12) { + int compress = stbi__get32le(s); if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes + if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel stbi__get32le(s); // discard sizeof stbi__get32le(s); // discard hres stbi__get32le(s); // discard vres @@ -4620,27 +5486,16 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int stbi__get32le(s); stbi__get32le(s); } - if (bpp == 16 || bpp == 32) { - mr = mg = mb = 0; + if (info->bpp == 16 || info->bpp == 32) { if (compress == 0) { - if (bpp == 32) { - mr = 0xffu << 16; - mg = 0xffu << 8; - mb = 0xffu << 0; - ma = 0xffu << 24; - fake_a = 1; // @TODO: check for cases like alpha value is all 0 and switch it to 255 - STBI_NOTUSED(fake_a); - } else { - mr = 31u << 10; - mg = 31u << 5; - mb = 31u << 0; - } + stbi__bmp_set_mask_defaults(info, compress); } else if (compress == 3) { - mr = stbi__get32le(s); - mg = stbi__get32le(s); - mb = stbi__get32le(s); + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->extra_read += 12; // not documented, but generated by photoshop and handled by mspaint - if (mr == mg && mg == mb) { + if (info->mr == info->mg && info->mg == info->mb) { // ?!?!? return stbi__errpuc("bad BMP", "bad BMP"); } @@ -4648,11 +5503,16 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int return stbi__errpuc("bad BMP", "bad BMP"); } } else { - STBI_ASSERT(hsz == 108 || hsz == 124); - mr = stbi__get32le(s); - mg = stbi__get32le(s); - mb = stbi__get32le(s); - ma = stbi__get32le(s); + // V4/V5 header + int i; + if (hsz != 108 && hsz != 124) + return stbi__errpuc("bad BMP", "bad BMP"); + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->ma = stbi__get32le(s); + if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs + stbi__bmp_set_mask_defaults(info, compress); stbi__get32le(s); // discard color space for (i=0; i < 12; ++i) stbi__get32le(s); // discard color space parameters @@ -4663,63 +5523,146 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int stbi__get32le(s); // discard reserved } } - if (bpp < 16) - psize = (offset - 14 - hsz) >> 2; } - s->img_n = ma ? 4 : 3; + return (void *) 1; +} + + +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, all_a; + stbi_uc pal[256][4]; + int psize=0,i,j,width; + int flip_vertically, pad, target; + stbi__bmp_data info; + STBI_NOTUSED(ri); + + info.all_a = 255; + if (stbi__bmp_parse_header(s, &info) == NULL) + return NULL; // error code already set + + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + mr = info.mr; + mg = info.mg; + mb = info.mb; + ma = info.ma; + all_a = info.all_a; + + if (info.hsz == 12) { + if (info.bpp < 24) + psize = (info.offset - info.extra_read - 24) / 3; + } else { + if (info.bpp < 16) + psize = (info.offset - info.extra_read - info.hsz) >> 2; + } + if (psize == 0) { + // accept some number of extra bytes after the header, but if the offset points either to before + // the header ends or implies a large amount of extra data, reject the file as malformed + int bytes_read_so_far = s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); + int header_limit = 1024; // max we actually read is below 256 bytes currently. + int extra_data_limit = 256*4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. + if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { + return stbi__errpuc("bad header", "Corrupt BMP"); + } + // we established that bytes_read_so_far is positive and sensible. + // the first half of this test rejects offsets that are either too small positives, or + // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn + // ensures the number computed in the second half of the test can't overflow. + if (info.offset < bytes_read_so_far || info.offset - bytes_read_so_far > extra_data_limit) { + return stbi__errpuc("bad offset", "Corrupt BMP"); + } else { + stbi__skip(s, info.offset - bytes_read_so_far); + } + } + + if (info.bpp == 24 && ma == 0xff000000) + s->img_n = 3; + else + s->img_n = ma ? 4 : 3; if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 target = req_comp; else target = s->img_n; // if they want monochrome, we'll post-convert - out = (stbi_uc *) stbi__malloc(target * s->img_x * s->img_y); + + // sanity-check size + if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) + return stbi__errpuc("too large", "Corrupt BMP"); + + out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (bpp < 16) { + if (info.bpp < 16) { int z=0; if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } for (i=0; i < psize; ++i) { pal[i][2] = stbi__get8(s); pal[i][1] = stbi__get8(s); pal[i][0] = stbi__get8(s); - if (hsz != 12) stbi__get8(s); + if (info.hsz != 12) stbi__get8(s); pal[i][3] = 255; } - stbi__skip(s, offset - 14 - hsz - psize * (hsz == 12 ? 3 : 4)); - if (bpp == 4) width = (s->img_x + 1) >> 1; - else if (bpp == 8) width = s->img_x; + stbi__skip(s, info.offset - info.extra_read - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); + if (info.bpp == 1) width = (s->img_x + 7) >> 3; + else if (info.bpp == 4) width = (s->img_x + 1) >> 1; + else if (info.bpp == 8) width = s->img_x; else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } pad = (-width)&3; - for (j=0; j < (int) s->img_y; ++j) { - for (i=0; i < (int) s->img_x; i += 2) { - int v=stbi__get8(s),v2=0; - if (bpp == 4) { - v2 = v & 15; - v >>= 4; + if (info.bpp == 1) { + for (j=0; j < (int) s->img_y; ++j) { + int bit_offset = 7, v = stbi__get8(s); + for (i=0; i < (int) s->img_x; ++i) { + int color = (v>>bit_offset)&0x1; + out[z++] = pal[color][0]; + out[z++] = pal[color][1]; + out[z++] = pal[color][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + if((--bit_offset) < 0) { + bit_offset = 7; + v = stbi__get8(s); + } } - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - v = (bpp == 8) ? stbi__get8(s) : v2; - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; + stbi__skip(s, pad); + } + } else { + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (info.bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (info.bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); } - stbi__skip(s, pad); } } else { int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; int z = 0; int easy=0; - stbi__skip(s, offset - 14 - hsz); - if (bpp == 24) width = 3 * s->img_x; - else if (bpp == 16) width = 2*s->img_x; + stbi__skip(s, info.offset - info.extra_read - info.hsz); + if (info.bpp == 24) width = 3 * s->img_x; + else if (info.bpp == 16) width = 2*s->img_x; else /* bpp = 32 and pad = 0 */ width=0; pad = (-width) & 3; - if (bpp == 24) { + if (info.bpp == 24) { easy = 1; - } else if (bpp == 32) { + } else if (info.bpp == 32) { if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) easy = 2; } @@ -4730,6 +5673,7 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } } for (j=0; j < (int) s->img_y; ++j) { if (easy) { @@ -4740,29 +5684,38 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int out[z+0] = stbi__get8(s); z += 3; a = (easy == 2 ? stbi__get8(s) : 255); + all_a |= a; if (target == 4) out[z++] = a; } } else { + int bpp = info.bpp; for (i=0; i < (int) s->img_x; ++i) { stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); - int a; + unsigned int a; out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + all_a |= a; if (target == 4) out[z++] = STBI__BYTECAST(a); } } stbi__skip(s, pad); } } + + // if alpha channel is all 0s, replace with all 255s + if (target == 4 && all_a == 0) + for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) + out[i] = 255; + if (flip_vertically) { stbi_uc t; for (j=0; j < (int) s->img_y>>1; ++j) { stbi_uc *p1 = out + j *s->img_x*target; stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; for (i=0; i < (int) s->img_x*target; ++i) { - t = p1[i], p1[i] = p2[i], p2[i] = t; + t = p1[i]; p1[i] = p2[i]; p2[i] = t; } } } @@ -4782,20 +5735,55 @@ static stbi_uc *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int // Targa Truevision - TGA // by Jonathan Dummer #ifndef STBI_NO_TGA +// returns STBI_rgb or whatever, 0 on error +static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) +{ + // only RGB or RGBA (incl. 16bit) or grey allowed + if (is_rgb16) *is_rgb16 = 0; + switch(bits_per_pixel) { + case 8: return STBI_grey; + case 16: if(is_grey) return STBI_grey_alpha; + // fallthrough + case 15: if(is_rgb16) *is_rgb16 = 1; + return STBI_rgb; + case 24: // fallthrough + case 32: return bits_per_pixel/8; + default: return 0; + } +} + static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) { - int tga_w, tga_h, tga_comp; - int sz; + int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; + int sz, tga_colormap_type; stbi__get8(s); // discard Offset - sz = stbi__get8(s); // color type - if( sz > 1 ) { + tga_colormap_type = stbi__get8(s); // colormap type + if( tga_colormap_type > 1 ) { stbi__rewind(s); return 0; // only RGB or indexed allowed } - sz = stbi__get8(s); // image type - // only RGB or grey allowed, +/- RLE - if ((sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11)) return 0; - stbi__skip(s,9); + tga_image_type = stbi__get8(s); // image type + if ( tga_colormap_type == 1 ) { // colormapped (paletted) image + if (tga_image_type != 1 && tga_image_type != 9) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip image x and y origin + tga_colormap_bpp = sz; + } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE + if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { + stbi__rewind(s); + return 0; // only RGB or grey allowed, +/- RLE + } + stbi__skip(s,9); // skip colormap specification and image x/y origin + tga_colormap_bpp = 0; + } tga_w = stbi__get16le(s); if( tga_w < 1 ) { stbi__rewind(s); @@ -4806,45 +5794,81 @@ static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) stbi__rewind(s); return 0; // test height } - sz = stbi__get8(s); // bits per pixel - // only RGB or RGBA or grey allowed - if ((sz != 8) && (sz != 16) && (sz != 24) && (sz != 32)) { - stbi__rewind(s); - return 0; + tga_bits_per_pixel = stbi__get8(s); // bits per pixel + stbi__get8(s); // ignore alpha bits + if (tga_colormap_bpp != 0) { + if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { + // when using a colormap, tga_bits_per_pixel is the size of the indexes + // I don't think anything but 8 or 16bit indexes makes sense + stbi__rewind(s); + return 0; + } + tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); + } else { + tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); + } + if(!tga_comp) { + stbi__rewind(s); + return 0; } - tga_comp = sz; if (x) *x = tga_w; if (y) *y = tga_h; - if (comp) *comp = tga_comp / 8; + if (comp) *comp = tga_comp; return 1; // seems to have passed everything } static int stbi__tga_test(stbi__context *s) { - int res; - int sz; + int res = 0; + int sz, tga_color_type; stbi__get8(s); // discard Offset - sz = stbi__get8(s); // color type - if ( sz > 1 ) return 0; // only RGB or indexed allowed + tga_color_type = stbi__get8(s); // color type + if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed sz = stbi__get8(s); // image type - if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0; // only RGB or grey allowed, +/- RLE - stbi__get16be(s); // discard palette start - stbi__get16be(s); // discard palette length - stbi__get8(s); // discard bits per palette color entry - stbi__get16be(s); // discard x origin - stbi__get16be(s); // discard y origin - if ( stbi__get16be(s) < 1 ) return 0; // test width - if ( stbi__get16be(s) < 1 ) return 0; // test height + if ( tga_color_type == 1 ) { // colormapped (paletted) image + if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + stbi__skip(s,4); // skip image x and y origin + } else { // "normal" image w/o colormap + if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE + stbi__skip(s,9); // skip colormap specification and image x/y origin + } + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height sz = stbi__get8(s); // bits per pixel - if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) ) - res = 0; - else - res = 1; + if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + + res = 1; // if we got this far, everything's good and we can return 1 instead of 0 + +errorEnd: stbi__rewind(s); return res; } -static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +// read 16bit value and convert to 24bit RGB +static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) +{ + stbi__uint16 px = (stbi__uint16)stbi__get16le(s); + stbi__uint16 fiveBitMask = 31; + // we have 3 channels with 5bits each + int r = (px >> 10) & fiveBitMask; + int g = (px >> 5) & fiveBitMask; + int b = px & fiveBitMask; + // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later + out[0] = (stbi_uc)((r * 255)/31); + out[1] = (stbi_uc)((g * 255)/31); + out[2] = (stbi_uc)((b * 255)/31); + + // some people claim that the most significant bit might be used for alpha + // (possibly if an alpha-bit is set in the "image descriptor byte") + // but that only made 16bit test images completely translucent.. + // so let's treat all 15 and 16bit TGAs as RGB with no alpha. +} + +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { // read in the TGA header stuff int tga_offset = stbi__get8(s); @@ -4859,16 +5883,23 @@ static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int int tga_width = stbi__get16le(s); int tga_height = stbi__get16le(s); int tga_bits_per_pixel = stbi__get8(s); - int tga_comp = tga_bits_per_pixel / 8; + int tga_comp, tga_rgb16=0; int tga_inverted = stbi__get8(s); + // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) // image data unsigned char *tga_data; unsigned char *tga_palette = NULL; int i, j; - unsigned char raw_data[4]; + unsigned char raw_data[4] = {0}; int RLE_count = 0; int RLE_repeating = 0; int read_next_pixel = 1; + STBI_NOTUSED(ri); + STBI_NOTUSED(tga_x_origin); // @TODO + STBI_NOTUSED(tga_y_origin); // @TODO + + if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); // do a tiny bit of precessing if ( tga_image_type >= 8 ) @@ -4876,59 +5907,63 @@ static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int tga_image_type -= 8; tga_is_RLE = 1; } - /* int tga_alpha_bits = tga_inverted & 15; */ tga_inverted = 1 - ((tga_inverted >> 5) & 1); - // error check - if ( //(tga_indexed) || - (tga_width < 1) || (tga_height < 1) || - (tga_image_type < 1) || (tga_image_type > 3) || - ((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16) && - (tga_bits_per_pixel != 24) && (tga_bits_per_pixel != 32)) - ) - { - return NULL; // we don't report this as a bad TGA because we don't even know if it's TGA - } - // If I'm paletted, then I'll use the number of bits from the palette - if ( tga_indexed ) - { - tga_comp = tga_palette_bits / 8; - } + if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); + else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); + + if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency + return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); // tga info *x = tga_width; *y = tga_height; if (comp) *comp = tga_comp; - tga_data = (unsigned char*)stbi__malloc( (size_t)tga_width * tga_height * tga_comp ); + if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) + return stbi__errpuc("too large", "Corrupt TGA"); + + tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); // skip to the data's starting position (offset usually = 0) stbi__skip(s, tga_offset ); - if ( !tga_indexed && !tga_is_RLE) { + if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { for (i=0; i < tga_height; ++i) { - int y = tga_inverted ? tga_height -i - 1 : i; - stbi_uc *tga_row = tga_data + y*tga_width*tga_comp; + int row = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; stbi__getn(s, tga_row, tga_width * tga_comp); } } else { // do I need to load a palette? if ( tga_indexed) { + if (tga_palette_len == 0) { /* you have to have at least one entry! */ + STBI_FREE(tga_data); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + // any data to skip? (offset usually = 0) stbi__skip(s, tga_palette_start ); // load the palette - tga_palette = (unsigned char*)stbi__malloc( tga_palette_len * tga_palette_bits / 8 ); + tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); if (!tga_palette) { STBI_FREE(tga_data); return stbi__errpuc("outofmem", "Out of memory"); } - if (!stbi__getn(s, tga_palette, tga_palette_len * tga_palette_bits / 8 )) { - STBI_FREE(tga_data); - STBI_FREE(tga_palette); - return stbi__errpuc("bad palette", "Corrupt TGA"); + if (tga_rgb16) { + stbi_uc *pal_entry = tga_palette; + STBI_ASSERT(tga_comp == STBI_rgb); + for (i=0; i < tga_palette_len; ++i) { + stbi__tga_read_rgb16(s, pal_entry); + pal_entry += tga_comp; + } + } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); } } // load the data @@ -4958,23 +5993,22 @@ static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int // load however much data we did have if ( tga_indexed ) { - // read in 1 byte, then perform the lookup - int pal_idx = stbi__get8(s); - if ( pal_idx >= tga_palette_len ) - { - // invalid index + // read in index, then perform the lookup + int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); + if ( pal_idx >= tga_palette_len ) { + // invalid index pal_idx = 0; } - pal_idx *= tga_bits_per_pixel / 8; - for (j = 0; j*8 < tga_bits_per_pixel; ++j) - { + pal_idx *= tga_comp; + for (j = 0; j < tga_comp; ++j) { raw_data[j] = tga_palette[pal_idx+j]; } - } else - { + } else if(tga_rgb16) { + STBI_ASSERT(tga_comp == STBI_rgb); + stbi__tga_read_rgb16(s, raw_data); + } else { // read in the data raw - for (j = 0; j*8 < tga_bits_per_pixel; ++j) - { + for (j = 0; j < tga_comp; ++j) { raw_data[j] = stbi__get8(s); } } @@ -5013,8 +6047,8 @@ static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int } } - // swap RGB - if (tga_comp >= 3) + // swap RGB - if the source data was RGB16, it already is in the right order + if (tga_comp >= 3 && !tga_rgb16) { unsigned char* tga_pixel = tga_data; for (i=0; i < tga_width * tga_height; ++i) @@ -5034,6 +6068,7 @@ static stbi_uc *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int // Microsoft's C compilers happy... [8^( tga_palette_start = tga_palette_len = tga_palette_bits = tga_x_origin = tga_y_origin = 0; + STBI_NOTUSED(tga_palette_start); // OK, done return tga_data; } @@ -5050,13 +6085,53 @@ static int stbi__psd_test(stbi__context *s) return r; } -static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) +{ + int count, nleft, len; + + count = 0; + while ((nleft = pixelCount - count) > 0) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + if (len > nleft) return 0; // corrupt data + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len = 257 - len; + if (len > nleft) return 0; // corrupt data + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + + return 1; +} + +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) { - int pixelCount; + int pixelCount; int channelCount, compression; - int channel, i, count, len; + int channel, i; + int bitdepth; int w,h; stbi_uc *out; + STBI_NOTUSED(ri); // Check identifier if (stbi__get32be(s) != 0x38425053) // "8BPS" @@ -5078,9 +6153,13 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int h = stbi__get32be(s); w = stbi__get32be(s); + if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + // Make sure the depth is 8 bits. - if (stbi__get16be(s) != 8) - return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 bit"); + bitdepth = stbi__get16be(s); + if (bitdepth != 8 && bitdepth != 16) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); // Make sure the color mode is RGB. // Valid options are: @@ -5112,8 +6191,18 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int if (compression > 1) return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + // Check size + if (!stbi__mad3sizes_valid(4, w, h, 0)) + return stbi__errpuc("too large", "Corrupt PSD"); + // Create the destination image. - out = (stbi_uc *) stbi__malloc(4 * w*h); + + if (!compression && bitdepth == 16 && bpc == 16) { + out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); + ri->bits_per_channel = 16; + } else + out = (stbi_uc *) stbi__malloc(4 * w*h); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); pixelCount = w*h; @@ -5130,7 +6219,7 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int // Else if n is 128, noop. // Endloop - // The RLE-compressed data is preceeded by a 2-byte data count for each row in the data, + // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, // which we're going to just skip. stbi__skip(s, h * channelCount * 2 ); @@ -5145,61 +6234,86 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int *p = (channel == 3 ? 255 : 0); } else { // Read the RLE data. - count = 0; - while (count < pixelCount) { - len = stbi__get8(s); - if (len == 128) { - // No-op. - } else if (len < 128) { - // Copy next len+1 bytes literally. - len++; - count += len; - while (len) { - *p = stbi__get8(s); - p += 4; - len--; - } - } else if (len > 128) { - stbi_uc val; - // Next -len+1 bytes in the dest are replicated from next source byte. - // (Interpret len as a negative 8-bit int.) - len ^= 0x0FF; - len += 2; - val = stbi__get8(s); - count += len; - while (len) { - *p = val; - p += 4; - len--; - } - } + if (!stbi__psd_decode_rle(s, p, pixelCount)) { + STBI_FREE(out); + return stbi__errpuc("corrupt", "bad RLE data"); } } } } else { // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) - // where each channel consists of an 8-bit value for each pixel in the image. + // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. // Read the data by channel. for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out + channel; - if (channel > channelCount) { + if (channel >= channelCount) { // Fill this channel with default data. - for (i = 0; i < pixelCount; i++, p += 4) - *p = channel == 3 ? 255 : 0; + if (bitdepth == 16 && bpc == 16) { + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + stbi__uint16 val = channel == 3 ? 65535 : 0; + for (i = 0; i < pixelCount; i++, q += 4) + *q = val; + } else { + stbi_uc *p = out+channel; + stbi_uc val = channel == 3 ? 255 : 0; + for (i = 0; i < pixelCount; i++, p += 4) + *p = val; + } } else { - // Read the data. - for (i = 0; i < pixelCount; i++, p += 4) - *p = stbi__get8(s); + if (ri->bits_per_channel == 16) { // output bpc + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + for (i = 0; i < pixelCount; i++, q += 4) + *q = (stbi__uint16) stbi__get16be(s); + } else { + stbi_uc *p = out+channel; + if (bitdepth == 16) { // input bpc + for (i = 0; i < pixelCount; i++, p += 4) + *p = (stbi_uc) (stbi__get16be(s) >> 8); + } else { + for (i = 0; i < pixelCount; i++, p += 4) + *p = stbi__get8(s); + } + } + } + } + } + + // remove weird white matte from PSD + if (channelCount >= 4) { + if (ri->bits_per_channel == 16) { + for (i=0; i < w*h; ++i) { + stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; + if (pixel[3] != 0 && pixel[3] != 65535) { + float a = pixel[3] / 65535.0f; + float ra = 1.0f / a; + float inv_a = 65535.0f * (1 - ra); + pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); + pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); + pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); + } + } + } else { + for (i=0; i < w*h; ++i) { + unsigned char *pixel = out + 4*i; + if (pixel[3] != 0 && pixel[3] != 255) { + float a = pixel[3] / 255.0f; + float ra = 1.0f / a; + float inv_a = 255.0f * (1 - ra); + pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); + pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); + pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); + } } } } + // convert to desired output format if (req_comp && req_comp != 4) { - out = stbi__convert_format(out, 4, req_comp, w, h); + if (ri->bits_per_channel == 16) + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); + else + out = stbi__convert_format(out, 4, req_comp, w, h); if (out == NULL) return out; // stbi__convert_format frees input on failure } @@ -5351,7 +6465,6 @@ static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *c if (count >= 128) { // Repeated stbi_uc value[4]; - int i; if (count==128) count = stbi__get16be(s); @@ -5384,25 +6497,33 @@ static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *c return result; } -static stbi_uc *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp) +static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) { stbi_uc *result; - int i, x,y; + int i, x,y, internal_comp; + STBI_NOTUSED(ri); + + if (!comp) comp = &internal_comp; for (i=0; i<92; ++i) stbi__get8(s); x = stbi__get16be(s); y = stbi__get16be(s); + + if (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); - if ((1 << 28) / x < y) return stbi__errpuc("too large", "Image too large to decode"); + if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); stbi__get32be(s); //skip `ratio' stbi__get16be(s); //skip `fields' stbi__get16be(s); //skip `pad' // intermediate buffer is RGBA - result = (stbi_uc *) stbi__malloc(x*y*4); + result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); + if (!result) return stbi__errpuc("outofmem", "Out of memory"); memset(result, 0xff, x*y*4); if (!stbi__pic_load_core(s,x,y,comp, result)) { @@ -5440,10 +6561,12 @@ typedef struct { int w,h; stbi_uc *out; // output buffer (always 4 components) + stbi_uc *background; // The current "background" as far as a gif is concerned + stbi_uc *history; int flags, bgindex, ratio, transparent, eflags; stbi_uc pal[256][4]; stbi_uc lpal[256][4]; - stbi__gif_lzw codes[4096]; + stbi__gif_lzw codes[8192]; stbi_uc *color_table; int parse, step; int lflags; @@ -5451,6 +6574,7 @@ typedef struct int max_x, max_y; int cur_x, cur_y; int line_size; + int delay; } stbi__gif; static int stbi__gif_test_raw(stbi__context *s) @@ -5499,6 +6623,9 @@ static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_in g->ratio = stbi__get8(s); g->transparent = -1; + if (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments if (is_info) return 1; @@ -5511,19 +6638,23 @@ static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_in static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) { - stbi__gif g; - if (!stbi__gif_header(s, &g, comp, 1)) { + stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); + if (!g) return stbi__err("outofmem", "Out of memory"); + if (!stbi__gif_header(s, g, comp, 1)) { + STBI_FREE(g); stbi__rewind( s ); return 0; } - if (x) *x = g.w; - if (y) *y = g.h; + if (x) *x = g->w; + if (y) *y = g->h; + STBI_FREE(g); return 1; } static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) { stbi_uc *p, *c; + int idx; // recurse to decode the prefixes, since the linked-list is backwards, // and working backwards through an interleaved image would be nasty @@ -5532,10 +6663,12 @@ static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) if (g->cur_y >= g->max_y) return; - p = &g->out[g->cur_x + g->cur_y]; - c = &g->color_table[g->codes[code].suffix * 4]; + idx = g->cur_x + g->cur_y; + p = &g->out[idx]; + g->history[idx / 4] = 1; - if (c[3] >= 128) { + c = &g->color_table[g->codes[code].suffix * 4]; + if (c[3] > 128) { // don't render transparent pixels; p[0] = c[2]; p[1] = c[1]; p[2] = c[0]; @@ -5558,7 +6691,7 @@ static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) { stbi_uc lzw_cs; - stbi__int32 len, code; + stbi__int32 len, init_code; stbi__uint32 first; stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; stbi__gif_lzw *p; @@ -5571,10 +6704,10 @@ static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) codemask = (1 << codesize) - 1; bits = 0; valid_bits = 0; - for (code = 0; code < clear; code++) { - g->codes[code].prefix = -1; - g->codes[code].first = (stbi_uc) code; - g->codes[code].suffix = (stbi_uc) code; + for (init_code = 0; init_code < clear; init_code++) { + g->codes[init_code].prefix = -1; + g->codes[init_code].first = (stbi_uc) init_code; + g->codes[init_code].suffix = (stbi_uc) init_code; } // support no starting clear code @@ -5609,11 +6742,16 @@ static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) stbi__skip(s,len); return g->out; } else if (code <= avail) { - if (first) return stbi__errpuc("no clear code", "Corrupt GIF"); + if (first) { + return stbi__errpuc("no clear code", "Corrupt GIF"); + } if (oldcode >= 0) { p = &g->codes[avail++]; - if (avail > 4096) return stbi__errpuc("too many codes", "Corrupt GIF"); + if (avail > 8192) { + return stbi__errpuc("too many codes", "Corrupt GIF"); + } + p->prefix = (stbi__int16) oldcode; p->first = g->codes[oldcode].first; p->suffix = (code == avail) ? p->first : g->codes[code].first; @@ -5635,43 +6773,75 @@ static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) } } -static void stbi__fill_gif_background(stbi__gif *g) -{ - int i; - stbi_uc *c = g->pal[g->bgindex]; - // @OPTIMIZE: write a dword at a time - for (i = 0; i < g->w * g->h * 4; i += 4) { - stbi_uc *p = &g->out[i]; - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } -} - // this function is designed to support animated gifs, although stb_image doesn't support it -static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp) +// two back is the image from two frames ago, used for a very specific disposal format +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) { - int i; - stbi_uc *old_out = 0; + int dispose; + int first_frame; + int pi; + int pcount; + STBI_NOTUSED(req_comp); + // on first frame, any non-written pixels get the background colour (non-transparent) + first_frame = 0; if (g->out == 0) { - if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header - g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); - stbi__fill_gif_background(g); + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) + return stbi__errpuc("too large", "GIF image is too large"); + pcount = g->w * g->h; + g->out = (stbi_uc *) stbi__malloc(4 * pcount); + g->background = (stbi_uc *) stbi__malloc(4 * pcount); + g->history = (stbi_uc *) stbi__malloc(pcount); + if (!g->out || !g->background || !g->history) + return stbi__errpuc("outofmem", "Out of memory"); + + // image is treated as "transparent" at the start - ie, nothing overwrites the current background; + // background colour is only used for pixels that are not rendered first frame, after that "background" + // color refers to the color that was there the previous frame. + memset(g->out, 0x00, 4 * pcount); + memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) + memset(g->history, 0x00, pcount); // pixels that were affected previous frame + first_frame = 1; } else { - // animated-gif-only path - if (((g->eflags & 0x1C) >> 2) == 3) { - old_out = g->out; - g->out = (stbi_uc *) stbi__malloc(4 * g->w * g->h); - if (g->out == 0) return stbi__errpuc("outofmem", "Out of memory"); - memcpy(g->out, old_out, g->w*g->h*4); + // second frame - how do we dispose of the previous one? + dispose = (g->eflags & 0x1C) >> 2; + pcount = g->w * g->h; + + if ((dispose == 3) && (two_back == 0)) { + dispose = 2; // if I don't have an image to revert back to, default to the old background + } + + if (dispose == 3) { // use previous graphic + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); + } + } + } else if (dispose == 2) { + // restore what was changed last frame to background before that frame; + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); + } + } + } else { + // This is a non-disposal case eithe way, so just + // leave the pixels as is, and they will become the new background + // 1: do not dispose + // 0: not specified. } + + // background is what out is after the undoing of the previou frame; + memcpy( g->background, g->out, 4 * g->w * g->h ); } + // clear my history; + memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame + for (;;) { - switch (stbi__get8(s)) { + int tag = stbi__get8(s); + switch (tag) { case 0x2C: /* Image Descriptor */ { stbi__int32 x, y, w, h; @@ -5692,6 +6862,13 @@ static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, i g->cur_x = g->start_x; g->cur_y = g->start_y; + // if the width of the specified rectangle is 0, that means + // we may not see *any* pixels or the image is malformed; + // to make sure this is caught, move the current y down to + // max_y (which is what out_gif_code checks). + if (w == 0) + g->cur_y = g->max_y; + g->lflags = stbi__get8(s); if (g->lflags & 0x40) { @@ -5706,38 +6883,60 @@ static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, i stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); g->color_table = (stbi_uc *) g->lpal; } else if (g->flags & 0x80) { - for (i=0; i < 256; ++i) // @OPTIMIZE: stbi__jpeg_reset only the previous transparent - g->pal[i][3] = 255; - if (g->transparent >= 0 && (g->eflags & 0x01)) - g->pal[g->transparent][3] = 0; g->color_table = (stbi_uc *) g->pal; } else return stbi__errpuc("missing color table", "Corrupt GIF"); o = stbi__process_gif_raster(s, g); - if (o == NULL) return NULL; + if (!o) return NULL; + + // if this was the first frame, + pcount = g->w * g->h; + if (first_frame && (g->bgindex > 0)) { + // if first frame, any pixel not drawn to gets the background color + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi] == 0) { + g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; + memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); + } + } + } - if (req_comp && req_comp != 4) - o = stbi__convert_format(o, 4, req_comp, g->w, g->h); return o; } case 0x21: // Comment Extension. { int len; - if (stbi__get8(s) == 0xF9) { // Graphic Control Extension. + int ext = stbi__get8(s); + if (ext == 0xF9) { // Graphic Control Extension. len = stbi__get8(s); if (len == 4) { g->eflags = stbi__get8(s); - stbi__get16le(s); // delay - g->transparent = stbi__get8(s); + g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. + + // unset old transparent + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 255; + } + if (g->eflags & 0x01) { + g->transparent = stbi__get8(s); + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 0; + } + } else { + // don't need transparent + stbi__skip(s, 1); + g->transparent = -1; + } } else { stbi__skip(s, len); break; } } - while ((len = stbi__get8(s)) != 0) + while ((len = stbi__get8(s)) != 0) { stbi__skip(s, len); + } break; } @@ -5750,19 +6949,128 @@ static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, i } } -static stbi_uc *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static void *stbi__load_gif_main_outofmem(stbi__gif *g, stbi_uc *out, int **delays) +{ + STBI_FREE(g->out); + STBI_FREE(g->history); + STBI_FREE(g->background); + + if (out) STBI_FREE(out); + if (delays && *delays) STBI_FREE(*delays); + return stbi__errpuc("outofmem", "Out of memory"); +} + +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + if (stbi__gif_test(s)) { + int layers = 0; + stbi_uc *u = 0; + stbi_uc *out = 0; + stbi_uc *two_back = 0; + stbi__gif g; + int stride; + int out_size = 0; + int delays_size = 0; + + STBI_NOTUSED(out_size); + STBI_NOTUSED(delays_size); + + memset(&g, 0, sizeof(g)); + if (delays) { + *delays = 0; + } + + do { + u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + + if (u) { + *x = g.w; + *y = g.h; + ++layers; + stride = g.w * g.h * 4; + + if (out) { + void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); + if (!tmp) + return stbi__load_gif_main_outofmem(&g, out, delays); + else { + out = (stbi_uc*) tmp; + out_size = layers * stride; + } + + if (delays) { + int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); + if (!new_delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + *delays = new_delays; + delays_size = layers * sizeof(int); + } + } else { + out = (stbi_uc*)stbi__malloc( layers * stride ); + if (!out) + return stbi__load_gif_main_outofmem(&g, out, delays); + out_size = layers * stride; + if (delays) { + *delays = (int*) stbi__malloc( layers * sizeof(int) ); + if (!*delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + delays_size = layers * sizeof(int); + } + } + memcpy( out + ((layers - 1) * stride), u, stride ); + if (layers >= 2) { + two_back = out - 2 * stride; + } + + if (delays) { + (*delays)[layers - 1U] = g.delay; + } + } + } while (u != 0); + + // free temp buffer; + STBI_FREE(g.out); + STBI_FREE(g.history); + STBI_FREE(g.background); + + // do the final conversion after loading everything; + if (req_comp && req_comp != 4) + out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); + + *z = layers; + return out; + } else { + return stbi__errpuc("not GIF", "Image was not as a gif type."); + } +} + +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { stbi_uc *u = 0; stbi__gif g; memset(&g, 0, sizeof(g)); + STBI_NOTUSED(ri); - u = stbi__gif_load_next(s, &g, comp, req_comp); + u = stbi__gif_load_next(s, &g, comp, req_comp, 0); if (u == (stbi_uc *) s) u = 0; // end of animated gif marker if (u) { *x = g.w; *y = g.h; + + // moved conversion to after successful load so that the same + // can be done for multiple frames. + if (req_comp && req_comp != 4) + u = stbi__convert_format(u, 4, req_comp, g.w, g.h); + } else if (g.out) { + // if there was an error and we allocated an image buffer, free it! + STBI_FREE(g.out); } + // free buffers needed for multiple frame loading; + STBI_FREE(g.history); + STBI_FREE(g.background); + return u; } @@ -5776,20 +7084,24 @@ static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) // Radiance RGBE HDR loader // originally by Nicolas Schulz #ifndef STBI_NO_HDR -static int stbi__hdr_test_core(stbi__context *s) +static int stbi__hdr_test_core(stbi__context *s, const char *signature) { - const char *signature = "#?RADIANCE\n"; int i; for (i=0; signature[i]; ++i) if (stbi__get8(s) != signature[i]) - return 0; + return 0; + stbi__rewind(s); return 1; } static int stbi__hdr_test(stbi__context* s) { - int r = stbi__hdr_test_core(s); + int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); stbi__rewind(s); + if(!r) { + r = stbi__hdr_test_core(s, "#?RGBE\n"); + stbi__rewind(s); + } return r; } @@ -5843,7 +7155,7 @@ static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) } } -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { char buffer[STBI__HDR_BUFLEN]; char *token; @@ -5854,10 +7166,12 @@ static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int re int len; unsigned char count, value; int i, j, k, c1,c2, z; - + const char *headerToken; + STBI_NOTUSED(ri); // Check identifier - if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) + headerToken = stbi__hdr_gettoken(s,buffer); + if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) return stbi__errpf("not HDR", "Corrupt HDR image"); // Parse header @@ -5880,14 +7194,22 @@ static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int re token += 3; width = (int) strtol(token, NULL, 10); + if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + *x = width; *y = height; if (comp) *comp = 3; if (req_comp == 0) req_comp = 3; + if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) + return stbi__errpf("too large", "HDR image is too large"); + // Read data - hdr_data = (float *) stbi__malloc(height * width * req_comp * sizeof(float)); + hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); + if (!hdr_data) + return stbi__errpf("outofmem", "Out of memory"); // Load image data // image data is stored as some number of sca @@ -5926,20 +7248,29 @@ static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int re len <<= 8; len |= stbi__get8(s); if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } - if (scanline == NULL) scanline = (stbi_uc *) stbi__malloc(width * 4); + if (scanline == NULL) { + scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); + if (!scanline) { + STBI_FREE(hdr_data); + return stbi__errpf("outofmem", "Out of memory"); + } + } for (k = 0; k < 4; ++k) { + int nleft; i = 0; - while (i < width) { + while ((nleft = width - i) > 0) { count = stbi__get8(s); if (count > 128) { // Run value = stbi__get8(s); count -= 128; + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } for (z = 0; z < count; ++z) scanline[i++ * 4 + k] = value; } else { // Dump + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } for (z = 0; z < count; ++z) scanline[i++ * 4 + k] = stbi__get8(s); } @@ -5948,7 +7279,8 @@ static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int re for (i=0; i < width; ++i) stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); } - STBI_FREE(scanline); + if (scanline) + STBI_FREE(scanline); } return hdr_data; @@ -5959,8 +7291,13 @@ static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) char buffer[STBI__HDR_BUFLEN]; char *token; int valid = 0; + int dummy; - if (strcmp(stbi__hdr_gettoken(s,buffer), "#?RADIANCE") != 0) { + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (stbi__hdr_test(s) == 0) { stbi__rewind( s ); return 0; } @@ -5997,29 +7334,23 @@ static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) #ifndef STBI_NO_BMP static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) { - int hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') { - stbi__rewind( s ); - return 0; - } - stbi__skip(s,12); - hsz = stbi__get32le(s); - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) { - stbi__rewind( s ); - return 0; - } - if (hsz == 12) { - *x = stbi__get16le(s); - *y = stbi__get16le(s); - } else { - *x = stbi__get32le(s); - *y = stbi__get32le(s); + void *p; + stbi__bmp_data info; + + info.all_a = 255; + p = stbi__bmp_parse_header(s, &info); + if (p == NULL) { + stbi__rewind( s ); + return 0; } - if (stbi__get16le(s) != 1) { - stbi__rewind( s ); - return 0; + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) { + if (info.bpp == 24 && info.ma == 0xff000000) + *comp = 3; + else + *comp = info.ma ? 4 : 3; } - *comp = stbi__get16le(s) / 8; return 1; } #endif @@ -6027,7 +7358,10 @@ static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) #ifndef STBI_NO_PSD static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) { - int channelCount; + int channelCount, dummy, depth; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; if (stbi__get32be(s) != 0x38425053) { stbi__rewind( s ); return 0; @@ -6044,7 +7378,8 @@ static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) } *y = stbi__get32be(s); *x = stbi__get32be(s); - if (stbi__get16be(s) != 8) { + depth = stbi__get16be(s); + if (depth != 8 && depth != 16) { stbi__rewind( s ); return 0; } @@ -6055,22 +7390,61 @@ static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) *comp = 4; return 1; } + +static int stbi__psd_is16(stbi__context *s) +{ + int channelCount, depth; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + STBI_NOTUSED(stbi__get32be(s)); + STBI_NOTUSED(stbi__get32be(s)); + depth = stbi__get16be(s); + if (depth != 16) { + stbi__rewind( s ); + return 0; + } + return 1; +} #endif #ifndef STBI_NO_PIC static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) { - int act_comp=0,num_packets=0,chained; + int act_comp=0,num_packets=0,chained,dummy; stbi__pic_packet packets[10]; - stbi__skip(s, 92); + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { + stbi__rewind(s); + return 0; + } + + stbi__skip(s, 88); *x = stbi__get16be(s); *y = stbi__get16be(s); - if (stbi__at_eof(s)) return 0; + if (stbi__at_eof(s)) { + stbi__rewind( s); + return 0; + } if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { - stbi__rewind( s ); - return 0; + stbi__rewind( s ); + return 0; } stbi__skip(s, 8); @@ -6114,7 +7488,6 @@ static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) // Known limitations: // Does not support comments in the header section // Does not support ASCII image data (formats P2 and P3) -// Does not support 16-bit-per-channel #ifndef STBI_NO_PNM @@ -6130,21 +7503,38 @@ static int stbi__pnm_test(stbi__context *s) return 1; } -static stbi_uc *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp) +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) { stbi_uc *out; - if (!stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n)) + STBI_NOTUSED(ri); + + ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); + if (ri->bits_per_channel == 0) return 0; + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + *x = s->img_x; *y = s->img_y; - *comp = s->img_n; + if (comp) *comp = s->img_n; - out = (stbi_uc *) stbi__malloc(s->img_n * s->img_x * s->img_y); + if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) + return stbi__errpuc("too large", "PNM too large"); + + out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); if (!out) return stbi__errpuc("outofmem", "Out of memory"); - stbi__getn(s, out, s->img_n * s->img_x * s->img_y); + if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { + STBI_FREE(out); + return stbi__errpuc("bad PNM", "PNM file truncated"); + } if (req_comp && req_comp != s->img_n) { - out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + if (ri->bits_per_channel == 16) { + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, s->img_n, req_comp, s->img_x, s->img_y); + } else { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + } if (out == NULL) return out; // stbi__convert_format frees input on failure } return out; @@ -6157,8 +7547,16 @@ static int stbi__pnm_isspace(char c) static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) { - while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - *c = (char) stbi__get8(s); + for (;;) { + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); + + if (stbi__at_eof(s) || *c != '#') + break; + + while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) + *c = (char) stbi__get8(s); + } } static int stbi__pnm_isdigit(char c) @@ -6173,6 +7571,8 @@ static int stbi__pnm_getinteger(stbi__context *s, char *c) while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { value = value*10 + (*c - '0'); *c = (char) stbi__get8(s); + if((value > 214748364) || (value == 214748364 && *c > '7')) + return stbi__err("integer parse overflow", "Parsing an integer in the PPM header overflowed a 32-bit int"); } return value; @@ -6180,16 +7580,20 @@ static int stbi__pnm_getinteger(stbi__context *s, char *c) static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) { - int maxv; + int maxv, dummy; char c, p, t; - stbi__rewind( s ); + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + stbi__rewind(s); // Get identifier p = (char) stbi__get8(s); t = (char) stbi__get8(s); if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); + stbi__rewind(s); return 0; } @@ -6199,17 +7603,29 @@ static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) stbi__pnm_skip_whitespace(s, &c); *x = stbi__pnm_getinteger(s, &c); // read width + if(*x == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); stbi__pnm_skip_whitespace(s, &c); *y = stbi__pnm_getinteger(s, &c); // read height + if (*y == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); stbi__pnm_skip_whitespace(s, &c); maxv = stbi__pnm_getinteger(s, &c); // read max value - - if (maxv > 255) - return stbi__err("max value > 255", "PPM image not 8-bit"); + if (maxv > 65535) + return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); + else if (maxv > 255) + return 16; else - return 1; + return 8; +} + +static int stbi__pnm_is16(stbi__context *s) +{ + if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) + return 1; + return 0; } #endif @@ -6255,6 +7671,22 @@ static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) return stbi__err("unknown image type", "Image not of any known type, or corrupt"); } +static int stbi__is_16_main(stbi__context *s) +{ + #ifndef STBI_NO_PNG + if (stbi__png_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_is16(s)) return 1; + #endif + return 0; +} + #ifndef STBI_NO_STDIO STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) { @@ -6276,6 +7708,27 @@ STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) fseek(f,pos,SEEK_SET); return r; } + +STBIDEF int stbi_is_16_bit(char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_is_16_bit_from_file(f); + fclose(f); + return result; +} + +STBIDEF int stbi_is_16_bit_from_file(FILE *f) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__is_16_main(&s); + fseek(f,pos,SEEK_SET); + return r; +} #endif // !STBI_NO_STDIO STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) @@ -6292,10 +7745,64 @@ STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int return stbi__info_main(&s,x,y,comp); } +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__is_16_main(&s); +} + +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__is_16_main(&s); +} + #endif // STB_IMAGE_IMPLEMENTATION /* revision history: + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug + 1-bit BMP + *_is_16_bit api + avoid warnings + 2.16 (2017-07-23) all functions have 16-bit variants; + STBI_NO_STDIO works again; + compilation fixes; + fix rounding in unpremultiply; + optimize vertical flip; + disable raw_len validation; + documentation fixes + 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; + warning fixes; disable run-time SSE detection on gcc; + uniform handling of optional "return" values; + thread-safe initialization of zlib tables + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) allocate large structures on the stack + remove white matting for transparent PSD + fix reported channel count for PNG & BMP + re-enable SSE2 in non-gcc 64-bit + support RGB-formatted JPEG + read 16-bit PNGs (only as 8-bit) + 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED + 2.09 (2016-01-16) allow comments in PNM files + 16-bit-per-pixel TGA (not bit-per-component) + info() for TGA could break due to .hdr handling + info() for BMP to shares code instead of sloppy parse + can use STBI_REALLOC_SIZED if allocator doesn't support realloc + code cleanup + 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA + 2.07 (2015-09-13) fix compiler warnings + partial animated GIF support + limited 16-bpc PSD support + #ifdef unused functions + bug with < 92 byte PIC,PNM,HDR,TGA 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit @@ -6436,3 +7943,46 @@ STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int 0.50 (2006-11-19) first released version */ + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/external/include/stb_image_write.h b/external/include/stb_image_write.h index 59052f9c..e4b32ed1 100644 --- a/external/include/stb_image_write.h +++ b/external/include/stb_image_write.h @@ -1,5 +1,5 @@ -/* stb_image_write - v0.98 - public domain - http://nothings.org/stb/stb_image_write.h - writes out PNG/BMP/TGA images to C stdio - Sean Barrett 2010 +/* stb_image_write - v1.16 - public domain - http://nothings.org/stb + writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015 no warranty implied; use at your own risk Before #including, @@ -12,29 +12,67 @@ ABOUT: - This header file is a library for writing images to C stdio. It could be - adapted to write to memory or a general streaming interface; let me know. + This header file is a library for writing images to C stdio or a callback. The PNG output is not optimal; it is 20-50% larger than the file - written by a decent optimizing implementation. This library is designed - for source code compactness and simplicitly, not optimal image file size - or run-time performance. + written by a decent optimizing implementation; though providing a custom + zlib compress function (see STBIW_ZLIB_COMPRESS) can mitigate that. + This library is designed for source code compactness and simplicity, + not optimal image file size or run-time performance. BUILDING: You can #define STBIW_ASSERT(x) before the #include to avoid using assert.h. You can #define STBIW_MALLOC(), STBIW_REALLOC(), and STBIW_FREE() to replace malloc,realloc,free. - You can define STBIW_MEMMOVE() to replace memmove() + You can #define STBIW_MEMMOVE() to replace memmove() + You can #define STBIW_ZLIB_COMPRESS to use a custom zlib-style compress function + for PNG compression (instead of the builtin one), it must have the following signature: + unsigned char * my_compress(unsigned char *data, int data_len, int *out_len, int quality); + The returned data will be freed with STBIW_FREE() (free() by default), + so it must be heap allocated with STBIW_MALLOC() (malloc() by default), + +UNICODE: + + If compiling for Windows and you wish to use Unicode filenames, compile + with + #define STBIW_WINDOWS_UTF8 + and pass utf8-encoded filenames. Call stbiw_convert_wchar_to_utf8 to convert + Windows wchar_t filenames to utf8. USAGE: - There are four functions, one for each image file format: + There are five functions, one for each image file format: int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); - int stbi_write_hdr(char const *filename, int w, int h, int comp, const void *data); + int stbi_write_jpg(char const *filename, int w, int h, int comp, const void *data, int quality); + int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); + + void stbi_flip_vertically_on_write(int flag); // flag is non-zero to flip data vertically + + There are also five equivalent functions that use an arbitrary write function. You are + expected to open/close your file-equivalent before and after calling these: + + int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); + int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); + int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); + int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + + where the callback is: + void stbi_write_func(void *context, void *data, int size); + + You can configure it with these global variables: + int stbi_write_tga_with_rle; // defaults to true; set to 0 to disable RLE + int stbi_write_png_compression_level; // defaults to 8; set to higher for more compression + int stbi_write_force_png_filter; // defaults to -1; set to 0..5 to force a filter mode + + + You can define STBI_WRITE_NO_STDIO to disable the file variant of these + functions, so the library will not use stdio.h at all. However, this will + also disable HDR writing, because it requires stdio for formatted output. Each function returns 0 on failure and non-0 on success. @@ -58,69 +96,145 @@ writer, both because it is in BGR order and because it may have padding at the end of the line.) + PNG allows you to set the deflate compression level by setting the global + variable 'stbi_write_png_compression_level' (it defaults to 8). + HDR expects linear float data. Since the format is always 32-bit rgb(e) data, alpha (if provided) is discarded, and for monochrome data it is replicated across all three channels. + TGA supports RLE or non-RLE compressed data. To use non-RLE-compressed + data, set the global variable 'stbi_write_tga_with_rle' to 0. + + JPEG does ignore alpha channels in input data; quality is between 1 and 100. + Higher quality looks better but results in a bigger image. + JPEG baseline (no JPEG progressive). + CREDITS: - PNG/BMP/TGA - Sean Barrett - HDR - Baldur Karlsson - TGA monochrome: - Jean-Sebastien Guay - misc enhancements: - Tim Kelsey + + Sean Barrett - PNG/BMP/TGA + Baldur Karlsson - HDR + Jean-Sebastien Guay - TGA monochrome + Tim Kelsey - misc enhancements + Alan Hickman - TGA RLE + Emmanuel Julien - initial file IO callback implementation + Jon Olick - original jo_jpeg.cpp code + Daniel Gibson - integrate JPEG, allow external zlib + Aarni Koskela - allow choosing PNG filter + bugfixes: github:Chribba - + Guillaume Chereau + github:jry2 + github:romigrou + Sergio Gonzalez + Jonas Karlsson + Filip Wasil + Thatcher Ulrich + github:poppolopoppo + Patrick Boettcher + github:xeekworx + Cap Petschulat + Simon Rodriguez + Ivan Tikhonov + github:ignotion + Adam Schackart + Andrew Kensler + LICENSE -This software is in the public domain. Where that dedication is not -recognized, you are granted a perpetual, irrevocable license to copy, -distribute, and modify this file as you see fit. + See end of file for license information. + */ #ifndef INCLUDE_STB_IMAGE_WRITE_H #define INCLUDE_STB_IMAGE_WRITE_H +#include + +// if STB_IMAGE_WRITE_STATIC causes problems, try defining STBIWDEF to 'inline' or 'static inline' +#ifndef STBIWDEF +#ifdef STB_IMAGE_WRITE_STATIC +#define STBIWDEF static +#else #ifdef __cplusplus -extern "C" { +#define STBIWDEF extern "C" +#else +#define STBIWDEF extern +#endif +#endif #endif -extern int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); -extern int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); -extern int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); -extern int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); +#ifndef STB_IMAGE_WRITE_STATIC // C++ forbids static forward declarations +STBIWDEF int stbi_write_tga_with_rle; +STBIWDEF int stbi_write_png_compression_level; +STBIWDEF int stbi_write_force_png_filter; +#endif -#ifdef __cplusplus -} +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga(char const *filename, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality); + +#ifdef STBIW_WINDOWS_UTF8 +STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#endif #endif +typedef void stbi_write_func(void *context, void *data, int size); + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data, int stride_in_bytes); +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const void *data); +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int w, int h, int comp, const float *data); +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality); + +STBIWDEF void stbi_flip_vertically_on_write(int flip_boolean); + #endif//INCLUDE_STB_IMAGE_WRITE_H #ifdef STB_IMAGE_WRITE_IMPLEMENTATION +#ifdef _WIN32 + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif + #ifndef _CRT_NONSTDC_NO_DEPRECATE + #define _CRT_NONSTDC_NO_DEPRECATE + #endif +#endif + +#ifndef STBI_WRITE_NO_STDIO +#include +#endif // STBI_WRITE_NO_STDIO + #include #include -#include #include #include -#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && defined(STBIW_REALLOC) +#if defined(STBIW_MALLOC) && defined(STBIW_FREE) && (defined(STBIW_REALLOC) || defined(STBIW_REALLOC_SIZED)) // ok -#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) +#elif !defined(STBIW_MALLOC) && !defined(STBIW_FREE) && !defined(STBIW_REALLOC) && !defined(STBIW_REALLOC_SIZED) // ok #else -#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC." +#error "Must define all or none of STBIW_MALLOC, STBIW_FREE, and STBIW_REALLOC (or STBIW_REALLOC_SIZED)." #endif #ifndef STBIW_MALLOC -#define STBIW_MALLOC(sz) malloc(sz) -#define STBIW_REALLOC(p,sz) realloc(p,sz) -#define STBIW_FREE(p) free(p) +#define STBIW_MALLOC(sz) malloc(sz) +#define STBIW_REALLOC(p,newsz) realloc(p,newsz) +#define STBIW_FREE(p) free(p) +#endif + +#ifndef STBIW_REALLOC_SIZED +#define STBIW_REALLOC_SIZED(p,oldsz,newsz) STBIW_REALLOC(p,newsz) #endif + + #ifndef STBIW_MEMMOVE #define STBIW_MEMMOVE(a,b,sz) memmove(a,b,sz) #endif @@ -131,22 +245,129 @@ extern int stbi_write_hdr(char const *filename, int w, int h, int comp, const fl #define STBIW_ASSERT(x) assert(x) #endif +#define STBIW_UCHAR(x) (unsigned char) ((x) & 0xff) + +#ifdef STB_IMAGE_WRITE_STATIC +static int stbi_write_png_compression_level = 8; +static int stbi_write_tga_with_rle = 1; +static int stbi_write_force_png_filter = -1; +#else +int stbi_write_png_compression_level = 8; +int stbi_write_tga_with_rle = 1; +int stbi_write_force_png_filter = -1; +#endif + +static int stbi__flip_vertically_on_write = 0; + +STBIWDEF void stbi_flip_vertically_on_write(int flag) +{ + stbi__flip_vertically_on_write = flag; +} + +typedef struct +{ + stbi_write_func *func; + void *context; + unsigned char buffer[64]; + int buf_used; +} stbi__write_context; + +// initialize a callback-based context +static void stbi__start_write_callbacks(stbi__write_context *s, stbi_write_func *c, void *context) +{ + s->func = c; + s->context = context; +} + +#ifndef STBI_WRITE_NO_STDIO + +static void stbi__stdio_write(void *context, void *data, int size) +{ + fwrite(data,1,size,(FILE*) context); +} + +#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8) +#ifdef __cplusplus +#define STBIW_EXTERN extern "C" +#else +#define STBIW_EXTERN extern +#endif +STBIW_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBIW_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); + +STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + +static FILE *stbiw__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + +static int stbi__start_write_file(stbi__write_context *s, const char *filename) +{ + FILE *f = stbiw__fopen(filename, "wb"); + stbi__start_write_callbacks(s, stbi__stdio_write, (void *) f); + return f != NULL; +} + +static void stbi__end_write_file(stbi__write_context *s) +{ + fclose((FILE *)s->context); +} + +#endif // !STBI_WRITE_NO_STDIO + typedef unsigned int stbiw_uint32; typedef int stb_image_write_test[sizeof(stbiw_uint32)==4 ? 1 : -1]; -static void writefv(FILE *f, const char *fmt, va_list v) +static void stbiw__writefv(stbi__write_context *s, const char *fmt, va_list v) { while (*fmt) { switch (*fmt++) { case ' ': break; - case '1': { unsigned char x = (unsigned char) va_arg(v, int); fputc(x,f); break; } - case '2': { int x = va_arg(v,int); unsigned char b[2]; - b[0] = (unsigned char) x; b[1] = (unsigned char) (x>>8); - fwrite(b,2,1,f); break; } - case '4': { stbiw_uint32 x = va_arg(v,int); unsigned char b[4]; - b[0]=(unsigned char)x; b[1]=(unsigned char)(x>>8); - b[2]=(unsigned char)(x>>16); b[3]=(unsigned char)(x>>24); - fwrite(b,4,1,f); break; } + case '1': { unsigned char x = STBIW_UCHAR(va_arg(v, int)); + s->func(s->context,&x,1); + break; } + case '2': { int x = va_arg(v,int); + unsigned char b[2]; + b[0] = STBIW_UCHAR(x); + b[1] = STBIW_UCHAR(x>>8); + s->func(s->context,b,2); + break; } + case '4': { stbiw_uint32 x = va_arg(v,int); + unsigned char b[4]; + b[0]=STBIW_UCHAR(x); + b[1]=STBIW_UCHAR(x>>8); + b[2]=STBIW_UCHAR(x>>16); + b[3]=STBIW_UCHAR(x>>24); + s->func(s->context,b,4); + break; } default: STBIW_ASSERT(0); return; @@ -154,105 +375,273 @@ static void writefv(FILE *f, const char *fmt, va_list v) } } -static void write3(FILE *f, unsigned char a, unsigned char b, unsigned char c) +static void stbiw__writef(stbi__write_context *s, const char *fmt, ...) +{ + va_list v; + va_start(v, fmt); + stbiw__writefv(s, fmt, v); + va_end(v); +} + +static void stbiw__write_flush(stbi__write_context *s) +{ + if (s->buf_used) { + s->func(s->context, &s->buffer, s->buf_used); + s->buf_used = 0; + } +} + +static void stbiw__putc(stbi__write_context *s, unsigned char c) +{ + s->func(s->context, &c, 1); +} + +static void stbiw__write1(stbi__write_context *s, unsigned char a) +{ + if ((size_t)s->buf_used + 1 > sizeof(s->buffer)) + stbiw__write_flush(s); + s->buffer[s->buf_used++] = a; +} + +static void stbiw__write3(stbi__write_context *s, unsigned char a, unsigned char b, unsigned char c) { - unsigned char arr[3]; - arr[0] = a, arr[1] = b, arr[2] = c; - fwrite(arr, 3, 1, f); + int n; + if ((size_t)s->buf_used + 3 > sizeof(s->buffer)) + stbiw__write_flush(s); + n = s->buf_used; + s->buf_used = n+3; + s->buffer[n+0] = a; + s->buffer[n+1] = b; + s->buffer[n+2] = c; } -static void write_pixels(FILE *f, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +static void stbiw__write_pixel(stbi__write_context *s, int rgb_dir, int comp, int write_alpha, int expand_mono, unsigned char *d) { unsigned char bg[3] = { 255, 0, 255}, px[3]; + int k; + + if (write_alpha < 0) + stbiw__write1(s, d[comp - 1]); + + switch (comp) { + case 2: // 2 pixels = mono + alpha, alpha is written separately, so same as 1-channel case + case 1: + if (expand_mono) + stbiw__write3(s, d[0], d[0], d[0]); // monochrome bmp + else + stbiw__write1(s, d[0]); // monochrome TGA + break; + case 4: + if (!write_alpha) { + // composite against pink background + for (k = 0; k < 3; ++k) + px[k] = bg[k] + ((d[k] - bg[k]) * d[3]) / 255; + stbiw__write3(s, px[1 - rgb_dir], px[1], px[1 + rgb_dir]); + break; + } + /* FALLTHROUGH */ + case 3: + stbiw__write3(s, d[1 - rgb_dir], d[1], d[1 + rgb_dir]); + break; + } + if (write_alpha > 0) + stbiw__write1(s, d[comp - 1]); +} + +static void stbiw__write_pixels(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, void *data, int write_alpha, int scanline_pad, int expand_mono) +{ stbiw_uint32 zero = 0; - int i,j,k, j_end; + int i,j, j_end; if (y <= 0) return; - if (vdir < 0) - j_end = -1, j = y-1; - else - j_end = y, j = 0; + if (stbi__flip_vertically_on_write) + vdir *= -1; + + if (vdir < 0) { + j_end = -1; j = y-1; + } else { + j_end = y; j = 0; + } for (; j != j_end; j += vdir) { for (i=0; i < x; ++i) { unsigned char *d = (unsigned char *) data + (j*x+i)*comp; - if (write_alpha < 0) - fwrite(&d[comp-1], 1, 1, f); - switch (comp) { - case 1: fwrite(d, 1, 1, f); - break; - case 2: if (expand_mono) - write3(f, d[0],d[0],d[0]); // monochrome bmp - else - fwrite(d, 1, 1, f); // monochrome TGA - break; - case 4: - if (!write_alpha) { - // composite against pink background - for (k=0; k < 3; ++k) - px[k] = bg[k] + ((d[k] - bg[k]) * d[3])/255; - write3(f, px[1-rgb_dir],px[1],px[1+rgb_dir]); - break; - } - /* FALLTHROUGH */ - case 3: - write3(f, d[1-rgb_dir],d[1],d[1+rgb_dir]); - break; - } - if (write_alpha > 0) - fwrite(&d[comp-1], 1, 1, f); + stbiw__write_pixel(s, rgb_dir, comp, write_alpha, expand_mono, d); } - fwrite(&zero,scanline_pad,1,f); + stbiw__write_flush(s); + s->func(s->context, &zero, scanline_pad); } } -static int outfile(char const *filename, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) +static int stbiw__outfile(stbi__write_context *s, int rgb_dir, int vdir, int x, int y, int comp, int expand_mono, void *data, int alpha, int pad, const char *fmt, ...) { - FILE *f; - if (y < 0 || x < 0) return 0; - f = fopen(filename, "wb"); - if (f) { + if (y < 0 || x < 0) { + return 0; + } else { va_list v; va_start(v, fmt); - writefv(f, fmt, v); + stbiw__writefv(s, fmt, v); va_end(v); - write_pixels(f,rgb_dir,vdir,x,y,comp,data,alpha,pad,expand_mono); - fclose(f); + stbiw__write_pixels(s,rgb_dir,vdir,x,y,comp,data,alpha,pad, expand_mono); + return 1; } - return f != NULL; } -int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) +static int stbi_write_bmp_core(stbi__write_context *s, int x, int y, int comp, const void *data) +{ + if (comp != 4) { + // write RGB bitmap + int pad = (-x*3) & 3; + return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *) data,0,pad, + "11 4 22 4" "4 44 22 444444", + 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header + 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header + } else { + // RGBA bitmaps need a v4 header + // use BI_BITFIELDS mode with 32bpp and alpha mask + // (straight BI_RGB with alpha mask doesn't work in most readers) + return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *)data,1,0, + "11 4 22 4" "4 44 22 444444 4444 4 444 444 444 444", + 'B', 'M', 14+108+x*y*4, 0, 0, 14+108, // file header + 108, x,y, 1,32, 3,0,0,0,0,0, 0xff0000,0xff00,0xff,0xff000000u, 0, 0,0,0, 0,0,0, 0,0,0, 0,0,0); // bitmap V4 header + } +} + +STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_bmp_core(&s, x, y, comp, data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_bmp(char const *filename, int x, int y, int comp, const void *data) { - int pad = (-x*3) & 3; - return outfile(filename,-1,-1,x,y,comp,1,(void *) data,0,pad, - "11 4 22 4" "4 44 22 444444", - 'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header - 40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_bmp_core(&s, x, y, comp, data); + stbi__end_write_file(&s); + return r; + } else + return 0; } +#endif //!STBI_WRITE_NO_STDIO -int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +static int stbi_write_tga_core(stbi__write_context *s, int x, int y, int comp, void *data) { int has_alpha = (comp == 2 || comp == 4); int colorbytes = has_alpha ? comp-1 : comp; int format = colorbytes < 2 ? 3 : 2; // 3 color channels (RGB/RGBA) = 2, 1 color channel (Y/YA) = 3 - return outfile(filename, -1,-1, x, y, comp, 0, (void *) data, has_alpha, 0, - "111 221 2222 11", 0,0,format, 0,0,0, 0,0,x,y, (colorbytes+has_alpha)*8, has_alpha*8); + + if (y < 0 || x < 0) + return 0; + + if (!stbi_write_tga_with_rle) { + return stbiw__outfile(s, -1, -1, x, y, comp, 0, (void *) data, has_alpha, 0, + "111 221 2222 11", 0, 0, format, 0, 0, 0, 0, 0, x, y, (colorbytes + has_alpha) * 8, has_alpha * 8); + } else { + int i,j,k; + int jend, jdir; + + stbiw__writef(s, "111 221 2222 11", 0,0,format+8, 0,0,0, 0,0,x,y, (colorbytes + has_alpha) * 8, has_alpha * 8); + + if (stbi__flip_vertically_on_write) { + j = 0; + jend = y; + jdir = 1; + } else { + j = y-1; + jend = -1; + jdir = -1; + } + for (; j != jend; j += jdir) { + unsigned char *row = (unsigned char *) data + j * x * comp; + int len; + + for (i = 0; i < x; i += len) { + unsigned char *begin = row + i * comp; + int diff = 1; + len = 1; + + if (i < x - 1) { + ++len; + diff = memcmp(begin, row + (i + 1) * comp, comp); + if (diff) { + const unsigned char *prev = begin; + for (k = i + 2; k < x && len < 128; ++k) { + if (memcmp(prev, row + k * comp, comp)) { + prev += comp; + ++len; + } else { + --len; + break; + } + } + } else { + for (k = i + 2; k < x && len < 128; ++k) { + if (!memcmp(begin, row + k * comp, comp)) { + ++len; + } else { + break; + } + } + } + } + + if (diff) { + unsigned char header = STBIW_UCHAR(len - 1); + stbiw__write1(s, header); + for (k = 0; k < len; ++k) { + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin + k * comp); + } + } else { + unsigned char header = STBIW_UCHAR(len - 129); + stbiw__write1(s, header); + stbiw__write_pixel(s, -1, comp, has_alpha, 0, begin); + } + } + } + stbiw__write_flush(s); + } + return 1; } +STBIWDEF int stbi_write_tga_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_tga_core(&s, x, y, comp, (void *) data); +} + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_tga(char const *filename, int x, int y, int comp, const void *data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_tga_core(&s, x, y, comp, (void *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + // ************************************************************************************************* // Radiance RGBE HDR writer // by Baldur Karlsson + #define stbiw__max(a, b) ((a) > (b) ? (a) : (b)) -void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) +#ifndef STBI_WRITE_NO_STDIO + +static void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) { int exponent; float maxcomp = stbiw__max(linear[0], stbiw__max(linear[1], linear[2])); - if (maxcomp < 1e-32) { + if (maxcomp < 1e-32f) { rgbe[0] = rgbe[1] = rgbe[2] = rgbe[3] = 0; } else { float normalize = (float) frexp(maxcomp, &exponent) * 256.0f/maxcomp; @@ -264,23 +653,23 @@ void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear) } } -void stbiw__write_run_data(FILE *f, int length, unsigned char databyte) +static void stbiw__write_run_data(stbi__write_context *s, int length, unsigned char databyte) { - unsigned char lengthbyte = (unsigned char) (length+128); + unsigned char lengthbyte = STBIW_UCHAR(length+128); STBIW_ASSERT(length+128 <= 255); - fwrite(&lengthbyte, 1, 1, f); - fwrite(&databyte, 1, 1, f); + s->func(s->context, &lengthbyte, 1); + s->func(s->context, &databyte, 1); } -void stbiw__write_dump_data(FILE *f, int length, unsigned char *data) +static void stbiw__write_dump_data(stbi__write_context *s, int length, unsigned char *data) { - unsigned char lengthbyte = (unsigned char )(length & 0xff); + unsigned char lengthbyte = STBIW_UCHAR(length); STBIW_ASSERT(length <= 128); // inconsistent with spec but consistent with official code - fwrite(&lengthbyte, 1, 1, f); - fwrite(data, length, 1, f); + s->func(s->context, &lengthbyte, 1); + s->func(s->context, data, length); } -void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scratch, const float *scanline) +static void stbiw__write_hdr_scanline(stbi__write_context *s, int width, int ncomp, unsigned char *scratch, float *scanline) { unsigned char scanlineheader[4] = { 2, 2, 0, 0 }; unsigned char rgbe[4]; @@ -293,31 +682,31 @@ void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scra /* skip RLE for images too small or large */ if (width < 8 || width >= 32768) { for (x=0; x < width; x++) { - switch (comp) { + switch (ncomp) { case 4: /* fallthrough */ - case 3: linear[2] = scanline[x*comp + 2]; - linear[1] = scanline[x*comp + 1]; - linear[0] = scanline[x*comp + 0]; + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; break; - case 2: /* fallthrough */ - case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; break; } stbiw__linear_to_rgbe(rgbe, linear); - fwrite(rgbe, 4, 1, f); + s->func(s->context, rgbe, 4); } } else { int c,r; /* encode into scratch buffer */ for (x=0; x < width; x++) { - switch(comp) { + switch(ncomp) { case 4: /* fallthrough */ - case 3: linear[2] = scanline[x*comp + 2]; - linear[1] = scanline[x*comp + 1]; - linear[0] = scanline[x*comp + 0]; + case 3: linear[2] = scanline[x*ncomp + 2]; + linear[1] = scanline[x*ncomp + 1]; + linear[0] = scanline[x*ncomp + 0]; break; - case 2: /* fallthrough */ - case 1: linear[0] = linear[1] = linear[2] = scanline[x*comp + 0]; + default: + linear[0] = linear[1] = linear[2] = scanline[x*ncomp + 0]; break; } stbiw__linear_to_rgbe(rgbe, linear); @@ -327,7 +716,7 @@ void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scra scratch[x + width*3] = rgbe[3]; } - fwrite(scanlineheader, 4, 1, f); + s->func(s->context, scanlineheader, 4); /* RLE each component separately */ for (c=0; c < 4; c++) { @@ -348,7 +737,7 @@ void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scra while (x < r) { int len = r-x; if (len > 128) len = 128; - stbiw__write_dump_data(f, len, &comp[x]); + stbiw__write_dump_data(s, len, &comp[x]); x += len; } // if there's a run, output it @@ -360,7 +749,7 @@ void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scra while (x < r) { int len = r-x; if (len > 127) len = 127; - stbiw__write_run_data(f, len, comp[x]); + stbiw__write_run_data(s, len, comp[x]); x += len; } } @@ -369,30 +758,60 @@ void stbiw__write_hdr_scanline(FILE *f, int width, int comp, unsigned char *scra } } -int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, float *data) { - int i; - FILE *f; - if (y <= 0 || x <= 0 || data == NULL) return 0; - f = fopen(filename, "wb"); - if (f) { - /* Each component is stored separately. Allocate scratch space for full output scanline. */ + if (y <= 0 || x <= 0 || data == NULL) + return 0; + else { + // Each component is stored separately. Allocate scratch space for full output scanline. unsigned char *scratch = (unsigned char *) STBIW_MALLOC(x*4); - fprintf(f, "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n" ); - fprintf(f, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n" , y, x); + int i, len; + char buffer[128]; + char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n"; + s->func(s->context, header, sizeof(header)-1); + +#ifdef __STDC_LIB_EXT1__ + len = sprintf_s(buffer, sizeof(buffer), "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#else + len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x); +#endif + s->func(s->context, buffer, len); + for(i=0; i < y; i++) - stbiw__write_hdr_scanline(f, x, comp, scratch, data + comp*i*x); + stbiw__write_hdr_scanline(s, x, comp, scratch, data + comp*x*(stbi__flip_vertically_on_write ? y-1-i : i)); STBIW_FREE(scratch); - fclose(f); + return 1; } - return f != NULL; } -///////////////////////////////////////////////////////// -// PNG +STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const float *data) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_hdr_core(&s, x, y, comp, (float *) data); +} + +STBIWDEF int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_hdr_core(&s, x, y, comp, (float *) data); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif // STBI_WRITE_NO_STDIO + + +////////////////////////////////////////////////////////////////////////////// +// +// PNG writer +// +#ifndef STBIW_ZLIB_COMPRESS // stretchy buffer; stbiw__sbpush() == vector<>::push_back() -- stbiw__sbcount() == vector<>::size() -#define stbiw__sbraw(a) ((int *) (a) - 2) +#define stbiw__sbraw(a) ((int *) (void *) (a) - 2) #define stbiw__sbm(a) stbiw__sbraw(a)[0] #define stbiw__sbn(a) stbiw__sbraw(a)[1] @@ -407,7 +826,7 @@ int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *da static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) { int m = *arr ? 2*stbiw__sbm(*arr)+increment : increment+1; - void *p = STBIW_REALLOC(*arr ? stbiw__sbraw(*arr) : 0, itemsize * m + sizeof(int)*2); + void *p = STBIW_REALLOC_SIZED(*arr ? stbiw__sbraw(*arr) : 0, *arr ? (stbiw__sbm(*arr)*itemsize + sizeof(int)*2) : 0, itemsize * m + sizeof(int)*2); STBIW_ASSERT(p); if (p) { if (!*arr) ((int *) p)[1] = 0; @@ -420,7 +839,7 @@ static void *stbiw__sbgrowf(void **arr, int increment, int itemsize) static unsigned char *stbiw__zlib_flushf(unsigned char *data, unsigned int *bitbuffer, int *bitcount) { while (*bitcount >= 8) { - stbiw__sbpush(data, (unsigned char) *bitbuffer); + stbiw__sbpush(data, STBIW_UCHAR(*bitbuffer)); *bitbuffer >>= 8; *bitcount -= 8; } @@ -471,8 +890,14 @@ static unsigned int stbiw__zhash(unsigned char *data) #define stbiw__ZHASH 16384 -unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) +#endif // STBIW_ZLIB_COMPRESS + +STBIWDEF unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_len, int quality) { +#ifdef STBIW_ZLIB_COMPRESS + // user provided a zlib compress implementation, use that + return STBIW_ZLIB_COMPRESS(data, data_len, out_len, quality); +#else // use builtin static unsigned short lengthc[] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 259 }; static unsigned char lengtheb[]= { 0,0,0,0,0,0,0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 }; static unsigned short distc[] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 32768 }; @@ -480,7 +905,9 @@ unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_l unsigned int bitbuf=0; int i,j, bitcount=0; unsigned char *out = NULL; - unsigned char **hash_table[stbiw__ZHASH]; // 64KB on the stack! + unsigned char ***hash_table = (unsigned char***) STBIW_MALLOC(stbiw__ZHASH * sizeof(unsigned char**)); + if (hash_table == NULL) + return NULL; if (quality < 5) quality = 5; stbiw__sbpush(out, 0x78); // DEFLATE 32K window @@ -501,7 +928,7 @@ unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_l for (j=0; j < n; ++j) { if (hlist[j]-data > i-32768) { // if entry lies within window int d = stbiw__zlib_countm(hlist[j], data+i, data_len-i); - if (d >= best) best=d,bestloc=hlist[j]; + if (d >= best) { best=d; bestloc=hlist[j]; } } } // when hash table entry is too long, delete half the entries @@ -552,43 +979,98 @@ unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, int *out_l for (i=0; i < stbiw__ZHASH; ++i) (void) stbiw__sbfree(hash_table[i]); + STBIW_FREE(hash_table); + + // store uncompressed instead if compression was worse + if (stbiw__sbn(out) > data_len + 2 + ((data_len+32766)/32767)*5) { + stbiw__sbn(out) = 2; // truncate to DEFLATE 32K window and FLEVEL = 1 + for (j = 0; j < data_len;) { + int blocklen = data_len - j; + if (blocklen > 32767) blocklen = 32767; + stbiw__sbpush(out, data_len - j == blocklen); // BFINAL = ?, BTYPE = 0 -- no compression + stbiw__sbpush(out, STBIW_UCHAR(blocklen)); // LEN + stbiw__sbpush(out, STBIW_UCHAR(blocklen >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(~blocklen)); // NLEN + stbiw__sbpush(out, STBIW_UCHAR(~blocklen >> 8)); + memcpy(out+stbiw__sbn(out), data+j, blocklen); + stbiw__sbn(out) += blocklen; + j += blocklen; + } + } { // compute adler32 on input - unsigned int i=0, s1=1, s2=0, blocklen = data_len % 5552; - int j=0; + unsigned int s1=1, s2=0; + int blocklen = (int) (data_len % 5552); + j=0; while (j < data_len) { - for (i=0; i < blocklen; ++i) s1 += data[j+i], s2 += s1; - s1 %= 65521, s2 %= 65521; + for (i=0; i < blocklen; ++i) { s1 += data[j+i]; s2 += s1; } + s1 %= 65521; s2 %= 65521; j += blocklen; blocklen = 5552; } - stbiw__sbpush(out, (unsigned char) (s2 >> 8)); - stbiw__sbpush(out, (unsigned char) s2); - stbiw__sbpush(out, (unsigned char) (s1 >> 8)); - stbiw__sbpush(out, (unsigned char) s1); + stbiw__sbpush(out, STBIW_UCHAR(s2 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s2)); + stbiw__sbpush(out, STBIW_UCHAR(s1 >> 8)); + stbiw__sbpush(out, STBIW_UCHAR(s1)); } *out_len = stbiw__sbn(out); // make returned pointer freeable STBIW_MEMMOVE(stbiw__sbraw(out), out, *out_len); return (unsigned char *) stbiw__sbraw(out); +#endif // STBIW_ZLIB_COMPRESS } -unsigned int stbiw__crc32(unsigned char *buffer, int len) +static unsigned int stbiw__crc32(unsigned char *buffer, int len) { - static unsigned int crc_table[256]; +#ifdef STBIW_CRC32 + return STBIW_CRC32(buffer, len); +#else + static unsigned int crc_table[256] = + { + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0eDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D + }; + unsigned int crc = ~0u; - int i,j; - if (crc_table[1] == 0) - for(i=0; i < 256; i++) - for (crc_table[i]=i, j=0; j < 8; ++j) - crc_table[i] = (crc_table[i] >> 1) ^ (crc_table[i] & 1 ? 0xedb88320 : 0); + int i; for (i=0; i < len; ++i) crc = (crc >> 8) ^ crc_table[buffer[i] ^ (crc & 0xff)]; return ~crc; +#endif } -#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=(unsigned char)(a),(o)[1]=(unsigned char)(b),(o)[2]=(unsigned char)(c),(o)[3]=(unsigned char)(d),(o)+=4) +#define stbiw__wpng4(o,a,b,c,d) ((o)[0]=STBIW_UCHAR(a),(o)[1]=STBIW_UCHAR(b),(o)[2]=STBIW_UCHAR(c),(o)[3]=STBIW_UCHAR(d),(o)+=4) #define stbiw__wp32(data,v) stbiw__wpng4(data, (v)>>24,(v)>>16,(v)>>8,(v)); #define stbiw__wptag(data,s) stbiw__wpng4(data, s[0],s[1],s[2],s[3]) @@ -601,66 +1083,97 @@ static void stbiw__wpcrc(unsigned char **data, int len) static unsigned char stbiw__paeth(int a, int b, int c) { int p = a + b - c, pa = abs(p-a), pb = abs(p-b), pc = abs(p-c); - if (pa <= pb && pa <= pc) return (unsigned char) a; - if (pb <= pc) return (unsigned char) b; - return (unsigned char) c; + if (pa <= pb && pa <= pc) return STBIW_UCHAR(a); + if (pb <= pc) return STBIW_UCHAR(b); + return STBIW_UCHAR(c); +} + +// @OPTIMIZE: provide an option that always forces left-predict or paeth predict +static void stbiw__encode_png_line(unsigned char *pixels, int stride_bytes, int width, int height, int y, int n, int filter_type, signed char *line_buffer) +{ + static int mapping[] = { 0,1,2,3,4 }; + static int firstmap[] = { 0,1,0,5,6 }; + int *mymap = (y != 0) ? mapping : firstmap; + int i; + int type = mymap[filter_type]; + unsigned char *z = pixels + stride_bytes * (stbi__flip_vertically_on_write ? height-1-y : y); + int signed_stride = stbi__flip_vertically_on_write ? -stride_bytes : stride_bytes; + + if (type==0) { + memcpy(line_buffer, z, width*n); + return; + } + + // first loop isn't optimized since it's just one pixel + for (i = 0; i < n; ++i) { + switch (type) { + case 1: line_buffer[i] = z[i]; break; + case 2: line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: line_buffer[i] = z[i] - (z[i-signed_stride]>>1); break; + case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-signed_stride],0)); break; + case 5: line_buffer[i] = z[i]; break; + case 6: line_buffer[i] = z[i]; break; + } + } + switch (type) { + case 1: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - z[i-n]; break; + case 2: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - z[i-signed_stride]; break; + case 3: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - ((z[i-n] + z[i-signed_stride])>>1); break; + case 4: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-signed_stride], z[i-signed_stride-n]); break; + case 5: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - (z[i-n]>>1); break; + case 6: for (i=n; i < width*n; ++i) line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; + } } -unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) +STBIWDEF unsigned char *stbi_write_png_to_mem(const unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) { + int force_filter = stbi_write_force_png_filter; int ctype[5] = { -1, 0, 4, 2, 6 }; unsigned char sig[8] = { 137,80,78,71,13,10,26,10 }; unsigned char *out,*o, *filt, *zlib; signed char *line_buffer; - int i,j,k,p,zlen; + int j,zlen; if (stride_bytes == 0) stride_bytes = x * n; + if (force_filter >= 5) { + force_filter = -1; + } + filt = (unsigned char *) STBIW_MALLOC((x*n+1) * y); if (!filt) return 0; line_buffer = (signed char *) STBIW_MALLOC(x * n); if (!line_buffer) { STBIW_FREE(filt); return 0; } for (j=0; j < y; ++j) { - static int mapping[] = { 0,1,2,3,4 }; - static int firstmap[] = { 0,1,0,5,6 }; - int *mymap = j ? mapping : firstmap; - int best = 0, bestval = 0x7fffffff; - for (p=0; p < 2; ++p) { - for (k= p?best:0; k < 5; ++k) { - int type = mymap[k],est=0; - unsigned char *z = pixels + stride_bytes*j; - for (i=0; i < n; ++i) - switch (type) { - case 0: line_buffer[i] = z[i]; break; - case 1: line_buffer[i] = z[i]; break; - case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; - case 3: line_buffer[i] = z[i] - (z[i-stride_bytes]>>1); break; - case 4: line_buffer[i] = (signed char) (z[i] - stbiw__paeth(0,z[i-stride_bytes],0)); break; - case 5: line_buffer[i] = z[i]; break; - case 6: line_buffer[i] = z[i]; break; - } - for (i=n; i < x*n; ++i) { - switch (type) { - case 0: line_buffer[i] = z[i]; break; - case 1: line_buffer[i] = z[i] - z[i-n]; break; - case 2: line_buffer[i] = z[i] - z[i-stride_bytes]; break; - case 3: line_buffer[i] = z[i] - ((z[i-n] + z[i-stride_bytes])>>1); break; - case 4: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], z[i-stride_bytes], z[i-stride_bytes-n]); break; - case 5: line_buffer[i] = z[i] - (z[i-n]>>1); break; - case 6: line_buffer[i] = z[i] - stbiw__paeth(z[i-n], 0,0); break; - } - } - if (p) break; - for (i=0; i < x*n; ++i) + int filter_type; + if (force_filter > -1) { + filter_type = force_filter; + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, force_filter, line_buffer); + } else { // Estimate the best filter by running through all of them: + int best_filter = 0, best_filter_val = 0x7fffffff, est, i; + for (filter_type = 0; filter_type < 5; filter_type++) { + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, filter_type, line_buffer); + + // Estimate the entropy of the line using this filter; the less, the better. + est = 0; + for (i = 0; i < x*n; ++i) { est += abs((signed char) line_buffer[i]); - if (est < bestval) { bestval = est; best = k; } + } + if (est < best_filter_val) { + best_filter_val = est; + best_filter = filter_type; + } + } + if (filter_type != best_filter) { // If the last iteration already got us the best filter, don't redo it + stbiw__encode_png_line((unsigned char*)(pixels), stride_bytes, x, y, j, n, best_filter, line_buffer); + filter_type = best_filter; } } - // when we get here, best contains the filter type, and line_buffer contains the data - filt[j*(x*n+1)] = (unsigned char) best; + // when we get here, filter_type contains the filter type, and line_buffer contains the data + filt[j*(x*n+1)] = (unsigned char) filter_type; STBIW_MEMMOVE(filt+j*(x*n+1)+1, line_buffer, x*n); } STBIW_FREE(line_buffer); - zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, 8); // increase 8 to get smaller but use more memory + zlib = stbi_zlib_compress(filt, y*( x*n+1), &zlen, stbi_write_png_compression_level); STBIW_FREE(filt); if (!zlib) return 0; @@ -676,7 +1189,7 @@ unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, in stbiw__wp32(o, x); stbiw__wp32(o, y); *o++ = 8; - *o++ = (unsigned char) ctype[n]; + *o++ = STBIW_UCHAR(ctype[n]); *o++ = 0; *o++ = 0; *o++ = 0; @@ -698,22 +1211,456 @@ unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, in return out; } -int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes) { FILE *f; int len; - unsigned char *png = stbi_write_png_to_mem((unsigned char *) data, stride_bytes, x, y, comp, &len); - if (!png) return 0; - f = fopen(filename, "wb"); + unsigned char *png = stbi_write_png_to_mem((const unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + + f = stbiw__fopen(filename, "wb"); if (!f) { STBIW_FREE(png); return 0; } fwrite(png, 1, len, f); fclose(f); STBIW_FREE(png); return 1; } +#endif + +STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int stride_bytes) +{ + int len; + unsigned char *png = stbi_write_png_to_mem((const unsigned char *) data, stride_bytes, x, y, comp, &len); + if (png == NULL) return 0; + func(context, png, len); + STBIW_FREE(png); + return 1; +} + + +/* *************************************************************************** + * + * JPEG writer + * + * This is based on Jon Olick's jo_jpeg.cpp: + * public domain Simple, Minimalistic JPEG writer - http://www.jonolick.com/code.html + */ + +static const unsigned char stbiw__jpg_ZigZag[] = { 0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18, + 24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63 }; + +static void stbiw__jpg_writeBits(stbi__write_context *s, int *bitBufP, int *bitCntP, const unsigned short *bs) { + int bitBuf = *bitBufP, bitCnt = *bitCntP; + bitCnt += bs[1]; + bitBuf |= bs[0] << (24 - bitCnt); + while(bitCnt >= 8) { + unsigned char c = (bitBuf >> 16) & 255; + stbiw__putc(s, c); + if(c == 255) { + stbiw__putc(s, 0); + } + bitBuf <<= 8; + bitCnt -= 8; + } + *bitBufP = bitBuf; + *bitCntP = bitCnt; +} + +static void stbiw__jpg_DCT(float *d0p, float *d1p, float *d2p, float *d3p, float *d4p, float *d5p, float *d6p, float *d7p) { + float d0 = *d0p, d1 = *d1p, d2 = *d2p, d3 = *d3p, d4 = *d4p, d5 = *d5p, d6 = *d6p, d7 = *d7p; + float z1, z2, z3, z4, z5, z11, z13; + + float tmp0 = d0 + d7; + float tmp7 = d0 - d7; + float tmp1 = d1 + d6; + float tmp6 = d1 - d6; + float tmp2 = d2 + d5; + float tmp5 = d2 - d5; + float tmp3 = d3 + d4; + float tmp4 = d3 - d4; + + // Even part + float tmp10 = tmp0 + tmp3; // phase 2 + float tmp13 = tmp0 - tmp3; + float tmp11 = tmp1 + tmp2; + float tmp12 = tmp1 - tmp2; + + d0 = tmp10 + tmp11; // phase 3 + d4 = tmp10 - tmp11; + + z1 = (tmp12 + tmp13) * 0.707106781f; // c4 + d2 = tmp13 + z1; // phase 5 + d6 = tmp13 - z1; + + // Odd part + tmp10 = tmp4 + tmp5; // phase 2 + tmp11 = tmp5 + tmp6; + tmp12 = tmp6 + tmp7; + + // The rotator is modified from fig 4-8 to avoid extra negations. + z5 = (tmp10 - tmp12) * 0.382683433f; // c6 + z2 = tmp10 * 0.541196100f + z5; // c2-c6 + z4 = tmp12 * 1.306562965f + z5; // c2+c6 + z3 = tmp11 * 0.707106781f; // c4 + + z11 = tmp7 + z3; // phase 5 + z13 = tmp7 - z3; + + *d5p = z13 + z2; // phase 6 + *d3p = z13 - z2; + *d1p = z11 + z4; + *d7p = z11 - z4; + + *d0p = d0; *d2p = d2; *d4p = d4; *d6p = d6; +} + +static void stbiw__jpg_calcBits(int val, unsigned short bits[2]) { + int tmp1 = val < 0 ? -val : val; + val = val < 0 ? val-1 : val; + bits[1] = 1; + while(tmp1 >>= 1) { + ++bits[1]; + } + bits[0] = val & ((1<0)&&(DU[end0pos]==0); --end0pos) { + } + // end0pos = first element in reverse order !=0 + if(end0pos == 0) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + return DU[0]; + } + for(i = 1; i <= end0pos; ++i) { + int startpos = i; + int nrzeroes; + unsigned short bits[2]; + for (; DU[i]==0 && i<=end0pos; ++i) { + } + nrzeroes = i-startpos; + if ( nrzeroes >= 16 ) { + int lng = nrzeroes>>4; + int nrmarker; + for (nrmarker=1; nrmarker <= lng; ++nrmarker) + stbiw__jpg_writeBits(s, bitBuf, bitCnt, M16zeroes); + nrzeroes &= 15; + } + stbiw__jpg_calcBits(DU[i], bits); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, HTAC[(nrzeroes<<4)+bits[1]]); + stbiw__jpg_writeBits(s, bitBuf, bitCnt, bits); + } + if(end0pos != 63) { + stbiw__jpg_writeBits(s, bitBuf, bitCnt, EOB); + } + return DU[0]; +} + +static int stbi_write_jpg_core(stbi__write_context *s, int width, int height, int comp, const void* data, int quality) { + // Constants that don't pollute global namespace + static const unsigned char std_dc_luminance_nrcodes[] = {0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0}; + static const unsigned char std_dc_luminance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_luminance_nrcodes[] = {0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,0x7d}; + static const unsigned char std_ac_luminance_values[] = { + 0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08, + 0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28, + 0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59, + 0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89, + 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6, + 0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2, + 0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + static const unsigned char std_dc_chrominance_nrcodes[] = {0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0}; + static const unsigned char std_dc_chrominance_values[] = {0,1,2,3,4,5,6,7,8,9,10,11}; + static const unsigned char std_ac_chrominance_nrcodes[] = {0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,0x77}; + static const unsigned char std_ac_chrominance_values[] = { + 0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91, + 0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26, + 0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58, + 0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87, + 0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4, + 0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda, + 0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa + }; + // Huffman tables + static const unsigned short YDC_HT[256][2] = { {0,2},{2,3},{3,3},{4,3},{5,3},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9}}; + static const unsigned short UVDC_HT[256][2] = { {0,2},{1,2},{2,2},{6,3},{14,4},{30,5},{62,6},{126,7},{254,8},{510,9},{1022,10},{2046,11}}; + static const unsigned short YAC_HT[256][2] = { + {10,4},{0,2},{1,2},{4,3},{11,4},{26,5},{120,7},{248,8},{1014,10},{65410,16},{65411,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {12,4},{27,5},{121,7},{502,9},{2038,11},{65412,16},{65413,16},{65414,16},{65415,16},{65416,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {28,5},{249,8},{1015,10},{4084,12},{65417,16},{65418,16},{65419,16},{65420,16},{65421,16},{65422,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{503,9},{4085,12},{65423,16},{65424,16},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1016,10},{65430,16},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2039,11},{65438,16},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {123,7},{4086,12},{65446,16},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {250,8},{4087,12},{65454,16},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{32704,15},{65462,16},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65470,16},{65471,16},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65479,16},{65480,16},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1017,10},{65488,16},{65489,16},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{65497,16},{65498,16},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2040,11},{65506,16},{65507,16},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {65515,16},{65516,16},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65525,16},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const unsigned short UVAC_HT[256][2] = { + {0,2},{1,2},{4,3},{10,4},{24,5},{25,5},{56,6},{120,7},{500,9},{1014,10},{4084,12},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {11,4},{57,6},{246,8},{501,9},{2038,11},{4085,12},{65416,16},{65417,16},{65418,16},{65419,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {26,5},{247,8},{1015,10},{4086,12},{32706,15},{65420,16},{65421,16},{65422,16},{65423,16},{65424,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {27,5},{248,8},{1016,10},{4087,12},{65425,16},{65426,16},{65427,16},{65428,16},{65429,16},{65430,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {58,6},{502,9},{65431,16},{65432,16},{65433,16},{65434,16},{65435,16},{65436,16},{65437,16},{65438,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {59,6},{1017,10},{65439,16},{65440,16},{65441,16},{65442,16},{65443,16},{65444,16},{65445,16},{65446,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {121,7},{2039,11},{65447,16},{65448,16},{65449,16},{65450,16},{65451,16},{65452,16},{65453,16},{65454,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {122,7},{2040,11},{65455,16},{65456,16},{65457,16},{65458,16},{65459,16},{65460,16},{65461,16},{65462,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {249,8},{65463,16},{65464,16},{65465,16},{65466,16},{65467,16},{65468,16},{65469,16},{65470,16},{65471,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {503,9},{65472,16},{65473,16},{65474,16},{65475,16},{65476,16},{65477,16},{65478,16},{65479,16},{65480,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {504,9},{65481,16},{65482,16},{65483,16},{65484,16},{65485,16},{65486,16},{65487,16},{65488,16},{65489,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {505,9},{65490,16},{65491,16},{65492,16},{65493,16},{65494,16},{65495,16},{65496,16},{65497,16},{65498,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {506,9},{65499,16},{65500,16},{65501,16},{65502,16},{65503,16},{65504,16},{65505,16},{65506,16},{65507,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {2041,11},{65508,16},{65509,16},{65510,16},{65511,16},{65512,16},{65513,16},{65514,16},{65515,16},{65516,16},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, + {16352,14},{65517,16},{65518,16},{65519,16},{65520,16},{65521,16},{65522,16},{65523,16},{65524,16},{65525,16},{0,0},{0,0},{0,0},{0,0},{0,0}, + {1018,10},{32707,15},{65526,16},{65527,16},{65528,16},{65529,16},{65530,16},{65531,16},{65532,16},{65533,16},{65534,16},{0,0},{0,0},{0,0},{0,0},{0,0} + }; + static const int YQT[] = {16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22, + 37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99}; + static const int UVQT[] = {17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99, + 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99}; + static const float aasf[] = { 1.0f * 2.828427125f, 1.387039845f * 2.828427125f, 1.306562965f * 2.828427125f, 1.175875602f * 2.828427125f, + 1.0f * 2.828427125f, 0.785694958f * 2.828427125f, 0.541196100f * 2.828427125f, 0.275899379f * 2.828427125f }; + + int row, col, i, k, subsample; + float fdtbl_Y[64], fdtbl_UV[64]; + unsigned char YTable[64], UVTable[64]; + + if(!data || !width || !height || comp > 4 || comp < 1) { + return 0; + } + + quality = quality ? quality : 90; + subsample = quality <= 90 ? 1 : 0; + quality = quality < 1 ? 1 : quality > 100 ? 100 : quality; + quality = quality < 50 ? 5000 / quality : 200 - quality * 2; + + for(i = 0; i < 64; ++i) { + int uvti, yti = (YQT[i]*quality+50)/100; + YTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (yti < 1 ? 1 : yti > 255 ? 255 : yti); + uvti = (UVQT[i]*quality+50)/100; + UVTable[stbiw__jpg_ZigZag[i]] = (unsigned char) (uvti < 1 ? 1 : uvti > 255 ? 255 : uvti); + } + + for(row = 0, k = 0; row < 8; ++row) { + for(col = 0; col < 8; ++col, ++k) { + fdtbl_Y[k] = 1 / (YTable [stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + fdtbl_UV[k] = 1 / (UVTable[stbiw__jpg_ZigZag[k]] * aasf[row] * aasf[col]); + } + } + + // Write Headers + { + static const unsigned char head0[] = { 0xFF,0xD8,0xFF,0xE0,0,0x10,'J','F','I','F',0,1,1,0,0,1,0,1,0,0,0xFF,0xDB,0,0x84,0 }; + static const unsigned char head2[] = { 0xFF,0xDA,0,0xC,3,1,0,2,0x11,3,0x11,0,0x3F,0 }; + const unsigned char head1[] = { 0xFF,0xC0,0,0x11,8,(unsigned char)(height>>8),STBIW_UCHAR(height),(unsigned char)(width>>8),STBIW_UCHAR(width), + 3,1,(unsigned char)(subsample?0x22:0x11),0,2,0x11,1,3,0x11,1,0xFF,0xC4,0x01,0xA2,0 }; + s->func(s->context, (void*)head0, sizeof(head0)); + s->func(s->context, (void*)YTable, sizeof(YTable)); + stbiw__putc(s, 1); + s->func(s->context, UVTable, sizeof(UVTable)); + s->func(s->context, (void*)head1, sizeof(head1)); + s->func(s->context, (void*)(std_dc_luminance_nrcodes+1), sizeof(std_dc_luminance_nrcodes)-1); + s->func(s->context, (void*)std_dc_luminance_values, sizeof(std_dc_luminance_values)); + stbiw__putc(s, 0x10); // HTYACinfo + s->func(s->context, (void*)(std_ac_luminance_nrcodes+1), sizeof(std_ac_luminance_nrcodes)-1); + s->func(s->context, (void*)std_ac_luminance_values, sizeof(std_ac_luminance_values)); + stbiw__putc(s, 1); // HTUDCinfo + s->func(s->context, (void*)(std_dc_chrominance_nrcodes+1), sizeof(std_dc_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_dc_chrominance_values, sizeof(std_dc_chrominance_values)); + stbiw__putc(s, 0x11); // HTUACinfo + s->func(s->context, (void*)(std_ac_chrominance_nrcodes+1), sizeof(std_ac_chrominance_nrcodes)-1); + s->func(s->context, (void*)std_ac_chrominance_values, sizeof(std_ac_chrominance_values)); + s->func(s->context, (void*)head2, sizeof(head2)); + } + + // Encode 8x8 macroblocks + { + static const unsigned short fillBits[] = {0x7F, 7}; + int DCY=0, DCU=0, DCV=0; + int bitBuf=0, bitCnt=0; + // comp == 2 is grey+alpha (alpha is ignored) + int ofsG = comp > 2 ? 1 : 0, ofsB = comp > 2 ? 2 : 0; + const unsigned char *dataR = (const unsigned char *)data; + const unsigned char *dataG = dataR + ofsG; + const unsigned char *dataB = dataR + ofsB; + int x, y, pos; + if(subsample) { + for(y = 0; y < height; y += 16) { + for(x = 0; x < width; x += 16) { + float Y[256], U[256], V[256]; + for(row = y, pos = 0; row < y+16; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height-1-clamped_row) : clamped_row)*width*comp; + for(col = x; col < x+16; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width-1))*comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos]= +0.29900f*r + 0.58700f*g + 0.11400f*b - 128; + U[pos]= -0.16874f*r - 0.33126f*g + 0.50000f*b; + V[pos]= +0.50000f*r - 0.41869f*g - 0.08131f*b; + } + } + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+0, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+8, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+128, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y+136, 16, fdtbl_Y, DCY, YDC_HT, YAC_HT); + + // subsample U,V + { + float subU[64], subV[64]; + int yy, xx; + for(yy = 0, pos = 0; yy < 8; ++yy) { + for(xx = 0; xx < 8; ++xx, ++pos) { + int j = yy*32+xx*2; + subU[pos] = (U[j+0] + U[j+1] + U[j+16] + U[j+17]) * 0.25f; + subV[pos] = (V[j+0] + V[j+1] + V[j+16] + V[j+17]) * 0.25f; + } + } + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subU, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, subV, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + } else { + for(y = 0; y < height; y += 8) { + for(x = 0; x < width; x += 8) { + float Y[64], U[64], V[64]; + for(row = y, pos = 0; row < y+8; ++row) { + // row >= height => use last input row + int clamped_row = (row < height) ? row : height - 1; + int base_p = (stbi__flip_vertically_on_write ? (height-1-clamped_row) : clamped_row)*width*comp; + for(col = x; col < x+8; ++col, ++pos) { + // if col >= width => use pixel from last input column + int p = base_p + ((col < width) ? col : (width-1))*comp; + float r = dataR[p], g = dataG[p], b = dataB[p]; + Y[pos]= +0.29900f*r + 0.58700f*g + 0.11400f*b - 128; + U[pos]= -0.16874f*r - 0.33126f*g + 0.50000f*b; + V[pos]= +0.50000f*r - 0.41869f*g - 0.08131f*b; + } + } + + DCY = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, Y, 8, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCU = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, U, 8, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = stbiw__jpg_processDU(s, &bitBuf, &bitCnt, V, 8, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + } + } + } + + // Do the bit alignment of the EOI marker + stbiw__jpg_writeBits(s, &bitBuf, &bitCnt, fillBits); + } + + // EOI + stbiw__putc(s, 0xFF); + stbiw__putc(s, 0xD9); + + return 1; +} + +STBIWDEF int stbi_write_jpg_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s = { 0 }; + stbi__start_write_callbacks(&s, func, context); + return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality); +} + + +#ifndef STBI_WRITE_NO_STDIO +STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality) +{ + stbi__write_context s = { 0 }; + if (stbi__start_write_file(&s,filename)) { + int r = stbi_write_jpg_core(&s, x, y, comp, data, quality); + stbi__end_write_file(&s); + return r; + } else + return 0; +} +#endif + #endif // STB_IMAGE_WRITE_IMPLEMENTATION /* Revision history + 1.16 (2021-07-11) + make Deflate code emit uncompressed blocks when it would otherwise expand + support writing BMPs with alpha channel + 1.15 (2020-07-13) unknown + 1.14 (2020-02-02) updated JPEG writer to downsample chroma channels + 1.13 + 1.12 + 1.11 (2019-08-11) + + 1.10 (2019-02-07) + support utf8 filenames in Windows; fix warnings and platform ifdefs + 1.09 (2018-02-11) + fix typo in zlib quality API, improve STB_I_W_STATIC in C++ + 1.08 (2018-01-29) + add stbi__flip_vertically_on_write, external zlib, zlib quality, choose PNG filter + 1.07 (2017-07-24) + doc fix + 1.06 (2017-07-23) + writing JPEG (using Jon Olick's code) + 1.05 ??? + 1.04 (2017-03-03) + monochrome BMP expansion + 1.03 ??? + 1.02 (2016-04-02) + avoid allocating large structures on the stack + 1.01 (2016-01-16) + STBIW_REALLOC_SIZED: support allocators with no realloc support + avoid race-condition in crc initialization + minor compile issues + 1.00 (2015-09-14) + installable file IO function + 0.99 (2015-09-13) + warning fixes; TGA rle support 0.98 (2015-04-08) added STBIW_MALLOC, STBIW_ASSERT etc 0.97 (2015-01-18) @@ -722,7 +1669,7 @@ int stbi_write_png(char const *filename, int x, int y, int comp, const void *dat add HDR output fix monochrome BMP 0.95 (2014-08-17) - add monochrome TGA output + add monochrome TGA output 0.94 (2014-05-31) rename private functions to avoid conflicts with stb_image.h 0.93 (2014-05-27) @@ -733,3 +1680,45 @@ int stbi_write_png(char const *filename, int x, int y, int comp, const void *dat first public release 0.90 first internal release */ + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/external/oidn/doc/CHANGELOG.md b/external/oidn/doc/CHANGELOG.md new file mode 100644 index 00000000..0412bde7 --- /dev/null +++ b/external/oidn/doc/CHANGELOG.md @@ -0,0 +1,329 @@ +Version History +--------------- + +### Changes in v2.3.0: + +- Significantly improved image quality of the `RT` filter in *high* quality + mode for HDR denoising with prefiltering, i.e., the following combinations + of input features and parameters: + - HDR color + albedo + normal + `cleanAux` + - albedo + - normal + In these cases a much more complex filter is used, which results in lower + performance than before (about 2x). To revert to the previous performance + behavior, please switch to the *balanced* quality mode. +- Added *fast* quality mode (`OIDN_QUALITY_FAST`) for even higher performance + (about 1.5-2x) interactive/real-time previews and lower default memory usage + at the cost of somewhat lower image quality. Currently this is implemented + for the `RT` filter except prefiltering (albedo, normal). In other cases + denoising implicitly falls back to *balanced* mode. +- Added Intel Arrow Lake, Lunar Lake, and Battlemage GPU support +- Execute `Async` functions asynchronously on CPU devices as well +- Load/initialize device modules lazily (improves stability) +- Added `oidnIsCPUDeviceSupported`, `oidnIsSYCLDeviceSupported`, + `oidnIsCUDADeviceSupported`, `oidnIsHIPDeviceSupported`, + and `oidnIsMetalDeviceSupported` API functions for checking whether a + physical device of a particular type is supported +- Release the CUDA primary context when destroying the device object if using + the CUDA driver API +- Added `OIDN_LIBRARY_NAME` CMake option for setting the base name of the Open + Image Denoise library files +- Fixed device creation error with `oidnNewDevice` when the default device of + the specified type (e.g. CUDA) is not supported but there are other + supported non-default devices of that type in the system +- Fixed CMake error when building with Metal support using non-Apple Clang +- Fixed iOS build errors +- Added support for building with ROCm 6.x +- `oidnNewCUDADevice` and `oidnNewHIPDevice` no longer accept negative device + IDs. If the goal is to use the current device, its actual ID needs to be + passed. +- Upgraded to oneTBB 2021.12.0 in the official binaries +- Training: + - Improved training performance on CUDA and MPS devices, added `--compile` + option + - Added `--quality` option (`high`, `balanced`, `fast`) for selecting the + size of the model to train, changed the default from `balanced` to `high` + - Added new models to the `--model` option (`unet_small`, `unet_large`, + `unet_xl`) + - Added support for training with prefiltered auxiliary features by + passing `--aux_results` to `preprocess.py` and `train.py` + - Added experimental support for depth (`z`) + +### Changes in v2.2.2: + +- Fully fixed GPU memory leak when releasing SYCL, CUDA and HIP device objects +- Fixed CUDA context error in some cases when using the CUDA driver API +- Fixed crash on systems with an unsupported AMD Vega integrated GPU and old + driver + +### Changes in v2.2.1: + +- Fixed memory leak when releasing SYCL, CUDA and HIP device objects +- Fixed memory leak when initializing Metal filters + +### Changes in v2.2.0: + +- Improved denoising quality (better fine detail reconstruction) +- Added Intel Meteor Lake GPU support (in Intel® Core™ Ultra Processors) +- Added Metal device for Apple silicon GPUs (requires macOS Ventura or newer) +- Added ARM64 (AArch64) CPU support on Windows and Linux (in addition to macOS) +- Improved CPU performance +- Significantly reduced overhead of committing filter changes +- Switched to the CUDA driver API by default, added the `OIDN_DEVICE_CUDA_API` + CMake option for manually selecting between the driver and runtime APIs +- Fixed crash when releasing a buffer after releasing the device + +### Changes in v2.1.0: + +- Added support for denoising 1-channel (e.g. alpha) and 2-channel images +- Added support for arbitrary combinations of input image data types + (e.g. `OIDN_FORMAT_FLOAT3` for `color` but `OIDN_FORMAT_HALF3` for `albedo`) +- Improved performance for most dedicated GPU architectures +- Re-added `OIDN_STATIC_LIB` CMake option which enables building as a static + (CPU support only) or a hybrid static/shared (GPU support as well) library +- Added `release()` method to C++ API objects (`DeviceRef`, `BufferRef`, + `FilterRef`) +- Fixed possible crash when releasing GPU devices, buffers or filters +- Fixed possible crash at process exit for some SYCL runtime versions +- Fixed image quality inconsistency on Intel integrated GPUs, but at the cost + of some performance loss +- Fixed future Windows driver compatibility for Intel integrated GPUs +- Fixed rare output corruption on AMD RDNA2 GPUs +- Fixed device detection on Windows when the path to the library has non-ANSI + characters +- Added support for Intel® oneAPI DPC++/C++ Compiler 2024.0 and compatible + open source compiler versions +- Upgraded to oneTBB 2021.10.0 in the official binaries +- Improved detection of old oneTBB versions + +### Changes in v2.0.1: + +- Fixed performance issue for Intel integrated GPUs using recent Linux drivers +- Fixed crash on systems with both dedicated and integrated AMD GPUs +- Fixed importing `D3D12_RESOURCE`, `D3D11_RESOURCE`, `D3D11_RESOURCE_KMT`, + `D3D11_TEXTURE` and `D3D11_TEXTURE_KMT` external memory types on CUDA and + HIP devices +- Fixed the macOS deployment target of the official x86 binaries (lowered from + 11.0 to 10.11) +- Minor improvements to verbose output + +### Changes in v2.0.0: + +- Added SYCL device for Intel Xe architecture GPUs (Xe-LP, Xe-HPG and Xe-HPC) +- Added CUDA device for NVIDIA Volta, Turing, Ampere, Ada Lovelace and Hopper + architecture GPUs +- Added HIP device for AMD RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) + architecture GPUs +- Added new buffer API functions for specifying the storage type (host, device + or managed), copying data to/from the host, and importing external buffers from + graphics APIs (e.g. Vulkan, Direct3D 12) +- Removed the `oidnMapBuffer` and `oidnUnmapBuffer` functions +- Added support for asynchronous execution (e.g. `oidnExecuteFilterAsync`, + `oidnSyncDevice` functions) +- Added physical device API for querying the supported devices in the system +- Added functions for creating a device from a physical device ID, UUID, LUID + or PCI address (e.g. `oidnNewDeviceByID`) +- Added SYCL, CUDA and HIP interoperability API functions (e.g. `oidnNewSYCLDevice`, + `oidnExecuteSYCLFilterAsync`) +- Added `type` device parameter for querying the device type +- Added `systemMemorySupported` and `managedMemorySupported` device parameters + for querying memory allocations supported by the device +- Added `externalMemoryTypes` device parameter for querying the supported + external memory handle types +- Added `quality` filter parameter for setting the filtering quality mode (*high* + or *balanced* quality) +- Minor API changes with backward compatibility: + - Added `oidn(Get|Set)(Device|Filter)(Bool|Int|Float)` functions and + deprecated `oidn(Get|Set)(Device|Filter)(1b|1i|1f)` functions + - Added `oidnUnsetFilter(Image|Data)` functions and deprecated + `oidnRemoveFilter(Image|Data)` functions + - Renamed `alignment` and `overlap` filter parameters to `tileAlignment` + and `tileOverlap` but the old names remain supported +- Removed `OIDN_STATIC_LIB` and `OIDN_STATIC_RUNTIME` CMake options due to + technical limitations +- Fixed over-conservative buffer bounds checking for images with custom strides +- Upgraded to oneTBB 2021.9.0 in the official binaries + +### Changes in v1.4.3: + +- Fixed hardcoded library paths in installed macOS binaries +- Disabled VTune profiling support of oneDNN kernels by default, can be + enabled using CMake options if required (`DNNL_ENABLE_JIT_PROFILING` and + `DNNL_ENABLE_ITT_TASKS`) +- Upgraded to oneTBB 2021.5.0 in the official binaries + +### Changes in v1.4.2: + +- Added support for 16-bit half-precision floating-point images +- Added `oidnGetBufferData` and `oidnGetBufferSize` functions +- Fixed performance issue on x86 hybrid architecture CPUs (e.g. Alder Lake) +- Fixed build error when using OpenImageIO 2.3 or later +- Upgraded to oneTBB 2021.4.0 in the official binaries + +### Changes in v1.4.1: + +- Fixed crash when in-place denoising images with certain unusual resolutions +- Fixed compile error when building for Apple Silicon using some unofficial + builds of ISPC + +### Changes in v1.4.0: + +- Improved fine detail preservation +- Added the `cleanAux` filter parameter for further improving quality when the + auxiliary feature (albedo, normal) images are noise-free +- Added support for denoising auxiliary feature images, which can be used + together with the new `cleanAux` parameter for improving quality when the + auxiliary images are noisy (recommended for final frame denoising) +- Normals are expected to be in the [-1, 1] range (but still do not have to + be normalized) +- Added the `oidnUpdateFilterData` function which must be called when the + contents of an opaque data parameter bound to a filter (e.g. `weights`) has + been changed after committing the filter +- Added the `oidnRemoveFilterImage` and `oidnRemoveFilterData` functions for + removing previously set image and opaque data parameters of filters +- Reduced the overhead of `oidnCommitFilter` to zero in some cases (e.g. when + changing already set image buffers/pointers or the `inputScale` parameter) +- Reduced filter memory consumption by about 35% +- Reduced total memory consumption significantly when using multiple filters + that belong to the same device +- Reduced the default maximum memory consumption to 3000 MB +- Added the `OIDN_FILTER_RT` and `OIDN_FILTER_RTLIGHTMAP` CMake options for + excluding the trained filter weights from the build to significantly + decrease its size +- Fixed detection of static TBB builds on Windows +- Fixed compile error when using future glibc versions +- Added `oidnBenchmark` option for setting custom resolutions +- Upgraded to oneTBB 2021.2.0 in the official binaries + +### Changes in v1.3.0: + +- Improved denoising quality + - Improved sharpness of fine details / less blurriness + - Fewer noisy artifacts +- Slightly improved performance and lowered memory consumption +- Added directional (e.g. spherical harmonics) lightmap denoising to the + `RTLightmap` filter +- Added `inputScale` filter parameter which generalizes the existing + (and thus now deprecated) `hdrScale` parameter for non-HDR images +- Added native support for Apple Silicon and the BNNS library on macOS + (currently requires rebuilding from source) +- Added `OIDN_NEURAL_RUNTIME` CMake option for setting the neural network + runtime library +- Reduced the size of the library binary +- Fixed compile error on some older macOS versions +- Upgraded release builds to use oneTBB 2021.1.1 +- Removed tbbmalloc dependency +- Appended the library version to the name of the directory containing the + installed CMake files +- Training: + - Faster training performance + - Added mixed precision training (enabled by default) + - Added efficient data-parallel training on multiple GPUs + - Enabled preprocessing datasets multiple times with possibly different + options + - Minor bugfixes + +### Changes in v1.2.4: + +- Added OIDN_API_NAMESPACE CMake option that allows to put all API functions + inside a user-defined namespace +- Fixed bug when TBB_USE_GLIBCXX_VERSION is defined +- Fixed compile error when using an old compiler which does not support + OpenMP SIMD +- Added compatibility with oneTBB 2021 +- Export only necessary symbols on Linux and macOS + +### Changes in v1.2.3: + +- Fixed incorrect detection of AVX-512 on macOS (sometimes causing a crash) +- Fixed inconsistent performance and costly initialization for AVX-512 +- Fixed JIT'ed AVX-512 kernels not showing up correctly in VTune + +### Changes in v1.2.2: + +- Fixed unhandled exception when canceling filter execution from the + progress monitor callback function + +### Changes in v1.2.1: + +- Fixed tiling artifacts when in-place denoising (using one of the input + images as the output) high-resolution (> 1080p) images +- Fixed ghosting/color bleeding artifacts in black regions when using + albedo/normal buffers +- Fixed error when building as a static library (`OIDN_STATIC_LIB` option) +- Fixed compile error for ISPC 1.13 and later +- Fixed minor TBB detection issues +- Fixed crash on pre-SSE4 CPUs when using some recent compilers (e.g. GCC 10) +- Link C/C++ runtime library dynamically on Windows too by default +- Renamed example apps (`oidnDenoise`, `oidnTest`) +- Added benchmark app (`oidnBenchmark`) +- Fixed random data augmentation seeding in training +- Fixed training warning with PyTorch 1.5 and later + +### Changes in v1.2.0: + +- Added neural network training code +- Added support for specifying user-trained models at runtime +- Slightly improved denoising quality (e.g. less ringing artifacts, less + blurriness in some cases) +- Improved denoising speed by about 7-38% (mostly depending on the compiler) +- Added `OIDN_STATIC_RUNTIME` CMake option (for Windows only) +- Added support for OpenImageIO to the example apps (disabled by default) +- Added check for minimum supported TBB version +- Find debug versions of TBB +- Added testing + +### Changes in v1.1.0: + +- Added `RTLightmap` filter optimized for lightmaps +- Added `hdrScale` filter parameter for manually specifying the mapping + of HDR color values to luminance levels + +### Changes in v1.0.0: + +- Improved denoising quality + - More details preserved + - Less artifacts (e.g. noisy spots, color bleeding with albedo/normal) +- Added `maxMemoryMB` filter parameter for limiting the maximum memory + consumption regardless of the image resolution, potentially at the cost + of lower denoising speed. This is internally implemented by denoising the + image in tiles +- Significantly reduced memory consumption (but slightly lower performance) + for high resolutions (> 2K) by default: limited to about 6 GB +- Added `alignment` and `overlap` filter parameters that can be queried for + manual tiled denoising +- Added `verbose` device parameter for setting the verbosity of the console + output, and disabled all console output by default +- Fixed crash for zero-sized images + +### Changes in v0.9.0: + +- Reduced memory consumption by about 38% +- Added support for progress monitor callback functions +- Enabled fully concurrent execution when using multiple devices +- Clamp LDR input and output colors to 1 +- Fixed issue where some memory allocation errors were not reported + +### Changes in v0.8.2: + +- Fixed wrong HDR output when the input contains infinities/NaNs +- Fixed wrong output when multiple filters were executed concurrently on + separate devices with AVX-512 support. Currently the filter executions are + serialized as a temporary workaround, and a full fix will be included in a + future release. +- Added `OIDN_STATIC_LIB` CMake option for building as a static library + (requires CMake 3.13.0 or later) +- Fixed CMake error when adding the library with add_subdirectory() to a project + +### Changes in v0.8.1: + +- Fixed wrong path to TBB in the generated CMake configs +- Fixed wrong rpath in the binaries +- Fixed compile error on some macOS systems +- Fixed minor compile issues with Visual Studio +- Lowered the CPU requirement to SSE4.1 +- Minor example update + +### Changes in v0.8.0: + +- Initial beta release diff --git a/external/oidn/doc/LICENSE.txt b/external/oidn/doc/LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/external/oidn/doc/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/external/oidn/doc/README.md b/external/oidn/doc/README.md new file mode 100644 index 00000000..6efb8cc5 --- /dev/null +++ b/external/oidn/doc/README.md @@ -0,0 +1,2120 @@ +# Intel® Open Image Denoise + +This is release v2.3.0 of Intel Open Image Denoise. For changes and new +features see the [changelog](CHANGELOG.md). Visit +https://www.openimagedenoise.org for more information. + +# Overview + +Intel Open Image Denoise is an open source library of high-performance, +high-quality denoising filters for images rendered with ray tracing. +Intel Open Image Denoise is part of the [Intel® Rendering +Toolkit](https://software.intel.com/en-us/oneapi/render-kit) and is +released under the permissive [Apache 2.0 +license](http://www.apache.org/licenses/LICENSE-2.0). + +The purpose of Intel Open Image Denoise is to provide an open, +high-quality, efficient, and easy-to-use denoising library that allows +one to significantly reduce rendering times in ray tracing based +rendering applications. It filters out the Monte Carlo noise inherent to +stochastic ray tracing methods like path tracing, reducing the amount of +necessary samples per pixel by even multiple orders of magnitude +(depending on the desired closeness to the ground truth). A simple but +flexible C/C++ API ensures that the library can be easily integrated +into most existing or new rendering solutions. + +At the heart of the Intel Open Image Denoise library is a collection of +efficient deep learning based denoising filters, which were trained to +handle a wide range of samples per pixel (spp), from 1 spp to almost +fully converged. Thus it is suitable for both preview and final-frame +rendering. The filters can denoise images either using only the noisy +color (*beauty*) buffer, or, to preserve as much detail as possible, can +optionally utilize auxiliary feature buffers as well (e.g. albedo, +normal). Such buffers are supported by most renderers as arbitrary +output variables (AOVs) or can be usually implemented with little +effort. + +Although the library ships with a set of pre-trained filter models, it +is not mandatory to use these. To optimize a filter for a specific +renderer, sample count, content type, scene, etc., it is possible to +train the model using the included training toolkit and user-provided +image datasets. + +Intel Open Image Denoise supports a wide variety of CPUs and GPUs from +different vendors: + + - Intel® 64 architecture compatible CPUs (with at least SSE4.1) + + - ARM64 (AArch64) architecture CPUs (e.g. Apple silicon CPUs) + + - Intel Xe and Xe2 architecture dedicated and integrated GPUs, + including Intel® Arc™ A-Series Graphics, Intel® Data Center GPU Flex + Series, Intel® Data Center GPU Max Series, Intel® Iris® Xe Graphics, + Intel® Core™ Ultra Processors with Intel® Arc™ Graphics, 11th-14th + Gen Intel® Core™ processor graphics, and related Intel Pentium® and + Celeron® processors (Xe-LP, Xe-LPG, Xe-LPG+, Xe-HPG, Xe-HPC, + Xe2-LPG, and Xe2-HPG microarchitectures) + + - NVIDIA GPUs with Volta, Turing, Ampere, Ada Lovelace, and Hopper + architectures + + - AMD GPUs with RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures + + - Apple silicon GPUs (M1 and newer) + +It runs on most machines ranging from laptops to workstations and +compute nodes in HPC systems. It is efficient enough to be suitable not +only for offline rendering, but, depending on the hardware used, also +for interactive or even real-time ray tracing. + +Intel Open Image Denoise exploits modern instruction sets like SSE4, +AVX2, AVX-512, and NEON on CPUs, Intel® Xe Matrix Extensions (Intel® +XMX) on Intel GPUs, and tensor cores on NVIDIA GPUs to achieve high +denoising performance. + +## System Requirements + +You need an Intel® 64 (with SSE4.1) or ARM64 architecture compatible CPU +to run Intel Open Image Denoise, and you need a 64-bit Windows, Linux, +or macOS operating system as well. + +For Intel GPU support, please also install the latest Intel graphics +drivers: + + - Windows: [Intel® Graphics + Driver](https://www.intel.com/content/www/us/en/download/726609/intel-arc-iris-xe-graphics-whql-windows.html) + 31.0.101.4953 or newer + + - Linux: [Intel® software for General Purpose GPU + capabilities](https://dgpu-docs.intel.com/driver/installation.html) + release + [20230323](https://dgpu-docs.intel.com/releases/stable_602_20230323.html) + or newer + +Using older driver versions is *not* supported and Intel Open Image +Denoise might run with only limited capabilities, have suboptimal +performance or might be unstable. Also, Resizable BAR *must* be enabled +in the BIOS for Intel dedicated GPUs if running on Linux, and strongly +recommended if running on Windows. + +For NVIDIA GPU support, please also install the latest [NVIDIA graphics +drivers](https://www.nvidia.com/en-us/geforce/drivers/): + + - Windows: Version 452.39 or newer + + - Linux: Version 450.80.02 or newer + +For AMD GPU support, please also install the latest [AMD graphics +drivers](https://www.amd.com/en/support): + + - Windows: AMD Software: Adrenalin Edition 23.4.3 Driver Version + 22.40.51.05 or newer + + - Linux: [Radeon Software for + Linux](https://www.amd.com/en/support/linux-drivers) version 22.40.5 + or newer + +For Apple GPU support, macOS Ventura or newer is required. + +## Support and Contact + +Intel Open Image Denoise is under active development, and though we do +our best to guarantee stable release versions a certain number of bugs, +as-yet-missing features, inconsistencies, or any other issues are still +possible. Should you find any such issues please report them immediately +via the [Intel Open Image Denoise GitHub Issue +Tracker](https://github.com/OpenImageDenoise/oidn/issues) (or, if you +should happen to have a fix for it, you can also send us a pull +request); for missing features please contact us via email at +. + +Join our [mailing +list](https://groups.google.com/d/forum/openimagedenoise/) to receive +release announcements and major news regarding Intel Open Image Denoise. + +## Citation + +If you use Intel Open Image Denoise in a research publication, please +cite the project using the following BibTeX entry: + +``` bibtex +@misc{OpenImageDenoise, + author = {Attila T. {\'A}fra}, + title = {{Intel\textsuperscript{\textregistered} Open Image Denoise}}, + year = {2024}, + note = {\url{https://www.openimagedenoise.org}} +} +``` + +# Compilation + +The latest Intel Open Image Denoise sources are always available at the +[Intel Open Image Denoise GitHub +repository](http://github.com/OpenImageDenoise/oidn). The default +`master` branch should always point to the latest tested bugfix release. + +## Prerequisites + +You can clone the latest Intel Open Image Denoise sources using Git with +the [Git Large File Storage (LFS)](https://git-lfs.github.com/) +extension installed: + + git clone --recursive https://github.com/OpenImageDenoise/oidn.git + +Please note that installing the Git LFS extension is *required* to +correctly clone the repository. Cloning without Git LFS will seemingly +succeed but actually some of the files will be invalid and thus +compilation will fail. + +Intel Open Image Denoise currently supports 64-bit Linux, Windows, and +macOS operating systems. Before you can build Intel Open Image Denoise +you need the following basic prerequisites: + + - [CMake](http://www.cmake.org) 3.15 or newer + + - A C++11 compiler (we recommend using a Clang-based compiler but also + support GCC and Microsoft Visual Studio 2015 and newer) + + - Python 3 + +To build support for different types of CPUs and GPUs, the following +additional prerequisites are needed: + +#### CPU device: + + - [Intel® SPMD Program Compiler (ISPC)](http://ispc.github.io) 1.21.0 + or newer. Please obtain a release of ISPC from the [ISPC downloads + page](https://ispc.github.io/downloads.html). The build system looks + for ISPC in the `PATH` and in the directory right “next to” the + checked-out Intel Open Image Denoise sources. For example, if Intel + Open Image Denoise is in `~/Projects/oidn`, ISPC will also be + searched in `~/Projects/ispc-v1.21.0-linux`. Alternatively set the + CMake variable `ISPC_EXECUTABLE` to the location of the ISPC + compiler. + + - [Intel® Threading Building + Blocks](https://github.com/oneapi-src/oneTBB) (TBB) 2017 or newer + +#### SYCL device for Intel GPUs: + + - oneAPI DPC++ Compiler, one of the following versions (other versions + are *not* supported): + + - [oneAPI DPC++ + Compiler 2023-10-26](https://github.com/intel/llvm/releases/tag/nightly-2023-10-26). + This is the open source version of the compiler, which is more + up-to-date but less stable, so we *strongly* recommend to use + this exact version. On Linux we also recommend to rebuild it + from source with the `--disable-fusion` flag to minimize the + size of the SYCL runtime. + - [oneAPI DPC++ + Compiler 2022-12](https://github.com/intel/llvm/releases/tag/2022-12). + *Must* be rebuilt from source. + - [Intel® oneAPI DPC++/C++ + Compiler](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html) + 2024.1 or newer + + - Intel® Graphics Offline Compiler for OpenCL™ Code (OCLOC) + + - Windows: Version + [31.0.101.5082](https://registrationcenter-download.intel.com/akdlm/IRC_NAS/77a13ae6-6100-4ddc-b069-0086ff44730c/ocloc_win_101.5082.zip) + or newer as a [standalone component of Intel® oneAPI + Toolkits](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html), + which must be extracted and its contents added to the `PATH`. + Also included with [Intel® oneAPI Base + Toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit). + + - Linux: Included with [Intel® software for General Purpose GPU + capabilities](https://dgpu-docs.intel.com) release + [20231219](https://dgpu-docs.intel.com/releases/stable_775_20_20231219.html) + or newer (install at least `intel-opencl-icd` on Ubuntu, + `intel-ocloc` on RHEL or SLES). Also available with [Intel® + Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ + Driver](https://github.com/intel/compute-runtime). + + - If using Intel® oneAPI DPC++/C++ Compiler: + [CMake](http://www.cmake.org) 3.25.2 or newer + + - [Ninja](https://ninja-build.org) or Make as the CMake generator. The + Visual Studio generator is *not* supported. + +#### CUDA device for NVIDIA GPUs: + + - [CMake](http://www.cmake.org) 3.18 or newer + + - [NVIDIA CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) + 11.8 or newer + +#### HIP device for AMD GPUs: + + - [CMake](http://www.cmake.org) 3.21 or newer + + - [Ninja](https://ninja-build.org) or Make as the CMake generator. The + Visual Studio generator is *not* supported. + + - [AMD ROCm (HIP SDK)](https://rocm.docs.amd.com) v5.5.0 or newer. + + - Perl (e.g. [Strawberry Perl](https://strawberryperl.com) on Windows) + +#### Metal device for Apple GPUs: + + - [CMake](http://www.cmake.org) 3.21 or newer + + - [Xcode](https://developer.apple.com/xcode/) 15.0 or newer + +Depending on your operating system, you can install some required +dependencies (e.g., TBB) using `yum` or `apt-get` on Linux, +[Homebrew](https://brew.sh) or [MacPorts](https://www.macports.org) on +macOS, and [`vcpkg`](https://vcpkg.io) on Windows. For the other +dependencies please download the necessary packages or installers and +follow the included instructions. + +## Compiling on Linux/macOS + +If you are building with SYCL support on Linux, make sure that the DPC++ +compiler is properly set up. The open source oneAPI DPC++ Compiler can +be downloaded and simply extracted. However, before using the compiler, +the environment must be set up as well with the following command: + + source ./dpcpp_compiler/startup.sh + +The `startup.sh` script will put `clang` and `clang++` from the oneAPI +DPC++ Compiler into your `PATH`. + +Alternatively, if you have installed Intel® oneAPI DPC++/C++ Compiler +instead, you can set up the compiler by sourcing the `vars.sh` script in +the `env` directory of the compiler install directory, for example, + + source /opt/intel/oneAPI/compiler/latest/env/vars.sh + +This script will put the `icx` and `icpx` compiler executables from the +Intel(R) oneAPI DPC++/C++ Compiler in your `PATH`. + + - Create a build directory, and go into it using a command prompt + + mkdir oidn/build + cd oidn/build + + (We do recommend having separate build directories for different + configurations such as release, debug, etc.). + + - CMake will use the default compiler, which on most Linux machines is + `gcc`, but it can be switched to `clang` by executing the following: + + cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .. + + If you are building with SYCL support, you must set the DPC++ + compiler (`clang`/`clang++` or `icx`/`icpx`) as the C/C++ compiler + here. Note that the compiler variables cannot be changed after the + first `cmake` or `ccmake` run. + + - Open the CMake configuration dialog + + ccmake .. + + - Make sure to properly set the build mode and enable the components + and options you need. By default only CPU support is built, so SYCL + and other device support must be enabled manually (e.g. with the + `OIDN_DEVICE_SYCL` option). Then type ’c’onfigure and ’g’enerate. + When back on the command prompt, build the library using + + ninja + +## Compiling on Windows + +If you are building with SYCL support, make sure that the DPC++ compiler +is properly set up. The open source oneAPI DPC++ Compiler can be +downloaded and simply extracted. However, before using the compiler, the +environment must be set up. To achieve this, open the “x64 Native Tools +Command Prompt for VS” that ships with Visual Studio and execute the +following commands: + + set "DPCPP_DIR=path_to_dpcpp_compiler" + set "PATH=%DPCPP_DIR%\bin;%PATH%" + set "PATH=%DPCPP_DIR%\lib;%PATH%" + set "CPATH=%DPCPP_DIR%\include;%CPATH%" + set "INCLUDE=%DPCPP_DIR%\include;%INCLUDE%" + set "LIB=%DPCPP_DIR%\lib;%LIB%" + +The `path_to_dpcpp_compiler` should point to the unpacked oneAPI DPC++ +Compiler. + +Alternatively, if you have installed Intel® oneAPI DPC++/C++ Compiler +instead, you can either open a regular “Command Prompt” and execute the +`vars.bat` script in the `env` directory of the compiler install +directory, for example + + C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\vars.bat + +or simply open the installed “Intel oneAPI command prompt for Intel 64 +for Visual Studio”. Either way, the `icx` compiler executable from the +Intel® oneAPI DPC++/C++ Compiler will be added to your `PATH`. + +On Windows we highly recommend to use Ninja as the CMake generator +because not all devices can be built using the Visual Studio generator +(e.g. SYCL). + + - Create a build directory, and go into it using a Visual Studio + command prompt + + mkdir oidn/build + cd oidn/build + + (We do recommend having separate build directories for different + configurations such as release, debug, etc.). + + - CMake will use the default compiler, which on most Windows machines + is MSVC, but it can be switched to `clang` by executing the + following: + + cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .. + + If you are building with SYCL support, you must set the DPC++ + compiler (`clang`/`clang++` or `icx`) as the C/C++ compiler here. + Note that the compiler variables cannot be changed after the first + `cmake` or `cmake-gui` run. + + - Open the CMake GUI (`cmake-gui.exe`) + + cmake-gui .. + + - Make sure to properly set the build mode and enable the components + and options you need. By default only CPU support is built, so SYCL + and other device support must be enabled manually + (e.g. `OIDN_DEVICE_SYCL` option). Then click on Configure and + Generate. When back on the command prompt, build the library using + + ninja + +## CMake Configuration + +The following list describes the options that can be configured in +CMake: + + - `CMAKE_BUILD_TYPE`: Can be used to switch between Debug mode + (Debug), Release mode (Release) (default), and Release mode with + enabled assertions and debug symbols (RelWithDebInfo). + + - `OIDN_STATIC_LIB`: Build Open Image Denoise as a static (if only CPU + support is enabled) or a hybrid static/shared (if GPU support is + enabled as well) library. + + - `OIDN_LIBRARY_NAME`: Specifies the base name of the Open Image + Denoise library files (`OpenImageDenoise` by default). + + - `OIDN_API_NAMESPACE`: Specifies a namespace to put all Open Image + Denoise API symbols inside. This is also added as an outer namespace + for the C++ wrapper API. By default no namespace is used and plain C + symbols are exported. + + - `OIDN_DEVICE_CPU`: Enable CPU device support (ON by default). + + - `OIDN_DEVICE_SYCL`: Enable SYCL device support for Intel GPUs (OFF + by default). + + - `OIDN_DEVICE_SYCL_AOT`: Enable ahead-of-time (AOT) compilation for + SYCL kernels (ON by default). Turning this off removes dependency on + OCLOC at build time and decreases binary size but significantly + increases initialization time at runtime, so it is recommended only + for development. + + - `OIDN_DEVICE_CUDA`: Enable CUDA device support for NVIDIA GPUs (OFF + by default). + + - `OIDN_DEVICE_CUDA_API`: Use the CUDA driver API (`Driver`, default), + the static CUDA runtime library (`RuntimeStatic`), or the shared + CUDA runtime library (`RuntimeShared`). + + - `OIDN_DEVICE_HIP`: Enable HIP device support for AMD GPUs (OFF by + default). + + - `OIDN_DEVICE_METAL`: Enable Metal device support for Apple GPUs (OFF + by default). + + - `OIDN_FILTER_RT`: Include the trained weights of the `RT` filter in + the build (ON by default). Turning this OFF significantly decreases + the size of the library binary, while the filter remains functional + if the weights are set by the user at runtime. + + - `OIDN_FILTER_RTLIGHTMAP`: Include the trained weights of the + `RTLightmap` filter in the build (ON by default). + + - `OIDN_APPS`: Enable building example and test applications (ON by + default). + + - `OIDN_APPS_OPENIMAGEIO`: Enable + [OpenImageIO](http://openimageio.org/) support in the example and + test applications to be able to load/save OpenEXR, PNG, and other + image file formats (OFF by default). + + - `OIDN_INSTALL_DEPENDENCIES`: Enable installing the dependencies + (e.g. TBB, SYCL runtime) as well. + + - `TBB_ROOT`: The path to the TBB installation (autodetected by + default). + + - `ROCM_PATH`: The path to the ROCm installation (autodetected by + default). + + - `OpenImageIO_ROOT`: The path to the OpenImageIO installation + (autodetected by default). + +# Documentation + +The following +[documentation](https://github.com/OpenImageDenoise/oidn/blob/master/readme.pdf "Intel Open Image Denoise Documentation") +of Intel Open Image Denoise can also be found as a [pdf +document](https://github.com/OpenImageDenoise/oidn/blob/master/readme.pdf "Intel Open Image Denoise Documentation"). + +# Open Image Denoise API + +Open Image Denoise provides a C99 API (also compatible with C++) and a +C++11 wrapper API as well. For simplicity, this document mostly refers +to the C99 version of the API. + +The API is designed in an object-oriented manner, e.g. it contains +device objects (`OIDNDevice` type), buffer objects (`OIDNBuffer` type), +and filter objects (`OIDNFilter` type). All objects are +reference-counted, and handles can be released by calling the +appropriate release function (e.g. `oidnReleaseDevice`) or retained by +incrementing the reference count (e.g. `oidnRetainDevice`). + +An important aspect of objects is that setting their parameters do not +have an immediate effect (with a few exceptions). Instead, objects with +updated parameters are in an unusable state until the parameters get +explicitly committed to a given object. The commit semantic allows for +batching up multiple small changes, and specifies exactly when changes +to objects will occur. + +All API calls are thread-safe, but operations that use the same device +will be serialized, so the amount of API calls from different threads +should be minimized. + +## Examples + +To have a quick overview of the C99 and C++11 APIs, see the following +simple example code snippets. + +### Basic Denoising (C99 API) + +``` cpp +#include +... + +// Create an Open Image Denoise device +OIDNDevice device = oidnNewDevice(OIDN_DEVICE_TYPE_DEFAULT); // CPU or GPU if available +// OIDNDevice device = oidnNewDevice(OIDN_DEVICE_TYPE_CPU); +oidnCommitDevice(device); + +// Create buffers for input/output images accessible by both host (CPU) and device (CPU/GPU) +OIDNBuffer colorBuf = oidnNewBuffer(device, width * height * 3 * sizeof(float)); +OIDNBuffer albedoBuf = ... + +// Create a filter for denoising a beauty (color) image using optional auxiliary images too +// This can be an expensive operation, so try not to create a new filter for every image! +OIDNFilter filter = oidnNewFilter(device, "RT"); // generic ray tracing filter +oidnSetFilterImage(filter, "color", colorBuf, + OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); // beauty +oidnSetFilterImage(filter, "albedo", albedoBuf, + OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); // auxiliary +oidnSetFilterImage(filter, "normal", normalBuf, + OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); // auxiliary +oidnSetFilterImage(filter, "output", colorBuf, + OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); // denoised beauty +oidnSetFilterBool(filter, "hdr", true); // beauty image is HDR +oidnCommitFilter(filter); + +// Fill the input image buffers +float* colorPtr = (float*)oidnGetBufferData(colorBuf); +... + +// Filter the beauty image +oidnExecuteFilter(filter); + +// Check for errors +const char* errorMessage; +if (oidnGetDeviceError(device, &errorMessage) != OIDN_ERROR_NONE) + printf("Error: %s\n", errorMessage); + +// Cleanup +oidnReleaseBuffer(colorBuf); +... +oidnReleaseFilter(filter); +oidnReleaseDevice(device); +``` + +### Basic Denoising (C++11 API) + +``` cpp +#include +... + +// Create an Open Image Denoise device +oidn::DeviceRef device = oidn::newDevice(); // CPU or GPU if available +// oidn::DeviceRef device = oidn::newDevice(oidn::DeviceType::CPU); +device.commit(); + +// Create buffers for input/output images accessible by both host (CPU) and device (CPU/GPU) +oidn::BufferRef colorBuf = device.newBuffer(width * height * 3 * sizeof(float)); +oidn::BufferRef albedoBuf = ... + +// Create a filter for denoising a beauty (color) image using optional auxiliary images too +// This can be an expensive operation, so try no to create a new filter for every image! +oidn::FilterRef filter = device.newFilter("RT"); // generic ray tracing filter +filter.setImage("color", colorBuf, oidn::Format::Float3, width, height); // beauty +filter.setImage("albedo", albedoBuf, oidn::Format::Float3, width, height); // auxiliary +filter.setImage("normal", normalBuf, oidn::Format::Float3, width, height); // auxiliary +filter.setImage("output", colorBuf, oidn::Format::Float3, width, height); // denoised beauty +filter.set("hdr", true); // beauty image is HDR +filter.commit(); + +// Fill the input image buffers +float* colorPtr = (float*)colorBuf.getData(); +... + +// Filter the beauty image +filter.execute(); + +// Check for errors +const char* errorMessage; +if (device.getError(errorMessage) != oidn::Error::None) + std::cout << "Error: " << errorMessage << std::endl; +``` + +### Denoising with Prefiltering (C++11 API) + +``` cpp +// Create a filter for denoising a beauty (color) image using prefiltered auxiliary images too +oidn::FilterRef filter = device.newFilter("RT"); // generic ray tracing filter +filter.setImage("color", colorBuf, oidn::Format::Float3, width, height); // beauty +filter.setImage("albedo", albedoBuf, oidn::Format::Float3, width, height); // auxiliary +filter.setImage("normal", normalBuf, oidn::Format::Float3, width, height); // auxiliary +filter.setImage("output", outputBuf, oidn::Format::Float3, width, height); // denoised beauty +filter.set("hdr", true); // beauty image is HDR +filter.set("cleanAux", true); // auxiliary images will be prefiltered +filter.commit(); + +// Create a separate filter for denoising an auxiliary albedo image (in-place) +oidn::FilterRef albedoFilter = device.newFilter("RT"); // same filter type as for beauty +albedoFilter.setImage("albedo", albedoBuf, oidn::Format::Float3, width, height); +albedoFilter.setImage("output", albedoBuf, oidn::Format::Float3, width, height); +albedoFilter.commit(); + +// Create a separate filter for denoising an auxiliary normal image (in-place) +oidn::FilterRef normalFilter = device.newFilter("RT"); // same filter type as for beauty +normalFilter.setImage("normal", normalBuf, oidn::Format::Float3, width, height); +normalFilter.setImage("output", normalBuf, oidn::Format::Float3, width, height); +normalFilter.commit(); + +// Prefilter the auxiliary images +albedoFilter.execute(); +normalFilter.execute(); + +// Filter the beauty image +filter.execute(); +``` + +## Upgrading from Open Image Denoise 1.x + +Open Image Denoise 2 introduces GPU support, which requires implementing +some minor changes in applications. There are also small API changes, +additions and improvements in this new version. In this section we +summarize the necessary code modifications and also briefly mention the +new features that users might find useful when upgrading to version 2.x. +For a full description of the changes and new functionality, please see +the API reference. + +### Buffers + +The most important required change is related to how data is passed to +Open Image Denoise. If the application is explicitly using only the CPU +(by specifying `OIDN_DEVICE_TYPE_CPU`), no changes should be necessary. +But if it wants to support GPUs as well, passing pointers to memory +allocated with the system allocator (e.g. `malloc`) would raise an error +because GPUs cannot access such memory in almost all cases. + +To ensure compatibility with any kind of device, including GPUs, the +application should use `OIDNBuffer` objects to store all image data +passed to the library. Memory allocated using buffers is by default +accessible by both the host (CPU) and the device (CPU or GPU). + +Ideally, the application should directly read and write image data +to/from such buffers to avoid redundant and inefficient data copying. If +this cannot be implemented, the application should try to minimize the +overhead of copying as much as possible: + + - Data should be copied to/from buffers only if the data in system + memory indeed cannot be accessed by the device. This can be + determined by simply querying the `systemMemorySupported` device + parameter. If system memory is accessible by the device, no buffers + are necessary and filter image parameters can be set with + `oidnSetSharedFilterImage`. + + - If the image data cannot be accessed by the device, buffers must be + created and the data must be copied to/from these buffers. These + buffers should be directly passed to filters as image parameters + instead of the original pointers using `oidnSetFilterImage`. + + - Data should be copied asynchronously using using the new + `oidnReadBufferAsync` and `oidnWriteBufferAsync` functions, which + may achieve higher performance than plain `memcpy`. + + - If image data must be copied, using the default buffer allocation + may not be the most efficient method. If the device memory is not + physically shared with the host memory (e.g. for dedicated GPUs), + higher performance may be achieved by creating the buffers with + device storage (`OIDN_STORAGE_DEVICE`) using the new + `oidnNewBufferWithStorage` function. This way, the buffer data + cannot be directly accessed by the host anymore but this should not + matter because the data must be copied from some other memory + location anyway. However, this ensures that the data is stored only + in high-performance device memory, and the user has full control + over when and how the data is transferred between host and device. + +The `oidnMapBuffer` and `oidnUnmapBuffer` functions have been removed +from the API due to these not being supported by any of the device +backends. Please use `oidnReadBuffer(Async)` and +`oidnWriteBuffer(Async)` instead. + +### Interop with Compute (SYCL, CUDA, HIP) and Graphics (DX, Vulkan, Metal) APIs + +If the application is explicitly using a particular device type which +supports unified memory allocations, e.g. SYCL or CUDA, it may directly +pass pointers allocated using the native allocator of the respective +compute API (e.g. `sycl::malloc_device`, `cudaMalloc`) instead of using +buffers. This way, it is the responsibility of the user to correctly +allocate the memory for the device. + +In such cases, it often necessary to have more control over the device +creation as well, to ensure that filtering is running on the intended +device and command queues or streams from the application can be shared +to improve performance. If the application is using the same compute or +graphics API as the Open Image Denoise device, this can be achieved by +creating devices with `oidnNewSYCLDevice`, `oidnNewCUDADevice`, etc. For +some APIs there are additional interoperability functions as well, +e.g. `oidnExecuteSYCLFilterAsync`. + +If the application is using a graphics API which does not support +unified memory allocations, e.g. DX12 or Vulkan, it may be still +possible to share memory between the application and Open Image Denoise +using buffers, avoiding expensive copying through host memory. External +buffers can be imported from graphics APIs with the new +`oidnNewSharedBufferFromFD` and `oidnNewSharedBufferFromWin32Handle` +functions. To use this feature, buffers must be exported in the graphics +API and must be imported in Open Image Denoise using the same kind of +handle. Care must be taken to select an external memory handle type +which is supported by both APIs. The external memory types supported by +an Open Image Denoise device can be queried using the +`externalMemoryTypes` device parameter. Note that some devices do not +support importing external memory at all (e.g. CPUs, and on GPUs it +primarily depends on the installed drivers), so the application should +always implement a fallback too, which copies the data through the host +if there is no other supported way. Metal buffers can be used directly +with the `oidnNewSharedBufferFromMetal` function. + +Sharing textures is currently not supported natively but it is still +possible avoid copying texture data by using a linear texture layout +(e.g. `VK_IMAGE_TILING_LINEAR` in Vulkan) and sharing the buffer that +backs this data. In this case, you should ensure that the row stride of +the linear texture data is correctly set. + +Importing external synchronization primitives (e.g. semaphores) from +graphics APIs is not yet supported either but it is planned for a future +release. Meanwhile, synchronizing access to shared memory should be done +on the host using `oidnSyncDevice` and the used graphics API. + +When importing external memory, the application also needs to make sure +that the Open Image Denoise device is running on the same *physical* +device as the graphics API. This can be easily achieved by using the new +physical device feature, described in the next section. + +### Physical Devices + +Although it is possible to explicitly create devices of a particular +type (with, e.g., `OIDN_DEVICE_TYPE_SYCL`), this is often insufficient, +especially if the system has multiple devices of the same type, and with +GPU support it is very common that there are multiple different types of +supported devices in the system (e.g. a CPU and one or more GPUs). + +Open Image Denoise 2 introduces a simple *physical device* API, which +enables the application to query the list of supported physical devices +in the system, including their name, type, UUID, LUID, PCI address, etc. +(see `oidnGetNumPhysicalDevices`, `oidnGetPhysicalDeviceString`, etc.). +New logical device (i.e. `OIDNDevice`) creation functions for have been +also introduced, which enable creating a logical device on a specific +physical device: `oidnNewDeviceByID`, `oidnNewDeviceByUUID`, etc. + +Creating a logical device on a physical device having a particular UUID, +LUID or PCI address is particularly important when importing external +memory from graphics APIs. However, not all device types support all +types of IDs, and some graphics drivers may even report mismatching +UUIDs or LUIDs for the same physical device, so applications should try +to implement multiple identification methods, or at least assume that +identification might fail. + +### Asynchronous Execution + +It is now possible to execute some operations asynchronously, most +importantly filtering (`oidnExecuteFilterAsync`, +`oidnExecuteSYCLFilterAsync`) and copying data (the already mentioned +`oidnReadBufferAsync` and `oidnWriteBufferAsync`). + +When using any asynchronous function it is the responsibility of the +application to handle correct synchronization using `oidnSyncDevice`. + +### Filter Quality + +Open Image Denoise still delivers the same high image quality on all +device types as before, including on GPUs. But often filtering +performance is more important than having the highest possible image +quality, so it is now possible to switch between multiple filter quality +modes. Filters have a new parameter called `quality`, which defaults to +the existing *high* image quality (`OIDN_QUALITY_HIGH`) but *balanced* +(`OIDN_QUALITY_BALANCED`) and *fast* (`OIDN_QUALITY_FAST`) quality modes +have been added as well for even higher performance. We recommend using +*balanced* or *fast* quality for interactive and real-time use cases. + +### Small API Changes + +A few existing API functions have been renamed to improve clarity (e.g. +`oidnSetFilter1i` to `oidnSetFilterInt`) but the old function names are +still available as deprecated functions. When compiling legacy code, +warnings will be emitted for these deprecated functions. To upgrade to +the new API, please simply follow the instructions in the warnings. + +Some filter parameters have been also renamed (`alignment` to +`tileAlignment`, `overlap` to `tileOverlap`). When using the old names, +warnings will be emitted at runtime. + +### Building as a Static Library + +The support to build Open Image Denoise as a static library +(`OIDN_STATIC_LIB` CMake option) has been limited to CPU-only builds due +to switching to a modular library design that was necessary for adding +multi-vendor GPU support. If the library is built with GPU support as +well, the `OIDN_STATIC_LIB` option is still available but enabling it +results in a hybrid static/shared library. + +If the main reason for building as a static library would be is the +ability to use multiple versions of Open Image Denoise in the same +process, please use the existing `OIDN_API_NAMESPACE` CMake option +instead. With this feature all symbols of the library will be put into a +custom namespace, which can prevent symbol clashes. + +## Physical Devices + +Systems often have multiple different types of devices supported by Open +Image Denoise (CPUs and GPUs). The application can get the list of +supported *physical devices* and select which of these to use for +denoising. + +The number of supported physical devices can be queried with + +``` cpp +int oidnGetNumPhysicalDevices(); +``` + +The physical devices can be identified using IDs between 0 and +(`oidnGetNumPhysicalDevices()` \(-\) 1), and are ordered *approximately* +from fastest to slowest (e.g., ID of 0 corresponds to the likely fastest +physical device). Note that the reported number and order of physical +devices may change between application runs, so no assumptions should be +made about this list. + +Parameters of these physical devices can be queried using + +``` cpp +bool oidnGetPhysicalDeviceBool (int physicalDeviceID, const char* name); +int oidnGetPhysicalDeviceInt (int physicalDeviceID, const char* name); +unsigned int oidnGetPhysicalDeviceUInt (int physicalDeviceID, const char* name); +const char* oidnGetPhysicalDeviceString(int physicalDeviceID, const char* name); +const void* oidnGetPhysicalDeviceData (int physicalDeviceID, const char* name, + size_t* byteSize); +``` + +where `name` is the name of the parameter, and `byteSize` is the number +of returned bytes for data parameters. The following parameters can be +queried: + +| Type | Name | Description | +| :------- | :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | +| `Int` | `type` | device type as an `OIDNDeviceType` value | +| `String` | `name` | name string | +| `Bool` | `uuidSupported` | device supports universally unique identifier (UUID) | +| `Data` | `uuid` | opaque UUID (`OIDN_UUID_SIZE` bytes, exists only if `uuidSupported` is `true`) | +| `Bool` | `luidSupported` | device supports locally unique identifier (UUID) | +| `Data` | `luid` | opaque LUID (`OIDN_LUID_SIZE` bytes, exists only if `luidSupported` is `true`) | +| `UInt` | `nodeMask` | bitfield identifying the node within a linked device adapter corresponding to the device (exists only if `luidSupported` is `true`) | +| `Bool` | `pciAddressSupported` | device supports PCI address | +| `Int` | `pciDomain` | PCI domain (exists only if `pciAddressSupported` is `true`) | +| `Int` | `pciBus` | PCI bus (exists only if `pciAddressSupported` is `true`) | +| `Int` | `pciDevice` | PCI device (exists only if `pciAddressSupported` is `true`) | +| `Int` | `pciFunction` | PCI function (exists only if `pciAddressSupported` is `true`) | + +Constant parameters supported by physical devices. + +It is also possible to directly query whether a physical device of a +particular type is supported, without iterating over all supported +physical devices: + +``` cpp +bool oidnIsCPUDeviceSupported(); +bool oidnIsSYCLDeviceSupported(const sycl::device* device); +bool oidnIsCUDADeviceSupported(int deviceID); +bool oidnIsHIPDeviceSupported(int deviceID); +bool oidnIsMetalDeviceSupported(MTLDevice_id device); +``` + +## Devices + +Open Image Denoise has a *logical* device concept as well, or simply +referred to as *device*, which allows different components of the +application to use the Open Image Denoise API without interfering with +each other. Each physical device may be associated with one ore more +logical devices. A basic way to create a device is by calling + +``` cpp +OIDNDevice oidnNewDevice(OIDNDeviceType type); +``` + +where the `type` enumeration maps to a specific device implementation, +which can be one of the following: + +| Name | Description | +| :------------------------- | :------------------------------------------------------------------- | +| `OIDN_DEVICE_TYPE_DEFAULT` | select the likely fastest device (same as physical device with ID 0) | +| `OIDN_DEVICE_TYPE_CPU` | CPU device | +| `OIDN_DEVICE_TYPE_SYCL` | SYCL device (requires a supported Intel GPU) | +| `OIDN_DEVICE_TYPE_CUDA` | CUDA device (requires a supported NVIDIA GPU) | +| `OIDN_DEVICE_TYPE_HIP` | HIP device (requires a supported AMD GPU) | +| `OIDN_DEVICE_TYPE_METAL` | Metal device (requires a supported Apple GPU) | + +Supported device types, i.e., valid constants of type `OIDNDeviceType`. + +If there are multiple supported devices of the specified type, an +implementation-dependent default will be selected. + +A device can be created by specifying a physical device ID as well using + +``` cpp +OIDNDevice oidnNewDeviceByID(int physicalDeviceID); +``` + +Applications can manually iterate over the list of physical devices and +select from them based on their properties but there are also some +built-in helper functions as well, which make creating a device by a +particular physical device property easier: + +``` cpp +OIDNDevice oidnNewDeviceByUUID(const void* uuid); +OIDNDevice oidnNewDeviceByLUID(const void* luid); +OIDNDevice oidnNewDeviceByPCIAddress(int pciDomain, int pciBus, int pciDevice, + int pciFunction); +``` + +These functions are particularly useful when the application needs +interoperability with a graphics API (e.g. DX12, Vulkan). However, not +all of these properties may be supported by the intended physical device +(or drivers might even report inconsistent identifiers), so it is +recommended to select by more than one property, if possible. + +If the application requires interoperability with a particular compute +or graphics API (SYCL, CUDA, HIP, Metal), it is recommended to use one +of the following dedicated functions instead: + +``` cpp +OIDNDevice oidnNewSYCLDevice(const sycl::queue* queues, int numQueues); +OIDNDevice oidnNewCUDADevice(const int* deviceIDs, const cudaStream_t* streams, + int numPairs); +OIDNDevice oidnNewHIPDevice(const int* deviceIDs, const hipStream_t* streams, + int numPairs); +OIDNDevice oidnNewMetalDevice(const MTLCommandQueue_id* commandQueues, + int numQueues); +``` + +For SYCL, it is possible to pass one or more SYCL queues which will be +used by Open Image Denoise for all device operations. This is useful +when the application wants to use the same queues for both denoising and +its own operations (e.g. rendering). Passing multiple queues is not +intended to be used for different physical devices but just for a single +SYCL root-device which consists of multiple sub-devices (e.g. Intel® +Data Center GPU Max Series having multiple Xe-Stacks/tiles). The only +supported SYCL backend is oneAPI Level Zero. + +For CUDA and HIP, pairs of CUDA/HIP device IDs and corresponding streams +can be specified but the current implementation supports only one pair. +A `NULL` stream corresponds to the default stream on the corresponding +device. Open Image Denoise automatically sets and restores the current +CUDA/HIP device/context on the calling thread when necessary, thus the +current device does not have to be changed manually by the application. + +For Metal, a single command queue is supported. + +Once a device is created, you can call + +``` cpp +bool oidnGetDeviceBool(OIDNDevice device, const char* name); +void oidnSetDeviceBool(OIDNDevice device, const char* name, bool value); +int oidnGetDeviceInt (OIDNDevice device, const char* name); +void oidnSetDeviceInt (OIDNDevice device, const char* name, int value); +int oidnGetDeviceUInt(OIDNDevice device, const char* name); +void oidnSetDeviceUInt(OIDNDevice device, const char* name, unsigned int value); +``` + +to set and get parameter values on the device. Note that some parameters +are constants, thus trying to set them is an error. See the tables below +for the parameters supported by devices. + +| Type | Name | Default | Description | +| :----- | :----------------------- | ---------: | :---------------------------------------------------------------------------------------------------------------------------------------- | +| `Int` | `type` | *constant* | device type as an `OIDNDeviceType` value | +| `Int` | `version` | *constant* | combined version number (major.minor.patch) with two decimal digits per component | +| `Int` | `versionMajor` | *constant* | major version number | +| `Int` | `versionMinor` | *constant* | minor version number | +| `Int` | `versionPatch` | *constant* | patch version number | +| `Bool` | `systemMemorySupported` | *constant* | device can directly access memory allocated with the system allocator (e.g. `malloc`) | +| `Bool` | `managedMemorySupported` | *constant* | device supports buffers created with managed storage (`OIDN_STORAGE_MANAGED`) | +| `Int` | `externalMemoryTypes` | *constant* | bitfield of `OIDNExternalMemoryTypeFlag` values representing the external memory types supported by the device | +| `Int` | `verbose` | 0 | verbosity level of the console output between 0–4; when set to 0, no output is printed, when set to a higher level more output is printed | + +Parameters supported by all devices. + +| Type | Name | Default | Description | +| :----- | :------------ | ------: | :-------------------------------------------------------------------------------------------------------------------------------- | +| `Int` | `numThreads` | 0 | maximum number of threads which the library should use; 0 will set it automatically to get the best performance | +| `Bool` | `setAffinity` | `true` | enables thread affinitization (pinning software threads to hardware threads) if it is necessary for achieving optimal performance | + +Additional parameters supported only by CPU devices. + +Note that the CPU device heavily relies on setting the thread affinities +to achieve optimal performance, so it is highly recommended to leave +this option enabled. However, this may interfere with the application if +that also sets the thread affinities, potentially causing performance +degradation. In such cases, the recommended solution is to either +disable setting the affinities in the application or in Open Image +Denoise, or to always set/reset the affinities before/after each +parallel region in the application (e.g., if using TBB, with +`tbb::task_arena` and `tbb::task_scheduler_observer`). + +Once parameters are set on the created device, the device must be +committed with + +``` cpp +void oidnCommitDevice(OIDNDevice device); +``` + +This device can then be used to construct further objects, such as +buffers and filters. Note that a device can be committed only once +during its lifetime. + +Some functions may execute asynchronously with respect to the host. The +names of these functions are suffixed with `Async`. Asynchronous +operations are executed *in order* on the device but may not block on +the host. Eventually, it is necessary to wait for all asynchronous +operations to complete, which can be done by calling + +``` cpp +void oidnSyncDevice(OIDNDevice device); +``` + +Before the application exits, it should release all devices by invoking + +``` cpp +void oidnReleaseDevice(OIDNDevice device); +``` + +Note that Open Image Denoise uses reference counting for all object +types, so this function decreases the reference count of the device, and +if the count reaches 0 the device will automatically get deleted. It is +also possible to increase the reference count by calling + +``` cpp +void oidnRetainDevice(OIDNDevice device); +``` + +An application should typically create only a single device object per +physical device (one for *all* CPUs or one per GPU) as creation can be +very expensive and additional device objects may incur a significant +memory overhead. If required differently, it should only use a small +number of device objects at any given time. + +### Error Handling + +Each user thread has its own error code per device. If an error occurs +when calling an API function, this error code is set to the occurred +error if it stores no previous error. The currently stored error can be +queried by the application via + +``` cpp +OIDNError oidnGetDeviceError(OIDNDevice device, const char** outMessage); +``` + +where `outMessage` can be a pointer to a C string which will be set to a +more descriptive error message, or it can be `NULL`. This function also +clears the error code, which assures that the returned error code is +always the first error occurred since the last invocation of +`oidnGetDeviceError` on the current thread. Note that the optionally +returned error message string is valid only until the next invocation of +the function. + +Alternatively, the application can also register a callback function of +type + +``` cpp +typedef void (*OIDNErrorFunction)(void* userPtr, OIDNError code, const char* message); +``` + +via + +``` cpp +void oidnSetDeviceErrorFunction(OIDNDevice device, OIDNErrorFunction func, void* userPtr); +``` + +to get notified when errors occur. Only a single callback function can +be registered per device, and further invocations overwrite the +previously set callback function, which do *not* require also calling +the `oidnCommitDevice` function. Passing `NULL` as function pointer +disables the registered callback function. When the registered callback +function is invoked, it gets passed the user-defined payload (`userPtr` +argument as specified at registration time), the error code (`code` +argument) of the occurred error, as well as a string (`message` +argument) that further describes the error. The error code is always set +even if an error callback function is registered. It is recommended to +always set a error callback function, to detect all errors. + +When the device construction fails, `oidnNewDevice` returns `NULL` as +device. To detect the error code of a such failed device construction, +pass `NULL` as device to the `oidnGetDeviceError` function. For all +other invocations of `oidnGetDeviceError`, a proper device handle must +be specified. + +The following errors are currently used by Open Image Denoise: + +| Name | Description | +| :-------------------------------- | :----------------------------------------- | +| `OIDN_ERROR_NONE` | no error occurred | +| `OIDN_ERROR_UNKNOWN` | an unknown error occurred | +| `OIDN_ERROR_INVALID_ARGUMENT` | an invalid argument was specified | +| `OIDN_ERROR_INVALID_OPERATION` | the operation is not allowed | +| `OIDN_ERROR_OUT_OF_MEMORY` | not enough memory to execute the operation | +| `OIDN_ERROR_UNSUPPORTED_HARDWARE` | the hardware (CPU/GPU) is not supported | +| `OIDN_ERROR_CANCELLED` | the operation was cancelled by the user | + +Possible error codes, i.e., valid constants of type `OIDNError`. + +### Environment Variables + +Open Image Denoise supports environment variables for overriding certain +settings at runtime, which can be useful for debugging and development: + +| Name | Description | +| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | +| `OIDN_DEFAULT_DEVICE` | overrides what physical device to use with `OIDN_DEVICE_TYPE_DEFAULT`; can be `cpu`, `sycl`, `cuda`, `hip`, or a physical device ID | +| `OIDN_DEVICE_CPU` | value of 0 disables CPU device support | +| `OIDN_DEVICE_SYCL` | value of 0 disables SYCL device support | +| `OIDN_DEVICE_CUDA` | value of 0 disables CUDA device support | +| `OIDN_DEVICE_HIP` | value of 0 disables HIP device support | +| `OIDN_DEVICE_METAL` | value of 0 disables Metal device support | +| `OIDN_NUM_THREADS` | overrides `numThreads` device parameter | +| `OIDN_SET_AFFINITY` | overrides `setAffinity` device parameter | +| `OIDN_NUM_SUBDEVICES` | overrides number of SYCL sub-devices to use (e.g. for Intel® Data Center GPU Max Series) | +| `OIDN_VERBOSE` | overrides `verbose` device parameter | + +Environment variables supported by Open Image Denoise. + +## Buffers + +Image data can be passed to Open Image Denoise either via pointers to +memory allocated and managed by the user or by creating buffer objects. +Regardless of which method is used, the data must be allocated in a way +that it is accessible by the device (either CPU or GPU). Using buffers +is typically the preferred approach because this ensures that the +allocation requirements are fulfilled regardless of device type. To +create a new data buffer with memory allocated and owned by the device, +use + +``` cpp +OIDNBuffer oidnNewBuffer(OIDNDevice device, size_t byteSize); +``` + +The created buffer is bound to the specified device (`device` argument). +The specified number of bytes (`byteSize`) are allocated at buffer +construction time and deallocated when the buffer is destroyed. The +memory is by default allocated as managed memory automatically migrated +between host and device, if supported, or as pinned host memory +otherwise. + +If this default buffer allocation is not suitable, a buffer can be +created with a manually specified storage mode as well: + +``` cpp +OIDNBuffer oidnNewBufferWithStorage(OIDNDevice device, size_t byteSize, OIDNStorage storage); +``` + +The supported storage modes are the following: + +| Name | Description | +| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `OIDN_STORAGE_UNDEFINED` | undefined storage mode | +| `OIDN_STORAGE_HOST` | pinned host memory, accessible by both host and device | +| `OIDN_STORAGE_DEVICE` | device memory, *not* accessible by the host | +| `OIDN_STORAGE_MANAGED` | automatically migrated between host and device, accessible by both (*not* supported by all devices, `managedMemorySupported` device parameter must be checked before use) | + +Supported storage modes for buffers, i.e., valid constants of type +`OIDNStorage`. + +Note that the host and device storage modes are supported by all devices +but managed storage is an optional feature. Before using managed +storage, the `managedMemorySupported` device parameter should be +queried. + +It is also possible to create a “shared” data buffer with memory +allocated and managed by the user with + +``` cpp +OIDNBuffer oidnNewSharedBuffer(OIDNDevice device, void* devPtr, size_t byteSize); +``` + +where `devPtr` points to user-managed device-accessible memory and +`byteSize` is its size in bytes. At buffer construction time no buffer +data is allocated, but the buffer data provided by the user is used. The +buffer data must remain valid for as long as the buffer may be used, and +the user is responsible to free the buffer data when no longer required. +The user must also ensure that the memory is accessible by the device by +using allocation functions supported by the device +(e.g. `sycl::malloc_device`, `cudaMalloc`, `hipMalloc`). + +Buffers can be also imported from graphics APIs as external memory, to +avoid expensive copying of data through host memory. Different types of +external memory can be imported from either POSIX file descriptors or +Win32 handles using + +``` cpp +OIDNBuffer oidnNewSharedBufferFromFD(OIDNDevice device, + OIDNExternalMemoryTypeFlag fdType, + int fd, size_t byteSize); + +OIDNBuffer oidnNewSharedBufferFromWin32Handle(OIDNDevice device, + OIDNExternalMemoryTypeFlag handleType, + void* handle, const void* name, size_t byteSize); +``` + +Before exporting memory from the graphics API, the application should +find a handle type which is supported by both the Open Image Denoise +device (see `externalMemoryTypes` device parameter) and the graphics +API. Note that different GPU vendors may support different handle types. +To ensure compatibility with all device types, applications should +support at least `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD` on Windows +and both `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD` and +`OIDN_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF` on Linux. All possible external +memory types are listed in the table below. + +| Name | Description | +| :-------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_NONE` | | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD` | opaque POSIX file descriptor handle (recommended on Linux) | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF` | file descriptor handle for a Linux dma\_buf (recommended on Linux) | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32` | NT handle (recommended on Windows) | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT` | global share (KMT) handle | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE` | NT handle returned by `IDXGIResource1::CreateSharedHandle` referring to a Direct3D 11 texture resource | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT` | global share (KMT) handle returned by `IDXGIResource::GetSharedHandle` referring to a Direct3D 11 texture resource | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE` | NT handle returned by `IDXGIResource1::CreateSharedHandle` referring to a Direct3D 11 resource | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE_KMT` | global share (KMT) handle returned by `IDXGIResource::GetSharedHandle` referring to a Direct3D 11 resource | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP` | NT handle returned by `ID3D12Device::CreateSharedHandle` referring to a Direct3D 12 heap resource | +| `OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE` | NT handle returned by `ID3D12Device::CreateSharedHandle` referring to a Direct3D 12 committed resource | + +Supported external memory type flags, i.e., valid constants of type +`OIDNExternalMemoryTypeFlag`. + +Metal buffers can be imported directly with + +``` cpp +OIDNBuffer oidnNewSharedBufferFromMetal(OIDNDevice device, MTLBuffer_id buffer); +``` + +Note that if a buffer with an `MTLStorageModeManaged` storage mode is +imported, it is the responsibility of the user to synchronize the +contents of the buffer between the host and the device. + +Similar to device objects, buffer objects are also reference-counted and +can be retained and released by calling the following functions: + +``` cpp +void oidnRetainBuffer (OIDNBuffer buffer); +void oidnReleaseBuffer(OIDNBuffer buffer); +``` + +The size of in bytes and storage mode of the buffer can be queried using + +``` cpp +size_t oidnGetBufferSize (OIDNBuffer buffer); +OIDNStorage oidnGetBufferStorage(OIDNBuffer buffer); +``` + +It is possible to get a pointer directly to the buffer data, which is +usually the preferred way to access the data stored in the buffer: + +``` cpp +void* oidnGetBufferData(OIDNBuffer buffer); +``` + +Accessing the data on the host through this pointer is possible *only* +if the buffer was created with `OIDN_STORAGE_HOST` or +`OIDN_STORAGE_MANAGED`. Note that a `NULL` pointer may be returned if +the buffer is empty. + +In some cases better performance can be achieved by using device storage +for buffers. Such data can be accessed on the host by copying to/from +host memory (including pageable system memory) using the following +functions: + +``` cpp +void oidnReadBuffer(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, void* dstHostPtr); + +void oidnWriteBuffer(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, const void* srcHostPtr); +``` + +These functions will always block until the read/write operation has +been completed, which is often suboptimal. The following functions +execute these operations asynchronously: + +``` cpp +void oidnReadBufferAsync(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, void* dstHostPtr); + +void oidnWriteBufferAsync(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, const void* srcHostPtr); +``` + +When copying asynchronously, the user must ensure correct +synchronization with the device by calling `oidnSyncDevice` before +accessing the copied data or releasing the buffer. Failure to do so will +result in undefined behavior. + +### Data Format + +Buffers store opaque data and thus have no information about the type +and format of the data. Other objects, e.g. filters, typically require +specifying the format of the data stored in buffers or shared via +pointers. This can be done using the `OIDNFormat` enumeration type: + +| Name | Description | +| :----------------------- | :------------------------------------------- | +| `OIDN_FORMAT_UNDEFINED` | undefined format | +| `OIDN_FORMAT_FLOAT` | 32-bit floating-point scalar | +| `OIDN_FORMAT_FLOAT[234]` | 32-bit floating-point \[234\]-element vector | +| `OIDN_FORMAT_HALF` | 16-bit floating-point scalar | +| `OIDN_FORMAT_HALF[234]` | 16-bit floating-point \[234\]-element vector | + +Supported data formats, i.e., valid constants of type `OIDNFormat`. + +## Filters + +Filters are the main objects in Open Image Denoise that are responsible +for the actual denoising. The library ships with a collection of filters +which are optimized for different types of images and use cases. To +create a filter object, call + +``` cpp +OIDNFilter oidnNewFilter(OIDNDevice device, const char* type); +``` + +where `type` is the name of the filter type to create. The supported +filter types are documented later in this section. + +Creating filter objects can be very expensive, therefore it is +*strongly* recommended to reuse the same filter for denoising as many +images as possible, as long as the these images have the same same size, +format, and features (i.e., only the memory locations and pixel values +may be different). Otherwise (e.g. for images with different +resolutions), reusing the same filter would not have any benefits. + +Once created, filter objects can be retained and released with + +``` cpp +void oidnRetainFilter (OIDNFilter filter); +void oidnReleaseFilter(OIDNFilter filter); +``` + +After creating a filter, it needs to be set up by specifying the input +and output images, and potentially setting other parameter values as +well. + +To set image parameters of a filter, you can use one of the following +functions: + +``` cpp +void oidnSetFilterImage(OIDNFilter filter, const char* name, + OIDNBuffer buffer, OIDNFormat format, + size_t width, size_t height, + size_t byteOffset, + size_t pixelByteStride, size_t rowByteStride); + +void oidnSetSharedFilterImage(OIDNFilter filter, const char* name, + void* devPtr, OIDNFormat format, + size_t width, size_t height, + size_t byteOffset, + size_t pixelByteStride, size_t rowByteStride); +``` + +It is possible to specify either a data buffer object (`buffer` +argument) with the `oidnSetFilterImage` function, or directly a pointer +to user-managed device-accessible data (`devPtr` argument) with the +`oidnSetSharedFilterImage` function. Regardless of whether a buffer or a +pointer is specified, the data *must* be accessible to the device. The +easiest way to guarantee this regardless of the device type (CPU or GPU) +is using buffer objects. + +In both cases, you must also specify the name of the image parameter to +set (`name` argument, e.g. `"color"`, `"output"`), the pixel format +(`format` argument), the width and height of the image in number of +pixels (`width` and `height` arguments), the starting offset of the +image data (`byteOffset` argument), the pixel stride (`pixelByteStride` +argument) and the row stride (`rowByteStride` argument), in number of +bytes. + +If the pixels and/or rows are stored contiguously (tightly packed +without any gaps), you can set `pixelByteStride` and/or `rowByteStride` +to 0 to let the library compute the actual strides automatically, as a +convenience. + +Images support only `FLOAT` and `HALF` pixel formats with up to 3 +channels. Custom image layouts with extra channels (e.g. alpha channel) +or other data are supported as well by specifying a non-zero pixel +stride. This way, expensive image layout conversion and copying can be +avoided but the extra channels will be ignored by the filter. If these +channels also need to be denoised, separate filters can be used. + +To unset a previously set image parameter, returning it to a state as if +it had not been set, call + +``` cpp +void oidnRemoveFilterImage(OIDNFilter filter, const char* name); +``` + +Some special data used by filters are opaque/untyped (e.g. trained model +weights blobs), which can be specified with the +`oidnSetSharedFilterData` function: + +``` cpp +void oidnSetSharedFilterData(OIDNFilter filter, const char* name, + void* hostPtr, size_t byteSize); +``` + +This data (`hostPtr`) must be accessible to the *host*, therefore system +memory allocation is suitable (i.e., there is no reason to use buffer +objects for allocation). + +Modifying the contents of an opaque data parameter after setting it as a +filter parameter is allowed but the filter needs to be notified that the +data has been updated by calling + +``` cpp +void oidnUpdateFilterData(OIDNFilter filter, const char* name); +``` + +Unsetting an opaque data parameter can be performed with + +``` cpp +void oidnRemoveFilterData(OIDNFilter filter, const char* name); +``` + +Filters may have parameters other than buffers as well, which you can +set and get using the following functions: + +``` cpp +bool oidnGetFilterBool (OIDNFilter filter, const char* name); +void oidnSetFilterBool (OIDNFilter filter, const char* name, bool value); +int oidnGetFilterInt (OIDNFilter filter, const char* name); +void oidnSetFilterInt (OIDNFilter filter, const char* name, int value); +float oidnGetFilterFloat(OIDNFilter filter, const char* name); +void oidnSetFilterFloat(OIDNFilter filter, const char* name, float value); +``` + +Filters support a progress monitor callback mechanism that can be used +to report progress of filter operations and to cancel them as well. +Calling `oidnSetFilterProgressMonitorFunction` registers a progress +monitor callback function (`func` argument) with payload (`userPtr` +argument) for the specified filter (`filter` argument): + +``` cpp +typedef bool (*OIDNProgressMonitorFunction)(void* userPtr, double n); + +void oidnSetFilterProgressMonitorFunction(OIDNFilter filter, + OIDNProgressMonitorFunction func, + void* userPtr); +``` + +Only a single callback function can be registered per filter, and +further invocations overwrite the previously set callback function. +Passing `NULL` as function pointer disables the registered callback +function. Once registered, Open Image Denoise will invoke the callback +function multiple times during filter operations, by passing the payload +as set at registration time (`userPtr` argument), and a `double` in the +range \[0, 1\] which estimates the progress of the operation (`n` +argument). When returning `true` from the callback function, Open Image +Denoise will continue the filter operation normally. When returning +`false`, the library will attempt to cancel the filter operation as soon +as possible, and if that is fulfilled, it will raise an +`OIDN_ERROR_CANCELLED` error. + +Please note that using a progress monitor callback function introduces +some overhead, which may be significant on GPU devices, hurting +performance. Therefore we recommend progress monitoring only for offline +denoising, when denoising an image is expected to take several seconds. + +After setting all necessary parameters for the filter, the changes must +be committed by calling + +``` cpp +void oidnCommitFilter(OIDNFilter filter); +``` + +The parameters can be updated after committing the filter, but it must +be re-committed for any new changes to take effect. Committing major +changes to the filter (e.g. setting new image parameters, changing the +image resolution) can be expensive, and thus should not be done +frequently (e.g. per frame). + +Finally, an image can be filtered by executing the filter with + +``` cpp +void oidnExecuteFilter(OIDNFilter filter); +``` + +which will read the input image data from the specified buffers and +produce the denoised output image. + +This function will always block until the filtering operation has been +completed. The following function executes the operation asynchronously: + +``` cpp +void oidnExecuteFilterAsync(OIDNFilter filter); +``` + +For filters created on a SYCL device it is also possible to specify +dependent SYCL events (`depEvents` and `numDepEvents` arguments, may be +`NULL`/0) and get a completion event as well (`doneEvent` argument, may +be `NULL`): + +``` cpp +void oidnExecuteSYCLFilterAsync(OIDNFilter filter, + const sycl::event* depEvents, int numDepEvents, + sycl::event* doneEvent); +``` + +When filtering asynchronously, the user must ensure correct +synchronization with the device by calling `oidnSyncDevice` before +accessing the output image data or releasing the filter. Failure to do +so will result in undefined behavior. + +In the following we describe the different filters that are currently +implemented in Open Image Denoise. + +### RT + +The `RT` (**r**ay **t**racing) filter is a generic ray tracing denoising +filter which is suitable for denoising images rendered with Monte Carlo +ray tracing methods like unidirectional and bidirectional path tracing. +It supports depth of field and motion blur as well, but it is *not* +temporally stable. The filter is based on a convolutional neural network +(CNN) and comes with a set of pre-trained models that work well with a +wide range of ray tracing based renderers and noise levels. + +![](https://openimagedenoise.github.io/images/mazda_4spp_input.jpg) +Example noisy beauty image rendered using unidirectional path tracing +(4 samples per pixel). *Scene by +Evermotion.* + +![](https://openimagedenoise.github.io/images/mazda_4spp_oidn.jpg) +Example output beauty image denoised using prefiltered auxiliary +feature images (albedo and normal) +too. + +For denoising *beauty* images, it accepts either a low dynamic range +(LDR) or high dynamic range (HDR) image (`color`) as the main input +image. In addition to this, it also accepts *auxiliary feature* images, +`albedo` and `normal`, which are optional inputs that usually improve +the denoising quality significantly, preserving more details. + +It is possible to denoise auxiliary images as well, in which case only +the respective auxiliary image has to be specified as input, instead of +the beauty image. This can be done as a *prefiltering* step to further +improve the quality of the denoised beauty image. + +The `RT` filter has certain limitations regarding the supported input +images. Most notably, it cannot denoise images that were not rendered +with ray tracing. Another important limitation is related to +anti-aliasing filters. Most renderers use a high-quality pixel +reconstruction filter instead of a trivial box filter to minimize +aliasing artifacts (e.g. Gaussian, Blackman-Harris). The `RT` filter +does support such pixel filters but only if implemented with importance +sampling. Weighted pixel sampling (sometimes called *splatting*) +introduces correlation between neighboring pixels, which causes the +denoising to fail (the noise will not be filtered), thus it is not +supported. + +The filter can be created by passing `"RT"` to the `oidnNewFilter` +function as the filter type. The filter supports the parameters listed +in the table below. All specified images must have the same dimensions. +The output image can be one of the input images (i.e. in-place denoising +is supported). See section [Examples](#examples) for simple code +snippets that demonstrate the usage of the filter. + +| Type | Name | Default | Description | +| :------ | :-------------- | ---------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Image` | `color` | *optional* | input beauty image (1–3 channels, LDR values in \[0, 1\] or HDR values in \[0, +∞), values being interpreted such that, after scaling with the `inputScale` parameter, a value of 1 corresponds to a luminance level of 100 cd/m²) | +| `Image` | `albedo` | *optional* | input auxiliary image containing the albedo per pixel (1–3 channels, values in \[0, 1\]) | +| `Image` | `normal` | *optional* | input auxiliary image containing the shading normal per pixel (1–3 channels, world-space or view-space vectors with arbitrary length, values in \[-1, 1\]) | +| `Image` | `output` | *required* | output image (1–3 channels); can be one of the input images | +| `Bool` | `hdr` | `false` | the main input image is HDR | +| `Bool` | `srgb` | `false` | the main input image is encoded with the sRGB (or 2.2 gamma) curve (LDR only) or is linear; the output will be encoded with the same curve | +| `Float` | `inputScale` | NaN | scales values in the main input image before filtering, without scaling the output too, which can be used to map color or auxiliary feature values to the expected range, e.g. for mapping HDR values to physical units (which affects the quality of the output but *not* the range of the output values); if set to NaN, the scale is computed implicitly for HDR images or set to 1 otherwise | +| `Bool` | `cleanAux` | `false` | the auxiliary feature (albedo, normal) images are noise-free; recommended for highest quality but should *not* be enabled for noisy auxiliary images to avoid residual noise | +| `Int` | `quality` | high | image quality mode as an `OIDNQuality` value | +| `Data` | `weights` | *optional* | trained model weights blob | +| `Int` | `maxMemoryMB` | \-1 | if set to \>= 0, a request is made to limit the memory usage below the specified amount in megabytes at the potential cost of slower performance, but actual memory usage may be higher (the target may not be achievable or there may be additional allocations beyond the control of the library); otherwise, memory usage will be limited to an unspecified device-dependent amount; in both cases, filters on the same device share almost all of their allocated memory to minimize total memory usage | +| `Int` | `tileAlignment` | *constant* | when manually denoising in tiles, the tile size and offsets should be multiples of this amount of pixels to avoid artifacts; when denoising HDR images `inputScale` *must* be set by the user to avoid seam artifacts | +| `Int` | `tileOverlap` | *constant* | when manually denoising in tiles, the tiles should overlap by this amount of pixels | + +Parameters supported by the `RT` filter. + +Using auxiliary feature images like albedo and normal helps preserving +fine details and textures in the image thus can significantly improve +denoising quality. These images should typically contain feature values +for the first hit (i.e. the surface which is directly visible) per +pixel. This works well for most surfaces but does not provide any +benefits for reflections and objects visible through transparent +surfaces (compared to just using the color as input). However, this +issue can be usually fixed by storing feature values for a subsequent +hit (i.e. the reflection and/or refraction) instead of the first hit. +For example, it usually works well to follow perfect specular (*delta*) +paths and store features for the first diffuse or glossy surface hit +instead (e.g. for perfect specular dielectrics and mirrors). This can +greatly improve the quality of reflections and transmission. We will +describe this approach in more detail in the following subsections. + +The auxiliary feature images should be as noise-free as possible. It is +not a strict requirement but too much noise in the feature images may +cause residual noise in the output. Ideally, these should be completely +noise-free. If this is the case, this should be hinted to the filter +using the `cleanAux` parameter to ensure the highest possible image +quality. But this parameter should be used with care: if enabled, any +noise present in the auxiliary images will end up in the denoised image +as well, as residual noise. Thus, `cleanAux` should be enabled only if +the auxiliary images are guaranteed to be noise-free. + +Usually it is difficult to provide clean feature images, and some +residual noise might be present in the output even with `cleanAux` being +disabled. To eliminate this noise and to even improve the sharpness of +texture details, the auxiliary images should be first denoised in a +prefiltering step, as mentioned earlier. Then, these denoised auxiliary +images could be used for denoising the beauty image. Since these are now +noise-free, the `cleanAux` parameter should be enabled. See section +[Denoising with prefiltering (C++11 +API)](#denoising-with-prefiltering-c11-api) for a simple code example. +Prefiltering makes denoising much more expensive but if there are +multiple color AOVs to denoise, the prefiltered auxiliary images can be +reused for denoising multiple AOVs, amortizing the cost of the +prefiltering step. + +Thus, for final-frame denoising, where the best possible image quality +is required, it is recommended to prefilter the auxiliary features if +they are noisy and enable the `cleanAux` parameter. Denoising with noisy +auxiliary features should be reserved for previews and interactive +rendering. + +All auxiliary images should use the same pixel reconstruction filter as +the beauty image. Using a properly anti-aliased beauty image but aliased +albedo or normal images will likely introduce artifacts around edges. + +#### Albedos + +The albedo image is the feature image that usually provides the biggest +quality improvement. It should contain the approximate color of the +surfaces independent of illumination and viewing angle. + +![](https://openimagedenoise.github.io/images/mazda_firsthit_512spp_albedo.jpg) +Example albedo image obtained using the first hit. Note that the +albedos of all transparent surfaces are +1. + +![](https://openimagedenoise.github.io/images/mazda_nondeltahit_512spp_albedo.jpg) +Example albedo image obtained using the first diffuse or glossy +(non-delta) hit. Note that the albedos of perfect specular (delta) +transparent surfaces are computed as the Fresnel blend of the reflected +and transmitted +albedos. + +For simple matte surfaces this means using the diffuse color/texture as +the albedo. For other, more complex surfaces it is not always obvious +what is the best way to compute the albedo, but the denoising filter is +flexible to a certain extent and works well with differently computed +albedos. Thus it is not necessary to compute the strict, exact albedo +values but must be always between 0 and 1. + +For metallic surfaces the albedo should be either the reflectivity at +normal incidence (e.g. from the artist friendly metallic Fresnel model) +or the average reflectivity; or if these are constant (not textured) or +unknown, the albedo can be simply 1 as well. + +The albedo for dielectric surfaces (e.g. glass) should be either 1 or, +if the surface is perfect specular (i.e. has a delta BSDF), the Fresnel +blend of the reflected and transmitted albedos. The latter usually works +better but only if it does not introduce too much noise or the albedo is +prefiltered. If noise is an issue, we recommend to split the path into a +reflected and a transmitted path at the first hit, and perhaps fall back +to an albedo of 1 for subsequent dielectric hits. The reflected albedo +in itself can be used for mirror-like surfaces as well. + +The albedo for layered surfaces can be computed as the weighted sum of +the albedos of the individual layers. Non-absorbing clear coat layers +can be simply ignored (or the albedo of the perfect specular reflection +can be used as well) but absorption should be taken into account. + +#### Normals + +The normal image should contain the shading normals of the surfaces +either in world-space or view-space. It is recommended to include normal +maps to preserve as much detail as possible. + +![](https://openimagedenoise.github.io/images/mazda_firsthit_512spp_normal.jpg) +Example normal image obtained using the first hit (the values are +actually in \[−1, 1\] but were mapped to \[0, 1\] for illustration +purposes). + +![](https://openimagedenoise.github.io/images/mazda_nondeltahit_512spp_normal.jpg) +Example normal image obtained using the first diffuse or glossy +(non-delta) hit. Note that the normals of perfect specular (delta) +transparent surfaces are computed as the Fresnel blend of the reflected +and transmitted +normals. + +Just like any other input image, the normal image should be anti-aliased +(i.e. by accumulating the normalized normals per pixel). The final +accumulated normals do not have to be normalized but must be in the +\[-1, 1\] range (i.e. normals mapped to \[0, 1\] are *not* acceptable +and must be remapped to \[−1, 1\]). + +Similar to the albedo, the normal can be stored for either the first or +a subsequent hit (if the first hit has a perfect specular/delta BSDF). + +#### Quality + +The filter supports setting an image quality mode, which determines +whether to favor quality, performance, or have a balanced solution +between the two. The supported quality modes are listed in the following +table. + +| Name | Description | +| :---------------------- | :----------------------------------------------------------------- | +| `OIDN_QUALITY_DEFAULT` | default quality | +| `OIDN_QUALITY_FAST` | high performance (for interactive/real-time preview rendering) | +| `OIDN_QUALITY_BALANCED` | balanced quality/performance (for interactive/real-time rendering) | +| `OIDN_QUALITY_HIGH` | high quality (for final-frame rendering); *default* | + +Supported image quality modes, i.e., valid constants of type +`OIDNQuality`. + +By default, filtering is performed in *high* quality mode, which is +recommended for final-frame rendering. Using this setting the results +have the same high quality regardless of what kind of device (CPU or +GPU) is used. However, due to significant hardware architecture +differences between devices, there might be small numerical differences +between the produced outputs. + +The *balanced* quality mode may provide somewhat lower image quality but +higher performance and lower default memory usage, and is thus +recommended for interactive and real-time rendering. For even higher +performance and lower memory usage, a *fast* quality mode is also +available but has noticeably lower image quality, making it suitable +mainly for fast previews. Note that in the *balanced* and *fast* quality +modes larger numerical differences should be expected across devices +compared to the *high* quality mode. + +The difference in quality and performance between quality modes depends +on the combination of input features, parameters (e.g. `cleanAux`), and +the device architecture. In some cases the difference may be small or +even none. + +#### Weights + +Instead of using the built-in trained models for filtering, it is also +possible to specify user-trained models at runtime. This can be achieved +by passing the model *weights* blob corresponding to the specified set +of features and other filter parameters, produced by the included +training tool. See Section [Training](#training) for details. + +### RTLightmap + +The `RTLightmap` filter is a variant of the `RT` filter optimized for +denoising HDR and normalized directional (e.g. spherical harmonics) +lightmaps. It does not support LDR images. + +The filter can be created by passing `"RTLightmap"` to the +`oidnNewFilter` function as the filter type. The filter supports the +following parameters: + +| Type | Name | Default | Description | +| :------ | :-------------- | ---------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Image` | `color` | *required* | input beauty image (1–3 channels, HDR values in \[0, +∞), interpreted such that, after scaling with the `inputScale` parameter, a value of 1 corresponds to a luminance level of 100 cd/m²; directional values in \[-1, 1\]) | +| `Image` | `output` | *required* | output image (1–3 channels); can be one of the input images | +| `Bool` | `directional` | `false` | whether the input contains normalized coefficients (in \[-1, 1\]) of a directional lightmap (e.g. normalized L1 or higher spherical harmonics band with the L0 band divided out); if the range of the coefficients is different from \[-1, 1\], the `inputScale` parameter can be used to adjust the range without changing the stored values | +| `Float` | `inputScale` | NaN | scales input color values before filtering, without scaling the output too, which can be used to map color values to the expected range, e.g. for mapping HDR values to physical units (which affects the quality of the output but *not* the range of the output values); if set to NaN, the scale is computed implicitly for HDR images or set to 1 otherwise | +| `Int` | `quality` | high | image quality mode as an `OIDNQuality` value | +| `Data` | `weights` | *optional* | trained model weights blob | +| `Int` | `maxMemoryMB` | \-1 | if set to \>= 0, a request is made to limit the memory usage below the specified amount in megabytes at the potential cost of slower performance, but actual memory usage may be higher (the target may not be achievable or there may be additional allocations beyond the control of the library); otherwise, memory usage will be limited to an unspecified device-dependent amount; in both cases, filters on the same device share almost all of their allocated memory to minimize total memory usage | +| `Int` | `tileAlignment` | *constant* | when manually denoising in tiles, the tile size and offsets should be multiples of this amount of pixels to avoid artifacts; when denoising HDR images `inputScale` *must* be set by the user to avoid seam artifacts | +| `Int` | `tileOverlap` | *constant* | when manually denoising in tiles, the tiles should overlap by this amount of pixels | + +Parameters supported by the `RTLightmap` filter. + +# Examples + +Intel Open Image Denoise ships with a couple of simple example +applications. + +## oidnDenoise + +`oidnDenoise` is a minimal working example demonstrating how to use +Intel Open Image Denoise, which can be found at `apps/oidnDenoise.cpp`. +It uses the C++11 convenience wrappers of the C99 API. + +This example is a simple command-line application that denoises the +provided image, which can optionally have auxiliary feature images as +well (e.g. albedo and normal). By default the images must be stored in +the [Portable FloatMap](http://www.pauldebevec.com/Research/HDR/PFM/) +(PFM) format, and the color values must be encoded in little-endian +format. To enable other image formats (e.g. OpenEXR, PNG) as well, the +project has to be rebuilt with OpenImageIO support enabled. + +Running `oidnDenoise` without any arguments or the `-h` argument will +bring up a list of command-line options. + +## oidnBenchmark + +`oidnBenchmark` is a basic command-line benchmarking application for +measuring denoising speed, which can be found at +`apps/oidnBenchmark.cpp`. + +Running `oidnBenchmark` with the `-h` argument will bring up a list of +command-line options. + +# Training + +The Intel Open Image Denoise source distribution includes a Python-based +neural network training toolkit (located in the `training` directory), +which can be used to train the denoising filter models with image +datasets provided by the user. This is an advanced feature of the +library which usage requires some background knowledge of machine +learning and basic familiarity with deep learning frameworks and +toolkits (e.g. PyTorch or TensorFlow, TensorBoard). + +The training toolkit consists of the following command-line scripts: + + - `preprocess.py`: Preprocesses training and validation datasets. + + - `train.py`: Trains a model using preprocessed datasets. + + - `infer.py`: Performs inference on a dataset using the specified + training result. + + - `export.py`: Exports a training result to the runtime model weights + format. + + - `find_lr.py`: Tool for finding the optimal minimum and maximum + learning rates. + + - `visualize.py`: Invokes TensorBoard for visualizing statistics of a + training result. + + - `split_exr.py`: Splits a multi-channel EXR image into multiple + feature images. + + - `convert_image.py`: Converts a feature image to a different image + format. + + - `compare_image.py`: Compares two feature images using the specified + quality metrics. + +## Prerequisites + +Before you can run the training toolkit you need the following +prerequisites: + + - Linux (other operating systems are currently not supported) + + - Python 3.7 or later + + - [PyTorch](https://pytorch.org/) 2.3 or later + + - [NumPy](https://numpy.org/) 1.19 or later + + - [OpenImageIO](http://openimageio.org/) 2.1 or later + + - [TensorBoard](https://www.tensorflow.org/tensorboard) 2.4 or later + +## Devices + +Most scripts in the training toolkit support selecting what kind of +device (e.g. CPU, GPU) to use for the computations (`--device` or `-d` +option). If multiple devices of the same kind are available +(e.g. multiple GPUs), the user can specify which one of these to use +(`--device_id` or `-k` option). Additionally, some scripts, like +`train.py`, support data-parallel execution on multiple devices for +faster performance (`--num_devices` or `-n` option). + +## Datasets + +A dataset should consist of a collection of noisy and corresponding +noise-free reference images. It is possible to have more than one noisy +version of the same image in the dataset, e.g. rendered at different +samples per pixel and/or using different seeds. + +The training toolkit expects to have all datasets (e.g. training, +validation) in the same parent directory (e.g. `data`). Each dataset is +stored in its own subdirectory (e.g. `train`, `valid`), which can have +an arbitrary name. + +The images must be stored in [OpenEXR](https://www.openexr.com/) format +(`.exr` files), and the filenames must have a specific format but the +files can be stored in an arbitrary directory structure inside the +dataset directory. The only restriction is that all versions of an image +(noisy images and the reference image) must be located in the same +subdirectory. Each feature of an image (e.g. color, albedo) must be +stored in a separate image file, i.e. multi-channel EXR image files are +not supported. If you have multi-channel EXRs, you can split them into +separate images per feature using the included `split_exr.py` tool. + +An image filename must consist of a base name, a suffix with the number +of samples per pixel or whether it is the reference image +(e.g. `_0128spp`, `_ref`), the feature type extension (e.g. `.hdr`, +`.alb`), and the image format extension (`.exr`). The exact filename +format as a regular expression is the following: + +``` regexp +.+_([0-9]+(spp)?|ref|reference|gt|target)\.(hdr|ldr|sh1[xyz]|alb|nrm)\.exr +``` + +The number of samples per pixel should be padded with leading zeros to +have a fixed number of digits. If the reference image is not explicitly +named as such (i.e. has the number of samples instead), the image with +the most samples per pixel will be considered the reference. + +The following image features are supported: + +| Feature | Description | Channels | File extension | +| ------- | :---------------------------------------- | :----------- | :------------------------------------ | +| `hdr` | color (HDR) | 3 | `.hdr.exr` | +| `ldr` | color (LDR) | 3 | `.ldr.exr` | +| `sh1` | color (normalized L1 spherical harmonics) | 3 × 3 images | `.sh1x.exr`, `.sh1y.exr`, `.sh1z.exr` | +| `alb` | albedo | 3 | `.alb.exr` | +| `nrm` | normal | 3 | `.nrm.exr` | + +Image features supported by the training toolkit. + +The following directory tree demonstrates an example root dataset +directory (`data`) containing one dataset (`rt_train`) with HDR color +and albedo feature images: + + data + `-- rt_train + |-- scene1 + | |-- view1_0001.alb.exr + | |-- view1_0001.hdr.exr + | |-- view1_0004.alb.exr + | |-- view1_0004.hdr.exr + | |-- view1_8192.alb.exr + | |-- view1_8192.hdr.exr + | |-- view2_0001.alb.exr + | |-- view2_0001.hdr.exr + | |-- view2_8192.alb.exr + | `-- view2_8192.hdr.exr + |-- scene2_000008spp.alb.exr + |-- scene2_000008spp.hdr.exr + |-- scene2_000064spp.alb.exr + |-- scene2_000064spp.hdr.exr + |-- scene2_reference.alb.exr + `-- scene2_reference.hdr.exr + +## Preprocessing (preprocess.py) + +Training and validation datasets can be used only after preprocessing +them using the `preprocess.py` script. This will convert the specified +training (`--train_data` or `-t` option) and validation datasets +(`--valid_data` or `-v` option) located in the root dataset directory +(`--data_dir` or `-D` option) to a format that can be loaded more +efficiently during training. All preprocessed datasets will be stored in +a root preprocessed dataset directory (`--preproc_dir` or `-P` option). + +The preprocessing script requires the set of image features to include +in the preprocessed dataset as command-line arguments. Only these +specified features will be available for training but it is not required +to use all of them at the same time. Thus, a single preprocessed dataset +can be reused for training multiple models with different combinations +of the preprocessed features. + +By default, all input features are assumed to be noisy, including the +auxiliary features (e.g. albedo, normal), each having versions at +different samples per pixel. It is also possible to train with +noise-free auxiliary features, in which case the reference auxiliary +features are used instead of the various noisy ones (`--clean_aux` +option). This improves quality significantly if the auxiliary features +used for inference will be either originally noise-free or prefiltered +with separately trained auxiliary feature denoising models. If inference +will be done only with prefiltered features, even higher quality can be +achieved by training with prefiltered features instead of the reference +onces. This can be achieved by first training the auxiliary feature +models and then specifying the list of these results when preprocessing +the dataset for the main feature (`--aux_results` or `-a` option). + +Preprocessing also depends on the filter that will be trained +(e.g. determines which HDR/LDR transfer function has to be used), which +should be also specified (`--filter` or `-f` option). The alternative is +to manually specify the transfer function (`--transfer` or `-x` option) +and other filter-specific parameters, which could be useful for training +custom filters. + +For example, to preprocess the training and validation datasets +(`rt_train` and `rt_valid`) with HDR color, albedo, and normal image +features, for training the `RT` filter, the following command can be +used: + + ./preprocess.py hdr alb nrm --filter RT --train_data rt_train --valid_data rt_valid + +It is possible to preprocess the same dataset multiple times, with +possibly different combinations of features and options. The training +script will use the most suitable and most recent preprocessed version +depending on the training parameters. + +For more details about using the preprocessing script, including other +options, please have a look at the help message: + + ./preprocess.py -h + +## Training (train.py) + +The filters require separate trained models for each supported +combination of input features. Thus, depending on which combinations of +features the user wants to support for a particular filter, one or more +models have to be trained. + +After preprocessing the datasets, it is possible to start training a +model using the `train.py` script. Similar to the preprocessing script, +the input features must be specified (could be a subset of the +preprocessed features), and the dataset names, directory paths, and the +filter can be also passed. If the `--clean_aux` or `--aux_results` +options were specified for preprocessing, these must be passed +identically to the training script as well. + +Open Image Denoise uses models of different sizes for different quality +modes (high, balanced, fast). Specifying the quality mode (`--quality` +or `-q` option) will cause the model to be implicitly selected, or the +model can be specified explicitly as well (`--model` or `-m` option). + +The tool will produce a training *result*, the name of which can be +either specified (`--result` or `-r` option) or automatically generated +(by default). Each result is stored in its own subdirectory, and these +are located in a common parent directory (`--results_dir` or `-R` +option). If a training result already exists, the tool will resume +training that result from the latest checkpoint. + +The default training hyperparameters should work reasonably well in +general, but some adjustments might be necessary for certain datasets to +attain optimal performance, most importantly: the number of epochs +(`--num_epochs` or `-e` option), the global mini-batch size +(`--batch_size` or `-b` option), and the learning rate. The training +tool uses a one-cycle learning rate schedule with cosine annealing, +which can be configured by setting the base learning rate +(`--learning_rate` or `--lr` option), the maximum learning rate +(`--max_learning_rate` or `--max_lr` option), and the percentage of the +cycle spent increasing the learning rate (`--learning_rate_warmup` or +`--lr_warmup` option). + +Example usage: + + ./train.py hdr alb --filter RT --train_data rt_train --valid_data rt_valid --result rt_hdr_alb + +For finding the optimal learning rate range, we recommend using the +included `find_lr.py` script, which trains one epoch using an increasing +learning rate and logs the resulting losses in a comma-separated values +(CSV) file. Plotting the loss curve can show when the model starts to +learn (the base learning rate) and when it starts to diverge (the +maximum learning rate). + +The model is evaluated with the validation dataset at regular intervals +(`--num_valid_epochs` option), and checkpoints are also regularly +created (`--num_save_epochs` option) to save training progress. Also, +some statistics are logged (e.g. training and validation losses, +learning rate) per epoch, which can be later visualized with TensorBoard +by running the `visualize.py` script, e.g.: + + ./visualize.py --result rt_hdr_alb + +Training is performed with mixed precision (FP16 and FP32) by default, +if it supported by the hardware, which makes training faster and use +less memory. However, in some rare cases this might cause some +convergence issues. The training precision can be manually set to FP32 +if necessary (`--precision` or `-p` option). + +## Inference (infer.py) + +A training result can be tested by performing inference on an image +dataset (`--input_data` or `-i` option) using the `infer.py` script. The +dataset does *not* have to be preprocessed. In addition to the result to +use, it is possible to specify which checkpoint to load as well (`-e` or +`--num_epochs` option). By default the latest checkpoint is loaded. + +The tool saves the output images in a separate directory (`--output_dir` +or `-O` option) in the requested formats (`--format` or `-F` option). It +also evaluates a set of image quality metrics (`--metric` or `-M` +option), e.g. PSNR, SSIM, for images that have reference images +available. All metrics are computed in tonemapped non-linear sRGB space. +Thus, HDR images are first tonemapped (with Naughty Dog’s Filmic +Tonemapper from John Hable’s *Uncharted 2: HDR Lighting* presentation) +and converted to sRGB before evaluating the metrics. + +Example usage: + + ./infer.py --result rt_hdr_alb --input_data rt_test --format exr png --metric ssim + +The inference tool supports prefiltering of auxiliary features as well, +which can be performed by specifying the list of training results for +each feature to prefilter (`--aux_results` or `-a` option). + +## Exporting Results (export.py) + +The training result produced by the `train.py` script cannot be +immediately used by the main library. It has to be first exported to the +runtime model weights format, a *Tensor Archive* (TZA) file. Running the +`export.py` script for a training result (and optionally a checkpoint +epoch) will create a binary `.tza` file in the directory of the result, +which can be either used at runtime through the API or it can be +included in the library build by replacing one of the built-in weights +files. + +Example usage: + + ./export.py --result rt_hdr_alb + +## Image Conversion and Comparison + +In addition to the already mentioned `split_exr.py` script, the toolkit +contains a few other image utilities as well. + +`convert_image.py` converts a feature image to a different image format +(and/or a different feature, e.g. HDR color to LDR), performing +tonemapping and other transforms as well if needed. For HDR images the +exposure can be adjusted by passing a linear exposure scale +(`--exposure` or `-E` option). Example usage: + + ./convert_image.py view1_0004.hdr.exr view1_0004.png --exposure 2.5 + +The `compare_image.py` script compares two feature images (preferably +having the dataset filename format to correctly detect the feature) +using the specified image quality metrics, similar to the `infer.py` +tool. Example usage: + + ./compare_image.py view1_0004.hdr.exr view1_8192.hdr.exr --exposure 2.5 --metric mse ssim diff --git a/external/oidn/doc/readme.pdf b/external/oidn/doc/readme.pdf new file mode 100644 index 00000000..77583964 Binary files /dev/null and b/external/oidn/doc/readme.pdf differ diff --git a/external/oidn/doc/third-party-programs-DPCPP.txt b/external/oidn/doc/third-party-programs-DPCPP.txt new file mode 100644 index 00000000..0e55972e --- /dev/null +++ b/external/oidn/doc/third-party-programs-DPCPP.txt @@ -0,0 +1,110 @@ + +The oneAPI DPC++ Compiler can be found here: + + https://github.com/intel/llvm + +It uses various components with following licenses: + + https://github.com/intel/llvm/blob/master/flang/LICENSE.TXT + https://github.com/intel/llvm/blob/master/compiler-rt/LICENSE.TXT + https://github.com/intel/llvm/blob/master/mlir/LICENSE.TXT + https://github.com/intel/llvm/blob/master/libclc/LICENSE.TXT + https://github.com/intel/llvm/blob/master/libcxxabi/LICENSE.TXT + https://github.com/intel/llvm/blob/master/lld/LICENSE.TXT + https://github.com/intel/llvm/blob/master/cross-project-tests/debuginfo-tests/dexter/LICENSE.txt + https://github.com/intel/llvm/blob/master/libc/LICENSE.TXT + https://github.com/intel/llvm/blob/master/clang-tools-extra/LICENSE.TXT + https://github.com/intel/llvm/blob/master/clang-tools-extra/clang-tidy/cert/LICENSE.TXT + https://github.com/intel/llvm/blob/master/clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT + https://github.com/intel/llvm/blob/master/lldb/LICENSE.TXT + https://github.com/intel/llvm/blob/master/lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE + https://github.com/intel/llvm/blob/master/lldb/third_party/Python/module/six/LICENSE + https://github.com/intel/llvm/blob/master/lldb/third_party/Python/module/pexpect-4.6/LICENSE + https://github.com/intel/llvm/blob/master/polly/LICENSE.TXT + https://github.com/intel/llvm/blob/master/polly/lib/External/isl/LICENSE + https://github.com/intel/llvm/blob/master/polly/lib/External/isl/imath/LICENSE + https://github.com/intel/llvm/blob/master/polly/tools/GPURuntime/LICENSE.TXT + https://github.com/intel/llvm/blob/master/sycl/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm-spirv/LICENSE.TXT + https://github.com/intel/llvm/blob/master/bolt/LICENSE.TXT + https://github.com/intel/llvm/blob/master/pstl/LICENSE.TXT + https://github.com/intel/llvm/blob/master/clang/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm/utils/lit/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm/utils/unittest/googletest/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm/utils/unittest/googlemock/LICENSE.txt + https://github.com/intel/llvm/blob/master/llvm/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm/include/llvm/Support/LICENSE.TXT + https://github.com/intel/llvm/blob/master/llvm/lib/Support/BLAKE3/LICENSE + https://github.com/intel/llvm/blob/master/llvm/test/YAMLParser/LICENSE.txt + https://github.com/intel/llvm/blob/master/libunwind/LICENSE.TXT + https://github.com/intel/llvm/blob/master/openmp/LICENSE.TXT + https://github.com/intel/llvm/blob/master/openmp/runtime/src/thirdparty/ittnotify/LICENSE.txt + https://github.com/intel/llvm/blob/master/third-party/benchmark/LICENSE + https://github.com/intel/llvm/blob/master/libcxx/LICENSE.TXT + +The following people and companies contributed to the LLVM project: + + https://github.com/intel/llvm/blob/master/compiler-rt/CREDITS.TXT + https://github.com/intel/llvm/blob/master/libclc/CREDITS.TXT + https://github.com/intel/llvm/blob/master/libcxxabi/CREDITS.TXT + https://github.com/intel/llvm/blob/master/polly/CREDITS.txt + https://github.com/intel/llvm/blob/master/pstl/CREDITS.txt + https://github.com/intel/llvm/blob/master/llvm/CREDITS.TXT + https://github.com/intel/llvm/blob/master/openmp/CREDITS.txt + https://github.com/intel/llvm/blob/master/libcxx/CREDITS.TXT + +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. + +============================================================================== +Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): +============================================================================== +University of Illinois/NCSA +Open Source License + +Copyright (c) 2003-2020 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. diff --git a/external/oidn/doc/third-party-programs-oneDNN.txt b/external/oidn/doc/third-party-programs-oneDNN.txt new file mode 100644 index 00000000..1b8bbccb --- /dev/null +++ b/external/oidn/doc/third-party-programs-oneDNN.txt @@ -0,0 +1,583 @@ +oneAPI Deep Neural Network Library (oneDNN) Third Party Programs File + +This file contains the list of third party software ("third party programs") +contained in the Intel software and their required notices and/or license +terms. This third party software, even if included with the distribution of +the Intel software, may be governed by separate license terms, including +without limitation, third party license terms, other Intel software license +terms, and open source software license terms. These separate license terms +govern your use of the third party programs as set forth in in the +"THIRD-PARTY-PROGRAMS" file. + +Third party programs and their corresponding required notices and/or license +terms are listed below. + +-------------------------------------------------------------------------------- +1. XByak (src/cpu/xbyak/) +Copyright (c) 2007 MITSUNARI Shigeo +All rights reserved. + +3-Clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. +Neither the name of the copyright owner nor the names of its contributors may +be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + + +ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満た +す場合に限り、再頒布および使用が許可されます。 + +ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項 +を含めること。 +バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作 +権表示、本条件一覧、および下記免責条項を含めること。 +書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進 +に、著作権者の名前またはコントリビューターの名前を使用してはならない。 +本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供さ +れており、明示黙示を問わず、商業的な使用可能性、および特定の目的に対する適合性 +に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。 +著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを +問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その他の)不法行為で +あるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、 +本ソフトウェアの使用によって発生した(代替品または代用サービスの調達、使用の +喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない)直接 +損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、 +一切責任を負わないものとします。 + +-------------------------------------------------------------------------------- +2. Googletest (tests/gtests/gtest/) +Copyright 2005, Google Inc. +Copyright 2006, Google Inc. +Copyright 2007, Google Inc. +Copyright 2008, Google Inc. +Copyright 2015, Google Inc. +All rights reserved. + +3-Clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +3. Instrumentation and Tracing Technology API (src/common/ittnotify/) +Copyright (c) 2011, Intel Corporation. All rights reserved. +Copyright (c) 2005-2014 Intel Corporation. All rights reserved. + +3-Clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- +4. CMake (cmake/FindOpenCL.cmake, cmake/FindBLAS.cmake, cmake/FindACL.cmake) +CMake - Cross Platform Makefile Generator +Copyright 2000-2020 Kitware, Inc. and Contributors +All rights reserved. + +3-Clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name of Kitware, Inc. nor the names of Contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------ + +The following individuals and institutions are among the Contributors: + +* Aaron C. Meadows +* Adriaan de Groot +* Aleksey Avdeev +* Alexander Neundorf +* Alexander Smorkalov +* Alexey Sokolov +* Alex Merry +* Alex Turbov +* Andreas Pakulat +* Andreas Schneider +* André Rigland Brodtkorb +* Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf +* Benjamin Eikel +* Bjoern Ricks +* Brad Hards +* Christopher Harvey +* Christoph Grüninger +* Clement Creusot +* Daniel Blezek +* Daniel Pfeifer +* Enrico Scholz +* Eran Ifrah +* Esben Mose Hansen, Ange Optimization ApS +* Geoffrey Viola +* Google Inc +* Gregor Jasny +* Helio Chissini de Castro +* Ilya Lavrenov +* Insight Software Consortium +* Jan Woetzel +* Julien Schueller +* Kelly Thompson +* Konstantin Podsvirov +* Laurent Montel +* Mario Bensi +* Martin Gräßlin +* Mathieu Malaterre +* Matthaeus G. Chajdas +* Matthias Kretz +* Matthias Maennich +* Michael Hirsch, Ph.D. +* Michael Stürmer +* Miguel A. Figueroa-Villanueva +* Mike Jackson +* Mike McQuaid +* Nicolas Bock +* Nicolas Despres +* Nikita Krupen'ko +* NVIDIA Corporation +* OpenGamma Ltd. +* Patrick Stotko +* Per Øyvind Karlsen +* Peter Collingbourne +* Petr Gotthard +* Philip Lowman +* Philippe Proulx +* Raffi Enficiaud, Max Planck Society +* Raumfeld +* Roger Leigh +* Rolf Eike Beer +* Roman Donchenko +* Roman Kharitonov +* Ruslan Baratov +* Sebastian Holtermann +* Stephen Kelly +* Sylvain Joubert +* The Qt Company Ltd. +* Thomas Sondergaard +* Tobias Hunger +* Todd Gamblin +* Tristan Carel +* University of Dundee +* Vadim Zhukov +* Will Dicharry + +See version control history for details of individual contributions. + +The above copyright and license notice applies to distributions of +CMake in source and binary form. Third-party software packages supplied +with CMake under compatible licenses provide their own copyright notices +documented in corresponding subdirectories or source files. + +------------------------------------------------------------------------------ + +CMake was initially developed by Kitware with the following sponsorship: + + * National Library of Medicine at the National Institutes of Health + as part of the Insight Segmentation and Registration Toolkit (ITK). + + * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel + Visualization Initiative. + + * National Alliance for Medical Image Computing (NAMIC) is funded by the + National Institutes of Health through the NIH Roadmap for Medical Research, + Grant U54 EB005149. + + * Kitware, Inc. + +-------------------------------------------------------------------------------- +5. Xbyak_aarch64 (src/cpu/aarch64/xbyak_aarch64/) +Copyright 2019-2020 FUJITSU LIMITED + +Apache License, Version 2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +-------------------------------------------------------------------------------- +6. Boost C++ Libraries (src/common/primitive_hashing.hpp) +Copyright 2005-2014 Daniel James. + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- +7. Intel(R) Graphics Compute Runtime for oneAPI Level Zero and OpenCL(TM) +Driver (src/gpu/jit/ngen/npack/{elf_structs,hash}.hpp) +Copyright (c) 2018 Intel Corporation + +Intel(R) Graphics Compiler (src/gpu/jit/ngen/npack/neo_structs.hpp) +Copyright (c) 2019 Intel Corporation + +oneAPI Level Zero (src/sycl/level_zero) +Copyright (C) 2019-2021 Intel Corporation + +Doxyrest toolkit (doc/doxyrest/*) +Copyright (c) 2016, Tibbo Technology Inc +Copyright (c) 2016, Vladimir Gladkov +Copyright (c) 2016, Doxyrest maintainers + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +8. Sphinx (doc/sphinx/conf/py) +Copyright (c) 2007-2021 by the Sphinx team (see AUTHORS file). +All rights reserved. + +2-Clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +9. Intel(R) Metrics Discovery Application Programming Interface (src/gpu/ocl/mdapi/metrics_discovery_api.h) +MIT License + +Copyright (c) 2019, Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/external/oidn/doc/third-party-programs-oneTBB.txt b/external/oidn/doc/third-party-programs-oneTBB.txt new file mode 100644 index 00000000..b555450a --- /dev/null +++ b/external/oidn/doc/third-party-programs-oneTBB.txt @@ -0,0 +1,411 @@ +oneAPI Threading Building Blocks (oneTBB) Third Party Programs File + +This file contains the list of third party software ("third party programs") +contained in the Intel software and their required notices and/or license terms. +This third party software, even if included with the distribution of the Intel +software, may be governed by separate license terms, including without limitation, +third party license terms, other Intel software license terms, and open source +software license terms. These separate license terms govern your use of the third +party programs as set forth in the "third-party-programs.txt" or other similarlynamed text file. + +The third party programs and their corresponding required notices and/or license +terms are listed below. +_______________________________________________________________________________________________________ + +1. Intel(R) Instrumentation and Tracing Technology (ITT) + Copyright (c) 2022 Intel Corporation. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its contributors may be + used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +_______________________________________________________________________________________________________ + +2. ActiveState Thread pool with same API as (multi) processing.Pool (Python recipe): + Copyright (c) 2008,2016 david decotigny (this file) + Copyright (c) 2006-2008, R Oudkerk (multiprocessing.Pool) + + Portable Hardware Locality (hwloc) + Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana University Research and Technology Corporation. All rights reserved. + Copyright (c) 2004-2005 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. + Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. + Copyright (c) 2004-2005 The Regents of the University of California. All rights reserved. + Copyright (c) 2009 CNRS + Copyright (c) 2009-2016 Inria. All rights reserved. + Copyright (c) 2009-2015 Universit� Bordeaux + Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved. + Copyright (c) 2009-2012 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010 IBM + Copyright (c) 2010 Jirka Hladky + Copyright (c) 2012 Aleksej Saushev, The NetBSD Foundation + Copyright (c) 2012 Blue Brain Project, EPFL. All rights reserved. + Copyright (c) 2013-2014 University of Wisconsin-La Crosse. All rights reserved. + Copyright (c) 2015 Research Organization for Information Science and Technology (RIST). All rights reserved. + Copyright (c) 2015-2016 Intel, Inc. All rights reserved. + + BSD 3-clause "New" or "Revised" License + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of author nor the names of any contributors may be + used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. +_______________________________________________________________________________________________________ + +3. gperftools: Copyright (c) 2011, Google Inc. + + Tachyon: Copyright (c) 1994-2008 John E. Stone. All rights reserved. + + BSD 3-Clause "New" or "Revised" License + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +_______________________________________________________________________________________________________ + +4. Mateusz Kwiatkowski Workaround for bug 62258 in libstdc++ + + GPL 3.0 with GCC Runtime Library Exception 3.1 + + GNU GENERAL PUBLIC LICENSE + + Version 3, 29 June 2007 + + Copyright (c) 2007 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + + Preamble + The GNU General Public License is a free, copyleft license for software and other kinds of works. + + The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. + + When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + + Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. + + Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and modification follow. + + TERMS AND CONDITIONS + 0. Definitions. + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based on the Program. + + To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. + + 1. Source Code. + The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. + + A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + + The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. + + 4. Conveying Verbatim Copies. + You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + + If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + + The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. + + 7. Additional Terms. + "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. + + 8. Termination. + You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + + However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. + + 9. Acceptance Not Required for Having Copies. + You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. + + 11. Patents. + A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + + If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + + A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. + + 14. Revised Versions of this License. + The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + + Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . + + The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . + + + GCC RUNTIME LIBRARY EXCEPTION + + Version 3.1, 31 March 2009 + + Copyright (c) 2009 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + + This GCC Runtime Library Exception ("Exception") is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception. + + When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception. + + 0. Definitions. + A file is an "Independent Module" if it either requires the Runtime Library for execution after a Compilation Process, or makes use of an interface provided by the Runtime Library, but is not otherwise based on the Runtime Library. + + "GCC" means a version of the GNU Compiler Collection, with or without modifications, governed by version 3 (or a specified later version) of the GNU General Public License (GPL) with the option of using any subsequent versions published by the FSF. + + "GPL-compatible Software" is software whose conditions of propagation, modification and use would permit combination with GCC in accord with the license of GCC. + + "Target Code" refers to output from any compiler for a real or virtual target processor architecture, in executable form or suitable for input to an assembler, loader, linker and/or execution phase. Notwithstanding that, Target Code does not include data in any format that is used as a compiler intermediate representation, or used for producing a compiler intermediate representation. + + The "Compilation Process" transforms code entirely represented in non-intermediate languages designed for human-written code, and/or in Java Virtual Machine byte code, into Target Code. Thus, for example, use of source code generators and preprocessors need not be considered part of the Compilation Process, since the Compilation Process can be understood as starting with the output of the generators or preprocessors. + + A Compilation Process is "Eligible" if it is done using GCC, alone or with other GPL-compatible software, or if it is done without using any work based on GCC. For example, using non-GPL-compatible Software to optimize any GCC intermediate representations would not qualify as an Eligible Compilation Process. + + 1. Grant of Additional Permission. + You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules. + + 2. No Weakening of GCC Copyleft. + The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of GCC. + +_______________________________________________________________________________________________________ + +5. Doctest + + Copyright (c) 2016-2021 Viktor Kirilov + + The MIT License (MIT) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +_______________________________________________________________________________________________________ + +*Other names and brands may be claimed as the property of others. diff --git a/external/oidn/doc/third-party-programs.txt b/external/oidn/doc/third-party-programs.txt new file mode 100644 index 00000000..f3d76ae1 --- /dev/null +++ b/external/oidn/doc/third-party-programs.txt @@ -0,0 +1,645 @@ +Intel(R) Open Image Denoise Third Party Programs File + +This file contains the list of third party software ("third party programs") +contained in the Intel software and their required notices and/or license +terms. This third party software, even if included with the distribution of the +Intel software, may be governed by separate license terms, including without +limitation, third party license terms, other Intel software license terms, and +open source software license terms. These separate license terms govern your use +of the third party programs as set forth in the "third-party-programs.txt" or +other similarly named text file. + +Third party programs and their corresponding required notices and/or license +terms are listed below. + +-------------------------------------------------------------------------------- + +1. Intel(R) oneAPI Deep Neural Network Library (oneDNN) + Copyright 2016-2023 Intel Corporation + + Intel(R) oneAPI Threading Building Blocks (oneTBB) + Copyright 2005-2023 Intel Corporation + + Intel® Embree (snippets) + Copyright Intel Corporation + + Intel® OSPRay (snippets) + Copyright Intel Corporation + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- + +2. PyTorch + + From PyTorch: + + Copyright (c) 2016- Facebook, Inc (Adam Paszke) + Copyright (c) 2014- Facebook, Inc (Soumith Chintala) + Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert) + Copyright (c) 2012-2014 Deepmind Technologies (Koray Kavukcuoglu) + Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu) + Copyright (c) 2011-2013 NYU (Clement Farabet) + Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston) + Copyright (c) 2006 Idiap Research Institute (Samy Bengio) + Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz) + + From Caffe2: + + Copyright (c) 2016-present, Facebook Inc. All rights reserved. + + All contributions by Facebook: + Copyright (c) 2016 Facebook Inc. + + All contributions by Google: + Copyright (c) 2015 Google Inc. + All rights reserved. + + All contributions by Yangqing Jia: + Copyright (c) 2015 Yangqing Jia + All rights reserved. + + All contributions from Caffe: + Copyright(c) 2013, 2014, 2015, the respective contributors + All rights reserved. + + All other contributions: + Copyright(c) 2015, 2016 the respective contributors + All rights reserved. + + Caffe2 uses a copyright model similar to Caffe: each contributor holds + copyright over their contributions to Caffe2. The project versioning records + all such contribution and copyright details. If a contributor wants to further + mark their specific copyright on a particular contribution, they should + indicate their copyright solely in the commit message of the change when it is + committed. + + All rights reserved. + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories America + and IDIAP Research Institute nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +3. pytorch-msssim + Copyright (c) 2019 Gongfan Fang + + ROCmSoftwarePlatform/composable_kernel + Copyright (c) 2018- , Advanced Micro Devices, Inc. (Chao Liu, Jing Zhang) + Copyright (c) 2019- , Advanced Micro Devices, Inc. (Letao Qin, Qianfeng Zhang, Liang Huang, Shaojie Wang) + Copyright (c) 2022- , Advanced Micro Devices, Inc. (Anthony Chang, Chunyu Lai, Illia Silin, Adam Osewski, Poyen Chen, Jehandad Khan) + Copyright (c) 2019-2021, Advanced Micro Devices, Inc. (Hanwen Chang) + Copyright (c) 2019-2020, Advanced Micro Devices, Inc. (Tejash Shah) + Copyright (c) 2020 , Advanced Micro Devices, Inc. (Xiaoyan Zhou) + Copyright (c) 2021-2022, Advanced Micro Devices, Inc. (Jianfeng Yan) + Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +-------------------------------------------------------------------------------- + +4. Catch2 + Copyright (c) 2021 Two Blue Cubes Ltd. All rights reserved. + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +5. CUTLASS + Copyright (c) 2017 - 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +SPDX-License-Identifier: BSD-3-Clause + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------------------------------- + +6. oneAPI Data Parallel C++ Compiler + Copyright Intel Corporation + +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + +-------------------------------------------------------------------------------- + +The following third party programs have their own third party programs. These +additional third party program files are as follows: + +1. Intel(R) oneAPI Deep Neural Network Library (oneDNN) + ./third-party-programs-oneDNN.txt + +2. Intel(R) oneAPI Threading Building Blocks (oneTBB) + ./third-party-programs-oneTBB.txt + +3. oneAPI DPC++ Compiler + ./third-party-programs-DPCPP.txt + +-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/external/oidn/include/OpenImageDenoise/config.h b/external/oidn/include/OpenImageDenoise/config.h new file mode 100644 index 00000000..671394cb --- /dev/null +++ b/external/oidn/include/OpenImageDenoise/config.h @@ -0,0 +1,81 @@ +// Copyright 2018 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#define OIDN_VERSION_MAJOR 2 +#define OIDN_VERSION_MINOR 3 +#define OIDN_VERSION_PATCH 0 +#define OIDN_VERSION 20300 +#define OIDN_VERSION_STRING "2.3.0" + +/* #undef OIDN_API_NAMESPACE */ +/* #undef OIDN_STATIC_LIB */ + +#if defined(OIDN_API_NAMESPACE) + #define OIDN_API_NAMESPACE_BEGIN namespace { + #define OIDN_API_NAMESPACE_END } + #define OIDN_API_NAMESPACE_USING using namespace ; + #define OIDN_API_EXTERN_C + #define OIDN_NAMESPACE ::oidn + #define OIDN_NAMESPACE_C _oidn + #define OIDN_NAMESPACE_BEGIN namespace { namespace oidn { + #define OIDN_NAMESPACE_END }} +#else + #define OIDN_API_NAMESPACE_BEGIN + #define OIDN_API_NAMESPACE_END + #define OIDN_API_NAMESPACE_USING + #if defined(__cplusplus) + #define OIDN_API_EXTERN_C extern "C" + #else + #define OIDN_API_EXTERN_C + #endif + #define OIDN_NAMESPACE oidn + #define OIDN_NAMESPACE_C oidn + #define OIDN_NAMESPACE_BEGIN namespace oidn { + #define OIDN_NAMESPACE_END } +#endif + +#define OIDN_NAMESPACE_USING using namespace OIDN_NAMESPACE; + +#if defined(OIDN_STATIC_LIB) + #define OIDN_API_IMPORT OIDN_API_EXTERN_C + #define OIDN_API_EXPORT OIDN_API_EXTERN_C +#elif defined(_WIN32) + #define OIDN_API_IMPORT OIDN_API_EXTERN_C __declspec(dllimport) + #define OIDN_API_EXPORT OIDN_API_EXTERN_C __declspec(dllexport) +#else + #define OIDN_API_IMPORT OIDN_API_EXTERN_C + #define OIDN_API_EXPORT OIDN_API_EXTERN_C __attribute__((visibility ("default"))) +#endif + +#if defined(OpenImageDenoise_EXPORTS) + #define OIDN_API OIDN_API_EXPORT +#else + #define OIDN_API OIDN_API_IMPORT +#endif + +#if defined(_WIN32) + #define OIDN_DEPRECATED(msg) __declspec(deprecated(msg)) +#else + #define OIDN_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif + +#if !defined(OIDN_DEVICE_CPU) + #define OIDN_DEVICE_CPU +#endif +#if !defined(OIDN_DEVICE_SYCL) + #define OIDN_DEVICE_SYCL +#endif +#if !defined(OIDN_DEVICE_CUDA) + #define OIDN_DEVICE_CUDA +#endif +#if !defined(OIDN_DEVICE_HIP) + #define OIDN_DEVICE_HIP +#endif +#if !defined(OIDN_DEVICE_METAL) +/* #undef OIDN_DEVICE_METAL */ +#endif + +#define OIDN_FILTER_RT +#define OIDN_FILTER_RTLIGHTMAP diff --git a/external/oidn/include/OpenImageDenoise/oidn.h b/external/oidn/include/OpenImageDenoise/oidn.h new file mode 100644 index 00000000..1d184667 --- /dev/null +++ b/external/oidn/include/OpenImageDenoise/oidn.h @@ -0,0 +1,517 @@ +// Copyright 2018 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include +#include +#include + +#include "config.h" + +#if defined(__cplusplus) + #if defined(SYCL_LANGUAGE_VERSION) + #include + #define OIDN_SYCL_HPP + #elif defined(SYCL_FEATURE_SET_FULL) || defined(SYCL_FEATURE_SET_REDUCED) + #define OIDN_SYCL_HPP // not using a SYCL compiler but SYCL headers are included + #else + namespace sycl + { + class device; + class queue; + class event; + } + #endif +#endif + +typedef struct CUstream_st* cudaStream_t; +typedef struct ihipStream_t* hipStream_t; + +#if defined(__OBJC__) + @protocol MTLDevice; + @protocol MTLCommandQueue; + @protocol MTLBuffer; + + typedef id MTLDevice_id; + typedef id MTLCommandQueue_id; + typedef id MTLBuffer_id; +#else + typedef void* MTLDevice_id; + typedef void* MTLCommandQueue_id; + typedef void* MTLBuffer_id; +#endif + +OIDN_API_NAMESPACE_BEGIN + +// ------------------------------------------------------------------------------------------------- +// Physical Device +// ------------------------------------------------------------------------------------------------- + +#define OIDN_UUID_SIZE 16u // size of a universally unique identifier (UUID) of a physical device +#define OIDN_LUID_SIZE 8u // size of a locally unique identifier (LUID) of a physical device + +// Returns the number of supported physical devices. +OIDN_API int oidnGetNumPhysicalDevices(); + +// Gets a boolean parameter of the physical device. +OIDN_API bool oidnGetPhysicalDeviceBool(int physicalDeviceID, const char* name); + +// Gets an integer parameter of the physical device. +OIDN_API int oidnGetPhysicalDeviceInt(int physicalDeviceID, const char* name); + +// Gets an unsigned integer parameter of the physical device. +inline unsigned int oidnGetPhysicalDeviceUInt(int physicalDeviceID, const char* name) +{ + return (unsigned int)oidnGetPhysicalDeviceInt(physicalDeviceID, name); +} + +// Gets a string parameter of the physical device. +OIDN_API const char* oidnGetPhysicalDeviceString(int physicalDeviceID, const char* name); + +// Gets an opaque data parameter of the physical device. +OIDN_API const void* oidnGetPhysicalDeviceData(int physicalDeviceID, const char* name, + size_t* byteSize); + +// ------------------------------------------------------------------------------------------------- +// Device +// ------------------------------------------------------------------------------------------------- + +// Device types +typedef enum +{ + OIDN_DEVICE_TYPE_DEFAULT = 0, // select device automatically + + OIDN_DEVICE_TYPE_CPU = 1, // CPU device + OIDN_DEVICE_TYPE_SYCL = 2, // SYCL device + OIDN_DEVICE_TYPE_CUDA = 3, // CUDA device + OIDN_DEVICE_TYPE_HIP = 4, // HIP device + OIDN_DEVICE_TYPE_METAL = 5, // Metal device +} OIDNDeviceType; + +// Error codes +typedef enum +{ + OIDN_ERROR_NONE = 0, // no error occurred + OIDN_ERROR_UNKNOWN = 1, // an unknown error occurred + OIDN_ERROR_INVALID_ARGUMENT = 2, // an invalid argument was specified + OIDN_ERROR_INVALID_OPERATION = 3, // the operation is not allowed + OIDN_ERROR_OUT_OF_MEMORY = 4, // not enough memory to execute the operation + OIDN_ERROR_UNSUPPORTED_HARDWARE = 5, // the hardware (e.g. CPU) is not supported + OIDN_ERROR_CANCELLED = 6, // the operation was cancelled by the user +} OIDNError; + +// Error callback function +typedef void (*OIDNErrorFunction)(void* userPtr, OIDNError code, const char* message); + +// Device handle +typedef struct OIDNDeviceImpl* OIDNDevice; + +// Returns whether the CPU device is supported. +OIDN_API bool oidnIsCPUDeviceSupported(); + +#if defined(__cplusplus) +// Returns whether the specified SYCL device is supported. +OIDN_API bool oidnIsSYCLDeviceSupported(const sycl::device* device); +#endif + +// Returns whether the specified CUDA device is supported. +OIDN_API bool oidnIsCUDADeviceSupported(int deviceID); + +// Returns whether the specified HIP device is supported. +OIDN_API bool oidnIsHIPDeviceSupported(int deviceID); + +// Returns whether the specified Metal device is supported. +OIDN_API bool oidnIsMetalDeviceSupported(MTLDevice_id device); + +// Creates a device of the specified type. +OIDN_API OIDNDevice oidnNewDevice(OIDNDeviceType type); + +// Creates a device from a physical device specified by its ID (0 to oidnGetNumPhysicalDevices()-1). +OIDN_API OIDNDevice oidnNewDeviceByID(int physicalDeviceID); + +// Creates a device from a physical device specified by its UUID. +OIDN_API OIDNDevice oidnNewDeviceByUUID(const void* uuid); + +// Creates a device from a physical device specified by its LUID. +OIDN_API OIDNDevice oidnNewDeviceByLUID(const void* luid); + +// Creates a device from a physical device specified by its PCI address. +OIDN_API OIDNDevice oidnNewDeviceByPCIAddress(int pciDomain, int pciBus, int pciDevice, + int pciFunction); + +#if defined(__cplusplus) +// Creates a device from the specified list of SYCL queues. +// The queues should belong to different SYCL sub-devices (Xe Stack/Tile) of the same SYCL +// root-device (GPU). +OIDN_API OIDNDevice oidnNewSYCLDevice(const sycl::queue* queues, int numQueues); +#endif + +// Creates a device from the specified pairs of CUDA device IDs and streams (null stream +// corresponds to the default stream). Currently only one device ID/stream is supported. +OIDN_API OIDNDevice oidnNewCUDADevice(const int* deviceIDs, const cudaStream_t* streams, + int numPairs); + +// Creates a device from the specified pairs of HIP device IDs and streams (null stream +// corresponds to the default stream). Currently only one device ID/stream is supported. +OIDN_API OIDNDevice oidnNewHIPDevice(const int* deviceIDs, const hipStream_t* streams, + int numPairs); + +// Creates a device from the specified list of Metal command queues. +// Currently only one queue is supported. +OIDN_API OIDNDevice oidnNewMetalDevice(const MTLCommandQueue_id* commandQueues, int numQueues); + +// Retains the device (increments the reference count). +OIDN_API void oidnRetainDevice(OIDNDevice device); + +// Releases the device (decrements the reference count). +OIDN_API void oidnReleaseDevice(OIDNDevice device); + +// Sets a boolean parameter of the device. +OIDN_API void oidnSetDeviceBool(OIDNDevice device, const char* name, bool value); + +OIDN_DEPRECATED("oidnSetDevice1b is deprecated. Use oidnSetDeviceBool instead.") +inline void oidnSetDevice1b(OIDNDevice device, const char* name, bool value) +{ + oidnSetDeviceBool(device, name, value); +} + +// Sets an integer parameter of the device. +OIDN_API void oidnSetDeviceInt(OIDNDevice device, const char* name, int value); + +OIDN_DEPRECATED("oidnSetDevice1i is deprecated. Use oidnSetDeviceInt instead.") +inline void oidnSetDevice1i(OIDNDevice device, const char* name, int value) +{ + oidnSetDeviceInt(device, name, value); +} + +// Sets an unsigned integer parameter of the device. +inline void oidnSetDeviceUInt(OIDNDevice device, const char* name, unsigned int value) +{ + oidnSetDeviceInt(device, name, (int)value); +} + +// Gets a boolean parameter of the device. +OIDN_API bool oidnGetDeviceBool(OIDNDevice device, const char* name); + +OIDN_DEPRECATED("oidnGetDevice1b is deprecated. Use oidnGetDeviceBool instead.") +inline bool oidnGetDevice1b(OIDNDevice device, const char* name) +{ + return oidnGetDeviceBool(device, name); +} + +// Gets an integer parameter of the device. +OIDN_API int oidnGetDeviceInt(OIDNDevice device, const char* name); + +// Gets an unsigned integer parameter of the device. +inline unsigned int oidnGetDeviceUInt(OIDNDevice device, const char* name) +{ + return (unsigned int)oidnGetDeviceInt(device, name); +} + +OIDN_DEPRECATED("oidnGetDevice1i is deprecated. Use oidnGetDeviceInt instead.") +inline int oidnGetDevice1i(OIDNDevice device, const char* name) +{ + return oidnGetDeviceInt(device, name); +} + +// Sets the error callback function of the device. +OIDN_API void oidnSetDeviceErrorFunction(OIDNDevice device, OIDNErrorFunction func, void* userPtr); + +// Returns the first unqueried error code stored in the device for the current thread, optionally +// also returning a string message (if not NULL), and clears the stored error. Can be called with +// a NULL device as well to check for per-thread global errors (e.g. why a device creation or +// physical device query has failed). +OIDN_API OIDNError oidnGetDeviceError(OIDNDevice device, const char** outMessage); + +// Commits all previous changes to the device. +// Must be called before first using the device (e.g. creating filters). +OIDN_API void oidnCommitDevice(OIDNDevice device); + +// Waits for all asynchronous operations running on the device to complete. +OIDN_API void oidnSyncDevice(OIDNDevice device); + +// ------------------------------------------------------------------------------------------------- +// Buffer +// ------------------------------------------------------------------------------------------------- + +// Formats for images and other data stored in buffers +typedef enum +{ + OIDN_FORMAT_UNDEFINED = 0, + + // 32-bit single-precision floating-point scalar and vector formats + OIDN_FORMAT_FLOAT = 1, + OIDN_FORMAT_FLOAT2, + OIDN_FORMAT_FLOAT3, + OIDN_FORMAT_FLOAT4, + + // 16-bit half-precision floating-point scalar and vector formats + OIDN_FORMAT_HALF = 257, + OIDN_FORMAT_HALF2, + OIDN_FORMAT_HALF3, + OIDN_FORMAT_HALF4, +} OIDNFormat; + +// Storage modes for buffers +typedef enum +{ + OIDN_STORAGE_UNDEFINED = 0, + + // stored on the host, accessible by both host and device + OIDN_STORAGE_HOST = 1, + + // stored on the device, *not* accessible by the host + OIDN_STORAGE_DEVICE = 2, + + // automatically migrated between host and device, accessible by both + // *not* supported by all devices, "managedMemorySupported" device parameter should be checked + OIDN_STORAGE_MANAGED = 3, +} OIDNStorage; + +// External memory type flags +typedef enum +{ + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_NONE = 0, + + // opaque POSIX file descriptor handle + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD = 1 << 0, + + // file descriptor handle for a Linux dma_buf + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF = 1 << 1, + + // NT handle + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32 = 1 << 2, + + // global share (KMT) handle + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT = 1 << 3, + + // NT handle returned by IDXGIResource1::CreateSharedHandle referring to a Direct3D 11 texture + // resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE = 1 << 4, + + // global share (KMT) handle returned by IDXGIResource::GetSharedHandle referring to a Direct3D 11 + // texture resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT = 1 << 5, + + // NT handle returned by IDXGIResource1::CreateSharedHandle referring to a Direct3D 11 resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE = 1 << 6, + + // global share (KMT) handle returned by IDXGIResource::GetSharedHandle referring to a Direct3D 11 + // resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE_KMT = 1 << 7, + + // NT handle returned by ID3D12Device::CreateSharedHandle referring to a Direct3D 12 heap + // resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP = 1 << 8, + + // NT handle returned by ID3D12Device::CreateSharedHandle referring to a Direct3D 12 committed + // resource + OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE = 1 << 9, +} OIDNExternalMemoryTypeFlag; + +// Buffer handle +typedef struct OIDNBufferImpl* OIDNBuffer; + +// Creates a buffer accessible to both the host and device. +OIDN_API OIDNBuffer oidnNewBuffer(OIDNDevice device, size_t byteSize); + +// Creates a buffer with the specified storage mode. +OIDN_API OIDNBuffer oidnNewBufferWithStorage(OIDNDevice device, size_t byteSize, OIDNStorage storage); + +// Creates a shared buffer from memory allocated and owned by the user and accessible to the device. +OIDN_API OIDNBuffer oidnNewSharedBuffer(OIDNDevice device, void* devPtr, size_t byteSize); + +// Creates a shared buffer by importing external memory from a POSIX file descriptor. +OIDN_API OIDNBuffer oidnNewSharedBufferFromFD(OIDNDevice device, + OIDNExternalMemoryTypeFlag fdType, + int fd, size_t byteSize); + +// Creates a shared buffer by importing external memory from a Win32 handle. +OIDN_API OIDNBuffer oidnNewSharedBufferFromWin32Handle(OIDNDevice device, + OIDNExternalMemoryTypeFlag handleType, + void* handle, const void* name, size_t byteSize); + +// Creates a shared buffer from a Metal buffer. +// Only buffers with shared or private storage and hazard tracking are supported. +OIDN_API OIDNBuffer oidnNewSharedBufferFromMetal(OIDNDevice device, MTLBuffer_id buffer); + +// Gets the size of the buffer in bytes. +OIDN_API size_t oidnGetBufferSize(OIDNBuffer buffer); + +// Gets the storage mode of the buffer. +OIDN_API OIDNStorage oidnGetBufferStorage(OIDNBuffer buffer); + +// Gets a pointer to the buffer data, which is accessible to the device but not necessarily to +// the host as well, depending on the storage mode. Null pointer may be returned if the buffer +// is empty or getting a pointer to data with device storage is not supported by the device. +OIDN_API void* oidnGetBufferData(OIDNBuffer buffer); + +// Copies data from a region of the buffer to host memory. +OIDN_API void oidnReadBuffer(OIDNBuffer buffer, size_t byteOffset, size_t byteSize, void* dstHostPtr); + +// Copies data from a region of the buffer to host memory asynchronously. +OIDN_API void oidnReadBufferAsync(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, void* dstHostPtr); + +// Copies data to a region of the buffer from host memory. +OIDN_API void oidnWriteBuffer(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, const void* srcHostPtr); + +// Copies data to a region of the buffer from host memory asynchronously. +OIDN_API void oidnWriteBufferAsync(OIDNBuffer buffer, + size_t byteOffset, size_t byteSize, const void* srcHostPtr); + +// Retains the buffer (increments the reference count). +OIDN_API void oidnRetainBuffer(OIDNBuffer buffer); + +// Releases the buffer (decrements the reference count). +OIDN_API void oidnReleaseBuffer(OIDNBuffer buffer); + +// ------------------------------------------------------------------------------------------------- +// Filter +// ------------------------------------------------------------------------------------------------- + +// Filter quality/performance modes +typedef enum +{ + OIDN_QUALITY_DEFAULT = 0, // default quality + + OIDN_QUALITY_FAST = 4, // high performance (for interactive/real-time preview rendering) + OIDN_QUALITY_BALANCED = 5, // balanced quality/performance (for interactive/real-time rendering) + OIDN_QUALITY_HIGH = 6, // high quality (for final-frame rendering) +} OIDNQuality; + +// Progress monitor callback function +typedef bool (*OIDNProgressMonitorFunction)(void* userPtr, double n); + +// Filter handle +typedef struct OIDNFilterImpl* OIDNFilter; + +// Creates a filter of the specified type (e.g. "RT"). +OIDN_API OIDNFilter oidnNewFilter(OIDNDevice device, const char* type); + +// Retains the filter (increments the reference count). +OIDN_API void oidnRetainFilter(OIDNFilter filter); + +// Releases the filter (decrements the reference count). +OIDN_API void oidnReleaseFilter(OIDNFilter filter); + +// Sets an image parameter of the filter with data stored in a buffer. +// If pixelByteStride and/or rowByteStride are zero, these will be computed automatically. +OIDN_API void oidnSetFilterImage(OIDNFilter filter, const char* name, + OIDNBuffer buffer, OIDNFormat format, + size_t width, size_t height, + size_t byteOffset, + size_t pixelByteStride, size_t rowByteStride); + +// Sets an image parameter of the filter with data owned by the user and accessible to the device. +// If pixelByteStride and/or rowByteStride are zero, these will be computed automatically. +OIDN_API void oidnSetSharedFilterImage(OIDNFilter filter, const char* name, + void* devPtr, OIDNFormat format, + size_t width, size_t height, + size_t byteOffset, + size_t pixelByteStride, size_t rowByteStride); + +// Unsets an image parameter of the filter that was previously set. +OIDN_API void oidnUnsetFilterImage(OIDNFilter filter, const char* name); + +OIDN_DEPRECATED("oidnRemoveFilterImage is deprecated. Use oidnUnsetFilterImage instead.") +inline void oidnRemoveFilterImage(OIDNFilter filter, const char* name) +{ + oidnUnsetFilterImage(filter, name); +} + +// Sets an opaque data parameter of the filter owned by the user and accessible to the host. +OIDN_API void oidnSetSharedFilterData(OIDNFilter filter, const char* name, + void* hostPtr, size_t byteSize); + +// Notifies the filter that the contents of an opaque data parameter has been changed. +OIDN_API void oidnUpdateFilterData(OIDNFilter filter, const char* name); + +// Unsets an opaque data parameter of the filter that was previously set. +OIDN_API void oidnUnsetFilterData(OIDNFilter filter, const char* name); + +OIDN_DEPRECATED("oidnRemoveFilterData is deprecated. Use oidnUnsetFilterData instead.") +inline void oidnRemoveFilterData(OIDNFilter filter, const char* name) +{ + oidnUnsetFilterData(filter, name); +} + +// Sets a boolean parameter of the filter. +OIDN_API void oidnSetFilterBool(OIDNFilter filter, const char* name, bool value); + +OIDN_DEPRECATED("oidnSetFilter1b is deprecated. Use oidnSetFilterBool instead.") +inline void oidnSetFilter1b(OIDNFilter filter, const char* name, bool value) +{ + oidnSetFilterBool(filter, name, value); +} + +// Gets a boolean parameter of the filter. +OIDN_API bool oidnGetFilterBool(OIDNFilter filter, const char* name); + +OIDN_DEPRECATED("oidnGetFilter1b is deprecated. Use oidnGetFilterBool instead.") +inline bool oidnGetFilter1b(OIDNFilter filter, const char* name) +{ + return oidnGetFilterBool(filter, name); +} + +// Sets an integer parameter of the filter. +OIDN_API void oidnSetFilterInt(OIDNFilter filter, const char* name, int value); + +OIDN_DEPRECATED("oidnSetFilter1i is deprecated. Use oidnSetFilterInt instead.") +inline void oidnSetFilter1i(OIDNFilter filter, const char* name, int value) +{ + oidnSetFilterInt(filter, name, value); +} + +// Gets an integer parameter of the filter. +OIDN_API int oidnGetFilterInt(OIDNFilter filter, const char* name); + +OIDN_DEPRECATED("oidnGetFilter1i is deprecated. Use oidnGetFilterInt instead.") +inline int oidnGetFilter1i(OIDNFilter filter, const char* name) +{ + return oidnGetFilterInt(filter, name); +} + +// Sets a float parameter of the filter. +OIDN_API void oidnSetFilterFloat(OIDNFilter filter, const char* name, float value); + +OIDN_DEPRECATED("oidnSetFilter1f is deprecated. Use oidnSetFilterFloat instead.") +inline void oidnSetFilter1f(OIDNFilter filter, const char* name, float value) +{ + oidnSetFilterFloat(filter, name, value); +} + +// Gets a float parameter of the filter. +OIDN_API float oidnGetFilterFloat(OIDNFilter filter, const char* name); + +OIDN_DEPRECATED("oidnGetFilter1f is deprecated. Use oidnGetFilterFloat instead.") +inline float oidnGetFilter1f(OIDNFilter filter, const char* name) +{ + return oidnGetFilterFloat(filter, name); +} + +// Sets the progress monitor callback function of the filter. +OIDN_API void oidnSetFilterProgressMonitorFunction(OIDNFilter filter, + OIDNProgressMonitorFunction func, void* userPtr); + +// Commits all previous changes to the filter. +// Must be called before first executing the filter. +OIDN_API void oidnCommitFilter(OIDNFilter filter); + +// Executes the filter. +OIDN_API void oidnExecuteFilter(OIDNFilter filter); + +// Executes the filter asynchronously. +OIDN_API void oidnExecuteFilterAsync(OIDNFilter filter); + +#if defined(__cplusplus) +// Executes the filter of a SYCL device using the specified dependent events asynchronously, and +// optionally returns an event for completion. +OIDN_API void oidnExecuteSYCLFilterAsync(OIDNFilter filter, + const sycl::event* depEvents, int numDepEvents, + sycl::event* doneEvent); +#endif + +OIDN_API_NAMESPACE_END diff --git a/external/oidn/include/OpenImageDenoise/oidn.hpp b/external/oidn/include/OpenImageDenoise/oidn.hpp new file mode 100644 index 00000000..4588d421 --- /dev/null +++ b/external/oidn/include/OpenImageDenoise/oidn.hpp @@ -0,0 +1,1082 @@ +// Copyright 2018 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "oidn.h" +#include +#include +#include +#include +#include +#include +#include +#include + +OIDN_NAMESPACE_BEGIN + + // ----------------------------------------------------------------------------------------------- + // Flags helper type + // ----------------------------------------------------------------------------------------------- + + template + struct IsFlag + { + static constexpr bool value = false; + }; + + template + class Flags + { + public: + static_assert(IsFlag::value, "not a flag type"); + + using MaskType = typename std::underlying_type::type; + + constexpr Flags() noexcept : mask(0) {} + constexpr Flags(FlagT flag) noexcept : mask(static_cast(flag)) {} + constexpr Flags(const Flags& b) noexcept = default; + constexpr explicit Flags(MaskType mask) noexcept : mask(mask) {} + + constexpr bool operator !() const noexcept { return !mask; } + + constexpr Flags operator &(const Flags& b) const noexcept { return Flags(mask & b.mask); } + constexpr Flags operator |(const Flags& b) const noexcept { return Flags(mask | b.mask); } + constexpr Flags operator ^(const Flags& b) const noexcept { return Flags(mask ^ b.mask); } + + Flags& operator =(const Flags& b) noexcept = default; + + Flags& operator &=(const Flags& b) noexcept + { + mask &= b.mask; + return *this; + } + + Flags& operator |=(const Flags& b) noexcept + { + mask |= b.mask; + return *this; + } + + Flags& operator ^=(const Flags& b) noexcept + { + mask ^= b.mask; + return *this; + } + + constexpr bool operator ==(const Flags& b) const noexcept { return mask == b.mask; } + constexpr bool operator !=(const Flags& b) const noexcept { return mask != b.mask; } + + constexpr explicit operator bool() const noexcept { return mask; } + constexpr explicit operator MaskType() const noexcept { return mask; } + + private: + MaskType mask; + }; + + template + inline constexpr Flags operator &(FlagT a, const Flags& b) noexcept + { + return Flags(a) & b; + } + + template + inline constexpr Flags operator |(FlagT a, const Flags& b) noexcept + { + return Flags(a) | b; + } + + template + inline constexpr Flags operator ^(FlagT a, const Flags& b) noexcept + { + return Flags(a) ^ b; + } + + template::value, bool>::type = true> + inline constexpr Flags operator &(FlagT a, FlagT b) noexcept + { + return Flags(a) & b; + } + + template::value, bool>::type = true> + inline constexpr Flags operator |(FlagT a, FlagT b) noexcept + { + return Flags(a) | b; + } + + template::value, bool>::type = true> + inline constexpr Flags operator ^(FlagT a, FlagT b) noexcept + { + return Flags(a) ^ b; + } + + // ----------------------------------------------------------------------------------------------- + // Buffer + // ----------------------------------------------------------------------------------------------- + + // Formats for images and other data stored in buffers + enum class Format + { + Undefined = OIDN_FORMAT_UNDEFINED, + + // 32-bit single-precision floating-point scalar and vector formats + Float = OIDN_FORMAT_FLOAT, + Float2 = OIDN_FORMAT_FLOAT2, + Float3 = OIDN_FORMAT_FLOAT3, + Float4 = OIDN_FORMAT_FLOAT4, + + // 16-bit half-precision floating-point scalar and vector formats + Half = OIDN_FORMAT_HALF, + Half2 = OIDN_FORMAT_HALF2, + Half3 = OIDN_FORMAT_HALF3, + Half4 = OIDN_FORMAT_HALF4, + }; + + // Storage modes for buffers + enum class Storage + { + Undefined = OIDN_STORAGE_UNDEFINED, + + // stored on the host, accessible by both host and device + Host = OIDN_STORAGE_HOST, + + // stored on the device, *not* accessible by the host + Device = OIDN_STORAGE_DEVICE, + + // automatically migrated between host and device, accessible by both + // *not* supported by all devices, "managedMemorySupported" device parameter should be checked + Managed = OIDN_STORAGE_MANAGED, + }; + + // External memory type flags + enum class ExternalMemoryTypeFlag + { + None = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_NONE, + + // opaque POSIX file descriptor handle + OpaqueFD = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD, + + // file descriptor handle for a Linux dma_buf + DMABuf = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF, + + // NT handle + OpaqueWin32 = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32, + + // global share (KMT) handle + OpaqueWin32KMT = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT, + + // NT handle returned by IDXGIResource1::CreateSharedHandle referring to a Direct3D 11 + // texture resource + D3D11Texture = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE, + + // global share (KMT) handle returned by IDXGIResource::GetSharedHandle referring to a + // Direct3D 11 texture resource + D3D11TextureKMT = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT, + + // NT handle returned by IDXGIResource1::CreateSharedHandle referring to a Direct3D 11 + // resource + D3D11Resource = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE, + + // global share (KMT) handle returned by IDXGIResource::GetSharedHandle referring to a + // Direct3D 11 resource + D3D11ResourceKMT = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_RESOURCE_KMT, + + // NT handle returned by ID3D12Device::CreateSharedHandle referring to a Direct3D 12 + // heap resource + D3D12Heap = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP, + + // NT handle returned by ID3D12Device::CreateSharedHandle referring to a Direct3D 12 + // committed resource + D3D12Resource = OIDN_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE, + }; + + template<> struct IsFlag { static constexpr bool value = true; }; + using ExternalMemoryTypeFlags = Flags; + + // Buffer object with automatic reference counting + class BufferRef + { + public: + BufferRef() : handle(nullptr) {} + BufferRef(OIDNBuffer handle) : handle(handle) {} + + BufferRef(const BufferRef& other) : handle(other.handle) + { + if (handle) + oidnRetainBuffer(handle); + } + + BufferRef(BufferRef&& other) noexcept : handle(other.handle) + { + other.handle = nullptr; + } + + BufferRef& operator =(const BufferRef& other) + { + if (&other != this) + { + if (other.handle) + oidnRetainBuffer(other.handle); + if (handle) + oidnReleaseBuffer(handle); + handle = other.handle; + } + return *this; + } + + BufferRef& operator =(BufferRef&& other) noexcept + { + std::swap(handle, other.handle); + return *this; + } + + BufferRef& operator =(OIDNBuffer other) + { + if (other) + oidnRetainBuffer(other); + if (handle) + oidnReleaseBuffer(handle); + handle = other; + return *this; + } + + ~BufferRef() + { + if (handle) + oidnReleaseBuffer(handle); + } + + OIDNBuffer getHandle() const + { + return handle; + } + + operator bool() const + { + return handle != nullptr; + } + + // Releases the buffer (decrements the reference count). + void release() + { + if (handle) + { + oidnReleaseBuffer(handle); + handle = nullptr; + } + } + + // Gets the size of the buffer in bytes. + size_t getSize() const + { + return oidnGetBufferSize(handle); + } + + // Gets the storage mode of the buffer. + Storage getStorage() const + { + return static_cast(oidnGetBufferStorage(handle)); + } + + // Gets a pointer to the buffer data, which is accessible to the device but not necessarily to + // the host as well, depending on the storage mode. Null pointer may be returned if the buffer + // is empty or getting a pointer to data with device storage is not supported by the device. + void* getData() const + { + return oidnGetBufferData(handle); + } + + // Copies data from a region of the buffer to host memory. + void read(size_t byteOffset, size_t byteSize, void* dstHostPtr) const + { + oidnReadBuffer(handle, byteOffset, byteSize, dstHostPtr); + } + + // Copies data from a region of the buffer to host memory asynchronously. + void readAsync(size_t byteOffset, size_t byteSize, void* dstHostPtr) const + { + oidnReadBufferAsync(handle, byteOffset, byteSize, dstHostPtr); + } + + // Copies data to a region of the buffer from host memory. + void write(size_t byteOffset, size_t byteSize, const void* srcHostPtr) + { + oidnWriteBuffer(handle, byteOffset, byteSize, srcHostPtr); + } + + // Copies data to a region of the buffer from host memory asynchronously. + void writeAsync(size_t byteOffset, size_t byteSize, const void* srcHostPtr) + { + oidnWriteBufferAsync(handle, byteOffset, byteSize, srcHostPtr); + } + + private: + OIDNBuffer handle; + }; + + // ----------------------------------------------------------------------------------------------- + // Filter + // ----------------------------------------------------------------------------------------------- + + // Filter quality/performance modes + enum class Quality + { + Default = OIDN_QUALITY_DEFAULT, // default quality + + Fast = OIDN_QUALITY_FAST, // high performance (for interactive/real-time preview rendering) + Balanced = OIDN_QUALITY_BALANCED, // balanced quality/performance (for interactive/real-time rendering) + High = OIDN_QUALITY_HIGH, // high quality (for final-frame rendering) + }; + + // Progress monitor callback function + using ProgressMonitorFunction = OIDNProgressMonitorFunction; + + // Filter object with automatic reference counting + class FilterRef + { + public: + FilterRef() : handle(nullptr) {} + FilterRef(OIDNFilter handle) : handle(handle) {} + + FilterRef(const FilterRef& other) : handle(other.handle) + { + if (handle) + oidnRetainFilter(handle); + } + + FilterRef(FilterRef&& other) noexcept : handle(other.handle) + { + other.handle = nullptr; + } + + FilterRef& operator =(const FilterRef& other) + { + if (&other != this) + { + if (other.handle) + oidnRetainFilter(other.handle); + if (handle) + oidnReleaseFilter(handle); + handle = other.handle; + } + return *this; + } + + FilterRef& operator =(FilterRef&& other) noexcept + { + std::swap(handle, other.handle); + return *this; + } + + FilterRef& operator =(OIDNFilter other) + { + if (other) + oidnRetainFilter(other); + if (handle) + oidnReleaseFilter(handle); + handle = other; + return *this; + } + + ~FilterRef() + { + if (handle) + oidnReleaseFilter(handle); + } + + OIDNFilter getHandle() const + { + return handle; + } + + operator bool() const + { + return handle != nullptr; + } + + // Releases the filter (decrements the reference count). + void release() + { + if (handle) + { + oidnReleaseFilter(handle); + handle = nullptr; + } + } + + // Sets an image parameter of the filter with data stored in a buffer. + void setImage(const char* name, + const BufferRef& buffer, Format format, + size_t width, size_t height, + size_t byteOffset = 0, + size_t pixelByteStride = 0, size_t rowByteStride = 0) + { + oidnSetFilterImage(handle, name, + buffer.getHandle(), static_cast(format), + width, height, + byteOffset, + pixelByteStride, rowByteStride); + } + + // Sets an image parameter of the filter with data owned by the user and accessible to the device. + void setImage(const char* name, + void* devPtr, Format format, + size_t width, size_t height, + size_t byteOffset = 0, + size_t pixelByteStride = 0, size_t rowByteStride = 0) + { + oidnSetSharedFilterImage(handle, name, + devPtr, static_cast(format), + width, height, + byteOffset, + pixelByteStride, rowByteStride); + } + + // Unsets an image parameter of the filter that was previously set. + void unsetImage(const char* name) + { + oidnUnsetFilterImage(handle, name); + } + + OIDN_DEPRECATED("removeImage is deprecated. Use unsetImage instead.") + void removeImage(const char* name) + { + oidnUnsetFilterImage(handle, name); + } + + // Sets an opaque data parameter of the filter owned by the user and accessible to the host. + void setData(const char* name, void* hostPtr, size_t byteSize) + { + oidnSetSharedFilterData(handle, name, hostPtr, byteSize); + } + + // Notifies the filter that the contents of an opaque data parameter has been changed. + void updateData(const char* name) + { + oidnUpdateFilterData(handle, name); + } + + // Unsets an opaque data parameter of the filter that was previously set. + void unsetData(const char* name) + { + oidnUnsetFilterData(handle, name); + } + + OIDN_DEPRECATED("removeData is deprecated. Use unsetData instead.") + void removeData(const char* name) + { + oidnUnsetFilterData(handle, name); + } + + // Sets a boolean parameter of the filter. + void set(const char* name, bool value) + { + oidnSetFilterBool(handle, name, value); + } + + // Sets an integer parameter of the filter. + void set(const char* name, int value) + { + oidnSetFilterInt(handle, name, value); + } + + void set(const char* name, Quality value) + { + oidnSetFilterInt(handle, name, static_cast(value)); + } + + // Sets a float parameter of the filter. + void set(const char* name, float value) + { + oidnSetFilterFloat(handle, name, value); + } + + // Gets a parameter of the filter. + template + T get(const char* name) const; + + // Sets the progress monitor callback function of the filter. + void setProgressMonitorFunction(ProgressMonitorFunction func, void* userPtr = nullptr) + { + oidnSetFilterProgressMonitorFunction(handle, func, userPtr); + } + + // Commits all previous changes to the filter. + void commit() + { + oidnCommitFilter(handle); + } + + // Executes the filter. + void execute() + { + oidnExecuteFilter(handle); + } + + // Executes the filter asynchronously. + void executeAsync() + { + oidnExecuteFilterAsync(handle); + } + + #if defined(OIDN_SYCL_HPP) + // Executes the filter of a SYCL device using the specified dependent events asynchronously, and + // optionally returns an event for completion. + sycl::event executeAsync(const std::vector& depEvents) + { + sycl::event doneEvent; + oidnExecuteSYCLFilterAsync(handle, depEvents.data(), static_cast(depEvents.size()), &doneEvent); + return doneEvent; + } + #endif + + private: + OIDNFilter handle; + }; + + template<> + inline bool FilterRef::get(const char* name) const + { + return oidnGetFilterBool(handle, name); + } + + template<> + inline int FilterRef::get(const char* name) const + { + return oidnGetFilterInt(handle, name); + } + + template<> + inline Quality FilterRef::get(const char* name) const + { + return static_cast(oidnGetFilterInt(handle, name)); + } + + template<> + inline float FilterRef::get(const char* name) const + { + return oidnGetFilterFloat(handle, name); + } + + // ----------------------------------------------------------------------------------------------- + // Device + // ----------------------------------------------------------------------------------------------- + + // Device types + enum class DeviceType + { + Default = OIDN_DEVICE_TYPE_DEFAULT, // select device automatically + + CPU = OIDN_DEVICE_TYPE_CPU, // CPU device + SYCL = OIDN_DEVICE_TYPE_SYCL, // SYCL device + CUDA = OIDN_DEVICE_TYPE_CUDA, // CUDA device + HIP = OIDN_DEVICE_TYPE_HIP, // HIP device + Metal = OIDN_DEVICE_TYPE_METAL, // Metal device + }; + + // Error codes + enum class Error + { + None = OIDN_ERROR_NONE, // no error occurred + Unknown = OIDN_ERROR_UNKNOWN, // an unknown error occurred + InvalidArgument = OIDN_ERROR_INVALID_ARGUMENT, // an invalid argument was specified + InvalidOperation = OIDN_ERROR_INVALID_OPERATION, // the operation is not allowed + OutOfMemory = OIDN_ERROR_OUT_OF_MEMORY, // not enough memory to execute the operation + UnsupportedHardware = OIDN_ERROR_UNSUPPORTED_HARDWARE, // the hardware (e.g. CPU) is not supported + Cancelled = OIDN_ERROR_CANCELLED, // the operation was cancelled by the user + }; + + // Error callback function + typedef void (*ErrorFunction)(void* userPtr, Error code, const char* message); + + // Opaque universally unique identifier (UUID) of a physical device + struct UUID + { + uint8_t bytes[OIDN_UUID_SIZE]; + }; + + // Opaque locally unique identifier (LUID) of a physical device + struct LUID + { + union + { + struct + { + uint32_t low; + int32_t high; + }; + uint8_t bytes[OIDN_LUID_SIZE]; + }; + }; + + // Device object with automatic reference counting + class DeviceRef + { + public: + DeviceRef() : handle(nullptr) {} + DeviceRef(OIDNDevice handle) : handle(handle) {} + + DeviceRef(const DeviceRef& other) : handle(other.handle) + { + if (handle) + oidnRetainDevice(handle); + } + + DeviceRef(DeviceRef&& other) noexcept : handle(other.handle) + { + other.handle = nullptr; + } + + DeviceRef& operator =(const DeviceRef& other) + { + if (&other != this) + { + if (other.handle) + oidnRetainDevice(other.handle); + if (handle) + oidnReleaseDevice(handle); + handle = other.handle; + } + return *this; + } + + DeviceRef& operator =(DeviceRef&& other) noexcept + { + std::swap(handle, other.handle); + return *this; + } + + DeviceRef& operator =(OIDNDevice other) + { + if (other) + oidnRetainDevice(other); + if (handle) + oidnReleaseDevice(handle); + handle = other; + return *this; + } + + ~DeviceRef() + { + if (handle) + oidnReleaseDevice(handle); + } + + OIDNDevice getHandle() const + { + return handle; + } + + operator bool() const + { + return handle != nullptr; + } + + // Releases the device (decrements the reference count). + void release() + { + if (handle) + { + oidnReleaseDevice(handle); + handle = nullptr; + } + } + + // Sets a boolean parameter of the device. + void set(const char* name, bool value) + { + oidnSetDeviceBool(handle, name, value); + } + + // Sets an integer parameter of the device. + void set(const char* name, int value) + { + oidnSetDeviceInt(handle, name, value); + } + + // Sets an unsigned integer parameter of the device. + void set(const char* name, unsigned int value) + { + oidnSetDeviceUInt(handle, name, value); + } + + // Gets a parameter of the device. + template + T get(const char* name) const; + + // Sets the error callback function of the device. + void setErrorFunction(ErrorFunction func, void* userPtr = nullptr) + { + oidnSetDeviceErrorFunction(handle, reinterpret_cast(func), userPtr); + } + + // Returns the first unqueried error code and clears the stored error. + // Can be called for a null device as well to check for global errors (e.g. why a device + // creation or physical device query has failed. + Error getError() + { + return static_cast(oidnGetDeviceError(handle, nullptr)); + } + + // Returns the first unqueried error code and string message, and clears the stored error. + // Can be called for a null device as well to check why a device creation failed. + Error getError(const char*& outMessage) + { + return static_cast(oidnGetDeviceError(handle, &outMessage)); + } + + // Commits all previous changes to the device. + // Must be called before first using the device (e.g. creating filters). + void commit() + { + oidnCommitDevice(handle); + } + + // Waits for all asynchronous operations running on the device to complete. + void sync() + { + oidnSyncDevice(handle); + } + + // Creates a buffer accessible to both the host and device. + BufferRef newBuffer(size_t byteSize) const + { + return oidnNewBuffer(handle, byteSize); + } + + // Creates a buffer with the specified storage mode. + BufferRef newBuffer(size_t byteSize, Storage storage) const + { + return oidnNewBufferWithStorage(handle, byteSize, static_cast(storage)); + } + + // Creates a shared buffer from memory allocated and owned by the user and accessible to the + // device. + BufferRef newBuffer(void* ptr, size_t byteSize) const + { + return oidnNewSharedBuffer(handle, ptr, byteSize); + } + + // Creates a shared buffer by importing external memory from a POSIX file descriptor. + BufferRef newBuffer(ExternalMemoryTypeFlag fdType, int fd, size_t byteSize) const + { + return oidnNewSharedBufferFromFD( + handle, static_cast(fdType), fd, byteSize); + } + + // Creates a shared buffer by importing external memory from a Win32 handle. + BufferRef newBuffer(ExternalMemoryTypeFlag handleType, void* handle, const void* name, size_t byteSize) const + { + return oidnNewSharedBufferFromWin32Handle( + this->handle, static_cast(handleType), handle, name, byteSize); + } + + // Creates a shared buffer from a Metal buffer. + // Only buffers with shared or private storage and hazard tracking are supported. + #if defined(__OBJC__) + BufferRef newBuffer(id buffer) const + { + return oidnNewSharedBufferFromMetal(handle, buffer); + } + #endif + + // Creates a filter of the specified type (e.g. "RT"). + FilterRef newFilter(const char* type) const + { + return oidnNewFilter(handle, type); + } + + private: + OIDNDevice handle; + }; + + template<> + inline bool DeviceRef::get(const char* name) const + { + return oidnGetDeviceBool(handle, name); + } + + template<> + inline int DeviceRef::get(const char* name) const + { + return oidnGetDeviceInt(handle, name); + } + + template<> + inline unsigned int DeviceRef::get(const char* name) const + { + return oidnGetDeviceUInt(handle, name); + } + + template<> + inline DeviceType DeviceRef::get(const char* name) const + { + return static_cast(oidnGetDeviceInt(handle, name)); + } + + template<> + inline ExternalMemoryTypeFlags DeviceRef::get(const char* name) const + { + return ExternalMemoryTypeFlags(oidnGetDeviceInt(handle, name)); + } + + // Returns the first unqueried per-thread global error code and clears the stored error. + inline Error getError() + { + return static_cast(oidnGetDeviceError(nullptr, nullptr)); + } + + // Returns the first unqueried per-thread global error code and string message, and clears the + // stored error. + inline Error getError(const char*& outMessage) + { + return static_cast(oidnGetDeviceError(nullptr, &outMessage)); + } + + // Returns whether the CPU device is supported. + inline bool isCPUDeviceSupported() + { + return oidnIsCPUDeviceSupported(); + } + + // Returns whether the specified SYCL device is supported. +#if defined(OIDN_SYCL_HPP) + inline bool isSYCLDeviceSupported(const sycl::device& device) + { + return oidnIsSYCLDeviceSupported(&device); + } +#endif + + // Returns whether the specified CUDA device is supported. + inline bool isCUDADeviceSupported(int deviceID) + { + return oidnIsCUDADeviceSupported(deviceID); + } + + // Returns whether the specified HIP device is supported. + inline bool isHIPDeviceSupported(int deviceID) + { + return oidnIsHIPDeviceSupported(deviceID); + } + + // Returns whether the specified Metal device is supported. + inline bool isMetalDeviceSupported(MTLDevice_id device) + { + return oidnIsMetalDeviceSupported(device); + } + + // Creates a device of the specified type. + inline DeviceRef newDevice(DeviceType type = DeviceType::Default) + { + return DeviceRef(oidnNewDevice(static_cast(type))); + } + + // Creates a device from a physical device specified by its ID (0 to getNumPhysicalDevices()-1). + inline DeviceRef newDevice(int physicalDeviceID) + { + return DeviceRef(oidnNewDeviceByID(physicalDeviceID)); + } + + // Creates a device from a physical device specified by its UUID. + inline DeviceRef newDevice(const UUID& uuid) + { + return DeviceRef(oidnNewDeviceByUUID(uuid.bytes)); + } + + // Creates a device from a physical device specified by its LUID. + inline DeviceRef newDevice(const LUID& luid) + { + return DeviceRef(oidnNewDeviceByLUID(luid.bytes)); + } + + // Creates a device from a physical device specified by its PCI address. + inline DeviceRef newDevice(int pciDomain, int pciBus, int pciDevice, int pciFunction) + { + return DeviceRef(oidnNewDeviceByPCIAddress(pciDomain, pciBus, pciDevice, pciFunction)); + } + +#if defined(OIDN_SYCL_HPP) + // Creates a device from the specified SYCL queue. + inline DeviceRef newSYCLDevice(const sycl::queue& queue) + { + return DeviceRef(oidnNewSYCLDevice(&queue, 1)); + } + + // Creates a device from the specified list of SYCL queues. + // The queues should belong to different SYCL sub-devices (Xe Stack/Tile) of the same SYCL + // root-device (GPU). + inline DeviceRef newSYCLDevice(const std::vector& queues) + { + return DeviceRef(oidnNewSYCLDevice(queues.data(), static_cast(queues.size()))); + } +#endif + + // Creates a device from the specified CUDA device ID and stream (null stream corresponds to the + // default stream). + inline DeviceRef newCUDADevice(int deviceID, cudaStream_t stream) + { + return DeviceRef(oidnNewCUDADevice(&deviceID, &stream, 1)); + } + + // Creates a device from the specified pairs of CUDA device IDs and streams (null stream + // corresponds to the default stream). Currently only one device ID/stream is supported. + inline DeviceRef newCUDADevice(const std::vector& deviceIDs, + const std::vector& streams) + { + assert(deviceIDs.size() == streams.size()); + return DeviceRef(oidnNewCUDADevice(deviceIDs.data(), streams.data(), + static_cast(streams.size()))); + } + + // Creates a device from the specified HIP device ID and stream (null stream corresponds to the + // default stream). + inline DeviceRef newHIPDevice(int deviceID, hipStream_t stream) + { + return DeviceRef(oidnNewHIPDevice(&deviceID, &stream, 1)); + } + + // Creates a device from the specified pairs of HIP device IDs and streams (null stream + // corresponds to the default stream). Currently only one device ID/stream is supported. + inline DeviceRef newHIPDevice(const std::vector& deviceIDs, + const std::vector& streams) + { + assert(deviceIDs.size() == streams.size()); + return DeviceRef(oidnNewHIPDevice(deviceIDs.data(), streams.data(), + static_cast(streams.size()))); + } + + // Creates a device from the specified Metal command queue. + inline DeviceRef newMetalDevice(MTLCommandQueue_id commandQueue) + { + return DeviceRef(oidnNewMetalDevice(&commandQueue, 1)); + } + + // Creates a device from the specified list of Metal command queues. + // Currently only one queue is supported. + inline DeviceRef newMetalDevice(const std::vector& commandQueues) + { + return DeviceRef(oidnNewMetalDevice(commandQueues.data(), static_cast(commandQueues.size()))); + } + + // ----------------------------------------------------------------------------------------------- + // Physical Device + // ----------------------------------------------------------------------------------------------- + + class PhysicalDeviceRef + { + public: + PhysicalDeviceRef() : id(-1) {} + PhysicalDeviceRef(int id) : id(id) {} + + PhysicalDeviceRef& operator =(int other) + { + id = other; + return *this; + } + + int getID() const + { + return id; + } + + operator bool() const + { + return id >= 0; + } + + // Gets a paramter of the physical device. + template + T get(const char* name) const; + + // Gets an opaque data parameter of the physical device. + std::pair getData(const char* name) const + { + size_t byteSize = 0; + const void* ptr = oidnGetPhysicalDeviceData(id, name, &byteSize); + return {ptr, byteSize}; + } + + // Creates a device from the physical device. + DeviceRef newDevice() + { + return DeviceRef(oidnNewDeviceByID(id)); + } + + private: + int id; + }; + + // Returns the number of supported physical devices. + inline int getNumPhysicalDevices() + { + return oidnGetNumPhysicalDevices(); + } + + template<> + inline bool PhysicalDeviceRef::get(const char* name) const + { + return oidnGetPhysicalDeviceBool(id, name); + } + + template<> + inline int PhysicalDeviceRef::get(const char* name) const + { + return oidnGetPhysicalDeviceInt(id, name); + } + + template<> + inline unsigned int PhysicalDeviceRef::get(const char* name) const + { + return oidnGetPhysicalDeviceUInt(id, name); + } + + template<> + inline DeviceType PhysicalDeviceRef::get(const char* name) const + { + return static_cast(oidnGetPhysicalDeviceInt(id, name)); + } + + template<> + inline const char* PhysicalDeviceRef::get(const char* name) const + { + return oidnGetPhysicalDeviceString(id, name); + } + + template<> + inline std::string PhysicalDeviceRef::get(const char* name) const + { + const char* str = oidnGetPhysicalDeviceString(id, name); + return str ? str : ""; + } + + template<> + inline UUID PhysicalDeviceRef::get(const char* name) const + { + UUID uuid{}; + auto data = getData(name); + if (data.first != nullptr) + { + if (data.second == sizeof(uuid.bytes)) + std::memcpy(uuid.bytes, data.first, sizeof(uuid.bytes)); + else + getData(""); // invoke an error + } + return uuid; + } + + template<> + inline LUID PhysicalDeviceRef::get(const char* name) const + { + LUID luid{}; + auto data = getData(name); + if (data.first != nullptr) + { + if (data.second == sizeof(luid.bytes)) + std::memcpy(luid.bytes, data.first, sizeof(luid.bytes)); + else + getData(""); // invoke an error + } + return luid; + } + +OIDN_NAMESPACE_END diff --git a/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfig.cmake b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfig.cmake new file mode 100644 index 00000000..d96682f5 --- /dev/null +++ b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfig.cmake @@ -0,0 +1,47 @@ +## Copyright 2023 Intel Corporation +## SPDX-License-Identifier: Apache-2.0 + + +####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### +####### Any changes to this file will be overwritten by the next CMake run #### +####### The input file was Config.cmake.in ######## + +get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +#################################################################################### + +set(OIDN_DEVICE_CPU ON) +set(OIDN_DEVICE_SYCL ON) +set(OIDN_DEVICE_CUDA ON) +set(OIDN_DEVICE_HIP ON) + +set(OIDN_FILTER_RT ON) +set(OIDN_FILTER_RTLIGHTMAP ON) + +set(OIDN_STATIC_LIB OFF) + +if(OIDN_STATIC_LIB AND OIDN_DEVICE_CPU) + include(CMakeFindDependencyMacro) + find_dependency(TBB) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/OpenImageDenoiseTargets.cmake") + +check_required_components(OpenImageDenoise) diff --git a/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfigVersion.cmake b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfigVersion.cmake new file mode 100644 index 00000000..d20e7a39 --- /dev/null +++ b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseConfigVersion.cmake @@ -0,0 +1,70 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version, +# but only if the requested major version is the same as the current one. +# The variable CVF_VERSION must be set before calling configure_file(). + + +set(PACKAGE_VERSION "2.3.0") + +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + + if("2.3.0" MATCHES "^([0-9]+)\\.") + set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") + if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0) + string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}") + endif() + else() + set(CVF_VERSION_MAJOR "2.3.0") + endif() + + if(PACKAGE_FIND_VERSION_RANGE) + # both endpoints of the range must have the expected major version + math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1") + if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR + OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT))) + set(PACKAGE_VERSION_COMPATIBLE FALSE) + elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR + AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX) + OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX))) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) + endif() + else() + if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) + set(PACKAGE_VERSION_COMPATIBLE TRUE) + else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) + endif() + + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() + endif() +endif() + + +# if the installed project requested no architecture check, don't perform the check +if("FALSE") + return() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets-release.cmake b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets-release.cmake new file mode 100644 index 00000000..90d58d2c --- /dev/null +++ b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets-release.cmake @@ -0,0 +1,30 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "OpenImageDenoise_core" for configuration "Release" +set_property(TARGET OpenImageDenoise_core APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(OpenImageDenoise_core PROPERTIES + IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/OpenImageDenoise_core.lib" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/OpenImageDenoise_core.dll" + ) + +list(APPEND _cmake_import_check_targets OpenImageDenoise_core ) +list(APPEND _cmake_import_check_files_for_OpenImageDenoise_core "${_IMPORT_PREFIX}/lib/OpenImageDenoise_core.lib" "${_IMPORT_PREFIX}/bin/OpenImageDenoise_core.dll" ) + +# Import target "OpenImageDenoise" for configuration "Release" +set_property(TARGET OpenImageDenoise APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(OpenImageDenoise PROPERTIES + IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/OpenImageDenoise.lib" + IMPORTED_LINK_DEPENDENT_LIBRARIES_RELEASE "OpenImageDenoise_core" + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/OpenImageDenoise.dll" + ) + +list(APPEND _cmake_import_check_targets OpenImageDenoise ) +list(APPEND _cmake_import_check_files_for_OpenImageDenoise "${_IMPORT_PREFIX}/lib/OpenImageDenoise.lib" "${_IMPORT_PREFIX}/bin/OpenImageDenoise.dll" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets.cmake b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets.cmake new file mode 100644 index 00000000..336032f7 --- /dev/null +++ b/external/oidn/lib/cmake/OpenImageDenoise-2.3.0/OpenImageDenoiseTargets.cmake @@ -0,0 +1,119 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.23) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS OpenImageDenoise_weights OpenImageDenoise_common OpenImageDenoise_core OpenImageDenoise) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target OpenImageDenoise_weights +add_library(OpenImageDenoise_weights INTERFACE IMPORTED) + +# Create imported target OpenImageDenoise_common +add_library(OpenImageDenoise_common INTERFACE IMPORTED) + +# Create imported target OpenImageDenoise_core +add_library(OpenImageDenoise_core SHARED IMPORTED) + +set_target_properties(OpenImageDenoise_core PROPERTIES + INTERFACE_LINK_LIBRARIES "OpenImageDenoise_common" +) + +# Create imported target OpenImageDenoise +add_library(OpenImageDenoise SHARED IMPORTED) + +set_target_properties(OpenImageDenoise PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/OpenImageDenoiseTargets-*.cmake") +foreach(_cmake_config_file IN LISTS _cmake_config_files) + include("${_cmake_config_file}") +endforeach() +unset(_cmake_config_file) +unset(_cmake_config_files) + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(_cmake_target IN LISTS _cmake_import_check_targets) + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + \"${_cmake_file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_cmake_file) + unset("_cmake_import_check_files_for_${_cmake_target}") +endforeach() +unset(_cmake_target) +unset(_cmake_import_check_targets) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/nsight/output.ncu-rep b/nsight/output.ncu-rep new file mode 100644 index 00000000..a1dd80e0 Binary files /dev/null and b/nsight/output.ncu-rep differ diff --git a/results/ACES/ACESOff.png b/results/ACES/ACESOff.png new file mode 100644 index 00000000..0fcc8e27 Binary files /dev/null and b/results/ACES/ACESOff.png differ diff --git a/results/ACES/ACESOn.png b/results/ACES/ACESOn.png new file mode 100644 index 00000000..f29b68ac Binary files /dev/null and b/results/ACES/ACESOn.png differ diff --git a/results/AfterBVH.png b/results/AfterBVH.png new file mode 100644 index 00000000..0d8d23fe Binary files /dev/null and b/results/AfterBVH.png differ diff --git a/results/BVH/AfterBVH.png b/results/BVH/AfterBVH.png new file mode 100644 index 00000000..f84fa21f Binary files /dev/null and b/results/BVH/AfterBVH.png differ diff --git a/results/BVH/BVH.png b/results/BVH/BVH.png new file mode 100644 index 00000000..421403eb Binary files /dev/null and b/results/BVH/BVH.png differ diff --git a/results/BVH/CoverBVH.png b/results/BVH/CoverBVH.png new file mode 100644 index 00000000..e9fea22c Binary files /dev/null and b/results/BVH/CoverBVH.png differ diff --git a/results/BVH/Dragon.png b/results/BVH/Dragon.png new file mode 100644 index 00000000..db97c9bc Binary files /dev/null and b/results/BVH/Dragon.png differ diff --git a/results/BVH/DragonBVH.png b/results/BVH/DragonBVH.png new file mode 100644 index 00000000..92981187 Binary files /dev/null and b/results/BVH/DragonBVH.png differ diff --git a/results/BVH/marioScene.png b/results/BVH/marioScene.png new file mode 100644 index 00000000..9840f3e2 Binary files /dev/null and b/results/BVH/marioScene.png differ diff --git a/results/BVH/simplescene.png b/results/BVH/simplescene.png new file mode 100644 index 00000000..6105750a Binary files /dev/null and b/results/BVH/simplescene.png differ diff --git a/results/BVHBlooper.png b/results/BVHBlooper.png new file mode 100644 index 00000000..00129a99 Binary files /dev/null and b/results/BVHBlooper.png differ diff --git a/results/BVHVerySlow.png b/results/BVHVerySlow.png new file mode 100644 index 00000000..6f3216c3 Binary files /dev/null and b/results/BVHVerySlow.png differ diff --git a/results/BeforeBVH.png b/results/BeforeBVH.png new file mode 100644 index 00000000..3eae95c2 Binary files /dev/null and b/results/BeforeBVH.png differ diff --git a/results/Bloompers/cornell.2024-09-29_06-48-51z.500samp.png b/results/Bloompers/cornell.2024-09-29_06-48-51z.500samp.png new file mode 100644 index 00000000..2ffbc415 Binary files /dev/null and b/results/Bloompers/cornell.2024-09-29_06-48-51z.500samp.png differ diff --git a/results/Bloompers/cornell.2024-09-29_06-49-42z.131samp.png b/results/Bloompers/cornell.2024-09-29_06-49-42z.131samp.png new file mode 100644 index 00000000..bba97b9e Binary files /dev/null and b/results/Bloompers/cornell.2024-09-29_06-49-42z.131samp.png differ diff --git a/results/Bloompers/cornell.2024-09-30_01-27-38z.5000samp.png b/results/Bloompers/cornell.2024-09-30_01-27-38z.5000samp.png new file mode 100644 index 00000000..d2ec3f19 Binary files /dev/null and b/results/Bloompers/cornell.2024-09-30_01-27-38z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-09-30_02-25-06z.5000samp.png b/results/Bloompers/cornell.2024-09-30_02-25-06z.5000samp.png new file mode 100644 index 00000000..223abc56 Binary files /dev/null and b/results/Bloompers/cornell.2024-09-30_02-25-06z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-09-30_02-52-10z.5000samp.png b/results/Bloompers/cornell.2024-09-30_02-52-10z.5000samp.png new file mode 100644 index 00000000..480d5269 Binary files /dev/null and b/results/Bloompers/cornell.2024-09-30_02-52-10z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-09-30_02-57-33z.5000samp.png b/results/Bloompers/cornell.2024-09-30_02-57-33z.5000samp.png new file mode 100644 index 00000000..25e7e01f Binary files /dev/null and b/results/Bloompers/cornell.2024-09-30_02-57-33z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-01_17-09-57z.5000samp.png b/results/Bloompers/cornell.2024-10-01_17-09-57z.5000samp.png new file mode 100644 index 00000000..ee40c084 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-01_17-09-57z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-01_18-17-46z.5000samp.png b/results/Bloompers/cornell.2024-10-01_18-17-46z.5000samp.png new file mode 100644 index 00000000..ee40c084 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-01_18-17-46z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-01_19-04-00z.5000samp.png b/results/Bloompers/cornell.2024-10-01_19-04-00z.5000samp.png new file mode 100644 index 00000000..61de9032 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-01_19-04-00z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-01_21-20-26z.5000samp.png b/results/Bloompers/cornell.2024-10-01_21-20-26z.5000samp.png new file mode 100644 index 00000000..58565d4e Binary files /dev/null and b/results/Bloompers/cornell.2024-10-01_21-20-26z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-02_00-10-28z.2076samp.png b/results/Bloompers/cornell.2024-10-02_00-10-28z.2076samp.png new file mode 100644 index 00000000..4a6e84e3 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-02_00-10-28z.2076samp.png differ diff --git a/results/Bloompers/cornell.2024-10-02_00-26-44z.5000samp.png b/results/Bloompers/cornell.2024-10-02_00-26-44z.5000samp.png new file mode 100644 index 00000000..37ff10fb Binary files /dev/null and b/results/Bloompers/cornell.2024-10-02_00-26-44z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-02_06-51-59z.5000samp.png b/results/Bloompers/cornell.2024-10-02_06-51-59z.5000samp.png new file mode 100644 index 00000000..6fa0adaa Binary files /dev/null and b/results/Bloompers/cornell.2024-10-02_06-51-59z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-02_07-02-13z.5000samp.png b/results/Bloompers/cornell.2024-10-02_07-02-13z.5000samp.png new file mode 100644 index 00000000..8e84ead0 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-02_07-02-13z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-02_07-03-40z.4samp.png b/results/Bloompers/cornell.2024-10-02_07-03-40z.4samp.png new file mode 100644 index 00000000..2d492161 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-02_07-03-40z.4samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_06-44-05z.5000samp.png b/results/Bloompers/cornell.2024-10-03_06-44-05z.5000samp.png new file mode 100644 index 00000000..f81339bb Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_06-44-05z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_07-03-14z.5000samp.png b/results/Bloompers/cornell.2024-10-03_07-03-14z.5000samp.png new file mode 100644 index 00000000..14df3b5b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_07-03-14z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_07-33-23z.5000samp.png b/results/Bloompers/cornell.2024-10-03_07-33-23z.5000samp.png new file mode 100644 index 00000000..33db9c5e Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_07-33-23z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_15-39-56z.482samp.png b/results/Bloompers/cornell.2024-10-03_15-39-56z.482samp.png new file mode 100644 index 00000000..40ee714c Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_15-39-56z.482samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-11-44z.1589samp.png b/results/Bloompers/cornell.2024-10-03_16-11-44z.1589samp.png new file mode 100644 index 00000000..52dd8be4 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-11-44z.1589samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-16-03z.5000samp.png b/results/Bloompers/cornell.2024-10-03_16-16-03z.5000samp.png new file mode 100644 index 00000000..2aa00069 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-16-03z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-17-13z.832samp.png b/results/Bloompers/cornell.2024-10-03_16-17-13z.832samp.png new file mode 100644 index 00000000..8f7b8e96 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-17-13z.832samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-18-05z.53samp.png b/results/Bloompers/cornell.2024-10-03_16-18-05z.53samp.png new file mode 100644 index 00000000..3812cbff Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-18-05z.53samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-18-21z.30samp.png b/results/Bloompers/cornell.2024-10-03_16-18-21z.30samp.png new file mode 100644 index 00000000..a3efd8da Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-18-21z.30samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-18-57z.784samp.png b/results/Bloompers/cornell.2024-10-03_16-18-57z.784samp.png new file mode 100644 index 00000000..761215b4 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-18-57z.784samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-20-57z.1004samp.png b/results/Bloompers/cornell.2024-10-03_16-20-57z.1004samp.png new file mode 100644 index 00000000..f3fe2a77 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-20-57z.1004samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-22-52z.1161samp.png b/results/Bloompers/cornell.2024-10-03_16-22-52z.1161samp.png new file mode 100644 index 00000000..d4c22fc5 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-22-52z.1161samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-24-45z.1073samp.png b/results/Bloompers/cornell.2024-10-03_16-24-45z.1073samp.png new file mode 100644 index 00000000..3c73de0a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-24-45z.1073samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_16-25-21z.1193samp.png b/results/Bloompers/cornell.2024-10-03_16-25-21z.1193samp.png new file mode 100644 index 00000000..bd6c3278 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_16-25-21z.1193samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_20-26-51z.5000samp.png b/results/Bloompers/cornell.2024-10-03_20-26-51z.5000samp.png new file mode 100644 index 00000000..e3124ab1 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_20-26-51z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-03_22-06-16z.5000samp.png b/results/Bloompers/cornell.2024-10-03_22-06-16z.5000samp.png new file mode 100644 index 00000000..f6c9b004 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-03_22-06-16z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-04_08-01-57z.1134samp.png b/results/Bloompers/cornell.2024-10-04_08-01-57z.1134samp.png new file mode 100644 index 00000000..6cf1a867 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-04_08-01-57z.1134samp.png differ diff --git a/results/Bloompers/cornell.2024-10-04_08-12-13z.2446samp.png b/results/Bloompers/cornell.2024-10-04_08-12-13z.2446samp.png new file mode 100644 index 00000000..0f03a953 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-04_08-12-13z.2446samp.png differ diff --git a/results/Bloompers/cornell.2024-10-04_08-24-24z.825samp.png b/results/Bloompers/cornell.2024-10-04_08-24-24z.825samp.png new file mode 100644 index 00000000..c5390e61 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-04_08-24-24z.825samp.png differ diff --git a/results/Bloompers/cornell.2024-10-04_22-49-01z.29samp.png b/results/Bloompers/cornell.2024-10-04_22-49-01z.29samp.png new file mode 100644 index 00000000..ccdee4d1 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-04_22-49-01z.29samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_04-31-39z.3605samp.png b/results/Bloompers/cornell.2024-10-05_04-31-39z.3605samp.png new file mode 100644 index 00000000..58e60150 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_04-31-39z.3605samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_04-32-42z.45samp.png b/results/Bloompers/cornell.2024-10-05_04-32-42z.45samp.png new file mode 100644 index 00000000..da49daed Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_04-32-42z.45samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_04-48-57z.288samp.png b/results/Bloompers/cornell.2024-10-05_04-48-57z.288samp.png new file mode 100644 index 00000000..cd849f3d Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_04-48-57z.288samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_05-13-36z.675samp.png b/results/Bloompers/cornell.2024-10-05_05-13-36z.675samp.png new file mode 100644 index 00000000..d41cd8eb Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_05-13-36z.675samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_05-27-19z.241samp.png b/results/Bloompers/cornell.2024-10-05_05-27-19z.241samp.png new file mode 100644 index 00000000..0bfa3933 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_05-27-19z.241samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_05-39-26z.2977samp.png b/results/Bloompers/cornell.2024-10-05_05-39-26z.2977samp.png new file mode 100644 index 00000000..f2030a89 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_05-39-26z.2977samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_18-59-45z.135samp.png b/results/Bloompers/cornell.2024-10-05_18-59-45z.135samp.png new file mode 100644 index 00000000..7401fbdd Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_18-59-45z.135samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-10-57z.47samp.png b/results/Bloompers/cornell.2024-10-05_19-10-57z.47samp.png new file mode 100644 index 00000000..673943d4 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-10-57z.47samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-29-10z.34samp.png b/results/Bloompers/cornell.2024-10-05_19-29-10z.34samp.png new file mode 100644 index 00000000..25412def Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-29-10z.34samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-33-16z.190samp.png b/results/Bloompers/cornell.2024-10-05_19-33-16z.190samp.png new file mode 100644 index 00000000..7401fbdd Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-33-16z.190samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-34-53z.181samp.png b/results/Bloompers/cornell.2024-10-05_19-34-53z.181samp.png new file mode 100644 index 00000000..7401fbdd Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-34-53z.181samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-37-17z.43samp.png b/results/Bloompers/cornell.2024-10-05_19-37-17z.43samp.png new file mode 100644 index 00000000..0bfa3933 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-37-17z.43samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-37-56z.103samp.png b/results/Bloompers/cornell.2024-10-05_19-37-56z.103samp.png new file mode 100644 index 00000000..7401fbdd Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-37-56z.103samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-40-40z.6samp.png b/results/Bloompers/cornell.2024-10-05_19-40-40z.6samp.png new file mode 100644 index 00000000..f8d3d243 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-40-40z.6samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-43-19z.66samp.png b/results/Bloompers/cornell.2024-10-05_19-43-19z.66samp.png new file mode 100644 index 00000000..fb2cec00 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-43-19z.66samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-44-21z.875samp.png b/results/Bloompers/cornell.2024-10-05_19-44-21z.875samp.png new file mode 100644 index 00000000..8614ea1b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-44-21z.875samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-44-59z.214samp.png b/results/Bloompers/cornell.2024-10-05_19-44-59z.214samp.png new file mode 100644 index 00000000..46286923 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-44-59z.214samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-50-49z.48samp.png b/results/Bloompers/cornell.2024-10-05_19-50-49z.48samp.png new file mode 100644 index 00000000..10fb06f9 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-50-49z.48samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-51-37z.111samp.png b/results/Bloompers/cornell.2024-10-05_19-51-37z.111samp.png new file mode 100644 index 00000000..4e260094 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-51-37z.111samp.png differ diff --git a/results/Bloompers/cornell.2024-10-05_19-52-40z.17samp.png b/results/Bloompers/cornell.2024-10-05_19-52-40z.17samp.png new file mode 100644 index 00000000..4e4a5931 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-05_19-52-40z.17samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_00-52-23z.381samp.png b/results/Bloompers/cornell.2024-10-06_00-52-23z.381samp.png new file mode 100644 index 00000000..2ae00927 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_00-52-23z.381samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_00-59-28z.520samp.png b/results/Bloompers/cornell.2024-10-06_00-59-28z.520samp.png new file mode 100644 index 00000000..340b060c Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_00-59-28z.520samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_07-28-30z.1012samp.png b/results/Bloompers/cornell.2024-10-06_07-28-30z.1012samp.png new file mode 100644 index 00000000..14e3aef5 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_07-28-30z.1012samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_16-30-07z.5000samp.png b/results/Bloompers/cornell.2024-10-06_16-30-07z.5000samp.png new file mode 100644 index 00000000..2b71e919 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_16-30-07z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_16-44-14z.1918samp.png b/results/Bloompers/cornell.2024-10-06_16-44-14z.1918samp.png new file mode 100644 index 00000000..4cd26ada Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_16-44-14z.1918samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_16-46-01z.975samp.png b/results/Bloompers/cornell.2024-10-06_16-46-01z.975samp.png new file mode 100644 index 00000000..655cad50 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_16-46-01z.975samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_16-47-47z.5000samp.png b/results/Bloompers/cornell.2024-10-06_16-47-47z.5000samp.png new file mode 100644 index 00000000..f86febf6 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_16-47-47z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_16-49-21z.1018samp.png b/results/Bloompers/cornell.2024-10-06_16-49-21z.1018samp.png new file mode 100644 index 00000000..58b1d30f Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_16-49-21z.1018samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_17-00-34z.1570samp.png b/results/Bloompers/cornell.2024-10-06_17-00-34z.1570samp.png new file mode 100644 index 00000000..7d8d19a8 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_17-00-34z.1570samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_17-01-39z.1700samp.png b/results/Bloompers/cornell.2024-10-06_17-01-39z.1700samp.png new file mode 100644 index 00000000..5ea34a58 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_17-01-39z.1700samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_17-03-07z.54samp.png b/results/Bloompers/cornell.2024-10-06_17-03-07z.54samp.png new file mode 100644 index 00000000..b3690b4d Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_17-03-07z.54samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_17-06-03z.4124samp.png b/results/Bloompers/cornell.2024-10-06_17-06-03z.4124samp.png new file mode 100644 index 00000000..aa0d7fb2 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_17-06-03z.4124samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_17-09-17z.1328samp.png b/results/Bloompers/cornell.2024-10-06_17-09-17z.1328samp.png new file mode 100644 index 00000000..472b3b99 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_17-09-17z.1328samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_18-12-20z.606samp.png b/results/Bloompers/cornell.2024-10-06_18-12-20z.606samp.png new file mode 100644 index 00000000..7a06cdca Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_18-12-20z.606samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_18-15-07z.2524samp.png b/results/Bloompers/cornell.2024-10-06_18-15-07z.2524samp.png new file mode 100644 index 00000000..bc507cee Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_18-15-07z.2524samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_18-17-31z.3159samp.png b/results/Bloompers/cornell.2024-10-06_18-17-31z.3159samp.png new file mode 100644 index 00000000..4846d713 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_18-17-31z.3159samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_18-23-37z.1199samp.png b/results/Bloompers/cornell.2024-10-06_18-23-37z.1199samp.png new file mode 100644 index 00000000..d2cb772c Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_18-23-37z.1199samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_18-25-07z.65samp.png b/results/Bloompers/cornell.2024-10-06_18-25-07z.65samp.png new file mode 100644 index 00000000..63d68343 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_18-25-07z.65samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-06-44z.5000samp.png b/results/Bloompers/cornell.2024-10-06_20-06-44z.5000samp.png new file mode 100644 index 00000000..8bb84288 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-06-44z.5000samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-22-11z.417samp.png b/results/Bloompers/cornell.2024-10-06_20-22-11z.417samp.png new file mode 100644 index 00000000..70b48252 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-22-11z.417samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-22-33z.197samp.png b/results/Bloompers/cornell.2024-10-06_20-22-33z.197samp.png new file mode 100644 index 00000000..475643e5 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-22-33z.197samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-23-12z.1302samp.png b/results/Bloompers/cornell.2024-10-06_20-23-12z.1302samp.png new file mode 100644 index 00000000..5c472687 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-23-12z.1302samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-29-54z.384samp.png b/results/Bloompers/cornell.2024-10-06_20-29-54z.384samp.png new file mode 100644 index 00000000..48ba368d Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-29-54z.384samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-33-14z.228samp.png b/results/Bloompers/cornell.2024-10-06_20-33-14z.228samp.png new file mode 100644 index 00000000..b2c5328e Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-33-14z.228samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-34-42z.8samp.png b/results/Bloompers/cornell.2024-10-06_20-34-42z.8samp.png new file mode 100644 index 00000000..6b159d6a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-34-42z.8samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-34-59z.229samp.png b/results/Bloompers/cornell.2024-10-06_20-34-59z.229samp.png new file mode 100644 index 00000000..9913cc24 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-34-59z.229samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_20-35-37z.202samp.png b/results/Bloompers/cornell.2024-10-06_20-35-37z.202samp.png new file mode 100644 index 00000000..26c91b86 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_20-35-37z.202samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_21-16-00z.280samp.png b/results/Bloompers/cornell.2024-10-06_21-16-00z.280samp.png new file mode 100644 index 00000000..e7854c95 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_21-16-00z.280samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_21-16-21z.239samp.png b/results/Bloompers/cornell.2024-10-06_21-16-21z.239samp.png new file mode 100644 index 00000000..003e3708 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_21-16-21z.239samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_21-16-47z.344samp.png b/results/Bloompers/cornell.2024-10-06_21-16-47z.344samp.png new file mode 100644 index 00000000..278ebcb0 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_21-16-47z.344samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_21-44-18z.153samp.png b/results/Bloompers/cornell.2024-10-06_21-44-18z.153samp.png new file mode 100644 index 00000000..278ebcb0 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_21-44-18z.153samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_22-22-28z.486samp.png b/results/Bloompers/cornell.2024-10-06_22-22-28z.486samp.png new file mode 100644 index 00000000..65732cf2 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_22-22-28z.486samp.png differ diff --git a/results/Bloompers/cornell.2024-10-06_22-35-04z.844samp.png b/results/Bloompers/cornell.2024-10-06_22-35-04z.844samp.png new file mode 100644 index 00000000..55c56c2b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-06_22-35-04z.844samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_00-50-23z.72samp.png b/results/Bloompers/cornell.2024-10-07_00-50-23z.72samp.png new file mode 100644 index 00000000..f49c1722 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_00-50-23z.72samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_00-53-46z.88samp.png b/results/Bloompers/cornell.2024-10-07_00-53-46z.88samp.png new file mode 100644 index 00000000..7164fd9a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_00-53-46z.88samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_01-09-57z.256samp.png b/results/Bloompers/cornell.2024-10-07_01-09-57z.256samp.png new file mode 100644 index 00000000..ea303df0 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_01-09-57z.256samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_01-13-49z.17samp.png b/results/Bloompers/cornell.2024-10-07_01-13-49z.17samp.png new file mode 100644 index 00000000..8d503a98 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_01-13-49z.17samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_01-15-20z.536samp.png b/results/Bloompers/cornell.2024-10-07_01-15-20z.536samp.png new file mode 100644 index 00000000..177881ef Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_01-15-20z.536samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_01-21-56z.9samp.png b/results/Bloompers/cornell.2024-10-07_01-21-56z.9samp.png new file mode 100644 index 00000000..0d18a664 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_01-21-56z.9samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_01-40-17z.106samp.png b/results/Bloompers/cornell.2024-10-07_01-40-17z.106samp.png new file mode 100644 index 00000000..561fbdec Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_01-40-17z.106samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-08-27z.8samp.png b/results/Bloompers/cornell.2024-10-07_02-08-27z.8samp.png new file mode 100644 index 00000000..795e6dc0 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-08-27z.8samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-09-00z.78samp.png b/results/Bloompers/cornell.2024-10-07_02-09-00z.78samp.png new file mode 100644 index 00000000..3b853f8b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-09-00z.78samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-11-39z.187samp.png b/results/Bloompers/cornell.2024-10-07_02-11-39z.187samp.png new file mode 100644 index 00000000..e1205903 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-11-39z.187samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-12-09z.136samp.png b/results/Bloompers/cornell.2024-10-07_02-12-09z.136samp.png new file mode 100644 index 00000000..a7992454 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-12-09z.136samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-12-36z.328samp.png b/results/Bloompers/cornell.2024-10-07_02-12-36z.328samp.png new file mode 100644 index 00000000..bc1c8064 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-12-36z.328samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-13-11z.107samp.png b/results/Bloompers/cornell.2024-10-07_02-13-11z.107samp.png new file mode 100644 index 00000000..210f3bd8 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-13-11z.107samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-13-40z.91samp.png b/results/Bloompers/cornell.2024-10-07_02-13-40z.91samp.png new file mode 100644 index 00000000..2174bb4a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-13-40z.91samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-13-59z.127samp.png b/results/Bloompers/cornell.2024-10-07_02-13-59z.127samp.png new file mode 100644 index 00000000..cb2cd69b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-13-59z.127samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-16-03z.278samp.png b/results/Bloompers/cornell.2024-10-07_02-16-03z.278samp.png new file mode 100644 index 00000000..2e2c30bd Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-16-03z.278samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-16-33z.315samp.png b/results/Bloompers/cornell.2024-10-07_02-16-33z.315samp.png new file mode 100644 index 00000000..3ac9550b Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-16-33z.315samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-27-29z.55samp.png b/results/Bloompers/cornell.2024-10-07_02-27-29z.55samp.png new file mode 100644 index 00000000..d1bbc93a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-27-29z.55samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_02-28-01z.76samp.png b/results/Bloompers/cornell.2024-10-07_02-28-01z.76samp.png new file mode 100644 index 00000000..d1bbc93a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_02-28-01z.76samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_03-15-07z.86samp.png b/results/Bloompers/cornell.2024-10-07_03-15-07z.86samp.png new file mode 100644 index 00000000..d5084452 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_03-15-07z.86samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_03-21-05z.39samp.png b/results/Bloompers/cornell.2024-10-07_03-21-05z.39samp.png new file mode 100644 index 00000000..2c586952 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_03-21-05z.39samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_03-35-41z.53samp.png b/results/Bloompers/cornell.2024-10-07_03-35-41z.53samp.png new file mode 100644 index 00000000..d1bbc93a Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_03-35-41z.53samp.png differ diff --git a/results/Bloompers/cornell.2024-10-07_03-54-10z.71samp.png b/results/Bloompers/cornell.2024-10-07_03-54-10z.71samp.png new file mode 100644 index 00000000..ef938726 Binary files /dev/null and b/results/Bloompers/cornell.2024-10-07_03-54-10z.71samp.png differ diff --git a/results/Cover/CoverDenoisedMIS.png b/results/Cover/CoverDenoisedMIS.png new file mode 100644 index 00000000..73977d88 Binary files /dev/null and b/results/Cover/CoverDenoisedMIS.png differ diff --git a/results/Cover/CoverDenoisedMIS1.png b/results/Cover/CoverDenoisedMIS1.png new file mode 100644 index 00000000..dbadd480 Binary files /dev/null and b/results/Cover/CoverDenoisedMIS1.png differ diff --git a/results/Cover/CoverNoDenoise.png b/results/Cover/CoverNoDenoise.png new file mode 100644 index 00000000..41b2ed62 Binary files /dev/null and b/results/Cover/CoverNoDenoise.png differ diff --git a/results/Cover/CoverNoDenoise1.png b/results/Cover/CoverNoDenoise1.png new file mode 100644 index 00000000..a30ebe99 Binary files /dev/null and b/results/Cover/CoverNoDenoise1.png differ diff --git a/results/Cover/DragonRefract.png b/results/Cover/DragonRefract.png new file mode 100644 index 00000000..7a8b2a0e Binary files /dev/null and b/results/Cover/DragonRefract.png differ diff --git a/results/Cover/performance.png b/results/Cover/performance.png new file mode 100644 index 00000000..872bfd81 Binary files /dev/null and b/results/Cover/performance.png differ diff --git a/results/DisneyBRDF/DisneyBRDF.mp4 b/results/DisneyBRDF/DisneyBRDF.mp4 new file mode 100644 index 00000000..8ab32a61 Binary files /dev/null and b/results/DisneyBRDF/DisneyBRDF.mp4 differ diff --git a/results/DisneyBRDF/GUI.png b/results/DisneyBRDF/GUI.png new file mode 100644 index 00000000..ebbff950 Binary files /dev/null and b/results/DisneyBRDF/GUI.png differ diff --git a/results/DisneyBRDF/jsonInput.png b/results/DisneyBRDF/jsonInput.png new file mode 100644 index 00000000..19915e27 Binary files /dev/null and b/results/DisneyBRDF/jsonInput.png differ diff --git a/results/DisneyBRDF/presentation.png b/results/DisneyBRDF/presentation.png new file mode 100644 index 00000000..aa2ea8ad Binary files /dev/null and b/results/DisneyBRDF/presentation.png differ diff --git a/results/MIS.png b/results/MIS.png new file mode 100644 index 00000000..b2a4b2da Binary files /dev/null and b/results/MIS.png differ diff --git a/results/MIS/DIRadiance.png b/results/MIS/DIRadiance.png new file mode 100644 index 00000000..2a484276 Binary files /dev/null and b/results/MIS/DIRadiance.png differ diff --git a/results/MIS/MISBSDF.png b/results/MIS/MISBSDF.png new file mode 100644 index 00000000..bacb9908 Binary files /dev/null and b/results/MIS/MISBSDF.png differ diff --git a/results/MIS/MISDI.png b/results/MIS/MISDI.png new file mode 100644 index 00000000..69d90b44 Binary files /dev/null and b/results/MIS/MISDI.png differ diff --git a/results/MIS/MISOff.png b/results/MIS/MISOff.png new file mode 100644 index 00000000..30280ee7 Binary files /dev/null and b/results/MIS/MISOff.png differ diff --git a/results/MIS/MISOn.png b/results/MIS/MISOn.png new file mode 100644 index 00000000..129ef4fa Binary files /dev/null and b/results/MIS/MISOn.png differ diff --git a/results/MIS/MISVeach.png b/results/MIS/MISVeach.png new file mode 100644 index 00000000..0a380861 Binary files /dev/null and b/results/MIS/MISVeach.png differ diff --git a/results/MIS/accumColor.png b/results/MIS/accumColor.png new file mode 100644 index 00000000..d453465c Binary files /dev/null and b/results/MIS/accumColor.png differ diff --git a/results/MIS/beforeMIS.png b/results/MIS/beforeMIS.png new file mode 100644 index 00000000..6c4b52ee Binary files /dev/null and b/results/MIS/beforeMIS.png differ diff --git a/results/MISOff.png b/results/MISOff.png new file mode 100644 index 00000000..6377becc Binary files /dev/null and b/results/MISOff.png differ diff --git a/results/RefractDragon.png b/results/RefractDragon.png new file mode 100644 index 00000000..7a8b2a0e Binary files /dev/null and b/results/RefractDragon.png differ diff --git a/results/RefractDragonPerformance.png b/results/RefractDragonPerformance.png new file mode 100644 index 00000000..eca00a33 Binary files /dev/null and b/results/RefractDragonPerformance.png differ diff --git a/results/Throughput.png b/results/Throughput.png new file mode 100644 index 00000000..41383139 Binary files /dev/null and b/results/Throughput.png differ diff --git a/results/afterAA.png b/results/afterAA.png new file mode 100644 index 00000000..9489d1f1 Binary files /dev/null and b/results/afterAA.png differ diff --git a/results/beforeAA.png b/results/beforeAA.png new file mode 100644 index 00000000..5ed909bb Binary files /dev/null and b/results/beforeAA.png differ diff --git a/results/btdf.png b/results/btdf.png new file mode 100644 index 00000000..6f4c64cd Binary files /dev/null and b/results/btdf.png differ diff --git a/results/cornerEmittanceFixed.png b/results/cornerEmittanceFixed.png new file mode 100644 index 00000000..82e0dd97 Binary files /dev/null and b/results/cornerEmittanceFixed.png differ diff --git a/results/diDragon.png b/results/diDragon.png new file mode 100644 index 00000000..edf1dc8b Binary files /dev/null and b/results/diDragon.png differ diff --git a/results/diffuseBrdf.png b/results/diffuseBrdf.png new file mode 100644 index 00000000..e13428db Binary files /dev/null and b/results/diffuseBrdf.png differ diff --git a/results/directLighting.png b/results/directLighting.png new file mode 100644 index 00000000..7d0ec776 Binary files /dev/null and b/results/directLighting.png differ diff --git a/results/environmentalMap.png b/results/environmentalMap.png new file mode 100644 index 00000000..2458d499 Binary files /dev/null and b/results/environmentalMap.png differ diff --git a/results/meshLoadingBug.png b/results/meshLoadingBug.png new file mode 100644 index 00000000..b3a5772e Binary files /dev/null and b/results/meshLoadingBug.png differ diff --git a/results/meshLoadingBugFixed.png b/results/meshLoadingBugFixed.png new file mode 100644 index 00000000..d35d2ba3 Binary files /dev/null and b/results/meshLoadingBugFixed.png differ diff --git a/results/naivePT.png b/results/naivePT.png new file mode 100644 index 00000000..4e4aa014 Binary files /dev/null and b/results/naivePT.png differ diff --git a/results/radiance.png b/results/radiance.png new file mode 100644 index 00000000..679a9303 Binary files /dev/null and b/results/radiance.png differ diff --git a/results/smoothedNormal.png b/results/smoothedNormal.png new file mode 100644 index 00000000..9e0ac6d2 Binary files /dev/null and b/results/smoothedNormal.png differ diff --git a/results/worldNormalClampped.png b/results/worldNormalClampped.png new file mode 100644 index 00000000..6379fcf4 Binary files /dev/null and b/results/worldNormalClampped.png differ diff --git a/results/worldNormalUnclampped.png b/results/worldNormalUnclampped.png new file mode 100644 index 00000000..3cf7e8ed Binary files /dev/null and b/results/worldNormalUnclampped.png differ diff --git a/scenes/BRDFDisplay.json b/scenes/BRDFDisplay.json new file mode 100644 index 00000000..7edc01e5 --- /dev/null +++ b/scenes/BRDFDisplay.json @@ -0,0 +1,35 @@ +{ + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\indoor.hdr" + }, + "Camera" : { + "RES":[1980,1080], + "FOVY":16.0, + "ITERATIONS":3000, + "DEPTH":8, + "FILE":"cornell", + "LOOKAT" : [0, 0, 0], + "EYE" : [0, 0, 24], + "UP" : [0, 1, 0] + }, + "Materials": + { + "wahoo": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + } + +} diff --git a/scenes/Cover.json b/scenes/Cover.json new file mode 100644 index 00000000..fa5fa456 --- /dev/null +++ b/scenes/Cover.json @@ -0,0 +1,78 @@ +{ + "Materials": + { + "my_brdf": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":1.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + }, + "test": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.044, + "SUBSURFACE":0.0, + "SPECULAR":0.528, + "ROUGHNESS":0.508, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[1980,1080], + "FOVY":45.0, + "ITERATIONS":300, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,-70.0,140.5], + "LOOKAT":[0.0,0.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"mesh", + "MATERIAL":"test", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Cover.obj", + "TRANS":[0.0,-5.0,0.0], + "ROTAT":[0.0,-0.0,0.0], + "SCALE":[1.0, 1.0, 1.0] + } + + ], + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\background1.hdr" + }, + "Lights": + [ + { + "TYPE":"Directional", + "TRANS":[0.0,0.0,0.0], + "ROTAT":[-40.0,-30.0,0.0], + "SCALE":[10,10,1], + "MATERIAL": + { + "RGB":[0.910, 0.898, 0.886], + "EMITTANCE":1.5, + "ROUGHNESS":1.0 + } + } + ] + +} \ No newline at end of file diff --git a/scenes/DE.json b/scenes/DE.json new file mode 100644 index 00000000..28f4a318 --- /dev/null +++ b/scenes/DE.json @@ -0,0 +1,123 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":15.0, + "ROUGHNESS":0.0 + }, + "light1": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":3.0, + "ROUGHNESS":0.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35], + "ROUGHNESS":0.0 + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35], + "ROUGHNESS":0.0 + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":1.0, + "REFLECTIVE":0.0 + }, + "transmit": + { + "TYPE":"Transmit", + "RGB":[0.98, 0.98, 0.98], + "IOR":1.5, + "ROUGHNESS":0.0 + }, + "subsurface_cyan": + { + "TYPE":"Subsurface", + "RGB":[1.0, 1.0, 1.0], + "IOR":1.5, + "ROUGHNESS":1.0, + "SUBSURFACE":0.0 + + }, + "diffuse_deepblue": + { + "TYPE":"Diffuse", + "RGB":[0.2, 0.2, 0.2], + "ROUGHNESS":0.0 + }, + "disney_brdf_sample": + { + "TYPE":"Disney", + "RGB":[0.82, 0.67, 0.16], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.5, + "ROUGHNESS":0.5, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.5, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.1 + }, + "my_brdf": + { + "TYPE":"Disney", + "RGB":[0.7, 0.7, 0.7], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":1.0, + "ROUGHNESS":0.2, + "SPECULARTINT":1.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[1980,1080], + "FOVY":45.0, + "ITERATIONS":5000, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,5.0,10.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"mesh", + "MATERIAL":"transmit", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.08, 0.08, 0.08] + } + ], + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\night1.hdr" + } + +} \ No newline at end of file diff --git a/scenes/DS.json b/scenes/DS.json new file mode 100644 index 00000000..666554a9 --- /dev/null +++ b/scenes/DS.json @@ -0,0 +1,123 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":15.0, + "ROUGHNESS":0.0 + }, + "light1": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":3.0, + "ROUGHNESS":0.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35], + "ROUGHNESS":0.0 + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35], + "ROUGHNESS":0.0 + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":1.0, + "REFLECTIVE":0.0 + }, + "transmit": + { + "TYPE":"Transmit", + "RGB":[0.98, 0.98, 0.98], + "IOR":1.5, + "ROUGHNESS":0.0 + }, + "subsurface_cyan": + { + "TYPE":"Subsurface", + "RGB":[1.0, 1.0, 1.0], + "IOR":1.5, + "ROUGHNESS":1.0, + "SUBSURFACE":0.0 + + }, + "diffuse_deepblue": + { + "TYPE":"Diffuse", + "RGB":[0.2, 0.2, 0.2], + "ROUGHNESS":0.0 + }, + "disney_brdf_sample": + { + "TYPE":"Disney", + "RGB":[0.82, 0.67, 0.16], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.5, + "ROUGHNESS":0.5, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.5, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.1 + }, + "my_brdf": + { + "TYPE":"Disney", + "RGB":[0.7, 0.7, 0.7], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":1.0, + "ROUGHNESS":0.2, + "SPECULARTINT":1.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[1980,1080], + "FOVY":45.0, + "ITERATIONS":150, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,5.0,10.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"mesh", + "MATERIAL":"my_brdf", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.08, 0.08, 0.08] + } + ], + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\night1.hdr" + } + +} \ No newline at end of file diff --git a/scenes/DisneyBRDF.json b/scenes/DisneyBRDF.json new file mode 100644 index 00000000..02c7b9b8 --- /dev/null +++ b/scenes/DisneyBRDF.json @@ -0,0 +1,45 @@ +{ + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\indoor.hdr" + }, + "Camera" : { + "RES":[1980,1080], + "FOVY":16.0, + "ITERATIONS":3000, + "DEPTH":8, + "FILE":"cornell", + "LOOKAT" : [0, 0, 0], + "EYE" : [0, -3, 9], + "UP" : [0, 1, 0] + }, + "Objects" : + [ + { + "TYPE":"sphere", + "MATERIAL":"wahoo", + "TRANS":[-0.0,0.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[1.0,1.0,1.0] + } + ], + "Materials": + { + "wahoo": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + } + +} diff --git a/scenes/MISConverge.json b/scenes/MISConverge.json new file mode 100644 index 00000000..15cdc795 --- /dev/null +++ b/scenes/MISConverge.json @@ -0,0 +1,86 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":10.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98] + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35] + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35] + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "METALLIC":1, + "SUBSURFACE":0.0, + "SPECULAR":1, + "ROUGHNESS":0.3, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[800,800], + "FOVY":45.0, + "ITERATIONS":3000, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,5.0,10.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"cube", + "MATERIAL":"diffuse_white", + "TRANS":[0.0,0.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[5.0,0.005,5.0] + }, + { + "TYPE":"mesh", + "MATERIAL":"specular_white", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.04, 0.04, 0.04] + } + ], + "Lights": + [ + { + "TYPE":"Area", + "TRANS":[0.0,9.8,0.0], + "ROTAT":[-90.0,0.0,0.0], + "SCALE":[0.3,0.3,0.3], + "MATERIAL": + { + "RGB":[1, 1, 1], + "EMITTANCE":200.0, + "ROUGHNESS":1.0 + } + } + ] + +} \ No newline at end of file diff --git a/scenes/MISShowcase.json b/scenes/MISShowcase.json new file mode 100644 index 00000000..dbc7a564 --- /dev/null +++ b/scenes/MISShowcase.json @@ -0,0 +1,170 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":15.0, + "ROUGHNESS":0.0 + }, + "light1": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":3.0, + "ROUGHNESS":0.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.33, 0.26, 0.21], + "ROUGHNESS":0.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35], + "ROUGHNESS":0.0 + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35], + "ROUGHNESS":0.0 + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":1.0, + "REFLECTIVE":0.0 + }, + "transmit": + { + "TYPE":"Transmit", + "RGB":[0.98, 0.98, 0.98], + "IOR":1.5, + "ROUGHNESS":0.0 + }, + "subsurface_cyan": + { + "TYPE":"Subsurface", + "RGB":[1.0, 1.0, 1.0], + "IOR":1.5, + "ROUGHNESS":1.0, + "SUBSURFACE":0.0 + + }, + "diffuse_deepblue": + { + "TYPE":"Diffuse", + "RGB":[0.7, 0.7, 0.7], + "ROUGHNESS":0.0 + }, + "disney_brdf_sample": + { + "TYPE":"Disney", + "RGB":[0.82, 0.67, 0.16], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.5, + "ROUGHNESS":0.5, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.5, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.1 + }, + "my_brdf": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + }, + "wahoo": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[1980,1080], + "FOVY":45.0, + "ITERATIONS":5000, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,-6.0,7.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"cube", + "MATERIAL":"diffuse_white", + "TRANS":[0.0,0.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[5.0,0.005,5.0] + }, + { + "TYPE":"sphere", + "MATERIAL":"transmit", + "TRANS":[-3.0,3.0,2.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[3.0,3.0,3.0] + }, + { + "TYPE":"mesh", + "MATERIAL":"my_brdf", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,-3.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.05, 0.05, 0.05] + }, + { + "TYPE":"mesh", + "MATERIAL":"wahoo", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\wahoo.obj", + "TRANS":[3.0,4.0,2.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[0.7,0.7,0.7] + } + ], + "Lights": + [ + { + "TYPE":"Area", + "TRANS":[0.0,40.0,0.0], + "ROTAT":[90.0,0.0,0.0], + "SCALE":[4.5,4.5,1], + "MATERIAL": + { + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":30.0, + "ROUGHNESS":1.0 + } + } + ] +} \ No newline at end of file diff --git a/scenes/Objects.json b/scenes/Objects.json new file mode 100644 index 00000000..935f07c5 --- /dev/null +++ b/scenes/Objects.json @@ -0,0 +1,91 @@ +{ + "Objects": + [ + { + "TYPE":"sphere", + "MATERIAL":"transmit", + "TRANS":[0.0,4.0,2.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[3.0,3.0,3.0] + }, + { + "TYPE":"mesh", + "MATERIAL":"transmit", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.08, 0.08, 0.08] + }, + { + "TYPE":"mesh", + "MATERIAL":"my_brdf", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Cover.obj", + "TRANS":[0.0,-5.0,0.0], + "ROTAT":[0.0,-0.0,0.0], + "SCALE":[1.0, 1.0, 1.0] + }, + { + "TYPE":"mesh", + "MATERIAL":"diffuse_white", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\CoverBg.obj", + "TRANS":[0.0,-40.0,0.0], + "ROTAT":[0.0,-0.0,0.0], + "SCALE":[1.0, 1.0, 1.0] + } + ], + "Lights": + [ + { + "TYPE":"Area", + "TRANS":[-37.0,11.0,34.0], + "ROTAT":[0.0,150.0,0.0], + "SCALE":[9,9,1], + "MATERIAL": + { + "RGB":[0.59, 0.87, 0.99], + "EMITTANCE":10.0, + "ROUGHNESS":1.0 + } + }, + { + "TYPE":"Area", + "TRANS":[37.0,11.0,34.0], + "ROTAT":[0.0,-150.0,0.0], + "SCALE":[9,9,1], + "MATERIAL": + { + "RGB":[0.99, 0.72, 0.99], + "EMITTANCE":30.0, + "ROUGHNESS":1.0 + } + }, + { + "TYPE":"Area", + "TRANS":[5.0,0.0,29.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[5,5,1], + "MATERIAL": + { + "RGB":[0.59, 0.87, 0.99], + "EMITTANCE":2.0, + "ROUGHNESS":1.0 + } + }, + { + "TYPE":"Area", + "TRANS":[-5.0,0.0,30.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[5,5,1], + "MATERIAL": + { + "RGB":[0.99, 0.72, 0.99], + "EMITTANCE":30.0, + "ROUGHNESS":1.0 + } + } + ], + "Environment": + { + "FILENAME": "D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\dessert.hdr" + } +} \ No newline at end of file diff --git a/scenes/PT_veachScene.json b/scenes/PT_veachScene.json new file mode 100644 index 00000000..6405c95c --- /dev/null +++ b/scenes/PT_veachScene.json @@ -0,0 +1,171 @@ +{ + "Camera" : { + "RES":[1980,1080], + "FOVY":16.0, + "ITERATIONS":300, + "DEPTH":8, + "FILE":"cornell", + "LOOKAT" : [0, -12, 20], + "EYE" : [0, -48, 220], + "UP" : [0, 1, 0] + }, + "Objects" : [ + { + "TYPE" : "cube", + "name" : "Glossy Plane Rough", + "MATERIAL" : "glossyRough", + "TRANS" : [0,-31.2,28.4], + "ROTAT" : [-78,0,0], + "SCALE" : [40, 4, 0.5] + }, + { + "TYPE" : "cube", + "name" : "Glossy Plane Medium", + "MATERIAL" : "glossyMedium", + "TRANS" : [0,-28.672,17.848], + "ROTAT" : [-73,0,0], + "SCALE" : [40, 4, 0.5] + }, + { + "TYPE" : "cube", + "name" : "Glossy Plane Smooth", + "MATERIAL" : "glossySmooth", + "TRANS" : [0,-24.496,7.368], + "ROTAT" : [-68,0,0], + "SCALE" : [40, 4, 0.5] + }, + { + "TYPE" : "cube", + "name" : "Glossy Plane SuperSmooth", + "MATERIAL" : "glossySuper", + "TRANS" : [0,-20.16, -1.08], + "ROTAT" : [-65.5,0,0], + "SCALE" : [40, 4, 0.5] + } + ], + "Lights" : + [ + { + "TYPE" : "Area", + "name" : "Light Small", + "MATERIAL" : + { + "RGB" : [1,1,1], + "EMITTANCE" : 24, + "ROUGHNESS":1.0 + }, + "TRANS" : [-28,0,-10], + "ROTAT" : [0,0,0], + "SCALE" : [1, 1, 1], + "isDelta" : false, + "twoSided" : false + }, + { + "TYPE" : "Area", + "name" : "Light Medium", + "MATERIAL": { + "RGB" : [1,1,1], + "EMITTANCE" : 12, + "ROUGHNESS":1.0 + }, + "TRANS" : [0,0,-10], + "ROTAT" : [0,0,0], + "SCALE" : [4, 4, 4], + "isDelta" : false, + "twoSided" : false + }, + { + "TYPE" : "Area", + "name" : "Light Large", + "type" : "DiffuseAreaLight", + "MATERIAL": { + "RGB" : [1,1,1], + "EMITTANCE" : 12, + "ROUGHNESS":1.0 + }, + "TRANS" : [28,0,-10], + "ROTAT" : [0,0,0], + "SCALE" : [8, 8, 8], + "isDelta" : false, + "twoSided" : false + } + ], + "Materials" : { + "matteWhite": + { + "TYPE": "Disney", + "RGB": [0.85, 0.81, 0.78], + "METALLIC": 0.0, + "SUBSURFACE": 0.0, + "SPECULAR": 0.5, + "ROUGHNESS": 1.0, + "SPECULARTINT": 0.0, + "ANISOTROPIC": 0.0, + "SHEEN": 0.0, + "SHEENTINT": 0.5, + "CLEARCOAT": 0.0, + "CLEARCOATGLOSS": 0.0 + }, + "glossySmooth": + { + "TYPE": "Disney", + "RGB": [0.375, 1, 0.425], + "METALLIC": 1.0, + "SUBSURFACE": 0.0, + "SPECULAR": 1.0, + "ROUGHNESS": 0.088, + "SPECULARTINT": 0.0, + "ANISOTROPIC": 0.0, + "SHEEN": 0.0, + "SHEENTINT": 0.5, + "CLEARCOAT": 0.0, + "CLEARCOATGLOSS": 0.0 + }, + "glossyMedium": + { + "TYPE": "Disney", + "RGB": [1, 1, 0.35], + "METALLIC": 1.0, + "SUBSURFACE": 0.0, + "SPECULAR": 1.0, + "ROUGHNESS": 0.222, + "SPECULARTINT": 0.0, + "ANISOTROPIC": 0.0, + "SHEEN": 0.0, + "SHEENTINT": 0.5, + "CLEARCOAT": 0.0, + "CLEARCOATGLOSS": 0.0 + }, + "glossyRough": + { + "TYPE": "Disney", + "RGB": [1, 0.395, 0.375], + "METALLIC": 1.0, + "SUBSURFACE": 0.0, + "SPECULAR": 1.0, + "ROUGHNESS": 0.315, + "SPECULARTINT": 0.0, + "ANISOTROPIC": 0.0, + "SHEEN": 0.0, + "SHEENTINT": 0.5, + "CLEARCOAT": 0.0, + "CLEARCOATGLOSS": 0.0 + }, + "glossySuper": + { + "TYPE": "Disney", + "RGB": [0.39, 0.33, 0.95], + "METALLIC": 1.0, + "SUBSURFACE": 0.0, + "SPECULAR": 1.0, + "ROUGHNESS": 0.04, + "SPECULARTINT": 0.0, + "ANISOTROPIC": 0.0, + "SHEEN": 0.0, + "SHEENTINT": 0.5, + "CLEARCOAT": 0.0, + "CLEARCOATGLOSS": 0.0 + } + } + +} diff --git a/scenes/cornell.json b/scenes/cornellNoSphere.json similarity index 57% rename from scenes/cornell.json rename to scenes/cornellNoSphere.json index e7419885..79df5084 100644 --- a/scenes/cornell.json +++ b/scenes/cornellNoSphere.json @@ -5,7 +5,7 @@ { "TYPE":"Emitting", "RGB":[1.0, 1.0, 1.0], - "EMITTANCE":5.0 + "EMITTANCE":10.0 }, "diffuse_white": { @@ -26,14 +26,23 @@ { "TYPE":"Specular", "RGB":[0.98, 0.98, 0.98], - "ROUGHNESS":0.0 + "METALLIC":1, + "SUBSURFACE":0.0, + "SPECULAR":1, + "ROUGHNESS":0.3, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 } }, "Camera": { "RES":[800,800], "FOVY":45.0, - "ITERATIONS":5000, + "ITERATIONS":3000, "DEPTH":8, "FILE":"cornell", "EYE":[0.0,5.0,10.5], @@ -42,54 +51,68 @@ }, "Objects": [ - { - "TYPE":"cube", - "MATERIAL":"light", - "TRANS":[0.0,10.0,0.0], - "ROTAT":[0.0,0.0,0.0], - "SCALE":[3.0,0.3,3.0] - }, { "TYPE":"cube", "MATERIAL":"diffuse_white", "TRANS":[0.0,0.0,0.0], "ROTAT":[0.0,0.0,0.0], - "SCALE":[10.0,0.01,10.0] + "SCALE":[5.0,0.005,5.0] }, { "TYPE":"cube", "MATERIAL":"diffuse_white", "TRANS":[0.0,10.0,0.0], "ROTAT":[0.0,0.0,90.0], - "SCALE":[0.01,10.0,10.0] + "SCALE":[0.005,5.0,5.0] }, { "TYPE":"cube", "MATERIAL":"diffuse_white", "TRANS":[0.0,5.0,-5.0], "ROTAT":[0.0,90.0,0.0], - "SCALE":[0.01,10.0,10.0] + "SCALE":[0.005,5.0,5.0] }, { "TYPE":"cube", "MATERIAL":"diffuse_red", "TRANS":[-5.0,5.0,0.0], "ROTAT":[0.0,0.0,0.0], - "SCALE":[0.01,10.0,10.0] + "SCALE":[0.005,5.0,5.0] }, { "TYPE":"cube", "MATERIAL":"diffuse_green", "TRANS":[5.0,5.0,0.0], "ROTAT":[0.0,0.0,0.0], - "SCALE":[0.01,10.0,10.0] + "SCALE":[0.005,5.0,5.0] }, { - "TYPE":"sphere", + "TYPE":"mesh", "MATERIAL":"specular_white", - "TRANS":[-1.0,4.0,-1.0], - "ROTAT":[0.0,0.0,0.0], - "SCALE":[3.0,3.0,3.0] + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.04, 0.04, 0.04] } - ] + ], + "Lights": + [ + { + "TYPE":"Area", + "TRANS":[0.0,9.8,0.0], + "ROTAT":[-90.0,0.0,0.0], + "SCALE":[1,1,1], + "MATERIAL": + { + "RGB":[0.79, 0.79, 0.79], + "EMITTANCE":40.0, + "ROUGHNESS":1.0 + } + } + ], + "Environment": + { + "FILENAME": "D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\night1.hdr" + } + } \ No newline at end of file diff --git a/scenes/imgui.ini b/scenes/imgui.ini new file mode 100644 index 00000000..b67f522b --- /dev/null +++ b/scenes/imgui.ini @@ -0,0 +1,10 @@ +[Window][Debug##Default] +Pos=60,60 +Size=400,400 +Collapsed=0 + +[Window][Path Tracer Analytics] +Pos=60,60 +Size=339,65 +Collapsed=0 + diff --git a/scenes/objs/Cover.mtl b/scenes/objs/Cover.mtl new file mode 100644 index 00000000..371127d2 --- /dev/null +++ b/scenes/objs/Cover.mtl @@ -0,0 +1,102 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org + +newmtl Clay +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Dirt +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Grass_Block +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Lapis_Lazuli_Block +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Nether_Brick +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Obsidian +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Stained_Glass +Ns 0.000000 +Ka 0.200000 0.200000 0.200000 +Ks 0.030000 0.030000 0.030000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +illum 3 +map_Kd Mineways2Skfb-RGBA.png +map_d Mineways2Skfb-RGBA.png + +newmtl Stone +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Wood_Planks +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png + +newmtl Wool +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 +map_Kd Mineways2Skfb-RGBA.png diff --git a/scenes/objs/CoverBg.mtl b/scenes/objs/CoverBg.mtl new file mode 100644 index 00000000..bd71d1e6 --- /dev/null +++ b/scenes/objs/CoverBg.mtl @@ -0,0 +1,2 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org diff --git a/scenes/objs/CoverBg.obj b/scenes/objs/CoverBg.obj new file mode 100644 index 00000000..7a1cfbe2 --- /dev/null +++ b/scenes/objs/CoverBg.obj @@ -0,0 +1,15 @@ +# Blender 4.2.1 LTS +# www.blender.org +mtllib CoverBg.mtl +o Plane +v -263.838745 131.345474 -62.643005 +v -263.838745 -132.747116 -62.643021 +v 263.879089 131.345474 -62.643005 +v 263.879089 -132.747116 -62.643021 +vn -0.0000 -0.0000 1.0000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 diff --git a/scenes/objs/Mineways2Skfb-RGBA.png b/scenes/objs/Mineways2Skfb-RGBA.png new file mode 100644 index 00000000..e8781940 Binary files /dev/null and b/scenes/objs/Mineways2Skfb-RGBA.png differ diff --git a/scenes/objs/Mineways2Skfb.mtl b/scenes/objs/Mineways2Skfb.mtl new file mode 100644 index 00000000..e82324d8 --- /dev/null +++ b/scenes/objs/Mineways2Skfb.mtl @@ -0,0 +1,134 @@ +Wavefront OBJ material file +# Contains 10 materials + +newmtl Stone +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Grass_Block +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Dirt +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Wood_Planks +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Lapis_Lazuli_Block +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Wool +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Obsidian +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Clay +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 + +newmtl Stained_Glass +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0.03 0.03 0.03 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +map_d Mineways2Skfb-RGBA.png +illum 4 +# d 0.5 +# Tr 0.5 +Tf 0.5 0.5 0.5 + +newmtl Nether_Brick +Ns 0 +Ka 0.2 0.2 0.2 +Kd 1 1 1 +Ks 0 0 0 +map_Ka Mineways2Skfb-RGBA.png +# for G3D, to make textures look blocky: +interpolateMode NEAREST_MAGNIFICATION_TRILINEAR_MIPMAP_MINIFICATION +map_Kd Mineways2Skfb-RGBA.png +illum 2 +# d 1 +# Tr 1 diff --git a/scenes/objs/cube.obj b/scenes/objs/cube.obj new file mode 100644 index 00000000..8b0a83f1 --- /dev/null +++ b/scenes/objs/cube.obj @@ -0,0 +1,46 @@ +# Blender v2.76 (sub 0) OBJ File: '' +# www.blender.org +mtllib cube.mtl +o Cube +v 1.000000 -1.000000 -1.000000 +v 1.000000 -1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +v -1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 -0.999999 +v 0.999999 1.000000 1.000001 +v -1.000000 1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +vt 1.000000 0.333333 +vt 1.000000 0.666667 +vt 0.666667 0.666667 +vt 0.666667 0.333333 +vt 0.666667 0.000000 +vt 0.000000 0.333333 +vt 0.000000 0.000000 +vt 0.333333 0.000000 +vt 0.333333 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.666667 +vt 0.333333 0.333333 +vt 0.333333 0.666667 +vt 1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn -0.000000 0.000000 1.000000 +vn -1.000000 -0.000000 -0.000000 +vn 0.000000 0.000000 -1.000000 +usemtl Material +s off +f 2/1/1 3/2/1 4/3/1 +f 8/1/2 7/4/2 6/5/2 +f 5/6/3 6/7/3 2/8/3 +f 6/8/4 7/5/4 3/4/4 +f 3/9/5 7/10/5 8/11/5 +f 1/12/6 4/13/6 8/11/6 +f 1/4/1 2/1/1 4/3/1 +f 5/14/2 8/1/2 6/5/2 +f 1/12/3 5/6/3 2/8/3 +f 2/12/4 6/8/4 3/4/4 +f 4/13/5 3/9/5 8/11/5 +f 5/6/6 1/12/6 8/11/6 diff --git a/scenes/objs/cube1.mtl b/scenes/objs/cube1.mtl new file mode 100644 index 00000000..1f0c58bb --- /dev/null +++ b/scenes/objs/cube1.mtl @@ -0,0 +1,12 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/scenes/objs/cube1.obj b/scenes/objs/cube1.obj new file mode 100644 index 00000000..8e03bab1 --- /dev/null +++ b/scenes/objs/cube1.obj @@ -0,0 +1,40 @@ +# Blender 4.2.1 LTS +# www.blender.org +mtllib cube1.mtl +o Cube +v 1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +s 0 +usemtl Material +f 1/1/1 5/2/1 7/3/1 3/4/1 +f 4/5/2 3/4/2 7/6/2 8/7/2 +f 8/8/3 7/9/3 5/10/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/4/5 4/5/5 +f 6/11/6 5/10/6 1/1/6 2/13/6 diff --git a/scenes/objs/manyfaces.mtl b/scenes/objs/manyfaces.mtl new file mode 100644 index 00000000..bd71d1e6 --- /dev/null +++ b/scenes/objs/manyfaces.mtl @@ -0,0 +1,2 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org diff --git a/scenes/objs/manyfaces.obj b/scenes/objs/manyfaces.obj new file mode 100644 index 00000000..9f8320c6 --- /dev/null +++ b/scenes/objs/manyfaces.obj @@ -0,0 +1,1600 @@ +# Blender 4.2.1 LTS +# www.blender.org +mtllib manyfaces.mtl +o Cube +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v -0.535118 -0.535118 -0.418850 +v -0.572933 -0.572933 -0.296650 +v -0.599636 -0.599636 -0.153401 +v -0.609568 -0.609568 -0.000000 +v -0.599636 -0.599636 0.153401 +v -0.572933 -0.572933 0.296650 +v -0.535118 -0.535118 0.418850 +v -0.535118 -0.418850 0.535118 +v -0.572933 -0.296650 0.572933 +v -0.599636 -0.153401 0.599636 +v -0.609568 -0.000000 0.609568 +v -0.599636 0.153401 0.599636 +v -0.572933 0.296650 0.572933 +v -0.535118 0.418849 0.535118 +v -0.535118 0.535118 0.418850 +v -0.572933 0.572933 0.296650 +v -0.599636 0.599636 0.153401 +v -0.609568 0.609568 0.000000 +v -0.599636 0.599635 -0.153401 +v -0.572933 0.572933 -0.296650 +v -0.535118 0.535118 -0.418849 +v -0.535118 0.418850 -0.535118 +v -0.572933 0.296650 -0.572933 +v -0.599636 0.153401 -0.599636 +v -0.609568 -0.000000 -0.609568 +v -0.599636 -0.153401 -0.599636 +v -0.572933 -0.296650 -0.572933 +v -0.535118 -0.418850 -0.535118 +v 0.418850 -0.535118 -0.535118 +v 0.296650 -0.572933 -0.572933 +v 0.153401 -0.599636 -0.599635 +v 0.000000 -0.609568 -0.609568 +v -0.153401 -0.599636 -0.599636 +v -0.296650 -0.572933 -0.572933 +v -0.418850 -0.535118 -0.535118 +v -0.418850 0.535118 -0.535118 +v -0.296650 0.572933 -0.572933 +v -0.153401 0.599636 -0.599636 +v -0.000000 0.609568 -0.609568 +v 0.153401 0.599635 -0.599636 +v 0.296650 0.572933 -0.572933 +v 0.418849 0.535118 -0.535118 +v 0.535118 0.418850 -0.535118 +v 0.572933 0.296650 -0.572933 +v 0.599636 0.153401 -0.599636 +v 0.609568 -0.000000 -0.609568 +v 0.599636 -0.153401 -0.599636 +v 0.572933 -0.296650 -0.572933 +v 0.535118 -0.418850 -0.535118 +v 0.535118 -0.535118 0.418850 +v 0.572933 -0.572933 0.296650 +v 0.599635 -0.599636 0.153401 +v 0.609568 -0.609568 0.000000 +v 0.599636 -0.599636 -0.153401 +v 0.572933 -0.572933 -0.296650 +v 0.535118 -0.535118 -0.418850 +v 0.535118 0.535118 -0.418850 +v 0.572933 0.572933 -0.296650 +v 0.599636 0.599636 -0.153401 +v 0.609568 0.609568 0.000000 +v 0.599636 0.599636 0.153401 +v 0.572933 0.572933 0.296650 +v 0.535118 0.535118 0.418849 +v 0.535118 0.418850 0.535118 +v 0.572933 0.296650 0.572933 +v 0.599636 0.153401 0.599636 +v 0.609568 -0.000000 0.609568 +v 0.599636 -0.153401 0.599636 +v 0.572933 -0.296650 0.572933 +v 0.535118 -0.418850 0.535118 +v -0.418850 -0.535118 0.535118 +v -0.296650 -0.572933 0.572933 +v -0.153401 -0.599636 0.599636 +v -0.000000 -0.609568 0.609568 +v 0.153401 -0.599636 0.599636 +v 0.296650 -0.572933 0.572933 +v 0.418850 -0.535118 0.535118 +v 0.418850 0.535118 0.535118 +v 0.296650 0.572933 0.572933 +v 0.153401 0.599636 0.599636 +v -0.000000 0.609568 0.609568 +v -0.153401 0.599635 0.599636 +v -0.296650 0.572933 0.572933 +v -0.418849 0.535118 0.535118 +v -0.610461 -0.431759 0.431759 +v -0.664133 -0.302983 0.455302 +v -0.698026 -0.156091 0.474400 +v -0.709949 -0.000000 0.481988 +v -0.698026 0.156091 0.474400 +v -0.664133 0.302983 0.455302 +v -0.610461 0.431759 0.431759 +v -0.664133 -0.455302 0.302983 +v -0.728990 -0.316157 0.316157 +v -0.768442 -0.161915 0.328070 +v -0.781829 -0.000000 0.333140 +v -0.768442 0.161915 0.328070 +v -0.728990 0.316157 0.316157 +v -0.664133 0.455302 0.302983 +v -0.698026 -0.474400 0.156091 +v -0.768442 -0.328070 0.161915 +v -0.810862 -0.167582 0.167582 +v -0.825063 0.000000 0.170115 +v -0.810862 0.167582 0.167582 +v -0.768442 0.328070 0.161915 +v -0.698026 0.474400 0.156091 +v -0.709949 -0.481988 -0.000000 +v -0.781829 -0.333140 -0.000000 +v -0.825063 -0.170115 0.000000 +v -0.839506 0.000000 0.000000 +v -0.825063 0.170115 0.000000 +v -0.781829 0.333140 0.000000 +v -0.709949 0.481988 0.000000 +v -0.698026 -0.474400 -0.156091 +v -0.768442 -0.328070 -0.161915 +v -0.810862 -0.167582 -0.167582 +v -0.825063 0.000000 -0.170115 +v -0.810862 0.167582 -0.167582 +v -0.768442 0.328070 -0.161915 +v -0.698026 0.474400 -0.156091 +v -0.664133 -0.455302 -0.302983 +v -0.728990 -0.316157 -0.316157 +v -0.768442 -0.161915 -0.328070 +v -0.781829 0.000000 -0.333140 +v -0.768442 0.161915 -0.328070 +v -0.728990 0.316157 -0.316157 +v -0.664133 0.455302 -0.302983 +v -0.610461 -0.431759 -0.431759 +v -0.664133 -0.302983 -0.455302 +v -0.698026 -0.156091 -0.474400 +v -0.709949 0.000000 -0.481988 +v -0.698026 0.156091 -0.474400 +v -0.664133 0.302983 -0.455302 +v -0.610461 0.431759 -0.431759 +v -0.431759 -0.431759 -0.610461 +v -0.455302 -0.302983 -0.664133 +v -0.474400 -0.156091 -0.698026 +v -0.481988 -0.000000 -0.709949 +v -0.474400 0.156091 -0.698026 +v -0.455302 0.302983 -0.664133 +v -0.431759 0.431759 -0.610461 +v -0.302983 -0.455302 -0.664133 +v -0.316157 -0.316157 -0.728990 +v -0.328070 -0.161915 -0.768442 +v -0.333140 -0.000000 -0.781829 +v -0.328070 0.161915 -0.768442 +v -0.316157 0.316157 -0.728990 +v -0.302983 0.455302 -0.664133 +v -0.156091 -0.474400 -0.698026 +v -0.161915 -0.328070 -0.768442 +v -0.167582 -0.167582 -0.810862 +v -0.170115 -0.000000 -0.825063 +v -0.167582 0.167582 -0.810862 +v -0.161915 0.328070 -0.768442 +v -0.156091 0.474400 -0.698026 +v 0.000000 -0.481988 -0.709949 +v 0.000000 -0.333140 -0.781829 +v 0.000000 -0.170115 -0.825063 +v 0.000000 0.000000 -0.839506 +v 0.000000 0.170115 -0.825063 +v -0.000000 0.333140 -0.781829 +v -0.000000 0.481988 -0.709949 +v 0.156091 -0.474400 -0.698026 +v 0.161915 -0.328070 -0.768442 +v 0.167582 -0.167582 -0.810862 +v 0.170115 0.000000 -0.825063 +v 0.167582 0.167582 -0.810862 +v 0.161915 0.328070 -0.768442 +v 0.156091 0.474400 -0.698026 +v 0.302983 -0.455302 -0.664133 +v 0.316157 -0.316157 -0.728990 +v 0.328070 -0.161915 -0.768442 +v 0.333140 0.000000 -0.781829 +v 0.328070 0.161915 -0.768442 +v 0.316157 0.316157 -0.728990 +v 0.302983 0.455302 -0.664133 +v 0.431759 -0.431759 -0.610461 +v 0.455302 -0.302983 -0.664133 +v 0.474400 -0.156091 -0.698026 +v 0.481988 0.000000 -0.709949 +v 0.474400 0.156091 -0.698026 +v 0.455302 0.302983 -0.664133 +v 0.431759 0.431759 -0.610461 +v 0.610461 -0.431759 -0.431759 +v 0.664133 -0.302983 -0.455302 +v 0.698026 -0.156091 -0.474400 +v 0.709949 -0.000000 -0.481988 +v 0.698026 0.156091 -0.474400 +v 0.664133 0.302983 -0.455302 +v 0.610461 0.431759 -0.431759 +v 0.664133 -0.455302 -0.302983 +v 0.728990 -0.316157 -0.316157 +v 0.768442 -0.161915 -0.328070 +v 0.781829 -0.000000 -0.333140 +v 0.768442 0.161915 -0.328070 +v 0.728990 0.316157 -0.316157 +v 0.664133 0.455302 -0.302983 +v 0.698026 -0.474400 -0.156091 +v 0.768442 -0.328070 -0.161915 +v 0.810862 -0.167582 -0.167582 +v 0.825063 -0.000000 -0.170115 +v 0.810862 0.167582 -0.167582 +v 0.768442 0.328070 -0.161915 +v 0.698026 0.474400 -0.156091 +v 0.709949 -0.481988 0.000000 +v 0.781829 -0.333140 0.000000 +v 0.825063 -0.170115 0.000000 +v 0.839506 0.000000 0.000000 +v 0.825063 0.170115 0.000000 +v 0.781829 0.333140 -0.000000 +v 0.709949 0.481988 -0.000000 +v 0.698026 -0.474400 0.156091 +v 0.768442 -0.328070 0.161916 +v 0.810862 -0.167582 0.167582 +v 0.825063 0.000000 0.170115 +v 0.810862 0.167582 0.167582 +v 0.768442 0.328070 0.161915 +v 0.698026 0.474400 0.156091 +v 0.664133 -0.455302 0.302983 +v 0.728990 -0.316157 0.316157 +v 0.768442 -0.161915 0.328070 +v 0.781829 0.000000 0.333140 +v 0.768442 0.161915 0.328070 +v 0.728990 0.316157 0.316157 +v 0.664133 0.455302 0.302983 +v 0.610461 -0.431759 0.431759 +v 0.664133 -0.302983 0.455302 +v 0.698026 -0.156091 0.474400 +v 0.709949 0.000000 0.481988 +v 0.698026 0.156091 0.474400 +v 0.664133 0.302983 0.455302 +v 0.610461 0.431759 0.431759 +v 0.431759 -0.431759 0.610461 +v 0.455302 -0.302983 0.664133 +v 0.474400 -0.156091 0.698026 +v 0.481988 -0.000000 0.709949 +v 0.474400 0.156091 0.698026 +v 0.455302 0.302983 0.664133 +v 0.431759 0.431759 0.610461 +v 0.302983 -0.455302 0.664133 +v 0.316157 -0.316157 0.728990 +v 0.328070 -0.161915 0.768442 +v 0.333140 -0.000000 0.781829 +v 0.328070 0.161915 0.768442 +v 0.316157 0.316157 0.728990 +v 0.302983 0.455302 0.664133 +v 0.156091 -0.474400 0.698026 +v 0.161915 -0.328070 0.768442 +v 0.167582 -0.167582 0.810862 +v 0.170115 -0.000000 0.825063 +v 0.167582 0.167582 0.810862 +v 0.161915 0.328070 0.768442 +v 0.156091 0.474400 0.698026 +v -0.000000 -0.481988 0.709949 +v -0.000000 -0.333140 0.781829 +v -0.000000 -0.170115 0.825063 +v -0.000000 0.000000 0.839506 +v -0.000000 0.170115 0.825063 +v 0.000000 0.333140 0.781829 +v 0.000000 0.481988 0.709949 +v -0.156091 -0.474400 0.698026 +v -0.161915 -0.328070 0.768442 +v -0.167582 -0.167582 0.810862 +v -0.170115 0.000000 0.825063 +v -0.167582 0.167582 0.810862 +v -0.161915 0.328070 0.768442 +v -0.156091 0.474400 0.698026 +v -0.302983 -0.455302 0.664133 +v -0.316157 -0.316157 0.728990 +v -0.328070 -0.161915 0.768442 +v -0.333140 0.000000 0.781829 +v -0.328070 0.161915 0.768442 +v -0.316157 0.316157 0.728990 +v -0.302983 0.455302 0.664133 +v -0.431759 -0.431759 0.610461 +v -0.455302 -0.302983 0.664133 +v -0.474400 -0.156091 0.698026 +v -0.481988 0.000000 0.709949 +v -0.474400 0.156091 0.698026 +v -0.455302 0.302983 0.664133 +v -0.431759 0.431759 0.610461 +v -0.431759 -0.610461 -0.431759 +v -0.302983 -0.664133 -0.455302 +v -0.156091 -0.698026 -0.474400 +v -0.000000 -0.709949 -0.481988 +v 0.156091 -0.698026 -0.474400 +v 0.302983 -0.664133 -0.455302 +v 0.431759 -0.610461 -0.431759 +v -0.455302 -0.664133 -0.302983 +v -0.316157 -0.728990 -0.316157 +v -0.161915 -0.768442 -0.328070 +v -0.000000 -0.781829 -0.333140 +v 0.161915 -0.768442 -0.328070 +v 0.316157 -0.728990 -0.316157 +v 0.455302 -0.664133 -0.302983 +v -0.474400 -0.698026 -0.156091 +v -0.328070 -0.768442 -0.161915 +v -0.167582 -0.810862 -0.167582 +v -0.000000 -0.825063 -0.170115 +v 0.167582 -0.810862 -0.167582 +v 0.328070 -0.768442 -0.161915 +v 0.474400 -0.698026 -0.156091 +v -0.481988 -0.709949 0.000000 +v -0.333140 -0.781829 0.000000 +v -0.170115 -0.825063 0.000000 +v 0.000000 -0.839506 0.000000 +v 0.170115 -0.825063 0.000000 +v 0.333140 -0.781829 -0.000000 +v 0.481988 -0.709949 0.000000 +v -0.474400 -0.698026 0.156091 +v -0.328070 -0.768442 0.161916 +v -0.167582 -0.810862 0.167582 +v 0.000000 -0.825063 0.170115 +v 0.167582 -0.810862 0.167582 +v 0.328070 -0.768442 0.161915 +v 0.474400 -0.698026 0.156091 +v -0.455302 -0.664133 0.302983 +v -0.316157 -0.728990 0.316157 +v -0.161915 -0.768442 0.328070 +v 0.000000 -0.781829 0.333140 +v 0.161915 -0.768442 0.328070 +v 0.316157 -0.728990 0.316157 +v 0.455302 -0.664133 0.302983 +v -0.431759 -0.610461 0.431759 +v -0.302983 -0.664133 0.455302 +v -0.156091 -0.698026 0.474400 +v 0.000000 -0.709949 0.481988 +v 0.156091 -0.698026 0.474400 +v 0.302983 -0.664133 0.455302 +v 0.431759 -0.610461 0.431759 +v 0.431759 0.610461 -0.431759 +v 0.302983 0.664133 -0.455302 +v 0.156091 0.698026 -0.474400 +v 0.000000 0.709949 -0.481988 +v -0.156091 0.698026 -0.474400 +v -0.302983 0.664133 -0.455302 +v -0.431759 0.610461 -0.431759 +v 0.455302 0.664133 -0.302983 +v 0.316157 0.728990 -0.316157 +v 0.161915 0.768442 -0.328070 +v 0.000000 0.781829 -0.333140 +v -0.161915 0.768442 -0.328070 +v -0.316157 0.728990 -0.316157 +v -0.455302 0.664133 -0.302983 +v 0.474400 0.698026 -0.156091 +v 0.328070 0.768442 -0.161915 +v 0.167582 0.810862 -0.167582 +v 0.000000 0.825063 -0.170115 +v -0.167582 0.810862 -0.167582 +v -0.328070 0.768442 -0.161915 +v -0.474400 0.698026 -0.156091 +v 0.481988 0.709949 0.000000 +v 0.333140 0.781829 0.000000 +v 0.170115 0.825063 0.000000 +v -0.000000 0.839506 0.000000 +v -0.170115 0.825063 0.000000 +v -0.333140 0.781829 -0.000000 +v -0.481988 0.709949 0.000000 +v 0.474400 0.698026 0.156091 +v 0.328070 0.768442 0.161916 +v 0.167582 0.810862 0.167582 +v -0.000000 0.825063 0.170115 +v -0.167582 0.810862 0.167582 +v -0.328070 0.768442 0.161916 +v -0.474400 0.698026 0.156091 +v 0.455302 0.664133 0.302983 +v 0.316157 0.728990 0.316157 +v 0.161915 0.768442 0.328070 +v -0.000000 0.781829 0.333140 +v -0.161915 0.768442 0.328070 +v -0.316157 0.728990 0.316157 +v -0.455302 0.664133 0.302983 +v 0.431759 0.610461 0.431759 +v 0.302983 0.664133 0.455302 +v 0.156091 0.698026 0.474400 +v -0.000000 0.709949 0.481988 +v -0.156091 0.698026 0.474400 +v -0.302983 0.664133 0.455302 +v -0.431759 0.610461 0.431759 +vn -0.8096 -0.4151 0.4151 +vn -0.8671 -0.2552 0.4278 +vn -0.8966 -0.0886 0.4340 +vn -0.8966 0.0886 0.4340 +vn -0.8671 0.2552 0.4278 +vn -0.8096 0.4151 0.4151 +vn -0.8671 -0.4278 0.2552 +vn -0.9318 -0.2567 0.2567 +vn -0.9627 -0.0865 0.2564 +vn -0.9627 0.0865 0.2564 +vn -0.9318 0.2567 0.2567 +vn -0.8671 0.4278 0.2552 +vn -0.8966 -0.4340 0.0886 +vn -0.9627 -0.2564 0.0865 +vn -0.9928 -0.0848 0.0848 +vn -0.9928 0.0848 0.0848 +vn -0.9627 0.2564 0.0865 +vn -0.8966 0.4340 0.0886 +vn -0.8966 -0.4340 -0.0886 +vn -0.9627 -0.2564 -0.0865 +vn -0.9928 -0.0848 -0.0848 +vn -0.9928 0.0848 -0.0848 +vn -0.9627 0.2564 -0.0865 +vn -0.8966 0.4340 -0.0886 +vn -0.8671 -0.4278 -0.2552 +vn -0.9318 -0.2567 -0.2567 +vn -0.9627 -0.0865 -0.2564 +vn -0.9627 0.0865 -0.2564 +vn -0.9318 0.2567 -0.2567 +vn -0.8671 0.4278 -0.2552 +vn -0.8096 -0.4151 -0.4151 +vn -0.8671 -0.2552 -0.4278 +vn -0.8966 -0.0886 -0.4340 +vn -0.8966 0.0886 -0.4340 +vn -0.8671 0.2552 -0.4278 +vn -0.8096 0.4151 -0.4151 +vn -0.6579 -0.5325 0.5325 +vn -0.7146 -0.4007 0.5734 +vn -0.7580 -0.2532 0.6011 +vn -0.7825 -0.0901 0.6161 +vn -0.7825 0.0901 0.6161 +vn -0.7580 0.2532 0.6011 +vn -0.7146 0.4007 0.5734 +vn -0.6579 0.5325 0.5325 +vn -0.7146 0.5734 0.4007 +vn -0.7580 0.6011 0.2532 +vn -0.7825 0.6161 0.0901 +vn -0.7825 0.6161 -0.0901 +vn -0.7580 0.6011 -0.2532 +vn -0.7146 0.5734 -0.4007 +vn -0.6579 0.5325 -0.5325 +vn -0.7146 0.4007 -0.5734 +vn -0.7580 0.2532 -0.6011 +vn -0.7825 0.0901 -0.6161 +vn -0.7825 -0.0901 -0.6161 +vn -0.7580 -0.2532 -0.6011 +vn -0.7146 -0.4007 -0.5734 +vn -0.6579 -0.5325 -0.5325 +vn -0.7146 -0.5734 -0.4007 +vn -0.7580 -0.6011 -0.2532 +vn -0.7825 -0.6161 -0.0901 +vn -0.7825 -0.6161 0.0901 +vn -0.7580 -0.6011 0.2532 +vn -0.7146 -0.5734 0.4007 +vn -0.4151 -0.4151 -0.8096 +vn -0.4278 -0.2552 -0.8671 +vn -0.4340 -0.0886 -0.8966 +vn -0.4340 0.0886 -0.8966 +vn -0.4278 0.2552 -0.8671 +vn -0.4151 0.4151 -0.8096 +vn -0.2552 -0.4278 -0.8671 +vn -0.2567 -0.2567 -0.9318 +vn -0.2564 -0.0865 -0.9627 +vn -0.2564 0.0865 -0.9627 +vn -0.2567 0.2567 -0.9318 +vn -0.2552 0.4278 -0.8671 +vn -0.0886 -0.4340 -0.8966 +vn -0.0865 -0.2564 -0.9627 +vn -0.0848 -0.0848 -0.9928 +vn -0.0848 0.0848 -0.9928 +vn -0.0865 0.2564 -0.9627 +vn -0.0886 0.4340 -0.8966 +vn 0.0886 -0.4340 -0.8966 +vn 0.0865 -0.2564 -0.9627 +vn 0.0848 -0.0848 -0.9928 +vn 0.0848 0.0848 -0.9928 +vn 0.0865 0.2564 -0.9627 +vn 0.0886 0.4340 -0.8966 +vn 0.2552 -0.4278 -0.8671 +vn 0.2567 -0.2567 -0.9318 +vn 0.2564 -0.0865 -0.9627 +vn 0.2564 0.0865 -0.9627 +vn 0.2567 0.2567 -0.9318 +vn 0.2552 0.4278 -0.8671 +vn 0.4151 -0.4151 -0.8096 +vn 0.4278 -0.2552 -0.8671 +vn 0.4340 -0.0886 -0.8966 +vn 0.4340 0.0886 -0.8966 +vn 0.4278 0.2552 -0.8671 +vn 0.4151 0.4151 -0.8096 +vn -0.5325 -0.5325 -0.6579 +vn -0.5734 -0.4007 -0.7146 +vn -0.6011 -0.2532 -0.7580 +vn -0.6161 -0.0901 -0.7825 +vn -0.6161 0.0901 -0.7825 +vn -0.6011 0.2532 -0.7580 +vn -0.5734 0.4007 -0.7146 +vn -0.5325 0.5325 -0.6579 +vn -0.4007 0.5734 -0.7146 +vn -0.2532 0.6011 -0.7580 +vn -0.0901 0.6161 -0.7825 +vn 0.0901 0.6161 -0.7825 +vn 0.2532 0.6011 -0.7580 +vn 0.4007 0.5734 -0.7146 +vn 0.5325 0.5325 -0.6579 +vn 0.5734 0.4007 -0.7146 +vn 0.6011 0.2532 -0.7580 +vn 0.6161 0.0901 -0.7825 +vn 0.6161 -0.0901 -0.7825 +vn 0.6011 -0.2532 -0.7580 +vn 0.5734 -0.4007 -0.7146 +vn 0.5325 -0.5325 -0.6579 +vn 0.4007 -0.5734 -0.7146 +vn 0.2532 -0.6011 -0.7580 +vn 0.0901 -0.6161 -0.7825 +vn -0.0901 -0.6161 -0.7825 +vn -0.2532 -0.6011 -0.7580 +vn -0.4007 -0.5734 -0.7146 +vn 0.8096 -0.4151 -0.4151 +vn 0.8671 -0.2552 -0.4278 +vn 0.8966 -0.0886 -0.4340 +vn 0.8966 0.0886 -0.4340 +vn 0.8671 0.2552 -0.4278 +vn 0.8096 0.4151 -0.4151 +vn 0.8671 -0.4278 -0.2552 +vn 0.9318 -0.2567 -0.2567 +vn 0.9627 -0.0865 -0.2564 +vn 0.9627 0.0865 -0.2564 +vn 0.9318 0.2567 -0.2567 +vn 0.8671 0.4278 -0.2552 +vn 0.8966 -0.4340 -0.0886 +vn 0.9627 -0.2564 -0.0865 +vn 0.9928 -0.0848 -0.0848 +vn 0.9928 0.0848 -0.0848 +vn 0.9627 0.2564 -0.0865 +vn 0.8966 0.4340 -0.0886 +vn 0.8966 -0.4340 0.0886 +vn 0.9627 -0.2564 0.0865 +vn 0.9928 -0.0848 0.0848 +vn 0.9928 0.0848 0.0848 +vn 0.9627 0.2564 0.0865 +vn 0.8966 0.4340 0.0886 +vn 0.8671 -0.4278 0.2552 +vn 0.9318 -0.2567 0.2567 +vn 0.9627 -0.0865 0.2564 +vn 0.9627 0.0865 0.2564 +vn 0.9318 0.2567 0.2567 +vn 0.8671 0.4278 0.2552 +vn 0.8096 -0.4151 0.4151 +vn 0.8671 -0.2552 0.4278 +vn 0.8966 -0.0886 0.4340 +vn 0.8966 0.0886 0.4340 +vn 0.8671 0.2552 0.4278 +vn 0.8096 0.4151 0.4151 +vn 0.6579 -0.5325 -0.5325 +vn 0.7146 -0.4007 -0.5734 +vn 0.7580 -0.2532 -0.6011 +vn 0.7825 -0.0901 -0.6161 +vn 0.7825 0.0901 -0.6161 +vn 0.7580 0.2532 -0.6011 +vn 0.7146 0.4007 -0.5734 +vn 0.6579 0.5325 -0.5325 +vn 0.7146 0.5734 -0.4007 +vn 0.7580 0.6011 -0.2532 +vn 0.7825 0.6161 -0.0901 +vn 0.7825 0.6161 0.0901 +vn 0.7580 0.6011 0.2532 +vn 0.7146 0.5734 0.4007 +vn 0.6579 0.5325 0.5325 +vn 0.7146 0.4007 0.5734 +vn 0.7580 0.2532 0.6011 +vn 0.7825 0.0901 0.6161 +vn 0.7825 -0.0901 0.6161 +vn 0.7580 -0.2532 0.6011 +vn 0.7146 -0.4007 0.5734 +vn 0.6579 -0.5325 0.5325 +vn 0.7146 -0.5734 0.4007 +vn 0.7580 -0.6011 0.2532 +vn 0.7825 -0.6161 0.0901 +vn 0.7825 -0.6161 -0.0901 +vn 0.7580 -0.6011 -0.2532 +vn 0.7146 -0.5734 -0.4007 +vn 0.4151 -0.4151 0.8096 +vn 0.4278 -0.2552 0.8671 +vn 0.4340 -0.0886 0.8966 +vn 0.4340 0.0886 0.8966 +vn 0.4278 0.2552 0.8671 +vn 0.4151 0.4151 0.8096 +vn 0.2552 -0.4278 0.8671 +vn 0.2567 -0.2567 0.9318 +vn 0.2564 -0.0865 0.9627 +vn 0.2564 0.0865 0.9627 +vn 0.2567 0.2567 0.9318 +vn 0.2552 0.4278 0.8671 +vn 0.0886 -0.4340 0.8966 +vn 0.0865 -0.2564 0.9627 +vn 0.0848 -0.0848 0.9928 +vn 0.0848 0.0848 0.9928 +vn 0.0865 0.2564 0.9627 +vn 0.0886 0.4340 0.8966 +vn -0.0886 -0.4340 0.8966 +vn -0.0865 -0.2564 0.9627 +vn -0.0848 -0.0848 0.9928 +vn -0.0848 0.0848 0.9928 +vn -0.0865 0.2564 0.9627 +vn -0.0886 0.4340 0.8966 +vn -0.2552 -0.4278 0.8671 +vn -0.2567 -0.2567 0.9318 +vn -0.2564 -0.0865 0.9627 +vn -0.2564 0.0865 0.9627 +vn -0.2567 0.2567 0.9318 +vn -0.2552 0.4278 0.8671 +vn -0.4151 -0.4151 0.8096 +vn -0.4278 -0.2552 0.8671 +vn -0.4340 -0.0886 0.8966 +vn -0.4340 0.0886 0.8966 +vn -0.4278 0.2552 0.8671 +vn -0.4151 0.4151 0.8096 +vn 0.5325 -0.5325 0.6579 +vn 0.5734 -0.4007 0.7146 +vn 0.6011 -0.2532 0.7580 +vn 0.6161 -0.0901 0.7825 +vn 0.6161 0.0901 0.7825 +vn 0.6011 0.2532 0.7580 +vn 0.5734 0.4007 0.7146 +vn 0.5325 0.5325 0.6579 +vn 0.4007 0.5734 0.7146 +vn 0.2532 0.6011 0.7580 +vn 0.0901 0.6161 0.7825 +vn -0.0901 0.6161 0.7825 +vn -0.2532 0.6011 0.7580 +vn -0.4007 0.5734 0.7146 +vn -0.5325 0.5325 0.6579 +vn -0.5734 0.4007 0.7146 +vn -0.6011 0.2532 0.7580 +vn -0.6161 0.0901 0.7825 +vn -0.6161 -0.0901 0.7825 +vn -0.6011 -0.2532 0.7580 +vn -0.5734 -0.4007 0.7146 +vn -0.5325 -0.5325 0.6579 +vn -0.4007 -0.5734 0.7146 +vn -0.2532 -0.6011 0.7580 +vn -0.0901 -0.6161 0.7825 +vn 0.0901 -0.6161 0.7825 +vn 0.2532 -0.6011 0.7580 +vn 0.4007 -0.5734 0.7146 +vn -0.4151 -0.8096 -0.4151 +vn -0.2552 -0.8671 -0.4278 +vn -0.0886 -0.8966 -0.4340 +vn 0.0886 -0.8966 -0.4340 +vn 0.2552 -0.8671 -0.4278 +vn 0.4151 -0.8096 -0.4151 +vn -0.4278 -0.8671 -0.2552 +vn -0.2567 -0.9318 -0.2567 +vn -0.0865 -0.9627 -0.2564 +vn 0.0865 -0.9627 -0.2564 +vn 0.2567 -0.9318 -0.2567 +vn 0.4278 -0.8671 -0.2552 +vn -0.4340 -0.8966 -0.0886 +vn -0.2564 -0.9627 -0.0865 +vn -0.0848 -0.9928 -0.0848 +vn 0.0848 -0.9928 -0.0848 +vn 0.2564 -0.9627 -0.0865 +vn 0.4340 -0.8966 -0.0886 +vn -0.4340 -0.8966 0.0886 +vn -0.2564 -0.9627 0.0865 +vn -0.0848 -0.9928 0.0848 +vn 0.0848 -0.9928 0.0848 +vn 0.2564 -0.9627 0.0865 +vn 0.4340 -0.8966 0.0886 +vn -0.4278 -0.8671 0.2552 +vn -0.2567 -0.9318 0.2567 +vn -0.0865 -0.9627 0.2564 +vn 0.0865 -0.9627 0.2564 +vn 0.2567 -0.9318 0.2567 +vn 0.4278 -0.8671 0.2552 +vn -0.4151 -0.8096 0.4151 +vn -0.2552 -0.8671 0.4278 +vn -0.0886 -0.8966 0.4340 +vn 0.0886 -0.8966 0.4340 +vn 0.2552 -0.8671 0.4278 +vn 0.4151 -0.8096 0.4151 +vn -0.5325 -0.6579 -0.5325 +vn -0.4007 -0.7146 -0.5734 +vn -0.2532 -0.7580 -0.6011 +vn -0.0901 -0.7825 -0.6161 +vn 0.0901 -0.7825 -0.6161 +vn 0.2532 -0.7580 -0.6011 +vn 0.4007 -0.7146 -0.5734 +vn 0.5325 -0.6579 -0.5325 +vn 0.5734 -0.7146 -0.4007 +vn 0.6011 -0.7580 -0.2532 +vn 0.6161 -0.7825 -0.0901 +vn 0.6161 -0.7825 0.0901 +vn 0.6011 -0.7580 0.2532 +vn 0.5734 -0.7146 0.4007 +vn 0.5325 -0.6579 0.5325 +vn 0.4007 -0.7146 0.5734 +vn 0.2532 -0.7580 0.6011 +vn 0.0901 -0.7825 0.6161 +vn -0.0901 -0.7825 0.6161 +vn -0.2532 -0.7580 0.6011 +vn -0.4007 -0.7146 0.5734 +vn -0.5325 -0.6579 0.5325 +vn -0.5734 -0.7146 0.4007 +vn -0.6011 -0.7580 0.2532 +vn -0.6161 -0.7825 0.0901 +vn -0.6161 -0.7825 -0.0901 +vn -0.6011 -0.7580 -0.2532 +vn -0.5734 -0.7146 -0.4007 +vn 0.4151 0.8096 -0.4151 +vn 0.2552 0.8671 -0.4278 +vn 0.0886 0.8966 -0.4340 +vn -0.0886 0.8966 -0.4340 +vn -0.2552 0.8671 -0.4278 +vn -0.4151 0.8096 -0.4151 +vn 0.4278 0.8671 -0.2552 +vn 0.2567 0.9318 -0.2567 +vn 0.0865 0.9627 -0.2564 +vn -0.0865 0.9627 -0.2564 +vn -0.2567 0.9318 -0.2567 +vn -0.4278 0.8671 -0.2552 +vn 0.4340 0.8966 -0.0886 +vn 0.2564 0.9627 -0.0865 +vn 0.0848 0.9928 -0.0848 +vn -0.0848 0.9928 -0.0848 +vn -0.2564 0.9627 -0.0865 +vn -0.4340 0.8966 -0.0886 +vn 0.4340 0.8966 0.0886 +vn 0.2564 0.9627 0.0865 +vn 0.0848 0.9928 0.0848 +vn -0.0848 0.9928 0.0848 +vn -0.2564 0.9627 0.0865 +vn -0.4340 0.8966 0.0886 +vn 0.4278 0.8671 0.2552 +vn 0.2567 0.9318 0.2567 +vn 0.0865 0.9627 0.2564 +vn -0.0865 0.9627 0.2564 +vn -0.2567 0.9318 0.2567 +vn -0.4278 0.8671 0.2552 +vn 0.4151 0.8096 0.4151 +vn 0.2552 0.8671 0.4278 +vn 0.0886 0.8966 0.4340 +vn -0.0886 0.8966 0.4340 +vn -0.2552 0.8671 0.4278 +vn -0.4151 0.8096 0.4151 +vn 0.5325 0.6579 -0.5325 +vn 0.4007 0.7146 -0.5734 +vn 0.2532 0.7580 -0.6011 +vn 0.0901 0.7825 -0.6161 +vn -0.0901 0.7825 -0.6161 +vn -0.2532 0.7580 -0.6011 +vn -0.4007 0.7146 -0.5734 +vn -0.5325 0.6579 -0.5325 +vn -0.5734 0.7146 -0.4007 +vn -0.6011 0.7580 -0.2532 +vn -0.6161 0.7825 -0.0901 +vn -0.6161 0.7825 0.0901 +vn -0.6011 0.7580 0.2532 +vn -0.5734 0.7146 0.4007 +vn -0.5325 0.6579 0.5325 +vn -0.4007 0.7146 0.5734 +vn -0.2532 0.7580 0.6011 +vn -0.0901 0.7825 0.6161 +vn 0.0901 0.7825 0.6161 +vn 0.2532 0.7580 0.6011 +vn 0.4007 0.7146 0.5734 +vn 0.5325 0.6579 0.5325 +vn 0.5734 0.7146 0.4007 +vn 0.6011 0.7580 0.2532 +vn 0.6161 0.7825 0.0901 +vn 0.6161 0.7825 -0.0901 +vn 0.6011 0.7580 -0.2532 +vn 0.5734 0.7146 -0.4007 +vt 0.406250 0.031250 +vt 0.437500 0.031250 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.468750 0.031250 +vt 0.468750 0.062500 +vt 0.500000 0.031250 +vt 0.500000 0.062500 +vt 0.531250 0.031250 +vt 0.531250 0.062500 +vt 0.562500 0.031250 +vt 0.562500 0.062500 +vt 0.593750 0.031250 +vt 0.593750 0.062500 +vt 0.437500 0.093750 +vt 0.406250 0.093750 +vt 0.468750 0.093750 +vt 0.500000 0.093750 +vt 0.531250 0.093750 +vt 0.562500 0.093750 +vt 0.593750 0.093750 +vt 0.437500 0.125000 +vt 0.406250 0.125000 +vt 0.468750 0.125000 +vt 0.500000 0.125000 +vt 0.531250 0.125000 +vt 0.562500 0.125000 +vt 0.593750 0.125000 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.468750 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.562500 0.156250 +vt 0.593750 0.156250 +vt 0.437500 0.187500 +vt 0.406250 0.187500 +vt 0.468750 0.187500 +vt 0.500000 0.187500 +vt 0.531250 0.187500 +vt 0.562500 0.187500 +vt 0.593750 0.187500 +vt 0.437500 0.218750 +vt 0.406250 0.218750 +vt 0.468750 0.218750 +vt 0.500000 0.218750 +vt 0.531250 0.218750 +vt 0.562500 0.218750 +vt 0.593750 0.218750 +vt 0.375000 0.000000 +vt 0.406250 0.000000 +vt 0.375000 0.031250 +vt 0.437500 0.000000 +vt 0.468750 0.000000 +vt 0.500000 0.000000 +vt 0.531250 0.000000 +vt 0.562500 0.000000 +vt 0.593750 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.031250 +vt 0.625000 0.062500 +vt 0.625000 0.093750 +vt 0.625000 0.125000 +vt 0.625000 0.156250 +vt 0.625000 0.187500 +vt 0.625000 0.218750 +vt 0.625000 0.250000 +vt 0.593750 0.250000 +vt 0.562500 0.250000 +vt 0.531250 0.250000 +vt 0.500000 0.250000 +vt 0.468750 0.250000 +vt 0.437500 0.250000 +vt 0.406250 0.250000 +vt 0.375000 0.218750 +vt 0.375000 0.250000 +vt 0.375000 0.187500 +vt 0.375000 0.156250 +vt 0.375000 0.125000 +vt 0.375000 0.093750 +vt 0.375000 0.062500 +vt 0.406250 0.281250 +vt 0.437500 0.281250 +vt 0.437500 0.312500 +vt 0.406250 0.312500 +vt 0.468750 0.281250 +vt 0.468750 0.312500 +vt 0.500000 0.281250 +vt 0.500000 0.312500 +vt 0.531250 0.281250 +vt 0.531250 0.312500 +vt 0.562500 0.281250 +vt 0.562500 0.312500 +vt 0.593750 0.281250 +vt 0.593750 0.312500 +vt 0.437500 0.343750 +vt 0.406250 0.343750 +vt 0.468750 0.343750 +vt 0.500000 0.343750 +vt 0.531250 0.343750 +vt 0.562500 0.343750 +vt 0.593750 0.343750 +vt 0.437500 0.375000 +vt 0.406250 0.375000 +vt 0.468750 0.375000 +vt 0.500000 0.375000 +vt 0.531250 0.375000 +vt 0.562500 0.375000 +vt 0.593750 0.375000 +vt 0.437500 0.406250 +vt 0.406250 0.406250 +vt 0.468750 0.406250 +vt 0.500000 0.406250 +vt 0.531250 0.406250 +vt 0.562500 0.406250 +vt 0.593750 0.406250 +vt 0.437500 0.437500 +vt 0.406250 0.437500 +vt 0.468750 0.437500 +vt 0.500000 0.437500 +vt 0.531250 0.437500 +vt 0.562500 0.437500 +vt 0.593750 0.437500 +vt 0.437500 0.468750 +vt 0.406250 0.468750 +vt 0.468750 0.468750 +vt 0.500000 0.468750 +vt 0.531250 0.468750 +vt 0.562500 0.468750 +vt 0.593750 0.468750 +vt 0.375000 0.281250 +vt 0.625000 0.281250 +vt 0.625000 0.312500 +vt 0.625000 0.343750 +vt 0.625000 0.375000 +vt 0.625000 0.406250 +vt 0.625000 0.437500 +vt 0.625000 0.468750 +vt 0.625000 0.500000 +vt 0.593750 0.500000 +vt 0.562500 0.500000 +vt 0.531250 0.500000 +vt 0.500000 0.500000 +vt 0.468750 0.500000 +vt 0.437500 0.500000 +vt 0.406250 0.500000 +vt 0.375000 0.468750 +vt 0.375000 0.500000 +vt 0.375000 0.437500 +vt 0.375000 0.406250 +vt 0.375000 0.375000 +vt 0.375000 0.343750 +vt 0.375000 0.312500 +vt 0.406250 0.531250 +vt 0.437500 0.531250 +vt 0.437500 0.562500 +vt 0.406250 0.562500 +vt 0.468750 0.531250 +vt 0.468750 0.562500 +vt 0.500000 0.531250 +vt 0.500000 0.562500 +vt 0.531250 0.531250 +vt 0.531250 0.562500 +vt 0.562500 0.531250 +vt 0.562500 0.562500 +vt 0.593750 0.531250 +vt 0.593750 0.562500 +vt 0.437500 0.593750 +vt 0.406250 0.593750 +vt 0.468750 0.593750 +vt 0.500000 0.593750 +vt 0.531250 0.593750 +vt 0.562500 0.593750 +vt 0.593750 0.593750 +vt 0.437500 0.625000 +vt 0.406250 0.625000 +vt 0.468750 0.625000 +vt 0.500000 0.625000 +vt 0.531250 0.625000 +vt 0.562500 0.625000 +vt 0.593750 0.625000 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.468750 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.562500 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.687500 +vt 0.406250 0.687500 +vt 0.468750 0.687500 +vt 0.500000 0.687500 +vt 0.531250 0.687500 +vt 0.562500 0.687500 +vt 0.593750 0.687500 +vt 0.437500 0.718750 +vt 0.406250 0.718750 +vt 0.468750 0.718750 +vt 0.500000 0.718750 +vt 0.531250 0.718750 +vt 0.562500 0.718750 +vt 0.593750 0.718750 +vt 0.375000 0.531250 +vt 0.625000 0.531250 +vt 0.625000 0.562500 +vt 0.625000 0.593750 +vt 0.625000 0.625000 +vt 0.625000 0.656250 +vt 0.625000 0.687500 +vt 0.625000 0.718750 +vt 0.625000 0.750000 +vt 0.593750 0.750000 +vt 0.562500 0.750000 +vt 0.531250 0.750000 +vt 0.500000 0.750000 +vt 0.468750 0.750000 +vt 0.437500 0.750000 +vt 0.406250 0.750000 +vt 0.375000 0.718750 +vt 0.375000 0.750000 +vt 0.375000 0.687500 +vt 0.375000 0.656250 +vt 0.375000 0.625000 +vt 0.375000 0.593750 +vt 0.375000 0.562500 +vt 0.406250 0.781250 +vt 0.437500 0.781250 +vt 0.437500 0.812500 +vt 0.406250 0.812500 +vt 0.468750 0.781250 +vt 0.468750 0.812500 +vt 0.500000 0.781250 +vt 0.500000 0.812500 +vt 0.531250 0.781250 +vt 0.531250 0.812500 +vt 0.562500 0.781250 +vt 0.562500 0.812500 +vt 0.593750 0.781250 +vt 0.593750 0.812500 +vt 0.437500 0.843750 +vt 0.406250 0.843750 +vt 0.468750 0.843750 +vt 0.500000 0.843750 +vt 0.531250 0.843750 +vt 0.562500 0.843750 +vt 0.593750 0.843750 +vt 0.437500 0.875000 +vt 0.406250 0.875000 +vt 0.468750 0.875000 +vt 0.500000 0.875000 +vt 0.531250 0.875000 +vt 0.562500 0.875000 +vt 0.593750 0.875000 +vt 0.437500 0.906250 +vt 0.406250 0.906250 +vt 0.468750 0.906250 +vt 0.500000 0.906250 +vt 0.531250 0.906250 +vt 0.562500 0.906250 +vt 0.593750 0.906250 +vt 0.437500 0.937500 +vt 0.406250 0.937500 +vt 0.468750 0.937500 +vt 0.500000 0.937500 +vt 0.531250 0.937500 +vt 0.562500 0.937500 +vt 0.593750 0.937500 +vt 0.437500 0.968750 +vt 0.406250 0.968750 +vt 0.468750 0.968750 +vt 0.500000 0.968750 +vt 0.531250 0.968750 +vt 0.562500 0.968750 +vt 0.593750 0.968750 +vt 0.375000 0.781250 +vt 0.625000 0.781250 +vt 0.625000 0.812500 +vt 0.625000 0.843750 +vt 0.625000 0.875000 +vt 0.625000 0.906250 +vt 0.625000 0.937500 +vt 0.625000 0.968750 +vt 0.625000 1.000000 +vt 0.593750 1.000000 +vt 0.562500 1.000000 +vt 0.531250 1.000000 +vt 0.500000 1.000000 +vt 0.468750 1.000000 +vt 0.437500 1.000000 +vt 0.406250 1.000000 +vt 0.375000 0.968750 +vt 0.375000 1.000000 +vt 0.375000 0.937500 +vt 0.375000 0.906250 +vt 0.375000 0.875000 +vt 0.375000 0.843750 +vt 0.375000 0.812500 +vt 0.156250 0.531250 +vt 0.187500 0.531250 +vt 0.187500 0.562500 +vt 0.156250 0.562500 +vt 0.218750 0.531250 +vt 0.218750 0.562500 +vt 0.250000 0.531250 +vt 0.250000 0.562500 +vt 0.281250 0.531250 +vt 0.281250 0.562500 +vt 0.312500 0.531250 +vt 0.312500 0.562500 +vt 0.343750 0.531250 +vt 0.343750 0.562500 +vt 0.187500 0.593750 +vt 0.156250 0.593750 +vt 0.218750 0.593750 +vt 0.250000 0.593750 +vt 0.281250 0.593750 +vt 0.312500 0.593750 +vt 0.343750 0.593750 +vt 0.187500 0.625000 +vt 0.156250 0.625000 +vt 0.218750 0.625000 +vt 0.250000 0.625000 +vt 0.281250 0.625000 +vt 0.312500 0.625000 +vt 0.343750 0.625000 +vt 0.187500 0.656250 +vt 0.156250 0.656250 +vt 0.218750 0.656250 +vt 0.250000 0.656250 +vt 0.281250 0.656250 +vt 0.312500 0.656250 +vt 0.343750 0.656250 +vt 0.187500 0.687500 +vt 0.156250 0.687500 +vt 0.218750 0.687500 +vt 0.250000 0.687500 +vt 0.281250 0.687500 +vt 0.312500 0.687500 +vt 0.343750 0.687500 +vt 0.187500 0.718750 +vt 0.156250 0.718750 +vt 0.218750 0.718750 +vt 0.250000 0.718750 +vt 0.281250 0.718750 +vt 0.312500 0.718750 +vt 0.343750 0.718750 +vt 0.125000 0.500000 +vt 0.156250 0.500000 +vt 0.125000 0.531250 +vt 0.187500 0.500000 +vt 0.218750 0.500000 +vt 0.250000 0.500000 +vt 0.281250 0.500000 +vt 0.312500 0.500000 +vt 0.343750 0.500000 +vt 0.343750 0.750000 +vt 0.312500 0.750000 +vt 0.281250 0.750000 +vt 0.250000 0.750000 +vt 0.218750 0.750000 +vt 0.187500 0.750000 +vt 0.156250 0.750000 +vt 0.125000 0.718750 +vt 0.125000 0.750000 +vt 0.125000 0.687500 +vt 0.125000 0.656250 +vt 0.125000 0.625000 +vt 0.125000 0.593750 +vt 0.125000 0.562500 +vt 0.656250 0.531250 +vt 0.687500 0.531250 +vt 0.687500 0.562500 +vt 0.656250 0.562500 +vt 0.718750 0.531250 +vt 0.718750 0.562500 +vt 0.750000 0.531250 +vt 0.750000 0.562500 +vt 0.781250 0.531250 +vt 0.781250 0.562500 +vt 0.812500 0.531250 +vt 0.812500 0.562500 +vt 0.843750 0.531250 +vt 0.843750 0.562500 +vt 0.687500 0.593750 +vt 0.656250 0.593750 +vt 0.718750 0.593750 +vt 0.750000 0.593750 +vt 0.781250 0.593750 +vt 0.812500 0.593750 +vt 0.843750 0.593750 +vt 0.687500 0.625000 +vt 0.656250 0.625000 +vt 0.718750 0.625000 +vt 0.750000 0.625000 +vt 0.781250 0.625000 +vt 0.812500 0.625000 +vt 0.843750 0.625000 +vt 0.687500 0.656250 +vt 0.656250 0.656250 +vt 0.718750 0.656250 +vt 0.750000 0.656250 +vt 0.781250 0.656250 +vt 0.812500 0.656250 +vt 0.843750 0.656250 +vt 0.687500 0.687500 +vt 0.656250 0.687500 +vt 0.718750 0.687500 +vt 0.750000 0.687500 +vt 0.781250 0.687500 +vt 0.812500 0.687500 +vt 0.843750 0.687500 +vt 0.687500 0.718750 +vt 0.656250 0.718750 +vt 0.718750 0.718750 +vt 0.750000 0.718750 +vt 0.781250 0.718750 +vt 0.812500 0.718750 +vt 0.843750 0.718750 +vt 0.656250 0.500000 +vt 0.687500 0.500000 +vt 0.718750 0.500000 +vt 0.750000 0.500000 +vt 0.781250 0.500000 +vt 0.812500 0.500000 +vt 0.843750 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.531250 +vt 0.875000 0.562500 +vt 0.875000 0.593750 +vt 0.875000 0.625000 +vt 0.875000 0.656250 +vt 0.875000 0.687500 +vt 0.875000 0.718750 +vt 0.875000 0.750000 +vt 0.843750 0.750000 +vt 0.812500 0.750000 +vt 0.781250 0.750000 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.687500 0.750000 +vt 0.656250 0.750000 +s 0 +f 93/1/1 94/2/1 101/3/1 100/4/1 +f 94/2/2 95/5/2 102/6/2 101/3/2 +f 95/5/3 96/7/3 103/8/3 102/6/3 +f 96/7/4 97/9/4 104/10/4 103/8/4 +f 97/9/5 98/11/5 105/12/5 104/10/5 +f 98/11/6 99/13/6 106/14/6 105/12/6 +f 100/4/7 101/3/7 108/15/7 107/16/7 +f 101/3/8 102/6/8 109/17/8 108/15/8 +f 102/6/9 103/8/9 110/18/9 109/17/9 +f 103/8/10 104/10/10 111/19/10 110/18/10 +f 104/10/11 105/12/11 112/20/11 111/19/11 +f 105/12/12 106/14/12 113/21/12 112/20/12 +f 107/16/13 108/15/13 115/22/13 114/23/13 +f 108/15/14 109/17/14 116/24/14 115/22/14 +f 109/17/15 110/18/15 117/25/15 116/24/15 +f 110/18/16 111/19/16 118/26/16 117/25/16 +f 111/19/17 112/20/17 119/27/17 118/26/17 +f 112/20/18 113/21/18 120/28/18 119/27/18 +f 114/23/19 115/22/19 122/29/19 121/30/19 +f 115/22/20 116/24/20 123/31/20 122/29/20 +f 116/24/21 117/25/21 124/32/21 123/31/21 +f 117/25/22 118/26/22 125/33/22 124/32/22 +f 118/26/23 119/27/23 126/34/23 125/33/23 +f 119/27/24 120/28/24 127/35/24 126/34/24 +f 121/30/25 122/29/25 129/36/25 128/37/25 +f 122/29/26 123/31/26 130/38/26 129/36/26 +f 123/31/27 124/32/27 131/39/27 130/38/27 +f 124/32/28 125/33/28 132/40/28 131/39/28 +f 125/33/29 126/34/29 133/41/29 132/40/29 +f 126/34/30 127/35/30 134/42/30 133/41/30 +f 128/37/31 129/36/31 136/43/31 135/44/31 +f 129/36/32 130/38/32 137/45/32 136/43/32 +f 130/38/33 131/39/33 138/46/33 137/45/33 +f 131/39/34 132/40/34 139/47/34 138/46/34 +f 132/40/35 133/41/35 140/48/35 139/47/35 +f 133/41/36 134/42/36 141/49/36 140/48/36 +f 1/50/37 16/51/37 93/1/37 15/52/37 +f 16/51/38 17/53/38 94/2/38 93/1/38 +f 17/53/39 18/54/39 95/5/39 94/2/39 +f 18/54/40 19/55/40 96/7/40 95/5/40 +f 19/55/41 20/56/41 97/9/41 96/7/41 +f 20/56/42 21/57/42 98/11/42 97/9/42 +f 21/57/43 22/58/43 99/13/43 98/11/43 +f 22/58/44 2/59/44 23/60/44 99/13/44 +f 99/13/45 23/60/45 24/61/45 106/14/45 +f 106/14/46 24/61/46 25/62/46 113/21/46 +f 113/21/47 25/62/47 26/63/47 120/28/47 +f 120/28/48 26/63/48 27/64/48 127/35/48 +f 127/35/49 27/64/49 28/65/49 134/42/49 +f 134/42/50 28/65/50 29/66/50 141/49/50 +f 141/49/51 29/66/51 4/67/51 30/68/51 +f 140/48/52 141/49/52 30/68/52 31/69/52 +f 139/47/53 140/48/53 31/69/53 32/70/53 +f 138/46/54 139/47/54 32/70/54 33/71/54 +f 137/45/55 138/46/55 33/71/55 34/72/55 +f 136/43/56 137/45/56 34/72/56 35/73/56 +f 135/44/57 136/43/57 35/73/57 36/74/57 +f 9/75/58 135/44/58 36/74/58 3/76/58 +f 10/77/59 128/37/59 135/44/59 9/75/59 +f 11/78/60 121/30/60 128/37/60 10/77/60 +f 12/79/61 114/23/61 121/30/61 11/78/61 +f 13/80/62 107/16/62 114/23/62 12/79/62 +f 14/81/63 100/4/63 107/16/63 13/80/63 +f 15/52/64 93/1/64 100/4/64 14/81/64 +f 142/82/65 143/83/65 150/84/65 149/85/65 +f 143/83/66 144/86/66 151/87/66 150/84/66 +f 144/86/67 145/88/67 152/89/67 151/87/67 +f 145/88/68 146/90/68 153/91/68 152/89/68 +f 146/90/69 147/92/69 154/93/69 153/91/69 +f 147/92/70 148/94/70 155/95/70 154/93/70 +f 149/85/71 150/84/71 157/96/71 156/97/71 +f 150/84/72 151/87/72 158/98/72 157/96/72 +f 151/87/73 152/89/73 159/99/73 158/98/73 +f 152/89/74 153/91/74 160/100/74 159/99/74 +f 153/91/75 154/93/75 161/101/75 160/100/75 +f 154/93/76 155/95/76 162/102/76 161/101/76 +f 156/97/77 157/96/77 164/103/77 163/104/77 +f 157/96/78 158/98/78 165/105/78 164/103/78 +f 158/98/79 159/99/79 166/106/79 165/105/79 +f 159/99/80 160/100/80 167/107/80 166/106/80 +f 160/100/81 161/101/81 168/108/81 167/107/81 +f 161/101/82 162/102/82 169/109/82 168/108/82 +f 163/104/83 164/103/83 171/110/83 170/111/83 +f 164/103/84 165/105/84 172/112/84 171/110/84 +f 165/105/85 166/106/85 173/113/85 172/112/85 +f 166/106/86 167/107/86 174/114/86 173/113/86 +f 167/107/87 168/108/87 175/115/87 174/114/87 +f 168/108/88 169/109/88 176/116/88 175/115/88 +f 170/111/89 171/110/89 178/117/89 177/118/89 +f 171/110/90 172/112/90 179/119/90 178/117/90 +f 172/112/91 173/113/91 180/120/91 179/119/91 +f 173/113/92 174/114/92 181/121/92 180/120/92 +f 174/114/93 175/115/93 182/122/93 181/121/93 +f 175/115/94 176/116/94 183/123/94 182/122/94 +f 177/118/95 178/117/95 185/124/95 184/125/95 +f 178/117/96 179/119/96 186/126/96 185/124/96 +f 179/119/97 180/120/97 187/127/97 186/126/97 +f 180/120/98 181/121/98 188/128/98 187/127/98 +f 181/121/99 182/122/99 189/129/99 188/128/99 +f 182/122/100 183/123/100 190/130/100 189/129/100 +f 3/76/101 36/74/101 142/82/101 43/131/101 +f 36/74/102 35/73/102 143/83/102 142/82/102 +f 35/73/103 34/72/103 144/86/103 143/83/103 +f 34/72/104 33/71/104 145/88/104 144/86/104 +f 33/71/105 32/70/105 146/90/105 145/88/105 +f 32/70/106 31/69/106 147/92/106 146/90/106 +f 31/69/107 30/68/107 148/94/107 147/92/107 +f 30/68/108 4/67/108 44/132/108 148/94/108 +f 148/94/109 44/132/109 45/133/109 155/95/109 +f 155/95/110 45/133/110 46/134/110 162/102/110 +f 162/102/111 46/134/111 47/135/111 169/109/111 +f 169/109/112 47/135/112 48/136/112 176/116/112 +f 176/116/113 48/136/113 49/137/113 183/123/113 +f 183/123/114 49/137/114 50/138/114 190/130/114 +f 190/130/115 50/138/115 8/139/115 51/140/115 +f 189/129/116 190/130/116 51/140/116 52/141/116 +f 188/128/117 189/129/117 52/141/117 53/142/117 +f 187/127/118 188/128/118 53/142/118 54/143/118 +f 186/126/119 187/127/119 54/143/119 55/144/119 +f 185/124/120 186/126/120 55/144/120 56/145/120 +f 184/125/121 185/124/121 56/145/121 57/146/121 +f 37/147/122 184/125/122 57/146/122 7/148/122 +f 38/149/123 177/118/123 184/125/123 37/147/123 +f 39/150/124 170/111/124 177/118/124 38/149/124 +f 40/151/125 163/104/125 170/111/125 39/150/125 +f 41/152/126 156/97/126 163/104/126 40/151/126 +f 42/153/127 149/85/127 156/97/127 41/152/127 +f 43/131/128 142/82/128 149/85/128 42/153/128 +f 191/154/129 192/155/129 199/156/129 198/157/129 +f 192/155/130 193/158/130 200/159/130 199/156/130 +f 193/158/131 194/160/131 201/161/131 200/159/131 +f 194/160/132 195/162/132 202/163/132 201/161/132 +f 195/162/133 196/164/133 203/165/133 202/163/133 +f 196/164/134 197/166/134 204/167/134 203/165/134 +f 198/157/135 199/156/135 206/168/135 205/169/135 +f 199/156/136 200/159/136 207/170/136 206/168/136 +f 200/159/137 201/161/137 208/171/137 207/170/137 +f 201/161/138 202/163/138 209/172/138 208/171/138 +f 202/163/139 203/165/139 210/173/139 209/172/139 +f 203/165/140 204/167/140 211/174/140 210/173/140 +f 205/169/141 206/168/141 213/175/141 212/176/141 +f 206/168/142 207/170/142 214/177/142 213/175/142 +f 207/170/143 208/171/143 215/178/143 214/177/143 +f 208/171/144 209/172/144 216/179/144 215/178/144 +f 209/172/145 210/173/145 217/180/145 216/179/145 +f 210/173/146 211/174/146 218/181/146 217/180/146 +f 212/176/147 213/175/147 220/182/147 219/183/147 +f 213/175/148 214/177/148 221/184/148 220/182/148 +f 214/177/149 215/178/149 222/185/149 221/184/149 +f 215/178/150 216/179/150 223/186/150 222/185/150 +f 216/179/151 217/180/151 224/187/151 223/186/151 +f 217/180/152 218/181/152 225/188/152 224/187/152 +f 219/183/153 220/182/153 227/189/153 226/190/153 +f 220/182/154 221/184/154 228/191/154 227/189/154 +f 221/184/155 222/185/155 229/192/155 228/191/155 +f 222/185/156 223/186/156 230/193/156 229/192/156 +f 223/186/157 224/187/157 231/194/157 230/193/157 +f 224/187/158 225/188/158 232/195/158 231/194/158 +f 226/190/159 227/189/159 234/196/159 233/197/159 +f 227/189/160 228/191/160 235/198/160 234/196/160 +f 228/191/161 229/192/161 236/199/161 235/198/161 +f 229/192/162 230/193/162 237/200/162 236/199/162 +f 230/193/163 231/194/163 238/201/163 237/200/163 +f 231/194/164 232/195/164 239/202/164 238/201/164 +f 7/148/165 57/146/165 191/154/165 64/203/165 +f 57/146/166 56/145/166 192/155/166 191/154/166 +f 56/145/167 55/144/167 193/158/167 192/155/167 +f 55/144/168 54/143/168 194/160/168 193/158/168 +f 54/143/169 53/142/169 195/162/169 194/160/169 +f 53/142/170 52/141/170 196/164/170 195/162/170 +f 52/141/171 51/140/171 197/166/171 196/164/171 +f 51/140/172 8/139/172 65/204/172 197/166/172 +f 197/166/173 65/204/173 66/205/173 204/167/173 +f 204/167/174 66/205/174 67/206/174 211/174/174 +f 211/174/175 67/206/175 68/207/175 218/181/175 +f 218/181/176 68/207/176 69/208/176 225/188/176 +f 225/188/177 69/208/177 70/209/177 232/195/177 +f 232/195/178 70/209/178 71/210/178 239/202/178 +f 239/202/179 71/210/179 6/211/179 72/212/179 +f 238/201/180 239/202/180 72/212/180 73/213/180 +f 237/200/181 238/201/181 73/213/181 74/214/181 +f 236/199/182 237/200/182 74/214/182 75/215/182 +f 235/198/183 236/199/183 75/215/183 76/216/183 +f 234/196/184 235/198/184 76/216/184 77/217/184 +f 233/197/185 234/196/185 77/217/185 78/218/185 +f 58/219/186 233/197/186 78/218/186 5/220/186 +f 59/221/187 226/190/187 233/197/187 58/219/187 +f 60/222/188 219/183/188 226/190/188 59/221/188 +f 61/223/189 212/176/189 219/183/189 60/222/189 +f 62/224/190 205/169/190 212/176/190 61/223/190 +f 63/225/191 198/157/191 205/169/191 62/224/191 +f 64/203/192 191/154/192 198/157/192 63/225/192 +f 240/226/193 241/227/193 248/228/193 247/229/193 +f 241/227/194 242/230/194 249/231/194 248/228/194 +f 242/230/195 243/232/195 250/233/195 249/231/195 +f 243/232/196 244/234/196 251/235/196 250/233/196 +f 244/234/197 245/236/197 252/237/197 251/235/197 +f 245/236/198 246/238/198 253/239/198 252/237/198 +f 247/229/199 248/228/199 255/240/199 254/241/199 +f 248/228/200 249/231/200 256/242/200 255/240/200 +f 249/231/201 250/233/201 257/243/201 256/242/201 +f 250/233/202 251/235/202 258/244/202 257/243/202 +f 251/235/203 252/237/203 259/245/203 258/244/203 +f 252/237/204 253/239/204 260/246/204 259/245/204 +f 254/241/205 255/240/205 262/247/205 261/248/205 +f 255/240/206 256/242/206 263/249/206 262/247/206 +f 256/242/207 257/243/207 264/250/207 263/249/207 +f 257/243/208 258/244/208 265/251/208 264/250/208 +f 258/244/209 259/245/209 266/252/209 265/251/209 +f 259/245/210 260/246/210 267/253/210 266/252/210 +f 261/248/211 262/247/211 269/254/211 268/255/211 +f 262/247/212 263/249/212 270/256/212 269/254/212 +f 263/249/213 264/250/213 271/257/213 270/256/213 +f 264/250/214 265/251/214 272/258/214 271/257/214 +f 265/251/215 266/252/215 273/259/215 272/258/215 +f 266/252/216 267/253/216 274/260/216 273/259/216 +f 268/255/217 269/254/217 276/261/217 275/262/217 +f 269/254/218 270/256/218 277/263/218 276/261/218 +f 270/256/219 271/257/219 278/264/219 277/263/219 +f 271/257/220 272/258/220 279/265/220 278/264/220 +f 272/258/221 273/259/221 280/266/221 279/265/221 +f 273/259/222 274/260/222 281/267/222 280/266/222 +f 275/262/223 276/261/223 283/268/223 282/269/223 +f 276/261/224 277/263/224 284/270/224 283/268/224 +f 277/263/225 278/264/225 285/271/225 284/270/225 +f 278/264/226 279/265/226 286/272/226 285/271/226 +f 279/265/227 280/266/227 287/273/227 286/272/227 +f 280/266/228 281/267/228 288/274/228 287/273/228 +f 5/220/229 78/218/229 240/226/229 85/275/229 +f 78/218/230 77/217/230 241/227/230 240/226/230 +f 77/217/231 76/216/231 242/230/231 241/227/231 +f 76/216/232 75/215/232 243/232/232 242/230/232 +f 75/215/233 74/214/233 244/234/233 243/232/233 +f 74/214/234 73/213/234 245/236/234 244/234/234 +f 73/213/235 72/212/235 246/238/235 245/236/235 +f 72/212/236 6/211/236 86/276/236 246/238/236 +f 246/238/237 86/276/237 87/277/237 253/239/237 +f 253/239/238 87/277/238 88/278/238 260/246/238 +f 260/246/239 88/278/239 89/279/239 267/253/239 +f 267/253/240 89/279/240 90/280/240 274/260/240 +f 274/260/241 90/280/241 91/281/241 281/267/241 +f 281/267/242 91/281/242 92/282/242 288/274/242 +f 288/274/243 92/282/243 2/283/243 22/284/243 +f 287/273/244 288/274/244 22/284/244 21/285/244 +f 286/272/245 287/273/245 21/285/245 20/286/245 +f 285/271/246 286/272/246 20/286/246 19/287/246 +f 284/270/247 285/271/247 19/287/247 18/288/247 +f 283/268/248 284/270/248 18/288/248 17/289/248 +f 282/269/249 283/268/249 17/289/249 16/290/249 +f 79/291/250 282/269/250 16/290/250 1/292/250 +f 80/293/251 275/262/251 282/269/251 79/291/251 +f 81/294/252 268/255/252 275/262/252 80/293/252 +f 82/295/253 261/248/253 268/255/253 81/294/253 +f 83/296/254 254/241/254 261/248/254 82/295/254 +f 84/297/255 247/229/255 254/241/255 83/296/255 +f 85/275/256 240/226/256 247/229/256 84/297/256 +f 289/298/257 290/299/257 297/300/257 296/301/257 +f 290/299/258 291/302/258 298/303/258 297/300/258 +f 291/302/259 292/304/259 299/305/259 298/303/259 +f 292/304/260 293/306/260 300/307/260 299/305/260 +f 293/306/261 294/308/261 301/309/261 300/307/261 +f 294/308/262 295/310/262 302/311/262 301/309/262 +f 296/301/263 297/300/263 304/312/263 303/313/263 +f 297/300/264 298/303/264 305/314/264 304/312/264 +f 298/303/265 299/305/265 306/315/265 305/314/265 +f 299/305/266 300/307/266 307/316/266 306/315/266 +f 300/307/267 301/309/267 308/317/267 307/316/267 +f 301/309/268 302/311/268 309/318/268 308/317/268 +f 303/313/269 304/312/269 311/319/269 310/320/269 +f 304/312/270 305/314/270 312/321/270 311/319/270 +f 305/314/271 306/315/271 313/322/271 312/321/271 +f 306/315/272 307/316/272 314/323/272 313/322/272 +f 307/316/273 308/317/273 315/324/273 314/323/273 +f 308/317/274 309/318/274 316/325/274 315/324/274 +f 310/320/275 311/319/275 318/326/275 317/327/275 +f 311/319/276 312/321/276 319/328/276 318/326/276 +f 312/321/277 313/322/277 320/329/277 319/328/277 +f 313/322/278 314/323/278 321/330/278 320/329/278 +f 314/323/279 315/324/279 322/331/279 321/330/279 +f 315/324/280 316/325/280 323/332/280 322/331/280 +f 317/327/281 318/326/281 325/333/281 324/334/281 +f 318/326/282 319/328/282 326/335/282 325/333/282 +f 319/328/283 320/329/283 327/336/283 326/335/283 +f 320/329/284 321/330/284 328/337/284 327/336/284 +f 321/330/285 322/331/285 329/338/285 328/337/285 +f 322/331/286 323/332/286 330/339/286 329/338/286 +f 324/334/287 325/333/287 332/340/287 331/341/287 +f 325/333/288 326/335/288 333/342/288 332/340/288 +f 326/335/289 327/336/289 334/343/289 333/342/289 +f 327/336/290 328/337/290 335/344/290 334/343/290 +f 328/337/291 329/338/291 336/345/291 335/344/291 +f 329/338/292 330/339/292 337/346/292 336/345/292 +f 3/347/293 43/348/293 289/298/293 9/349/293 +f 43/348/294 42/350/294 290/299/294 289/298/294 +f 42/350/295 41/351/295 291/302/295 290/299/295 +f 41/351/296 40/352/296 292/304/296 291/302/296 +f 40/352/297 39/353/297 293/306/297 292/304/297 +f 39/353/298 38/354/298 294/308/298 293/306/298 +f 38/354/299 37/355/299 295/310/299 294/308/299 +f 37/355/300 7/148/300 64/203/300 295/310/300 +f 295/310/301 64/203/301 63/225/301 302/311/301 +f 302/311/302 63/225/302 62/224/302 309/318/302 +f 309/318/303 62/224/303 61/223/303 316/325/303 +f 316/325/304 61/223/304 60/222/304 323/332/304 +f 323/332/305 60/222/305 59/221/305 330/339/305 +f 330/339/306 59/221/306 58/219/306 337/346/306 +f 337/346/307 58/219/307 5/220/307 85/356/307 +f 336/345/308 337/346/308 85/356/308 84/357/308 +f 335/344/309 336/345/309 84/357/309 83/358/309 +f 334/343/310 335/344/310 83/358/310 82/359/310 +f 333/342/311 334/343/311 82/359/311 81/360/311 +f 332/340/312 333/342/312 81/360/312 80/361/312 +f 331/341/313 332/340/313 80/361/313 79/362/313 +f 15/363/314 331/341/314 79/362/314 1/364/314 +f 14/365/315 324/334/315 331/341/315 15/363/315 +f 13/366/316 317/327/316 324/334/316 14/365/316 +f 12/367/317 310/320/317 317/327/317 13/366/317 +f 11/368/318 303/313/318 310/320/318 12/367/318 +f 10/369/319 296/301/319 303/313/319 11/368/319 +f 9/349/320 289/298/320 296/301/320 10/369/320 +f 338/370/321 339/371/321 346/372/321 345/373/321 +f 339/371/322 340/374/322 347/375/322 346/372/322 +f 340/374/323 341/376/323 348/377/323 347/375/323 +f 341/376/324 342/378/324 349/379/324 348/377/324 +f 342/378/325 343/380/325 350/381/325 349/379/325 +f 343/380/326 344/382/326 351/383/326 350/381/326 +f 345/373/327 346/372/327 353/384/327 352/385/327 +f 346/372/328 347/375/328 354/386/328 353/384/328 +f 347/375/329 348/377/329 355/387/329 354/386/329 +f 348/377/330 349/379/330 356/388/330 355/387/330 +f 349/379/331 350/381/331 357/389/331 356/388/331 +f 350/381/332 351/383/332 358/390/332 357/389/332 +f 352/385/333 353/384/333 360/391/333 359/392/333 +f 353/384/334 354/386/334 361/393/334 360/391/334 +f 354/386/335 355/387/335 362/394/335 361/393/335 +f 355/387/336 356/388/336 363/395/336 362/394/336 +f 356/388/337 357/389/337 364/396/337 363/395/337 +f 357/389/338 358/390/338 365/397/338 364/396/338 +f 359/392/339 360/391/339 367/398/339 366/399/339 +f 360/391/340 361/393/340 368/400/340 367/398/340 +f 361/393/341 362/394/341 369/401/341 368/400/341 +f 362/394/342 363/395/342 370/402/342 369/401/342 +f 363/395/343 364/396/343 371/403/343 370/402/343 +f 364/396/344 365/397/344 372/404/344 371/403/344 +f 366/399/345 367/398/345 374/405/345 373/406/345 +f 367/398/346 368/400/346 375/407/346 374/405/346 +f 368/400/347 369/401/347 376/408/347 375/407/347 +f 369/401/348 370/402/348 377/409/348 376/408/348 +f 370/402/349 371/403/349 378/410/349 377/409/349 +f 371/403/350 372/404/350 379/411/350 378/410/350 +f 373/406/351 374/405/351 381/412/351 380/413/351 +f 374/405/352 375/407/352 382/414/352 381/412/352 +f 375/407/353 376/408/353 383/415/353 382/414/353 +f 376/408/354 377/409/354 384/416/354 383/415/354 +f 377/409/355 378/410/355 385/417/355 384/416/355 +f 378/410/356 379/411/356 386/418/356 385/417/356 +f 8/139/357 50/419/357 338/370/357 65/204/357 +f 50/419/358 49/420/358 339/371/358 338/370/358 +f 49/420/359 48/421/359 340/374/359 339/371/359 +f 48/421/360 47/422/360 341/376/360 340/374/360 +f 47/422/361 46/423/361 342/378/361 341/376/361 +f 46/423/362 45/424/362 343/380/362 342/378/362 +f 45/424/363 44/425/363 344/382/363 343/380/363 +f 44/425/364 4/426/364 29/427/364 344/382/364 +f 344/382/365 29/427/365 28/428/365 351/383/365 +f 351/383/366 28/428/366 27/429/366 358/390/366 +f 358/390/367 27/429/367 26/430/367 365/397/367 +f 365/397/368 26/430/368 25/431/368 372/404/368 +f 372/404/369 25/431/369 24/432/369 379/411/369 +f 379/411/370 24/432/370 23/433/370 386/418/370 +f 386/418/371 23/433/371 2/434/371 92/435/371 +f 385/417/372 386/418/372 92/435/372 91/436/372 +f 384/416/373 385/417/373 91/436/373 90/437/373 +f 383/415/374 384/416/374 90/437/374 89/438/374 +f 382/414/375 383/415/375 89/438/375 88/439/375 +f 381/412/376 382/414/376 88/439/376 87/440/376 +f 380/413/377 381/412/377 87/440/377 86/441/377 +f 71/210/378 380/413/378 86/441/378 6/211/378 +f 70/209/379 373/406/379 380/413/379 71/210/379 +f 69/208/380 366/399/380 373/406/380 70/209/380 +f 68/207/381 359/392/381 366/399/381 69/208/381 +f 67/206/382 352/385/382 359/392/382 68/207/382 +f 66/205/383 345/373/383 352/385/383 67/206/383 +f 65/204/384 338/370/384 345/373/384 66/205/384 diff --git a/scenes/objs/quad.mtl b/scenes/objs/quad.mtl new file mode 100644 index 00000000..bd71d1e6 --- /dev/null +++ b/scenes/objs/quad.mtl @@ -0,0 +1,2 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org diff --git a/scenes/objs/quad.obj b/scenes/objs/quad.obj new file mode 100644 index 00000000..6d8aab62 --- /dev/null +++ b/scenes/objs/quad.obj @@ -0,0 +1,15 @@ +# Blender 4.2.1 LTS +# www.blender.org +mtllib quad.mtl +o Plane +v -1.000000 0.000000 1.000000 +v 1.000000 0.000000 1.000000 +v -1.000000 0.000000 -1.000000 +v 1.000000 0.000000 -1.000000 +vn -0.0000 1.0000 -0.0000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 diff --git a/scenes/objs/sphere.mtl b/scenes/objs/sphere.mtl new file mode 100644 index 00000000..80496ba0 --- /dev/null +++ b/scenes/objs/sphere.mtl @@ -0,0 +1,12 @@ +# Blender 4.2.1 LTS MTL File: 'None' +# www.blender.org + +newmtl Sphere +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.500000 +d 1.000000 +illum 1 diff --git a/scenes/objs/sphere.obj b/scenes/objs/sphere.obj new file mode 100644 index 00000000..cafc9828 --- /dev/null +++ b/scenes/objs/sphere.obj @@ -0,0 +1,23818 @@ +# Blender 4.2.1 LTS +# www.blender.org +mtllib sphere.mtl +o REPLACE_ME_Sphere +v -0.623772 0.768355 -0.061436 +v -0.626037 0.768355 -0.030755 +v -0.585727 0.798372 -0.057689 +v -0.620008 0.768355 -0.091970 +v -0.660317 0.736490 -0.065036 +v -0.662714 0.736490 -0.032557 +v -0.587853 0.798372 -0.028879 +v -0.582192 0.798373 -0.086360 +v -0.656332 0.736490 -0.097358 +v -0.286304 -0.951111 -0.028198 +v -0.287215 -0.951123 -0.014122 +v -0.331250 -0.935896 -0.032625 +v -0.284452 -0.951123 -0.042182 +v -0.242429 -0.963862 -0.023877 +v -0.242799 -0.963912 -0.011978 +v -0.332453 -0.935896 -0.016332 +v -0.329251 -0.935896 -0.048840 +v -0.240470 -0.963912 -0.035620 +v -0.286304 0.951092 -0.028199 +v -0.287216 0.951104 -0.014122 +v -0.242430 0.963844 -0.023877 +v -0.284452 0.951104 -0.042182 +v -0.331251 0.935878 -0.032625 +v -0.332453 0.935878 -0.016332 +v -0.242799 0.963894 -0.011978 +v -0.240470 0.963894 -0.035620 +v -0.329251 0.935878 -0.048840 +v -0.623772 -0.768374 -0.061436 +v -0.626037 -0.768374 -0.030755 +v -0.660317 -0.736508 -0.065036 +v -0.620008 -0.768374 -0.091970 +v -0.585727 -0.798391 -0.057689 +v -0.587853 -0.798391 -0.028879 +v -0.662714 -0.736508 -0.032557 +v -0.656332 -0.736508 -0.097358 +v -0.582192 -0.798391 -0.086360 +v -0.867156 -0.468573 -0.085407 +v -0.870304 -0.468573 -0.042755 +v -0.888856 -0.424995 -0.087545 +v -0.861923 -0.468573 -0.127854 +v -0.843370 -0.511023 -0.083065 +v -0.846432 -0.511023 -0.041582 +v -0.892083 -0.424995 -0.043825 +v -0.883492 -0.424995 -0.131054 +v -0.838280 -0.511023 -0.124347 +v -0.978523 -0.097437 -0.096376 +v -0.982075 -0.097437 -0.048246 +v -0.982076 -0.048782 -0.096726 +v -0.972618 -0.097437 -0.144275 +v -0.972618 -0.145858 -0.095795 +v -0.976148 -0.145858 -0.047955 +v -0.985641 -0.048782 -0.048421 +v -0.976149 -0.048782 -0.144798 +v -0.966748 -0.145858 -0.143404 +v -0.940919 0.288531 -0.092672 +v -0.944335 0.288531 -0.046392 +v -0.925782 0.334857 -0.091182 +v -0.935240 0.288531 -0.138730 +v -0.953793 0.241511 -0.093940 +v -0.957255 0.241511 -0.047027 +v -0.929143 0.334857 -0.045646 +v -0.920195 0.334857 -0.136498 +v -0.948037 0.241511 -0.140628 +v -0.760068 0.630571 -0.074860 +v -0.762828 0.630571 -0.037475 +v -0.728547 0.667515 -0.071756 +v -0.755481 0.630571 -0.112065 +v -0.789762 0.592111 -0.077785 +v -0.792629 0.592111 -0.038939 +v -0.731192 0.667515 -0.035921 +v -0.724150 0.667515 -0.107418 +v -0.784996 0.592111 -0.116443 +v -0.463504 0.876611 -0.045651 +v -0.465187 0.876611 -0.022853 +v -0.420398 0.898549 -0.041406 +v -0.460707 0.876611 -0.068340 +v -0.505497 0.852566 -0.049787 +v -0.507332 0.852566 -0.024924 +v -0.421924 0.898549 -0.020728 +v -0.417860 0.898549 -0.061984 +v -0.502446 0.852566 -0.074531 +v -0.463504 -0.876630 -0.045651 +v -0.465187 -0.876630 -0.022853 +v -0.505497 -0.852584 -0.049787 +v -0.460707 -0.876630 -0.068340 +v -0.420397 -0.898567 -0.041406 +v -0.421924 -0.898567 -0.020728 +v -0.507332 -0.852584 -0.024924 +v -0.502446 -0.852584 -0.074531 +v -0.417860 -0.898567 -0.061984 +v -0.760068 -0.630590 -0.074860 +v -0.762828 -0.630590 -0.037475 +v -0.789762 -0.592129 -0.077785 +v -0.755481 -0.630590 -0.112065 +v -0.728547 -0.667534 -0.071756 +v -0.731192 -0.667534 -0.035921 +v -0.792629 -0.592129 -0.038939 +v -0.784996 -0.592129 -0.116443 +v -0.724150 -0.667534 -0.107418 +v -0.940919 -0.288549 -0.092672 +v -0.944335 -0.288549 -0.046392 +v -0.953793 -0.241529 -0.093940 +v -0.935240 -0.288549 -0.138730 +v -0.925782 -0.334875 -0.091182 +v -0.929143 -0.334875 -0.045646 +v -0.957256 -0.241529 -0.047027 +v -0.948037 -0.241529 -0.140628 +v -0.920195 -0.334875 -0.136498 +v -0.978523 0.097419 -0.096376 +v -0.982075 0.097419 -0.048246 +v -0.972618 0.145840 -0.095794 +v -0.972618 0.097419 -0.144275 +v -0.982075 0.048763 -0.096726 +v -0.985641 0.048763 -0.048421 +v -0.976148 0.145840 -0.047955 +v -0.966748 0.145840 -0.143404 +v -0.976148 0.048763 -0.144798 +v -0.867156 0.468554 -0.085407 +v -0.870304 0.468554 -0.042755 +v -0.843370 0.511005 -0.083065 +v -0.861923 0.468554 -0.127854 +v -0.888857 0.424977 -0.087545 +v -0.892083 0.424977 -0.043825 +v -0.846432 0.511005 -0.041582 +v -0.838280 0.511005 -0.124347 +v -0.883492 0.424977 -0.131054 +v -0.904760 -0.288549 -0.274456 +v -0.917139 -0.288549 -0.229731 +v -0.917139 -0.241529 -0.278211 +v -0.890205 -0.288549 -0.318521 +v -0.890205 -0.334875 -0.270041 +v -0.902385 -0.334875 -0.226036 +v -0.929688 -0.241529 -0.232874 +v -0.902385 -0.241529 -0.322879 +v -0.875884 -0.334875 -0.313397 +v -0.940919 0.097419 -0.285425 +v -0.953793 0.097419 -0.238912 +v -0.935240 0.145840 -0.283702 +v -0.925782 0.097419 -0.331251 +v -0.944335 0.048763 -0.286461 +v -0.957255 0.048763 -0.239780 +v -0.948037 0.145840 -0.237471 +v -0.920195 0.145840 -0.329252 +v -0.929143 0.048763 -0.332453 +v -0.833832 0.468554 -0.252940 +v -0.845240 0.468554 -0.211721 +v -0.810960 0.511005 -0.246002 +v -0.820418 0.468554 -0.293551 +v -0.854698 0.424977 -0.259270 +v -0.866392 0.424977 -0.217020 +v -0.822056 0.511005 -0.205914 +v -0.797914 0.511005 -0.285498 +v -0.840949 0.424977 -0.300897 +v -0.599801 0.768355 -0.181948 +v -0.608007 0.768355 -0.152298 +v -0.563218 0.798372 -0.170850 +v -0.590152 0.768355 -0.211160 +v -0.634942 0.736490 -0.192608 +v -0.643629 0.736490 -0.161221 +v -0.570924 0.798372 -0.143009 +v -0.554157 0.798373 -0.198281 +v -0.624727 0.736490 -0.223531 +v -0.275301 -0.951111 -0.083512 +v -0.278942 -0.951123 -0.069884 +v -0.318521 -0.935896 -0.096622 +v -0.270757 -0.951123 -0.096865 +v -0.233113 -0.963862 -0.070714 +v -0.235796 -0.963912 -0.059115 +v -0.322879 -0.935896 -0.080877 +v -0.313397 -0.935896 -0.112135 +v -0.228900 -0.963912 -0.081849 +v -0.275302 0.951092 -0.083512 +v -0.278942 0.951104 -0.069884 +v -0.233113 0.963844 -0.070714 +v -0.270757 0.951104 -0.096865 +v -0.318521 0.935878 -0.096622 +v -0.322879 0.935878 -0.080877 +v -0.235797 0.963894 -0.059115 +v -0.228901 0.963894 -0.081849 +v -0.313397 0.935878 -0.112135 +v -0.599801 -0.768374 -0.181948 +v -0.608007 -0.768374 -0.152298 +v -0.634942 -0.736508 -0.192608 +v -0.590152 -0.768374 -0.211160 +v -0.563218 -0.798391 -0.170850 +v -0.570924 -0.798391 -0.143009 +v -0.643629 -0.736508 -0.161221 +v -0.624727 -0.736508 -0.223531 +v -0.554157 -0.798391 -0.198281 +v -0.833832 -0.468573 -0.252940 +v -0.845240 -0.468573 -0.211721 +v -0.854698 -0.424995 -0.259270 +v -0.820418 -0.468573 -0.293551 +v -0.810960 -0.511023 -0.246002 +v -0.822055 -0.511023 -0.205914 +v -0.866392 -0.424995 -0.217020 +v -0.840949 -0.424995 -0.300897 +v -0.797914 -0.511023 -0.285498 +v -0.940919 -0.097437 -0.285425 +v -0.953793 -0.097437 -0.238912 +v -0.944335 -0.048782 -0.286461 +v -0.925782 -0.097437 -0.331251 +v -0.935240 -0.145858 -0.283702 +v -0.948037 -0.145858 -0.237471 +v -0.957255 -0.048782 -0.239780 +v -0.929143 -0.048782 -0.332453 +v -0.920195 -0.145858 -0.329252 +v -0.904760 0.288531 -0.274456 +v -0.917139 0.288531 -0.229731 +v -0.890205 0.334857 -0.270041 +v -0.890205 0.288531 -0.318521 +v -0.917139 0.241511 -0.278211 +v -0.929688 0.241511 -0.232874 +v -0.902385 0.334857 -0.226036 +v -0.875884 0.334857 -0.313397 +v -0.902385 0.241511 -0.322879 +v -0.730859 0.630571 -0.221704 +v -0.740859 0.630571 -0.185575 +v -0.700550 0.667515 -0.212510 +v -0.719102 0.630571 -0.257299 +v -0.759412 0.592111 -0.230365 +v -0.769802 0.592111 -0.192825 +v -0.710135 0.667515 -0.177879 +v -0.689280 0.667515 -0.246629 +v -0.747195 0.592111 -0.267351 +v -0.445692 0.876611 -0.135199 +v -0.451790 0.876611 -0.113168 +v -0.404242 0.898549 -0.122626 +v -0.438522 0.876611 -0.156906 +v -0.486071 0.852566 -0.147448 +v -0.492721 0.852566 -0.123420 +v -0.409773 0.898549 -0.102643 +v -0.397739 0.898549 -0.142313 +v -0.478251 0.852566 -0.171121 +v -0.445692 -0.876630 -0.135199 +v -0.451790 -0.876630 -0.113168 +v -0.486071 -0.852584 -0.147448 +v -0.438522 -0.876630 -0.156906 +v -0.404242 -0.898567 -0.122625 +v -0.409773 -0.898567 -0.102643 +v -0.492721 -0.852584 -0.123420 +v -0.478251 -0.852584 -0.171121 +v -0.397739 -0.898567 -0.142313 +v -0.730859 -0.630590 -0.221704 +v -0.740859 -0.630590 -0.185575 +v -0.759412 -0.592129 -0.230365 +v -0.719102 -0.630590 -0.257299 +v -0.700550 -0.667534 -0.212510 +v -0.710135 -0.667534 -0.177879 +v -0.769802 -0.592129 -0.192825 +v -0.747195 -0.592129 -0.267351 +v -0.689280 -0.667534 -0.246629 +v -0.833832 -0.288549 -0.445692 +v -0.854698 -0.288549 -0.404242 +v -0.845240 -0.241529 -0.451790 +v -0.810960 -0.288549 -0.486071 +v -0.820418 -0.334875 -0.438523 +v -0.840949 -0.334875 -0.397739 +v -0.866392 -0.241529 -0.409773 +v -0.822055 -0.241529 -0.492722 +v -0.797914 -0.334875 -0.478252 +v -0.867156 0.097419 -0.463505 +v -0.888856 0.097419 -0.420398 +v -0.861922 0.145840 -0.460707 +v -0.843370 0.097419 -0.505497 +v -0.870304 0.048763 -0.465187 +v -0.892083 0.048763 -0.421924 +v -0.883492 0.145840 -0.417860 +v -0.838280 0.145840 -0.502446 +v -0.846432 0.048763 -0.507332 +v -0.768464 0.468554 -0.410752 +v -0.787694 0.468554 -0.372552 +v -0.747385 0.511005 -0.399486 +v -0.747385 0.468554 -0.447966 +v -0.787694 0.424977 -0.421032 +v -0.807406 0.424977 -0.381875 +v -0.766088 0.511005 -0.362333 +v -0.726884 0.511005 -0.435678 +v -0.766088 0.424977 -0.459176 +v -0.552780 0.768355 -0.295467 +v -0.566613 0.768355 -0.267988 +v -0.519064 0.798372 -0.277446 +v -0.537617 0.768355 -0.322236 +v -0.585165 0.736490 -0.312778 +v -0.599809 0.736490 -0.283689 +v -0.532054 0.798372 -0.251643 +v -0.504827 0.798373 -0.302582 +v -0.569114 0.736490 -0.341115 +v -0.253719 -0.951111 -0.135616 +v -0.259948 -0.951123 -0.122960 +v -0.293550 -0.935896 -0.156906 +v -0.246657 -0.951123 -0.147826 +v -0.214838 -0.963862 -0.114834 +v -0.219733 -0.963912 -0.103981 +v -0.300896 -0.935896 -0.142313 +v -0.285498 -0.935896 -0.171121 +v -0.208534 -0.963912 -0.124933 +v -0.253719 0.951092 -0.135616 +v -0.259948 0.951104 -0.122960 +v -0.214838 0.963844 -0.114834 +v -0.246657 0.951104 -0.147826 +v -0.293550 0.935878 -0.156906 +v -0.300897 0.935878 -0.142314 +v -0.219733 0.963894 -0.103981 +v -0.208534 0.963894 -0.124933 +v -0.285498 0.935878 -0.171121 +v -0.552780 -0.768374 -0.295467 +v -0.566613 -0.768374 -0.267988 +v -0.585165 -0.736508 -0.312778 +v -0.537617 -0.768374 -0.322236 +v -0.519064 -0.798391 -0.277446 +v -0.532054 -0.798391 -0.251643 +v -0.599809 -0.736508 -0.283689 +v -0.569114 -0.736508 -0.341115 +v -0.504827 -0.798391 -0.302582 +v -0.768463 -0.468573 -0.410752 +v -0.787694 -0.468573 -0.372552 +v -0.787694 -0.424995 -0.421032 +v -0.747385 -0.468573 -0.447966 +v -0.747385 -0.511023 -0.399486 +v -0.766088 -0.511023 -0.362333 +v -0.807406 -0.424995 -0.381875 +v -0.766088 -0.424995 -0.459176 +v -0.726884 -0.511023 -0.435678 +v -0.867156 -0.097437 -0.463505 +v -0.888856 -0.097437 -0.420398 +v -0.870304 -0.048782 -0.465187 +v -0.843370 -0.097437 -0.505497 +v -0.861922 -0.145858 -0.460707 +v -0.883492 -0.145858 -0.417860 +v -0.892083 -0.048782 -0.421924 +v -0.846432 -0.048782 -0.507332 +v -0.838280 -0.145858 -0.502446 +v -0.833832 0.288531 -0.445692 +v -0.854698 0.288531 -0.404242 +v -0.820418 0.334857 -0.438523 +v -0.810960 0.288531 -0.486071 +v -0.845240 0.241511 -0.451790 +v -0.866392 0.241511 -0.409773 +v -0.840949 0.334857 -0.397739 +v -0.797914 0.334857 -0.478252 +v -0.822055 0.241511 -0.492722 +v -0.673564 0.630571 -0.360028 +v -0.690420 0.630571 -0.326544 +v -0.645630 0.667515 -0.345097 +v -0.655088 0.630571 -0.392645 +v -0.699878 0.592111 -0.374093 +v -0.717392 0.592111 -0.339301 +v -0.661787 0.667515 -0.313002 +v -0.627921 0.667515 -0.376362 +v -0.680680 0.592111 -0.407985 +v -0.410752 0.876611 -0.219552 +v -0.421031 0.876611 -0.199133 +v -0.372551 0.898549 -0.199133 +v -0.399485 0.876611 -0.239443 +v -0.447965 0.852566 -0.239443 +v -0.459176 0.852566 -0.217174 +v -0.381875 0.898549 -0.180613 +v -0.362332 0.898549 -0.217174 +v -0.435678 0.852566 -0.261136 +v -0.410752 -0.876630 -0.219552 +v -0.421031 -0.876630 -0.199133 +v -0.447965 -0.852584 -0.239443 +v -0.399485 -0.876630 -0.239443 +v -0.372551 -0.898567 -0.199133 +v -0.381874 -0.898567 -0.180613 +v -0.459176 -0.852584 -0.217174 +v -0.435678 -0.852584 -0.261136 +v -0.362332 -0.898567 -0.217174 +v -0.673564 -0.630590 -0.360028 +v -0.690420 -0.630590 -0.326544 +v -0.699878 -0.592129 -0.374093 +v -0.655088 -0.630590 -0.392645 +v -0.645630 -0.667534 -0.345097 +v -0.661787 -0.667534 -0.313002 +v -0.717392 -0.592129 -0.339301 +v -0.680680 -0.592129 -0.407985 +v -0.627921 -0.667534 -0.376362 +v -0.730859 -0.288549 -0.599801 +v -0.759412 -0.288549 -0.563218 +v -0.740859 -0.241529 -0.608008 +v -0.700549 -0.288549 -0.634942 +v -0.719102 -0.334875 -0.590152 +v -0.747195 -0.334875 -0.554157 +v -0.769802 -0.241529 -0.570924 +v -0.710135 -0.241529 -0.643629 +v -0.689280 -0.334875 -0.624727 +v -0.760068 0.097419 -0.623772 +v -0.789762 0.097419 -0.585727 +v -0.755481 0.145840 -0.620008 +v -0.728547 0.097419 -0.660317 +v -0.762828 0.048763 -0.626037 +v -0.792629 0.048763 -0.587854 +v -0.784995 0.145840 -0.582192 +v -0.724150 0.145840 -0.656332 +v -0.731192 0.048763 -0.662715 +v -0.673564 0.468554 -0.552780 +v -0.699878 0.468554 -0.519065 +v -0.655088 0.511005 -0.537617 +v -0.645630 0.468554 -0.585166 +v -0.690420 0.424977 -0.566613 +v -0.717392 0.424977 -0.532054 +v -0.680680 0.511005 -0.504827 +v -0.627921 0.511005 -0.569115 +v -0.661787 0.424977 -0.599810 +v -0.484515 0.768355 -0.397632 +v -0.503444 0.768355 -0.373379 +v -0.454964 0.798372 -0.373379 +v -0.464422 0.768355 -0.420928 +v -0.512902 0.736490 -0.420928 +v -0.532939 0.736490 -0.395255 +v -0.472738 0.798372 -0.350606 +v -0.436096 0.798373 -0.395255 +v -0.491631 0.736490 -0.445589 +v -0.222387 -0.951111 -0.182508 +v -0.230965 -0.951123 -0.171311 +v -0.257299 -0.935896 -0.211160 +v -0.213078 -0.951123 -0.193106 +v -0.188307 -0.963862 -0.154540 +v -0.195225 -0.963912 -0.144851 +v -0.267351 -0.935896 -0.198281 +v -0.246628 -0.935896 -0.223531 +v -0.180154 -0.963912 -0.163215 +v -0.222387 0.951092 -0.182508 +v -0.230965 0.951104 -0.171311 +v -0.188307 0.963844 -0.154540 +v -0.213078 0.951104 -0.193106 +v -0.257299 0.935878 -0.211160 +v -0.267351 0.935878 -0.198281 +v -0.195225 0.963894 -0.144851 +v -0.180154 0.963894 -0.163215 +v -0.246628 0.935878 -0.223531 +v -0.484515 -0.768374 -0.397632 +v -0.503444 -0.768374 -0.373379 +v -0.512902 -0.736508 -0.420928 +v -0.464422 -0.768374 -0.420928 +v -0.454964 -0.798391 -0.373379 +v -0.472738 -0.798391 -0.350606 +v -0.532939 -0.736508 -0.395255 +v -0.491631 -0.736508 -0.445589 +v -0.436096 -0.798391 -0.395255 +v -0.673564 -0.468573 -0.552780 +v -0.699878 -0.468573 -0.519065 +v -0.690420 -0.424995 -0.566613 +v -0.645630 -0.468573 -0.585166 +v -0.655088 -0.511023 -0.537617 +v -0.680680 -0.511023 -0.504827 +v -0.717392 -0.424995 -0.532054 +v -0.661787 -0.424995 -0.599810 +v -0.627921 -0.511023 -0.569115 +v -0.760068 -0.097437 -0.623772 +v -0.789762 -0.097437 -0.585727 +v -0.762828 -0.048782 -0.626037 +v -0.728547 -0.097437 -0.660317 +v -0.755481 -0.145858 -0.620008 +v -0.784995 -0.145858 -0.582192 +v -0.792629 -0.048782 -0.587854 +v -0.731192 -0.048782 -0.662715 +v -0.724150 -0.145858 -0.656332 +v -0.730859 0.288531 -0.599801 +v -0.759412 0.288531 -0.563218 +v -0.719102 0.334857 -0.590152 +v -0.700549 0.288531 -0.634942 +v -0.740859 0.241511 -0.608008 +v -0.769802 0.241511 -0.570924 +v -0.747195 0.334857 -0.554157 +v -0.689280 0.334857 -0.624727 +v -0.710135 0.241511 -0.643629 +v -0.590384 0.630571 -0.484516 +v -0.613448 0.630571 -0.454964 +v -0.565900 0.667515 -0.464422 +v -0.565900 0.630571 -0.512902 +v -0.613448 0.592111 -0.503444 +v -0.637414 0.592111 -0.472738 +v -0.588007 0.667515 -0.436096 +v -0.542431 0.667515 -0.491631 +v -0.588007 0.592111 -0.532939 +v -0.360027 0.876611 -0.295467 +v -0.374092 0.876611 -0.277446 +v -0.326544 0.898549 -0.267988 +v -0.345096 0.876611 -0.312778 +v -0.392645 0.852566 -0.322236 +v -0.407984 0.852566 -0.302582 +v -0.339301 0.898549 -0.251643 +v -0.313002 0.898549 -0.283689 +v -0.376361 0.852566 -0.341115 +v -0.360027 -0.876630 -0.295467 +v -0.374092 -0.876630 -0.277446 +v -0.392645 -0.852584 -0.322236 +v -0.345096 -0.876630 -0.312778 +v -0.326544 -0.898567 -0.267988 +v -0.339301 -0.898567 -0.251643 +v -0.407984 -0.852584 -0.302582 +v -0.376361 -0.852584 -0.341115 +v -0.313002 -0.898567 -0.283689 +v -0.590384 -0.630590 -0.484516 +v -0.613448 -0.630590 -0.454964 +v -0.613448 -0.592129 -0.503444 +v -0.565900 -0.630590 -0.512902 +v -0.565900 -0.667534 -0.464422 +v -0.588007 -0.667534 -0.436096 +v -0.637414 -0.592129 -0.472738 +v -0.588007 -0.592129 -0.532939 +v -0.542431 -0.667534 -0.491631 +v -0.599801 -0.288549 -0.730860 +v -0.634941 -0.288549 -0.700550 +v -0.608007 -0.241529 -0.740860 +v -0.563218 -0.288549 -0.759412 +v -0.590152 -0.334875 -0.719102 +v -0.624727 -0.334875 -0.689280 +v -0.643629 -0.241529 -0.710135 +v -0.570924 -0.241529 -0.769803 +v -0.554157 -0.334875 -0.747195 +v -0.623772 0.097419 -0.760069 +v -0.660317 0.097419 -0.728548 +v -0.620007 0.145840 -0.755482 +v -0.585727 0.097419 -0.789762 +v -0.626036 0.048763 -0.762828 +v -0.662714 0.048763 -0.731192 +v -0.656332 0.145840 -0.724151 +v -0.582192 0.145840 -0.784996 +v -0.587853 0.048763 -0.792629 +v -0.552779 0.468554 -0.673564 +v -0.585165 0.468554 -0.645630 +v -0.537617 0.511005 -0.655088 +v -0.519064 0.468554 -0.699878 +v -0.566613 0.424977 -0.690420 +v -0.599809 0.424977 -0.661787 +v -0.569114 0.511005 -0.627921 +v -0.504827 0.511005 -0.680681 +v -0.532054 0.424977 -0.717393 +v -0.397631 0.768355 -0.484516 +v -0.420928 0.768355 -0.464422 +v -0.373379 0.798372 -0.454964 +v -0.373379 0.768355 -0.503444 +v -0.420928 0.736490 -0.512902 +v -0.445589 0.736490 -0.491631 +v -0.395254 0.798372 -0.436096 +v -0.350606 0.798373 -0.472738 +v -0.395254 0.736490 -0.532939 +v -0.182508 -0.951111 -0.222387 +v -0.193106 -0.951123 -0.213078 +v -0.211160 -0.935896 -0.257299 +v -0.171311 -0.951123 -0.230965 +v -0.154540 -0.963862 -0.188308 +v -0.163215 -0.963912 -0.180154 +v -0.223531 -0.935896 -0.246629 +v -0.198281 -0.935896 -0.267351 +v -0.144851 -0.963912 -0.195225 +v -0.182508 0.951092 -0.222387 +v -0.193106 0.951104 -0.213078 +v -0.154540 0.963844 -0.188308 +v -0.171311 0.951104 -0.230965 +v -0.211160 0.935878 -0.257299 +v -0.223531 0.935878 -0.246629 +v -0.163215 0.963894 -0.180154 +v -0.144851 0.963894 -0.195226 +v -0.198281 0.935878 -0.267351 +v -0.397631 -0.768374 -0.484516 +v -0.420927 -0.768374 -0.464422 +v -0.420928 -0.736508 -0.512902 +v -0.373379 -0.768374 -0.503444 +v -0.373379 -0.798391 -0.454964 +v -0.395254 -0.798391 -0.436096 +v -0.445589 -0.736508 -0.491631 +v -0.395254 -0.736508 -0.532939 +v -0.350606 -0.798391 -0.472738 +v -0.552780 -0.468573 -0.673564 +v -0.585165 -0.468573 -0.645630 +v -0.566613 -0.424995 -0.690420 +v -0.519064 -0.468573 -0.699878 +v -0.537617 -0.511023 -0.655088 +v -0.569114 -0.511023 -0.627921 +v -0.599809 -0.424995 -0.661787 +v -0.532054 -0.424995 -0.717393 +v -0.504827 -0.511023 -0.680681 +v -0.623772 -0.097437 -0.760069 +v -0.660317 -0.097437 -0.728548 +v -0.626036 -0.048782 -0.762828 +v -0.585727 -0.097437 -0.789762 +v -0.620007 -0.145858 -0.755482 +v -0.656332 -0.145858 -0.724151 +v -0.662714 -0.048782 -0.731192 +v -0.587853 -0.048782 -0.792629 +v -0.582192 -0.145858 -0.784996 +v -0.599801 0.288531 -0.730860 +v -0.634941 0.288531 -0.700550 +v -0.590152 0.334857 -0.719102 +v -0.563218 0.288531 -0.759412 +v -0.608007 0.241511 -0.740860 +v -0.643629 0.241511 -0.710135 +v -0.624727 0.334857 -0.689280 +v -0.554157 0.334857 -0.747195 +v -0.570924 0.241511 -0.769802 +v -0.484515 0.630571 -0.590384 +v -0.512902 0.630571 -0.565900 +v -0.464422 0.667515 -0.565900 +v -0.454964 0.630571 -0.613448 +v -0.503444 0.592111 -0.613448 +v -0.532939 0.592111 -0.588008 +v -0.491631 0.667515 -0.542431 +v -0.436096 0.667515 -0.588008 +v -0.472738 0.592111 -0.637414 +v -0.295467 0.876611 -0.360028 +v -0.312777 0.876611 -0.345097 +v -0.267988 0.898549 -0.326544 +v -0.277446 0.876611 -0.374093 +v -0.322235 0.852566 -0.392645 +v -0.341114 0.852566 -0.376362 +v -0.283688 0.898549 -0.313002 +v -0.251643 0.898549 -0.339301 +v -0.302582 0.852566 -0.407985 +v -0.295467 -0.876630 -0.360028 +v -0.312777 -0.876630 -0.345097 +v -0.322235 -0.852584 -0.392645 +v -0.277446 -0.876630 -0.374093 +v -0.267988 -0.898567 -0.326544 +v -0.283688 -0.898567 -0.313002 +v -0.341114 -0.852584 -0.376362 +v -0.302581 -0.852584 -0.407985 +v -0.251642 -0.898567 -0.339301 +v -0.484515 -0.630590 -0.590384 +v -0.512902 -0.630590 -0.565900 +v -0.503444 -0.592129 -0.613448 +v -0.454964 -0.630590 -0.613448 +v -0.464422 -0.667534 -0.565900 +v -0.491631 -0.667534 -0.542431 +v -0.532939 -0.592129 -0.588008 +v -0.472738 -0.592129 -0.637414 +v -0.436096 -0.667534 -0.588008 +v -0.445692 -0.288549 -0.833832 +v -0.486071 -0.288549 -0.810960 +v -0.451790 -0.241529 -0.845240 +v -0.404242 -0.288549 -0.854698 +v -0.438522 -0.334875 -0.820418 +v -0.478251 -0.334875 -0.797914 +v -0.492721 -0.241529 -0.822056 +v -0.409773 -0.241529 -0.866393 +v -0.397739 -0.334875 -0.840949 +v -0.463504 0.097419 -0.867156 +v -0.505497 0.097419 -0.843370 +v -0.460707 0.145840 -0.861923 +v -0.420397 0.097419 -0.888857 +v -0.465187 0.048763 -0.870304 +v -0.507332 0.048763 -0.846432 +v -0.502446 0.145840 -0.838280 +v -0.417860 0.145840 -0.883492 +v -0.421923 0.048763 -0.892084 +v -0.410752 0.468554 -0.768464 +v -0.447965 0.468554 -0.747385 +v -0.399485 0.511005 -0.747385 +v -0.372551 0.468554 -0.787695 +v -0.421031 0.424977 -0.787695 +v -0.459176 0.424977 -0.766088 +v -0.435678 0.511005 -0.726884 +v -0.362332 0.511005 -0.766088 +v -0.381874 0.424977 -0.807407 +v -0.295467 0.768355 -0.552780 +v -0.322235 0.768355 -0.537617 +v -0.277446 0.798372 -0.519065 +v -0.267988 0.768355 -0.566613 +v -0.312777 0.736490 -0.585166 +v -0.341114 0.736490 -0.569115 +v -0.302581 0.798372 -0.504827 +v -0.251642 0.798373 -0.532054 +v -0.283688 0.736490 -0.599810 +v -0.135616 -0.951111 -0.253719 +v -0.147826 -0.951123 -0.246657 +v -0.156906 -0.935896 -0.293551 +v -0.122960 -0.951123 -0.259948 +v -0.114833 -0.963862 -0.214839 +v -0.124932 -0.963912 -0.208534 +v -0.171121 -0.935896 -0.285499 +v -0.142313 -0.935896 -0.300897 +v -0.103981 -0.963912 -0.219733 +v -0.135616 0.951092 -0.253720 +v -0.147826 0.951104 -0.246657 +v -0.114833 0.963844 -0.214839 +v -0.122960 0.951104 -0.259949 +v -0.156906 0.935878 -0.293551 +v -0.171121 0.935878 -0.285499 +v -0.124932 0.963894 -0.208535 +v -0.103981 0.963894 -0.219733 +v -0.142313 0.935878 -0.300897 +v -0.295467 -0.768374 -0.552780 +v -0.322235 -0.768374 -0.537617 +v -0.312777 -0.736508 -0.585166 +v -0.267988 -0.768374 -0.566613 +v -0.277446 -0.798391 -0.519065 +v -0.302581 -0.798391 -0.504827 +v -0.341114 -0.736508 -0.569115 +v -0.283688 -0.736508 -0.599810 +v -0.251642 -0.798391 -0.532054 +v -0.410752 -0.468573 -0.768464 +v -0.447965 -0.468573 -0.747385 +v -0.421031 -0.424995 -0.787695 +v -0.372551 -0.468573 -0.787695 +v -0.399485 -0.511023 -0.747385 +v -0.435678 -0.511023 -0.726884 +v -0.459176 -0.424995 -0.766088 +v -0.381874 -0.424995 -0.807407 +v -0.362332 -0.511023 -0.766088 +v -0.463504 -0.097437 -0.867156 +v -0.505497 -0.097437 -0.843370 +v -0.465187 -0.048782 -0.870304 +v -0.420397 -0.097437 -0.888857 +v -0.460707 -0.145858 -0.861923 +v -0.502446 -0.145858 -0.838280 +v -0.507332 -0.048782 -0.846432 +v -0.421923 -0.048782 -0.892084 +v -0.417860 -0.145858 -0.883492 +v -0.445692 0.288531 -0.833832 +v -0.486071 0.288531 -0.810960 +v -0.438522 0.334857 -0.820418 +v -0.404242 0.288531 -0.854698 +v -0.451790 0.241511 -0.845240 +v -0.492721 0.241511 -0.822056 +v -0.478251 0.334857 -0.797914 +v -0.397739 0.334857 -0.840949 +v -0.409773 0.241511 -0.866393 +v -0.360027 0.630571 -0.673564 +v -0.392645 0.630571 -0.655088 +v -0.345096 0.667515 -0.645630 +v -0.326544 0.630571 -0.690420 +v -0.374092 0.592111 -0.699878 +v -0.407984 0.592111 -0.680681 +v -0.376361 0.667515 -0.627921 +v -0.313002 0.667515 -0.661787 +v -0.339301 0.592111 -0.717393 +v -0.219552 0.876611 -0.410753 +v -0.239442 0.876611 -0.399486 +v -0.199133 0.898549 -0.372552 +v -0.199133 0.876611 -0.421032 +v -0.239442 0.852566 -0.447966 +v -0.261135 0.852566 -0.435678 +v -0.217174 0.898549 -0.362333 +v -0.180613 0.898549 -0.381875 +v -0.217174 0.852566 -0.459176 +v -0.219551 -0.876630 -0.410753 +v -0.239442 -0.876630 -0.399486 +v -0.239442 -0.852584 -0.447966 +v -0.199133 -0.876630 -0.421032 +v -0.199133 -0.898567 -0.372552 +v -0.217174 -0.898567 -0.362333 +v -0.261135 -0.852584 -0.435678 +v -0.217174 -0.852584 -0.459176 +v -0.180613 -0.898567 -0.381875 +v -0.360027 -0.630590 -0.673564 +v -0.392645 -0.630590 -0.655088 +v -0.374092 -0.592129 -0.699878 +v -0.326544 -0.630590 -0.690420 +v -0.345096 -0.667534 -0.645630 +v -0.376361 -0.667534 -0.627921 +v -0.407984 -0.592129 -0.680681 +v -0.339301 -0.592129 -0.717393 +v -0.313002 -0.667534 -0.661787 +v -0.274456 -0.288549 -0.904760 +v -0.318521 -0.288549 -0.890205 +v -0.278211 -0.241529 -0.917139 +v -0.229731 -0.288549 -0.917139 +v -0.270041 -0.334875 -0.890205 +v -0.313397 -0.334875 -0.875885 +v -0.322879 -0.241529 -0.902385 +v -0.232874 -0.241529 -0.929688 +v -0.226035 -0.334875 -0.902385 +v -0.285424 0.097419 -0.940919 +v -0.331250 0.097419 -0.925783 +v -0.283702 0.145840 -0.935241 +v -0.238912 0.097419 -0.953793 +v -0.286461 0.048763 -0.944335 +v -0.332453 0.048763 -0.929144 +v -0.329251 0.145840 -0.920195 +v -0.237470 0.145840 -0.948037 +v -0.239779 0.048763 -0.957256 +v -0.252940 0.468554 -0.833832 +v -0.293550 0.468554 -0.820418 +v -0.246002 0.511005 -0.810960 +v -0.211721 0.468554 -0.845240 +v -0.259270 0.424977 -0.854698 +v -0.300896 0.424977 -0.840949 +v -0.285498 0.511005 -0.797914 +v -0.205914 0.511005 -0.822056 +v -0.217019 0.424977 -0.866393 +v -0.181947 0.768355 -0.599801 +v -0.211160 0.768355 -0.590152 +v -0.170850 0.798372 -0.563218 +v -0.152298 0.768355 -0.608008 +v -0.192607 0.736490 -0.634942 +v -0.223531 0.736490 -0.624727 +v -0.198281 0.798372 -0.554158 +v -0.143009 0.798373 -0.570924 +v -0.161220 0.736490 -0.643629 +v -0.083512 -0.951111 -0.275302 +v -0.096865 -0.951123 -0.270757 +v -0.096622 -0.935896 -0.318521 +v -0.069884 -0.951123 -0.278942 +v -0.070714 -0.963862 -0.233113 +v -0.081849 -0.963912 -0.228901 +v -0.112135 -0.935896 -0.313397 +v -0.080877 -0.935896 -0.322879 +v -0.059115 -0.963912 -0.235797 +v -0.083512 0.951092 -0.275302 +v -0.096865 0.951104 -0.270757 +v -0.070714 0.963844 -0.233114 +v -0.069884 0.951104 -0.278942 +v -0.096622 0.935878 -0.318521 +v -0.112135 0.935878 -0.313397 +v -0.081849 0.963894 -0.228901 +v -0.059115 0.963894 -0.235797 +v -0.080877 0.935878 -0.322879 +v -0.181947 -0.768374 -0.599801 +v -0.211160 -0.768374 -0.590152 +v -0.192607 -0.736508 -0.634942 +v -0.152297 -0.768374 -0.608008 +v -0.170850 -0.798391 -0.563218 +v -0.198281 -0.798391 -0.554158 +v -0.223531 -0.736508 -0.624727 +v -0.161220 -0.736508 -0.643629 +v -0.143009 -0.798391 -0.570924 +v -0.252940 -0.468573 -0.833832 +v -0.293550 -0.468573 -0.820418 +v -0.259270 -0.424995 -0.854699 +v -0.211721 -0.468573 -0.845240 +v -0.246002 -0.511023 -0.810960 +v -0.285498 -0.511023 -0.797914 +v -0.300896 -0.424995 -0.840949 +v -0.217020 -0.424995 -0.866393 +v -0.205914 -0.511023 -0.822056 +v -0.285424 -0.097437 -0.940919 +v -0.331250 -0.097437 -0.925783 +v -0.286461 -0.048782 -0.944335 +v -0.238912 -0.097437 -0.953793 +v -0.283702 -0.145858 -0.935241 +v -0.329251 -0.145858 -0.920195 +v -0.332453 -0.048782 -0.929144 +v -0.239779 -0.048782 -0.957256 +v -0.237470 -0.145858 -0.948037 +v -0.274456 0.288531 -0.904760 +v -0.318520 0.288531 -0.890205 +v -0.270040 0.334857 -0.890205 +v -0.229731 0.288531 -0.917139 +v -0.278211 0.241511 -0.917139 +v -0.322879 0.241511 -0.902385 +v -0.313396 0.334857 -0.875885 +v -0.226035 0.334857 -0.902385 +v -0.232874 0.241511 -0.929688 +v -0.221704 0.630571 -0.730860 +v -0.257299 0.630571 -0.719102 +v -0.212509 0.667515 -0.700550 +v -0.185575 0.630571 -0.740860 +v -0.230365 0.592111 -0.759412 +v -0.267351 0.592111 -0.747195 +v -0.246628 0.667515 -0.689280 +v -0.177879 0.667515 -0.710135 +v -0.192825 0.592111 -0.769803 +v -0.135199 0.876611 -0.445693 +v -0.156906 0.876611 -0.438523 +v -0.122625 0.898549 -0.404242 +v -0.113167 0.876611 -0.451791 +v -0.147448 0.852566 -0.486071 +v -0.171121 0.852566 -0.478252 +v -0.142313 0.898549 -0.397739 +v -0.102642 0.898549 -0.409773 +v -0.123420 0.852566 -0.492722 +v -0.135199 -0.876630 -0.445692 +v -0.156906 -0.876630 -0.438523 +v -0.147448 -0.852584 -0.486071 +v -0.113167 -0.876630 -0.451791 +v -0.122625 -0.898567 -0.404242 +v -0.142313 -0.898567 -0.397739 +v -0.171121 -0.852584 -0.478252 +v -0.123420 -0.852584 -0.492722 +v -0.102642 -0.898567 -0.409773 +v -0.221704 -0.630590 -0.730860 +v -0.257299 -0.630590 -0.719102 +v -0.230365 -0.592129 -0.759412 +v -0.185575 -0.630590 -0.740860 +v -0.212509 -0.667534 -0.700550 +v -0.246628 -0.667534 -0.689280 +v -0.267351 -0.592129 -0.747195 +v -0.192825 -0.592129 -0.769802 +v -0.177879 -0.667534 -0.710135 +v -0.092672 -0.288549 -0.940919 +v -0.138730 -0.288549 -0.935240 +v -0.093940 -0.241529 -0.953793 +v -0.046392 -0.288549 -0.944335 +v -0.091181 -0.334875 -0.925783 +v -0.136498 -0.334875 -0.920195 +v -0.140628 -0.241529 -0.948037 +v -0.047026 -0.241529 -0.957256 +v -0.045645 -0.334875 -0.929143 +v -0.096376 0.097419 -0.978523 +v -0.144274 0.097419 -0.972618 +v -0.095794 0.145840 -0.972618 +v -0.048246 0.097419 -0.982076 +v -0.096726 0.048763 -0.982076 +v -0.144798 0.048763 -0.976149 +v -0.143403 0.145840 -0.966748 +v -0.047954 0.145840 -0.976149 +v -0.048421 0.048763 -0.985641 +v -0.085407 0.468554 -0.867156 +v -0.127854 0.468554 -0.861923 +v -0.083064 0.511005 -0.843370 +v -0.042755 0.468554 -0.870304 +v -0.087544 0.424977 -0.888857 +v -0.131054 0.424977 -0.883492 +v -0.124347 0.511005 -0.838280 +v -0.041582 0.511005 -0.846432 +v -0.043825 0.424977 -0.892084 +v -0.061436 0.768355 -0.623772 +v -0.091969 0.768355 -0.620008 +v -0.057689 0.798372 -0.585727 +v -0.030755 0.768355 -0.626037 +v -0.065035 0.736490 -0.660317 +v -0.097358 0.736490 -0.656332 +v -0.086360 0.798372 -0.582192 +v -0.028879 0.798373 -0.587854 +v -0.032557 0.736490 -0.662715 +v -0.028198 -0.951111 -0.286304 +v -0.042182 -0.951123 -0.284452 +v -0.032625 -0.935896 -0.331251 +v -0.014122 -0.951123 -0.287216 +v -0.023877 -0.963862 -0.242430 +v -0.035620 -0.963912 -0.240470 +v -0.048840 -0.935896 -0.329252 +v -0.016332 -0.935896 -0.332453 +v -0.011977 -0.963912 -0.242799 +v -0.028198 0.951092 -0.286304 +v -0.042182 0.951104 -0.284452 +v -0.023877 0.963844 -0.242430 +v -0.014122 0.951104 -0.287216 +v -0.032625 0.935878 -0.331251 +v -0.048840 0.935878 -0.329252 +v -0.035620 0.963894 -0.240470 +v -0.011977 0.963894 -0.242799 +v -0.016332 0.935878 -0.332453 +v -0.061436 -0.768374 -0.623772 +v -0.091969 -0.768374 -0.620008 +v -0.065035 -0.736508 -0.660317 +v -0.030755 -0.768374 -0.626037 +v -0.057689 -0.798391 -0.585727 +v -0.086360 -0.798391 -0.582192 +v -0.097358 -0.736508 -0.656332 +v -0.032557 -0.736508 -0.662715 +v -0.028879 -0.798391 -0.587854 +v -0.085407 -0.468573 -0.867156 +v -0.127854 -0.468573 -0.861923 +v -0.087544 -0.424995 -0.888857 +v -0.042755 -0.468573 -0.870304 +v -0.083064 -0.511023 -0.843370 +v -0.124347 -0.511023 -0.838280 +v -0.131054 -0.424995 -0.883492 +v -0.043825 -0.424995 -0.892084 +v -0.041582 -0.511023 -0.846432 +v -0.096376 -0.097437 -0.978523 +v -0.144274 -0.097437 -0.972618 +v -0.096726 -0.048782 -0.982076 +v -0.048246 -0.097437 -0.982076 +v -0.095794 -0.145858 -0.972618 +v -0.143403 -0.145858 -0.966748 +v -0.144798 -0.048782 -0.976149 +v -0.048421 -0.048782 -0.985641 +v -0.047954 -0.145858 -0.976149 +v -0.092672 0.288531 -0.940919 +v -0.138730 0.288531 -0.935240 +v -0.091181 0.334857 -0.925782 +v -0.046392 0.288531 -0.944335 +v -0.093940 0.241511 -0.953793 +v -0.140628 0.241511 -0.948037 +v -0.136498 0.334857 -0.920195 +v -0.045645 0.334857 -0.929143 +v -0.047026 0.241511 -0.957256 +v -0.074860 0.630571 -0.760069 +v -0.112065 0.630571 -0.755482 +v -0.071755 0.667515 -0.728548 +v -0.037475 0.630571 -0.762828 +v -0.077784 0.592111 -0.789762 +v -0.116443 0.592111 -0.784996 +v -0.107417 0.667515 -0.724151 +v -0.035921 0.667515 -0.731192 +v -0.038939 0.592111 -0.792629 +v -0.045651 0.876611 -0.463505 +v -0.068339 0.876611 -0.460707 +v -0.041405 0.898549 -0.420398 +v -0.022853 0.876611 -0.465187 +v -0.049787 0.852566 -0.505497 +v -0.074531 0.852566 -0.502446 +v -0.061984 0.898549 -0.417861 +v -0.020727 0.898549 -0.421924 +v -0.024923 0.852566 -0.507332 +v -0.045651 -0.876630 -0.463505 +v -0.068339 -0.876630 -0.460707 +v -0.049787 -0.852584 -0.505497 +v -0.022853 -0.876630 -0.465187 +v -0.041405 -0.898567 -0.420398 +v -0.061984 -0.898567 -0.417861 +v -0.074531 -0.852584 -0.502446 +v -0.024923 -0.852584 -0.507332 +v -0.020727 -0.898567 -0.421924 +v -0.074860 -0.630590 -0.760069 +v -0.112065 -0.630590 -0.755482 +v -0.077784 -0.592129 -0.789762 +v -0.037475 -0.630590 -0.762828 +v -0.071755 -0.667534 -0.728548 +v -0.107417 -0.667534 -0.724151 +v -0.116443 -0.592129 -0.784996 +v -0.038939 -0.592129 -0.792629 +v -0.035921 -0.667534 -0.731192 +v 0.092673 -0.288549 -0.940919 +v 0.046392 -0.288549 -0.944335 +v 0.093941 -0.241529 -0.953793 +v 0.138730 -0.288549 -0.935240 +v 0.091182 -0.334875 -0.925783 +v 0.045646 -0.334875 -0.929143 +v 0.047027 -0.241529 -0.957256 +v 0.140629 -0.241529 -0.948037 +v 0.136499 -0.334875 -0.920195 +v 0.096377 0.097419 -0.978523 +v 0.048246 0.097419 -0.982076 +v 0.095795 0.145840 -0.972618 +v 0.144275 0.097419 -0.972618 +v 0.096726 0.048763 -0.982076 +v 0.048422 0.048763 -0.985641 +v 0.047955 0.145840 -0.976149 +v 0.143404 0.145840 -0.966748 +v 0.144799 0.048763 -0.976149 +v 0.085408 0.468554 -0.867156 +v 0.042755 0.468554 -0.870304 +v 0.083065 0.511005 -0.843370 +v 0.127855 0.468554 -0.861923 +v 0.087545 0.424977 -0.888857 +v 0.043825 0.424977 -0.892084 +v 0.041583 0.511005 -0.846432 +v 0.124348 0.511005 -0.838280 +v 0.131054 0.424977 -0.883492 +v 0.061437 0.768355 -0.623772 +v 0.030755 0.768355 -0.626037 +v 0.057689 0.798372 -0.585727 +v 0.091970 0.768355 -0.620008 +v 0.065036 0.736490 -0.660317 +v 0.032557 0.736490 -0.662715 +v 0.028880 0.798372 -0.587854 +v 0.086361 0.798373 -0.582192 +v 0.097358 0.736490 -0.656332 +v 0.028199 -0.951111 -0.286304 +v 0.014123 -0.951123 -0.287216 +v 0.032626 -0.935896 -0.331251 +v 0.042182 -0.951123 -0.284452 +v 0.023878 -0.963862 -0.242430 +v 0.011978 -0.963912 -0.242799 +v 0.016333 -0.935896 -0.332453 +v 0.048840 -0.935896 -0.329252 +v 0.035620 -0.963912 -0.240470 +v 0.028199 0.951092 -0.286304 +v 0.014123 0.951104 -0.287216 +v 0.023878 0.963844 -0.242430 +v 0.042182 0.951104 -0.284452 +v 0.032626 0.935878 -0.331251 +v 0.016333 0.935878 -0.332453 +v 0.011978 0.963894 -0.242799 +v 0.035620 0.963894 -0.240470 +v 0.048840 0.935878 -0.329252 +v 0.061437 -0.768374 -0.623772 +v 0.030755 -0.768374 -0.626037 +v 0.065036 -0.736508 -0.660317 +v 0.091970 -0.768374 -0.620008 +v 0.057689 -0.798391 -0.585727 +v 0.028880 -0.798391 -0.587854 +v 0.032557 -0.736508 -0.662715 +v 0.097358 -0.736508 -0.656332 +v 0.086361 -0.798391 -0.582192 +v 0.085408 -0.468573 -0.867156 +v 0.042755 -0.468573 -0.870304 +v 0.087545 -0.424995 -0.888857 +v 0.127855 -0.468573 -0.861923 +v 0.083065 -0.511023 -0.843370 +v 0.041583 -0.511023 -0.846432 +v 0.043825 -0.424995 -0.892084 +v 0.131054 -0.424995 -0.883492 +v 0.124348 -0.511023 -0.838280 +v 0.096377 -0.097437 -0.978523 +v 0.048246 -0.097437 -0.982076 +v 0.096726 -0.048782 -0.982076 +v 0.144275 -0.097437 -0.972618 +v 0.095795 -0.145858 -0.972618 +v 0.047955 -0.145858 -0.976149 +v 0.048422 -0.048782 -0.985641 +v 0.144799 -0.048782 -0.976149 +v 0.143404 -0.145858 -0.966748 +v 0.092673 0.288531 -0.940919 +v 0.046392 0.288531 -0.944335 +v 0.091182 0.334857 -0.925782 +v 0.138730 0.288531 -0.935240 +v 0.093941 0.241511 -0.953793 +v 0.047027 0.241511 -0.957256 +v 0.045646 0.334857 -0.929143 +v 0.136499 0.334857 -0.920195 +v 0.140629 0.241511 -0.948037 +v 0.074861 0.630571 -0.760069 +v 0.037475 0.630571 -0.762828 +v 0.071756 0.667515 -0.728548 +v 0.112066 0.630571 -0.755481 +v 0.077785 0.592111 -0.789762 +v 0.038939 0.592111 -0.792629 +v 0.035921 0.667515 -0.731192 +v 0.107418 0.667515 -0.724151 +v 0.116444 0.592111 -0.784996 +v 0.045652 0.876611 -0.463505 +v 0.022853 0.876611 -0.465187 +v 0.041406 0.898549 -0.420398 +v 0.068340 0.876611 -0.460707 +v 0.049787 0.852566 -0.505497 +v 0.024924 0.852566 -0.507332 +v 0.020728 0.898549 -0.421924 +v 0.061984 0.898549 -0.417861 +v 0.074531 0.852566 -0.502446 +v 0.045652 -0.876630 -0.463505 +v 0.022853 -0.876630 -0.465187 +v 0.049787 -0.852584 -0.505497 +v 0.068340 -0.876630 -0.460707 +v 0.041406 -0.898567 -0.420398 +v 0.020728 -0.898567 -0.421924 +v 0.024924 -0.852584 -0.507332 +v 0.074531 -0.852584 -0.502446 +v 0.061984 -0.898567 -0.417860 +v 0.074861 -0.630590 -0.760069 +v 0.037475 -0.630590 -0.762828 +v 0.077785 -0.592129 -0.789762 +v 0.112066 -0.630590 -0.755481 +v 0.071756 -0.667534 -0.728547 +v 0.035921 -0.667534 -0.731192 +v 0.038939 -0.592129 -0.792629 +v 0.116444 -0.592129 -0.784996 +v 0.107418 -0.667534 -0.724151 +v 0.274456 -0.288549 -0.904760 +v 0.229731 -0.288549 -0.917139 +v 0.278211 -0.241529 -0.917139 +v 0.318521 -0.288549 -0.890205 +v 0.270041 -0.334875 -0.890205 +v 0.226036 -0.334875 -0.902385 +v 0.232875 -0.241529 -0.929688 +v 0.322879 -0.241529 -0.902385 +v 0.313397 -0.334875 -0.875884 +v 0.285425 0.097419 -0.940919 +v 0.238913 0.097419 -0.953793 +v 0.283702 0.145840 -0.935240 +v 0.331251 0.097419 -0.925782 +v 0.286461 0.048763 -0.944335 +v 0.239780 0.048763 -0.957256 +v 0.237471 0.145840 -0.948037 +v 0.329252 0.145840 -0.920195 +v 0.332454 0.048763 -0.929143 +v 0.252940 0.468554 -0.833832 +v 0.211722 0.468554 -0.845240 +v 0.246002 0.511005 -0.810960 +v 0.293551 0.468554 -0.820418 +v 0.259270 0.424977 -0.854698 +v 0.217020 0.424977 -0.866393 +v 0.205914 0.511005 -0.822056 +v 0.285499 0.511005 -0.797914 +v 0.300897 0.424977 -0.840949 +v 0.181948 0.768355 -0.599801 +v 0.152298 0.768355 -0.608008 +v 0.170851 0.798372 -0.563218 +v 0.211160 0.768355 -0.590152 +v 0.192608 0.736490 -0.634942 +v 0.161221 0.736490 -0.643629 +v 0.143009 0.798372 -0.570924 +v 0.198281 0.798373 -0.554158 +v 0.223532 0.736490 -0.624727 +v 0.083512 -0.951111 -0.275302 +v 0.069884 -0.951123 -0.278942 +v 0.096623 -0.935896 -0.318521 +v 0.096866 -0.951123 -0.270757 +v 0.070714 -0.963862 -0.233113 +v 0.059116 -0.963912 -0.235797 +v 0.080877 -0.935896 -0.322879 +v 0.112136 -0.935896 -0.313397 +v 0.081849 -0.963912 -0.228901 +v 0.083512 0.951092 -0.275302 +v 0.069884 0.951104 -0.278942 +v 0.070715 0.963844 -0.233114 +v 0.096866 0.951104 -0.270757 +v 0.096623 0.935878 -0.318521 +v 0.080877 0.935878 -0.322879 +v 0.059116 0.963894 -0.235797 +v 0.081849 0.963894 -0.228901 +v 0.112136 0.935878 -0.313397 +v 0.181948 -0.768374 -0.599801 +v 0.152298 -0.768374 -0.608008 +v 0.192608 -0.736508 -0.634942 +v 0.211160 -0.768374 -0.590152 +v 0.170851 -0.798391 -0.563218 +v 0.143009 -0.798391 -0.570924 +v 0.161221 -0.736508 -0.643629 +v 0.223532 -0.736508 -0.624727 +v 0.198281 -0.798391 -0.554157 +v 0.252940 -0.468573 -0.833832 +v 0.211722 -0.468573 -0.845240 +v 0.259270 -0.424995 -0.854698 +v 0.293551 -0.468573 -0.820418 +v 0.246002 -0.511023 -0.810960 +v 0.205914 -0.511023 -0.822056 +v 0.217020 -0.424995 -0.866393 +v 0.300897 -0.424995 -0.840949 +v 0.285499 -0.511023 -0.797914 +v 0.285425 -0.097437 -0.940919 +v 0.238913 -0.097437 -0.953793 +v 0.286461 -0.048782 -0.944335 +v 0.331251 -0.097437 -0.925782 +v 0.283702 -0.145858 -0.935240 +v 0.237471 -0.145858 -0.948037 +v 0.239780 -0.048782 -0.957256 +v 0.332454 -0.048782 -0.929143 +v 0.329252 -0.145858 -0.920195 +v 0.274456 0.288531 -0.904760 +v 0.229731 0.288531 -0.917139 +v 0.270041 0.334857 -0.890205 +v 0.318521 0.288531 -0.890205 +v 0.278212 0.241511 -0.917139 +v 0.232875 0.241511 -0.929688 +v 0.226036 0.334857 -0.902385 +v 0.313397 0.334857 -0.875884 +v 0.322879 0.241511 -0.902385 +v 0.221704 0.630571 -0.730860 +v 0.185576 0.630571 -0.740859 +v 0.212510 0.667515 -0.700550 +v 0.257299 0.630571 -0.719102 +v 0.230365 0.592111 -0.759412 +v 0.192826 0.592111 -0.769802 +v 0.177880 0.667515 -0.710135 +v 0.246629 0.667515 -0.689280 +v 0.267351 0.592111 -0.747195 +v 0.135200 0.876611 -0.445693 +v 0.113168 0.876611 -0.451791 +v 0.122626 0.898549 -0.404242 +v 0.156906 0.876611 -0.438523 +v 0.147448 0.852566 -0.486071 +v 0.123421 0.852566 -0.492722 +v 0.102643 0.898549 -0.409773 +v 0.142314 0.898549 -0.397739 +v 0.171122 0.852566 -0.478252 +v 0.135200 -0.876630 -0.445692 +v 0.113168 -0.876630 -0.451790 +v 0.147448 -0.852584 -0.486071 +v 0.156906 -0.876630 -0.438523 +v 0.122626 -0.898567 -0.404242 +v 0.102643 -0.898567 -0.409773 +v 0.123421 -0.852584 -0.492722 +v 0.171122 -0.852584 -0.478252 +v 0.142314 -0.898567 -0.397739 +v 0.221704 -0.630590 -0.730860 +v 0.185576 -0.630590 -0.740860 +v 0.230365 -0.592129 -0.759412 +v 0.257299 -0.630590 -0.719102 +v 0.212510 -0.667534 -0.700550 +v 0.177880 -0.667534 -0.710135 +v 0.192826 -0.592129 -0.769802 +v 0.267351 -0.592129 -0.747195 +v 0.246629 -0.667534 -0.689280 +v 0.445693 -0.288549 -0.833832 +v 0.404242 -0.288549 -0.854698 +v 0.451791 -0.241529 -0.845240 +v 0.486071 -0.288549 -0.810960 +v 0.438523 -0.334875 -0.820418 +v 0.397739 -0.334875 -0.840949 +v 0.409773 -0.241529 -0.866392 +v 0.492722 -0.241529 -0.822056 +v 0.478252 -0.334875 -0.797914 +v 0.463505 0.097419 -0.867156 +v 0.420398 0.097419 -0.888857 +v 0.460707 0.145840 -0.861923 +v 0.505497 0.097419 -0.843370 +v 0.465188 0.048763 -0.870304 +v 0.421924 0.048763 -0.892084 +v 0.417861 0.145840 -0.883492 +v 0.502446 0.145840 -0.838280 +v 0.507332 0.048763 -0.846432 +v 0.410753 0.468554 -0.768464 +v 0.372552 0.468554 -0.787695 +v 0.399486 0.511005 -0.747385 +v 0.447966 0.468554 -0.747385 +v 0.421032 0.424977 -0.787695 +v 0.381875 0.424977 -0.807407 +v 0.362333 0.511005 -0.766088 +v 0.435678 0.511005 -0.726884 +v 0.459176 0.424977 -0.766088 +v 0.295467 0.768355 -0.552780 +v 0.267988 0.768355 -0.566613 +v 0.277446 0.798372 -0.519065 +v 0.322236 0.768355 -0.537617 +v 0.312778 0.736490 -0.585166 +v 0.283689 0.736490 -0.599809 +v 0.251643 0.798372 -0.532054 +v 0.302582 0.798373 -0.504827 +v 0.341115 0.736490 -0.569115 +v 0.135616 -0.951111 -0.253719 +v 0.122960 -0.951123 -0.259948 +v 0.156906 -0.935896 -0.293550 +v 0.147826 -0.951123 -0.246657 +v 0.114834 -0.963862 -0.214838 +v 0.103981 -0.963912 -0.219733 +v 0.142314 -0.935896 -0.300897 +v 0.171122 -0.935896 -0.285498 +v 0.124933 -0.963912 -0.208534 +v 0.135616 0.951092 -0.253720 +v 0.122960 0.951104 -0.259948 +v 0.114834 0.963844 -0.214839 +v 0.147827 0.951104 -0.246657 +v 0.156906 0.935878 -0.293551 +v 0.142314 0.935878 -0.300897 +v 0.103982 0.963894 -0.219733 +v 0.124933 0.963894 -0.208534 +v 0.171122 0.935878 -0.285499 +v 0.295467 -0.768374 -0.552780 +v 0.267988 -0.768374 -0.566613 +v 0.312778 -0.736508 -0.585166 +v 0.322236 -0.768374 -0.537617 +v 0.277446 -0.798391 -0.519065 +v 0.251643 -0.798391 -0.532054 +v 0.283689 -0.736508 -0.599809 +v 0.341115 -0.736508 -0.569115 +v 0.302582 -0.798391 -0.504827 +v 0.410753 -0.468573 -0.768464 +v 0.372552 -0.468573 -0.787695 +v 0.421032 -0.424995 -0.787695 +v 0.447966 -0.468573 -0.747385 +v 0.399486 -0.511023 -0.747385 +v 0.362333 -0.511023 -0.766088 +v 0.381875 -0.424995 -0.807407 +v 0.459176 -0.424995 -0.766088 +v 0.435678 -0.511023 -0.726884 +v 0.463505 -0.097437 -0.867156 +v 0.420398 -0.097437 -0.888857 +v 0.465188 -0.048782 -0.870304 +v 0.505497 -0.097437 -0.843370 +v 0.460708 -0.145858 -0.861923 +v 0.417861 -0.145858 -0.883492 +v 0.421924 -0.048782 -0.892083 +v 0.507332 -0.048782 -0.846432 +v 0.502446 -0.145858 -0.838280 +v 0.445693 0.288531 -0.833832 +v 0.404242 0.288531 -0.854698 +v 0.438523 0.334857 -0.820418 +v 0.486071 0.288531 -0.810960 +v 0.451791 0.241511 -0.845240 +v 0.409773 0.241511 -0.866392 +v 0.397739 0.334857 -0.840949 +v 0.478252 0.334857 -0.797914 +v 0.492722 0.241511 -0.822056 +v 0.360028 0.630571 -0.673564 +v 0.326544 0.630571 -0.690420 +v 0.345097 0.667515 -0.645630 +v 0.392645 0.630571 -0.655088 +v 0.374093 0.592111 -0.699878 +v 0.339301 0.592111 -0.717393 +v 0.313002 0.667515 -0.661787 +v 0.376362 0.667515 -0.627921 +v 0.407985 0.592111 -0.680681 +v 0.219552 0.876611 -0.410753 +v 0.199133 0.876611 -0.421032 +v 0.199133 0.898549 -0.372552 +v 0.239443 0.876611 -0.399486 +v 0.239443 0.852566 -0.447966 +v 0.217174 0.852566 -0.459176 +v 0.180613 0.898549 -0.381875 +v 0.217174 0.898549 -0.362333 +v 0.261136 0.852566 -0.435678 +v 0.219552 -0.876630 -0.410752 +v 0.199133 -0.876630 -0.421032 +v 0.239443 -0.852584 -0.447966 +v 0.239443 -0.876630 -0.399486 +v 0.199133 -0.898567 -0.372552 +v 0.180613 -0.898567 -0.381875 +v 0.217174 -0.852584 -0.459176 +v 0.261136 -0.852584 -0.435678 +v 0.217174 -0.898567 -0.362333 +v 0.360028 -0.630590 -0.673564 +v 0.326544 -0.630590 -0.690420 +v 0.374093 -0.592129 -0.699878 +v 0.392645 -0.630590 -0.655088 +v 0.345097 -0.667534 -0.645630 +v 0.313002 -0.667534 -0.661787 +v 0.339301 -0.592129 -0.717392 +v 0.407985 -0.592129 -0.680681 +v 0.376362 -0.667534 -0.627921 +v 0.599801 -0.288549 -0.730860 +v 0.563218 -0.288549 -0.759412 +v 0.608008 -0.241529 -0.740859 +v 0.634942 -0.288549 -0.700550 +v 0.590152 -0.334875 -0.719102 +v 0.554158 -0.334875 -0.747195 +v 0.570924 -0.241529 -0.769802 +v 0.643629 -0.241529 -0.710135 +v 0.624728 -0.334875 -0.689280 +v 0.623772 0.097419 -0.760069 +v 0.585727 0.097419 -0.789762 +v 0.620008 0.145840 -0.755481 +v 0.660318 0.097419 -0.728547 +v 0.626037 0.048763 -0.762828 +v 0.587854 0.048763 -0.792629 +v 0.582192 0.145840 -0.784996 +v 0.656332 0.145840 -0.724150 +v 0.662715 0.048763 -0.731192 +v 0.552780 0.468554 -0.673564 +v 0.519065 0.468554 -0.699878 +v 0.537617 0.511005 -0.655088 +v 0.585166 0.468554 -0.645630 +v 0.566613 0.424977 -0.690420 +v 0.532054 0.424977 -0.717392 +v 0.504827 0.511005 -0.680680 +v 0.569115 0.511005 -0.627921 +v 0.599810 0.424977 -0.661787 +v 0.397632 0.768355 -0.484516 +v 0.373380 0.768355 -0.503444 +v 0.373380 0.798372 -0.454964 +v 0.420928 0.768355 -0.464422 +v 0.420928 0.736490 -0.512902 +v 0.395255 0.736490 -0.532939 +v 0.350606 0.798372 -0.472738 +v 0.395255 0.798373 -0.436096 +v 0.445589 0.736490 -0.491631 +v 0.182509 -0.951111 -0.222387 +v 0.171311 -0.951123 -0.230965 +v 0.211160 -0.935896 -0.257299 +v 0.193106 -0.951123 -0.213078 +v 0.154540 -0.963862 -0.188307 +v 0.144851 -0.963912 -0.195225 +v 0.198281 -0.935896 -0.267351 +v 0.223532 -0.935896 -0.246629 +v 0.163215 -0.963912 -0.180154 +v 0.182509 0.951092 -0.222387 +v 0.171311 0.951104 -0.230965 +v 0.154540 0.963844 -0.188308 +v 0.193107 0.951104 -0.213078 +v 0.211160 0.935878 -0.257299 +v 0.198281 0.935878 -0.267351 +v 0.144851 0.963894 -0.195225 +v 0.163216 0.963894 -0.180154 +v 0.223532 0.935878 -0.246629 +v 0.397632 -0.768374 -0.484516 +v 0.373380 -0.768374 -0.503444 +v 0.420928 -0.736508 -0.512902 +v 0.420928 -0.768374 -0.464422 +v 0.373380 -0.798391 -0.454964 +v 0.350606 -0.798391 -0.472738 +v 0.395255 -0.736508 -0.532939 +v 0.445589 -0.736508 -0.491631 +v 0.395255 -0.798391 -0.436096 +v 0.552780 -0.468573 -0.673564 +v 0.519065 -0.468573 -0.699878 +v 0.566613 -0.424995 -0.690420 +v 0.585166 -0.468573 -0.645630 +v 0.537617 -0.511023 -0.655088 +v 0.504827 -0.511023 -0.680681 +v 0.532054 -0.424995 -0.717393 +v 0.599810 -0.424995 -0.661787 +v 0.569115 -0.511023 -0.627921 +v 0.623772 -0.097437 -0.760069 +v 0.585727 -0.097437 -0.789762 +v 0.626037 -0.048782 -0.762828 +v 0.660318 -0.097437 -0.728547 +v 0.620008 -0.145858 -0.755481 +v 0.582192 -0.145858 -0.784996 +v 0.587854 -0.048782 -0.792629 +v 0.662715 -0.048782 -0.731192 +v 0.656332 -0.145858 -0.724150 +v 0.599801 0.288531 -0.730860 +v 0.563218 0.288531 -0.759412 +v 0.590152 0.334857 -0.719102 +v 0.634942 0.288531 -0.700550 +v 0.608008 0.241511 -0.740859 +v 0.570924 0.241511 -0.769802 +v 0.554158 0.334857 -0.747195 +v 0.624728 0.334857 -0.689280 +v 0.643629 0.241511 -0.710135 +v 0.484516 0.630571 -0.590384 +v 0.454964 0.630571 -0.613448 +v 0.464422 0.667515 -0.565900 +v 0.512902 0.630571 -0.565900 +v 0.503444 0.592111 -0.613448 +v 0.472738 0.592111 -0.637414 +v 0.436096 0.667515 -0.588008 +v 0.491631 0.667515 -0.542431 +v 0.532940 0.592111 -0.588008 +v 0.295467 0.876611 -0.360028 +v 0.277446 0.876611 -0.374093 +v 0.267988 0.898549 -0.326544 +v 0.312778 0.876611 -0.345097 +v 0.322236 0.852566 -0.392645 +v 0.302582 0.852566 -0.407985 +v 0.251643 0.898549 -0.339301 +v 0.283689 0.898549 -0.313002 +v 0.341115 0.852566 -0.376362 +v 0.295467 -0.876630 -0.360027 +v 0.277446 -0.876630 -0.374093 +v 0.322236 -0.852584 -0.392645 +v 0.312778 -0.876630 -0.345097 +v 0.267988 -0.898567 -0.326544 +v 0.251643 -0.898567 -0.339301 +v 0.302582 -0.852584 -0.407984 +v 0.341115 -0.852584 -0.376361 +v 0.283689 -0.898567 -0.313002 +v 0.484516 -0.630590 -0.590384 +v 0.454964 -0.630590 -0.613448 +v 0.503444 -0.592129 -0.613448 +v 0.512902 -0.630590 -0.565900 +v 0.464422 -0.667534 -0.565900 +v 0.436096 -0.667534 -0.588008 +v 0.472738 -0.592129 -0.637414 +v 0.532940 -0.592129 -0.588008 +v 0.491631 -0.667534 -0.542431 +v 0.730860 -0.288549 -0.599801 +v 0.700550 -0.288549 -0.634942 +v 0.740860 -0.241529 -0.608007 +v 0.759412 -0.288549 -0.563218 +v 0.719102 -0.334875 -0.590152 +v 0.689280 -0.334875 -0.624727 +v 0.710135 -0.241529 -0.643629 +v 0.769803 -0.241529 -0.570924 +v 0.747195 -0.334875 -0.554157 +v 0.760069 0.097419 -0.623772 +v 0.728548 0.097419 -0.660317 +v 0.755482 0.145840 -0.620008 +v 0.789762 0.097419 -0.585727 +v 0.762828 0.048763 -0.626037 +v 0.731193 0.048763 -0.662714 +v 0.724151 0.145840 -0.656332 +v 0.784996 0.145840 -0.582192 +v 0.792629 0.048763 -0.587853 +v 0.673564 0.468554 -0.552780 +v 0.645631 0.468554 -0.585166 +v 0.655089 0.511005 -0.537617 +v 0.699878 0.468554 -0.519065 +v 0.690420 0.424977 -0.566613 +v 0.661788 0.424977 -0.599809 +v 0.627921 0.511005 -0.569115 +v 0.680681 0.511005 -0.504827 +v 0.717393 0.424977 -0.532054 +v 0.484516 0.768355 -0.397632 +v 0.464422 0.768355 -0.420928 +v 0.454964 0.798372 -0.373379 +v 0.503444 0.768355 -0.373379 +v 0.512902 0.736490 -0.420928 +v 0.491631 0.736490 -0.445589 +v 0.436096 0.798372 -0.395255 +v 0.472738 0.798373 -0.350606 +v 0.532940 0.736490 -0.395255 +v 0.222387 -0.951111 -0.182508 +v 0.213078 -0.951123 -0.193106 +v 0.257299 -0.935896 -0.211160 +v 0.230965 -0.951123 -0.171311 +v 0.188308 -0.963862 -0.154540 +v 0.180155 -0.963912 -0.163215 +v 0.246629 -0.935896 -0.223531 +v 0.267351 -0.935896 -0.198281 +v 0.195226 -0.963912 -0.144851 +v 0.222387 0.951092 -0.182508 +v 0.213079 0.951104 -0.193106 +v 0.188308 0.963844 -0.154540 +v 0.230966 0.951104 -0.171311 +v 0.257300 0.935878 -0.211160 +v 0.246629 0.935878 -0.223531 +v 0.180155 0.963894 -0.163215 +v 0.195226 0.963894 -0.144851 +v 0.267351 0.935878 -0.198281 +v 0.484516 -0.768374 -0.397632 +v 0.464422 -0.768374 -0.420928 +v 0.512902 -0.736508 -0.420928 +v 0.503444 -0.768374 -0.373379 +v 0.454964 -0.798391 -0.373379 +v 0.436096 -0.798391 -0.395254 +v 0.491631 -0.736508 -0.445589 +v 0.532940 -0.736508 -0.395254 +v 0.472738 -0.798391 -0.350606 +v 0.673564 -0.468573 -0.552780 +v 0.645631 -0.468573 -0.585166 +v 0.690420 -0.424995 -0.566613 +v 0.699878 -0.468573 -0.519065 +v 0.655089 -0.511023 -0.537617 +v 0.627921 -0.511023 -0.569115 +v 0.661788 -0.424995 -0.599809 +v 0.717393 -0.424995 -0.532054 +v 0.680681 -0.511023 -0.504827 +v 0.760069 -0.097437 -0.623772 +v 0.728548 -0.097437 -0.660317 +v 0.762828 -0.048782 -0.626037 +v 0.789762 -0.097437 -0.585727 +v 0.755482 -0.145858 -0.620008 +v 0.724151 -0.145858 -0.656332 +v 0.731193 -0.048782 -0.662714 +v 0.792629 -0.048782 -0.587853 +v 0.784996 -0.145858 -0.582192 +v 0.730860 0.288531 -0.599801 +v 0.700550 0.288531 -0.634942 +v 0.719103 0.334857 -0.590152 +v 0.759412 0.288531 -0.563218 +v 0.740860 0.241511 -0.608008 +v 0.710135 0.241511 -0.643629 +v 0.689280 0.334857 -0.624727 +v 0.747195 0.334857 -0.554157 +v 0.769803 0.241511 -0.570924 +v 0.590384 0.630571 -0.484515 +v 0.565900 0.630571 -0.512902 +v 0.565900 0.667515 -0.464422 +v 0.613449 0.630571 -0.454964 +v 0.613449 0.592111 -0.503444 +v 0.588008 0.592111 -0.532939 +v 0.542431 0.667515 -0.491631 +v 0.588008 0.667515 -0.436096 +v 0.637414 0.592111 -0.472738 +v 0.360028 0.876611 -0.295467 +v 0.345097 0.876611 -0.312778 +v 0.326545 0.898549 -0.267988 +v 0.374093 0.876611 -0.277446 +v 0.392645 0.852566 -0.322236 +v 0.376362 0.852566 -0.341114 +v 0.313002 0.898549 -0.283689 +v 0.339302 0.898549 -0.251643 +v 0.407985 0.852566 -0.302582 +v 0.360028 -0.876630 -0.295467 +v 0.345097 -0.876630 -0.312777 +v 0.392645 -0.852584 -0.322235 +v 0.374093 -0.876630 -0.277446 +v 0.326544 -0.898567 -0.267988 +v 0.313002 -0.898567 -0.283688 +v 0.376362 -0.852584 -0.341114 +v 0.407985 -0.852584 -0.302582 +v 0.339301 -0.898567 -0.251643 +v 0.590384 -0.630590 -0.484515 +v 0.565900 -0.630590 -0.512902 +v 0.613449 -0.592129 -0.503444 +v 0.613449 -0.630590 -0.454964 +v 0.565900 -0.667534 -0.464422 +v 0.542431 -0.667534 -0.491631 +v 0.588008 -0.592129 -0.532939 +v 0.637414 -0.592129 -0.472738 +v 0.588008 -0.667534 -0.436096 +v 0.833832 -0.288549 -0.445692 +v 0.810960 -0.288549 -0.486071 +v 0.845241 -0.241529 -0.451790 +v 0.854699 -0.288549 -0.404242 +v 0.820418 -0.334875 -0.438522 +v 0.797914 -0.334875 -0.478252 +v 0.822056 -0.241529 -0.492721 +v 0.866393 -0.241529 -0.409773 +v 0.840949 -0.334875 -0.397739 +v 0.867156 0.097419 -0.463504 +v 0.843370 0.097419 -0.505497 +v 0.861923 0.145840 -0.460707 +v 0.888857 0.097419 -0.420397 +v 0.870304 0.048763 -0.465187 +v 0.846432 0.048763 -0.507332 +v 0.838280 0.145840 -0.502446 +v 0.883492 0.145840 -0.417860 +v 0.892084 0.048763 -0.421924 +v 0.768464 0.468554 -0.410752 +v 0.747385 0.468554 -0.447966 +v 0.747385 0.511005 -0.399485 +v 0.787695 0.468554 -0.372551 +v 0.787695 0.424977 -0.421031 +v 0.766088 0.424977 -0.459176 +v 0.726884 0.511005 -0.435678 +v 0.766088 0.511005 -0.362332 +v 0.807407 0.424977 -0.381875 +v 0.552780 0.768355 -0.295467 +v 0.537617 0.768355 -0.322236 +v 0.519065 0.798372 -0.277446 +v 0.566613 0.768355 -0.267988 +v 0.585166 0.736490 -0.312778 +v 0.569115 0.736490 -0.341114 +v 0.504827 0.798372 -0.302582 +v 0.532055 0.798373 -0.251643 +v 0.599810 0.736490 -0.283689 +v 0.253720 -0.951111 -0.135616 +v 0.246657 -0.951123 -0.147826 +v 0.293551 -0.935896 -0.156906 +v 0.259949 -0.951123 -0.122960 +v 0.214839 -0.963862 -0.114834 +v 0.208535 -0.963912 -0.124933 +v 0.285499 -0.935896 -0.171121 +v 0.300897 -0.935896 -0.142313 +v 0.219733 -0.963912 -0.103981 +v 0.253720 0.951092 -0.135616 +v 0.246658 0.951104 -0.147826 +v 0.214839 0.963844 -0.114834 +v 0.259949 0.951104 -0.122960 +v 0.293551 0.935878 -0.156906 +v 0.285499 0.935878 -0.171121 +v 0.208535 0.963894 -0.124933 +v 0.219734 0.963894 -0.103981 +v 0.300897 0.935878 -0.142313 +v 0.552780 -0.768374 -0.295467 +v 0.537617 -0.768374 -0.322235 +v 0.585166 -0.736508 -0.312777 +v 0.566613 -0.768374 -0.267988 +v 0.519065 -0.798391 -0.277446 +v 0.504827 -0.798391 -0.302582 +v 0.569115 -0.736508 -0.341114 +v 0.599810 -0.736508 -0.283688 +v 0.532054 -0.798391 -0.251643 +v 0.768464 -0.468573 -0.410752 +v 0.747385 -0.468573 -0.447966 +v 0.787695 -0.424995 -0.421032 +v 0.787695 -0.468573 -0.372551 +v 0.747385 -0.511023 -0.399485 +v 0.726884 -0.511023 -0.435678 +v 0.766088 -0.424995 -0.459176 +v 0.807407 -0.424995 -0.381875 +v 0.766088 -0.511023 -0.362332 +v 0.867156 -0.097437 -0.463504 +v 0.843370 -0.097437 -0.505497 +v 0.870304 -0.048782 -0.465187 +v 0.888857 -0.097437 -0.420397 +v 0.861923 -0.145858 -0.460707 +v 0.838280 -0.145858 -0.502446 +v 0.846432 -0.048782 -0.507332 +v 0.892084 -0.048782 -0.421924 +v 0.883492 -0.145858 -0.417860 +v 0.833832 0.288531 -0.445692 +v 0.810960 0.288531 -0.486071 +v 0.820418 0.334857 -0.438522 +v 0.854699 0.288531 -0.404242 +v 0.845241 0.241511 -0.451790 +v 0.822056 0.241511 -0.492721 +v 0.797914 0.334857 -0.478252 +v 0.840949 0.334857 -0.397739 +v 0.866393 0.241511 -0.409773 +v 0.673564 0.630571 -0.360027 +v 0.655089 0.630571 -0.392645 +v 0.645631 0.667515 -0.345097 +v 0.690420 0.630571 -0.326544 +v 0.699878 0.592111 -0.374093 +v 0.680681 0.592111 -0.407984 +v 0.627921 0.667515 -0.376361 +v 0.661788 0.667515 -0.313002 +v 0.717393 0.592111 -0.339301 +v 0.410753 0.876611 -0.219552 +v 0.399486 0.876611 -0.239443 +v 0.372552 0.898549 -0.199133 +v 0.421032 0.876611 -0.199133 +v 0.447966 0.852566 -0.239443 +v 0.435678 0.852566 -0.261136 +v 0.362333 0.898549 -0.217174 +v 0.381875 0.898549 -0.180613 +v 0.459176 0.852566 -0.217174 +v 0.410753 -0.876630 -0.219552 +v 0.399486 -0.876630 -0.239443 +v 0.447966 -0.852584 -0.239443 +v 0.421032 -0.876630 -0.199133 +v 0.372552 -0.898567 -0.199133 +v 0.362333 -0.898567 -0.217174 +v 0.435678 -0.852584 -0.261135 +v 0.459176 -0.852584 -0.217174 +v 0.381875 -0.898567 -0.180613 +v 0.673564 -0.630590 -0.360027 +v 0.655089 -0.630590 -0.392645 +v 0.699878 -0.592129 -0.374092 +v 0.690420 -0.630590 -0.326544 +v 0.645631 -0.667534 -0.345097 +v 0.627921 -0.667534 -0.376361 +v 0.680681 -0.592129 -0.407984 +v 0.717393 -0.592129 -0.339301 +v 0.661788 -0.667534 -0.313002 +v 0.904760 -0.288549 -0.274456 +v 0.890205 -0.288549 -0.318521 +v 0.917139 -0.241529 -0.278211 +v 0.917139 -0.288549 -0.229731 +v 0.890205 -0.334875 -0.270041 +v 0.875885 -0.334875 -0.313397 +v 0.902385 -0.241529 -0.322879 +v 0.929688 -0.241529 -0.232874 +v 0.902385 -0.334875 -0.226035 +v 0.940919 0.097419 -0.285425 +v 0.925783 0.097419 -0.331250 +v 0.935241 0.145840 -0.283702 +v 0.953793 0.097419 -0.238912 +v 0.944335 0.048763 -0.286461 +v 0.929144 0.048763 -0.332453 +v 0.920195 0.145840 -0.329251 +v 0.948037 0.145840 -0.237470 +v 0.957256 0.048763 -0.239780 +v 0.833832 0.468554 -0.252940 +v 0.820418 0.468554 -0.293550 +v 0.810960 0.511005 -0.246002 +v 0.845241 0.468554 -0.211721 +v 0.854699 0.424977 -0.259270 +v 0.840949 0.424977 -0.300897 +v 0.797914 0.511005 -0.285498 +v 0.822056 0.511005 -0.205914 +v 0.866393 0.424977 -0.217020 +v 0.599801 0.768355 -0.181948 +v 0.590152 0.768355 -0.211160 +v 0.563218 0.798372 -0.170850 +v 0.608008 0.768355 -0.152298 +v 0.634942 0.736490 -0.192607 +v 0.624728 0.736490 -0.223531 +v 0.554158 0.798372 -0.198281 +v 0.570924 0.798373 -0.143009 +v 0.643629 0.736490 -0.161220 +v 0.275302 -0.951111 -0.083512 +v 0.270757 -0.951123 -0.096865 +v 0.318521 -0.935896 -0.096622 +v 0.278942 -0.951123 -0.069884 +v 0.233114 -0.963862 -0.070714 +v 0.228901 -0.963912 -0.081849 +v 0.313397 -0.935896 -0.112135 +v 0.322879 -0.935896 -0.080877 +v 0.235797 -0.963912 -0.059115 +v 0.275302 0.951092 -0.083512 +v 0.270757 0.951104 -0.096865 +v 0.233114 0.963844 -0.070714 +v 0.278942 0.951104 -0.069884 +v 0.318521 0.935878 -0.096622 +v 0.313397 0.935878 -0.112135 +v 0.228901 0.963894 -0.081849 +v 0.235797 0.963894 -0.059115 +v 0.322879 0.935878 -0.080877 +v 0.599801 -0.768374 -0.181948 +v 0.590152 -0.768374 -0.211160 +v 0.634942 -0.736508 -0.192607 +v 0.608008 -0.768374 -0.152298 +v 0.563218 -0.798391 -0.170850 +v 0.554158 -0.798391 -0.198281 +v 0.624728 -0.736508 -0.223531 +v 0.643629 -0.736508 -0.161220 +v 0.570924 -0.798391 -0.143009 +v 0.833832 -0.468573 -0.252940 +v 0.820418 -0.468573 -0.293550 +v 0.854699 -0.424995 -0.259270 +v 0.845241 -0.468573 -0.211721 +v 0.810960 -0.511023 -0.246002 +v 0.797914 -0.511023 -0.285498 +v 0.840949 -0.424995 -0.300897 +v 0.866393 -0.424995 -0.217020 +v 0.822056 -0.511023 -0.205914 +v 0.940919 -0.097437 -0.285425 +v 0.925783 -0.097437 -0.331250 +v 0.944335 -0.048782 -0.286461 +v 0.953793 -0.097437 -0.238912 +v 0.935241 -0.145858 -0.283702 +v 0.920195 -0.145858 -0.329251 +v 0.929144 -0.048782 -0.332453 +v 0.957256 -0.048782 -0.239780 +v 0.948037 -0.145858 -0.237470 +v 0.904760 0.288531 -0.274456 +v 0.890205 0.288531 -0.318521 +v 0.890205 0.334857 -0.270041 +v 0.917139 0.288531 -0.229731 +v 0.917139 0.241511 -0.278211 +v 0.902385 0.241511 -0.322879 +v 0.875885 0.334857 -0.313397 +v 0.902385 0.334857 -0.226035 +v 0.929688 0.241511 -0.232874 +v 0.730860 0.630571 -0.221704 +v 0.719103 0.630571 -0.257299 +v 0.700550 0.667515 -0.212509 +v 0.740860 0.630571 -0.185575 +v 0.759412 0.592111 -0.230365 +v 0.747195 0.592111 -0.267351 +v 0.689280 0.667515 -0.246628 +v 0.710135 0.667515 -0.177879 +v 0.769803 0.592111 -0.192825 +v 0.445693 0.876611 -0.135199 +v 0.438523 0.876611 -0.156906 +v 0.404242 0.898549 -0.122625 +v 0.451791 0.876611 -0.113168 +v 0.486071 0.852566 -0.147448 +v 0.478252 0.852566 -0.171121 +v 0.397739 0.898549 -0.142313 +v 0.409773 0.898549 -0.102643 +v 0.492722 0.852566 -0.123420 +v 0.445693 -0.876630 -0.135199 +v 0.438523 -0.876630 -0.156906 +v 0.486071 -0.852584 -0.147448 +v 0.451791 -0.876630 -0.113167 +v 0.404242 -0.898567 -0.122625 +v 0.397739 -0.898567 -0.142313 +v 0.478252 -0.852584 -0.171121 +v 0.492722 -0.852584 -0.123420 +v 0.409773 -0.898567 -0.102643 +v 0.730860 -0.630590 -0.221704 +v 0.719103 -0.630590 -0.257299 +v 0.759412 -0.592129 -0.230365 +v 0.740860 -0.630590 -0.185575 +v 0.700550 -0.667534 -0.212509 +v 0.689280 -0.667534 -0.246628 +v 0.747195 -0.592129 -0.267351 +v 0.769803 -0.592129 -0.192825 +v 0.710135 -0.667534 -0.177879 +v 0.940919 -0.288549 -0.092672 +v 0.935241 -0.288549 -0.138730 +v 0.953793 -0.241529 -0.093940 +v 0.944335 -0.288549 -0.046392 +v 0.925783 -0.334875 -0.091182 +v 0.920195 -0.334875 -0.136498 +v 0.948037 -0.241529 -0.140628 +v 0.957256 -0.241529 -0.047027 +v 0.929144 -0.334875 -0.045646 +v 0.978523 0.097419 -0.096376 +v 0.972618 0.097419 -0.144274 +v 0.972618 0.145840 -0.095794 +v 0.982076 0.097419 -0.048246 +v 0.982076 0.048763 -0.096726 +v 0.976149 0.048763 -0.144798 +v 0.966748 0.145840 -0.143404 +v 0.976149 0.145840 -0.047955 +v 0.985641 0.048763 -0.048421 +v 0.867156 0.468554 -0.085407 +v 0.861923 0.468554 -0.127854 +v 0.843370 0.511005 -0.083065 +v 0.870304 0.468554 -0.042755 +v 0.888857 0.424977 -0.087545 +v 0.883492 0.424977 -0.131054 +v 0.838280 0.511005 -0.124347 +v 0.846432 0.511005 -0.041582 +v 0.892084 0.424977 -0.043825 +v 0.623772 0.768355 -0.061436 +v 0.620008 0.768355 -0.091970 +v 0.585727 0.798372 -0.057689 +v 0.626037 0.768355 -0.030755 +v 0.660318 0.736490 -0.065036 +v 0.656332 0.736490 -0.097358 +v 0.582192 0.798372 -0.086360 +v 0.587854 0.798373 -0.028879 +v 0.662715 0.736490 -0.032557 +v 0.286304 -0.951111 -0.028198 +v 0.284452 -0.951123 -0.042182 +v 0.331251 -0.935896 -0.032625 +v 0.287216 -0.951123 -0.014122 +v 0.242430 -0.963862 -0.023877 +v 0.240470 -0.963912 -0.035620 +v 0.329252 -0.935896 -0.048840 +v 0.332453 -0.935896 -0.016332 +v 0.242799 -0.963912 -0.011978 +v 0.286304 0.951092 -0.028199 +v 0.284452 0.951104 -0.042182 +v 0.242430 0.963844 -0.023877 +v 0.287216 0.951104 -0.014122 +v 0.331251 0.935878 -0.032625 +v 0.329252 0.935878 -0.048840 +v 0.240471 0.963894 -0.035620 +v 0.242799 0.963894 -0.011978 +v 0.332454 0.935878 -0.016332 +v 0.623772 -0.768374 -0.061436 +v 0.620008 -0.768374 -0.091970 +v 0.660318 -0.736508 -0.065036 +v 0.626037 -0.768374 -0.030755 +v 0.585727 -0.798391 -0.057689 +v 0.582192 -0.798391 -0.086360 +v 0.656332 -0.736508 -0.097358 +v 0.662715 -0.736508 -0.032557 +v 0.587854 -0.798391 -0.028879 +v 0.867156 -0.468573 -0.085407 +v 0.861923 -0.468573 -0.127854 +v 0.888857 -0.424995 -0.087545 +v 0.870304 -0.468573 -0.042755 +v 0.843370 -0.511023 -0.083065 +v 0.838280 -0.511023 -0.124347 +v 0.883492 -0.424995 -0.131054 +v 0.892084 -0.424995 -0.043825 +v 0.846432 -0.511023 -0.041582 +v 0.978523 -0.097437 -0.096376 +v 0.972618 -0.097437 -0.144274 +v 0.982076 -0.048782 -0.096726 +v 0.982076 -0.097437 -0.048246 +v 0.972618 -0.145858 -0.095794 +v 0.966748 -0.145858 -0.143404 +v 0.976149 -0.048782 -0.144798 +v 0.985641 -0.048782 -0.048421 +v 0.976149 -0.145858 -0.047955 +v 0.940919 0.288531 -0.092672 +v 0.935241 0.288531 -0.138730 +v 0.925783 0.334857 -0.091182 +v 0.944335 0.288531 -0.046392 +v 0.953793 0.241511 -0.093940 +v 0.948037 0.241511 -0.140628 +v 0.920195 0.334857 -0.136498 +v 0.929144 0.334857 -0.045646 +v 0.957256 0.241511 -0.047027 +v 0.760069 0.630571 -0.074860 +v 0.755482 0.630571 -0.112065 +v 0.728548 0.667515 -0.071756 +v 0.762828 0.630571 -0.037475 +v 0.789762 0.592111 -0.077785 +v 0.784996 0.592111 -0.116443 +v 0.724151 0.667515 -0.107418 +v 0.731192 0.667515 -0.035921 +v 0.792629 0.592111 -0.038939 +v 0.463505 0.876611 -0.045651 +v 0.460708 0.876611 -0.068340 +v 0.420398 0.898549 -0.041406 +v 0.465188 0.876611 -0.022853 +v 0.505497 0.852566 -0.049787 +v 0.502447 0.852566 -0.074531 +v 0.417861 0.898549 -0.061984 +v 0.421924 0.898549 -0.020728 +v 0.507332 0.852566 -0.024924 +v 0.463505 -0.876630 -0.045651 +v 0.460707 -0.876630 -0.068340 +v 0.505497 -0.852584 -0.049787 +v 0.465187 -0.876630 -0.022853 +v 0.420398 -0.898567 -0.041406 +v 0.417861 -0.898567 -0.061984 +v 0.502446 -0.852584 -0.074531 +v 0.507332 -0.852584 -0.024923 +v 0.421924 -0.898567 -0.020728 +v 0.760069 -0.630590 -0.074860 +v 0.755482 -0.630590 -0.112065 +v 0.789762 -0.592129 -0.077785 +v 0.762828 -0.630590 -0.037475 +v 0.728548 -0.667534 -0.071756 +v 0.724151 -0.667534 -0.107418 +v 0.784996 -0.592129 -0.116443 +v 0.792629 -0.592129 -0.038939 +v 0.731193 -0.667534 -0.035921 +v 0.940919 -0.288549 0.092672 +v 0.944335 -0.288549 0.046392 +v 0.953793 -0.241529 0.093940 +v 0.935241 -0.288549 0.138730 +v 0.925783 -0.334875 0.091182 +v 0.929144 -0.334875 0.045646 +v 0.957256 -0.241529 0.047027 +v 0.948037 -0.241529 0.140628 +v 0.920195 -0.334875 0.136498 +v 0.978523 0.097419 0.096376 +v 0.982076 0.097419 0.048246 +v 0.972618 0.145840 0.095795 +v 0.972618 0.097419 0.144275 +v 0.982076 0.048763 0.096726 +v 0.985641 0.048763 0.048421 +v 0.976149 0.145840 0.047955 +v 0.966748 0.145840 0.143404 +v 0.976149 0.048763 0.144798 +v 0.867156 0.468554 0.085407 +v 0.870304 0.468554 0.042755 +v 0.843370 0.511005 0.083065 +v 0.861923 0.468554 0.127854 +v 0.888857 0.424977 0.087545 +v 0.892084 0.424977 0.043825 +v 0.846432 0.511005 0.041582 +v 0.838280 0.511005 0.124347 +v 0.883492 0.424977 0.131054 +v 0.623772 0.768355 0.061436 +v 0.626037 0.768355 0.030755 +v 0.585727 0.798372 0.057689 +v 0.620008 0.768355 0.091970 +v 0.660318 0.736490 0.065036 +v 0.662715 0.736490 0.032557 +v 0.587854 0.798372 0.028879 +v 0.582192 0.798373 0.086360 +v 0.656332 0.736490 0.097358 +v 0.286304 -0.951111 0.028198 +v 0.287216 -0.951123 0.014122 +v 0.331251 -0.935896 0.032625 +v 0.284452 -0.951123 0.042182 +v 0.242430 -0.963862 0.023877 +v 0.242799 -0.963912 0.011978 +v 0.332453 -0.935896 0.016332 +v 0.329252 -0.935896 0.048840 +v 0.240470 -0.963912 0.035620 +v 0.286304 0.951092 0.028198 +v 0.287216 0.951104 0.014122 +v 0.242430 0.963844 0.023877 +v 0.284452 0.951104 0.042182 +v 0.331251 0.935878 0.032625 +v 0.332454 0.935878 0.016332 +v 0.242799 0.963894 0.011978 +v 0.240471 0.963894 0.035620 +v 0.329252 0.935878 0.048840 +v 0.623772 -0.768374 0.061436 +v 0.626037 -0.768374 0.030755 +v 0.660317 -0.736508 0.065036 +v 0.620008 -0.768374 0.091970 +v 0.585727 -0.798391 0.057689 +v 0.587854 -0.798391 0.028879 +v 0.662715 -0.736508 0.032557 +v 0.656332 -0.736508 0.097358 +v 0.582192 -0.798391 0.086360 +v 0.867156 -0.468573 0.085407 +v 0.870304 -0.468573 0.042755 +v 0.888857 -0.424995 0.087545 +v 0.861923 -0.468573 0.127854 +v 0.843370 -0.511023 0.083065 +v 0.846432 -0.511023 0.041582 +v 0.892084 -0.424995 0.043825 +v 0.883492 -0.424995 0.131054 +v 0.838280 -0.511023 0.124347 +v 0.978523 -0.097437 0.096376 +v 0.982076 -0.097437 0.048246 +v 0.982076 -0.048782 0.096726 +v 0.972618 -0.097437 0.144275 +v 0.972618 -0.145858 0.095795 +v 0.976149 -0.145858 0.047955 +v 0.985641 -0.048782 0.048421 +v 0.976149 -0.048782 0.144798 +v 0.966748 -0.145858 0.143404 +v 0.940919 0.288531 0.092672 +v 0.944335 0.288531 0.046392 +v 0.925783 0.334857 0.091182 +v 0.935241 0.288531 0.138730 +v 0.953793 0.241511 0.093940 +v 0.957256 0.241511 0.047027 +v 0.929144 0.334857 0.045646 +v 0.920195 0.334857 0.136498 +v 0.948037 0.241511 0.140628 +v 0.760069 0.630571 0.074860 +v 0.762828 0.630571 0.037475 +v 0.728548 0.667515 0.071756 +v 0.755482 0.630571 0.112065 +v 0.789762 0.592111 0.077785 +v 0.792629 0.592111 0.038939 +v 0.731192 0.667515 0.035921 +v 0.724151 0.667515 0.107418 +v 0.784996 0.592111 0.116443 +v 0.463505 0.876611 0.045651 +v 0.465188 0.876611 0.022853 +v 0.420398 0.898549 0.041406 +v 0.460708 0.876611 0.068340 +v 0.505497 0.852566 0.049787 +v 0.507332 0.852566 0.024923 +v 0.421924 0.898549 0.020728 +v 0.417861 0.898549 0.061984 +v 0.502447 0.852566 0.074531 +v 0.463505 -0.876630 0.045651 +v 0.465187 -0.876630 0.022853 +v 0.505497 -0.852584 0.049787 +v 0.460707 -0.876630 0.068340 +v 0.420398 -0.898567 0.041406 +v 0.421924 -0.898567 0.020728 +v 0.507332 -0.852584 0.024923 +v 0.502446 -0.852584 0.074531 +v 0.417861 -0.898567 0.061984 +v 0.760069 -0.630590 0.074860 +v 0.762828 -0.630590 0.037475 +v 0.789762 -0.592129 0.077785 +v 0.755482 -0.630590 0.112065 +v 0.728548 -0.667534 0.071756 +v 0.731192 -0.667534 0.035921 +v 0.792629 -0.592129 0.038939 +v 0.784996 -0.592129 0.116443 +v 0.724151 -0.667534 0.107418 +v 0.904760 -0.288549 0.274456 +v 0.917139 -0.288549 0.229731 +v 0.917139 -0.241529 0.278211 +v 0.890205 -0.288549 0.318521 +v 0.890205 -0.334875 0.270041 +v 0.902385 -0.334875 0.226035 +v 0.929688 -0.241529 0.232874 +v 0.902385 -0.241529 0.322879 +v 0.875885 -0.334875 0.313397 +v 0.940919 0.097419 0.285425 +v 0.953793 0.097419 0.238912 +v 0.935241 0.145840 0.283702 +v 0.925783 0.097419 0.331251 +v 0.944335 0.048763 0.286461 +v 0.957256 0.048763 0.239780 +v 0.948037 0.145840 0.237471 +v 0.920195 0.145840 0.329251 +v 0.929144 0.048763 0.332453 +v 0.833832 0.468554 0.252940 +v 0.845240 0.468554 0.211721 +v 0.810960 0.511005 0.246002 +v 0.820418 0.468554 0.293550 +v 0.854699 0.424977 0.259270 +v 0.866393 0.424977 0.217020 +v 0.822056 0.511005 0.205914 +v 0.797914 0.511005 0.285498 +v 0.840949 0.424977 0.300897 +v 0.599801 0.768355 0.181948 +v 0.608008 0.768355 0.152298 +v 0.563218 0.798372 0.170850 +v 0.590152 0.768355 0.211160 +v 0.634942 0.736490 0.192607 +v 0.643629 0.736490 0.161220 +v 0.570924 0.798372 0.143009 +v 0.554158 0.798373 0.198281 +v 0.624728 0.736490 0.223531 +v 0.275302 -0.951111 0.083512 +v 0.278942 -0.951123 0.069884 +v 0.318521 -0.935896 0.096622 +v 0.270757 -0.951123 0.096865 +v 0.233114 -0.963862 0.070714 +v 0.235797 -0.963912 0.059115 +v 0.322879 -0.935896 0.080877 +v 0.313397 -0.935896 0.112135 +v 0.228901 -0.963912 0.081849 +v 0.275302 0.951092 0.083512 +v 0.278942 0.951104 0.069884 +v 0.233114 0.963844 0.070714 +v 0.270757 0.951104 0.096865 +v 0.318521 0.935878 0.096622 +v 0.322879 0.935878 0.080877 +v 0.235797 0.963894 0.059115 +v 0.228901 0.963894 0.081849 +v 0.313397 0.935878 0.112135 +v 0.599801 -0.768374 0.181948 +v 0.608008 -0.768374 0.152298 +v 0.634942 -0.736508 0.192607 +v 0.590152 -0.768374 0.211160 +v 0.563218 -0.798391 0.170850 +v 0.570924 -0.798391 0.143009 +v 0.643629 -0.736508 0.161220 +v 0.624727 -0.736508 0.223531 +v 0.554158 -0.798391 0.198281 +v 0.833832 -0.468573 0.252940 +v 0.845240 -0.468573 0.211721 +v 0.854698 -0.424995 0.259270 +v 0.820418 -0.468573 0.293550 +v 0.810960 -0.511023 0.246002 +v 0.822056 -0.511023 0.205914 +v 0.866393 -0.424995 0.217020 +v 0.840949 -0.424995 0.300896 +v 0.797914 -0.511023 0.285498 +v 0.940919 -0.097437 0.285425 +v 0.953793 -0.097437 0.238912 +v 0.944335 -0.048782 0.286461 +v 0.925783 -0.097437 0.331251 +v 0.935241 -0.145858 0.283702 +v 0.948037 -0.145858 0.237471 +v 0.957256 -0.048782 0.239780 +v 0.929144 -0.048782 0.332453 +v 0.920195 -0.145858 0.329251 +v 0.904760 0.288531 0.274456 +v 0.917139 0.288531 0.229731 +v 0.890205 0.334857 0.270041 +v 0.890205 0.288531 0.318521 +v 0.917139 0.241511 0.278211 +v 0.929688 0.241511 0.232874 +v 0.902385 0.334857 0.226035 +v 0.875885 0.334857 0.313397 +v 0.902385 0.241511 0.322879 +v 0.730860 0.630571 0.221704 +v 0.740859 0.630571 0.185575 +v 0.700550 0.667515 0.212509 +v 0.719102 0.630571 0.257299 +v 0.759412 0.592111 0.230365 +v 0.769802 0.592111 0.192825 +v 0.710135 0.667515 0.177879 +v 0.689280 0.667515 0.246629 +v 0.747195 0.592111 0.267351 +v 0.445693 0.876611 0.135199 +v 0.451791 0.876611 0.113167 +v 0.404242 0.898549 0.122625 +v 0.438523 0.876611 0.156906 +v 0.486071 0.852566 0.147448 +v 0.492722 0.852566 0.123420 +v 0.409773 0.898549 0.102643 +v 0.397739 0.898549 0.142313 +v 0.478252 0.852566 0.171121 +v 0.445693 -0.876630 0.135199 +v 0.451791 -0.876630 0.113167 +v 0.486071 -0.852584 0.147448 +v 0.438523 -0.876630 0.156906 +v 0.404242 -0.898567 0.122625 +v 0.409773 -0.898567 0.102643 +v 0.492722 -0.852584 0.123420 +v 0.478252 -0.852584 0.171121 +v 0.397739 -0.898567 0.142313 +v 0.730860 -0.630590 0.221704 +v 0.740860 -0.630590 0.185575 +v 0.759412 -0.592129 0.230365 +v 0.719102 -0.630590 0.257299 +v 0.700550 -0.667534 0.212509 +v 0.710135 -0.667534 0.177879 +v 0.769802 -0.592129 0.192825 +v 0.747195 -0.592129 0.267351 +v 0.689280 -0.667534 0.246629 +v 0.833832 -0.288549 0.445692 +v 0.854698 -0.288549 0.404242 +v 0.845240 -0.241529 0.451790 +v 0.810960 -0.288549 0.486071 +v 0.820418 -0.334875 0.438522 +v 0.840949 -0.334875 0.397739 +v 0.866393 -0.241529 0.409773 +v 0.822056 -0.241529 0.492721 +v 0.797914 -0.334875 0.478251 +v 0.867156 0.097419 0.463505 +v 0.888857 0.097419 0.420398 +v 0.861923 0.145840 0.460707 +v 0.843370 0.097419 0.505497 +v 0.870304 0.048763 0.465187 +v 0.892084 0.048763 0.421924 +v 0.883492 0.145840 0.417860 +v 0.838280 0.145840 0.502446 +v 0.846432 0.048763 0.507332 +v 0.768464 0.468554 0.410752 +v 0.787695 0.468554 0.372551 +v 0.747385 0.511005 0.399485 +v 0.747385 0.468554 0.447965 +v 0.787695 0.424977 0.421031 +v 0.807407 0.424977 0.381875 +v 0.766088 0.511005 0.362332 +v 0.726884 0.511005 0.435678 +v 0.766088 0.424977 0.459176 +v 0.552780 0.768355 0.295467 +v 0.566613 0.768355 0.267988 +v 0.519065 0.798372 0.277446 +v 0.537617 0.768355 0.322235 +v 0.585166 0.736490 0.312777 +v 0.599810 0.736490 0.283688 +v 0.532054 0.798372 0.251643 +v 0.504827 0.798373 0.302582 +v 0.569115 0.736490 0.341114 +v 0.253720 -0.951111 0.135616 +v 0.259948 -0.951123 0.122960 +v 0.293551 -0.935896 0.156906 +v 0.246657 -0.951123 0.147826 +v 0.214839 -0.963862 0.114834 +v 0.219733 -0.963912 0.103981 +v 0.300897 -0.935896 0.142313 +v 0.285499 -0.935896 0.171121 +v 0.208535 -0.963912 0.124933 +v 0.253720 0.951092 0.135616 +v 0.259949 0.951104 0.122960 +v 0.214839 0.963844 0.114834 +v 0.246657 0.951104 0.147826 +v 0.293551 0.935878 0.156906 +v 0.300897 0.935878 0.142313 +v 0.219734 0.963894 0.103981 +v 0.208535 0.963894 0.124933 +v 0.285499 0.935878 0.171121 +v 0.552780 -0.768374 0.295467 +v 0.566613 -0.768374 0.267988 +v 0.585166 -0.736508 0.312777 +v 0.537617 -0.768374 0.322235 +v 0.519065 -0.798391 0.277446 +v 0.532054 -0.798391 0.251643 +v 0.599810 -0.736508 0.283688 +v 0.569115 -0.736508 0.341114 +v 0.504827 -0.798391 0.302582 +v 0.768464 -0.468573 0.410752 +v 0.787695 -0.468573 0.372551 +v 0.787695 -0.424995 0.421031 +v 0.747385 -0.468573 0.447965 +v 0.747385 -0.511023 0.399485 +v 0.766088 -0.511023 0.362332 +v 0.807407 -0.424995 0.381875 +v 0.766088 -0.424995 0.459176 +v 0.726884 -0.511023 0.435678 +v 0.867156 -0.097437 0.463505 +v 0.888857 -0.097437 0.420398 +v 0.870304 -0.048782 0.465187 +v 0.843370 -0.097437 0.505497 +v 0.861923 -0.145858 0.460707 +v 0.883492 -0.145858 0.417860 +v 0.892084 -0.048782 0.421924 +v 0.846432 -0.048782 0.507332 +v 0.838280 -0.145858 0.502446 +v 0.833832 0.288531 0.445692 +v 0.854698 0.288531 0.404242 +v 0.820418 0.334857 0.438522 +v 0.810960 0.288531 0.486071 +v 0.845240 0.241511 0.451790 +v 0.866393 0.241511 0.409773 +v 0.840949 0.334857 0.397739 +v 0.797914 0.334857 0.478251 +v 0.822056 0.241511 0.492721 +v 0.673564 0.630571 0.360027 +v 0.690420 0.630571 0.326544 +v 0.645630 0.667515 0.345097 +v 0.655088 0.630571 0.392645 +v 0.699878 0.592111 0.374093 +v 0.717393 0.592111 0.339301 +v 0.661787 0.667515 0.313002 +v 0.627921 0.667515 0.376361 +v 0.680681 0.592111 0.407984 +v 0.410753 0.876611 0.219552 +v 0.421032 0.876611 0.199133 +v 0.372552 0.898549 0.199133 +v 0.399486 0.876611 0.239443 +v 0.447966 0.852566 0.239443 +v 0.459176 0.852566 0.217174 +v 0.381875 0.898549 0.180613 +v 0.362333 0.898549 0.217174 +v 0.435678 0.852566 0.261135 +v 0.410753 -0.876630 0.219552 +v 0.421032 -0.876630 0.199133 +v 0.447966 -0.852584 0.239443 +v 0.399486 -0.876630 0.239443 +v 0.372552 -0.898567 0.199133 +v 0.381875 -0.898567 0.180613 +v 0.459176 -0.852584 0.217174 +v 0.435678 -0.852584 0.261135 +v 0.362333 -0.898567 0.217174 +v 0.673564 -0.630590 0.360027 +v 0.690420 -0.630590 0.326544 +v 0.699878 -0.592129 0.374093 +v 0.655088 -0.630590 0.392645 +v 0.645630 -0.667534 0.345097 +v 0.661787 -0.667534 0.313002 +v 0.717392 -0.592129 0.339301 +v 0.680681 -0.592129 0.407984 +v 0.627921 -0.667534 0.376361 +v 0.730860 -0.288549 0.599801 +v 0.759412 -0.288549 0.563218 +v 0.740859 -0.241529 0.608007 +v 0.700550 -0.288549 0.634941 +v 0.719102 -0.334875 0.590152 +v 0.747195 -0.334875 0.554157 +v 0.769802 -0.241529 0.570924 +v 0.710135 -0.241529 0.643629 +v 0.689280 -0.334875 0.624727 +v 0.760069 0.097419 0.623772 +v 0.789762 0.097419 0.585727 +v 0.755481 0.145840 0.620007 +v 0.728547 0.097419 0.660317 +v 0.762828 0.048763 0.626037 +v 0.792629 0.048763 0.587853 +v 0.784996 0.145840 0.582192 +v 0.724151 0.145840 0.656332 +v 0.731192 0.048763 0.662714 +v 0.673564 0.468554 0.552780 +v 0.699878 0.468554 0.519064 +v 0.655088 0.511005 0.537617 +v 0.645630 0.468554 0.585165 +v 0.690420 0.424977 0.566613 +v 0.717393 0.424977 0.532054 +v 0.680681 0.511005 0.504827 +v 0.627921 0.511005 0.569114 +v 0.661787 0.424977 0.599809 +v 0.484516 0.768355 0.397632 +v 0.503444 0.768355 0.373379 +v 0.454964 0.798372 0.373379 +v 0.464422 0.768355 0.420928 +v 0.512902 0.736490 0.420928 +v 0.532940 0.736490 0.395254 +v 0.472738 0.798372 0.350606 +v 0.436096 0.798373 0.395254 +v 0.491631 0.736490 0.445589 +v 0.222387 -0.951111 0.182508 +v 0.230965 -0.951123 0.171311 +v 0.257299 -0.935896 0.211160 +v 0.213078 -0.951123 0.193106 +v 0.188308 -0.963862 0.154540 +v 0.195226 -0.963912 0.144851 +v 0.267351 -0.935896 0.198281 +v 0.246629 -0.935896 0.223531 +v 0.180154 -0.963912 0.163215 +v 0.222387 0.951092 0.182508 +v 0.230965 0.951104 0.171311 +v 0.188308 0.963844 0.154540 +v 0.213079 0.951104 0.193106 +v 0.257299 0.935878 0.211160 +v 0.267351 0.935878 0.198281 +v 0.195226 0.963894 0.144851 +v 0.180155 0.963894 0.163215 +v 0.246629 0.935878 0.223531 +v 0.484516 -0.768374 0.397631 +v 0.503444 -0.768374 0.373379 +v 0.512902 -0.736508 0.420928 +v 0.464422 -0.768374 0.420928 +v 0.454964 -0.798391 0.373379 +v 0.472738 -0.798391 0.350606 +v 0.532940 -0.736508 0.395254 +v 0.491631 -0.736508 0.445589 +v 0.436096 -0.798391 0.395254 +v 0.673564 -0.468573 0.552780 +v 0.699878 -0.468573 0.519064 +v 0.690420 -0.424995 0.566613 +v 0.645630 -0.468573 0.585165 +v 0.655088 -0.511023 0.537617 +v 0.680681 -0.511023 0.504827 +v 0.717393 -0.424995 0.532054 +v 0.661787 -0.424995 0.599809 +v 0.627921 -0.511023 0.569114 +v 0.760069 -0.097437 0.623772 +v 0.789762 -0.097437 0.585727 +v 0.762828 -0.048782 0.626037 +v 0.728547 -0.097437 0.660317 +v 0.755481 -0.145858 0.620008 +v 0.784996 -0.145858 0.582192 +v 0.792629 -0.048782 0.587853 +v 0.731192 -0.048782 0.662714 +v 0.724151 -0.145858 0.656332 +v 0.730860 0.288531 0.599801 +v 0.759412 0.288531 0.563218 +v 0.719102 0.334857 0.590152 +v 0.700550 0.288531 0.634941 +v 0.740859 0.241511 0.608007 +v 0.769802 0.241511 0.570924 +v 0.747195 0.334857 0.554157 +v 0.689280 0.334857 0.624727 +v 0.710135 0.241511 0.643629 +v 0.590384 0.630571 0.484515 +v 0.613448 0.630571 0.454964 +v 0.565900 0.667515 0.464422 +v 0.565900 0.630571 0.512902 +v 0.613448 0.592111 0.503444 +v 0.637414 0.592111 0.472738 +v 0.588008 0.667515 0.436096 +v 0.542431 0.667515 0.491631 +v 0.588008 0.592111 0.532939 +v 0.360028 0.876611 0.295467 +v 0.374093 0.876611 0.277446 +v 0.326544 0.898549 0.267988 +v 0.345097 0.876611 0.312777 +v 0.392645 0.852566 0.322235 +v 0.407985 0.852566 0.302582 +v 0.339301 0.898549 0.251643 +v 0.313002 0.898549 0.283688 +v 0.376362 0.852566 0.341114 +v 0.360028 -0.876630 0.295467 +v 0.374093 -0.876630 0.277446 +v 0.392645 -0.852584 0.322235 +v 0.345097 -0.876630 0.312777 +v 0.326544 -0.898567 0.267988 +v 0.339301 -0.898567 0.251643 +v 0.407985 -0.852584 0.302582 +v 0.376362 -0.852584 0.341114 +v 0.313002 -0.898567 0.283688 +v 0.590384 -0.630590 0.484515 +v 0.613448 -0.630590 0.454964 +v 0.613448 -0.592129 0.503444 +v 0.565900 -0.630590 0.512902 +v 0.565900 -0.667534 0.464422 +v 0.588008 -0.667534 0.436096 +v 0.637414 -0.592129 0.472738 +v 0.588008 -0.592129 0.532939 +v 0.542431 -0.667534 0.491631 +v 0.599801 -0.288549 0.730859 +v 0.634942 -0.288549 0.700550 +v 0.608008 -0.241529 0.740859 +v 0.563218 -0.288549 0.759412 +v 0.590152 -0.334875 0.719102 +v 0.624727 -0.334875 0.689280 +v 0.643629 -0.241529 0.710135 +v 0.570924 -0.241529 0.769802 +v 0.554157 -0.334875 0.747195 +v 0.623772 0.097419 0.760068 +v 0.660317 0.097419 0.728547 +v 0.620008 0.145840 0.755481 +v 0.585727 0.097419 0.789762 +v 0.626037 0.048763 0.762828 +v 0.662715 0.048763 0.731192 +v 0.656332 0.145840 0.724150 +v 0.582192 0.145840 0.784995 +v 0.587854 0.048763 0.792629 +v 0.552780 0.468554 0.673564 +v 0.585166 0.468554 0.645630 +v 0.537617 0.511005 0.655088 +v 0.519065 0.468554 0.699878 +v 0.566613 0.424977 0.690420 +v 0.599810 0.424977 0.661787 +v 0.569115 0.511005 0.627921 +v 0.504827 0.511005 0.680680 +v 0.532054 0.424977 0.717392 +v 0.397632 0.768355 0.484515 +v 0.420928 0.768355 0.464422 +v 0.373380 0.798372 0.454964 +v 0.373380 0.768355 0.503444 +v 0.420928 0.736490 0.512902 +v 0.445589 0.736490 0.491631 +v 0.395255 0.798372 0.436096 +v 0.350606 0.798373 0.472738 +v 0.395255 0.736490 0.532939 +v 0.182508 -0.951111 0.222387 +v 0.193106 -0.951123 0.213078 +v 0.211160 -0.935896 0.257299 +v 0.171311 -0.951123 0.230965 +v 0.154540 -0.963862 0.188307 +v 0.163215 -0.963912 0.180154 +v 0.223531 -0.935896 0.246628 +v 0.198281 -0.935896 0.267351 +v 0.144851 -0.963912 0.195225 +v 0.182508 0.951092 0.222387 +v 0.193106 0.951104 0.213078 +v 0.154540 0.963844 0.188308 +v 0.171311 0.951104 0.230965 +v 0.211160 0.935878 0.257299 +v 0.223532 0.935878 0.246629 +v 0.163215 0.963894 0.180154 +v 0.144851 0.963894 0.195225 +v 0.198281 0.935878 0.267351 +v 0.397632 -0.768374 0.484515 +v 0.420928 -0.768374 0.464422 +v 0.420928 -0.736508 0.512902 +v 0.373379 -0.768374 0.503444 +v 0.373379 -0.798391 0.454964 +v 0.395255 -0.798391 0.436096 +v 0.445589 -0.736508 0.491631 +v 0.395255 -0.736508 0.532939 +v 0.350606 -0.798391 0.472738 +v 0.552780 -0.468573 0.673564 +v 0.585166 -0.468573 0.645630 +v 0.566613 -0.424995 0.690420 +v 0.519065 -0.468573 0.699878 +v 0.537617 -0.511023 0.655088 +v 0.569115 -0.511023 0.627921 +v 0.599810 -0.424995 0.661787 +v 0.532054 -0.424995 0.717392 +v 0.504827 -0.511023 0.680680 +v 0.623772 -0.097437 0.760068 +v 0.660317 -0.097437 0.728547 +v 0.626037 -0.048782 0.762828 +v 0.585727 -0.097437 0.789762 +v 0.620008 -0.145858 0.755481 +v 0.656332 -0.145858 0.724150 +v 0.662715 -0.048782 0.731192 +v 0.587854 -0.048782 0.792629 +v 0.582192 -0.145858 0.784995 +v 0.599801 0.288531 0.730859 +v 0.634942 0.288531 0.700549 +v 0.590152 0.334857 0.719102 +v 0.563218 0.288531 0.759412 +v 0.608008 0.241511 0.740859 +v 0.643629 0.241511 0.710135 +v 0.624727 0.334857 0.689280 +v 0.554157 0.334857 0.747195 +v 0.570924 0.241511 0.769802 +v 0.484516 0.630571 0.590384 +v 0.512902 0.630571 0.565900 +v 0.464422 0.667515 0.565900 +v 0.454964 0.630571 0.613448 +v 0.503444 0.592111 0.613448 +v 0.532939 0.592111 0.588007 +v 0.491631 0.667515 0.542431 +v 0.436096 0.667515 0.588007 +v 0.472738 0.592111 0.637413 +v 0.295467 0.876611 0.360027 +v 0.312778 0.876611 0.345097 +v 0.267988 0.898549 0.326544 +v 0.277446 0.876611 0.374093 +v 0.322236 0.852566 0.392645 +v 0.341115 0.852566 0.376361 +v 0.283689 0.898549 0.313002 +v 0.251643 0.898549 0.339301 +v 0.302582 0.852566 0.407984 +v 0.295467 -0.876630 0.360027 +v 0.312778 -0.876630 0.345096 +v 0.322236 -0.852584 0.392645 +v 0.277446 -0.876630 0.374092 +v 0.267988 -0.898567 0.326544 +v 0.283689 -0.898567 0.313002 +v 0.341115 -0.852584 0.376361 +v 0.302582 -0.852584 0.407984 +v 0.251643 -0.898567 0.339301 +v 0.484516 -0.630590 0.590384 +v 0.512902 -0.630590 0.565900 +v 0.503444 -0.592129 0.613448 +v 0.454964 -0.630590 0.613448 +v 0.464422 -0.667534 0.565900 +v 0.491631 -0.667534 0.542431 +v 0.532939 -0.592129 0.588007 +v 0.472738 -0.592129 0.637413 +v 0.436096 -0.667534 0.588007 +v 0.445692 -0.288549 0.833831 +v 0.486071 -0.288549 0.810960 +v 0.451790 -0.241529 0.845240 +v 0.404242 -0.288549 0.854698 +v 0.438523 -0.334875 0.820418 +v 0.478252 -0.334875 0.797914 +v 0.492722 -0.241529 0.822055 +v 0.409773 -0.241529 0.866392 +v 0.397739 -0.334875 0.840949 +v 0.463505 0.097419 0.867156 +v 0.505497 0.097419 0.843370 +v 0.460707 0.145840 0.861922 +v 0.420398 0.097419 0.888856 +v 0.465187 0.048763 0.870304 +v 0.507332 0.048763 0.846432 +v 0.502446 0.145840 0.838280 +v 0.417860 0.145840 0.883492 +v 0.421924 0.048763 0.892083 +v 0.410753 0.468554 0.768463 +v 0.447966 0.468554 0.747385 +v 0.399486 0.511005 0.747385 +v 0.372552 0.468554 0.787694 +v 0.421032 0.424977 0.787694 +v 0.459176 0.424977 0.766088 +v 0.435678 0.511005 0.726884 +v 0.362333 0.511005 0.766088 +v 0.381875 0.424977 0.807406 +v 0.295467 0.768355 0.552780 +v 0.322236 0.768355 0.537617 +v 0.277446 0.798372 0.519065 +v 0.267988 0.768355 0.566613 +v 0.312778 0.736490 0.585166 +v 0.341115 0.736490 0.569115 +v 0.302582 0.798372 0.504827 +v 0.251643 0.798373 0.532054 +v 0.283689 0.736490 0.599809 +v 0.135616 -0.951111 0.253719 +v 0.147826 -0.951123 0.246657 +v 0.156906 -0.935896 0.293550 +v 0.122960 -0.951123 0.259948 +v 0.114834 -0.963862 0.214838 +v 0.124933 -0.963912 0.208534 +v 0.171121 -0.935896 0.285498 +v 0.142314 -0.935896 0.300896 +v 0.103981 -0.963912 0.219733 +v 0.135616 0.951092 0.253719 +v 0.147826 0.951104 0.246657 +v 0.114834 0.963844 0.214839 +v 0.122960 0.951104 0.259948 +v 0.156906 0.935878 0.293550 +v 0.171122 0.935878 0.285498 +v 0.124933 0.963894 0.208534 +v 0.103981 0.963894 0.219733 +v 0.142314 0.935878 0.300897 +v 0.295467 -0.768374 0.552780 +v 0.322236 -0.768374 0.537617 +v 0.312778 -0.736508 0.585165 +v 0.267988 -0.768374 0.566613 +v 0.277446 -0.798391 0.519064 +v 0.302582 -0.798391 0.504827 +v 0.341115 -0.736508 0.569115 +v 0.283689 -0.736508 0.599809 +v 0.251643 -0.798391 0.532054 +v 0.410753 -0.468573 0.768463 +v 0.447966 -0.468573 0.747385 +v 0.421032 -0.424995 0.787694 +v 0.372552 -0.468573 0.787694 +v 0.399486 -0.511023 0.747385 +v 0.435678 -0.511023 0.726884 +v 0.459176 -0.424995 0.766088 +v 0.381875 -0.424995 0.807406 +v 0.362333 -0.511023 0.766088 +v 0.463505 -0.097437 0.867156 +v 0.505497 -0.097437 0.843370 +v 0.465187 -0.048782 0.870304 +v 0.420398 -0.097437 0.888856 +v 0.460707 -0.145858 0.861922 +v 0.502446 -0.145858 0.838280 +v 0.507332 -0.048782 0.846432 +v 0.421924 -0.048782 0.892083 +v 0.417860 -0.145858 0.883492 +v 0.445692 0.288531 0.833831 +v 0.486071 0.288531 0.810960 +v 0.438523 0.334857 0.820418 +v 0.404242 0.288531 0.854698 +v 0.451790 0.241511 0.845240 +v 0.492721 0.241511 0.822055 +v 0.478252 0.334857 0.797914 +v 0.397739 0.334857 0.840949 +v 0.409773 0.241511 0.866392 +v 0.360028 0.630571 0.673564 +v 0.392645 0.630571 0.655088 +v 0.345097 0.667515 0.645630 +v 0.326544 0.630571 0.690420 +v 0.374093 0.592111 0.699878 +v 0.407984 0.592111 0.680680 +v 0.376362 0.667515 0.627921 +v 0.313002 0.667515 0.661787 +v 0.339301 0.592111 0.717392 +v 0.219552 0.876611 0.410752 +v 0.239443 0.876611 0.399485 +v 0.199133 0.898549 0.372551 +v 0.199133 0.876611 0.421031 +v 0.239443 0.852566 0.447966 +v 0.261136 0.852566 0.435678 +v 0.217174 0.898549 0.362332 +v 0.180613 0.898549 0.381875 +v 0.217174 0.852566 0.459176 +v 0.219552 -0.876630 0.410752 +v 0.239443 -0.876630 0.399485 +v 0.239443 -0.852584 0.447965 +v 0.199133 -0.876630 0.421031 +v 0.199133 -0.898567 0.372551 +v 0.217174 -0.898567 0.362332 +v 0.261136 -0.852584 0.435678 +v 0.217174 -0.852584 0.459176 +v 0.180613 -0.898567 0.381874 +v 0.360028 -0.630590 0.673564 +v 0.392645 -0.630590 0.655088 +v 0.374093 -0.592129 0.699878 +v 0.326544 -0.630590 0.690420 +v 0.345097 -0.667534 0.645630 +v 0.376362 -0.667534 0.627921 +v 0.407984 -0.592129 0.680680 +v 0.339301 -0.592129 0.717392 +v 0.313002 -0.667534 0.661787 +v 0.274456 -0.288549 0.904760 +v 0.318521 -0.288549 0.890205 +v 0.278211 -0.241529 0.917139 +v 0.229731 -0.288549 0.917139 +v 0.270041 -0.334875 0.890205 +v 0.313397 -0.334875 0.875884 +v 0.322879 -0.241529 0.902385 +v 0.232875 -0.241529 0.929688 +v 0.226036 -0.334875 0.902385 +v 0.285425 0.097419 0.940919 +v 0.331251 0.097419 0.925782 +v 0.283702 0.145840 0.935240 +v 0.238912 0.097419 0.953793 +v 0.286461 0.048763 0.944335 +v 0.332453 0.048763 0.929143 +v 0.329251 0.145840 0.920195 +v 0.237471 0.145840 0.948036 +v 0.239780 0.048763 0.957255 +v 0.252940 0.468554 0.833831 +v 0.293551 0.468554 0.820418 +v 0.246002 0.511005 0.810960 +v 0.211722 0.468554 0.845240 +v 0.259270 0.424977 0.854698 +v 0.300897 0.424977 0.840949 +v 0.285499 0.511005 0.797914 +v 0.205914 0.511005 0.822055 +v 0.217020 0.424977 0.866392 +v 0.181948 0.768355 0.599801 +v 0.211160 0.768355 0.590152 +v 0.170851 0.798372 0.563218 +v 0.152298 0.768355 0.608007 +v 0.192608 0.736490 0.634942 +v 0.223531 0.736490 0.624727 +v 0.198281 0.798372 0.554157 +v 0.143009 0.798373 0.570924 +v 0.161221 0.736490 0.643629 +v 0.083512 -0.951111 0.275301 +v 0.096866 -0.951123 0.270757 +v 0.096622 -0.935896 0.318521 +v 0.069884 -0.951123 0.278942 +v 0.070714 -0.963862 0.233113 +v 0.081849 -0.963912 0.228900 +v 0.112135 -0.935896 0.313397 +v 0.080877 -0.935896 0.322879 +v 0.059116 -0.963912 0.235797 +v 0.083512 0.951092 0.275302 +v 0.096866 0.951104 0.270757 +v 0.070714 0.963844 0.233113 +v 0.069884 0.951104 0.278942 +v 0.096623 0.935878 0.318521 +v 0.112136 0.935878 0.313397 +v 0.081849 0.963894 0.228901 +v 0.059116 0.963894 0.235797 +v 0.080877 0.935878 0.322879 +v 0.181948 -0.768374 0.599801 +v 0.211160 -0.768374 0.590152 +v 0.192608 -0.736508 0.634941 +v 0.152298 -0.768374 0.608007 +v 0.170850 -0.798391 0.563218 +v 0.198281 -0.798391 0.554157 +v 0.223531 -0.736508 0.624727 +v 0.161221 -0.736508 0.643629 +v 0.143009 -0.798391 0.570924 +v 0.252940 -0.468573 0.833831 +v 0.293551 -0.468573 0.820418 +v 0.259270 -0.424995 0.854698 +v 0.211722 -0.468573 0.845240 +v 0.246002 -0.511023 0.810960 +v 0.285499 -0.511023 0.797914 +v 0.300897 -0.424995 0.840949 +v 0.217020 -0.424995 0.866392 +v 0.205914 -0.511023 0.822055 +v 0.285425 -0.097437 0.940919 +v 0.331251 -0.097437 0.925782 +v 0.286461 -0.048782 0.944335 +v 0.238912 -0.097437 0.953793 +v 0.283702 -0.145858 0.935240 +v 0.329251 -0.145858 0.920195 +v 0.332453 -0.048782 0.929143 +v 0.239780 -0.048782 0.957255 +v 0.237471 -0.145858 0.948036 +v 0.274456 0.288531 0.904760 +v 0.318521 0.288531 0.890205 +v 0.270041 0.334857 0.890205 +v 0.229731 0.288531 0.917139 +v 0.278211 0.241511 0.917139 +v 0.322879 0.241511 0.902385 +v 0.313397 0.334857 0.875884 +v 0.226036 0.334857 0.902385 +v 0.232874 0.241511 0.929688 +v 0.221704 0.630571 0.730859 +v 0.257299 0.630571 0.719102 +v 0.212510 0.667515 0.700550 +v 0.185576 0.630571 0.740859 +v 0.230365 0.592111 0.759412 +v 0.267351 0.592111 0.747195 +v 0.246629 0.667515 0.689280 +v 0.177879 0.667515 0.710135 +v 0.192825 0.592111 0.769802 +v 0.135200 0.876611 0.445692 +v 0.156906 0.876611 0.438522 +v 0.122626 0.898549 0.404242 +v 0.113168 0.876611 0.451790 +v 0.147448 0.852566 0.486071 +v 0.171122 0.852566 0.478251 +v 0.142314 0.898549 0.397739 +v 0.102643 0.898549 0.409773 +v 0.123420 0.852566 0.492721 +v 0.135200 -0.876630 0.445692 +v 0.156906 -0.876630 0.438522 +v 0.147448 -0.852584 0.486071 +v 0.113168 -0.876630 0.451790 +v 0.122626 -0.898567 0.404242 +v 0.142314 -0.898567 0.397739 +v 0.171121 -0.852584 0.478251 +v 0.123420 -0.852584 0.492721 +v 0.102643 -0.898567 0.409773 +v 0.221704 -0.630590 0.730859 +v 0.257299 -0.630590 0.719102 +v 0.230365 -0.592129 0.759412 +v 0.185576 -0.630590 0.740859 +v 0.212510 -0.667534 0.700549 +v 0.246629 -0.667534 0.689280 +v 0.267351 -0.592129 0.747195 +v 0.192825 -0.592129 0.769802 +v 0.177879 -0.667534 0.710135 +v 0.092673 -0.288549 0.940919 +v 0.138730 -0.288549 0.935240 +v 0.093941 -0.241529 0.953793 +v 0.046392 -0.288549 0.944335 +v 0.091182 -0.334875 0.925782 +v 0.136499 -0.334875 0.920195 +v 0.140628 -0.241529 0.948036 +v 0.047027 -0.241529 0.957255 +v 0.045646 -0.334875 0.929143 +v 0.096376 0.097419 0.978523 +v 0.144275 0.097419 0.972617 +v 0.095795 0.145840 0.972617 +v 0.048246 0.097419 0.982075 +v 0.096726 0.048763 0.982075 +v 0.144798 0.048763 0.976148 +v 0.143404 0.145840 0.966747 +v 0.047955 0.145840 0.976148 +v 0.048421 0.048763 0.985641 +v 0.085408 0.468554 0.867156 +v 0.127855 0.468554 0.861922 +v 0.083065 0.511005 0.843370 +v 0.042755 0.468554 0.870304 +v 0.087545 0.424977 0.888856 +v 0.131054 0.424977 0.883492 +v 0.124348 0.511005 0.838280 +v 0.041582 0.511005 0.846431 +v 0.043825 0.424977 0.892083 +v 0.061436 0.768355 0.623772 +v 0.091970 0.768355 0.620008 +v 0.057689 0.798372 0.585727 +v 0.030755 0.768355 0.626037 +v 0.065036 0.736490 0.660317 +v 0.097358 0.736490 0.656332 +v 0.086360 0.798372 0.582192 +v 0.028879 0.798373 0.587853 +v 0.032557 0.736490 0.662714 +v 0.028199 -0.951111 0.286304 +v 0.042182 -0.951123 0.284452 +v 0.032626 -0.935896 0.331250 +v 0.014123 -0.951123 0.287215 +v 0.023878 -0.963862 0.242430 +v 0.035620 -0.963912 0.240470 +v 0.048840 -0.935896 0.329251 +v 0.016333 -0.935896 0.332453 +v 0.011978 -0.963912 0.242799 +v 0.028199 0.951092 0.286304 +v 0.042182 0.951104 0.284452 +v 0.023878 0.963844 0.242430 +v 0.014123 0.951104 0.287216 +v 0.032626 0.935878 0.331251 +v 0.048840 0.935878 0.329251 +v 0.035620 0.963894 0.240470 +v 0.011978 0.963894 0.242799 +v 0.016333 0.935878 0.332453 +v 0.061436 -0.768374 0.623772 +v 0.091970 -0.768374 0.620007 +v 0.065036 -0.736508 0.660317 +v 0.030755 -0.768374 0.626037 +v 0.057689 -0.798391 0.585727 +v 0.086360 -0.798391 0.582192 +v 0.097358 -0.736508 0.656332 +v 0.032557 -0.736508 0.662714 +v 0.028879 -0.798391 0.587853 +v 0.085408 -0.468573 0.867156 +v 0.127855 -0.468573 0.861922 +v 0.087545 -0.424995 0.888856 +v 0.042755 -0.468573 0.870304 +v 0.083065 -0.511023 0.843370 +v 0.124348 -0.511023 0.838280 +v 0.131054 -0.424995 0.883492 +v 0.043825 -0.424995 0.892083 +v 0.041582 -0.511023 0.846432 +v 0.096376 -0.097437 0.978523 +v 0.144275 -0.097437 0.972617 +v 0.096726 -0.048782 0.982075 +v 0.048246 -0.097437 0.982075 +v 0.095795 -0.145858 0.972617 +v 0.143404 -0.145858 0.966747 +v 0.144798 -0.048782 0.976148 +v 0.048421 -0.048782 0.985641 +v 0.047955 -0.145858 0.976148 +v 0.092673 0.288531 0.940919 +v 0.138730 0.288531 0.935240 +v 0.091182 0.334857 0.925782 +v 0.046392 0.288531 0.944335 +v 0.093941 0.241511 0.953793 +v 0.140628 0.241511 0.948036 +v 0.136499 0.334857 0.920195 +v 0.045646 0.334857 0.929143 +v 0.047027 0.241511 0.957255 +v 0.074860 0.630571 0.760068 +v 0.112065 0.630571 0.755481 +v 0.071756 0.667515 0.728547 +v 0.037475 0.630571 0.762828 +v 0.077785 0.592111 0.789762 +v 0.116443 0.592111 0.784995 +v 0.107418 0.667515 0.724150 +v 0.035921 0.667515 0.731192 +v 0.038939 0.592111 0.792629 +v 0.045651 0.876611 0.463504 +v 0.068340 0.876611 0.460707 +v 0.041406 0.898549 0.420397 +v 0.022853 0.876611 0.465187 +v 0.049787 0.852566 0.505497 +v 0.074531 0.852566 0.502446 +v 0.061984 0.898549 0.417860 +v 0.020728 0.898549 0.421924 +v 0.024924 0.852566 0.507332 +v 0.045651 -0.876630 0.463504 +v 0.068340 -0.876630 0.460707 +v 0.049787 -0.852584 0.505497 +v 0.022853 -0.876630 0.465187 +v 0.041406 -0.898567 0.420397 +v 0.061984 -0.898567 0.417860 +v 0.074531 -0.852584 0.502446 +v 0.024924 -0.852584 0.507332 +v 0.020728 -0.898567 0.421924 +v 0.074860 -0.630590 0.760068 +v 0.112065 -0.630590 0.755481 +v 0.077785 -0.592129 0.789762 +v 0.037475 -0.630590 0.762828 +v 0.071756 -0.667534 0.728547 +v 0.107418 -0.667534 0.724150 +v 0.116443 -0.592129 0.784995 +v 0.038939 -0.592129 0.792629 +v 0.035921 -0.667534 0.731192 +v -0.092672 -0.288549 0.940919 +v -0.046392 -0.288549 0.944335 +v -0.093940 -0.241529 0.953793 +v -0.138730 -0.288549 0.935240 +v -0.091181 -0.334875 0.925782 +v -0.045645 -0.334875 0.929143 +v -0.047026 -0.241529 0.957255 +v -0.140628 -0.241529 0.948036 +v -0.136498 -0.334875 0.920195 +v -0.096376 0.097419 0.978523 +v -0.048246 0.097419 0.982075 +v -0.095794 0.145840 0.972617 +v -0.144274 0.097419 0.972617 +v -0.096726 0.048763 0.982075 +v -0.048421 0.048763 0.985641 +v -0.047955 0.145840 0.976148 +v -0.143404 0.145840 0.966747 +v -0.144798 0.048763 0.976148 +v -0.085407 0.468554 0.867156 +v -0.042755 0.468554 0.870304 +v -0.083064 0.511005 0.843370 +v -0.127854 0.468554 0.861922 +v -0.087544 0.424977 0.888856 +v -0.043825 0.424977 0.892083 +v -0.041582 0.511005 0.846431 +v -0.124347 0.511005 0.838280 +v -0.131054 0.424977 0.883492 +v -0.061436 0.768355 0.623772 +v -0.030755 0.768355 0.626037 +v -0.057689 0.798372 0.585727 +v -0.091969 0.768355 0.620008 +v -0.065035 0.736490 0.660317 +v -0.032557 0.736490 0.662714 +v -0.028879 0.798372 0.587853 +v -0.086360 0.798373 0.582192 +v -0.097358 0.736490 0.656332 +v -0.028198 -0.951111 0.286304 +v -0.014122 -0.951123 0.287215 +v -0.032625 -0.935896 0.331250 +v -0.042182 -0.951123 0.284452 +v -0.023877 -0.963862 0.242430 +v -0.011977 -0.963912 0.242799 +v -0.016332 -0.935896 0.332453 +v -0.048840 -0.935896 0.329251 +v -0.035620 -0.963912 0.240470 +v -0.028198 0.951092 0.286304 +v -0.014122 0.951104 0.287216 +v -0.023877 0.963844 0.242430 +v -0.042182 0.951104 0.284452 +v -0.032625 0.935878 0.331251 +v -0.016332 0.935878 0.332453 +v -0.011977 0.963894 0.242799 +v -0.035620 0.963894 0.240470 +v -0.048840 0.935878 0.329251 +v -0.061436 -0.768374 0.623772 +v -0.030755 -0.768374 0.626037 +v -0.065035 -0.736508 0.660317 +v -0.091969 -0.768374 0.620007 +v -0.057689 -0.798391 0.585727 +v -0.028879 -0.798391 0.587853 +v -0.032557 -0.736508 0.662714 +v -0.097358 -0.736508 0.656332 +v -0.086360 -0.798391 0.582192 +v -0.085407 -0.468573 0.867156 +v -0.042755 -0.468573 0.870304 +v -0.087544 -0.424995 0.888856 +v -0.127854 -0.468573 0.861922 +v -0.083064 -0.511023 0.843370 +v -0.041582 -0.511023 0.846431 +v -0.043825 -0.424995 0.892083 +v -0.131054 -0.424995 0.883492 +v -0.124347 -0.511023 0.838280 +v -0.096376 -0.097437 0.978523 +v -0.048246 -0.097437 0.982075 +v -0.096726 -0.048782 0.982075 +v -0.144274 -0.097437 0.972617 +v -0.095794 -0.145858 0.972617 +v -0.047955 -0.145858 0.976148 +v -0.048421 -0.048782 0.985641 +v -0.144798 -0.048782 0.976148 +v -0.143404 -0.145858 0.966747 +v -0.092672 0.288531 0.940919 +v -0.046392 0.288531 0.944335 +v -0.091181 0.334857 0.925782 +v -0.138730 0.288531 0.935240 +v -0.093940 0.241511 0.953793 +v -0.047026 0.241511 0.957255 +v -0.045645 0.334857 0.929143 +v -0.136498 0.334857 0.920195 +v -0.140628 0.241511 0.948036 +v -0.074860 0.630571 0.760068 +v -0.037475 0.630571 0.762828 +v -0.071755 0.667515 0.728547 +v -0.112065 0.630571 0.755481 +v -0.077785 0.592111 0.789762 +v -0.038939 0.592111 0.792629 +v -0.035921 0.667515 0.731192 +v -0.107418 0.667515 0.724150 +v -0.116443 0.592111 0.784995 +v -0.045651 0.876611 0.463504 +v -0.022853 0.876611 0.465187 +v -0.041405 0.898549 0.420397 +v -0.068339 0.876611 0.460707 +v -0.049787 0.852566 0.505497 +v -0.024923 0.852566 0.507332 +v -0.020727 0.898549 0.421924 +v -0.061984 0.898549 0.417860 +v -0.074531 0.852566 0.502446 +v -0.045651 -0.876630 0.463504 +v -0.022853 -0.876630 0.465187 +v -0.049787 -0.852584 0.505497 +v -0.068339 -0.876630 0.460707 +v -0.041405 -0.898567 0.420397 +v -0.020727 -0.898567 0.421924 +v -0.024923 -0.852584 0.507332 +v -0.074531 -0.852584 0.502446 +v -0.061984 -0.898567 0.417860 +v -0.074860 -0.630590 0.760068 +v -0.037475 -0.630590 0.762828 +v -0.077785 -0.592129 0.789762 +v -0.112065 -0.630590 0.755481 +v -0.071755 -0.667534 0.728547 +v -0.035921 -0.667534 0.731192 +v -0.038939 -0.592129 0.792629 +v -0.116443 -0.592129 0.784995 +v -0.107418 -0.667534 0.724150 +v -0.274456 -0.288549 0.904760 +v -0.229731 -0.288549 0.917139 +v -0.278211 -0.241529 0.917139 +v -0.318520 -0.288549 0.890205 +v -0.270040 -0.334875 0.890205 +v -0.226035 -0.334875 0.902385 +v -0.232874 -0.241529 0.929687 +v -0.322879 -0.241529 0.902385 +v -0.313396 -0.334875 0.875884 +v -0.285424 0.097419 0.940919 +v -0.238912 0.097419 0.953793 +v -0.283702 0.145840 0.935240 +v -0.331250 0.097419 0.925782 +v -0.286461 0.048763 0.944335 +v -0.239780 0.048763 0.957255 +v -0.237470 0.145840 0.948036 +v -0.329251 0.145840 0.920195 +v -0.332453 0.048763 0.929143 +v -0.252940 0.468554 0.833831 +v -0.211721 0.468554 0.845240 +v -0.246002 0.511005 0.810959 +v -0.293550 0.468554 0.820417 +v -0.259270 0.424977 0.854698 +v -0.217019 0.424977 0.866392 +v -0.205914 0.511005 0.822055 +v -0.285498 0.511005 0.797913 +v -0.300896 0.424977 0.840949 +v -0.181947 0.768355 0.599801 +v -0.152298 0.768355 0.608007 +v -0.170850 0.798372 0.563218 +v -0.211160 0.768355 0.590152 +v -0.192607 0.736490 0.634941 +v -0.161220 0.736490 0.643629 +v -0.143009 0.798372 0.570924 +v -0.198281 0.798373 0.554157 +v -0.223531 0.736490 0.624727 +v -0.083511 -0.951111 0.275301 +v -0.069884 -0.951123 0.278942 +v -0.096622 -0.935896 0.318521 +v -0.096865 -0.951123 0.270757 +v -0.070714 -0.963862 0.233113 +v -0.059115 -0.963912 0.235797 +v -0.080877 -0.935896 0.322879 +v -0.112135 -0.935896 0.313397 +v -0.081849 -0.963912 0.228900 +v -0.083512 0.951092 0.275302 +v -0.069884 0.951104 0.278942 +v -0.070714 0.963844 0.233113 +v -0.096865 0.951104 0.270757 +v -0.096622 0.935878 0.318521 +v -0.080877 0.935878 0.322879 +v -0.059115 0.963894 0.235797 +v -0.081849 0.963894 0.228901 +v -0.112135 0.935878 0.313397 +v -0.181947 -0.768374 0.599801 +v -0.152298 -0.768374 0.608007 +v -0.192607 -0.736508 0.634941 +v -0.211160 -0.768374 0.590152 +v -0.170850 -0.798391 0.563218 +v -0.143009 -0.798391 0.570924 +v -0.161220 -0.736508 0.643629 +v -0.223531 -0.736508 0.624727 +v -0.198281 -0.798391 0.554157 +v -0.252940 -0.468573 0.833831 +v -0.211721 -0.468573 0.845240 +v -0.259270 -0.424995 0.854698 +v -0.293550 -0.468573 0.820417 +v -0.246002 -0.511023 0.810959 +v -0.205914 -0.511023 0.822055 +v -0.217019 -0.424995 0.866392 +v -0.300896 -0.424995 0.840948 +v -0.285498 -0.511023 0.797913 +v -0.285424 -0.097437 0.940919 +v -0.238912 -0.097437 0.953793 +v -0.286461 -0.048782 0.944335 +v -0.331250 -0.097437 0.925782 +v -0.283702 -0.145858 0.935240 +v -0.237470 -0.145858 0.948036 +v -0.239780 -0.048782 0.957255 +v -0.332453 -0.048782 0.929143 +v -0.329251 -0.145858 0.920195 +v -0.274456 0.288531 0.904760 +v -0.229731 0.288531 0.917139 +v -0.270041 0.334857 0.890205 +v -0.318520 0.288531 0.890205 +v -0.278211 0.241511 0.917139 +v -0.232874 0.241511 0.929687 +v -0.226035 0.334857 0.902385 +v -0.313396 0.334857 0.875884 +v -0.322879 0.241511 0.902385 +v -0.221704 0.630571 0.730859 +v -0.185575 0.630571 0.740859 +v -0.212509 0.667515 0.700549 +v -0.257299 0.630571 0.719102 +v -0.230365 0.592111 0.759411 +v -0.192825 0.592111 0.769802 +v -0.177879 0.667515 0.710135 +v -0.246628 0.667515 0.689280 +v -0.267351 0.592111 0.747195 +v -0.135199 0.876611 0.445692 +v -0.113167 0.876611 0.451790 +v -0.122625 0.898549 0.404242 +v -0.156906 0.876611 0.438522 +v -0.147448 0.852566 0.486071 +v -0.123420 0.852566 0.492721 +v -0.102642 0.898549 0.409773 +v -0.142313 0.898549 0.397739 +v -0.171121 0.852566 0.478251 +v -0.135199 -0.876630 0.445692 +v -0.113167 -0.876630 0.451790 +v -0.147448 -0.852584 0.486071 +v -0.156906 -0.876630 0.438522 +v -0.122625 -0.898567 0.404242 +v -0.102642 -0.898567 0.409773 +v -0.123420 -0.852584 0.492721 +v -0.171121 -0.852584 0.478251 +v -0.142313 -0.898567 0.397739 +v -0.221704 -0.630590 0.730859 +v -0.185575 -0.630590 0.740859 +v -0.230365 -0.592129 0.759411 +v -0.257299 -0.630590 0.719102 +v -0.212509 -0.667534 0.700549 +v -0.177879 -0.667534 0.710135 +v -0.192825 -0.592129 0.769802 +v -0.267351 -0.592129 0.747195 +v -0.246628 -0.667534 0.689280 +v -0.445692 -0.288549 0.833831 +v -0.404242 -0.288549 0.854698 +v -0.451790 -0.241529 0.845240 +v -0.486071 -0.288549 0.810959 +v -0.438522 -0.334875 0.820417 +v -0.397739 -0.334875 0.840948 +v -0.409773 -0.241529 0.866392 +v -0.492721 -0.241529 0.822055 +v -0.478251 -0.334875 0.797914 +v -0.463504 0.097419 0.867155 +v -0.420397 0.097419 0.888856 +v -0.460707 0.145840 0.861922 +v -0.505497 0.097419 0.843370 +v -0.465187 0.048763 0.870304 +v -0.421923 0.048763 0.892083 +v -0.417860 0.145840 0.883492 +v -0.502446 0.145840 0.838280 +v -0.507332 0.048763 0.846431 +v -0.410752 0.468554 0.768463 +v -0.372551 0.468554 0.787694 +v -0.399485 0.511005 0.747384 +v -0.447965 0.468554 0.747385 +v -0.421031 0.424977 0.787694 +v -0.381874 0.424977 0.807406 +v -0.362332 0.511005 0.766088 +v -0.435678 0.511005 0.726884 +v -0.459175 0.424977 0.766088 +v -0.295467 0.768355 0.552779 +v -0.267988 0.768355 0.566613 +v -0.277446 0.798372 0.519064 +v -0.322235 0.768355 0.537617 +v -0.312777 0.736490 0.585165 +v -0.283688 0.736490 0.599809 +v -0.251642 0.798372 0.532054 +v -0.302581 0.798373 0.504827 +v -0.341114 0.736490 0.569114 +v -0.135615 -0.951111 0.253719 +v -0.122960 -0.951123 0.259948 +v -0.156906 -0.935896 0.293550 +v -0.147826 -0.951123 0.246657 +v -0.114833 -0.963862 0.214838 +v -0.103981 -0.963912 0.219733 +v -0.142313 -0.935896 0.300896 +v -0.171121 -0.935896 0.285498 +v -0.124932 -0.963912 0.208534 +v -0.135616 0.951092 0.253719 +v -0.122960 0.951104 0.259948 +v -0.114833 0.963844 0.214838 +v -0.147826 0.951104 0.246657 +v -0.156906 0.935878 0.293550 +v -0.142313 0.935878 0.300897 +v -0.103981 0.963894 0.219733 +v -0.124932 0.963894 0.208534 +v -0.171121 0.935878 0.285498 +v -0.295467 -0.768374 0.552779 +v -0.267988 -0.768374 0.566613 +v -0.312777 -0.736508 0.585165 +v -0.322235 -0.768374 0.537617 +v -0.277445 -0.798391 0.519064 +v -0.251642 -0.798391 0.532054 +v -0.283688 -0.736508 0.599809 +v -0.341114 -0.736508 0.569114 +v -0.302581 -0.798391 0.504827 +v -0.410752 -0.468573 0.768463 +v -0.372551 -0.468573 0.787694 +v -0.421031 -0.424995 0.787694 +v -0.447965 -0.468573 0.747385 +v -0.399485 -0.511023 0.747384 +v -0.362332 -0.511023 0.766088 +v -0.381874 -0.424995 0.807406 +v -0.459175 -0.424995 0.766088 +v -0.435678 -0.511023 0.726884 +v -0.463504 -0.097437 0.867155 +v -0.420397 -0.097437 0.888856 +v -0.465187 -0.048782 0.870304 +v -0.505497 -0.097437 0.843370 +v -0.460707 -0.145858 0.861922 +v -0.417860 -0.145858 0.883492 +v -0.421923 -0.048782 0.892083 +v -0.507332 -0.048782 0.846431 +v -0.502446 -0.145858 0.838280 +v -0.445692 0.288531 0.833831 +v -0.404242 0.288531 0.854698 +v -0.438522 0.334857 0.820417 +v -0.486071 0.288531 0.810959 +v -0.451790 0.241511 0.845240 +v -0.409772 0.241511 0.866392 +v -0.397739 0.334857 0.840948 +v -0.478251 0.334857 0.797914 +v -0.492721 0.241511 0.822055 +v -0.360027 0.630571 0.673564 +v -0.326544 0.630571 0.690420 +v -0.345096 0.667515 0.645630 +v -0.392645 0.630571 0.655088 +v -0.374092 0.592111 0.699878 +v -0.339301 0.592111 0.717392 +v -0.313002 0.667515 0.661787 +v -0.376361 0.667515 0.627921 +v -0.407984 0.592111 0.680680 +v -0.219551 0.876611 0.410752 +v -0.199133 0.876611 0.421031 +v -0.199133 0.898549 0.372551 +v -0.239442 0.876611 0.399485 +v -0.239442 0.852566 0.447965 +v -0.217174 0.852566 0.459176 +v -0.180613 0.898549 0.381875 +v -0.217174 0.898549 0.362332 +v -0.261135 0.852566 0.435678 +v -0.219551 -0.876630 0.410752 +v -0.199133 -0.876630 0.421031 +v -0.239442 -0.852584 0.447965 +v -0.239442 -0.876630 0.399485 +v -0.199133 -0.898567 0.372551 +v -0.180613 -0.898567 0.381874 +v -0.217174 -0.852584 0.459176 +v -0.261135 -0.852584 0.435678 +v -0.217173 -0.898567 0.362332 +v -0.360027 -0.630590 0.673564 +v -0.326544 -0.630590 0.690420 +v -0.374092 -0.592129 0.699878 +v -0.392645 -0.630590 0.655088 +v -0.345096 -0.667534 0.645630 +v -0.313002 -0.667534 0.661787 +v -0.339301 -0.592129 0.717392 +v -0.407984 -0.592129 0.680680 +v -0.376361 -0.667534 0.627921 +v -0.599800 -0.288549 0.730859 +v -0.563218 -0.288549 0.759411 +v -0.608007 -0.241529 0.740859 +v -0.634941 -0.288549 0.700549 +v -0.590152 -0.334875 0.719102 +v -0.554157 -0.334875 0.747195 +v -0.570924 -0.241529 0.769802 +v -0.643629 -0.241529 0.710134 +v -0.624727 -0.334875 0.689280 +v -0.623772 0.097419 0.760068 +v -0.585727 0.097419 0.789761 +v -0.620007 0.145840 0.755481 +v -0.660317 0.097419 0.728547 +v -0.626036 0.048763 0.762827 +v -0.587853 0.048763 0.792629 +v -0.582192 0.145840 0.784995 +v -0.656332 0.145840 0.724150 +v -0.662714 0.048763 0.731192 +v -0.552779 0.468554 0.673564 +v -0.519064 0.468554 0.699878 +v -0.537617 0.511005 0.655088 +v -0.585165 0.468554 0.645630 +v -0.566613 0.424977 0.690420 +v -0.532054 0.424977 0.717392 +v -0.504826 0.511005 0.680680 +v -0.569114 0.511005 0.627920 +v -0.599809 0.424977 0.661787 +v -0.397631 0.768355 0.484515 +v -0.373379 0.768355 0.503444 +v -0.373379 0.798372 0.454964 +v -0.420927 0.768355 0.464422 +v -0.420927 0.736490 0.512902 +v -0.395254 0.736490 0.532939 +v -0.350606 0.798372 0.472738 +v -0.395254 0.798373 0.436096 +v -0.445588 0.736490 0.491631 +v -0.182508 -0.951111 0.222387 +v -0.171310 -0.951123 0.230965 +v -0.211160 -0.935896 0.257299 +v -0.193106 -0.951123 0.213078 +v -0.154540 -0.963862 0.188307 +v -0.144851 -0.963912 0.195225 +v -0.198280 -0.935896 0.267351 +v -0.223531 -0.935896 0.246628 +v -0.163215 -0.963912 0.180154 +v -0.182508 0.951092 0.222387 +v -0.171311 0.951104 0.230965 +v -0.154540 0.963844 0.188307 +v -0.193106 0.951104 0.213078 +v -0.211160 0.935878 0.257299 +v -0.198281 0.935878 0.267351 +v -0.144851 0.963894 0.195225 +v -0.163215 0.963894 0.180154 +v -0.223531 0.935878 0.246628 +v -0.397631 -0.768374 0.484515 +v -0.373379 -0.768374 0.503444 +v -0.420927 -0.736508 0.512902 +v -0.420927 -0.768374 0.464422 +v -0.373379 -0.798391 0.454964 +v -0.350606 -0.798391 0.472738 +v -0.395254 -0.736508 0.532939 +v -0.445588 -0.736508 0.491631 +v -0.395254 -0.798391 0.436096 +v -0.552779 -0.468573 0.673564 +v -0.519064 -0.468573 0.699878 +v -0.566613 -0.424995 0.690420 +v -0.585165 -0.468573 0.645630 +v -0.537617 -0.511023 0.655088 +v -0.504826 -0.511023 0.680680 +v -0.532054 -0.424995 0.717392 +v -0.599809 -0.424995 0.661787 +v -0.569114 -0.511023 0.627920 +v -0.623772 -0.097437 0.760068 +v -0.585727 -0.097437 0.789761 +v -0.626036 -0.048782 0.762827 +v -0.660317 -0.097437 0.728547 +v -0.620007 -0.145858 0.755481 +v -0.582192 -0.145858 0.784995 +v -0.587853 -0.048782 0.792629 +v -0.662714 -0.048782 0.731192 +v -0.656332 -0.145858 0.724150 +v -0.599800 0.288531 0.730859 +v -0.563218 0.288531 0.759411 +v -0.590152 0.334857 0.719102 +v -0.634941 0.288531 0.700549 +v -0.608007 0.241511 0.740859 +v -0.570924 0.241511 0.769802 +v -0.554157 0.334857 0.747195 +v -0.624727 0.334857 0.689280 +v -0.643629 0.241511 0.710134 +v -0.484515 0.630571 0.590383 +v -0.454964 0.630571 0.613448 +v -0.464422 0.667515 0.565899 +v -0.512902 0.630571 0.565899 +v -0.503444 0.592111 0.613448 +v -0.472737 0.592111 0.637413 +v -0.436096 0.667515 0.588007 +v -0.491631 0.667515 0.542431 +v -0.532939 0.592111 0.588007 +v -0.295467 0.876611 0.360027 +v -0.277445 0.876611 0.374092 +v -0.267987 0.898549 0.326544 +v -0.312777 0.876611 0.345096 +v -0.322235 0.852566 0.392645 +v -0.302581 0.852566 0.407984 +v -0.251642 0.898549 0.339301 +v -0.283688 0.898549 0.313002 +v -0.341114 0.852566 0.376361 +v -0.295466 -0.876630 0.360027 +v -0.277445 -0.876630 0.374092 +v -0.322235 -0.852584 0.392645 +v -0.312777 -0.876630 0.345096 +v -0.267987 -0.898567 0.326544 +v -0.251642 -0.898567 0.339301 +v -0.302581 -0.852584 0.407984 +v -0.341114 -0.852584 0.376361 +v -0.283688 -0.898567 0.313002 +v -0.484515 -0.630590 0.590383 +v -0.454964 -0.630590 0.613448 +v -0.503444 -0.592129 0.613448 +v -0.512902 -0.630590 0.565899 +v -0.464422 -0.667534 0.565899 +v -0.436096 -0.667534 0.588007 +v -0.472737 -0.592129 0.637413 +v -0.532939 -0.592129 0.588007 +v -0.491631 -0.667534 0.542431 +v -0.730859 -0.288549 0.599801 +v -0.700549 -0.288549 0.634941 +v -0.740859 -0.241529 0.608007 +v -0.759411 -0.288549 0.563218 +v -0.719102 -0.334875 0.590152 +v -0.689279 -0.334875 0.624727 +v -0.710134 -0.241529 0.643629 +v -0.769802 -0.241529 0.570924 +v -0.747195 -0.334875 0.554157 +v -0.760068 0.097419 0.623772 +v -0.728547 0.097419 0.660317 +v -0.755481 0.145840 0.620007 +v -0.789761 0.097419 0.585726 +v -0.762827 0.048763 0.626036 +v -0.731192 0.048763 0.662714 +v -0.724150 0.145840 0.656332 +v -0.784995 0.145840 0.582192 +v -0.792629 0.048763 0.587853 +v -0.673564 0.468554 0.552779 +v -0.645630 0.468554 0.585165 +v -0.655088 0.511005 0.537617 +v -0.699878 0.468554 0.519064 +v -0.690420 0.424977 0.566613 +v -0.661787 0.424977 0.599809 +v -0.627920 0.511005 0.569114 +v -0.680680 0.511005 0.504826 +v -0.717392 0.424977 0.532054 +v -0.484515 0.768355 0.397631 +v -0.464422 0.768355 0.420927 +v -0.454964 0.798372 0.373379 +v -0.503444 0.768355 0.373379 +v -0.512902 0.736490 0.420927 +v -0.491631 0.736490 0.445588 +v -0.436096 0.798372 0.395254 +v -0.472737 0.798373 0.350606 +v -0.532939 0.736490 0.395254 +v -0.222386 -0.951111 0.182508 +v -0.213078 -0.951123 0.193106 +v -0.257299 -0.935896 0.211160 +v -0.230965 -0.951123 0.171311 +v -0.188307 -0.963862 0.154540 +v -0.180154 -0.963912 0.163215 +v -0.246628 -0.935896 0.223531 +v -0.267351 -0.935896 0.198281 +v -0.195225 -0.963912 0.144851 +v -0.222387 0.951092 0.182508 +v -0.213078 0.951104 0.193106 +v -0.188307 0.963844 0.154540 +v -0.230965 0.951104 0.171311 +v -0.257299 0.935878 0.211160 +v -0.246628 0.935878 0.223531 +v -0.180154 0.963894 0.163215 +v -0.195225 0.963894 0.144851 +v -0.267351 0.935878 0.198281 +v -0.484515 -0.768374 0.397631 +v -0.464422 -0.768374 0.420927 +v -0.512902 -0.736508 0.420927 +v -0.503444 -0.768374 0.373379 +v -0.454964 -0.798391 0.373379 +v -0.436095 -0.798391 0.395254 +v -0.491631 -0.736508 0.445588 +v -0.532939 -0.736508 0.395254 +v -0.472737 -0.798391 0.350606 +v -0.673563 -0.468573 0.552779 +v -0.645630 -0.468573 0.585165 +v -0.690419 -0.424995 0.566613 +v -0.699878 -0.468573 0.519064 +v -0.655088 -0.511023 0.537617 +v -0.627920 -0.511023 0.569114 +v -0.661787 -0.424995 0.599809 +v -0.717392 -0.424995 0.532054 +v -0.680680 -0.511023 0.504826 +v -0.760068 -0.097437 0.623772 +v -0.728547 -0.097437 0.660317 +v -0.762827 -0.048782 0.626036 +v -0.789761 -0.097437 0.585726 +v -0.755481 -0.145858 0.620007 +v -0.724150 -0.145858 0.656332 +v -0.731192 -0.048782 0.662714 +v -0.792629 -0.048782 0.587853 +v -0.784995 -0.145858 0.582192 +v -0.730859 0.288531 0.599801 +v -0.700549 0.288531 0.634941 +v -0.719102 0.334857 0.590152 +v -0.759411 0.288531 0.563218 +v -0.740859 0.241511 0.608007 +v -0.710134 0.241511 0.643629 +v -0.689279 0.334857 0.624727 +v -0.747195 0.334857 0.554157 +v -0.769802 0.241511 0.570924 +v -0.590383 0.630571 0.484515 +v -0.565899 0.630571 0.512902 +v -0.565899 0.667515 0.464422 +v -0.613448 0.630571 0.454964 +v -0.613448 0.592111 0.503444 +v -0.588007 0.592111 0.532939 +v -0.542431 0.667515 0.491631 +v -0.588007 0.667515 0.436096 +v -0.637413 0.592111 0.472737 +v -0.360027 0.876611 0.295467 +v -0.345096 0.876611 0.312777 +v -0.326544 0.898549 0.267988 +v -0.374092 0.876611 0.277446 +v -0.392645 0.852566 0.322235 +v -0.376361 0.852566 0.341114 +v -0.313001 0.898549 0.283688 +v -0.339301 0.898549 0.251643 +v -0.407984 0.852566 0.302582 +v -0.360027 -0.876630 0.295467 +v -0.345096 -0.876630 0.312777 +v -0.392645 -0.852584 0.322235 +v -0.374092 -0.876630 0.277446 +v -0.326544 -0.898567 0.267988 +v -0.313001 -0.898567 0.283688 +v -0.376361 -0.852584 0.341114 +v -0.407984 -0.852584 0.302581 +v -0.339301 -0.898567 0.251643 +v -0.590383 -0.630590 0.484515 +v -0.565899 -0.630590 0.512902 +v -0.613448 -0.592129 0.503443 +v -0.613448 -0.630590 0.454964 +v -0.565899 -0.667534 0.464422 +v -0.542431 -0.667534 0.491631 +v -0.588007 -0.592129 0.532939 +v -0.637413 -0.592129 0.472737 +v -0.588007 -0.667534 0.436096 +v -0.833831 -0.288549 0.445692 +v -0.810959 -0.288549 0.486071 +v -0.845240 -0.241529 0.451790 +v -0.854698 -0.288549 0.404242 +v -0.820417 -0.334875 0.438522 +v -0.797913 -0.334875 0.478251 +v -0.822055 -0.241529 0.492721 +v -0.866392 -0.241529 0.409772 +v -0.840948 -0.334875 0.397739 +v -0.867155 0.097419 0.463504 +v -0.843369 0.097419 0.505496 +v -0.861922 0.145840 0.460707 +v -0.888856 0.097419 0.420397 +v -0.870303 0.048763 0.465187 +v -0.846431 0.048763 0.507332 +v -0.838279 0.145840 0.502446 +v -0.883492 0.145840 0.417860 +v -0.892083 0.048763 0.421923 +v -0.768463 0.468554 0.410752 +v -0.747384 0.468554 0.447965 +v -0.747384 0.511005 0.399485 +v -0.787694 0.468554 0.372551 +v -0.787694 0.424977 0.421031 +v -0.766088 0.424977 0.459176 +v -0.726884 0.511005 0.435678 +v -0.766088 0.511005 0.362332 +v -0.807406 0.424977 0.381874 +v -0.552779 0.768355 0.295467 +v -0.537617 0.768355 0.322235 +v -0.519064 0.798372 0.277446 +v -0.566613 0.768355 0.267988 +v -0.585165 0.736490 0.312777 +v -0.569114 0.736490 0.341114 +v -0.504826 0.798372 0.302582 +v -0.532054 0.798373 0.251643 +v -0.599809 0.736490 0.283688 +v -0.253719 -0.951111 0.135616 +v -0.246657 -0.951123 0.147826 +v -0.293550 -0.935896 0.156906 +v -0.259948 -0.951123 0.122960 +v -0.214838 -0.963862 0.114833 +v -0.208534 -0.963912 0.124933 +v -0.285498 -0.935896 0.171121 +v -0.300896 -0.935896 0.142313 +v -0.219733 -0.963912 0.103981 +v -0.253719 0.951092 0.135616 +v -0.246657 0.951104 0.147826 +v -0.214838 0.963844 0.114834 +v -0.259948 0.951104 0.122960 +v -0.293550 0.935878 0.156906 +v -0.285498 0.935878 0.171121 +v -0.208534 0.963894 0.124933 +v -0.219733 0.963894 0.103981 +v -0.300896 0.935878 0.142313 +v -0.552779 -0.768374 0.295467 +v -0.537617 -0.768374 0.322235 +v -0.585165 -0.736508 0.312777 +v -0.566613 -0.768374 0.267988 +v -0.519064 -0.798391 0.277446 +v -0.504826 -0.798391 0.302581 +v -0.569114 -0.736508 0.341114 +v -0.599809 -0.736508 0.283688 +v -0.532054 -0.798391 0.251642 +v -0.768463 -0.468573 0.410752 +v -0.747384 -0.468573 0.447965 +v -0.787694 -0.424995 0.421031 +v -0.787694 -0.468573 0.372551 +v -0.747384 -0.511023 0.399485 +v -0.726884 -0.511023 0.435678 +v -0.766088 -0.424995 0.459176 +v -0.807406 -0.424995 0.381874 +v -0.766088 -0.511023 0.362332 +v -0.867155 -0.097437 0.463504 +v -0.843369 -0.097437 0.505496 +v -0.870303 -0.048782 0.465187 +v -0.888856 -0.097437 0.420397 +v -0.861922 -0.145858 0.460707 +v -0.838279 -0.145858 0.502446 +v -0.846431 -0.048782 0.507332 +v -0.892083 -0.048782 0.421923 +v -0.883491 -0.145858 0.417860 +v -0.833831 0.288531 0.445692 +v -0.810959 0.288531 0.486071 +v -0.820417 0.334857 0.438522 +v -0.854698 0.288531 0.404242 +v -0.845240 0.241511 0.451790 +v -0.822055 0.241511 0.492721 +v -0.797913 0.334857 0.478251 +v -0.840948 0.334857 0.397739 +v -0.866392 0.241511 0.409772 +v -0.673563 0.630571 0.360027 +v -0.655088 0.630571 0.392645 +v -0.645630 0.667515 0.345096 +v -0.690419 0.630571 0.326544 +v -0.699877 0.592111 0.374092 +v -0.680680 0.592111 0.407984 +v -0.627920 0.667515 0.376361 +v -0.661787 0.667515 0.313002 +v -0.717392 0.592111 0.339301 +v -0.410752 0.876611 0.219552 +v -0.399485 0.876611 0.239442 +v -0.372551 0.898549 0.199133 +v -0.421031 0.876611 0.199133 +v -0.447965 0.852566 0.239442 +v -0.435678 0.852566 0.261135 +v -0.362332 0.898549 0.217174 +v -0.381874 0.898549 0.180613 +v -0.459175 0.852566 0.217174 +v -0.410752 -0.876630 0.219552 +v -0.399485 -0.876630 0.239442 +v -0.447965 -0.852584 0.239442 +v -0.421031 -0.876630 0.199133 +v -0.372551 -0.898567 0.199133 +v -0.362332 -0.898567 0.217174 +v -0.435677 -0.852584 0.261135 +v -0.459175 -0.852584 0.217174 +v -0.381874 -0.898567 0.180613 +v -0.673563 -0.630590 0.360027 +v -0.655088 -0.630590 0.392645 +v -0.699877 -0.592129 0.374092 +v -0.690419 -0.630590 0.326544 +v -0.645630 -0.667534 0.345096 +v -0.627920 -0.667534 0.376361 +v -0.680680 -0.592129 0.407984 +v -0.717392 -0.592129 0.339301 +v -0.661787 -0.667534 0.313002 +v -0.904759 -0.288549 0.274456 +v -0.890204 -0.288549 0.318521 +v -0.917138 -0.241529 0.278211 +v -0.917139 -0.288549 0.229731 +v -0.890205 -0.334875 0.270041 +v -0.875884 -0.334875 0.313397 +v -0.902384 -0.241529 0.322879 +v -0.929687 -0.241529 0.232874 +v -0.902385 -0.334875 0.226035 +v -0.940918 0.097419 0.285424 +v -0.925782 0.097419 0.331250 +v -0.935240 0.145840 0.283702 +v -0.953792 0.097419 0.238912 +v -0.944334 0.048763 0.286460 +v -0.929143 0.048763 0.332453 +v -0.920194 0.145840 0.329251 +v -0.948036 0.145840 0.237470 +v -0.957255 0.048763 0.239779 +v -0.833831 0.468554 0.252940 +v -0.820417 0.468554 0.293550 +v -0.810959 0.511005 0.246002 +v -0.845240 0.468554 0.211721 +v -0.854698 0.424977 0.259270 +v -0.840948 0.424977 0.300896 +v -0.797913 0.511005 0.285498 +v -0.822055 0.511005 0.205914 +v -0.866392 0.424977 0.217020 +v -0.599800 0.768355 0.181947 +v -0.590152 0.768355 0.211160 +v -0.563217 0.798372 0.170850 +v -0.608007 0.768355 0.152298 +v -0.634941 0.736490 0.192607 +v -0.624727 0.736490 0.223531 +v -0.554157 0.798372 0.198281 +v -0.570924 0.798373 0.143009 +v -0.643629 0.736490 0.161220 +v -0.275301 -0.951111 0.083512 +v -0.270757 -0.951123 0.096865 +v -0.318520 -0.935896 0.096622 +v -0.278941 -0.951123 0.069884 +v -0.233113 -0.963862 0.070714 +v -0.228900 -0.963912 0.081849 +v -0.313396 -0.935896 0.112135 +v -0.322878 -0.935896 0.080877 +v -0.235796 -0.963912 0.059115 +v -0.275301 0.951092 0.083512 +v -0.270757 0.951104 0.096865 +v -0.233113 0.963844 0.070714 +v -0.278941 0.951104 0.069884 +v -0.318520 0.935878 0.096622 +v -0.313396 0.935878 0.112135 +v -0.228900 0.963894 0.081849 +v -0.235796 0.963894 0.059115 +v -0.322879 0.935878 0.080877 +v -0.599800 -0.768374 0.181947 +v -0.590151 -0.768374 0.211160 +v -0.634941 -0.736508 0.192607 +v -0.608007 -0.768374 0.152298 +v -0.563217 -0.798391 0.170850 +v -0.554157 -0.798391 0.198281 +v -0.624727 -0.736508 0.223531 +v -0.643629 -0.736508 0.161220 +v -0.570924 -0.798391 0.143009 +v -0.833831 -0.468573 0.252940 +v -0.820417 -0.468573 0.293550 +v -0.854698 -0.424995 0.259270 +v -0.845240 -0.468573 0.211721 +v -0.810959 -0.511023 0.246002 +v -0.797913 -0.511023 0.285498 +v -0.840948 -0.424995 0.300896 +v -0.866392 -0.424995 0.217020 +v -0.822055 -0.511023 0.205914 +v -0.940918 -0.097437 0.285424 +v -0.925782 -0.097437 0.331250 +v -0.944334 -0.048782 0.286460 +v -0.953792 -0.097437 0.238912 +v -0.935240 -0.145858 0.283702 +v -0.920194 -0.145858 0.329251 +v -0.929143 -0.048782 0.332453 +v -0.957255 -0.048782 0.239779 +v -0.948036 -0.145858 0.237470 +v -0.904759 0.288531 0.274456 +v -0.890204 0.288531 0.318521 +v -0.890205 0.334857 0.270041 +v -0.917139 0.288531 0.229731 +v -0.917138 0.241511 0.278211 +v -0.902384 0.241511 0.322879 +v -0.875884 0.334857 0.313397 +v -0.902385 0.334857 0.226035 +v -0.929687 0.241511 0.232874 +v -0.730859 0.630571 0.221704 +v -0.719102 0.630571 0.257299 +v -0.700549 0.667515 0.212509 +v -0.740859 0.630571 0.185575 +v -0.759411 0.592111 0.230365 +v -0.747195 0.592111 0.267351 +v -0.689279 0.667515 0.246628 +v -0.710134 0.667515 0.177879 +v -0.769802 0.592111 0.192825 +v -0.445692 0.876611 0.135199 +v -0.438522 0.876611 0.156906 +v -0.404242 0.898549 0.122625 +v -0.451790 0.876611 0.113167 +v -0.486070 0.852566 0.147448 +v -0.478251 0.852566 0.171121 +v -0.397738 0.898549 0.142313 +v -0.409772 0.898549 0.102643 +v -0.492721 0.852566 0.123420 +v -0.445692 -0.876630 0.135199 +v -0.438522 -0.876630 0.156906 +v -0.486070 -0.852584 0.147448 +v -0.451790 -0.876630 0.113167 +v -0.404241 -0.898567 0.122625 +v -0.397738 -0.898567 0.142313 +v -0.478251 -0.852584 0.171121 +v -0.492721 -0.852584 0.123420 +v -0.409772 -0.898567 0.102643 +v -0.730859 -0.630590 0.221704 +v -0.719102 -0.630590 0.257299 +v -0.759411 -0.592129 0.230365 +v -0.740859 -0.630590 0.185575 +v -0.700549 -0.667534 0.212509 +v -0.689279 -0.667534 0.246628 +v -0.747195 -0.592129 0.267351 +v -0.769802 -0.592129 0.192825 +v -0.710134 -0.667534 0.177879 +v -0.135277 -0.985435 -0.013324 +v -0.122532 -0.987174 -0.007371 +v -0.161861 -0.981491 -0.015942 +v -0.121616 -0.987174 -0.016676 +v -0.088248 -0.990952 -0.008692 +v -0.159893 -0.981742 -0.008105 +v -0.158402 -0.981742 -0.023245 +v -0.135277 0.985417 -0.013324 +v -0.122532 0.987155 -0.007371 +v -0.121616 0.987155 -0.016676 +v -0.161861 0.981473 -0.015942 +v -0.159893 0.981723 -0.008105 +v -0.088248 0.990934 -0.008692 +v -0.158402 0.981723 -0.023245 +v -0.130078 -0.985435 -0.039459 +v -0.118740 -0.987174 -0.031134 +v -0.155641 -0.981491 -0.047213 +v -0.116026 -0.987174 -0.040081 +v -0.084856 -0.990952 -0.025741 +v -0.155240 -0.981742 -0.039143 +v -0.150823 -0.981742 -0.053701 +v -0.130079 0.985417 -0.039459 +v -0.118740 0.987155 -0.031134 +v -0.116026 0.987155 -0.040081 +v -0.155641 0.981473 -0.047213 +v -0.155240 0.981723 -0.039143 +v -0.084857 0.990934 -0.025741 +v -0.150824 0.981723 -0.053701 +v -0.119881 -0.985435 -0.064078 +v -0.110384 -0.987174 -0.053701 +v -0.143439 -0.981491 -0.076670 +v -0.105977 -0.987174 -0.061947 +v -0.078204 -0.990952 -0.041801 +v -0.144620 -0.981742 -0.068676 +v -0.137449 -0.981742 -0.082093 +v -0.119881 0.985417 -0.064078 +v -0.110385 0.987155 -0.053701 +v -0.105977 0.987155 -0.061947 +v -0.143439 0.981473 -0.076670 +v -0.144621 0.981723 -0.068676 +v -0.078204 0.990934 -0.041801 +v -0.137449 0.981723 -0.082093 +v -0.105076 -0.985435 -0.086234 +v -0.097787 -0.987174 -0.074204 +v -0.125725 -0.981491 -0.103180 +v -0.091855 -0.987174 -0.081432 +v -0.068546 -0.990952 -0.056255 +v -0.128443 -0.981742 -0.095571 +v -0.118792 -0.981742 -0.107331 +v -0.105077 0.985417 -0.086234 +v -0.097787 0.987155 -0.074204 +v -0.091855 0.987155 -0.081432 +v -0.125726 0.981473 -0.103181 +v -0.128444 0.981723 -0.095571 +v -0.068547 0.990934 -0.056255 +v -0.118792 0.981723 -0.107331 +v -0.086234 -0.985435 -0.105077 +v -0.081431 -0.987174 -0.091855 +v -0.103180 -0.981491 -0.125726 +v -0.074204 -0.987174 -0.097787 +v -0.056254 -0.990952 -0.068547 +v -0.107331 -0.981742 -0.118792 +v -0.095570 -0.981742 -0.128444 +v -0.086234 0.985417 -0.105077 +v -0.081432 0.987155 -0.091856 +v -0.074204 0.987155 -0.097787 +v -0.103180 0.981473 -0.125726 +v -0.107331 0.981723 -0.118793 +v -0.056255 0.990934 -0.068547 +v -0.095571 0.981723 -0.128444 +v -0.064078 -0.985435 -0.119881 +v -0.061947 -0.987174 -0.105977 +v -0.076670 -0.981491 -0.143440 +v -0.053701 -0.987174 -0.110385 +v -0.041801 -0.990952 -0.078204 +v -0.082093 -0.981742 -0.137449 +v -0.068676 -0.981742 -0.144621 +v -0.064078 0.985417 -0.119881 +v -0.061947 0.987155 -0.105977 +v -0.053701 0.987155 -0.110385 +v -0.076670 0.981473 -0.143440 +v -0.082093 0.981723 -0.137449 +v -0.041801 0.990934 -0.078204 +v -0.068676 0.981723 -0.144621 +v -0.039459 -0.985435 -0.130079 +v -0.040081 -0.987174 -0.116026 +v -0.047213 -0.981491 -0.155641 +v -0.031134 -0.987174 -0.118740 +v -0.025741 -0.990952 -0.084857 +v -0.053701 -0.981742 -0.150824 +v -0.039142 -0.981742 -0.155240 +v -0.039459 0.985417 -0.130079 +v -0.040081 0.987155 -0.116026 +v -0.031134 0.987155 -0.118740 +v -0.047213 0.981473 -0.155641 +v -0.053701 0.981723 -0.150824 +v -0.025741 0.990934 -0.084857 +v -0.039142 0.981723 -0.155240 +v -0.013323 -0.985435 -0.135277 +v -0.016675 -0.987174 -0.121616 +v -0.015942 -0.981491 -0.161861 +v -0.007370 -0.987174 -0.122532 +v -0.008691 -0.990952 -0.088248 +v -0.023244 -0.981742 -0.158402 +v -0.008104 -0.981742 -0.159893 +v -0.013323 0.985417 -0.135277 +v -0.016676 0.987155 -0.121616 +v -0.007371 0.987155 -0.122533 +v -0.015942 0.981473 -0.161861 +v -0.023245 0.981723 -0.158402 +v -0.008692 0.990934 -0.088248 +v -0.008104 0.981723 -0.159893 +v 0.013324 -0.985435 -0.135277 +v 0.007371 -0.987174 -0.122532 +v 0.015942 -0.981491 -0.161861 +v 0.016676 -0.987174 -0.121616 +v 0.008692 -0.990952 -0.088248 +v 0.008105 -0.981742 -0.159893 +v 0.023245 -0.981742 -0.158402 +v 0.013324 0.985417 -0.135277 +v 0.007371 0.987155 -0.122533 +v 0.016676 0.987155 -0.121616 +v 0.015942 0.981473 -0.161861 +v 0.008105 0.981723 -0.159893 +v 0.008692 0.990934 -0.088248 +v 0.023245 0.981723 -0.158402 +v 0.039459 -0.985435 -0.130079 +v 0.031134 -0.987174 -0.118740 +v 0.047213 -0.981491 -0.155641 +v 0.040082 -0.987174 -0.116026 +v 0.025741 -0.990952 -0.084857 +v 0.039143 -0.981742 -0.155240 +v 0.053701 -0.981742 -0.150824 +v 0.039459 0.985417 -0.130079 +v 0.031134 0.987155 -0.118740 +v 0.040082 0.987155 -0.116026 +v 0.047213 0.981473 -0.155641 +v 0.039143 0.981723 -0.155240 +v 0.025741 0.990934 -0.084857 +v 0.053701 0.981723 -0.150824 +v 0.064078 -0.985435 -0.119881 +v 0.053701 -0.987174 -0.110385 +v 0.076670 -0.981491 -0.143440 +v 0.061947 -0.987174 -0.105977 +v 0.041801 -0.990952 -0.078204 +v 0.068677 -0.981742 -0.144621 +v 0.082094 -0.981742 -0.137449 +v 0.064078 0.985417 -0.119881 +v 0.053701 0.987155 -0.110385 +v 0.061947 0.987155 -0.105977 +v 0.076670 0.981473 -0.143440 +v 0.068677 0.981723 -0.144621 +v 0.041801 0.990934 -0.078204 +v 0.082094 0.981723 -0.137449 +v 0.086235 -0.985435 -0.105077 +v 0.074204 -0.987174 -0.097787 +v 0.103181 -0.981491 -0.125726 +v 0.081432 -0.987174 -0.091855 +v 0.056255 -0.990952 -0.068547 +v 0.095571 -0.981742 -0.128444 +v 0.107331 -0.981742 -0.118792 +v 0.086235 0.985417 -0.105077 +v 0.074204 0.987155 -0.097787 +v 0.081432 0.987155 -0.091855 +v 0.103181 0.981473 -0.125726 +v 0.095571 0.981723 -0.128444 +v 0.056255 0.990934 -0.068547 +v 0.107331 0.981723 -0.118793 +v 0.105077 -0.985435 -0.086234 +v 0.091856 -0.987174 -0.081432 +v 0.125726 -0.981491 -0.103180 +v 0.097787 -0.987174 -0.074204 +v 0.068547 -0.990952 -0.056255 +v 0.118793 -0.981742 -0.107331 +v 0.128444 -0.981742 -0.095571 +v 0.105077 0.985417 -0.086234 +v 0.091856 0.987155 -0.081432 +v 0.097787 0.987155 -0.074204 +v 0.125726 0.981473 -0.103181 +v 0.118793 0.981723 -0.107331 +v 0.068547 0.990934 -0.056255 +v 0.128444 0.981723 -0.095571 +v 0.119881 -0.985435 -0.064078 +v 0.105977 -0.987174 -0.061947 +v 0.143440 -0.981491 -0.076670 +v 0.110385 -0.987174 -0.053701 +v 0.078205 -0.990952 -0.041801 +v 0.137449 -0.981742 -0.082093 +v 0.144621 -0.981742 -0.068676 +v 0.119881 0.985417 -0.064078 +v 0.105977 0.987155 -0.061947 +v 0.110385 0.987155 -0.053701 +v 0.143440 0.981473 -0.076670 +v 0.137449 0.981723 -0.082093 +v 0.078205 0.990934 -0.041801 +v 0.144621 0.981723 -0.068676 +v 0.130079 -0.985435 -0.039459 +v 0.116026 -0.987174 -0.040081 +v 0.155641 -0.981491 -0.047213 +v 0.118740 -0.987174 -0.031134 +v 0.084857 -0.990952 -0.025741 +v 0.150824 -0.981742 -0.053701 +v 0.155240 -0.981742 -0.039142 +v 0.130079 0.985417 -0.039459 +v 0.116026 0.987155 -0.040081 +v 0.118740 0.987155 -0.031134 +v 0.155641 0.981473 -0.047213 +v 0.150824 0.981723 -0.053701 +v 0.084857 0.990934 -0.025741 +v 0.155240 0.981723 -0.039143 +v 0.135278 -0.985435 -0.013324 +v 0.121616 -0.987174 -0.016676 +v 0.161861 -0.981491 -0.015942 +v 0.122533 -0.987174 -0.007371 +v 0.088248 -0.990952 -0.008692 +v 0.158402 -0.981742 -0.023245 +v 0.159894 -0.981742 -0.008105 +v 0.135278 0.985417 -0.013324 +v 0.121616 0.987155 -0.016676 +v 0.122533 0.987155 -0.007371 +v 0.161862 0.981473 -0.015942 +v 0.158402 0.981723 -0.023245 +v 0.088248 0.990934 -0.008692 +v 0.159894 0.981723 -0.008105 +v 0.135278 -0.985435 0.013324 +v 0.122533 -0.987174 0.007371 +v 0.161861 -0.981491 0.015942 +v 0.121616 -0.987174 0.016676 +v 0.088248 -0.990952 0.008692 +v 0.159894 -0.981742 0.008105 +v 0.158402 -0.981742 0.023245 +v 0.135278 0.985417 0.013324 +v 0.122533 0.987155 0.007371 +v 0.121616 0.987155 0.016676 +v 0.161862 0.981473 0.015942 +v 0.159894 0.981723 0.008105 +v 0.088248 0.990934 0.008692 +v 0.158402 0.981723 0.023245 +v 0.130079 -0.985435 0.039459 +v 0.118740 -0.987174 0.031134 +v 0.155641 -0.981491 0.047213 +v 0.116026 -0.987174 0.040081 +v 0.084857 -0.990952 0.025741 +v 0.155240 -0.981742 0.039142 +v 0.150824 -0.981742 0.053701 +v 0.130079 0.985417 0.039459 +v 0.118740 0.987155 0.031134 +v 0.116026 0.987155 0.040082 +v 0.155641 0.981473 0.047213 +v 0.155240 0.981723 0.039143 +v 0.084857 0.990934 0.025741 +v 0.150824 0.981723 0.053701 +v 0.119881 -0.985435 0.064078 +v 0.110385 -0.987174 0.053701 +v 0.143440 -0.981491 0.076670 +v 0.105977 -0.987174 0.061947 +v 0.078205 -0.990952 0.041801 +v 0.144621 -0.981742 0.068676 +v 0.137449 -0.981742 0.082093 +v 0.119881 0.985417 0.064078 +v 0.110385 0.987155 0.053701 +v 0.105977 0.987155 0.061947 +v 0.143440 0.981473 0.076670 +v 0.144621 0.981723 0.068676 +v 0.078205 0.990934 0.041801 +v 0.137449 0.981723 0.082093 +v 0.105077 -0.985435 0.086234 +v 0.097787 -0.987174 0.074204 +v 0.125726 -0.981491 0.103180 +v 0.091856 -0.987174 0.081432 +v 0.068547 -0.990952 0.056255 +v 0.128444 -0.981742 0.095571 +v 0.118793 -0.981742 0.107331 +v 0.105077 0.985417 0.086234 +v 0.097787 0.987155 0.074204 +v 0.091856 0.987155 0.081432 +v 0.125726 0.981473 0.103181 +v 0.128444 0.981723 0.095571 +v 0.068547 0.990934 0.056255 +v 0.118793 0.981723 0.107331 +v 0.086235 -0.985435 0.105077 +v 0.081432 -0.987174 0.091855 +v 0.103181 -0.981491 0.125726 +v 0.074204 -0.987174 0.097787 +v 0.056255 -0.990952 0.068547 +v 0.107331 -0.981742 0.118792 +v 0.095571 -0.981742 0.128444 +v 0.086234 0.985417 0.105077 +v 0.081432 0.987155 0.091856 +v 0.074204 0.987155 0.097787 +v 0.103181 0.981473 0.125726 +v 0.107331 0.981723 0.118793 +v 0.056255 0.990934 0.068547 +v 0.095571 0.981723 0.128444 +v 0.064078 -0.985435 0.119881 +v 0.061947 -0.987174 0.105977 +v 0.076670 -0.981491 0.143439 +v 0.053701 -0.987174 0.110385 +v 0.041801 -0.990952 0.078204 +v 0.082093 -0.981742 0.137449 +v 0.068676 -0.981742 0.144621 +v 0.064078 0.985417 0.119881 +v 0.061947 0.987155 0.105977 +v 0.053701 0.987155 0.110385 +v 0.076670 0.981473 0.143440 +v 0.082094 0.981723 0.137449 +v 0.041801 0.990934 0.078204 +v 0.068676 0.981723 0.144621 +v 0.039459 -0.985435 0.130079 +v 0.040082 -0.987174 0.116026 +v 0.047213 -0.981491 0.155641 +v 0.031134 -0.987174 0.118740 +v 0.025741 -0.990952 0.084857 +v 0.053701 -0.981742 0.150824 +v 0.039143 -0.981742 0.155240 +v 0.039459 0.985417 0.130079 +v 0.040082 0.987155 0.116026 +v 0.031134 0.987155 0.118740 +v 0.047213 0.981473 0.155641 +v 0.053701 0.981723 0.150824 +v 0.025741 0.990934 0.084857 +v 0.039143 0.981723 0.155240 +v 0.013324 -0.985435 0.135277 +v 0.016676 -0.987174 0.121616 +v 0.015942 -0.981491 0.161861 +v 0.007371 -0.987174 0.122532 +v 0.008692 -0.990952 0.088248 +v 0.023245 -0.981742 0.158402 +v 0.008105 -0.981742 0.159893 +v 0.013324 0.985417 0.135277 +v 0.016676 0.987155 0.121616 +v 0.007371 0.987155 0.122533 +v 0.015942 0.981473 0.161861 +v 0.023245 0.981723 0.158402 +v 0.008692 0.990934 0.088248 +v 0.008105 0.981723 0.159893 +v -0.013323 -0.985435 0.135277 +v -0.007370 -0.987174 0.122532 +v -0.015942 -0.981491 0.161861 +v -0.016675 -0.987174 0.121616 +v -0.008691 -0.990952 0.088248 +v -0.008104 -0.981742 0.159893 +v -0.023244 -0.981742 0.158402 +v -0.013323 0.985417 0.135277 +v -0.007371 0.987155 0.122533 +v -0.016676 0.987155 0.121616 +v -0.015942 0.981473 0.161861 +v -0.008104 0.981723 0.159893 +v -0.008692 0.990934 0.088248 +v -0.023245 0.981723 0.158402 +v -0.039459 -0.985435 0.130079 +v -0.031134 -0.987174 0.118740 +v -0.047213 -0.981491 0.155641 +v -0.040081 -0.987174 0.116026 +v -0.025741 -0.990952 0.084857 +v -0.039142 -0.981742 0.155240 +v -0.053700 -0.981742 0.150824 +v -0.039459 0.985417 0.130079 +v -0.031134 0.987155 0.118740 +v -0.040081 0.987155 0.116026 +v -0.047213 0.981473 0.155641 +v -0.039142 0.981723 0.155240 +v -0.025741 0.990934 0.084857 +v -0.053701 0.981723 0.150824 +v -0.064077 -0.985435 0.119881 +v -0.053700 -0.987174 0.110385 +v -0.076670 -0.981491 0.143439 +v -0.061946 -0.987174 0.105977 +v -0.041801 -0.990952 0.078204 +v -0.068676 -0.981742 0.144621 +v -0.082093 -0.981742 0.137449 +v -0.064078 0.985417 0.119881 +v -0.053701 0.987155 0.110385 +v -0.061947 0.987155 0.105977 +v -0.076670 0.981473 0.143440 +v -0.068676 0.981723 0.144621 +v -0.041801 0.990934 0.078204 +v -0.082093 0.981723 0.137449 +v -0.086234 -0.985435 0.105077 +v -0.074204 -0.987174 0.097787 +v -0.103180 -0.981491 0.125726 +v -0.081431 -0.987174 0.091855 +v -0.056254 -0.990952 0.068547 +v -0.095570 -0.981742 0.128444 +v -0.107330 -0.981742 0.118792 +v -0.086234 0.985417 0.105077 +v -0.074204 0.987155 0.097787 +v -0.081431 0.987155 0.091856 +v -0.103180 0.981473 0.125726 +v -0.095570 0.981723 0.128444 +v -0.056255 0.990934 0.068547 +v -0.107331 0.981723 0.118793 +v -0.105076 -0.985435 0.086234 +v -0.091855 -0.987174 0.081432 +v -0.125725 -0.981491 0.103180 +v -0.097787 -0.987174 0.074204 +v -0.068546 -0.990952 0.056255 +v -0.118792 -0.981742 0.107331 +v -0.128443 -0.981742 0.095571 +v -0.105077 0.985417 0.086234 +v -0.091855 0.987155 0.081432 +v -0.097787 0.987155 0.074204 +v -0.125726 0.981473 0.103181 +v -0.118792 0.981723 0.107331 +v -0.068547 0.990934 0.056255 +v -0.128444 0.981723 0.095571 +v -0.119881 -0.985435 0.064078 +v -0.105977 -0.987174 0.061947 +v -0.143439 -0.981491 0.076670 +v -0.110384 -0.987174 0.053701 +v -0.078204 -0.990952 0.041801 +v -0.137449 -0.981742 0.082093 +v -0.144620 -0.981742 0.068676 +v -0.119881 0.985417 0.064078 +v -0.105977 0.987155 0.061947 +v -0.110384 0.987155 0.053701 +v -0.143439 0.981473 0.076670 +v -0.137449 0.981723 0.082093 +v -0.078204 0.990934 0.041801 +v -0.144620 0.981723 0.068676 +v -0.130078 -0.985435 0.039459 +v -0.116026 -0.987174 0.040081 +v -0.155641 -0.981491 0.047213 +v -0.118740 -0.987174 0.031134 +v -0.084856 -0.990952 0.025741 +v -0.150823 -0.981742 0.053701 +v -0.155239 -0.981742 0.039142 +v -0.130078 0.985417 0.039459 +v -0.116026 0.987155 0.040082 +v -0.118740 0.987155 0.031134 +v -0.155641 0.981473 0.047213 +v -0.150823 0.981723 0.053701 +v -0.084857 0.990934 0.025741 +v -0.155240 0.981723 0.039143 +v -0.940919 -0.288549 0.092672 +v -0.935240 -0.288549 0.138730 +v -0.953793 -0.241529 0.093940 +v -0.944335 -0.288549 0.046392 +v -0.925782 -0.334875 0.091182 +v -0.920195 -0.334875 0.136498 +v -0.948036 -0.241529 0.140628 +v -0.957255 -0.241529 0.047027 +v -0.929143 -0.334875 0.045646 +v -0.978523 0.097419 0.096376 +v -0.972617 0.097419 0.144274 +v -0.972617 0.145840 0.095794 +v -0.982075 0.097419 0.048246 +v -0.982075 0.048763 0.096726 +v -0.976148 0.048763 0.144798 +v -0.966747 0.145840 0.143404 +v -0.976148 0.145840 0.047955 +v -0.985641 0.048763 0.048421 +v -0.867156 0.468554 0.085407 +v -0.861922 0.468554 0.127854 +v -0.843370 0.511005 0.083065 +v -0.870304 0.468554 0.042755 +v -0.888856 0.424977 0.087545 +v -0.883492 0.424977 0.131054 +v -0.838280 0.511005 0.124347 +v -0.846432 0.511005 0.041582 +v -0.892083 0.424977 0.043825 +v -0.623772 0.768355 0.061436 +v -0.620007 0.768355 0.091970 +v -0.585727 0.798372 0.057689 +v -0.626037 0.768355 0.030755 +v -0.660317 0.736490 0.065035 +v -0.656332 0.736490 0.097358 +v -0.582192 0.798372 0.086360 +v -0.587853 0.798373 0.028879 +v -0.662714 0.736490 0.032557 +v -0.286304 -0.951111 0.028198 +v -0.284452 -0.951123 0.042182 +v -0.331250 -0.935896 0.032625 +v -0.287215 -0.951123 0.014122 +v -0.242429 -0.963862 0.023877 +v -0.240470 -0.963912 0.035620 +v -0.329251 -0.935896 0.048840 +v -0.332453 -0.935896 0.016332 +v -0.242798 -0.963912 0.011978 +v -0.286304 0.951092 0.028198 +v -0.284452 0.951104 0.042182 +v -0.242430 0.963844 0.023877 +v -0.287216 0.951104 0.014122 +v -0.331250 0.935878 0.032625 +v -0.329251 0.935878 0.048840 +v -0.240470 0.963894 0.035620 +v -0.242799 0.963894 0.011978 +v -0.332453 0.935878 0.016332 +v -0.623772 -0.768374 0.061436 +v -0.620007 -0.768374 0.091969 +v -0.660317 -0.736508 0.065035 +v -0.626037 -0.768374 0.030755 +v -0.585727 -0.798391 0.057689 +v -0.582192 -0.798391 0.086360 +v -0.656332 -0.736508 0.097358 +v -0.662714 -0.736508 0.032557 +v -0.587853 -0.798391 0.028879 +v -0.867156 -0.468573 0.085407 +v -0.861922 -0.468573 0.127854 +v -0.888856 -0.424995 0.087545 +v -0.870304 -0.468573 0.042755 +v -0.843370 -0.511023 0.083065 +v -0.838280 -0.511023 0.124347 +v -0.883492 -0.424995 0.131054 +v -0.892083 -0.424995 0.043825 +v -0.846432 -0.511023 0.041582 +v -0.978523 -0.097437 0.096376 +v -0.972617 -0.097437 0.144274 +v -0.982075 -0.048782 0.096726 +v -0.982075 -0.097437 0.048246 +v -0.972617 -0.145858 0.095794 +v -0.966747 -0.145858 0.143404 +v -0.976148 -0.048782 0.144798 +v -0.985641 -0.048782 0.048421 +v -0.976148 -0.145858 0.047955 +v -0.940919 0.288531 0.092672 +v -0.935240 0.288531 0.138730 +v -0.925782 0.334857 0.091182 +v -0.944335 0.288531 0.046392 +v -0.953793 0.241511 0.093940 +v -0.948036 0.241511 0.140628 +v -0.920195 0.334857 0.136498 +v -0.929143 0.334857 0.045646 +v -0.957255 0.241511 0.047027 +v -0.760068 0.630571 0.074860 +v -0.755481 0.630571 0.112065 +v -0.728547 0.667515 0.071756 +v -0.762828 0.630571 0.037475 +v -0.789762 0.592111 0.077785 +v -0.784995 0.592111 0.116443 +v -0.724150 0.667515 0.107418 +v -0.731192 0.667515 0.035921 +v -0.792629 0.592111 0.038939 +v -0.135277 -0.985435 0.013324 +v -0.121616 -0.987174 0.016676 +v -0.161861 -0.981491 0.015942 +v -0.122532 -0.987174 0.007371 +v -0.088248 -0.990952 0.008692 +v -0.158402 -0.981742 0.023245 +v -0.159893 -0.981742 0.008105 +v -0.463504 0.876611 0.045651 +v -0.460707 0.876611 0.068340 +v -0.420397 0.898549 0.041405 +v -0.465187 0.876611 0.022853 +v -0.505497 0.852566 0.049787 +v -0.502446 0.852566 0.074531 +v -0.417860 0.898549 0.061984 +v -0.421924 0.898549 0.020728 +v -0.507332 0.852566 0.024923 +v -0.463504 -0.876630 0.045651 +v -0.460707 -0.876630 0.068339 +v -0.505497 -0.852584 0.049787 +v -0.465187 -0.876630 0.022853 +v -0.420397 -0.898567 0.041405 +v -0.417860 -0.898567 0.061984 +v -0.502446 -0.852584 0.074531 +v -0.507332 -0.852584 0.024923 +v -0.421924 -0.898567 0.020728 +v -0.135277 0.985417 0.013324 +v -0.121616 0.987155 0.016676 +v -0.122532 0.987155 0.007371 +v -0.161861 0.981473 0.015942 +v -0.158402 0.981723 0.023245 +v -0.088248 0.990934 0.008692 +v -0.159893 0.981723 0.008105 +v -0.760068 -0.630590 0.074860 +v -0.755481 -0.630590 0.112065 +v -0.789762 -0.592129 0.077785 +v -0.762828 -0.630590 0.037475 +v -0.728547 -0.667534 0.071756 +v -0.724150 -0.667534 0.107418 +v -0.784995 -0.592129 0.116443 +v -0.792629 -0.592129 0.038939 +v -0.731192 -0.667534 0.035921 +v -0.242586 0.963944 0.000000 +v -0.287436 0.951117 0.000000 +v -0.332855 0.935878 0.000000 +v -0.422434 0.898549 0.000000 +v -0.465750 0.876611 0.000000 +v -0.507946 0.852566 0.000000 +v -0.588565 0.798372 0.000000 +v -0.626794 0.768355 0.000000 +v -0.663516 0.736490 0.000000 +v -0.732077 0.667515 0.000000 +v -0.763751 0.630571 0.000000 +v -0.793588 0.592111 0.000000 +v -0.847456 0.511005 0.000000 +v -0.871357 0.468554 0.000000 +v -0.893162 0.424977 0.000000 +v -0.930267 0.334857 0.000000 +v -0.945477 0.288531 0.000000 +v -0.958413 0.241511 0.000000 +v -0.977329 0.145840 0.000000 +v -0.983263 0.097419 0.000000 +v -0.986833 0.048763 0.000000 +v -0.986833 -0.048782 0.000000 +v -0.983263 -0.097437 0.000000 +v -0.977329 -0.145858 0.000000 +v -0.958413 -0.241529 0.000000 +v -0.945477 -0.288549 0.000000 +v -0.930267 -0.334875 0.000000 +v -0.893162 -0.424995 0.000000 +v -0.871357 -0.468573 0.000000 +v -0.847456 -0.511023 0.000000 +v -0.793588 -0.592129 0.000000 +v -0.763751 -0.630590 0.000000 +v -0.732077 -0.667534 0.000000 +v -0.663516 -0.736508 0.000000 +v -0.626794 -0.768374 0.000000 +v -0.588564 -0.798391 0.000000 +v -0.507946 -0.852584 0.000000 +v -0.465750 -0.876630 0.000000 +v -0.422434 -0.898567 0.000000 +v -0.332855 -0.935896 0.000000 +v -0.287436 -0.951136 0.000000 +v -0.242585 -0.963962 0.000000 +v -0.237924 0.963944 -0.047326 +v -0.281913 0.951117 -0.056076 +v -0.326460 0.935878 -0.064937 +v -0.414317 0.898549 -0.082413 +v -0.456801 0.876611 -0.090863 +v -0.498186 0.852566 -0.099095 +v -0.577255 0.798372 -0.114823 +v -0.614750 0.768355 -0.122281 +v -0.650767 0.736490 -0.129446 +v -0.718010 0.667515 -0.142821 +v -0.749075 0.630571 -0.149000 +v -0.778339 0.592111 -0.154821 +v -0.831172 0.511005 -0.165330 +v -0.854614 0.468554 -0.169993 +v -0.876001 0.424977 -0.174247 +v -0.912392 0.334857 -0.181486 +v -0.927310 0.288531 -0.184454 +v -0.939998 0.241511 -0.186977 +v -0.958550 0.145840 -0.190668 +v -0.964370 0.097419 -0.191825 +v -0.967871 0.048763 -0.192522 +v -0.967871 -0.048782 -0.192522 +v -0.964370 -0.097437 -0.191825 +v -0.958550 -0.145858 -0.190668 +v -0.939998 -0.241529 -0.186977 +v -0.927310 -0.288549 -0.184454 +v -0.912392 -0.334875 -0.181486 +v -0.876001 -0.424995 -0.174247 +v -0.854614 -0.468573 -0.169993 +v -0.831172 -0.511023 -0.165330 +v -0.778339 -0.592129 -0.154821 +v -0.749075 -0.630590 -0.149000 +v -0.718010 -0.667534 -0.142821 +v -0.650767 -0.736508 -0.129446 +v -0.614750 -0.768374 -0.122281 +v -0.577255 -0.798391 -0.114823 +v -0.498186 -0.852584 -0.099095 +v -0.456801 -0.876630 -0.090863 +v -0.414317 -0.898567 -0.082413 +v -0.326459 -0.935896 -0.064937 +v -0.281913 -0.951136 -0.056076 +v -0.237924 -0.963962 -0.047326 +v -0.691076 0.702852 -0.102512 +v -0.695272 0.702852 -0.068478 +v -0.697796 0.702852 -0.034280 +v -0.548255 0.826468 -0.026934 +v -0.546272 0.826468 -0.053803 +v -0.542975 0.826468 -0.080543 +v -0.198166 -0.974155 -0.029269 +v -0.200618 -0.974030 -0.019759 +v -0.200069 -0.974155 -0.009954 +v -0.377645 -0.918341 -0.018552 +v -0.376278 -0.918341 -0.037060 +v -0.374008 -0.918341 -0.055479 +v -0.374008 0.918323 -0.055479 +v -0.376279 0.918323 -0.037060 +v -0.377645 0.918323 -0.018552 +v -0.200069 0.974136 -0.009954 +v -0.200619 0.974011 -0.019759 +v -0.198167 0.974136 -0.029269 +v -0.542975 -0.826486 -0.080543 +v -0.546272 -0.826486 -0.053803 +v -0.548255 -0.826486 -0.026934 +v -0.697796 -0.702870 -0.034280 +v -0.695272 -0.702870 -0.068478 +v -0.691076 -0.702870 -0.102512 +v -0.812620 -0.552243 -0.120541 +v -0.817554 -0.552243 -0.080522 +v -0.820522 -0.552243 -0.040309 +v -0.911715 -0.380395 -0.044789 +v -0.908417 -0.380395 -0.089471 +v -0.902935 -0.380395 -0.133938 +v -0.958550 -0.193928 -0.142188 +v -0.964370 -0.193928 -0.094982 +v -0.967871 -0.193928 -0.047548 +v -0.986833 -0.000009 -0.048480 +v -0.983263 -0.000009 -0.096843 +v -0.977329 -0.000009 -0.144973 +v -0.958550 0.193910 -0.142188 +v -0.964370 0.193910 -0.094982 +v -0.967871 0.193910 -0.047548 +v -0.911715 0.380376 -0.044789 +v -0.908417 0.380376 -0.089471 +v -0.902935 0.380376 -0.133938 +v -0.812620 0.552225 -0.120541 +v -0.817554 0.552225 -0.080522 +v -0.820522 0.552225 -0.040309 +v -0.224120 0.963944 -0.092834 +v -0.265557 0.951117 -0.109997 +v -0.307518 0.935878 -0.127378 +v -0.390278 0.898549 -0.161659 +v -0.430297 0.876611 -0.178235 +v -0.469281 0.852566 -0.194383 +v -0.543763 0.798372 -0.225234 +v -0.579082 0.768355 -0.239864 +v -0.613009 0.736490 -0.253917 +v -0.676351 0.667515 -0.280154 +v -0.705613 0.630571 -0.292275 +v -0.733180 0.592111 -0.303693 +v -0.782947 0.511005 -0.324307 +v -0.805029 0.468554 -0.333454 +v -0.825175 0.424977 -0.341799 +v -0.859455 0.334857 -0.355998 +v -0.873507 0.288531 -0.361819 +v -0.885458 0.241511 -0.366769 +v -0.902934 0.145840 -0.374008 +v -0.908417 0.097419 -0.376279 +v -0.911715 0.048763 -0.377645 +v -0.911715 -0.048782 -0.377645 +v -0.908417 -0.097437 -0.376279 +v -0.902934 -0.145858 -0.374008 +v -0.885459 -0.241529 -0.366769 +v -0.873507 -0.288549 -0.361819 +v -0.859455 -0.334875 -0.355998 +v -0.825175 -0.424995 -0.341799 +v -0.805029 -0.468573 -0.333454 +v -0.782947 -0.511023 -0.324307 +v -0.733180 -0.592129 -0.303693 +v -0.705613 -0.630590 -0.292275 +v -0.676351 -0.667534 -0.280154 +v -0.613009 -0.736508 -0.253917 +v -0.579082 -0.768374 -0.239864 +v -0.543763 -0.798391 -0.225234 +v -0.469281 -0.852584 -0.194382 +v -0.430297 -0.876630 -0.178235 +v -0.390278 -0.898567 -0.161659 +v -0.307518 -0.935896 -0.127378 +v -0.265556 -0.951136 -0.109997 +v -0.224120 -0.963962 -0.092834 +v -0.859455 -0.380395 -0.307518 +v -0.873507 -0.380395 -0.264976 +v -0.885459 -0.380395 -0.221796 +v -0.939998 -0.193928 -0.235457 +v -0.927310 -0.193928 -0.281297 +v -0.912392 -0.193928 -0.326460 +v -0.930267 -0.000009 -0.332855 +v -0.945477 -0.000009 -0.286807 +v -0.958413 -0.000009 -0.240070 +v -0.939998 0.193910 -0.235457 +v -0.927310 0.193910 -0.281297 +v -0.912392 0.193910 -0.326460 +v -0.859455 0.380376 -0.307518 +v -0.873507 0.380376 -0.264976 +v -0.885459 0.380376 -0.221796 +v -0.796892 0.552225 -0.199611 +v -0.786136 0.552225 -0.238472 +v -0.773489 0.552225 -0.276759 +v -0.657798 0.702852 -0.235364 +v -0.668553 0.702852 -0.202804 +v -0.677701 0.702852 -0.169755 +v -0.532466 0.826468 -0.133376 +v -0.525279 0.826468 -0.159342 +v -0.516829 0.826468 -0.184925 +v -0.188649 -0.974155 -0.067367 +v -0.192909 -0.974030 -0.058518 +v -0.194283 -0.974155 -0.048794 +v -0.366769 -0.918341 -0.091871 +v -0.361818 -0.918341 -0.109756 +v -0.355998 -0.918341 -0.127378 +v -0.355998 0.918323 -0.127378 +v -0.361818 0.918323 -0.109757 +v -0.366769 0.918323 -0.091871 +v -0.194283 0.974136 -0.048794 +v -0.192909 0.974011 -0.058518 +v -0.188649 0.974136 -0.067367 +v -0.516829 -0.826486 -0.184925 +v -0.525279 -0.826486 -0.159342 +v -0.532466 -0.826486 -0.133376 +v -0.677701 -0.702870 -0.169755 +v -0.668553 -0.702870 -0.202804 +v -0.657798 -0.702870 -0.235364 +v -0.773489 -0.552243 -0.276759 +v -0.786136 -0.552243 -0.238472 +v -0.796892 -0.552243 -0.199611 +v -0.201703 0.963944 -0.134774 +v -0.238995 0.951117 -0.159691 +v -0.276759 0.935878 -0.184925 +v -0.351241 0.898549 -0.234692 +v -0.387257 0.876611 -0.258757 +v -0.422341 0.852566 -0.282200 +v -0.489373 0.798372 -0.326989 +v -0.521160 0.768355 -0.348228 +v -0.551693 0.736490 -0.368630 +v -0.608700 0.667515 -0.406720 +v -0.635035 0.630571 -0.424317 +v -0.659844 0.592111 -0.440894 +v -0.704634 0.511005 -0.470821 +v -0.724507 0.468554 -0.484100 +v -0.742637 0.424977 -0.496215 +v -0.773489 0.334857 -0.516829 +v -0.786135 0.288531 -0.525279 +v -0.796892 0.241511 -0.532466 +v -0.812619 0.145840 -0.542975 +v -0.817554 0.097419 -0.546272 +v -0.820522 0.048763 -0.548255 +v -0.820522 -0.048782 -0.548255 +v -0.817554 -0.097437 -0.546272 +v -0.812619 -0.145858 -0.542975 +v -0.796892 -0.241529 -0.532466 +v -0.786135 -0.288549 -0.525279 +v -0.773489 -0.334875 -0.516829 +v -0.742637 -0.424995 -0.496215 +v -0.724507 -0.468573 -0.484100 +v -0.704634 -0.511023 -0.470821 +v -0.659844 -0.592129 -0.440894 +v -0.635035 -0.630590 -0.424317 +v -0.608700 -0.667534 -0.406720 +v -0.551693 -0.736508 -0.368630 +v -0.521160 -0.768374 -0.348228 +v -0.489373 -0.798391 -0.326989 +v -0.422341 -0.852584 -0.282200 +v -0.387257 -0.876630 -0.258757 +v -0.351241 -0.898567 -0.234692 +v -0.276759 -0.935896 -0.184925 +v -0.238994 -0.951136 -0.159691 +v -0.201702 -0.963962 -0.134773 +v -0.782947 -0.380395 -0.469281 +v -0.805029 -0.380395 -0.430297 +v -0.825175 -0.380395 -0.390278 +v -0.876001 -0.193928 -0.414317 +v -0.854614 -0.193928 -0.456801 +v -0.831172 -0.193928 -0.498186 +v -0.847456 -0.000009 -0.507946 +v -0.871357 -0.000009 -0.465750 +v -0.893162 -0.000009 -0.422434 +v -0.876001 0.193910 -0.414317 +v -0.854614 0.193910 -0.456801 +v -0.831172 0.193910 -0.498186 +v -0.782947 0.380376 -0.469281 +v -0.805029 0.380376 -0.430297 +v -0.825175 0.380376 -0.390278 +v -0.742637 0.552225 -0.351241 +v -0.724507 0.552225 -0.387257 +v -0.704634 0.552225 -0.422342 +v -0.599242 0.702852 -0.359172 +v -0.616142 0.702852 -0.329335 +v -0.631561 0.702852 -0.298706 +v -0.496215 0.826468 -0.234692 +v -0.484100 0.826468 -0.258757 +v -0.470821 0.826468 -0.282200 +v -0.171881 -0.974155 -0.102876 +v -0.177786 -0.974030 -0.095029 +v -0.181030 -0.974155 -0.085759 +v -0.341798 -0.918341 -0.161659 +v -0.333454 -0.918341 -0.178235 +v -0.324307 -0.918341 -0.194382 +v -0.324307 0.918323 -0.194383 +v -0.333454 0.918323 -0.178235 +v -0.341798 0.918323 -0.161659 +v -0.181031 0.974136 -0.085759 +v -0.177786 0.974011 -0.095029 +v -0.171881 0.974136 -0.102877 +v -0.470821 -0.826486 -0.282200 +v -0.484100 -0.826486 -0.258757 +v -0.496214 -0.826486 -0.234692 +v -0.631561 -0.702870 -0.298706 +v -0.616142 -0.702870 -0.329335 +v -0.599242 -0.702870 -0.359172 +v -0.704634 -0.552243 -0.422342 +v -0.724507 -0.552243 -0.387257 +v -0.742637 -0.552243 -0.351241 +v -0.171534 0.963944 -0.171534 +v -0.203248 0.951117 -0.203248 +v -0.235364 0.935878 -0.235364 +v -0.298706 0.898549 -0.298706 +v -0.329335 0.876611 -0.329335 +v -0.359172 0.852566 -0.359172 +v -0.416178 0.798372 -0.416178 +v -0.443210 0.768355 -0.443210 +v -0.469177 0.736490 -0.469177 +v -0.517656 0.667515 -0.517657 +v -0.540053 0.630571 -0.540053 +v -0.561151 0.592111 -0.561152 +v -0.599241 0.511005 -0.599242 +v -0.616142 0.468554 -0.616143 +v -0.631561 0.424977 -0.631562 +v -0.657798 0.334857 -0.657799 +v -0.668553 0.288531 -0.668554 +v -0.677700 0.241511 -0.677701 +v -0.691076 0.145840 -0.691076 +v -0.695272 0.097419 -0.695273 +v -0.697796 0.048763 -0.697797 +v -0.697796 -0.048782 -0.697797 +v -0.695272 -0.097437 -0.695273 +v -0.691076 -0.145858 -0.691076 +v -0.677700 -0.241529 -0.677701 +v -0.668553 -0.288549 -0.668554 +v -0.657798 -0.334875 -0.657799 +v -0.631561 -0.424995 -0.631562 +v -0.616142 -0.468573 -0.616142 +v -0.599241 -0.511023 -0.599242 +v -0.561151 -0.592129 -0.561152 +v -0.540053 -0.630590 -0.540053 +v -0.517656 -0.667534 -0.517657 +v -0.469177 -0.736508 -0.469177 +v -0.443210 -0.768374 -0.443210 +v -0.416178 -0.798391 -0.416178 +v -0.359172 -0.852584 -0.359172 +v -0.329335 -0.876630 -0.329335 +v -0.298706 -0.898567 -0.298706 +v -0.235364 -0.935896 -0.235364 +v -0.203248 -0.951136 -0.203248 +v -0.171534 -0.963962 -0.171534 +v -0.676351 -0.380395 -0.613009 +v -0.705613 -0.380395 -0.579082 +v -0.733180 -0.380395 -0.543763 +v -0.778339 -0.193928 -0.577256 +v -0.749075 -0.193928 -0.614750 +v -0.718010 -0.193928 -0.650767 +v -0.732077 -0.000009 -0.663516 +v -0.763750 -0.000009 -0.626794 +v -0.793588 -0.000009 -0.588565 +v -0.778339 0.193910 -0.577256 +v -0.749075 0.193910 -0.614750 +v -0.718010 0.193910 -0.650767 +v -0.676351 0.380376 -0.613009 +v -0.705613 0.380376 -0.579082 +v -0.733180 0.380376 -0.543763 +v -0.659844 0.552225 -0.489374 +v -0.635035 0.552225 -0.521160 +v -0.608699 0.552225 -0.551694 +v -0.517656 0.702852 -0.469177 +v -0.540053 0.702852 -0.443210 +v -0.561151 0.702852 -0.416178 +v -0.440894 0.826468 -0.326989 +v -0.424317 0.826468 -0.348228 +v -0.406720 0.826468 -0.368630 +v -0.148508 -0.974155 -0.134432 +v -0.155830 -0.974030 -0.127887 +v -0.160821 -0.974155 -0.119429 +v -0.303693 -0.918341 -0.225234 +v -0.292275 -0.918341 -0.239864 +v -0.280153 -0.918341 -0.253917 +v -0.280154 0.918323 -0.253917 +v -0.292275 0.918323 -0.239864 +v -0.303693 0.918323 -0.225234 +v -0.160821 0.974136 -0.119429 +v -0.155831 0.974011 -0.127887 +v -0.148508 0.974136 -0.134432 +v -0.406720 -0.826486 -0.368630 +v -0.424317 -0.826486 -0.348228 +v -0.440894 -0.826486 -0.326989 +v -0.561151 -0.702870 -0.416178 +v -0.540053 -0.702870 -0.443210 +v -0.517656 -0.702870 -0.469177 +v -0.608699 -0.552243 -0.551694 +v -0.635035 -0.552243 -0.521160 +v -0.659844 -0.552243 -0.489374 +v -0.134773 0.963944 -0.201703 +v -0.159691 0.951117 -0.238995 +v -0.184924 0.935878 -0.276759 +v -0.234692 0.898549 -0.351241 +v -0.258757 0.876611 -0.387257 +v -0.282199 0.852566 -0.422342 +v -0.326989 0.798372 -0.489374 +v -0.348228 0.768355 -0.521160 +v -0.368630 0.736490 -0.551694 +v -0.406720 0.667515 -0.608700 +v -0.424317 0.630571 -0.635036 +v -0.440894 0.592111 -0.659844 +v -0.470821 0.511005 -0.704634 +v -0.484100 0.468554 -0.724507 +v -0.496214 0.424977 -0.742638 +v -0.516829 0.334857 -0.773489 +v -0.525279 0.288531 -0.786136 +v -0.532466 0.241511 -0.796892 +v -0.542975 0.145840 -0.812620 +v -0.546272 0.097419 -0.817554 +v -0.548255 0.048763 -0.820522 +v -0.548255 -0.048782 -0.820522 +v -0.546272 -0.097437 -0.817554 +v -0.542975 -0.145858 -0.812620 +v -0.532466 -0.241529 -0.796892 +v -0.525279 -0.288549 -0.786136 +v -0.516829 -0.334875 -0.773489 +v -0.496214 -0.424995 -0.742638 +v -0.484100 -0.468573 -0.724507 +v -0.470821 -0.511023 -0.704634 +v -0.440894 -0.592129 -0.659844 +v -0.424317 -0.630590 -0.635036 +v -0.406720 -0.667534 -0.608700 +v -0.368630 -0.736508 -0.551694 +v -0.348228 -0.768374 -0.521160 +v -0.326989 -0.798391 -0.489374 +v -0.282199 -0.852584 -0.422342 +v -0.258757 -0.876630 -0.387257 +v -0.234692 -0.898567 -0.351241 +v -0.184924 -0.935896 -0.276759 +v -0.159691 -0.951136 -0.238995 +v -0.134773 -0.963962 -0.201703 +v -0.543763 -0.380395 -0.733180 +v -0.579082 -0.380395 -0.705614 +v -0.613009 -0.380395 -0.676351 +v -0.650767 -0.193928 -0.718010 +v -0.614750 -0.193928 -0.749076 +v -0.577255 -0.193928 -0.778340 +v -0.588564 -0.000009 -0.793588 +v -0.626794 -0.000009 -0.763751 +v -0.663516 -0.000009 -0.732077 +v -0.650767 0.193910 -0.718010 +v -0.614750 0.193910 -0.749076 +v -0.577255 0.193910 -0.778340 +v -0.543763 0.380376 -0.733180 +v -0.579082 0.380376 -0.705614 +v -0.613009 0.380376 -0.676351 +v -0.551693 0.552225 -0.608700 +v -0.521160 0.552225 -0.635036 +v -0.489373 0.552225 -0.659844 +v -0.416178 0.702852 -0.561152 +v -0.443210 0.702852 -0.540053 +v -0.469177 0.702852 -0.517657 +v -0.368630 0.826468 -0.406720 +v -0.348228 0.826468 -0.424317 +v -0.326989 0.826468 -0.440894 +v -0.119428 -0.974155 -0.160822 +v -0.127887 -0.974030 -0.155831 +v -0.134432 -0.974155 -0.148508 +v -0.253916 -0.918341 -0.280154 +v -0.239863 -0.918341 -0.292275 +v -0.225234 -0.918341 -0.303693 +v -0.225234 0.918323 -0.303693 +v -0.239864 0.918323 -0.292275 +v -0.253917 0.918323 -0.280154 +v -0.134432 0.974136 -0.148509 +v -0.127887 0.974011 -0.155831 +v -0.119428 0.974136 -0.160822 +v -0.326989 -0.826486 -0.440894 +v -0.348228 -0.826486 -0.424317 +v -0.368630 -0.826486 -0.406720 +v -0.469177 -0.702870 -0.517657 +v -0.443210 -0.702870 -0.540053 +v -0.416178 -0.702870 -0.561152 +v -0.489373 -0.552243 -0.659844 +v -0.521160 -0.552243 -0.635036 +v -0.551693 -0.552243 -0.608700 +v -0.092833 0.963944 -0.224120 +v -0.109997 0.951117 -0.265557 +v -0.127378 0.935878 -0.307518 +v -0.161658 0.898549 -0.390279 +v -0.178235 0.876611 -0.430297 +v -0.194382 0.852566 -0.469281 +v -0.225234 0.798372 -0.543763 +v -0.239863 0.768355 -0.579082 +v -0.253916 0.736490 -0.613009 +v -0.280153 0.667515 -0.676351 +v -0.292274 0.630571 -0.705614 +v -0.303693 0.592111 -0.733180 +v -0.324307 0.511005 -0.782947 +v -0.333454 0.468554 -0.805029 +v -0.341798 0.424977 -0.825175 +v -0.355998 0.334857 -0.859455 +v -0.361818 0.288531 -0.873507 +v -0.366769 0.241511 -0.885459 +v -0.374007 0.145840 -0.902935 +v -0.376278 0.097419 -0.908417 +v -0.377644 0.048763 -0.911715 +v -0.377644 -0.048782 -0.911715 +v -0.376278 -0.097437 -0.908417 +v -0.374007 -0.145858 -0.902935 +v -0.366769 -0.241529 -0.885459 +v -0.361818 -0.288549 -0.873507 +v -0.355998 -0.334875 -0.859455 +v -0.341798 -0.424995 -0.825175 +v -0.333454 -0.468573 -0.805029 +v -0.324307 -0.511023 -0.782947 +v -0.303693 -0.592129 -0.733180 +v -0.292274 -0.630590 -0.705614 +v -0.280153 -0.667534 -0.676351 +v -0.253916 -0.736508 -0.613009 +v -0.239863 -0.768374 -0.579082 +v -0.225234 -0.798391 -0.543763 +v -0.194382 -0.852584 -0.469281 +v -0.178235 -0.876630 -0.430297 +v -0.161658 -0.898567 -0.390278 +v -0.127378 -0.935896 -0.307518 +v -0.109997 -0.951136 -0.265557 +v -0.092833 -0.963962 -0.224120 +v -0.390278 -0.380395 -0.825175 +v -0.430297 -0.380395 -0.805029 +v -0.469280 -0.380395 -0.782947 +v -0.498185 -0.193928 -0.831172 +v -0.456800 -0.193928 -0.854614 +v -0.414317 -0.193928 -0.876001 +v -0.422434 -0.000009 -0.893163 +v -0.465750 -0.000009 -0.871357 +v -0.507945 -0.000009 -0.847456 +v -0.498185 0.193910 -0.831172 +v -0.456800 0.193910 -0.854614 +v -0.414317 0.193910 -0.876001 +v -0.390278 0.380376 -0.825175 +v -0.430297 0.380376 -0.805029 +v -0.469280 0.380376 -0.782947 +v -0.422341 0.552225 -0.704634 +v -0.387257 0.552225 -0.724507 +v -0.351241 0.552225 -0.742638 +v -0.298706 0.702852 -0.631562 +v -0.329335 0.702852 -0.616143 +v -0.359172 0.702852 -0.599242 +v -0.282199 0.826468 -0.470821 +v -0.258757 0.826468 -0.484100 +v -0.234692 0.826468 -0.496215 +v -0.085759 -0.974155 -0.181031 +v -0.095028 -0.974030 -0.177786 +v -0.102876 -0.974155 -0.171881 +v -0.194382 -0.918341 -0.324307 +v -0.178235 -0.918341 -0.333454 +v -0.161658 -0.918341 -0.341799 +v -0.161658 0.918323 -0.341799 +v -0.178235 0.918323 -0.333454 +v -0.194382 0.918323 -0.324308 +v -0.102876 0.974136 -0.171881 +v -0.095028 0.974011 -0.177786 +v -0.085759 0.974136 -0.181031 +v -0.234692 -0.826486 -0.496215 +v -0.258757 -0.826486 -0.484100 +v -0.282199 -0.826486 -0.470821 +v -0.359172 -0.702870 -0.599242 +v -0.329335 -0.702870 -0.616143 +v -0.298706 -0.702870 -0.631562 +v -0.351241 -0.552243 -0.742638 +v -0.387257 -0.552243 -0.724507 +v -0.422341 -0.552243 -0.704634 +v -0.047326 0.963944 -0.237925 +v -0.056076 0.951117 -0.281914 +v -0.064937 0.935878 -0.326460 +v -0.082413 0.898549 -0.414317 +v -0.090863 0.876611 -0.456801 +v -0.099095 0.852566 -0.498186 +v -0.114823 0.798372 -0.577256 +v -0.122281 0.768355 -0.614751 +v -0.129445 0.736490 -0.650767 +v -0.142821 0.667515 -0.718010 +v -0.149000 0.630571 -0.749076 +v -0.154821 0.592111 -0.778340 +v -0.165330 0.511005 -0.831172 +v -0.169993 0.468554 -0.854614 +v -0.174247 0.424977 -0.876001 +v -0.181486 0.334857 -0.912392 +v -0.184453 0.288531 -0.927310 +v -0.186977 0.241511 -0.939998 +v -0.190667 0.145840 -0.958550 +v -0.191825 0.097419 -0.964370 +v -0.192521 0.048763 -0.967872 +v -0.192521 -0.048782 -0.967872 +v -0.191825 -0.097437 -0.964371 +v -0.190667 -0.145858 -0.958550 +v -0.186977 -0.241529 -0.939998 +v -0.184453 -0.288549 -0.927310 +v -0.181486 -0.334875 -0.912393 +v -0.174247 -0.424995 -0.876001 +v -0.169993 -0.468573 -0.854614 +v -0.165330 -0.511023 -0.831172 +v -0.154821 -0.592129 -0.778339 +v -0.149000 -0.630590 -0.749076 +v -0.142821 -0.667534 -0.718010 +v -0.129445 -0.736508 -0.650767 +v -0.122281 -0.768374 -0.614750 +v -0.114823 -0.798391 -0.577256 +v -0.099095 -0.852584 -0.498186 +v -0.090863 -0.876630 -0.456801 +v -0.082413 -0.898567 -0.414317 +v -0.064937 -0.935896 -0.326460 +v -0.056076 -0.951136 -0.281913 +v -0.047326 -0.963962 -0.237924 +v -0.221795 -0.380395 -0.885459 +v -0.264975 -0.380395 -0.873507 +v -0.307518 -0.380395 -0.859455 +v -0.326459 -0.193928 -0.912393 +v -0.281296 -0.193928 -0.927310 +v -0.235457 -0.193928 -0.939998 +v -0.240069 -0.000009 -0.958414 +v -0.286807 -0.000009 -0.945477 +v -0.332855 -0.000009 -0.930268 +v -0.326459 0.193910 -0.912393 +v -0.281296 0.193910 -0.927310 +v -0.235457 0.193910 -0.939998 +v -0.221795 0.380376 -0.885459 +v -0.264975 0.380376 -0.873507 +v -0.307518 0.380376 -0.859455 +v -0.276759 0.552225 -0.773489 +v -0.238471 0.552225 -0.786136 +v -0.199610 0.552225 -0.796892 +v -0.169755 0.702852 -0.677701 +v -0.202803 0.702852 -0.668554 +v -0.235364 0.702852 -0.657799 +v -0.184924 0.826468 -0.516829 +v -0.159341 0.826468 -0.525279 +v -0.133375 0.826468 -0.532466 +v -0.048793 -0.974155 -0.194283 +v -0.058518 -0.974030 -0.192909 +v -0.067367 -0.974155 -0.188649 +v -0.127378 -0.918341 -0.355998 +v -0.109756 -0.918341 -0.361819 +v -0.091870 -0.918341 -0.366769 +v -0.091870 0.918323 -0.366769 +v -0.109756 0.918323 -0.361819 +v -0.127378 0.918323 -0.355998 +v -0.067367 0.974136 -0.188649 +v -0.058518 0.974011 -0.192909 +v -0.048794 0.974136 -0.194283 +v -0.133375 -0.826486 -0.532466 +v -0.159341 -0.826486 -0.525279 +v -0.184924 -0.826486 -0.516829 +v -0.235364 -0.702870 -0.657799 +v -0.202803 -0.702870 -0.668554 +v -0.169755 -0.702870 -0.677701 +v -0.199610 -0.552243 -0.796892 +v -0.238471 -0.552243 -0.786136 +v -0.276759 -0.552243 -0.773489 +v -0.000000 0.963944 -0.242586 +v -0.000000 0.951117 -0.287437 +v -0.000000 0.935878 -0.332856 +v -0.000000 0.898549 -0.422434 +v -0.000000 0.876611 -0.465750 +v -0.000000 0.852566 -0.507946 +v -0.000000 0.798372 -0.588565 +v -0.000000 0.768355 -0.626794 +v -0.000000 0.736490 -0.663516 +v -0.000000 0.667515 -0.732077 +v -0.000000 0.630571 -0.763751 +v -0.000000 0.592111 -0.793588 +v -0.000000 0.511005 -0.847456 +v -0.000000 0.468554 -0.871357 +v -0.000000 0.424977 -0.893163 +v -0.000000 0.334857 -0.930267 +v -0.000000 0.288531 -0.945477 +v -0.000000 0.241511 -0.958414 +v -0.000000 0.145840 -0.977329 +v -0.000000 0.097419 -0.983264 +v -0.000000 0.048763 -0.986833 +v -0.000000 -0.048782 -0.986833 +v -0.000000 -0.097437 -0.983264 +v -0.000000 -0.145858 -0.977329 +v -0.000000 -0.241529 -0.958414 +v -0.000000 -0.288549 -0.945477 +v -0.000000 -0.334875 -0.930267 +v -0.000000 -0.424995 -0.893163 +v -0.000000 -0.468573 -0.871357 +v -0.000000 -0.511023 -0.847456 +v -0.000000 -0.592129 -0.793588 +v -0.000000 -0.630590 -0.763751 +v -0.000000 -0.667534 -0.732077 +v -0.000000 -0.736508 -0.663516 +v -0.000000 -0.768374 -0.626794 +v -0.000000 -0.798391 -0.588565 +v -0.000000 -0.852584 -0.507946 +v -0.000000 -0.876630 -0.465750 +v -0.000000 -0.898567 -0.422434 +v -0.000000 -0.935896 -0.332855 +v -0.000000 -0.951136 -0.287436 +v -0.000000 -0.963962 -0.242586 +v -0.044789 -0.380395 -0.911715 +v -0.089471 -0.380395 -0.908417 +v -0.133938 -0.380395 -0.902935 +v -0.142187 -0.193928 -0.958550 +v -0.094982 -0.193928 -0.964370 +v -0.047548 -0.193928 -0.967871 +v -0.048479 -0.000009 -0.986833 +v -0.096843 -0.000009 -0.983264 +v -0.144973 -0.000009 -0.977329 +v -0.142187 0.193910 -0.958550 +v -0.094982 0.193910 -0.964370 +v -0.047548 0.193910 -0.967871 +v -0.044789 0.380376 -0.911715 +v -0.089471 0.380376 -0.908417 +v -0.133938 0.380376 -0.902935 +v -0.120541 0.552225 -0.812620 +v -0.080522 0.552225 -0.817554 +v -0.040309 0.552225 -0.820522 +v -0.034280 0.702852 -0.697797 +v -0.068478 0.702852 -0.695273 +v -0.102511 0.702852 -0.691076 +v -0.080543 0.826468 -0.542975 +v -0.053803 0.826468 -0.546272 +v -0.026934 0.826468 -0.548255 +v -0.009953 -0.974155 -0.200069 +v -0.019759 -0.974030 -0.200619 +v -0.029269 -0.974155 -0.198167 +v -0.055479 -0.918341 -0.374008 +v -0.037060 -0.918341 -0.376279 +v -0.018552 -0.918341 -0.377645 +v -0.018552 0.918323 -0.377645 +v -0.037060 0.918323 -0.376279 +v -0.055479 0.918323 -0.374008 +v -0.029269 0.974136 -0.198167 +v -0.019759 0.974011 -0.200619 +v -0.009953 0.974136 -0.200069 +v -0.026934 -0.826486 -0.548255 +v -0.053803 -0.826486 -0.546272 +v -0.080543 -0.826486 -0.542975 +v -0.102511 -0.702870 -0.691076 +v -0.068478 -0.702870 -0.695273 +v -0.034280 -0.702870 -0.697797 +v -0.040309 -0.552243 -0.820522 +v -0.080522 -0.552243 -0.817554 +v -0.120541 -0.552243 -0.812620 +v 0.047326 0.963944 -0.237925 +v 0.056076 0.951117 -0.281914 +v 0.064937 0.935878 -0.326460 +v 0.082413 0.898549 -0.414317 +v 0.090864 0.876611 -0.456801 +v 0.099096 0.852566 -0.498186 +v 0.114824 0.798372 -0.577256 +v 0.122282 0.768355 -0.614750 +v 0.129446 0.736490 -0.650767 +v 0.142821 0.667515 -0.718010 +v 0.149001 0.630571 -0.749075 +v 0.154822 0.592111 -0.778339 +v 0.165331 0.511005 -0.831172 +v 0.169994 0.468554 -0.854614 +v 0.174248 0.424977 -0.876001 +v 0.181486 0.334857 -0.912393 +v 0.184454 0.288531 -0.927310 +v 0.186978 0.241511 -0.939998 +v 0.190668 0.145840 -0.958550 +v 0.191826 0.097419 -0.964370 +v 0.192522 0.048763 -0.967871 +v 0.192522 -0.048782 -0.967871 +v 0.191826 -0.097437 -0.964370 +v 0.190668 -0.145858 -0.958550 +v 0.186978 -0.241529 -0.939998 +v 0.184454 -0.288549 -0.927310 +v 0.181486 -0.334875 -0.912393 +v 0.174248 -0.424995 -0.876001 +v 0.169994 -0.468573 -0.854614 +v 0.165331 -0.511023 -0.831172 +v 0.154822 -0.592129 -0.778340 +v 0.149001 -0.630590 -0.749075 +v 0.142821 -0.667534 -0.718010 +v 0.129446 -0.736508 -0.650767 +v 0.122282 -0.768374 -0.614750 +v 0.114824 -0.798391 -0.577256 +v 0.099096 -0.852584 -0.498186 +v 0.090864 -0.876630 -0.456801 +v 0.082413 -0.898567 -0.414317 +v 0.064937 -0.935896 -0.326460 +v 0.056076 -0.951136 -0.281913 +v 0.047326 -0.963962 -0.237924 +v 0.133938 -0.380395 -0.902935 +v 0.089472 -0.380395 -0.908417 +v 0.044790 -0.380395 -0.911715 +v 0.047549 -0.193928 -0.967871 +v 0.094983 -0.193928 -0.964370 +v 0.142188 -0.193928 -0.958550 +v 0.144974 -0.000009 -0.977329 +v 0.096843 -0.000009 -0.983264 +v 0.048480 -0.000009 -0.986833 +v 0.047549 0.193910 -0.967871 +v 0.094983 0.193910 -0.964370 +v 0.142188 0.193910 -0.958550 +v 0.133938 0.380376 -0.902935 +v 0.089472 0.380376 -0.908417 +v 0.044790 0.380376 -0.911715 +v 0.040310 0.552225 -0.820522 +v 0.080522 0.552225 -0.817554 +v 0.120541 0.552225 -0.812620 +v 0.102512 0.702852 -0.691076 +v 0.068479 0.702852 -0.695272 +v 0.034281 0.702852 -0.697797 +v 0.026934 0.826468 -0.548255 +v 0.053803 0.826468 -0.546272 +v 0.080543 0.826468 -0.542975 +v 0.029270 -0.974155 -0.198167 +v 0.019760 -0.974030 -0.200619 +v 0.009954 -0.974155 -0.200069 +v 0.018553 -0.918341 -0.377645 +v 0.037061 -0.918341 -0.376279 +v 0.055479 -0.918341 -0.374008 +v 0.055479 0.918323 -0.374008 +v 0.037061 0.918323 -0.376279 +v 0.018553 0.918323 -0.377645 +v 0.009954 0.974136 -0.200069 +v 0.019760 0.974011 -0.200619 +v 0.029270 0.974136 -0.198167 +v 0.080543 -0.826486 -0.542975 +v 0.053803 -0.826486 -0.546272 +v 0.026934 -0.826486 -0.548255 +v 0.034281 -0.702870 -0.697797 +v 0.068479 -0.702870 -0.695272 +v 0.102512 -0.702870 -0.691076 +v 0.120541 -0.552243 -0.812620 +v 0.080522 -0.552243 -0.817554 +v 0.040310 -0.552243 -0.820522 +v 0.092834 0.963944 -0.224120 +v 0.109998 0.951117 -0.265557 +v 0.127379 0.935878 -0.307518 +v 0.161659 0.898549 -0.390278 +v 0.178235 0.876611 -0.430297 +v 0.194383 0.852566 -0.469281 +v 0.225234 0.798372 -0.543763 +v 0.239864 0.768355 -0.579082 +v 0.253917 0.736490 -0.613009 +v 0.280154 0.667515 -0.676351 +v 0.292275 0.630571 -0.705614 +v 0.303693 0.592111 -0.733180 +v 0.324308 0.511005 -0.782947 +v 0.333454 0.468554 -0.805029 +v 0.341799 0.424977 -0.825175 +v 0.355998 0.334857 -0.859455 +v 0.361819 0.288531 -0.873507 +v 0.366769 0.241511 -0.885459 +v 0.374008 0.145840 -0.902935 +v 0.376279 0.097419 -0.908417 +v 0.377645 0.048763 -0.911715 +v 0.377645 -0.048782 -0.911715 +v 0.376279 -0.097437 -0.908417 +v 0.374008 -0.145858 -0.902935 +v 0.366769 -0.241529 -0.885459 +v 0.361819 -0.288549 -0.873507 +v 0.355998 -0.334875 -0.859455 +v 0.341799 -0.424995 -0.825175 +v 0.333454 -0.468573 -0.805029 +v 0.324308 -0.511023 -0.782947 +v 0.303693 -0.592129 -0.733180 +v 0.292275 -0.630590 -0.705614 +v 0.280154 -0.667534 -0.676351 +v 0.253917 -0.736508 -0.613009 +v 0.239864 -0.768374 -0.579082 +v 0.225234 -0.798391 -0.543763 +v 0.194383 -0.852584 -0.469281 +v 0.178235 -0.876630 -0.430297 +v 0.161659 -0.898567 -0.390278 +v 0.127379 -0.935896 -0.307518 +v 0.109997 -0.951136 -0.265557 +v 0.092834 -0.963962 -0.224120 +v 0.307518 -0.380395 -0.859455 +v 0.264976 -0.380395 -0.873507 +v 0.221796 -0.380395 -0.885459 +v 0.235457 -0.193928 -0.939998 +v 0.281297 -0.193928 -0.927310 +v 0.326460 -0.193928 -0.912392 +v 0.332856 -0.000009 -0.930267 +v 0.286808 -0.000009 -0.945477 +v 0.240070 -0.000009 -0.958414 +v 0.235457 0.193910 -0.939998 +v 0.281297 0.193910 -0.927310 +v 0.326460 0.193910 -0.912392 +v 0.307519 0.380376 -0.859455 +v 0.264976 0.380376 -0.873507 +v 0.221796 0.380376 -0.885459 +v 0.199611 0.552225 -0.796892 +v 0.238472 0.552225 -0.786136 +v 0.276759 0.552225 -0.773489 +v 0.235365 0.702852 -0.657799 +v 0.202804 0.702852 -0.668554 +v 0.169755 0.702852 -0.677701 +v 0.133376 0.826468 -0.532466 +v 0.159342 0.826468 -0.525279 +v 0.184925 0.826468 -0.516829 +v 0.067368 -0.974155 -0.188649 +v 0.058519 -0.974030 -0.192909 +v 0.048794 -0.974155 -0.194283 +v 0.091871 -0.918341 -0.366769 +v 0.109757 -0.918341 -0.361819 +v 0.127379 -0.918341 -0.355998 +v 0.127379 0.918323 -0.355998 +v 0.109757 0.918323 -0.361819 +v 0.091871 0.918323 -0.366769 +v 0.048794 0.974136 -0.194283 +v 0.058519 0.974011 -0.192909 +v 0.067368 0.974136 -0.188649 +v 0.184925 -0.826486 -0.516829 +v 0.159342 -0.826486 -0.525279 +v 0.133376 -0.826486 -0.532466 +v 0.169755 -0.702870 -0.677701 +v 0.202804 -0.702870 -0.668553 +v 0.235365 -0.702870 -0.657798 +v 0.276759 -0.552243 -0.773489 +v 0.238472 -0.552243 -0.786136 +v 0.199611 -0.552243 -0.796892 +v 0.134774 0.963944 -0.201703 +v 0.159692 0.951117 -0.238995 +v 0.184925 0.935878 -0.276759 +v 0.234692 0.898549 -0.351241 +v 0.258757 0.876611 -0.387257 +v 0.282200 0.852566 -0.422342 +v 0.326989 0.798372 -0.489374 +v 0.348228 0.768355 -0.521160 +v 0.368630 0.736490 -0.551694 +v 0.406720 0.667515 -0.608700 +v 0.424317 0.630571 -0.635036 +v 0.440894 0.592111 -0.659844 +v 0.470821 0.511005 -0.704634 +v 0.484100 0.468554 -0.724507 +v 0.496215 0.424977 -0.742638 +v 0.516829 0.334857 -0.773489 +v 0.525279 0.288531 -0.786136 +v 0.532466 0.241511 -0.796892 +v 0.542975 0.145840 -0.812620 +v 0.546272 0.097419 -0.817554 +v 0.548256 0.048763 -0.820522 +v 0.548255 -0.048782 -0.820522 +v 0.546272 -0.097437 -0.817554 +v 0.542975 -0.145858 -0.812620 +v 0.532466 -0.241529 -0.796892 +v 0.525279 -0.288549 -0.786136 +v 0.516829 -0.334875 -0.773489 +v 0.496215 -0.424995 -0.742638 +v 0.484100 -0.468573 -0.724507 +v 0.470821 -0.511023 -0.704634 +v 0.440894 -0.592129 -0.659844 +v 0.424317 -0.630590 -0.635036 +v 0.406720 -0.667534 -0.608700 +v 0.368630 -0.736508 -0.551694 +v 0.348228 -0.768374 -0.521160 +v 0.326989 -0.798391 -0.489374 +v 0.282200 -0.852584 -0.422341 +v 0.258757 -0.876630 -0.387257 +v 0.234692 -0.898567 -0.351241 +v 0.184925 -0.935896 -0.276759 +v 0.159691 -0.951136 -0.238995 +v 0.134774 -0.963962 -0.201703 +v 0.469281 -0.380395 -0.782947 +v 0.430297 -0.380395 -0.805029 +v 0.390279 -0.380395 -0.825175 +v 0.414317 -0.193928 -0.876001 +v 0.456801 -0.193928 -0.854614 +v 0.498186 -0.193928 -0.831172 +v 0.507946 -0.000009 -0.847456 +v 0.465750 -0.000009 -0.871357 +v 0.422435 -0.000009 -0.893163 +v 0.414317 0.193910 -0.876001 +v 0.456801 0.193910 -0.854614 +v 0.498186 0.193910 -0.831172 +v 0.469281 0.380376 -0.782947 +v 0.430297 0.380376 -0.805029 +v 0.390279 0.380376 -0.825175 +v 0.351241 0.552225 -0.742638 +v 0.387257 0.552225 -0.724507 +v 0.422342 0.552225 -0.704634 +v 0.359172 0.702852 -0.599242 +v 0.329335 0.702852 -0.616142 +v 0.298706 0.702852 -0.631561 +v 0.234692 0.826468 -0.496215 +v 0.258757 0.826468 -0.484100 +v 0.282200 0.826468 -0.470821 +v 0.102877 -0.974155 -0.171881 +v 0.095029 -0.974030 -0.177786 +v 0.085759 -0.974155 -0.181031 +v 0.161659 -0.918341 -0.341799 +v 0.178235 -0.918341 -0.333454 +v 0.194383 -0.918341 -0.324307 +v 0.194383 0.918323 -0.324307 +v 0.178235 0.918323 -0.333454 +v 0.161659 0.918323 -0.341799 +v 0.085759 0.974136 -0.181031 +v 0.095029 0.974011 -0.177786 +v 0.102877 0.974136 -0.171881 +v 0.282200 -0.826486 -0.470821 +v 0.258757 -0.826486 -0.484100 +v 0.234692 -0.826486 -0.496215 +v 0.298706 -0.702870 -0.631561 +v 0.329335 -0.702870 -0.616142 +v 0.359172 -0.702870 -0.599242 +v 0.422342 -0.552243 -0.704634 +v 0.387257 -0.552243 -0.724507 +v 0.351241 -0.552243 -0.742638 +v 0.171534 0.963944 -0.171534 +v 0.203249 0.951117 -0.203248 +v 0.235365 0.935878 -0.235364 +v 0.298706 0.898549 -0.298706 +v 0.329335 0.876611 -0.329335 +v 0.359172 0.852566 -0.359172 +v 0.416178 0.798372 -0.416178 +v 0.443211 0.768355 -0.443210 +v 0.469177 0.736490 -0.469177 +v 0.517657 0.667515 -0.517656 +v 0.540054 0.630571 -0.540053 +v 0.561152 0.592111 -0.561151 +v 0.599242 0.511005 -0.599242 +v 0.616143 0.468554 -0.616142 +v 0.631562 0.424977 -0.631561 +v 0.657799 0.334857 -0.657798 +v 0.668554 0.288531 -0.668553 +v 0.677701 0.241511 -0.677701 +v 0.691077 0.145840 -0.691076 +v 0.695273 0.097419 -0.695272 +v 0.697797 0.048763 -0.697796 +v 0.697797 -0.048782 -0.697796 +v 0.695273 -0.097437 -0.695272 +v 0.691077 -0.145858 -0.691076 +v 0.677701 -0.241529 -0.677701 +v 0.668554 -0.288549 -0.668553 +v 0.657799 -0.334875 -0.657798 +v 0.631562 -0.424995 -0.631561 +v 0.616143 -0.468573 -0.616142 +v 0.599242 -0.511023 -0.599242 +v 0.561152 -0.592129 -0.561151 +v 0.540054 -0.630590 -0.540053 +v 0.517657 -0.667534 -0.517656 +v 0.469177 -0.736508 -0.469177 +v 0.443211 -0.768374 -0.443210 +v 0.416178 -0.798391 -0.416178 +v 0.359172 -0.852584 -0.359172 +v 0.329335 -0.876630 -0.329335 +v 0.298706 -0.898567 -0.298706 +v 0.235365 -0.935896 -0.235364 +v 0.203249 -0.951136 -0.203248 +v 0.171534 -0.963962 -0.171534 +v 0.613009 -0.380395 -0.676351 +v 0.579082 -0.380395 -0.705614 +v 0.543763 -0.380395 -0.733180 +v 0.577256 -0.193928 -0.778339 +v 0.614751 -0.193928 -0.749075 +v 0.650767 -0.193928 -0.718010 +v 0.663516 -0.000009 -0.732077 +v 0.626794 -0.000009 -0.763751 +v 0.588565 -0.000009 -0.793588 +v 0.577256 0.193910 -0.778339 +v 0.614751 0.193910 -0.749075 +v 0.650767 0.193910 -0.718010 +v 0.613009 0.380376 -0.676351 +v 0.579082 0.380376 -0.705614 +v 0.543763 0.380376 -0.733180 +v 0.489374 0.552225 -0.659844 +v 0.521160 0.552225 -0.635035 +v 0.551694 0.552225 -0.608700 +v 0.469177 0.702852 -0.517657 +v 0.443211 0.702852 -0.540053 +v 0.416178 0.702852 -0.561152 +v 0.326989 0.826468 -0.440894 +v 0.348228 0.826468 -0.424317 +v 0.368630 0.826468 -0.406720 +v 0.134432 -0.974155 -0.148508 +v 0.127887 -0.974030 -0.155831 +v 0.119429 -0.974155 -0.160822 +v 0.225234 -0.918341 -0.303693 +v 0.239864 -0.918341 -0.292275 +v 0.253917 -0.918341 -0.280154 +v 0.253917 0.918323 -0.280154 +v 0.239864 0.918323 -0.292275 +v 0.225234 0.918323 -0.303693 +v 0.119429 0.974136 -0.160822 +v 0.127887 0.974011 -0.155831 +v 0.134432 0.974136 -0.148509 +v 0.368630 -0.826486 -0.406720 +v 0.348228 -0.826486 -0.424317 +v 0.326989 -0.826486 -0.440894 +v 0.416178 -0.702870 -0.561152 +v 0.443211 -0.702870 -0.540053 +v 0.469177 -0.702870 -0.517657 +v 0.551694 -0.552243 -0.608700 +v 0.521160 -0.552243 -0.635035 +v 0.489374 -0.552243 -0.659844 +v 0.201703 0.963944 -0.134773 +v 0.238995 0.951117 -0.159691 +v 0.276760 0.935878 -0.184925 +v 0.351242 0.898549 -0.234692 +v 0.387257 0.876611 -0.258757 +v 0.422342 0.852566 -0.282200 +v 0.489374 0.798372 -0.326989 +v 0.521160 0.768355 -0.348228 +v 0.551694 0.736490 -0.368630 +v 0.608700 0.667515 -0.406720 +v 0.635036 0.630571 -0.424317 +v 0.659845 0.592111 -0.440894 +v 0.704634 0.511005 -0.470821 +v 0.724507 0.468554 -0.484100 +v 0.742638 0.424977 -0.496215 +v 0.773489 0.334857 -0.516829 +v 0.786136 0.288531 -0.525279 +v 0.796892 0.241511 -0.532466 +v 0.812620 0.145840 -0.542975 +v 0.817554 0.097419 -0.546272 +v 0.820522 0.048763 -0.548255 +v 0.820522 -0.048782 -0.548255 +v 0.817554 -0.097437 -0.546272 +v 0.812620 -0.145858 -0.542975 +v 0.796892 -0.241529 -0.532466 +v 0.786136 -0.288549 -0.525279 +v 0.773489 -0.334875 -0.516829 +v 0.742638 -0.424995 -0.496215 +v 0.724507 -0.468573 -0.484100 +v 0.704634 -0.511023 -0.470821 +v 0.659845 -0.592129 -0.440894 +v 0.635036 -0.630590 -0.424317 +v 0.608700 -0.667534 -0.406720 +v 0.551694 -0.736508 -0.368630 +v 0.521160 -0.768374 -0.348228 +v 0.489374 -0.798391 -0.326989 +v 0.422342 -0.852584 -0.282200 +v 0.387257 -0.876630 -0.258757 +v 0.351241 -0.898567 -0.234692 +v 0.276759 -0.935896 -0.184924 +v 0.238995 -0.951136 -0.159691 +v 0.201703 -0.963962 -0.134773 +v 0.733180 -0.380395 -0.543763 +v 0.705614 -0.380395 -0.579082 +v 0.676351 -0.380395 -0.613009 +v 0.718010 -0.193928 -0.650767 +v 0.749076 -0.193928 -0.614750 +v 0.778340 -0.193928 -0.577255 +v 0.793588 -0.000009 -0.588565 +v 0.763751 -0.000009 -0.626794 +v 0.732077 -0.000009 -0.663516 +v 0.718010 0.193910 -0.650767 +v 0.749076 0.193910 -0.614750 +v 0.778340 0.193910 -0.577255 +v 0.733180 0.380376 -0.543763 +v 0.705614 0.380376 -0.579082 +v 0.676351 0.380376 -0.613009 +v 0.608700 0.552225 -0.551693 +v 0.635036 0.552225 -0.521160 +v 0.659845 0.552225 -0.489374 +v 0.561152 0.702852 -0.416178 +v 0.540054 0.702852 -0.443210 +v 0.517657 0.702852 -0.469177 +v 0.406720 0.826468 -0.368630 +v 0.424318 0.826468 -0.348228 +v 0.440894 0.826468 -0.326989 +v 0.160822 -0.974155 -0.119428 +v 0.155831 -0.974030 -0.127887 +v 0.148509 -0.974155 -0.134432 +v 0.280154 -0.918341 -0.253917 +v 0.292275 -0.918341 -0.239864 +v 0.303693 -0.918341 -0.225234 +v 0.303693 0.918323 -0.225234 +v 0.292275 0.918323 -0.239864 +v 0.280154 0.918323 -0.253917 +v 0.148509 0.974136 -0.134432 +v 0.155831 0.974011 -0.127887 +v 0.160822 0.974136 -0.119429 +v 0.440894 -0.826486 -0.326989 +v 0.424317 -0.826486 -0.348228 +v 0.406720 -0.826486 -0.368630 +v 0.517657 -0.702870 -0.469177 +v 0.540054 -0.702870 -0.443210 +v 0.561152 -0.702870 -0.416178 +v 0.659845 -0.552243 -0.489374 +v 0.635036 -0.552243 -0.521160 +v 0.608700 -0.552243 -0.551693 +v 0.224120 0.963944 -0.092834 +v 0.265557 0.951117 -0.109997 +v 0.307519 0.935878 -0.127378 +v 0.390279 0.898549 -0.161659 +v 0.430297 0.876611 -0.178235 +v 0.469281 0.852566 -0.194382 +v 0.543763 0.798372 -0.225234 +v 0.579082 0.768355 -0.239864 +v 0.613009 0.736490 -0.253917 +v 0.676351 0.667515 -0.280154 +v 0.705614 0.630571 -0.292275 +v 0.733180 0.592111 -0.303693 +v 0.782947 0.511005 -0.324307 +v 0.805029 0.468554 -0.333454 +v 0.825175 0.424977 -0.341799 +v 0.859455 0.334857 -0.355998 +v 0.873507 0.288531 -0.361818 +v 0.885459 0.241511 -0.366769 +v 0.902935 0.145840 -0.374008 +v 0.908417 0.097419 -0.376279 +v 0.911715 0.048763 -0.377645 +v 0.911715 -0.048782 -0.377645 +v 0.908417 -0.097437 -0.376279 +v 0.902935 -0.145858 -0.374008 +v 0.885459 -0.241529 -0.366769 +v 0.873507 -0.288549 -0.361818 +v 0.859455 -0.334875 -0.355998 +v 0.825175 -0.424995 -0.341799 +v 0.805029 -0.468573 -0.333454 +v 0.782947 -0.511023 -0.324307 +v 0.733180 -0.592129 -0.303693 +v 0.705614 -0.630590 -0.292275 +v 0.676351 -0.667534 -0.280154 +v 0.613009 -0.736508 -0.253917 +v 0.579082 -0.768374 -0.239864 +v 0.543763 -0.798391 -0.225234 +v 0.469281 -0.852584 -0.194382 +v 0.430297 -0.876630 -0.178235 +v 0.390279 -0.898567 -0.161659 +v 0.307519 -0.935896 -0.127378 +v 0.265557 -0.951136 -0.109997 +v 0.224120 -0.963962 -0.092834 +v 0.825175 -0.380395 -0.390278 +v 0.805029 -0.380395 -0.430297 +v 0.782947 -0.380395 -0.469281 +v 0.831172 -0.193928 -0.498186 +v 0.854614 -0.193928 -0.456801 +v 0.876001 -0.193928 -0.414317 +v 0.893163 -0.000009 -0.422434 +v 0.871357 -0.000009 -0.465750 +v 0.847456 -0.000009 -0.507946 +v 0.831172 0.193910 -0.498186 +v 0.854614 0.193910 -0.456801 +v 0.876001 0.193910 -0.414317 +v 0.825175 0.380376 -0.390278 +v 0.805029 0.380376 -0.430297 +v 0.782947 0.380376 -0.469281 +v 0.704634 0.552225 -0.422341 +v 0.724507 0.552225 -0.387257 +v 0.742638 0.552225 -0.351241 +v 0.631562 0.702852 -0.298706 +v 0.616143 0.702852 -0.329335 +v 0.599242 0.702852 -0.359172 +v 0.470822 0.826468 -0.282200 +v 0.484100 0.826468 -0.258757 +v 0.496215 0.826468 -0.234692 +v 0.181031 -0.974155 -0.085759 +v 0.177786 -0.974030 -0.095029 +v 0.171882 -0.974155 -0.102876 +v 0.324308 -0.918341 -0.194382 +v 0.333454 -0.918341 -0.178235 +v 0.341799 -0.918341 -0.161659 +v 0.341799 0.918323 -0.161659 +v 0.333454 0.918323 -0.178235 +v 0.324308 0.918323 -0.194383 +v 0.171882 0.974136 -0.102876 +v 0.177786 0.974011 -0.095029 +v 0.181031 0.974136 -0.085759 +v 0.496215 -0.826486 -0.234692 +v 0.484100 -0.826486 -0.258757 +v 0.470821 -0.826486 -0.282200 +v 0.599242 -0.702870 -0.359172 +v 0.616143 -0.702870 -0.329335 +v 0.631562 -0.702870 -0.298706 +v 0.742638 -0.552243 -0.351241 +v 0.724507 -0.552243 -0.387257 +v 0.704634 -0.552243 -0.422341 +v 0.237925 0.963944 -0.047326 +v 0.281914 0.951117 -0.056076 +v 0.326460 0.935878 -0.064937 +v 0.414318 0.898549 -0.082413 +v 0.456801 0.876611 -0.090863 +v 0.498186 0.852566 -0.099095 +v 0.577256 0.798372 -0.114823 +v 0.614751 0.768355 -0.122281 +v 0.650767 0.736490 -0.129446 +v 0.718010 0.667515 -0.142821 +v 0.749076 0.630571 -0.149000 +v 0.778340 0.592111 -0.154821 +v 0.831172 0.511005 -0.165330 +v 0.854614 0.468554 -0.169993 +v 0.876001 0.424977 -0.174247 +v 0.912393 0.334857 -0.181486 +v 0.927310 0.288531 -0.184453 +v 0.939998 0.241511 -0.186977 +v 0.958550 0.145840 -0.190667 +v 0.964371 0.097419 -0.191825 +v 0.967872 0.048763 -0.192522 +v 0.967872 -0.048782 -0.192522 +v 0.964371 -0.097437 -0.191825 +v 0.958550 -0.145858 -0.190667 +v 0.939998 -0.241529 -0.186977 +v 0.927310 -0.288549 -0.184453 +v 0.912393 -0.334875 -0.181486 +v 0.876001 -0.424995 -0.174247 +v 0.854614 -0.468573 -0.169993 +v 0.831172 -0.511023 -0.165330 +v 0.778340 -0.592129 -0.154821 +v 0.749076 -0.630590 -0.149000 +v 0.718010 -0.667534 -0.142821 +v 0.650767 -0.736508 -0.129446 +v 0.614751 -0.768374 -0.122281 +v 0.577256 -0.798391 -0.114823 +v 0.498186 -0.852584 -0.099095 +v 0.456801 -0.876630 -0.090863 +v 0.414317 -0.898567 -0.082413 +v 0.326460 -0.935896 -0.064937 +v 0.281914 -0.951136 -0.056076 +v 0.237925 -0.963962 -0.047326 +v 0.885459 -0.380395 -0.221796 +v 0.873507 -0.380395 -0.264975 +v 0.859455 -0.380395 -0.307518 +v 0.912393 -0.193928 -0.326459 +v 0.927310 -0.193928 -0.281296 +v 0.939998 -0.193928 -0.235457 +v 0.958414 -0.000009 -0.240070 +v 0.945478 -0.000009 -0.286807 +v 0.930268 -0.000009 -0.332855 +v 0.912393 0.193910 -0.326459 +v 0.927310 0.193910 -0.281296 +v 0.939998 0.193910 -0.235457 +v 0.885459 0.380376 -0.221796 +v 0.873507 0.380376 -0.264975 +v 0.859455 0.380376 -0.307518 +v 0.773489 0.552225 -0.276759 +v 0.786136 0.552225 -0.238472 +v 0.796892 0.552225 -0.199611 +v 0.677701 0.702852 -0.169755 +v 0.668554 0.702852 -0.202803 +v 0.657799 0.702852 -0.235364 +v 0.516829 0.826468 -0.184925 +v 0.525279 0.826468 -0.159342 +v 0.532466 0.826468 -0.133376 +v 0.194283 -0.974155 -0.048794 +v 0.192909 -0.974030 -0.058518 +v 0.188649 -0.974155 -0.067367 +v 0.355998 -0.918341 -0.127378 +v 0.361819 -0.918341 -0.109756 +v 0.366769 -0.918341 -0.091871 +v 0.366769 0.918323 -0.091871 +v 0.361819 0.918323 -0.109757 +v 0.355998 0.918323 -0.127378 +v 0.188649 0.974136 -0.067367 +v 0.192909 0.974011 -0.058518 +v 0.194283 0.974136 -0.048794 +v 0.532466 -0.826486 -0.133376 +v 0.525279 -0.826486 -0.159342 +v 0.516829 -0.826486 -0.184924 +v 0.657799 -0.702870 -0.235364 +v 0.668554 -0.702870 -0.202803 +v 0.677701 -0.702870 -0.169755 +v 0.796892 -0.552243 -0.199611 +v 0.786136 -0.552243 -0.238472 +v 0.773489 -0.552243 -0.276759 +v 0.242586 0.963944 0.000000 +v 0.287437 0.951117 0.000000 +v 0.332856 0.935878 0.000000 +v 0.422435 0.898549 0.000000 +v 0.465750 0.876611 0.000000 +v 0.507946 0.852566 0.000000 +v 0.588565 0.798372 0.000000 +v 0.626794 0.768355 0.000000 +v 0.663516 0.736490 0.000000 +v 0.732077 0.667515 0.000000 +v 0.763751 0.630571 0.000000 +v 0.793588 0.592111 0.000000 +v 0.847456 0.511005 0.000000 +v 0.871357 0.468554 0.000000 +v 0.893163 0.424977 0.000000 +v 0.930268 0.334857 0.000000 +v 0.945477 0.288531 0.000000 +v 0.958414 0.241511 0.000000 +v 0.977330 0.145840 0.000000 +v 0.983264 0.097419 0.000000 +v 0.986833 0.048763 0.000000 +v 0.986833 -0.048782 0.000000 +v 0.983264 -0.097437 0.000000 +v 0.977330 -0.145858 0.000000 +v 0.958414 -0.241529 0.000000 +v 0.945477 -0.288549 0.000000 +v 0.930268 -0.334875 0.000000 +v 0.893163 -0.424995 0.000000 +v 0.871357 -0.468573 0.000000 +v 0.847456 -0.511023 0.000000 +v 0.793588 -0.592129 0.000000 +v 0.763751 -0.630590 0.000000 +v 0.732077 -0.667534 0.000000 +v 0.663516 -0.736508 0.000000 +v 0.626794 -0.768374 0.000000 +v 0.588565 -0.798391 0.000000 +v 0.507946 -0.852584 0.000000 +v 0.465750 -0.876630 0.000000 +v 0.422434 -0.898567 0.000000 +v 0.332856 -0.935896 0.000000 +v 0.287437 -0.951136 0.000000 +v 0.242586 -0.963962 0.000000 +v 0.911715 -0.380395 -0.044789 +v 0.908417 -0.380395 -0.089471 +v 0.902935 -0.380395 -0.133938 +v 0.958550 -0.193928 -0.142188 +v 0.964371 -0.193928 -0.094982 +v 0.967872 -0.193928 -0.047548 +v 0.986834 -0.000009 -0.048480 +v 0.983264 -0.000009 -0.096843 +v 0.977330 -0.000009 -0.144973 +v 0.958550 0.193910 -0.142188 +v 0.964371 0.193910 -0.094982 +v 0.967872 0.193910 -0.047548 +v 0.911715 0.380376 -0.044789 +v 0.908417 0.380376 -0.089471 +v 0.902935 0.380376 -0.133938 +v 0.812620 0.552225 -0.120541 +v 0.817554 0.552225 -0.080522 +v 0.820522 0.552225 -0.040309 +v 0.697797 0.702852 -0.034280 +v 0.695273 0.702852 -0.068478 +v 0.691077 0.702852 -0.102512 +v 0.542976 0.826468 -0.080543 +v 0.546272 0.826468 -0.053803 +v 0.548256 0.826468 -0.026934 +v 0.200069 -0.974155 -0.009954 +v 0.200619 -0.974030 -0.019759 +v 0.198167 -0.974155 -0.029269 +v 0.374008 -0.918341 -0.055479 +v 0.376279 -0.918341 -0.037060 +v 0.377645 -0.918341 -0.018552 +v 0.377645 0.918323 -0.018552 +v 0.376279 0.918323 -0.037060 +v 0.374008 0.918323 -0.055479 +v 0.198167 0.974136 -0.029269 +v 0.200619 0.974011 -0.019759 +v 0.200070 0.974136 -0.009953 +v 0.548255 -0.826486 -0.026934 +v 0.546272 -0.826486 -0.053803 +v 0.542975 -0.826486 -0.080543 +v 0.691077 -0.702870 -0.102512 +v 0.695273 -0.702870 -0.068478 +v 0.697797 -0.702870 -0.034280 +v 0.820522 -0.552243 -0.040309 +v 0.817554 -0.552243 -0.080522 +v 0.812620 -0.552243 -0.120541 +v 0.237925 0.963944 0.047326 +v 0.281914 0.951117 0.056076 +v 0.326460 0.935878 0.064937 +v 0.414318 0.898549 0.082413 +v 0.456801 0.876611 0.090863 +v 0.498186 0.852566 0.099095 +v 0.577256 0.798372 0.114823 +v 0.614751 0.768355 0.122281 +v 0.650767 0.736490 0.129446 +v 0.718010 0.667515 0.142821 +v 0.749076 0.630571 0.149000 +v 0.778339 0.592111 0.154821 +v 0.831172 0.511005 0.165330 +v 0.854614 0.468554 0.169993 +v 0.876001 0.424977 0.174247 +v 0.912393 0.334857 0.181486 +v 0.927310 0.288531 0.184453 +v 0.939998 0.241511 0.186977 +v 0.958550 0.145840 0.190668 +v 0.964371 0.097419 0.191825 +v 0.967872 0.048763 0.192522 +v 0.967872 -0.048782 0.192522 +v 0.964370 -0.097437 0.191825 +v 0.958550 -0.145858 0.190668 +v 0.939998 -0.241529 0.186977 +v 0.927310 -0.288549 0.184453 +v 0.912393 -0.334875 0.181486 +v 0.876001 -0.424995 0.174247 +v 0.854614 -0.468573 0.169993 +v 0.831172 -0.511023 0.165330 +v 0.778340 -0.592129 0.154821 +v 0.749076 -0.630590 0.149000 +v 0.718010 -0.667534 0.142821 +v 0.650767 -0.736508 0.129446 +v 0.614751 -0.768374 0.122281 +v 0.577256 -0.798391 0.114823 +v 0.498186 -0.852584 0.099095 +v 0.456801 -0.876630 0.090863 +v 0.414317 -0.898567 0.082413 +v 0.326460 -0.935896 0.064937 +v 0.281914 -0.951136 0.056076 +v 0.237925 -0.963962 0.047326 +v 0.902935 -0.380395 0.133938 +v 0.908417 -0.380395 0.089471 +v 0.911715 -0.380395 0.044789 +v 0.967872 -0.193928 0.047548 +v 0.964370 -0.193928 0.094982 +v 0.958550 -0.193928 0.142188 +v 0.977330 -0.000009 0.144973 +v 0.983264 -0.000009 0.096843 +v 0.986833 -0.000009 0.048480 +v 0.967872 0.193910 0.047548 +v 0.964370 0.193910 0.094982 +v 0.958550 0.193910 0.142188 +v 0.902935 0.380376 0.133938 +v 0.908417 0.380376 0.089471 +v 0.911715 0.380376 0.044789 +v 0.820522 0.552225 0.040309 +v 0.817554 0.552225 0.080522 +v 0.812620 0.552225 0.120541 +v 0.691077 0.702852 0.102512 +v 0.695273 0.702852 0.068478 +v 0.697797 0.702852 0.034280 +v 0.548256 0.826468 0.026934 +v 0.546272 0.826468 0.053803 +v 0.542976 0.826468 0.080543 +v 0.198167 -0.974155 0.029269 +v 0.200619 -0.974030 0.019759 +v 0.200069 -0.974155 0.009953 +v 0.377645 -0.918341 0.018552 +v 0.376279 -0.918341 0.037060 +v 0.374008 -0.918341 0.055479 +v 0.374008 0.918323 0.055479 +v 0.376279 0.918323 0.037060 +v 0.377645 0.918323 0.018552 +v 0.200070 0.974136 0.009954 +v 0.200619 0.974011 0.019759 +v 0.198167 0.974136 0.029269 +v 0.542975 -0.826486 0.080543 +v 0.546272 -0.826486 0.053803 +v 0.548255 -0.826486 0.026934 +v 0.697797 -0.702870 0.034280 +v 0.695273 -0.702870 0.068478 +v 0.691076 -0.702870 0.102512 +v 0.812620 -0.552243 0.120541 +v 0.817554 -0.552243 0.080522 +v 0.820522 -0.552243 0.040309 +v 0.224120 0.963944 0.092834 +v 0.265557 0.951117 0.109997 +v 0.307519 0.935878 0.127378 +v 0.390279 0.898549 0.161659 +v 0.430297 0.876611 0.178235 +v 0.469281 0.852566 0.194382 +v 0.543763 0.798372 0.225234 +v 0.579082 0.768355 0.239864 +v 0.613009 0.736490 0.253917 +v 0.676351 0.667515 0.280154 +v 0.705614 0.630571 0.292275 +v 0.733180 0.592111 0.303693 +v 0.782947 0.511005 0.324307 +v 0.805029 0.468554 0.333454 +v 0.825175 0.424977 0.341798 +v 0.859455 0.334857 0.355998 +v 0.873507 0.288531 0.361818 +v 0.885459 0.241511 0.366769 +v 0.902935 0.145840 0.374008 +v 0.908417 0.097419 0.376279 +v 0.911715 0.048763 0.377645 +v 0.911715 -0.048782 0.377645 +v 0.908417 -0.097437 0.376279 +v 0.902935 -0.145858 0.374008 +v 0.885459 -0.241529 0.366769 +v 0.873507 -0.288549 0.361818 +v 0.859455 -0.334875 0.355998 +v 0.825175 -0.424995 0.341798 +v 0.805029 -0.468573 0.333454 +v 0.782947 -0.511023 0.324307 +v 0.733180 -0.592129 0.303693 +v 0.705614 -0.630590 0.292275 +v 0.676351 -0.667534 0.280154 +v 0.613009 -0.736508 0.253917 +v 0.579082 -0.768374 0.239864 +v 0.543763 -0.798391 0.225234 +v 0.469281 -0.852584 0.194382 +v 0.430297 -0.876630 0.178235 +v 0.390278 -0.898567 0.161659 +v 0.307518 -0.935896 0.127378 +v 0.265557 -0.951136 0.109997 +v 0.224120 -0.963962 0.092833 +v 0.859455 -0.380395 0.307518 +v 0.873507 -0.380395 0.264975 +v 0.885459 -0.380395 0.221796 +v 0.939998 -0.193928 0.235457 +v 0.927310 -0.193928 0.281296 +v 0.912393 -0.193928 0.326460 +v 0.930268 -0.000009 0.332855 +v 0.945477 -0.000009 0.286807 +v 0.958414 -0.000009 0.240070 +v 0.939998 0.193910 0.235457 +v 0.927310 0.193910 0.281296 +v 0.912393 0.193910 0.326460 +v 0.859455 0.380376 0.307518 +v 0.873507 0.380376 0.264975 +v 0.885459 0.380376 0.221796 +v 0.796892 0.552225 0.199611 +v 0.786136 0.552225 0.238472 +v 0.773489 0.552225 0.276759 +v 0.657799 0.702852 0.235364 +v 0.668554 0.702852 0.202803 +v 0.677701 0.702852 0.169755 +v 0.532466 0.826468 0.133376 +v 0.525279 0.826468 0.159342 +v 0.516829 0.826468 0.184924 +v 0.188649 -0.974155 0.067367 +v 0.192909 -0.974030 0.058518 +v 0.194283 -0.974155 0.048794 +v 0.366769 -0.918341 0.091871 +v 0.361819 -0.918341 0.109756 +v 0.355998 -0.918341 0.127378 +v 0.355998 0.918323 0.127378 +v 0.361819 0.918323 0.109756 +v 0.366769 0.918323 0.091871 +v 0.194283 0.974136 0.048794 +v 0.192909 0.974011 0.058518 +v 0.188649 0.974136 0.067367 +v 0.516829 -0.826486 0.184924 +v 0.525279 -0.826486 0.159342 +v 0.532466 -0.826486 0.133376 +v 0.677701 -0.702870 0.169755 +v 0.668554 -0.702870 0.202803 +v 0.657799 -0.702870 0.235364 +v 0.773489 -0.552243 0.276759 +v 0.786136 -0.552243 0.238472 +v 0.796892 -0.552243 0.199611 +v 0.201703 0.963944 0.134773 +v 0.238995 0.951117 0.159691 +v 0.276759 0.935878 0.184924 +v 0.351241 0.898549 0.234692 +v 0.387257 0.876611 0.258757 +v 0.422342 0.852566 0.282200 +v 0.489374 0.798372 0.326989 +v 0.521160 0.768355 0.348228 +v 0.551694 0.736490 0.368630 +v 0.608700 0.667515 0.406720 +v 0.635036 0.630571 0.424317 +v 0.659844 0.592111 0.440894 +v 0.704634 0.511005 0.470821 +v 0.724507 0.468554 0.484100 +v 0.742638 0.424977 0.496215 +v 0.773489 0.334857 0.516829 +v 0.786136 0.288531 0.525279 +v 0.796892 0.241511 0.532466 +v 0.812620 0.145840 0.542975 +v 0.817554 0.097419 0.546272 +v 0.820522 0.048763 0.548255 +v 0.820522 -0.048782 0.548255 +v 0.817554 -0.097437 0.546272 +v 0.812620 -0.145858 0.542975 +v 0.796892 -0.241529 0.532466 +v 0.786136 -0.288549 0.525279 +v 0.773489 -0.334875 0.516829 +v 0.742638 -0.424995 0.496214 +v 0.724507 -0.468573 0.484100 +v 0.704634 -0.511023 0.470821 +v 0.659844 -0.592129 0.440894 +v 0.635036 -0.630590 0.424317 +v 0.608700 -0.667534 0.406720 +v 0.551694 -0.736508 0.368630 +v 0.521160 -0.768374 0.348228 +v 0.489374 -0.798391 0.326989 +v 0.422342 -0.852584 0.282200 +v 0.387257 -0.876630 0.258757 +v 0.351241 -0.898567 0.234692 +v 0.276759 -0.935896 0.184924 +v 0.238995 -0.951136 0.159691 +v 0.201703 -0.963962 0.134773 +v 0.782947 -0.380395 0.469281 +v 0.805029 -0.380395 0.430297 +v 0.825175 -0.380395 0.390278 +v 0.876001 -0.193928 0.414317 +v 0.854614 -0.193928 0.456801 +v 0.831172 -0.193928 0.498186 +v 0.847456 -0.000009 0.507946 +v 0.871357 -0.000009 0.465750 +v 0.893163 -0.000009 0.422434 +v 0.876001 0.193910 0.414317 +v 0.854614 0.193910 0.456801 +v 0.831172 0.193910 0.498186 +v 0.782947 0.380376 0.469281 +v 0.805029 0.380376 0.430297 +v 0.825175 0.380376 0.390278 +v 0.742638 0.552225 0.351241 +v 0.724507 0.552225 0.387257 +v 0.704634 0.552225 0.422341 +v 0.599242 0.702852 0.359172 +v 0.616143 0.702852 0.329335 +v 0.631562 0.702852 0.298706 +v 0.496215 0.826468 0.234692 +v 0.484100 0.826468 0.258757 +v 0.470821 0.826468 0.282200 +v 0.171882 -0.974155 0.102876 +v 0.177786 -0.974030 0.095028 +v 0.181031 -0.974155 0.085759 +v 0.341799 -0.918341 0.161659 +v 0.333454 -0.918341 0.178235 +v 0.324307 -0.918341 0.194382 +v 0.324308 0.918323 0.194382 +v 0.333454 0.918323 0.178235 +v 0.341799 0.918323 0.161659 +v 0.181031 0.974136 0.085759 +v 0.177786 0.974011 0.095029 +v 0.171882 0.974136 0.102876 +v 0.470821 -0.826486 0.282200 +v 0.484100 -0.826486 0.258757 +v 0.496215 -0.826486 0.234692 +v 0.631562 -0.702870 0.298706 +v 0.616143 -0.702870 0.329335 +v 0.599242 -0.702870 0.359172 +v 0.704634 -0.552243 0.422341 +v 0.724507 -0.552243 0.387257 +v 0.742638 -0.552243 0.351241 +v 0.171534 0.963944 0.171534 +v 0.203249 0.951117 0.203248 +v 0.235365 0.935878 0.235364 +v 0.298706 0.898549 0.298706 +v 0.329335 0.876611 0.329335 +v 0.359172 0.852566 0.359172 +v 0.416178 0.798372 0.416178 +v 0.443211 0.768355 0.443210 +v 0.469177 0.736490 0.469177 +v 0.517657 0.667515 0.517656 +v 0.540053 0.630571 0.540053 +v 0.561151 0.592111 0.561151 +v 0.599242 0.511005 0.599241 +v 0.616142 0.468554 0.616142 +v 0.631562 0.424977 0.631561 +v 0.657799 0.334857 0.657798 +v 0.668553 0.288531 0.668553 +v 0.677701 0.241511 0.677701 +v 0.691076 0.145840 0.691076 +v 0.695272 0.097419 0.695272 +v 0.697796 0.048763 0.697796 +v 0.697796 -0.048782 0.697796 +v 0.695272 -0.097437 0.695272 +v 0.691076 -0.145858 0.691076 +v 0.677701 -0.241529 0.677701 +v 0.668553 -0.288549 0.668553 +v 0.657799 -0.334875 0.657798 +v 0.631562 -0.424995 0.631561 +v 0.616142 -0.468573 0.616142 +v 0.599242 -0.511023 0.599241 +v 0.561151 -0.592129 0.561151 +v 0.540053 -0.630590 0.540053 +v 0.517657 -0.667534 0.517656 +v 0.469177 -0.736508 0.469177 +v 0.443210 -0.768374 0.443210 +v 0.416178 -0.798391 0.416178 +v 0.359172 -0.852584 0.359172 +v 0.329335 -0.876630 0.329335 +v 0.298706 -0.898567 0.298706 +v 0.235364 -0.935896 0.235364 +v 0.203248 -0.951136 0.203248 +v 0.171534 -0.963962 0.171534 +v 0.676351 -0.380395 0.613009 +v 0.705614 -0.380395 0.579082 +v 0.733180 -0.380395 0.543763 +v 0.778339 -0.193928 0.577255 +v 0.749075 -0.193928 0.614750 +v 0.718010 -0.193928 0.650767 +v 0.732077 -0.000009 0.663516 +v 0.763751 -0.000009 0.626794 +v 0.793588 -0.000009 0.588565 +v 0.778339 0.193910 0.577255 +v 0.749075 0.193910 0.614750 +v 0.718010 0.193910 0.650767 +v 0.676351 0.380376 0.613009 +v 0.705614 0.380376 0.579082 +v 0.733180 0.380376 0.543763 +v 0.659844 0.552225 0.489373 +v 0.635036 0.552225 0.521160 +v 0.608700 0.552225 0.551693 +v 0.517657 0.702852 0.469177 +v 0.540053 0.702852 0.443210 +v 0.561152 0.702852 0.416178 +v 0.440894 0.826468 0.326989 +v 0.424317 0.826468 0.348228 +v 0.406720 0.826468 0.368630 +v 0.148509 -0.974155 0.134432 +v 0.155831 -0.974030 0.127887 +v 0.160822 -0.974155 0.119428 +v 0.303693 -0.918341 0.225234 +v 0.292275 -0.918341 0.239864 +v 0.280154 -0.918341 0.253917 +v 0.280154 0.918323 0.253917 +v 0.292275 0.918323 0.239864 +v 0.303693 0.918323 0.225234 +v 0.160822 0.974136 0.119429 +v 0.155831 0.974011 0.127887 +v 0.148509 0.974136 0.134432 +v 0.406720 -0.826486 0.368630 +v 0.424317 -0.826486 0.348228 +v 0.440894 -0.826486 0.326989 +v 0.561152 -0.702870 0.416178 +v 0.540053 -0.702870 0.443210 +v 0.517657 -0.702870 0.469177 +v 0.608700 -0.552243 0.551693 +v 0.635036 -0.552243 0.521160 +v 0.659844 -0.552243 0.489373 +v 0.134774 0.963944 0.201703 +v 0.159691 0.951117 0.238995 +v 0.184925 0.935878 0.276759 +v 0.234692 0.898549 0.351241 +v 0.258757 0.876611 0.387257 +v 0.282200 0.852566 0.422341 +v 0.326989 0.798372 0.489374 +v 0.348228 0.768355 0.521160 +v 0.368630 0.736490 0.551693 +v 0.406720 0.667515 0.608700 +v 0.424317 0.630571 0.635035 +v 0.440894 0.592111 0.659844 +v 0.470821 0.511005 0.704633 +v 0.484100 0.468554 0.724506 +v 0.496215 0.424977 0.742637 +v 0.516829 0.334857 0.773489 +v 0.525279 0.288531 0.786135 +v 0.532466 0.241511 0.796892 +v 0.542975 0.145840 0.812620 +v 0.546272 0.097419 0.817554 +v 0.548255 0.048763 0.820522 +v 0.548255 -0.048782 0.820522 +v 0.546272 -0.097437 0.817554 +v 0.542975 -0.145858 0.812620 +v 0.532466 -0.241529 0.796892 +v 0.525279 -0.288549 0.786135 +v 0.516829 -0.334875 0.773489 +v 0.496215 -0.424995 0.742637 +v 0.484100 -0.468573 0.724506 +v 0.470821 -0.511023 0.704633 +v 0.440894 -0.592129 0.659844 +v 0.424317 -0.630590 0.635035 +v 0.406720 -0.667534 0.608699 +v 0.368630 -0.736508 0.551693 +v 0.348228 -0.768374 0.521160 +v 0.326989 -0.798391 0.489373 +v 0.282200 -0.852584 0.422341 +v 0.258757 -0.876630 0.387257 +v 0.234692 -0.898567 0.351241 +v 0.184925 -0.935896 0.276759 +v 0.159691 -0.951136 0.238995 +v 0.134774 -0.963962 0.201703 +v 0.087532 -0.981992 0.131000 +v 0.064466 -0.987805 0.096480 +v 0.040234 -0.992429 0.060214 +v 0.543763 -0.380395 0.733179 +v 0.579082 -0.380395 0.705613 +v 0.613009 -0.380395 0.676351 +v 0.650767 -0.193928 0.718010 +v 0.614750 -0.193928 0.749075 +v 0.577255 -0.193928 0.778339 +v 0.588565 -0.000009 0.793588 +v 0.626794 -0.000009 0.763751 +v 0.663516 -0.000009 0.732077 +v 0.650767 0.193910 0.718010 +v 0.614750 0.193910 0.749075 +v 0.577255 0.193910 0.778339 +v 0.543763 0.380376 0.733179 +v 0.579082 0.380376 0.705613 +v 0.613009 0.380376 0.676351 +v 0.551694 0.552225 0.608699 +v 0.521160 0.552225 0.635035 +v 0.489374 0.552225 0.659844 +v 0.416178 0.702852 0.561151 +v 0.443210 0.702852 0.540053 +v 0.469177 0.702852 0.517656 +v 0.368630 0.826468 0.406720 +v 0.348228 0.826468 0.424317 +v 0.326989 0.826468 0.440894 +v 0.119429 -0.974155 0.160821 +v 0.127887 -0.974030 0.155831 +v 0.134432 -0.974155 0.148508 +v 0.253917 -0.918341 0.280154 +v 0.239864 -0.918341 0.292275 +v 0.225234 -0.918341 0.303693 +v 0.225234 0.918323 0.303693 +v 0.239864 0.918323 0.292275 +v 0.253917 0.918323 0.280154 +v 0.134432 0.974136 0.148509 +v 0.127887 0.974011 0.155831 +v 0.119429 0.974136 0.160822 +v 0.326989 -0.826486 0.440894 +v 0.348228 -0.826486 0.424317 +v 0.368630 -0.826486 0.406720 +v 0.469177 -0.702870 0.517656 +v 0.443210 -0.702870 0.540053 +v 0.416178 -0.702870 0.561151 +v 0.489374 -0.552243 0.659844 +v 0.521160 -0.552243 0.635035 +v 0.551693 -0.552243 0.608699 +v 0.092834 0.963944 0.224120 +v 0.109997 0.951117 0.265557 +v 0.127378 0.935878 0.307518 +v 0.161659 0.898549 0.390278 +v 0.178235 0.876611 0.430297 +v 0.194383 0.852566 0.469281 +v 0.225234 0.798372 0.543763 +v 0.239864 0.768355 0.579082 +v 0.253917 0.736490 0.613009 +v 0.280154 0.667515 0.676351 +v 0.292275 0.630571 0.705613 +v 0.303693 0.592111 0.733179 +v 0.324307 0.511005 0.782947 +v 0.333454 0.468554 0.805029 +v 0.341799 0.424977 0.825175 +v 0.355998 0.334857 0.859455 +v 0.361819 0.288531 0.873507 +v 0.366769 0.241511 0.885458 +v 0.374008 0.145840 0.902934 +v 0.376279 0.097419 0.908417 +v 0.377645 0.048763 0.911715 +v 0.377645 -0.048782 0.911715 +v 0.376279 -0.097437 0.908417 +v 0.374008 -0.145858 0.902934 +v 0.366769 -0.241529 0.885458 +v 0.361819 -0.288549 0.873507 +v 0.355998 -0.334875 0.859455 +v 0.341799 -0.424995 0.825174 +v 0.333454 -0.468573 0.805029 +v 0.324307 -0.511023 0.782947 +v 0.303693 -0.592129 0.733179 +v 0.292275 -0.630590 0.705613 +v 0.280154 -0.667534 0.676351 +v 0.253917 -0.736508 0.613009 +v 0.239864 -0.768374 0.579082 +v 0.225234 -0.798391 0.543763 +v 0.194383 -0.852584 0.469281 +v 0.178235 -0.876630 0.430297 +v 0.161659 -0.898567 0.390278 +v 0.127378 -0.935896 0.307518 +v 0.109997 -0.951136 0.265556 +v 0.092834 -0.963962 0.224120 +v 0.390278 -0.380395 0.825175 +v 0.430297 -0.380395 0.805029 +v 0.469281 -0.380395 0.782947 +v 0.498186 -0.193928 0.831172 +v 0.456801 -0.193928 0.854614 +v 0.414317 -0.193928 0.876001 +v 0.422434 -0.000009 0.893162 +v 0.465750 -0.000009 0.871357 +v 0.507946 -0.000009 0.847456 +v 0.498186 0.193910 0.831172 +v 0.456801 0.193910 0.854614 +v 0.414317 0.193910 0.876000 +v 0.390278 0.380376 0.825175 +v 0.430297 0.380376 0.805029 +v 0.469281 0.380376 0.782947 +v 0.422341 0.552225 0.704633 +v 0.387257 0.552225 0.724506 +v 0.351241 0.552225 0.742637 +v 0.298706 0.702852 0.631561 +v 0.329335 0.702852 0.616142 +v 0.359172 0.702852 0.599242 +v 0.282200 0.826468 0.470821 +v 0.258757 0.826468 0.484100 +v 0.234692 0.826468 0.496215 +v 0.085759 -0.974155 0.181031 +v 0.095029 -0.974030 0.177786 +v 0.102877 -0.974155 0.171881 +v 0.194383 -0.918341 0.324307 +v 0.178235 -0.918341 0.333454 +v 0.161659 -0.918341 0.341798 +v 0.161659 0.918323 0.341799 +v 0.178235 0.918323 0.333454 +v 0.194383 0.918323 0.324307 +v 0.102877 0.974136 0.171881 +v 0.095029 0.974011 0.177786 +v 0.085759 0.974136 0.181031 +v 0.234692 -0.826486 0.496214 +v 0.258757 -0.826486 0.484100 +v 0.282200 -0.826486 0.470821 +v 0.359172 -0.702870 0.599242 +v 0.329335 -0.702870 0.616142 +v 0.298706 -0.702870 0.631561 +v 0.351241 -0.552243 0.742637 +v 0.387257 -0.552243 0.724506 +v 0.422341 -0.552243 0.704633 +v 0.047326 0.963944 0.237924 +v 0.056076 0.951117 0.281913 +v 0.064937 0.935878 0.326460 +v 0.082413 0.898549 0.414317 +v 0.090864 0.876611 0.456801 +v 0.099096 0.852566 0.498186 +v 0.114824 0.798372 0.577255 +v 0.122282 0.768355 0.614750 +v 0.129446 0.736490 0.650767 +v 0.142821 0.667515 0.718010 +v 0.149000 0.630571 0.749075 +v 0.154821 0.592111 0.778339 +v 0.165331 0.511005 0.831172 +v 0.169993 0.468554 0.854614 +v 0.174248 0.424977 0.876001 +v 0.181486 0.334857 0.912392 +v 0.184454 0.288531 0.927310 +v 0.186977 0.241511 0.939998 +v 0.190668 0.145840 0.958550 +v 0.191825 0.097419 0.964370 +v 0.192522 0.048763 0.967871 +v 0.192522 -0.048782 0.967871 +v 0.191825 -0.097437 0.964370 +v 0.190668 -0.145858 0.958550 +v 0.186977 -0.241529 0.939998 +v 0.184454 -0.288549 0.927310 +v 0.181486 -0.334875 0.912392 +v 0.174248 -0.424995 0.876001 +v 0.169993 -0.468573 0.854614 +v 0.165331 -0.511023 0.831172 +v 0.154821 -0.592129 0.778339 +v 0.149000 -0.630590 0.749075 +v 0.142821 -0.667534 0.718010 +v 0.129446 -0.736508 0.650767 +v 0.122282 -0.768374 0.614750 +v 0.114823 -0.798391 0.577255 +v 0.099096 -0.852584 0.498186 +v 0.090864 -0.876630 0.456801 +v 0.082413 -0.898567 0.414317 +v 0.064937 -0.935896 0.326459 +v 0.056076 -0.951136 0.281913 +v 0.047326 -0.963962 0.237924 +v 0.221796 -0.380395 0.885458 +v 0.264976 -0.380395 0.873507 +v 0.307518 -0.380395 0.859455 +v 0.326460 -0.193928 0.912392 +v 0.281297 -0.193928 0.927310 +v 0.235457 -0.193928 0.939998 +v 0.240070 -0.000009 0.958413 +v 0.286807 -0.000009 0.945477 +v 0.332855 -0.000009 0.930267 +v 0.326460 0.193910 0.912392 +v 0.281297 0.193910 0.927310 +v 0.235457 0.193910 0.939998 +v 0.221796 0.380376 0.885458 +v 0.264976 0.380376 0.873507 +v 0.307518 0.380376 0.859455 +v 0.276759 0.552225 0.773489 +v 0.238472 0.552225 0.786135 +v 0.199611 0.552225 0.796891 +v 0.169755 0.702852 0.677701 +v 0.202804 0.702852 0.668553 +v 0.235364 0.702852 0.657798 +v 0.184925 0.826468 0.516829 +v 0.159342 0.826468 0.525279 +v 0.133376 0.826468 0.532466 +v 0.048794 -0.974155 0.194283 +v 0.058519 -0.974030 0.192909 +v 0.067368 -0.974155 0.188649 +v 0.127378 -0.918341 0.355998 +v 0.109757 -0.918341 0.361818 +v 0.091871 -0.918341 0.366769 +v 0.091871 0.918323 0.366769 +v 0.109757 0.918323 0.361818 +v 0.127378 0.918323 0.355998 +v 0.067368 0.974136 0.188649 +v 0.058519 0.974011 0.192909 +v 0.048794 0.974136 0.194283 +v 0.133376 -0.826486 0.532466 +v 0.159342 -0.826486 0.525279 +v 0.184925 -0.826486 0.516829 +v 0.235364 -0.702870 0.657798 +v 0.202804 -0.702870 0.668553 +v 0.169755 -0.702870 0.677701 +v 0.199611 -0.552243 0.796891 +v 0.238472 -0.552243 0.786135 +v 0.276759 -0.552243 0.773489 +v -0.000000 0.963944 0.242586 +v -0.000000 0.951117 0.287436 +v -0.000000 0.935878 0.332855 +v -0.000000 0.898549 0.422434 +v -0.000000 0.876611 0.465750 +v -0.000000 0.852566 0.507946 +v -0.000000 0.798372 0.588565 +v -0.000000 0.768355 0.626794 +v -0.000000 0.736490 0.663516 +v -0.000000 0.667515 0.732077 +v -0.000000 0.630571 0.763750 +v -0.000000 0.592111 0.793588 +v -0.000000 0.511005 0.847455 +v -0.000000 0.468554 0.871356 +v -0.000000 0.424977 0.893162 +v -0.000000 0.334857 0.930267 +v -0.000000 0.288531 0.945477 +v -0.000000 0.241511 0.958413 +v -0.000000 0.145840 0.977329 +v -0.000000 0.097419 0.983263 +v -0.000000 0.048763 0.986833 +v -0.000000 -0.048782 0.986833 +v -0.000000 -0.097437 0.983263 +v -0.000000 -0.145858 0.977329 +v -0.000000 -0.241529 0.958413 +v -0.000000 -0.288549 0.945477 +v -0.000000 -0.334875 0.930267 +v -0.000000 -0.424995 0.893162 +v -0.000000 -0.468573 0.871357 +v -0.000000 -0.511023 0.847455 +v -0.000000 -0.592129 0.793588 +v -0.000000 -0.630590 0.763750 +v -0.000000 -0.667534 0.732077 +v -0.000000 -0.736508 0.663516 +v -0.000000 -0.768374 0.626794 +v -0.000000 -0.798391 0.588564 +v -0.000000 -0.852584 0.507946 +v -0.000000 -0.876630 0.465750 +v -0.000000 -0.898567 0.422434 +v -0.000000 -0.935896 0.332855 +v -0.000000 -0.951136 0.287436 +v -0.000000 -0.963962 0.242586 +v 0.044790 -0.380395 0.911715 +v 0.089472 -0.380395 0.908417 +v 0.133938 -0.380395 0.902934 +v 0.142188 -0.193928 0.958550 +v 0.094982 -0.193928 0.964370 +v 0.047548 -0.193928 0.967871 +v 0.048480 -0.000009 0.986833 +v 0.096843 -0.000009 0.983263 +v 0.144974 -0.000009 0.977329 +v 0.142188 0.193910 0.958550 +v 0.094982 0.193910 0.964370 +v 0.047548 0.193910 0.967871 +v 0.044790 0.380376 0.911715 +v 0.089472 0.380376 0.908417 +v 0.133938 0.380376 0.902934 +v 0.120541 0.552225 0.812619 +v 0.080522 0.552225 0.817553 +v 0.040310 0.552225 0.820521 +v 0.034281 0.702852 0.697796 +v 0.068479 0.702852 0.695272 +v 0.102512 0.702852 0.691076 +v 0.080543 0.826468 0.542975 +v 0.053803 0.826468 0.546272 +v 0.026934 0.826468 0.548255 +v 0.009954 -0.974155 0.200069 +v 0.019759 -0.974030 0.200618 +v 0.029270 -0.974155 0.198167 +v 0.055479 -0.918341 0.374008 +v 0.037060 -0.918341 0.376279 +v 0.018553 -0.918341 0.377645 +v 0.018553 0.918323 0.377645 +v 0.037060 0.918323 0.376279 +v 0.055479 0.918323 0.374008 +v 0.029270 0.974136 0.198167 +v 0.019759 0.974011 0.200619 +v 0.009954 0.974136 0.200069 +v 0.026934 -0.826486 0.548255 +v 0.053803 -0.826486 0.546272 +v 0.080543 -0.826486 0.542975 +v 0.102512 -0.702870 0.691076 +v 0.068479 -0.702870 0.695272 +v 0.034281 -0.702870 0.697796 +v 0.040310 -0.552243 0.820521 +v 0.080522 -0.552243 0.817553 +v 0.120541 -0.552243 0.812619 +v -0.047326 0.963944 0.237924 +v -0.056076 0.951117 0.281913 +v -0.064937 0.935878 0.326460 +v -0.082413 0.898549 0.414317 +v -0.090863 0.876611 0.456801 +v -0.099095 0.852566 0.498186 +v -0.114823 0.798372 0.577255 +v -0.122281 0.768355 0.614750 +v -0.129445 0.736490 0.650767 +v -0.142821 0.667515 0.718010 +v -0.149000 0.630571 0.749075 +v -0.154821 0.592111 0.778339 +v -0.165330 0.511005 0.831172 +v -0.169993 0.468554 0.854614 +v -0.174247 0.424977 0.876001 +v -0.181486 0.334857 0.912392 +v -0.184453 0.288531 0.927310 +v -0.186977 0.241511 0.939997 +v -0.190667 0.145840 0.958550 +v -0.191825 0.097419 0.964370 +v -0.192521 0.048763 0.967871 +v -0.192521 -0.048782 0.967871 +v -0.191825 -0.097437 0.964370 +v -0.190667 -0.145858 0.958550 +v -0.186977 -0.241529 0.939997 +v -0.184453 -0.288549 0.927310 +v -0.181486 -0.334875 0.912392 +v -0.174247 -0.424995 0.876000 +v -0.169993 -0.468573 0.854614 +v -0.165330 -0.511023 0.831172 +v -0.154821 -0.592129 0.778339 +v -0.149000 -0.630590 0.749075 +v -0.142821 -0.667534 0.718010 +v -0.129445 -0.736508 0.650767 +v -0.122281 -0.768374 0.614750 +v -0.114823 -0.798391 0.577255 +v -0.099095 -0.852584 0.498186 +v -0.090863 -0.876630 0.456800 +v -0.082413 -0.898567 0.414317 +v -0.064937 -0.935896 0.326459 +v -0.056076 -0.951136 0.281913 +v -0.047326 -0.963962 0.237924 +v -0.133938 -0.380395 0.902934 +v -0.089471 -0.380395 0.908417 +v -0.044789 -0.380395 0.911715 +v -0.047548 -0.193928 0.967871 +v -0.094982 -0.193928 0.964370 +v -0.142188 -0.193928 0.958550 +v -0.144973 -0.000009 0.977329 +v -0.096843 -0.000009 0.983263 +v -0.048480 -0.000009 0.986833 +v -0.047548 0.193910 0.967871 +v -0.094982 0.193910 0.964370 +v -0.142188 0.193910 0.958550 +v -0.133938 0.380376 0.902934 +v -0.089471 0.380376 0.908417 +v -0.044789 0.380376 0.911715 +v -0.040309 0.552225 0.820521 +v -0.080522 0.552225 0.817553 +v -0.120541 0.552225 0.812619 +v -0.102511 0.702852 0.691076 +v -0.068478 0.702852 0.695272 +v -0.034280 0.702852 0.697796 +v -0.026934 0.826468 0.548255 +v -0.053803 0.826468 0.546272 +v -0.080543 0.826468 0.542975 +v -0.029269 -0.974155 0.198167 +v -0.019759 -0.974030 0.200618 +v -0.009953 -0.974155 0.200069 +v -0.018552 -0.918341 0.377645 +v -0.037060 -0.918341 0.376278 +v -0.055479 -0.918341 0.374008 +v -0.055479 0.918323 0.374008 +v -0.037060 0.918323 0.376279 +v -0.018552 0.918323 0.377645 +v -0.009953 0.974136 0.200069 +v -0.019759 0.974011 0.200619 +v -0.029269 0.974136 0.198167 +v -0.080543 -0.826486 0.542975 +v -0.053803 -0.826486 0.546272 +v -0.026934 -0.826486 0.548255 +v -0.034280 -0.702870 0.697796 +v -0.068478 -0.702870 0.695272 +v -0.102511 -0.702870 0.691076 +v -0.120541 -0.552243 0.812619 +v -0.080522 -0.552243 0.817553 +v -0.040309 -0.552243 0.820521 +v -0.092833 0.963944 0.224120 +v -0.109997 0.951117 0.265557 +v -0.127378 0.935878 0.307518 +v -0.161658 0.898549 0.390278 +v -0.178234 0.876611 0.430297 +v -0.194382 0.852566 0.469281 +v -0.225234 0.798372 0.543763 +v -0.239863 0.768355 0.579082 +v -0.253916 0.736490 0.613009 +v -0.280153 0.667515 0.676351 +v -0.292274 0.630571 0.705613 +v -0.303693 0.592111 0.733179 +v -0.324307 0.511005 0.782947 +v -0.333454 0.468554 0.805028 +v -0.341798 0.424977 0.825174 +v -0.355998 0.334857 0.859455 +v -0.361818 0.288531 0.873507 +v -0.366769 0.241511 0.885458 +v -0.374007 0.145840 0.902934 +v -0.376278 0.097419 0.908417 +v -0.377644 0.048763 0.911715 +v -0.377644 -0.048782 0.911714 +v -0.376278 -0.097437 0.908417 +v -0.374007 -0.145858 0.902934 +v -0.366769 -0.241529 0.885458 +v -0.361818 -0.288549 0.873507 +v -0.355998 -0.334875 0.859455 +v -0.341798 -0.424995 0.825174 +v -0.333454 -0.468573 0.805028 +v -0.324307 -0.511023 0.782947 +v -0.303693 -0.592129 0.733179 +v -0.292274 -0.630590 0.705613 +v -0.280153 -0.667534 0.676350 +v -0.253916 -0.736508 0.613009 +v -0.239863 -0.768374 0.579082 +v -0.225234 -0.798391 0.543763 +v -0.194382 -0.852584 0.469280 +v -0.178234 -0.876630 0.430297 +v -0.161658 -0.898567 0.390278 +v -0.127378 -0.935896 0.307518 +v -0.109997 -0.951136 0.265556 +v -0.092833 -0.963962 0.224120 +v -0.307518 -0.380395 0.859455 +v -0.264975 -0.380395 0.873507 +v -0.221795 -0.380395 0.885458 +v -0.235457 -0.193928 0.939997 +v -0.281296 -0.193928 0.927310 +v -0.326459 -0.193928 0.912392 +v -0.332855 -0.000009 0.930267 +v -0.286807 -0.000009 0.945477 +v -0.240070 -0.000009 0.958413 +v -0.235457 0.193910 0.939997 +v -0.281296 0.193910 0.927310 +v -0.326459 0.193910 0.912392 +v -0.307518 0.380376 0.859455 +v -0.264975 0.380376 0.873507 +v -0.221795 0.380376 0.885458 +v -0.199611 0.552225 0.796891 +v -0.238471 0.552225 0.786135 +v -0.276759 0.552225 0.773489 +v -0.235364 0.702852 0.657798 +v -0.202803 0.702852 0.668553 +v -0.169755 0.702852 0.677701 +v -0.133375 0.826468 0.532466 +v -0.159341 0.826468 0.525279 +v -0.184924 0.826468 0.516829 +v -0.067367 -0.974155 0.188649 +v -0.058518 -0.974030 0.192909 +v -0.048793 -0.974155 0.194283 +v -0.091870 -0.918341 0.366769 +v -0.109756 -0.918341 0.361818 +v -0.127378 -0.918341 0.355998 +v -0.127378 0.918323 0.355998 +v -0.109756 0.918323 0.361818 +v -0.091870 0.918323 0.366769 +v -0.048794 0.974136 0.194283 +v -0.058518 0.974011 0.192909 +v -0.067367 0.974136 0.188649 +v -0.184924 -0.826486 0.516829 +v -0.159341 -0.826486 0.525279 +v -0.133375 -0.826486 0.532466 +v -0.169755 -0.702870 0.677700 +v -0.202803 -0.702870 0.668553 +v -0.235364 -0.702870 0.657798 +v -0.276759 -0.552243 0.773489 +v -0.238471 -0.552243 0.786135 +v -0.199611 -0.552243 0.796891 +v -0.134773 0.963944 0.201703 +v -0.159691 0.951117 0.238995 +v -0.184924 0.935878 0.276759 +v -0.234692 0.898549 0.351241 +v -0.258756 0.876611 0.387257 +v -0.282199 0.852566 0.422341 +v -0.326989 0.798372 0.489373 +v -0.348228 0.768355 0.521160 +v -0.368630 0.736490 0.551693 +v -0.406720 0.667515 0.608699 +v -0.424317 0.630571 0.635035 +v -0.440893 0.592111 0.659844 +v -0.470821 0.511005 0.704633 +v -0.484100 0.468554 0.724506 +v -0.496214 0.424977 0.742637 +v -0.516828 0.334857 0.773489 +v -0.525279 0.288531 0.786135 +v -0.532466 0.241511 0.796891 +v -0.542975 0.145840 0.812619 +v -0.546272 0.097419 0.817553 +v -0.548255 0.048763 0.820521 +v -0.548255 -0.048782 0.820521 +v -0.546272 -0.097437 0.817553 +v -0.542975 -0.145858 0.812619 +v -0.532466 -0.241529 0.796891 +v -0.525279 -0.288549 0.786135 +v -0.516828 -0.334875 0.773489 +v -0.496214 -0.424995 0.742637 +v -0.484100 -0.468573 0.724506 +v -0.470821 -0.511023 0.704633 +v -0.440893 -0.592129 0.659844 +v -0.424317 -0.630590 0.635035 +v -0.406720 -0.667534 0.608699 +v -0.368630 -0.736508 0.551693 +v -0.348228 -0.768374 0.521160 +v -0.326989 -0.798391 0.489373 +v -0.282199 -0.852584 0.422341 +v -0.258756 -0.876630 0.387257 +v -0.234691 -0.898567 0.351241 +v -0.184924 -0.935896 0.276759 +v -0.159691 -0.951136 0.238994 +v -0.134773 -0.963962 0.201702 +v -0.469280 -0.380395 0.782947 +v -0.430296 -0.380395 0.805028 +v -0.390278 -0.380395 0.825174 +v -0.414317 -0.193928 0.876000 +v -0.456800 -0.193928 0.854613 +v -0.498185 -0.193928 0.831172 +v -0.507945 -0.000009 0.847455 +v -0.465750 -0.000009 0.871356 +v -0.422434 -0.000009 0.893162 +v -0.414317 0.193910 0.876000 +v -0.456800 0.193910 0.854613 +v -0.498185 0.193910 0.831172 +v -0.469280 0.380376 0.782947 +v -0.430296 0.380376 0.805028 +v -0.390278 0.380376 0.825174 +v -0.351241 0.552225 0.742637 +v -0.387257 0.552225 0.724506 +v -0.422341 0.552225 0.704633 +v -0.359172 0.702852 0.599241 +v -0.329335 0.702852 0.616142 +v -0.298706 0.702852 0.631561 +v -0.234692 0.826468 0.496214 +v -0.258756 0.826468 0.484100 +v -0.282199 0.826468 0.470821 +v -0.102876 -0.974155 0.171881 +v -0.095028 -0.974030 0.177786 +v -0.085759 -0.974155 0.181031 +v -0.161658 -0.918341 0.341798 +v -0.178234 -0.918341 0.333454 +v -0.194382 -0.918341 0.324307 +v -0.194382 0.918323 0.324307 +v -0.178234 0.918323 0.333454 +v -0.161658 0.918323 0.341798 +v -0.085759 0.974136 0.181031 +v -0.095028 0.974011 0.177786 +v -0.102876 0.974136 0.171881 +v -0.282199 -0.826486 0.470821 +v -0.258756 -0.826486 0.484100 +v -0.234692 -0.826486 0.496214 +v -0.298706 -0.702870 0.631561 +v -0.329335 -0.702870 0.616142 +v -0.359172 -0.702870 0.599241 +v -0.422341 -0.552243 0.704633 +v -0.387257 -0.552243 0.724506 +v -0.351241 -0.552243 0.742637 +v -0.171534 0.963944 0.171534 +v -0.203248 0.951117 0.203248 +v -0.235364 0.935878 0.235364 +v -0.298706 0.898549 0.298706 +v -0.329335 0.876611 0.329335 +v -0.359172 0.852566 0.359172 +v -0.416178 0.798372 0.416178 +v -0.443210 0.768355 0.443210 +v -0.469176 0.736490 0.469177 +v -0.517656 0.667515 0.517656 +v -0.540053 0.630571 0.540053 +v -0.561151 0.592111 0.561151 +v -0.599241 0.511005 0.599241 +v -0.616142 0.468554 0.616142 +v -0.631561 0.424977 0.631561 +v -0.657798 0.334857 0.657798 +v -0.668553 0.288531 0.668553 +v -0.677700 0.241511 0.677700 +v -0.691076 0.145840 0.691076 +v -0.695272 0.097419 0.695272 +v -0.697796 0.048763 0.697796 +v -0.697796 -0.048782 0.697796 +v -0.695272 -0.097437 0.695272 +v -0.691076 -0.145858 0.691076 +v -0.677700 -0.241529 0.677700 +v -0.668553 -0.288549 0.668553 +v -0.657798 -0.334875 0.657798 +v -0.631561 -0.424995 0.631561 +v -0.616142 -0.468573 0.616142 +v -0.599241 -0.511023 0.599241 +v -0.561151 -0.592129 0.561151 +v -0.540053 -0.630590 0.540053 +v -0.517656 -0.667534 0.517656 +v -0.469176 -0.736508 0.469177 +v -0.443210 -0.768374 0.443210 +v -0.416178 -0.798391 0.416178 +v -0.359171 -0.852584 0.359172 +v -0.329334 -0.876630 0.329335 +v -0.298706 -0.898567 0.298706 +v -0.235364 -0.935896 0.235364 +v -0.203248 -0.951136 0.203248 +v -0.171534 -0.963962 0.171534 +v -0.613008 -0.380395 0.676350 +v -0.579082 -0.380395 0.705613 +v -0.543762 -0.380395 0.733179 +v -0.577255 -0.193928 0.778339 +v -0.614750 -0.193928 0.749075 +v -0.650766 -0.193928 0.718010 +v -0.663516 -0.000009 0.732076 +v -0.626794 -0.000009 0.763750 +v -0.588564 -0.000009 0.793587 +v -0.577255 0.193910 0.778339 +v -0.614750 0.193910 0.749075 +v -0.650766 0.193910 0.718010 +v -0.613008 0.380376 0.676350 +v -0.579082 0.380376 0.705613 +v -0.543762 0.380376 0.733179 +v -0.489373 0.552225 0.659844 +v -0.521160 0.552225 0.635035 +v -0.551693 0.552225 0.608699 +v -0.469176 0.702852 0.517656 +v -0.443210 0.702852 0.540053 +v -0.416178 0.702852 0.561151 +v -0.326989 0.826468 0.440894 +v -0.348228 0.826468 0.424317 +v -0.368629 0.826468 0.406720 +v -0.134432 -0.974155 0.148508 +v -0.127886 -0.974030 0.155831 +v -0.119428 -0.974155 0.160821 +v -0.225234 -0.918341 0.303693 +v -0.239863 -0.918341 0.292275 +v -0.253916 -0.918341 0.280153 +v -0.253916 0.918323 0.280154 +v -0.239863 0.918323 0.292275 +v -0.225234 0.918323 0.303693 +v -0.119428 0.974136 0.160822 +v -0.127887 0.974011 0.155831 +v -0.134432 0.974136 0.148508 +v -0.368629 -0.826486 0.406720 +v -0.348228 -0.826486 0.424317 +v -0.326989 -0.826486 0.440894 +v -0.416178 -0.702870 0.561151 +v -0.443210 -0.702870 0.540053 +v -0.469176 -0.702870 0.517656 +v -0.551693 -0.552243 0.608699 +v -0.521160 -0.552243 0.635035 +v -0.489373 -0.552243 0.659844 +v -0.201702 0.963944 0.134773 +v -0.238994 0.951117 0.159691 +v -0.276759 0.935878 0.184924 +v -0.351241 0.898549 0.234692 +v -0.387257 0.876611 0.258757 +v -0.422341 0.852566 0.282199 +v -0.489373 0.798372 0.326989 +v -0.521160 0.768355 0.348228 +v -0.551693 0.736490 0.368630 +v -0.608699 0.667515 0.406720 +v -0.635035 0.630571 0.424317 +v -0.659844 0.592111 0.440893 +v -0.704633 0.511005 0.470821 +v -0.724506 0.468554 0.484100 +v -0.742637 0.424977 0.496214 +v -0.773488 0.334857 0.516829 +v -0.786135 0.288531 0.525279 +v -0.796891 0.241511 0.532466 +v -0.812619 0.145840 0.542975 +v -0.817553 0.097419 0.546271 +v -0.820521 0.048763 0.548255 +v -0.820521 -0.048782 0.548255 +v -0.817553 -0.097437 0.546271 +v -0.812619 -0.145858 0.542975 +v -0.796891 -0.241529 0.532466 +v -0.786135 -0.288549 0.525279 +v -0.773488 -0.334875 0.516829 +v -0.742637 -0.424995 0.496214 +v -0.724506 -0.468573 0.484100 +v -0.704633 -0.511023 0.470821 +v -0.659844 -0.592129 0.440893 +v -0.635035 -0.630590 0.424317 +v -0.608699 -0.667534 0.406720 +v -0.551693 -0.736508 0.368630 +v -0.521160 -0.768374 0.348228 +v -0.489373 -0.798391 0.326989 +v -0.422341 -0.852584 0.282199 +v -0.387256 -0.876630 0.258757 +v -0.351241 -0.898567 0.234692 +v -0.276759 -0.935896 0.184924 +v -0.238994 -0.951136 0.159691 +v -0.201702 -0.963962 0.134773 +v -0.733179 -0.380395 0.543763 +v -0.705613 -0.380395 0.579082 +v -0.676350 -0.380395 0.613009 +v -0.718010 -0.193928 0.650766 +v -0.749075 -0.193928 0.614750 +v -0.778339 -0.193928 0.577255 +v -0.793587 -0.000009 0.588564 +v -0.763750 -0.000009 0.626794 +v -0.732076 -0.000009 0.663516 +v -0.718010 0.193910 0.650766 +v -0.749075 0.193910 0.614750 +v -0.778339 0.193910 0.577255 +v -0.733179 0.380376 0.543763 +v -0.705613 0.380376 0.579082 +v -0.676350 0.380376 0.613009 +v -0.608699 0.552225 0.551693 +v -0.635035 0.552225 0.521160 +v -0.659844 0.552225 0.489373 +v -0.561151 0.702852 0.416178 +v -0.540053 0.702852 0.443210 +v -0.517656 0.702852 0.469177 +v -0.406720 0.826468 0.368630 +v -0.424317 0.826468 0.348228 +v -0.440893 0.826468 0.326989 +v -0.160821 -0.974155 0.119428 +v -0.155830 -0.974030 0.127887 +v -0.148508 -0.974155 0.134432 +v -0.280153 -0.918341 0.253916 +v -0.292274 -0.918341 0.239864 +v -0.303692 -0.918341 0.225234 +v -0.303693 0.918323 0.225234 +v -0.292274 0.918323 0.239864 +v -0.280153 0.918323 0.253917 +v -0.148508 0.974136 0.134432 +v -0.155830 0.974011 0.127887 +v -0.160821 0.974136 0.119429 +v -0.440893 -0.826486 0.326989 +v -0.424317 -0.826486 0.348228 +v -0.406720 -0.826486 0.368630 +v -0.517656 -0.702870 0.469177 +v -0.540053 -0.702870 0.443210 +v -0.561151 -0.702870 0.416178 +v -0.659844 -0.552243 0.489373 +v -0.635035 -0.552243 0.521160 +v -0.608699 -0.552243 0.551693 +v -0.066906 0.992410 0.027713 +v -0.107203 0.987787 0.044405 +v -0.145559 0.981973 0.060293 +v -0.224120 0.963944 0.092833 +v -0.265556 0.951117 0.109997 +v -0.307518 0.935878 0.127378 +v -0.390278 0.898549 0.161658 +v -0.430296 0.876611 0.178235 +v -0.469280 0.852566 0.194382 +v -0.543762 0.798372 0.225234 +v -0.579082 0.768355 0.239863 +v -0.613008 0.736490 0.253916 +v -0.676350 0.667515 0.280153 +v -0.705613 0.630571 0.292274 +v -0.733179 0.592111 0.303693 +v -0.782946 0.511005 0.324307 +v -0.805028 0.468554 0.333454 +v -0.825174 0.424977 0.341798 +v -0.859454 0.334857 0.355998 +v -0.873506 0.288531 0.361818 +v -0.885458 0.241511 0.366769 +v -0.902934 0.145840 0.374007 +v -0.908416 0.097419 0.376278 +v -0.911714 0.048763 0.377644 +v -0.911714 -0.048782 0.377644 +v -0.908416 -0.097437 0.376278 +v -0.902934 -0.145858 0.374007 +v -0.885458 -0.241529 0.366769 +v -0.873506 -0.288549 0.361818 +v -0.859454 -0.334875 0.355998 +v -0.825174 -0.424995 0.341798 +v -0.805028 -0.468573 0.333454 +v -0.782946 -0.511023 0.324307 +v -0.733179 -0.592129 0.303693 +v -0.705613 -0.630590 0.292274 +v -0.676350 -0.667534 0.280153 +v -0.613008 -0.736508 0.253916 +v -0.579082 -0.768374 0.239863 +v -0.543762 -0.798391 0.225234 +v -0.469280 -0.852584 0.194382 +v -0.430296 -0.876630 0.178235 +v -0.390278 -0.898567 0.161658 +v -0.307518 -0.935896 0.127378 +v -0.265556 -0.951136 0.109997 +v -0.224119 -0.963962 0.092833 +v -0.825174 -0.380395 0.390278 +v -0.805028 -0.380395 0.430297 +v -0.782946 -0.380395 0.469280 +v -0.831171 -0.193928 0.498185 +v -0.854613 -0.193928 0.456800 +v -0.876000 -0.193928 0.414317 +v -0.893162 -0.000009 0.422434 +v -0.871356 -0.000009 0.465749 +v -0.847455 -0.000009 0.507945 +v -0.831171 0.193910 0.498185 +v -0.854613 0.193910 0.456800 +v -0.876000 0.193910 0.414317 +v -0.825174 0.380376 0.390278 +v -0.805028 0.380376 0.430297 +v -0.782946 0.380376 0.469280 +v -0.704633 0.552225 0.422341 +v -0.724506 0.552225 0.387257 +v -0.742637 0.552225 0.351241 +v -0.631561 0.702852 0.298706 +v -0.616142 0.702852 0.329335 +v -0.599241 0.702852 0.359172 +v -0.470821 0.826468 0.282199 +v -0.484100 0.826468 0.258757 +v -0.496214 0.826468 0.234692 +v -0.181030 -0.974155 0.085759 +v -0.177785 -0.974030 0.095028 +v -0.171881 -0.974155 0.102876 +v -0.324307 -0.918341 0.194382 +v -0.333453 -0.918341 0.178235 +v -0.341798 -0.918341 0.161658 +v -0.341798 0.918323 0.161658 +v -0.333453 0.918323 0.178235 +v -0.324307 0.918323 0.194382 +v -0.171881 0.974136 0.102876 +v -0.177786 0.974011 0.095029 +v -0.181030 0.974136 0.085759 +v -0.496214 -0.826486 0.234692 +v -0.484099 -0.826486 0.258757 +v -0.470821 -0.826486 0.282199 +v -0.599241 -0.702870 0.359172 +v -0.616142 -0.702870 0.329335 +v -0.631561 -0.702870 0.298706 +v -0.742637 -0.552243 0.351241 +v -0.724506 -0.552243 0.387257 +v -0.704633 -0.552243 0.422341 +v -0.237924 0.963944 0.047326 +v -0.281913 0.951117 0.056076 +v -0.326459 0.935878 0.064937 +v -0.414317 0.898549 0.082413 +v -0.456800 0.876611 0.090863 +v -0.498185 0.852566 0.099095 +v -0.577255 0.798372 0.114823 +v -0.614750 0.768355 0.122281 +v -0.650766 0.736490 0.129445 +v -0.718010 0.667515 0.142821 +v -0.749075 0.630571 0.149000 +v -0.778339 0.592111 0.154821 +v -0.831172 0.511005 0.165330 +v -0.854613 0.468554 0.169993 +v -0.876000 0.424977 0.174247 +v -0.912392 0.334857 0.181486 +v -0.927310 0.288531 0.184453 +v -0.939997 0.241511 0.186977 +v -0.958550 0.145840 0.190667 +v -0.964370 0.097419 0.191825 +v -0.967871 0.048763 0.192521 +v -0.967871 -0.048782 0.192521 +v -0.964370 -0.097437 0.191825 +v -0.958550 -0.145858 0.190667 +v -0.939997 -0.241529 0.186977 +v -0.927310 -0.288549 0.184453 +v -0.912392 -0.334875 0.181486 +v -0.876000 -0.424995 0.174247 +v -0.854613 -0.468573 0.169993 +v -0.831172 -0.511023 0.165330 +v -0.778339 -0.592129 0.154821 +v -0.749075 -0.630590 0.149000 +v -0.718010 -0.667534 0.142821 +v -0.650766 -0.736508 0.129445 +v -0.614750 -0.768374 0.122281 +v -0.577255 -0.798391 0.114823 +v -0.498185 -0.852584 0.099095 +v -0.456800 -0.876630 0.090863 +v -0.414317 -0.898567 0.082413 +v -0.326459 -0.935896 0.064937 +v -0.281913 -0.951136 0.056076 +v -0.237924 -0.963962 0.047326 +v -0.885458 -0.380395 0.221795 +v -0.873506 -0.380395 0.264975 +v -0.859454 -0.380395 0.307518 +v -0.912392 -0.193928 0.326459 +v -0.927309 -0.193928 0.281296 +v -0.939997 -0.193928 0.235457 +v -0.958413 -0.000009 0.240069 +v -0.945476 -0.000009 0.286807 +v -0.930267 -0.000009 0.332855 +v -0.912392 0.193910 0.326459 +v -0.927309 0.193910 0.281296 +v -0.939997 0.193910 0.235457 +v -0.885458 0.380376 0.221795 +v -0.873506 0.380376 0.264975 +v -0.859454 0.380376 0.307518 +v -0.773488 0.552225 0.276759 +v -0.786135 0.552225 0.238471 +v -0.796891 0.552225 0.199610 +v -0.677700 0.702852 0.169755 +v -0.668553 0.702852 0.202803 +v -0.657798 0.702852 0.235364 +v -0.516828 0.826468 0.184924 +v -0.525279 0.826468 0.159341 +v -0.532466 0.826468 0.133375 +v -0.194283 -0.974155 0.048794 +v -0.192908 -0.974030 0.058518 +v -0.188648 -0.974155 0.067367 +v -0.355997 -0.918341 0.127378 +v -0.361818 -0.918341 0.109756 +v -0.366769 -0.918341 0.091871 +v -0.366769 0.918323 0.091871 +v -0.361818 0.918323 0.109756 +v -0.355998 0.918323 0.127378 +v -0.188649 0.974136 0.067367 +v -0.192909 0.974011 0.058518 +v -0.194283 0.974136 0.048794 +v -0.532466 -0.826486 0.133375 +v -0.525279 -0.826486 0.159341 +v -0.516828 -0.826486 0.184924 +v -0.657798 -0.702870 0.235364 +v -0.668553 -0.702870 0.202803 +v -0.677700 -0.702870 0.169755 +v -0.796891 -0.552243 0.199610 +v -0.786135 -0.552243 0.238471 +v -0.773489 -0.552243 0.276759 +v -0.072418 0.992410 0.000000 +v -0.116036 0.987787 0.000000 +v -0.157553 0.981973 0.000000 +v -0.157552 -0.981992 0.000000 +v -0.116036 -0.987805 0.000000 +v -0.072418 -0.992429 0.000000 +v -0.071027 0.992410 -0.014128 +v -0.113806 0.987787 -0.022637 +v -0.154525 0.981973 -0.030737 +v -0.154525 -0.981992 -0.030737 +v -0.113806 -0.987805 -0.022637 +v -0.071027 -0.992429 -0.014128 +v -0.066906 0.992410 -0.027713 +v -0.107203 0.987787 -0.044405 +v -0.145560 0.981973 -0.060293 +v -0.145559 -0.981992 -0.060293 +v -0.107203 -0.987805 -0.044405 +v -0.066906 -0.992429 -0.027713 +v -0.060214 0.992410 -0.040234 +v -0.096480 0.987787 -0.064466 +v -0.131000 0.981973 -0.087532 +v -0.131000 -0.981992 -0.087532 +v -0.096480 -0.987805 -0.064466 +v -0.060213 -0.992429 -0.040234 +v -0.051208 0.992410 -0.051208 +v -0.082050 0.987787 -0.082050 +v -0.111406 0.981973 -0.111407 +v -0.111406 -0.981992 -0.111407 +v -0.082049 -0.987805 -0.082050 +v -0.051207 -0.992429 -0.051208 +v -0.040233 0.992410 -0.060214 +v -0.064466 0.987787 -0.096480 +v -0.087531 0.981973 -0.131000 +v -0.087531 -0.981992 -0.131000 +v -0.064466 -0.987805 -0.096480 +v -0.040233 -0.992429 -0.060214 +v -0.027713 0.992410 -0.066906 +v -0.044405 0.987787 -0.107203 +v -0.060293 0.981973 -0.145560 +v -0.060292 -0.981992 -0.145560 +v -0.044405 -0.987805 -0.107203 +v -0.027713 -0.992429 -0.066906 +v -0.014128 0.992410 -0.071027 +v -0.022637 0.987787 -0.113806 +v -0.030737 0.981973 -0.154525 +v -0.030737 -0.981992 -0.154525 +v -0.022637 -0.987805 -0.113806 +v -0.014128 -0.992429 -0.071027 +v -0.000000 0.992410 -0.072418 +v -0.000000 0.987787 -0.116036 +v -0.000000 0.981973 -0.157553 +v -0.000000 -0.981992 -0.157553 +v -0.000000 -0.987805 -0.116036 +v -0.000000 -0.992429 -0.072418 +v 0.014128 0.992410 -0.071027 +v 0.022638 0.987787 -0.113806 +v 0.030737 0.981973 -0.154525 +v 0.030737 -0.981992 -0.154525 +v 0.022638 -0.987805 -0.113806 +v 0.014128 -0.992429 -0.071027 +v 0.027714 0.992410 -0.066906 +v 0.044405 0.987787 -0.107203 +v 0.060293 0.981973 -0.145560 +v 0.060293 -0.981992 -0.145560 +v 0.044405 -0.987805 -0.107203 +v 0.027714 -0.992429 -0.066906 +v 0.040234 0.992410 -0.060214 +v 0.064466 0.987787 -0.096480 +v 0.087532 0.981973 -0.131000 +v 0.087532 -0.981992 -0.131000 +v 0.064466 -0.987805 -0.096480 +v 0.040234 -0.992429 -0.060214 +v 0.051208 0.992410 -0.051208 +v 0.082050 0.987787 -0.082050 +v 0.111407 0.981973 -0.111407 +v 0.111407 -0.981992 -0.111407 +v 0.082050 -0.987805 -0.082050 +v 0.051208 -0.992429 -0.051208 +v 0.060214 0.992410 -0.040234 +v 0.096481 0.987787 -0.064466 +v 0.131001 0.981973 -0.087532 +v 0.131001 -0.981992 -0.087532 +v 0.096481 -0.987805 -0.064466 +v 0.060214 -0.992429 -0.040234 +v 0.066906 0.992410 -0.027713 +v 0.107203 0.987787 -0.044405 +v 0.145560 0.981973 -0.060293 +v 0.145560 -0.981992 -0.060293 +v 0.107203 -0.987805 -0.044405 +v 0.066906 -0.992429 -0.027713 +v 0.071027 0.992410 -0.014128 +v 0.113807 0.987787 -0.022637 +v 0.154526 0.981973 -0.030737 +v 0.154526 -0.981992 -0.030737 +v 0.113807 -0.987805 -0.022637 +v 0.071027 -0.992429 -0.014128 +v 0.072419 0.992410 0.000000 +v 0.116036 0.987787 0.000000 +v 0.157553 0.981973 0.000000 +v 0.157553 -0.981992 0.000000 +v 0.116036 -0.987805 0.000000 +v 0.072419 -0.992429 0.000000 +v 0.071027 0.992410 0.014128 +v 0.113807 0.987787 0.022638 +v 0.154526 0.981973 0.030737 +v 0.154526 -0.981992 0.030737 +v 0.113807 -0.987805 0.022637 +v 0.071027 -0.992429 0.014128 +v 0.066906 0.992410 0.027713 +v 0.107203 0.987787 0.044405 +v 0.145560 0.981973 0.060293 +v 0.145560 -0.981992 0.060293 +v 0.107203 -0.987805 0.044405 +v 0.066906 -0.992429 0.027713 +v 0.060214 0.992410 0.040234 +v 0.096481 0.987787 0.064466 +v 0.131001 0.981973 0.087532 +v 0.131000 -0.981992 0.087531 +v 0.096481 -0.987805 0.064466 +v 0.060214 -0.992429 0.040234 +v 0.051208 0.992410 0.051208 +v 0.082050 0.987787 0.082050 +v 0.111407 0.981973 0.111407 +v 0.111407 -0.981992 0.111406 +v 0.082050 -0.987805 0.082050 +v 0.051208 -0.992429 0.051208 +v 0.040234 0.992410 0.060214 +v 0.064466 0.987787 0.096480 +v 0.087532 0.981973 0.131000 +v 0.027714 0.992410 0.066906 +v 0.044405 0.987787 0.107203 +v 0.060293 0.981973 0.145560 +v 0.060293 -0.981992 0.145560 +v 0.044405 -0.987805 0.107203 +v 0.027714 -0.992429 0.066906 +v 0.014128 0.992410 0.071027 +v 0.022638 0.987787 0.113806 +v 0.030737 0.981973 0.154525 +v 0.030737 -0.981992 0.154525 +v 0.022638 -0.987805 0.113806 +v 0.014128 -0.992429 0.071027 +v -0.000000 0.992410 0.072419 +v -0.000000 0.987787 0.116036 +v -0.000000 0.981973 0.157553 +v -0.000000 -0.981992 0.157553 +v -0.000000 -0.987805 0.116036 +v -0.000000 -0.992429 0.072418 +v -0.014128 0.992410 0.071027 +v -0.022637 0.987787 0.113806 +v -0.030737 0.981973 0.154525 +v -0.030737 -0.981992 0.154525 +v -0.022637 -0.987805 0.113806 +v -0.014128 -0.992429 0.071027 +v -0.027713 0.992410 0.066906 +v -0.044405 0.987787 0.107203 +v -0.060293 0.981973 0.145560 +v -0.060292 -0.981992 0.145560 +v -0.044405 -0.987805 0.107203 +v -0.027713 -0.992429 0.066906 +v -0.040233 0.992410 0.060214 +v -0.064466 0.987787 0.096480 +v -0.087531 0.981973 0.131000 +v -0.087531 -0.981992 0.131000 +v -0.064466 -0.987805 0.096480 +v -0.040233 -0.992429 0.060214 +v -0.051207 0.992410 0.051208 +v -0.082050 0.987787 0.082050 +v -0.111406 0.981973 0.111407 +v -0.111406 -0.981992 0.111406 +v -0.082049 -0.987805 0.082050 +v -0.051207 -0.992429 0.051208 +v -0.060214 0.992410 0.040234 +v -0.096480 0.987787 0.064466 +v -0.131000 0.981973 0.087532 +v -0.131000 -0.981992 0.087531 +v -0.096480 -0.987805 0.064466 +v -0.060213 -0.992429 0.040234 +v -0.145559 -0.981992 0.060293 +v -0.107203 -0.987805 0.044405 +v -0.066906 -0.992429 0.027713 +v -0.071027 0.992410 0.014128 +v -0.113806 0.987787 0.022638 +v -0.154525 0.981973 0.030737 +v -0.154525 -0.981992 0.030737 +v -0.113806 -0.987805 0.022637 +v -0.071027 -0.992429 0.014128 +v -0.911715 -0.380395 0.044789 +v -0.908417 -0.380395 0.089471 +v -0.902934 -0.380395 0.133938 +v -0.958550 -0.193928 0.142188 +v -0.964370 -0.193928 0.094982 +v -0.967871 -0.193928 0.047548 +v -0.986833 -0.000009 0.048480 +v -0.983263 -0.000009 0.096843 +v -0.977329 -0.000009 0.144973 +v -0.958550 0.193910 0.142188 +v -0.964370 0.193910 0.094982 +v -0.967871 0.193910 0.047548 +v -0.911715 0.380376 0.044789 +v -0.908417 0.380376 0.089471 +v -0.902934 0.380376 0.133938 +v -0.812619 0.552225 0.120541 +v -0.817553 0.552225 0.080522 +v -0.820522 0.552225 0.040309 +v -0.697796 0.702852 0.034280 +v -0.695272 0.702852 0.068478 +v -0.691076 0.702852 0.102512 +v -0.542975 0.826468 0.080543 +v -0.546272 0.826468 0.053803 +v -0.548255 0.826468 0.026934 +v -0.200069 -0.974155 0.009953 +v -0.200618 -0.974030 0.019759 +v -0.198166 -0.974155 0.029269 +v -0.374007 -0.918341 0.055479 +v -0.376278 -0.918341 0.037060 +v -0.377644 -0.918341 0.018552 +v -0.377645 0.918323 0.018552 +v -0.376278 0.918323 0.037060 +v -0.374007 0.918323 0.055479 +v -0.198167 0.974136 0.029269 +v -0.200618 0.974011 0.019759 +v -0.200069 0.974136 0.009954 +v -0.548255 -0.826486 0.026934 +v -0.546272 -0.826486 0.053803 +v -0.542975 -0.826486 0.080543 +v -0.691076 -0.702870 0.102512 +v -0.695272 -0.702870 0.068478 +v -0.697796 -0.702870 0.034280 +v -0.820522 -0.552243 0.040309 +v -0.817553 -0.552243 0.080522 +v -0.812619 -0.552243 0.120541 +v -0.199044 0.974261 0.000000 +v -0.378101 0.918323 0.000000 +v -0.548918 0.826468 0.000000 +v -0.698640 0.702852 0.000000 +v -0.821514 0.552225 0.000000 +v -0.912818 0.380376 0.000000 +v -0.969042 0.193910 0.000000 +v -0.988027 -0.000009 0.000000 +v -0.969042 -0.193928 0.000000 +v -0.912818 -0.380395 0.000000 +v -0.821514 -0.552243 0.000000 +v -0.698640 -0.702870 0.000000 +v -0.548918 -0.826486 0.000000 +v -0.378101 -0.918341 0.000000 +v -0.199044 -0.974280 0.000000 +v -0.195219 0.974261 -0.038832 +v -0.370836 0.918323 -0.073764 +v -0.538371 0.826468 -0.107089 +v -0.685216 0.702852 -0.136298 +v -0.805729 0.552225 -0.160270 +v -0.895278 0.380376 -0.178082 +v -0.950422 0.193910 -0.189051 +v -0.969042 -0.000009 -0.192755 +v -0.950422 -0.193928 -0.189051 +v -0.895278 -0.380395 -0.178082 +v -0.805729 -0.552243 -0.160270 +v -0.685216 -0.702870 -0.136298 +v -0.538371 -0.826486 -0.107089 +v -0.370836 -0.918341 -0.073764 +v -0.195219 -0.974280 -0.038832 +v -0.183893 0.974261 -0.076171 +v -0.349320 0.918323 -0.144693 +v -0.507134 0.826468 -0.210062 +v -0.645460 0.702852 -0.267358 +v -0.758980 0.552225 -0.314380 +v -0.843334 0.380376 -0.349320 +v -0.895278 0.193910 -0.370836 +v -0.912818 -0.000009 -0.378102 +v -0.895278 -0.193928 -0.370837 +v -0.843334 -0.380395 -0.349320 +v -0.758980 -0.552243 -0.314380 +v -0.645460 -0.702870 -0.267358 +v -0.507134 -0.826486 -0.210062 +v -0.349320 -0.918341 -0.144693 +v -0.183893 -0.974280 -0.076171 +v -0.165499 0.974261 -0.110583 +v -0.314380 0.918323 -0.210062 +v -0.456409 0.826468 -0.304963 +v -0.580898 0.702852 -0.388144 +v -0.683064 0.552225 -0.456409 +v -0.758980 0.380376 -0.507134 +v -0.805729 0.193910 -0.538371 +v -0.821514 -0.000009 -0.548918 +v -0.805729 -0.193928 -0.538371 +v -0.758980 -0.380395 -0.507135 +v -0.683064 -0.552243 -0.456409 +v -0.580898 -0.702870 -0.388144 +v -0.456409 -0.826486 -0.304963 +v -0.314380 -0.918341 -0.210062 +v -0.165499 -0.974280 -0.110583 +v -0.140745 0.974261 -0.140746 +v -0.267358 0.918323 -0.267358 +v -0.388144 0.826468 -0.388144 +v -0.494013 0.702852 -0.494014 +v -0.580898 0.552225 -0.580899 +v -0.645460 0.380376 -0.645460 +v -0.685216 0.193910 -0.685216 +v -0.698640 -0.000009 -0.698641 +v -0.685216 -0.193928 -0.685216 +v -0.645460 -0.380395 -0.645460 +v -0.580898 -0.552243 -0.580899 +v -0.494013 -0.702870 -0.494014 +v -0.388144 -0.826486 -0.388144 +v -0.267358 -0.918341 -0.267358 +v -0.140745 -0.974280 -0.140745 +v -0.110583 0.974261 -0.165499 +v -0.210062 0.918323 -0.314380 +v -0.304963 0.826468 -0.456409 +v -0.388144 0.702852 -0.580899 +v -0.456409 0.552225 -0.683064 +v -0.507134 0.380376 -0.758980 +v -0.538371 0.193910 -0.805729 +v -0.548918 -0.000009 -0.821514 +v -0.538371 -0.193928 -0.805729 +v -0.507134 -0.380395 -0.758980 +v -0.456409 -0.552243 -0.683064 +v -0.388144 -0.702870 -0.580899 +v -0.304962 -0.826486 -0.456409 +v -0.210062 -0.918341 -0.314380 +v -0.110583 -0.974280 -0.165499 +v -0.076171 0.974261 -0.183893 +v -0.144693 0.918323 -0.349321 +v -0.210062 0.826468 -0.507135 +v -0.267358 0.702852 -0.645460 +v -0.314380 0.552225 -0.758980 +v -0.349320 0.380376 -0.843334 +v -0.370836 0.193910 -0.895278 +v -0.378101 -0.000009 -0.912818 +v -0.370836 -0.193928 -0.895278 +v -0.349320 -0.380395 -0.843334 +v -0.314380 -0.552243 -0.758980 +v -0.267358 -0.702870 -0.645460 +v -0.210062 -0.826486 -0.507135 +v -0.144693 -0.918341 -0.349320 +v -0.076171 -0.974280 -0.183893 +v -0.038831 0.974261 -0.195220 +v -0.073764 0.918323 -0.370837 +v -0.107088 0.826468 -0.538371 +v -0.136298 0.702852 -0.685216 +v -0.160269 0.552225 -0.805729 +v -0.178082 0.380376 -0.895278 +v -0.189050 0.193910 -0.950422 +v -0.192754 -0.000009 -0.969042 +v -0.189050 -0.193928 -0.950422 +v -0.178082 -0.380395 -0.895278 +v -0.160269 -0.552243 -0.805729 +v -0.136298 -0.702870 -0.685216 +v -0.107088 -0.826486 -0.538371 +v -0.073764 -0.918341 -0.370837 +v -0.038831 -0.974280 -0.195220 +v -0.000000 0.974261 -0.199044 +v -0.000000 0.918323 -0.378102 +v -0.000000 0.826468 -0.548919 +v -0.000000 0.702852 -0.698641 +v -0.000000 0.552225 -0.821514 +v -0.000000 0.380376 -0.912818 +v -0.000000 0.193910 -0.969042 +v -0.000000 -0.000009 -0.988027 +v -0.000000 -0.193928 -0.969042 +v -0.000000 -0.380395 -0.912818 +v -0.000000 -0.552243 -0.821514 +v -0.000000 -0.702870 -0.698641 +v -0.000000 -0.826486 -0.548918 +v -0.000000 -0.918341 -0.378102 +v -0.000000 -0.974280 -0.199044 +v 0.038832 0.974261 -0.195220 +v 0.073764 0.918323 -0.370837 +v 0.107089 0.826468 -0.538371 +v 0.136298 0.702852 -0.685216 +v 0.160270 0.552225 -0.805729 +v 0.178082 0.380376 -0.895278 +v 0.189051 0.193910 -0.950422 +v 0.192755 -0.000009 -0.969042 +v 0.189051 -0.193928 -0.950422 +v 0.178082 -0.380395 -0.895278 +v 0.160270 -0.552243 -0.805729 +v 0.136298 -0.702870 -0.685216 +v 0.107089 -0.826486 -0.538371 +v 0.073764 -0.918341 -0.370837 +v 0.038832 -0.974280 -0.195220 +v 0.076171 0.974261 -0.183893 +v 0.144694 0.918323 -0.349320 +v 0.210062 0.826468 -0.507135 +v 0.267358 0.702852 -0.645460 +v 0.314380 0.552225 -0.758980 +v 0.349321 0.380376 -0.843334 +v 0.370837 0.193910 -0.895278 +v 0.378102 -0.000009 -0.912818 +v 0.370837 -0.193928 -0.895278 +v 0.349321 -0.380395 -0.843334 +v 0.314380 -0.552243 -0.758980 +v 0.267358 -0.702870 -0.645460 +v 0.210062 -0.826486 -0.507134 +v 0.144694 -0.918341 -0.349320 +v 0.076171 -0.974280 -0.183893 +v 0.110583 0.974261 -0.165499 +v 0.210062 0.918323 -0.314380 +v 0.304963 0.826468 -0.456409 +v 0.388144 0.702852 -0.580898 +v 0.456409 0.552225 -0.683064 +v 0.507135 0.380376 -0.758980 +v 0.538371 0.193910 -0.805729 +v 0.548919 -0.000009 -0.821514 +v 0.538371 -0.193928 -0.805729 +v 0.507135 -0.380395 -0.758980 +v 0.456409 -0.552243 -0.683064 +v 0.388144 -0.702870 -0.580898 +v 0.304963 -0.826486 -0.456409 +v 0.210062 -0.918341 -0.314380 +v 0.110583 -0.974280 -0.165499 +v 0.140746 0.974261 -0.140746 +v 0.267359 0.918323 -0.267358 +v 0.388144 0.826468 -0.388144 +v 0.494014 0.702852 -0.494013 +v 0.580899 0.552225 -0.580898 +v 0.645460 0.380376 -0.645460 +v 0.685217 0.193910 -0.685216 +v 0.698641 -0.000009 -0.698641 +v 0.685217 -0.193928 -0.685216 +v 0.645460 -0.380395 -0.645460 +v 0.580899 -0.552243 -0.580898 +v 0.494014 -0.702870 -0.494013 +v 0.388144 -0.826486 -0.388144 +v 0.267358 -0.918341 -0.267358 +v 0.140746 -0.974280 -0.140745 +v 0.165500 0.974261 -0.110583 +v 0.314380 0.918323 -0.210062 +v 0.456409 0.826468 -0.304963 +v 0.580899 0.702852 -0.388144 +v 0.683065 0.552225 -0.456409 +v 0.758981 0.380376 -0.507134 +v 0.805730 0.193910 -0.538371 +v 0.821515 -0.000009 -0.548918 +v 0.805729 -0.193928 -0.538371 +v 0.758981 -0.380395 -0.507134 +v 0.683065 -0.552243 -0.456409 +v 0.580899 -0.702870 -0.388144 +v 0.456409 -0.826486 -0.304963 +v 0.314380 -0.918341 -0.210062 +v 0.165499 -0.974280 -0.110583 +v 0.183893 0.974261 -0.076171 +v 0.349321 0.918323 -0.144693 +v 0.507135 0.826468 -0.210062 +v 0.645460 0.702852 -0.267358 +v 0.758981 0.552225 -0.314380 +v 0.843334 0.380376 -0.349320 +v 0.895278 0.193910 -0.370836 +v 0.912818 -0.000009 -0.378101 +v 0.895278 -0.193928 -0.370836 +v 0.843334 -0.380395 -0.349320 +v 0.758981 -0.552243 -0.314380 +v 0.645460 -0.702870 -0.267358 +v 0.507135 -0.826486 -0.210062 +v 0.349321 -0.918341 -0.144693 +v 0.183893 -0.974280 -0.076171 +v 0.195220 0.974261 -0.038832 +v 0.370837 0.918323 -0.073764 +v 0.538371 0.826468 -0.107089 +v 0.685217 0.702852 -0.136298 +v 0.805729 0.552225 -0.160269 +v 0.895278 0.380376 -0.178082 +v 0.950423 0.193910 -0.189051 +v 0.969043 -0.000009 -0.192754 +v 0.950423 -0.193928 -0.189051 +v 0.895278 -0.380395 -0.178082 +v 0.805729 -0.552243 -0.160269 +v 0.685217 -0.702870 -0.136298 +v 0.538371 -0.826486 -0.107089 +v 0.370837 -0.918341 -0.073764 +v 0.195220 -0.974280 -0.038832 +v 0.199044 0.974261 0.000000 +v 0.378102 0.918323 0.000000 +v 0.548919 0.826468 0.000000 +v 0.698641 0.702852 0.000000 +v 0.821514 0.552225 0.000000 +v 0.912818 0.380376 0.000000 +v 0.969042 0.193910 0.000000 +v 0.988027 -0.000009 0.000000 +v 0.969042 -0.193928 0.000000 +v 0.912818 -0.380395 0.000000 +v 0.821514 -0.552243 0.000000 +v 0.698641 -0.702870 0.000000 +v 0.548919 -0.826486 0.000000 +v 0.378102 -0.918341 0.000000 +v 0.199044 -0.974280 0.000000 +v 0.195220 0.974261 0.038832 +v 0.370837 0.918323 0.073764 +v 0.538371 0.826468 0.107089 +v 0.685217 0.702852 0.136298 +v 0.805729 0.552225 0.160270 +v 0.895278 0.380376 0.178082 +v 0.950422 0.193910 0.189051 +v 0.969042 -0.000009 0.192755 +v 0.950422 -0.193928 0.189051 +v 0.895278 -0.380395 0.178082 +v 0.805729 -0.552243 0.160270 +v 0.685216 -0.702870 0.136298 +v 0.538371 -0.826486 0.107089 +v 0.370837 -0.918341 0.073764 +v 0.195220 -0.974280 0.038832 +v 0.183893 0.974261 0.076171 +v 0.349321 0.918323 0.144693 +v 0.507135 0.826468 0.210062 +v 0.645460 0.702852 0.267358 +v 0.758980 0.552225 0.314380 +v 0.843334 0.380376 0.349320 +v 0.895278 0.193910 0.370836 +v 0.912818 -0.000009 0.378102 +v 0.895278 -0.193928 0.370836 +v 0.843334 -0.380395 0.349320 +v 0.758980 -0.552243 0.314380 +v 0.645460 -0.702870 0.267358 +v 0.507135 -0.826486 0.210062 +v 0.349320 -0.918341 0.144693 +v 0.183893 -0.974280 0.076171 +v 0.165499 0.974261 0.110583 +v 0.314380 0.918323 0.210062 +v 0.456409 0.826468 0.304963 +v 0.580899 0.702852 0.388144 +v 0.683064 0.552225 0.456409 +v 0.758980 0.380376 0.507134 +v 0.805729 0.193910 0.538371 +v 0.821514 -0.000009 0.548918 +v 0.805729 -0.193928 0.538371 +v 0.758980 -0.380395 0.507134 +v 0.683064 -0.552243 0.456409 +v 0.580899 -0.702870 0.388144 +v 0.456409 -0.826486 0.304963 +v 0.314380 -0.918341 0.210062 +v 0.165499 -0.974280 0.110583 +v 0.140746 0.974261 0.140745 +v 0.267358 0.918323 0.267358 +v 0.388144 0.826468 0.388144 +v 0.494014 0.702852 0.494013 +v 0.580898 0.552225 0.580898 +v 0.645460 0.380376 0.645460 +v 0.685216 0.193910 0.685216 +v 0.698641 -0.000009 0.698641 +v 0.685216 -0.193928 0.685216 +v 0.645460 -0.380395 0.645460 +v 0.580898 -0.552243 0.580898 +v 0.494014 -0.702870 0.494013 +v 0.388144 -0.826486 0.388144 +v 0.267358 -0.918341 0.267358 +v 0.140746 -0.974280 0.140745 +v 0.110583 0.974261 0.165499 +v 0.210062 0.918323 0.314380 +v 0.304963 0.826468 0.456409 +v 0.388144 0.702852 0.580898 +v 0.456409 0.552225 0.683064 +v 0.507135 0.380376 0.758980 +v 0.538371 0.193910 0.805729 +v 0.548918 -0.000009 0.821514 +v 0.538371 -0.193928 0.805729 +v 0.507135 -0.380395 0.758980 +v 0.456409 -0.552243 0.683064 +v 0.388144 -0.702870 0.580898 +v 0.304963 -0.826486 0.456409 +v 0.210062 -0.918341 0.314380 +v 0.110583 -0.974280 0.165499 +v -0.000000 -0.998438 0.000000 +v 0.076171 0.974261 0.183893 +v 0.144693 0.918323 0.349320 +v 0.210062 0.826468 0.507134 +v 0.267358 0.702852 0.645460 +v 0.314380 0.552225 0.758980 +v 0.349321 0.380376 0.843334 +v 0.370836 0.193910 0.895278 +v 0.378102 -0.000009 0.912818 +v 0.370836 -0.193928 0.895278 +v 0.349321 -0.380395 0.843334 +v 0.314380 -0.552243 0.758980 +v 0.267358 -0.702870 0.645460 +v 0.210062 -0.826486 0.507134 +v 0.144693 -0.918341 0.349320 +v 0.076171 -0.974280 0.183893 +v 0.038832 0.974261 0.195220 +v 0.073764 0.918323 0.370836 +v 0.107089 0.826468 0.538371 +v 0.136298 0.702852 0.685216 +v 0.160270 0.552225 0.805729 +v 0.178082 0.380376 0.895278 +v 0.189051 0.193910 0.950422 +v 0.192755 -0.000009 0.969042 +v 0.189051 -0.193928 0.950422 +v 0.178082 -0.380395 0.895278 +v 0.160270 -0.552243 0.805729 +v 0.136298 -0.702870 0.685216 +v 0.107089 -0.826486 0.538371 +v 0.073764 -0.918341 0.370836 +v 0.038832 -0.974280 0.195219 +v -0.000000 0.974261 0.199044 +v -0.000000 0.918323 0.378101 +v -0.000000 0.826468 0.548918 +v -0.000000 0.702852 0.698640 +v -0.000000 0.552225 0.821514 +v -0.000000 0.380376 0.912818 +v -0.000000 0.193910 0.969042 +v -0.000000 -0.000009 0.988027 +v -0.000000 -0.193928 0.969042 +v -0.000000 -0.380395 0.912818 +v -0.000000 -0.552243 0.821514 +v -0.000000 -0.702870 0.698640 +v -0.000000 -0.826486 0.548918 +v -0.000000 -0.918341 0.378101 +v -0.000000 -0.974280 0.199044 +v -0.038831 0.974261 0.195220 +v -0.073764 0.918323 0.370836 +v -0.107088 0.826468 0.538371 +v -0.136298 0.702852 0.685216 +v -0.160269 0.552225 0.805729 +v -0.178082 0.380376 0.895278 +v -0.189051 0.193910 0.950422 +v -0.192754 -0.000009 0.969042 +v -0.189051 -0.193928 0.950422 +v -0.178082 -0.380395 0.895278 +v -0.160269 -0.552243 0.805729 +v -0.136298 -0.702870 0.685216 +v -0.107088 -0.826486 0.538371 +v -0.073764 -0.918341 0.370836 +v -0.038831 -0.974280 0.195219 +v -0.076171 0.974261 0.183893 +v -0.144693 0.918323 0.349320 +v -0.210062 0.826468 0.507134 +v -0.267358 0.702852 0.645459 +v -0.314380 0.552225 0.758980 +v -0.349320 0.380376 0.843333 +v -0.370836 0.193910 0.895278 +v -0.378101 -0.000009 0.912817 +v -0.370836 -0.193928 0.895278 +v -0.349320 -0.380395 0.843333 +v -0.314380 -0.552243 0.758980 +v -0.267358 -0.702870 0.645459 +v -0.210062 -0.826486 0.507134 +v -0.144693 -0.918341 0.349320 +v -0.076171 -0.974280 0.183893 +v -0.110583 0.974261 0.165499 +v -0.210062 0.918323 0.314380 +v -0.304962 0.826468 0.456409 +v -0.388144 0.702852 0.580898 +v -0.456409 0.552225 0.683064 +v -0.507134 0.380376 0.758980 +v -0.538371 0.193910 0.805729 +v -0.548918 -0.000009 0.821514 +v -0.538371 -0.193928 0.805729 +v -0.507134 -0.380395 0.758980 +v -0.456409 -0.552243 0.683064 +v -0.388144 -0.702870 0.580898 +v -0.304962 -0.826486 0.456409 +v -0.210062 -0.918341 0.314380 +v -0.110583 -0.974280 0.165499 +v -0.140745 0.974261 0.140745 +v -0.267358 0.918323 0.267358 +v -0.388144 0.826468 0.388144 +v -0.494013 0.702852 0.494013 +v -0.580898 0.552225 0.580898 +v -0.645459 0.380376 0.645459 +v -0.685216 0.193910 0.685216 +v -0.698640 -0.000009 0.698640 +v -0.685216 -0.193928 0.685216 +v -0.645459 -0.380395 0.645459 +v -0.580898 -0.552243 0.580898 +v -0.494013 -0.702870 0.494013 +v -0.388143 -0.826486 0.388144 +v -0.267358 -0.918341 0.267358 +v -0.140745 -0.974280 0.140745 +v -0.165499 0.974261 0.110583 +v -0.314380 0.918323 0.210062 +v -0.456409 0.826468 0.304963 +v -0.580898 0.702852 0.388144 +v -0.683064 0.552225 0.456409 +v -0.758980 0.380376 0.507134 +v -0.805729 0.193910 0.538370 +v -0.821514 -0.000009 0.548918 +v -0.805729 -0.193928 0.538370 +v -0.758980 -0.380395 0.507134 +v -0.683064 -0.552243 0.456409 +v -0.580898 -0.702870 0.388144 +v -0.456408 -0.826486 0.304962 +v -0.314379 -0.918341 0.210062 +v -0.165499 -0.974280 0.110583 +v -0.000000 0.998419 0.000000 +v -0.183893 0.974261 0.076171 +v -0.349320 0.918323 0.144693 +v -0.507134 0.826468 0.210062 +v -0.645459 0.702852 0.267358 +v -0.758980 0.552225 0.314380 +v -0.843333 0.380376 0.349320 +v -0.895278 0.193910 0.370836 +v -0.912817 -0.000009 0.378101 +v -0.895278 -0.193928 0.370836 +v -0.843333 -0.380395 0.349320 +v -0.758980 -0.552243 0.314380 +v -0.645459 -0.702870 0.267358 +v -0.507134 -0.826486 0.210062 +v -0.349320 -0.918341 0.144693 +v -0.183892 -0.974280 0.076171 +v -0.195219 0.974261 0.038832 +v -0.370836 0.918323 0.073764 +v -0.538371 0.826468 0.107089 +v -0.685216 0.702852 0.136298 +v -0.805729 0.552225 0.160269 +v -0.895278 0.380376 0.178082 +v -0.950422 0.193910 0.189050 +v -0.969042 -0.000009 0.192754 +v -0.950422 -0.193928 0.189050 +v -0.895278 -0.380395 0.178082 +v -0.805729 -0.552243 0.160269 +v -0.685216 -0.702870 0.136298 +v -0.538371 -0.826486 0.107089 +v -0.370836 -0.918341 0.073764 +v -0.195219 -0.974280 0.038832 +vn -0.6338 0.7709 -0.0624 +vn -0.6707 0.7388 -0.0661 +vn -0.6731 0.7388 -0.0331 +vn -0.6361 0.7709 -0.0313 +vn -0.6739 0.7388 -0.0000 +vn -0.6369 0.7709 -0.0000 +vn -0.7060 0.7048 -0.0695 +vn -0.7086 0.7048 -0.0349 +vn -0.7094 0.7048 -0.0000 +vn -0.5976 0.8013 -0.0294 +vn -0.5954 0.8013 -0.0586 +vn -0.5575 0.8297 -0.0274 +vn -0.5555 0.8297 -0.0547 +vn -0.5983 0.8013 -0.0000 +vn -0.5582 0.8297 -0.0000 +vn -0.5918 0.8013 -0.0878 +vn -0.6300 0.7709 -0.0934 +vn -0.5868 0.8013 -0.1167 +vn -0.6247 0.7710 -0.1243 +vn -0.5521 0.8297 -0.0819 +vn -0.5474 0.8297 -0.1089 +vn -0.6667 0.7388 -0.0988 +vn -0.7018 0.7048 -0.1041 +vn -0.6610 0.7388 -0.1315 +vn -0.6958 0.7048 -0.1384 +vn -0.2970 -0.9544 -0.0293 +vn -0.2551 -0.9666 -0.0251 +vn -0.2551 -0.9669 -0.0048 +vn -0.2977 -0.9546 -0.0120 +vn -0.2537 -0.9673 -0.0000 +vn -0.2974 -0.9548 -0.0000 +vn -0.2114 -0.9772 -0.0208 +vn -0.2100 -0.9777 0.0048 +vn -0.2067 -0.9784 -0.0000 +vn -0.3402 -0.9402 -0.0163 +vn -0.3391 -0.9402 -0.0334 +vn -0.3845 -0.9229 -0.0189 +vn -0.3831 -0.9229 -0.0377 +vn -0.3405 -0.9403 -0.0000 +vn -0.3850 -0.9229 -0.0000 +vn -0.3369 -0.9402 -0.0504 +vn -0.2943 -0.9546 -0.0463 +vn -0.3339 -0.9403 -0.0664 +vn -0.2916 -0.9548 -0.0580 +vn -0.3808 -0.9229 -0.0565 +vn -0.3776 -0.9229 -0.0751 +vn -0.2511 -0.9669 -0.0451 +vn -0.2050 -0.9777 -0.0457 +vn -0.2488 -0.9673 -0.0495 +vn -0.2027 -0.9784 -0.0403 +vn -0.2970 0.9544 -0.0293 +vn -0.3391 0.9402 -0.0334 +vn -0.3402 0.9402 -0.0163 +vn -0.2977 0.9546 -0.0120 +vn -0.3405 0.9403 -0.0000 +vn -0.2974 0.9548 -0.0000 +vn -0.3831 0.9229 -0.0377 +vn -0.3845 0.9229 -0.0189 +vn -0.3850 0.9229 -0.0000 +vn -0.2551 0.9669 -0.0048 +vn -0.2551 0.9666 -0.0251 +vn -0.2100 0.9777 0.0048 +vn -0.2114 0.9772 -0.0208 +vn -0.2537 0.9673 -0.0000 +vn -0.2067 0.9784 -0.0000 +vn -0.2511 0.9669 -0.0451 +vn -0.2943 0.9546 -0.0463 +vn -0.2488 0.9673 -0.0495 +vn -0.2916 0.9548 -0.0580 +vn -0.2050 0.9777 -0.0457 +vn -0.2027 0.9784 -0.0403 +vn -0.3368 0.9402 -0.0504 +vn -0.3808 0.9229 -0.0565 +vn -0.3339 0.9403 -0.0664 +vn -0.3776 0.9229 -0.0751 +vn -0.6338 -0.7709 -0.0624 +vn -0.5954 -0.8013 -0.0586 +vn -0.5976 -0.8013 -0.0294 +vn -0.6361 -0.7709 -0.0313 +vn -0.5983 -0.8013 -0.0000 +vn -0.6369 -0.7709 -0.0000 +vn -0.5555 -0.8297 -0.0547 +vn -0.5575 -0.8297 -0.0274 +vn -0.5581 -0.8297 -0.0000 +vn -0.6731 -0.7388 -0.0331 +vn -0.6707 -0.7388 -0.0661 +vn -0.7086 -0.7048 -0.0349 +vn -0.7060 -0.7048 -0.0695 +vn -0.6739 -0.7388 -0.0000 +vn -0.7094 -0.7048 -0.0000 +vn -0.6667 -0.7388 -0.0988 +vn -0.6300 -0.7709 -0.0934 +vn -0.6610 -0.7388 -0.1315 +vn -0.6247 -0.7709 -0.1243 +vn -0.7017 -0.7048 -0.1041 +vn -0.6958 -0.7048 -0.1384 +vn -0.5918 -0.8013 -0.0878 +vn -0.5521 -0.8297 -0.0819 +vn -0.5868 -0.8013 -0.1167 +vn -0.5474 -0.8297 -0.1089 +vn -0.8789 -0.4690 -0.0866 +vn -0.8551 -0.5116 -0.0842 +vn -0.8582 -0.5116 -0.0422 +vn -0.8821 -0.4690 -0.0434 +vn -0.8592 -0.5116 -0.0000 +vn -0.8832 -0.4690 -0.0000 +vn -0.8291 -0.5531 -0.0817 +vn -0.8321 -0.5531 -0.0409 +vn -0.8331 -0.5531 -0.0000 +vn -0.9039 -0.4254 -0.0445 +vn -0.9007 -0.4254 -0.0887 +vn -0.9236 -0.3806 -0.0454 +vn -0.9203 -0.3806 -0.0906 +vn -0.9050 -0.4254 -0.0000 +vn -0.9247 -0.3806 -0.0000 +vn -0.8952 -0.4254 -0.1327 +vn -0.8736 -0.4690 -0.1295 +vn -0.8876 -0.4254 -0.1766 +vn -0.8662 -0.4690 -0.1723 +vn -0.9147 -0.3806 -0.1356 +vn -0.9070 -0.3806 -0.1804 +vn -0.8499 -0.5116 -0.1260 +vn -0.8241 -0.5531 -0.1222 +vn -0.8427 -0.5116 -0.1676 +vn -0.8171 -0.5531 -0.1625 +vn -0.9905 -0.0974 -0.0975 +vn -0.9846 -0.1458 -0.0970 +vn -0.9881 -0.1458 -0.0486 +vn -0.9940 -0.0974 -0.0489 +vn -0.9893 -0.1458 -0.0000 +vn -0.9952 -0.0974 -0.0000 +vn -0.9763 -0.1939 -0.0962 +vn -0.9798 -0.1939 -0.0482 +vn -0.9810 -0.1939 -0.0000 +vn -0.9976 -0.0488 -0.0491 +vn -0.9940 -0.0488 -0.0979 +vn -0.9988 -0.0000 -0.0491 +vn -0.9952 -0.0000 -0.0980 +vn -0.9988 -0.0488 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.9880 -0.0488 -0.1465 +vn -0.9845 -0.0974 -0.1460 +vn -0.9796 -0.0488 -0.1949 +vn -0.9761 -0.0974 -0.1942 +vn -0.9892 -0.0000 -0.1467 +vn -0.9808 -0.0000 -0.1951 +vn -0.9786 -0.1458 -0.1451 +vn -0.9704 -0.1939 -0.1439 +vn -0.9703 -0.1458 -0.1930 +vn -0.9622 -0.1939 -0.1914 +vn -0.9528 0.2886 -0.0938 +vn -0.9657 0.2416 -0.0951 +vn -0.9692 0.2416 -0.0477 +vn -0.9563 0.2886 -0.0470 +vn -0.9704 0.2416 -0.0000 +vn -0.9575 0.2886 -0.0000 +vn -0.9763 0.1939 -0.0962 +vn -0.9798 0.1939 -0.0482 +vn -0.9810 0.1939 -0.0000 +vn -0.9411 0.3349 -0.0463 +vn -0.9377 0.3349 -0.0924 +vn -0.9236 0.3806 -0.0454 +vn -0.9203 0.3806 -0.0906 +vn -0.9422 0.3349 -0.0000 +vn -0.9247 0.3806 -0.0000 +vn -0.9321 0.3349 -0.1382 +vn -0.9471 0.2886 -0.1404 +vn -0.9241 0.3349 -0.1838 +vn -0.9391 0.2886 -0.1868 +vn -0.9147 0.3806 -0.1356 +vn -0.9070 0.3806 -0.1804 +vn -0.9599 0.2416 -0.1423 +vn -0.9704 0.1939 -0.1439 +vn -0.9517 0.2416 -0.1893 +vn -0.9622 0.1939 -0.1914 +vn -0.7713 0.6319 -0.0760 +vn -0.8011 0.5933 -0.0789 +vn -0.8040 0.5933 -0.0395 +vn -0.7741 0.6319 -0.0381 +vn -0.8050 0.5932 -0.0000 +vn -0.7750 0.6319 -0.0000 +vn -0.8291 0.5531 -0.0817 +vn -0.8321 0.5531 -0.0409 +vn -0.8331 0.5531 -0.0000 +vn -0.7423 0.6691 -0.0365 +vn -0.7396 0.6691 -0.0728 +vn -0.7432 0.6691 -0.0000 +vn -0.7351 0.6691 -0.1090 +vn -0.7666 0.6319 -0.1137 +vn -0.7289 0.6691 -0.1450 +vn -0.7601 0.6319 -0.1512 +vn -0.7963 0.5933 -0.1181 +vn -0.8241 0.5531 -0.1222 +vn -0.7895 0.5933 -0.1571 +vn -0.8171 0.5531 -0.1625 +vn -0.4716 0.8806 -0.0465 +vn -0.5141 0.8562 -0.0506 +vn -0.5160 0.8562 -0.0254 +vn -0.4733 0.8806 -0.0233 +vn -0.5166 0.8562 -0.0000 +vn -0.4739 0.8806 -0.0000 +vn -0.4295 0.9028 -0.0211 +vn -0.4280 0.9028 -0.0422 +vn -0.4300 0.9028 -0.0000 +vn -0.4254 0.9028 -0.0631 +vn -0.4688 0.8806 -0.0695 +vn -0.4218 0.9028 -0.0839 +vn -0.4648 0.8806 -0.0925 +vn -0.5110 0.8562 -0.0758 +vn -0.5067 0.8562 -0.1008 +vn -0.4716 -0.8806 -0.0465 +vn -0.4280 -0.9028 -0.0422 +vn -0.4295 -0.9028 -0.0211 +vn -0.4733 -0.8806 -0.0233 +vn -0.4300 -0.9028 -0.0000 +vn -0.4739 -0.8806 -0.0000 +vn -0.5160 -0.8562 -0.0254 +vn -0.5141 -0.8562 -0.0506 +vn -0.5166 -0.8562 -0.0000 +vn -0.5110 -0.8562 -0.0758 +vn -0.4688 -0.8806 -0.0695 +vn -0.5067 -0.8562 -0.1008 +vn -0.4648 -0.8806 -0.0925 +vn -0.4254 -0.9028 -0.0631 +vn -0.4218 -0.9028 -0.0839 +vn -0.7713 -0.6319 -0.0760 +vn -0.7396 -0.6691 -0.0728 +vn -0.7423 -0.6691 -0.0365 +vn -0.7741 -0.6319 -0.0381 +vn -0.7432 -0.6691 -0.0000 +vn -0.7750 -0.6319 -0.0000 +vn -0.8040 -0.5932 -0.0395 +vn -0.8011 -0.5932 -0.0789 +vn -0.8050 -0.5932 -0.0000 +vn -0.7963 -0.5933 -0.1181 +vn -0.7666 -0.6319 -0.1137 +vn -0.7895 -0.5933 -0.1571 +vn -0.7601 -0.6319 -0.1512 +vn -0.7351 -0.6691 -0.1090 +vn -0.7289 -0.6691 -0.1450 +vn -0.9528 -0.2886 -0.0938 +vn -0.9377 -0.3349 -0.0924 +vn -0.9411 -0.3349 -0.0463 +vn -0.9563 -0.2886 -0.0470 +vn -0.9422 -0.3349 -0.0000 +vn -0.9575 -0.2886 -0.0000 +vn -0.9692 -0.2416 -0.0477 +vn -0.9657 -0.2416 -0.0951 +vn -0.9704 -0.2416 -0.0000 +vn -0.9599 -0.2416 -0.1423 +vn -0.9471 -0.2886 -0.1404 +vn -0.9517 -0.2416 -0.1893 +vn -0.9391 -0.2886 -0.1868 +vn -0.9321 -0.3349 -0.1382 +vn -0.9241 -0.3349 -0.1838 +vn -0.9905 0.0974 -0.0975 +vn -0.9940 0.0488 -0.0979 +vn -0.9976 0.0488 -0.0491 +vn -0.9940 0.0974 -0.0489 +vn -0.9988 0.0488 -0.0000 +vn -0.9952 0.0974 -0.0000 +vn -0.9881 0.1458 -0.0486 +vn -0.9846 0.1458 -0.0970 +vn -0.9893 0.1458 -0.0000 +vn -0.9786 0.1458 -0.1451 +vn -0.9845 0.0974 -0.1460 +vn -0.9703 0.1458 -0.1930 +vn -0.9761 0.0974 -0.1942 +vn -0.9880 0.0488 -0.1465 +vn -0.9796 0.0488 -0.1949 +vn -0.8789 0.4690 -0.0866 +vn -0.9007 0.4254 -0.0887 +vn -0.9039 0.4254 -0.0445 +vn -0.8821 0.4690 -0.0434 +vn -0.9050 0.4254 -0.0000 +vn -0.8832 0.4690 -0.0000 +vn -0.8582 0.5116 -0.0422 +vn -0.8551 0.5116 -0.0842 +vn -0.8592 0.5116 -0.0000 +vn -0.8499 0.5116 -0.1260 +vn -0.8736 0.4690 -0.1295 +vn -0.8427 0.5116 -0.1676 +vn -0.8662 0.4690 -0.1723 +vn -0.8952 0.4254 -0.1327 +vn -0.8876 0.4254 -0.1766 +vn -0.9162 -0.2886 -0.2779 +vn -0.9017 -0.3349 -0.2735 +vn -0.9140 -0.3349 -0.2290 +vn -0.9287 -0.2886 -0.2327 +vn -0.8849 -0.3806 -0.2684 +vn -0.8970 -0.3806 -0.2247 +vn -0.9413 -0.2416 -0.2358 +vn -0.9286 -0.2416 -0.2817 +vn -0.9516 -0.1939 -0.2384 +vn -0.9388 -0.1939 -0.2848 +vn -0.9137 -0.2416 -0.3269 +vn -0.9015 -0.2886 -0.3225 +vn -0.8965 -0.2416 -0.3713 +vn -0.8846 -0.2886 -0.3664 +vn -0.9237 -0.1939 -0.3304 +vn -0.9063 -0.1939 -0.3754 +vn -0.8872 -0.3349 -0.3174 +vn -0.8707 -0.3806 -0.3115 +vn -0.8705 -0.3349 -0.3606 +vn -0.8544 -0.3806 -0.3539 +vn -0.9524 0.0974 -0.2889 +vn -0.9558 0.0488 -0.2899 +vn -0.9689 0.0488 -0.2427 +vn -0.9654 0.0974 -0.2419 +vn -0.9569 -0.0000 -0.2903 +vn -0.9700 -0.0000 -0.2430 +vn -0.9597 0.1458 -0.2404 +vn -0.9467 0.1458 -0.2872 +vn -0.9516 0.1939 -0.2384 +vn -0.9388 0.1939 -0.2848 +vn -0.9315 0.1458 -0.3332 +vn -0.9371 0.0974 -0.3352 +vn -0.9140 0.1458 -0.3786 +vn -0.9195 0.0974 -0.3809 +vn -0.9237 0.1939 -0.3304 +vn -0.9063 0.1939 -0.3754 +vn -0.9404 0.0488 -0.3364 +vn -0.9416 -0.0000 -0.3368 +vn -0.9228 0.0488 -0.3822 +vn -0.9239 -0.0000 -0.3827 +vn -0.8452 0.4690 -0.2564 +vn -0.8661 0.4254 -0.2627 +vn -0.8779 0.4254 -0.2200 +vn -0.8567 0.4690 -0.2146 +vn -0.8849 0.3806 -0.2684 +vn -0.8970 0.3806 -0.2247 +vn -0.8335 0.5116 -0.2088 +vn -0.8222 0.5116 -0.2494 +vn -0.8081 0.5531 -0.2025 +vn -0.7973 0.5531 -0.2418 +vn -0.8090 0.5116 -0.2894 +vn -0.8316 0.4690 -0.2975 +vn -0.7938 0.5116 -0.3288 +vn -0.8159 0.4690 -0.3380 +vn -0.7844 0.5531 -0.2806 +vn -0.7697 0.5531 -0.3188 +vn -0.8521 0.4254 -0.3048 +vn -0.8707 0.3806 -0.3115 +vn -0.8361 0.4254 -0.3463 +vn -0.8544 0.3806 -0.3539 +vn -0.6095 0.7709 -0.1849 +vn -0.6449 0.7388 -0.1956 +vn -0.6537 0.7388 -0.1638 +vn -0.6178 0.7710 -0.1548 +vn -0.6789 0.7048 -0.2059 +vn -0.6882 0.7048 -0.1724 +vn -0.5804 0.8013 -0.1454 +vn -0.5725 0.8013 -0.1737 +vn -0.5414 0.8297 -0.1357 +vn -0.5341 0.8297 -0.1620 +vn -0.5633 0.8013 -0.2015 +vn -0.5997 0.7709 -0.2145 +vn -0.5528 0.8013 -0.2290 +vn -0.5884 0.7709 -0.2437 +vn -0.5255 0.8297 -0.1880 +vn -0.5157 0.8297 -0.2136 +vn -0.6346 0.7388 -0.2270 +vn -0.6680 0.7048 -0.2390 +vn -0.6226 0.7388 -0.2579 +vn -0.6554 0.7048 -0.2715 +vn -0.2856 -0.9544 -0.0866 +vn -0.2453 -0.9666 -0.0744 +vn -0.2493 -0.9669 -0.0544 +vn -0.2896 -0.9546 -0.0698 +vn -0.2032 -0.9772 -0.0617 +vn -0.2069 -0.9777 -0.0363 +vn -0.3305 -0.9402 -0.0823 +vn -0.3261 -0.9402 -0.0989 +vn -0.3734 -0.9229 -0.0936 +vn -0.3684 -0.9229 -0.1118 +vn -0.3205 -0.9402 -0.1152 +vn -0.2796 -0.9546 -0.1028 +vn -0.3146 -0.9403 -0.1303 +vn -0.2747 -0.9548 -0.1138 +vn -0.3625 -0.9229 -0.1297 +vn -0.3557 -0.9229 -0.1473 +vn -0.2375 -0.9669 -0.0932 +vn -0.1922 -0.9777 -0.0848 +vn -0.2344 -0.9673 -0.0971 +vn -0.1910 -0.9784 -0.0791 +vn -0.2856 0.9544 -0.0866 +vn -0.3261 0.9402 -0.0989 +vn -0.3305 0.9402 -0.0823 +vn -0.2896 0.9546 -0.0698 +vn -0.3684 0.9229 -0.1118 +vn -0.3734 0.9229 -0.0936 +vn -0.2493 0.9669 -0.0544 +vn -0.2453 0.9666 -0.0744 +vn -0.2069 0.9777 -0.0362 +vn -0.2032 0.9772 -0.0617 +vn -0.2375 0.9669 -0.0932 +vn -0.2796 0.9546 -0.1028 +vn -0.2344 0.9673 -0.0971 +vn -0.2747 0.9548 -0.1138 +vn -0.1922 0.9777 -0.0848 +vn -0.1910 0.9784 -0.0791 +vn -0.3205 0.9402 -0.1152 +vn -0.3625 0.9229 -0.1297 +vn -0.3145 0.9403 -0.1303 +vn -0.3557 0.9229 -0.1473 +vn -0.6095 -0.7709 -0.1849 +vn -0.5725 -0.8013 -0.1737 +vn -0.5804 -0.8013 -0.1454 +vn -0.6178 -0.7709 -0.1548 +vn -0.5341 -0.8297 -0.1620 +vn -0.5414 -0.8297 -0.1356 +vn -0.6537 -0.7388 -0.1638 +vn -0.6449 -0.7388 -0.1956 +vn -0.6881 -0.7048 -0.1724 +vn -0.6789 -0.7048 -0.2059 +vn -0.6346 -0.7388 -0.2270 +vn -0.5997 -0.7709 -0.2145 +vn -0.6226 -0.7388 -0.2579 +vn -0.5884 -0.7709 -0.2437 +vn -0.6680 -0.7048 -0.2390 +vn -0.6554 -0.7048 -0.2715 +vn -0.5633 -0.8013 -0.2015 +vn -0.5255 -0.8297 -0.1880 +vn -0.5528 -0.8013 -0.2290 +vn -0.5157 -0.8297 -0.2136 +vn -0.8452 -0.4690 -0.2564 +vn -0.8222 -0.5116 -0.2494 +vn -0.8335 -0.5116 -0.2088 +vn -0.8567 -0.4690 -0.2146 +vn -0.7973 -0.5531 -0.2418 +vn -0.8081 -0.5531 -0.2025 +vn -0.8779 -0.4254 -0.2200 +vn -0.8661 -0.4254 -0.2627 +vn -0.8521 -0.4254 -0.3048 +vn -0.8316 -0.4690 -0.2975 +vn -0.8361 -0.4254 -0.3463 +vn -0.8159 -0.4690 -0.3380 +vn -0.8090 -0.5116 -0.2894 +vn -0.7844 -0.5531 -0.2806 +vn -0.7938 -0.5116 -0.3288 +vn -0.7697 -0.5531 -0.3188 +vn -0.9524 -0.0974 -0.2889 +vn -0.9467 -0.1458 -0.2872 +vn -0.9597 -0.1458 -0.2404 +vn -0.9654 -0.0974 -0.2419 +vn -0.9689 -0.0488 -0.2427 +vn -0.9558 -0.0488 -0.2899 +vn -0.9404 -0.0488 -0.3364 +vn -0.9371 -0.0974 -0.3352 +vn -0.9228 -0.0488 -0.3822 +vn -0.9195 -0.0974 -0.3809 +vn -0.9315 -0.1458 -0.3332 +vn -0.9140 -0.1458 -0.3786 +vn -0.9162 0.2886 -0.2779 +vn -0.9286 0.2416 -0.2817 +vn -0.9413 0.2416 -0.2358 +vn -0.9287 0.2886 -0.2327 +vn -0.9140 0.3349 -0.2290 +vn -0.9017 0.3349 -0.2735 +vn -0.8872 0.3349 -0.3174 +vn -0.9015 0.2886 -0.3225 +vn -0.8705 0.3349 -0.3606 +vn -0.8846 0.2886 -0.3664 +vn -0.9137 0.2416 -0.3269 +vn -0.8965 0.2416 -0.3713 +vn -0.7417 0.6319 -0.2250 +vn -0.7704 0.5933 -0.2337 +vn -0.7809 0.5933 -0.1956 +vn -0.7518 0.6319 -0.1884 +vn -0.7209 0.6691 -0.1806 +vn -0.7112 0.6691 -0.2157 +vn -0.6997 0.6691 -0.2503 +vn -0.7297 0.6319 -0.2611 +vn -0.6866 0.6691 -0.2844 +vn -0.7160 0.6319 -0.2966 +vn -0.7580 0.5933 -0.2712 +vn -0.7437 0.5933 -0.3081 +vn -0.4535 0.8806 -0.1376 +vn -0.4944 0.8562 -0.1500 +vn -0.5011 0.8562 -0.1256 +vn -0.4597 0.8806 -0.1152 +vn -0.4171 0.9028 -0.1045 +vn -0.4115 0.9028 -0.1248 +vn -0.4049 0.9028 -0.1449 +vn -0.4462 0.8806 -0.1596 +vn -0.3973 0.9028 -0.1646 +vn -0.4378 0.8806 -0.1814 +vn -0.4864 0.8562 -0.1740 +vn -0.4773 0.8562 -0.1977 +vn -0.4535 -0.8806 -0.1376 +vn -0.4115 -0.9028 -0.1248 +vn -0.4171 -0.9028 -0.1045 +vn -0.4597 -0.8806 -0.1152 +vn -0.5011 -0.8562 -0.1256 +vn -0.4944 -0.8562 -0.1500 +vn -0.4864 -0.8562 -0.1740 +vn -0.4462 -0.8806 -0.1596 +vn -0.4773 -0.8562 -0.1977 +vn -0.4378 -0.8806 -0.1814 +vn -0.4049 -0.9028 -0.1448 +vn -0.3973 -0.9028 -0.1646 +vn -0.7417 -0.6319 -0.2250 +vn -0.7112 -0.6691 -0.2157 +vn -0.7209 -0.6691 -0.1806 +vn -0.7518 -0.6319 -0.1884 +vn -0.7809 -0.5933 -0.1956 +vn -0.7704 -0.5933 -0.2337 +vn -0.7580 -0.5932 -0.2712 +vn -0.7297 -0.6319 -0.2611 +vn -0.7437 -0.5932 -0.3081 +vn -0.7160 -0.6319 -0.2966 +vn -0.6997 -0.6691 -0.2503 +vn -0.6866 -0.6691 -0.2844 +vn -0.8444 -0.2886 -0.4513 +vn -0.8310 -0.3349 -0.4442 +vn -0.8518 -0.3349 -0.4029 +vn -0.8655 -0.2886 -0.4094 +vn -0.8156 -0.3806 -0.4359 +vn -0.8359 -0.3806 -0.3954 +vn -0.8772 -0.2416 -0.4149 +vn -0.8558 -0.2416 -0.4574 +vn -0.8868 -0.1939 -0.4195 +vn -0.8652 -0.1939 -0.4625 +vn -0.8324 -0.2416 -0.4988 +vn -0.8213 -0.2886 -0.4922 +vn -0.8068 -0.2416 -0.5391 +vn -0.7961 -0.2886 -0.5319 +vn -0.8415 -0.1939 -0.5043 +vn -0.8157 -0.1939 -0.5450 +vn -0.8082 -0.3349 -0.4844 +vn -0.7932 -0.3806 -0.4754 +vn -0.7834 -0.3349 -0.5235 +vn -0.7689 -0.3806 -0.5138 +vn -0.8777 0.0974 -0.4692 +vn -0.8809 0.0488 -0.4708 +vn -0.9029 0.0488 -0.4271 +vn -0.8997 0.0974 -0.4256 +vn -0.8819 -0.0000 -0.4714 +vn -0.9040 -0.0000 -0.4276 +vn -0.8943 0.1458 -0.4230 +vn -0.8725 0.1458 -0.4664 +vn -0.8868 0.1939 -0.4195 +vn -0.8652 0.1939 -0.4625 +vn -0.8486 0.1458 -0.5086 +vn -0.8537 0.0974 -0.5116 +vn -0.8226 0.1458 -0.5496 +vn -0.8275 0.0974 -0.5529 +vn -0.8415 0.1939 -0.5043 +vn -0.8157 0.1939 -0.5450 +vn -0.8567 0.0488 -0.5134 +vn -0.8578 -0.0000 -0.5141 +vn -0.8305 0.0488 -0.5549 +vn -0.8315 -0.0000 -0.5556 +vn -0.7789 0.4690 -0.4163 +vn -0.7982 0.4254 -0.4266 +vn -0.8181 0.4254 -0.3870 +vn -0.7984 0.4690 -0.3777 +vn -0.8156 0.3806 -0.4359 +vn -0.8359 0.3806 -0.3954 +vn -0.7767 0.5116 -0.3674 +vn -0.7578 0.5116 -0.4050 +vn -0.7531 0.5531 -0.3562 +vn -0.7348 0.5531 -0.3927 +vn -0.7370 0.5116 -0.4417 +vn -0.7576 0.4690 -0.4540 +vn -0.7144 0.5116 -0.4774 +vn -0.7343 0.4690 -0.4907 +vn -0.7146 0.5531 -0.4283 +vn -0.6927 0.5531 -0.4629 +vn -0.7763 0.4254 -0.4652 +vn -0.7932 0.3806 -0.4754 +vn -0.7525 0.4254 -0.5028 +vn -0.7689 0.3806 -0.5138 +vn -0.5617 0.7709 -0.3002 +vn -0.5944 0.7388 -0.3177 +vn -0.6092 0.7388 -0.2882 +vn -0.5757 0.7709 -0.2723 +vn -0.6257 0.7048 -0.3344 +vn -0.6413 0.7048 -0.3034 +vn -0.5408 0.8013 -0.2558 +vn -0.5277 0.8013 -0.2820 +vn -0.5046 0.8297 -0.2387 +vn -0.4922 0.8297 -0.2631 +vn -0.5132 0.8013 -0.3076 +vn -0.5463 0.7709 -0.3274 +vn -0.4975 0.8013 -0.3324 +vn -0.5296 0.7709 -0.3538 +vn -0.4788 0.8297 -0.2869 +vn -0.4641 0.8297 -0.3101 +vn -0.5781 0.7388 -0.3464 +vn -0.6085 0.7048 -0.3647 +vn -0.5604 0.7388 -0.3744 +vn -0.5899 0.7048 -0.3941 +vn -0.2632 -0.9544 -0.1407 +vn -0.2261 -0.9666 -0.1208 +vn -0.2338 -0.9669 -0.1020 +vn -0.2704 -0.9546 -0.1250 +vn -0.1873 -0.9772 -0.1001 +vn -0.1959 -0.9777 -0.0759 +vn -0.3081 -0.9402 -0.1452 +vn -0.3005 -0.9402 -0.1606 +vn -0.3480 -0.9229 -0.1646 +vn -0.3395 -0.9229 -0.1815 +vn -0.2919 -0.9402 -0.1755 +vn -0.2542 -0.9546 -0.1554 +vn -0.2831 -0.9403 -0.1892 +vn -0.2472 -0.9548 -0.1652 +vn -0.3302 -0.9229 -0.1979 +vn -0.3201 -0.9229 -0.2139 +vn -0.2148 -0.9669 -0.1378 +vn -0.1719 -0.9777 -0.1207 +vn -0.2109 -0.9673 -0.1409 +vn -0.1719 -0.9784 -0.1148 +vn -0.2632 0.9544 -0.1407 +vn -0.3005 0.9402 -0.1606 +vn -0.3081 0.9402 -0.1452 +vn -0.2704 0.9546 -0.1250 +vn -0.3395 0.9229 -0.1815 +vn -0.3480 0.9229 -0.1646 +vn -0.2338 0.9669 -0.1020 +vn -0.2261 0.9666 -0.1208 +vn -0.1959 0.9777 -0.0759 +vn -0.1873 0.9772 -0.1001 +vn -0.2148 0.9669 -0.1377 +vn -0.2542 0.9546 -0.1554 +vn -0.2109 0.9673 -0.1409 +vn -0.2472 0.9548 -0.1652 +vn -0.1719 0.9777 -0.1207 +vn -0.1719 0.9784 -0.1148 +vn -0.2919 0.9402 -0.1755 +vn -0.3302 0.9229 -0.1979 +vn -0.2831 0.9403 -0.1891 +vn -0.3201 0.9229 -0.2139 +vn -0.5617 -0.7709 -0.3002 +vn -0.5277 -0.8013 -0.2820 +vn -0.5408 -0.8013 -0.2558 +vn -0.5757 -0.7709 -0.2723 +vn -0.4922 -0.8297 -0.2631 +vn -0.5045 -0.8297 -0.2387 +vn -0.6092 -0.7388 -0.2882 +vn -0.5944 -0.7388 -0.3177 +vn -0.6413 -0.7048 -0.3034 +vn -0.6257 -0.7048 -0.3344 +vn -0.5781 -0.7388 -0.3464 +vn -0.5463 -0.7709 -0.3274 +vn -0.5604 -0.7388 -0.3744 +vn -0.5296 -0.7709 -0.3538 +vn -0.6085 -0.7048 -0.3647 +vn -0.5899 -0.7048 -0.3941 +vn -0.5132 -0.8013 -0.3076 +vn -0.4788 -0.8297 -0.2869 +vn -0.4975 -0.8013 -0.3324 +vn -0.4641 -0.8297 -0.3101 +vn -0.7789 -0.4690 -0.4163 +vn -0.7578 -0.5116 -0.4050 +vn -0.7767 -0.5116 -0.3674 +vn -0.7984 -0.4690 -0.3777 +vn -0.7348 -0.5531 -0.3927 +vn -0.7531 -0.5531 -0.3562 +vn -0.8181 -0.4254 -0.3870 +vn -0.7982 -0.4254 -0.4266 +vn -0.7763 -0.4254 -0.4652 +vn -0.7576 -0.4690 -0.4540 +vn -0.7525 -0.4254 -0.5028 +vn -0.7343 -0.4690 -0.4907 +vn -0.7370 -0.5116 -0.4417 +vn -0.7146 -0.5531 -0.4283 +vn -0.7144 -0.5116 -0.4774 +vn -0.6927 -0.5531 -0.4629 +vn -0.8777 -0.0974 -0.4692 +vn -0.8725 -0.1458 -0.4664 +vn -0.8943 -0.1458 -0.4230 +vn -0.8997 -0.0974 -0.4256 +vn -0.9029 -0.0488 -0.4271 +vn -0.8809 -0.0488 -0.4708 +vn -0.8567 -0.0488 -0.5134 +vn -0.8537 -0.0974 -0.5116 +vn -0.8305 -0.0488 -0.5549 +vn -0.8275 -0.0974 -0.5529 +vn -0.8486 -0.1458 -0.5086 +vn -0.8226 -0.1458 -0.5496 +vn -0.8444 0.2886 -0.4513 +vn -0.8558 0.2416 -0.4574 +vn -0.8772 0.2416 -0.4149 +vn -0.8655 0.2886 -0.4094 +vn -0.8518 0.3349 -0.4029 +vn -0.8310 0.3349 -0.4442 +vn -0.8082 0.3349 -0.4844 +vn -0.8213 0.2886 -0.4922 +vn -0.7834 0.3349 -0.5235 +vn -0.7961 0.2886 -0.5319 +vn -0.8324 0.2416 -0.4988 +vn -0.8068 0.2416 -0.5391 +vn -0.6835 0.6319 -0.3653 +vn -0.7100 0.5933 -0.3795 +vn -0.7277 0.5933 -0.3442 +vn -0.7006 0.6319 -0.3314 +vn -0.6718 0.6691 -0.3178 +vn -0.6554 0.6691 -0.3503 +vn -0.6375 0.6691 -0.3820 +vn -0.6648 0.6319 -0.3984 +vn -0.6179 0.6691 -0.4129 +vn -0.6444 0.6319 -0.4306 +vn -0.6905 0.5933 -0.4138 +vn -0.6693 0.5933 -0.4472 +vn -0.4179 0.8806 -0.2234 +vn -0.4556 0.8562 -0.2435 +vn -0.4670 0.8562 -0.2209 +vn -0.4284 0.8806 -0.2026 +vn -0.3887 0.9028 -0.1839 +vn -0.3793 0.9028 -0.2027 +vn -0.3689 0.9028 -0.2211 +vn -0.4065 0.8806 -0.2436 +vn -0.3576 0.9028 -0.2389 +vn -0.3940 0.8806 -0.2633 +vn -0.4431 0.8562 -0.2656 +vn -0.4295 0.8562 -0.2870 +vn -0.4179 -0.8806 -0.2234 +vn -0.3792 -0.9028 -0.2027 +vn -0.3887 -0.9028 -0.1839 +vn -0.4284 -0.8806 -0.2026 +vn -0.4670 -0.8562 -0.2209 +vn -0.4556 -0.8562 -0.2435 +vn -0.4431 -0.8562 -0.2656 +vn -0.4065 -0.8806 -0.2436 +vn -0.4295 -0.8562 -0.2870 +vn -0.3940 -0.8806 -0.2633 +vn -0.3689 -0.9028 -0.2211 +vn -0.3576 -0.9028 -0.2389 +vn -0.6835 -0.6319 -0.3653 +vn -0.6554 -0.6691 -0.3503 +vn -0.6718 -0.6691 -0.3178 +vn -0.7006 -0.6319 -0.3314 +vn -0.7277 -0.5932 -0.3442 +vn -0.7100 -0.5932 -0.3795 +vn -0.6905 -0.5932 -0.4138 +vn -0.6648 -0.6319 -0.3984 +vn -0.6693 -0.5932 -0.4472 +vn -0.6444 -0.6319 -0.4306 +vn -0.6375 -0.6691 -0.3820 +vn -0.6179 -0.6691 -0.4129 +vn -0.7401 -0.2886 -0.6074 +vn -0.7284 -0.3349 -0.5978 +vn -0.7568 -0.3349 -0.5613 +vn -0.7690 -0.2886 -0.5704 +vn -0.7148 -0.3806 -0.5867 +vn -0.7427 -0.3806 -0.5509 +vn -0.7794 -0.2416 -0.5781 +vn -0.7501 -0.2416 -0.6156 +vn -0.7879 -0.1939 -0.5844 +vn -0.7583 -0.1939 -0.6224 +vn -0.7190 -0.2416 -0.6516 +vn -0.7095 -0.2886 -0.6429 +vn -0.6862 -0.2416 -0.6862 +vn -0.6770 -0.2886 -0.6770 +vn -0.7269 -0.1939 -0.6588 +vn -0.6937 -0.1939 -0.6937 +vn -0.6982 -0.3349 -0.6327 +vn -0.6852 -0.3806 -0.6210 +vn -0.6663 -0.3349 -0.6663 +vn -0.6539 -0.3806 -0.6539 +vn -0.7693 0.0974 -0.6314 +vn -0.7721 0.0488 -0.6336 +vn -0.8022 0.0488 -0.5950 +vn -0.7994 0.0974 -0.5929 +vn -0.7730 -0.0000 -0.6344 +vn -0.8032 -0.0000 -0.5957 +vn -0.7946 0.1458 -0.5894 +vn -0.7648 0.1458 -0.6276 +vn -0.7879 0.1939 -0.5844 +vn -0.7583 0.1939 -0.6224 +vn -0.7331 0.1458 -0.6643 +vn -0.7375 0.0974 -0.6683 +vn -0.6996 0.1458 -0.6996 +vn -0.7037 0.0974 -0.7037 +vn -0.7269 0.1939 -0.6588 +vn -0.6937 0.1939 -0.6937 +vn -0.7401 0.0488 -0.6707 +vn -0.7410 -0.0000 -0.6715 +vn -0.7063 0.0488 -0.7063 +vn -0.7071 -0.0000 -0.7071 +vn -0.6827 0.4690 -0.5603 +vn -0.6996 0.4254 -0.5741 +vn -0.7269 0.4254 -0.5392 +vn -0.7093 0.4690 -0.5262 +vn -0.7148 0.3806 -0.5867 +vn -0.7427 0.3806 -0.5509 +vn -0.6901 0.5116 -0.5119 +vn -0.6642 0.5116 -0.5451 +vn -0.6691 0.5531 -0.4963 +vn -0.6440 0.5531 -0.5285 +vn -0.6367 0.5116 -0.5770 +vn -0.6544 0.4690 -0.5931 +vn -0.6076 0.5116 -0.6076 +vn -0.6245 0.4690 -0.6245 +vn -0.6173 0.5531 -0.5595 +vn -0.5891 0.5531 -0.5891 +vn -0.6706 0.4254 -0.6077 +vn -0.6852 0.3806 -0.6210 +vn -0.6399 0.4254 -0.6400 +vn -0.6539 0.3806 -0.6539 +vn -0.4923 0.7709 -0.4040 +vn -0.5210 0.7388 -0.4275 +vn -0.5413 0.7388 -0.4015 +vn -0.5115 0.7710 -0.3794 +vn -0.5484 0.7048 -0.4501 +vn -0.5698 0.7048 -0.4226 +vn -0.4805 0.8013 -0.3564 +vn -0.4625 0.8013 -0.3796 +vn -0.4483 0.8297 -0.3325 +vn -0.4315 0.8297 -0.3541 +vn -0.4433 0.8013 -0.4018 +vn -0.4719 0.7709 -0.4277 +vn -0.4231 0.8013 -0.4231 +vn -0.4504 0.7709 -0.4504 +vn -0.4136 0.8297 -0.3748 +vn -0.3947 0.8297 -0.3947 +vn -0.4994 0.7388 -0.4526 +vn -0.5257 0.7048 -0.4764 +vn -0.4765 0.7388 -0.4765 +vn -0.5016 0.7048 -0.5016 +vn -0.2307 -0.9544 -0.1894 +vn -0.1982 -0.9666 -0.1626 +vn -0.2094 -0.9669 -0.1457 +vn -0.2409 -0.9546 -0.1754 +vn -0.1642 -0.9772 -0.1347 +vn -0.1773 -0.9777 -0.1127 +vn -0.2738 -0.9402 -0.2025 +vn -0.2634 -0.9402 -0.2162 +vn -0.3092 -0.9229 -0.2294 +vn -0.2976 -0.9229 -0.2442 +vn -0.2521 -0.9402 -0.2291 +vn -0.2190 -0.9546 -0.2020 +vn -0.2408 -0.9403 -0.2407 +vn -0.2103 -0.9548 -0.2103 +vn -0.2853 -0.9229 -0.2585 +vn -0.2722 -0.9229 -0.2722 +vn -0.1838 -0.9669 -0.1770 +vn -0.1451 -0.9777 -0.1519 +vn -0.1794 -0.9673 -0.1794 +vn -0.1462 -0.9784 -0.1462 +vn -0.2307 0.9544 -0.1894 +vn -0.2634 0.9402 -0.2162 +vn -0.2738 0.9402 -0.2025 +vn -0.2409 0.9546 -0.1754 +vn -0.2976 0.9229 -0.2442 +vn -0.3092 0.9229 -0.2294 +vn -0.2094 0.9669 -0.1457 +vn -0.1982 0.9666 -0.1626 +vn -0.1773 0.9777 -0.1127 +vn -0.1642 0.9772 -0.1347 +vn -0.1838 0.9669 -0.1770 +vn -0.2190 0.9546 -0.2020 +vn -0.1794 0.9673 -0.1794 +vn -0.2103 0.9548 -0.2103 +vn -0.1451 0.9777 -0.1519 +vn -0.1462 0.9784 -0.1462 +vn -0.2521 0.9402 -0.2291 +vn -0.2853 0.9229 -0.2585 +vn -0.2407 0.9403 -0.2407 +vn -0.2722 0.9229 -0.2722 +vn -0.4923 -0.7709 -0.4040 +vn -0.4625 -0.8013 -0.3796 +vn -0.4805 -0.8013 -0.3564 +vn -0.5115 -0.7709 -0.3794 +vn -0.4315 -0.8297 -0.3541 +vn -0.4483 -0.8297 -0.3325 +vn -0.5413 -0.7388 -0.4015 +vn -0.5210 -0.7388 -0.4275 +vn -0.5698 -0.7048 -0.4226 +vn -0.5484 -0.7048 -0.4500 +vn -0.4994 -0.7388 -0.4526 +vn -0.4719 -0.7709 -0.4277 +vn -0.4765 -0.7388 -0.4765 +vn -0.4504 -0.7709 -0.4504 +vn -0.5257 -0.7048 -0.4764 +vn -0.5016 -0.7048 -0.5016 +vn -0.4433 -0.8013 -0.4018 +vn -0.4136 -0.8297 -0.3748 +vn -0.4231 -0.8013 -0.4231 +vn -0.3947 -0.8297 -0.3947 +vn -0.6827 -0.4690 -0.5603 +vn -0.6642 -0.5116 -0.5451 +vn -0.6901 -0.5116 -0.5119 +vn -0.7093 -0.4690 -0.5262 +vn -0.6440 -0.5531 -0.5285 +vn -0.6691 -0.5531 -0.4963 +vn -0.7269 -0.4254 -0.5392 +vn -0.6996 -0.4254 -0.5741 +vn -0.6706 -0.4254 -0.6077 +vn -0.6544 -0.4690 -0.5931 +vn -0.6399 -0.4254 -0.6399 +vn -0.6245 -0.4690 -0.6245 +vn -0.6367 -0.5116 -0.5770 +vn -0.6173 -0.5531 -0.5595 +vn -0.6076 -0.5116 -0.6076 +vn -0.5891 -0.5531 -0.5891 +vn -0.7693 -0.0974 -0.6314 +vn -0.7648 -0.1458 -0.6276 +vn -0.7946 -0.1458 -0.5894 +vn -0.7994 -0.0974 -0.5929 +vn -0.8022 -0.0488 -0.5950 +vn -0.7721 -0.0488 -0.6336 +vn -0.7401 -0.0488 -0.6707 +vn -0.7375 -0.0974 -0.6683 +vn -0.7063 -0.0488 -0.7063 +vn -0.7037 -0.0974 -0.7037 +vn -0.7331 -0.1458 -0.6643 +vn -0.6996 -0.1458 -0.6996 +vn -0.7401 0.2886 -0.6074 +vn -0.7501 0.2416 -0.6156 +vn -0.7794 0.2416 -0.5781 +vn -0.7690 0.2886 -0.5704 +vn -0.7568 0.3349 -0.5613 +vn -0.7284 0.3349 -0.5978 +vn -0.6982 0.3349 -0.6327 +vn -0.7095 0.2886 -0.6429 +vn -0.6663 0.3349 -0.6663 +vn -0.6770 0.2886 -0.6770 +vn -0.7190 0.2416 -0.6516 +vn -0.6862 0.2416 -0.6862 +vn -0.5991 0.6319 -0.4917 +vn -0.6223 0.5932 -0.5107 +vn -0.6466 0.5933 -0.4796 +vn -0.6225 0.6319 -0.4617 +vn -0.5969 0.6691 -0.4427 +vn -0.5745 0.6691 -0.4715 +vn -0.5507 0.6691 -0.4991 +vn -0.5743 0.6319 -0.5204 +vn -0.5255 0.6691 -0.5255 +vn -0.5480 0.6319 -0.5480 +vn -0.5965 0.5932 -0.5406 +vn -0.5692 0.5933 -0.5692 +vn -0.3663 0.8806 -0.3006 +vn -0.3993 0.8562 -0.3277 +vn -0.4149 0.8562 -0.3078 +vn -0.3806 0.8806 -0.2823 +vn -0.3454 0.9028 -0.2562 +vn -0.3324 0.9028 -0.2728 +vn -0.3187 0.9028 -0.2888 +vn -0.3512 0.8806 -0.3182 +vn -0.3041 0.9028 -0.3041 +vn -0.3351 0.8806 -0.3351 +vn -0.3828 0.8562 -0.3469 +vn -0.3653 0.8562 -0.3653 +vn -0.3663 -0.8806 -0.3006 +vn -0.3324 -0.9028 -0.2728 +vn -0.3454 -0.9028 -0.2562 +vn -0.3806 -0.8806 -0.2823 +vn -0.4149 -0.8562 -0.3078 +vn -0.3993 -0.8562 -0.3277 +vn -0.3828 -0.8562 -0.3469 +vn -0.3512 -0.8806 -0.3182 +vn -0.3653 -0.8562 -0.3653 +vn -0.3351 -0.8806 -0.3351 +vn -0.3186 -0.9028 -0.2888 +vn -0.3041 -0.9028 -0.3041 +vn -0.5991 -0.6319 -0.4917 +vn -0.5745 -0.6691 -0.4715 +vn -0.5969 -0.6691 -0.4427 +vn -0.6225 -0.6319 -0.4617 +vn -0.6466 -0.5932 -0.4796 +vn -0.6223 -0.5932 -0.5107 +vn -0.5965 -0.5932 -0.5406 +vn -0.5743 -0.6319 -0.5205 +vn -0.5692 -0.5932 -0.5692 +vn -0.5480 -0.6319 -0.5480 +vn -0.5507 -0.6691 -0.4990 +vn -0.5255 -0.6691 -0.5255 +vn -0.6074 -0.2886 -0.7401 +vn -0.5978 -0.3349 -0.7284 +vn -0.6327 -0.3349 -0.6982 +vn -0.6429 -0.2886 -0.7095 +vn -0.5867 -0.3806 -0.7148 +vn -0.6210 -0.3806 -0.6852 +vn -0.6516 -0.2416 -0.7190 +vn -0.6156 -0.2416 -0.7501 +vn -0.6588 -0.1939 -0.7269 +vn -0.6224 -0.1939 -0.7583 +vn -0.5781 -0.2416 -0.7794 +vn -0.5704 -0.2886 -0.7690 +vn -0.5391 -0.2416 -0.8068 +vn -0.5319 -0.2886 -0.7961 +vn -0.5844 -0.1939 -0.7879 +vn -0.5450 -0.1939 -0.8157 +vn -0.5613 -0.3349 -0.7568 +vn -0.5509 -0.3806 -0.7427 +vn -0.5235 -0.3349 -0.7834 +vn -0.5138 -0.3806 -0.7689 +vn -0.6314 0.0974 -0.7693 +vn -0.6336 0.0488 -0.7721 +vn -0.6707 0.0488 -0.7401 +vn -0.6683 0.0974 -0.7375 +vn -0.6344 -0.0000 -0.7730 +vn -0.6715 -0.0000 -0.7410 +vn -0.6643 0.1458 -0.7331 +vn -0.6276 0.1458 -0.7648 +vn -0.6588 0.1939 -0.7269 +vn -0.6224 0.1939 -0.7583 +vn -0.5894 0.1458 -0.7946 +vn -0.5929 0.0974 -0.7994 +vn -0.5496 0.1458 -0.8226 +vn -0.5529 0.0974 -0.8275 +vn -0.5844 0.1939 -0.7879 +vn -0.5450 0.1939 -0.8157 +vn -0.5950 0.0488 -0.8022 +vn -0.5957 -0.0000 -0.8032 +vn -0.5549 0.0488 -0.8305 +vn -0.5556 -0.0000 -0.8315 +vn -0.5603 0.4690 -0.6827 +vn -0.5741 0.4254 -0.6996 +vn -0.6077 0.4254 -0.6706 +vn -0.5931 0.4690 -0.6544 +vn -0.5867 0.3806 -0.7148 +vn -0.6210 0.3806 -0.6852 +vn -0.5770 0.5116 -0.6367 +vn -0.5451 0.5116 -0.6642 +vn -0.5595 0.5531 -0.6173 +vn -0.5285 0.5531 -0.6440 +vn -0.5119 0.5116 -0.6901 +vn -0.5262 0.4690 -0.7093 +vn -0.4774 0.5116 -0.7144 +vn -0.4907 0.4690 -0.7343 +vn -0.4963 0.5531 -0.6691 +vn -0.4629 0.5531 -0.6927 +vn -0.5392 0.4254 -0.7269 +vn -0.5509 0.3806 -0.7427 +vn -0.5028 0.4254 -0.7525 +vn -0.5138 0.3806 -0.7689 +vn -0.4040 0.7709 -0.4923 +vn -0.4275 0.7388 -0.5210 +vn -0.4526 0.7388 -0.4994 +vn -0.4277 0.7710 -0.4719 +vn -0.4501 0.7048 -0.5484 +vn -0.4764 0.7048 -0.5257 +vn -0.4018 0.8013 -0.4433 +vn -0.3796 0.8013 -0.4625 +vn -0.3748 0.8297 -0.4136 +vn -0.3541 0.8297 -0.4315 +vn -0.3564 0.8013 -0.4805 +vn -0.3794 0.7709 -0.5115 +vn -0.3324 0.8013 -0.4975 +vn -0.3538 0.7709 -0.5296 +vn -0.3325 0.8297 -0.4483 +vn -0.3101 0.8297 -0.4641 +vn -0.4015 0.7388 -0.5413 +vn -0.4226 0.7048 -0.5698 +vn -0.3744 0.7388 -0.5604 +vn -0.3941 0.7048 -0.5899 +vn -0.1894 -0.9544 -0.2307 +vn -0.1626 -0.9666 -0.1982 +vn -0.1770 -0.9669 -0.1838 +vn -0.2020 -0.9546 -0.2190 +vn -0.1347 -0.9772 -0.1642 +vn -0.1519 -0.9777 -0.1451 +vn -0.2291 -0.9402 -0.2521 +vn -0.2162 -0.9402 -0.2634 +vn -0.2585 -0.9229 -0.2853 +vn -0.2442 -0.9229 -0.2976 +vn -0.2025 -0.9402 -0.2738 +vn -0.1754 -0.9546 -0.2409 +vn -0.1892 -0.9403 -0.2831 +vn -0.1652 -0.9548 -0.2472 +vn -0.2294 -0.9229 -0.3092 +vn -0.2139 -0.9229 -0.3201 +vn -0.1457 -0.9669 -0.2094 +vn -0.1127 -0.9777 -0.1773 +vn -0.1409 -0.9673 -0.2109 +vn -0.1148 -0.9784 -0.1719 +vn -0.1894 0.9544 -0.2307 +vn -0.2162 0.9402 -0.2634 +vn -0.2291 0.9402 -0.2521 +vn -0.2020 0.9546 -0.2190 +vn -0.2442 0.9229 -0.2976 +vn -0.2585 0.9229 -0.2853 +vn -0.1770 0.9669 -0.1838 +vn -0.1626 0.9666 -0.1982 +vn -0.1519 0.9777 -0.1451 +vn -0.1347 0.9772 -0.1642 +vn -0.1457 0.9669 -0.2094 +vn -0.1754 0.9546 -0.2409 +vn -0.1409 0.9673 -0.2109 +vn -0.1652 0.9548 -0.2472 +vn -0.1127 0.9777 -0.1773 +vn -0.1148 0.9784 -0.1719 +vn -0.2025 0.9402 -0.2738 +vn -0.2293 0.9229 -0.3092 +vn -0.1892 0.9403 -0.2831 +vn -0.2139 0.9229 -0.3201 +vn -0.4040 -0.7709 -0.4923 +vn -0.3796 -0.8013 -0.4625 +vn -0.4018 -0.8013 -0.4433 +vn -0.4277 -0.7709 -0.4719 +vn -0.3541 -0.8297 -0.4315 +vn -0.3748 -0.8297 -0.4136 +vn -0.4526 -0.7388 -0.4994 +vn -0.4275 -0.7388 -0.5210 +vn -0.4764 -0.7048 -0.5257 +vn -0.4500 -0.7048 -0.5484 +vn -0.4015 -0.7388 -0.5413 +vn -0.3794 -0.7709 -0.5115 +vn -0.3744 -0.7388 -0.5604 +vn -0.3538 -0.7709 -0.5296 +vn -0.4226 -0.7048 -0.5698 +vn -0.3941 -0.7048 -0.5899 +vn -0.3564 -0.8013 -0.4805 +vn -0.3325 -0.8297 -0.4483 +vn -0.3324 -0.8013 -0.4975 +vn -0.3101 -0.8297 -0.4641 +vn -0.5603 -0.4690 -0.6827 +vn -0.5451 -0.5116 -0.6642 +vn -0.5770 -0.5116 -0.6367 +vn -0.5931 -0.4690 -0.6544 +vn -0.5285 -0.5531 -0.6440 +vn -0.5595 -0.5531 -0.6173 +vn -0.6077 -0.4254 -0.6706 +vn -0.5741 -0.4254 -0.6996 +vn -0.5392 -0.4254 -0.7269 +vn -0.5262 -0.4690 -0.7093 +vn -0.5028 -0.4254 -0.7525 +vn -0.4907 -0.4690 -0.7343 +vn -0.5119 -0.5116 -0.6901 +vn -0.4963 -0.5531 -0.6691 +vn -0.4774 -0.5116 -0.7144 +vn -0.4629 -0.5531 -0.6927 +vn -0.6314 -0.0974 -0.7693 +vn -0.6276 -0.1458 -0.7648 +vn -0.6643 -0.1458 -0.7331 +vn -0.6683 -0.0974 -0.7375 +vn -0.6707 -0.0488 -0.7401 +vn -0.6336 -0.0488 -0.7721 +vn -0.5950 -0.0488 -0.8022 +vn -0.5929 -0.0974 -0.7994 +vn -0.5549 -0.0488 -0.8305 +vn -0.5529 -0.0974 -0.8275 +vn -0.5894 -0.1458 -0.7946 +vn -0.5496 -0.1458 -0.8226 +vn -0.6074 0.2886 -0.7401 +vn -0.6156 0.2416 -0.7501 +vn -0.6516 0.2416 -0.7190 +vn -0.6429 0.2886 -0.7095 +vn -0.6327 0.3349 -0.6982 +vn -0.5978 0.3349 -0.7284 +vn -0.5613 0.3349 -0.7568 +vn -0.5704 0.2886 -0.7690 +vn -0.5235 0.3349 -0.7834 +vn -0.5319 0.2886 -0.7961 +vn -0.5781 0.2416 -0.7794 +vn -0.5391 0.2416 -0.8068 +vn -0.4917 0.6319 -0.5991 +vn -0.5107 0.5933 -0.6223 +vn -0.5406 0.5933 -0.5965 +vn -0.5204 0.6319 -0.5743 +vn -0.4991 0.6691 -0.5507 +vn -0.4715 0.6691 -0.5745 +vn -0.4427 0.6691 -0.5969 +vn -0.4617 0.6319 -0.6225 +vn -0.4129 0.6691 -0.6179 +vn -0.4306 0.6319 -0.6444 +vn -0.4796 0.5932 -0.6466 +vn -0.4472 0.5933 -0.6693 +vn -0.3006 0.8806 -0.3663 +vn -0.3277 0.8562 -0.3993 +vn -0.3469 0.8562 -0.3828 +vn -0.3182 0.8806 -0.3512 +vn -0.2888 0.9028 -0.3186 +vn -0.2728 0.9028 -0.3324 +vn -0.2562 0.9028 -0.3454 +vn -0.2823 0.8806 -0.3806 +vn -0.2389 0.9028 -0.3576 +vn -0.2633 0.8806 -0.3940 +vn -0.3078 0.8562 -0.4149 +vn -0.2870 0.8562 -0.4295 +vn -0.3006 -0.8806 -0.3663 +vn -0.2728 -0.9028 -0.3324 +vn -0.2888 -0.9028 -0.3186 +vn -0.3182 -0.8806 -0.3512 +vn -0.3469 -0.8562 -0.3828 +vn -0.3277 -0.8562 -0.3993 +vn -0.3078 -0.8562 -0.4149 +vn -0.2823 -0.8806 -0.3806 +vn -0.2870 -0.8562 -0.4296 +vn -0.2633 -0.8806 -0.3940 +vn -0.2562 -0.9028 -0.3454 +vn -0.2389 -0.9028 -0.3575 +vn -0.4917 -0.6319 -0.5991 +vn -0.4715 -0.6691 -0.5745 +vn -0.4990 -0.6691 -0.5507 +vn -0.5204 -0.6319 -0.5743 +vn -0.5406 -0.5932 -0.5965 +vn -0.5107 -0.5932 -0.6223 +vn -0.4796 -0.5932 -0.6466 +vn -0.4617 -0.6319 -0.6225 +vn -0.4472 -0.5932 -0.6694 +vn -0.4306 -0.6319 -0.6444 +vn -0.4427 -0.6691 -0.5969 +vn -0.4129 -0.6691 -0.6179 +vn -0.4513 -0.2886 -0.8444 +vn -0.4442 -0.3349 -0.8310 +vn -0.4844 -0.3349 -0.8082 +vn -0.4922 -0.2886 -0.8213 +vn -0.4359 -0.3806 -0.8156 +vn -0.4754 -0.3806 -0.7932 +vn -0.4988 -0.2416 -0.8324 +vn -0.4574 -0.2416 -0.8558 +vn -0.5043 -0.1939 -0.8415 +vn -0.4625 -0.1939 -0.8652 +vn -0.4149 -0.2416 -0.8772 +vn -0.4094 -0.2886 -0.8655 +vn -0.3713 -0.2416 -0.8965 +vn -0.3664 -0.2886 -0.8846 +vn -0.4195 -0.1939 -0.8868 +vn -0.3754 -0.1939 -0.9063 +vn -0.4029 -0.3349 -0.8518 +vn -0.3954 -0.3806 -0.8359 +vn -0.3606 -0.3349 -0.8705 +vn -0.3539 -0.3806 -0.8544 +vn -0.4692 0.0974 -0.8777 +vn -0.4708 0.0488 -0.8809 +vn -0.5134 0.0488 -0.8567 +vn -0.5116 0.0974 -0.8537 +vn -0.4714 -0.0000 -0.8819 +vn -0.5141 -0.0000 -0.8578 +vn -0.5086 0.1458 -0.8486 +vn -0.4664 0.1458 -0.8725 +vn -0.5043 0.1939 -0.8415 +vn -0.4625 0.1939 -0.8652 +vn -0.4230 0.1458 -0.8943 +vn -0.4256 0.0974 -0.8997 +vn -0.3786 0.1458 -0.9140 +vn -0.3809 0.0974 -0.9195 +vn -0.4195 0.1939 -0.8868 +vn -0.3754 0.1939 -0.9063 +vn -0.4271 0.0488 -0.9029 +vn -0.4276 -0.0000 -0.9040 +vn -0.3822 0.0488 -0.9228 +vn -0.3827 -0.0000 -0.9239 +vn -0.4163 0.4690 -0.7789 +vn -0.4266 0.4254 -0.7982 +vn -0.4652 0.4254 -0.7763 +vn -0.4540 0.4690 -0.7576 +vn -0.4359 0.3806 -0.8156 +vn -0.4754 0.3806 -0.7932 +vn -0.4417 0.5116 -0.7370 +vn -0.4050 0.5116 -0.7578 +vn -0.4283 0.5531 -0.7146 +vn -0.3927 0.5531 -0.7348 +vn -0.3674 0.5116 -0.7767 +vn -0.3777 0.4690 -0.7984 +vn -0.3288 0.5116 -0.7938 +vn -0.3380 0.4690 -0.8160 +vn -0.3563 0.5531 -0.7531 +vn -0.3188 0.5531 -0.7697 +vn -0.3870 0.4254 -0.8181 +vn -0.3954 0.3806 -0.8359 +vn -0.3463 0.4254 -0.8361 +vn -0.3539 0.3806 -0.8544 +vn -0.3002 0.7709 -0.5617 +vn -0.3177 0.7388 -0.5944 +vn -0.3464 0.7388 -0.5781 +vn -0.3274 0.7710 -0.5463 +vn -0.3344 0.7048 -0.6257 +vn -0.3647 0.7048 -0.6085 +vn -0.3076 0.8013 -0.5132 +vn -0.2820 0.8013 -0.5277 +vn -0.2869 0.8297 -0.4788 +vn -0.2631 0.8297 -0.4922 +vn -0.2558 0.8013 -0.5409 +vn -0.2723 0.7709 -0.5757 +vn -0.2290 0.8013 -0.5528 +vn -0.2437 0.7709 -0.5884 +vn -0.2387 0.8297 -0.5045 +vn -0.2136 0.8297 -0.5157 +vn -0.2882 0.7388 -0.6092 +vn -0.3034 0.7048 -0.6413 +vn -0.2579 0.7388 -0.6226 +vn -0.2715 0.7048 -0.6554 +vn -0.1407 -0.9544 -0.2632 +vn -0.1209 -0.9666 -0.2261 +vn -0.1377 -0.9669 -0.2148 +vn -0.1554 -0.9546 -0.2542 +vn -0.1001 -0.9772 -0.1873 +vn -0.1207 -0.9777 -0.1719 +vn -0.1755 -0.9402 -0.2919 +vn -0.1606 -0.9402 -0.3005 +vn -0.1979 -0.9229 -0.3302 +vn -0.1815 -0.9229 -0.3395 +vn -0.1452 -0.9402 -0.3081 +vn -0.1250 -0.9546 -0.2704 +vn -0.1303 -0.9403 -0.3146 +vn -0.1138 -0.9548 -0.2747 +vn -0.1646 -0.9229 -0.3480 +vn -0.1473 -0.9229 -0.3557 +vn -0.1020 -0.9669 -0.2338 +vn -0.0759 -0.9777 -0.1959 +vn -0.0971 -0.9673 -0.2344 +vn -0.0791 -0.9784 -0.1910 +vn -0.1407 0.9544 -0.2632 +vn -0.1606 0.9402 -0.3005 +vn -0.1755 0.9402 -0.2919 +vn -0.1554 0.9546 -0.2542 +vn -0.1815 0.9229 -0.3395 +vn -0.1979 0.9229 -0.3302 +vn -0.1378 0.9669 -0.2148 +vn -0.1208 0.9666 -0.2261 +vn -0.1207 0.9777 -0.1719 +vn -0.1001 0.9772 -0.1873 +vn -0.1020 0.9669 -0.2338 +vn -0.1250 0.9546 -0.2704 +vn -0.0971 0.9673 -0.2344 +vn -0.1138 0.9548 -0.2747 +vn -0.0759 0.9777 -0.1959 +vn -0.0791 0.9784 -0.1910 +vn -0.1452 0.9402 -0.3081 +vn -0.1646 0.9229 -0.3480 +vn -0.1303 0.9403 -0.3145 +vn -0.1473 0.9229 -0.3557 +vn -0.3002 -0.7709 -0.5617 +vn -0.2820 -0.8013 -0.5277 +vn -0.3076 -0.8013 -0.5132 +vn -0.3274 -0.7709 -0.5463 +vn -0.2631 -0.8297 -0.4922 +vn -0.2869 -0.8297 -0.4788 +vn -0.3464 -0.7388 -0.5781 +vn -0.3177 -0.7388 -0.5944 +vn -0.3647 -0.7048 -0.6085 +vn -0.3344 -0.7048 -0.6257 +vn -0.2882 -0.7388 -0.6092 +vn -0.2723 -0.7709 -0.5757 +vn -0.2579 -0.7388 -0.6226 +vn -0.2437 -0.7709 -0.5884 +vn -0.3034 -0.7048 -0.6413 +vn -0.2715 -0.7048 -0.6554 +vn -0.2558 -0.8013 -0.5408 +vn -0.2387 -0.8297 -0.5045 +vn -0.2290 -0.8013 -0.5528 +vn -0.2136 -0.8297 -0.5157 +vn -0.4163 -0.4690 -0.7789 +vn -0.4050 -0.5116 -0.7578 +vn -0.4417 -0.5116 -0.7370 +vn -0.4540 -0.4690 -0.7576 +vn -0.3927 -0.5531 -0.7348 +vn -0.4283 -0.5531 -0.7146 +vn -0.4652 -0.4254 -0.7763 +vn -0.4266 -0.4254 -0.7982 +vn -0.3870 -0.4254 -0.8181 +vn -0.3777 -0.4690 -0.7984 +vn -0.3463 -0.4254 -0.8361 +vn -0.3380 -0.4690 -0.8160 +vn -0.3674 -0.5116 -0.7767 +vn -0.3563 -0.5531 -0.7531 +vn -0.3288 -0.5116 -0.7938 +vn -0.3188 -0.5531 -0.7697 +vn -0.4692 -0.0974 -0.8777 +vn -0.4664 -0.1458 -0.8725 +vn -0.5086 -0.1458 -0.8486 +vn -0.5116 -0.0974 -0.8537 +vn -0.5134 -0.0488 -0.8567 +vn -0.4708 -0.0488 -0.8809 +vn -0.4271 -0.0488 -0.9029 +vn -0.4256 -0.0974 -0.8997 +vn -0.3822 -0.0488 -0.9228 +vn -0.3809 -0.0974 -0.9195 +vn -0.4230 -0.1458 -0.8943 +vn -0.3786 -0.1458 -0.9140 +vn -0.4513 0.2886 -0.8444 +vn -0.4574 0.2416 -0.8558 +vn -0.4988 0.2416 -0.8324 +vn -0.4922 0.2886 -0.8213 +vn -0.4844 0.3349 -0.8082 +vn -0.4442 0.3349 -0.8310 +vn -0.4029 0.3349 -0.8518 +vn -0.4094 0.2886 -0.8655 +vn -0.3606 0.3349 -0.8705 +vn -0.3664 0.2886 -0.8846 +vn -0.4149 0.2416 -0.8772 +vn -0.3713 0.2416 -0.8965 +vn -0.3653 0.6319 -0.6835 +vn -0.3795 0.5933 -0.7100 +vn -0.4138 0.5933 -0.6905 +vn -0.3984 0.6319 -0.6648 +vn -0.3820 0.6691 -0.6375 +vn -0.3503 0.6691 -0.6554 +vn -0.3178 0.6691 -0.6718 +vn -0.3314 0.6319 -0.7006 +vn -0.2844 0.6691 -0.6866 +vn -0.2966 0.6319 -0.7160 +vn -0.3442 0.5933 -0.7277 +vn -0.3081 0.5933 -0.7437 +vn -0.2234 0.8806 -0.4179 +vn -0.2435 0.8562 -0.4556 +vn -0.2656 0.8562 -0.4431 +vn -0.2436 0.8806 -0.4065 +vn -0.2211 0.9028 -0.3689 +vn -0.2027 0.9028 -0.3793 +vn -0.1839 0.9028 -0.3887 +vn -0.2026 0.8806 -0.4284 +vn -0.1646 0.9028 -0.3973 +vn -0.1814 0.8806 -0.4378 +vn -0.2209 0.8562 -0.4670 +vn -0.1977 0.8562 -0.4773 +vn -0.2234 -0.8806 -0.4179 +vn -0.2027 -0.9028 -0.3792 +vn -0.2211 -0.9028 -0.3689 +vn -0.2436 -0.8806 -0.4065 +vn -0.2656 -0.8562 -0.4431 +vn -0.2435 -0.8562 -0.4556 +vn -0.2209 -0.8562 -0.4670 +vn -0.2026 -0.8806 -0.4284 +vn -0.1977 -0.8562 -0.4773 +vn -0.1814 -0.8806 -0.4378 +vn -0.1839 -0.9028 -0.3887 +vn -0.1646 -0.9028 -0.3973 +vn -0.3653 -0.6319 -0.6835 +vn -0.3503 -0.6691 -0.6554 +vn -0.3820 -0.6691 -0.6375 +vn -0.3984 -0.6319 -0.6648 +vn -0.4138 -0.5932 -0.6905 +vn -0.3795 -0.5932 -0.7100 +vn -0.3442 -0.5932 -0.7277 +vn -0.3314 -0.6319 -0.7006 +vn -0.3081 -0.5932 -0.7437 +vn -0.2966 -0.6319 -0.7160 +vn -0.3178 -0.6691 -0.6718 +vn -0.2844 -0.6691 -0.6866 +vn -0.2779 -0.2886 -0.9162 +vn -0.2735 -0.3349 -0.9017 +vn -0.3174 -0.3349 -0.8872 +vn -0.3225 -0.2886 -0.9015 +vn -0.2684 -0.3806 -0.8849 +vn -0.3115 -0.3806 -0.8707 +vn -0.3269 -0.2416 -0.9137 +vn -0.2817 -0.2416 -0.9286 +vn -0.3304 -0.1939 -0.9237 +vn -0.2848 -0.1939 -0.9388 +vn -0.2358 -0.2416 -0.9413 +vn -0.2327 -0.2886 -0.9287 +vn -0.1893 -0.2416 -0.9517 +vn -0.1868 -0.2886 -0.9391 +vn -0.2384 -0.1939 -0.9516 +vn -0.1914 -0.1939 -0.9622 +vn -0.2290 -0.3349 -0.9140 +vn -0.2247 -0.3806 -0.8970 +vn -0.1838 -0.3349 -0.9241 +vn -0.1804 -0.3806 -0.9070 +vn -0.2889 0.0974 -0.9524 +vn -0.2899 0.0488 -0.9558 +vn -0.3364 0.0488 -0.9404 +vn -0.3352 0.0974 -0.9371 +vn -0.2903 -0.0000 -0.9569 +vn -0.3368 -0.0000 -0.9416 +vn -0.3332 0.1458 -0.9315 +vn -0.2872 0.1458 -0.9467 +vn -0.3304 0.1939 -0.9237 +vn -0.2848 0.1939 -0.9388 +vn -0.2404 0.1458 -0.9597 +vn -0.2419 0.0974 -0.9654 +vn -0.1930 0.1458 -0.9703 +vn -0.1942 0.0974 -0.9761 +vn -0.2384 0.1939 -0.9516 +vn -0.1914 0.1939 -0.9622 +vn -0.2427 0.0488 -0.9689 +vn -0.2430 -0.0000 -0.9700 +vn -0.1949 0.0488 -0.9796 +vn -0.1951 -0.0000 -0.9808 +vn -0.2564 0.4690 -0.8452 +vn -0.2627 0.4254 -0.8661 +vn -0.3048 0.4254 -0.8521 +vn -0.2975 0.4690 -0.8316 +vn -0.2684 0.3806 -0.8849 +vn -0.3115 0.3806 -0.8707 +vn -0.2894 0.5116 -0.8090 +vn -0.2494 0.5116 -0.8222 +vn -0.2806 0.5531 -0.7844 +vn -0.2418 0.5531 -0.7973 +vn -0.2088 0.5116 -0.8335 +vn -0.2146 0.4690 -0.8567 +vn -0.1676 0.5116 -0.8427 +vn -0.1723 0.4690 -0.8662 +vn -0.2025 0.5531 -0.8081 +vn -0.1625 0.5531 -0.8171 +vn -0.2200 0.4254 -0.8779 +vn -0.2247 0.3806 -0.8970 +vn -0.1766 0.4254 -0.8876 +vn -0.1804 0.3806 -0.9070 +vn -0.1849 0.7709 -0.6095 +vn -0.1956 0.7388 -0.6449 +vn -0.2270 0.7388 -0.6346 +vn -0.2145 0.7709 -0.5997 +vn -0.2059 0.7048 -0.6789 +vn -0.2390 0.7048 -0.6680 +vn -0.2015 0.8013 -0.5633 +vn -0.1737 0.8013 -0.5725 +vn -0.1880 0.8297 -0.5255 +vn -0.1620 0.8297 -0.5341 +vn -0.1454 0.8013 -0.5804 +vn -0.1548 0.7709 -0.6178 +vn -0.1167 0.8013 -0.5868 +vn -0.1242 0.7709 -0.6247 +vn -0.1357 0.8297 -0.5414 +vn -0.1089 0.8297 -0.5474 +vn -0.1638 0.7388 -0.6537 +vn -0.1724 0.7048 -0.6882 +vn -0.1315 0.7388 -0.6610 +vn -0.1384 0.7048 -0.6958 +vn -0.0866 -0.9544 -0.2856 +vn -0.0744 -0.9666 -0.2453 +vn -0.0932 -0.9669 -0.2375 +vn -0.1028 -0.9546 -0.2796 +vn -0.0617 -0.9772 -0.2032 +vn -0.0848 -0.9777 -0.1922 +vn -0.1152 -0.9402 -0.3205 +vn -0.0989 -0.9402 -0.3261 +vn -0.1297 -0.9229 -0.3625 +vn -0.1118 -0.9229 -0.3684 +vn -0.0823 -0.9402 -0.3305 +vn -0.0698 -0.9546 -0.2896 +vn -0.0664 -0.9403 -0.3339 +vn -0.0580 -0.9548 -0.2916 +vn -0.0936 -0.9229 -0.3734 +vn -0.0751 -0.9229 -0.3776 +vn -0.0544 -0.9669 -0.2493 +vn -0.0363 -0.9777 -0.2069 +vn -0.0495 -0.9673 -0.2488 +vn -0.0403 -0.9784 -0.2027 +vn -0.0866 0.9544 -0.2856 +vn -0.0989 0.9402 -0.3261 +vn -0.1152 0.9402 -0.3205 +vn -0.1029 0.9546 -0.2796 +vn -0.1118 0.9229 -0.3684 +vn -0.1297 0.9229 -0.3625 +vn -0.0932 0.9669 -0.2375 +vn -0.0744 0.9666 -0.2453 +vn -0.0848 0.9777 -0.1922 +vn -0.0616 0.9772 -0.2032 +vn -0.0545 0.9669 -0.2493 +vn -0.0698 0.9546 -0.2896 +vn -0.0495 0.9673 -0.2488 +vn -0.0580 0.9548 -0.2916 +vn -0.0362 0.9777 -0.2069 +vn -0.0403 0.9784 -0.2027 +vn -0.0823 0.9402 -0.3305 +vn -0.0936 0.9229 -0.3734 +vn -0.0664 0.9403 -0.3339 +vn -0.0751 0.9229 -0.3776 +vn -0.1849 -0.7709 -0.6095 +vn -0.1737 -0.8013 -0.5725 +vn -0.2015 -0.8013 -0.5633 +vn -0.2145 -0.7709 -0.5997 +vn -0.1620 -0.8297 -0.5341 +vn -0.1880 -0.8297 -0.5255 +vn -0.2270 -0.7388 -0.6346 +vn -0.1956 -0.7388 -0.6449 +vn -0.2390 -0.7048 -0.6680 +vn -0.2059 -0.7048 -0.6789 +vn -0.1638 -0.7388 -0.6537 +vn -0.1548 -0.7709 -0.6178 +vn -0.1315 -0.7388 -0.6610 +vn -0.1243 -0.7709 -0.6247 +vn -0.1724 -0.7048 -0.6881 +vn -0.1384 -0.7048 -0.6958 +vn -0.1454 -0.8013 -0.5804 +vn -0.1357 -0.8297 -0.5414 +vn -0.1167 -0.8013 -0.5868 +vn -0.1089 -0.8297 -0.5474 +vn -0.2564 -0.4690 -0.8451 +vn -0.2494 -0.5116 -0.8222 +vn -0.2894 -0.5116 -0.8090 +vn -0.2975 -0.4690 -0.8316 +vn -0.2418 -0.5531 -0.7973 +vn -0.2806 -0.5531 -0.7844 +vn -0.3048 -0.4254 -0.8521 +vn -0.2627 -0.4254 -0.8661 +vn -0.2200 -0.4254 -0.8779 +vn -0.2146 -0.4690 -0.8567 +vn -0.1766 -0.4254 -0.8876 +vn -0.1723 -0.4690 -0.8662 +vn -0.2088 -0.5116 -0.8335 +vn -0.2025 -0.5531 -0.8081 +vn -0.1676 -0.5116 -0.8427 +vn -0.1625 -0.5531 -0.8171 +vn -0.2889 -0.0974 -0.9524 +vn -0.2872 -0.1458 -0.9467 +vn -0.3332 -0.1458 -0.9315 +vn -0.3352 -0.0974 -0.9371 +vn -0.3364 -0.0488 -0.9404 +vn -0.2899 -0.0488 -0.9558 +vn -0.2428 -0.0488 -0.9689 +vn -0.2419 -0.0974 -0.9654 +vn -0.1949 -0.0488 -0.9796 +vn -0.1942 -0.0974 -0.9761 +vn -0.2404 -0.1458 -0.9597 +vn -0.1930 -0.1458 -0.9703 +vn -0.2779 0.2886 -0.9162 +vn -0.2817 0.2416 -0.9286 +vn -0.3269 0.2416 -0.9137 +vn -0.3225 0.2886 -0.9015 +vn -0.3174 0.3349 -0.8872 +vn -0.2735 0.3349 -0.9017 +vn -0.2290 0.3349 -0.9140 +vn -0.2327 0.2886 -0.9287 +vn -0.1838 0.3349 -0.9241 +vn -0.1868 0.2886 -0.9391 +vn -0.2358 0.2416 -0.9413 +vn -0.1893 0.2416 -0.9517 +vn -0.2250 0.6319 -0.7417 +vn -0.2337 0.5932 -0.7704 +vn -0.2712 0.5933 -0.7580 +vn -0.2611 0.6319 -0.7297 +vn -0.2503 0.6691 -0.6997 +vn -0.2157 0.6691 -0.7112 +vn -0.1806 0.6691 -0.7209 +vn -0.1884 0.6319 -0.7518 +vn -0.1450 0.6691 -0.7289 +vn -0.1512 0.6319 -0.7601 +vn -0.1957 0.5932 -0.7809 +vn -0.1571 0.5932 -0.7896 +vn -0.1376 0.8806 -0.4535 +vn -0.1500 0.8562 -0.4944 +vn -0.1740 0.8562 -0.4864 +vn -0.1596 0.8806 -0.4462 +vn -0.1448 0.9028 -0.4049 +vn -0.1248 0.9028 -0.4115 +vn -0.1045 0.9028 -0.4171 +vn -0.1152 0.8806 -0.4597 +vn -0.0839 0.9028 -0.4218 +vn -0.0924 0.8806 -0.4648 +vn -0.1256 0.8562 -0.5011 +vn -0.1008 0.8562 -0.5067 +vn -0.1376 -0.8806 -0.4535 +vn -0.1248 -0.9028 -0.4115 +vn -0.1448 -0.9028 -0.4049 +vn -0.1596 -0.8806 -0.4462 +vn -0.1740 -0.8562 -0.4864 +vn -0.1500 -0.8562 -0.4944 +vn -0.1256 -0.8562 -0.5011 +vn -0.1152 -0.8806 -0.4597 +vn -0.1008 -0.8562 -0.5067 +vn -0.0924 -0.8806 -0.4648 +vn -0.1045 -0.9028 -0.4171 +vn -0.0839 -0.9028 -0.4218 +vn -0.2250 -0.6319 -0.7417 +vn -0.2157 -0.6691 -0.7112 +vn -0.2503 -0.6691 -0.6997 +vn -0.2611 -0.6319 -0.7297 +vn -0.2712 -0.5932 -0.7580 +vn -0.2337 -0.5932 -0.7704 +vn -0.1956 -0.5932 -0.7809 +vn -0.1884 -0.6319 -0.7518 +vn -0.1571 -0.5932 -0.7896 +vn -0.1512 -0.6319 -0.7601 +vn -0.1806 -0.6691 -0.7209 +vn -0.1450 -0.6691 -0.7289 +vn -0.0938 -0.2886 -0.9528 +vn -0.0924 -0.3349 -0.9377 +vn -0.1382 -0.3349 -0.9321 +vn -0.1404 -0.2886 -0.9471 +vn -0.0906 -0.3806 -0.9203 +vn -0.1356 -0.3806 -0.9147 +vn -0.1423 -0.2416 -0.9599 +vn -0.0951 -0.2416 -0.9657 +vn -0.1439 -0.1939 -0.9704 +vn -0.0962 -0.1939 -0.9763 +vn -0.0477 -0.2416 -0.9692 +vn -0.0470 -0.2886 -0.9563 +vn -0.0000 -0.2416 -0.9704 +vn -0.0000 -0.2886 -0.9575 +vn -0.0482 -0.1939 -0.9798 +vn -0.0000 -0.1939 -0.9810 +vn -0.0463 -0.3349 -0.9411 +vn -0.0454 -0.3806 -0.9236 +vn -0.0000 -0.3349 -0.9422 +vn -0.0000 -0.3806 -0.9247 +vn -0.0976 0.0974 -0.9905 +vn -0.0979 0.0488 -0.9940 +vn -0.1465 0.0488 -0.9880 +vn -0.1460 0.0974 -0.9845 +vn -0.0980 -0.0000 -0.9952 +vn -0.1467 -0.0000 -0.9892 +vn -0.1451 0.1458 -0.9786 +vn -0.0970 0.1458 -0.9846 +vn -0.1439 0.1939 -0.9704 +vn -0.0962 0.1939 -0.9763 +vn -0.0486 0.1458 -0.9881 +vn -0.0489 0.0974 -0.9940 +vn -0.0000 0.1458 -0.9893 +vn -0.0000 0.0974 -0.9952 +vn -0.0482 0.1939 -0.9798 +vn -0.0000 0.1939 -0.9810 +vn -0.0491 0.0488 -0.9976 +vn -0.0491 -0.0000 -0.9988 +vn -0.0000 0.0488 -0.9988 +vn -0.0000 -0.0000 -1.0000 +vn -0.0866 0.4690 -0.8789 +vn -0.0887 0.4254 -0.9007 +vn -0.1327 0.4254 -0.8952 +vn -0.1295 0.4690 -0.8736 +vn -0.0906 0.3806 -0.9203 +vn -0.1356 0.3806 -0.9147 +vn -0.1260 0.5116 -0.8499 +vn -0.0842 0.5116 -0.8551 +vn -0.1222 0.5531 -0.8241 +vn -0.0817 0.5531 -0.8291 +vn -0.0422 0.5116 -0.8582 +vn -0.0434 0.4690 -0.8821 +vn -0.0000 0.5116 -0.8592 +vn -0.0000 0.4690 -0.8832 +vn -0.0409 0.5531 -0.8321 +vn -0.0000 0.5531 -0.8331 +vn -0.0445 0.4254 -0.9039 +vn -0.0454 0.3806 -0.9236 +vn -0.0000 0.4254 -0.9050 +vn -0.0000 0.3806 -0.9247 +vn -0.0624 0.7709 -0.6338 +vn -0.0661 0.7388 -0.6707 +vn -0.0988 0.7388 -0.6667 +vn -0.0934 0.7709 -0.6300 +vn -0.0695 0.7048 -0.7060 +vn -0.1041 0.7048 -0.7017 +vn -0.0877 0.8013 -0.5918 +vn -0.0587 0.8013 -0.5954 +vn -0.0819 0.8297 -0.5521 +vn -0.0547 0.8297 -0.5555 +vn -0.0294 0.8013 -0.5976 +vn -0.0313 0.7709 -0.6361 +vn -0.0000 0.8013 -0.5983 +vn -0.0000 0.7709 -0.6369 +vn -0.0274 0.8297 -0.5575 +vn -0.0000 0.8297 -0.5582 +vn -0.0331 0.7388 -0.6731 +vn -0.0348 0.7048 -0.7086 +vn -0.0000 0.7388 -0.6739 +vn -0.0000 0.7048 -0.7094 +vn -0.0293 -0.9544 -0.2970 +vn -0.0251 -0.9666 -0.2551 +vn -0.0451 -0.9669 -0.2511 +vn -0.0463 -0.9546 -0.2943 +vn -0.0208 -0.9772 -0.2114 +vn -0.0457 -0.9777 -0.2050 +vn -0.0504 -0.9402 -0.3369 +vn -0.0334 -0.9402 -0.3391 +vn -0.0565 -0.9229 -0.3808 +vn -0.0377 -0.9229 -0.3831 +vn -0.0163 -0.9402 -0.3402 +vn -0.0120 -0.9546 -0.2977 +vn -0.0000 -0.9403 -0.3405 +vn -0.0000 -0.9548 -0.2974 +vn -0.0189 -0.9229 -0.3845 +vn -0.0000 -0.9229 -0.3850 +vn -0.0048 -0.9669 -0.2551 +vn 0.0048 -0.9777 -0.2100 +vn -0.0000 -0.9673 -0.2537 +vn -0.0000 -0.9784 -0.2067 +vn -0.0293 0.9544 -0.2970 +vn -0.0334 0.9402 -0.3391 +vn -0.0504 0.9402 -0.3368 +vn -0.0463 0.9546 -0.2943 +vn -0.0377 0.9229 -0.3831 +vn -0.0565 0.9229 -0.3808 +vn -0.0451 0.9669 -0.2511 +vn -0.0251 0.9666 -0.2551 +vn -0.0457 0.9777 -0.2050 +vn -0.0208 0.9772 -0.2114 +vn -0.0048 0.9669 -0.2551 +vn -0.0120 0.9546 -0.2977 +vn -0.0000 0.9673 -0.2537 +vn -0.0000 0.9548 -0.2974 +vn 0.0048 0.9777 -0.2100 +vn -0.0000 0.9784 -0.2067 +vn -0.0163 0.9402 -0.3402 +vn -0.0189 0.9229 -0.3845 +vn -0.0000 0.9403 -0.3405 +vn -0.0000 0.9229 -0.3850 +vn -0.0624 -0.7709 -0.6338 +vn -0.0586 -0.8013 -0.5954 +vn -0.0878 -0.8013 -0.5918 +vn -0.0934 -0.7709 -0.6300 +vn -0.0547 -0.8297 -0.5555 +vn -0.0819 -0.8297 -0.5521 +vn -0.0989 -0.7388 -0.6667 +vn -0.0661 -0.7388 -0.6707 +vn -0.1041 -0.7048 -0.7017 +vn -0.0695 -0.7048 -0.7060 +vn -0.0331 -0.7388 -0.6731 +vn -0.0313 -0.7709 -0.6361 +vn -0.0000 -0.7388 -0.6739 +vn -0.0000 -0.7709 -0.6369 +vn -0.0348 -0.7048 -0.7086 +vn -0.0000 -0.7048 -0.7094 +vn -0.0294 -0.8013 -0.5976 +vn -0.0274 -0.8297 -0.5575 +vn -0.0000 -0.8013 -0.5983 +vn -0.0000 -0.8297 -0.5581 +vn -0.0866 -0.4690 -0.8789 +vn -0.0842 -0.5116 -0.8551 +vn -0.1260 -0.5116 -0.8499 +vn -0.1295 -0.4690 -0.8736 +vn -0.0817 -0.5531 -0.8291 +vn -0.1222 -0.5531 -0.8241 +vn -0.1327 -0.4254 -0.8952 +vn -0.0887 -0.4254 -0.9007 +vn -0.0445 -0.4254 -0.9039 +vn -0.0434 -0.4690 -0.8821 +vn -0.0000 -0.4254 -0.9050 +vn -0.0000 -0.4690 -0.8832 +vn -0.0422 -0.5116 -0.8582 +vn -0.0409 -0.5531 -0.8321 +vn -0.0000 -0.5116 -0.8592 +vn -0.0000 -0.5531 -0.8331 +vn -0.0976 -0.0974 -0.9905 +vn -0.0970 -0.1458 -0.9846 +vn -0.1451 -0.1458 -0.9786 +vn -0.1460 -0.0974 -0.9845 +vn -0.1465 -0.0488 -0.9880 +vn -0.0979 -0.0488 -0.9940 +vn -0.0491 -0.0488 -0.9976 +vn -0.0489 -0.0974 -0.9940 +vn -0.0000 -0.0488 -0.9988 +vn -0.0000 -0.0974 -0.9952 +vn -0.0486 -0.1458 -0.9881 +vn -0.0000 -0.1458 -0.9893 +vn -0.0938 0.2886 -0.9528 +vn -0.0951 0.2416 -0.9657 +vn -0.1423 0.2416 -0.9599 +vn -0.1404 0.2886 -0.9471 +vn -0.1382 0.3349 -0.9321 +vn -0.0924 0.3349 -0.9377 +vn -0.0463 0.3349 -0.9411 +vn -0.0470 0.2886 -0.9563 +vn -0.0000 0.3349 -0.9422 +vn -0.0000 0.2886 -0.9575 +vn -0.0477 0.2416 -0.9692 +vn -0.0000 0.2416 -0.9704 +vn -0.0760 0.6319 -0.7713 +vn -0.0789 0.5932 -0.8011 +vn -0.1181 0.5932 -0.7963 +vn -0.1137 0.6319 -0.7666 +vn -0.1090 0.6691 -0.7351 +vn -0.0728 0.6691 -0.7396 +vn -0.0365 0.6691 -0.7423 +vn -0.0381 0.6319 -0.7741 +vn -0.0000 0.6691 -0.7432 +vn -0.0000 0.6319 -0.7750 +vn -0.0395 0.5932 -0.8040 +vn -0.0000 0.5932 -0.8050 +vn -0.0464 0.8806 -0.4716 +vn -0.0506 0.8562 -0.5141 +vn -0.0758 0.8562 -0.5110 +vn -0.0695 0.8806 -0.4688 +vn -0.0631 0.9028 -0.4254 +vn -0.0421 0.9028 -0.4280 +vn -0.0211 0.9028 -0.4295 +vn -0.0233 0.8806 -0.4733 +vn -0.0000 0.9028 -0.4300 +vn -0.0000 0.8806 -0.4739 +vn -0.0254 0.8562 -0.5160 +vn -0.0000 0.8562 -0.5166 +vn -0.0464 -0.8806 -0.4716 +vn -0.0421 -0.9028 -0.4280 +vn -0.0631 -0.9028 -0.4254 +vn -0.0695 -0.8806 -0.4688 +vn -0.0758 -0.8562 -0.5110 +vn -0.0506 -0.8562 -0.5141 +vn -0.0254 -0.8562 -0.5160 +vn -0.0233 -0.8806 -0.4733 +vn -0.0000 -0.8562 -0.5166 +vn -0.0000 -0.8806 -0.4739 +vn -0.0211 -0.9028 -0.4295 +vn -0.0000 -0.9028 -0.4300 +vn -0.0760 -0.6319 -0.7713 +vn -0.0728 -0.6691 -0.7396 +vn -0.1090 -0.6691 -0.7351 +vn -0.1137 -0.6319 -0.7667 +vn -0.1181 -0.5932 -0.7963 +vn -0.0789 -0.5932 -0.8011 +vn -0.0395 -0.5932 -0.8040 +vn -0.0381 -0.6319 -0.7741 +vn -0.0000 -0.5932 -0.8050 +vn -0.0000 -0.6319 -0.7750 +vn -0.0365 -0.6691 -0.7423 +vn -0.0000 -0.6691 -0.7432 +vn 0.0938 -0.2886 -0.9528 +vn 0.0924 -0.3349 -0.9377 +vn 0.0463 -0.3349 -0.9411 +vn 0.0470 -0.2886 -0.9563 +vn 0.0906 -0.3806 -0.9203 +vn 0.0454 -0.3806 -0.9236 +vn 0.0477 -0.2416 -0.9692 +vn 0.0951 -0.2416 -0.9657 +vn 0.0482 -0.1939 -0.9798 +vn 0.0962 -0.1939 -0.9763 +vn 0.1423 -0.2416 -0.9599 +vn 0.1404 -0.2886 -0.9471 +vn 0.1893 -0.2416 -0.9517 +vn 0.1868 -0.2886 -0.9391 +vn 0.1439 -0.1939 -0.9704 +vn 0.1914 -0.1939 -0.9622 +vn 0.1382 -0.3349 -0.9321 +vn 0.1356 -0.3806 -0.9147 +vn 0.1838 -0.3349 -0.9241 +vn 0.1804 -0.3806 -0.9070 +vn 0.0976 0.0974 -0.9905 +vn 0.0979 0.0488 -0.9940 +vn 0.0491 0.0488 -0.9976 +vn 0.0489 0.0974 -0.9940 +vn 0.0980 -0.0000 -0.9952 +vn 0.0491 -0.0000 -0.9988 +vn 0.0486 0.1458 -0.9881 +vn 0.0970 0.1458 -0.9846 +vn 0.0482 0.1939 -0.9798 +vn 0.0962 0.1939 -0.9763 +vn 0.1451 0.1458 -0.9786 +vn 0.1460 0.0974 -0.9845 +vn 0.1930 0.1458 -0.9703 +vn 0.1942 0.0974 -0.9761 +vn 0.1439 0.1939 -0.9704 +vn 0.1914 0.1939 -0.9622 +vn 0.1465 0.0488 -0.9880 +vn 0.1467 -0.0000 -0.9892 +vn 0.1949 0.0488 -0.9796 +vn 0.1951 -0.0000 -0.9808 +vn 0.0866 0.4690 -0.8789 +vn 0.0887 0.4254 -0.9007 +vn 0.0445 0.4254 -0.9039 +vn 0.0434 0.4690 -0.8821 +vn 0.0906 0.3806 -0.9203 +vn 0.0454 0.3806 -0.9236 +vn 0.0422 0.5116 -0.8582 +vn 0.0842 0.5116 -0.8551 +vn 0.0409 0.5531 -0.8321 +vn 0.0817 0.5531 -0.8291 +vn 0.1260 0.5116 -0.8499 +vn 0.1295 0.4690 -0.8736 +vn 0.1676 0.5116 -0.8427 +vn 0.1723 0.4690 -0.8662 +vn 0.1222 0.5531 -0.8241 +vn 0.1625 0.5531 -0.8171 +vn 0.1327 0.4254 -0.8952 +vn 0.1356 0.3806 -0.9147 +vn 0.1766 0.4254 -0.8876 +vn 0.1804 0.3806 -0.9070 +vn 0.0624 0.7709 -0.6338 +vn 0.0661 0.7388 -0.6707 +vn 0.0331 0.7388 -0.6731 +vn 0.0313 0.7709 -0.6361 +vn 0.0695 0.7048 -0.7060 +vn 0.0349 0.7048 -0.7086 +vn 0.0294 0.8013 -0.5976 +vn 0.0586 0.8013 -0.5954 +vn 0.0274 0.8297 -0.5575 +vn 0.0547 0.8297 -0.5555 +vn 0.0878 0.8013 -0.5918 +vn 0.0934 0.7709 -0.6300 +vn 0.1167 0.8013 -0.5868 +vn 0.1243 0.7709 -0.6247 +vn 0.0819 0.8297 -0.5521 +vn 0.1089 0.8297 -0.5474 +vn 0.0988 0.7388 -0.6667 +vn 0.1041 0.7048 -0.7017 +vn 0.1315 0.7388 -0.6610 +vn 0.1384 0.7048 -0.6958 +vn 0.0293 -0.9544 -0.2970 +vn 0.0251 -0.9666 -0.2551 +vn 0.0048 -0.9669 -0.2551 +vn 0.0120 -0.9546 -0.2977 +vn 0.0208 -0.9772 -0.2114 +vn -0.0048 -0.9777 -0.2100 +vn 0.0163 -0.9402 -0.3402 +vn 0.0334 -0.9402 -0.3391 +vn 0.0189 -0.9229 -0.3845 +vn 0.0377 -0.9229 -0.3831 +vn 0.0504 -0.9402 -0.3368 +vn 0.0463 -0.9546 -0.2943 +vn 0.0664 -0.9403 -0.3339 +vn 0.0580 -0.9548 -0.2916 +vn 0.0565 -0.9229 -0.3808 +vn 0.0751 -0.9229 -0.3776 +vn 0.0451 -0.9669 -0.2511 +vn 0.0457 -0.9777 -0.2050 +vn 0.0495 -0.9673 -0.2488 +vn 0.0403 -0.9784 -0.2027 +vn 0.0293 0.9544 -0.2970 +vn 0.0334 0.9402 -0.3391 +vn 0.0163 0.9402 -0.3402 +vn 0.0120 0.9546 -0.2977 +vn 0.0377 0.9229 -0.3831 +vn 0.0189 0.9229 -0.3845 +vn 0.0048 0.9669 -0.2551 +vn 0.0251 0.9666 -0.2551 +vn -0.0048 0.9777 -0.2100 +vn 0.0208 0.9772 -0.2114 +vn 0.0451 0.9669 -0.2511 +vn 0.0463 0.9546 -0.2943 +vn 0.0495 0.9673 -0.2488 +vn 0.0580 0.9548 -0.2916 +vn 0.0457 0.9777 -0.2050 +vn 0.0403 0.9784 -0.2027 +vn 0.0504 0.9402 -0.3368 +vn 0.0565 0.9229 -0.3808 +vn 0.0664 0.9403 -0.3339 +vn 0.0751 0.9229 -0.3776 +vn 0.0624 -0.7709 -0.6338 +vn 0.0586 -0.8013 -0.5954 +vn 0.0294 -0.8013 -0.5976 +vn 0.0313 -0.7709 -0.6361 +vn 0.0547 -0.8297 -0.5555 +vn 0.0274 -0.8297 -0.5575 +vn 0.0331 -0.7388 -0.6731 +vn 0.0661 -0.7388 -0.6707 +vn 0.0349 -0.7048 -0.7086 +vn 0.0695 -0.7048 -0.7060 +vn 0.0988 -0.7388 -0.6667 +vn 0.0934 -0.7709 -0.6300 +vn 0.1315 -0.7388 -0.6610 +vn 0.1243 -0.7709 -0.6247 +vn 0.1041 -0.7048 -0.7017 +vn 0.1384 -0.7048 -0.6958 +vn 0.0878 -0.8013 -0.5918 +vn 0.0819 -0.8297 -0.5521 +vn 0.1167 -0.8013 -0.5868 +vn 0.1089 -0.8297 -0.5474 +vn 0.0866 -0.4690 -0.8789 +vn 0.0842 -0.5116 -0.8551 +vn 0.0422 -0.5116 -0.8582 +vn 0.0434 -0.4690 -0.8821 +vn 0.0817 -0.5531 -0.8291 +vn 0.0409 -0.5531 -0.8321 +vn 0.0445 -0.4254 -0.9039 +vn 0.0887 -0.4254 -0.9007 +vn 0.1327 -0.4254 -0.8952 +vn 0.1295 -0.4690 -0.8736 +vn 0.1766 -0.4254 -0.8876 +vn 0.1723 -0.4690 -0.8662 +vn 0.1260 -0.5116 -0.8499 +vn 0.1222 -0.5531 -0.8241 +vn 0.1676 -0.5116 -0.8427 +vn 0.1625 -0.5531 -0.8171 +vn 0.0976 -0.0974 -0.9905 +vn 0.0970 -0.1458 -0.9846 +vn 0.0486 -0.1458 -0.9881 +vn 0.0489 -0.0974 -0.9940 +vn 0.0491 -0.0488 -0.9976 +vn 0.0979 -0.0488 -0.9940 +vn 0.1465 -0.0488 -0.9880 +vn 0.1460 -0.0974 -0.9845 +vn 0.1949 -0.0488 -0.9796 +vn 0.1942 -0.0974 -0.9761 +vn 0.1451 -0.1458 -0.9786 +vn 0.1930 -0.1458 -0.9703 +vn 0.0938 0.2886 -0.9528 +vn 0.0951 0.2416 -0.9657 +vn 0.0477 0.2416 -0.9692 +vn 0.0470 0.2886 -0.9563 +vn 0.0463 0.3349 -0.9411 +vn 0.0924 0.3349 -0.9377 +vn 0.1382 0.3349 -0.9321 +vn 0.1404 0.2886 -0.9471 +vn 0.1838 0.3349 -0.9241 +vn 0.1868 0.2886 -0.9391 +vn 0.1423 0.2416 -0.9599 +vn 0.1893 0.2416 -0.9517 +vn 0.0760 0.6319 -0.7713 +vn 0.0789 0.5933 -0.8011 +vn 0.0395 0.5933 -0.8040 +vn 0.0381 0.6319 -0.7741 +vn 0.0365 0.6691 -0.7423 +vn 0.0728 0.6691 -0.7396 +vn 0.1090 0.6691 -0.7351 +vn 0.1137 0.6319 -0.7666 +vn 0.1450 0.6691 -0.7289 +vn 0.1512 0.6319 -0.7601 +vn 0.1181 0.5933 -0.7963 +vn 0.1571 0.5933 -0.7895 +vn 0.0465 0.8806 -0.4716 +vn 0.0506 0.8562 -0.5141 +vn 0.0254 0.8562 -0.5160 +vn 0.0233 0.8806 -0.4733 +vn 0.0211 0.9028 -0.4295 +vn 0.0421 0.9028 -0.4280 +vn 0.0631 0.9028 -0.4254 +vn 0.0695 0.8806 -0.4688 +vn 0.0839 0.9028 -0.4218 +vn 0.0924 0.8806 -0.4648 +vn 0.0758 0.8562 -0.5110 +vn 0.1008 0.8562 -0.5067 +vn 0.0465 -0.8806 -0.4716 +vn 0.0422 -0.9028 -0.4280 +vn 0.0211 -0.9028 -0.4295 +vn 0.0233 -0.8806 -0.4733 +vn 0.0254 -0.8562 -0.5160 +vn 0.0506 -0.8562 -0.5141 +vn 0.0758 -0.8562 -0.5110 +vn 0.0695 -0.8806 -0.4688 +vn 0.1008 -0.8562 -0.5067 +vn 0.0925 -0.8806 -0.4648 +vn 0.0631 -0.9028 -0.4254 +vn 0.0839 -0.9028 -0.4218 +vn 0.0760 -0.6319 -0.7713 +vn 0.0728 -0.6691 -0.7396 +vn 0.0365 -0.6691 -0.7423 +vn 0.0381 -0.6319 -0.7741 +vn 0.0395 -0.5932 -0.8040 +vn 0.0789 -0.5932 -0.8011 +vn 0.1181 -0.5932 -0.7963 +vn 0.1137 -0.6319 -0.7667 +vn 0.1571 -0.5932 -0.7896 +vn 0.1512 -0.6319 -0.7601 +vn 0.1090 -0.6691 -0.7351 +vn 0.1450 -0.6691 -0.7289 +vn 0.2779 -0.2886 -0.9162 +vn 0.2735 -0.3349 -0.9017 +vn 0.2290 -0.3349 -0.9140 +vn 0.2327 -0.2886 -0.9287 +vn 0.2684 -0.3806 -0.8849 +vn 0.2247 -0.3806 -0.8970 +vn 0.2358 -0.2416 -0.9413 +vn 0.2817 -0.2416 -0.9286 +vn 0.2384 -0.1939 -0.9516 +vn 0.2848 -0.1939 -0.9388 +vn 0.3269 -0.2416 -0.9137 +vn 0.3225 -0.2886 -0.9015 +vn 0.3713 -0.2416 -0.8965 +vn 0.3664 -0.2886 -0.8846 +vn 0.3304 -0.1939 -0.9237 +vn 0.3754 -0.1939 -0.9063 +vn 0.3174 -0.3349 -0.8872 +vn 0.3115 -0.3806 -0.8707 +vn 0.3606 -0.3349 -0.8705 +vn 0.3539 -0.3806 -0.8544 +vn 0.2889 0.0974 -0.9524 +vn 0.2899 0.0488 -0.9558 +vn 0.2427 0.0488 -0.9689 +vn 0.2419 0.0974 -0.9654 +vn 0.2903 -0.0000 -0.9569 +vn 0.2430 -0.0000 -0.9700 +vn 0.2404 0.1458 -0.9597 +vn 0.2872 0.1458 -0.9467 +vn 0.2384 0.1939 -0.9516 +vn 0.2848 0.1939 -0.9388 +vn 0.3332 0.1458 -0.9315 +vn 0.3352 0.0974 -0.9371 +vn 0.3786 0.1458 -0.9140 +vn 0.3809 0.0974 -0.9195 +vn 0.3304 0.1939 -0.9237 +vn 0.3754 0.1939 -0.9063 +vn 0.3364 0.0488 -0.9404 +vn 0.3368 -0.0000 -0.9416 +vn 0.3822 0.0488 -0.9228 +vn 0.3827 -0.0000 -0.9239 +vn 0.2564 0.4690 -0.8452 +vn 0.2627 0.4254 -0.8661 +vn 0.2200 0.4254 -0.8779 +vn 0.2146 0.4690 -0.8567 +vn 0.2684 0.3806 -0.8849 +vn 0.2247 0.3806 -0.8970 +vn 0.2088 0.5116 -0.8335 +vn 0.2494 0.5116 -0.8222 +vn 0.2025 0.5531 -0.8081 +vn 0.2418 0.5531 -0.7973 +vn 0.2894 0.5116 -0.8090 +vn 0.2975 0.4690 -0.8316 +vn 0.3288 0.5116 -0.7938 +vn 0.3380 0.4690 -0.8160 +vn 0.2806 0.5531 -0.7844 +vn 0.3188 0.5531 -0.7697 +vn 0.3048 0.4254 -0.8521 +vn 0.3115 0.3806 -0.8707 +vn 0.3463 0.4254 -0.8361 +vn 0.3539 0.3806 -0.8544 +vn 0.1849 0.7709 -0.6095 +vn 0.1956 0.7388 -0.6449 +vn 0.1638 0.7388 -0.6537 +vn 0.1548 0.7709 -0.6178 +vn 0.2059 0.7048 -0.6789 +vn 0.1724 0.7048 -0.6882 +vn 0.1454 0.8013 -0.5804 +vn 0.1737 0.8013 -0.5725 +vn 0.1357 0.8297 -0.5414 +vn 0.1620 0.8297 -0.5341 +vn 0.2015 0.8013 -0.5633 +vn 0.2145 0.7709 -0.5997 +vn 0.2290 0.8013 -0.5528 +vn 0.2437 0.7709 -0.5884 +vn 0.1880 0.8297 -0.5255 +vn 0.2136 0.8297 -0.5157 +vn 0.2270 0.7388 -0.6346 +vn 0.2390 0.7048 -0.6680 +vn 0.2579 0.7388 -0.6226 +vn 0.2715 0.7048 -0.6554 +vn 0.0866 -0.9544 -0.2856 +vn 0.0744 -0.9666 -0.2453 +vn 0.0544 -0.9669 -0.2493 +vn 0.0698 -0.9546 -0.2896 +vn 0.0617 -0.9772 -0.2032 +vn 0.0363 -0.9777 -0.2069 +vn 0.0823 -0.9402 -0.3305 +vn 0.0989 -0.9402 -0.3261 +vn 0.0936 -0.9229 -0.3734 +vn 0.1118 -0.9229 -0.3684 +vn 0.1152 -0.9402 -0.3205 +vn 0.1028 -0.9546 -0.2796 +vn 0.1303 -0.9403 -0.3146 +vn 0.1138 -0.9548 -0.2747 +vn 0.1297 -0.9229 -0.3625 +vn 0.1473 -0.9229 -0.3557 +vn 0.0932 -0.9669 -0.2375 +vn 0.0848 -0.9777 -0.1922 +vn 0.0971 -0.9673 -0.2344 +vn 0.0791 -0.9784 -0.1910 +vn 0.0866 0.9544 -0.2856 +vn 0.0989 0.9402 -0.3261 +vn 0.0823 0.9402 -0.3305 +vn 0.0698 0.9546 -0.2896 +vn 0.1118 0.9229 -0.3684 +vn 0.0936 0.9229 -0.3734 +vn 0.0545 0.9669 -0.2493 +vn 0.0744 0.9666 -0.2453 +vn 0.0362 0.9777 -0.2069 +vn 0.0616 0.9772 -0.2032 +vn 0.0932 0.9669 -0.2375 +vn 0.1028 0.9546 -0.2796 +vn 0.0971 0.9673 -0.2344 +vn 0.1138 0.9548 -0.2747 +vn 0.0848 0.9777 -0.1922 +vn 0.0791 0.9784 -0.1910 +vn 0.1152 0.9402 -0.3205 +vn 0.1297 0.9229 -0.3625 +vn 0.1303 0.9403 -0.3145 +vn 0.1473 0.9229 -0.3557 +vn 0.1849 -0.7709 -0.6095 +vn 0.1737 -0.8013 -0.5725 +vn 0.1454 -0.8013 -0.5804 +vn 0.1548 -0.7709 -0.6178 +vn 0.1620 -0.8297 -0.5341 +vn 0.1357 -0.8297 -0.5414 +vn 0.1638 -0.7388 -0.6537 +vn 0.1956 -0.7388 -0.6449 +vn 0.1724 -0.7048 -0.6881 +vn 0.2059 -0.7048 -0.6789 +vn 0.2270 -0.7388 -0.6346 +vn 0.2145 -0.7709 -0.5997 +vn 0.2579 -0.7388 -0.6226 +vn 0.2437 -0.7709 -0.5884 +vn 0.2390 -0.7048 -0.6680 +vn 0.2715 -0.7048 -0.6554 +vn 0.2015 -0.8013 -0.5633 +vn 0.1880 -0.8297 -0.5255 +vn 0.2290 -0.8013 -0.5528 +vn 0.2136 -0.8297 -0.5157 +vn 0.2564 -0.4690 -0.8452 +vn 0.2494 -0.5116 -0.8222 +vn 0.2088 -0.5116 -0.8335 +vn 0.2146 -0.4690 -0.8567 +vn 0.2418 -0.5531 -0.7973 +vn 0.2025 -0.5531 -0.8081 +vn 0.2200 -0.4254 -0.8779 +vn 0.2627 -0.4254 -0.8661 +vn 0.3048 -0.4254 -0.8521 +vn 0.2975 -0.4690 -0.8316 +vn 0.3463 -0.4254 -0.8361 +vn 0.3380 -0.4690 -0.8160 +vn 0.2894 -0.5116 -0.8090 +vn 0.2806 -0.5531 -0.7844 +vn 0.3288 -0.5116 -0.7938 +vn 0.3188 -0.5531 -0.7697 +vn 0.2889 -0.0974 -0.9524 +vn 0.2872 -0.1458 -0.9467 +vn 0.2404 -0.1458 -0.9597 +vn 0.2419 -0.0974 -0.9654 +vn 0.2427 -0.0488 -0.9689 +vn 0.2899 -0.0488 -0.9558 +vn 0.3364 -0.0488 -0.9404 +vn 0.3352 -0.0974 -0.9371 +vn 0.3822 -0.0488 -0.9228 +vn 0.3809 -0.0974 -0.9195 +vn 0.3332 -0.1458 -0.9315 +vn 0.3786 -0.1458 -0.9140 +vn 0.2779 0.2886 -0.9162 +vn 0.2817 0.2416 -0.9286 +vn 0.2358 0.2416 -0.9413 +vn 0.2327 0.2886 -0.9287 +vn 0.2290 0.3349 -0.9140 +vn 0.2735 0.3349 -0.9017 +vn 0.3174 0.3349 -0.8872 +vn 0.3225 0.2886 -0.9015 +vn 0.3606 0.3349 -0.8705 +vn 0.3664 0.2886 -0.8846 +vn 0.3269 0.2416 -0.9137 +vn 0.3713 0.2416 -0.8965 +vn 0.2250 0.6319 -0.7417 +vn 0.2337 0.5933 -0.7704 +vn 0.1956 0.5933 -0.7809 +vn 0.1884 0.6319 -0.7518 +vn 0.1806 0.6691 -0.7209 +vn 0.2157 0.6691 -0.7112 +vn 0.2503 0.6691 -0.6997 +vn 0.2611 0.6319 -0.7297 +vn 0.2844 0.6691 -0.6866 +vn 0.2966 0.6319 -0.7160 +vn 0.2712 0.5933 -0.7580 +vn 0.3081 0.5933 -0.7437 +vn 0.1376 0.8806 -0.4535 +vn 0.1500 0.8562 -0.4944 +vn 0.1256 0.8562 -0.5011 +vn 0.1152 0.8806 -0.4597 +vn 0.1045 0.9028 -0.4171 +vn 0.1248 0.9028 -0.4115 +vn 0.1449 0.9028 -0.4049 +vn 0.1596 0.8806 -0.4462 +vn 0.1646 0.9028 -0.3973 +vn 0.1814 0.8806 -0.4378 +vn 0.1740 0.8562 -0.4864 +vn 0.1977 0.8562 -0.4773 +vn 0.1376 -0.8806 -0.4535 +vn 0.1248 -0.9028 -0.4115 +vn 0.1045 -0.9028 -0.4171 +vn 0.1152 -0.8806 -0.4597 +vn 0.1256 -0.8562 -0.5011 +vn 0.1500 -0.8562 -0.4944 +vn 0.1740 -0.8562 -0.4864 +vn 0.1596 -0.8806 -0.4462 +vn 0.1977 -0.8562 -0.4773 +vn 0.1814 -0.8806 -0.4378 +vn 0.1448 -0.9028 -0.4049 +vn 0.1646 -0.9028 -0.3973 +vn 0.2250 -0.6319 -0.7417 +vn 0.2157 -0.6691 -0.7112 +vn 0.1806 -0.6691 -0.7209 +vn 0.1884 -0.6319 -0.7518 +vn 0.1957 -0.5932 -0.7809 +vn 0.2337 -0.5932 -0.7704 +vn 0.2712 -0.5932 -0.7580 +vn 0.2611 -0.6319 -0.7297 +vn 0.3081 -0.5932 -0.7437 +vn 0.2966 -0.6319 -0.7160 +vn 0.2503 -0.6691 -0.6997 +vn 0.2844 -0.6691 -0.6866 +vn 0.4513 -0.2886 -0.8444 +vn 0.4442 -0.3349 -0.8310 +vn 0.4029 -0.3349 -0.8518 +vn 0.4094 -0.2886 -0.8655 +vn 0.4359 -0.3806 -0.8156 +vn 0.3954 -0.3806 -0.8359 +vn 0.4149 -0.2416 -0.8772 +vn 0.4574 -0.2416 -0.8558 +vn 0.4195 -0.1939 -0.8868 +vn 0.4624 -0.1939 -0.8652 +vn 0.4988 -0.2416 -0.8324 +vn 0.4922 -0.2886 -0.8213 +vn 0.5391 -0.2416 -0.8068 +vn 0.5319 -0.2886 -0.7961 +vn 0.5043 -0.1939 -0.8415 +vn 0.5450 -0.1939 -0.8157 +vn 0.4844 -0.3349 -0.8082 +vn 0.4754 -0.3806 -0.7932 +vn 0.5235 -0.3349 -0.7834 +vn 0.5138 -0.3806 -0.7689 +vn 0.4692 0.0974 -0.8777 +vn 0.4708 0.0488 -0.8809 +vn 0.4271 0.0488 -0.9029 +vn 0.4256 0.0974 -0.8997 +vn 0.4714 -0.0000 -0.8819 +vn 0.4276 -0.0000 -0.9040 +vn 0.4230 0.1458 -0.8943 +vn 0.4664 0.1458 -0.8725 +vn 0.4195 0.1939 -0.8868 +vn 0.4624 0.1939 -0.8652 +vn 0.5086 0.1458 -0.8486 +vn 0.5116 0.0974 -0.8537 +vn 0.5496 0.1458 -0.8226 +vn 0.5529 0.0974 -0.8275 +vn 0.5043 0.1939 -0.8415 +vn 0.5450 0.1939 -0.8157 +vn 0.5134 0.0488 -0.8567 +vn 0.5141 -0.0000 -0.8578 +vn 0.5549 0.0488 -0.8305 +vn 0.5556 -0.0000 -0.8315 +vn 0.4163 0.4690 -0.7789 +vn 0.4266 0.4254 -0.7982 +vn 0.3870 0.4254 -0.8181 +vn 0.3777 0.4690 -0.7984 +vn 0.4359 0.3806 -0.8156 +vn 0.3954 0.3806 -0.8359 +vn 0.3674 0.5116 -0.7767 +vn 0.4050 0.5116 -0.7578 +vn 0.3563 0.5531 -0.7531 +vn 0.3927 0.5531 -0.7348 +vn 0.4417 0.5116 -0.7370 +vn 0.4540 0.4690 -0.7576 +vn 0.4774 0.5116 -0.7144 +vn 0.4907 0.4690 -0.7343 +vn 0.4283 0.5531 -0.7146 +vn 0.4629 0.5531 -0.6927 +vn 0.4652 0.4254 -0.7763 +vn 0.4754 0.3806 -0.7932 +vn 0.5028 0.4254 -0.7525 +vn 0.5138 0.3806 -0.7689 +vn 0.3002 0.7709 -0.5617 +vn 0.3177 0.7388 -0.5944 +vn 0.2882 0.7388 -0.6092 +vn 0.2723 0.7709 -0.5757 +vn 0.3344 0.7048 -0.6257 +vn 0.3034 0.7048 -0.6413 +vn 0.2558 0.8013 -0.5409 +vn 0.2820 0.8013 -0.5277 +vn 0.2387 0.8297 -0.5046 +vn 0.2631 0.8297 -0.4922 +vn 0.3076 0.8013 -0.5132 +vn 0.3274 0.7709 -0.5463 +vn 0.3324 0.8013 -0.4975 +vn 0.3538 0.7709 -0.5296 +vn 0.2869 0.8297 -0.4788 +vn 0.3101 0.8297 -0.4641 +vn 0.3464 0.7388 -0.5781 +vn 0.3647 0.7048 -0.6085 +vn 0.3744 0.7388 -0.5604 +vn 0.3941 0.7048 -0.5899 +vn 0.1407 -0.9544 -0.2632 +vn 0.1208 -0.9666 -0.2261 +vn 0.1020 -0.9669 -0.2338 +vn 0.1250 -0.9546 -0.2704 +vn 0.1001 -0.9772 -0.1873 +vn 0.0759 -0.9777 -0.1959 +vn 0.1452 -0.9402 -0.3081 +vn 0.1606 -0.9402 -0.3005 +vn 0.1646 -0.9229 -0.3480 +vn 0.1815 -0.9229 -0.3395 +vn 0.1755 -0.9402 -0.2919 +vn 0.1554 -0.9546 -0.2542 +vn 0.1892 -0.9403 -0.2831 +vn 0.1652 -0.9548 -0.2472 +vn 0.1979 -0.9229 -0.3302 +vn 0.2139 -0.9229 -0.3201 +vn 0.1377 -0.9669 -0.2148 +vn 0.1207 -0.9777 -0.1719 +vn 0.1409 -0.9673 -0.2109 +vn 0.1148 -0.9784 -0.1719 +vn 0.1407 0.9544 -0.2632 +vn 0.1606 0.9402 -0.3005 +vn 0.1452 0.9402 -0.3081 +vn 0.1250 0.9546 -0.2704 +vn 0.1815 0.9229 -0.3395 +vn 0.1646 0.9229 -0.3480 +vn 0.1020 0.9669 -0.2338 +vn 0.1208 0.9666 -0.2261 +vn 0.0759 0.9777 -0.1959 +vn 0.1001 0.9772 -0.1873 +vn 0.1377 0.9669 -0.2148 +vn 0.1554 0.9546 -0.2542 +vn 0.1409 0.9673 -0.2109 +vn 0.1652 0.9548 -0.2472 +vn 0.1207 0.9777 -0.1719 +vn 0.1148 0.9784 -0.1719 +vn 0.1755 0.9402 -0.2919 +vn 0.1979 0.9229 -0.3302 +vn 0.1892 0.9403 -0.2831 +vn 0.2139 0.9229 -0.3201 +vn 0.3002 -0.7709 -0.5617 +vn 0.2820 -0.8013 -0.5277 +vn 0.2558 -0.8013 -0.5408 +vn 0.2723 -0.7709 -0.5757 +vn 0.2631 -0.8297 -0.4922 +vn 0.2387 -0.8297 -0.5045 +vn 0.2882 -0.7388 -0.6092 +vn 0.3177 -0.7388 -0.5944 +vn 0.3034 -0.7048 -0.6413 +vn 0.3344 -0.7048 -0.6257 +vn 0.3464 -0.7388 -0.5781 +vn 0.3274 -0.7709 -0.5463 +vn 0.3744 -0.7388 -0.5604 +vn 0.3538 -0.7709 -0.5296 +vn 0.3647 -0.7048 -0.6085 +vn 0.3941 -0.7048 -0.5899 +vn 0.3076 -0.8013 -0.5132 +vn 0.2869 -0.8297 -0.4788 +vn 0.3324 -0.8013 -0.4975 +vn 0.3101 -0.8297 -0.4641 +vn 0.4163 -0.4690 -0.7789 +vn 0.4050 -0.5116 -0.7578 +vn 0.3674 -0.5116 -0.7767 +vn 0.3777 -0.4690 -0.7984 +vn 0.3927 -0.5531 -0.7348 +vn 0.3562 -0.5531 -0.7531 +vn 0.3870 -0.4254 -0.8181 +vn 0.4266 -0.4254 -0.7982 +vn 0.4652 -0.4254 -0.7763 +vn 0.4540 -0.4690 -0.7576 +vn 0.5028 -0.4254 -0.7525 +vn 0.4907 -0.4690 -0.7343 +vn 0.4417 -0.5116 -0.7370 +vn 0.4283 -0.5531 -0.7146 +vn 0.4774 -0.5116 -0.7144 +vn 0.4629 -0.5531 -0.6927 +vn 0.4692 -0.0974 -0.8777 +vn 0.4664 -0.1458 -0.8725 +vn 0.4230 -0.1458 -0.8943 +vn 0.4256 -0.0974 -0.8997 +vn 0.4271 -0.0488 -0.9029 +vn 0.4708 -0.0488 -0.8809 +vn 0.5134 -0.0488 -0.8567 +vn 0.5116 -0.0974 -0.8537 +vn 0.5549 -0.0488 -0.8305 +vn 0.5529 -0.0974 -0.8275 +vn 0.5086 -0.1458 -0.8486 +vn 0.5496 -0.1458 -0.8226 +vn 0.4513 0.2886 -0.8444 +vn 0.4574 0.2416 -0.8558 +vn 0.4149 0.2416 -0.8772 +vn 0.4094 0.2886 -0.8655 +vn 0.4029 0.3349 -0.8518 +vn 0.4442 0.3349 -0.8310 +vn 0.4844 0.3349 -0.8082 +vn 0.4922 0.2886 -0.8213 +vn 0.5235 0.3349 -0.7834 +vn 0.5319 0.2886 -0.7961 +vn 0.4988 0.2416 -0.8324 +vn 0.5391 0.2416 -0.8068 +vn 0.3653 0.6319 -0.6835 +vn 0.3795 0.5933 -0.7100 +vn 0.3442 0.5933 -0.7277 +vn 0.3314 0.6319 -0.7006 +vn 0.3178 0.6691 -0.6718 +vn 0.3503 0.6691 -0.6554 +vn 0.3820 0.6691 -0.6375 +vn 0.3984 0.6319 -0.6648 +vn 0.4129 0.6691 -0.6179 +vn 0.4306 0.6319 -0.6444 +vn 0.4138 0.5933 -0.6905 +vn 0.4472 0.5933 -0.6693 +vn 0.2234 0.8806 -0.4179 +vn 0.2435 0.8562 -0.4556 +vn 0.2209 0.8562 -0.4670 +vn 0.2026 0.8806 -0.4284 +vn 0.1839 0.9028 -0.3887 +vn 0.2027 0.9028 -0.3793 +vn 0.2211 0.9028 -0.3689 +vn 0.2436 0.8806 -0.4065 +vn 0.2389 0.9028 -0.3576 +vn 0.2633 0.8806 -0.3940 +vn 0.2656 0.8562 -0.4431 +vn 0.2870 0.8562 -0.4295 +vn 0.2234 -0.8806 -0.4179 +vn 0.2027 -0.9028 -0.3792 +vn 0.1839 -0.9028 -0.3887 +vn 0.2026 -0.8806 -0.4284 +vn 0.2209 -0.8562 -0.4670 +vn 0.2435 -0.8562 -0.4556 +vn 0.2656 -0.8562 -0.4431 +vn 0.2436 -0.8806 -0.4065 +vn 0.2870 -0.8562 -0.4295 +vn 0.2633 -0.8806 -0.3940 +vn 0.2211 -0.9028 -0.3689 +vn 0.2389 -0.9028 -0.3575 +vn 0.3653 -0.6319 -0.6835 +vn 0.3503 -0.6691 -0.6554 +vn 0.3178 -0.6691 -0.6718 +vn 0.3314 -0.6319 -0.7006 +vn 0.3442 -0.5932 -0.7277 +vn 0.3795 -0.5932 -0.7100 +vn 0.4138 -0.5932 -0.6905 +vn 0.3984 -0.6319 -0.6648 +vn 0.4472 -0.5932 -0.6693 +vn 0.4306 -0.6319 -0.6444 +vn 0.3820 -0.6691 -0.6375 +vn 0.4129 -0.6691 -0.6179 +vn 0.6074 -0.2886 -0.7401 +vn 0.5978 -0.3349 -0.7284 +vn 0.5613 -0.3349 -0.7568 +vn 0.5704 -0.2886 -0.7690 +vn 0.5867 -0.3806 -0.7148 +vn 0.5509 -0.3806 -0.7427 +vn 0.5781 -0.2416 -0.7794 +vn 0.6156 -0.2416 -0.7501 +vn 0.5844 -0.1939 -0.7879 +vn 0.6224 -0.1939 -0.7583 +vn 0.6516 -0.2416 -0.7190 +vn 0.6429 -0.2886 -0.7095 +vn 0.6862 -0.2416 -0.6862 +vn 0.6770 -0.2886 -0.6770 +vn 0.6588 -0.1939 -0.7269 +vn 0.6937 -0.1939 -0.6937 +vn 0.6327 -0.3349 -0.6982 +vn 0.6210 -0.3806 -0.6852 +vn 0.6663 -0.3349 -0.6663 +vn 0.6539 -0.3806 -0.6539 +vn 0.6314 0.0974 -0.7693 +vn 0.6336 0.0488 -0.7721 +vn 0.5950 0.0488 -0.8022 +vn 0.5929 0.0974 -0.7994 +vn 0.6344 -0.0000 -0.7730 +vn 0.5957 -0.0000 -0.8032 +vn 0.5894 0.1458 -0.7946 +vn 0.6276 0.1458 -0.7648 +vn 0.5844 0.1939 -0.7879 +vn 0.6224 0.1939 -0.7583 +vn 0.6643 0.1458 -0.7331 +vn 0.6683 0.0974 -0.7375 +vn 0.6996 0.1458 -0.6996 +vn 0.7037 0.0974 -0.7037 +vn 0.6588 0.1939 -0.7269 +vn 0.6937 0.1939 -0.6937 +vn 0.6707 0.0488 -0.7401 +vn 0.6715 -0.0000 -0.7410 +vn 0.7063 0.0488 -0.7063 +vn 0.7071 -0.0000 -0.7071 +vn 0.5603 0.4690 -0.6827 +vn 0.5741 0.4254 -0.6996 +vn 0.5392 0.4254 -0.7269 +vn 0.5262 0.4690 -0.7093 +vn 0.5867 0.3806 -0.7148 +vn 0.5509 0.3806 -0.7427 +vn 0.5119 0.5116 -0.6901 +vn 0.5451 0.5116 -0.6642 +vn 0.4963 0.5531 -0.6691 +vn 0.5285 0.5531 -0.6440 +vn 0.5770 0.5116 -0.6367 +vn 0.5931 0.4690 -0.6544 +vn 0.6076 0.5116 -0.6076 +vn 0.6245 0.4690 -0.6245 +vn 0.5595 0.5531 -0.6173 +vn 0.5891 0.5531 -0.5891 +vn 0.6077 0.4254 -0.6706 +vn 0.6210 0.3806 -0.6852 +vn 0.6399 0.4254 -0.6399 +vn 0.6539 0.3806 -0.6539 +vn 0.4040 0.7709 -0.4923 +vn 0.4275 0.7388 -0.5210 +vn 0.4015 0.7388 -0.5413 +vn 0.3794 0.7709 -0.5115 +vn 0.4501 0.7048 -0.5484 +vn 0.4226 0.7048 -0.5698 +vn 0.3564 0.8013 -0.4805 +vn 0.3796 0.8013 -0.4625 +vn 0.3325 0.8297 -0.4483 +vn 0.3541 0.8297 -0.4315 +vn 0.4018 0.8013 -0.4433 +vn 0.4277 0.7709 -0.4719 +vn 0.4231 0.8013 -0.4231 +vn 0.4504 0.7709 -0.4504 +vn 0.3748 0.8297 -0.4136 +vn 0.3947 0.8297 -0.3947 +vn 0.4526 0.7388 -0.4994 +vn 0.4764 0.7048 -0.5257 +vn 0.4765 0.7388 -0.4765 +vn 0.5016 0.7048 -0.5016 +vn 0.1894 -0.9544 -0.2307 +vn 0.1626 -0.9666 -0.1982 +vn 0.1457 -0.9669 -0.2094 +vn 0.1754 -0.9546 -0.2409 +vn 0.1347 -0.9772 -0.1642 +vn 0.1127 -0.9777 -0.1773 +vn 0.2025 -0.9402 -0.2738 +vn 0.2162 -0.9402 -0.2634 +vn 0.2294 -0.9229 -0.3092 +vn 0.2442 -0.9229 -0.2976 +vn 0.2291 -0.9402 -0.2521 +vn 0.2020 -0.9546 -0.2190 +vn 0.2408 -0.9403 -0.2407 +vn 0.2103 -0.9548 -0.2103 +vn 0.2585 -0.9229 -0.2853 +vn 0.2722 -0.9229 -0.2722 +vn 0.1770 -0.9669 -0.1838 +vn 0.1519 -0.9777 -0.1451 +vn 0.1794 -0.9673 -0.1794 +vn 0.1462 -0.9784 -0.1462 +vn 0.1893 0.9544 -0.2307 +vn 0.2161 0.9402 -0.2634 +vn 0.2025 0.9402 -0.2738 +vn 0.1754 0.9546 -0.2409 +vn 0.2442 0.9229 -0.2976 +vn 0.2294 0.9229 -0.3092 +vn 0.1457 0.9669 -0.2094 +vn 0.1626 0.9666 -0.1982 +vn 0.1127 0.9777 -0.1773 +vn 0.1347 0.9772 -0.1642 +vn 0.1770 0.9669 -0.1838 +vn 0.2020 0.9546 -0.2190 +vn 0.1794 0.9673 -0.1794 +vn 0.2103 0.9548 -0.2103 +vn 0.1519 0.9777 -0.1451 +vn 0.1462 0.9784 -0.1462 +vn 0.2291 0.9402 -0.2521 +vn 0.2585 0.9229 -0.2853 +vn 0.2407 0.9403 -0.2407 +vn 0.2722 0.9229 -0.2722 +vn 0.4040 -0.7709 -0.4923 +vn 0.3796 -0.8013 -0.4625 +vn 0.3564 -0.8013 -0.4805 +vn 0.3794 -0.7709 -0.5115 +vn 0.3541 -0.8297 -0.4315 +vn 0.3325 -0.8297 -0.4483 +vn 0.4015 -0.7388 -0.5413 +vn 0.4275 -0.7388 -0.5210 +vn 0.4226 -0.7048 -0.5698 +vn 0.4501 -0.7048 -0.5484 +vn 0.4526 -0.7388 -0.4994 +vn 0.4277 -0.7709 -0.4719 +vn 0.4765 -0.7388 -0.4765 +vn 0.4504 -0.7709 -0.4504 +vn 0.4764 -0.7048 -0.5257 +vn 0.5016 -0.7048 -0.5016 +vn 0.4018 -0.8013 -0.4433 +vn 0.3748 -0.8297 -0.4136 +vn 0.4231 -0.8013 -0.4231 +vn 0.3947 -0.8297 -0.3947 +vn 0.5603 -0.4690 -0.6827 +vn 0.5451 -0.5116 -0.6642 +vn 0.5119 -0.5116 -0.6901 +vn 0.5262 -0.4690 -0.7093 +vn 0.5285 -0.5531 -0.6440 +vn 0.4963 -0.5531 -0.6691 +vn 0.5392 -0.4254 -0.7269 +vn 0.5741 -0.4254 -0.6996 +vn 0.6077 -0.4254 -0.6706 +vn 0.5931 -0.4690 -0.6544 +vn 0.6399 -0.4254 -0.6399 +vn 0.6245 -0.4690 -0.6245 +vn 0.5770 -0.5116 -0.6367 +vn 0.5595 -0.5531 -0.6173 +vn 0.6076 -0.5116 -0.6076 +vn 0.5891 -0.5531 -0.5891 +vn 0.6314 -0.0974 -0.7693 +vn 0.6276 -0.1458 -0.7648 +vn 0.5894 -0.1458 -0.7946 +vn 0.5929 -0.0974 -0.7994 +vn 0.5950 -0.0488 -0.8022 +vn 0.6336 -0.0488 -0.7721 +vn 0.6707 -0.0488 -0.7401 +vn 0.6683 -0.0974 -0.7375 +vn 0.7063 -0.0488 -0.7063 +vn 0.7037 -0.0974 -0.7037 +vn 0.6643 -0.1458 -0.7331 +vn 0.6996 -0.1458 -0.6996 +vn 0.6074 0.2886 -0.7401 +vn 0.6156 0.2416 -0.7501 +vn 0.5781 0.2416 -0.7794 +vn 0.5704 0.2886 -0.7690 +vn 0.5613 0.3349 -0.7568 +vn 0.5978 0.3349 -0.7284 +vn 0.6327 0.3349 -0.6982 +vn 0.6429 0.2886 -0.7095 +vn 0.6663 0.3349 -0.6663 +vn 0.6770 0.2886 -0.6770 +vn 0.6516 0.2416 -0.7190 +vn 0.6862 0.2416 -0.6862 +vn 0.4917 0.6319 -0.5991 +vn 0.5107 0.5932 -0.6223 +vn 0.4796 0.5932 -0.6466 +vn 0.4617 0.6319 -0.6225 +vn 0.4427 0.6691 -0.5969 +vn 0.4715 0.6691 -0.5745 +vn 0.4991 0.6691 -0.5507 +vn 0.5204 0.6319 -0.5743 +vn 0.5255 0.6691 -0.5255 +vn 0.5480 0.6319 -0.5480 +vn 0.5406 0.5933 -0.5965 +vn 0.5692 0.5933 -0.5692 +vn 0.3006 0.8806 -0.3663 +vn 0.3277 0.8562 -0.3993 +vn 0.3078 0.8562 -0.4149 +vn 0.2823 0.8806 -0.3806 +vn 0.2562 0.9028 -0.3454 +vn 0.2728 0.9028 -0.3324 +vn 0.2888 0.9028 -0.3186 +vn 0.3182 0.8806 -0.3512 +vn 0.3041 0.9028 -0.3041 +vn 0.3351 0.8806 -0.3351 +vn 0.3469 0.8562 -0.3828 +vn 0.3653 0.8562 -0.3653 +vn 0.3006 -0.8806 -0.3663 +vn 0.2728 -0.9028 -0.3324 +vn 0.2562 -0.9028 -0.3454 +vn 0.2823 -0.8806 -0.3806 +vn 0.3078 -0.8562 -0.4149 +vn 0.3277 -0.8562 -0.3993 +vn 0.3469 -0.8562 -0.3828 +vn 0.3182 -0.8806 -0.3512 +vn 0.3653 -0.8562 -0.3653 +vn 0.3351 -0.8806 -0.3351 +vn 0.2888 -0.9028 -0.3186 +vn 0.3041 -0.9028 -0.3041 +vn 0.4917 -0.6319 -0.5991 +vn 0.4715 -0.6691 -0.5745 +vn 0.4427 -0.6691 -0.5969 +vn 0.4617 -0.6319 -0.6225 +vn 0.4796 -0.5932 -0.6466 +vn 0.5107 -0.5932 -0.6223 +vn 0.5406 -0.5932 -0.5965 +vn 0.5204 -0.6319 -0.5743 +vn 0.5692 -0.5932 -0.5692 +vn 0.5480 -0.6319 -0.5480 +vn 0.4990 -0.6691 -0.5507 +vn 0.5255 -0.6691 -0.5255 +vn 0.7401 -0.2886 -0.6074 +vn 0.7284 -0.3349 -0.5978 +vn 0.6982 -0.3349 -0.6327 +vn 0.7095 -0.2886 -0.6429 +vn 0.7148 -0.3806 -0.5867 +vn 0.6852 -0.3806 -0.6210 +vn 0.7190 -0.2416 -0.6516 +vn 0.7501 -0.2416 -0.6156 +vn 0.7269 -0.1939 -0.6588 +vn 0.7583 -0.1939 -0.6224 +vn 0.7794 -0.2416 -0.5781 +vn 0.7690 -0.2886 -0.5704 +vn 0.8068 -0.2416 -0.5391 +vn 0.7961 -0.2886 -0.5319 +vn 0.7879 -0.1939 -0.5844 +vn 0.8157 -0.1939 -0.5450 +vn 0.7568 -0.3349 -0.5613 +vn 0.7427 -0.3806 -0.5509 +vn 0.7834 -0.3349 -0.5235 +vn 0.7689 -0.3806 -0.5138 +vn 0.7693 0.0974 -0.6314 +vn 0.7721 0.0488 -0.6336 +vn 0.7401 0.0488 -0.6707 +vn 0.7375 0.0974 -0.6683 +vn 0.7730 -0.0000 -0.6344 +vn 0.7410 -0.0000 -0.6715 +vn 0.7331 0.1458 -0.6643 +vn 0.7648 0.1458 -0.6276 +vn 0.7269 0.1939 -0.6588 +vn 0.7583 0.1939 -0.6224 +vn 0.7946 0.1458 -0.5894 +vn 0.7994 0.0974 -0.5929 +vn 0.8226 0.1458 -0.5496 +vn 0.8275 0.0974 -0.5529 +vn 0.7879 0.1939 -0.5844 +vn 0.8157 0.1939 -0.5450 +vn 0.8022 0.0488 -0.5950 +vn 0.8032 -0.0000 -0.5957 +vn 0.8305 0.0488 -0.5549 +vn 0.8315 -0.0000 -0.5556 +vn 0.6827 0.4690 -0.5603 +vn 0.6996 0.4254 -0.5741 +vn 0.6706 0.4254 -0.6077 +vn 0.6544 0.4690 -0.5931 +vn 0.7148 0.3806 -0.5867 +vn 0.6852 0.3806 -0.6210 +vn 0.6367 0.5116 -0.5770 +vn 0.6642 0.5116 -0.5451 +vn 0.6173 0.5531 -0.5595 +vn 0.6440 0.5531 -0.5285 +vn 0.6901 0.5116 -0.5119 +vn 0.7093 0.4690 -0.5262 +vn 0.7144 0.5116 -0.4774 +vn 0.7343 0.4690 -0.4907 +vn 0.6691 0.5531 -0.4963 +vn 0.6927 0.5531 -0.4629 +vn 0.7269 0.4254 -0.5392 +vn 0.7427 0.3806 -0.5509 +vn 0.7525 0.4254 -0.5028 +vn 0.7689 0.3806 -0.5138 +vn 0.4923 0.7709 -0.4040 +vn 0.5210 0.7388 -0.4275 +vn 0.4994 0.7388 -0.4526 +vn 0.4719 0.7710 -0.4277 +vn 0.5484 0.7048 -0.4501 +vn 0.5257 0.7048 -0.4764 +vn 0.4433 0.8013 -0.4018 +vn 0.4625 0.8013 -0.3796 +vn 0.4136 0.8297 -0.3748 +vn 0.4315 0.8297 -0.3541 +vn 0.4805 0.8013 -0.3564 +vn 0.5115 0.7709 -0.3794 +vn 0.4975 0.8013 -0.3324 +vn 0.5296 0.7709 -0.3538 +vn 0.4483 0.8297 -0.3325 +vn 0.4641 0.8297 -0.3101 +vn 0.5413 0.7388 -0.4015 +vn 0.5698 0.7048 -0.4226 +vn 0.5604 0.7388 -0.3744 +vn 0.5899 0.7048 -0.3941 +vn 0.2307 -0.9544 -0.1894 +vn 0.1982 -0.9666 -0.1626 +vn 0.1838 -0.9669 -0.1770 +vn 0.2190 -0.9546 -0.2020 +vn 0.1642 -0.9772 -0.1347 +vn 0.1451 -0.9777 -0.1519 +vn 0.2521 -0.9402 -0.2291 +vn 0.2634 -0.9402 -0.2162 +vn 0.2853 -0.9229 -0.2585 +vn 0.2976 -0.9229 -0.2442 +vn 0.2738 -0.9402 -0.2025 +vn 0.2409 -0.9546 -0.1754 +vn 0.2831 -0.9403 -0.1892 +vn 0.2472 -0.9548 -0.1652 +vn 0.3092 -0.9229 -0.2293 +vn 0.3201 -0.9229 -0.2139 +vn 0.2095 -0.9669 -0.1457 +vn 0.1773 -0.9777 -0.1127 +vn 0.2109 -0.9673 -0.1409 +vn 0.1719 -0.9784 -0.1148 +vn 0.2307 0.9544 -0.1894 +vn 0.2634 0.9402 -0.2162 +vn 0.2521 0.9402 -0.2291 +vn 0.2190 0.9546 -0.2020 +vn 0.2976 0.9229 -0.2442 +vn 0.2853 0.9229 -0.2585 +vn 0.1838 0.9669 -0.1770 +vn 0.1982 0.9666 -0.1626 +vn 0.1451 0.9777 -0.1519 +vn 0.1642 0.9772 -0.1347 +vn 0.2094 0.9669 -0.1457 +vn 0.2409 0.9546 -0.1754 +vn 0.2109 0.9673 -0.1409 +vn 0.2472 0.9548 -0.1652 +vn 0.1773 0.9777 -0.1127 +vn 0.1719 0.9784 -0.1148 +vn 0.2738 0.9402 -0.2025 +vn 0.3092 0.9229 -0.2293 +vn 0.2831 0.9403 -0.1892 +vn 0.3201 0.9229 -0.2139 +vn 0.4923 -0.7709 -0.4040 +vn 0.4625 -0.8013 -0.3796 +vn 0.4433 -0.8013 -0.4018 +vn 0.4719 -0.7709 -0.4277 +vn 0.4315 -0.8297 -0.3541 +vn 0.4136 -0.8297 -0.3748 +vn 0.4994 -0.7388 -0.4526 +vn 0.5210 -0.7388 -0.4275 +vn 0.5257 -0.7048 -0.4764 +vn 0.5484 -0.7048 -0.4501 +vn 0.5413 -0.7388 -0.4015 +vn 0.5115 -0.7709 -0.3794 +vn 0.5604 -0.7388 -0.3744 +vn 0.5296 -0.7709 -0.3538 +vn 0.5698 -0.7048 -0.4226 +vn 0.5899 -0.7048 -0.3941 +vn 0.4805 -0.8013 -0.3564 +vn 0.4483 -0.8297 -0.3325 +vn 0.4975 -0.8013 -0.3324 +vn 0.4641 -0.8297 -0.3101 +vn 0.6827 -0.4690 -0.5603 +vn 0.6642 -0.5116 -0.5451 +vn 0.6367 -0.5116 -0.5770 +vn 0.6544 -0.4690 -0.5931 +vn 0.6440 -0.5531 -0.5285 +vn 0.6173 -0.5531 -0.5595 +vn 0.6706 -0.4254 -0.6077 +vn 0.6996 -0.4254 -0.5741 +vn 0.7269 -0.4254 -0.5392 +vn 0.7093 -0.4690 -0.5262 +vn 0.7525 -0.4254 -0.5028 +vn 0.7343 -0.4690 -0.4907 +vn 0.6901 -0.5116 -0.5119 +vn 0.6691 -0.5531 -0.4963 +vn 0.7144 -0.5116 -0.4774 +vn 0.6927 -0.5531 -0.4629 +vn 0.7693 -0.0974 -0.6314 +vn 0.7648 -0.1458 -0.6276 +vn 0.7331 -0.1458 -0.6643 +vn 0.7375 -0.0974 -0.6683 +vn 0.7401 -0.0488 -0.6707 +vn 0.7721 -0.0488 -0.6336 +vn 0.8022 -0.0488 -0.5950 +vn 0.7994 -0.0974 -0.5929 +vn 0.8305 -0.0488 -0.5549 +vn 0.8275 -0.0974 -0.5529 +vn 0.7946 -0.1458 -0.5894 +vn 0.8226 -0.1458 -0.5496 +vn 0.7401 0.2886 -0.6074 +vn 0.7501 0.2416 -0.6156 +vn 0.7190 0.2416 -0.6516 +vn 0.7095 0.2886 -0.6429 +vn 0.6982 0.3349 -0.6327 +vn 0.7284 0.3349 -0.5978 +vn 0.7568 0.3349 -0.5613 +vn 0.7690 0.2886 -0.5704 +vn 0.7834 0.3349 -0.5235 +vn 0.7961 0.2886 -0.5319 +vn 0.7794 0.2416 -0.5781 +vn 0.8068 0.2416 -0.5391 +vn 0.5991 0.6319 -0.4917 +vn 0.6223 0.5933 -0.5107 +vn 0.5965 0.5933 -0.5406 +vn 0.5743 0.6319 -0.5204 +vn 0.5507 0.6691 -0.4991 +vn 0.5745 0.6691 -0.4715 +vn 0.5969 0.6691 -0.4427 +vn 0.6225 0.6319 -0.4617 +vn 0.6179 0.6691 -0.4129 +vn 0.6444 0.6319 -0.4306 +vn 0.6466 0.5933 -0.4796 +vn 0.6693 0.5933 -0.4472 +vn 0.3663 0.8806 -0.3006 +vn 0.3993 0.8562 -0.3277 +vn 0.3828 0.8562 -0.3469 +vn 0.3512 0.8806 -0.3182 +vn 0.3186 0.9028 -0.2888 +vn 0.3324 0.9028 -0.2728 +vn 0.3454 0.9028 -0.2562 +vn 0.3806 0.8806 -0.2823 +vn 0.3576 0.9028 -0.2389 +vn 0.3940 0.8806 -0.2633 +vn 0.4149 0.8562 -0.3078 +vn 0.4295 0.8562 -0.2870 +vn 0.3663 -0.8806 -0.3006 +vn 0.3324 -0.9028 -0.2728 +vn 0.3186 -0.9028 -0.2888 +vn 0.3512 -0.8806 -0.3182 +vn 0.3828 -0.8562 -0.3469 +vn 0.3993 -0.8562 -0.3277 +vn 0.4149 -0.8562 -0.3078 +vn 0.3806 -0.8806 -0.2823 +vn 0.4296 -0.8562 -0.2870 +vn 0.3940 -0.8806 -0.2633 +vn 0.3454 -0.9028 -0.2562 +vn 0.3575 -0.9028 -0.2389 +vn 0.5991 -0.6319 -0.4917 +vn 0.5745 -0.6691 -0.4715 +vn 0.5507 -0.6691 -0.4990 +vn 0.5743 -0.6319 -0.5204 +vn 0.5965 -0.5932 -0.5406 +vn 0.6223 -0.5932 -0.5107 +vn 0.6466 -0.5932 -0.4796 +vn 0.6225 -0.6319 -0.4617 +vn 0.6694 -0.5932 -0.4472 +vn 0.6444 -0.6319 -0.4306 +vn 0.5969 -0.6691 -0.4427 +vn 0.6179 -0.6691 -0.4129 +vn 0.8444 -0.2886 -0.4513 +vn 0.8310 -0.3349 -0.4442 +vn 0.8082 -0.3349 -0.4844 +vn 0.8213 -0.2886 -0.4922 +vn 0.8156 -0.3806 -0.4359 +vn 0.7932 -0.3806 -0.4754 +vn 0.8324 -0.2416 -0.4988 +vn 0.8558 -0.2416 -0.4574 +vn 0.8415 -0.1939 -0.5043 +vn 0.8652 -0.1939 -0.4625 +vn 0.8772 -0.2416 -0.4149 +vn 0.8655 -0.2886 -0.4094 +vn 0.8965 -0.2416 -0.3713 +vn 0.8846 -0.2886 -0.3664 +vn 0.8868 -0.1939 -0.4195 +vn 0.9063 -0.1939 -0.3754 +vn 0.8518 -0.3349 -0.4029 +vn 0.8359 -0.3806 -0.3954 +vn 0.8705 -0.3349 -0.3606 +vn 0.8544 -0.3806 -0.3539 +vn 0.8777 0.0974 -0.4692 +vn 0.8809 0.0488 -0.4708 +vn 0.8567 0.0488 -0.5134 +vn 0.8537 0.0974 -0.5116 +vn 0.8819 -0.0000 -0.4714 +vn 0.8578 -0.0000 -0.5140 +vn 0.8486 0.1458 -0.5086 +vn 0.8725 0.1458 -0.4664 +vn 0.8415 0.1939 -0.5043 +vn 0.8652 0.1939 -0.4625 +vn 0.8943 0.1458 -0.4230 +vn 0.8997 0.0974 -0.4256 +vn 0.9140 0.1458 -0.3786 +vn 0.9195 0.0974 -0.3809 +vn 0.8868 0.1939 -0.4195 +vn 0.9063 0.1939 -0.3754 +vn 0.9029 0.0488 -0.4271 +vn 0.9040 -0.0000 -0.4276 +vn 0.9228 0.0488 -0.3822 +vn 0.9239 -0.0000 -0.3827 +vn 0.7789 0.4690 -0.4163 +vn 0.7982 0.4254 -0.4266 +vn 0.7763 0.4254 -0.4652 +vn 0.7576 0.4690 -0.4540 +vn 0.8156 0.3806 -0.4359 +vn 0.7932 0.3806 -0.4754 +vn 0.7370 0.5116 -0.4417 +vn 0.7578 0.5116 -0.4050 +vn 0.7146 0.5531 -0.4283 +vn 0.7348 0.5531 -0.3927 +vn 0.7767 0.5116 -0.3674 +vn 0.7984 0.4690 -0.3777 +vn 0.7938 0.5116 -0.3288 +vn 0.8159 0.4690 -0.3380 +vn 0.7531 0.5531 -0.3563 +vn 0.7697 0.5531 -0.3188 +vn 0.8181 0.4254 -0.3870 +vn 0.8359 0.3806 -0.3954 +vn 0.8361 0.4254 -0.3463 +vn 0.8544 0.3806 -0.3539 +vn 0.5617 0.7709 -0.3002 +vn 0.5944 0.7388 -0.3177 +vn 0.5781 0.7388 -0.3464 +vn 0.5463 0.7709 -0.3274 +vn 0.6257 0.7048 -0.3344 +vn 0.6085 0.7048 -0.3647 +vn 0.5132 0.8013 -0.3076 +vn 0.5277 0.8013 -0.2820 +vn 0.4788 0.8297 -0.2869 +vn 0.4922 0.8297 -0.2631 +vn 0.5409 0.8013 -0.2558 +vn 0.5757 0.7709 -0.2723 +vn 0.5528 0.8013 -0.2290 +vn 0.5884 0.7709 -0.2437 +vn 0.5045 0.8297 -0.2387 +vn 0.5157 0.8297 -0.2136 +vn 0.6092 0.7388 -0.2882 +vn 0.6413 0.7048 -0.3034 +vn 0.6226 0.7388 -0.2579 +vn 0.6554 0.7048 -0.2715 +vn 0.2632 -0.9544 -0.1407 +vn 0.2261 -0.9666 -0.1208 +vn 0.2148 -0.9669 -0.1378 +vn 0.2542 -0.9546 -0.1554 +vn 0.1873 -0.9772 -0.1001 +vn 0.1719 -0.9777 -0.1207 +vn 0.2919 -0.9402 -0.1755 +vn 0.3005 -0.9402 -0.1606 +vn 0.3302 -0.9229 -0.1979 +vn 0.3395 -0.9229 -0.1815 +vn 0.3081 -0.9402 -0.1452 +vn 0.2704 -0.9546 -0.1250 +vn 0.3146 -0.9403 -0.1303 +vn 0.2747 -0.9548 -0.1138 +vn 0.3480 -0.9229 -0.1646 +vn 0.3557 -0.9229 -0.1473 +vn 0.2338 -0.9669 -0.1020 +vn 0.1959 -0.9777 -0.0759 +vn 0.2344 -0.9673 -0.0971 +vn 0.1910 -0.9784 -0.0791 +vn 0.2632 0.9544 -0.1407 +vn 0.3005 0.9402 -0.1606 +vn 0.2919 0.9402 -0.1755 +vn 0.2542 0.9546 -0.1554 +vn 0.3395 0.9229 -0.1815 +vn 0.3302 0.9229 -0.1979 +vn 0.2148 0.9669 -0.1378 +vn 0.2261 0.9666 -0.1208 +vn 0.1719 0.9777 -0.1207 +vn 0.1873 0.9772 -0.1001 +vn 0.2338 0.9669 -0.1020 +vn 0.2704 0.9546 -0.1250 +vn 0.2344 0.9673 -0.0971 +vn 0.2747 0.9548 -0.1138 +vn 0.1959 0.9777 -0.0759 +vn 0.1910 0.9784 -0.0791 +vn 0.3081 0.9402 -0.1452 +vn 0.3480 0.9229 -0.1646 +vn 0.3145 0.9403 -0.1303 +vn 0.3557 0.9229 -0.1473 +vn 0.5617 -0.7709 -0.3002 +vn 0.5277 -0.8013 -0.2820 +vn 0.5132 -0.8013 -0.3076 +vn 0.5463 -0.7709 -0.3274 +vn 0.4922 -0.8297 -0.2631 +vn 0.4788 -0.8297 -0.2869 +vn 0.5781 -0.7388 -0.3464 +vn 0.5944 -0.7388 -0.3177 +vn 0.6085 -0.7048 -0.3647 +vn 0.6256 -0.7048 -0.3344 +vn 0.6092 -0.7388 -0.2882 +vn 0.5757 -0.7709 -0.2723 +vn 0.6226 -0.7388 -0.2579 +vn 0.5884 -0.7709 -0.2437 +vn 0.6413 -0.7048 -0.3033 +vn 0.6554 -0.7048 -0.2715 +vn 0.5408 -0.8013 -0.2558 +vn 0.5045 -0.8297 -0.2387 +vn 0.5528 -0.8013 -0.2290 +vn 0.5157 -0.8297 -0.2136 +vn 0.7789 -0.4690 -0.4163 +vn 0.7578 -0.5116 -0.4050 +vn 0.7370 -0.5116 -0.4417 +vn 0.7576 -0.4690 -0.4540 +vn 0.7348 -0.5531 -0.3927 +vn 0.7146 -0.5531 -0.4283 +vn 0.7763 -0.4254 -0.4652 +vn 0.7982 -0.4254 -0.4266 +vn 0.8181 -0.4254 -0.3870 +vn 0.7984 -0.4690 -0.3777 +vn 0.8361 -0.4254 -0.3463 +vn 0.8159 -0.4690 -0.3380 +vn 0.7767 -0.5116 -0.3674 +vn 0.7531 -0.5531 -0.3563 +vn 0.7938 -0.5116 -0.3288 +vn 0.7697 -0.5531 -0.3188 +vn 0.8777 -0.0974 -0.4692 +vn 0.8725 -0.1458 -0.4664 +vn 0.8486 -0.1458 -0.5086 +vn 0.8537 -0.0974 -0.5116 +vn 0.8567 -0.0488 -0.5134 +vn 0.8809 -0.0488 -0.4708 +vn 0.9029 -0.0488 -0.4271 +vn 0.8997 -0.0974 -0.4256 +vn 0.9228 -0.0488 -0.3822 +vn 0.9195 -0.0974 -0.3809 +vn 0.8943 -0.1458 -0.4230 +vn 0.9140 -0.1458 -0.3786 +vn 0.8444 0.2886 -0.4513 +vn 0.8558 0.2416 -0.4574 +vn 0.8324 0.2416 -0.4988 +vn 0.8213 0.2886 -0.4922 +vn 0.8082 0.3349 -0.4844 +vn 0.8310 0.3349 -0.4442 +vn 0.8518 0.3349 -0.4029 +vn 0.8655 0.2886 -0.4094 +vn 0.8705 0.3349 -0.3606 +vn 0.8846 0.2886 -0.3664 +vn 0.8772 0.2416 -0.4149 +vn 0.8965 0.2416 -0.3713 +vn 0.6835 0.6319 -0.3653 +vn 0.7100 0.5933 -0.3795 +vn 0.6905 0.5933 -0.4138 +vn 0.6648 0.6319 -0.3984 +vn 0.6375 0.6691 -0.3820 +vn 0.6554 0.6691 -0.3503 +vn 0.6718 0.6691 -0.3178 +vn 0.7006 0.6319 -0.3314 +vn 0.6866 0.6691 -0.2844 +vn 0.7160 0.6319 -0.2966 +vn 0.7277 0.5933 -0.3442 +vn 0.7437 0.5933 -0.3081 +vn 0.4179 0.8806 -0.2234 +vn 0.4556 0.8562 -0.2435 +vn 0.4431 0.8562 -0.2656 +vn 0.4065 0.8806 -0.2436 +vn 0.3689 0.9028 -0.2211 +vn 0.3793 0.9028 -0.2027 +vn 0.3887 0.9028 -0.1839 +vn 0.4284 0.8806 -0.2026 +vn 0.3973 0.9028 -0.1646 +vn 0.4378 0.8806 -0.1814 +vn 0.4670 0.8562 -0.2209 +vn 0.4773 0.8562 -0.1977 +vn 0.4179 -0.8806 -0.2234 +vn 0.3792 -0.9028 -0.2027 +vn 0.3689 -0.9028 -0.2211 +vn 0.4065 -0.8806 -0.2436 +vn 0.4431 -0.8562 -0.2656 +vn 0.4556 -0.8562 -0.2435 +vn 0.4670 -0.8562 -0.2209 +vn 0.4284 -0.8806 -0.2026 +vn 0.4773 -0.8562 -0.1977 +vn 0.4378 -0.8806 -0.1814 +vn 0.3887 -0.9028 -0.1839 +vn 0.3973 -0.9028 -0.1646 +vn 0.6835 -0.6319 -0.3653 +vn 0.6554 -0.6691 -0.3503 +vn 0.6375 -0.6691 -0.3820 +vn 0.6648 -0.6319 -0.3984 +vn 0.6905 -0.5932 -0.4138 +vn 0.7100 -0.5932 -0.3795 +vn 0.7277 -0.5932 -0.3442 +vn 0.7006 -0.6319 -0.3314 +vn 0.7437 -0.5932 -0.3081 +vn 0.7160 -0.6319 -0.2966 +vn 0.6718 -0.6691 -0.3178 +vn 0.6866 -0.6691 -0.2844 +vn 0.9162 -0.2886 -0.2779 +vn 0.9017 -0.3349 -0.2735 +vn 0.8872 -0.3349 -0.3174 +vn 0.9015 -0.2886 -0.3225 +vn 0.8849 -0.3806 -0.2684 +vn 0.8707 -0.3806 -0.3115 +vn 0.9137 -0.2416 -0.3269 +vn 0.9286 -0.2416 -0.2817 +vn 0.9237 -0.1939 -0.3304 +vn 0.9388 -0.1939 -0.2848 +vn 0.9413 -0.2416 -0.2358 +vn 0.9287 -0.2886 -0.2327 +vn 0.9517 -0.2416 -0.1893 +vn 0.9391 -0.2886 -0.1868 +vn 0.9516 -0.1939 -0.2384 +vn 0.9622 -0.1939 -0.1914 +vn 0.9140 -0.3349 -0.2290 +vn 0.8970 -0.3806 -0.2247 +vn 0.9241 -0.3349 -0.1838 +vn 0.9070 -0.3806 -0.1804 +vn 0.9524 0.0974 -0.2889 +vn 0.9558 0.0488 -0.2899 +vn 0.9404 0.0488 -0.3364 +vn 0.9371 0.0974 -0.3352 +vn 0.9569 -0.0000 -0.2903 +vn 0.9416 -0.0000 -0.3368 +vn 0.9315 0.1458 -0.3332 +vn 0.9467 0.1458 -0.2872 +vn 0.9237 0.1939 -0.3304 +vn 0.9388 0.1939 -0.2848 +vn 0.9597 0.1458 -0.2404 +vn 0.9654 0.0974 -0.2419 +vn 0.9703 0.1458 -0.1930 +vn 0.9761 0.0974 -0.1942 +vn 0.9516 0.1939 -0.2384 +vn 0.9622 0.1939 -0.1914 +vn 0.9689 0.0488 -0.2428 +vn 0.9700 -0.0000 -0.2430 +vn 0.9796 0.0488 -0.1949 +vn 0.9808 -0.0000 -0.1951 +vn 0.8451 0.4690 -0.2564 +vn 0.8661 0.4254 -0.2627 +vn 0.8521 0.4254 -0.3048 +vn 0.8316 0.4690 -0.2975 +vn 0.8849 0.3806 -0.2684 +vn 0.8707 0.3806 -0.3115 +vn 0.8090 0.5116 -0.2894 +vn 0.8222 0.5116 -0.2494 +vn 0.7844 0.5531 -0.2806 +vn 0.7973 0.5531 -0.2418 +vn 0.8335 0.5116 -0.2088 +vn 0.8567 0.4690 -0.2146 +vn 0.8427 0.5116 -0.1676 +vn 0.8662 0.4690 -0.1723 +vn 0.8081 0.5531 -0.2025 +vn 0.8171 0.5531 -0.1625 +vn 0.8779 0.4254 -0.2200 +vn 0.8970 0.3806 -0.2247 +vn 0.8876 0.4254 -0.1766 +vn 0.9070 0.3806 -0.1804 +vn 0.6095 0.7709 -0.1849 +vn 0.6449 0.7388 -0.1956 +vn 0.6346 0.7388 -0.2270 +vn 0.5997 0.7709 -0.2145 +vn 0.6789 0.7048 -0.2059 +vn 0.6680 0.7048 -0.2390 +vn 0.5633 0.8013 -0.2015 +vn 0.5725 0.8013 -0.1737 +vn 0.5255 0.8297 -0.1880 +vn 0.5341 0.8297 -0.1620 +vn 0.5804 0.8013 -0.1454 +vn 0.6178 0.7709 -0.1548 +vn 0.5868 0.8013 -0.1167 +vn 0.6247 0.7709 -0.1242 +vn 0.5414 0.8297 -0.1357 +vn 0.5474 0.8297 -0.1089 +vn 0.6537 0.7388 -0.1638 +vn 0.6882 0.7048 -0.1724 +vn 0.6610 0.7388 -0.1315 +vn 0.6958 0.7048 -0.1384 +vn 0.2856 -0.9544 -0.0866 +vn 0.2453 -0.9666 -0.0744 +vn 0.2375 -0.9669 -0.0932 +vn 0.2796 -0.9546 -0.1028 +vn 0.2032 -0.9772 -0.0617 +vn 0.1922 -0.9777 -0.0848 +vn 0.3205 -0.9402 -0.1152 +vn 0.3261 -0.9402 -0.0989 +vn 0.3625 -0.9229 -0.1297 +vn 0.3684 -0.9229 -0.1118 +vn 0.3305 -0.9402 -0.0823 +vn 0.2896 -0.9546 -0.0698 +vn 0.3339 -0.9403 -0.0664 +vn 0.2916 -0.9548 -0.0580 +vn 0.3734 -0.9229 -0.0936 +vn 0.3776 -0.9229 -0.0751 +vn 0.2493 -0.9669 -0.0545 +vn 0.2069 -0.9777 -0.0363 +vn 0.2488 -0.9673 -0.0495 +vn 0.2027 -0.9784 -0.0403 +vn 0.2856 0.9544 -0.0866 +vn 0.3261 0.9402 -0.0989 +vn 0.3205 0.9402 -0.1152 +vn 0.2796 0.9546 -0.1028 +vn 0.3684 0.9229 -0.1118 +vn 0.3625 0.9229 -0.1297 +vn 0.2375 0.9669 -0.0932 +vn 0.2453 0.9666 -0.0744 +vn 0.1922 0.9777 -0.0848 +vn 0.2032 0.9772 -0.0617 +vn 0.2493 0.9669 -0.0545 +vn 0.2896 0.9546 -0.0698 +vn 0.2488 0.9673 -0.0495 +vn 0.2916 0.9548 -0.0580 +vn 0.2069 0.9777 -0.0362 +vn 0.2027 0.9784 -0.0403 +vn 0.3305 0.9402 -0.0823 +vn 0.3734 0.9229 -0.0936 +vn 0.3339 0.9403 -0.0664 +vn 0.3776 0.9229 -0.0751 +vn 0.6095 -0.7709 -0.1849 +vn 0.5725 -0.8013 -0.1737 +vn 0.5633 -0.8013 -0.2015 +vn 0.5997 -0.7709 -0.2145 +vn 0.5341 -0.8297 -0.1620 +vn 0.5255 -0.8297 -0.1880 +vn 0.6346 -0.7388 -0.2270 +vn 0.6449 -0.7388 -0.1956 +vn 0.6680 -0.7048 -0.2390 +vn 0.6789 -0.7048 -0.2059 +vn 0.6537 -0.7388 -0.1638 +vn 0.6178 -0.7709 -0.1548 +vn 0.6610 -0.7388 -0.1315 +vn 0.6247 -0.7709 -0.1243 +vn 0.6881 -0.7048 -0.1724 +vn 0.6958 -0.7048 -0.1384 +vn 0.5804 -0.8013 -0.1454 +vn 0.5414 -0.8297 -0.1357 +vn 0.5868 -0.8013 -0.1167 +vn 0.5474 -0.8297 -0.1089 +vn 0.8451 -0.4690 -0.2564 +vn 0.8222 -0.5116 -0.2494 +vn 0.8090 -0.5116 -0.2894 +vn 0.8316 -0.4690 -0.2975 +vn 0.7973 -0.5531 -0.2418 +vn 0.7844 -0.5531 -0.2806 +vn 0.8521 -0.4254 -0.3048 +vn 0.8661 -0.4254 -0.2627 +vn 0.8779 -0.4254 -0.2200 +vn 0.8567 -0.4690 -0.2146 +vn 0.8876 -0.4254 -0.1766 +vn 0.8662 -0.4690 -0.1723 +vn 0.8335 -0.5116 -0.2088 +vn 0.8081 -0.5531 -0.2025 +vn 0.8427 -0.5116 -0.1676 +vn 0.8171 -0.5531 -0.1625 +vn 0.9524 -0.0974 -0.2889 +vn 0.9467 -0.1458 -0.2872 +vn 0.9315 -0.1458 -0.3332 +vn 0.9371 -0.0974 -0.3352 +vn 0.9404 -0.0488 -0.3364 +vn 0.9558 -0.0488 -0.2899 +vn 0.9689 -0.0488 -0.2428 +vn 0.9654 -0.0974 -0.2419 +vn 0.9796 -0.0488 -0.1949 +vn 0.9761 -0.0974 -0.1942 +vn 0.9597 -0.1458 -0.2404 +vn 0.9703 -0.1458 -0.1930 +vn 0.9162 0.2886 -0.2779 +vn 0.9286 0.2416 -0.2817 +vn 0.9137 0.2416 -0.3269 +vn 0.9015 0.2886 -0.3225 +vn 0.8872 0.3349 -0.3174 +vn 0.9017 0.3349 -0.2735 +vn 0.9140 0.3349 -0.2290 +vn 0.9287 0.2886 -0.2327 +vn 0.9241 0.3349 -0.1838 +vn 0.9391 0.2886 -0.1868 +vn 0.9413 0.2416 -0.2358 +vn 0.9517 0.2416 -0.1893 +vn 0.7417 0.6319 -0.2250 +vn 0.7704 0.5932 -0.2337 +vn 0.7580 0.5932 -0.2712 +vn 0.7297 0.6319 -0.2611 +vn 0.6997 0.6691 -0.2503 +vn 0.7112 0.6691 -0.2157 +vn 0.7209 0.6691 -0.1806 +vn 0.7518 0.6319 -0.1884 +vn 0.7289 0.6691 -0.1450 +vn 0.7601 0.6319 -0.1512 +vn 0.7809 0.5932 -0.1957 +vn 0.7896 0.5932 -0.1570 +vn 0.4535 0.8806 -0.1376 +vn 0.4944 0.8562 -0.1500 +vn 0.4864 0.8562 -0.1740 +vn 0.4462 0.8806 -0.1596 +vn 0.4049 0.9028 -0.1448 +vn 0.4115 0.9028 -0.1248 +vn 0.4171 0.9028 -0.1045 +vn 0.4597 0.8806 -0.1152 +vn 0.4218 0.9028 -0.0839 +vn 0.4648 0.8806 -0.0925 +vn 0.5011 0.8562 -0.1256 +vn 0.5067 0.8562 -0.1008 +vn 0.4535 -0.8806 -0.1376 +vn 0.4115 -0.9028 -0.1248 +vn 0.4049 -0.9028 -0.1448 +vn 0.4462 -0.8806 -0.1596 +vn 0.4864 -0.8562 -0.1740 +vn 0.4944 -0.8562 -0.1500 +vn 0.5011 -0.8562 -0.1256 +vn 0.4597 -0.8806 -0.1152 +vn 0.5067 -0.8562 -0.1008 +vn 0.4648 -0.8806 -0.0924 +vn 0.4171 -0.9028 -0.1045 +vn 0.4218 -0.9028 -0.0839 +vn 0.7417 -0.6319 -0.2250 +vn 0.7112 -0.6691 -0.2157 +vn 0.6997 -0.6691 -0.2503 +vn 0.7297 -0.6319 -0.2611 +vn 0.7580 -0.5932 -0.2712 +vn 0.7704 -0.5932 -0.2337 +vn 0.7809 -0.5932 -0.1957 +vn 0.7518 -0.6319 -0.1884 +vn 0.7896 -0.5932 -0.1571 +vn 0.7601 -0.6319 -0.1512 +vn 0.7209 -0.6691 -0.1806 +vn 0.7289 -0.6691 -0.1450 +vn 0.9528 -0.2886 -0.0938 +vn 0.9377 -0.3349 -0.0924 +vn 0.9321 -0.3349 -0.1382 +vn 0.9471 -0.2886 -0.1404 +vn 0.9203 -0.3806 -0.0906 +vn 0.9147 -0.3806 -0.1356 +vn 0.9599 -0.2416 -0.1423 +vn 0.9657 -0.2416 -0.0951 +vn 0.9704 -0.1939 -0.1439 +vn 0.9763 -0.1939 -0.0962 +vn 0.9692 -0.2416 -0.0477 +vn 0.9563 -0.2886 -0.0470 +vn 0.9704 -0.2416 -0.0000 +vn 0.9575 -0.2886 -0.0000 +vn 0.9798 -0.1939 -0.0482 +vn 0.9810 -0.1939 -0.0000 +vn 0.9411 -0.3349 -0.0463 +vn 0.9236 -0.3806 -0.0454 +vn 0.9422 -0.3349 -0.0000 +vn 0.9247 -0.3806 -0.0000 +vn 0.9905 0.0974 -0.0976 +vn 0.9940 0.0488 -0.0979 +vn 0.9880 0.0488 -0.1465 +vn 0.9845 0.0974 -0.1460 +vn 0.9952 -0.0000 -0.0980 +vn 0.9892 -0.0000 -0.1467 +vn 0.9786 0.1458 -0.1451 +vn 0.9846 0.1458 -0.0970 +vn 0.9704 0.1939 -0.1439 +vn 0.9763 0.1939 -0.0962 +vn 0.9881 0.1458 -0.0486 +vn 0.9940 0.0974 -0.0489 +vn 0.9893 0.1458 -0.0000 +vn 0.9952 0.0974 -0.0000 +vn 0.9798 0.1939 -0.0482 +vn 0.9810 0.1939 -0.0000 +vn 0.9976 0.0488 -0.0491 +vn 0.9988 -0.0000 -0.0491 +vn 0.9988 0.0488 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.8789 0.4690 -0.0866 +vn 0.9007 0.4254 -0.0887 +vn 0.8952 0.4254 -0.1327 +vn 0.8736 0.4690 -0.1295 +vn 0.9203 0.3806 -0.0906 +vn 0.9147 0.3806 -0.1356 +vn 0.8499 0.5116 -0.1260 +vn 0.8551 0.5116 -0.0842 +vn 0.8241 0.5531 -0.1222 +vn 0.8291 0.5531 -0.0817 +vn 0.8582 0.5116 -0.0422 +vn 0.8821 0.4690 -0.0434 +vn 0.8592 0.5116 -0.0000 +vn 0.8832 0.4690 -0.0000 +vn 0.8321 0.5531 -0.0409 +vn 0.8331 0.5531 -0.0000 +vn 0.9039 0.4254 -0.0445 +vn 0.9236 0.3806 -0.0454 +vn 0.9050 0.4254 -0.0000 +vn 0.9247 0.3806 -0.0000 +vn 0.6338 0.7709 -0.0624 +vn 0.6707 0.7388 -0.0661 +vn 0.6666 0.7388 -0.0988 +vn 0.6300 0.7709 -0.0934 +vn 0.7060 0.7048 -0.0695 +vn 0.7017 0.7048 -0.1041 +vn 0.5918 0.8013 -0.0877 +vn 0.5954 0.8013 -0.0587 +vn 0.5521 0.8297 -0.0819 +vn 0.5555 0.8297 -0.0547 +vn 0.5976 0.8013 -0.0294 +vn 0.6361 0.7709 -0.0313 +vn 0.5983 0.8013 -0.0000 +vn 0.6369 0.7709 -0.0000 +vn 0.5575 0.8297 -0.0274 +vn 0.5581 0.8297 -0.0000 +vn 0.6731 0.7388 -0.0331 +vn 0.7086 0.7048 -0.0348 +vn 0.6739 0.7388 -0.0000 +vn 0.7094 0.7048 -0.0000 +vn 0.2970 -0.9544 -0.0293 +vn 0.2551 -0.9666 -0.0251 +vn 0.2511 -0.9669 -0.0451 +vn 0.2943 -0.9546 -0.0463 +vn 0.2114 -0.9772 -0.0208 +vn 0.2050 -0.9777 -0.0457 +vn 0.3369 -0.9402 -0.0504 +vn 0.3391 -0.9402 -0.0334 +vn 0.3808 -0.9229 -0.0565 +vn 0.3831 -0.9229 -0.0377 +vn 0.3402 -0.9402 -0.0163 +vn 0.2977 -0.9546 -0.0120 +vn 0.3405 -0.9403 -0.0000 +vn 0.2974 -0.9548 -0.0000 +vn 0.3845 -0.9229 -0.0189 +vn 0.3850 -0.9229 -0.0000 +vn 0.2551 -0.9669 -0.0048 +vn 0.2100 -0.9777 0.0048 +vn 0.2537 -0.9673 -0.0000 +vn 0.2067 -0.9784 -0.0000 +vn 0.2970 0.9544 -0.0293 +vn 0.3391 0.9402 -0.0334 +vn 0.3368 0.9402 -0.0504 +vn 0.2943 0.9546 -0.0463 +vn 0.3831 0.9229 -0.0377 +vn 0.3808 0.9229 -0.0565 +vn 0.2511 0.9669 -0.0451 +vn 0.2551 0.9666 -0.0251 +vn 0.2050 0.9777 -0.0457 +vn 0.2114 0.9772 -0.0208 +vn 0.2551 0.9669 -0.0048 +vn 0.2977 0.9546 -0.0120 +vn 0.2537 0.9673 -0.0000 +vn 0.2974 0.9548 -0.0000 +vn 0.2100 0.9777 0.0048 +vn 0.2067 0.9784 -0.0000 +vn 0.3402 0.9402 -0.0163 +vn 0.3845 0.9229 -0.0189 +vn 0.3405 0.9403 -0.0000 +vn 0.3850 0.9229 -0.0000 +vn 0.6338 -0.7709 -0.0624 +vn 0.5954 -0.8013 -0.0586 +vn 0.5918 -0.8013 -0.0877 +vn 0.6300 -0.7709 -0.0934 +vn 0.5555 -0.8297 -0.0547 +vn 0.5521 -0.8297 -0.0819 +vn 0.6667 -0.7388 -0.0988 +vn 0.6707 -0.7388 -0.0661 +vn 0.7017 -0.7048 -0.1041 +vn 0.7060 -0.7048 -0.0695 +vn 0.6731 -0.7388 -0.0331 +vn 0.6361 -0.7709 -0.0313 +vn 0.6739 -0.7388 -0.0000 +vn 0.6369 -0.7709 -0.0000 +vn 0.7086 -0.7048 -0.0348 +vn 0.7094 -0.7048 -0.0000 +vn 0.5976 -0.8013 -0.0294 +vn 0.5575 -0.8297 -0.0274 +vn 0.5983 -0.8013 -0.0000 +vn 0.5581 -0.8297 -0.0000 +vn 0.8789 -0.4690 -0.0866 +vn 0.8551 -0.5116 -0.0842 +vn 0.8499 -0.5116 -0.1260 +vn 0.8736 -0.4690 -0.1295 +vn 0.8291 -0.5531 -0.0817 +vn 0.8241 -0.5531 -0.1222 +vn 0.8952 -0.4254 -0.1327 +vn 0.9007 -0.4254 -0.0887 +vn 0.9039 -0.4254 -0.0445 +vn 0.8821 -0.4690 -0.0434 +vn 0.9050 -0.4254 -0.0000 +vn 0.8832 -0.4690 -0.0000 +vn 0.8582 -0.5116 -0.0422 +vn 0.8321 -0.5531 -0.0409 +vn 0.8592 -0.5116 -0.0000 +vn 0.8331 -0.5531 -0.0000 +vn 0.9905 -0.0974 -0.0976 +vn 0.9846 -0.1458 -0.0970 +vn 0.9786 -0.1458 -0.1451 +vn 0.9845 -0.0974 -0.1460 +vn 0.9880 -0.0488 -0.1465 +vn 0.9940 -0.0488 -0.0979 +vn 0.9976 -0.0488 -0.0491 +vn 0.9940 -0.0974 -0.0489 +vn 0.9988 -0.0488 -0.0000 +vn 0.9952 -0.0974 -0.0000 +vn 0.9881 -0.1458 -0.0486 +vn 0.9893 -0.1458 -0.0000 +vn 0.9528 0.2886 -0.0938 +vn 0.9657 0.2416 -0.0951 +vn 0.9599 0.2416 -0.1423 +vn 0.9471 0.2886 -0.1404 +vn 0.9321 0.3349 -0.1382 +vn 0.9377 0.3349 -0.0924 +vn 0.9411 0.3349 -0.0463 +vn 0.9563 0.2886 -0.0470 +vn 0.9422 0.3349 -0.0000 +vn 0.9575 0.2886 -0.0000 +vn 0.9692 0.2416 -0.0477 +vn 0.9704 0.2416 -0.0000 +vn 0.7713 0.6319 -0.0760 +vn 0.8011 0.5932 -0.0789 +vn 0.7963 0.5932 -0.1181 +vn 0.7666 0.6319 -0.1137 +vn 0.7351 0.6691 -0.1090 +vn 0.7396 0.6691 -0.0728 +vn 0.7423 0.6691 -0.0365 +vn 0.7741 0.6319 -0.0381 +vn 0.7432 0.6691 -0.0000 +vn 0.7750 0.6319 -0.0000 +vn 0.8040 0.5933 -0.0395 +vn 0.8050 0.5933 -0.0000 +vn 0.4716 0.8806 -0.0464 +vn 0.5141 0.8562 -0.0506 +vn 0.5110 0.8562 -0.0758 +vn 0.4688 0.8806 -0.0695 +vn 0.4254 0.9028 -0.0631 +vn 0.4280 0.9028 -0.0421 +vn 0.4295 0.9028 -0.0211 +vn 0.4733 0.8806 -0.0233 +vn 0.4300 0.9028 -0.0000 +vn 0.4739 0.8806 -0.0000 +vn 0.5160 0.8562 -0.0254 +vn 0.5166 0.8562 -0.0000 +vn 0.4716 -0.8806 -0.0464 +vn 0.4280 -0.9028 -0.0421 +vn 0.4254 -0.9028 -0.0631 +vn 0.4688 -0.8806 -0.0695 +vn 0.5110 -0.8562 -0.0758 +vn 0.5141 -0.8562 -0.0506 +vn 0.5160 -0.8562 -0.0254 +vn 0.4733 -0.8806 -0.0233 +vn 0.5166 -0.8562 -0.0000 +vn 0.4739 -0.8806 -0.0000 +vn 0.4295 -0.9028 -0.0211 +vn 0.4300 -0.9028 -0.0000 +vn 0.7713 -0.6319 -0.0760 +vn 0.7396 -0.6691 -0.0728 +vn 0.7351 -0.6691 -0.1090 +vn 0.7667 -0.6319 -0.1137 +vn 0.7963 -0.5932 -0.1181 +vn 0.8011 -0.5932 -0.0789 +vn 0.8040 -0.5932 -0.0395 +vn 0.7741 -0.6319 -0.0381 +vn 0.8050 -0.5932 -0.0000 +vn 0.7750 -0.6319 -0.0000 +vn 0.7423 -0.6691 -0.0365 +vn 0.7432 -0.6691 -0.0000 +vn 0.9528 -0.2886 0.0938 +vn 0.9377 -0.3349 0.0924 +vn 0.9411 -0.3349 0.0463 +vn 0.9563 -0.2886 0.0470 +vn 0.9203 -0.3806 0.0906 +vn 0.9236 -0.3806 0.0454 +vn 0.9692 -0.2416 0.0477 +vn 0.9657 -0.2416 0.0951 +vn 0.9798 -0.1939 0.0482 +vn 0.9763 -0.1939 0.0962 +vn 0.9599 -0.2416 0.1423 +vn 0.9471 -0.2886 0.1404 +vn 0.9517 -0.2416 0.1893 +vn 0.9391 -0.2886 0.1868 +vn 0.9704 -0.1939 0.1439 +vn 0.9622 -0.1939 0.1914 +vn 0.9321 -0.3349 0.1382 +vn 0.9147 -0.3806 0.1356 +vn 0.9241 -0.3349 0.1838 +vn 0.9070 -0.3806 0.1804 +vn 0.9905 0.0974 0.0976 +vn 0.9940 0.0488 0.0979 +vn 0.9976 0.0488 0.0491 +vn 0.9940 0.0974 0.0489 +vn 0.9952 -0.0000 0.0980 +vn 0.9988 -0.0000 0.0491 +vn 0.9881 0.1458 0.0486 +vn 0.9846 0.1458 0.0970 +vn 0.9798 0.1939 0.0482 +vn 0.9763 0.1939 0.0962 +vn 0.9786 0.1458 0.1451 +vn 0.9845 0.0974 0.1460 +vn 0.9703 0.1458 0.1930 +vn 0.9761 0.0974 0.1942 +vn 0.9704 0.1939 0.1439 +vn 0.9622 0.1939 0.1914 +vn 0.9880 0.0488 0.1465 +vn 0.9892 -0.0000 0.1467 +vn 0.9796 0.0488 0.1949 +vn 0.9808 -0.0000 0.1951 +vn 0.8789 0.4690 0.0866 +vn 0.9007 0.4254 0.0887 +vn 0.9039 0.4254 0.0445 +vn 0.8821 0.4690 0.0434 +vn 0.9203 0.3806 0.0906 +vn 0.9236 0.3806 0.0454 +vn 0.8582 0.5116 0.0422 +vn 0.8551 0.5116 0.0842 +vn 0.8321 0.5531 0.0409 +vn 0.8291 0.5531 0.0817 +vn 0.8499 0.5116 0.1260 +vn 0.8736 0.4690 0.1295 +vn 0.8427 0.5116 0.1676 +vn 0.8662 0.4690 0.1723 +vn 0.8241 0.5531 0.1222 +vn 0.8171 0.5531 0.1625 +vn 0.8952 0.4254 0.1327 +vn 0.9147 0.3806 0.1356 +vn 0.8876 0.4254 0.1766 +vn 0.9070 0.3806 0.1804 +vn 0.6338 0.7709 0.0624 +vn 0.6707 0.7388 0.0661 +vn 0.6731 0.7388 0.0331 +vn 0.6361 0.7709 0.0313 +vn 0.7060 0.7048 0.0695 +vn 0.7086 0.7048 0.0348 +vn 0.5976 0.8013 0.0294 +vn 0.5954 0.8013 0.0586 +vn 0.5575 0.8297 0.0274 +vn 0.5555 0.8297 0.0547 +vn 0.5918 0.8013 0.0877 +vn 0.6300 0.7709 0.0934 +vn 0.5868 0.8013 0.1167 +vn 0.6247 0.7709 0.1243 +vn 0.5521 0.8297 0.0819 +vn 0.5474 0.8297 0.1089 +vn 0.6666 0.7388 0.0988 +vn 0.7017 0.7048 0.1041 +vn 0.6610 0.7388 0.1315 +vn 0.6958 0.7048 0.1384 +vn 0.2970 -0.9544 0.0293 +vn 0.2551 -0.9666 0.0251 +vn 0.2551 -0.9669 0.0048 +vn 0.2977 -0.9546 0.0120 +vn 0.2114 -0.9772 0.0208 +vn 0.2100 -0.9777 -0.0048 +vn 0.3402 -0.9402 0.0163 +vn 0.3391 -0.9402 0.0334 +vn 0.3845 -0.9229 0.0189 +vn 0.3831 -0.9229 0.0377 +vn 0.3369 -0.9402 0.0504 +vn 0.2943 -0.9546 0.0463 +vn 0.3339 -0.9403 0.0664 +vn 0.2916 -0.9548 0.0580 +vn 0.3808 -0.9229 0.0565 +vn 0.3776 -0.9229 0.0751 +vn 0.2511 -0.9669 0.0451 +vn 0.2050 -0.9777 0.0457 +vn 0.2488 -0.9673 0.0495 +vn 0.2027 -0.9784 0.0403 +vn 0.2970 0.9544 0.0293 +vn 0.3391 0.9402 0.0334 +vn 0.3402 0.9402 0.0163 +vn 0.2977 0.9546 0.0120 +vn 0.3831 0.9229 0.0377 +vn 0.3845 0.9229 0.0189 +vn 0.2551 0.9669 0.0048 +vn 0.2551 0.9666 0.0251 +vn 0.2100 0.9777 -0.0048 +vn 0.2114 0.9772 0.0208 +vn 0.2511 0.9669 0.0451 +vn 0.2943 0.9546 0.0463 +vn 0.2488 0.9673 0.0495 +vn 0.2916 0.9548 0.0580 +vn 0.2050 0.9777 0.0457 +vn 0.2027 0.9784 0.0403 +vn 0.3368 0.9402 0.0504 +vn 0.3808 0.9229 0.0565 +vn 0.3339 0.9403 0.0664 +vn 0.3776 0.9229 0.0751 +vn 0.6338 -0.7709 0.0624 +vn 0.5954 -0.8013 0.0586 +vn 0.5976 -0.8013 0.0294 +vn 0.6361 -0.7709 0.0313 +vn 0.5555 -0.8297 0.0547 +vn 0.5575 -0.8297 0.0274 +vn 0.6731 -0.7388 0.0331 +vn 0.6707 -0.7388 0.0661 +vn 0.7086 -0.7048 0.0348 +vn 0.7060 -0.7048 0.0695 +vn 0.6667 -0.7388 0.0988 +vn 0.6300 -0.7709 0.0934 +vn 0.6610 -0.7388 0.1315 +vn 0.6247 -0.7709 0.1243 +vn 0.7017 -0.7048 0.1041 +vn 0.6958 -0.7048 0.1384 +vn 0.5918 -0.8013 0.0877 +vn 0.5521 -0.8297 0.0819 +vn 0.5868 -0.8013 0.1167 +vn 0.5474 -0.8297 0.1089 +vn 0.8789 -0.4690 0.0866 +vn 0.8551 -0.5116 0.0842 +vn 0.8582 -0.5116 0.0422 +vn 0.8821 -0.4690 0.0434 +vn 0.8291 -0.5531 0.0817 +vn 0.8321 -0.5531 0.0409 +vn 0.9039 -0.4254 0.0445 +vn 0.9007 -0.4254 0.0887 +vn 0.8952 -0.4254 0.1327 +vn 0.8736 -0.4690 0.1295 +vn 0.8876 -0.4254 0.1766 +vn 0.8662 -0.4690 0.1723 +vn 0.8499 -0.5116 0.1260 +vn 0.8241 -0.5531 0.1222 +vn 0.8427 -0.5116 0.1676 +vn 0.8171 -0.5531 0.1625 +vn 0.9905 -0.0974 0.0976 +vn 0.9846 -0.1458 0.0970 +vn 0.9881 -0.1458 0.0486 +vn 0.9940 -0.0974 0.0489 +vn 0.9976 -0.0488 0.0491 +vn 0.9940 -0.0488 0.0979 +vn 0.9880 -0.0488 0.1465 +vn 0.9845 -0.0974 0.1460 +vn 0.9796 -0.0488 0.1949 +vn 0.9761 -0.0974 0.1942 +vn 0.9786 -0.1458 0.1451 +vn 0.9703 -0.1458 0.1930 +vn 0.9528 0.2886 0.0938 +vn 0.9657 0.2416 0.0951 +vn 0.9692 0.2416 0.0477 +vn 0.9563 0.2886 0.0470 +vn 0.9411 0.3349 0.0463 +vn 0.9377 0.3349 0.0924 +vn 0.9321 0.3349 0.1382 +vn 0.9471 0.2886 0.1404 +vn 0.9241 0.3349 0.1838 +vn 0.9391 0.2886 0.1868 +vn 0.9599 0.2416 0.1423 +vn 0.9517 0.2416 0.1893 +vn 0.7713 0.6319 0.0760 +vn 0.8011 0.5932 0.0789 +vn 0.8040 0.5933 0.0395 +vn 0.7741 0.6319 0.0381 +vn 0.7423 0.6691 0.0365 +vn 0.7396 0.6691 0.0728 +vn 0.7351 0.6691 0.1090 +vn 0.7666 0.6319 0.1137 +vn 0.7289 0.6691 0.1450 +vn 0.7601 0.6319 0.1512 +vn 0.7963 0.5932 0.1181 +vn 0.7895 0.5933 0.1571 +vn 0.4716 0.8806 0.0464 +vn 0.5141 0.8562 0.0506 +vn 0.5160 0.8562 0.0254 +vn 0.4733 0.8806 0.0233 +vn 0.4295 0.9028 0.0211 +vn 0.4280 0.9028 0.0421 +vn 0.4254 0.9028 0.0631 +vn 0.4688 0.8806 0.0695 +vn 0.4218 0.9028 0.0839 +vn 0.4648 0.8806 0.0925 +vn 0.5110 0.8562 0.0758 +vn 0.5067 0.8562 0.1008 +vn 0.4716 -0.8806 0.0464 +vn 0.4280 -0.9028 0.0421 +vn 0.4295 -0.9028 0.0211 +vn 0.4733 -0.8806 0.0233 +vn 0.5160 -0.8562 0.0254 +vn 0.5141 -0.8562 0.0506 +vn 0.5110 -0.8562 0.0758 +vn 0.4688 -0.8806 0.0695 +vn 0.5067 -0.8562 0.1008 +vn 0.4648 -0.8806 0.0925 +vn 0.4254 -0.9028 0.0631 +vn 0.4218 -0.9028 0.0839 +vn 0.7713 -0.6319 0.0760 +vn 0.7396 -0.6691 0.0728 +vn 0.7423 -0.6691 0.0365 +vn 0.7741 -0.6319 0.0381 +vn 0.8040 -0.5932 0.0395 +vn 0.8011 -0.5932 0.0789 +vn 0.7963 -0.5932 0.1181 +vn 0.7667 -0.6319 0.1137 +vn 0.7896 -0.5932 0.1571 +vn 0.7601 -0.6319 0.1512 +vn 0.7351 -0.6691 0.1090 +vn 0.7289 -0.6691 0.1450 +vn 0.9162 -0.2886 0.2779 +vn 0.9017 -0.3349 0.2735 +vn 0.9140 -0.3349 0.2290 +vn 0.9287 -0.2886 0.2327 +vn 0.8849 -0.3806 0.2684 +vn 0.8970 -0.3806 0.2248 +vn 0.9413 -0.2416 0.2358 +vn 0.9286 -0.2416 0.2817 +vn 0.9516 -0.1939 0.2384 +vn 0.9388 -0.1939 0.2848 +vn 0.9137 -0.2416 0.3269 +vn 0.9015 -0.2886 0.3225 +vn 0.8965 -0.2416 0.3713 +vn 0.8846 -0.2886 0.3664 +vn 0.9237 -0.1939 0.3304 +vn 0.9063 -0.1939 0.3754 +vn 0.8872 -0.3349 0.3174 +vn 0.8707 -0.3806 0.3115 +vn 0.8705 -0.3349 0.3606 +vn 0.8544 -0.3806 0.3539 +vn 0.9524 0.0974 0.2889 +vn 0.9558 0.0488 0.2899 +vn 0.9689 0.0488 0.2428 +vn 0.9654 0.0974 0.2419 +vn 0.9569 -0.0000 0.2903 +vn 0.9700 -0.0000 0.2430 +vn 0.9597 0.1458 0.2404 +vn 0.9467 0.1458 0.2872 +vn 0.9516 0.1939 0.2384 +vn 0.9388 0.1939 0.2848 +vn 0.9315 0.1458 0.3332 +vn 0.9371 0.0974 0.3352 +vn 0.9140 0.1458 0.3786 +vn 0.9195 0.0974 0.3809 +vn 0.9237 0.1939 0.3304 +vn 0.9063 0.1939 0.3754 +vn 0.9404 0.0488 0.3364 +vn 0.9416 -0.0000 0.3368 +vn 0.9228 0.0488 0.3822 +vn 0.9239 -0.0000 0.3827 +vn 0.8451 0.4690 0.2564 +vn 0.8661 0.4254 0.2627 +vn 0.8779 0.4254 0.2200 +vn 0.8567 0.4690 0.2146 +vn 0.8849 0.3806 0.2684 +vn 0.8970 0.3806 0.2247 +vn 0.8335 0.5116 0.2088 +vn 0.8222 0.5116 0.2494 +vn 0.8081 0.5531 0.2025 +vn 0.7973 0.5531 0.2418 +vn 0.8090 0.5116 0.2894 +vn 0.8316 0.4690 0.2975 +vn 0.7938 0.5116 0.3288 +vn 0.8160 0.4690 0.3380 +vn 0.7844 0.5531 0.2806 +vn 0.7697 0.5531 0.3188 +vn 0.8521 0.4254 0.3048 +vn 0.8707 0.3806 0.3115 +vn 0.8361 0.4254 0.3463 +vn 0.8544 0.3806 0.3539 +vn 0.6095 0.7709 0.1849 +vn 0.6449 0.7388 0.1956 +vn 0.6537 0.7388 0.1638 +vn 0.6178 0.7709 0.1548 +vn 0.6789 0.7048 0.2059 +vn 0.6882 0.7048 0.1724 +vn 0.5804 0.8013 0.1454 +vn 0.5725 0.8013 0.1737 +vn 0.5414 0.8297 0.1357 +vn 0.5341 0.8297 0.1620 +vn 0.5633 0.8013 0.2015 +vn 0.5997 0.7709 0.2145 +vn 0.5528 0.8013 0.2290 +vn 0.5884 0.7709 0.2437 +vn 0.5255 0.8297 0.1880 +vn 0.5157 0.8297 0.2136 +vn 0.6346 0.7388 0.2270 +vn 0.6680 0.7048 0.2390 +vn 0.6226 0.7388 0.2579 +vn 0.6554 0.7048 0.2715 +vn 0.2856 -0.9544 0.0866 +vn 0.2453 -0.9666 0.0744 +vn 0.2493 -0.9669 0.0545 +vn 0.2896 -0.9546 0.0698 +vn 0.2032 -0.9772 0.0617 +vn 0.2069 -0.9777 0.0363 +vn 0.3305 -0.9402 0.0823 +vn 0.3261 -0.9402 0.0989 +vn 0.3734 -0.9229 0.0936 +vn 0.3684 -0.9229 0.1118 +vn 0.3205 -0.9402 0.1152 +vn 0.2796 -0.9546 0.1029 +vn 0.3146 -0.9403 0.1303 +vn 0.2747 -0.9548 0.1138 +vn 0.3625 -0.9229 0.1297 +vn 0.3557 -0.9229 0.1473 +vn 0.2375 -0.9669 0.0932 +vn 0.1922 -0.9777 0.0848 +vn 0.2344 -0.9673 0.0971 +vn 0.1910 -0.9784 0.0791 +vn 0.2856 0.9544 0.0866 +vn 0.3261 0.9402 0.0989 +vn 0.3305 0.9402 0.0823 +vn 0.2896 0.9546 0.0698 +vn 0.3684 0.9229 0.1118 +vn 0.3734 0.9229 0.0936 +vn 0.2493 0.9669 0.0545 +vn 0.2453 0.9666 0.0744 +vn 0.2069 0.9777 0.0362 +vn 0.2032 0.9772 0.0616 +vn 0.2375 0.9669 0.0932 +vn 0.2796 0.9546 0.1028 +vn 0.2344 0.9673 0.0971 +vn 0.2747 0.9548 0.1138 +vn 0.1922 0.9777 0.0848 +vn 0.1910 0.9784 0.0791 +vn 0.3205 0.9402 0.1152 +vn 0.3625 0.9229 0.1297 +vn 0.3145 0.9403 0.1303 +vn 0.3557 0.9229 0.1473 +vn 0.6095 -0.7709 0.1849 +vn 0.5725 -0.8013 0.1737 +vn 0.5804 -0.8013 0.1454 +vn 0.6178 -0.7709 0.1548 +vn 0.5341 -0.8297 0.1620 +vn 0.5414 -0.8297 0.1357 +vn 0.6537 -0.7388 0.1638 +vn 0.6449 -0.7388 0.1956 +vn 0.6881 -0.7048 0.1724 +vn 0.6789 -0.7048 0.2059 +vn 0.6346 -0.7388 0.2270 +vn 0.5997 -0.7709 0.2145 +vn 0.6226 -0.7388 0.2579 +vn 0.5884 -0.7709 0.2437 +vn 0.6680 -0.7048 0.2390 +vn 0.6554 -0.7048 0.2715 +vn 0.5633 -0.8013 0.2015 +vn 0.5255 -0.8297 0.1880 +vn 0.5528 -0.8013 0.2290 +vn 0.5157 -0.8297 0.2136 +vn 0.8452 -0.4690 0.2564 +vn 0.8222 -0.5116 0.2494 +vn 0.8335 -0.5116 0.2088 +vn 0.8567 -0.4690 0.2146 +vn 0.7973 -0.5531 0.2418 +vn 0.8081 -0.5531 0.2025 +vn 0.8779 -0.4254 0.2200 +vn 0.8661 -0.4254 0.2627 +vn 0.8521 -0.4254 0.3048 +vn 0.8316 -0.4690 0.2975 +vn 0.8361 -0.4254 0.3463 +vn 0.8160 -0.4690 0.3380 +vn 0.8090 -0.5116 0.2894 +vn 0.7844 -0.5531 0.2806 +vn 0.7938 -0.5116 0.3288 +vn 0.7697 -0.5531 0.3188 +vn 0.9524 -0.0974 0.2889 +vn 0.9467 -0.1458 0.2872 +vn 0.9597 -0.1458 0.2404 +vn 0.9654 -0.0974 0.2419 +vn 0.9689 -0.0488 0.2428 +vn 0.9558 -0.0488 0.2899 +vn 0.9404 -0.0488 0.3364 +vn 0.9371 -0.0974 0.3352 +vn 0.9228 -0.0488 0.3822 +vn 0.9195 -0.0974 0.3809 +vn 0.9315 -0.1458 0.3332 +vn 0.9140 -0.1458 0.3786 +vn 0.9162 0.2886 0.2779 +vn 0.9286 0.2416 0.2817 +vn 0.9413 0.2416 0.2358 +vn 0.9287 0.2886 0.2327 +vn 0.9140 0.3349 0.2290 +vn 0.9017 0.3349 0.2735 +vn 0.8872 0.3349 0.3174 +vn 0.9015 0.2886 0.3225 +vn 0.8705 0.3349 0.3606 +vn 0.8846 0.2886 0.3664 +vn 0.9137 0.2416 0.3269 +vn 0.8965 0.2416 0.3713 +vn 0.7417 0.6319 0.2250 +vn 0.7704 0.5933 0.2337 +vn 0.7809 0.5933 0.1956 +vn 0.7518 0.6319 0.1884 +vn 0.7209 0.6691 0.1806 +vn 0.7112 0.6691 0.2157 +vn 0.6997 0.6691 0.2503 +vn 0.7297 0.6319 0.2611 +vn 0.6866 0.6691 0.2844 +vn 0.7160 0.6319 0.2966 +vn 0.7580 0.5933 0.2712 +vn 0.7437 0.5933 0.3081 +vn 0.4535 0.8806 0.1376 +vn 0.4944 0.8562 0.1500 +vn 0.5011 0.8562 0.1256 +vn 0.4597 0.8806 0.1152 +vn 0.4171 0.9028 0.1045 +vn 0.4115 0.9028 0.1248 +vn 0.4049 0.9028 0.1448 +vn 0.4462 0.8806 0.1596 +vn 0.3973 0.9028 0.1646 +vn 0.4378 0.8806 0.1814 +vn 0.4864 0.8562 0.1740 +vn 0.4773 0.8562 0.1977 +vn 0.4535 -0.8806 0.1376 +vn 0.4115 -0.9028 0.1248 +vn 0.4171 -0.9028 0.1045 +vn 0.4597 -0.8806 0.1152 +vn 0.5011 -0.8562 0.1256 +vn 0.4944 -0.8562 0.1500 +vn 0.4864 -0.8562 0.1740 +vn 0.4462 -0.8806 0.1596 +vn 0.4773 -0.8562 0.1977 +vn 0.4378 -0.8806 0.1814 +vn 0.4049 -0.9028 0.1448 +vn 0.3973 -0.9028 0.1646 +vn 0.7417 -0.6319 0.2250 +vn 0.7112 -0.6691 0.2157 +vn 0.7209 -0.6691 0.1806 +vn 0.7518 -0.6319 0.1884 +vn 0.7809 -0.5932 0.1957 +vn 0.7704 -0.5932 0.2337 +vn 0.7580 -0.5932 0.2712 +vn 0.7297 -0.6319 0.2611 +vn 0.7437 -0.5932 0.3081 +vn 0.7160 -0.6319 0.2966 +vn 0.6997 -0.6691 0.2503 +vn 0.6866 -0.6691 0.2844 +vn 0.8444 -0.2886 0.4513 +vn 0.8310 -0.3349 0.4442 +vn 0.8518 -0.3349 0.4029 +vn 0.8655 -0.2886 0.4094 +vn 0.8156 -0.3806 0.4359 +vn 0.8359 -0.3806 0.3954 +vn 0.8772 -0.2416 0.4149 +vn 0.8558 -0.2416 0.4574 +vn 0.8868 -0.1939 0.4195 +vn 0.8652 -0.1939 0.4625 +vn 0.8324 -0.2416 0.4988 +vn 0.8213 -0.2886 0.4922 +vn 0.8068 -0.2416 0.5391 +vn 0.7961 -0.2886 0.5319 +vn 0.8415 -0.1939 0.5043 +vn 0.8157 -0.1939 0.5450 +vn 0.8082 -0.3349 0.4844 +vn 0.7932 -0.3806 0.4754 +vn 0.7834 -0.3349 0.5235 +vn 0.7689 -0.3806 0.5138 +vn 0.8777 0.0974 0.4692 +vn 0.8809 0.0488 0.4708 +vn 0.9029 0.0488 0.4271 +vn 0.8997 0.0974 0.4256 +vn 0.8819 -0.0000 0.4714 +vn 0.9040 -0.0000 0.4276 +vn 0.8943 0.1458 0.4230 +vn 0.8725 0.1458 0.4664 +vn 0.8868 0.1939 0.4195 +vn 0.8652 0.1939 0.4625 +vn 0.8486 0.1458 0.5086 +vn 0.8537 0.0974 0.5116 +vn 0.8226 0.1458 0.5496 +vn 0.8275 0.0974 0.5529 +vn 0.8415 0.1939 0.5043 +vn 0.8157 0.1939 0.5450 +vn 0.8567 0.0488 0.5134 +vn 0.8578 -0.0000 0.5141 +vn 0.8305 0.0488 0.5549 +vn 0.8315 -0.0000 0.5556 +vn 0.7789 0.4690 0.4163 +vn 0.7982 0.4254 0.4266 +vn 0.8181 0.4254 0.3870 +vn 0.7984 0.4690 0.3777 +vn 0.8156 0.3806 0.4359 +vn 0.8359 0.3806 0.3954 +vn 0.7767 0.5116 0.3674 +vn 0.7578 0.5116 0.4050 +vn 0.7531 0.5531 0.3563 +vn 0.7348 0.5531 0.3927 +vn 0.7370 0.5116 0.4417 +vn 0.7576 0.4690 0.4540 +vn 0.7144 0.5116 0.4774 +vn 0.7343 0.4690 0.4907 +vn 0.7146 0.5531 0.4283 +vn 0.6927 0.5531 0.4629 +vn 0.7763 0.4254 0.4652 +vn 0.7932 0.3806 0.4754 +vn 0.7525 0.4254 0.5028 +vn 0.7689 0.3806 0.5138 +vn 0.5617 0.7709 0.3002 +vn 0.5944 0.7388 0.3177 +vn 0.6092 0.7388 0.2882 +vn 0.5757 0.7709 0.2723 +vn 0.6257 0.7048 0.3344 +vn 0.6413 0.7048 0.3034 +vn 0.5409 0.8013 0.2558 +vn 0.5277 0.8013 0.2820 +vn 0.5046 0.8297 0.2387 +vn 0.4922 0.8297 0.2631 +vn 0.5132 0.8013 0.3076 +vn 0.5463 0.7709 0.3274 +vn 0.4975 0.8013 0.3324 +vn 0.5296 0.7709 0.3538 +vn 0.4788 0.8297 0.2869 +vn 0.4641 0.8297 0.3101 +vn 0.5781 0.7388 0.3464 +vn 0.6085 0.7048 0.3647 +vn 0.5604 0.7388 0.3744 +vn 0.5899 0.7048 0.3941 +vn 0.2632 -0.9544 0.1407 +vn 0.2261 -0.9666 0.1208 +vn 0.2338 -0.9669 0.1020 +vn 0.2704 -0.9546 0.1250 +vn 0.1873 -0.9772 0.1001 +vn 0.1959 -0.9777 0.0759 +vn 0.3081 -0.9402 0.1452 +vn 0.3005 -0.9402 0.1606 +vn 0.3480 -0.9229 0.1646 +vn 0.3395 -0.9229 0.1815 +vn 0.2919 -0.9402 0.1755 +vn 0.2542 -0.9546 0.1554 +vn 0.2831 -0.9403 0.1892 +vn 0.2472 -0.9548 0.1652 +vn 0.3302 -0.9229 0.1979 +vn 0.3201 -0.9229 0.2139 +vn 0.2148 -0.9669 0.1378 +vn 0.1719 -0.9777 0.1207 +vn 0.2109 -0.9673 0.1409 +vn 0.1719 -0.9784 0.1148 +vn 0.2632 0.9544 0.1407 +vn 0.3005 0.9402 0.1606 +vn 0.3081 0.9402 0.1452 +vn 0.2704 0.9546 0.1250 +vn 0.3395 0.9229 0.1815 +vn 0.3480 0.9229 0.1646 +vn 0.2338 0.9669 0.1020 +vn 0.2261 0.9666 0.1208 +vn 0.1959 0.9777 0.0759 +vn 0.1873 0.9772 0.1001 +vn 0.2148 0.9669 0.1378 +vn 0.2542 0.9546 0.1554 +vn 0.2109 0.9673 0.1409 +vn 0.2472 0.9548 0.1652 +vn 0.1719 0.9777 0.1207 +vn 0.1719 0.9784 0.1148 +vn 0.2919 0.9402 0.1755 +vn 0.3302 0.9229 0.1979 +vn 0.2831 0.9403 0.1892 +vn 0.3201 0.9229 0.2139 +vn 0.5617 -0.7709 0.3002 +vn 0.5277 -0.8013 0.2820 +vn 0.5408 -0.8013 0.2558 +vn 0.5757 -0.7709 0.2723 +vn 0.4922 -0.8297 0.2631 +vn 0.5045 -0.8297 0.2387 +vn 0.6092 -0.7388 0.2882 +vn 0.5944 -0.7388 0.3177 +vn 0.6413 -0.7048 0.3034 +vn 0.6257 -0.7048 0.3344 +vn 0.5781 -0.7388 0.3464 +vn 0.5463 -0.7709 0.3274 +vn 0.5604 -0.7388 0.3744 +vn 0.5296 -0.7709 0.3538 +vn 0.6085 -0.7048 0.3647 +vn 0.5899 -0.7048 0.3941 +vn 0.5132 -0.8013 0.3076 +vn 0.4788 -0.8297 0.2869 +vn 0.4975 -0.8013 0.3324 +vn 0.4641 -0.8297 0.3101 +vn 0.7789 -0.4690 0.4163 +vn 0.7578 -0.5116 0.4050 +vn 0.7767 -0.5116 0.3674 +vn 0.7984 -0.4690 0.3777 +vn 0.7348 -0.5531 0.3927 +vn 0.7531 -0.5531 0.3563 +vn 0.8181 -0.4254 0.3870 +vn 0.7982 -0.4254 0.4266 +vn 0.7763 -0.4254 0.4652 +vn 0.7576 -0.4690 0.4540 +vn 0.7525 -0.4254 0.5028 +vn 0.7343 -0.4690 0.4907 +vn 0.7370 -0.5116 0.4417 +vn 0.7146 -0.5531 0.4283 +vn 0.7144 -0.5116 0.4774 +vn 0.6927 -0.5531 0.4629 +vn 0.8777 -0.0974 0.4692 +vn 0.8725 -0.1458 0.4664 +vn 0.8943 -0.1458 0.4230 +vn 0.8997 -0.0974 0.4256 +vn 0.9029 -0.0488 0.4271 +vn 0.8809 -0.0488 0.4708 +vn 0.8567 -0.0488 0.5134 +vn 0.8537 -0.0974 0.5116 +vn 0.8305 -0.0488 0.5549 +vn 0.8275 -0.0974 0.5529 +vn 0.8486 -0.1458 0.5086 +vn 0.8226 -0.1458 0.5496 +vn 0.8444 0.2886 0.4513 +vn 0.8558 0.2416 0.4574 +vn 0.8772 0.2416 0.4149 +vn 0.8655 0.2886 0.4094 +vn 0.8518 0.3349 0.4029 +vn 0.8310 0.3349 0.4442 +vn 0.8082 0.3349 0.4844 +vn 0.8213 0.2886 0.4922 +vn 0.7834 0.3349 0.5235 +vn 0.7961 0.2886 0.5319 +vn 0.8324 0.2416 0.4988 +vn 0.8068 0.2416 0.5391 +vn 0.6835 0.6319 0.3653 +vn 0.7100 0.5933 0.3795 +vn 0.7277 0.5933 0.3442 +vn 0.7006 0.6319 0.3314 +vn 0.6718 0.6691 0.3178 +vn 0.6554 0.6691 0.3503 +vn 0.6375 0.6691 0.3820 +vn 0.6648 0.6319 0.3984 +vn 0.6179 0.6691 0.4129 +vn 0.6444 0.6319 0.4306 +vn 0.6905 0.5933 0.4138 +vn 0.6693 0.5932 0.4472 +vn 0.4179 0.8806 0.2234 +vn 0.4556 0.8562 0.2435 +vn 0.4670 0.8562 0.2209 +vn 0.4284 0.8806 0.2026 +vn 0.3887 0.9028 0.1839 +vn 0.3793 0.9028 0.2027 +vn 0.3689 0.9028 0.2211 +vn 0.4065 0.8806 0.2436 +vn 0.3576 0.9028 0.2389 +vn 0.3940 0.8806 0.2633 +vn 0.4431 0.8562 0.2656 +vn 0.4295 0.8562 0.2870 +vn 0.4179 -0.8806 0.2234 +vn 0.3792 -0.9028 0.2027 +vn 0.3887 -0.9028 0.1839 +vn 0.4284 -0.8806 0.2026 +vn 0.4670 -0.8562 0.2209 +vn 0.4556 -0.8562 0.2435 +vn 0.4431 -0.8562 0.2656 +vn 0.4065 -0.8806 0.2436 +vn 0.4296 -0.8562 0.2870 +vn 0.3940 -0.8806 0.2633 +vn 0.3689 -0.9028 0.2211 +vn 0.3575 -0.9028 0.2389 +vn 0.6835 -0.6319 0.3653 +vn 0.6554 -0.6691 0.3503 +vn 0.6718 -0.6691 0.3178 +vn 0.7006 -0.6319 0.3314 +vn 0.7277 -0.5932 0.3442 +vn 0.7100 -0.5932 0.3795 +vn 0.6905 -0.5932 0.4138 +vn 0.6648 -0.6319 0.3984 +vn 0.6694 -0.5932 0.4472 +vn 0.6444 -0.6319 0.4306 +vn 0.6375 -0.6691 0.3820 +vn 0.6179 -0.6691 0.4129 +vn 0.7401 -0.2886 0.6074 +vn 0.7284 -0.3349 0.5978 +vn 0.7568 -0.3349 0.5613 +vn 0.7690 -0.2886 0.5704 +vn 0.7148 -0.3806 0.5867 +vn 0.7427 -0.3806 0.5509 +vn 0.7794 -0.2416 0.5781 +vn 0.7501 -0.2416 0.6156 +vn 0.7879 -0.1939 0.5844 +vn 0.7583 -0.1939 0.6224 +vn 0.7190 -0.2416 0.6516 +vn 0.7095 -0.2886 0.6429 +vn 0.6862 -0.2416 0.6862 +vn 0.6770 -0.2886 0.6770 +vn 0.7269 -0.1939 0.6588 +vn 0.6937 -0.1939 0.6937 +vn 0.6982 -0.3349 0.6327 +vn 0.6852 -0.3806 0.6210 +vn 0.6663 -0.3349 0.6663 +vn 0.6539 -0.3806 0.6539 +vn 0.7693 0.0974 0.6314 +vn 0.7721 0.0488 0.6336 +vn 0.8022 0.0488 0.5950 +vn 0.7994 0.0974 0.5929 +vn 0.7730 -0.0000 0.6344 +vn 0.8032 -0.0000 0.5957 +vn 0.7946 0.1458 0.5894 +vn 0.7648 0.1458 0.6276 +vn 0.7879 0.1939 0.5844 +vn 0.7583 0.1939 0.6224 +vn 0.7331 0.1458 0.6643 +vn 0.7375 0.0974 0.6683 +vn 0.6996 0.1458 0.6996 +vn 0.7037 0.0974 0.7037 +vn 0.7269 0.1939 0.6588 +vn 0.6937 0.1939 0.6937 +vn 0.7401 0.0488 0.6707 +vn 0.7410 -0.0000 0.6715 +vn 0.7063 0.0488 0.7063 +vn 0.7071 -0.0000 0.7071 +vn 0.6827 0.4690 0.5603 +vn 0.6996 0.4254 0.5741 +vn 0.7269 0.4254 0.5392 +vn 0.7093 0.4690 0.5262 +vn 0.7148 0.3806 0.5867 +vn 0.7427 0.3806 0.5509 +vn 0.6901 0.5116 0.5119 +vn 0.6642 0.5116 0.5451 +vn 0.6691 0.5531 0.4963 +vn 0.6440 0.5531 0.5285 +vn 0.6367 0.5116 0.5770 +vn 0.6544 0.4690 0.5931 +vn 0.6076 0.5116 0.6076 +vn 0.6245 0.4690 0.6245 +vn 0.6173 0.5531 0.5595 +vn 0.5891 0.5531 0.5891 +vn 0.6706 0.4254 0.6077 +vn 0.6852 0.3806 0.6210 +vn 0.6400 0.4254 0.6399 +vn 0.6539 0.3806 0.6539 +vn 0.4923 0.7709 0.4040 +vn 0.5210 0.7388 0.4275 +vn 0.5413 0.7388 0.4015 +vn 0.5115 0.7709 0.3794 +vn 0.5484 0.7048 0.4501 +vn 0.5698 0.7048 0.4226 +vn 0.4805 0.8013 0.3564 +vn 0.4625 0.8013 0.3796 +vn 0.4483 0.8297 0.3325 +vn 0.4315 0.8297 0.3541 +vn 0.4433 0.8013 0.4018 +vn 0.4719 0.7709 0.4277 +vn 0.4231 0.8013 0.4231 +vn 0.4504 0.7709 0.4504 +vn 0.4136 0.8297 0.3748 +vn 0.3947 0.8297 0.3947 +vn 0.4994 0.7388 0.4526 +vn 0.5257 0.7048 0.4764 +vn 0.4765 0.7388 0.4765 +vn 0.5016 0.7048 0.5016 +vn 0.2307 -0.9544 0.1894 +vn 0.1982 -0.9666 0.1626 +vn 0.2095 -0.9669 0.1457 +vn 0.2409 -0.9546 0.1754 +vn 0.1642 -0.9772 0.1347 +vn 0.1773 -0.9777 0.1127 +vn 0.2738 -0.9402 0.2025 +vn 0.2634 -0.9402 0.2162 +vn 0.3092 -0.9229 0.2293 +vn 0.2976 -0.9229 0.2442 +vn 0.2521 -0.9402 0.2291 +vn 0.2190 -0.9546 0.2020 +vn 0.2407 -0.9403 0.2408 +vn 0.2103 -0.9548 0.2103 +vn 0.2853 -0.9229 0.2585 +vn 0.2722 -0.9229 0.2722 +vn 0.1838 -0.9669 0.1770 +vn 0.1451 -0.9777 0.1519 +vn 0.1794 -0.9673 0.1794 +vn 0.1462 -0.9784 0.1462 +vn 0.2307 0.9544 0.1894 +vn 0.2634 0.9402 0.2162 +vn 0.2738 0.9402 0.2025 +vn 0.2409 0.9546 0.1754 +vn 0.2976 0.9229 0.2442 +vn 0.3092 0.9229 0.2293 +vn 0.2095 0.9669 0.1457 +vn 0.1982 0.9666 0.1626 +vn 0.1773 0.9777 0.1127 +vn 0.1642 0.9772 0.1347 +vn 0.1838 0.9669 0.1770 +vn 0.2190 0.9546 0.2020 +vn 0.1794 0.9673 0.1794 +vn 0.2103 0.9548 0.2103 +vn 0.1451 0.9777 0.1519 +vn 0.1462 0.9784 0.1462 +vn 0.2521 0.9402 0.2291 +vn 0.2853 0.9229 0.2585 +vn 0.2407 0.9403 0.2407 +vn 0.2722 0.9229 0.2722 +vn 0.4923 -0.7709 0.4040 +vn 0.4625 -0.8013 0.3796 +vn 0.4805 -0.8013 0.3564 +vn 0.5115 -0.7709 0.3794 +vn 0.4315 -0.8297 0.3541 +vn 0.4483 -0.8297 0.3325 +vn 0.5413 -0.7388 0.4015 +vn 0.5210 -0.7388 0.4275 +vn 0.5698 -0.7048 0.4226 +vn 0.5484 -0.7048 0.4501 +vn 0.4994 -0.7388 0.4526 +vn 0.4719 -0.7709 0.4277 +vn 0.4765 -0.7388 0.4766 +vn 0.4504 -0.7709 0.4504 +vn 0.5257 -0.7048 0.4764 +vn 0.5016 -0.7048 0.5016 +vn 0.4433 -0.8013 0.4018 +vn 0.4136 -0.8297 0.3748 +vn 0.4231 -0.8013 0.4231 +vn 0.3947 -0.8297 0.3947 +vn 0.6827 -0.4690 0.5603 +vn 0.6642 -0.5116 0.5451 +vn 0.6901 -0.5116 0.5119 +vn 0.7093 -0.4690 0.5262 +vn 0.6440 -0.5531 0.5285 +vn 0.6691 -0.5531 0.4963 +vn 0.7269 -0.4254 0.5392 +vn 0.6996 -0.4254 0.5741 +vn 0.6706 -0.4254 0.6077 +vn 0.6544 -0.4690 0.5931 +vn 0.6400 -0.4254 0.6399 +vn 0.6245 -0.4690 0.6245 +vn 0.6367 -0.5116 0.5770 +vn 0.6173 -0.5531 0.5595 +vn 0.6076 -0.5116 0.6076 +vn 0.5891 -0.5531 0.5891 +vn 0.7693 -0.0974 0.6314 +vn 0.7648 -0.1458 0.6276 +vn 0.7946 -0.1458 0.5894 +vn 0.7994 -0.0974 0.5929 +vn 0.8022 -0.0488 0.5950 +vn 0.7721 -0.0488 0.6336 +vn 0.7401 -0.0488 0.6707 +vn 0.7375 -0.0974 0.6683 +vn 0.7063 -0.0488 0.7063 +vn 0.7037 -0.0974 0.7037 +vn 0.7331 -0.1458 0.6643 +vn 0.6996 -0.1458 0.6996 +vn 0.7401 0.2886 0.6074 +vn 0.7501 0.2416 0.6156 +vn 0.7794 0.2416 0.5781 +vn 0.7690 0.2886 0.5704 +vn 0.7568 0.3349 0.5613 +vn 0.7284 0.3349 0.5978 +vn 0.6982 0.3349 0.6327 +vn 0.7095 0.2886 0.6429 +vn 0.6663 0.3349 0.6663 +vn 0.6770 0.2886 0.6770 +vn 0.7190 0.2416 0.6516 +vn 0.6862 0.2416 0.6862 +vn 0.5991 0.6319 0.4917 +vn 0.6223 0.5933 0.5107 +vn 0.6466 0.5932 0.4796 +vn 0.6225 0.6319 0.4617 +vn 0.5969 0.6691 0.4427 +vn 0.5745 0.6691 0.4715 +vn 0.5507 0.6691 0.4991 +vn 0.5743 0.6319 0.5204 +vn 0.5255 0.6691 0.5255 +vn 0.5480 0.6319 0.5480 +vn 0.5965 0.5933 0.5406 +vn 0.5692 0.5933 0.5692 +vn 0.3663 0.8806 0.3006 +vn 0.3993 0.8562 0.3277 +vn 0.4149 0.8562 0.3078 +vn 0.3806 0.8806 0.2823 +vn 0.3454 0.9028 0.2562 +vn 0.3324 0.9028 0.2728 +vn 0.3186 0.9028 0.2888 +vn 0.3512 0.8806 0.3182 +vn 0.3041 0.9028 0.3041 +vn 0.3351 0.8806 0.3351 +vn 0.3828 0.8562 0.3469 +vn 0.3653 0.8562 0.3653 +vn 0.3663 -0.8806 0.3006 +vn 0.3324 -0.9028 0.2728 +vn 0.3454 -0.9028 0.2562 +vn 0.3806 -0.8806 0.2823 +vn 0.4149 -0.8562 0.3078 +vn 0.3993 -0.8562 0.3277 +vn 0.3828 -0.8562 0.3469 +vn 0.3512 -0.8806 0.3182 +vn 0.3653 -0.8562 0.3653 +vn 0.3351 -0.8806 0.3351 +vn 0.3186 -0.9028 0.2888 +vn 0.3041 -0.9028 0.3041 +vn 0.5991 -0.6319 0.4917 +vn 0.5745 -0.6691 0.4715 +vn 0.5969 -0.6691 0.4427 +vn 0.6225 -0.6319 0.4617 +vn 0.6466 -0.5932 0.4796 +vn 0.6223 -0.5932 0.5107 +vn 0.5965 -0.5932 0.5406 +vn 0.5743 -0.6319 0.5204 +vn 0.5692 -0.5932 0.5692 +vn 0.5480 -0.6319 0.5480 +vn 0.5507 -0.6691 0.4990 +vn 0.5255 -0.6691 0.5255 +vn 0.6074 -0.2886 0.7401 +vn 0.5978 -0.3349 0.7284 +vn 0.6327 -0.3349 0.6982 +vn 0.6429 -0.2886 0.7095 +vn 0.5866 -0.3806 0.7148 +vn 0.6210 -0.3806 0.6852 +vn 0.6516 -0.2416 0.7190 +vn 0.6156 -0.2416 0.7501 +vn 0.6588 -0.1939 0.7269 +vn 0.6224 -0.1939 0.7583 +vn 0.5781 -0.2416 0.7794 +vn 0.5704 -0.2886 0.7690 +vn 0.5391 -0.2416 0.8068 +vn 0.5319 -0.2886 0.7961 +vn 0.5844 -0.1939 0.7879 +vn 0.5450 -0.1939 0.8157 +vn 0.5613 -0.3349 0.7568 +vn 0.5509 -0.3806 0.7427 +vn 0.5235 -0.3349 0.7834 +vn 0.5138 -0.3806 0.7689 +vn 0.6314 0.0974 0.7693 +vn 0.6336 0.0488 0.7721 +vn 0.6707 0.0488 0.7401 +vn 0.6683 0.0974 0.7375 +vn 0.6344 -0.0000 0.7730 +vn 0.6715 -0.0000 0.7410 +vn 0.6643 0.1458 0.7331 +vn 0.6276 0.1458 0.7648 +vn 0.6588 0.1939 0.7269 +vn 0.6224 0.1939 0.7583 +vn 0.5894 0.1458 0.7946 +vn 0.5929 0.0974 0.7994 +vn 0.5496 0.1458 0.8226 +vn 0.5529 0.0974 0.8275 +vn 0.5844 0.1939 0.7879 +vn 0.5450 0.1939 0.8157 +vn 0.5950 0.0488 0.8022 +vn 0.5957 -0.0000 0.8032 +vn 0.5549 0.0488 0.8305 +vn 0.5556 -0.0000 0.8315 +vn 0.5603 0.4690 0.6827 +vn 0.5741 0.4254 0.6996 +vn 0.6077 0.4254 0.6706 +vn 0.5931 0.4690 0.6544 +vn 0.5866 0.3806 0.7148 +vn 0.6210 0.3806 0.6852 +vn 0.5770 0.5116 0.6367 +vn 0.5451 0.5116 0.6642 +vn 0.5595 0.5531 0.6173 +vn 0.5285 0.5531 0.6440 +vn 0.5119 0.5116 0.6901 +vn 0.5261 0.4690 0.7093 +vn 0.4774 0.5116 0.7144 +vn 0.4907 0.4690 0.7343 +vn 0.4963 0.5531 0.6691 +vn 0.4629 0.5531 0.6927 +vn 0.5392 0.4254 0.7269 +vn 0.5509 0.3806 0.7427 +vn 0.5028 0.4254 0.7525 +vn 0.5138 0.3806 0.7689 +vn 0.4040 0.7709 0.4923 +vn 0.4275 0.7388 0.5210 +vn 0.4526 0.7388 0.4994 +vn 0.4277 0.7709 0.4719 +vn 0.4501 0.7048 0.5484 +vn 0.4764 0.7048 0.5257 +vn 0.4018 0.8013 0.4433 +vn 0.3796 0.8013 0.4625 +vn 0.3748 0.8297 0.4136 +vn 0.3541 0.8297 0.4315 +vn 0.3564 0.8013 0.4805 +vn 0.3794 0.7709 0.5115 +vn 0.3324 0.8013 0.4975 +vn 0.3538 0.7709 0.5296 +vn 0.3325 0.8297 0.4483 +vn 0.3101 0.8297 0.4641 +vn 0.4015 0.7388 0.5413 +vn 0.4226 0.7048 0.5698 +vn 0.3744 0.7388 0.5604 +vn 0.3941 0.7048 0.5899 +vn 0.1894 -0.9544 0.2307 +vn 0.1626 -0.9666 0.1982 +vn 0.1770 -0.9669 0.1838 +vn 0.2020 -0.9546 0.2190 +vn 0.1347 -0.9772 0.1642 +vn 0.1519 -0.9777 0.1451 +vn 0.2291 -0.9402 0.2521 +vn 0.2162 -0.9402 0.2634 +vn 0.2585 -0.9229 0.2853 +vn 0.2442 -0.9229 0.2976 +vn 0.2025 -0.9402 0.2738 +vn 0.1754 -0.9546 0.2409 +vn 0.1892 -0.9403 0.2831 +vn 0.1652 -0.9548 0.2472 +vn 0.2294 -0.9229 0.3092 +vn 0.2139 -0.9229 0.3201 +vn 0.1457 -0.9669 0.2094 +vn 0.1127 -0.9777 0.1773 +vn 0.1409 -0.9673 0.2109 +vn 0.1148 -0.9784 0.1719 +vn 0.1894 0.9544 0.2307 +vn 0.2161 0.9402 0.2634 +vn 0.2291 0.9402 0.2521 +vn 0.2020 0.9546 0.2190 +vn 0.2442 0.9229 0.2976 +vn 0.2585 0.9229 0.2853 +vn 0.1770 0.9669 0.1838 +vn 0.1626 0.9666 0.1982 +vn 0.1519 0.9777 0.1451 +vn 0.1347 0.9772 0.1642 +vn 0.1457 0.9669 0.2094 +vn 0.1754 0.9546 0.2409 +vn 0.1409 0.9673 0.2109 +vn 0.1652 0.9548 0.2472 +vn 0.1127 0.9777 0.1773 +vn 0.1148 0.9784 0.1719 +vn 0.2025 0.9402 0.2738 +vn 0.2294 0.9229 0.3092 +vn 0.1892 0.9403 0.2831 +vn 0.2139 0.9229 0.3201 +vn 0.4040 -0.7709 0.4923 +vn 0.3796 -0.8013 0.4625 +vn 0.4018 -0.8013 0.4433 +vn 0.4277 -0.7709 0.4719 +vn 0.3541 -0.8297 0.4315 +vn 0.3748 -0.8297 0.4136 +vn 0.4526 -0.7388 0.4994 +vn 0.4275 -0.7388 0.5210 +vn 0.4764 -0.7048 0.5257 +vn 0.4500 -0.7048 0.5484 +vn 0.4015 -0.7388 0.5413 +vn 0.3794 -0.7709 0.5115 +vn 0.3744 -0.7388 0.5604 +vn 0.3538 -0.7709 0.5296 +vn 0.4226 -0.7048 0.5698 +vn 0.3941 -0.7048 0.5899 +vn 0.3564 -0.8013 0.4805 +vn 0.3325 -0.8297 0.4483 +vn 0.3324 -0.8013 0.4975 +vn 0.3101 -0.8297 0.4641 +vn 0.5603 -0.4690 0.6827 +vn 0.5451 -0.5116 0.6642 +vn 0.5770 -0.5116 0.6367 +vn 0.5931 -0.4690 0.6544 +vn 0.5285 -0.5531 0.6440 +vn 0.5595 -0.5531 0.6173 +vn 0.6077 -0.4254 0.6706 +vn 0.5741 -0.4254 0.6996 +vn 0.5392 -0.4254 0.7269 +vn 0.5261 -0.4690 0.7093 +vn 0.5028 -0.4254 0.7525 +vn 0.4907 -0.4690 0.7343 +vn 0.5119 -0.5116 0.6901 +vn 0.4963 -0.5531 0.6691 +vn 0.4774 -0.5116 0.7144 +vn 0.4629 -0.5531 0.6927 +vn 0.6314 -0.0974 0.7693 +vn 0.6276 -0.1458 0.7648 +vn 0.6643 -0.1458 0.7331 +vn 0.6683 -0.0974 0.7375 +vn 0.6707 -0.0488 0.7401 +vn 0.6336 -0.0488 0.7721 +vn 0.5950 -0.0488 0.8022 +vn 0.5929 -0.0974 0.7994 +vn 0.5549 -0.0488 0.8305 +vn 0.5529 -0.0974 0.8275 +vn 0.5894 -0.1458 0.7946 +vn 0.5496 -0.1458 0.8226 +vn 0.6074 0.2886 0.7401 +vn 0.6156 0.2416 0.7501 +vn 0.6516 0.2416 0.7190 +vn 0.6429 0.2886 0.7095 +vn 0.6327 0.3349 0.6982 +vn 0.5978 0.3349 0.7284 +vn 0.5613 0.3349 0.7568 +vn 0.5704 0.2886 0.7690 +vn 0.5235 0.3349 0.7834 +vn 0.5319 0.2886 0.7961 +vn 0.5781 0.2416 0.7794 +vn 0.5391 0.2416 0.8068 +vn 0.4917 0.6319 0.5991 +vn 0.5107 0.5932 0.6223 +vn 0.5406 0.5932 0.5965 +vn 0.5205 0.6319 0.5743 +vn 0.4991 0.6691 0.5507 +vn 0.4715 0.6691 0.5745 +vn 0.4427 0.6691 0.5969 +vn 0.4617 0.6319 0.6225 +vn 0.4129 0.6691 0.6179 +vn 0.4306 0.6319 0.6444 +vn 0.4796 0.5933 0.6466 +vn 0.4472 0.5933 0.6693 +vn 0.3006 0.8806 0.3663 +vn 0.3277 0.8562 0.3993 +vn 0.3469 0.8562 0.3828 +vn 0.3182 0.8806 0.3512 +vn 0.2888 0.9028 0.3186 +vn 0.2728 0.9028 0.3324 +vn 0.2562 0.9028 0.3454 +vn 0.2823 0.8806 0.3806 +vn 0.2389 0.9028 0.3576 +vn 0.2633 0.8806 0.3940 +vn 0.3078 0.8562 0.4149 +vn 0.2870 0.8562 0.4295 +vn 0.3006 -0.8806 0.3663 +vn 0.2728 -0.9028 0.3324 +vn 0.2888 -0.9028 0.3186 +vn 0.3182 -0.8806 0.3512 +vn 0.3469 -0.8562 0.3828 +vn 0.3277 -0.8562 0.3993 +vn 0.3078 -0.8562 0.4149 +vn 0.2823 -0.8806 0.3806 +vn 0.2870 -0.8562 0.4295 +vn 0.2633 -0.8806 0.3940 +vn 0.2562 -0.9028 0.3454 +vn 0.2389 -0.9028 0.3576 +vn 0.4917 -0.6319 0.5991 +vn 0.4715 -0.6691 0.5745 +vn 0.4990 -0.6691 0.5507 +vn 0.5205 -0.6319 0.5743 +vn 0.5406 -0.5932 0.5965 +vn 0.5107 -0.5932 0.6223 +vn 0.4796 -0.5932 0.6466 +vn 0.4617 -0.6319 0.6225 +vn 0.4472 -0.5932 0.6694 +vn 0.4306 -0.6319 0.6444 +vn 0.4427 -0.6691 0.5969 +vn 0.4129 -0.6691 0.6179 +vn 0.4513 -0.2886 0.8444 +vn 0.4442 -0.3349 0.8310 +vn 0.4844 -0.3349 0.8082 +vn 0.4922 -0.2886 0.8213 +vn 0.4359 -0.3806 0.8156 +vn 0.4754 -0.3806 0.7932 +vn 0.4988 -0.2416 0.8324 +vn 0.4574 -0.2416 0.8558 +vn 0.5043 -0.1939 0.8415 +vn 0.4625 -0.1939 0.8652 +vn 0.4149 -0.2416 0.8772 +vn 0.4094 -0.2886 0.8655 +vn 0.3713 -0.2416 0.8965 +vn 0.3664 -0.2886 0.8846 +vn 0.4195 -0.1939 0.8868 +vn 0.3754 -0.1939 0.9063 +vn 0.4029 -0.3349 0.8518 +vn 0.3954 -0.3806 0.8359 +vn 0.3606 -0.3349 0.8705 +vn 0.3539 -0.3806 0.8544 +vn 0.4692 0.0974 0.8777 +vn 0.4708 0.0488 0.8809 +vn 0.5134 0.0488 0.8567 +vn 0.5116 0.0974 0.8537 +vn 0.4714 -0.0000 0.8819 +vn 0.5141 -0.0000 0.8578 +vn 0.5086 0.1458 0.8486 +vn 0.4664 0.1458 0.8725 +vn 0.5043 0.1939 0.8415 +vn 0.4624 0.1939 0.8652 +vn 0.4230 0.1458 0.8943 +vn 0.4256 0.0974 0.8997 +vn 0.3786 0.1458 0.9140 +vn 0.3809 0.0974 0.9195 +vn 0.4195 0.1939 0.8868 +vn 0.3754 0.1939 0.9063 +vn 0.4271 0.0488 0.9029 +vn 0.4276 -0.0000 0.9040 +vn 0.3822 0.0488 0.9228 +vn 0.3827 -0.0000 0.9239 +vn 0.4163 0.4690 0.7789 +vn 0.4266 0.4254 0.7982 +vn 0.4652 0.4254 0.7763 +vn 0.4540 0.4690 0.7576 +vn 0.4359 0.3806 0.8156 +vn 0.4754 0.3806 0.7932 +vn 0.4417 0.5116 0.7370 +vn 0.4050 0.5116 0.7578 +vn 0.4283 0.5531 0.7146 +vn 0.3927 0.5531 0.7348 +vn 0.3674 0.5116 0.7767 +vn 0.3777 0.4690 0.7984 +vn 0.3288 0.5116 0.7938 +vn 0.3380 0.4690 0.8159 +vn 0.3562 0.5531 0.7531 +vn 0.3188 0.5531 0.7697 +vn 0.3870 0.4254 0.8181 +vn 0.3954 0.3806 0.8359 +vn 0.3463 0.4254 0.8361 +vn 0.3539 0.3806 0.8544 +vn 0.3002 0.7709 0.5617 +vn 0.3177 0.7388 0.5944 +vn 0.3464 0.7388 0.5781 +vn 0.3274 0.7709 0.5463 +vn 0.3344 0.7048 0.6257 +vn 0.3647 0.7048 0.6085 +vn 0.3076 0.8013 0.5132 +vn 0.2820 0.8013 0.5277 +vn 0.2869 0.8297 0.4788 +vn 0.2631 0.8297 0.4922 +vn 0.2558 0.8013 0.5409 +vn 0.2723 0.7709 0.5757 +vn 0.2290 0.8013 0.5528 +vn 0.2437 0.7709 0.5884 +vn 0.2387 0.8297 0.5046 +vn 0.2136 0.8297 0.5157 +vn 0.2882 0.7388 0.6092 +vn 0.3034 0.7048 0.6413 +vn 0.2579 0.7388 0.6226 +vn 0.2715 0.7048 0.6554 +vn 0.1407 -0.9544 0.2632 +vn 0.1208 -0.9666 0.2261 +vn 0.1377 -0.9669 0.2148 +vn 0.1554 -0.9546 0.2542 +vn 0.1001 -0.9772 0.1873 +vn 0.1207 -0.9777 0.1719 +vn 0.1755 -0.9402 0.2919 +vn 0.1606 -0.9402 0.3005 +vn 0.1979 -0.9229 0.3302 +vn 0.1815 -0.9229 0.3395 +vn 0.1452 -0.9402 0.3081 +vn 0.1250 -0.9546 0.2704 +vn 0.1303 -0.9403 0.3146 +vn 0.1138 -0.9548 0.2747 +vn 0.1646 -0.9229 0.3480 +vn 0.1473 -0.9229 0.3557 +vn 0.1020 -0.9669 0.2338 +vn 0.0759 -0.9777 0.1959 +vn 0.0971 -0.9673 0.2344 +vn 0.0791 -0.9784 0.1910 +vn 0.1407 0.9544 0.2632 +vn 0.1606 0.9402 0.3005 +vn 0.1755 0.9402 0.2919 +vn 0.1554 0.9546 0.2542 +vn 0.1815 0.9229 0.3395 +vn 0.1979 0.9229 0.3302 +vn 0.1378 0.9669 0.2148 +vn 0.1208 0.9666 0.2261 +vn 0.1207 0.9777 0.1719 +vn 0.1001 0.9772 0.1873 +vn 0.1020 0.9669 0.2338 +vn 0.1250 0.9546 0.2704 +vn 0.0971 0.9673 0.2344 +vn 0.1138 0.9548 0.2747 +vn 0.0759 0.9777 0.1959 +vn 0.0791 0.9784 0.1910 +vn 0.1452 0.9402 0.3081 +vn 0.1646 0.9229 0.3480 +vn 0.1303 0.9403 0.3145 +vn 0.1473 0.9229 0.3557 +vn 0.3002 -0.7709 0.5617 +vn 0.2820 -0.8013 0.5277 +vn 0.3076 -0.8013 0.5132 +vn 0.3274 -0.7709 0.5463 +vn 0.2631 -0.8297 0.4922 +vn 0.2869 -0.8297 0.4788 +vn 0.3464 -0.7388 0.5781 +vn 0.3177 -0.7388 0.5944 +vn 0.3647 -0.7048 0.6085 +vn 0.3344 -0.7048 0.6257 +vn 0.2882 -0.7388 0.6092 +vn 0.2723 -0.7709 0.5757 +vn 0.2579 -0.7388 0.6226 +vn 0.2437 -0.7709 0.5884 +vn 0.3034 -0.7048 0.6413 +vn 0.2715 -0.7048 0.6554 +vn 0.2558 -0.8013 0.5408 +vn 0.2387 -0.8297 0.5045 +vn 0.2290 -0.8013 0.5528 +vn 0.2136 -0.8297 0.5157 +vn 0.4163 -0.4690 0.7789 +vn 0.4050 -0.5116 0.7578 +vn 0.4417 -0.5116 0.7370 +vn 0.4540 -0.4690 0.7576 +vn 0.3927 -0.5531 0.7348 +vn 0.4283 -0.5531 0.7146 +vn 0.4652 -0.4254 0.7763 +vn 0.4266 -0.4254 0.7982 +vn 0.3870 -0.4254 0.8181 +vn 0.3777 -0.4690 0.7984 +vn 0.3463 -0.4254 0.8361 +vn 0.3380 -0.4690 0.8159 +vn 0.3674 -0.5116 0.7767 +vn 0.3563 -0.5531 0.7531 +vn 0.3288 -0.5116 0.7938 +vn 0.3188 -0.5531 0.7697 +vn 0.4692 -0.0974 0.8777 +vn 0.4664 -0.1458 0.8725 +vn 0.5086 -0.1458 0.8486 +vn 0.5116 -0.0974 0.8537 +vn 0.5134 -0.0488 0.8567 +vn 0.4708 -0.0488 0.8809 +vn 0.4271 -0.0488 0.9029 +vn 0.4256 -0.0974 0.8997 +vn 0.3822 -0.0488 0.9228 +vn 0.3809 -0.0974 0.9195 +vn 0.4230 -0.1458 0.8943 +vn 0.3786 -0.1458 0.9140 +vn 0.4513 0.2886 0.8444 +vn 0.4574 0.2416 0.8558 +vn 0.4988 0.2416 0.8324 +vn 0.4922 0.2886 0.8213 +vn 0.4844 0.3349 0.8082 +vn 0.4442 0.3349 0.8310 +vn 0.4029 0.3349 0.8518 +vn 0.4094 0.2886 0.8655 +vn 0.3606 0.3349 0.8705 +vn 0.3664 0.2886 0.8846 +vn 0.4149 0.2416 0.8772 +vn 0.3714 0.2416 0.8965 +vn 0.3653 0.6319 0.6835 +vn 0.3795 0.5932 0.7100 +vn 0.4138 0.5932 0.6905 +vn 0.3984 0.6319 0.6648 +vn 0.3820 0.6691 0.6375 +vn 0.3503 0.6691 0.6554 +vn 0.3178 0.6691 0.6718 +vn 0.3314 0.6319 0.7006 +vn 0.2844 0.6691 0.6866 +vn 0.2966 0.6319 0.7160 +vn 0.3442 0.5932 0.7277 +vn 0.3081 0.5933 0.7437 +vn 0.2234 0.8806 0.4179 +vn 0.2435 0.8562 0.4556 +vn 0.2656 0.8562 0.4431 +vn 0.2436 0.8806 0.4065 +vn 0.2211 0.9028 0.3689 +vn 0.2027 0.9028 0.3793 +vn 0.1839 0.9028 0.3887 +vn 0.2026 0.8806 0.4284 +vn 0.1646 0.9028 0.3973 +vn 0.1814 0.8806 0.4378 +vn 0.2209 0.8562 0.4670 +vn 0.1977 0.8562 0.4773 +vn 0.2234 -0.8806 0.4179 +vn 0.2027 -0.9028 0.3792 +vn 0.2211 -0.9028 0.3689 +vn 0.2436 -0.8806 0.4065 +vn 0.2656 -0.8562 0.4431 +vn 0.2435 -0.8562 0.4556 +vn 0.2209 -0.8562 0.4670 +vn 0.2026 -0.8806 0.4284 +vn 0.1977 -0.8562 0.4773 +vn 0.1814 -0.8806 0.4378 +vn 0.1839 -0.9028 0.3887 +vn 0.1646 -0.9028 0.3973 +vn 0.3653 -0.6319 0.6835 +vn 0.3503 -0.6691 0.6554 +vn 0.3820 -0.6691 0.6375 +vn 0.3984 -0.6319 0.6648 +vn 0.4138 -0.5932 0.6905 +vn 0.3795 -0.5932 0.7100 +vn 0.3442 -0.5932 0.7277 +vn 0.3314 -0.6319 0.7006 +vn 0.3081 -0.5932 0.7437 +vn 0.2966 -0.6319 0.7160 +vn 0.3178 -0.6691 0.6718 +vn 0.2844 -0.6691 0.6866 +vn 0.2779 -0.2886 0.9162 +vn 0.2735 -0.3349 0.9017 +vn 0.3174 -0.3349 0.8872 +vn 0.3225 -0.2886 0.9015 +vn 0.2684 -0.3806 0.8849 +vn 0.3115 -0.3806 0.8707 +vn 0.3269 -0.2416 0.9137 +vn 0.2817 -0.2416 0.9286 +vn 0.3304 -0.1939 0.9237 +vn 0.2848 -0.1939 0.9388 +vn 0.2358 -0.2416 0.9413 +vn 0.2327 -0.2886 0.9287 +vn 0.1893 -0.2416 0.9517 +vn 0.1868 -0.2886 0.9391 +vn 0.2384 -0.1939 0.9516 +vn 0.1914 -0.1939 0.9622 +vn 0.2290 -0.3349 0.9140 +vn 0.2247 -0.3806 0.8970 +vn 0.1838 -0.3349 0.9241 +vn 0.1804 -0.3806 0.9070 +vn 0.2889 0.0974 0.9524 +vn 0.2899 0.0488 0.9558 +vn 0.3364 0.0488 0.9404 +vn 0.3352 0.0974 0.9371 +vn 0.2903 -0.0000 0.9569 +vn 0.3368 -0.0000 0.9416 +vn 0.3332 0.1458 0.9315 +vn 0.2872 0.1458 0.9467 +vn 0.3304 0.1939 0.9237 +vn 0.2848 0.1939 0.9388 +vn 0.2404 0.1458 0.9597 +vn 0.2419 0.0974 0.9654 +vn 0.1930 0.1458 0.9703 +vn 0.1942 0.0974 0.9761 +vn 0.2384 0.1939 0.9516 +vn 0.1914 0.1939 0.9622 +vn 0.2427 0.0488 0.9689 +vn 0.2430 -0.0000 0.9700 +vn 0.1949 0.0488 0.9796 +vn 0.1951 -0.0000 0.9808 +vn 0.2564 0.4690 0.8452 +vn 0.2627 0.4254 0.8661 +vn 0.3048 0.4254 0.8521 +vn 0.2975 0.4690 0.8316 +vn 0.2684 0.3806 0.8849 +vn 0.3115 0.3806 0.8707 +vn 0.2894 0.5116 0.8090 +vn 0.2494 0.5116 0.8222 +vn 0.2806 0.5531 0.7844 +vn 0.2418 0.5531 0.7973 +vn 0.2088 0.5116 0.8335 +vn 0.2147 0.4690 0.8567 +vn 0.1676 0.5116 0.8427 +vn 0.1723 0.4690 0.8662 +vn 0.2025 0.5531 0.8081 +vn 0.1625 0.5531 0.8171 +vn 0.2200 0.4254 0.8779 +vn 0.2247 0.3806 0.8970 +vn 0.1766 0.4254 0.8876 +vn 0.1804 0.3806 0.9070 +vn 0.1849 0.7709 0.6095 +vn 0.1956 0.7388 0.6449 +vn 0.2270 0.7388 0.6346 +vn 0.2145 0.7709 0.5997 +vn 0.2059 0.7048 0.6789 +vn 0.2390 0.7048 0.6680 +vn 0.2015 0.8013 0.5633 +vn 0.1737 0.8013 0.5725 +vn 0.1880 0.8297 0.5255 +vn 0.1620 0.8297 0.5341 +vn 0.1454 0.8013 0.5804 +vn 0.1548 0.7709 0.6178 +vn 0.1167 0.8013 0.5868 +vn 0.1243 0.7710 0.6247 +vn 0.1357 0.8297 0.5414 +vn 0.1089 0.8297 0.5474 +vn 0.1638 0.7388 0.6537 +vn 0.1724 0.7048 0.6882 +vn 0.1315 0.7388 0.6610 +vn 0.1384 0.7048 0.6958 +vn 0.0866 -0.9544 0.2856 +vn 0.0744 -0.9666 0.2453 +vn 0.0932 -0.9669 0.2375 +vn 0.1028 -0.9546 0.2796 +vn 0.0617 -0.9772 0.2032 +vn 0.0848 -0.9777 0.1922 +vn 0.1152 -0.9402 0.3205 +vn 0.0989 -0.9402 0.3261 +vn 0.1297 -0.9229 0.3625 +vn 0.1118 -0.9229 0.3684 +vn 0.0823 -0.9402 0.3305 +vn 0.0698 -0.9546 0.2896 +vn 0.0664 -0.9403 0.3339 +vn 0.0580 -0.9548 0.2916 +vn 0.0936 -0.9229 0.3734 +vn 0.0751 -0.9229 0.3776 +vn 0.0544 -0.9669 0.2493 +vn 0.0363 -0.9777 0.2069 +vn 0.0495 -0.9673 0.2488 +vn 0.0403 -0.9784 0.2027 +vn 0.0866 0.9544 0.2856 +vn 0.0989 0.9402 0.3261 +vn 0.1152 0.9402 0.3205 +vn 0.1028 0.9546 0.2796 +vn 0.1118 0.9229 0.3684 +vn 0.1297 0.9229 0.3625 +vn 0.0932 0.9669 0.2375 +vn 0.0744 0.9666 0.2453 +vn 0.0848 0.9777 0.1922 +vn 0.0616 0.9772 0.2032 +vn 0.0544 0.9669 0.2493 +vn 0.0698 0.9546 0.2896 +vn 0.0495 0.9673 0.2488 +vn 0.0580 0.9548 0.2916 +vn 0.0362 0.9777 0.2069 +vn 0.0403 0.9784 0.2027 +vn 0.0823 0.9402 0.3305 +vn 0.0936 0.9229 0.3734 +vn 0.0664 0.9403 0.3339 +vn 0.0751 0.9229 0.3776 +vn 0.1849 -0.7709 0.6095 +vn 0.1737 -0.8013 0.5725 +vn 0.2015 -0.8013 0.5633 +vn 0.2145 -0.7709 0.5997 +vn 0.1620 -0.8297 0.5341 +vn 0.1880 -0.8297 0.5255 +vn 0.2270 -0.7388 0.6346 +vn 0.1956 -0.7388 0.6449 +vn 0.2389 -0.7048 0.6680 +vn 0.2059 -0.7048 0.6789 +vn 0.1638 -0.7388 0.6537 +vn 0.1548 -0.7709 0.6178 +vn 0.1315 -0.7388 0.6610 +vn 0.1243 -0.7709 0.6247 +vn 0.1724 -0.7048 0.6881 +vn 0.1384 -0.7048 0.6958 +vn 0.1454 -0.8013 0.5804 +vn 0.1357 -0.8297 0.5414 +vn 0.1167 -0.8013 0.5868 +vn 0.1089 -0.8297 0.5474 +vn 0.2564 -0.4690 0.8452 +vn 0.2494 -0.5116 0.8222 +vn 0.2894 -0.5116 0.8090 +vn 0.2975 -0.4690 0.8316 +vn 0.2418 -0.5531 0.7973 +vn 0.2806 -0.5531 0.7844 +vn 0.3048 -0.4254 0.8521 +vn 0.2627 -0.4254 0.8661 +vn 0.2200 -0.4254 0.8779 +vn 0.2147 -0.4690 0.8567 +vn 0.1766 -0.4254 0.8876 +vn 0.1723 -0.4690 0.8662 +vn 0.2088 -0.5116 0.8335 +vn 0.2025 -0.5531 0.8081 +vn 0.1676 -0.5116 0.8427 +vn 0.1625 -0.5531 0.8171 +vn 0.2889 -0.0974 0.9524 +vn 0.2872 -0.1458 0.9467 +vn 0.3332 -0.1458 0.9315 +vn 0.3352 -0.0974 0.9371 +vn 0.3364 -0.0488 0.9404 +vn 0.2899 -0.0488 0.9558 +vn 0.2427 -0.0488 0.9689 +vn 0.2419 -0.0974 0.9654 +vn 0.1949 -0.0488 0.9796 +vn 0.1942 -0.0974 0.9761 +vn 0.2404 -0.1458 0.9597 +vn 0.1930 -0.1458 0.9703 +vn 0.2779 0.2886 0.9162 +vn 0.2817 0.2416 0.9286 +vn 0.3269 0.2416 0.9137 +vn 0.3225 0.2886 0.9015 +vn 0.3174 0.3349 0.8872 +vn 0.2735 0.3349 0.9017 +vn 0.2290 0.3349 0.9140 +vn 0.2327 0.2886 0.9287 +vn 0.1838 0.3349 0.9241 +vn 0.1868 0.2886 0.9391 +vn 0.2358 0.2416 0.9413 +vn 0.1893 0.2416 0.9517 +vn 0.2250 0.6319 0.7417 +vn 0.2337 0.5932 0.7704 +vn 0.2712 0.5933 0.7580 +vn 0.2611 0.6319 0.7297 +vn 0.2503 0.6691 0.6997 +vn 0.2157 0.6691 0.7112 +vn 0.1806 0.6691 0.7209 +vn 0.1884 0.6319 0.7518 +vn 0.1450 0.6691 0.7289 +vn 0.1512 0.6319 0.7601 +vn 0.1956 0.5933 0.7809 +vn 0.1570 0.5933 0.7895 +vn 0.1376 0.8806 0.4535 +vn 0.1500 0.8562 0.4944 +vn 0.1740 0.8562 0.4864 +vn 0.1596 0.8806 0.4462 +vn 0.1449 0.9028 0.4049 +vn 0.1248 0.9028 0.4115 +vn 0.1045 0.9028 0.4171 +vn 0.1152 0.8806 0.4597 +vn 0.0839 0.9028 0.4218 +vn 0.0925 0.8806 0.4648 +vn 0.1256 0.8562 0.5011 +vn 0.1008 0.8562 0.5067 +vn 0.1376 -0.8806 0.4535 +vn 0.1248 -0.9028 0.4115 +vn 0.1448 -0.9028 0.4049 +vn 0.1596 -0.8806 0.4462 +vn 0.1740 -0.8562 0.4864 +vn 0.1500 -0.8562 0.4944 +vn 0.1256 -0.8562 0.5011 +vn 0.1152 -0.8806 0.4597 +vn 0.1008 -0.8562 0.5067 +vn 0.0925 -0.8806 0.4648 +vn 0.1045 -0.9028 0.4171 +vn 0.0839 -0.9028 0.4218 +vn 0.2250 -0.6319 0.7417 +vn 0.2157 -0.6691 0.7112 +vn 0.2503 -0.6691 0.6997 +vn 0.2611 -0.6319 0.7297 +vn 0.2712 -0.5932 0.7580 +vn 0.2337 -0.5932 0.7704 +vn 0.1956 -0.5932 0.7809 +vn 0.1884 -0.6319 0.7518 +vn 0.1571 -0.5932 0.7896 +vn 0.1512 -0.6319 0.7601 +vn 0.1806 -0.6691 0.7209 +vn 0.1450 -0.6691 0.7289 +vn 0.0938 -0.2886 0.9528 +vn 0.0924 -0.3349 0.9377 +vn 0.1382 -0.3349 0.9321 +vn 0.1404 -0.2886 0.9471 +vn 0.0906 -0.3806 0.9203 +vn 0.1356 -0.3806 0.9147 +vn 0.1423 -0.2416 0.9599 +vn 0.0951 -0.2416 0.9657 +vn 0.1439 -0.1939 0.9704 +vn 0.0962 -0.1939 0.9763 +vn 0.0477 -0.2416 0.9692 +vn 0.0470 -0.2886 0.9563 +vn -0.0000 -0.2416 0.9704 +vn -0.0000 -0.2886 0.9575 +vn 0.0482 -0.1939 0.9798 +vn -0.0000 -0.1939 0.9810 +vn 0.0463 -0.3349 0.9411 +vn 0.0454 -0.3806 0.9236 +vn -0.0000 -0.3349 0.9422 +vn -0.0000 -0.3806 0.9247 +vn 0.0976 0.0974 0.9905 +vn 0.0979 0.0488 0.9940 +vn 0.1465 0.0488 0.9880 +vn 0.1460 0.0974 0.9845 +vn 0.0980 -0.0000 0.9952 +vn 0.1467 -0.0000 0.9892 +vn 0.1451 0.1458 0.9786 +vn 0.0970 0.1458 0.9846 +vn 0.1439 0.1939 0.9704 +vn 0.0962 0.1939 0.9763 +vn 0.0486 0.1458 0.9881 +vn 0.0489 0.0974 0.9940 +vn -0.0000 0.1458 0.9893 +vn -0.0000 0.0974 0.9952 +vn 0.0482 0.1939 0.9798 +vn -0.0000 0.1939 0.9810 +vn 0.0491 0.0488 0.9976 +vn 0.0491 -0.0000 0.9988 +vn -0.0000 0.0488 0.9988 +vn -0.0000 -0.0000 1.0000 +vn 0.0866 0.4690 0.8789 +vn 0.0887 0.4254 0.9007 +vn 0.1327 0.4254 0.8952 +vn 0.1295 0.4690 0.8736 +vn 0.0906 0.3806 0.9203 +vn 0.1356 0.3806 0.9147 +vn 0.1260 0.5116 0.8499 +vn 0.0842 0.5116 0.8551 +vn 0.1222 0.5531 0.8241 +vn 0.0817 0.5531 0.8291 +vn 0.0422 0.5116 0.8582 +vn 0.0434 0.4690 0.8821 +vn -0.0000 0.5116 0.8592 +vn -0.0000 0.4690 0.8832 +vn 0.0409 0.5531 0.8321 +vn -0.0000 0.5531 0.8331 +vn 0.0445 0.4254 0.9039 +vn 0.0454 0.3806 0.9236 +vn -0.0000 0.4254 0.9050 +vn -0.0000 0.3806 0.9247 +vn 0.0624 0.7709 0.6338 +vn 0.0661 0.7388 0.6707 +vn 0.0988 0.7388 0.6667 +vn 0.0934 0.7709 0.6300 +vn 0.0695 0.7048 0.7060 +vn 0.1041 0.7048 0.7018 +vn 0.0878 0.8013 0.5918 +vn 0.0586 0.8013 0.5954 +vn 0.0819 0.8297 0.5521 +vn 0.0547 0.8297 0.5555 +vn 0.0294 0.8013 0.5976 +vn 0.0313 0.7709 0.6361 +vn -0.0000 0.8013 0.5983 +vn -0.0000 0.7709 0.6369 +vn 0.0274 0.8297 0.5575 +vn -0.0000 0.8297 0.5582 +vn 0.0331 0.7388 0.6731 +vn 0.0349 0.7048 0.7086 +vn -0.0000 0.7388 0.6739 +vn -0.0000 0.7048 0.7094 +vn 0.0293 -0.9544 0.2970 +vn 0.0251 -0.9666 0.2551 +vn 0.0451 -0.9669 0.2511 +vn 0.0463 -0.9546 0.2943 +vn 0.0208 -0.9772 0.2114 +vn 0.0457 -0.9777 0.2050 +vn 0.0504 -0.9402 0.3369 +vn 0.0334 -0.9402 0.3391 +vn 0.0565 -0.9229 0.3808 +vn 0.0377 -0.9229 0.3831 +vn 0.0163 -0.9402 0.3402 +vn 0.0120 -0.9546 0.2977 +vn -0.0000 -0.9403 0.3405 +vn -0.0000 -0.9548 0.2974 +vn 0.0189 -0.9229 0.3845 +vn -0.0000 -0.9229 0.3850 +vn 0.0048 -0.9669 0.2551 +vn -0.0048 -0.9777 0.2100 +vn -0.0000 -0.9673 0.2537 +vn -0.0000 -0.9784 0.2067 +vn 0.0293 0.9544 0.2970 +vn 0.0334 0.9402 0.3391 +vn 0.0504 0.9402 0.3368 +vn 0.0463 0.9546 0.2943 +vn 0.0377 0.9229 0.3831 +vn 0.0565 0.9229 0.3808 +vn 0.0451 0.9669 0.2511 +vn 0.0251 0.9666 0.2551 +vn 0.0457 0.9777 0.2050 +vn 0.0208 0.9772 0.2114 +vn 0.0048 0.9669 0.2551 +vn 0.0120 0.9546 0.2977 +vn -0.0000 0.9673 0.2537 +vn -0.0000 0.9548 0.2974 +vn -0.0048 0.9777 0.2100 +vn -0.0000 0.9784 0.2067 +vn 0.0163 0.9402 0.3402 +vn 0.0189 0.9229 0.3845 +vn -0.0000 0.9403 0.3405 +vn -0.0000 0.9229 0.3850 +vn 0.0624 -0.7709 0.6338 +vn 0.0586 -0.8013 0.5954 +vn 0.0878 -0.8013 0.5918 +vn 0.0934 -0.7709 0.6300 +vn 0.0547 -0.8297 0.5555 +vn 0.0819 -0.8297 0.5521 +vn 0.0988 -0.7388 0.6667 +vn 0.0661 -0.7388 0.6707 +vn 0.1041 -0.7048 0.7017 +vn 0.0695 -0.7048 0.7060 +vn 0.0331 -0.7388 0.6731 +vn 0.0313 -0.7709 0.6361 +vn -0.0000 -0.7388 0.6739 +vn -0.0000 -0.7709 0.6369 +vn 0.0349 -0.7048 0.7086 +vn -0.0000 -0.7048 0.7094 +vn 0.0294 -0.8013 0.5976 +vn 0.0274 -0.8297 0.5575 +vn -0.0000 -0.8013 0.5983 +vn -0.0000 -0.8297 0.5581 +vn 0.0866 -0.4690 0.8789 +vn 0.0842 -0.5116 0.8551 +vn 0.1260 -0.5116 0.8499 +vn 0.1295 -0.4690 0.8736 +vn 0.0817 -0.5531 0.8291 +vn 0.1222 -0.5531 0.8241 +vn 0.1327 -0.4254 0.8952 +vn 0.0887 -0.4254 0.9007 +vn 0.0445 -0.4254 0.9039 +vn 0.0434 -0.4690 0.8821 +vn -0.0000 -0.4254 0.9050 +vn -0.0000 -0.4690 0.8832 +vn 0.0422 -0.5116 0.8582 +vn 0.0409 -0.5531 0.8321 +vn -0.0000 -0.5116 0.8592 +vn -0.0000 -0.5531 0.8331 +vn 0.0976 -0.0974 0.9905 +vn 0.0970 -0.1458 0.9846 +vn 0.1451 -0.1458 0.9786 +vn 0.1460 -0.0974 0.9845 +vn 0.1465 -0.0488 0.9880 +vn 0.0979 -0.0488 0.9940 +vn 0.0491 -0.0488 0.9976 +vn 0.0489 -0.0974 0.9940 +vn -0.0000 -0.0488 0.9988 +vn -0.0000 -0.0974 0.9952 +vn 0.0486 -0.1458 0.9881 +vn -0.0000 -0.1458 0.9893 +vn 0.0938 0.2886 0.9528 +vn 0.0951 0.2416 0.9657 +vn 0.1423 0.2416 0.9599 +vn 0.1404 0.2886 0.9471 +vn 0.1382 0.3349 0.9321 +vn 0.0924 0.3349 0.9377 +vn 0.0463 0.3349 0.9411 +vn 0.0470 0.2886 0.9563 +vn -0.0000 0.3349 0.9422 +vn -0.0000 0.2886 0.9575 +vn 0.0477 0.2416 0.9692 +vn -0.0000 0.2416 0.9704 +vn 0.0760 0.6319 0.7713 +vn 0.0789 0.5932 0.8011 +vn 0.1181 0.5933 0.7963 +vn 0.1137 0.6319 0.7666 +vn 0.1090 0.6691 0.7351 +vn 0.0728 0.6691 0.7396 +vn 0.0365 0.6691 0.7423 +vn 0.0381 0.6319 0.7741 +vn -0.0000 0.6691 0.7432 +vn -0.0000 0.6319 0.7750 +vn 0.0395 0.5932 0.8040 +vn -0.0000 0.5932 0.8050 +vn 0.0465 0.8806 0.4716 +vn 0.0506 0.8562 0.5141 +vn 0.0758 0.8562 0.5110 +vn 0.0695 0.8806 0.4688 +vn 0.0631 0.9028 0.4254 +vn 0.0422 0.9028 0.4280 +vn 0.0211 0.9028 0.4295 +vn 0.0233 0.8806 0.4733 +vn -0.0000 0.9028 0.4300 +vn -0.0000 0.8806 0.4739 +vn 0.0254 0.8562 0.5160 +vn -0.0000 0.8562 0.5166 +vn 0.0465 -0.8806 0.4716 +vn 0.0422 -0.9028 0.4280 +vn 0.0631 -0.9028 0.4254 +vn 0.0695 -0.8806 0.4688 +vn 0.0758 -0.8562 0.5110 +vn 0.0506 -0.8562 0.5141 +vn 0.0254 -0.8562 0.5160 +vn 0.0233 -0.8806 0.4733 +vn -0.0000 -0.8562 0.5166 +vn -0.0000 -0.8806 0.4739 +vn 0.0211 -0.9028 0.4295 +vn -0.0000 -0.9028 0.4300 +vn 0.0760 -0.6319 0.7713 +vn 0.0728 -0.6691 0.7396 +vn 0.1090 -0.6691 0.7351 +vn 0.1137 -0.6319 0.7667 +vn 0.1181 -0.5932 0.7963 +vn 0.0789 -0.5932 0.8011 +vn 0.0395 -0.5932 0.8041 +vn 0.0381 -0.6319 0.7741 +vn -0.0000 -0.5932 0.8050 +vn -0.0000 -0.6319 0.7750 +vn 0.0365 -0.6691 0.7423 +vn -0.0000 -0.6691 0.7432 +vn -0.0938 -0.2886 0.9528 +vn -0.0924 -0.3349 0.9377 +vn -0.0463 -0.3349 0.9411 +vn -0.0470 -0.2886 0.9563 +vn -0.0906 -0.3806 0.9203 +vn -0.0454 -0.3806 0.9236 +vn -0.0477 -0.2416 0.9692 +vn -0.0951 -0.2416 0.9657 +vn -0.0482 -0.1939 0.9798 +vn -0.0962 -0.1939 0.9763 +vn -0.1423 -0.2416 0.9599 +vn -0.1404 -0.2886 0.9471 +vn -0.1893 -0.2416 0.9517 +vn -0.1868 -0.2886 0.9391 +vn -0.1439 -0.1939 0.9704 +vn -0.1914 -0.1939 0.9622 +vn -0.1382 -0.3349 0.9321 +vn -0.1356 -0.3806 0.9147 +vn -0.1838 -0.3349 0.9241 +vn -0.1804 -0.3806 0.9070 +vn -0.0976 0.0974 0.9905 +vn -0.0979 0.0488 0.9940 +vn -0.0491 0.0488 0.9976 +vn -0.0489 0.0974 0.9940 +vn -0.0980 -0.0000 0.9952 +vn -0.0491 -0.0000 0.9988 +vn -0.0486 0.1458 0.9881 +vn -0.0970 0.1458 0.9846 +vn -0.0482 0.1939 0.9798 +vn -0.0962 0.1939 0.9763 +vn -0.1451 0.1458 0.9786 +vn -0.1460 0.0974 0.9845 +vn -0.1930 0.1458 0.9703 +vn -0.1942 0.0974 0.9761 +vn -0.1439 0.1939 0.9704 +vn -0.1914 0.1939 0.9622 +vn -0.1465 0.0488 0.9880 +vn -0.1467 -0.0000 0.9892 +vn -0.1949 0.0488 0.9796 +vn -0.1951 -0.0000 0.9808 +vn -0.0866 0.4690 0.8789 +vn -0.0887 0.4254 0.9007 +vn -0.0445 0.4254 0.9039 +vn -0.0434 0.4690 0.8821 +vn -0.0906 0.3806 0.9203 +vn -0.0454 0.3806 0.9236 +vn -0.0422 0.5116 0.8582 +vn -0.0842 0.5116 0.8551 +vn -0.0409 0.5531 0.8321 +vn -0.0817 0.5531 0.8291 +vn -0.1260 0.5116 0.8499 +vn -0.1295 0.4690 0.8736 +vn -0.1676 0.5116 0.8427 +vn -0.1723 0.4690 0.8662 +vn -0.1222 0.5531 0.8241 +vn -0.1625 0.5531 0.8171 +vn -0.1327 0.4254 0.8952 +vn -0.1356 0.3806 0.9147 +vn -0.1766 0.4254 0.8876 +vn -0.1804 0.3806 0.9070 +vn -0.0624 0.7709 0.6338 +vn -0.0661 0.7388 0.6707 +vn -0.0331 0.7388 0.6731 +vn -0.0313 0.7709 0.6361 +vn -0.0695 0.7048 0.7060 +vn -0.0349 0.7048 0.7086 +vn -0.0294 0.8013 0.5976 +vn -0.0586 0.8013 0.5954 +vn -0.0274 0.8297 0.5575 +vn -0.0547 0.8297 0.5555 +vn -0.0878 0.8013 0.5918 +vn -0.0934 0.7709 0.6300 +vn -0.1167 0.8013 0.5868 +vn -0.1243 0.7709 0.6247 +vn -0.0819 0.8297 0.5521 +vn -0.1089 0.8297 0.5474 +vn -0.0988 0.7388 0.6667 +vn -0.1041 0.7048 0.7018 +vn -0.1315 0.7388 0.6610 +vn -0.1384 0.7048 0.6958 +vn -0.0293 -0.9544 0.2970 +vn -0.0251 -0.9666 0.2551 +vn -0.0048 -0.9669 0.2551 +vn -0.0120 -0.9546 0.2977 +vn -0.0208 -0.9772 0.2114 +vn 0.0048 -0.9777 0.2100 +vn -0.0163 -0.9402 0.3402 +vn -0.0334 -0.9402 0.3391 +vn -0.0189 -0.9229 0.3845 +vn -0.0377 -0.9229 0.3831 +vn -0.0504 -0.9402 0.3369 +vn -0.0463 -0.9546 0.2943 +vn -0.0664 -0.9403 0.3339 +vn -0.0580 -0.9548 0.2916 +vn -0.0565 -0.9229 0.3808 +vn -0.0751 -0.9229 0.3776 +vn -0.0451 -0.9669 0.2511 +vn -0.0457 -0.9777 0.2050 +vn -0.0495 -0.9673 0.2488 +vn -0.0403 -0.9784 0.2027 +vn -0.0293 0.9544 0.2970 +vn -0.0334 0.9402 0.3391 +vn -0.0163 0.9402 0.3402 +vn -0.0120 0.9546 0.2977 +vn -0.0377 0.9229 0.3831 +vn -0.0189 0.9229 0.3845 +vn -0.0048 0.9669 0.2551 +vn -0.0251 0.9666 0.2551 +vn 0.0048 0.9777 0.2100 +vn -0.0208 0.9772 0.2114 +vn -0.0451 0.9669 0.2511 +vn -0.0463 0.9546 0.2943 +vn -0.0495 0.9673 0.2488 +vn -0.0580 0.9548 0.2916 +vn -0.0457 0.9777 0.2050 +vn -0.0403 0.9784 0.2027 +vn -0.0504 0.9402 0.3368 +vn -0.0565 0.9229 0.3808 +vn -0.0664 0.9403 0.3339 +vn -0.0751 0.9229 0.3776 +vn -0.0624 -0.7709 0.6338 +vn -0.0586 -0.8013 0.5954 +vn -0.0294 -0.8013 0.5976 +vn -0.0313 -0.7709 0.6361 +vn -0.0547 -0.8297 0.5555 +vn -0.0274 -0.8297 0.5575 +vn -0.0331 -0.7388 0.6731 +vn -0.0661 -0.7388 0.6707 +vn -0.0349 -0.7048 0.7086 +vn -0.0695 -0.7048 0.7060 +vn -0.0988 -0.7388 0.6667 +vn -0.0934 -0.7709 0.6300 +vn -0.1315 -0.7388 0.6610 +vn -0.1243 -0.7709 0.6247 +vn -0.1040 -0.7048 0.7017 +vn -0.1384 -0.7048 0.6958 +vn -0.0878 -0.8013 0.5918 +vn -0.0819 -0.8297 0.5521 +vn -0.1167 -0.8013 0.5868 +vn -0.1089 -0.8297 0.5474 +vn -0.0866 -0.4690 0.8789 +vn -0.0842 -0.5116 0.8551 +vn -0.0422 -0.5116 0.8582 +vn -0.0434 -0.4690 0.8821 +vn -0.0817 -0.5531 0.8291 +vn -0.0409 -0.5531 0.8321 +vn -0.0445 -0.4254 0.9039 +vn -0.0887 -0.4254 0.9007 +vn -0.1327 -0.4254 0.8952 +vn -0.1295 -0.4690 0.8736 +vn -0.1766 -0.4254 0.8876 +vn -0.1723 -0.4690 0.8662 +vn -0.1260 -0.5116 0.8499 +vn -0.1222 -0.5531 0.8241 +vn -0.1676 -0.5116 0.8427 +vn -0.1625 -0.5531 0.8171 +vn -0.0976 -0.0974 0.9905 +vn -0.0970 -0.1458 0.9846 +vn -0.0486 -0.1458 0.9881 +vn -0.0489 -0.0974 0.9940 +vn -0.0491 -0.0488 0.9976 +vn -0.0979 -0.0488 0.9940 +vn -0.1465 -0.0488 0.9880 +vn -0.1460 -0.0974 0.9845 +vn -0.1949 -0.0488 0.9796 +vn -0.1942 -0.0974 0.9761 +vn -0.1451 -0.1458 0.9786 +vn -0.1930 -0.1458 0.9703 +vn -0.0938 0.2886 0.9528 +vn -0.0951 0.2416 0.9657 +vn -0.0477 0.2416 0.9692 +vn -0.0470 0.2886 0.9563 +vn -0.0463 0.3349 0.9411 +vn -0.0924 0.3349 0.9377 +vn -0.1382 0.3349 0.9321 +vn -0.1404 0.2886 0.9471 +vn -0.1838 0.3349 0.9241 +vn -0.1868 0.2886 0.9391 +vn -0.1423 0.2416 0.9599 +vn -0.1893 0.2416 0.9517 +vn -0.0760 0.6319 0.7713 +vn -0.0789 0.5932 0.8011 +vn -0.0395 0.5932 0.8040 +vn -0.0381 0.6319 0.7741 +vn -0.0365 0.6691 0.7423 +vn -0.0728 0.6691 0.7396 +vn -0.1090 0.6691 0.7351 +vn -0.1137 0.6319 0.7666 +vn -0.1450 0.6691 0.7289 +vn -0.1512 0.6319 0.7601 +vn -0.1181 0.5933 0.7963 +vn -0.1571 0.5933 0.7895 +vn -0.0465 0.8806 0.4716 +vn -0.0506 0.8562 0.5141 +vn -0.0254 0.8562 0.5160 +vn -0.0233 0.8806 0.4733 +vn -0.0211 0.9028 0.4295 +vn -0.0422 0.9028 0.4280 +vn -0.0631 0.9028 0.4254 +vn -0.0695 0.8806 0.4688 +vn -0.0839 0.9028 0.4218 +vn -0.0925 0.8806 0.4648 +vn -0.0758 0.8562 0.5110 +vn -0.1008 0.8562 0.5067 +vn -0.0465 -0.8806 0.4716 +vn -0.0422 -0.9028 0.4280 +vn -0.0211 -0.9028 0.4295 +vn -0.0233 -0.8806 0.4733 +vn -0.0254 -0.8562 0.5160 +vn -0.0506 -0.8562 0.5141 +vn -0.0758 -0.8562 0.5110 +vn -0.0695 -0.8806 0.4688 +vn -0.1008 -0.8562 0.5067 +vn -0.0925 -0.8806 0.4648 +vn -0.0631 -0.9028 0.4254 +vn -0.0839 -0.9028 0.4218 +vn -0.0760 -0.6319 0.7713 +vn -0.0728 -0.6691 0.7396 +vn -0.0365 -0.6691 0.7423 +vn -0.0381 -0.6319 0.7741 +vn -0.0395 -0.5932 0.8041 +vn -0.0789 -0.5932 0.8011 +vn -0.1181 -0.5932 0.7963 +vn -0.1137 -0.6319 0.7667 +vn -0.1571 -0.5932 0.7896 +vn -0.1512 -0.6319 0.7601 +vn -0.1090 -0.6691 0.7351 +vn -0.1450 -0.6691 0.7289 +vn -0.2779 -0.2886 0.9162 +vn -0.2735 -0.3349 0.9017 +vn -0.2290 -0.3349 0.9140 +vn -0.2327 -0.2886 0.9287 +vn -0.2684 -0.3806 0.8849 +vn -0.2247 -0.3806 0.8970 +vn -0.2358 -0.2416 0.9413 +vn -0.2817 -0.2416 0.9286 +vn -0.2384 -0.1939 0.9516 +vn -0.2848 -0.1939 0.9388 +vn -0.3269 -0.2416 0.9137 +vn -0.3225 -0.2886 0.9015 +vn -0.3714 -0.2416 0.8965 +vn -0.3664 -0.2886 0.8846 +vn -0.3304 -0.1939 0.9237 +vn -0.3754 -0.1939 0.9063 +vn -0.3174 -0.3349 0.8872 +vn -0.3115 -0.3806 0.8707 +vn -0.3606 -0.3349 0.8705 +vn -0.3539 -0.3806 0.8544 +vn -0.2889 0.0974 0.9524 +vn -0.2899 0.0488 0.9558 +vn -0.2427 0.0488 0.9689 +vn -0.2419 0.0974 0.9654 +vn -0.2903 -0.0000 0.9569 +vn -0.2430 -0.0000 0.9700 +vn -0.2404 0.1458 0.9597 +vn -0.2872 0.1458 0.9467 +vn -0.2384 0.1939 0.9516 +vn -0.2848 0.1939 0.9388 +vn -0.3332 0.1458 0.9315 +vn -0.3352 0.0974 0.9371 +vn -0.3786 0.1458 0.9140 +vn -0.3809 0.0974 0.9195 +vn -0.3304 0.1939 0.9237 +vn -0.3754 0.1939 0.9063 +vn -0.3364 0.0488 0.9404 +vn -0.3368 -0.0000 0.9416 +vn -0.3822 0.0488 0.9228 +vn -0.3827 -0.0000 0.9239 +vn -0.2564 0.4690 0.8451 +vn -0.2627 0.4254 0.8661 +vn -0.2200 0.4254 0.8779 +vn -0.2147 0.4690 0.8567 +vn -0.2684 0.3806 0.8849 +vn -0.2247 0.3806 0.8970 +vn -0.2088 0.5116 0.8335 +vn -0.2494 0.5116 0.8222 +vn -0.2025 0.5531 0.8081 +vn -0.2418 0.5531 0.7973 +vn -0.2894 0.5116 0.8090 +vn -0.2975 0.4690 0.8316 +vn -0.3288 0.5116 0.7938 +vn -0.3380 0.4690 0.8160 +vn -0.2806 0.5531 0.7844 +vn -0.3188 0.5531 0.7697 +vn -0.3048 0.4254 0.8521 +vn -0.3115 0.3806 0.8707 +vn -0.3463 0.4254 0.8361 +vn -0.3539 0.3806 0.8544 +vn -0.1849 0.7709 0.6095 +vn -0.1956 0.7388 0.6449 +vn -0.1638 0.7388 0.6537 +vn -0.1548 0.7709 0.6178 +vn -0.2059 0.7048 0.6789 +vn -0.1724 0.7048 0.6882 +vn -0.1454 0.8013 0.5804 +vn -0.1737 0.8013 0.5725 +vn -0.1357 0.8297 0.5414 +vn -0.1620 0.8297 0.5341 +vn -0.2015 0.8013 0.5633 +vn -0.2145 0.7709 0.5997 +vn -0.2290 0.8013 0.5528 +vn -0.2437 0.7709 0.5884 +vn -0.1880 0.8297 0.5255 +vn -0.2136 0.8297 0.5157 +vn -0.2270 0.7388 0.6346 +vn -0.2390 0.7048 0.6680 +vn -0.2579 0.7388 0.6226 +vn -0.2715 0.7048 0.6554 +vn -0.0866 -0.9544 0.2856 +vn -0.0744 -0.9666 0.2453 +vn -0.0544 -0.9669 0.2493 +vn -0.0698 -0.9546 0.2896 +vn -0.0617 -0.9772 0.2032 +vn -0.0363 -0.9777 0.2069 +vn -0.0823 -0.9402 0.3305 +vn -0.0989 -0.9402 0.3261 +vn -0.0936 -0.9229 0.3734 +vn -0.1118 -0.9229 0.3684 +vn -0.1152 -0.9402 0.3205 +vn -0.1028 -0.9546 0.2796 +vn -0.1303 -0.9403 0.3146 +vn -0.1138 -0.9548 0.2747 +vn -0.1297 -0.9229 0.3625 +vn -0.1473 -0.9229 0.3557 +vn -0.0932 -0.9669 0.2375 +vn -0.0848 -0.9777 0.1922 +vn -0.0971 -0.9673 0.2344 +vn -0.0791 -0.9784 0.1910 +vn -0.0866 0.9544 0.2856 +vn -0.0989 0.9402 0.3261 +vn -0.0823 0.9402 0.3305 +vn -0.0698 0.9546 0.2896 +vn -0.1118 0.9229 0.3684 +vn -0.0936 0.9229 0.3734 +vn -0.0544 0.9669 0.2493 +vn -0.0744 0.9666 0.2453 +vn -0.0362 0.9777 0.2069 +vn -0.0616 0.9772 0.2032 +vn -0.0932 0.9669 0.2375 +vn -0.1028 0.9546 0.2796 +vn -0.0971 0.9673 0.2344 +vn -0.1138 0.9548 0.2747 +vn -0.0848 0.9777 0.1922 +vn -0.0791 0.9784 0.1910 +vn -0.1152 0.9402 0.3205 +vn -0.1297 0.9229 0.3625 +vn -0.1303 0.9403 0.3145 +vn -0.1473 0.9229 0.3557 +vn -0.1849 -0.7709 0.6095 +vn -0.1737 -0.8013 0.5725 +vn -0.1454 -0.8013 0.5804 +vn -0.1548 -0.7709 0.6178 +vn -0.1620 -0.8297 0.5341 +vn -0.1356 -0.8297 0.5414 +vn -0.1638 -0.7388 0.6537 +vn -0.1956 -0.7388 0.6449 +vn -0.1724 -0.7048 0.6881 +vn -0.2059 -0.7048 0.6789 +vn -0.2270 -0.7388 0.6346 +vn -0.2145 -0.7709 0.5997 +vn -0.2579 -0.7388 0.6226 +vn -0.2437 -0.7709 0.5884 +vn -0.2390 -0.7048 0.6680 +vn -0.2715 -0.7048 0.6554 +vn -0.2015 -0.8013 0.5633 +vn -0.1880 -0.8297 0.5255 +vn -0.2290 -0.8013 0.5528 +vn -0.2136 -0.8297 0.5157 +vn -0.2564 -0.4690 0.8451 +vn -0.2494 -0.5116 0.8222 +vn -0.2088 -0.5116 0.8335 +vn -0.2146 -0.4690 0.8567 +vn -0.2418 -0.5531 0.7973 +vn -0.2025 -0.5531 0.8081 +vn -0.2200 -0.4254 0.8779 +vn -0.2627 -0.4254 0.8661 +vn -0.3048 -0.4254 0.8521 +vn -0.2975 -0.4690 0.8316 +vn -0.3463 -0.4254 0.8361 +vn -0.3380 -0.4690 0.8160 +vn -0.2894 -0.5116 0.8090 +vn -0.2806 -0.5531 0.7844 +vn -0.3288 -0.5116 0.7938 +vn -0.3188 -0.5531 0.7697 +vn -0.2889 -0.0974 0.9524 +vn -0.2872 -0.1458 0.9467 +vn -0.2404 -0.1458 0.9597 +vn -0.2419 -0.0974 0.9654 +vn -0.2427 -0.0488 0.9689 +vn -0.2899 -0.0488 0.9558 +vn -0.3364 -0.0488 0.9404 +vn -0.3352 -0.0974 0.9371 +vn -0.3822 -0.0488 0.9228 +vn -0.3809 -0.0974 0.9195 +vn -0.3332 -0.1458 0.9315 +vn -0.3786 -0.1458 0.9140 +vn -0.2779 0.2886 0.9162 +vn -0.2817 0.2416 0.9286 +vn -0.2358 0.2416 0.9413 +vn -0.2327 0.2886 0.9287 +vn -0.2290 0.3349 0.9140 +vn -0.2735 0.3349 0.9017 +vn -0.3174 0.3349 0.8872 +vn -0.3225 0.2886 0.9015 +vn -0.3606 0.3349 0.8705 +vn -0.3664 0.2886 0.8846 +vn -0.3269 0.2416 0.9137 +vn -0.3714 0.2416 0.8965 +vn -0.2250 0.6319 0.7417 +vn -0.2337 0.5932 0.7704 +vn -0.1957 0.5933 0.7809 +vn -0.1884 0.6319 0.7518 +vn -0.1806 0.6691 0.7209 +vn -0.2157 0.6691 0.7112 +vn -0.2503 0.6691 0.6997 +vn -0.2611 0.6319 0.7297 +vn -0.2844 0.6691 0.6866 +vn -0.2966 0.6319 0.7160 +vn -0.2712 0.5933 0.7580 +vn -0.3081 0.5933 0.7437 +vn -0.1376 0.8806 0.4535 +vn -0.1500 0.8562 0.4944 +vn -0.1256 0.8562 0.5011 +vn -0.1152 0.8806 0.4597 +vn -0.1045 0.9028 0.4171 +vn -0.1248 0.9028 0.4115 +vn -0.1449 0.9028 0.4049 +vn -0.1596 0.8806 0.4462 +vn -0.1646 0.9028 0.3973 +vn -0.1814 0.8806 0.4378 +vn -0.1740 0.8562 0.4864 +vn -0.1977 0.8562 0.4773 +vn -0.1376 -0.8806 0.4535 +vn -0.1248 -0.9028 0.4115 +vn -0.1045 -0.9028 0.4171 +vn -0.1152 -0.8806 0.4597 +vn -0.1256 -0.8562 0.5011 +vn -0.1500 -0.8562 0.4944 +vn -0.1740 -0.8562 0.4864 +vn -0.1596 -0.8806 0.4462 +vn -0.1977 -0.8562 0.4773 +vn -0.1814 -0.8806 0.4378 +vn -0.1448 -0.9028 0.4049 +vn -0.1646 -0.9028 0.3973 +vn -0.2250 -0.6319 0.7417 +vn -0.2157 -0.6691 0.7112 +vn -0.1806 -0.6691 0.7209 +vn -0.1884 -0.6319 0.7518 +vn -0.1957 -0.5932 0.7809 +vn -0.2337 -0.5932 0.7704 +vn -0.2712 -0.5932 0.7580 +vn -0.2611 -0.6319 0.7297 +vn -0.3081 -0.5932 0.7437 +vn -0.2966 -0.6319 0.7160 +vn -0.2503 -0.6691 0.6997 +vn -0.2844 -0.6691 0.6866 +vn -0.4513 -0.2886 0.8444 +vn -0.4442 -0.3349 0.8310 +vn -0.4029 -0.3349 0.8518 +vn -0.4094 -0.2886 0.8655 +vn -0.4359 -0.3806 0.8156 +vn -0.3954 -0.3806 0.8359 +vn -0.4149 -0.2416 0.8772 +vn -0.4574 -0.2416 0.8558 +vn -0.4195 -0.1939 0.8868 +vn -0.4625 -0.1939 0.8652 +vn -0.4988 -0.2416 0.8324 +vn -0.4922 -0.2886 0.8213 +vn -0.5391 -0.2416 0.8068 +vn -0.5319 -0.2886 0.7961 +vn -0.5043 -0.1939 0.8415 +vn -0.5450 -0.1939 0.8157 +vn -0.4844 -0.3349 0.8082 +vn -0.4754 -0.3806 0.7932 +vn -0.5235 -0.3349 0.7834 +vn -0.5138 -0.3806 0.7689 +vn -0.4692 0.0974 0.8777 +vn -0.4708 0.0488 0.8809 +vn -0.4271 0.0488 0.9029 +vn -0.4256 0.0974 0.8997 +vn -0.4714 -0.0000 0.8819 +vn -0.4276 -0.0000 0.9040 +vn -0.4230 0.1458 0.8943 +vn -0.4664 0.1458 0.8725 +vn -0.4195 0.1939 0.8868 +vn -0.4624 0.1939 0.8652 +vn -0.5086 0.1458 0.8486 +vn -0.5116 0.0974 0.8537 +vn -0.5496 0.1458 0.8226 +vn -0.5529 0.0974 0.8275 +vn -0.5043 0.1939 0.8415 +vn -0.5450 0.1939 0.8157 +vn -0.5134 0.0488 0.8567 +vn -0.5141 -0.0000 0.8578 +vn -0.5549 0.0488 0.8305 +vn -0.5556 -0.0000 0.8315 +vn -0.4163 0.4690 0.7789 +vn -0.4266 0.4254 0.7982 +vn -0.3870 0.4254 0.8181 +vn -0.3777 0.4690 0.7984 +vn -0.4359 0.3806 0.8156 +vn -0.3954 0.3806 0.8359 +vn -0.3674 0.5116 0.7767 +vn -0.4050 0.5116 0.7578 +vn -0.3563 0.5531 0.7531 +vn -0.3927 0.5531 0.7348 +vn -0.4417 0.5116 0.7370 +vn -0.4540 0.4690 0.7576 +vn -0.4774 0.5116 0.7144 +vn -0.4907 0.4690 0.7343 +vn -0.4283 0.5531 0.7146 +vn -0.4629 0.5531 0.6927 +vn -0.4652 0.4254 0.7763 +vn -0.4754 0.3806 0.7932 +vn -0.5028 0.4254 0.7525 +vn -0.5138 0.3806 0.7689 +vn -0.3002 0.7709 0.5617 +vn -0.3177 0.7388 0.5944 +vn -0.2882 0.7388 0.6092 +vn -0.2723 0.7709 0.5757 +vn -0.3344 0.7048 0.6257 +vn -0.3034 0.7048 0.6413 +vn -0.2558 0.8013 0.5408 +vn -0.2820 0.8013 0.5277 +vn -0.2387 0.8297 0.5045 +vn -0.2631 0.8297 0.4922 +vn -0.3076 0.8013 0.5132 +vn -0.3274 0.7709 0.5463 +vn -0.3324 0.8013 0.4975 +vn -0.3538 0.7709 0.5296 +vn -0.2869 0.8297 0.4788 +vn -0.3101 0.8297 0.4641 +vn -0.3464 0.7388 0.5781 +vn -0.3647 0.7048 0.6085 +vn -0.3744 0.7388 0.5604 +vn -0.3941 0.7048 0.5899 +vn -0.1407 -0.9544 0.2632 +vn -0.1209 -0.9666 0.2261 +vn -0.1020 -0.9669 0.2338 +vn -0.1250 -0.9546 0.2704 +vn -0.1001 -0.9772 0.1873 +vn -0.0759 -0.9777 0.1959 +vn -0.1452 -0.9402 0.3081 +vn -0.1606 -0.9402 0.3005 +vn -0.1646 -0.9229 0.3480 +vn -0.1815 -0.9229 0.3395 +vn -0.1755 -0.9402 0.2919 +vn -0.1554 -0.9546 0.2542 +vn -0.1892 -0.9403 0.2831 +vn -0.1652 -0.9548 0.2472 +vn -0.1979 -0.9229 0.3302 +vn -0.2139 -0.9229 0.3201 +vn -0.1378 -0.9669 0.2148 +vn -0.1207 -0.9777 0.1719 +vn -0.1409 -0.9673 0.2109 +vn -0.1148 -0.9784 0.1719 +vn -0.1407 0.9544 0.2632 +vn -0.1606 0.9402 0.3005 +vn -0.1452 0.9402 0.3081 +vn -0.1250 0.9546 0.2704 +vn -0.1815 0.9229 0.3395 +vn -0.1646 0.9229 0.3480 +vn -0.1020 0.9669 0.2338 +vn -0.1209 0.9666 0.2261 +vn -0.0759 0.9777 0.1959 +vn -0.1001 0.9772 0.1873 +vn -0.1377 0.9669 0.2148 +vn -0.1554 0.9546 0.2542 +vn -0.1409 0.9673 0.2109 +vn -0.1652 0.9548 0.2472 +vn -0.1207 0.9777 0.1719 +vn -0.1148 0.9784 0.1719 +vn -0.1755 0.9402 0.2919 +vn -0.1979 0.9229 0.3302 +vn -0.1891 0.9403 0.2831 +vn -0.2139 0.9229 0.3201 +vn -0.3002 -0.7709 0.5617 +vn -0.2820 -0.8013 0.5277 +vn -0.2558 -0.8013 0.5408 +vn -0.2724 -0.7709 0.5757 +vn -0.2631 -0.8297 0.4922 +vn -0.2387 -0.8297 0.5045 +vn -0.2882 -0.7388 0.6092 +vn -0.3177 -0.7388 0.5944 +vn -0.3034 -0.7048 0.6413 +vn -0.3344 -0.7048 0.6256 +vn -0.3464 -0.7388 0.5781 +vn -0.3274 -0.7709 0.5463 +vn -0.3744 -0.7388 0.5604 +vn -0.3538 -0.7709 0.5296 +vn -0.3647 -0.7048 0.6085 +vn -0.3941 -0.7048 0.5899 +vn -0.3076 -0.8013 0.5132 +vn -0.2869 -0.8297 0.4788 +vn -0.3324 -0.8013 0.4975 +vn -0.3101 -0.8297 0.4641 +vn -0.4163 -0.4690 0.7789 +vn -0.4050 -0.5116 0.7578 +vn -0.3674 -0.5116 0.7767 +vn -0.3777 -0.4690 0.7984 +vn -0.3927 -0.5531 0.7348 +vn -0.3563 -0.5531 0.7531 +vn -0.3870 -0.4254 0.8181 +vn -0.4266 -0.4254 0.7982 +vn -0.4652 -0.4254 0.7763 +vn -0.4540 -0.4690 0.7576 +vn -0.5028 -0.4254 0.7525 +vn -0.4907 -0.4690 0.7343 +vn -0.4417 -0.5116 0.7370 +vn -0.4283 -0.5531 0.7146 +vn -0.4774 -0.5116 0.7144 +vn -0.4629 -0.5531 0.6927 +vn -0.4692 -0.0974 0.8777 +vn -0.4664 -0.1458 0.8725 +vn -0.4230 -0.1458 0.8943 +vn -0.4256 -0.0974 0.8997 +vn -0.4271 -0.0488 0.9029 +vn -0.4708 -0.0488 0.8809 +vn -0.5134 -0.0488 0.8567 +vn -0.5116 -0.0974 0.8537 +vn -0.5549 -0.0488 0.8305 +vn -0.5529 -0.0974 0.8275 +vn -0.5086 -0.1458 0.8486 +vn -0.5496 -0.1458 0.8226 +vn -0.4513 0.2886 0.8444 +vn -0.4574 0.2416 0.8558 +vn -0.4149 0.2416 0.8772 +vn -0.4094 0.2886 0.8655 +vn -0.4029 0.3349 0.8518 +vn -0.4442 0.3349 0.8310 +vn -0.4844 0.3349 0.8082 +vn -0.4922 0.2886 0.8213 +vn -0.5235 0.3349 0.7834 +vn -0.5319 0.2886 0.7961 +vn -0.4988 0.2416 0.8324 +vn -0.5391 0.2416 0.8068 +vn -0.3653 0.6319 0.6835 +vn -0.3795 0.5932 0.7100 +vn -0.3442 0.5932 0.7277 +vn -0.3314 0.6319 0.7006 +vn -0.3178 0.6691 0.6718 +vn -0.3503 0.6691 0.6554 +vn -0.3820 0.6691 0.6375 +vn -0.3984 0.6319 0.6648 +vn -0.4129 0.6691 0.6179 +vn -0.4306 0.6319 0.6444 +vn -0.4138 0.5932 0.6905 +vn -0.4472 0.5933 0.6693 +vn -0.2234 0.8806 0.4179 +vn -0.2435 0.8562 0.4556 +vn -0.2209 0.8562 0.4670 +vn -0.2026 0.8806 0.4284 +vn -0.1839 0.9028 0.3887 +vn -0.2027 0.9028 0.3793 +vn -0.2211 0.9028 0.3689 +vn -0.2436 0.8806 0.4065 +vn -0.2389 0.9028 0.3576 +vn -0.2633 0.8806 0.3940 +vn -0.2656 0.8562 0.4431 +vn -0.2870 0.8562 0.4295 +vn -0.2234 -0.8806 0.4179 +vn -0.2027 -0.9028 0.3792 +vn -0.1839 -0.9028 0.3887 +vn -0.2026 -0.8806 0.4284 +vn -0.2209 -0.8562 0.4670 +vn -0.2435 -0.8562 0.4556 +vn -0.2656 -0.8562 0.4431 +vn -0.2436 -0.8806 0.4065 +vn -0.2870 -0.8562 0.4295 +vn -0.2633 -0.8806 0.3940 +vn -0.2211 -0.9028 0.3689 +vn -0.2389 -0.9028 0.3576 +vn -0.3653 -0.6319 0.6835 +vn -0.3503 -0.6691 0.6554 +vn -0.3178 -0.6691 0.6718 +vn -0.3314 -0.6319 0.7006 +vn -0.3442 -0.5932 0.7277 +vn -0.3795 -0.5932 0.7100 +vn -0.4138 -0.5932 0.6905 +vn -0.3984 -0.6319 0.6648 +vn -0.4472 -0.5932 0.6694 +vn -0.4306 -0.6319 0.6444 +vn -0.3820 -0.6691 0.6375 +vn -0.4129 -0.6691 0.6179 +vn -0.6074 -0.2886 0.7401 +vn -0.5978 -0.3349 0.7284 +vn -0.5613 -0.3349 0.7568 +vn -0.5704 -0.2886 0.7690 +vn -0.5867 -0.3806 0.7148 +vn -0.5509 -0.3806 0.7427 +vn -0.5781 -0.2416 0.7794 +vn -0.6156 -0.2416 0.7501 +vn -0.5844 -0.1939 0.7879 +vn -0.6224 -0.1939 0.7583 +vn -0.6516 -0.2416 0.7190 +vn -0.6429 -0.2886 0.7095 +vn -0.6862 -0.2416 0.6862 +vn -0.6770 -0.2886 0.6770 +vn -0.6588 -0.1939 0.7269 +vn -0.6937 -0.1939 0.6937 +vn -0.6327 -0.3349 0.6982 +vn -0.6210 -0.3806 0.6852 +vn -0.6663 -0.3349 0.6663 +vn -0.6539 -0.3806 0.6539 +vn -0.6314 0.0974 0.7693 +vn -0.6336 0.0488 0.7721 +vn -0.5950 0.0488 0.8022 +vn -0.5929 0.0974 0.7994 +vn -0.6344 -0.0000 0.7730 +vn -0.5957 -0.0000 0.8032 +vn -0.5894 0.1458 0.7946 +vn -0.6276 0.1458 0.7648 +vn -0.5844 0.1939 0.7879 +vn -0.6224 0.1939 0.7583 +vn -0.6643 0.1458 0.7331 +vn -0.6683 0.0974 0.7375 +vn -0.6996 0.1458 0.6996 +vn -0.7037 0.0974 0.7037 +vn -0.6588 0.1939 0.7269 +vn -0.6937 0.1939 0.6937 +vn -0.6707 0.0488 0.7401 +vn -0.6715 -0.0000 0.7410 +vn -0.7063 0.0488 0.7063 +vn -0.7071 -0.0000 0.7071 +vn -0.5603 0.4690 0.6827 +vn -0.5741 0.4254 0.6996 +vn -0.5392 0.4254 0.7269 +vn -0.5261 0.4690 0.7093 +vn -0.5867 0.3806 0.7148 +vn -0.5509 0.3806 0.7427 +vn -0.5119 0.5116 0.6901 +vn -0.5451 0.5116 0.6642 +vn -0.4963 0.5531 0.6691 +vn -0.5285 0.5531 0.6440 +vn -0.5770 0.5116 0.6367 +vn -0.5931 0.4690 0.6544 +vn -0.6076 0.5116 0.6076 +vn -0.6245 0.4690 0.6245 +vn -0.5595 0.5531 0.6173 +vn -0.5891 0.5531 0.5891 +vn -0.6077 0.4254 0.6706 +vn -0.6210 0.3806 0.6852 +vn -0.6399 0.4254 0.6400 +vn -0.6539 0.3806 0.6539 +vn -0.4040 0.7709 0.4923 +vn -0.4275 0.7388 0.5210 +vn -0.4015 0.7388 0.5413 +vn -0.3794 0.7709 0.5115 +vn -0.4501 0.7048 0.5484 +vn -0.4226 0.7048 0.5698 +vn -0.3564 0.8013 0.4805 +vn -0.3796 0.8013 0.4625 +vn -0.3325 0.8297 0.4483 +vn -0.3541 0.8297 0.4315 +vn -0.4018 0.8013 0.4433 +vn -0.4277 0.7709 0.4719 +vn -0.4231 0.8013 0.4231 +vn -0.4504 0.7709 0.4504 +vn -0.3748 0.8297 0.4136 +vn -0.3947 0.8297 0.3947 +vn -0.4526 0.7388 0.4994 +vn -0.4764 0.7048 0.5257 +vn -0.4765 0.7388 0.4765 +vn -0.5016 0.7048 0.5016 +vn -0.1894 -0.9544 0.2307 +vn -0.1626 -0.9666 0.1982 +vn -0.1457 -0.9669 0.2095 +vn -0.1754 -0.9546 0.2409 +vn -0.1347 -0.9772 0.1642 +vn -0.1127 -0.9777 0.1773 +vn -0.2025 -0.9402 0.2738 +vn -0.2162 -0.9402 0.2634 +vn -0.2294 -0.9229 0.3092 +vn -0.2442 -0.9229 0.2976 +vn -0.2291 -0.9402 0.2521 +vn -0.2020 -0.9546 0.2190 +vn -0.2408 -0.9403 0.2408 +vn -0.2103 -0.9548 0.2103 +vn -0.2585 -0.9229 0.2853 +vn -0.2722 -0.9229 0.2722 +vn -0.1770 -0.9669 0.1838 +vn -0.1519 -0.9777 0.1451 +vn -0.1794 -0.9673 0.1794 +vn -0.1462 -0.9784 0.1462 +vn -0.1894 0.9544 0.2307 +vn -0.2162 0.9402 0.2634 +vn -0.2025 0.9402 0.2738 +vn -0.1754 0.9546 0.2409 +vn -0.2442 0.9229 0.2976 +vn -0.2294 0.9229 0.3092 +vn -0.1457 0.9669 0.2094 +vn -0.1626 0.9666 0.1982 +vn -0.1127 0.9777 0.1773 +vn -0.1347 0.9772 0.1642 +vn -0.1770 0.9669 0.1838 +vn -0.2020 0.9546 0.2190 +vn -0.1794 0.9673 0.1794 +vn -0.2103 0.9548 0.2103 +vn -0.1519 0.9777 0.1451 +vn -0.1462 0.9784 0.1462 +vn -0.2291 0.9402 0.2521 +vn -0.2585 0.9229 0.2853 +vn -0.2407 0.9403 0.2407 +vn -0.2722 0.9229 0.2722 +vn -0.4040 -0.7709 0.4923 +vn -0.3796 -0.8013 0.4625 +vn -0.3564 -0.8013 0.4805 +vn -0.3794 -0.7709 0.5115 +vn -0.3541 -0.8297 0.4314 +vn -0.3325 -0.8297 0.4483 +vn -0.4015 -0.7388 0.5413 +vn -0.4275 -0.7388 0.5210 +vn -0.4226 -0.7048 0.5698 +vn -0.4501 -0.7048 0.5484 +vn -0.4526 -0.7388 0.4994 +vn -0.4277 -0.7709 0.4719 +vn -0.4765 -0.7388 0.4766 +vn -0.4504 -0.7709 0.4504 +vn -0.4764 -0.7048 0.5257 +vn -0.5016 -0.7048 0.5016 +vn -0.4018 -0.8013 0.4433 +vn -0.3748 -0.8297 0.4136 +vn -0.4231 -0.8013 0.4231 +vn -0.3947 -0.8297 0.3947 +vn -0.5603 -0.4690 0.6827 +vn -0.5451 -0.5116 0.6642 +vn -0.5119 -0.5116 0.6901 +vn -0.5261 -0.4690 0.7093 +vn -0.5285 -0.5531 0.6440 +vn -0.4963 -0.5531 0.6691 +vn -0.5392 -0.4254 0.7269 +vn -0.5741 -0.4254 0.6996 +vn -0.6077 -0.4254 0.6706 +vn -0.5931 -0.4690 0.6544 +vn -0.6399 -0.4254 0.6400 +vn -0.6245 -0.4690 0.6245 +vn -0.5770 -0.5116 0.6367 +vn -0.5595 -0.5531 0.6173 +vn -0.6076 -0.5116 0.6076 +vn -0.5891 -0.5531 0.5891 +vn -0.6314 -0.0974 0.7693 +vn -0.6276 -0.1458 0.7648 +vn -0.5894 -0.1458 0.7946 +vn -0.5929 -0.0974 0.7994 +vn -0.5950 -0.0488 0.8022 +vn -0.6336 -0.0488 0.7721 +vn -0.6707 -0.0488 0.7401 +vn -0.6683 -0.0974 0.7375 +vn -0.7063 -0.0488 0.7063 +vn -0.7037 -0.0974 0.7037 +vn -0.6643 -0.1458 0.7331 +vn -0.6996 -0.1458 0.6996 +vn -0.6074 0.2886 0.7401 +vn -0.6156 0.2416 0.7501 +vn -0.5781 0.2416 0.7794 +vn -0.5704 0.2886 0.7690 +vn -0.5613 0.3349 0.7568 +vn -0.5978 0.3349 0.7284 +vn -0.6327 0.3349 0.6982 +vn -0.6429 0.2886 0.7095 +vn -0.6663 0.3349 0.6663 +vn -0.6770 0.2886 0.6770 +vn -0.6516 0.2416 0.7190 +vn -0.6862 0.2416 0.6862 +vn -0.4917 0.6319 0.5991 +vn -0.5107 0.5933 0.6223 +vn -0.4796 0.5933 0.6466 +vn -0.4617 0.6319 0.6225 +vn -0.4427 0.6691 0.5969 +vn -0.4715 0.6691 0.5745 +vn -0.4991 0.6691 0.5507 +vn -0.5204 0.6319 0.5743 +vn -0.5255 0.6691 0.5255 +vn -0.5480 0.6319 0.5480 +vn -0.5406 0.5933 0.5965 +vn -0.5692 0.5933 0.5692 +vn -0.3006 0.8806 0.3663 +vn -0.3277 0.8562 0.3993 +vn -0.3078 0.8562 0.4149 +vn -0.2823 0.8806 0.3806 +vn -0.2562 0.9028 0.3454 +vn -0.2728 0.9028 0.3324 +vn -0.2888 0.9028 0.3187 +vn -0.3182 0.8806 0.3512 +vn -0.3041 0.9028 0.3041 +vn -0.3351 0.8806 0.3351 +vn -0.3469 0.8562 0.3828 +vn -0.3653 0.8562 0.3653 +vn -0.3006 -0.8806 0.3663 +vn -0.2728 -0.9028 0.3324 +vn -0.2562 -0.9028 0.3454 +vn -0.2823 -0.8806 0.3806 +vn -0.3078 -0.8562 0.4149 +vn -0.3277 -0.8562 0.3993 +vn -0.3469 -0.8562 0.3828 +vn -0.3182 -0.8806 0.3512 +vn -0.3653 -0.8562 0.3653 +vn -0.3351 -0.8806 0.3351 +vn -0.2888 -0.9028 0.3186 +vn -0.3041 -0.9028 0.3041 +vn -0.4917 -0.6319 0.5991 +vn -0.4715 -0.6691 0.5745 +vn -0.4427 -0.6691 0.5969 +vn -0.4617 -0.6319 0.6225 +vn -0.4796 -0.5932 0.6466 +vn -0.5107 -0.5932 0.6223 +vn -0.5406 -0.5932 0.5965 +vn -0.5204 -0.6319 0.5743 +vn -0.5692 -0.5932 0.5692 +vn -0.5480 -0.6319 0.5480 +vn -0.4990 -0.6691 0.5507 +vn -0.5255 -0.6691 0.5255 +vn -0.7401 -0.2886 0.6074 +vn -0.7284 -0.3349 0.5978 +vn -0.6982 -0.3349 0.6327 +vn -0.7095 -0.2886 0.6429 +vn -0.7148 -0.3806 0.5867 +vn -0.6852 -0.3806 0.6210 +vn -0.7190 -0.2416 0.6516 +vn -0.7501 -0.2416 0.6156 +vn -0.7269 -0.1939 0.6588 +vn -0.7583 -0.1939 0.6224 +vn -0.7794 -0.2416 0.5781 +vn -0.7690 -0.2886 0.5704 +vn -0.8068 -0.2416 0.5391 +vn -0.7961 -0.2886 0.5319 +vn -0.7879 -0.1939 0.5844 +vn -0.8157 -0.1939 0.5450 +vn -0.7568 -0.3349 0.5613 +vn -0.7427 -0.3806 0.5509 +vn -0.7835 -0.3349 0.5235 +vn -0.7689 -0.3806 0.5138 +vn -0.7693 0.0974 0.6314 +vn -0.7721 0.0488 0.6336 +vn -0.7401 0.0488 0.6707 +vn -0.7375 0.0974 0.6683 +vn -0.7730 -0.0000 0.6344 +vn -0.7410 -0.0000 0.6715 +vn -0.7331 0.1458 0.6643 +vn -0.7648 0.1458 0.6276 +vn -0.7269 0.1939 0.6588 +vn -0.7583 0.1939 0.6224 +vn -0.7946 0.1457 0.5894 +vn -0.7994 0.0974 0.5929 +vn -0.8226 0.1458 0.5496 +vn -0.8275 0.0974 0.5529 +vn -0.7879 0.1939 0.5844 +vn -0.8157 0.1939 0.5450 +vn -0.8022 0.0488 0.5950 +vn -0.8032 -0.0000 0.5957 +vn -0.8305 0.0488 0.5549 +vn -0.8315 -0.0000 0.5556 +vn -0.6827 0.4690 0.5603 +vn -0.6996 0.4254 0.5741 +vn -0.6706 0.4254 0.6077 +vn -0.6544 0.4690 0.5931 +vn -0.7148 0.3806 0.5867 +vn -0.6852 0.3806 0.6210 +vn -0.6367 0.5116 0.5770 +vn -0.6642 0.5116 0.5451 +vn -0.6173 0.5531 0.5595 +vn -0.6440 0.5531 0.5285 +vn -0.6901 0.5116 0.5119 +vn -0.7093 0.4690 0.5261 +vn -0.7144 0.5116 0.4774 +vn -0.7343 0.4690 0.4907 +vn -0.6691 0.5531 0.4963 +vn -0.6927 0.5531 0.4629 +vn -0.7269 0.4254 0.5392 +vn -0.7427 0.3806 0.5509 +vn -0.7525 0.4254 0.5028 +vn -0.7689 0.3806 0.5138 +vn -0.4923 0.7709 0.4040 +vn -0.5210 0.7388 0.4275 +vn -0.4994 0.7388 0.4526 +vn -0.4719 0.7709 0.4277 +vn -0.5484 0.7048 0.4501 +vn -0.5257 0.7048 0.4764 +vn -0.4433 0.8013 0.4018 +vn -0.4625 0.8013 0.3796 +vn -0.4136 0.8297 0.3748 +vn -0.4315 0.8297 0.3541 +vn -0.4805 0.8013 0.3564 +vn -0.5115 0.7709 0.3794 +vn -0.4975 0.8013 0.3324 +vn -0.5296 0.7709 0.3538 +vn -0.4483 0.8297 0.3325 +vn -0.4641 0.8297 0.3101 +vn -0.5413 0.7388 0.4015 +vn -0.5698 0.7048 0.4226 +vn -0.5604 0.7388 0.3744 +vn -0.5899 0.7048 0.3941 +vn -0.2307 -0.9544 0.1894 +vn -0.1982 -0.9666 0.1626 +vn -0.1838 -0.9669 0.1770 +vn -0.2190 -0.9546 0.2020 +vn -0.1642 -0.9772 0.1347 +vn -0.1451 -0.9777 0.1519 +vn -0.2521 -0.9402 0.2291 +vn -0.2634 -0.9402 0.2162 +vn -0.2853 -0.9229 0.2585 +vn -0.2976 -0.9229 0.2442 +vn -0.2738 -0.9402 0.2025 +vn -0.2409 -0.9546 0.1754 +vn -0.2831 -0.9403 0.1892 +vn -0.2472 -0.9548 0.1652 +vn -0.3092 -0.9229 0.2293 +vn -0.3201 -0.9229 0.2139 +vn -0.2094 -0.9669 0.1457 +vn -0.1773 -0.9777 0.1127 +vn -0.2109 -0.9673 0.1409 +vn -0.1719 -0.9784 0.1148 +vn -0.2307 0.9544 0.1894 +vn -0.2634 0.9402 0.2162 +vn -0.2521 0.9402 0.2291 +vn -0.2190 0.9546 0.2020 +vn -0.2976 0.9229 0.2442 +vn -0.2853 0.9229 0.2585 +vn -0.1838 0.9669 0.1770 +vn -0.1982 0.9666 0.1626 +vn -0.1451 0.9777 0.1519 +vn -0.1642 0.9772 0.1347 +vn -0.2094 0.9669 0.1457 +vn -0.2409 0.9546 0.1754 +vn -0.2109 0.9673 0.1409 +vn -0.2472 0.9548 0.1652 +vn -0.1773 0.9777 0.1127 +vn -0.1719 0.9784 0.1148 +vn -0.2738 0.9402 0.2025 +vn -0.3092 0.9229 0.2293 +vn -0.2831 0.9403 0.1891 +vn -0.3201 0.9229 0.2139 +vn -0.4923 -0.7709 0.4040 +vn -0.4625 -0.8013 0.3796 +vn -0.4433 -0.8013 0.4018 +vn -0.4719 -0.7709 0.4277 +vn -0.4315 -0.8297 0.3541 +vn -0.4136 -0.8297 0.3748 +vn -0.4994 -0.7388 0.4526 +vn -0.5210 -0.7388 0.4275 +vn -0.5257 -0.7048 0.4764 +vn -0.5484 -0.7048 0.4500 +vn -0.5413 -0.7388 0.4015 +vn -0.5115 -0.7709 0.3794 +vn -0.5604 -0.7388 0.3744 +vn -0.5296 -0.7709 0.3538 +vn -0.5698 -0.7048 0.4226 +vn -0.5899 -0.7048 0.3941 +vn -0.4805 -0.8013 0.3564 +vn -0.4483 -0.8297 0.3325 +vn -0.4975 -0.8013 0.3324 +vn -0.4641 -0.8297 0.3101 +vn -0.6827 -0.4690 0.5603 +vn -0.6642 -0.5116 0.5451 +vn -0.6367 -0.5116 0.5770 +vn -0.6544 -0.4690 0.5931 +vn -0.6440 -0.5531 0.5285 +vn -0.6173 -0.5531 0.5595 +vn -0.6706 -0.4254 0.6077 +vn -0.6996 -0.4254 0.5741 +vn -0.7269 -0.4254 0.5392 +vn -0.7093 -0.4690 0.5262 +vn -0.7525 -0.4254 0.5028 +vn -0.7343 -0.4690 0.4907 +vn -0.6901 -0.5116 0.5119 +vn -0.6691 -0.5531 0.4963 +vn -0.7144 -0.5116 0.4774 +vn -0.6927 -0.5531 0.4629 +vn -0.7693 -0.0974 0.6314 +vn -0.7648 -0.1458 0.6276 +vn -0.7331 -0.1458 0.6643 +vn -0.7375 -0.0974 0.6683 +vn -0.7401 -0.0488 0.6707 +vn -0.7721 -0.0488 0.6336 +vn -0.8022 -0.0488 0.5950 +vn -0.7994 -0.0974 0.5929 +vn -0.8305 -0.0488 0.5549 +vn -0.8275 -0.0974 0.5529 +vn -0.7946 -0.1457 0.5894 +vn -0.8226 -0.1458 0.5496 +vn -0.7401 0.2886 0.6074 +vn -0.7501 0.2416 0.6156 +vn -0.7190 0.2416 0.6516 +vn -0.7095 0.2886 0.6429 +vn -0.6982 0.3349 0.6327 +vn -0.7284 0.3349 0.5978 +vn -0.7568 0.3349 0.5613 +vn -0.7690 0.2886 0.5704 +vn -0.7835 0.3349 0.5235 +vn -0.7961 0.2886 0.5319 +vn -0.7794 0.2416 0.5781 +vn -0.8068 0.2416 0.5391 +vn -0.5991 0.6319 0.4917 +vn -0.6223 0.5933 0.5107 +vn -0.5965 0.5933 0.5406 +vn -0.5743 0.6319 0.5204 +vn -0.5507 0.6691 0.4991 +vn -0.5745 0.6691 0.4715 +vn -0.5969 0.6691 0.4427 +vn -0.6225 0.6319 0.4617 +vn -0.6179 0.6691 0.4129 +vn -0.6444 0.6319 0.4306 +vn -0.6466 0.5933 0.4796 +vn -0.6693 0.5933 0.4472 +vn -0.3663 0.8806 0.3006 +vn -0.3993 0.8562 0.3277 +vn -0.3828 0.8562 0.3469 +vn -0.3512 0.8806 0.3182 +vn -0.3187 0.9028 0.2888 +vn -0.3324 0.9028 0.2728 +vn -0.3454 0.9028 0.2562 +vn -0.3806 0.8806 0.2823 +vn -0.3576 0.9028 0.2389 +vn -0.3940 0.8806 0.2633 +vn -0.4149 0.8562 0.3078 +vn -0.4295 0.8562 0.2870 +vn -0.3663 -0.8806 0.3006 +vn -0.3324 -0.9028 0.2728 +vn -0.3186 -0.9028 0.2888 +vn -0.3512 -0.8806 0.3182 +vn -0.3828 -0.8562 0.3469 +vn -0.3993 -0.8562 0.3277 +vn -0.4149 -0.8562 0.3078 +vn -0.3806 -0.8806 0.2823 +vn -0.4296 -0.8562 0.2870 +vn -0.3940 -0.8806 0.2633 +vn -0.3454 -0.9028 0.2562 +vn -0.3576 -0.9028 0.2389 +vn -0.5991 -0.6319 0.4917 +vn -0.5745 -0.6691 0.4715 +vn -0.5507 -0.6691 0.4990 +vn -0.5743 -0.6319 0.5204 +vn -0.5965 -0.5932 0.5406 +vn -0.6223 -0.5932 0.5107 +vn -0.6466 -0.5932 0.4796 +vn -0.6225 -0.6319 0.4617 +vn -0.6694 -0.5932 0.4472 +vn -0.6444 -0.6319 0.4306 +vn -0.5969 -0.6691 0.4427 +vn -0.6179 -0.6691 0.4129 +vn -0.8444 -0.2886 0.4513 +vn -0.8310 -0.3349 0.4442 +vn -0.8082 -0.3349 0.4844 +vn -0.8213 -0.2886 0.4922 +vn -0.8156 -0.3806 0.4359 +vn -0.7932 -0.3806 0.4754 +vn -0.8324 -0.2416 0.4988 +vn -0.8558 -0.2416 0.4574 +vn -0.8415 -0.1939 0.5043 +vn -0.8652 -0.1939 0.4625 +vn -0.8772 -0.2416 0.4149 +vn -0.8655 -0.2886 0.4094 +vn -0.8965 -0.2416 0.3713 +vn -0.8846 -0.2886 0.3664 +vn -0.8868 -0.1939 0.4195 +vn -0.9063 -0.1939 0.3754 +vn -0.8518 -0.3349 0.4029 +vn -0.8359 -0.3806 0.3954 +vn -0.8705 -0.3349 0.3606 +vn -0.8544 -0.3806 0.3539 +vn -0.8777 0.0974 0.4692 +vn -0.8809 0.0488 0.4708 +vn -0.8567 0.0488 0.5134 +vn -0.8537 0.0974 0.5116 +vn -0.8819 -0.0000 0.4714 +vn -0.8578 -0.0000 0.5140 +vn -0.8486 0.1458 0.5086 +vn -0.8725 0.1458 0.4664 +vn -0.8415 0.1939 0.5043 +vn -0.8652 0.1939 0.4625 +vn -0.8943 0.1458 0.4230 +vn -0.8997 0.0974 0.4256 +vn -0.9140 0.1458 0.3786 +vn -0.9195 0.0974 0.3809 +vn -0.8868 0.1939 0.4195 +vn -0.9063 0.1939 0.3754 +vn -0.9029 0.0488 0.4271 +vn -0.9040 -0.0000 0.4276 +vn -0.9228 0.0488 0.3822 +vn -0.9239 -0.0000 0.3827 +vn -0.7789 0.4690 0.4163 +vn -0.7982 0.4254 0.4266 +vn -0.7763 0.4254 0.4652 +vn -0.7576 0.4690 0.4540 +vn -0.8156 0.3806 0.4359 +vn -0.7932 0.3806 0.4754 +vn -0.7370 0.5116 0.4417 +vn -0.7578 0.5116 0.4050 +vn -0.7146 0.5531 0.4283 +vn -0.7348 0.5531 0.3927 +vn -0.7767 0.5116 0.3674 +vn -0.7984 0.4690 0.3777 +vn -0.7938 0.5116 0.3288 +vn -0.8160 0.4690 0.3380 +vn -0.7531 0.5531 0.3563 +vn -0.7697 0.5531 0.3188 +vn -0.8181 0.4254 0.3870 +vn -0.8359 0.3806 0.3954 +vn -0.8361 0.4254 0.3463 +vn -0.8544 0.3806 0.3539 +vn -0.5617 0.7709 0.3002 +vn -0.5944 0.7388 0.3177 +vn -0.5781 0.7388 0.3464 +vn -0.5463 0.7709 0.3274 +vn -0.6257 0.7048 0.3344 +vn -0.6085 0.7048 0.3647 +vn -0.5132 0.8013 0.3076 +vn -0.5277 0.8013 0.2821 +vn -0.4788 0.8297 0.2869 +vn -0.4922 0.8297 0.2631 +vn -0.5408 0.8013 0.2558 +vn -0.5757 0.7709 0.2723 +vn -0.5528 0.8013 0.2290 +vn -0.5884 0.7709 0.2437 +vn -0.5045 0.8297 0.2387 +vn -0.5157 0.8297 0.2136 +vn -0.6092 0.7388 0.2882 +vn -0.6413 0.7048 0.3034 +vn -0.6226 0.7388 0.2579 +vn -0.6554 0.7048 0.2715 +vn -0.2632 -0.9544 0.1407 +vn -0.2261 -0.9666 0.1208 +vn -0.2148 -0.9669 0.1377 +vn -0.2542 -0.9546 0.1554 +vn -0.1873 -0.9772 0.1001 +vn -0.1719 -0.9777 0.1207 +vn -0.2919 -0.9402 0.1755 +vn -0.3005 -0.9402 0.1606 +vn -0.3302 -0.9229 0.1979 +vn -0.3395 -0.9229 0.1815 +vn -0.3081 -0.9402 0.1452 +vn -0.2704 -0.9546 0.1250 +vn -0.3146 -0.9403 0.1303 +vn -0.2747 -0.9548 0.1138 +vn -0.3480 -0.9229 0.1646 +vn -0.3557 -0.9229 0.1473 +vn -0.2338 -0.9669 0.1020 +vn -0.1959 -0.9777 0.0759 +vn -0.2344 -0.9673 0.0971 +vn -0.1910 -0.9784 0.0791 +vn -0.2632 0.9544 0.1407 +vn -0.3005 0.9402 0.1606 +vn -0.2919 0.9402 0.1755 +vn -0.2542 0.9546 0.1554 +vn -0.3395 0.9229 0.1815 +vn -0.3302 0.9229 0.1979 +vn -0.2148 0.9669 0.1378 +vn -0.2261 0.9666 0.1208 +vn -0.1719 0.9777 0.1207 +vn -0.1873 0.9772 0.1001 +vn -0.2338 0.9669 0.1020 +vn -0.2704 0.9546 0.1250 +vn -0.2344 0.9673 0.0971 +vn -0.2747 0.9548 0.1138 +vn -0.1959 0.9777 0.0759 +vn -0.1910 0.9784 0.0791 +vn -0.3081 0.9402 0.1452 +vn -0.3480 0.9229 0.1646 +vn -0.3145 0.9403 0.1303 +vn -0.3557 0.9229 0.1473 +vn -0.5617 -0.7709 0.3002 +vn -0.5277 -0.8013 0.2820 +vn -0.5132 -0.8013 0.3076 +vn -0.5463 -0.7709 0.3274 +vn -0.4922 -0.8297 0.2631 +vn -0.4788 -0.8297 0.2869 +vn -0.5781 -0.7388 0.3464 +vn -0.5944 -0.7388 0.3177 +vn -0.6085 -0.7048 0.3647 +vn -0.6256 -0.7048 0.3344 +vn -0.6092 -0.7388 0.2882 +vn -0.5757 -0.7709 0.2723 +vn -0.6226 -0.7388 0.2579 +vn -0.5884 -0.7709 0.2437 +vn -0.6413 -0.7048 0.3033 +vn -0.6554 -0.7048 0.2715 +vn -0.5408 -0.8013 0.2558 +vn -0.5045 -0.8297 0.2387 +vn -0.5528 -0.8013 0.2290 +vn -0.5157 -0.8297 0.2136 +vn -0.7789 -0.4690 0.4163 +vn -0.7578 -0.5116 0.4050 +vn -0.7370 -0.5116 0.4417 +vn -0.7576 -0.4690 0.4540 +vn -0.7348 -0.5531 0.3927 +vn -0.7146 -0.5531 0.4283 +vn -0.7763 -0.4254 0.4652 +vn -0.7982 -0.4254 0.4266 +vn -0.8181 -0.4254 0.3870 +vn -0.7984 -0.4690 0.3777 +vn -0.8361 -0.4254 0.3463 +vn -0.8160 -0.4690 0.3380 +vn -0.7767 -0.5116 0.3674 +vn -0.7531 -0.5531 0.3563 +vn -0.7938 -0.5116 0.3288 +vn -0.7697 -0.5531 0.3188 +vn -0.8777 -0.0974 0.4692 +vn -0.8725 -0.1458 0.4664 +vn -0.8486 -0.1458 0.5086 +vn -0.8537 -0.0974 0.5116 +vn -0.8567 -0.0488 0.5134 +vn -0.8809 -0.0488 0.4708 +vn -0.9029 -0.0488 0.4271 +vn -0.8997 -0.0974 0.4256 +vn -0.9228 -0.0488 0.3822 +vn -0.9195 -0.0974 0.3809 +vn -0.8943 -0.1458 0.4230 +vn -0.9140 -0.1458 0.3786 +vn -0.8444 0.2886 0.4513 +vn -0.8558 0.2416 0.4574 +vn -0.8324 0.2416 0.4988 +vn -0.8213 0.2886 0.4922 +vn -0.8082 0.3349 0.4844 +vn -0.8310 0.3349 0.4442 +vn -0.8518 0.3349 0.4029 +vn -0.8655 0.2886 0.4094 +vn -0.8705 0.3349 0.3606 +vn -0.8846 0.2886 0.3664 +vn -0.8772 0.2416 0.4149 +vn -0.8965 0.2416 0.3713 +vn -0.6835 0.6319 0.3653 +vn -0.7100 0.5933 0.3795 +vn -0.6905 0.5933 0.4138 +vn -0.6648 0.6319 0.3984 +vn -0.6375 0.6691 0.3820 +vn -0.6554 0.6691 0.3503 +vn -0.6718 0.6691 0.3178 +vn -0.7006 0.6319 0.3314 +vn -0.6866 0.6691 0.2844 +vn -0.7160 0.6319 0.2966 +vn -0.7277 0.5933 0.3442 +vn -0.7437 0.5933 0.3081 +vn -0.4179 0.8806 0.2234 +vn -0.4556 0.8562 0.2435 +vn -0.4431 0.8562 0.2656 +vn -0.4065 0.8806 0.2436 +vn -0.3689 0.9028 0.2211 +vn -0.3793 0.9028 0.2027 +vn -0.3887 0.9028 0.1839 +vn -0.4284 0.8806 0.2026 +vn -0.3973 0.9028 0.1646 +vn -0.4378 0.8806 0.1814 +vn -0.4670 0.8562 0.2209 +vn -0.4773 0.8562 0.1977 +vn -0.4179 -0.8806 0.2234 +vn -0.3792 -0.9028 0.2027 +vn -0.3689 -0.9028 0.2211 +vn -0.4065 -0.8806 0.2436 +vn -0.4431 -0.8562 0.2656 +vn -0.4556 -0.8562 0.2435 +vn -0.4670 -0.8562 0.2209 +vn -0.4284 -0.8806 0.2026 +vn -0.4773 -0.8562 0.1977 +vn -0.4378 -0.8806 0.1814 +vn -0.3887 -0.9028 0.1839 +vn -0.3973 -0.9028 0.1646 +vn -0.6835 -0.6319 0.3653 +vn -0.6554 -0.6691 0.3503 +vn -0.6375 -0.6691 0.3820 +vn -0.6648 -0.6319 0.3984 +vn -0.6905 -0.5932 0.4138 +vn -0.7100 -0.5932 0.3795 +vn -0.7277 -0.5932 0.3442 +vn -0.7006 -0.6319 0.3314 +vn -0.7437 -0.5932 0.3081 +vn -0.7160 -0.6319 0.2966 +vn -0.6718 -0.6691 0.3178 +vn -0.6866 -0.6691 0.2844 +vn -0.9162 -0.2886 0.2779 +vn -0.9017 -0.3349 0.2735 +vn -0.8872 -0.3349 0.3174 +vn -0.9015 -0.2886 0.3225 +vn -0.8849 -0.3806 0.2684 +vn -0.8707 -0.3806 0.3115 +vn -0.9137 -0.2416 0.3269 +vn -0.9286 -0.2416 0.2817 +vn -0.9237 -0.1939 0.3304 +vn -0.9388 -0.1939 0.2848 +vn -0.9413 -0.2416 0.2358 +vn -0.9287 -0.2886 0.2327 +vn -0.9517 -0.2416 0.1893 +vn -0.9391 -0.2886 0.1868 +vn -0.9516 -0.1939 0.2384 +vn -0.9622 -0.1939 0.1914 +vn -0.9140 -0.3349 0.2290 +vn -0.8970 -0.3806 0.2247 +vn -0.9241 -0.3349 0.1838 +vn -0.9070 -0.3806 0.1804 +vn -0.9524 0.0974 0.2889 +vn -0.9558 0.0488 0.2899 +vn -0.9404 0.0488 0.3364 +vn -0.9371 0.0974 0.3352 +vn -0.9569 -0.0000 0.2903 +vn -0.9416 -0.0000 0.3368 +vn -0.9315 0.1458 0.3332 +vn -0.9467 0.1458 0.2872 +vn -0.9237 0.1939 0.3304 +vn -0.9388 0.1939 0.2848 +vn -0.9597 0.1458 0.2404 +vn -0.9654 0.0974 0.2419 +vn -0.9703 0.1458 0.1930 +vn -0.9761 0.0974 0.1942 +vn -0.9516 0.1939 0.2384 +vn -0.9622 0.1939 0.1914 +vn -0.9689 0.0488 0.2428 +vn -0.9700 -0.0000 0.2430 +vn -0.9796 0.0488 0.1949 +vn -0.9808 -0.0000 0.1951 +vn -0.8451 0.4690 0.2564 +vn -0.8661 0.4254 0.2627 +vn -0.8521 0.4254 0.3048 +vn -0.8316 0.4690 0.2975 +vn -0.8849 0.3806 0.2684 +vn -0.8707 0.3806 0.3115 +vn -0.8090 0.5116 0.2894 +vn -0.8222 0.5116 0.2494 +vn -0.7844 0.5531 0.2806 +vn -0.7973 0.5531 0.2418 +vn -0.8335 0.5116 0.2088 +vn -0.8567 0.4690 0.2146 +vn -0.8427 0.5116 0.1676 +vn -0.8662 0.4690 0.1723 +vn -0.8081 0.5531 0.2025 +vn -0.8171 0.5531 0.1625 +vn -0.8779 0.4254 0.2200 +vn -0.8970 0.3806 0.2247 +vn -0.8876 0.4254 0.1766 +vn -0.9070 0.3806 0.1804 +vn -0.6095 0.7709 0.1849 +vn -0.6449 0.7388 0.1956 +vn -0.6346 0.7388 0.2270 +vn -0.5997 0.7709 0.2145 +vn -0.6789 0.7048 0.2059 +vn -0.6680 0.7048 0.2390 +vn -0.5633 0.8013 0.2015 +vn -0.5725 0.8013 0.1737 +vn -0.5255 0.8297 0.1880 +vn -0.5341 0.8297 0.1620 +vn -0.5804 0.8013 0.1454 +vn -0.6178 0.7709 0.1548 +vn -0.5868 0.8013 0.1167 +vn -0.6247 0.7709 0.1242 +vn -0.5414 0.8297 0.1357 +vn -0.5474 0.8297 0.1089 +vn -0.6537 0.7388 0.1638 +vn -0.6882 0.7048 0.1724 +vn -0.6610 0.7388 0.1315 +vn -0.6958 0.7048 0.1384 +vn -0.2856 -0.9544 0.0866 +vn -0.2453 -0.9666 0.0744 +vn -0.2375 -0.9669 0.0932 +vn -0.2796 -0.9546 0.1028 +vn -0.2032 -0.9772 0.0617 +vn -0.1922 -0.9777 0.0848 +vn -0.3205 -0.9402 0.1152 +vn -0.3261 -0.9402 0.0989 +vn -0.3625 -0.9229 0.1297 +vn -0.3684 -0.9229 0.1118 +vn -0.3305 -0.9402 0.0823 +vn -0.2896 -0.9546 0.0698 +vn -0.3339 -0.9403 0.0664 +vn -0.2916 -0.9548 0.0580 +vn -0.3734 -0.9229 0.0936 +vn -0.3776 -0.9229 0.0751 +vn -0.2493 -0.9669 0.0545 +vn -0.2069 -0.9777 0.0363 +vn -0.2488 -0.9673 0.0495 +vn -0.2027 -0.9784 0.0403 +vn -0.2856 0.9544 0.0866 +vn -0.3260 0.9402 0.0989 +vn -0.3205 0.9402 0.1152 +vn -0.2796 0.9546 0.1028 +vn -0.3684 0.9229 0.1118 +vn -0.3625 0.9229 0.1297 +vn -0.2375 0.9669 0.0932 +vn -0.2453 0.9666 0.0744 +vn -0.1922 0.9777 0.0848 +vn -0.2032 0.9772 0.0617 +vn -0.2493 0.9669 0.0545 +vn -0.2896 0.9546 0.0698 +vn -0.2488 0.9673 0.0495 +vn -0.2916 0.9548 0.0580 +vn -0.2069 0.9777 0.0362 +vn -0.2027 0.9784 0.0403 +vn -0.3305 0.9402 0.0823 +vn -0.3734 0.9229 0.0936 +vn -0.3339 0.9403 0.0664 +vn -0.3776 0.9229 0.0751 +vn -0.6095 -0.7709 0.1849 +vn -0.5725 -0.8013 0.1737 +vn -0.5633 -0.8013 0.2015 +vn -0.5997 -0.7709 0.2145 +vn -0.5341 -0.8297 0.1620 +vn -0.5255 -0.8297 0.1880 +vn -0.6346 -0.7388 0.2270 +vn -0.6449 -0.7388 0.1956 +vn -0.6680 -0.7048 0.2390 +vn -0.6789 -0.7048 0.2059 +vn -0.6537 -0.7388 0.1638 +vn -0.6178 -0.7709 0.1548 +vn -0.6610 -0.7388 0.1315 +vn -0.6247 -0.7709 0.1243 +vn -0.6881 -0.7048 0.1724 +vn -0.6958 -0.7048 0.1384 +vn -0.5804 -0.8013 0.1454 +vn -0.5414 -0.8297 0.1357 +vn -0.5868 -0.8013 0.1167 +vn -0.5474 -0.8297 0.1089 +vn -0.8451 -0.4690 0.2564 +vn -0.8222 -0.5116 0.2494 +vn -0.8090 -0.5116 0.2894 +vn -0.8316 -0.4690 0.2975 +vn -0.7973 -0.5531 0.2418 +vn -0.7844 -0.5531 0.2806 +vn -0.8521 -0.4254 0.3048 +vn -0.8661 -0.4254 0.2627 +vn -0.8779 -0.4254 0.2200 +vn -0.8567 -0.4690 0.2146 +vn -0.8876 -0.4254 0.1766 +vn -0.8662 -0.4690 0.1723 +vn -0.8335 -0.5116 0.2088 +vn -0.8081 -0.5531 0.2025 +vn -0.8427 -0.5116 0.1676 +vn -0.8171 -0.5531 0.1625 +vn -0.9524 -0.0974 0.2889 +vn -0.9467 -0.1458 0.2872 +vn -0.9315 -0.1458 0.3332 +vn -0.9371 -0.0974 0.3352 +vn -0.9404 -0.0488 0.3364 +vn -0.9558 -0.0488 0.2899 +vn -0.9689 -0.0488 0.2428 +vn -0.9654 -0.0974 0.2419 +vn -0.9796 -0.0488 0.1949 +vn -0.9761 -0.0974 0.1942 +vn -0.9597 -0.1458 0.2404 +vn -0.9703 -0.1458 0.1930 +vn -0.9162 0.2886 0.2779 +vn -0.9286 0.2416 0.2817 +vn -0.9137 0.2416 0.3269 +vn -0.9015 0.2886 0.3225 +vn -0.8872 0.3349 0.3174 +vn -0.9017 0.3349 0.2735 +vn -0.9140 0.3349 0.2290 +vn -0.9287 0.2886 0.2327 +vn -0.9241 0.3349 0.1838 +vn -0.9391 0.2886 0.1868 +vn -0.9413 0.2416 0.2358 +vn -0.9517 0.2416 0.1893 +vn -0.7417 0.6319 0.2250 +vn -0.7704 0.5932 0.2337 +vn -0.7580 0.5932 0.2712 +vn -0.7297 0.6319 0.2611 +vn -0.6997 0.6691 0.2503 +vn -0.7112 0.6691 0.2157 +vn -0.7209 0.6691 0.1806 +vn -0.7518 0.6319 0.1884 +vn -0.7289 0.6691 0.1450 +vn -0.7601 0.6319 0.1512 +vn -0.7809 0.5932 0.1957 +vn -0.7895 0.5933 0.1571 +vn -0.4535 0.8806 0.1376 +vn -0.4944 0.8562 0.1500 +vn -0.4864 0.8562 0.1740 +vn -0.4462 0.8806 0.1596 +vn -0.4049 0.9028 0.1449 +vn -0.4115 0.9028 0.1248 +vn -0.4171 0.9028 0.1045 +vn -0.4597 0.8806 0.1152 +vn -0.4218 0.9028 0.0839 +vn -0.4648 0.8806 0.0925 +vn -0.5011 0.8562 0.1256 +vn -0.5067 0.8562 0.1008 +vn -0.4535 -0.8806 0.1376 +vn -0.4115 -0.9028 0.1248 +vn -0.4049 -0.9028 0.1448 +vn -0.4462 -0.8806 0.1596 +vn -0.4864 -0.8562 0.1740 +vn -0.4944 -0.8562 0.1500 +vn -0.5011 -0.8562 0.1256 +vn -0.4597 -0.8806 0.1152 +vn -0.5067 -0.8562 0.1008 +vn -0.4648 -0.8806 0.0925 +vn -0.4171 -0.9028 0.1045 +vn -0.4218 -0.9028 0.0839 +vn -0.7417 -0.6319 0.2250 +vn -0.7112 -0.6691 0.2157 +vn -0.6997 -0.6691 0.2503 +vn -0.7297 -0.6319 0.2611 +vn -0.7580 -0.5932 0.2712 +vn -0.7704 -0.5932 0.2337 +vn -0.7809 -0.5932 0.1957 +vn -0.7518 -0.6319 0.1884 +vn -0.7896 -0.5932 0.1571 +vn -0.7601 -0.6319 0.1512 +vn -0.7209 -0.6691 0.1806 +vn -0.7289 -0.6691 0.1450 +vn -0.1402 -0.9900 -0.0138 +vn -0.1219 -0.9920 -0.0319 +vn -0.1020 -0.9947 -0.0101 +vn -0.1258 -0.9920 0.0075 +vn -0.0874 -0.9962 -0.0000 +vn -0.1162 -0.9932 -0.0000 +vn -0.1140 -0.9932 -0.0227 +vn -0.0857 -0.9962 -0.0171 +vn -0.0000 -1.0000 -0.0000 +vn -0.1651 -0.9862 0.0140 +vn -0.1689 -0.9855 -0.0166 +vn -0.1591 -0.9873 -0.0000 +vn -0.1592 -0.9862 -0.0460 +vn -0.1560 -0.9873 -0.0310 +vn -0.1402 0.9900 -0.0138 +vn -0.1689 0.9855 -0.0166 +vn -0.1651 0.9862 0.0141 +vn -0.1258 0.9920 0.0075 +vn -0.1591 0.9873 -0.0000 +vn -0.1162 0.9932 -0.0000 +vn -0.1020 0.9947 -0.0100 +vn -0.1219 0.9920 -0.0319 +vn -0.0857 0.9962 -0.0170 +vn -0.1140 0.9932 -0.0227 +vn -0.0874 0.9962 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.1592 0.9862 -0.0460 +vn -0.1560 0.9873 -0.0310 +vn -0.1348 -0.9900 -0.0409 +vn -0.1133 -0.9920 -0.0551 +vn -0.0981 -0.9947 -0.0298 +vn -0.1248 -0.9920 -0.0171 +vn -0.1074 -0.9932 -0.0445 +vn -0.0808 -0.9962 -0.0335 +vn -0.1647 -0.9862 -0.0184 +vn -0.1624 -0.9855 -0.0493 +vn -0.1471 -0.9862 -0.0762 +vn -0.1470 -0.9873 -0.0609 +vn -0.1348 0.9900 -0.0409 +vn -0.1624 0.9855 -0.0493 +vn -0.1647 0.9862 -0.0184 +vn -0.1248 0.9920 -0.0172 +vn -0.0981 0.9947 -0.0298 +vn -0.1133 0.9920 -0.0551 +vn -0.0808 0.9962 -0.0335 +vn -0.1074 0.9932 -0.0445 +vn -0.1471 0.9862 -0.0762 +vn -0.1470 0.9873 -0.0609 +vn -0.1242 -0.9900 -0.0664 +vn -0.1004 -0.9920 -0.0761 +vn -0.0904 -0.9947 -0.0483 +vn -0.1191 -0.9920 -0.0412 +vn -0.0966 -0.9932 -0.0646 +vn -0.0727 -0.9962 -0.0486 +vn -0.1579 -0.9862 -0.0502 +vn -0.1497 -0.9855 -0.0800 +vn -0.1295 -0.9862 -0.1034 +vn -0.1323 -0.9873 -0.0884 +vn -0.1242 0.9900 -0.0664 +vn -0.1497 0.9855 -0.0800 +vn -0.1579 0.9862 -0.0502 +vn -0.1191 0.9920 -0.0412 +vn -0.0904 0.9947 -0.0483 +vn -0.1004 0.9920 -0.0761 +vn -0.0727 0.9962 -0.0486 +vn -0.0966 0.9932 -0.0646 +vn -0.1294 0.9862 -0.1034 +vn -0.1323 0.9873 -0.0884 +vn -0.1089 -0.9900 -0.0893 +vn -0.0836 -0.9920 -0.0943 +vn -0.0792 -0.9947 -0.0650 +vn -0.1088 -0.9920 -0.0636 +vn -0.0822 -0.9932 -0.0822 +vn -0.0618 -0.9962 -0.0618 +vn -0.1451 -0.9862 -0.0800 +vn -0.1312 -0.9855 -0.1077 +vn -0.1068 -0.9862 -0.1267 +vn -0.1125 -0.9873 -0.1125 +vn -0.1089 0.9900 -0.0893 +vn -0.1312 0.9855 -0.1077 +vn -0.1451 0.9862 -0.0800 +vn -0.1088 0.9920 -0.0636 +vn -0.0793 0.9947 -0.0650 +vn -0.0836 0.9920 -0.0943 +vn -0.0618 0.9962 -0.0618 +vn -0.0822 0.9932 -0.0822 +vn -0.1068 0.9862 -0.1267 +vn -0.1125 0.9873 -0.1125 +vn -0.0894 -0.9900 -0.1089 +vn -0.0636 -0.9920 -0.1088 +vn -0.0650 -0.9947 -0.0792 +vn -0.0943 -0.9920 -0.0836 +vn -0.0646 -0.9932 -0.0966 +vn -0.0486 -0.9962 -0.0727 +vn -0.1267 -0.9862 -0.1068 +vn -0.1077 -0.9855 -0.1312 +vn -0.0800 -0.9862 -0.1451 +vn -0.0884 -0.9873 -0.1323 +vn -0.0893 0.9900 -0.1089 +vn -0.1077 0.9855 -0.1312 +vn -0.1267 0.9862 -0.1068 +vn -0.0943 0.9920 -0.0836 +vn -0.0650 0.9947 -0.0792 +vn -0.0636 0.9920 -0.1088 +vn -0.0486 0.9962 -0.0727 +vn -0.0646 0.9932 -0.0966 +vn -0.0800 0.9862 -0.1451 +vn -0.0884 0.9873 -0.1323 +vn -0.0664 -0.9900 -0.1242 +vn -0.0412 -0.9920 -0.1191 +vn -0.0483 -0.9947 -0.0904 +vn -0.0762 -0.9920 -0.1004 +vn -0.0445 -0.9932 -0.1074 +vn -0.0335 -0.9962 -0.0808 +vn -0.1034 -0.9862 -0.1295 +vn -0.0800 -0.9855 -0.1497 +vn -0.0502 -0.9862 -0.1579 +vn -0.0609 -0.9873 -0.1470 +vn -0.0664 0.9900 -0.1242 +vn -0.0800 0.9855 -0.1497 +vn -0.1034 0.9862 -0.1295 +vn -0.0761 0.9920 -0.1004 +vn -0.0483 0.9947 -0.0904 +vn -0.0412 0.9920 -0.1191 +vn -0.0335 0.9962 -0.0808 +vn -0.0445 0.9932 -0.1074 +vn -0.0502 0.9862 -0.1579 +vn -0.0609 0.9873 -0.1470 +vn -0.0409 -0.9900 -0.1348 +vn -0.0171 -0.9920 -0.1248 +vn -0.0298 -0.9947 -0.0981 +vn -0.0551 -0.9920 -0.1133 +vn -0.0227 -0.9932 -0.1140 +vn -0.0171 -0.9962 -0.0857 +vn -0.0762 -0.9862 -0.1472 +vn -0.0493 -0.9855 -0.1624 +vn -0.0184 -0.9862 -0.1647 +vn -0.0310 -0.9873 -0.1560 +vn -0.0409 0.9900 -0.1348 +vn -0.0493 0.9855 -0.1624 +vn -0.0762 0.9862 -0.1471 +vn -0.0551 0.9920 -0.1133 +vn -0.0298 0.9947 -0.0981 +vn -0.0172 0.9920 -0.1248 +vn -0.0171 0.9962 -0.0857 +vn -0.0227 0.9932 -0.1140 +vn -0.0184 0.9862 -0.1647 +vn -0.0310 0.9873 -0.1560 +vn -0.0138 -0.9900 -0.1402 +vn 0.0075 -0.9920 -0.1258 +vn -0.0100 -0.9947 -0.1020 +vn -0.0319 -0.9920 -0.1219 +vn -0.0000 -0.9932 -0.1162 +vn -0.0000 -0.9962 -0.0874 +vn -0.0460 -0.9862 -0.1592 +vn -0.0166 -0.9855 -0.1689 +vn 0.0140 -0.9862 -0.1651 +vn -0.0000 -0.9873 -0.1591 +vn -0.0138 0.9900 -0.1402 +vn -0.0166 0.9855 -0.1689 +vn -0.0460 0.9862 -0.1592 +vn -0.0319 0.9920 -0.1219 +vn -0.0100 0.9947 -0.1020 +vn 0.0075 0.9920 -0.1258 +vn -0.0000 0.9962 -0.0874 +vn -0.0000 0.9932 -0.1162 +vn 0.0141 0.9862 -0.1651 +vn -0.0000 0.9873 -0.1591 +vn 0.0138 -0.9900 -0.1402 +vn 0.0319 -0.9920 -0.1219 +vn 0.0100 -0.9947 -0.1020 +vn -0.0075 -0.9920 -0.1258 +vn 0.0227 -0.9932 -0.1140 +vn 0.0171 -0.9962 -0.0857 +vn -0.0140 -0.9862 -0.1651 +vn 0.0166 -0.9855 -0.1689 +vn 0.0460 -0.9862 -0.1592 +vn 0.0310 -0.9873 -0.1560 +vn 0.0138 0.9900 -0.1402 +vn 0.0166 0.9855 -0.1689 +vn -0.0141 0.9862 -0.1651 +vn -0.0075 0.9920 -0.1258 +vn 0.0100 0.9947 -0.1020 +vn 0.0319 0.9920 -0.1219 +vn 0.0171 0.9962 -0.0857 +vn 0.0227 0.9932 -0.1140 +vn 0.0460 0.9862 -0.1592 +vn 0.0310 0.9873 -0.1560 +vn 0.0409 -0.9900 -0.1348 +vn 0.0551 -0.9920 -0.1133 +vn 0.0298 -0.9947 -0.0981 +vn 0.0171 -0.9920 -0.1248 +vn 0.0445 -0.9932 -0.1074 +vn 0.0335 -0.9962 -0.0808 +vn 0.0184 -0.9862 -0.1647 +vn 0.0493 -0.9855 -0.1624 +vn 0.0762 -0.9862 -0.1471 +vn 0.0609 -0.9873 -0.1470 +vn 0.0409 0.9900 -0.1348 +vn 0.0493 0.9855 -0.1624 +vn 0.0184 0.9862 -0.1647 +vn 0.0172 0.9920 -0.1248 +vn 0.0298 0.9947 -0.0981 +vn 0.0551 0.9920 -0.1133 +vn 0.0334 0.9962 -0.0808 +vn 0.0445 0.9932 -0.1074 +vn 0.0762 0.9862 -0.1471 +vn 0.0609 0.9873 -0.1470 +vn 0.0664 -0.9900 -0.1242 +vn 0.0761 -0.9920 -0.1004 +vn 0.0483 -0.9947 -0.0904 +vn 0.0412 -0.9920 -0.1191 +vn 0.0646 -0.9932 -0.0966 +vn 0.0486 -0.9962 -0.0727 +vn 0.0502 -0.9862 -0.1579 +vn 0.0800 -0.9855 -0.1497 +vn 0.1034 -0.9862 -0.1295 +vn 0.0884 -0.9873 -0.1323 +vn 0.0664 0.9900 -0.1242 +vn 0.0800 0.9855 -0.1497 +vn 0.0502 0.9862 -0.1579 +vn 0.0412 0.9920 -0.1191 +vn 0.0483 0.9947 -0.0904 +vn 0.0761 0.9920 -0.1004 +vn 0.0486 0.9962 -0.0727 +vn 0.0646 0.9932 -0.0966 +vn 0.1034 0.9862 -0.1294 +vn 0.0884 0.9873 -0.1323 +vn 0.0894 -0.9900 -0.1089 +vn 0.0943 -0.9920 -0.0836 +vn 0.0650 -0.9947 -0.0793 +vn 0.0636 -0.9920 -0.1088 +vn 0.0822 -0.9932 -0.0822 +vn 0.0618 -0.9962 -0.0618 +vn 0.0800 -0.9862 -0.1451 +vn 0.1077 -0.9855 -0.1312 +vn 0.1267 -0.9862 -0.1068 +vn 0.1125 -0.9873 -0.1125 +vn 0.0893 0.9900 -0.1089 +vn 0.1077 0.9855 -0.1312 +vn 0.0800 0.9862 -0.1451 +vn 0.0636 0.9920 -0.1088 +vn 0.0650 0.9947 -0.0792 +vn 0.0943 0.9920 -0.0836 +vn 0.0618 0.9962 -0.0618 +vn 0.0822 0.9932 -0.0822 +vn 0.1267 0.9862 -0.1068 +vn 0.1125 0.9873 -0.1125 +vn 0.1089 -0.9900 -0.0893 +vn 0.1088 -0.9920 -0.0636 +vn 0.0792 -0.9947 -0.0650 +vn 0.0836 -0.9920 -0.0943 +vn 0.0966 -0.9932 -0.0646 +vn 0.0727 -0.9962 -0.0486 +vn 0.1068 -0.9862 -0.1267 +vn 0.1312 -0.9855 -0.1077 +vn 0.1451 -0.9862 -0.0800 +vn 0.1323 -0.9873 -0.0884 +vn 0.1089 0.9900 -0.0893 +vn 0.1312 0.9855 -0.1077 +vn 0.1068 0.9862 -0.1267 +vn 0.0836 0.9920 -0.0943 +vn 0.0792 0.9947 -0.0650 +vn 0.1088 0.9920 -0.0636 +vn 0.0727 0.9962 -0.0486 +vn 0.0966 0.9932 -0.0646 +vn 0.1451 0.9862 -0.0800 +vn 0.1323 0.9873 -0.0884 +vn 0.1242 -0.9900 -0.0664 +vn 0.1191 -0.9920 -0.0412 +vn 0.0904 -0.9947 -0.0483 +vn 0.1004 -0.9920 -0.0761 +vn 0.1074 -0.9932 -0.0445 +vn 0.0808 -0.9962 -0.0335 +vn 0.1295 -0.9862 -0.1034 +vn 0.1497 -0.9855 -0.0800 +vn 0.1579 -0.9862 -0.0502 +vn 0.1470 -0.9873 -0.0609 +vn 0.1242 0.9900 -0.0664 +vn 0.1497 0.9855 -0.0800 +vn 0.1294 0.9862 -0.1034 +vn 0.1004 0.9920 -0.0761 +vn 0.0904 0.9947 -0.0483 +vn 0.1191 0.9920 -0.0412 +vn 0.0808 0.9962 -0.0335 +vn 0.1074 0.9932 -0.0445 +vn 0.1579 0.9862 -0.0502 +vn 0.1470 0.9873 -0.0609 +vn 0.1348 -0.9900 -0.0409 +vn 0.1248 -0.9920 -0.0172 +vn 0.0981 -0.9947 -0.0298 +vn 0.1133 -0.9920 -0.0551 +vn 0.1140 -0.9932 -0.0227 +vn 0.0857 -0.9962 -0.0171 +vn 0.1472 -0.9862 -0.0762 +vn 0.1624 -0.9855 -0.0493 +vn 0.1647 -0.9862 -0.0184 +vn 0.1560 -0.9873 -0.0310 +vn 0.1348 0.9900 -0.0409 +vn 0.1624 0.9855 -0.0493 +vn 0.1471 0.9862 -0.0762 +vn 0.1133 0.9920 -0.0551 +vn 0.0981 0.9947 -0.0298 +vn 0.1248 0.9920 -0.0172 +vn 0.0857 0.9962 -0.0171 +vn 0.1140 0.9932 -0.0227 +vn 0.1647 0.9862 -0.0184 +vn 0.1560 0.9873 -0.0310 +vn 0.1402 -0.9900 -0.0138 +vn 0.1258 -0.9920 0.0075 +vn 0.1020 -0.9947 -0.0100 +vn 0.1219 -0.9920 -0.0319 +vn 0.1162 -0.9932 -0.0000 +vn 0.0874 -0.9962 -0.0000 +vn 0.1592 -0.9862 -0.0460 +vn 0.1689 -0.9855 -0.0166 +vn 0.1651 -0.9862 0.0140 +vn 0.1591 -0.9873 -0.0000 +vn 0.1402 0.9900 -0.0138 +vn 0.1689 0.9855 -0.0167 +vn 0.1592 0.9862 -0.0460 +vn 0.1219 0.9920 -0.0319 +vn 0.1020 0.9947 -0.0100 +vn 0.1258 0.9920 0.0075 +vn 0.0874 0.9962 -0.0000 +vn 0.1162 0.9932 -0.0000 +vn 0.1651 0.9862 0.0141 +vn 0.1591 0.9873 -0.0000 +vn 0.1402 -0.9900 0.0138 +vn 0.1219 -0.9920 0.0319 +vn 0.1020 -0.9947 0.0100 +vn 0.1258 -0.9920 -0.0075 +vn 0.1140 -0.9932 0.0227 +vn 0.0857 -0.9962 0.0171 +vn 0.1651 -0.9862 -0.0140 +vn 0.1689 -0.9855 0.0166 +vn 0.1592 -0.9862 0.0460 +vn 0.1560 -0.9873 0.0310 +vn 0.1402 0.9900 0.0138 +vn 0.1689 0.9855 0.0167 +vn 0.1651 0.9862 -0.0141 +vn 0.1258 0.9920 -0.0075 +vn 0.1020 0.9947 0.0101 +vn 0.1219 0.9920 0.0319 +vn 0.0857 0.9962 0.0171 +vn 0.1140 0.9932 0.0227 +vn 0.1592 0.9862 0.0460 +vn 0.1560 0.9873 0.0310 +vn 0.1348 -0.9900 0.0409 +vn 0.1133 -0.9920 0.0551 +vn 0.0981 -0.9947 0.0298 +vn 0.1248 -0.9920 0.0172 +vn 0.1074 -0.9932 0.0445 +vn 0.0808 -0.9962 0.0335 +vn 0.1647 -0.9862 0.0184 +vn 0.1624 -0.9855 0.0493 +vn 0.1472 -0.9862 0.0762 +vn 0.1470 -0.9873 0.0609 +vn 0.1348 0.9900 0.0409 +vn 0.1624 0.9855 0.0493 +vn 0.1647 0.9862 0.0184 +vn 0.1248 0.9920 0.0172 +vn 0.0981 0.9947 0.0298 +vn 0.1133 0.9920 0.0551 +vn 0.0808 0.9962 0.0335 +vn 0.1074 0.9932 0.0445 +vn 0.1471 0.9862 0.0762 +vn 0.1470 0.9873 0.0609 +vn 0.1242 -0.9900 0.0664 +vn 0.1004 -0.9920 0.0761 +vn 0.0904 -0.9947 0.0483 +vn 0.1191 -0.9920 0.0412 +vn 0.0966 -0.9932 0.0646 +vn 0.0727 -0.9962 0.0486 +vn 0.1579 -0.9862 0.0502 +vn 0.1497 -0.9855 0.0800 +vn 0.1295 -0.9862 0.1034 +vn 0.1323 -0.9873 0.0884 +vn 0.1242 0.9900 0.0664 +vn 0.1497 0.9855 0.0800 +vn 0.1579 0.9862 0.0502 +vn 0.1191 0.9920 0.0412 +vn 0.0904 0.9947 0.0483 +vn 0.1004 0.9920 0.0761 +vn 0.0727 0.9962 0.0486 +vn 0.0966 0.9932 0.0646 +vn 0.1294 0.9862 0.1034 +vn 0.1323 0.9873 0.0884 +vn 0.1089 -0.9900 0.0893 +vn 0.0836 -0.9920 0.0943 +vn 0.0792 -0.9947 0.0650 +vn 0.1088 -0.9920 0.0636 +vn 0.0822 -0.9932 0.0822 +vn 0.0618 -0.9962 0.0618 +vn 0.1451 -0.9862 0.0800 +vn 0.1312 -0.9855 0.1077 +vn 0.1068 -0.9862 0.1267 +vn 0.1125 -0.9873 0.1125 +vn 0.1089 0.9900 0.0893 +vn 0.1312 0.9855 0.1077 +vn 0.1451 0.9862 0.0800 +vn 0.1088 0.9920 0.0636 +vn 0.0792 0.9947 0.0650 +vn 0.0836 0.9920 0.0943 +vn 0.0618 0.9962 0.0618 +vn 0.0822 0.9932 0.0822 +vn 0.1068 0.9862 0.1267 +vn 0.1125 0.9873 0.1125 +vn 0.0894 -0.9900 0.1089 +vn 0.0636 -0.9920 0.1088 +vn 0.0650 -0.9947 0.0793 +vn 0.0943 -0.9920 0.0836 +vn 0.0646 -0.9932 0.0966 +vn 0.0486 -0.9962 0.0727 +vn 0.1267 -0.9862 0.1068 +vn 0.1077 -0.9855 0.1312 +vn 0.0800 -0.9862 0.1451 +vn 0.0884 -0.9873 0.1323 +vn 0.0893 0.9900 0.1089 +vn 0.1077 0.9855 0.1312 +vn 0.1267 0.9862 0.1068 +vn 0.0943 0.9920 0.0836 +vn 0.0650 0.9947 0.0792 +vn 0.0636 0.9920 0.1088 +vn 0.0486 0.9962 0.0727 +vn 0.0646 0.9932 0.0966 +vn 0.0800 0.9862 0.1451 +vn 0.0884 0.9873 0.1323 +vn 0.0664 -0.9900 0.1242 +vn 0.0412 -0.9920 0.1191 +vn 0.0483 -0.9947 0.0904 +vn 0.0761 -0.9920 0.1004 +vn 0.0445 -0.9932 0.1074 +vn 0.0335 -0.9962 0.0808 +vn 0.1034 -0.9862 0.1295 +vn 0.0800 -0.9855 0.1497 +vn 0.0502 -0.9862 0.1579 +vn 0.0609 -0.9873 0.1470 +vn 0.0664 0.9900 0.1242 +vn 0.0800 0.9855 0.1497 +vn 0.1034 0.9862 0.1294 +vn 0.0761 0.9920 0.1004 +vn 0.0483 0.9947 0.0904 +vn 0.0412 0.9920 0.1191 +vn 0.0334 0.9962 0.0808 +vn 0.0445 0.9932 0.1074 +vn 0.0502 0.9862 0.1579 +vn 0.0609 0.9873 0.1470 +vn 0.0409 -0.9900 0.1348 +vn 0.0171 -0.9920 0.1248 +vn 0.0298 -0.9947 0.0981 +vn 0.0551 -0.9920 0.1133 +vn 0.0227 -0.9932 0.1140 +vn 0.0171 -0.9962 0.0857 +vn 0.0762 -0.9862 0.1471 +vn 0.0493 -0.9855 0.1624 +vn 0.0184 -0.9862 0.1647 +vn 0.0310 -0.9873 0.1560 +vn 0.0409 0.9900 0.1348 +vn 0.0493 0.9855 0.1624 +vn 0.0762 0.9862 0.1471 +vn 0.0551 0.9920 0.1133 +vn 0.0298 0.9947 0.0981 +vn 0.0172 0.9920 0.1248 +vn 0.0171 0.9962 0.0857 +vn 0.0227 0.9932 0.1140 +vn 0.0184 0.9862 0.1647 +vn 0.0310 0.9873 0.1560 +vn 0.0138 -0.9900 0.1402 +vn -0.0075 -0.9920 0.1258 +vn 0.0100 -0.9947 0.1020 +vn 0.0319 -0.9920 0.1219 +vn -0.0000 -0.9932 0.1162 +vn -0.0000 -0.9962 0.0874 +vn 0.0460 -0.9862 0.1592 +vn 0.0166 -0.9855 0.1689 +vn -0.0140 -0.9862 0.1651 +vn -0.0000 -0.9873 0.1591 +vn 0.0138 0.9900 0.1402 +vn 0.0166 0.9855 0.1689 +vn 0.0460 0.9862 0.1592 +vn 0.0319 0.9920 0.1219 +vn 0.0101 0.9947 0.1020 +vn -0.0075 0.9920 0.1258 +vn -0.0000 0.9962 0.0874 +vn -0.0000 0.9932 0.1162 +vn -0.0141 0.9862 0.1651 +vn -0.0000 0.9873 0.1591 +vn -0.0138 -0.9900 0.1402 +vn -0.0319 -0.9920 0.1219 +vn -0.0100 -0.9947 0.1020 +vn 0.0075 -0.9920 0.1258 +vn -0.0227 -0.9932 0.1140 +vn -0.0171 -0.9962 0.0857 +vn 0.0140 -0.9862 0.1651 +vn -0.0166 -0.9855 0.1689 +vn -0.0460 -0.9862 0.1592 +vn -0.0310 -0.9873 0.1560 +vn -0.0138 0.9900 0.1402 +vn -0.0166 0.9855 0.1689 +vn 0.0141 0.9862 0.1651 +vn 0.0075 0.9920 0.1258 +vn -0.0101 0.9947 0.1020 +vn -0.0319 0.9920 0.1219 +vn -0.0171 0.9962 0.0857 +vn -0.0227 0.9932 0.1140 +vn -0.0460 0.9862 0.1592 +vn -0.0310 0.9873 0.1560 +vn -0.0409 -0.9900 0.1348 +vn -0.0551 -0.9920 0.1133 +vn -0.0298 -0.9947 0.0981 +vn -0.0171 -0.9920 0.1248 +vn -0.0445 -0.9932 0.1074 +vn -0.0335 -0.9962 0.0808 +vn -0.0184 -0.9862 0.1647 +vn -0.0493 -0.9855 0.1624 +vn -0.0762 -0.9862 0.1471 +vn -0.0609 -0.9873 0.1470 +vn -0.0409 0.9900 0.1348 +vn -0.0493 0.9855 0.1624 +vn -0.0184 0.9862 0.1647 +vn -0.0172 0.9920 0.1248 +vn -0.0298 0.9947 0.0981 +vn -0.0551 0.9920 0.1133 +vn -0.0335 0.9962 0.0808 +vn -0.0445 0.9932 0.1074 +vn -0.0762 0.9862 0.1471 +vn -0.0609 0.9873 0.1470 +vn -0.0664 -0.9900 0.1242 +vn -0.0761 -0.9920 0.1004 +vn -0.0483 -0.9947 0.0904 +vn -0.0412 -0.9920 0.1191 +vn -0.0646 -0.9932 0.0966 +vn -0.0486 -0.9962 0.0727 +vn -0.0502 -0.9862 0.1579 +vn -0.0800 -0.9855 0.1497 +vn -0.1034 -0.9862 0.1295 +vn -0.0884 -0.9873 0.1323 +vn -0.0664 0.9900 0.1242 +vn -0.0800 0.9855 0.1497 +vn -0.0502 0.9862 0.1579 +vn -0.0412 0.9920 0.1191 +vn -0.0483 0.9947 0.0904 +vn -0.0761 0.9920 0.1004 +vn -0.0486 0.9962 0.0727 +vn -0.0646 0.9932 0.0966 +vn -0.1034 0.9862 0.1294 +vn -0.0884 0.9873 0.1323 +vn -0.0894 -0.9900 0.1089 +vn -0.0943 -0.9920 0.0836 +vn -0.0650 -0.9947 0.0792 +vn -0.0636 -0.9920 0.1088 +vn -0.0822 -0.9932 0.0822 +vn -0.0618 -0.9962 0.0618 +vn -0.0800 -0.9862 0.1451 +vn -0.1077 -0.9855 0.1312 +vn -0.1267 -0.9862 0.1068 +vn -0.1125 -0.9873 0.1125 +vn -0.0893 0.9900 0.1089 +vn -0.1077 0.9855 0.1312 +vn -0.0800 0.9862 0.1451 +vn -0.0636 0.9920 0.1088 +vn -0.0650 0.9947 0.0793 +vn -0.0943 0.9920 0.0836 +vn -0.0618 0.9962 0.0618 +vn -0.0822 0.9932 0.0822 +vn -0.1267 0.9862 0.1068 +vn -0.1125 0.9873 0.1125 +vn -0.1089 -0.9900 0.0893 +vn -0.1088 -0.9920 0.0636 +vn -0.0792 -0.9947 0.0650 +vn -0.0836 -0.9920 0.0943 +vn -0.0966 -0.9932 0.0646 +vn -0.0727 -0.9962 0.0486 +vn -0.1068 -0.9862 0.1267 +vn -0.1312 -0.9855 0.1077 +vn -0.1451 -0.9862 0.0800 +vn -0.1323 -0.9873 0.0884 +vn -0.1089 0.9900 0.0894 +vn -0.1312 0.9855 0.1077 +vn -0.1068 0.9862 0.1267 +vn -0.0836 0.9920 0.0943 +vn -0.0792 0.9947 0.0650 +vn -0.1088 0.9920 0.0636 +vn -0.0727 0.9962 0.0486 +vn -0.0966 0.9932 0.0646 +vn -0.1451 0.9862 0.0800 +vn -0.1323 0.9873 0.0884 +vn -0.1242 -0.9900 0.0664 +vn -0.1191 -0.9920 0.0412 +vn -0.0904 -0.9947 0.0483 +vn -0.1004 -0.9920 0.0761 +vn -0.1074 -0.9932 0.0445 +vn -0.0808 -0.9962 0.0335 +vn -0.1295 -0.9862 0.1034 +vn -0.1497 -0.9855 0.0800 +vn -0.1579 -0.9862 0.0502 +vn -0.1470 -0.9873 0.0609 +vn -0.1242 0.9900 0.0664 +vn -0.1497 0.9855 0.0800 +vn -0.1294 0.9862 0.1034 +vn -0.1004 0.9920 0.0761 +vn -0.0904 0.9947 0.0483 +vn -0.1191 0.9920 0.0412 +vn -0.0808 0.9962 0.0335 +vn -0.1074 0.9932 0.0445 +vn -0.1579 0.9862 0.0502 +vn -0.1470 0.9873 0.0609 +vn -0.1348 -0.9900 0.0409 +vn -0.1248 -0.9920 0.0171 +vn -0.0981 -0.9947 0.0298 +vn -0.1133 -0.9920 0.0551 +vn -0.1140 -0.9932 0.0227 +vn -0.0857 -0.9962 0.0171 +vn -0.1472 -0.9862 0.0762 +vn -0.1624 -0.9855 0.0493 +vn -0.1647 -0.9862 0.0184 +vn -0.1560 -0.9873 0.0310 +vn -0.1348 0.9900 0.0409 +vn -0.1624 0.9855 0.0493 +vn -0.1471 0.9862 0.0762 +vn -0.1133 0.9920 0.0551 +vn -0.0981 0.9947 0.0298 +vn -0.1248 0.9920 0.0172 +vn -0.0857 0.9962 0.0170 +vn -0.1140 0.9932 0.0227 +vn -0.1647 0.9862 0.0184 +vn -0.1560 0.9873 0.0310 +vn -0.9528 -0.2886 0.0938 +vn -0.9377 -0.3349 0.0924 +vn -0.9321 -0.3349 0.1382 +vn -0.9471 -0.2886 0.1404 +vn -0.9203 -0.3806 0.0906 +vn -0.9147 -0.3806 0.1356 +vn -0.9599 -0.2416 0.1423 +vn -0.9657 -0.2416 0.0951 +vn -0.9704 -0.1939 0.1439 +vn -0.9763 -0.1939 0.0962 +vn -0.9692 -0.2416 0.0477 +vn -0.9563 -0.2886 0.0470 +vn -0.9798 -0.1939 0.0482 +vn -0.9411 -0.3349 0.0463 +vn -0.9236 -0.3806 0.0454 +vn -0.9905 0.0974 0.0976 +vn -0.9940 0.0488 0.0979 +vn -0.9880 0.0488 0.1465 +vn -0.9845 0.0974 0.1460 +vn -0.9952 -0.0000 0.0980 +vn -0.9892 -0.0000 0.1467 +vn -0.9786 0.1458 0.1451 +vn -0.9846 0.1458 0.0970 +vn -0.9704 0.1939 0.1439 +vn -0.9763 0.1939 0.0962 +vn -0.9881 0.1458 0.0486 +vn -0.9940 0.0974 0.0489 +vn -0.9798 0.1939 0.0482 +vn -0.9976 0.0488 0.0491 +vn -0.9988 -0.0000 0.0491 +vn -0.8789 0.4690 0.0866 +vn -0.9007 0.4254 0.0887 +vn -0.8952 0.4254 0.1327 +vn -0.8736 0.4690 0.1295 +vn -0.9203 0.3806 0.0906 +vn -0.9147 0.3806 0.1356 +vn -0.8499 0.5116 0.1260 +vn -0.8551 0.5116 0.0842 +vn -0.8241 0.5531 0.1222 +vn -0.8291 0.5531 0.0817 +vn -0.8582 0.5116 0.0422 +vn -0.8821 0.4690 0.0434 +vn -0.8321 0.5531 0.0409 +vn -0.9039 0.4254 0.0445 +vn -0.9236 0.3806 0.0454 +vn -0.6338 0.7709 0.0624 +vn -0.6707 0.7388 0.0661 +vn -0.6666 0.7388 0.0989 +vn -0.6300 0.7709 0.0934 +vn -0.7060 0.7048 0.0695 +vn -0.7018 0.7048 0.1041 +vn -0.5918 0.8013 0.0878 +vn -0.5954 0.8013 0.0587 +vn -0.5521 0.8297 0.0819 +vn -0.5555 0.8297 0.0547 +vn -0.5976 0.8013 0.0294 +vn -0.6361 0.7709 0.0313 +vn -0.5575 0.8297 0.0274 +vn -0.6731 0.7388 0.0331 +vn -0.7086 0.7048 0.0349 +vn -0.2970 -0.9544 0.0293 +vn -0.2551 -0.9666 0.0251 +vn -0.2511 -0.9669 0.0451 +vn -0.2943 -0.9546 0.0463 +vn -0.2114 -0.9772 0.0208 +vn -0.2050 -0.9777 0.0457 +vn -0.3369 -0.9402 0.0504 +vn -0.3391 -0.9402 0.0334 +vn -0.3808 -0.9229 0.0565 +vn -0.3831 -0.9229 0.0377 +vn -0.3402 -0.9402 0.0163 +vn -0.2977 -0.9546 0.0120 +vn -0.3845 -0.9229 0.0189 +vn -0.2551 -0.9669 0.0048 +vn -0.2100 -0.9777 -0.0048 +vn -0.2970 0.9544 0.0293 +vn -0.3391 0.9402 0.0334 +vn -0.3368 0.9402 0.0504 +vn -0.2943 0.9546 0.0463 +vn -0.3831 0.9229 0.0377 +vn -0.3808 0.9229 0.0565 +vn -0.2511 0.9669 0.0451 +vn -0.2551 0.9666 0.0251 +vn -0.2050 0.9777 0.0457 +vn -0.2114 0.9772 0.0208 +vn -0.2551 0.9669 0.0048 +vn -0.2977 0.9546 0.0120 +vn -0.2100 0.9777 -0.0048 +vn -0.3402 0.9402 0.0163 +vn -0.3845 0.9229 0.0189 +vn -0.6338 -0.7709 0.0624 +vn -0.5954 -0.8013 0.0586 +vn -0.5918 -0.8013 0.0878 +vn -0.6300 -0.7709 0.0934 +vn -0.5555 -0.8297 0.0547 +vn -0.5521 -0.8297 0.0819 +vn -0.6667 -0.7388 0.0989 +vn -0.6707 -0.7388 0.0661 +vn -0.7017 -0.7048 0.1041 +vn -0.7060 -0.7048 0.0695 +vn -0.6731 -0.7388 0.0331 +vn -0.6361 -0.7709 0.0313 +vn -0.7086 -0.7048 0.0349 +vn -0.5976 -0.8013 0.0294 +vn -0.5575 -0.8297 0.0274 +vn -0.8789 -0.4690 0.0866 +vn -0.8551 -0.5116 0.0842 +vn -0.8499 -0.5116 0.1260 +vn -0.8736 -0.4690 0.1295 +vn -0.8291 -0.5531 0.0817 +vn -0.8241 -0.5531 0.1222 +vn -0.8952 -0.4254 0.1327 +vn -0.9007 -0.4254 0.0887 +vn -0.9039 -0.4254 0.0445 +vn -0.8821 -0.4690 0.0434 +vn -0.8582 -0.5116 0.0422 +vn -0.8321 -0.5531 0.0409 +vn -0.9905 -0.0974 0.0976 +vn -0.9846 -0.1458 0.0970 +vn -0.9786 -0.1458 0.1451 +vn -0.9845 -0.0974 0.1460 +vn -0.9880 -0.0488 0.1465 +vn -0.9940 -0.0488 0.0979 +vn -0.9976 -0.0488 0.0491 +vn -0.9940 -0.0974 0.0489 +vn -0.9881 -0.1458 0.0486 +vn -0.9528 0.2886 0.0938 +vn -0.9657 0.2416 0.0951 +vn -0.9599 0.2416 0.1423 +vn -0.9471 0.2886 0.1404 +vn -0.9321 0.3349 0.1382 +vn -0.9377 0.3349 0.0924 +vn -0.9411 0.3349 0.0463 +vn -0.9563 0.2886 0.0470 +vn -0.9692 0.2416 0.0477 +vn -0.7713 0.6319 0.0760 +vn -0.8011 0.5932 0.0789 +vn -0.7963 0.5933 0.1181 +vn -0.7666 0.6319 0.1137 +vn -0.7351 0.6691 0.1090 +vn -0.7396 0.6691 0.0728 +vn -0.7423 0.6691 0.0365 +vn -0.7741 0.6319 0.0381 +vn -0.8040 0.5932 0.0396 +vn -0.1402 -0.9900 0.0138 +vn -0.1258 -0.9920 -0.0075 +vn -0.1020 -0.9947 0.0101 +vn -0.1219 -0.9920 0.0319 +vn -0.1592 -0.9862 0.0460 +vn -0.1689 -0.9855 0.0166 +vn -0.1651 -0.9862 -0.0140 +vn -0.4716 0.8806 0.0464 +vn -0.5141 0.8562 0.0506 +vn -0.5110 0.8562 0.0758 +vn -0.4688 0.8806 0.0695 +vn -0.4254 0.9028 0.0631 +vn -0.4280 0.9028 0.0422 +vn -0.4295 0.9028 0.0211 +vn -0.4733 0.8806 0.0233 +vn -0.5160 0.8562 0.0254 +vn -0.4716 -0.8806 0.0465 +vn -0.4280 -0.9028 0.0422 +vn -0.4254 -0.9028 0.0631 +vn -0.4688 -0.8806 0.0695 +vn -0.5110 -0.8562 0.0758 +vn -0.5141 -0.8562 0.0506 +vn -0.5160 -0.8562 0.0254 +vn -0.4733 -0.8806 0.0233 +vn -0.4295 -0.9028 0.0211 +vn -0.1402 0.9900 0.0138 +vn -0.1689 0.9855 0.0166 +vn -0.1592 0.9862 0.0460 +vn -0.1219 0.9920 0.0319 +vn -0.1020 0.9947 0.0100 +vn -0.1258 0.9920 -0.0075 +vn -0.1651 0.9862 -0.0141 +vn -0.7713 -0.6319 0.0760 +vn -0.7396 -0.6691 0.0728 +vn -0.7351 -0.6691 0.1090 +vn -0.7667 -0.6319 0.1137 +vn -0.7963 -0.5932 0.1181 +vn -0.8011 -0.5932 0.0789 +vn -0.8040 -0.5932 0.0396 +vn -0.7741 -0.6319 0.0381 +vn -0.7423 -0.6691 0.0365 +s 1 +usemtl Sphere +f 1//1 5//2 6//3 2//4 +f 2//4 6//3 4489//5 4488//6 +f 5//2 4566//7 4567//8 6//3 +f 6//3 4567//8 7460//9 4489//5 +f 1//1 2//4 7//10 3//11 +f 3//11 7//10 4568//12 4569//13 +f 2//4 4488//6 4487//14 7//10 +f 7//10 4487//14 7459//15 4568//12 +f 1//1 3//11 8//16 4//17 +f 4//17 8//16 4529//18 4530//19 +f 3//11 4569//13 4570//20 8//16 +f 8//16 4570//20 7474//21 4529//18 +f 1//1 4//17 9//22 5//2 +f 5//2 9//22 4565//23 4566//7 +f 4//17 4530//19 4531//24 9//22 +f 9//22 4531//24 7475//25 4565//23 +f 10//26 14//27 15//28 11//29 +f 11//29 15//28 4522//30 4521//31 +f 14//27 4572//32 4573//33 15//28 +f 15//28 4573//33 7471//34 4522//30 +f 10//26 11//29 16//35 12//36 +f 12//36 16//35 4574//37 4575//38 +f 11//29 4521//31 4520//39 16//35 +f 16//35 4520//39 7470//40 4574//37 +f 10//26 12//36 17//41 13//42 +f 13//42 17//41 4562//43 4563//44 +f 12//36 4575//38 4576//45 17//41 +f 17//41 4576//45 7485//46 4562//43 +f 10//26 13//42 18//47 14//27 +f 14//27 18//47 4571//48 4572//32 +f 13//42 4563//44 4564//49 18//47 +f 18//47 4564//49 7486//50 4571//48 +f 19//51 23//52 24//53 20//54 +f 20//54 24//53 4483//55 4482//56 +f 23//52 4578//57 4579//58 24//53 +f 24//53 4579//58 7458//59 4483//55 +f 19//51 20//54 25//60 21//61 +f 21//61 25//60 4580//62 4581//63 +f 20//54 4482//56 4481//64 25//60 +f 25//60 4481//64 7457//65 4580//62 +f 19//51 21//61 26//66 22//67 +f 22//67 26//66 4523//68 4524//69 +f 21//61 4581//63 4582//70 26//66 +f 26//66 4582//70 7472//71 4523//68 +f 19//51 22//67 27//72 23//52 +f 23//52 27//72 4577//73 4578//57 +f 22//67 4524//69 4525//74 27//72 +f 27//72 4525//74 7473//75 4577//73 +f 28//76 32//77 33//78 29//79 +f 29//79 33//78 4516//80 4515//81 +f 32//77 4584//82 4585//83 33//78 +f 33//78 4585//83 7469//84 4516//80 +f 28//76 29//79 34//85 30//86 +f 30//86 34//85 4586//87 4587//88 +f 29//79 4515//81 4514//89 34//85 +f 34//85 4514//89 7468//90 4586//87 +f 28//76 30//86 35//91 31//92 +f 31//92 35//91 4556//93 4557//94 +f 30//86 4587//88 4588//95 35//91 +f 35//91 4588//95 7483//96 4556//93 +f 28//76 31//92 36//97 32//77 +f 32//77 36//97 4583//98 4584//82 +f 31//92 4557//94 4558//99 36//97 +f 36//97 4558//99 7484//100 4583//98 +f 37//101 41//102 42//103 38//104 +f 38//104 42//103 4510//105 4509//106 +f 41//102 4590//107 4591//108 42//103 +f 42//103 4591//108 7467//109 4510//105 +f 37//101 38//104 43//110 39//111 +f 39//111 43//110 4592//112 4593//113 +f 38//104 4509//106 4508//114 43//110 +f 43//110 4508//114 7466//115 4592//112 +f 37//101 39//111 44//116 40//117 +f 40//117 44//116 4550//118 4551//119 +f 39//111 4593//113 4594//120 44//116 +f 44//116 4594//120 7481//121 4550//118 +f 37//101 40//117 45//122 41//102 +f 41//102 45//122 4589//123 4590//107 +f 40//117 4551//119 4552//124 45//122 +f 45//122 4552//124 7482//125 4589//123 +f 46//126 50//127 51//128 47//129 +f 47//129 51//128 4504//130 4503//131 +f 50//127 4596//132 4597//133 51//128 +f 51//128 4597//133 7465//134 4504//130 +f 46//126 47//129 52//135 48//136 +f 48//136 52//135 4598//137 4599//138 +f 47//129 4503//131 4502//139 52//135 +f 52//135 4502//139 7464//140 4598//137 +f 46//126 48//136 53//141 49//142 +f 49//142 53//141 4544//143 4545//144 +f 48//136 4599//138 4600//145 53//141 +f 53//141 4600//145 7479//146 4544//143 +f 46//126 49//142 54//147 50//127 +f 50//127 54//147 4595//148 4596//132 +f 49//142 4545//144 4546//149 54//147 +f 54//147 4546//149 7480//150 4595//148 +f 55//151 59//152 60//153 56//154 +f 56//154 60//153 4498//155 4497//156 +f 59//152 4602//157 4603//158 60//153 +f 60//153 4603//158 7463//159 4498//155 +f 55//151 56//154 61//160 57//161 +f 57//161 61//160 4604//162 4605//163 +f 56//154 4497//156 4496//164 61//160 +f 61//160 4496//164 7462//165 4604//162 +f 55//151 57//161 62//166 58//167 +f 58//167 62//166 4538//168 4539//169 +f 57//161 4605//163 4606//170 62//166 +f 62//166 4606//170 7477//171 4538//168 +f 55//151 58//167 63//172 59//152 +f 59//152 63//172 4601//173 4602//157 +f 58//167 4539//169 4540//174 63//172 +f 63//172 4540//174 7478//175 4601//173 +f 64//176 68//177 69//178 65//179 +f 65//179 69//178 4492//180 4491//181 +f 68//177 4608//182 4609//183 69//178 +f 69//178 4609//183 7461//184 4492//180 +f 64//176 65//179 70//185 66//186 +f 66//186 70//185 4567//8 4566//7 +f 65//179 4491//181 4490//187 70//185 +f 70//185 4490//187 7460//9 4567//8 +f 64//176 66//186 71//188 67//189 +f 67//189 71//188 4532//190 4533//191 +f 66//186 4566//7 4565//23 71//188 +f 71//188 4565//23 7475//25 4532//190 +f 64//176 67//189 72//192 68//177 +f 68//177 72//192 4607//193 4608//182 +f 67//189 4533//191 4534//194 72//192 +f 72//192 4534//194 7476//195 4607//193 +f 73//196 77//197 78//198 74//199 +f 74//199 78//198 4486//200 4485//201 +f 77//197 4569//13 4568//12 78//198 +f 78//198 4568//12 7459//15 4486//200 +f 73//196 74//199 79//202 75//203 +f 75//203 79//202 4579//58 4578//57 +f 74//199 4485//201 4484//204 79//202 +f 79//202 4484//204 7458//59 4579//58 +f 73//196 75//203 80//205 76//206 +f 76//206 80//205 4526//207 4527//208 +f 75//203 4578//57 4577//73 80//205 +f 80//205 4577//73 7473//75 4526//207 +f 73//196 76//206 81//209 77//197 +f 77//197 81//209 4570//20 4569//13 +f 76//206 4527//208 4528//210 81//209 +f 81//209 4528//210 7474//21 4570//20 +f 82//211 86//212 87//213 83//214 +f 83//214 87//213 4519//215 4518//216 +f 86//212 4575//38 4574//37 87//213 +f 87//213 4574//37 7470//40 4519//215 +f 82//211 83//214 88//217 84//218 +f 84//218 88//217 4585//83 4584//82 +f 83//214 4518//216 4517//219 88//217 +f 88//217 4517//219 7469//84 4585//83 +f 82//211 84//218 89//220 85//221 +f 85//221 89//220 4559//222 4560//223 +f 84//218 4584//82 4583//98 89//220 +f 89//220 4583//98 7484//100 4559//222 +f 82//211 85//221 90//224 86//212 +f 86//212 90//224 4576//45 4575//38 +f 85//221 4560//223 4561//225 90//224 +f 90//224 4561//225 7485//46 4576//45 +f 91//226 95//227 96//228 92//229 +f 92//229 96//228 4513//230 4512//231 +f 95//227 4587//88 4586//87 96//228 +f 96//228 4586//87 7468//90 4513//230 +f 91//226 92//229 97//232 93//233 +f 93//233 97//232 4591//108 4590//107 +f 92//229 4512//231 4511//234 97//232 +f 97//232 4511//234 7467//109 4591//108 +f 91//226 93//233 98//235 94//236 +f 94//236 98//235 4553//237 4554//238 +f 93//233 4590//107 4589//123 98//235 +f 98//235 4589//123 7482//125 4553//237 +f 91//226 94//236 99//239 95//227 +f 95//227 99//239 4588//95 4587//88 +f 94//236 4554//238 4555//240 99//239 +f 99//239 4555//240 7483//96 4588//95 +f 100//241 104//242 105//243 101//244 +f 101//244 105//243 4507//245 4506//246 +f 104//242 4593//113 4592//112 105//243 +f 105//243 4592//112 7466//115 4507//245 +f 100//241 101//244 106//247 102//248 +f 102//248 106//247 4597//133 4596//132 +f 101//244 4506//246 4505//249 106//247 +f 106//247 4505//249 7465//134 4597//133 +f 100//241 102//248 107//250 103//251 +f 103//251 107//250 4547//252 4548//253 +f 102//248 4596//132 4595//148 107//250 +f 107//250 4595//148 7480//150 4547//252 +f 100//241 103//251 108//254 104//242 +f 104//242 108//254 4594//120 4593//113 +f 103//251 4548//253 4549//255 108//254 +f 108//254 4549//255 7481//121 4594//120 +f 109//256 113//257 114//258 110//259 +f 110//259 114//258 4501//260 4500//261 +f 113//257 4599//138 4598//137 114//258 +f 114//258 4598//137 7464//140 4501//260 +f 109//256 110//259 115//262 111//263 +f 111//263 115//262 4603//158 4602//157 +f 110//259 4500//261 4499//264 115//262 +f 115//262 4499//264 7463//159 4603//158 +f 109//256 111//263 116//265 112//266 +f 112//266 116//265 4541//267 4542//268 +f 111//263 4602//157 4601//173 116//265 +f 116//265 4601//173 7478//175 4541//267 +f 109//256 112//266 117//269 113//257 +f 113//257 117//269 4600//145 4599//138 +f 112//266 4542//268 4543//270 117//269 +f 117//269 4543//270 7479//146 4600//145 +f 118//271 122//272 123//273 119//274 +f 119//274 123//273 4495//275 4494//276 +f 122//272 4605//163 4604//162 123//273 +f 123//273 4604//162 7462//165 4495//275 +f 118//271 119//274 124//277 120//278 +f 120//278 124//277 4609//183 4608//182 +f 119//274 4494//276 4493//279 124//277 +f 124//277 4493//279 7461//184 4609//183 +f 118//271 120//278 125//280 121//281 +f 121//281 125//280 4535//282 4536//283 +f 120//278 4608//182 4607//193 125//280 +f 125//280 4607//193 7476//195 4535//282 +f 118//271 121//281 126//284 122//272 +f 122//272 126//284 4606//170 4605//163 +f 121//281 4536//283 4537//285 126//284 +f 126//284 4537//285 7477//171 4606//170 +f 127//286 131//287 132//288 128//289 +f 128//289 132//288 4549//255 4548//253 +f 131//287 4653//290 4654//291 132//288 +f 132//288 4654//291 7481//121 4549//255 +f 127//286 128//289 133//292 129//293 +f 129//293 133//292 4655//294 4656//295 +f 128//289 4548//253 4547//252 133//292 +f 133//292 4547//252 7480//150 4655//294 +f 127//286 129//293 134//296 130//297 +f 130//297 134//296 4634//298 4635//299 +f 129//293 4656//295 4657//300 134//296 +f 134//296 4657//300 7495//301 4634//298 +f 127//286 130//297 135//302 131//287 +f 131//287 135//302 4652//303 4653//290 +f 130//297 4635//299 4636//304 135//302 +f 135//302 4636//304 7496//305 4652//303 +f 136//306 140//307 141//308 137//309 +f 137//309 141//308 4543//270 4542//268 +f 140//307 4659//310 4660//311 141//308 +f 141//308 4660//311 7479//146 4543//270 +f 136//306 137//309 142//312 138//313 +f 138//313 142//312 4661//314 4662//315 +f 137//309 4542//268 4541//267 142//312 +f 142//312 4541//267 7478//175 4661//314 +f 136//306 138//313 143//316 139//317 +f 139//317 143//316 4628//318 4629//319 +f 138//313 4662//315 4663//320 143//316 +f 143//316 4663//320 7493//321 4628//318 +f 136//306 139//317 144//322 140//307 +f 140//307 144//322 4658//323 4659//310 +f 139//317 4629//319 4630//324 144//322 +f 144//322 4630//324 7494//325 4658//323 +f 145//326 149//327 150//328 146//329 +f 146//329 150//328 4537//285 4536//283 +f 149//327 4665//330 4666//331 150//328 +f 150//328 4666//331 7477//171 4537//285 +f 145//326 146//329 151//332 147//333 +f 147//333 151//332 4667//334 4668//335 +f 146//329 4536//283 4535//282 151//332 +f 151//332 4535//282 7476//195 4667//334 +f 145//326 147//333 152//336 148//337 +f 148//337 152//336 4622//338 4623//339 +f 147//333 4668//335 4669//340 152//336 +f 152//336 4669//340 7491//341 4622//338 +f 145//326 148//337 153//342 149//327 +f 149//327 153//342 4664//343 4665//330 +f 148//337 4623//339 4624//344 153//342 +f 153//342 4624//344 7492//345 4664//343 +f 154//346 158//347 159//348 155//349 +f 155//349 159//348 4531//24 4530//19 +f 158//347 4671//350 4672//351 159//348 +f 159//348 4672//351 7475//25 4531//24 +f 154//346 155//349 160//352 156//353 +f 156//353 160//352 4673//354 4674//355 +f 155//349 4530//19 4529//18 160//352 +f 160//352 4529//18 7474//21 4673//354 +f 154//346 156//353 161//356 157//357 +f 157//357 161//356 4616//358 4617//359 +f 156//353 4674//355 4675//360 161//356 +f 161//356 4675//360 7489//361 4616//358 +f 154//346 157//357 162//362 158//347 +f 158//347 162//362 4670//363 4671//350 +f 157//357 4617//359 4618//364 162//362 +f 162//362 4618//364 7490//365 4670//363 +f 163//366 167//367 168//368 164//369 +f 164//369 168//368 4564//49 4563//44 +f 167//367 4677//370 4678//371 168//368 +f 168//368 4678//371 7486//50 4564//49 +f 163//366 164//369 169//372 165//373 +f 165//373 169//372 4679//374 4680//375 +f 164//369 4563//44 4562//43 169//372 +f 169//372 4562//43 7485//46 4679//374 +f 163//366 165//373 170//376 166//377 +f 166//377 170//376 4649//378 4650//379 +f 165//373 4680//375 4681//380 170//376 +f 170//376 4681//380 7500//381 4649//378 +f 163//366 166//377 171//382 167//367 +f 167//367 171//382 4676//383 4677//370 +f 166//377 4650//379 4651//384 171//382 +f 171//382 4651//384 7501//385 4676//383 +f 172//386 176//387 177//388 173//389 +f 173//389 177//388 4525//74 4524//69 +f 176//387 4683//390 4684//391 177//388 +f 177//388 4684//391 7473//75 4525//74 +f 172//386 173//389 178//392 174//393 +f 174//393 178//392 4685//394 4686//395 +f 173//389 4524//69 4523//68 178//392 +f 178//392 4523//68 7472//71 4685//394 +f 172//386 174//393 179//396 175//397 +f 175//397 179//396 4610//398 4611//399 +f 174//393 4686//395 4687//400 179//396 +f 179//396 4687//400 7487//401 4610//398 +f 172//386 175//397 180//402 176//387 +f 176//387 180//402 4682//403 4683//390 +f 175//397 4611//399 4612//404 180//402 +f 180//402 4612//404 7488//405 4682//403 +f 181//406 185//407 186//408 182//409 +f 182//409 186//408 4558//99 4557//94 +f 185//407 4689//410 4690//411 186//408 +f 186//408 4690//411 7484//100 4558//99 +f 181//406 182//409 187//412 183//413 +f 183//413 187//412 4691//414 4692//415 +f 182//409 4557//94 4556//93 187//412 +f 187//412 4556//93 7483//96 4691//414 +f 181//406 183//413 188//416 184//417 +f 184//417 188//416 4643//418 4644//419 +f 183//413 4692//415 4693//420 188//416 +f 188//416 4693//420 7498//421 4643//418 +f 181//406 184//417 189//422 185//407 +f 185//407 189//422 4688//423 4689//410 +f 184//417 4644//419 4645//424 189//422 +f 189//422 4645//424 7499//425 4688//423 +f 190//426 194//427 195//428 191//429 +f 191//429 195//428 4552//124 4551//119 +f 194//427 4695//430 4696//431 195//428 +f 195//428 4696//431 7482//125 4552//124 +f 190//426 191//429 196//432 192//433 +f 192//433 196//432 4654//291 4653//290 +f 191//429 4551//119 4550//118 196//432 +f 196//432 4550//118 7481//121 4654//291 +f 190//426 192//433 197//434 193//435 +f 193//435 197//434 4637//436 4638//437 +f 192//433 4653//290 4652//303 197//434 +f 197//434 4652//303 7496//305 4637//436 +f 190//426 193//435 198//438 194//427 +f 194//427 198//438 4694//439 4695//430 +f 193//435 4638//437 4639//440 198//438 +f 198//438 4639//440 7497//441 4694//439 +f 199//442 203//443 204//444 200//445 +f 200//445 204//444 4546//149 4545//144 +f 203//443 4656//295 4655//294 204//444 +f 204//444 4655//294 7480//150 4546//149 +f 199//442 200//445 205//446 201//447 +f 201//447 205//446 4660//311 4659//310 +f 200//445 4545//144 4544//143 205//446 +f 205//446 4544//143 7479//146 4660//311 +f 199//442 201//447 206//448 202//449 +f 202//449 206//448 4631//450 4632//451 +f 201//447 4659//310 4658//323 206//448 +f 206//448 4658//323 7494//325 4631//450 +f 199//442 202//449 207//452 203//443 +f 203//443 207//452 4657//300 4656//295 +f 202//449 4632//451 4633//453 207//452 +f 207//452 4633//453 7495//301 4657//300 +f 208//454 212//455 213//456 209//457 +f 209//457 213//456 4540//174 4539//169 +f 212//455 4662//315 4661//314 213//456 +f 213//456 4661//314 7478//175 4540//174 +f 208//454 209//457 214//458 210//459 +f 210//459 214//458 4666//331 4665//330 +f 209//457 4539//169 4538//168 214//458 +f 214//458 4538//168 7477//171 4666//331 +f 208//454 210//459 215//460 211//461 +f 211//461 215//460 4625//462 4626//463 +f 210//459 4665//330 4664//343 215//460 +f 215//460 4664//343 7492//345 4625//462 +f 208//454 211//461 216//464 212//455 +f 212//455 216//464 4663//320 4662//315 +f 211//461 4626//463 4627//465 216//464 +f 216//464 4627//465 7493//321 4663//320 +f 217//466 221//467 222//468 218//469 +f 218//469 222//468 4534//194 4533//191 +f 221//467 4668//335 4667//334 222//468 +f 222//468 4667//334 7476//195 4534//194 +f 217//466 218//469 223//470 219//471 +f 219//471 223//470 4672//351 4671//350 +f 218//469 4533//191 4532//190 223//470 +f 223//470 4532//190 7475//25 4672//351 +f 217//466 219//471 224//472 220//473 +f 220//473 224//472 4619//474 4620//475 +f 219//471 4671//350 4670//363 224//472 +f 224//472 4670//363 7490//365 4619//474 +f 217//466 220//473 225//476 221//467 +f 221//467 225//476 4669//340 4668//335 +f 220//473 4620//475 4621//477 225//476 +f 225//476 4621//477 7491//341 4669//340 +f 226//478 230//479 231//480 227//481 +f 227//481 231//480 4528//210 4527//208 +f 230//479 4674//355 4673//354 231//480 +f 231//480 4673//354 7474//21 4528//210 +f 226//478 227//481 232//482 228//483 +f 228//483 232//482 4684//391 4683//390 +f 227//481 4527//208 4526//207 232//482 +f 232//482 4526//207 7473//75 4684//391 +f 226//478 228//483 233//484 229//485 +f 229//485 233//484 4613//486 4614//487 +f 228//483 4683//390 4682//403 233//484 +f 233//484 4682//403 7488//405 4613//486 +f 226//478 229//485 234//488 230//479 +f 230//479 234//488 4675//360 4674//355 +f 229//485 4614//487 4615//489 234//488 +f 234//488 4615//489 7489//361 4675//360 +f 235//490 239//491 240//492 236//493 +f 236//493 240//492 4561//225 4560//223 +f 239//491 4680//375 4679//374 240//492 +f 240//492 4679//374 7485//46 4561//225 +f 235//490 236//493 241//494 237//495 +f 237//495 241//494 4690//411 4689//410 +f 236//493 4560//223 4559//222 241//494 +f 241//494 4559//222 7484//100 4690//411 +f 235//490 237//495 242//496 238//497 +f 238//497 242//496 4646//498 4647//499 +f 237//495 4689//410 4688//423 242//496 +f 242//496 4688//423 7499//425 4646//498 +f 235//490 238//497 243//500 239//491 +f 239//491 243//500 4681//380 4680//375 +f 238//497 4647//499 4648//501 243//500 +f 243//500 4648//501 7500//381 4681//380 +f 244//502 248//503 249//504 245//505 +f 245//505 249//504 4555//240 4554//238 +f 248//503 4692//415 4691//414 249//504 +f 249//504 4691//414 7483//96 4555//240 +f 244//502 245//505 250//506 246//507 +f 246//507 250//506 4696//431 4695//430 +f 245//505 4554//238 4553//237 250//506 +f 250//506 4553//237 7482//125 4696//431 +f 244//502 246//507 251//508 247//509 +f 247//509 251//508 4640//510 4641//511 +f 246//507 4695//430 4694//439 251//508 +f 251//508 4694//439 7497//441 4640//510 +f 244//502 247//509 252//512 248//503 +f 248//503 252//512 4693//420 4692//415 +f 247//509 4641//511 4642//513 252//512 +f 252//512 4642//513 7498//421 4693//420 +f 253//514 257//515 258//516 254//517 +f 254//517 258//516 4636//304 4635//299 +f 257//515 4740//518 4741//519 258//516 +f 258//516 4741//519 7496//305 4636//304 +f 253//514 254//517 259//520 255//521 +f 255//521 259//520 4742//522 4743//523 +f 254//517 4635//299 4634//298 259//520 +f 259//520 4634//298 7495//301 4742//522 +f 253//514 255//521 260//524 256//525 +f 256//525 260//524 4721//526 4722//527 +f 255//521 4743//523 4744//528 260//524 +f 260//524 4744//528 7510//529 4721//526 +f 253//514 256//525 261//530 257//515 +f 257//515 261//530 4739//531 4740//518 +f 256//525 4722//527 4723//532 261//530 +f 261//530 4723//532 7511//533 4739//531 +f 262//534 266//535 267//536 263//537 +f 263//537 267//536 4630//324 4629//319 +f 266//535 4746//538 4747//539 267//536 +f 267//536 4747//539 7494//325 4630//324 +f 262//534 263//537 268//540 264//541 +f 264//541 268//540 4748//542 4749//543 +f 263//537 4629//319 4628//318 268//540 +f 268//540 4628//318 7493//321 4748//542 +f 262//534 264//541 269//544 265//545 +f 265//545 269//544 4715//546 4716//547 +f 264//541 4749//543 4750//548 269//544 +f 269//544 4750//548 7508//549 4715//546 +f 262//534 265//545 270//550 266//535 +f 266//535 270//550 4745//551 4746//538 +f 265//545 4716//547 4717//552 270//550 +f 270//550 4717//552 7509//553 4745//551 +f 271//554 275//555 276//556 272//557 +f 272//557 276//556 4624//344 4623//339 +f 275//555 4752//558 4753//559 276//556 +f 276//556 4753//559 7492//345 4624//344 +f 271//554 272//557 277//560 273//561 +f 273//561 277//560 4754//562 4755//563 +f 272//557 4623//339 4622//338 277//560 +f 277//560 4622//338 7491//341 4754//562 +f 271//554 273//561 278//564 274//565 +f 274//565 278//564 4709//566 4710//567 +f 273//561 4755//563 4756//568 278//564 +f 278//564 4756//568 7506//569 4709//566 +f 271//554 274//565 279//570 275//555 +f 275//555 279//570 4751//571 4752//558 +f 274//565 4710//567 4711//572 279//570 +f 279//570 4711//572 7507//573 4751//571 +f 280//574 284//575 285//576 281//577 +f 281//577 285//576 4618//364 4617//359 +f 284//575 4758//578 4759//579 285//576 +f 285//576 4759//579 7490//365 4618//364 +f 280//574 281//577 286//580 282//581 +f 282//581 286//580 4760//582 4761//583 +f 281//577 4617//359 4616//358 286//580 +f 286//580 4616//358 7489//361 4760//582 +f 280//574 282//581 287//584 283//585 +f 283//585 287//584 4703//586 4704//587 +f 282//581 4761//583 4762//588 287//584 +f 287//584 4762//588 7504//589 4703//586 +f 280//574 283//585 288//590 284//575 +f 284//575 288//590 4757//591 4758//578 +f 283//585 4704//587 4705//592 288//590 +f 288//590 4705//592 7505//593 4757//591 +f 289//594 293//595 294//596 290//597 +f 290//597 294//596 4651//384 4650//379 +f 293//595 4764//598 4765//599 294//596 +f 294//596 4765//599 7501//385 4651//384 +f 289//594 290//597 295//600 291//601 +f 291//601 295//600 4766//602 4767//603 +f 290//597 4650//379 4649//378 295//600 +f 295//600 4649//378 7500//381 4766//602 +f 289//594 291//601 296//604 292//605 +f 292//605 296//604 4736//606 4737//607 +f 291//601 4767//603 4768//608 296//604 +f 296//604 4768//608 7515//609 4736//606 +f 289//594 292//605 297//610 293//595 +f 293//595 297//610 4763//611 4764//598 +f 292//605 4737//607 4738//612 297//610 +f 297//610 4738//612 7516//613 4763//611 +f 298//614 302//615 303//616 299//617 +f 299//617 303//616 4612//404 4611//399 +f 302//615 4770//618 4771//619 303//616 +f 303//616 4771//619 7488//405 4612//404 +f 298//614 299//617 304//620 300//621 +f 300//621 304//620 4772//622 4773//623 +f 299//617 4611//399 4610//398 304//620 +f 304//620 4610//398 7487//401 4772//622 +f 298//614 300//621 305//624 301//625 +f 301//625 305//624 4697//626 4698//627 +f 300//621 4773//623 4774//628 305//624 +f 305//624 4774//628 7502//629 4697//626 +f 298//614 301//625 306//630 302//615 +f 302//615 306//630 4769//631 4770//618 +f 301//625 4698//627 4699//632 306//630 +f 306//630 4699//632 7503//633 4769//631 +f 307//634 311//635 312//636 308//637 +f 308//637 312//636 4645//424 4644//419 +f 311//635 4776//638 4777//639 312//636 +f 312//636 4777//639 7499//425 4645//424 +f 307//634 308//637 313//640 309//641 +f 309//641 313//640 4778//642 4779//643 +f 308//637 4644//419 4643//418 313//640 +f 313//640 4643//418 7498//421 4778//642 +f 307//634 309//641 314//644 310//645 +f 310//645 314//644 4730//646 4731//647 +f 309//641 4779//643 4780//648 314//644 +f 314//644 4780//648 7513//649 4730//646 +f 307//634 310//645 315//650 311//635 +f 311//635 315//650 4775//651 4776//638 +f 310//645 4731//647 4732//652 315//650 +f 315//650 4732//652 7514//653 4775//651 +f 316//654 320//655 321//656 317//657 +f 317//657 321//656 4639//440 4638//437 +f 320//655 4782//658 4783//659 321//656 +f 321//656 4783//659 7497//441 4639//440 +f 316//654 317//657 322//660 318//661 +f 318//661 322//660 4741//519 4740//518 +f 317//657 4638//437 4637//436 322//660 +f 322//660 4637//436 7496//305 4741//519 +f 316//654 318//661 323//662 319//663 +f 319//663 323//662 4724//664 4725//665 +f 318//661 4740//518 4739//531 323//662 +f 323//662 4739//531 7511//533 4724//664 +f 316//654 319//663 324//666 320//655 +f 320//655 324//666 4781//667 4782//658 +f 319//663 4725//665 4726//668 324//666 +f 324//666 4726//668 7512//669 4781//667 +f 325//670 329//671 330//672 326//673 +f 326//673 330//672 4633//453 4632//451 +f 329//671 4743//523 4742//522 330//672 +f 330//672 4742//522 7495//301 4633//453 +f 325//670 326//673 331//674 327//675 +f 327//675 331//674 4747//539 4746//538 +f 326//673 4632//451 4631//450 331//674 +f 331//674 4631//450 7494//325 4747//539 +f 325//670 327//675 332//676 328//677 +f 328//677 332//676 4718//678 4719//679 +f 327//675 4746//538 4745//551 332//676 +f 332//676 4745//551 7509//553 4718//678 +f 325//670 328//677 333//680 329//671 +f 329//671 333//680 4744//528 4743//523 +f 328//677 4719//679 4720//681 333//680 +f 333//680 4720//681 7510//529 4744//528 +f 334//682 338//683 339//684 335//685 +f 335//685 339//684 4627//465 4626//463 +f 338//683 4749//543 4748//542 339//684 +f 339//684 4748//542 7493//321 4627//465 +f 334//682 335//685 340//686 336//687 +f 336//687 340//686 4753//559 4752//558 +f 335//685 4626//463 4625//462 340//686 +f 340//686 4625//462 7492//345 4753//559 +f 334//682 336//687 341//688 337//689 +f 337//689 341//688 4712//690 4713//691 +f 336//687 4752//558 4751//571 341//688 +f 341//688 4751//571 7507//573 4712//690 +f 334//682 337//689 342//692 338//683 +f 338//683 342//692 4750//548 4749//543 +f 337//689 4713//691 4714//693 342//692 +f 342//692 4714//693 7508//549 4750//548 +f 343//694 347//695 348//696 344//697 +f 344//697 348//696 4621//477 4620//475 +f 347//695 4755//563 4754//562 348//696 +f 348//696 4754//562 7491//341 4621//477 +f 343//694 344//697 349//698 345//699 +f 345//699 349//698 4759//579 4758//578 +f 344//697 4620//475 4619//474 349//698 +f 349//698 4619//474 7490//365 4759//579 +f 343//694 345//699 350//700 346//701 +f 346//701 350//700 4706//702 4707//703 +f 345//699 4758//578 4757//591 350//700 +f 350//700 4757//591 7505//593 4706//702 +f 343//694 346//701 351//704 347//695 +f 347//695 351//704 4756//568 4755//563 +f 346//701 4707//703 4708//705 351//704 +f 351//704 4708//705 7506//569 4756//568 +f 352//706 356//707 357//708 353//709 +f 353//709 357//708 4615//489 4614//487 +f 356//707 4761//583 4760//582 357//708 +f 357//708 4760//582 7489//361 4615//489 +f 352//706 353//709 358//710 354//711 +f 354//711 358//710 4771//619 4770//618 +f 353//709 4614//487 4613//486 358//710 +f 358//710 4613//486 7488//405 4771//619 +f 352//706 354//711 359//712 355//713 +f 355//713 359//712 4700//714 4701//715 +f 354//711 4770//618 4769//631 359//712 +f 359//712 4769//631 7503//633 4700//714 +f 352//706 355//713 360//716 356//707 +f 356//707 360//716 4762//588 4761//583 +f 355//713 4701//715 4702//717 360//716 +f 360//716 4702//717 7504//589 4762//588 +f 361//718 365//719 366//720 362//721 +f 362//721 366//720 4648//501 4647//499 +f 365//719 4767//603 4766//602 366//720 +f 366//720 4766//602 7500//381 4648//501 +f 361//718 362//721 367//722 363//723 +f 363//723 367//722 4777//639 4776//638 +f 362//721 4647//499 4646//498 367//722 +f 367//722 4646//498 7499//425 4777//639 +f 361//718 363//723 368//724 364//725 +f 364//725 368//724 4733//726 4734//727 +f 363//723 4776//638 4775//651 368//724 +f 368//724 4775//651 7514//653 4733//726 +f 361//718 364//725 369//728 365//719 +f 365//719 369//728 4768//608 4767//603 +f 364//725 4734//727 4735//729 369//728 +f 369//728 4735//729 7515//609 4768//608 +f 370//730 374//731 375//732 371//733 +f 371//733 375//732 4642//513 4641//511 +f 374//731 4779//643 4778//642 375//732 +f 375//732 4778//642 7498//421 4642//513 +f 370//730 371//733 376//734 372//735 +f 372//735 376//734 4783//659 4782//658 +f 371//733 4641//511 4640//510 376//734 +f 376//734 4640//510 7497//441 4783//659 +f 370//730 372//735 377//736 373//737 +f 373//737 377//736 4727//738 4728//739 +f 372//735 4782//658 4781//667 377//736 +f 377//736 4781//667 7512//669 4727//738 +f 370//730 373//737 378//740 374//731 +f 374//731 378//740 4780//648 4779//643 +f 373//737 4728//739 4729//741 378//740 +f 378//740 4729//741 7513//649 4780//648 +f 379//742 383//743 384//744 380//745 +f 380//745 384//744 4723//532 4722//527 +f 383//743 4827//746 4828//747 384//744 +f 384//744 4828//747 7511//533 4723//532 +f 379//742 380//745 385//748 381//749 +f 381//749 385//748 4829//750 4830//751 +f 380//745 4722//527 4721//526 385//748 +f 385//748 4721//526 7510//529 4829//750 +f 379//742 381//749 386//752 382//753 +f 382//753 386//752 4808//754 4809//755 +f 381//749 4830//751 4831//756 386//752 +f 386//752 4831//756 7525//757 4808//754 +f 379//742 382//753 387//758 383//743 +f 383//743 387//758 4826//759 4827//746 +f 382//753 4809//755 4810//760 387//758 +f 387//758 4810//760 7526//761 4826//759 +f 388//762 392//763 393//764 389//765 +f 389//765 393//764 4717//552 4716//547 +f 392//763 4833//766 4834//767 393//764 +f 393//764 4834//767 7509//553 4717//552 +f 388//762 389//765 394//768 390//769 +f 390//769 394//768 4835//770 4836//771 +f 389//765 4716//547 4715//546 394//768 +f 394//768 4715//546 7508//549 4835//770 +f 388//762 390//769 395//772 391//773 +f 391//773 395//772 4802//774 4803//775 +f 390//769 4836//771 4837//776 395//772 +f 395//772 4837//776 7523//777 4802//774 +f 388//762 391//773 396//778 392//763 +f 392//763 396//778 4832//779 4833//766 +f 391//773 4803//775 4804//780 396//778 +f 396//778 4804//780 7524//781 4832//779 +f 397//782 401//783 402//784 398//785 +f 398//785 402//784 4711//572 4710//567 +f 401//783 4839//786 4840//787 402//784 +f 402//784 4840//787 7507//573 4711//572 +f 397//782 398//785 403//788 399//789 +f 399//789 403//788 4841//790 4842//791 +f 398//785 4710//567 4709//566 403//788 +f 403//788 4709//566 7506//569 4841//790 +f 397//782 399//789 404//792 400//793 +f 400//793 404//792 4796//794 4797//795 +f 399//789 4842//791 4843//796 404//792 +f 404//792 4843//796 7521//797 4796//794 +f 397//782 400//793 405//798 401//783 +f 401//783 405//798 4838//799 4839//786 +f 400//793 4797//795 4798//800 405//798 +f 405//798 4798//800 7522//801 4838//799 +f 406//802 410//803 411//804 407//805 +f 407//805 411//804 4705//592 4704//587 +f 410//803 4845//806 4846//807 411//804 +f 411//804 4846//807 7505//593 4705//592 +f 406//802 407//805 412//808 408//809 +f 408//809 412//808 4847//810 4848//811 +f 407//805 4704//587 4703//586 412//808 +f 412//808 4703//586 7504//589 4847//810 +f 406//802 408//809 413//812 409//813 +f 409//813 413//812 4790//814 4791//815 +f 408//809 4848//811 4849//816 413//812 +f 413//812 4849//816 7519//817 4790//814 +f 406//802 409//813 414//818 410//803 +f 410//803 414//818 4844//819 4845//806 +f 409//813 4791//815 4792//820 414//818 +f 414//818 4792//820 7520//821 4844//819 +f 415//822 419//823 420//824 416//825 +f 416//825 420//824 4738//612 4737//607 +f 419//823 4851//826 4852//827 420//824 +f 420//824 4852//827 7516//613 4738//612 +f 415//822 416//825 421//828 417//829 +f 417//829 421//828 4853//830 4854//831 +f 416//825 4737//607 4736//606 421//828 +f 421//828 4736//606 7515//609 4853//830 +f 415//822 417//829 422//832 418//833 +f 418//833 422//832 4823//834 4824//835 +f 417//829 4854//831 4855//836 422//832 +f 422//832 4855//836 7530//837 4823//834 +f 415//822 418//833 423//838 419//823 +f 419//823 423//838 4850//839 4851//826 +f 418//833 4824//835 4825//840 423//838 +f 423//838 4825//840 7531//841 4850//839 +f 424//842 428//843 429//844 425//845 +f 425//845 429//844 4699//632 4698//627 +f 428//843 4857//846 4858//847 429//844 +f 429//844 4858//847 7503//633 4699//632 +f 424//842 425//845 430//848 426//849 +f 426//849 430//848 4859//850 4860//851 +f 425//845 4698//627 4697//626 430//848 +f 430//848 4697//626 7502//629 4859//850 +f 424//842 426//849 431//852 427//853 +f 427//853 431//852 4784//854 4785//855 +f 426//849 4860//851 4861//856 431//852 +f 431//852 4861//856 7517//857 4784//854 +f 424//842 427//853 432//858 428//843 +f 428//843 432//858 4856//859 4857//846 +f 427//853 4785//855 4786//860 432//858 +f 432//858 4786//860 7518//861 4856//859 +f 433//862 437//863 438//864 434//865 +f 434//865 438//864 4732//652 4731//647 +f 437//863 4863//866 4864//867 438//864 +f 438//864 4864//867 7514//653 4732//652 +f 433//862 434//865 439//868 435//869 +f 435//869 439//868 4865//870 4866//871 +f 434//865 4731//647 4730//646 439//868 +f 439//868 4730//646 7513//649 4865//870 +f 433//862 435//869 440//872 436//873 +f 436//873 440//872 4817//874 4818//875 +f 435//869 4866//871 4867//876 440//872 +f 440//872 4867//876 7528//877 4817//874 +f 433//862 436//873 441//878 437//863 +f 437//863 441//878 4862//879 4863//866 +f 436//873 4818//875 4819//880 441//878 +f 441//878 4819//880 7529//881 4862//879 +f 442//882 446//883 447//884 443//885 +f 443//885 447//884 4726//668 4725//665 +f 446//883 4869//886 4870//887 447//884 +f 447//884 4870//887 7512//669 4726//668 +f 442//882 443//885 448//888 444//889 +f 444//889 448//888 4828//747 4827//746 +f 443//885 4725//665 4724//664 448//888 +f 448//888 4724//664 7511//533 4828//747 +f 442//882 444//889 449//890 445//891 +f 445//891 449//890 4811//892 4812//893 +f 444//889 4827//746 4826//759 449//890 +f 449//890 4826//759 7526//761 4811//892 +f 442//882 445//891 450//894 446//883 +f 446//883 450//894 4868//895 4869//886 +f 445//891 4812//893 4813//896 450//894 +f 450//894 4813//896 7527//897 4868//895 +f 451//898 455//899 456//900 452//901 +f 452//901 456//900 4720//681 4719//679 +f 455//899 4830//751 4829//750 456//900 +f 456//900 4829//750 7510//529 4720//681 +f 451//898 452//901 457//902 453//903 +f 453//903 457//902 4834//767 4833//766 +f 452//901 4719//679 4718//678 457//902 +f 457//902 4718//678 7509//553 4834//767 +f 451//898 453//903 458//904 454//905 +f 454//905 458//904 4805//906 4806//907 +f 453//903 4833//766 4832//779 458//904 +f 458//904 4832//779 7524//781 4805//906 +f 451//898 454//905 459//908 455//899 +f 455//899 459//908 4831//756 4830//751 +f 454//905 4806//907 4807//909 459//908 +f 459//908 4807//909 7525//757 4831//756 +f 460//910 464//911 465//912 461//913 +f 461//913 465//912 4714//693 4713//691 +f 464//911 4836//771 4835//770 465//912 +f 465//912 4835//770 7508//549 4714//693 +f 460//910 461//913 466//914 462//915 +f 462//915 466//914 4840//787 4839//786 +f 461//913 4713//691 4712//690 466//914 +f 466//914 4712//690 7507//573 4840//787 +f 460//910 462//915 467//916 463//917 +f 463//917 467//916 4799//918 4800//919 +f 462//915 4839//786 4838//799 467//916 +f 467//916 4838//799 7522//801 4799//918 +f 460//910 463//917 468//920 464//911 +f 464//911 468//920 4837//776 4836//771 +f 463//917 4800//919 4801//921 468//920 +f 468//920 4801//921 7523//777 4837//776 +f 469//922 473//923 474//924 470//925 +f 470//925 474//924 4708//705 4707//703 +f 473//923 4842//791 4841//790 474//924 +f 474//924 4841//790 7506//569 4708//705 +f 469//922 470//925 475//926 471//927 +f 471//927 475//926 4846//807 4845//806 +f 470//925 4707//703 4706//702 475//926 +f 475//926 4706//702 7505//593 4846//807 +f 469//922 471//927 476//928 472//929 +f 472//929 476//928 4793//930 4794//931 +f 471//927 4845//806 4844//819 476//928 +f 476//928 4844//819 7520//821 4793//930 +f 469//922 472//929 477//932 473//923 +f 473//923 477//932 4843//796 4842//791 +f 472//929 4794//931 4795//933 477//932 +f 477//932 4795//933 7521//797 4843//796 +f 478//934 482//935 483//936 479//937 +f 479//937 483//936 4702//717 4701//715 +f 482//935 4848//811 4847//810 483//936 +f 483//936 4847//810 7504//589 4702//717 +f 478//934 479//937 484//938 480//939 +f 480//939 484//938 4858//847 4857//846 +f 479//937 4701//715 4700//714 484//938 +f 484//938 4700//714 7503//633 4858//847 +f 478//934 480//939 485//940 481//941 +f 481//941 485//940 4787//942 4788//943 +f 480//939 4857//846 4856//859 485//940 +f 485//940 4856//859 7518//861 4787//942 +f 478//934 481//941 486//944 482//935 +f 482//935 486//944 4849//816 4848//811 +f 481//941 4788//943 4789//945 486//944 +f 486//944 4789//945 7519//817 4849//816 +f 487//946 491//947 492//948 488//949 +f 488//949 492//948 4735//729 4734//727 +f 491//947 4854//831 4853//830 492//948 +f 492//948 4853//830 7515//609 4735//729 +f 487//946 488//949 493//950 489//951 +f 489//951 493//950 4864//867 4863//866 +f 488//949 4734//727 4733//726 493//950 +f 493//950 4733//726 7514//653 4864//867 +f 487//946 489//951 494//952 490//953 +f 490//953 494//952 4820//954 4821//955 +f 489//951 4863//866 4862//879 494//952 +f 494//952 4862//879 7529//881 4820//954 +f 487//946 490//953 495//956 491//947 +f 491//947 495//956 4855//836 4854//831 +f 490//953 4821//955 4822//957 495//956 +f 495//956 4822//957 7530//837 4855//836 +f 496//958 500//959 501//960 497//961 +f 497//961 501//960 4729//741 4728//739 +f 500//959 4866//871 4865//870 501//960 +f 501//960 4865//870 7513//649 4729//741 +f 496//958 497//961 502//962 498//963 +f 498//963 502//962 4870//887 4869//886 +f 497//961 4728//739 4727//738 502//962 +f 502//962 4727//738 7512//669 4870//887 +f 496//958 498//963 503//964 499//965 +f 499//965 503//964 4814//966 4815//967 +f 498//963 4869//886 4868//895 503//964 +f 503//964 4868//895 7527//897 4814//966 +f 496//958 499//965 504//968 500//959 +f 500//959 504//968 4867//876 4866//871 +f 499//965 4815//967 4816//969 504//968 +f 504//968 4816//969 7528//877 4867//876 +f 505//970 509//971 510//972 506//973 +f 506//973 510//972 4810//760 4809//755 +f 509//971 4914//974 4915//975 510//972 +f 510//972 4915//975 7526//761 4810//760 +f 505//970 506//973 511//976 507//977 +f 507//977 511//976 4916//978 4917//979 +f 506//973 4809//755 4808//754 511//976 +f 511//976 4808//754 7525//757 4916//978 +f 505//970 507//977 512//980 508//981 +f 508//981 512//980 4895//982 4896//983 +f 507//977 4917//979 4918//984 512//980 +f 512//980 4918//984 7540//985 4895//982 +f 505//970 508//981 513//986 509//971 +f 509//971 513//986 4913//987 4914//974 +f 508//981 4896//983 4897//988 513//986 +f 513//986 4897//988 7541//989 4913//987 +f 514//990 518//991 519//992 515//993 +f 515//993 519//992 4804//780 4803//775 +f 518//991 4920//994 4921//995 519//992 +f 519//992 4921//995 7524//781 4804//780 +f 514//990 515//993 520//996 516//997 +f 516//997 520//996 4922//998 4923//999 +f 515//993 4803//775 4802//774 520//996 +f 520//996 4802//774 7523//777 4922//998 +f 514//990 516//997 521//1000 517//1001 +f 517//1001 521//1000 4889//1002 4890//1003 +f 516//997 4923//999 4924//1004 521//1000 +f 521//1000 4924//1004 7538//1005 4889//1002 +f 514//990 517//1001 522//1006 518//991 +f 518//991 522//1006 4919//1007 4920//994 +f 517//1001 4890//1003 4891//1008 522//1006 +f 522//1006 4891//1008 7539//1009 4919//1007 +f 523//1010 527//1011 528//1012 524//1013 +f 524//1013 528//1012 4798//800 4797//795 +f 527//1011 4926//1014 4927//1015 528//1012 +f 528//1012 4927//1015 7522//801 4798//800 +f 523//1010 524//1013 529//1016 525//1017 +f 525//1017 529//1016 4928//1018 4929//1019 +f 524//1013 4797//795 4796//794 529//1016 +f 529//1016 4796//794 7521//797 4928//1018 +f 523//1010 525//1017 530//1020 526//1021 +f 526//1021 530//1020 4883//1022 4884//1023 +f 525//1017 4929//1019 4930//1024 530//1020 +f 530//1020 4930//1024 7536//1025 4883//1022 +f 523//1010 526//1021 531//1026 527//1011 +f 527//1011 531//1026 4925//1027 4926//1014 +f 526//1021 4884//1023 4885//1028 531//1026 +f 531//1026 4885//1028 7537//1029 4925//1027 +f 532//1030 536//1031 537//1032 533//1033 +f 533//1033 537//1032 4792//820 4791//815 +f 536//1031 4932//1034 4933//1035 537//1032 +f 537//1032 4933//1035 7520//821 4792//820 +f 532//1030 533//1033 538//1036 534//1037 +f 534//1037 538//1036 4934//1038 4935//1039 +f 533//1033 4791//815 4790//814 538//1036 +f 538//1036 4790//814 7519//817 4934//1038 +f 532//1030 534//1037 539//1040 535//1041 +f 535//1041 539//1040 4877//1042 4878//1043 +f 534//1037 4935//1039 4936//1044 539//1040 +f 539//1040 4936//1044 7534//1045 4877//1042 +f 532//1030 535//1041 540//1046 536//1031 +f 536//1031 540//1046 4931//1047 4932//1034 +f 535//1041 4878//1043 4879//1048 540//1046 +f 540//1046 4879//1048 7535//1049 4931//1047 +f 541//1050 545//1051 546//1052 542//1053 +f 542//1053 546//1052 4825//840 4824//835 +f 545//1051 4938//1054 4939//1055 546//1052 +f 546//1052 4939//1055 7531//841 4825//840 +f 541//1050 542//1053 547//1056 543//1057 +f 543//1057 547//1056 4940//1058 4941//1059 +f 542//1053 4824//835 4823//834 547//1056 +f 547//1056 4823//834 7530//837 4940//1058 +f 541//1050 543//1057 548//1060 544//1061 +f 544//1061 548//1060 4910//1062 4911//1063 +f 543//1057 4941//1059 4942//1064 548//1060 +f 548//1060 4942//1064 7545//1065 4910//1062 +f 541//1050 544//1061 549//1066 545//1051 +f 545//1051 549//1066 4937//1067 4938//1054 +f 544//1061 4911//1063 4912//1068 549//1066 +f 549//1066 4912//1068 7546//1069 4937//1067 +f 550//1070 554//1071 555//1072 551//1073 +f 551//1073 555//1072 4786//860 4785//855 +f 554//1071 4944//1074 4945//1075 555//1072 +f 555//1072 4945//1075 7518//861 4786//860 +f 550//1070 551//1073 556//1076 552//1077 +f 552//1077 556//1076 4946//1078 4947//1079 +f 551//1073 4785//855 4784//854 556//1076 +f 556//1076 4784//854 7517//857 4946//1078 +f 550//1070 552//1077 557//1080 553//1081 +f 553//1081 557//1080 4871//1082 4872//1083 +f 552//1077 4947//1079 4948//1084 557//1080 +f 557//1080 4948//1084 7532//1085 4871//1082 +f 550//1070 553//1081 558//1086 554//1071 +f 554//1071 558//1086 4943//1087 4944//1074 +f 553//1081 4872//1083 4873//1088 558//1086 +f 558//1086 4873//1088 7533//1089 4943//1087 +f 559//1090 563//1091 564//1092 560//1093 +f 560//1093 564//1092 4819//880 4818//875 +f 563//1091 4950//1094 4951//1095 564//1092 +f 564//1092 4951//1095 7529//881 4819//880 +f 559//1090 560//1093 565//1096 561//1097 +f 561//1097 565//1096 4952//1098 4953//1099 +f 560//1093 4818//875 4817//874 565//1096 +f 565//1096 4817//874 7528//877 4952//1098 +f 559//1090 561//1097 566//1100 562//1101 +f 562//1101 566//1100 4904//1102 4905//1103 +f 561//1097 4953//1099 4954//1104 566//1100 +f 566//1100 4954//1104 7543//1105 4904//1102 +f 559//1090 562//1101 567//1106 563//1091 +f 563//1091 567//1106 4949//1107 4950//1094 +f 562//1101 4905//1103 4906//1108 567//1106 +f 567//1106 4906//1108 7544//1109 4949//1107 +f 568//1110 572//1111 573//1112 569//1113 +f 569//1113 573//1112 4813//896 4812//893 +f 572//1111 4956//1114 4957//1115 573//1112 +f 573//1112 4957//1115 7527//897 4813//896 +f 568//1110 569//1113 574//1116 570//1117 +f 570//1117 574//1116 4915//975 4914//974 +f 569//1113 4812//893 4811//892 574//1116 +f 574//1116 4811//892 7526//761 4915//975 +f 568//1110 570//1117 575//1118 571//1119 +f 571//1119 575//1118 4898//1120 4899//1121 +f 570//1117 4914//974 4913//987 575//1118 +f 575//1118 4913//987 7541//989 4898//1120 +f 568//1110 571//1119 576//1122 572//1111 +f 572//1111 576//1122 4955//1123 4956//1114 +f 571//1119 4899//1121 4900//1124 576//1122 +f 576//1122 4900//1124 7542//1125 4955//1123 +f 577//1126 581//1127 582//1128 578//1129 +f 578//1129 582//1128 4807//909 4806//907 +f 581//1127 4917//979 4916//978 582//1128 +f 582//1128 4916//978 7525//757 4807//909 +f 577//1126 578//1129 583//1130 579//1131 +f 579//1131 583//1130 4921//995 4920//994 +f 578//1129 4806//907 4805//906 583//1130 +f 583//1130 4805//906 7524//781 4921//995 +f 577//1126 579//1131 584//1132 580//1133 +f 580//1133 584//1132 4892//1134 4893//1135 +f 579//1131 4920//994 4919//1007 584//1132 +f 584//1132 4919//1007 7539//1009 4892//1134 +f 577//1126 580//1133 585//1136 581//1127 +f 581//1127 585//1136 4918//984 4917//979 +f 580//1133 4893//1135 4894//1137 585//1136 +f 585//1136 4894//1137 7540//985 4918//984 +f 586//1138 590//1139 591//1140 587//1141 +f 587//1141 591//1140 4801//921 4800//919 +f 590//1139 4923//999 4922//998 591//1140 +f 591//1140 4922//998 7523//777 4801//921 +f 586//1138 587//1141 592//1142 588//1143 +f 588//1143 592//1142 4927//1015 4926//1014 +f 587//1141 4800//919 4799//918 592//1142 +f 592//1142 4799//918 7522//801 4927//1015 +f 586//1138 588//1143 593//1144 589//1145 +f 589//1145 593//1144 4886//1146 4887//1147 +f 588//1143 4926//1014 4925//1027 593//1144 +f 593//1144 4925//1027 7537//1029 4886//1146 +f 586//1138 589//1145 594//1148 590//1139 +f 590//1139 594//1148 4924//1004 4923//999 +f 589//1145 4887//1147 4888//1149 594//1148 +f 594//1148 4888//1149 7538//1005 4924//1004 +f 595//1150 599//1151 600//1152 596//1153 +f 596//1153 600//1152 4795//933 4794//931 +f 599//1151 4929//1019 4928//1018 600//1152 +f 600//1152 4928//1018 7521//797 4795//933 +f 595//1150 596//1153 601//1154 597//1155 +f 597//1155 601//1154 4933//1035 4932//1034 +f 596//1153 4794//931 4793//930 601//1154 +f 601//1154 4793//930 7520//821 4933//1035 +f 595//1150 597//1155 602//1156 598//1157 +f 598//1157 602//1156 4880//1158 4881//1159 +f 597//1155 4932//1034 4931//1047 602//1156 +f 602//1156 4931//1047 7535//1049 4880//1158 +f 595//1150 598//1157 603//1160 599//1151 +f 599//1151 603//1160 4930//1024 4929//1019 +f 598//1157 4881//1159 4882//1161 603//1160 +f 603//1160 4882//1161 7536//1025 4930//1024 +f 604//1162 608//1163 609//1164 605//1165 +f 605//1165 609//1164 4789//945 4788//943 +f 608//1163 4935//1039 4934//1038 609//1164 +f 609//1164 4934//1038 7519//817 4789//945 +f 604//1162 605//1165 610//1166 606//1167 +f 606//1167 610//1166 4945//1075 4944//1074 +f 605//1165 4788//943 4787//942 610//1166 +f 610//1166 4787//942 7518//861 4945//1075 +f 604//1162 606//1167 611//1168 607//1169 +f 607//1169 611//1168 4874//1170 4875//1171 +f 606//1167 4944//1074 4943//1087 611//1168 +f 611//1168 4943//1087 7533//1089 4874//1170 +f 604//1162 607//1169 612//1172 608//1163 +f 608//1163 612//1172 4936//1044 4935//1039 +f 607//1169 4875//1171 4876//1173 612//1172 +f 612//1172 4876//1173 7534//1045 4936//1044 +f 613//1174 617//1175 618//1176 614//1177 +f 614//1177 618//1176 4822//957 4821//955 +f 617//1175 4941//1059 4940//1058 618//1176 +f 618//1176 4940//1058 7530//837 4822//957 +f 613//1174 614//1177 619//1178 615//1179 +f 615//1179 619//1178 4951//1095 4950//1094 +f 614//1177 4821//955 4820//954 619//1178 +f 619//1178 4820//954 7529//881 4951//1095 +f 613//1174 615//1179 620//1180 616//1181 +f 616//1181 620//1180 4907//1182 4908//1183 +f 615//1179 4950//1094 4949//1107 620//1180 +f 620//1180 4949//1107 7544//1109 4907//1182 +f 613//1174 616//1181 621//1184 617//1175 +f 617//1175 621//1184 4942//1064 4941//1059 +f 616//1181 4908//1183 4909//1185 621//1184 +f 621//1184 4909//1185 7545//1065 4942//1064 +f 622//1186 626//1187 627//1188 623//1189 +f 623//1189 627//1188 4816//969 4815//967 +f 626//1187 4953//1099 4952//1098 627//1188 +f 627//1188 4952//1098 7528//877 4816//969 +f 622//1186 623//1189 628//1190 624//1191 +f 624//1191 628//1190 4957//1115 4956//1114 +f 623//1189 4815//967 4814//966 628//1190 +f 628//1190 4814//966 7527//897 4957//1115 +f 622//1186 624//1191 629//1192 625//1193 +f 625//1193 629//1192 4901//1194 4902//1195 +f 624//1191 4956//1114 4955//1123 629//1192 +f 629//1192 4955//1123 7542//1125 4901//1194 +f 622//1186 625//1193 630//1196 626//1187 +f 626//1187 630//1196 4954//1104 4953//1099 +f 625//1193 4902//1195 4903//1197 630//1196 +f 630//1196 4903//1197 7543//1105 4954//1104 +f 631//1198 635//1199 636//1200 632//1201 +f 632//1201 636//1200 4897//988 4896//983 +f 635//1199 5001//1202 5002//1203 636//1200 +f 636//1200 5002//1203 7541//989 4897//988 +f 631//1198 632//1201 637//1204 633//1205 +f 633//1205 637//1204 5003//1206 5004//1207 +f 632//1201 4896//983 4895//982 637//1204 +f 637//1204 4895//982 7540//985 5003//1206 +f 631//1198 633//1205 638//1208 634//1209 +f 634//1209 638//1208 4982//1210 4983//1211 +f 633//1205 5004//1207 5005//1212 638//1208 +f 638//1208 5005//1212 7555//1213 4982//1210 +f 631//1198 634//1209 639//1214 635//1199 +f 635//1199 639//1214 5000//1215 5001//1202 +f 634//1209 4983//1211 4984//1216 639//1214 +f 639//1214 4984//1216 7556//1217 5000//1215 +f 640//1218 644//1219 645//1220 641//1221 +f 641//1221 645//1220 4891//1008 4890//1003 +f 644//1219 5007//1222 5008//1223 645//1220 +f 645//1220 5008//1223 7539//1009 4891//1008 +f 640//1218 641//1221 646//1224 642//1225 +f 642//1225 646//1224 5009//1226 5010//1227 +f 641//1221 4890//1003 4889//1002 646//1224 +f 646//1224 4889//1002 7538//1005 5009//1226 +f 640//1218 642//1225 647//1228 643//1229 +f 643//1229 647//1228 4976//1230 4977//1231 +f 642//1225 5010//1227 5011//1232 647//1228 +f 647//1228 5011//1232 7553//1233 4976//1230 +f 640//1218 643//1229 648//1234 644//1219 +f 644//1219 648//1234 5006//1235 5007//1222 +f 643//1229 4977//1231 4978//1236 648//1234 +f 648//1234 4978//1236 7554//1237 5006//1235 +f 649//1238 653//1239 654//1240 650//1241 +f 650//1241 654//1240 4885//1028 4884//1023 +f 653//1239 5013//1242 5014//1243 654//1240 +f 654//1240 5014//1243 7537//1029 4885//1028 +f 649//1238 650//1241 655//1244 651//1245 +f 651//1245 655//1244 5015//1246 5016//1247 +f 650//1241 4884//1023 4883//1022 655//1244 +f 655//1244 4883//1022 7536//1025 5015//1246 +f 649//1238 651//1245 656//1248 652//1249 +f 652//1249 656//1248 4970//1250 4971//1251 +f 651//1245 5016//1247 5017//1252 656//1248 +f 656//1248 5017//1252 7551//1253 4970//1250 +f 649//1238 652//1249 657//1254 653//1239 +f 653//1239 657//1254 5012//1255 5013//1242 +f 652//1249 4971//1251 4972//1256 657//1254 +f 657//1254 4972//1256 7552//1257 5012//1255 +f 658//1258 662//1259 663//1260 659//1261 +f 659//1261 663//1260 4879//1048 4878//1043 +f 662//1259 5019//1262 5020//1263 663//1260 +f 663//1260 5020//1263 7535//1049 4879//1048 +f 658//1258 659//1261 664//1264 660//1265 +f 660//1265 664//1264 5021//1266 5022//1267 +f 659//1261 4878//1043 4877//1042 664//1264 +f 664//1264 4877//1042 7534//1045 5021//1266 +f 658//1258 660//1265 665//1268 661//1269 +f 661//1269 665//1268 4964//1270 4965//1271 +f 660//1265 5022//1267 5023//1272 665//1268 +f 665//1268 5023//1272 7549//1273 4964//1270 +f 658//1258 661//1269 666//1274 662//1259 +f 662//1259 666//1274 5018//1275 5019//1262 +f 661//1269 4965//1271 4966//1276 666//1274 +f 666//1274 4966//1276 7550//1277 5018//1275 +f 667//1278 671//1279 672//1280 668//1281 +f 668//1281 672//1280 4912//1068 4911//1063 +f 671//1279 5025//1282 5026//1283 672//1280 +f 672//1280 5026//1283 7546//1069 4912//1068 +f 667//1278 668//1281 673//1284 669//1285 +f 669//1285 673//1284 5027//1286 5028//1287 +f 668//1281 4911//1063 4910//1062 673//1284 +f 673//1284 4910//1062 7545//1065 5027//1286 +f 667//1278 669//1285 674//1288 670//1289 +f 670//1289 674//1288 4997//1290 4998//1291 +f 669//1285 5028//1287 5029//1292 674//1288 +f 674//1288 5029//1292 7560//1293 4997//1290 +f 667//1278 670//1289 675//1294 671//1279 +f 671//1279 675//1294 5024//1295 5025//1282 +f 670//1289 4998//1291 4999//1296 675//1294 +f 675//1294 4999//1296 7561//1297 5024//1295 +f 676//1298 680//1299 681//1300 677//1301 +f 677//1301 681//1300 4873//1088 4872//1083 +f 680//1299 5031//1302 5032//1303 681//1300 +f 681//1300 5032//1303 7533//1089 4873//1088 +f 676//1298 677//1301 682//1304 678//1305 +f 678//1305 682//1304 5033//1306 5034//1307 +f 677//1301 4872//1083 4871//1082 682//1304 +f 682//1304 4871//1082 7532//1085 5033//1306 +f 676//1298 678//1305 683//1308 679//1309 +f 679//1309 683//1308 4958//1310 4959//1311 +f 678//1305 5034//1307 5035//1312 683//1308 +f 683//1308 5035//1312 7547//1313 4958//1310 +f 676//1298 679//1309 684//1314 680//1299 +f 680//1299 684//1314 5030//1315 5031//1302 +f 679//1309 4959//1311 4960//1316 684//1314 +f 684//1314 4960//1316 7548//1317 5030//1315 +f 685//1318 689//1319 690//1320 686//1321 +f 686//1321 690//1320 4906//1108 4905//1103 +f 689//1319 5037//1322 5038//1323 690//1320 +f 690//1320 5038//1323 7544//1109 4906//1108 +f 685//1318 686//1321 691//1324 687//1325 +f 687//1325 691//1324 5039//1326 5040//1327 +f 686//1321 4905//1103 4904//1102 691//1324 +f 691//1324 4904//1102 7543//1105 5039//1326 +f 685//1318 687//1325 692//1328 688//1329 +f 688//1329 692//1328 4991//1330 4992//1331 +f 687//1325 5040//1327 5041//1332 692//1328 +f 692//1328 5041//1332 7558//1333 4991//1330 +f 685//1318 688//1329 693//1334 689//1319 +f 689//1319 693//1334 5036//1335 5037//1322 +f 688//1329 4992//1331 4993//1336 693//1334 +f 693//1334 4993//1336 7559//1337 5036//1335 +f 694//1338 698//1339 699//1340 695//1341 +f 695//1341 699//1340 4900//1124 4899//1121 +f 698//1339 5043//1342 5044//1343 699//1340 +f 699//1340 5044//1343 7542//1125 4900//1124 +f 694//1338 695//1341 700//1344 696//1345 +f 696//1345 700//1344 5002//1203 5001//1202 +f 695//1341 4899//1121 4898//1120 700//1344 +f 700//1344 4898//1120 7541//989 5002//1203 +f 694//1338 696//1345 701//1346 697//1347 +f 697//1347 701//1346 4985//1348 4986//1349 +f 696//1345 5001//1202 5000//1215 701//1346 +f 701//1346 5000//1215 7556//1217 4985//1348 +f 694//1338 697//1347 702//1350 698//1339 +f 698//1339 702//1350 5042//1351 5043//1342 +f 697//1347 4986//1349 4987//1352 702//1350 +f 702//1350 4987//1352 7557//1353 5042//1351 +f 703//1354 707//1355 708//1356 704//1357 +f 704//1357 708//1356 4894//1137 4893//1135 +f 707//1355 5004//1207 5003//1206 708//1356 +f 708//1356 5003//1206 7540//985 4894//1137 +f 703//1354 704//1357 709//1358 705//1359 +f 705//1359 709//1358 5008//1223 5007//1222 +f 704//1357 4893//1135 4892//1134 709//1358 +f 709//1358 4892//1134 7539//1009 5008//1223 +f 703//1354 705//1359 710//1360 706//1361 +f 706//1361 710//1360 4979//1362 4980//1363 +f 705//1359 5007//1222 5006//1235 710//1360 +f 710//1360 5006//1235 7554//1237 4979//1362 +f 703//1354 706//1361 711//1364 707//1355 +f 707//1355 711//1364 5005//1212 5004//1207 +f 706//1361 4980//1363 4981//1365 711//1364 +f 711//1364 4981//1365 7555//1213 5005//1212 +f 712//1366 716//1367 717//1368 713//1369 +f 713//1369 717//1368 4888//1149 4887//1147 +f 716//1367 5010//1227 5009//1226 717//1368 +f 717//1368 5009//1226 7538//1005 4888//1149 +f 712//1366 713//1369 718//1370 714//1371 +f 714//1371 718//1370 5014//1243 5013//1242 +f 713//1369 4887//1147 4886//1146 718//1370 +f 718//1370 4886//1146 7537//1029 5014//1243 +f 712//1366 714//1371 719//1372 715//1373 +f 715//1373 719//1372 4973//1374 4974//1375 +f 714//1371 5013//1242 5012//1255 719//1372 +f 719//1372 5012//1255 7552//1257 4973//1374 +f 712//1366 715//1373 720//1376 716//1367 +f 716//1367 720//1376 5011//1232 5010//1227 +f 715//1373 4974//1375 4975//1377 720//1376 +f 720//1376 4975//1377 7553//1233 5011//1232 +f 721//1378 725//1379 726//1380 722//1381 +f 722//1381 726//1380 4882//1161 4881//1159 +f 725//1379 5016//1247 5015//1246 726//1380 +f 726//1380 5015//1246 7536//1025 4882//1161 +f 721//1378 722//1381 727//1382 723//1383 +f 723//1383 727//1382 5020//1263 5019//1262 +f 722//1381 4881//1159 4880//1158 727//1382 +f 727//1382 4880//1158 7535//1049 5020//1263 +f 721//1378 723//1383 728//1384 724//1385 +f 724//1385 728//1384 4967//1386 4968//1387 +f 723//1383 5019//1262 5018//1275 728//1384 +f 728//1384 5018//1275 7550//1277 4967//1386 +f 721//1378 724//1385 729//1388 725//1379 +f 725//1379 729//1388 5017//1252 5016//1247 +f 724//1385 4968//1387 4969//1389 729//1388 +f 729//1388 4969//1389 7551//1253 5017//1252 +f 730//1390 734//1391 735//1392 731//1393 +f 731//1393 735//1392 4876//1173 4875//1171 +f 734//1391 5022//1267 5021//1266 735//1392 +f 735//1392 5021//1266 7534//1045 4876//1173 +f 730//1390 731//1393 736//1394 732//1395 +f 732//1395 736//1394 5032//1303 5031//1302 +f 731//1393 4875//1171 4874//1170 736//1394 +f 736//1394 4874//1170 7533//1089 5032//1303 +f 730//1390 732//1395 737//1396 733//1397 +f 733//1397 737//1396 4961//1398 4962//1399 +f 732//1395 5031//1302 5030//1315 737//1396 +f 737//1396 5030//1315 7548//1317 4961//1398 +f 730//1390 733//1397 738//1400 734//1391 +f 734//1391 738//1400 5023//1272 5022//1267 +f 733//1397 4962//1399 4963//1401 738//1400 +f 738//1400 4963//1401 7549//1273 5023//1272 +f 739//1402 743//1403 744//1404 740//1405 +f 740//1405 744//1404 4909//1185 4908//1183 +f 743//1403 5028//1287 5027//1286 744//1404 +f 744//1404 5027//1286 7545//1065 4909//1185 +f 739//1402 740//1405 745//1406 741//1407 +f 741//1407 745//1406 5038//1323 5037//1322 +f 740//1405 4908//1183 4907//1182 745//1406 +f 745//1406 4907//1182 7544//1109 5038//1323 +f 739//1402 741//1407 746//1408 742//1409 +f 742//1409 746//1408 4994//1410 4995//1411 +f 741//1407 5037//1322 5036//1335 746//1408 +f 746//1408 5036//1335 7559//1337 4994//1410 +f 739//1402 742//1409 747//1412 743//1403 +f 743//1403 747//1412 5029//1292 5028//1287 +f 742//1409 4995//1411 4996//1413 747//1412 +f 747//1412 4996//1413 7560//1293 5029//1292 +f 748//1414 752//1415 753//1416 749//1417 +f 749//1417 753//1416 4903//1197 4902//1195 +f 752//1415 5040//1327 5039//1326 753//1416 +f 753//1416 5039//1326 7543//1105 4903//1197 +f 748//1414 749//1417 754//1418 750//1419 +f 750//1419 754//1418 5044//1343 5043//1342 +f 749//1417 4902//1195 4901//1194 754//1418 +f 754//1418 4901//1194 7542//1125 5044//1343 +f 748//1414 750//1419 755//1420 751//1421 +f 751//1421 755//1420 4988//1422 4989//1423 +f 750//1419 5043//1342 5042//1351 755//1420 +f 755//1420 5042//1351 7557//1353 4988//1422 +f 748//1414 751//1421 756//1424 752//1415 +f 752//1415 756//1424 5041//1332 5040//1327 +f 751//1421 4989//1423 4990//1425 756//1424 +f 756//1424 4990//1425 7558//1333 5041//1332 +f 757//1426 761//1427 762//1428 758//1429 +f 758//1429 762//1428 4984//1216 4983//1211 +f 761//1427 5088//1430 5089//1431 762//1428 +f 762//1428 5089//1431 7556//1217 4984//1216 +f 757//1426 758//1429 763//1432 759//1433 +f 759//1433 763//1432 5090//1434 5091//1435 +f 758//1429 4983//1211 4982//1210 763//1432 +f 763//1432 4982//1210 7555//1213 5090//1434 +f 757//1426 759//1433 764//1436 760//1437 +f 760//1437 764//1436 5069//1438 5070//1439 +f 759//1433 5091//1435 5092//1440 764//1436 +f 764//1436 5092//1440 7570//1441 5069//1438 +f 757//1426 760//1437 765//1442 761//1427 +f 761//1427 765//1442 5087//1443 5088//1430 +f 760//1437 5070//1439 5071//1444 765//1442 +f 765//1442 5071//1444 7571//1445 5087//1443 +f 766//1446 770//1447 771//1448 767//1449 +f 767//1449 771//1448 4978//1236 4977//1231 +f 770//1447 5094//1450 5095//1451 771//1448 +f 771//1448 5095//1451 7554//1237 4978//1236 +f 766//1446 767//1449 772//1452 768//1453 +f 768//1453 772//1452 5096//1454 5097//1455 +f 767//1449 4977//1231 4976//1230 772//1452 +f 772//1452 4976//1230 7553//1233 5096//1454 +f 766//1446 768//1453 773//1456 769//1457 +f 769//1457 773//1456 5063//1458 5064//1459 +f 768//1453 5097//1455 5098//1460 773//1456 +f 773//1456 5098//1460 7568//1461 5063//1458 +f 766//1446 769//1457 774//1462 770//1447 +f 770//1447 774//1462 5093//1463 5094//1450 +f 769//1457 5064//1459 5065//1464 774//1462 +f 774//1462 5065//1464 7569//1465 5093//1463 +f 775//1466 779//1467 780//1468 776//1469 +f 776//1469 780//1468 4972//1256 4971//1251 +f 779//1467 5100//1470 5101//1471 780//1468 +f 780//1468 5101//1471 7552//1257 4972//1256 +f 775//1466 776//1469 781//1472 777//1473 +f 777//1473 781//1472 5102//1474 5103//1475 +f 776//1469 4971//1251 4970//1250 781//1472 +f 781//1472 4970//1250 7551//1253 5102//1474 +f 775//1466 777//1473 782//1476 778//1477 +f 778//1477 782//1476 5057//1478 5058//1479 +f 777//1473 5103//1475 5104//1480 782//1476 +f 782//1476 5104//1480 7566//1481 5057//1478 +f 775//1466 778//1477 783//1482 779//1467 +f 779//1467 783//1482 5099//1483 5100//1470 +f 778//1477 5058//1479 5059//1484 783//1482 +f 783//1482 5059//1484 7567//1485 5099//1483 +f 784//1486 788//1487 789//1488 785//1489 +f 785//1489 789//1488 4966//1276 4965//1271 +f 788//1487 5106//1490 5107//1491 789//1488 +f 789//1488 5107//1491 7550//1277 4966//1276 +f 784//1486 785//1489 790//1492 786//1493 +f 786//1493 790//1492 5108//1494 5109//1495 +f 785//1489 4965//1271 4964//1270 790//1492 +f 790//1492 4964//1270 7549//1273 5108//1494 +f 784//1486 786//1493 791//1496 787//1497 +f 787//1497 791//1496 5051//1498 5052//1499 +f 786//1493 5109//1495 5110//1500 791//1496 +f 791//1496 5110//1500 7564//1501 5051//1498 +f 784//1486 787//1497 792//1502 788//1487 +f 788//1487 792//1502 5105//1503 5106//1490 +f 787//1497 5052//1499 5053//1504 792//1502 +f 792//1502 5053//1504 7565//1505 5105//1503 +f 793//1506 797//1507 798//1508 794//1509 +f 794//1509 798//1508 4999//1296 4998//1291 +f 797//1507 5112//1510 5113//1511 798//1508 +f 798//1508 5113//1511 7561//1297 4999//1296 +f 793//1506 794//1509 799//1512 795//1513 +f 795//1513 799//1512 5114//1514 5115//1515 +f 794//1509 4998//1291 4997//1290 799//1512 +f 799//1512 4997//1290 7560//1293 5114//1514 +f 793//1506 795//1513 800//1516 796//1517 +f 796//1517 800//1516 5084//1518 5085//1519 +f 795//1513 5115//1515 5116//1520 800//1516 +f 800//1516 5116//1520 7575//1521 5084//1518 +f 793//1506 796//1517 801//1522 797//1507 +f 797//1507 801//1522 5111//1523 5112//1510 +f 796//1517 5085//1519 5086//1524 801//1522 +f 801//1522 5086//1524 7576//1525 5111//1523 +f 802//1526 806//1527 807//1528 803//1529 +f 803//1529 807//1528 4960//1316 4959//1311 +f 806//1527 5118//1530 5119//1531 807//1528 +f 807//1528 5119//1531 7548//1317 4960//1316 +f 802//1526 803//1529 808//1532 804//1533 +f 804//1533 808//1532 5120//1534 5121//1535 +f 803//1529 4959//1311 4958//1310 808//1532 +f 808//1532 4958//1310 7547//1313 5120//1534 +f 802//1526 804//1533 809//1536 805//1537 +f 805//1537 809//1536 5045//1538 5046//1539 +f 804//1533 5121//1535 5122//1540 809//1536 +f 809//1536 5122//1540 7562//1541 5045//1538 +f 802//1526 805//1537 810//1542 806//1527 +f 806//1527 810//1542 5117//1543 5118//1530 +f 805//1537 5046//1539 5047//1544 810//1542 +f 810//1542 5047//1544 7563//1545 5117//1543 +f 811//1546 815//1547 816//1548 812//1549 +f 812//1549 816//1548 4993//1336 4992//1331 +f 815//1547 5124//1550 5125//1551 816//1548 +f 816//1548 5125//1551 7559//1337 4993//1336 +f 811//1546 812//1549 817//1552 813//1553 +f 813//1553 817//1552 5126//1554 5127//1555 +f 812//1549 4992//1331 4991//1330 817//1552 +f 817//1552 4991//1330 7558//1333 5126//1554 +f 811//1546 813//1553 818//1556 814//1557 +f 814//1557 818//1556 5078//1558 5079//1559 +f 813//1553 5127//1555 5128//1560 818//1556 +f 818//1556 5128//1560 7573//1561 5078//1558 +f 811//1546 814//1557 819//1562 815//1547 +f 815//1547 819//1562 5123//1563 5124//1550 +f 814//1557 5079//1559 5080//1564 819//1562 +f 819//1562 5080//1564 7574//1565 5123//1563 +f 820//1566 824//1567 825//1568 821//1569 +f 821//1569 825//1568 4987//1352 4986//1349 +f 824//1567 5130//1570 5131//1571 825//1568 +f 825//1568 5131//1571 7557//1353 4987//1352 +f 820//1566 821//1569 826//1572 822//1573 +f 822//1573 826//1572 5089//1431 5088//1430 +f 821//1569 4986//1349 4985//1348 826//1572 +f 826//1572 4985//1348 7556//1217 5089//1431 +f 820//1566 822//1573 827//1574 823//1575 +f 823//1575 827//1574 5072//1576 5073//1577 +f 822//1573 5088//1430 5087//1443 827//1574 +f 827//1574 5087//1443 7571//1445 5072//1576 +f 820//1566 823//1575 828//1578 824//1567 +f 824//1567 828//1578 5129//1579 5130//1570 +f 823//1575 5073//1577 5074//1580 828//1578 +f 828//1578 5074//1580 7572//1581 5129//1579 +f 829//1582 833//1583 834//1584 830//1585 +f 830//1585 834//1584 4981//1365 4980//1363 +f 833//1583 5091//1435 5090//1434 834//1584 +f 834//1584 5090//1434 7555//1213 4981//1365 +f 829//1582 830//1585 835//1586 831//1587 +f 831//1587 835//1586 5095//1451 5094//1450 +f 830//1585 4980//1363 4979//1362 835//1586 +f 835//1586 4979//1362 7554//1237 5095//1451 +f 829//1582 831//1587 836//1588 832//1589 +f 832//1589 836//1588 5066//1590 5067//1591 +f 831//1587 5094//1450 5093//1463 836//1588 +f 836//1588 5093//1463 7569//1465 5066//1590 +f 829//1582 832//1589 837//1592 833//1583 +f 833//1583 837//1592 5092//1440 5091//1435 +f 832//1589 5067//1591 5068//1593 837//1592 +f 837//1592 5068//1593 7570//1441 5092//1440 +f 838//1594 842//1595 843//1596 839//1597 +f 839//1597 843//1596 4975//1377 4974//1375 +f 842//1595 5097//1455 5096//1454 843//1596 +f 843//1596 5096//1454 7553//1233 4975//1377 +f 838//1594 839//1597 844//1598 840//1599 +f 840//1599 844//1598 5101//1471 5100//1470 +f 839//1597 4974//1375 4973//1374 844//1598 +f 844//1598 4973//1374 7552//1257 5101//1471 +f 838//1594 840//1599 845//1600 841//1601 +f 841//1601 845//1600 5060//1602 5061//1603 +f 840//1599 5100//1470 5099//1483 845//1600 +f 845//1600 5099//1483 7567//1485 5060//1602 +f 838//1594 841//1601 846//1604 842//1595 +f 842//1595 846//1604 5098//1460 5097//1455 +f 841//1601 5061//1603 5062//1605 846//1604 +f 846//1604 5062//1605 7568//1461 5098//1460 +f 847//1606 851//1607 852//1608 848//1609 +f 848//1609 852//1608 4969//1389 4968//1387 +f 851//1607 5103//1475 5102//1474 852//1608 +f 852//1608 5102//1474 7551//1253 4969//1389 +f 847//1606 848//1609 853//1610 849//1611 +f 849//1611 853//1610 5107//1491 5106//1490 +f 848//1609 4968//1387 4967//1386 853//1610 +f 853//1610 4967//1386 7550//1277 5107//1491 +f 847//1606 849//1611 854//1612 850//1613 +f 850//1613 854//1612 5054//1614 5055//1615 +f 849//1611 5106//1490 5105//1503 854//1612 +f 854//1612 5105//1503 7565//1505 5054//1614 +f 847//1606 850//1613 855//1616 851//1607 +f 851//1607 855//1616 5104//1480 5103//1475 +f 850//1613 5055//1615 5056//1617 855//1616 +f 855//1616 5056//1617 7566//1481 5104//1480 +f 856//1618 860//1619 861//1620 857//1621 +f 857//1621 861//1620 4963//1401 4962//1399 +f 860//1619 5109//1495 5108//1494 861//1620 +f 861//1620 5108//1494 7549//1273 4963//1401 +f 856//1618 857//1621 862//1622 858//1623 +f 858//1623 862//1622 5119//1531 5118//1530 +f 857//1621 4962//1399 4961//1398 862//1622 +f 862//1622 4961//1398 7548//1317 5119//1531 +f 856//1618 858//1623 863//1624 859//1625 +f 859//1625 863//1624 5048//1626 5049//1627 +f 858//1623 5118//1530 5117//1543 863//1624 +f 863//1624 5117//1543 7563//1545 5048//1626 +f 856//1618 859//1625 864//1628 860//1619 +f 860//1619 864//1628 5110//1500 5109//1495 +f 859//1625 5049//1627 5050//1629 864//1628 +f 864//1628 5050//1629 7564//1501 5110//1500 +f 865//1630 869//1631 870//1632 866//1633 +f 866//1633 870//1632 4996//1413 4995//1411 +f 869//1631 5115//1515 5114//1514 870//1632 +f 870//1632 5114//1514 7560//1293 4996//1413 +f 865//1630 866//1633 871//1634 867//1635 +f 867//1635 871//1634 5125//1551 5124//1550 +f 866//1633 4995//1411 4994//1410 871//1634 +f 871//1634 4994//1410 7559//1337 5125//1551 +f 865//1630 867//1635 872//1636 868//1637 +f 868//1637 872//1636 5081//1638 5082//1639 +f 867//1635 5124//1550 5123//1563 872//1636 +f 872//1636 5123//1563 7574//1565 5081//1638 +f 865//1630 868//1637 873//1640 869//1631 +f 869//1631 873//1640 5116//1520 5115//1515 +f 868//1637 5082//1639 5083//1641 873//1640 +f 873//1640 5083//1641 7575//1521 5116//1520 +f 874//1642 878//1643 879//1644 875//1645 +f 875//1645 879//1644 4990//1425 4989//1423 +f 878//1643 5127//1555 5126//1554 879//1644 +f 879//1644 5126//1554 7558//1333 4990//1425 +f 874//1642 875//1645 880//1646 876//1647 +f 876//1647 880//1646 5131//1571 5130//1570 +f 875//1645 4989//1423 4988//1422 880//1646 +f 880//1646 4988//1422 7557//1353 5131//1571 +f 874//1642 876//1647 881//1648 877//1649 +f 877//1649 881//1648 5075//1650 5076//1651 +f 876//1647 5130//1570 5129//1579 881//1648 +f 881//1648 5129//1579 7572//1581 5075//1650 +f 874//1642 877//1649 882//1652 878//1643 +f 878//1643 882//1652 5128//1560 5127//1555 +f 877//1649 5076//1651 5077//1653 882//1652 +f 882//1652 5077//1653 7573//1561 5128//1560 +f 883//1654 887//1655 888//1656 884//1657 +f 884//1657 888//1656 5071//1444 5070//1439 +f 887//1655 5175//1658 5176//1659 888//1656 +f 888//1656 5176//1659 7571//1445 5071//1444 +f 883//1654 884//1657 889//1660 885//1661 +f 885//1661 889//1660 5177//1662 5178//1663 +f 884//1657 5070//1439 5069//1438 889//1660 +f 889//1660 5069//1438 7570//1441 5177//1662 +f 883//1654 885//1661 890//1664 886//1665 +f 886//1665 890//1664 5156//1666 5157//1667 +f 885//1661 5178//1663 5179//1668 890//1664 +f 890//1664 5179//1668 7585//1669 5156//1666 +f 883//1654 886//1665 891//1670 887//1655 +f 887//1655 891//1670 5174//1671 5175//1658 +f 886//1665 5157//1667 5158//1672 891//1670 +f 891//1670 5158//1672 7586//1673 5174//1671 +f 892//1674 896//1675 897//1676 893//1677 +f 893//1677 897//1676 5065//1464 5064//1459 +f 896//1675 5181//1678 5182//1679 897//1676 +f 897//1676 5182//1679 7569//1465 5065//1464 +f 892//1674 893//1677 898//1680 894//1681 +f 894//1681 898//1680 5183//1682 5184//1683 +f 893//1677 5064//1459 5063//1458 898//1680 +f 898//1680 5063//1458 7568//1461 5183//1682 +f 892//1674 894//1681 899//1684 895//1685 +f 895//1685 899//1684 5150//1686 5151//1687 +f 894//1681 5184//1683 5185//1688 899//1684 +f 899//1684 5185//1688 7583//1689 5150//1686 +f 892//1674 895//1685 900//1690 896//1675 +f 896//1675 900//1690 5180//1691 5181//1678 +f 895//1685 5151//1687 5152//1692 900//1690 +f 900//1690 5152//1692 7584//1693 5180//1691 +f 901//1694 905//1695 906//1696 902//1697 +f 902//1697 906//1696 5059//1484 5058//1479 +f 905//1695 5187//1698 5188//1699 906//1696 +f 906//1696 5188//1699 7567//1485 5059//1484 +f 901//1694 902//1697 907//1700 903//1701 +f 903//1701 907//1700 5189//1702 5190//1703 +f 902//1697 5058//1479 5057//1478 907//1700 +f 907//1700 5057//1478 7566//1481 5189//1702 +f 901//1694 903//1701 908//1704 904//1705 +f 904//1705 908//1704 5144//1706 5145//1707 +f 903//1701 5190//1703 5191//1708 908//1704 +f 908//1704 5191//1708 7581//1709 5144//1706 +f 901//1694 904//1705 909//1710 905//1695 +f 905//1695 909//1710 5186//1711 5187//1698 +f 904//1705 5145//1707 5146//1712 909//1710 +f 909//1710 5146//1712 7582//1713 5186//1711 +f 910//1714 914//1715 915//1716 911//1717 +f 911//1717 915//1716 5053//1504 5052//1499 +f 914//1715 5193//1718 5194//1719 915//1716 +f 915//1716 5194//1719 7565//1505 5053//1504 +f 910//1714 911//1717 916//1720 912//1721 +f 912//1721 916//1720 5195//1722 5196//1723 +f 911//1717 5052//1499 5051//1498 916//1720 +f 916//1720 5051//1498 7564//1501 5195//1722 +f 910//1714 912//1721 917//1724 913//1725 +f 913//1725 917//1724 5138//1726 5139//1727 +f 912//1721 5196//1723 5197//1728 917//1724 +f 917//1724 5197//1728 7579//1729 5138//1726 +f 910//1714 913//1725 918//1730 914//1715 +f 914//1715 918//1730 5192//1731 5193//1718 +f 913//1725 5139//1727 5140//1732 918//1730 +f 918//1730 5140//1732 7580//1733 5192//1731 +f 919//1734 923//1735 924//1736 920//1737 +f 920//1737 924//1736 5086//1524 5085//1519 +f 923//1735 5199//1738 5200//1739 924//1736 +f 924//1736 5200//1739 7576//1525 5086//1524 +f 919//1734 920//1737 925//1740 921//1741 +f 921//1741 925//1740 5201//1742 5202//1743 +f 920//1737 5085//1519 5084//1518 925//1740 +f 925//1740 5084//1518 7575//1521 5201//1742 +f 919//1734 921//1741 926//1744 922//1745 +f 922//1745 926//1744 5171//1746 5172//1747 +f 921//1741 5202//1743 5203//1748 926//1744 +f 926//1744 5203//1748 7590//1749 5171//1746 +f 919//1734 922//1745 927//1750 923//1735 +f 923//1735 927//1750 5198//1751 5199//1738 +f 922//1745 5172//1747 5173//1752 927//1750 +f 927//1750 5173//1752 7591//1753 5198//1751 +f 928//1754 932//1755 933//1756 929//1757 +f 929//1757 933//1756 5047//1544 5046//1539 +f 932//1755 5205//1758 5206//1759 933//1756 +f 933//1756 5206//1759 7563//1545 5047//1544 +f 928//1754 929//1757 934//1760 930//1761 +f 930//1761 934//1760 5207//1762 5208//1763 +f 929//1757 5046//1539 5045//1538 934//1760 +f 934//1760 5045//1538 7562//1541 5207//1762 +f 928//1754 930//1761 935//1764 931//1765 +f 931//1765 935//1764 5132//1766 5133//1767 +f 930//1761 5208//1763 5209//1768 935//1764 +f 935//1764 5209//1768 7577//1769 5132//1766 +f 928//1754 931//1765 936//1770 932//1755 +f 932//1755 936//1770 5204//1771 5205//1758 +f 931//1765 5133//1767 5134//1772 936//1770 +f 936//1770 5134//1772 7578//1773 5204//1771 +f 937//1774 941//1775 942//1776 938//1777 +f 938//1777 942//1776 5080//1564 5079//1559 +f 941//1775 5211//1778 5212//1779 942//1776 +f 942//1776 5212//1779 7574//1565 5080//1564 +f 937//1774 938//1777 943//1780 939//1781 +f 939//1781 943//1780 5213//1782 5214//1783 +f 938//1777 5079//1559 5078//1558 943//1780 +f 943//1780 5078//1558 7573//1561 5213//1782 +f 937//1774 939//1781 944//1784 940//1785 +f 940//1785 944//1784 5165//1786 5166//1787 +f 939//1781 5214//1783 5215//1788 944//1784 +f 944//1784 5215//1788 7588//1789 5165//1786 +f 937//1774 940//1785 945//1790 941//1775 +f 941//1775 945//1790 5210//1791 5211//1778 +f 940//1785 5166//1787 5167//1792 945//1790 +f 945//1790 5167//1792 7589//1793 5210//1791 +f 946//1794 950//1795 951//1796 947//1797 +f 947//1797 951//1796 5074//1580 5073//1577 +f 950//1795 5217//1798 5218//1799 951//1796 +f 951//1796 5218//1799 7572//1581 5074//1580 +f 946//1794 947//1797 952//1800 948//1801 +f 948//1801 952//1800 5176//1659 5175//1658 +f 947//1797 5073//1577 5072//1576 952//1800 +f 952//1800 5072//1576 7571//1445 5176//1659 +f 946//1794 948//1801 953//1802 949//1803 +f 949//1803 953//1802 5159//1804 5160//1805 +f 948//1801 5175//1658 5174//1671 953//1802 +f 953//1802 5174//1671 7586//1673 5159//1804 +f 946//1794 949//1803 954//1806 950//1795 +f 950//1795 954//1806 5216//1807 5217//1798 +f 949//1803 5160//1805 5161//1808 954//1806 +f 954//1806 5161//1808 7587//1809 5216//1807 +f 955//1810 959//1811 960//1812 956//1813 +f 956//1813 960//1812 5068//1593 5067//1591 +f 959//1811 5178//1663 5177//1662 960//1812 +f 960//1812 5177//1662 7570//1441 5068//1593 +f 955//1810 956//1813 961//1814 957//1815 +f 957//1815 961//1814 5182//1679 5181//1678 +f 956//1813 5067//1591 5066//1590 961//1814 +f 961//1814 5066//1590 7569//1465 5182//1679 +f 955//1810 957//1815 962//1816 958//1817 +f 958//1817 962//1816 5153//1818 5154//1819 +f 957//1815 5181//1678 5180//1691 962//1816 +f 962//1816 5180//1691 7584//1693 5153//1818 +f 955//1810 958//1817 963//1820 959//1811 +f 959//1811 963//1820 5179//1668 5178//1663 +f 958//1817 5154//1819 5155//1821 963//1820 +f 963//1820 5155//1821 7585//1669 5179//1668 +f 964//1822 968//1823 969//1824 965//1825 +f 965//1825 969//1824 5062//1605 5061//1603 +f 968//1823 5184//1683 5183//1682 969//1824 +f 969//1824 5183//1682 7568//1461 5062//1605 +f 964//1822 965//1825 970//1826 966//1827 +f 966//1827 970//1826 5188//1699 5187//1698 +f 965//1825 5061//1603 5060//1602 970//1826 +f 970//1826 5060//1602 7567//1485 5188//1699 +f 964//1822 966//1827 971//1828 967//1829 +f 967//1829 971//1828 5147//1830 5148//1831 +f 966//1827 5187//1698 5186//1711 971//1828 +f 971//1828 5186//1711 7582//1713 5147//1830 +f 964//1822 967//1829 972//1832 968//1823 +f 968//1823 972//1832 5185//1688 5184//1683 +f 967//1829 5148//1831 5149//1833 972//1832 +f 972//1832 5149//1833 7583//1689 5185//1688 +f 973//1834 977//1835 978//1836 974//1837 +f 974//1837 978//1836 5056//1617 5055//1615 +f 977//1835 5190//1703 5189//1702 978//1836 +f 978//1836 5189//1702 7566//1481 5056//1617 +f 973//1834 974//1837 979//1838 975//1839 +f 975//1839 979//1838 5194//1719 5193//1718 +f 974//1837 5055//1615 5054//1614 979//1838 +f 979//1838 5054//1614 7565//1505 5194//1719 +f 973//1834 975//1839 980//1840 976//1841 +f 976//1841 980//1840 5141//1842 5142//1843 +f 975//1839 5193//1718 5192//1731 980//1840 +f 980//1840 5192//1731 7580//1733 5141//1842 +f 973//1834 976//1841 981//1844 977//1835 +f 977//1835 981//1844 5191//1708 5190//1703 +f 976//1841 5142//1843 5143//1845 981//1844 +f 981//1844 5143//1845 7581//1709 5191//1708 +f 982//1846 986//1847 987//1848 983//1849 +f 983//1849 987//1848 5050//1629 5049//1627 +f 986//1847 5196//1723 5195//1722 987//1848 +f 987//1848 5195//1722 7564//1501 5050//1629 +f 982//1846 983//1849 988//1850 984//1851 +f 984//1851 988//1850 5206//1759 5205//1758 +f 983//1849 5049//1627 5048//1626 988//1850 +f 988//1850 5048//1626 7563//1545 5206//1759 +f 982//1846 984//1851 989//1852 985//1853 +f 985//1853 989//1852 5135//1854 5136//1855 +f 984//1851 5205//1758 5204//1771 989//1852 +f 989//1852 5204//1771 7578//1773 5135//1854 +f 982//1846 985//1853 990//1856 986//1847 +f 986//1847 990//1856 5197//1728 5196//1723 +f 985//1853 5136//1855 5137//1857 990//1856 +f 990//1856 5137//1857 7579//1729 5197//1728 +f 991//1858 995//1859 996//1860 992//1861 +f 992//1861 996//1860 5083//1641 5082//1639 +f 995//1859 5202//1743 5201//1742 996//1860 +f 996//1860 5201//1742 7575//1521 5083//1641 +f 991//1858 992//1861 997//1862 993//1863 +f 993//1863 997//1862 5212//1779 5211//1778 +f 992//1861 5082//1639 5081//1638 997//1862 +f 997//1862 5081//1638 7574//1565 5212//1779 +f 991//1858 993//1863 998//1864 994//1865 +f 994//1865 998//1864 5168//1866 5169//1867 +f 993//1863 5211//1778 5210//1791 998//1864 +f 998//1864 5210//1791 7589//1793 5168//1866 +f 991//1858 994//1865 999//1868 995//1859 +f 995//1859 999//1868 5203//1748 5202//1743 +f 994//1865 5169//1867 5170//1869 999//1868 +f 999//1868 5170//1869 7590//1749 5203//1748 +f 1000//1870 1004//1871 1005//1872 1001//1873 +f 1001//1873 1005//1872 5077//1653 5076//1651 +f 1004//1871 5214//1783 5213//1782 1005//1872 +f 1005//1872 5213//1782 7573//1561 5077//1653 +f 1000//1870 1001//1873 1006//1874 1002//1875 +f 1002//1875 1006//1874 5218//1799 5217//1798 +f 1001//1873 5076//1651 5075//1650 1006//1874 +f 1006//1874 5075//1650 7572//1581 5218//1799 +f 1000//1870 1002//1875 1007//1876 1003//1877 +f 1003//1877 1007//1876 5162//1878 5163//1879 +f 1002//1875 5217//1798 5216//1807 1007//1876 +f 1007//1876 5216//1807 7587//1809 5162//1878 +f 1000//1870 1003//1877 1008//1880 1004//1871 +f 1004//1871 1008//1880 5215//1788 5214//1783 +f 1003//1877 5163//1879 5164//1881 1008//1880 +f 1008//1880 5164//1881 7588//1789 5215//1788 +f 1009//1882 1013//1883 1014//1884 1010//1885 +f 1010//1885 1014//1884 5158//1672 5157//1667 +f 1013//1883 5262//1886 5263//1887 1014//1884 +f 1014//1884 5263//1887 7586//1673 5158//1672 +f 1009//1882 1010//1885 1015//1888 1011//1889 +f 1011//1889 1015//1888 5264//1890 5265//1891 +f 1010//1885 5157//1667 5156//1666 1015//1888 +f 1015//1888 5156//1666 7585//1669 5264//1890 +f 1009//1882 1011//1889 1016//1892 1012//1893 +f 1012//1893 1016//1892 5243//1894 5244//1895 +f 1011//1889 5265//1891 5266//1896 1016//1892 +f 1016//1892 5266//1896 7600//1897 5243//1894 +f 1009//1882 1012//1893 1017//1898 1013//1883 +f 1013//1883 1017//1898 5261//1899 5262//1886 +f 1012//1893 5244//1895 5245//1900 1017//1898 +f 1017//1898 5245//1900 7601//1901 5261//1899 +f 1018//1902 1022//1903 1023//1904 1019//1905 +f 1019//1905 1023//1904 5152//1692 5151//1687 +f 1022//1903 5268//1906 5269//1907 1023//1904 +f 1023//1904 5269//1907 7584//1693 5152//1692 +f 1018//1902 1019//1905 1024//1908 1020//1909 +f 1020//1909 1024//1908 5270//1910 5271//1911 +f 1019//1905 5151//1687 5150//1686 1024//1908 +f 1024//1908 5150//1686 7583//1689 5270//1910 +f 1018//1902 1020//1909 1025//1912 1021//1913 +f 1021//1913 1025//1912 5237//1914 5238//1915 +f 1020//1909 5271//1911 5272//1916 1025//1912 +f 1025//1912 5272//1916 7598//1917 5237//1914 +f 1018//1902 1021//1913 1026//1918 1022//1903 +f 1022//1903 1026//1918 5267//1919 5268//1906 +f 1021//1913 5238//1915 5239//1920 1026//1918 +f 1026//1918 5239//1920 7599//1921 5267//1919 +f 1027//1922 1031//1923 1032//1924 1028//1925 +f 1028//1925 1032//1924 5146//1712 5145//1707 +f 1031//1923 5274//1926 5275//1927 1032//1924 +f 1032//1924 5275//1927 7582//1713 5146//1712 +f 1027//1922 1028//1925 1033//1928 1029//1929 +f 1029//1929 1033//1928 5276//1930 5277//1931 +f 1028//1925 5145//1707 5144//1706 1033//1928 +f 1033//1928 5144//1706 7581//1709 5276//1930 +f 1027//1922 1029//1929 1034//1932 1030//1933 +f 1030//1933 1034//1932 5231//1934 5232//1935 +f 1029//1929 5277//1931 5278//1936 1034//1932 +f 1034//1932 5278//1936 7596//1937 5231//1934 +f 1027//1922 1030//1933 1035//1938 1031//1923 +f 1031//1923 1035//1938 5273//1939 5274//1926 +f 1030//1933 5232//1935 5233//1940 1035//1938 +f 1035//1938 5233//1940 7597//1941 5273//1939 +f 1036//1942 1040//1943 1041//1944 1037//1945 +f 1037//1945 1041//1944 5140//1732 5139//1727 +f 1040//1943 5280//1946 5281//1947 1041//1944 +f 1041//1944 5281//1947 7580//1733 5140//1732 +f 1036//1942 1037//1945 1042//1948 1038//1949 +f 1038//1949 1042//1948 5282//1950 5283//1951 +f 1037//1945 5139//1727 5138//1726 1042//1948 +f 1042//1948 5138//1726 7579//1729 5282//1950 +f 1036//1942 1038//1949 1043//1952 1039//1953 +f 1039//1953 1043//1952 5225//1954 5226//1955 +f 1038//1949 5283//1951 5284//1956 1043//1952 +f 1043//1952 5284//1956 7594//1957 5225//1954 +f 1036//1942 1039//1953 1044//1958 1040//1943 +f 1040//1943 1044//1958 5279//1959 5280//1946 +f 1039//1953 5226//1955 5227//1960 1044//1958 +f 1044//1958 5227//1960 7595//1961 5279//1959 +f 1045//1962 1049//1963 1050//1964 1046//1965 +f 1046//1965 1050//1964 5173//1752 5172//1747 +f 1049//1963 5286//1966 5287//1967 1050//1964 +f 1050//1964 5287//1967 7591//1753 5173//1752 +f 1045//1962 1046//1965 1051//1968 1047//1969 +f 1047//1969 1051//1968 5288//1970 5289//1971 +f 1046//1965 5172//1747 5171//1746 1051//1968 +f 1051//1968 5171//1746 7590//1749 5288//1970 +f 1045//1962 1047//1969 1052//1972 1048//1973 +f 1048//1973 1052//1972 5258//1974 5259//1975 +f 1047//1969 5289//1971 5290//1976 1052//1972 +f 1052//1972 5290//1976 7605//1977 5258//1974 +f 1045//1962 1048//1973 1053//1978 1049//1963 +f 1049//1963 1053//1978 5285//1979 5286//1966 +f 1048//1973 5259//1975 5260//1980 1053//1978 +f 1053//1978 5260//1980 7606//1981 5285//1979 +f 1054//1982 1058//1983 1059//1984 1055//1985 +f 1055//1985 1059//1984 5134//1772 5133//1767 +f 1058//1983 5292//1986 5293//1987 1059//1984 +f 1059//1984 5293//1987 7578//1773 5134//1772 +f 1054//1982 1055//1985 1060//1988 1056//1989 +f 1056//1989 1060//1988 5294//1990 5295//1991 +f 1055//1985 5133//1767 5132//1766 1060//1988 +f 1060//1988 5132//1766 7577//1769 5294//1990 +f 1054//1982 1056//1989 1061//1992 1057//1993 +f 1057//1993 1061//1992 5219//1994 5220//1995 +f 1056//1989 5295//1991 5296//1996 1061//1992 +f 1061//1992 5296//1996 7592//1997 5219//1994 +f 1054//1982 1057//1993 1062//1998 1058//1983 +f 1058//1983 1062//1998 5291//1999 5292//1986 +f 1057//1993 5220//1995 5221//2000 1062//1998 +f 1062//1998 5221//2000 7593//2001 5291//1999 +f 1063//2002 1067//2003 1068//2004 1064//2005 +f 1064//2005 1068//2004 5167//1792 5166//1787 +f 1067//2003 5298//2006 5299//2007 1068//2004 +f 1068//2004 5299//2007 7589//1793 5167//1792 +f 1063//2002 1064//2005 1069//2008 1065//2009 +f 1065//2009 1069//2008 5300//2010 5301//2011 +f 1064//2005 5166//1787 5165//1786 1069//2008 +f 1069//2008 5165//1786 7588//1789 5300//2010 +f 1063//2002 1065//2009 1070//2012 1066//2013 +f 1066//2013 1070//2012 5252//2014 5253//2015 +f 1065//2009 5301//2011 5302//2016 1070//2012 +f 1070//2012 5302//2016 7603//2017 5252//2014 +f 1063//2002 1066//2013 1071//2018 1067//2003 +f 1067//2003 1071//2018 5297//2019 5298//2006 +f 1066//2013 5253//2015 5254//2020 1071//2018 +f 1071//2018 5254//2020 7604//2021 5297//2019 +f 1072//2022 1076//2023 1077//2024 1073//2025 +f 1073//2025 1077//2024 5161//1808 5160//1805 +f 1076//2023 5304//2026 5305//2027 1077//2024 +f 1077//2024 5305//2027 7587//1809 5161//1808 +f 1072//2022 1073//2025 1078//2028 1074//2029 +f 1074//2029 1078//2028 5263//1887 5262//1886 +f 1073//2025 5160//1805 5159//1804 1078//2028 +f 1078//2028 5159//1804 7586//1673 5263//1887 +f 1072//2022 1074//2029 1079//2030 1075//2031 +f 1075//2031 1079//2030 5246//2032 5247//2033 +f 1074//2029 5262//1886 5261//1899 1079//2030 +f 1079//2030 5261//1899 7601//1901 5246//2032 +f 1072//2022 1075//2031 1080//2034 1076//2023 +f 1076//2023 1080//2034 5303//2035 5304//2026 +f 1075//2031 5247//2033 5248//2036 1080//2034 +f 1080//2034 5248//2036 7602//2037 5303//2035 +f 1081//2038 1085//2039 1086//2040 1082//2041 +f 1082//2041 1086//2040 5155//1821 5154//1819 +f 1085//2039 5265//1891 5264//1890 1086//2040 +f 1086//2040 5264//1890 7585//1669 5155//1821 +f 1081//2038 1082//2041 1087//2042 1083//2043 +f 1083//2043 1087//2042 5269//1907 5268//1906 +f 1082//2041 5154//1819 5153//1818 1087//2042 +f 1087//2042 5153//1818 7584//1693 5269//1907 +f 1081//2038 1083//2043 1088//2044 1084//2045 +f 1084//2045 1088//2044 5240//2046 5241//2047 +f 1083//2043 5268//1906 5267//1919 1088//2044 +f 1088//2044 5267//1919 7599//1921 5240//2046 +f 1081//2038 1084//2045 1089//2048 1085//2039 +f 1085//2039 1089//2048 5266//1896 5265//1891 +f 1084//2045 5241//2047 5242//2049 1089//2048 +f 1089//2048 5242//2049 7600//1897 5266//1896 +f 1090//2050 1094//2051 1095//2052 1091//2053 +f 1091//2053 1095//2052 5149//1833 5148//1831 +f 1094//2051 5271//1911 5270//1910 1095//2052 +f 1095//2052 5270//1910 7583//1689 5149//1833 +f 1090//2050 1091//2053 1096//2054 1092//2055 +f 1092//2055 1096//2054 5275//1927 5274//1926 +f 1091//2053 5148//1831 5147//1830 1096//2054 +f 1096//2054 5147//1830 7582//1713 5275//1927 +f 1090//2050 1092//2055 1097//2056 1093//2057 +f 1093//2057 1097//2056 5234//2058 5235//2059 +f 1092//2055 5274//1926 5273//1939 1097//2056 +f 1097//2056 5273//1939 7597//1941 5234//2058 +f 1090//2050 1093//2057 1098//2060 1094//2051 +f 1094//2051 1098//2060 5272//1916 5271//1911 +f 1093//2057 5235//2059 5236//2061 1098//2060 +f 1098//2060 5236//2061 7598//1917 5272//1916 +f 1099//2062 1103//2063 1104//2064 1100//2065 +f 1100//2065 1104//2064 5143//1845 5142//1843 +f 1103//2063 5277//1931 5276//1930 1104//2064 +f 1104//2064 5276//1930 7581//1709 5143//1845 +f 1099//2062 1100//2065 1105//2066 1101//2067 +f 1101//2067 1105//2066 5281//1947 5280//1946 +f 1100//2065 5142//1843 5141//1842 1105//2066 +f 1105//2066 5141//1842 7580//1733 5281//1947 +f 1099//2062 1101//2067 1106//2068 1102//2069 +f 1102//2069 1106//2068 5228//2070 5229//2071 +f 1101//2067 5280//1946 5279//1959 1106//2068 +f 1106//2068 5279//1959 7595//1961 5228//2070 +f 1099//2062 1102//2069 1107//2072 1103//2063 +f 1103//2063 1107//2072 5278//1936 5277//1931 +f 1102//2069 5229//2071 5230//2073 1107//2072 +f 1107//2072 5230//2073 7596//1937 5278//1936 +f 1108//2074 1112//2075 1113//2076 1109//2077 +f 1109//2077 1113//2076 5137//1857 5136//1855 +f 1112//2075 5283//1951 5282//1950 1113//2076 +f 1113//2076 5282//1950 7579//1729 5137//1857 +f 1108//2074 1109//2077 1114//2078 1110//2079 +f 1110//2079 1114//2078 5293//1987 5292//1986 +f 1109//2077 5136//1855 5135//1854 1114//2078 +f 1114//2078 5135//1854 7578//1773 5293//1987 +f 1108//2074 1110//2079 1115//2080 1111//2081 +f 1111//2081 1115//2080 5222//2082 5223//2083 +f 1110//2079 5292//1986 5291//1999 1115//2080 +f 1115//2080 5291//1999 7593//2001 5222//2082 +f 1108//2074 1111//2081 1116//2084 1112//2075 +f 1112//2075 1116//2084 5284//1956 5283//1951 +f 1111//2081 5223//2083 5224//2085 1116//2084 +f 1116//2084 5224//2085 7594//1957 5284//1956 +f 1117//2086 1121//2087 1122//2088 1118//2089 +f 1118//2089 1122//2088 5170//1869 5169//1867 +f 1121//2087 5289//1971 5288//1970 1122//2088 +f 1122//2088 5288//1970 7590//1749 5170//1869 +f 1117//2086 1118//2089 1123//2090 1119//2091 +f 1119//2091 1123//2090 5299//2007 5298//2006 +f 1118//2089 5169//1867 5168//1866 1123//2090 +f 1123//2090 5168//1866 7589//1793 5299//2007 +f 1117//2086 1119//2091 1124//2092 1120//2093 +f 1120//2093 1124//2092 5255//2094 5256//2095 +f 1119//2091 5298//2006 5297//2019 1124//2092 +f 1124//2092 5297//2019 7604//2021 5255//2094 +f 1117//2086 1120//2093 1125//2096 1121//2087 +f 1121//2087 1125//2096 5290//1976 5289//1971 +f 1120//2093 5256//2095 5257//2097 1125//2096 +f 1125//2096 5257//2097 7605//1977 5290//1976 +f 1126//2098 1130//2099 1131//2100 1127//2101 +f 1127//2101 1131//2100 5164//1881 5163//1879 +f 1130//2099 5301//2011 5300//2010 1131//2100 +f 1131//2100 5300//2010 7588//1789 5164//1881 +f 1126//2098 1127//2101 1132//2102 1128//2103 +f 1128//2103 1132//2102 5305//2027 5304//2026 +f 1127//2101 5163//1879 5162//1878 1132//2102 +f 1132//2102 5162//1878 7587//1809 5305//2027 +f 1126//2098 1128//2103 1133//2104 1129//2105 +f 1129//2105 1133//2104 5249//2106 5250//2107 +f 1128//2103 5304//2026 5303//2035 1133//2104 +f 1133//2104 5303//2035 7602//2037 5249//2106 +f 1126//2098 1129//2105 1134//2108 1130//2099 +f 1130//2099 1134//2108 5302//2016 5301//2011 +f 1129//2105 5250//2107 5251//2109 1134//2108 +f 1134//2108 5251//2109 7603//2017 5302//2016 +f 1135//2110 1139//2111 1140//2112 1136//2113 +f 1136//2113 1140//2112 5245//1900 5244//1895 +f 1139//2111 5349//2114 5350//2115 1140//2112 +f 1140//2112 5350//2115 7601//1901 5245//1900 +f 1135//2110 1136//2113 1141//2116 1137//2117 +f 1137//2117 1141//2116 5351//2118 5352//2119 +f 1136//2113 5244//1895 5243//1894 1141//2116 +f 1141//2116 5243//1894 7600//1897 5351//2118 +f 1135//2110 1137//2117 1142//2120 1138//2121 +f 1138//2121 1142//2120 5330//2122 5331//2123 +f 1137//2117 5352//2119 5353//2124 1142//2120 +f 1142//2120 5353//2124 7615//2125 5330//2122 +f 1135//2110 1138//2121 1143//2126 1139//2111 +f 1139//2111 1143//2126 5348//2127 5349//2114 +f 1138//2121 5331//2123 5332//2128 1143//2126 +f 1143//2126 5332//2128 7616//2129 5348//2127 +f 1144//2130 1148//2131 1149//2132 1145//2133 +f 1145//2133 1149//2132 5239//1920 5238//1915 +f 1148//2131 5355//2134 5356//2135 1149//2132 +f 1149//2132 5356//2135 7599//1921 5239//1920 +f 1144//2130 1145//2133 1150//2136 1146//2137 +f 1146//2137 1150//2136 5357//2138 5358//2139 +f 1145//2133 5238//1915 5237//1914 1150//2136 +f 1150//2136 5237//1914 7598//1917 5357//2138 +f 1144//2130 1146//2137 1151//2140 1147//2141 +f 1147//2141 1151//2140 5324//2142 5325//2143 +f 1146//2137 5358//2139 5359//2144 1151//2140 +f 1151//2140 5359//2144 7613//2145 5324//2142 +f 1144//2130 1147//2141 1152//2146 1148//2131 +f 1148//2131 1152//2146 5354//2147 5355//2134 +f 1147//2141 5325//2143 5326//2148 1152//2146 +f 1152//2146 5326//2148 7614//2149 5354//2147 +f 1153//2150 1157//2151 1158//2152 1154//2153 +f 1154//2153 1158//2152 5233//1940 5232//1935 +f 1157//2151 5361//2154 5362//2155 1158//2152 +f 1158//2152 5362//2155 7597//1941 5233//1940 +f 1153//2150 1154//2153 1159//2156 1155//2157 +f 1155//2157 1159//2156 5363//2158 5364//2159 +f 1154//2153 5232//1935 5231//1934 1159//2156 +f 1159//2156 5231//1934 7596//1937 5363//2158 +f 1153//2150 1155//2157 1160//2160 1156//2161 +f 1156//2161 1160//2160 5318//2162 5319//2163 +f 1155//2157 5364//2159 5365//2164 1160//2160 +f 1160//2160 5365//2164 7611//2165 5318//2162 +f 1153//2150 1156//2161 1161//2166 1157//2151 +f 1157//2151 1161//2166 5360//2167 5361//2154 +f 1156//2161 5319//2163 5320//2168 1161//2166 +f 1161//2166 5320//2168 7612//2169 5360//2167 +f 1162//2170 1166//2171 1167//2172 1163//2173 +f 1163//2173 1167//2172 5227//1960 5226//1955 +f 1166//2171 5367//2174 5368//2175 1167//2172 +f 1167//2172 5368//2175 7595//1961 5227//1960 +f 1162//2170 1163//2173 1168//2176 1164//2177 +f 1164//2177 1168//2176 5369//2178 5370//2179 +f 1163//2173 5226//1955 5225//1954 1168//2176 +f 1168//2176 5225//1954 7594//1957 5369//2178 +f 1162//2170 1164//2177 1169//2180 1165//2181 +f 1165//2181 1169//2180 5312//2182 5313//2183 +f 1164//2177 5370//2179 5371//2184 1169//2180 +f 1169//2180 5371//2184 7609//2185 5312//2182 +f 1162//2170 1165//2181 1170//2186 1166//2171 +f 1166//2171 1170//2186 5366//2187 5367//2174 +f 1165//2181 5313//2183 5314//2188 1170//2186 +f 1170//2186 5314//2188 7610//2189 5366//2187 +f 1171//2190 1175//2191 1176//2192 1172//2193 +f 1172//2193 1176//2192 5260//1980 5259//1975 +f 1175//2191 5373//2194 5374//2195 1176//2192 +f 1176//2192 5374//2195 7606//1981 5260//1980 +f 1171//2190 1172//2193 1177//2196 1173//2197 +f 1173//2197 1177//2196 5375//2198 5376//2199 +f 1172//2193 5259//1975 5258//1974 1177//2196 +f 1177//2196 5258//1974 7605//1977 5375//2198 +f 1171//2190 1173//2197 1178//2200 1174//2201 +f 1174//2201 1178//2200 5345//2202 5346//2203 +f 1173//2197 5376//2199 5377//2204 1178//2200 +f 1178//2200 5377//2204 7620//2205 5345//2202 +f 1171//2190 1174//2201 1179//2206 1175//2191 +f 1175//2191 1179//2206 5372//2207 5373//2194 +f 1174//2201 5346//2203 5347//2208 1179//2206 +f 1179//2206 5347//2208 7621//2209 5372//2207 +f 1180//2210 1184//2211 1185//2212 1181//2213 +f 1181//2213 1185//2212 5221//2000 5220//1995 +f 1184//2211 5379//2214 5380//2215 1185//2212 +f 1185//2212 5380//2215 7593//2001 5221//2000 +f 1180//2210 1181//2213 1186//2216 1182//2217 +f 1182//2217 1186//2216 5381//2218 5382//2219 +f 1181//2213 5220//1995 5219//1994 1186//2216 +f 1186//2216 5219//1994 7592//1997 5381//2218 +f 1180//2210 1182//2217 1187//2220 1183//2221 +f 1183//2221 1187//2220 5306//2222 5307//2223 +f 1182//2217 5382//2219 5383//2224 1187//2220 +f 1187//2220 5383//2224 7607//2225 5306//2222 +f 1180//2210 1183//2221 1188//2226 1184//2211 +f 1184//2211 1188//2226 5378//2227 5379//2214 +f 1183//2221 5307//2223 5308//2228 1188//2226 +f 1188//2226 5308//2228 7608//2229 5378//2227 +f 1189//2230 1193//2231 1194//2232 1190//2233 +f 1190//2233 1194//2232 5254//2020 5253//2015 +f 1193//2231 5385//2234 5386//2235 1194//2232 +f 1194//2232 5386//2235 7604//2021 5254//2020 +f 1189//2230 1190//2233 1195//2236 1191//2237 +f 1191//2237 1195//2236 5387//2238 5388//2239 +f 1190//2233 5253//2015 5252//2014 1195//2236 +f 1195//2236 5252//2014 7603//2017 5387//2238 +f 1189//2230 1191//2237 1196//2240 1192//2241 +f 1192//2241 1196//2240 5339//2242 5340//2243 +f 1191//2237 5388//2239 5389//2244 1196//2240 +f 1196//2240 5389//2244 7618//2245 5339//2242 +f 1189//2230 1192//2241 1197//2246 1193//2231 +f 1193//2231 1197//2246 5384//2247 5385//2234 +f 1192//2241 5340//2243 5341//2248 1197//2246 +f 1197//2246 5341//2248 7619//2249 5384//2247 +f 1198//2250 1202//2251 1203//2252 1199//2253 +f 1199//2253 1203//2252 5248//2036 5247//2033 +f 1202//2251 5391//2254 5392//2255 1203//2252 +f 1203//2252 5392//2255 7602//2037 5248//2036 +f 1198//2250 1199//2253 1204//2256 1200//2257 +f 1200//2257 1204//2256 5350//2115 5349//2114 +f 1199//2253 5247//2033 5246//2032 1204//2256 +f 1204//2256 5246//2032 7601//1901 5350//2115 +f 1198//2250 1200//2257 1205//2258 1201//2259 +f 1201//2259 1205//2258 5333//2260 5334//2261 +f 1200//2257 5349//2114 5348//2127 1205//2258 +f 1205//2258 5348//2127 7616//2129 5333//2260 +f 1198//2250 1201//2259 1206//2262 1202//2251 +f 1202//2251 1206//2262 5390//2263 5391//2254 +f 1201//2259 5334//2261 5335//2264 1206//2262 +f 1206//2262 5335//2264 7617//2265 5390//2263 +f 1207//2266 1211//2267 1212//2268 1208//2269 +f 1208//2269 1212//2268 5242//2049 5241//2047 +f 1211//2267 5352//2119 5351//2118 1212//2268 +f 1212//2268 5351//2118 7600//1897 5242//2049 +f 1207//2266 1208//2269 1213//2270 1209//2271 +f 1209//2271 1213//2270 5356//2135 5355//2134 +f 1208//2269 5241//2047 5240//2046 1213//2270 +f 1213//2270 5240//2046 7599//1921 5356//2135 +f 1207//2266 1209//2271 1214//2272 1210//2273 +f 1210//2273 1214//2272 5327//2274 5328//2275 +f 1209//2271 5355//2134 5354//2147 1214//2272 +f 1214//2272 5354//2147 7614//2149 5327//2274 +f 1207//2266 1210//2273 1215//2276 1211//2267 +f 1211//2267 1215//2276 5353//2124 5352//2119 +f 1210//2273 5328//2275 5329//2277 1215//2276 +f 1215//2276 5329//2277 7615//2125 5353//2124 +f 1216//2278 1220//2279 1221//2280 1217//2281 +f 1217//2281 1221//2280 5236//2061 5235//2059 +f 1220//2279 5358//2139 5357//2138 1221//2280 +f 1221//2280 5357//2138 7598//1917 5236//2061 +f 1216//2278 1217//2281 1222//2282 1218//2283 +f 1218//2283 1222//2282 5362//2155 5361//2154 +f 1217//2281 5235//2059 5234//2058 1222//2282 +f 1222//2282 5234//2058 7597//1941 5362//2155 +f 1216//2278 1218//2283 1223//2284 1219//2285 +f 1219//2285 1223//2284 5321//2286 5322//2287 +f 1218//2283 5361//2154 5360//2167 1223//2284 +f 1223//2284 5360//2167 7612//2169 5321//2286 +f 1216//2278 1219//2285 1224//2288 1220//2279 +f 1220//2279 1224//2288 5359//2144 5358//2139 +f 1219//2285 5322//2287 5323//2289 1224//2288 +f 1224//2288 5323//2289 7613//2145 5359//2144 +f 1225//2290 1229//2291 1230//2292 1226//2293 +f 1226//2293 1230//2292 5230//2073 5229//2071 +f 1229//2291 5364//2159 5363//2158 1230//2292 +f 1230//2292 5363//2158 7596//1937 5230//2073 +f 1225//2290 1226//2293 1231//2294 1227//2295 +f 1227//2295 1231//2294 5368//2175 5367//2174 +f 1226//2293 5229//2071 5228//2070 1231//2294 +f 1231//2294 5228//2070 7595//1961 5368//2175 +f 1225//2290 1227//2295 1232//2296 1228//2297 +f 1228//2297 1232//2296 5315//2298 5316//2299 +f 1227//2295 5367//2174 5366//2187 1232//2296 +f 1232//2296 5366//2187 7610//2189 5315//2298 +f 1225//2290 1228//2297 1233//2300 1229//2291 +f 1229//2291 1233//2300 5365//2164 5364//2159 +f 1228//2297 5316//2299 5317//2301 1233//2300 +f 1233//2300 5317//2301 7611//2165 5365//2164 +f 1234//2302 1238//2303 1239//2304 1235//2305 +f 1235//2305 1239//2304 5224//2085 5223//2083 +f 1238//2303 5370//2179 5369//2178 1239//2304 +f 1239//2304 5369//2178 7594//1957 5224//2085 +f 1234//2302 1235//2305 1240//2306 1236//2307 +f 1236//2307 1240//2306 5380//2215 5379//2214 +f 1235//2305 5223//2083 5222//2082 1240//2306 +f 1240//2306 5222//2082 7593//2001 5380//2215 +f 1234//2302 1236//2307 1241//2308 1237//2309 +f 1237//2309 1241//2308 5309//2310 5310//2311 +f 1236//2307 5379//2214 5378//2227 1241//2308 +f 1241//2308 5378//2227 7608//2229 5309//2310 +f 1234//2302 1237//2309 1242//2312 1238//2303 +f 1238//2303 1242//2312 5371//2184 5370//2179 +f 1237//2309 5310//2311 5311//2313 1242//2312 +f 1242//2312 5311//2313 7609//2185 5371//2184 +f 1243//2314 1247//2315 1248//2316 1244//2317 +f 1244//2317 1248//2316 5257//2097 5256//2095 +f 1247//2315 5376//2199 5375//2198 1248//2316 +f 1248//2316 5375//2198 7605//1977 5257//2097 +f 1243//2314 1244//2317 1249//2318 1245//2319 +f 1245//2319 1249//2318 5386//2235 5385//2234 +f 1244//2317 5256//2095 5255//2094 1249//2318 +f 1249//2318 5255//2094 7604//2021 5386//2235 +f 1243//2314 1245//2319 1250//2320 1246//2321 +f 1246//2321 1250//2320 5342//2322 5343//2323 +f 1245//2319 5385//2234 5384//2247 1250//2320 +f 1250//2320 5384//2247 7619//2249 5342//2322 +f 1243//2314 1246//2321 1251//2324 1247//2315 +f 1247//2315 1251//2324 5377//2204 5376//2199 +f 1246//2321 5343//2323 5344//2325 1251//2324 +f 1251//2324 5344//2325 7620//2205 5377//2204 +f 1252//2326 1256//2327 1257//2328 1253//2329 +f 1253//2329 1257//2328 5251//2109 5250//2107 +f 1256//2327 5388//2239 5387//2238 1257//2328 +f 1257//2328 5387//2238 7603//2017 5251//2109 +f 1252//2326 1253//2329 1258//2330 1254//2331 +f 1254//2331 1258//2330 5392//2255 5391//2254 +f 1253//2329 5250//2107 5249//2106 1258//2330 +f 1258//2330 5249//2106 7602//2037 5392//2255 +f 1252//2326 1254//2331 1259//2332 1255//2333 +f 1255//2333 1259//2332 5336//2334 5337//2335 +f 1254//2331 5391//2254 5390//2263 1259//2332 +f 1259//2332 5390//2263 7617//2265 5336//2334 +f 1252//2326 1255//2333 1260//2336 1256//2327 +f 1256//2327 1260//2336 5389//2244 5388//2239 +f 1255//2333 5337//2335 5338//2337 1260//2336 +f 1260//2336 5338//2337 7618//2245 5389//2244 +f 1261//2338 1265//2339 1266//2340 1262//2341 +f 1262//2341 1266//2340 5332//2128 5331//2123 +f 1265//2339 5436//2342 5437//2343 1266//2340 +f 1266//2340 5437//2343 7616//2129 5332//2128 +f 1261//2338 1262//2341 1267//2344 1263//2345 +f 1263//2345 1267//2344 5438//2346 5439//2347 +f 1262//2341 5331//2123 5330//2122 1267//2344 +f 1267//2344 5330//2122 7615//2125 5438//2346 +f 1261//2338 1263//2345 1268//2348 1264//2349 +f 1264//2349 1268//2348 5417//2350 5418//2351 +f 1263//2345 5439//2347 5440//2352 1268//2348 +f 1268//2348 5440//2352 7630//2353 5417//2350 +f 1261//2338 1264//2349 1269//2354 1265//2339 +f 1265//2339 1269//2354 5435//2355 5436//2342 +f 1264//2349 5418//2351 5419//2356 1269//2354 +f 1269//2354 5419//2356 7631//2357 5435//2355 +f 1270//2358 1274//2359 1275//2360 1271//2361 +f 1271//2361 1275//2360 5326//2148 5325//2143 +f 1274//2359 5442//2362 5443//2363 1275//2360 +f 1275//2360 5443//2363 7614//2149 5326//2148 +f 1270//2358 1271//2361 1276//2364 1272//2365 +f 1272//2365 1276//2364 5444//2366 5445//2367 +f 1271//2361 5325//2143 5324//2142 1276//2364 +f 1276//2364 5324//2142 7613//2145 5444//2366 +f 1270//2358 1272//2365 1277//2368 1273//2369 +f 1273//2369 1277//2368 5411//2370 5412//2371 +f 1272//2365 5445//2367 5446//2372 1277//2368 +f 1277//2368 5446//2372 7628//2373 5411//2370 +f 1270//2358 1273//2369 1278//2374 1274//2359 +f 1274//2359 1278//2374 5441//2375 5442//2362 +f 1273//2369 5412//2371 5413//2376 1278//2374 +f 1278//2374 5413//2376 7629//2377 5441//2375 +f 1279//2378 1283//2379 1284//2380 1280//2381 +f 1280//2381 1284//2380 5320//2168 5319//2163 +f 1283//2379 5448//2382 5449//2383 1284//2380 +f 1284//2380 5449//2383 7612//2169 5320//2168 +f 1279//2378 1280//2381 1285//2384 1281//2385 +f 1281//2385 1285//2384 5450//2386 5451//2387 +f 1280//2381 5319//2163 5318//2162 1285//2384 +f 1285//2384 5318//2162 7611//2165 5450//2386 +f 1279//2378 1281//2385 1286//2388 1282//2389 +f 1282//2389 1286//2388 5405//2390 5406//2391 +f 1281//2385 5451//2387 5452//2392 1286//2388 +f 1286//2388 5452//2392 7626//2393 5405//2390 +f 1279//2378 1282//2389 1287//2394 1283//2379 +f 1283//2379 1287//2394 5447//2395 5448//2382 +f 1282//2389 5406//2391 5407//2396 1287//2394 +f 1287//2394 5407//2396 7627//2397 5447//2395 +f 1288//2398 1292//2399 1293//2400 1289//2401 +f 1289//2401 1293//2400 5314//2188 5313//2183 +f 1292//2399 5454//2402 5455//2403 1293//2400 +f 1293//2400 5455//2403 7610//2189 5314//2188 +f 1288//2398 1289//2401 1294//2404 1290//2405 +f 1290//2405 1294//2404 5456//2406 5457//2407 +f 1289//2401 5313//2183 5312//2182 1294//2404 +f 1294//2404 5312//2182 7609//2185 5456//2406 +f 1288//2398 1290//2405 1295//2408 1291//2409 +f 1291//2409 1295//2408 5399//2410 5400//2411 +f 1290//2405 5457//2407 5458//2412 1295//2408 +f 1295//2408 5458//2412 7624//2413 5399//2410 +f 1288//2398 1291//2409 1296//2414 1292//2399 +f 1292//2399 1296//2414 5453//2415 5454//2402 +f 1291//2409 5400//2411 5401//2416 1296//2414 +f 1296//2414 5401//2416 7625//2417 5453//2415 +f 1297//2418 1301//2419 1302//2420 1298//2421 +f 1298//2421 1302//2420 5347//2208 5346//2203 +f 1301//2419 5460//2422 5461//2423 1302//2420 +f 1302//2420 5461//2423 7621//2209 5347//2208 +f 1297//2418 1298//2421 1303//2424 1299//2425 +f 1299//2425 1303//2424 5462//2426 5463//2427 +f 1298//2421 5346//2203 5345//2202 1303//2424 +f 1303//2424 5345//2202 7620//2205 5462//2426 +f 1297//2418 1299//2425 1304//2428 1300//2429 +f 1300//2429 1304//2428 5432//2430 5433//2431 +f 1299//2425 5463//2427 5464//2432 1304//2428 +f 1304//2428 5464//2432 7635//2433 5432//2430 +f 1297//2418 1300//2429 1305//2434 1301//2419 +f 1301//2419 1305//2434 5459//2435 5460//2422 +f 1300//2429 5433//2431 5434//2436 1305//2434 +f 1305//2434 5434//2436 7636//2437 5459//2435 +f 1306//2438 1310//2439 1311//2440 1307//2441 +f 1307//2441 1311//2440 5308//2228 5307//2223 +f 1310//2439 5466//2442 5467//2443 1311//2440 +f 1311//2440 5467//2443 7608//2229 5308//2228 +f 1306//2438 1307//2441 1312//2444 1308//2445 +f 1308//2445 1312//2444 5468//2446 5469//2447 +f 1307//2441 5307//2223 5306//2222 1312//2444 +f 1312//2444 5306//2222 7607//2225 5468//2446 +f 1306//2438 1308//2445 1313//2448 1309//2449 +f 1309//2449 1313//2448 5393//2450 5394//2451 +f 1308//2445 5469//2447 5470//2452 1313//2448 +f 1313//2448 5470//2452 7622//2453 5393//2450 +f 1306//2438 1309//2449 1314//2454 1310//2439 +f 1310//2439 1314//2454 5465//2455 5466//2442 +f 1309//2449 5394//2451 5395//2456 1314//2454 +f 1314//2454 5395//2456 7623//2457 5465//2455 +f 1315//2458 1319//2459 1320//2460 1316//2461 +f 1316//2461 1320//2460 5341//2248 5340//2243 +f 1319//2459 5472//2462 5473//2463 1320//2460 +f 1320//2460 5473//2463 7619//2249 5341//2248 +f 1315//2458 1316//2461 1321//2464 1317//2465 +f 1317//2465 1321//2464 5474//2466 5475//2467 +f 1316//2461 5340//2243 5339//2242 1321//2464 +f 1321//2464 5339//2242 7618//2245 5474//2466 +f 1315//2458 1317//2465 1322//2468 1318//2469 +f 1318//2469 1322//2468 5426//2470 5427//2471 +f 1317//2465 5475//2467 5476//2472 1322//2468 +f 1322//2468 5476//2472 7633//2473 5426//2470 +f 1315//2458 1318//2469 1323//2474 1319//2459 +f 1319//2459 1323//2474 5471//2475 5472//2462 +f 1318//2469 5427//2471 5428//2476 1323//2474 +f 1323//2474 5428//2476 7634//2477 5471//2475 +f 1324//2478 1328//2479 1329//2480 1325//2481 +f 1325//2481 1329//2480 5335//2264 5334//2261 +f 1328//2479 5478//2482 5479//2483 1329//2480 +f 1329//2480 5479//2483 7617//2265 5335//2264 +f 1324//2478 1325//2481 1330//2484 1326//2485 +f 1326//2485 1330//2484 5437//2343 5436//2342 +f 1325//2481 5334//2261 5333//2260 1330//2484 +f 1330//2484 5333//2260 7616//2129 5437//2343 +f 1324//2478 1326//2485 1331//2486 1327//2487 +f 1327//2487 1331//2486 5420//2488 5421//2489 +f 1326//2485 5436//2342 5435//2355 1331//2486 +f 1331//2486 5435//2355 7631//2357 5420//2488 +f 1324//2478 1327//2487 1332//2490 1328//2479 +f 1328//2479 1332//2490 5477//2491 5478//2482 +f 1327//2487 5421//2489 5422//2492 1332//2490 +f 1332//2490 5422//2492 7632//2493 5477//2491 +f 1333//2494 1337//2495 1338//2496 1334//2497 +f 1334//2497 1338//2496 5329//2277 5328//2275 +f 1337//2495 5439//2347 5438//2346 1338//2496 +f 1338//2496 5438//2346 7615//2125 5329//2277 +f 1333//2494 1334//2497 1339//2498 1335//2499 +f 1335//2499 1339//2498 5443//2363 5442//2362 +f 1334//2497 5328//2275 5327//2274 1339//2498 +f 1339//2498 5327//2274 7614//2149 5443//2363 +f 1333//2494 1335//2499 1340//2500 1336//2501 +f 1336//2501 1340//2500 5414//2502 5415//2503 +f 1335//2499 5442//2362 5441//2375 1340//2500 +f 1340//2500 5441//2375 7629//2377 5414//2502 +f 1333//2494 1336//2501 1341//2504 1337//2495 +f 1337//2495 1341//2504 5440//2352 5439//2347 +f 1336//2501 5415//2503 5416//2505 1341//2504 +f 1341//2504 5416//2505 7630//2353 5440//2352 +f 1342//2506 1346//2507 1347//2508 1343//2509 +f 1343//2509 1347//2508 5323//2289 5322//2287 +f 1346//2507 5445//2367 5444//2366 1347//2508 +f 1347//2508 5444//2366 7613//2145 5323//2289 +f 1342//2506 1343//2509 1348//2510 1344//2511 +f 1344//2511 1348//2510 5449//2383 5448//2382 +f 1343//2509 5322//2287 5321//2286 1348//2510 +f 1348//2510 5321//2286 7612//2169 5449//2383 +f 1342//2506 1344//2511 1349//2512 1345//2513 +f 1345//2513 1349//2512 5408//2514 5409//2515 +f 1344//2511 5448//2382 5447//2395 1349//2512 +f 1349//2512 5447//2395 7627//2397 5408//2514 +f 1342//2506 1345//2513 1350//2516 1346//2507 +f 1346//2507 1350//2516 5446//2372 5445//2367 +f 1345//2513 5409//2515 5410//2517 1350//2516 +f 1350//2516 5410//2517 7628//2373 5446//2372 +f 1351//2518 1355//2519 1356//2520 1352//2521 +f 1352//2521 1356//2520 5317//2301 5316//2299 +f 1355//2519 5451//2387 5450//2386 1356//2520 +f 1356//2520 5450//2386 7611//2165 5317//2301 +f 1351//2518 1352//2521 1357//2522 1353//2523 +f 1353//2523 1357//2522 5455//2403 5454//2402 +f 1352//2521 5316//2299 5315//2298 1357//2522 +f 1357//2522 5315//2298 7610//2189 5455//2403 +f 1351//2518 1353//2523 1358//2524 1354//2525 +f 1354//2525 1358//2524 5402//2526 5403//2527 +f 1353//2523 5454//2402 5453//2415 1358//2524 +f 1358//2524 5453//2415 7625//2417 5402//2526 +f 1351//2518 1354//2525 1359//2528 1355//2519 +f 1355//2519 1359//2528 5452//2392 5451//2387 +f 1354//2525 5403//2527 5404//2529 1359//2528 +f 1359//2528 5404//2529 7626//2393 5452//2392 +f 1360//2530 1364//2531 1365//2532 1361//2533 +f 1361//2533 1365//2532 5311//2313 5310//2311 +f 1364//2531 5457//2407 5456//2406 1365//2532 +f 1365//2532 5456//2406 7609//2185 5311//2313 +f 1360//2530 1361//2533 1366//2534 1362//2535 +f 1362//2535 1366//2534 5467//2443 5466//2442 +f 1361//2533 5310//2311 5309//2310 1366//2534 +f 1366//2534 5309//2310 7608//2229 5467//2443 +f 1360//2530 1362//2535 1367//2536 1363//2537 +f 1363//2537 1367//2536 5396//2538 5397//2539 +f 1362//2535 5466//2442 5465//2455 1367//2536 +f 1367//2536 5465//2455 7623//2457 5396//2538 +f 1360//2530 1363//2537 1368//2540 1364//2531 +f 1364//2531 1368//2540 5458//2412 5457//2407 +f 1363//2537 5397//2539 5398//2541 1368//2540 +f 1368//2540 5398//2541 7624//2413 5458//2412 +f 1369//2542 1373//2543 1374//2544 1370//2545 +f 1370//2545 1374//2544 5344//2325 5343//2323 +f 1373//2543 5463//2427 5462//2426 1374//2544 +f 1374//2544 5462//2426 7620//2205 5344//2325 +f 1369//2542 1370//2545 1375//2546 1371//2547 +f 1371//2547 1375//2546 5473//2463 5472//2462 +f 1370//2545 5343//2323 5342//2322 1375//2546 +f 1375//2546 5342//2322 7619//2249 5473//2463 +f 1369//2542 1371//2547 1376//2548 1372//2549 +f 1372//2549 1376//2548 5429//2550 5430//2551 +f 1371//2547 5472//2462 5471//2475 1376//2548 +f 1376//2548 5471//2475 7634//2477 5429//2550 +f 1369//2542 1372//2549 1377//2552 1373//2543 +f 1373//2543 1377//2552 5464//2432 5463//2427 +f 1372//2549 5430//2551 5431//2553 1377//2552 +f 1377//2552 5431//2553 7635//2433 5464//2432 +f 1378//2554 1382//2555 1383//2556 1379//2557 +f 1379//2557 1383//2556 5338//2337 5337//2335 +f 1382//2555 5475//2467 5474//2466 1383//2556 +f 1383//2556 5474//2466 7618//2245 5338//2337 +f 1378//2554 1379//2557 1384//2558 1380//2559 +f 1380//2559 1384//2558 5479//2483 5478//2482 +f 1379//2557 5337//2335 5336//2334 1384//2558 +f 1384//2558 5336//2334 7617//2265 5479//2483 +f 1378//2554 1380//2559 1385//2560 1381//2561 +f 1381//2561 1385//2560 5423//2562 5424//2563 +f 1380//2559 5478//2482 5477//2491 1385//2560 +f 1385//2560 5477//2491 7632//2493 5423//2562 +f 1378//2554 1381//2561 1386//2564 1382//2555 +f 1382//2555 1386//2564 5476//2472 5475//2467 +f 1381//2561 5424//2563 5425//2565 1386//2564 +f 1386//2564 5425//2565 7633//2473 5476//2472 +f 1387//2566 1391//2567 1392//2568 1388//2569 +f 1388//2569 1392//2568 5419//2356 5418//2351 +f 1391//2567 5523//2570 5524//2571 1392//2568 +f 1392//2568 5524//2571 7631//2357 5419//2356 +f 1387//2566 1388//2569 1393//2572 1389//2573 +f 1389//2573 1393//2572 5525//2574 5526//2575 +f 1388//2569 5418//2351 5417//2350 1393//2572 +f 1393//2572 5417//2350 7630//2353 5525//2574 +f 1387//2566 1389//2573 1394//2576 1390//2577 +f 1390//2577 1394//2576 5504//2578 5505//2579 +f 1389//2573 5526//2575 5527//2580 1394//2576 +f 1394//2576 5527//2580 7645//2581 5504//2578 +f 1387//2566 1390//2577 1395//2582 1391//2567 +f 1391//2567 1395//2582 5522//2583 5523//2570 +f 1390//2577 5505//2579 5506//2584 1395//2582 +f 1395//2582 5506//2584 7646//2585 5522//2583 +f 1396//2586 1400//2587 1401//2588 1397//2589 +f 1397//2589 1401//2588 5413//2376 5412//2371 +f 1400//2587 5529//2590 5530//2591 1401//2588 +f 1401//2588 5530//2591 7629//2377 5413//2376 +f 1396//2586 1397//2589 1402//2592 1398//2593 +f 1398//2593 1402//2592 5531//2594 5532//2595 +f 1397//2589 5412//2371 5411//2370 1402//2592 +f 1402//2592 5411//2370 7628//2373 5531//2594 +f 1396//2586 1398//2593 1403//2596 1399//2597 +f 1399//2597 1403//2596 5498//2598 5499//2599 +f 1398//2593 5532//2595 5533//2600 1403//2596 +f 1403//2596 5533//2600 7643//2601 5498//2598 +f 1396//2586 1399//2597 1404//2602 1400//2587 +f 1400//2587 1404//2602 5528//2603 5529//2590 +f 1399//2597 5499//2599 5500//2604 1404//2602 +f 1404//2602 5500//2604 7644//2605 5528//2603 +f 1405//2606 1409//2607 1410//2608 1406//2609 +f 1406//2609 1410//2608 5407//2396 5406//2391 +f 1409//2607 5535//2610 5536//2611 1410//2608 +f 1410//2608 5536//2611 7627//2397 5407//2396 +f 1405//2606 1406//2609 1411//2612 1407//2613 +f 1407//2613 1411//2612 5537//2614 5538//2615 +f 1406//2609 5406//2391 5405//2390 1411//2612 +f 1411//2612 5405//2390 7626//2393 5537//2614 +f 1405//2606 1407//2613 1412//2616 1408//2617 +f 1408//2617 1412//2616 5492//2618 5493//2619 +f 1407//2613 5538//2615 5539//2620 1412//2616 +f 1412//2616 5539//2620 7641//2621 5492//2618 +f 1405//2606 1408//2617 1413//2622 1409//2607 +f 1409//2607 1413//2622 5534//2623 5535//2610 +f 1408//2617 5493//2619 5494//2624 1413//2622 +f 1413//2622 5494//2624 7642//2625 5534//2623 +f 1414//2626 1418//2627 1419//2628 1415//2629 +f 1415//2629 1419//2628 5401//2416 5400//2411 +f 1418//2627 5541//2630 5542//2631 1419//2628 +f 1419//2628 5542//2631 7625//2417 5401//2416 +f 1414//2626 1415//2629 1420//2632 1416//2633 +f 1416//2633 1420//2632 5543//2634 5544//2635 +f 1415//2629 5400//2411 5399//2410 1420//2632 +f 1420//2632 5399//2410 7624//2413 5543//2634 +f 1414//2626 1416//2633 1421//2636 1417//2637 +f 1417//2637 1421//2636 5486//2638 5487//2639 +f 1416//2633 5544//2635 5545//2640 1421//2636 +f 1421//2636 5545//2640 7639//2641 5486//2638 +f 1414//2626 1417//2637 1422//2642 1418//2627 +f 1418//2627 1422//2642 5540//2643 5541//2630 +f 1417//2637 5487//2639 5488//2644 1422//2642 +f 1422//2642 5488//2644 7640//2645 5540//2643 +f 1423//2646 1427//2647 1428//2648 1424//2649 +f 1424//2649 1428//2648 5434//2436 5433//2431 +f 1427//2647 5547//2650 5548//2651 1428//2648 +f 1428//2648 5548//2651 7636//2437 5434//2436 +f 1423//2646 1424//2649 1429//2652 1425//2653 +f 1425//2653 1429//2652 5549//2654 5550//2655 +f 1424//2649 5433//2431 5432//2430 1429//2652 +f 1429//2652 5432//2430 7635//2433 5549//2654 +f 1423//2646 1425//2653 1430//2656 1426//2657 +f 1426//2657 1430//2656 5519//2658 5520//2659 +f 1425//2653 5550//2655 5551//2660 1430//2656 +f 1430//2656 5551//2660 7650//2661 5519//2658 +f 1423//2646 1426//2657 1431//2662 1427//2647 +f 1427//2647 1431//2662 5546//2663 5547//2650 +f 1426//2657 5520//2659 5521//2664 1431//2662 +f 1431//2662 5521//2664 7651//2665 5546//2663 +f 1432//2666 1436//2667 1437//2668 1433//2669 +f 1433//2669 1437//2668 5395//2456 5394//2451 +f 1436//2667 5553//2670 5554//2671 1437//2668 +f 1437//2668 5554//2671 7623//2457 5395//2456 +f 1432//2666 1433//2669 1438//2672 1434//2673 +f 1434//2673 1438//2672 5555//2674 5556//2675 +f 1433//2669 5394//2451 5393//2450 1438//2672 +f 1438//2672 5393//2450 7622//2453 5555//2674 +f 1432//2666 1434//2673 1439//2676 1435//2677 +f 1435//2677 1439//2676 5480//2678 5481//2679 +f 1434//2673 5556//2675 5557//2680 1439//2676 +f 1439//2676 5557//2680 7637//2681 5480//2678 +f 1432//2666 1435//2677 1440//2682 1436//2667 +f 1436//2667 1440//2682 5552//2683 5553//2670 +f 1435//2677 5481//2679 5482//2684 1440//2682 +f 1440//2682 5482//2684 7638//2685 5552//2683 +f 1441//2686 1445//2687 1446//2688 1442//2689 +f 1442//2689 1446//2688 5428//2476 5427//2471 +f 1445//2687 5559//2690 5560//2691 1446//2688 +f 1446//2688 5560//2691 7634//2477 5428//2476 +f 1441//2686 1442//2689 1447//2692 1443//2693 +f 1443//2693 1447//2692 5561//2694 5562//2695 +f 1442//2689 5427//2471 5426//2470 1447//2692 +f 1447//2692 5426//2470 7633//2473 5561//2694 +f 1441//2686 1443//2693 1448//2696 1444//2697 +f 1444//2697 1448//2696 5513//2698 5514//2699 +f 1443//2693 5562//2695 5563//2700 1448//2696 +f 1448//2696 5563//2700 7648//2701 5513//2698 +f 1441//2686 1444//2697 1449//2702 1445//2687 +f 1445//2687 1449//2702 5558//2703 5559//2690 +f 1444//2697 5514//2699 5515//2704 1449//2702 +f 1449//2702 5515//2704 7649//2705 5558//2703 +f 1450//2706 1454//2707 1455//2708 1451//2709 +f 1451//2709 1455//2708 5422//2492 5421//2489 +f 1454//2707 5565//2710 5566//2711 1455//2708 +f 1455//2708 5566//2711 7632//2493 5422//2492 +f 1450//2706 1451//2709 1456//2712 1452//2713 +f 1452//2713 1456//2712 5524//2571 5523//2570 +f 1451//2709 5421//2489 5420//2488 1456//2712 +f 1456//2712 5420//2488 7631//2357 5524//2571 +f 1450//2706 1452//2713 1457//2714 1453//2715 +f 1453//2715 1457//2714 5507//2716 5508//2717 +f 1452//2713 5523//2570 5522//2583 1457//2714 +f 1457//2714 5522//2583 7646//2585 5507//2716 +f 1450//2706 1453//2715 1458//2718 1454//2707 +f 1454//2707 1458//2718 5564//2719 5565//2710 +f 1453//2715 5508//2717 5509//2720 1458//2718 +f 1458//2718 5509//2720 7647//2721 5564//2719 +f 1459//2722 1463//2723 1464//2724 1460//2725 +f 1460//2725 1464//2724 5416//2505 5415//2503 +f 1463//2723 5526//2575 5525//2574 1464//2724 +f 1464//2724 5525//2574 7630//2353 5416//2505 +f 1459//2722 1460//2725 1465//2726 1461//2727 +f 1461//2727 1465//2726 5530//2591 5529//2590 +f 1460//2725 5415//2503 5414//2502 1465//2726 +f 1465//2726 5414//2502 7629//2377 5530//2591 +f 1459//2722 1461//2727 1466//2728 1462//2729 +f 1462//2729 1466//2728 5501//2730 5502//2731 +f 1461//2727 5529//2590 5528//2603 1466//2728 +f 1466//2728 5528//2603 7644//2605 5501//2730 +f 1459//2722 1462//2729 1467//2732 1463//2723 +f 1463//2723 1467//2732 5527//2580 5526//2575 +f 1462//2729 5502//2731 5503//2733 1467//2732 +f 1467//2732 5503//2733 7645//2581 5527//2580 +f 1468//2734 1472//2735 1473//2736 1469//2737 +f 1469//2737 1473//2736 5410//2517 5409//2515 +f 1472//2735 5532//2595 5531//2594 1473//2736 +f 1473//2736 5531//2594 7628//2373 5410//2517 +f 1468//2734 1469//2737 1474//2738 1470//2739 +f 1470//2739 1474//2738 5536//2611 5535//2610 +f 1469//2737 5409//2515 5408//2514 1474//2738 +f 1474//2738 5408//2514 7627//2397 5536//2611 +f 1468//2734 1470//2739 1475//2740 1471//2741 +f 1471//2741 1475//2740 5495//2742 5496//2743 +f 1470//2739 5535//2610 5534//2623 1475//2740 +f 1475//2740 5534//2623 7642//2625 5495//2742 +f 1468//2734 1471//2741 1476//2744 1472//2735 +f 1472//2735 1476//2744 5533//2600 5532//2595 +f 1471//2741 5496//2743 5497//2745 1476//2744 +f 1476//2744 5497//2745 7643//2601 5533//2600 +f 1477//2746 1481//2747 1482//2748 1478//2749 +f 1478//2749 1482//2748 5404//2529 5403//2527 +f 1481//2747 5538//2615 5537//2614 1482//2748 +f 1482//2748 5537//2614 7626//2393 5404//2529 +f 1477//2746 1478//2749 1483//2750 1479//2751 +f 1479//2751 1483//2750 5542//2631 5541//2630 +f 1478//2749 5403//2527 5402//2526 1483//2750 +f 1483//2750 5402//2526 7625//2417 5542//2631 +f 1477//2746 1479//2751 1484//2752 1480//2753 +f 1480//2753 1484//2752 5489//2754 5490//2755 +f 1479//2751 5541//2630 5540//2643 1484//2752 +f 1484//2752 5540//2643 7640//2645 5489//2754 +f 1477//2746 1480//2753 1485//2756 1481//2747 +f 1481//2747 1485//2756 5539//2620 5538//2615 +f 1480//2753 5490//2755 5491//2757 1485//2756 +f 1485//2756 5491//2757 7641//2621 5539//2620 +f 1486//2758 1490//2759 1491//2760 1487//2761 +f 1487//2761 1491//2760 5398//2541 5397//2539 +f 1490//2759 5544//2635 5543//2634 1491//2760 +f 1491//2760 5543//2634 7624//2413 5398//2541 +f 1486//2758 1487//2761 1492//2762 1488//2763 +f 1488//2763 1492//2762 5554//2671 5553//2670 +f 1487//2761 5397//2539 5396//2538 1492//2762 +f 1492//2762 5396//2538 7623//2457 5554//2671 +f 1486//2758 1488//2763 1493//2764 1489//2765 +f 1489//2765 1493//2764 5483//2766 5484//2767 +f 1488//2763 5553//2670 5552//2683 1493//2764 +f 1493//2764 5552//2683 7638//2685 5483//2766 +f 1486//2758 1489//2765 1494//2768 1490//2759 +f 1490//2759 1494//2768 5545//2640 5544//2635 +f 1489//2765 5484//2767 5485//2769 1494//2768 +f 1494//2768 5485//2769 7639//2641 5545//2640 +f 1495//2770 1499//2771 1500//2772 1496//2773 +f 1496//2773 1500//2772 5431//2553 5430//2551 +f 1499//2771 5550//2655 5549//2654 1500//2772 +f 1500//2772 5549//2654 7635//2433 5431//2553 +f 1495//2770 1496//2773 1501//2774 1497//2775 +f 1497//2775 1501//2774 5560//2691 5559//2690 +f 1496//2773 5430//2551 5429//2550 1501//2774 +f 1501//2774 5429//2550 7634//2477 5560//2691 +f 1495//2770 1497//2775 1502//2776 1498//2777 +f 1498//2777 1502//2776 5516//2778 5517//2779 +f 1497//2775 5559//2690 5558//2703 1502//2776 +f 1502//2776 5558//2703 7649//2705 5516//2778 +f 1495//2770 1498//2777 1503//2780 1499//2771 +f 1499//2771 1503//2780 5551//2660 5550//2655 +f 1498//2777 5517//2779 5518//2781 1503//2780 +f 1503//2780 5518//2781 7650//2661 5551//2660 +f 1504//2782 1508//2783 1509//2784 1505//2785 +f 1505//2785 1509//2784 5425//2565 5424//2563 +f 1508//2783 5562//2695 5561//2694 1509//2784 +f 1509//2784 5561//2694 7633//2473 5425//2565 +f 1504//2782 1505//2785 1510//2786 1506//2787 +f 1506//2787 1510//2786 5566//2711 5565//2710 +f 1505//2785 5424//2563 5423//2562 1510//2786 +f 1510//2786 5423//2562 7632//2493 5566//2711 +f 1504//2782 1506//2787 1511//2788 1507//2789 +f 1507//2789 1511//2788 5510//2790 5511//2791 +f 1506//2787 5565//2710 5564//2719 1511//2788 +f 1511//2788 5564//2719 7647//2721 5510//2790 +f 1504//2782 1507//2789 1512//2792 1508//2783 +f 1508//2783 1512//2792 5563//2700 5562//2695 +f 1507//2789 5511//2791 5512//2793 1512//2792 +f 1512//2792 5512//2793 7648//2701 5563//2700 +f 1513//2794 1517//2795 1518//2796 1514//2797 +f 1514//2797 1518//2796 5506//2584 5505//2579 +f 1517//2795 5610//2798 5611//2799 1518//2796 +f 1518//2796 5611//2799 7646//2585 5506//2584 +f 1513//2794 1514//2797 1519//2800 1515//2801 +f 1515//2801 1519//2800 5612//2802 5613//2803 +f 1514//2797 5505//2579 5504//2578 1519//2800 +f 1519//2800 5504//2578 7645//2581 5612//2802 +f 1513//2794 1515//2801 1520//2804 1516//2805 +f 1516//2805 1520//2804 5591//2806 5592//2807 +f 1515//2801 5613//2803 5614//2808 1520//2804 +f 1520//2804 5614//2808 7660//2809 5591//2806 +f 1513//2794 1516//2805 1521//2810 1517//2795 +f 1517//2795 1521//2810 5609//2811 5610//2798 +f 1516//2805 5592//2807 5593//2812 1521//2810 +f 1521//2810 5593//2812 7661//2813 5609//2811 +f 1522//2814 1526//2815 1527//2816 1523//2817 +f 1523//2817 1527//2816 5500//2604 5499//2599 +f 1526//2815 5616//2818 5617//2819 1527//2816 +f 1527//2816 5617//2819 7644//2605 5500//2604 +f 1522//2814 1523//2817 1528//2820 1524//2821 +f 1524//2821 1528//2820 5618//2822 5619//2823 +f 1523//2817 5499//2599 5498//2598 1528//2820 +f 1528//2820 5498//2598 7643//2601 5618//2822 +f 1522//2814 1524//2821 1529//2824 1525//2825 +f 1525//2825 1529//2824 5585//2826 5586//2827 +f 1524//2821 5619//2823 5620//2828 1529//2824 +f 1529//2824 5620//2828 7658//2829 5585//2826 +f 1522//2814 1525//2825 1530//2830 1526//2815 +f 1526//2815 1530//2830 5615//2831 5616//2818 +f 1525//2825 5586//2827 5587//2832 1530//2830 +f 1530//2830 5587//2832 7659//2833 5615//2831 +f 1531//2834 1535//2835 1536//2836 1532//2837 +f 1532//2837 1536//2836 5494//2624 5493//2619 +f 1535//2835 5622//2838 5623//2839 1536//2836 +f 1536//2836 5623//2839 7642//2625 5494//2624 +f 1531//2834 1532//2837 1537//2840 1533//2841 +f 1533//2841 1537//2840 5624//2842 5625//2843 +f 1532//2837 5493//2619 5492//2618 1537//2840 +f 1537//2840 5492//2618 7641//2621 5624//2842 +f 1531//2834 1533//2841 1538//2844 1534//2845 +f 1534//2845 1538//2844 5579//2846 5580//2847 +f 1533//2841 5625//2843 5626//2848 1538//2844 +f 1538//2844 5626//2848 7656//2849 5579//2846 +f 1531//2834 1534//2845 1539//2850 1535//2835 +f 1535//2835 1539//2850 5621//2851 5622//2838 +f 1534//2845 5580//2847 5581//2852 1539//2850 +f 1539//2850 5581//2852 7657//2853 5621//2851 +f 1540//2854 1544//2855 1545//2856 1541//2857 +f 1541//2857 1545//2856 5488//2644 5487//2639 +f 1544//2855 5628//2858 5629//2859 1545//2856 +f 1545//2856 5629//2859 7640//2645 5488//2644 +f 1540//2854 1541//2857 1546//2860 1542//2861 +f 1542//2861 1546//2860 5630//2862 5631//2863 +f 1541//2857 5487//2639 5486//2638 1546//2860 +f 1546//2860 5486//2638 7639//2641 5630//2862 +f 1540//2854 1542//2861 1547//2864 1543//2865 +f 1543//2865 1547//2864 5573//2866 5574//2867 +f 1542//2861 5631//2863 5632//2868 1547//2864 +f 1547//2864 5632//2868 7654//2869 5573//2866 +f 1540//2854 1543//2865 1548//2870 1544//2855 +f 1544//2855 1548//2870 5627//2871 5628//2858 +f 1543//2865 5574//2867 5575//2872 1548//2870 +f 1548//2870 5575//2872 7655//2873 5627//2871 +f 1549//2874 1553//2875 1554//2876 1550//2877 +f 1550//2877 1554//2876 5521//2664 5520//2659 +f 1553//2875 5634//2878 5635//2879 1554//2876 +f 1554//2876 5635//2879 7651//2665 5521//2664 +f 1549//2874 1550//2877 1555//2880 1551//2881 +f 1551//2881 1555//2880 5636//2882 5637//2883 +f 1550//2877 5520//2659 5519//2658 1555//2880 +f 1555//2880 5519//2658 7650//2661 5636//2882 +f 1549//2874 1551//2881 1556//2884 1552//2885 +f 1552//2885 1556//2884 5606//2886 5607//2887 +f 1551//2881 5637//2883 5638//2888 1556//2884 +f 1556//2884 5638//2888 7665//2889 5606//2886 +f 1549//2874 1552//2885 1557//2890 1553//2875 +f 1553//2875 1557//2890 5633//2891 5634//2878 +f 1552//2885 5607//2887 5608//2892 1557//2890 +f 1557//2890 5608//2892 7666//2893 5633//2891 +f 1558//2894 1562//2895 1563//2896 1559//2897 +f 1559//2897 1563//2896 5482//2684 5481//2679 +f 1562//2895 5640//2898 5641//2899 1563//2896 +f 1563//2896 5641//2899 7638//2685 5482//2684 +f 1558//2894 1559//2897 1564//2900 1560//2901 +f 1560//2901 1564//2900 5642//2902 5643//2903 +f 1559//2897 5481//2679 5480//2678 1564//2900 +f 1564//2900 5480//2678 7637//2681 5642//2902 +f 1558//2894 1560//2901 1565//2904 1561//2905 +f 1561//2905 1565//2904 5567//2906 5568//2907 +f 1560//2901 5643//2903 5644//2908 1565//2904 +f 1565//2904 5644//2908 7652//2909 5567//2906 +f 1558//2894 1561//2905 1566//2910 1562//2895 +f 1562//2895 1566//2910 5639//2911 5640//2898 +f 1561//2905 5568//2907 5569//2912 1566//2910 +f 1566//2910 5569//2912 7653//2913 5639//2911 +f 1567//2914 1571//2915 1572//2916 1568//2917 +f 1568//2917 1572//2916 5515//2704 5514//2699 +f 1571//2915 5646//2918 5647//2919 1572//2916 +f 1572//2916 5647//2919 7649//2705 5515//2704 +f 1567//2914 1568//2917 1573//2920 1569//2921 +f 1569//2921 1573//2920 5648//2922 5649//2923 +f 1568//2917 5514//2699 5513//2698 1573//2920 +f 1573//2920 5513//2698 7648//2701 5648//2922 +f 1567//2914 1569//2921 1574//2924 1570//2925 +f 1570//2925 1574//2924 5600//2926 5601//2927 +f 1569//2921 5649//2923 5650//2928 1574//2924 +f 1574//2924 5650//2928 7663//2929 5600//2926 +f 1567//2914 1570//2925 1575//2930 1571//2915 +f 1571//2915 1575//2930 5645//2931 5646//2918 +f 1570//2925 5601//2927 5602//2932 1575//2930 +f 1575//2930 5602//2932 7664//2933 5645//2931 +f 1576//2934 1580//2935 1581//2936 1577//2937 +f 1577//2937 1581//2936 5509//2720 5508//2717 +f 1580//2935 5652//2938 5653//2939 1581//2936 +f 1581//2936 5653//2939 7647//2721 5509//2720 +f 1576//2934 1577//2937 1582//2940 1578//2941 +f 1578//2941 1582//2940 5611//2799 5610//2798 +f 1577//2937 5508//2717 5507//2716 1582//2940 +f 1582//2940 5507//2716 7646//2585 5611//2799 +f 1576//2934 1578//2941 1583//2942 1579//2943 +f 1579//2943 1583//2942 5594//2944 5595//2945 +f 1578//2941 5610//2798 5609//2811 1583//2942 +f 1583//2942 5609//2811 7661//2813 5594//2944 +f 1576//2934 1579//2943 1584//2946 1580//2935 +f 1580//2935 1584//2946 5651//2947 5652//2938 +f 1579//2943 5595//2945 5596//2948 1584//2946 +f 1584//2946 5596//2948 7662//2949 5651//2947 +f 1585//2950 1589//2951 1590//2952 1586//2953 +f 1586//2953 1590//2952 5503//2733 5502//2731 +f 1589//2951 5613//2803 5612//2802 1590//2952 +f 1590//2952 5612//2802 7645//2581 5503//2733 +f 1585//2950 1586//2953 1591//2954 1587//2955 +f 1587//2955 1591//2954 5617//2819 5616//2818 +f 1586//2953 5502//2731 5501//2730 1591//2954 +f 1591//2954 5501//2730 7644//2605 5617//2819 +f 1585//2950 1587//2955 1592//2956 1588//2957 +f 1588//2957 1592//2956 5588//2958 5589//2959 +f 1587//2955 5616//2818 5615//2831 1592//2956 +f 1592//2956 5615//2831 7659//2833 5588//2958 +f 1585//2950 1588//2957 1593//2960 1589//2951 +f 1589//2951 1593//2960 5614//2808 5613//2803 +f 1588//2957 5589//2959 5590//2961 1593//2960 +f 1593//2960 5590//2961 7660//2809 5614//2808 +f 1594//2962 1598//2963 1599//2964 1595//2965 +f 1595//2965 1599//2964 5497//2745 5496//2743 +f 1598//2963 5619//2823 5618//2822 1599//2964 +f 1599//2964 5618//2822 7643//2601 5497//2745 +f 1594//2962 1595//2965 1600//2966 1596//2967 +f 1596//2967 1600//2966 5623//2839 5622//2838 +f 1595//2965 5496//2743 5495//2742 1600//2966 +f 1600//2966 5495//2742 7642//2625 5623//2839 +f 1594//2962 1596//2967 1601//2968 1597//2969 +f 1597//2969 1601//2968 5582//2970 5583//2971 +f 1596//2967 5622//2838 5621//2851 1601//2968 +f 1601//2968 5621//2851 7657//2853 5582//2970 +f 1594//2962 1597//2969 1602//2972 1598//2963 +f 1598//2963 1602//2972 5620//2828 5619//2823 +f 1597//2969 5583//2971 5584//2973 1602//2972 +f 1602//2972 5584//2973 7658//2829 5620//2828 +f 1603//2974 1607//2975 1608//2976 1604//2977 +f 1604//2977 1608//2976 5491//2757 5490//2755 +f 1607//2975 5625//2843 5624//2842 1608//2976 +f 1608//2976 5624//2842 7641//2621 5491//2757 +f 1603//2974 1604//2977 1609//2978 1605//2979 +f 1605//2979 1609//2978 5629//2859 5628//2858 +f 1604//2977 5490//2755 5489//2754 1609//2978 +f 1609//2978 5489//2754 7640//2645 5629//2859 +f 1603//2974 1605//2979 1610//2980 1606//2981 +f 1606//2981 1610//2980 5576//2982 5577//2983 +f 1605//2979 5628//2858 5627//2871 1610//2980 +f 1610//2980 5627//2871 7655//2873 5576//2982 +f 1603//2974 1606//2981 1611//2984 1607//2975 +f 1607//2975 1611//2984 5626//2848 5625//2843 +f 1606//2981 5577//2983 5578//2985 1611//2984 +f 1611//2984 5578//2985 7656//2849 5626//2848 +f 1612//2986 1616//2987 1617//2988 1613//2989 +f 1613//2989 1617//2988 5485//2769 5484//2767 +f 1616//2987 5631//2863 5630//2862 1617//2988 +f 1617//2988 5630//2862 7639//2641 5485//2769 +f 1612//2986 1613//2989 1618//2990 1614//2991 +f 1614//2991 1618//2990 5641//2899 5640//2898 +f 1613//2989 5484//2767 5483//2766 1618//2990 +f 1618//2990 5483//2766 7638//2685 5641//2899 +f 1612//2986 1614//2991 1619//2992 1615//2993 +f 1615//2993 1619//2992 5570//2994 5571//2995 +f 1614//2991 5640//2898 5639//2911 1619//2992 +f 1619//2992 5639//2911 7653//2913 5570//2994 +f 1612//2986 1615//2993 1620//2996 1616//2987 +f 1616//2987 1620//2996 5632//2868 5631//2863 +f 1615//2993 5571//2995 5572//2997 1620//2996 +f 1620//2996 5572//2997 7654//2869 5632//2868 +f 1621//2998 1625//2999 1626//3000 1622//3001 +f 1622//3001 1626//3000 5518//2781 5517//2779 +f 1625//2999 5637//2883 5636//2882 1626//3000 +f 1626//3000 5636//2882 7650//2661 5518//2781 +f 1621//2998 1622//3001 1627//3002 1623//3003 +f 1623//3003 1627//3002 5647//2919 5646//2918 +f 1622//3001 5517//2779 5516//2778 1627//3002 +f 1627//3002 5516//2778 7649//2705 5647//2919 +f 1621//2998 1623//3003 1628//3004 1624//3005 +f 1624//3005 1628//3004 5603//3006 5604//3007 +f 1623//3003 5646//2918 5645//2931 1628//3004 +f 1628//3004 5645//2931 7664//2933 5603//3006 +f 1621//2998 1624//3005 1629//3008 1625//2999 +f 1625//2999 1629//3008 5638//2888 5637//2883 +f 1624//3005 5604//3007 5605//3009 1629//3008 +f 1629//3008 5605//3009 7665//2889 5638//2888 +f 1630//3010 1634//3011 1635//3012 1631//3013 +f 1631//3013 1635//3012 5512//2793 5511//2791 +f 1634//3011 5649//2923 5648//2922 1635//3012 +f 1635//3012 5648//2922 7648//2701 5512//2793 +f 1630//3010 1631//3013 1636//3014 1632//3015 +f 1632//3015 1636//3014 5653//2939 5652//2938 +f 1631//3013 5511//2791 5510//2790 1636//3014 +f 1636//3014 5510//2790 7647//2721 5653//2939 +f 1630//3010 1632//3015 1637//3016 1633//3017 +f 1633//3017 1637//3016 5597//3018 5598//3019 +f 1632//3015 5652//2938 5651//2947 1637//3016 +f 1637//3016 5651//2947 7662//2949 5597//3018 +f 1630//3010 1633//3017 1638//3020 1634//3011 +f 1634//3011 1638//3020 5650//2928 5649//2923 +f 1633//3017 5598//3019 5599//3021 1638//3020 +f 1638//3020 5599//3021 7663//2929 5650//2928 +f 1639//3022 1643//3023 1644//3024 1640//3025 +f 1640//3025 1644//3024 5593//2812 5592//2807 +f 1643//3023 5697//3026 5698//3027 1644//3024 +f 1644//3024 5698//3027 7661//2813 5593//2812 +f 1639//3022 1640//3025 1645//3028 1641//3029 +f 1641//3029 1645//3028 5699//3030 5700//3031 +f 1640//3025 5592//2807 5591//2806 1645//3028 +f 1645//3028 5591//2806 7660//2809 5699//3030 +f 1639//3022 1641//3029 1646//3032 1642//3033 +f 1642//3033 1646//3032 5678//3034 5679//3035 +f 1641//3029 5700//3031 5701//3036 1646//3032 +f 1646//3032 5701//3036 7675//3037 5678//3034 +f 1639//3022 1642//3033 1647//3038 1643//3023 +f 1643//3023 1647//3038 5696//3039 5697//3026 +f 1642//3033 5679//3035 5680//3040 1647//3038 +f 1647//3038 5680//3040 7676//3041 5696//3039 +f 1648//3042 1652//3043 1653//3044 1649//3045 +f 1649//3045 1653//3044 5587//2832 5586//2827 +f 1652//3043 5703//3046 5704//3047 1653//3044 +f 1653//3044 5704//3047 7659//2833 5587//2832 +f 1648//3042 1649//3045 1654//3048 1650//3049 +f 1650//3049 1654//3048 5705//3050 5706//3051 +f 1649//3045 5586//2827 5585//2826 1654//3048 +f 1654//3048 5585//2826 7658//2829 5705//3050 +f 1648//3042 1650//3049 1655//3052 1651//3053 +f 1651//3053 1655//3052 5672//3054 5673//3055 +f 1650//3049 5706//3051 5707//3056 1655//3052 +f 1655//3052 5707//3056 7673//3057 5672//3054 +f 1648//3042 1651//3053 1656//3058 1652//3043 +f 1652//3043 1656//3058 5702//3059 5703//3046 +f 1651//3053 5673//3055 5674//3060 1656//3058 +f 1656//3058 5674//3060 7674//3061 5702//3059 +f 1657//3062 1661//3063 1662//3064 1658//3065 +f 1658//3065 1662//3064 5581//2852 5580//2847 +f 1661//3063 5709//3066 5710//3067 1662//3064 +f 1662//3064 5710//3067 7657//2853 5581//2852 +f 1657//3062 1658//3065 1663//3068 1659//3069 +f 1659//3069 1663//3068 5711//3070 5712//3071 +f 1658//3065 5580//2847 5579//2846 1663//3068 +f 1663//3068 5579//2846 7656//2849 5711//3070 +f 1657//3062 1659//3069 1664//3072 1660//3073 +f 1660//3073 1664//3072 5666//3074 5667//3075 +f 1659//3069 5712//3071 5713//3076 1664//3072 +f 1664//3072 5713//3076 7671//3077 5666//3074 +f 1657//3062 1660//3073 1665//3078 1661//3063 +f 1661//3063 1665//3078 5708//3079 5709//3066 +f 1660//3073 5667//3075 5668//3080 1665//3078 +f 1665//3078 5668//3080 7672//3081 5708//3079 +f 1666//3082 1670//3083 1671//3084 1667//3085 +f 1667//3085 1671//3084 5575//2872 5574//2867 +f 1670//3083 5715//3086 5716//3087 1671//3084 +f 1671//3084 5716//3087 7655//2873 5575//2872 +f 1666//3082 1667//3085 1672//3088 1668//3089 +f 1668//3089 1672//3088 5717//3090 5718//3091 +f 1667//3085 5574//2867 5573//2866 1672//3088 +f 1672//3088 5573//2866 7654//2869 5717//3090 +f 1666//3082 1668//3089 1673//3092 1669//3093 +f 1669//3093 1673//3092 5660//3094 5661//3095 +f 1668//3089 5718//3091 5719//3096 1673//3092 +f 1673//3092 5719//3096 7669//3097 5660//3094 +f 1666//3082 1669//3093 1674//3098 1670//3083 +f 1670//3083 1674//3098 5714//3099 5715//3086 +f 1669//3093 5661//3095 5662//3100 1674//3098 +f 1674//3098 5662//3100 7670//3101 5714//3099 +f 1675//3102 1679//3103 1680//3104 1676//3105 +f 1676//3105 1680//3104 5608//2892 5607//2887 +f 1679//3103 5721//3106 5722//3107 1680//3104 +f 1680//3104 5722//3107 7666//2893 5608//2892 +f 1675//3102 1676//3105 1681//3108 1677//3109 +f 1677//3109 1681//3108 5723//3110 5724//3111 +f 1676//3105 5607//2887 5606//2886 1681//3108 +f 1681//3108 5606//2886 7665//2889 5723//3110 +f 1675//3102 1677//3109 1682//3112 1678//3113 +f 1678//3113 1682//3112 5693//3114 5694//3115 +f 1677//3109 5724//3111 5725//3116 1682//3112 +f 1682//3112 5725//3116 7680//3117 5693//3114 +f 1675//3102 1678//3113 1683//3118 1679//3103 +f 1679//3103 1683//3118 5720//3119 5721//3106 +f 1678//3113 5694//3115 5695//3120 1683//3118 +f 1683//3118 5695//3120 7681//3121 5720//3119 +f 1684//3122 1688//3123 1689//3124 1685//3125 +f 1685//3125 1689//3124 5569//2912 5568//2907 +f 1688//3123 5727//3126 5728//3127 1689//3124 +f 1689//3124 5728//3127 7653//2913 5569//2912 +f 1684//3122 1685//3125 1690//3128 1686//3129 +f 1686//3129 1690//3128 5729//3130 5730//3131 +f 1685//3125 5568//2907 5567//2906 1690//3128 +f 1690//3128 5567//2906 7652//2909 5729//3130 +f 1684//3122 1686//3129 1691//3132 1687//3133 +f 1687//3133 1691//3132 5654//3134 5655//3135 +f 1686//3129 5730//3131 5731//3136 1691//3132 +f 1691//3132 5731//3136 7667//3137 5654//3134 +f 1684//3122 1687//3133 1692//3138 1688//3123 +f 1688//3123 1692//3138 5726//3139 5727//3126 +f 1687//3133 5655//3135 5656//3140 1692//3138 +f 1692//3138 5656//3140 7668//3141 5726//3139 +f 1693//3142 1697//3143 1698//3144 1694//3145 +f 1694//3145 1698//3144 5602//2932 5601//2927 +f 1697//3143 5733//3146 5734//3147 1698//3144 +f 1698//3144 5734//3147 7664//2933 5602//2932 +f 1693//3142 1694//3145 1699//3148 1695//3149 +f 1695//3149 1699//3148 5735//3150 5736//3151 +f 1694//3145 5601//2927 5600//2926 1699//3148 +f 1699//3148 5600//2926 7663//2929 5735//3150 +f 1693//3142 1695//3149 1700//3152 1696//3153 +f 1696//3153 1700//3152 5687//3154 5688//3155 +f 1695//3149 5736//3151 5737//3156 1700//3152 +f 1700//3152 5737//3156 7678//3157 5687//3154 +f 1693//3142 1696//3153 1701//3158 1697//3143 +f 1697//3143 1701//3158 5732//3159 5733//3146 +f 1696//3153 5688//3155 5689//3160 1701//3158 +f 1701//3158 5689//3160 7679//3161 5732//3159 +f 1702//3162 1706//3163 1707//3164 1703//3165 +f 1703//3165 1707//3164 5596//2948 5595//2945 +f 1706//3163 5739//3166 5740//3167 1707//3164 +f 1707//3164 5740//3167 7662//2949 5596//2948 +f 1702//3162 1703//3165 1708//3168 1704//3169 +f 1704//3169 1708//3168 5698//3027 5697//3026 +f 1703//3165 5595//2945 5594//2944 1708//3168 +f 1708//3168 5594//2944 7661//2813 5698//3027 +f 1702//3162 1704//3169 1709//3170 1705//3171 +f 1705//3171 1709//3170 5681//3172 5682//3173 +f 1704//3169 5697//3026 5696//3039 1709//3170 +f 1709//3170 5696//3039 7676//3041 5681//3172 +f 1702//3162 1705//3171 1710//3174 1706//3163 +f 1706//3163 1710//3174 5738//3175 5739//3166 +f 1705//3171 5682//3173 5683//3176 1710//3174 +f 1710//3174 5683//3176 7677//3177 5738//3175 +f 1711//3178 1715//3179 1716//3180 1712//3181 +f 1712//3181 1716//3180 5590//2961 5589//2959 +f 1715//3179 5700//3031 5699//3030 1716//3180 +f 1716//3180 5699//3030 7660//2809 5590//2961 +f 1711//3178 1712//3181 1717//3182 1713//3183 +f 1713//3183 1717//3182 5704//3047 5703//3046 +f 1712//3181 5589//2959 5588//2958 1717//3182 +f 1717//3182 5588//2958 7659//2833 5704//3047 +f 1711//3178 1713//3183 1718//3184 1714//3185 +f 1714//3185 1718//3184 5675//3186 5676//3187 +f 1713//3183 5703//3046 5702//3059 1718//3184 +f 1718//3184 5702//3059 7674//3061 5675//3186 +f 1711//3178 1714//3185 1719//3188 1715//3179 +f 1715//3179 1719//3188 5701//3036 5700//3031 +f 1714//3185 5676//3187 5677//3189 1719//3188 +f 1719//3188 5677//3189 7675//3037 5701//3036 +f 1720//3190 1724//3191 1725//3192 1721//3193 +f 1721//3193 1725//3192 5584//2973 5583//2971 +f 1724//3191 5706//3051 5705//3050 1725//3192 +f 1725//3192 5705//3050 7658//2829 5584//2973 +f 1720//3190 1721//3193 1726//3194 1722//3195 +f 1722//3195 1726//3194 5710//3067 5709//3066 +f 1721//3193 5583//2971 5582//2970 1726//3194 +f 1726//3194 5582//2970 7657//2853 5710//3067 +f 1720//3190 1722//3195 1727//3196 1723//3197 +f 1723//3197 1727//3196 5669//3198 5670//3199 +f 1722//3195 5709//3066 5708//3079 1727//3196 +f 1727//3196 5708//3079 7672//3081 5669//3198 +f 1720//3190 1723//3197 1728//3200 1724//3191 +f 1724//3191 1728//3200 5707//3056 5706//3051 +f 1723//3197 5670//3199 5671//3201 1728//3200 +f 1728//3200 5671//3201 7673//3057 5707//3056 +f 1729//3202 1733//3203 1734//3204 1730//3205 +f 1730//3205 1734//3204 5578//2985 5577//2983 +f 1733//3203 5712//3071 5711//3070 1734//3204 +f 1734//3204 5711//3070 7656//2849 5578//2985 +f 1729//3202 1730//3205 1735//3206 1731//3207 +f 1731//3207 1735//3206 5716//3087 5715//3086 +f 1730//3205 5577//2983 5576//2982 1735//3206 +f 1735//3206 5576//2982 7655//2873 5716//3087 +f 1729//3202 1731//3207 1736//3208 1732//3209 +f 1732//3209 1736//3208 5663//3210 5664//3211 +f 1731//3207 5715//3086 5714//3099 1736//3208 +f 1736//3208 5714//3099 7670//3101 5663//3210 +f 1729//3202 1732//3209 1737//3212 1733//3203 +f 1733//3203 1737//3212 5713//3076 5712//3071 +f 1732//3209 5664//3211 5665//3213 1737//3212 +f 1737//3212 5665//3213 7671//3077 5713//3076 +f 1738//3214 1742//3215 1743//3216 1739//3217 +f 1739//3217 1743//3216 5572//2997 5571//2995 +f 1742//3215 5718//3091 5717//3090 1743//3216 +f 1743//3216 5717//3090 7654//2869 5572//2997 +f 1738//3214 1739//3217 1744//3218 1740//3219 +f 1740//3219 1744//3218 5728//3127 5727//3126 +f 1739//3217 5571//2995 5570//2994 1744//3218 +f 1744//3218 5570//2994 7653//2913 5728//3127 +f 1738//3214 1740//3219 1745//3220 1741//3221 +f 1741//3221 1745//3220 5657//3222 5658//3223 +f 1740//3219 5727//3126 5726//3139 1745//3220 +f 1745//3220 5726//3139 7668//3141 5657//3222 +f 1738//3214 1741//3221 1746//3224 1742//3215 +f 1742//3215 1746//3224 5719//3096 5718//3091 +f 1741//3221 5658//3223 5659//3225 1746//3224 +f 1746//3224 5659//3225 7669//3097 5719//3096 +f 1747//3226 1751//3227 1752//3228 1748//3229 +f 1748//3229 1752//3228 5605//3009 5604//3007 +f 1751//3227 5724//3111 5723//3110 1752//3228 +f 1752//3228 5723//3110 7665//2889 5605//3009 +f 1747//3226 1748//3229 1753//3230 1749//3231 +f 1749//3231 1753//3230 5734//3147 5733//3146 +f 1748//3229 5604//3007 5603//3006 1753//3230 +f 1753//3230 5603//3006 7664//2933 5734//3147 +f 1747//3226 1749//3231 1754//3232 1750//3233 +f 1750//3233 1754//3232 5690//3234 5691//3235 +f 1749//3231 5733//3146 5732//3159 1754//3232 +f 1754//3232 5732//3159 7679//3161 5690//3234 +f 1747//3226 1750//3233 1755//3236 1751//3227 +f 1751//3227 1755//3236 5725//3116 5724//3111 +f 1750//3233 5691//3235 5692//3237 1755//3236 +f 1755//3236 5692//3237 7680//3117 5725//3116 +f 1756//3238 1760//3239 1761//3240 1757//3241 +f 1757//3241 1761//3240 5599//3021 5598//3019 +f 1760//3239 5736//3151 5735//3150 1761//3240 +f 1761//3240 5735//3150 7663//2929 5599//3021 +f 1756//3238 1757//3241 1762//3242 1758//3243 +f 1758//3243 1762//3242 5740//3167 5739//3166 +f 1757//3241 5598//3019 5597//3018 1762//3242 +f 1762//3242 5597//3018 7662//2949 5740//3167 +f 1756//3238 1758//3243 1763//3244 1759//3245 +f 1759//3245 1763//3244 5684//3246 5685//3247 +f 1758//3243 5739//3166 5738//3175 1763//3244 +f 1763//3244 5738//3175 7677//3177 5684//3246 +f 1756//3238 1759//3245 1764//3248 1760//3239 +f 1760//3239 1764//3248 5737//3156 5736//3151 +f 1759//3245 5685//3247 5686//3249 1764//3248 +f 1764//3248 5686//3249 7678//3157 5737//3156 +f 1765//3250 1769//3251 1770//3252 1766//3253 +f 1766//3253 1770//3252 5680//3040 5679//3035 +f 1769//3251 5784//3254 5785//3255 1770//3252 +f 1770//3252 5785//3255 7676//3041 5680//3040 +f 1765//3250 1766//3253 1771//3256 1767//3257 +f 1767//3257 1771//3256 5786//3258 5787//3259 +f 1766//3253 5679//3035 5678//3034 1771//3256 +f 1771//3256 5678//3034 7675//3037 5786//3258 +f 1765//3250 1767//3257 1772//3260 1768//3261 +f 1768//3261 1772//3260 5765//3262 5766//3263 +f 1767//3257 5787//3259 5788//3264 1772//3260 +f 1772//3260 5788//3264 7690//3265 5765//3262 +f 1765//3250 1768//3261 1773//3266 1769//3251 +f 1769//3251 1773//3266 5783//3267 5784//3254 +f 1768//3261 5766//3263 5767//3268 1773//3266 +f 1773//3266 5767//3268 7691//3269 5783//3267 +f 1774//3270 1778//3271 1779//3272 1775//3273 +f 1775//3273 1779//3272 5674//3060 5673//3055 +f 1778//3271 5790//3274 5791//3275 1779//3272 +f 1779//3272 5791//3275 7674//3061 5674//3060 +f 1774//3270 1775//3273 1780//3276 1776//3277 +f 1776//3277 1780//3276 5792//3278 5793//3279 +f 1775//3273 5673//3055 5672//3054 1780//3276 +f 1780//3276 5672//3054 7673//3057 5792//3278 +f 1774//3270 1776//3277 1781//3280 1777//3281 +f 1777//3281 1781//3280 5759//3282 5760//3283 +f 1776//3277 5793//3279 5794//3284 1781//3280 +f 1781//3280 5794//3284 7688//3285 5759//3282 +f 1774//3270 1777//3281 1782//3286 1778//3271 +f 1778//3271 1782//3286 5789//3287 5790//3274 +f 1777//3281 5760//3283 5761//3288 1782//3286 +f 1782//3286 5761//3288 7689//3289 5789//3287 +f 1783//3290 1787//3291 1788//3292 1784//3293 +f 1784//3293 1788//3292 5668//3080 5667//3075 +f 1787//3291 5796//3294 5797//3295 1788//3292 +f 1788//3292 5797//3295 7672//3081 5668//3080 +f 1783//3290 1784//3293 1789//3296 1785//3297 +f 1785//3297 1789//3296 5798//3298 5799//3299 +f 1784//3293 5667//3075 5666//3074 1789//3296 +f 1789//3296 5666//3074 7671//3077 5798//3298 +f 1783//3290 1785//3297 1790//3300 1786//3301 +f 1786//3301 1790//3300 5753//3302 5754//3303 +f 1785//3297 5799//3299 5800//3304 1790//3300 +f 1790//3300 5800//3304 7686//3305 5753//3302 +f 1783//3290 1786//3301 1791//3306 1787//3291 +f 1787//3291 1791//3306 5795//3307 5796//3294 +f 1786//3301 5754//3303 5755//3308 1791//3306 +f 1791//3306 5755//3308 7687//3309 5795//3307 +f 1792//3310 1796//3311 1797//3312 1793//3313 +f 1793//3313 1797//3312 5662//3100 5661//3095 +f 1796//3311 5802//3314 5803//3315 1797//3312 +f 1797//3312 5803//3315 7670//3101 5662//3100 +f 1792//3310 1793//3313 1798//3316 1794//3317 +f 1794//3317 1798//3316 5804//3318 5805//3319 +f 1793//3313 5661//3095 5660//3094 1798//3316 +f 1798//3316 5660//3094 7669//3097 5804//3318 +f 1792//3310 1794//3317 1799//3320 1795//3321 +f 1795//3321 1799//3320 5747//3322 5748//3323 +f 1794//3317 5805//3319 5806//3324 1799//3320 +f 1799//3320 5806//3324 7684//3325 5747//3322 +f 1792//3310 1795//3321 1800//3326 1796//3311 +f 1796//3311 1800//3326 5801//3327 5802//3314 +f 1795//3321 5748//3323 5749//3328 1800//3326 +f 1800//3326 5749//3328 7685//3329 5801//3327 +f 1801//3330 1805//3331 1806//3332 1802//3333 +f 1802//3333 1806//3332 5695//3120 5694//3115 +f 1805//3331 5808//3334 5809//3335 1806//3332 +f 1806//3332 5809//3335 7681//3121 5695//3120 +f 1801//3330 1802//3333 1807//3336 1803//3337 +f 1803//3337 1807//3336 5810//3338 5811//3339 +f 1802//3333 5694//3115 5693//3114 1807//3336 +f 1807//3336 5693//3114 7680//3117 5810//3338 +f 1801//3330 1803//3337 1808//3340 1804//3341 +f 1804//3341 1808//3340 5780//3342 5781//3343 +f 1803//3337 5811//3339 5812//3344 1808//3340 +f 1808//3340 5812//3344 7695//3345 5780//3342 +f 1801//3330 1804//3341 1809//3346 1805//3331 +f 1805//3331 1809//3346 5807//3347 5808//3334 +f 1804//3341 5781//3343 5782//3348 1809//3346 +f 1809//3346 5782//3348 7696//3349 5807//3347 +f 1810//3350 1814//3351 1815//3352 1811//3353 +f 1811//3353 1815//3352 5656//3140 5655//3135 +f 1814//3351 5814//3354 5815//3355 1815//3352 +f 1815//3352 5815//3355 7668//3141 5656//3140 +f 1810//3350 1811//3353 1816//3356 1812//3357 +f 1812//3357 1816//3356 5816//3358 5817//3359 +f 1811//3353 5655//3135 5654//3134 1816//3356 +f 1816//3356 5654//3134 7667//3137 5816//3358 +f 1810//3350 1812//3357 1817//3360 1813//3361 +f 1813//3361 1817//3360 5741//3362 5742//3363 +f 1812//3357 5817//3359 5818//3364 1817//3360 +f 1817//3360 5818//3364 7682//3365 5741//3362 +f 1810//3350 1813//3361 1818//3366 1814//3351 +f 1814//3351 1818//3366 5813//3367 5814//3354 +f 1813//3361 5742//3363 5743//3368 1818//3366 +f 1818//3366 5743//3368 7683//3369 5813//3367 +f 1819//3370 1823//3371 1824//3372 1820//3373 +f 1820//3373 1824//3372 5689//3160 5688//3155 +f 1823//3371 5820//3374 5821//3375 1824//3372 +f 1824//3372 5821//3375 7679//3161 5689//3160 +f 1819//3370 1820//3373 1825//3376 1821//3377 +f 1821//3377 1825//3376 5822//3378 5823//3379 +f 1820//3373 5688//3155 5687//3154 1825//3376 +f 1825//3376 5687//3154 7678//3157 5822//3378 +f 1819//3370 1821//3377 1826//3380 1822//3381 +f 1822//3381 1826//3380 5774//3382 5775//3383 +f 1821//3377 5823//3379 5824//3384 1826//3380 +f 1826//3380 5824//3384 7693//3385 5774//3382 +f 1819//3370 1822//3381 1827//3386 1823//3371 +f 1823//3371 1827//3386 5819//3387 5820//3374 +f 1822//3381 5775//3383 5776//3388 1827//3386 +f 1827//3386 5776//3388 7694//3389 5819//3387 +f 1828//3390 1832//3391 1833//3392 1829//3393 +f 1829//3393 1833//3392 5683//3176 5682//3173 +f 1832//3391 5826//3394 5827//3395 1833//3392 +f 1833//3392 5827//3395 7677//3177 5683//3176 +f 1828//3390 1829//3393 1834//3396 1830//3397 +f 1830//3397 1834//3396 5785//3255 5784//3254 +f 1829//3393 5682//3173 5681//3172 1834//3396 +f 1834//3396 5681//3172 7676//3041 5785//3255 +f 1828//3390 1830//3397 1835//3398 1831//3399 +f 1831//3399 1835//3398 5768//3400 5769//3401 +f 1830//3397 5784//3254 5783//3267 1835//3398 +f 1835//3398 5783//3267 7691//3269 5768//3400 +f 1828//3390 1831//3399 1836//3402 1832//3391 +f 1832//3391 1836//3402 5825//3403 5826//3394 +f 1831//3399 5769//3401 5770//3404 1836//3402 +f 1836//3402 5770//3404 7692//3405 5825//3403 +f 1837//3406 1841//3407 1842//3408 1838//3409 +f 1838//3409 1842//3408 5677//3189 5676//3187 +f 1841//3407 5787//3259 5786//3258 1842//3408 +f 1842//3408 5786//3258 7675//3037 5677//3189 +f 1837//3406 1838//3409 1843//3410 1839//3411 +f 1839//3411 1843//3410 5791//3275 5790//3274 +f 1838//3409 5676//3187 5675//3186 1843//3410 +f 1843//3410 5675//3186 7674//3061 5791//3275 +f 1837//3406 1839//3411 1844//3412 1840//3413 +f 1840//3413 1844//3412 5762//3414 5763//3415 +f 1839//3411 5790//3274 5789//3287 1844//3412 +f 1844//3412 5789//3287 7689//3289 5762//3414 +f 1837//3406 1840//3413 1845//3416 1841//3407 +f 1841//3407 1845//3416 5788//3264 5787//3259 +f 1840//3413 5763//3415 5764//3417 1845//3416 +f 1845//3416 5764//3417 7690//3265 5788//3264 +f 1846//3418 1850//3419 1851//3420 1847//3421 +f 1847//3421 1851//3420 5671//3201 5670//3199 +f 1850//3419 5793//3279 5792//3278 1851//3420 +f 1851//3420 5792//3278 7673//3057 5671//3201 +f 1846//3418 1847//3421 1852//3422 1848//3423 +f 1848//3423 1852//3422 5797//3295 5796//3294 +f 1847//3421 5670//3199 5669//3198 1852//3422 +f 1852//3422 5669//3198 7672//3081 5797//3295 +f 1846//3418 1848//3423 1853//3424 1849//3425 +f 1849//3425 1853//3424 5756//3426 5757//3427 +f 1848//3423 5796//3294 5795//3307 1853//3424 +f 1853//3424 5795//3307 7687//3309 5756//3426 +f 1846//3418 1849//3425 1854//3428 1850//3419 +f 1850//3419 1854//3428 5794//3284 5793//3279 +f 1849//3425 5757//3427 5758//3429 1854//3428 +f 1854//3428 5758//3429 7688//3285 5794//3284 +f 1855//3430 1859//3431 1860//3432 1856//3433 +f 1856//3433 1860//3432 5665//3213 5664//3211 +f 1859//3431 5799//3299 5798//3298 1860//3432 +f 1860//3432 5798//3298 7671//3077 5665//3213 +f 1855//3430 1856//3433 1861//3434 1857//3435 +f 1857//3435 1861//3434 5803//3315 5802//3314 +f 1856//3433 5664//3211 5663//3210 1861//3434 +f 1861//3434 5663//3210 7670//3101 5803//3315 +f 1855//3430 1857//3435 1862//3436 1858//3437 +f 1858//3437 1862//3436 5750//3438 5751//3439 +f 1857//3435 5802//3314 5801//3327 1862//3436 +f 1862//3436 5801//3327 7685//3329 5750//3438 +f 1855//3430 1858//3437 1863//3440 1859//3431 +f 1859//3431 1863//3440 5800//3304 5799//3299 +f 1858//3437 5751//3439 5752//3441 1863//3440 +f 1863//3440 5752//3441 7686//3305 5800//3304 +f 1864//3442 1868//3443 1869//3444 1865//3445 +f 1865//3445 1869//3444 5659//3225 5658//3223 +f 1868//3443 5805//3319 5804//3318 1869//3444 +f 1869//3444 5804//3318 7669//3097 5659//3225 +f 1864//3442 1865//3445 1870//3446 1866//3447 +f 1866//3447 1870//3446 5815//3355 5814//3354 +f 1865//3445 5658//3223 5657//3222 1870//3446 +f 1870//3446 5657//3222 7668//3141 5815//3355 +f 1864//3442 1866//3447 1871//3448 1867//3449 +f 1867//3449 1871//3448 5744//3450 5745//3451 +f 1866//3447 5814//3354 5813//3367 1871//3448 +f 1871//3448 5813//3367 7683//3369 5744//3450 +f 1864//3442 1867//3449 1872//3452 1868//3443 +f 1868//3443 1872//3452 5806//3324 5805//3319 +f 1867//3449 5745//3451 5746//3453 1872//3452 +f 1872//3452 5746//3453 7684//3325 5806//3324 +f 1873//3454 1877//3455 1878//3456 1874//3457 +f 1874//3457 1878//3456 5692//3237 5691//3235 +f 1877//3455 5811//3339 5810//3338 1878//3456 +f 1878//3456 5810//3338 7680//3117 5692//3237 +f 1873//3454 1874//3457 1879//3458 1875//3459 +f 1875//3459 1879//3458 5821//3375 5820//3374 +f 1874//3457 5691//3235 5690//3234 1879//3458 +f 1879//3458 5690//3234 7679//3161 5821//3375 +f 1873//3454 1875//3459 1880//3460 1876//3461 +f 1876//3461 1880//3460 5777//3462 5778//3463 +f 1875//3459 5820//3374 5819//3387 1880//3460 +f 1880//3460 5819//3387 7694//3389 5777//3462 +f 1873//3454 1876//3461 1881//3464 1877//3455 +f 1877//3455 1881//3464 5812//3344 5811//3339 +f 1876//3461 5778//3463 5779//3465 1881//3464 +f 1881//3464 5779//3465 7695//3345 5812//3344 +f 1882//3466 1886//3467 1887//3468 1883//3469 +f 1883//3469 1887//3468 5686//3249 5685//3247 +f 1886//3467 5823//3379 5822//3378 1887//3468 +f 1887//3468 5822//3378 7678//3157 5686//3249 +f 1882//3466 1883//3469 1888//3470 1884//3471 +f 1884//3471 1888//3470 5827//3395 5826//3394 +f 1883//3469 5685//3247 5684//3246 1888//3470 +f 1888//3470 5684//3246 7677//3177 5827//3395 +f 1882//3466 1884//3471 1889//3472 1885//3473 +f 1885//3473 1889//3472 5771//3474 5772//3475 +f 1884//3471 5826//3394 5825//3403 1889//3472 +f 1889//3472 5825//3403 7692//3405 5771//3474 +f 1882//3466 1885//3473 1890//3476 1886//3467 +f 1886//3467 1890//3476 5824//3384 5823//3379 +f 1885//3473 5772//3475 5773//3477 1890//3476 +f 1890//3476 5773//3477 7693//3385 5824//3384 +f 1891//3478 1895//3479 1896//3480 1892//3481 +f 1892//3481 1896//3480 5767//3268 5766//3263 +f 1895//3479 5871//3482 5872//3483 1896//3480 +f 1896//3480 5872//3483 7691//3269 5767//3268 +f 1891//3478 1892//3481 1897//3484 1893//3485 +f 1893//3485 1897//3484 5873//3486 5874//3487 +f 1892//3481 5766//3263 5765//3262 1897//3484 +f 1897//3484 5765//3262 7690//3265 5873//3486 +f 1891//3478 1893//3485 1898//3488 1894//3489 +f 1894//3489 1898//3488 5852//3490 5853//3491 +f 1893//3485 5874//3487 5875//3492 1898//3488 +f 1898//3488 5875//3492 7705//3493 5852//3490 +f 1891//3478 1894//3489 1899//3494 1895//3479 +f 1895//3479 1899//3494 5870//3495 5871//3482 +f 1894//3489 5853//3491 5854//3496 1899//3494 +f 1899//3494 5854//3496 7706//3497 5870//3495 +f 1900//3498 1904//3499 1905//3500 1901//3501 +f 1901//3501 1905//3500 5761//3288 5760//3283 +f 1904//3499 5877//3502 5878//3503 1905//3500 +f 1905//3500 5878//3503 7689//3289 5761//3288 +f 1900//3498 1901//3501 1906//3504 1902//3505 +f 1902//3505 1906//3504 5879//3506 5880//3507 +f 1901//3501 5760//3283 5759//3282 1906//3504 +f 1906//3504 5759//3282 7688//3285 5879//3506 +f 1900//3498 1902//3505 1907//3508 1903//3509 +f 1903//3509 1907//3508 5846//3510 5847//3511 +f 1902//3505 5880//3507 5881//3512 1907//3508 +f 1907//3508 5881//3512 7703//3513 5846//3510 +f 1900//3498 1903//3509 1908//3514 1904//3499 +f 1904//3499 1908//3514 5876//3515 5877//3502 +f 1903//3509 5847//3511 5848//3516 1908//3514 +f 1908//3514 5848//3516 7704//3517 5876//3515 +f 1909//3518 1913//3519 1914//3520 1910//3521 +f 1910//3521 1914//3520 5755//3308 5754//3303 +f 1913//3519 5883//3522 5884//3523 1914//3520 +f 1914//3520 5884//3523 7687//3309 5755//3308 +f 1909//3518 1910//3521 1915//3524 1911//3525 +f 1911//3525 1915//3524 5885//3526 5886//3527 +f 1910//3521 5754//3303 5753//3302 1915//3524 +f 1915//3524 5753//3302 7686//3305 5885//3526 +f 1909//3518 1911//3525 1916//3528 1912//3529 +f 1912//3529 1916//3528 5840//3530 5841//3531 +f 1911//3525 5886//3527 5887//3532 1916//3528 +f 1916//3528 5887//3532 7701//3533 5840//3530 +f 1909//3518 1912//3529 1917//3534 1913//3519 +f 1913//3519 1917//3534 5882//3535 5883//3522 +f 1912//3529 5841//3531 5842//3536 1917//3534 +f 1917//3534 5842//3536 7702//3537 5882//3535 +f 1918//3538 1922//3539 1923//3540 1919//3541 +f 1919//3541 1923//3540 5749//3328 5748//3323 +f 1922//3539 5889//3542 5890//3543 1923//3540 +f 1923//3540 5890//3543 7685//3329 5749//3328 +f 1918//3538 1919//3541 1924//3544 1920//3545 +f 1920//3545 1924//3544 5891//3546 5892//3547 +f 1919//3541 5748//3323 5747//3322 1924//3544 +f 1924//3544 5747//3322 7684//3325 5891//3546 +f 1918//3538 1920//3545 1925//3548 1921//3549 +f 1921//3549 1925//3548 5834//3550 5835//3551 +f 1920//3545 5892//3547 5893//3552 1925//3548 +f 1925//3548 5893//3552 7699//3553 5834//3550 +f 1918//3538 1921//3549 1926//3554 1922//3539 +f 1922//3539 1926//3554 5888//3555 5889//3542 +f 1921//3549 5835//3551 5836//3556 1926//3554 +f 1926//3554 5836//3556 7700//3557 5888//3555 +f 1927//3558 1931//3559 1932//3560 1928//3561 +f 1928//3561 1932//3560 5782//3348 5781//3343 +f 1931//3559 5895//3562 5896//3563 1932//3560 +f 1932//3560 5896//3563 7696//3349 5782//3348 +f 1927//3558 1928//3561 1933//3564 1929//3565 +f 1929//3565 1933//3564 5897//3566 5898//3567 +f 1928//3561 5781//3343 5780//3342 1933//3564 +f 1933//3564 5780//3342 7695//3345 5897//3566 +f 1927//3558 1929//3565 1934//3568 1930//3569 +f 1930//3569 1934//3568 5867//3570 5868//3571 +f 1929//3565 5898//3567 5899//3572 1934//3568 +f 1934//3568 5899//3572 7710//3573 5867//3570 +f 1927//3558 1930//3569 1935//3574 1931//3559 +f 1931//3559 1935//3574 5894//3575 5895//3562 +f 1930//3569 5868//3571 5869//3576 1935//3574 +f 1935//3574 5869//3576 7711//3577 5894//3575 +f 1936//3578 1940//3579 1941//3580 1937//3581 +f 1937//3581 1941//3580 5743//3368 5742//3363 +f 1940//3579 5901//3582 5902//3583 1941//3580 +f 1941//3580 5902//3583 7683//3369 5743//3368 +f 1936//3578 1937//3581 1942//3584 1938//3585 +f 1938//3585 1942//3584 5903//3586 5904//3587 +f 1937//3581 5742//3363 5741//3362 1942//3584 +f 1942//3584 5741//3362 7682//3365 5903//3586 +f 1936//3578 1938//3585 1943//3588 1939//3589 +f 1939//3589 1943//3588 5828//3590 5829//3591 +f 1938//3585 5904//3587 5905//3592 1943//3588 +f 1943//3588 5905//3592 7697//3593 5828//3590 +f 1936//3578 1939//3589 1944//3594 1940//3579 +f 1940//3579 1944//3594 5900//3595 5901//3582 +f 1939//3589 5829//3591 5830//3596 1944//3594 +f 1944//3594 5830//3596 7698//3597 5900//3595 +f 1945//3598 1949//3599 1950//3600 1946//3601 +f 1946//3601 1950//3600 5776//3388 5775//3383 +f 1949//3599 5907//3602 5908//3603 1950//3600 +f 1950//3600 5908//3603 7694//3389 5776//3388 +f 1945//3598 1946//3601 1951//3604 1947//3605 +f 1947//3605 1951//3604 5909//3606 5910//3607 +f 1946//3601 5775//3383 5774//3382 1951//3604 +f 1951//3604 5774//3382 7693//3385 5909//3606 +f 1945//3598 1947//3605 1952//3608 1948//3609 +f 1948//3609 1952//3608 5861//3610 5862//3611 +f 1947//3605 5910//3607 5911//3612 1952//3608 +f 1952//3608 5911//3612 7708//3613 5861//3610 +f 1945//3598 1948//3609 1953//3614 1949//3599 +f 1949//3599 1953//3614 5906//3615 5907//3602 +f 1948//3609 5862//3611 5863//3616 1953//3614 +f 1953//3614 5863//3616 7709//3617 5906//3615 +f 1954//3618 1958//3619 1959//3620 1955//3621 +f 1955//3621 1959//3620 5770//3404 5769//3401 +f 1958//3619 5913//3622 5914//3623 1959//3620 +f 1959//3620 5914//3623 7692//3405 5770//3404 +f 1954//3618 1955//3621 1960//3624 1956//3625 +f 1956//3625 1960//3624 5872//3483 5871//3482 +f 1955//3621 5769//3401 5768//3400 1960//3624 +f 1960//3624 5768//3400 7691//3269 5872//3483 +f 1954//3618 1956//3625 1961//3626 1957//3627 +f 1957//3627 1961//3626 5855//3628 5856//3629 +f 1956//3625 5871//3482 5870//3495 1961//3626 +f 1961//3626 5870//3495 7706//3497 5855//3628 +f 1954//3618 1957//3627 1962//3630 1958//3619 +f 1958//3619 1962//3630 5912//3631 5913//3622 +f 1957//3627 5856//3629 5857//3632 1962//3630 +f 1962//3630 5857//3632 7707//3633 5912//3631 +f 1963//3634 1967//3635 1968//3636 1964//3637 +f 1964//3637 1968//3636 5764//3417 5763//3415 +f 1967//3635 5874//3487 5873//3486 1968//3636 +f 1968//3636 5873//3486 7690//3265 5764//3417 +f 1963//3634 1964//3637 1969//3638 1965//3639 +f 1965//3639 1969//3638 5878//3503 5877//3502 +f 1964//3637 5763//3415 5762//3414 1969//3638 +f 1969//3638 5762//3414 7689//3289 5878//3503 +f 1963//3634 1965//3639 1970//3640 1966//3641 +f 1966//3641 1970//3640 5849//3642 5850//3643 +f 1965//3639 5877//3502 5876//3515 1970//3640 +f 1970//3640 5876//3515 7704//3517 5849//3642 +f 1963//3634 1966//3641 1971//3644 1967//3635 +f 1967//3635 1971//3644 5875//3492 5874//3487 +f 1966//3641 5850//3643 5851//3645 1971//3644 +f 1971//3644 5851//3645 7705//3493 5875//3492 +f 1972//3646 1976//3647 1977//3648 1973//3649 +f 1973//3649 1977//3648 5758//3429 5757//3427 +f 1976//3647 5880//3507 5879//3506 1977//3648 +f 1977//3648 5879//3506 7688//3285 5758//3429 +f 1972//3646 1973//3649 1978//3650 1974//3651 +f 1974//3651 1978//3650 5884//3523 5883//3522 +f 1973//3649 5757//3427 5756//3426 1978//3650 +f 1978//3650 5756//3426 7687//3309 5884//3523 +f 1972//3646 1974//3651 1979//3652 1975//3653 +f 1975//3653 1979//3652 5843//3654 5844//3655 +f 1974//3651 5883//3522 5882//3535 1979//3652 +f 1979//3652 5882//3535 7702//3537 5843//3654 +f 1972//3646 1975//3653 1980//3656 1976//3647 +f 1976//3647 1980//3656 5881//3512 5880//3507 +f 1975//3653 5844//3655 5845//3657 1980//3656 +f 1980//3656 5845//3657 7703//3513 5881//3512 +f 1981//3658 1985//3659 1986//3660 1982//3661 +f 1982//3661 1986//3660 5752//3441 5751//3439 +f 1985//3659 5886//3527 5885//3526 1986//3660 +f 1986//3660 5885//3526 7686//3305 5752//3441 +f 1981//3658 1982//3661 1987//3662 1983//3663 +f 1983//3663 1987//3662 5890//3543 5889//3542 +f 1982//3661 5751//3439 5750//3438 1987//3662 +f 1987//3662 5750//3438 7685//3329 5890//3543 +f 1981//3658 1983//3663 1988//3664 1984//3665 +f 1984//3665 1988//3664 5837//3666 5838//3667 +f 1983//3663 5889//3542 5888//3555 1988//3664 +f 1988//3664 5888//3555 7700//3557 5837//3666 +f 1981//3658 1984//3665 1989//3668 1985//3659 +f 1985//3659 1989//3668 5887//3532 5886//3527 +f 1984//3665 5838//3667 5839//3669 1989//3668 +f 1989//3668 5839//3669 7701//3533 5887//3532 +f 1990//3670 1994//3671 1995//3672 1991//3673 +f 1991//3673 1995//3672 5746//3453 5745//3451 +f 1994//3671 5892//3547 5891//3546 1995//3672 +f 1995//3672 5891//3546 7684//3325 5746//3453 +f 1990//3670 1991//3673 1996//3674 1992//3675 +f 1992//3675 1996//3674 5902//3583 5901//3582 +f 1991//3673 5745//3451 5744//3450 1996//3674 +f 1996//3674 5744//3450 7683//3369 5902//3583 +f 1990//3670 1992//3675 1997//3676 1993//3677 +f 1993//3677 1997//3676 5831//3678 5832//3679 +f 1992//3675 5901//3582 5900//3595 1997//3676 +f 1997//3676 5900//3595 7698//3597 5831//3678 +f 1990//3670 1993//3677 1998//3680 1994//3671 +f 1994//3671 1998//3680 5893//3552 5892//3547 +f 1993//3677 5832//3679 5833//3681 1998//3680 +f 1998//3680 5833//3681 7699//3553 5893//3552 +f 1999//3682 2003//3683 2004//3684 2000//3685 +f 2000//3685 2004//3684 5779//3465 5778//3463 +f 2003//3683 5898//3567 5897//3566 2004//3684 +f 2004//3684 5897//3566 7695//3345 5779//3465 +f 1999//3682 2000//3685 2005//3686 2001//3687 +f 2001//3687 2005//3686 5908//3603 5907//3602 +f 2000//3685 5778//3463 5777//3462 2005//3686 +f 2005//3686 5777//3462 7694//3389 5908//3603 +f 1999//3682 2001//3687 2006//3688 2002//3689 +f 2002//3689 2006//3688 5864//3690 5865//3691 +f 2001//3687 5907//3602 5906//3615 2006//3688 +f 2006//3688 5906//3615 7709//3617 5864//3690 +f 1999//3682 2002//3689 2007//3692 2003//3683 +f 2003//3683 2007//3692 5899//3572 5898//3567 +f 2002//3689 5865//3691 5866//3693 2007//3692 +f 2007//3692 5866//3693 7710//3573 5899//3572 +f 2008//3694 2012//3695 2013//3696 2009//3697 +f 2009//3697 2013//3696 5773//3477 5772//3475 +f 2012//3695 5910//3607 5909//3606 2013//3696 +f 2013//3696 5909//3606 7693//3385 5773//3477 +f 2008//3694 2009//3697 2014//3698 2010//3699 +f 2010//3699 2014//3698 5914//3623 5913//3622 +f 2009//3697 5772//3475 5771//3474 2014//3698 +f 2014//3698 5771//3474 7692//3405 5914//3623 +f 2008//3694 2010//3699 2015//3700 2011//3701 +f 2011//3701 2015//3700 5858//3702 5859//3703 +f 2010//3699 5913//3622 5912//3631 2015//3700 +f 2015//3700 5912//3631 7707//3633 5858//3702 +f 2008//3694 2011//3701 2016//3704 2012//3695 +f 2012//3695 2016//3704 5911//3612 5910//3607 +f 2011//3701 5859//3703 5860//3705 2016//3704 +f 2016//3704 5860//3705 7708//3613 5911//3612 +f 2017//3706 2021//3707 2022//3708 2018//3709 +f 2018//3709 2022//3708 5854//3496 5853//3491 +f 2021//3707 5958//3710 5959//3711 2022//3708 +f 2022//3708 5959//3711 7706//3497 5854//3496 +f 2017//3706 2018//3709 2023//3712 2019//3713 +f 2019//3713 2023//3712 5960//3714 5961//3715 +f 2018//3709 5853//3491 5852//3490 2023//3712 +f 2023//3712 5852//3490 7705//3493 5960//3714 +f 2017//3706 2019//3713 2024//3716 2020//3717 +f 2020//3717 2024//3716 5939//3718 5940//3719 +f 2019//3713 5961//3715 5962//3720 2024//3716 +f 2024//3716 5962//3720 7720//3721 5939//3718 +f 2017//3706 2020//3717 2025//3722 2021//3707 +f 2021//3707 2025//3722 5957//3723 5958//3710 +f 2020//3717 5940//3719 5941//3724 2025//3722 +f 2025//3722 5941//3724 7721//3725 5957//3723 +f 2026//3726 2030//3727 2031//3728 2027//3729 +f 2027//3729 2031//3728 5848//3516 5847//3511 +f 2030//3727 5964//3730 5965//3731 2031//3728 +f 2031//3728 5965//3731 7704//3517 5848//3516 +f 2026//3726 2027//3729 2032//3732 2028//3733 +f 2028//3733 2032//3732 5966//3734 5967//3735 +f 2027//3729 5847//3511 5846//3510 2032//3732 +f 2032//3732 5846//3510 7703//3513 5966//3734 +f 2026//3726 2028//3733 2033//3736 2029//3737 +f 2029//3737 2033//3736 5933//3738 5934//3739 +f 2028//3733 5967//3735 5968//3740 2033//3736 +f 2033//3736 5968//3740 7718//3741 5933//3738 +f 2026//3726 2029//3737 2034//3742 2030//3727 +f 2030//3727 2034//3742 5963//3743 5964//3730 +f 2029//3737 5934//3739 5935//3744 2034//3742 +f 2034//3742 5935//3744 7719//3745 5963//3743 +f 2035//3746 2039//3747 2040//3748 2036//3749 +f 2036//3749 2040//3748 5842//3536 5841//3531 +f 2039//3747 5970//3750 5971//3751 2040//3748 +f 2040//3748 5971//3751 7702//3537 5842//3536 +f 2035//3746 2036//3749 2041//3752 2037//3753 +f 2037//3753 2041//3752 5972//3754 5973//3755 +f 2036//3749 5841//3531 5840//3530 2041//3752 +f 2041//3752 5840//3530 7701//3533 5972//3754 +f 2035//3746 2037//3753 2042//3756 2038//3757 +f 2038//3757 2042//3756 5927//3758 5928//3759 +f 2037//3753 5973//3755 5974//3760 2042//3756 +f 2042//3756 5974//3760 7716//3761 5927//3758 +f 2035//3746 2038//3757 2043//3762 2039//3747 +f 2039//3747 2043//3762 5969//3763 5970//3750 +f 2038//3757 5928//3759 5929//3764 2043//3762 +f 2043//3762 5929//3764 7717//3765 5969//3763 +f 2044//3766 2048//3767 2049//3768 2045//3769 +f 2045//3769 2049//3768 5836//3556 5835//3551 +f 2048//3767 5976//3770 5977//3771 2049//3768 +f 2049//3768 5977//3771 7700//3557 5836//3556 +f 2044//3766 2045//3769 2050//3772 2046//3773 +f 2046//3773 2050//3772 5978//3774 5979//3775 +f 2045//3769 5835//3551 5834//3550 2050//3772 +f 2050//3772 5834//3550 7699//3553 5978//3774 +f 2044//3766 2046//3773 2051//3776 2047//3777 +f 2047//3777 2051//3776 5921//3778 5922//3779 +f 2046//3773 5979//3775 5980//3780 2051//3776 +f 2051//3776 5980//3780 7714//3781 5921//3778 +f 2044//3766 2047//3777 2052//3782 2048//3767 +f 2048//3767 2052//3782 5975//3783 5976//3770 +f 2047//3777 5922//3779 5923//3784 2052//3782 +f 2052//3782 5923//3784 7715//3785 5975//3783 +f 2053//3786 2057//3787 2058//3788 2054//3789 +f 2054//3789 2058//3788 5869//3576 5868//3571 +f 2057//3787 5982//3790 5983//3791 2058//3788 +f 2058//3788 5983//3791 7711//3577 5869//3576 +f 2053//3786 2054//3789 2059//3792 2055//3793 +f 2055//3793 2059//3792 5984//3794 5985//3795 +f 2054//3789 5868//3571 5867//3570 2059//3792 +f 2059//3792 5867//3570 7710//3573 5984//3794 +f 2053//3786 2055//3793 2060//3796 2056//3797 +f 2056//3797 2060//3796 5954//3798 5955//3799 +f 2055//3793 5985//3795 5986//3800 2060//3796 +f 2060//3796 5986//3800 7725//3801 5954//3798 +f 2053//3786 2056//3797 2061//3802 2057//3787 +f 2057//3787 2061//3802 5981//3803 5982//3790 +f 2056//3797 5955//3799 5956//3804 2061//3802 +f 2061//3802 5956//3804 7726//3805 5981//3803 +f 2062//3806 2066//3807 2067//3808 2063//3809 +f 2063//3809 2067//3808 5830//3596 5829//3591 +f 2066//3807 5988//3810 5989//3811 2067//3808 +f 2067//3808 5989//3811 7698//3597 5830//3596 +f 2062//3806 2063//3809 2068//3812 2064//3813 +f 2064//3813 2068//3812 5990//3814 5991//3815 +f 2063//3809 5829//3591 5828//3590 2068//3812 +f 2068//3812 5828//3590 7697//3593 5990//3814 +f 2062//3806 2064//3813 2069//3816 2065//3817 +f 2065//3817 2069//3816 5915//3818 5916//3819 +f 2064//3813 5991//3815 5992//3820 2069//3816 +f 2069//3816 5992//3820 7712//3821 5915//3818 +f 2062//3806 2065//3817 2070//3822 2066//3807 +f 2066//3807 2070//3822 5987//3823 5988//3810 +f 2065//3817 5916//3819 5917//3824 2070//3822 +f 2070//3822 5917//3824 7713//3825 5987//3823 +f 2071//3826 2075//3827 2076//3828 2072//3829 +f 2072//3829 2076//3828 5863//3616 5862//3611 +f 2075//3827 5994//3830 5995//3831 2076//3828 +f 2076//3828 5995//3831 7709//3617 5863//3616 +f 2071//3826 2072//3829 2077//3832 2073//3833 +f 2073//3833 2077//3832 5996//3834 5997//3835 +f 2072//3829 5862//3611 5861//3610 2077//3832 +f 2077//3832 5861//3610 7708//3613 5996//3834 +f 2071//3826 2073//3833 2078//3836 2074//3837 +f 2074//3837 2078//3836 5948//3838 5949//3839 +f 2073//3833 5997//3835 5998//3840 2078//3836 +f 2078//3836 5998//3840 7723//3841 5948//3838 +f 2071//3826 2074//3837 2079//3842 2075//3827 +f 2075//3827 2079//3842 5993//3843 5994//3830 +f 2074//3837 5949//3839 5950//3844 2079//3842 +f 2079//3842 5950//3844 7724//3845 5993//3843 +f 2080//3846 2084//3847 2085//3848 2081//3849 +f 2081//3849 2085//3848 5857//3632 5856//3629 +f 2084//3847 6000//3850 6001//3851 2085//3848 +f 2085//3848 6001//3851 7707//3633 5857//3632 +f 2080//3846 2081//3849 2086//3852 2082//3853 +f 2082//3853 2086//3852 5959//3711 5958//3710 +f 2081//3849 5856//3629 5855//3628 2086//3852 +f 2086//3852 5855//3628 7706//3497 5959//3711 +f 2080//3846 2082//3853 2087//3854 2083//3855 +f 2083//3855 2087//3854 5942//3856 5943//3857 +f 2082//3853 5958//3710 5957//3723 2087//3854 +f 2087//3854 5957//3723 7721//3725 5942//3856 +f 2080//3846 2083//3855 2088//3858 2084//3847 +f 2084//3847 2088//3858 5999//3859 6000//3850 +f 2083//3855 5943//3857 5944//3860 2088//3858 +f 2088//3858 5944//3860 7722//3861 5999//3859 +f 2089//3862 2093//3863 2094//3864 2090//3865 +f 2090//3865 2094//3864 5851//3645 5850//3643 +f 2093//3863 5961//3715 5960//3714 2094//3864 +f 2094//3864 5960//3714 7705//3493 5851//3645 +f 2089//3862 2090//3865 2095//3866 2091//3867 +f 2091//3867 2095//3866 5965//3731 5964//3730 +f 2090//3865 5850//3643 5849//3642 2095//3866 +f 2095//3866 5849//3642 7704//3517 5965//3731 +f 2089//3862 2091//3867 2096//3868 2092//3869 +f 2092//3869 2096//3868 5936//3870 5937//3871 +f 2091//3867 5964//3730 5963//3743 2096//3868 +f 2096//3868 5963//3743 7719//3745 5936//3870 +f 2089//3862 2092//3869 2097//3872 2093//3863 +f 2093//3863 2097//3872 5962//3720 5961//3715 +f 2092//3869 5937//3871 5938//3873 2097//3872 +f 2097//3872 5938//3873 7720//3721 5962//3720 +f 2098//3874 2102//3875 2103//3876 2099//3877 +f 2099//3877 2103//3876 5845//3657 5844//3655 +f 2102//3875 5967//3735 5966//3734 2103//3876 +f 2103//3876 5966//3734 7703//3513 5845//3657 +f 2098//3874 2099//3877 2104//3878 2100//3879 +f 2100//3879 2104//3878 5971//3751 5970//3750 +f 2099//3877 5844//3655 5843//3654 2104//3878 +f 2104//3878 5843//3654 7702//3537 5971//3751 +f 2098//3874 2100//3879 2105//3880 2101//3881 +f 2101//3881 2105//3880 5930//3882 5931//3883 +f 2100//3879 5970//3750 5969//3763 2105//3880 +f 2105//3880 5969//3763 7717//3765 5930//3882 +f 2098//3874 2101//3881 2106//3884 2102//3875 +f 2102//3875 2106//3884 5968//3740 5967//3735 +f 2101//3881 5931//3883 5932//3885 2106//3884 +f 2106//3884 5932//3885 7718//3741 5968//3740 +f 2107//3886 2111//3887 2112//3888 2108//3889 +f 2108//3889 2112//3888 5839//3669 5838//3667 +f 2111//3887 5973//3755 5972//3754 2112//3888 +f 2112//3888 5972//3754 7701//3533 5839//3669 +f 2107//3886 2108//3889 2113//3890 2109//3891 +f 2109//3891 2113//3890 5977//3771 5976//3770 +f 2108//3889 5838//3667 5837//3666 2113//3890 +f 2113//3890 5837//3666 7700//3557 5977//3771 +f 2107//3886 2109//3891 2114//3892 2110//3893 +f 2110//3893 2114//3892 5924//3894 5925//3895 +f 2109//3891 5976//3770 5975//3783 2114//3892 +f 2114//3892 5975//3783 7715//3785 5924//3894 +f 2107//3886 2110//3893 2115//3896 2111//3887 +f 2111//3887 2115//3896 5974//3760 5973//3755 +f 2110//3893 5925//3895 5926//3897 2115//3896 +f 2115//3896 5926//3897 7716//3761 5974//3760 +f 2116//3898 2120//3899 2121//3900 2117//3901 +f 2117//3901 2121//3900 5833//3681 5832//3679 +f 2120//3899 5979//3775 5978//3774 2121//3900 +f 2121//3900 5978//3774 7699//3553 5833//3681 +f 2116//3898 2117//3901 2122//3902 2118//3903 +f 2118//3903 2122//3902 5989//3811 5988//3810 +f 2117//3901 5832//3679 5831//3678 2122//3902 +f 2122//3902 5831//3678 7698//3597 5989//3811 +f 2116//3898 2118//3903 2123//3904 2119//3905 +f 2119//3905 2123//3904 5918//3906 5919//3907 +f 2118//3903 5988//3810 5987//3823 2123//3904 +f 2123//3904 5987//3823 7713//3825 5918//3906 +f 2116//3898 2119//3905 2124//3908 2120//3899 +f 2120//3899 2124//3908 5980//3780 5979//3775 +f 2119//3905 5919//3907 5920//3909 2124//3908 +f 2124//3908 5920//3909 7714//3781 5980//3780 +f 2125//3910 2129//3911 2130//3912 2126//3913 +f 2126//3913 2130//3912 5866//3693 5865//3691 +f 2129//3911 5985//3795 5984//3794 2130//3912 +f 2130//3912 5984//3794 7710//3573 5866//3693 +f 2125//3910 2126//3913 2131//3914 2127//3915 +f 2127//3915 2131//3914 5995//3831 5994//3830 +f 2126//3913 5865//3691 5864//3690 2131//3914 +f 2131//3914 5864//3690 7709//3617 5995//3831 +f 2125//3910 2127//3915 2132//3916 2128//3917 +f 2128//3917 2132//3916 5951//3918 5952//3919 +f 2127//3915 5994//3830 5993//3843 2132//3916 +f 2132//3916 5993//3843 7724//3845 5951//3918 +f 2125//3910 2128//3917 2133//3920 2129//3911 +f 2129//3911 2133//3920 5986//3800 5985//3795 +f 2128//3917 5952//3919 5953//3921 2133//3920 +f 2133//3920 5953//3921 7725//3801 5986//3800 +f 2134//3922 2138//3923 2139//3924 2135//3925 +f 2135//3925 2139//3924 5860//3705 5859//3703 +f 2138//3923 5997//3835 5996//3834 2139//3924 +f 2139//3924 5996//3834 7708//3613 5860//3705 +f 2134//3922 2135//3925 2140//3926 2136//3927 +f 2136//3927 2140//3926 6001//3851 6000//3850 +f 2135//3925 5859//3703 5858//3702 2140//3926 +f 2140//3926 5858//3702 7707//3633 6001//3851 +f 2134//3922 2136//3927 2141//3928 2137//3929 +f 2137//3929 2141//3928 5945//3930 5946//3931 +f 2136//3927 6000//3850 5999//3859 2141//3928 +f 2141//3928 5999//3859 7722//3861 5945//3930 +f 2134//3922 2137//3929 2142//3932 2138//3923 +f 2138//3923 2142//3932 5998//3840 5997//3835 +f 2137//3929 5946//3931 5947//3933 2142//3932 +f 2142//3932 5947//3933 7723//3841 5998//3840 +f 2143//3934 2147//3935 2148//3936 2144//3937 +f 2144//3937 2148//3936 5941//3724 5940//3719 +f 2147//3935 6045//3938 6046//3939 2148//3936 +f 2148//3936 6046//3939 7721//3725 5941//3724 +f 2143//3934 2144//3937 2149//3940 2145//3941 +f 2145//3941 2149//3940 6047//3942 6048//3943 +f 2144//3937 5940//3719 5939//3718 2149//3940 +f 2149//3940 5939//3718 7720//3721 6047//3942 +f 2143//3934 2145//3941 2150//3944 2146//3945 +f 2146//3945 2150//3944 6026//3946 6027//3947 +f 2145//3941 6048//3943 6049//3948 2150//3944 +f 2150//3944 6049//3948 7735//3949 6026//3946 +f 2143//3934 2146//3945 2151//3950 2147//3935 +f 2147//3935 2151//3950 6044//3951 6045//3938 +f 2146//3945 6027//3947 6028//3952 2151//3950 +f 2151//3950 6028//3952 7736//3953 6044//3951 +f 2152//3954 2156//3955 2157//3956 2153//3957 +f 2153//3957 2157//3956 5935//3744 5934//3739 +f 2156//3955 6051//3958 6052//3959 2157//3956 +f 2157//3956 6052//3959 7719//3745 5935//3744 +f 2152//3954 2153//3957 2158//3960 2154//3961 +f 2154//3961 2158//3960 6053//3962 6054//3963 +f 2153//3957 5934//3739 5933//3738 2158//3960 +f 2158//3960 5933//3738 7718//3741 6053//3962 +f 2152//3954 2154//3961 2159//3964 2155//3965 +f 2155//3965 2159//3964 6020//3966 6021//3967 +f 2154//3961 6054//3963 6055//3968 2159//3964 +f 2159//3964 6055//3968 7733//3969 6020//3966 +f 2152//3954 2155//3965 2160//3970 2156//3955 +f 2156//3955 2160//3970 6050//3971 6051//3958 +f 2155//3965 6021//3967 6022//3972 2160//3970 +f 2160//3970 6022//3972 7734//3973 6050//3971 +f 2161//3974 2165//3975 2166//3976 2162//3977 +f 2162//3977 2166//3976 5929//3764 5928//3759 +f 2165//3975 6057//3978 6058//3979 2166//3976 +f 2166//3976 6058//3979 7717//3765 5929//3764 +f 2161//3974 2162//3977 2167//3980 2163//3981 +f 2163//3981 2167//3980 6059//3982 6060//3983 +f 2162//3977 5928//3759 5927//3758 2167//3980 +f 2167//3980 5927//3758 7716//3761 6059//3982 +f 2161//3974 2163//3981 2168//3984 2164//3985 +f 2164//3985 2168//3984 6014//3986 6015//3987 +f 2163//3981 6060//3983 6061//3988 2168//3984 +f 2168//3984 6061//3988 7731//3989 6014//3986 +f 2161//3974 2164//3985 2169//3990 2165//3975 +f 2165//3975 2169//3990 6056//3991 6057//3978 +f 2164//3985 6015//3987 6016//3992 2169//3990 +f 2169//3990 6016//3992 7732//3993 6056//3991 +f 2170//3994 2174//3995 2175//3996 2171//3997 +f 2171//3997 2175//3996 5923//3784 5922//3779 +f 2174//3995 6063//3998 6064//3999 2175//3996 +f 2175//3996 6064//3999 7715//3785 5923//3784 +f 2170//3994 2171//3997 2176//4000 2172//4001 +f 2172//4001 2176//4000 6065//4002 6066//4003 +f 2171//3997 5922//3779 5921//3778 2176//4000 +f 2176//4000 5921//3778 7714//3781 6065//4002 +f 2170//3994 2172//4001 2177//4004 2173//4005 +f 2173//4005 2177//4004 6008//4006 6009//4007 +f 2172//4001 6066//4003 6067//4008 2177//4004 +f 2177//4004 6067//4008 7729//4009 6008//4006 +f 2170//3994 2173//4005 2178//4010 2174//3995 +f 2174//3995 2178//4010 6062//4011 6063//3998 +f 2173//4005 6009//4007 6010//4012 2178//4010 +f 2178//4010 6010//4012 7730//4013 6062//4011 +f 2179//4014 2183//4015 2184//4016 2180//4017 +f 2180//4017 2184//4016 5956//3804 5955//3799 +f 2183//4015 6069//4018 6070//4019 2184//4016 +f 2184//4016 6070//4019 7726//3805 5956//3804 +f 2179//4014 2180//4017 2185//4020 2181//4021 +f 2181//4021 2185//4020 6071//4022 6072//4023 +f 2180//4017 5955//3799 5954//3798 2185//4020 +f 2185//4020 5954//3798 7725//3801 6071//4022 +f 2179//4014 2181//4021 2186//4024 2182//4025 +f 2182//4025 2186//4024 6041//4026 6042//4027 +f 2181//4021 6072//4023 6073//4028 2186//4024 +f 2186//4024 6073//4028 7740//4029 6041//4026 +f 2179//4014 2182//4025 2187//4030 2183//4015 +f 2183//4015 2187//4030 6068//4031 6069//4018 +f 2182//4025 6042//4027 6043//4032 2187//4030 +f 2187//4030 6043//4032 7741//4033 6068//4031 +f 2188//4034 2192//4035 2193//4036 2189//4037 +f 2189//4037 2193//4036 5917//3824 5916//3819 +f 2192//4035 6075//4038 6076//4039 2193//4036 +f 2193//4036 6076//4039 7713//3825 5917//3824 +f 2188//4034 2189//4037 2194//4040 2190//4041 +f 2190//4041 2194//4040 6077//4042 6078//4043 +f 2189//4037 5916//3819 5915//3818 2194//4040 +f 2194//4040 5915//3818 7712//3821 6077//4042 +f 2188//4034 2190//4041 2195//4044 2191//4045 +f 2191//4045 2195//4044 6002//4046 6003//4047 +f 2190//4041 6078//4043 6079//4048 2195//4044 +f 2195//4044 6079//4048 7727//4049 6002//4046 +f 2188//4034 2191//4045 2196//4050 2192//4035 +f 2192//4035 2196//4050 6074//4051 6075//4038 +f 2191//4045 6003//4047 6004//4052 2196//4050 +f 2196//4050 6004//4052 7728//4053 6074//4051 +f 2197//4054 2201//4055 2202//4056 2198//4057 +f 2198//4057 2202//4056 5950//3844 5949//3839 +f 2201//4055 6081//4058 6082//4059 2202//4056 +f 2202//4056 6082//4059 7724//3845 5950//3844 +f 2197//4054 2198//4057 2203//4060 2199//4061 +f 2199//4061 2203//4060 6083//4062 6084//4063 +f 2198//4057 5949//3839 5948//3838 2203//4060 +f 2203//4060 5948//3838 7723//3841 6083//4062 +f 2197//4054 2199//4061 2204//4064 2200//4065 +f 2200//4065 2204//4064 6035//4066 6036//4067 +f 2199//4061 6084//4063 6085//4068 2204//4064 +f 2204//4064 6085//4068 7738//4069 6035//4066 +f 2197//4054 2200//4065 2205//4070 2201//4055 +f 2201//4055 2205//4070 6080//4071 6081//4058 +f 2200//4065 6036//4067 6037//4072 2205//4070 +f 2205//4070 6037//4072 7739//4073 6080//4071 +f 2206//4074 2210//4075 2211//4076 2207//4077 +f 2207//4077 2211//4076 5944//3860 5943//3857 +f 2210//4075 6087//4078 6088//4079 2211//4076 +f 2211//4076 6088//4079 7722//3861 5944//3860 +f 2206//4074 2207//4077 2212//4080 2208//4081 +f 2208//4081 2212//4080 6046//3939 6045//3938 +f 2207//4077 5943//3857 5942//3856 2212//4080 +f 2212//4080 5942//3856 7721//3725 6046//3939 +f 2206//4074 2208//4081 2213//4082 2209//4083 +f 2209//4083 2213//4082 6029//4084 6030//4085 +f 2208//4081 6045//3938 6044//3951 2213//4082 +f 2213//4082 6044//3951 7736//3953 6029//4084 +f 2206//4074 2209//4083 2214//4086 2210//4075 +f 2210//4075 2214//4086 6086//4087 6087//4078 +f 2209//4083 6030//4085 6031//4088 2214//4086 +f 2214//4086 6031//4088 7737//4089 6086//4087 +f 2215//4090 2219//4091 2220//4092 2216//4093 +f 2216//4093 2220//4092 5938//3873 5937//3871 +f 2219//4091 6048//3943 6047//3942 2220//4092 +f 2220//4092 6047//3942 7720//3721 5938//3873 +f 2215//4090 2216//4093 2221//4094 2217//4095 +f 2217//4095 2221//4094 6052//3959 6051//3958 +f 2216//4093 5937//3871 5936//3870 2221//4094 +f 2221//4094 5936//3870 7719//3745 6052//3959 +f 2215//4090 2217//4095 2222//4096 2218//4097 +f 2218//4097 2222//4096 6023//4098 6024//4099 +f 2217//4095 6051//3958 6050//3971 2222//4096 +f 2222//4096 6050//3971 7734//3973 6023//4098 +f 2215//4090 2218//4097 2223//4100 2219//4091 +f 2219//4091 2223//4100 6049//3948 6048//3943 +f 2218//4097 6024//4099 6025//4101 2223//4100 +f 2223//4100 6025//4101 7735//3949 6049//3948 +f 2224//4102 2228//4103 2229//4104 2225//4105 +f 2225//4105 2229//4104 5932//3885 5931//3883 +f 2228//4103 6054//3963 6053//3962 2229//4104 +f 2229//4104 6053//3962 7718//3741 5932//3885 +f 2224//4102 2225//4105 2230//4106 2226//4107 +f 2226//4107 2230//4106 6058//3979 6057//3978 +f 2225//4105 5931//3883 5930//3882 2230//4106 +f 2230//4106 5930//3882 7717//3765 6058//3979 +f 2224//4102 2226//4107 2231//4108 2227//4109 +f 2227//4109 2231//4108 6017//4110 6018//4111 +f 2226//4107 6057//3978 6056//3991 2231//4108 +f 2231//4108 6056//3991 7732//3993 6017//4110 +f 2224//4102 2227//4109 2232//4112 2228//4103 +f 2228//4103 2232//4112 6055//3968 6054//3963 +f 2227//4109 6018//4111 6019//4113 2232//4112 +f 2232//4112 6019//4113 7733//3969 6055//3968 +f 2233//4114 2237//4115 2238//4116 2234//4117 +f 2234//4117 2238//4116 5926//3897 5925//3895 +f 2237//4115 6060//3983 6059//3982 2238//4116 +f 2238//4116 6059//3982 7716//3761 5926//3897 +f 2233//4114 2234//4117 2239//4118 2235//4119 +f 2235//4119 2239//4118 6064//3999 6063//3998 +f 2234//4117 5925//3895 5924//3894 2239//4118 +f 2239//4118 5924//3894 7715//3785 6064//3999 +f 2233//4114 2235//4119 2240//4120 2236//4121 +f 2236//4121 2240//4120 6011//4122 6012//4123 +f 2235//4119 6063//3998 6062//4011 2240//4120 +f 2240//4120 6062//4011 7730//4013 6011//4122 +f 2233//4114 2236//4121 2241//4124 2237//4115 +f 2237//4115 2241//4124 6061//3988 6060//3983 +f 2236//4121 6012//4123 6013//4125 2241//4124 +f 2241//4124 6013//4125 7731//3989 6061//3988 +f 2242//4126 2246//4127 2247//4128 2243//4129 +f 2243//4129 2247//4128 5920//3909 5919//3907 +f 2246//4127 6066//4003 6065//4002 2247//4128 +f 2247//4128 6065//4002 7714//3781 5920//3909 +f 2242//4126 2243//4129 2248//4130 2244//4131 +f 2244//4131 2248//4130 6076//4039 6075//4038 +f 2243//4129 5919//3907 5918//3906 2248//4130 +f 2248//4130 5918//3906 7713//3825 6076//4039 +f 2242//4126 2244//4131 2249//4132 2245//4133 +f 2245//4133 2249//4132 6005//4134 6006//4135 +f 2244//4131 6075//4038 6074//4051 2249//4132 +f 2249//4132 6074//4051 7728//4053 6005//4134 +f 2242//4126 2245//4133 2250//4136 2246//4127 +f 2246//4127 2250//4136 6067//4008 6066//4003 +f 2245//4133 6006//4135 6007//4137 2250//4136 +f 2250//4136 6007//4137 7729//4009 6067//4008 +f 2251//4138 2255//4139 2256//4140 2252//4141 +f 2252//4141 2256//4140 5953//3921 5952//3919 +f 2255//4139 6072//4023 6071//4022 2256//4140 +f 2256//4140 6071//4022 7725//3801 5953//3921 +f 2251//4138 2252//4141 2257//4142 2253//4143 +f 2253//4143 2257//4142 6082//4059 6081//4058 +f 2252//4141 5952//3919 5951//3918 2257//4142 +f 2257//4142 5951//3918 7724//3845 6082//4059 +f 2251//4138 2253//4143 2258//4144 2254//4145 +f 2254//4145 2258//4144 6038//4146 6039//4147 +f 2253//4143 6081//4058 6080//4071 2258//4144 +f 2258//4144 6080//4071 7739//4073 6038//4146 +f 2251//4138 2254//4145 2259//4148 2255//4139 +f 2255//4139 2259//4148 6073//4028 6072//4023 +f 2254//4145 6039//4147 6040//4149 2259//4148 +f 2259//4148 6040//4149 7740//4029 6073//4028 +f 2260//4150 2264//4151 2265//4152 2261//4153 +f 2261//4153 2265//4152 5947//3933 5946//3931 +f 2264//4151 6084//4063 6083//4062 2265//4152 +f 2265//4152 6083//4062 7723//3841 5947//3933 +f 2260//4150 2261//4153 2266//4154 2262//4155 +f 2262//4155 2266//4154 6088//4079 6087//4078 +f 2261//4153 5946//3931 5945//3930 2266//4154 +f 2266//4154 5945//3930 7722//3861 6088//4079 +f 2260//4150 2262//4155 2267//4156 2263//4157 +f 2263//4157 2267//4156 6032//4158 6033//4159 +f 2262//4155 6087//4078 6086//4087 2267//4156 +f 2267//4156 6086//4087 7737//4089 6032//4158 +f 2260//4150 2263//4157 2268//4160 2264//4151 +f 2264//4151 2268//4160 6085//4068 6084//4063 +f 2263//4157 6033//4159 6034//4161 2268//4160 +f 2268//4160 6034//4161 7738//4069 6085//4068 +f 2269//4162 2273//4163 2274//4164 2270//4165 +f 2270//4165 2274//4164 6028//3952 6027//3947 +f 2273//4163 6132//4166 6133//4167 2274//4164 +f 2274//4164 6133//4167 7736//3953 6028//3952 +f 2269//4162 2270//4165 2275//4168 2271//4169 +f 2271//4169 2275//4168 6134//4170 6135//4171 +f 2270//4165 6027//3947 6026//3946 2275//4168 +f 2275//4168 6026//3946 7735//3949 6134//4170 +f 2269//4162 2271//4169 2276//4172 2272//4173 +f 2272//4173 2276//4172 6113//4174 6114//4175 +f 2271//4169 6135//4171 6136//4176 2276//4172 +f 2276//4172 6136//4176 7750//4177 6113//4174 +f 2269//4162 2272//4173 2277//4178 2273//4163 +f 2273//4163 2277//4178 6131//4179 6132//4166 +f 2272//4173 6114//4175 6115//4180 2277//4178 +f 2277//4178 6115//4180 7751//4181 6131//4179 +f 2278//4182 2282//4183 2283//4184 2279//4185 +f 2279//4185 2283//4184 6022//3972 6021//3967 +f 2282//4183 6138//4186 6139//4187 2283//4184 +f 2283//4184 6139//4187 7734//3973 6022//3972 +f 2278//4182 2279//4185 2284//4188 2280//4189 +f 2280//4189 2284//4188 6140//4190 6141//4191 +f 2279//4185 6021//3967 6020//3966 2284//4188 +f 2284//4188 6020//3966 7733//3969 6140//4190 +f 2278//4182 2280//4189 2285//4192 2281//4193 +f 2281//4193 2285//4192 6107//4194 6108//4195 +f 2280//4189 6141//4191 6142//4196 2285//4192 +f 2285//4192 6142//4196 7748//4197 6107//4194 +f 2278//4182 2281//4193 2286//4198 2282//4183 +f 2282//4183 2286//4198 6137//4199 6138//4186 +f 2281//4193 6108//4195 6109//4200 2286//4198 +f 2286//4198 6109//4200 7749//4201 6137//4199 +f 2287//4202 2291//4203 2292//4204 2288//4205 +f 2288//4205 2292//4204 6016//3992 6015//3987 +f 2291//4203 6144//4206 6145//4207 2292//4204 +f 2292//4204 6145//4207 7732//3993 6016//3992 +f 2287//4202 2288//4205 2293//4208 2289//4209 +f 2289//4209 2293//4208 6146//4210 6147//4211 +f 2288//4205 6015//3987 6014//3986 2293//4208 +f 2293//4208 6014//3986 7731//3989 6146//4210 +f 2287//4202 2289//4209 2294//4212 2290//4213 +f 2290//4213 2294//4212 6101//4214 6102//4215 +f 2289//4209 6147//4211 6148//4216 2294//4212 +f 2294//4212 6148//4216 7746//4217 6101//4214 +f 2287//4202 2290//4213 2295//4218 2291//4203 +f 2291//4203 2295//4218 6143//4219 6144//4206 +f 2290//4213 6102//4215 6103//4220 2295//4218 +f 2295//4218 6103//4220 7747//4221 6143//4219 +f 2296//4222 2300//4223 2301//4224 2297//4225 +f 2297//4225 2301//4224 6010//4012 6009//4007 +f 2300//4223 6150//4226 6151//4227 2301//4224 +f 2301//4224 6151//4227 7730//4013 6010//4012 +f 2296//4222 2297//4225 2302//4228 2298//4229 +f 2298//4229 2302//4228 6152//4230 6153//4231 +f 2297//4225 6009//4007 6008//4006 2302//4228 +f 2302//4228 6008//4006 7729//4009 6152//4230 +f 2296//4222 2298//4229 2303//4232 2299//4233 +f 2299//4233 2303//4232 6095//4234 6096//4235 +f 2298//4229 6153//4231 6154//4236 2303//4232 +f 2303//4232 6154//4236 7744//4237 6095//4234 +f 2296//4222 2299//4233 2304//4238 2300//4223 +f 2300//4223 2304//4238 6149//4239 6150//4226 +f 2299//4233 6096//4235 6097//4240 2304//4238 +f 2304//4238 6097//4240 7745//4241 6149//4239 +f 2305//4242 2309//4243 2310//4244 2306//4245 +f 2306//4245 2310//4244 6043//4032 6042//4027 +f 2309//4243 6156//4246 6157//4247 2310//4244 +f 2310//4244 6157//4247 7741//4033 6043//4032 +f 2305//4242 2306//4245 2311//4248 2307//4249 +f 2307//4249 2311//4248 6158//4250 6159//4251 +f 2306//4245 6042//4027 6041//4026 2311//4248 +f 2311//4248 6041//4026 7740//4029 6158//4250 +f 2305//4242 2307//4249 2312//4252 2308//4253 +f 2308//4253 2312//4252 6128//4254 6129//4255 +f 2307//4249 6159//4251 6160//4256 2312//4252 +f 2312//4252 6160//4256 7755//4257 6128//4254 +f 2305//4242 2308//4253 2313//4258 2309//4243 +f 2309//4243 2313//4258 6155//4259 6156//4246 +f 2308//4253 6129//4255 6130//4260 2313//4258 +f 2313//4258 6130//4260 7756//4261 6155//4259 +f 2314//4262 2318//4263 2319//4264 2315//4265 +f 2315//4265 2319//4264 6004//4052 6003//4047 +f 2318//4263 6162//4266 6163//4267 2319//4264 +f 2319//4264 6163//4267 7728//4053 6004//4052 +f 2314//4262 2315//4265 2320//4268 2316//4269 +f 2316//4269 2320//4268 6164//4270 6165//4271 +f 2315//4265 6003//4047 6002//4046 2320//4268 +f 2320//4268 6002//4046 7727//4049 6164//4270 +f 2314//4262 2316//4269 2321//4272 2317//4273 +f 2317//4273 2321//4272 6089//4274 6090//4275 +f 2316//4269 6165//4271 6166//4276 2321//4272 +f 2321//4272 6166//4276 7742//4277 6089//4274 +f 2314//4262 2317//4273 2322//4278 2318//4263 +f 2318//4263 2322//4278 6161//4279 6162//4266 +f 2317//4273 6090//4275 6091//4280 2322//4278 +f 2322//4278 6091//4280 7743//4281 6161//4279 +f 2323//4282 2327//4283 2328//4284 2324//4285 +f 2324//4285 2328//4284 6037//4072 6036//4067 +f 2327//4283 6168//4286 6169//4287 2328//4284 +f 2328//4284 6169//4287 7739//4073 6037//4072 +f 2323//4282 2324//4285 2329//4288 2325//4289 +f 2325//4289 2329//4288 6170//4290 6171//4291 +f 2324//4285 6036//4067 6035//4066 2329//4288 +f 2329//4288 6035//4066 7738//4069 6170//4290 +f 2323//4282 2325//4289 2330//4292 2326//4293 +f 2326//4293 2330//4292 6122//4294 6123//4295 +f 2325//4289 6171//4291 6172//4296 2330//4292 +f 2330//4292 6172//4296 7753//4297 6122//4294 +f 2323//4282 2326//4293 2331//4298 2327//4283 +f 2327//4283 2331//4298 6167//4299 6168//4286 +f 2326//4293 6123//4295 6124//4300 2331//4298 +f 2331//4298 6124//4300 7754//4301 6167//4299 +f 2332//4302 2336//4303 2337//4304 2333//4305 +f 2333//4305 2337//4304 6031//4088 6030//4085 +f 2336//4303 6174//4306 6175//4307 2337//4304 +f 2337//4304 6175//4307 7737//4089 6031//4088 +f 2332//4302 2333//4305 2338//4308 2334//4309 +f 2334//4309 2338//4308 6133//4167 6132//4166 +f 2333//4305 6030//4085 6029//4084 2338//4308 +f 2338//4308 6029//4084 7736//3953 6133//4167 +f 2332//4302 2334//4309 2339//4310 2335//4311 +f 2335//4311 2339//4310 6116//4312 6117//4313 +f 2334//4309 6132//4166 6131//4179 2339//4310 +f 2339//4310 6131//4179 7751//4181 6116//4312 +f 2332//4302 2335//4311 2340//4314 2336//4303 +f 2336//4303 2340//4314 6173//4315 6174//4306 +f 2335//4311 6117//4313 6118//4316 2340//4314 +f 2340//4314 6118//4316 7752//4317 6173//4315 +f 2341//4318 2345//4319 2346//4320 2342//4321 +f 2342//4321 2346//4320 6025//4101 6024//4099 +f 2345//4319 6135//4171 6134//4170 2346//4320 +f 2346//4320 6134//4170 7735//3949 6025//4101 +f 2341//4318 2342//4321 2347//4322 2343//4323 +f 2343//4323 2347//4322 6139//4187 6138//4186 +f 2342//4321 6024//4099 6023//4098 2347//4322 +f 2347//4322 6023//4098 7734//3973 6139//4187 +f 2341//4318 2343//4323 2348//4324 2344//4325 +f 2344//4325 2348//4324 6110//4326 6111//4327 +f 2343//4323 6138//4186 6137//4199 2348//4324 +f 2348//4324 6137//4199 7749//4201 6110//4326 +f 2341//4318 2344//4325 2349//4328 2345//4319 +f 2345//4319 2349//4328 6136//4176 6135//4171 +f 2344//4325 6111//4327 6112//4329 2349//4328 +f 2349//4328 6112//4329 7750//4177 6136//4176 +f 2350//4330 2354//4331 2355//4332 2351//4333 +f 2351//4333 2355//4332 6019//4113 6018//4111 +f 2354//4331 6141//4191 6140//4190 2355//4332 +f 2355//4332 6140//4190 7733//3969 6019//4113 +f 2350//4330 2351//4333 2356//4334 2352//4335 +f 2352//4335 2356//4334 6145//4207 6144//4206 +f 2351//4333 6018//4111 6017//4110 2356//4334 +f 2356//4334 6017//4110 7732//3993 6145//4207 +f 2350//4330 2352//4335 2357//4336 2353//4337 +f 2353//4337 2357//4336 6104//4338 6105//4339 +f 2352//4335 6144//4206 6143//4219 2357//4336 +f 2357//4336 6143//4219 7747//4221 6104//4338 +f 2350//4330 2353//4337 2358//4340 2354//4331 +f 2354//4331 2358//4340 6142//4196 6141//4191 +f 2353//4337 6105//4339 6106//4341 2358//4340 +f 2358//4340 6106//4341 7748//4197 6142//4196 +f 2359//4342 2363//4343 2364//4344 2360//4345 +f 2360//4345 2364//4344 6013//4125 6012//4123 +f 2363//4343 6147//4211 6146//4210 2364//4344 +f 2364//4344 6146//4210 7731//3989 6013//4125 +f 2359//4342 2360//4345 2365//4346 2361//4347 +f 2361//4347 2365//4346 6151//4227 6150//4226 +f 2360//4345 6012//4123 6011//4122 2365//4346 +f 2365//4346 6011//4122 7730//4013 6151//4227 +f 2359//4342 2361//4347 2366//4348 2362//4349 +f 2362//4349 2366//4348 6098//4350 6099//4351 +f 2361//4347 6150//4226 6149//4239 2366//4348 +f 2366//4348 6149//4239 7745//4241 6098//4350 +f 2359//4342 2362//4349 2367//4352 2363//4343 +f 2363//4343 2367//4352 6148//4216 6147//4211 +f 2362//4349 6099//4351 6100//4353 2367//4352 +f 2367//4352 6100//4353 7746//4217 6148//4216 +f 2368//4354 2372//4355 2373//4356 2369//4357 +f 2369//4357 2373//4356 6007//4137 6006//4135 +f 2372//4355 6153//4231 6152//4230 2373//4356 +f 2373//4356 6152//4230 7729//4009 6007//4137 +f 2368//4354 2369//4357 2374//4358 2370//4359 +f 2370//4359 2374//4358 6163//4267 6162//4266 +f 2369//4357 6006//4135 6005//4134 2374//4358 +f 2374//4358 6005//4134 7728//4053 6163//4267 +f 2368//4354 2370//4359 2375//4360 2371//4361 +f 2371//4361 2375//4360 6092//4362 6093//4363 +f 2370//4359 6162//4266 6161//4279 2375//4360 +f 2375//4360 6161//4279 7743//4281 6092//4362 +f 2368//4354 2371//4361 2376//4364 2372//4355 +f 2372//4355 2376//4364 6154//4236 6153//4231 +f 2371//4361 6093//4363 6094//4365 2376//4364 +f 2376//4364 6094//4365 7744//4237 6154//4236 +f 2377//4366 2381//4367 2382//4368 2378//4369 +f 2378//4369 2382//4368 6040//4149 6039//4147 +f 2381//4367 6159//4251 6158//4250 2382//4368 +f 2382//4368 6158//4250 7740//4029 6040//4149 +f 2377//4366 2378//4369 2383//4370 2379//4371 +f 2379//4371 2383//4370 6169//4287 6168//4286 +f 2378//4369 6039//4147 6038//4146 2383//4370 +f 2383//4370 6038//4146 7739//4073 6169//4287 +f 2377//4366 2379//4371 2384//4372 2380//4373 +f 2380//4373 2384//4372 6125//4374 6126//4375 +f 2379//4371 6168//4286 6167//4299 2384//4372 +f 2384//4372 6167//4299 7754//4301 6125//4374 +f 2377//4366 2380//4373 2385//4376 2381//4367 +f 2381//4367 2385//4376 6160//4256 6159//4251 +f 2380//4373 6126//4375 6127//4377 2385//4376 +f 2385//4376 6127//4377 7755//4257 6160//4256 +f 2386//4378 2390//4379 2391//4380 2387//4381 +f 2387//4381 2391//4380 6034//4161 6033//4159 +f 2390//4379 6171//4291 6170//4290 2391//4380 +f 2391//4380 6170//4290 7738//4069 6034//4161 +f 2386//4378 2387//4381 2392//4382 2388//4383 +f 2388//4383 2392//4382 6175//4307 6174//4306 +f 2387//4381 6033//4159 6032//4158 2392//4382 +f 2392//4382 6032//4158 7737//4089 6175//4307 +f 2386//4378 2388//4383 2393//4384 2389//4385 +f 2389//4385 2393//4384 6119//4386 6120//4387 +f 2388//4383 6174//4306 6173//4315 2393//4384 +f 2393//4384 6173//4315 7752//4317 6119//4386 +f 2386//4378 2389//4385 2394//4388 2390//4379 +f 2390//4379 2394//4388 6172//4296 6171//4291 +f 2389//4385 6120//4387 6121//4389 2394//4388 +f 2394//4388 6121//4389 7753//4297 6172//4296 +f 2395//4390 2399//4391 2400//4392 2396//4393 +f 2396//4393 2400//4392 6115//4180 6114//4175 +f 2399//4391 6219//4394 6220//4395 2400//4392 +f 2400//4392 6220//4395 7751//4181 6115//4180 +f 2395//4390 2396//4393 2401//4396 2397//4397 +f 2397//4397 2401//4396 6221//4398 6222//4399 +f 2396//4393 6114//4175 6113//4174 2401//4396 +f 2401//4396 6113//4174 7750//4177 6221//4398 +f 2395//4390 2397//4397 2402//4400 2398//4401 +f 2398//4401 2402//4400 6200//4402 6201//4403 +f 2397//4397 6222//4399 6223//4404 2402//4400 +f 2402//4400 6223//4404 7765//4405 6200//4402 +f 2395//4390 2398//4401 2403//4406 2399//4391 +f 2399//4391 2403//4406 6218//4407 6219//4394 +f 2398//4401 6201//4403 6202//4408 2403//4406 +f 2403//4406 6202//4408 7766//4409 6218//4407 +f 2404//4410 2408//4411 2409//4412 2405//4413 +f 2405//4413 2409//4412 6109//4200 6108//4195 +f 2408//4411 6225//4414 6226//4415 2409//4412 +f 2409//4412 6226//4415 7749//4201 6109//4200 +f 2404//4410 2405//4413 2410//4416 2406//4417 +f 2406//4417 2410//4416 6227//4418 6228//4419 +f 2405//4413 6108//4195 6107//4194 2410//4416 +f 2410//4416 6107//4194 7748//4197 6227//4418 +f 2404//4410 2406//4417 2411//4420 2407//4421 +f 2407//4421 2411//4420 6194//4422 6195//4423 +f 2406//4417 6228//4419 6229//4424 2411//4420 +f 2411//4420 6229//4424 7763//4425 6194//4422 +f 2404//4410 2407//4421 2412//4426 2408//4411 +f 2408//4411 2412//4426 6224//4427 6225//4414 +f 2407//4421 6195//4423 6196//4428 2412//4426 +f 2412//4426 6196//4428 7764//4429 6224//4427 +f 2413//4430 2417//4431 2418//4432 2414//4433 +f 2414//4433 2418//4432 6103//4220 6102//4215 +f 2417//4431 6231//4434 6232//4435 2418//4432 +f 2418//4432 6232//4435 7747//4221 6103//4220 +f 2413//4430 2414//4433 2419//4436 2415//4437 +f 2415//4437 2419//4436 6233//4438 6234//4439 +f 2414//4433 6102//4215 6101//4214 2419//4436 +f 2419//4436 6101//4214 7746//4217 6233//4438 +f 2413//4430 2415//4437 2420//4440 2416//4441 +f 2416//4441 2420//4440 6188//4442 6189//4443 +f 2415//4437 6234//4439 6235//4444 2420//4440 +f 2420//4440 6235//4444 7761//4445 6188//4442 +f 2413//4430 2416//4441 2421//4446 2417//4431 +f 2417//4431 2421//4446 6230//4447 6231//4434 +f 2416//4441 6189//4443 6190//4448 2421//4446 +f 2421//4446 6190//4448 7762//4449 6230//4447 +f 2422//4450 2426//4451 2427//4452 2423//4453 +f 2423//4453 2427//4452 6097//4240 6096//4235 +f 2426//4451 6237//4454 6238//4455 2427//4452 +f 2427//4452 6238//4455 7745//4241 6097//4240 +f 2422//4450 2423//4453 2428//4456 2424//4457 +f 2424//4457 2428//4456 6239//4458 6240//4459 +f 2423//4453 6096//4235 6095//4234 2428//4456 +f 2428//4456 6095//4234 7744//4237 6239//4458 +f 2422//4450 2424//4457 2429//4460 2425//4461 +f 2425//4461 2429//4460 6182//4462 6183//4463 +f 2424//4457 6240//4459 6241//4464 2429//4460 +f 2429//4460 6241//4464 7759//4465 6182//4462 +f 2422//4450 2425//4461 2430//4466 2426//4451 +f 2426//4451 2430//4466 6236//4467 6237//4454 +f 2425//4461 6183//4463 6184//4468 2430//4466 +f 2430//4466 6184//4468 7760//4469 6236//4467 +f 2431//4470 2435//4471 2436//4472 2432//4473 +f 2432//4473 2436//4472 6130//4260 6129//4255 +f 2435//4471 6243//4474 6244//4475 2436//4472 +f 2436//4472 6244//4475 7756//4261 6130//4260 +f 2431//4470 2432//4473 2437//4476 2433//4477 +f 2433//4477 2437//4476 6245//4478 6246//4479 +f 2432//4473 6129//4255 6128//4254 2437//4476 +f 2437//4476 6128//4254 7755//4257 6245//4478 +f 2431//4470 2433//4477 2438//4480 2434//4481 +f 2434//4481 2438//4480 6215//4482 6216//4483 +f 2433//4477 6246//4479 6247//4484 2438//4480 +f 2438//4480 6247//4484 7770//4485 6215//4482 +f 2431//4470 2434//4481 2439//4486 2435//4471 +f 2435//4471 2439//4486 6242//4487 6243//4474 +f 2434//4481 6216//4483 6217//4488 2439//4486 +f 2439//4486 6217//4488 7771//4489 6242//4487 +f 2440//4490 2444//4491 2445//4492 2441//4493 +f 2441//4493 2445//4492 6091//4280 6090//4275 +f 2444//4491 6249//4494 6250//4495 2445//4492 +f 2445//4492 6250//4495 7743//4281 6091//4280 +f 2440//4490 2441//4493 2446//4496 2442//4497 +f 2442//4497 2446//4496 6251//4498 6252//4499 +f 2441//4493 6090//4275 6089//4274 2446//4496 +f 2446//4496 6089//4274 7742//4277 6251//4498 +f 2440//4490 2442//4497 2447//4500 2443//4501 +f 2443//4501 2447//4500 6176//4502 6177//4503 +f 2442//4497 6252//4499 6253//4504 2447//4500 +f 2447//4500 6253//4504 7757//4505 6176//4502 +f 2440//4490 2443//4501 2448//4506 2444//4491 +f 2444//4491 2448//4506 6248//4507 6249//4494 +f 2443//4501 6177//4503 6178//4508 2448//4506 +f 2448//4506 6178//4508 7758//4509 6248//4507 +f 2449//4510 2453//4511 2454//4512 2450//4513 +f 2450//4513 2454//4512 6124//4300 6123//4295 +f 2453//4511 6255//4514 6256//4515 2454//4512 +f 2454//4512 6256//4515 7754//4301 6124//4300 +f 2449//4510 2450//4513 2455//4516 2451//4517 +f 2451//4517 2455//4516 6257//4518 6258//4519 +f 2450//4513 6123//4295 6122//4294 2455//4516 +f 2455//4516 6122//4294 7753//4297 6257//4518 +f 2449//4510 2451//4517 2456//4520 2452//4521 +f 2452//4521 2456//4520 6209//4522 6210//4523 +f 2451//4517 6258//4519 6259//4524 2456//4520 +f 2456//4520 6259//4524 7768//4525 6209//4522 +f 2449//4510 2452//4521 2457//4526 2453//4511 +f 2453//4511 2457//4526 6254//4527 6255//4514 +f 2452//4521 6210//4523 6211//4528 2457//4526 +f 2457//4526 6211//4528 7769//4529 6254//4527 +f 2458//4530 2462//4531 2463//4532 2459//4533 +f 2459//4533 2463//4532 6118//4316 6117//4313 +f 2462//4531 6261//4534 6262//4535 2463//4532 +f 2463//4532 6262//4535 7752//4317 6118//4316 +f 2458//4530 2459//4533 2464//4536 2460//4537 +f 2460//4537 2464//4536 6220//4395 6219//4394 +f 2459//4533 6117//4313 6116//4312 2464//4536 +f 2464//4536 6116//4312 7751//4181 6220//4395 +f 2458//4530 2460//4537 2465//4538 2461//4539 +f 2461//4539 2465//4538 6203//4540 6204//4541 +f 2460//4537 6219//4394 6218//4407 2465//4538 +f 2465//4538 6218//4407 7766//4409 6203//4540 +f 2458//4530 2461//4539 2466//4542 2462//4531 +f 2462//4531 2466//4542 6260//4543 6261//4534 +f 2461//4539 6204//4541 6205//4544 2466//4542 +f 2466//4542 6205//4544 7767//4545 6260//4543 +f 2467//4546 2471//4547 2472//4548 2468//4549 +f 2468//4549 2472//4548 6112//4329 6111//4327 +f 2471//4547 6222//4399 6221//4398 2472//4548 +f 2472//4548 6221//4398 7750//4177 6112//4329 +f 2467//4546 2468//4549 2473//4550 2469//4551 +f 2469//4551 2473//4550 6226//4415 6225//4414 +f 2468//4549 6111//4327 6110//4326 2473//4550 +f 2473//4550 6110//4326 7749//4201 6226//4415 +f 2467//4546 2469//4551 2474//4552 2470//4553 +f 2470//4553 2474//4552 6197//4554 6198//4555 +f 2469//4551 6225//4414 6224//4427 2474//4552 +f 2474//4552 6224//4427 7764//4429 6197//4554 +f 2467//4546 2470//4553 2475//4556 2471//4547 +f 2471//4547 2475//4556 6223//4404 6222//4399 +f 2470//4553 6198//4555 6199//4557 2475//4556 +f 2475//4556 6199//4557 7765//4405 6223//4404 +f 2476//4558 2480//4559 2481//4560 2477//4561 +f 2477//4561 2481//4560 6106//4341 6105//4339 +f 2480//4559 6228//4419 6227//4418 2481//4560 +f 2481//4560 6227//4418 7748//4197 6106//4341 +f 2476//4558 2477//4561 2482//4562 2478//4563 +f 2478//4563 2482//4562 6232//4435 6231//4434 +f 2477//4561 6105//4339 6104//4338 2482//4562 +f 2482//4562 6104//4338 7747//4221 6232//4435 +f 2476//4558 2478//4563 2483//4564 2479//4565 +f 2479//4565 2483//4564 6191//4566 6192//4567 +f 2478//4563 6231//4434 6230//4447 2483//4564 +f 2483//4564 6230//4447 7762//4449 6191//4566 +f 2476//4558 2479//4565 2484//4568 2480//4559 +f 2480//4559 2484//4568 6229//4424 6228//4419 +f 2479//4565 6192//4567 6193//4569 2484//4568 +f 2484//4568 6193//4569 7763//4425 6229//4424 +f 2485//4570 2489//4571 2490//4572 2486//4573 +f 2486//4573 2490//4572 6100//4353 6099//4351 +f 2489//4571 6234//4439 6233//4438 2490//4572 +f 2490//4572 6233//4438 7746//4217 6100//4353 +f 2485//4570 2486//4573 2491//4574 2487//4575 +f 2487//4575 2491//4574 6238//4455 6237//4454 +f 2486//4573 6099//4351 6098//4350 2491//4574 +f 2491//4574 6098//4350 7745//4241 6238//4455 +f 2485//4570 2487//4575 2492//4576 2488//4577 +f 2488//4577 2492//4576 6185//4578 6186//4579 +f 2487//4575 6237//4454 6236//4467 2492//4576 +f 2492//4576 6236//4467 7760//4469 6185//4578 +f 2485//4570 2488//4577 2493//4580 2489//4571 +f 2489//4571 2493//4580 6235//4444 6234//4439 +f 2488//4577 6186//4579 6187//4581 2493//4580 +f 2493//4580 6187//4581 7761//4445 6235//4444 +f 2494//4582 2498//4583 2499//4584 2495//4585 +f 2495//4585 2499//4584 6094//4365 6093//4363 +f 2498//4583 6240//4459 6239//4458 2499//4584 +f 2499//4584 6239//4458 7744//4237 6094//4365 +f 2494//4582 2495//4585 2500//4586 2496//4587 +f 2496//4587 2500//4586 6250//4495 6249//4494 +f 2495//4585 6093//4363 6092//4362 2500//4586 +f 2500//4586 6092//4362 7743//4281 6250//4495 +f 2494//4582 2496//4587 2501//4588 2497//4589 +f 2497//4589 2501//4588 6179//4590 6180//4591 +f 2496//4587 6249//4494 6248//4507 2501//4588 +f 2501//4588 6248//4507 7758//4509 6179//4590 +f 2494//4582 2497//4589 2502//4592 2498//4583 +f 2498//4583 2502//4592 6241//4464 6240//4459 +f 2497//4589 6180//4591 6181//4593 2502//4592 +f 2502//4592 6181//4593 7759//4465 6241//4464 +f 2503//4594 2507//4595 2508//4596 2504//4597 +f 2504//4597 2508//4596 6127//4377 6126//4375 +f 2507//4595 6246//4479 6245//4478 2508//4596 +f 2508//4596 6245//4478 7755//4257 6127//4377 +f 2503//4594 2504//4597 2509//4598 2505//4599 +f 2505//4599 2509//4598 6256//4515 6255//4514 +f 2504//4597 6126//4375 6125//4374 2509//4598 +f 2509//4598 6125//4374 7754//4301 6256//4515 +f 2503//4594 2505//4599 2510//4600 2506//4601 +f 2506//4601 2510//4600 6212//4602 6213//4603 +f 2505//4599 6255//4514 6254//4527 2510//4600 +f 2510//4600 6254//4527 7769//4529 6212//4602 +f 2503//4594 2506//4601 2511//4604 2507//4595 +f 2507//4595 2511//4604 6247//4484 6246//4479 +f 2506//4601 6213//4603 6214//4605 2511//4604 +f 2511//4604 6214//4605 7770//4485 6247//4484 +f 2512//4606 2516//4607 2517//4608 2513//4609 +f 2513//4609 2517//4608 6121//4389 6120//4387 +f 2516//4607 6258//4519 6257//4518 2517//4608 +f 2517//4608 6257//4518 7753//4297 6121//4389 +f 2512//4606 2513//4609 2518//4610 2514//4611 +f 2514//4611 2518//4610 6262//4535 6261//4534 +f 2513//4609 6120//4387 6119//4386 2518//4610 +f 2518//4610 6119//4386 7752//4317 6262//4535 +f 2512//4606 2514//4611 2519//4612 2515//4613 +f 2515//4613 2519//4612 6206//4614 6207//4615 +f 2514//4611 6261//4534 6260//4543 2519//4612 +f 2519//4612 6260//4543 7767//4545 6206//4614 +f 2512//4606 2515//4613 2520//4616 2516//4607 +f 2516//4607 2520//4616 6259//4524 6258//4519 +f 2515//4613 6207//4615 6208//4617 2520//4616 +f 2520//4616 6208//4617 7768//4525 6259//4524 +f 2521//4618 2525//4619 2526//4620 2522//4621 +f 2522//4621 2526//4620 6202//4408 6201//4403 +f 2525//4619 6309//4622 6310//4623 2526//4620 +f 2526//4620 6310//4623 7766//4409 6202//4408 +f 2521//4618 2522//4621 2527//4624 2523//4625 +f 2523//4625 2527//4624 6311//4626 6312//4627 +f 2522//4621 6201//4403 6200//4402 2527//4624 +f 2527//4624 6200//4402 7765//4405 6311//4626 +f 2521//4618 2523//4625 2528//4628 2524//4629 +f 2524//4629 2528//4628 6287//4630 6288//4631 +f 2523//4625 6312//4627 6313//4632 2528//4628 +f 2528//4628 6313//4632 7780//4633 6287//4630 +f 2521//4618 2524//4629 2529//4634 2525//4619 +f 2525//4619 2529//4634 6308//4635 6309//4622 +f 2524//4629 6288//4631 6289//4636 2529//4634 +f 2529//4634 6289//4636 7781//4637 6308//4635 +f 2530//4638 2534//4639 2535//4640 2531//4641 +f 2531//4641 2535//4640 6196//4428 6195//4423 +f 2534//4639 6315//4642 6316//4643 2535//4640 +f 2535//4640 6316//4643 7764//4429 6196//4428 +f 2530//4638 2531//4641 2536//4644 2532//4645 +f 2532//4645 2536//4644 6317//4646 6318//4647 +f 2531//4641 6195//4423 6194//4422 2536//4644 +f 2536//4644 6194//4422 7763//4425 6317//4646 +f 2530//4638 2532//4645 2537//4648 2533//4649 +f 2533//4649 2537//4648 6281//4650 6282//4651 +f 2532//4645 6318//4647 6319//4652 2537//4648 +f 2537//4648 6319//4652 7778//4653 6281//4650 +f 2530//4638 2533//4649 2538//4654 2534//4639 +f 2534//4639 2538//4654 6314//4655 6315//4642 +f 2533//4649 6282//4651 6283//4656 2538//4654 +f 2538//4654 6283//4656 7779//4657 6314//4655 +f 2539//4658 2543//4659 2544//4660 2540//4661 +f 2540//4661 2544//4660 6190//4448 6189//4443 +f 2543//4659 6321//4662 6322//4663 2544//4660 +f 2544//4660 6322//4663 7762//4449 6190//4448 +f 2539//4658 2540//4661 2545//4664 2541//4665 +f 2541//4665 2545//4664 6323//4666 6324//4667 +f 2540//4661 6189//4443 6188//4442 2545//4664 +f 2545//4664 6188//4442 7761//4445 6323//4666 +f 2539//4658 2541//4665 2546//4668 2542//4669 +f 2542//4669 2546//4668 6275//4670 6276//4671 +f 2541//4665 6324//4667 6325//4672 2546//4668 +f 2546//4668 6325//4672 7776//4673 6275//4670 +f 2539//4658 2542//4669 2547//4674 2543//4659 +f 2543//4659 2547//4674 6320//4675 6321//4662 +f 2542//4669 6276//4671 6277//4676 2547//4674 +f 2547//4674 6277//4676 7777//4677 6320//4675 +f 2548//4678 2552//4679 2553//4680 2549//4681 +f 2549//4681 2553//4680 6184//4468 6183//4463 +f 2552//4679 6327//4682 6328//4683 2553//4680 +f 2553//4680 6328//4683 7760//4469 6184//4468 +f 2548//4678 2549//4681 2554//4684 2550//4685 +f 2550//4685 2554//4684 6329//4686 6330//4687 +f 2549//4681 6183//4463 6182//4462 2554//4684 +f 2554//4684 6182//4462 7759//4465 6329//4686 +f 2548//4678 2550//4685 2555//4688 2551//4689 +f 2551//4689 2555//4688 6269//4690 6270//4691 +f 2550//4685 6330//4687 6331//4692 2555//4688 +f 2555//4688 6331//4692 7774//4693 6269//4690 +f 2548//4678 2551//4689 2556//4694 2552//4679 +f 2552//4679 2556//4694 6326//4695 6327//4682 +f 2551//4689 6270//4691 6271//4696 2556//4694 +f 2556//4694 6271//4696 7775//4697 6326//4695 +f 2557//4698 2561//4699 2562//4700 2558//4701 +f 2558//4701 2562//4700 6217//4488 6216//4483 +f 2561//4699 6333//4702 6334//4703 2562//4700 +f 2562//4700 6334//4703 7771//4489 6217//4488 +f 2557//4698 2558//4701 2563//4704 2559//4705 +f 2559//4705 2563//4704 6335//4706 6336//4707 +f 2558//4701 6216//4483 6215//4482 2563//4704 +f 2563//4704 6215//4482 7770//4485 6335//4706 +f 2557//4698 2559//4705 2564//4708 2560//4709 +f 2560//4709 2564//4708 6302//4710 6303//4711 +f 2559//4705 6336//4707 6337//4712 2564//4708 +f 2564//4708 6337//4712 7785//4713 6302//4710 +f 2557//4698 2560//4709 2565//4714 2561//4699 +f 2561//4699 2565//4714 6332//4715 6333//4702 +f 2560//4709 6303//4711 6304//4716 2565//4714 +f 2565//4714 6304//4716 7786//4717 6332//4715 +f 2566//4718 2570//4719 2571//4720 2567//4721 +f 2567//4721 2571//4720 6178//4508 6177//4503 +f 2570//4719 6339//4722 6340//4723 2571//4720 +f 2571//4720 6340//4723 7758//4509 6178//4508 +f 2566//4718 2567//4721 2572//4724 2568//4725 +f 2568//4725 2572//4724 6341//4726 6342//4727 +f 2567//4721 6177//4503 6176//4502 2572//4724 +f 2572//4724 6176//4502 7757//4505 6341//4726 +f 2566//4718 2568//4725 2573//4728 2569//4729 +f 2569//4729 2573//4728 6263//4730 6264//4731 +f 2568//4725 6342//4727 6343//4732 2573//4728 +f 2573//4728 6343//4732 7772//4733 6263//4730 +f 2566//4718 2569//4729 2574//4734 2570//4719 +f 2570//4719 2574//4734 6338//4735 6339//4722 +f 2569//4729 6264//4731 6265//4736 2574//4734 +f 2574//4734 6265//4736 7773//4737 6338//4735 +f 2575//4738 2579//4739 2580//4740 2576//4741 +f 2576//4741 2580//4740 6211//4528 6210//4523 +f 2579//4739 6345//4742 6346//4743 2580//4740 +f 2580//4740 6346//4743 7769//4529 6211//4528 +f 2575//4738 2576//4741 2581//4744 2577//4745 +f 2577//4745 2581//4744 6347//4746 6348//4747 +f 2576//4741 6210//4523 6209//4522 2581//4744 +f 2581//4744 6209//4522 7768//4525 6347//4746 +f 2575//4738 2577//4745 2582//4748 2578//4749 +f 2578//4749 2582//4748 6296//4750 6297//4751 +f 2577//4745 6348//4747 6349//4752 2582//4748 +f 2582//4748 6349//4752 7783//4753 6296//4750 +f 2575//4738 2578//4749 2583//4754 2579//4739 +f 2579//4739 2583//4754 6344//4755 6345//4742 +f 2578//4749 6297//4751 6298//4756 2583//4754 +f 2583//4754 6298//4756 7784//4757 6344//4755 +f 2584//4758 2588//4759 2589//4760 2585//4761 +f 2585//4761 2589//4760 6205//4544 6204//4541 +f 2588//4759 6351//4762 6352//4763 2589//4760 +f 2589//4760 6352//4763 7767//4545 6205//4544 +f 2584//4758 2585//4761 2590//4764 2586//4765 +f 2586//4765 2590//4764 6310//4623 6309//4622 +f 2585//4761 6204//4541 6203//4540 2590//4764 +f 2590//4764 6203//4540 7766//4409 6310//4623 +f 2584//4758 2586//4765 2591//4766 2587//4767 +f 2587//4767 2591//4766 6290//4768 6291//4769 +f 2586//4765 6309//4622 6308//4635 2591//4766 +f 2591//4766 6308//4635 7781//4637 6290//4768 +f 2584//4758 2587//4767 2592//4770 2588//4759 +f 2588//4759 2592//4770 6350//4771 6351//4762 +f 2587//4767 6291//4769 6292//4772 2592//4770 +f 2592//4770 6292//4772 7782//4773 6350//4771 +f 2593//4774 2597//4775 2598//4776 2594//4777 +f 2594//4777 2598//4776 6199//4557 6198//4555 +f 2597//4775 6312//4627 6311//4626 2598//4776 +f 2598//4776 6311//4626 7765//4405 6199//4557 +f 2593//4774 2594//4777 2599//4778 2595//4779 +f 2595//4779 2599//4778 6316//4643 6315//4642 +f 2594//4777 6198//4555 6197//4554 2599//4778 +f 2599//4778 6197//4554 7764//4429 6316//4643 +f 2593//4774 2595//4779 2600//4780 2596//4781 +f 2596//4781 2600//4780 6284//4782 6285//4783 +f 2595//4779 6315//4642 6314//4655 2600//4780 +f 2600//4780 6314//4655 7779//4657 6284//4782 +f 2593//4774 2596//4781 2601//4784 2597//4775 +f 2597//4775 2601//4784 6313//4632 6312//4627 +f 2596//4781 6285//4783 6286//4785 2601//4784 +f 2601//4784 6286//4785 7780//4633 6313//4632 +f 2602//4786 2606//4787 2607//4788 2603//4789 +f 2603//4789 2607//4788 6193//4569 6192//4567 +f 2606//4787 6318//4647 6317//4646 2607//4788 +f 2607//4788 6317//4646 7763//4425 6193//4569 +f 2602//4786 2603//4789 2608//4790 2604//4791 +f 2604//4791 2608//4790 6322//4663 6321//4662 +f 2603//4789 6192//4567 6191//4566 2608//4790 +f 2608//4790 6191//4566 7762//4449 6322//4663 +f 2602//4786 2604//4791 2609//4792 2605//4793 +f 2605//4793 2609//4792 6278//4794 6279//4795 +f 2604//4791 6321//4662 6320//4675 2609//4792 +f 2609//4792 6320//4675 7777//4677 6278//4794 +f 2602//4786 2605//4793 2610//4796 2606//4787 +f 2606//4787 2610//4796 6319//4652 6318//4647 +f 2605//4793 6279//4795 6280//4797 2610//4796 +f 2610//4796 6280//4797 7778//4653 6319//4652 +f 2611//4798 2615//4799 2616//4800 2612//4801 +f 2612//4801 2616//4800 6187//4581 6186//4579 +f 2615//4799 6324//4667 6323//4666 2616//4800 +f 2616//4800 6323//4666 7761//4445 6187//4581 +f 2611//4798 2612//4801 2617//4802 2613//4803 +f 2613//4803 2617//4802 6328//4683 6327//4682 +f 2612//4801 6186//4579 6185//4578 2617//4802 +f 2617//4802 6185//4578 7760//4469 6328//4683 +f 2611//4798 2613//4803 2618//4804 2614//4805 +f 2614//4805 2618//4804 6272//4806 6273//4807 +f 2613//4803 6327//4682 6326//4695 2618//4804 +f 2618//4804 6326//4695 7775//4697 6272//4806 +f 2611//4798 2614//4805 2619//4808 2615//4799 +f 2615//4799 2619//4808 6325//4672 6324//4667 +f 2614//4805 6273//4807 6274//4809 2619//4808 +f 2619//4808 6274//4809 7776//4673 6325//4672 +f 2620//4810 2624//4811 2625//4812 2621//4813 +f 2621//4813 2625//4812 6181//4593 6180//4591 +f 2624//4811 6330//4687 6329//4686 2625//4812 +f 2625//4812 6329//4686 7759//4465 6181//4593 +f 2620//4810 2621//4813 2626//4814 2622//4815 +f 2622//4815 2626//4814 6340//4723 6339//4722 +f 2621//4813 6180//4591 6179//4590 2626//4814 +f 2626//4814 6179//4590 7758//4509 6340//4723 +f 2620//4810 2622//4815 2627//4816 2623//4817 +f 2623//4817 2627//4816 6266//4818 6267//4819 +f 2622//4815 6339//4722 6338//4735 2627//4816 +f 2627//4816 6338//4735 7773//4737 6266//4818 +f 2620//4810 2623//4817 2628//4820 2624//4811 +f 2624//4811 2628//4820 6331//4692 6330//4687 +f 2623//4817 6267//4819 6268//4821 2628//4820 +f 2628//4820 6268//4821 7774//4693 6331//4692 +f 2629//4822 2633//4823 2634//4824 2630//4825 +f 2630//4825 2634//4824 6214//4605 6213//4603 +f 2633//4823 6336//4707 6335//4706 2634//4824 +f 2634//4824 6335//4706 7770//4485 6214//4605 +f 2629//4822 2630//4825 2635//4826 2631//4827 +f 2631//4827 2635//4826 6346//4743 6345//4742 +f 2630//4825 6213//4603 6212//4602 2635//4826 +f 2635//4826 6212//4602 7769//4529 6346//4743 +f 2629//4822 2631//4827 2636//4828 2632//4829 +f 2632//4829 2636//4828 6299//4830 6300//4831 +f 2631//4827 6345//4742 6344//4755 2636//4828 +f 2636//4828 6344//4755 7784//4757 6299//4830 +f 2629//4822 2632//4829 2637//4832 2633//4823 +f 2633//4823 2637//4832 6337//4712 6336//4707 +f 2632//4829 6300//4831 6301//4833 2637//4832 +f 2637//4832 6301//4833 7785//4713 6337//4712 +f 2638//4834 2642//4835 2643//4836 2639//4837 +f 2639//4837 2643//4836 6208//4617 6207//4615 +f 2642//4835 6348//4747 6347//4746 2643//4836 +f 2643//4836 6347//4746 7768//4525 6208//4617 +f 2638//4834 2639//4837 2644//4838 2640//4839 +f 2640//4839 2644//4838 6352//4763 6351//4762 +f 2639//4837 6207//4615 6206//4614 2644//4838 +f 2644//4838 6206//4614 7767//4545 6352//4763 +f 2638//4834 2640//4839 2645//4840 2641//4841 +f 2641//4841 2645//4840 6293//4842 6294//4843 +f 2640//4839 6351//4762 6350//4771 2645//4840 +f 2645//4840 6350//4771 7782//4773 6293//4842 +f 2638//4834 2641//4841 2646//4844 2642//4835 +f 2642//4835 2646//4844 6349//4752 6348//4747 +f 2641//4841 6294//4843 6295//4845 2646//4844 +f 2646//4844 6295//4845 7783//4753 6349//4752 +f 2647//4846 2651//4847 2652//4848 2648//4849 +f 2648//4849 2652//4848 6289//4636 6288//4631 +f 2651//4847 6396//4850 6397//4851 2652//4848 +f 2652//4848 6397//4851 7781//4637 6289//4636 +f 2647//4846 2648//4849 2653//4852 2649//4853 +f 2649//4853 2653//4852 6398//4854 6399//4855 +f 2648//4849 6288//4631 6287//4630 2653//4852 +f 2653//4852 6287//4630 7780//4633 6398//4854 +f 2647//4846 2649//4853 2654//4856 2650//4857 +f 2650//4857 2654//4856 6377//4858 6378//4859 +f 2649//4853 6399//4855 6400//4860 2654//4856 +f 2654//4856 6400//4860 7796//4861 6377//4858 +f 2647//4846 2650//4857 2655//4862 2651//4847 +f 2651//4847 2655//4862 6395//4863 6396//4850 +f 2650//4857 6378//4859 6379//4864 2655//4862 +f 2655//4862 6379//4864 7797//4865 6395//4863 +f 2656//4866 2660//4867 2661//4868 2657//4869 +f 2657//4869 2661//4868 6283//4656 6282//4651 +f 2660//4867 6402//4870 6403//4871 2661//4868 +f 2661//4868 6403//4871 7779//4657 6283//4656 +f 2656//4866 2657//4869 2662//4872 2658//4873 +f 2658//4873 2662//4872 6404//4874 6405//4875 +f 2657//4869 6282//4651 6281//4650 2662//4872 +f 2662//4872 6281//4650 7778//4653 6404//4874 +f 2656//4866 2658//4873 2663//4876 2659//4877 +f 2659//4877 2663//4876 6371//4878 6372//4879 +f 2658//4873 6405//4875 6406//4880 2663//4876 +f 2663//4876 6406//4880 7794//4881 6371//4878 +f 2656//4866 2659//4877 2664//4882 2660//4867 +f 2660//4867 2664//4882 6401//4883 6402//4870 +f 2659//4877 6372//4879 6373//4884 2664//4882 +f 2664//4882 6373//4884 7795//4885 6401//4883 +f 2665//4886 2669//4887 2670//4888 2666//4889 +f 2666//4889 2670//4888 6277//4676 6276//4671 +f 2669//4887 6408//4890 6409//4891 2670//4888 +f 2670//4888 6409//4891 7777//4677 6277//4676 +f 2665//4886 2666//4889 2671//4892 2667//4893 +f 2667//4893 2671//4892 6410//4894 6411//4895 +f 2666//4889 6276//4671 6275//4670 2671//4892 +f 2671//4892 6275//4670 7776//4673 6410//4894 +f 2665//4886 2667//4893 2672//4896 2668//4897 +f 2668//4897 2672//4896 6365//4898 6366//4899 +f 2667//4893 6411//4895 6412//4900 2672//4896 +f 2672//4896 6412//4900 7792//4901 6365//4898 +f 2665//4886 2668//4897 2673//4902 2669//4887 +f 2669//4887 2673//4902 6407//4903 6408//4890 +f 2668//4897 6366//4899 6367//4904 2673//4902 +f 2673//4902 6367//4904 7793//4905 6407//4903 +f 2674//4906 2678//4907 2679//4908 2675//4909 +f 2675//4909 2679//4908 6271//4696 6270//4691 +f 2678//4907 6414//4910 6415//4911 2679//4908 +f 2679//4908 6415//4911 7775//4697 6271//4696 +f 2674//4906 2675//4909 2680//4912 2676//4913 +f 2676//4913 2680//4912 6416//4914 6417//4915 +f 2675//4909 6270//4691 6269//4690 2680//4912 +f 2680//4912 6269//4690 7774//4693 6416//4914 +f 2674//4906 2676//4913 2681//4916 2677//4917 +f 2677//4917 2681//4916 6359//4918 6360//4919 +f 2676//4913 6417//4915 6418//4920 2681//4916 +f 2681//4916 6418//4920 7790//4921 6359//4918 +f 2674//4906 2677//4917 2682//4922 2678//4907 +f 2678//4907 2682//4922 6413//4923 6414//4910 +f 2677//4917 6360//4919 6361//4924 2682//4922 +f 2682//4922 6361//4924 7791//4925 6413//4923 +f 2683//4926 2687//4927 2688//4928 2684//4929 +f 2684//4929 2688//4928 6304//4716 6303//4711 +f 2687//4927 6420//4930 6421//4931 2688//4928 +f 2688//4928 6421//4931 7786//4717 6304//4716 +f 2683//4926 2684//4929 2689//4932 2685//4933 +f 2685//4933 2689//4932 6422//4934 6423//4935 +f 2684//4929 6303//4711 6302//4710 2689//4932 +f 2689//4932 6302//4710 7785//4713 6422//4934 +f 2683//4926 2685//4933 2690//4936 2686//4937 +f 2686//4937 2690//4936 6392//4938 6393//4939 +f 2685//4933 6423//4935 6424//4940 2690//4936 +f 2690//4936 6424//4940 7801//4941 6392//4938 +f 2683//4926 2686//4937 2691//4942 2687//4927 +f 2687//4927 2691//4942 6419//4943 6420//4930 +f 2686//4937 6393//4939 6394//4944 2691//4942 +f 2691//4942 6394//4944 7802//4945 6419//4943 +f 2692//4946 2696//4947 2697//4948 2693//4949 +f 2693//4949 2697//4948 6265//4736 6264//4731 +f 2696//4947 6426//4950 6427//4951 2697//4948 +f 2697//4948 6427//4951 7773//4737 6265//4736 +f 2692//4946 2693//4949 2698//4952 2694//4953 +f 2694//4953 2698//4952 6428//4954 6429//4955 +f 2693//4949 6264//4731 6263//4730 2698//4952 +f 2698//4952 6263//4730 7772//4733 6428//4954 +f 2692//4946 2694//4953 2699//4956 2695//4957 +f 2695//4957 2699//4956 6353//4958 6354//4959 +f 2694//4953 6429//4955 6430//4960 2699//4956 +f 2699//4956 6430//4960 7788//4961 6353//4958 +f 2692//4946 2695//4957 2700//4962 2696//4947 +f 2696//4947 2700//4962 6425//4963 6426//4950 +f 2695//4957 6354//4959 6355//4964 2700//4962 +f 2700//4962 6355//4964 7789//4965 6425//4963 +f 2701//4966 2705//4967 2706//4968 2702//4969 +f 2702//4969 2706//4968 6298//4756 6297//4751 +f 2705//4967 6432//4970 6433//4971 2706//4968 +f 2706//4968 6433//4971 7784//4757 6298//4756 +f 2701//4966 2702//4969 2707//4972 2703//4973 +f 2703//4973 2707//4972 6434//4974 6435//4975 +f 2702//4969 6297//4751 6296//4750 2707//4972 +f 2707//4972 6296//4750 7783//4753 6434//4974 +f 2701//4966 2703//4973 2708//4976 2704//4977 +f 2704//4977 2708//4976 6386//4978 6387//4979 +f 2703//4973 6435//4975 6436//4980 2708//4976 +f 2708//4976 6436//4980 7799//4981 6386//4978 +f 2701//4966 2704//4977 2709//4982 2705//4967 +f 2705//4967 2709//4982 6431//4983 6432//4970 +f 2704//4977 6387//4979 6388//4984 2709//4982 +f 2709//4982 6388//4984 7800//4985 6431//4983 +f 2710//4986 2714//4987 2715//4988 2711//4989 +f 2711//4989 2715//4988 6292//4772 6291//4769 +f 2714//4987 6438//4990 6439//4991 2715//4988 +f 2715//4988 6439//4991 7782//4773 6292//4772 +f 2710//4986 2711//4989 2716//4992 2712//4993 +f 2712//4993 2716//4992 6397//4851 6396//4850 +f 2711//4989 6291//4769 6290//4768 2716//4992 +f 2716//4992 6290//4768 7781//4637 6397//4851 +f 2710//4986 2712//4993 2717//4994 2713//4995 +f 2713//4995 2717//4994 6380//4996 6381//4997 +f 2712//4993 6396//4850 6395//4863 2717//4994 +f 2717//4994 6395//4863 7797//4865 6380//4996 +f 2710//4986 2713//4995 2718//4998 2714//4987 +f 2714//4987 2718//4998 6437//4999 6438//4990 +f 2713//4995 6381//4997 6382//5000 2718//4998 +f 2718//4998 6382//5000 7798//5001 6437//4999 +f 2719//5002 2723//5003 2724//5004 2720//5005 +f 2720//5005 2724//5004 6286//4785 6285//4783 +f 2723//5003 6399//4855 6398//4854 2724//5004 +f 2724//5004 6398//4854 7780//4633 6286//4785 +f 2719//5002 2720//5005 2725//5006 2721//5007 +f 2721//5007 2725//5006 6403//4871 6402//4870 +f 2720//5005 6285//4783 6284//4782 2725//5006 +f 2725//5006 6284//4782 7779//4657 6403//4871 +f 2719//5002 2721//5007 2726//5008 2722//5009 +f 2722//5009 2726//5008 6374//5010 6375//5011 +f 2721//5007 6402//4870 6401//4883 2726//5008 +f 2726//5008 6401//4883 7795//4885 6374//5010 +f 2719//5002 2722//5009 2727//5012 2723//5003 +f 2723//5003 2727//5012 6400//4860 6399//4855 +f 2722//5009 6375//5011 6376//5013 2727//5012 +f 2727//5012 6376//5013 7796//4861 6400//4860 +f 2728//5014 2732//5015 2733//5016 2729//5017 +f 2729//5017 2733//5016 6280//4797 6279//4795 +f 2732//5015 6405//4875 6404//4874 2733//5016 +f 2733//5016 6404//4874 7778//4653 6280//4797 +f 2728//5014 2729//5017 2734//5018 2730//5019 +f 2730//5019 2734//5018 6409//4891 6408//4890 +f 2729//5017 6279//4795 6278//4794 2734//5018 +f 2734//5018 6278//4794 7777//4677 6409//4891 +f 2728//5014 2730//5019 2735//5020 2731//5021 +f 2731//5021 2735//5020 6368//5022 6369//5023 +f 2730//5019 6408//4890 6407//4903 2735//5020 +f 2735//5020 6407//4903 7793//4905 6368//5022 +f 2728//5014 2731//5021 2736//5024 2732//5015 +f 2732//5015 2736//5024 6406//4880 6405//4875 +f 2731//5021 6369//5023 6370//5025 2736//5024 +f 2736//5024 6370//5025 7794//4881 6406//4880 +f 2737//5026 2741//5027 2742//5028 2738//5029 +f 2738//5029 2742//5028 6274//4809 6273//4807 +f 2741//5027 6411//4895 6410//4894 2742//5028 +f 2742//5028 6410//4894 7776//4673 6274//4809 +f 2737//5026 2738//5029 2743//5030 2739//5031 +f 2739//5031 2743//5030 6415//4911 6414//4910 +f 2738//5029 6273//4807 6272//4806 2743//5030 +f 2743//5030 6272//4806 7775//4697 6415//4911 +f 2737//5026 2739//5031 2744//5032 2740//5033 +f 2740//5033 2744//5032 6362//5034 6363//5035 +f 2739//5031 6414//4910 6413//4923 2744//5032 +f 2744//5032 6413//4923 7791//4925 6362//5034 +f 2737//5026 2740//5033 2745//5036 2741//5027 +f 2741//5027 2745//5036 6412//4900 6411//4895 +f 2740//5033 6363//5035 6364//5037 2745//5036 +f 2745//5036 6364//5037 7792//4901 6412//4900 +f 2746//5038 2750//5039 2751//5040 2747//5041 +f 2747//5041 2751//5040 6268//4821 6267//4819 +f 2750//5039 6417//4915 6416//4914 2751//5040 +f 2751//5040 6416//4914 7774//4693 6268//4821 +f 2746//5038 2747//5041 2752//5042 2748//5043 +f 2748//5043 2752//5042 6427//4951 6426//4950 +f 2747//5041 6267//4819 6266//4818 2752//5042 +f 2752//5042 6266//4818 7773//4737 6427//4951 +f 2746//5038 2748//5043 2753//5044 2749//5045 +f 2749//5045 2753//5044 6356//5046 6357//5047 +f 2748//5043 6426//4950 6425//4963 2753//5044 +f 2753//5044 6425//4963 7789//4965 6356//5046 +f 2746//5038 2749//5045 2754//5048 2750//5039 +f 2750//5039 2754//5048 6418//4920 6417//4915 +f 2749//5045 6357//5047 6358//5049 2754//5048 +f 2754//5048 6358//5049 7790//4921 6418//4920 +f 2755//5050 2759//5051 2760//5052 2756//5053 +f 2756//5053 2760//5052 6301//4833 6300//4831 +f 2759//5051 6423//4935 6422//4934 2760//5052 +f 2760//5052 6422//4934 7785//4713 6301//4833 +f 2755//5050 2756//5053 2761//5054 2757//5055 +f 2757//5055 2761//5054 6433//4971 6432//4970 +f 2756//5053 6300//4831 6299//4830 2761//5054 +f 2761//5054 6299//4830 7784//4757 6433//4971 +f 2755//5050 2757//5055 2762//5056 2758//5057 +f 2758//5057 2762//5056 6389//5058 6390//5059 +f 2757//5055 6432//4970 6431//4983 2762//5056 +f 2762//5056 6431//4983 7800//4985 6389//5058 +f 2755//5050 2758//5057 2763//5060 2759//5051 +f 2759//5051 2763//5060 6424//4940 6423//4935 +f 2758//5057 6390//5059 6391//5061 2763//5060 +f 2763//5060 6391//5061 7801//4941 6424//4940 +f 2764//5062 2768//5063 2769//5064 2765//5065 +f 2765//5065 2769//5064 6295//4845 6294//4843 +f 2768//5063 6435//4975 6434//4974 2769//5064 +f 2769//5064 6434//4974 7783//4753 6295//4845 +f 2764//5062 2765//5065 2770//5066 2766//5067 +f 2766//5067 2770//5066 6439//4991 6438//4990 +f 2765//5065 6294//4843 6293//4842 2770//5066 +f 2770//5066 6293//4842 7782//4773 6439//4991 +f 2764//5062 2766//5067 2771//5068 2767//5069 +f 2767//5069 2771//5068 6383//5070 6384//5071 +f 2766//5067 6438//4990 6437//4999 2771//5068 +f 2771//5068 6437//4999 7798//5001 6383//5070 +f 2764//5062 2767//5069 2772//5072 2768//5063 +f 2768//5063 2772//5072 6436//4980 6435//4975 +f 2767//5069 6384//5071 6385//5073 2772//5072 +f 2772//5072 6385//5073 7799//4981 6436//4980 +f 2773//5074 2777//5075 2778//5076 2774//5077 +f 2774//5077 2778//5076 6379//4864 6378//4859 +f 2777//5075 6483//5078 6484//5079 2778//5076 +f 2778//5076 6484//5079 7797//4865 6379//4864 +f 2773//5074 2774//5077 2779//5080 2775//5081 +f 2775//5081 2779//5080 6485//5082 6486//5083 +f 2774//5077 6378//4859 6377//4858 2779//5080 +f 2779//5080 6377//4858 7796//4861 6485//5082 +f 2773//5074 2775//5081 2780//5084 2776//5085 +f 2776//5085 2780//5084 6464//5086 6465//5087 +f 2775//5081 6486//5083 6487//5088 2780//5084 +f 2780//5084 6487//5088 7811//5089 6464//5086 +f 2773//5074 2776//5085 2781//5090 2777//5075 +f 2777//5075 2781//5090 6482//5091 6483//5078 +f 2776//5085 6465//5087 6466//5092 2781//5090 +f 2781//5090 6466//5092 7812//5093 6482//5091 +f 2782//5094 2786//5095 2787//5096 2783//5097 +f 2783//5097 2787//5096 6373//4884 6372//4879 +f 2786//5095 6489//5098 6490//5099 2787//5096 +f 2787//5096 6490//5099 7795//4885 6373//4884 +f 2782//5094 2783//5097 2788//5100 2784//5101 +f 2784//5101 2788//5100 6491//5102 6492//5103 +f 2783//5097 6372//4879 6371//4878 2788//5100 +f 2788//5100 6371//4878 7794//4881 6491//5102 +f 2782//5094 2784//5101 2789//5104 2785//5105 +f 2785//5105 2789//5104 6458//5106 6459//5107 +f 2784//5101 6492//5103 6493//5108 2789//5104 +f 2789//5104 6493//5108 7809//5109 6458//5106 +f 2782//5094 2785//5105 2790//5110 2786//5095 +f 2786//5095 2790//5110 6488//5111 6489//5098 +f 2785//5105 6459//5107 6460//5112 2790//5110 +f 2790//5110 6460//5112 7810//5113 6488//5111 +f 2791//5114 2795//5115 2796//5116 2792//5117 +f 2792//5117 2796//5116 6367//4904 6366//4899 +f 2795//5115 6495//5118 6496//5119 2796//5116 +f 2796//5116 6496//5119 7793//4905 6367//4904 +f 2791//5114 2792//5117 2797//5120 2793//5121 +f 2793//5121 2797//5120 6497//5122 6498//5123 +f 2792//5117 6366//4899 6365//4898 2797//5120 +f 2797//5120 6365//4898 7792//4901 6497//5122 +f 2791//5114 2793//5121 2798//5124 2794//5125 +f 2794//5125 2798//5124 6452//5126 6453//5127 +f 2793//5121 6498//5123 6499//5128 2798//5124 +f 2798//5124 6499//5128 7807//5129 6452//5126 +f 2791//5114 2794//5125 2799//5130 2795//5115 +f 2795//5115 2799//5130 6494//5131 6495//5118 +f 2794//5125 6453//5127 6454//5132 2799//5130 +f 2799//5130 6454//5132 7808//5133 6494//5131 +f 2800//5134 2804//5135 2805//5136 2801//5137 +f 2801//5137 2805//5136 6361//4924 6360//4919 +f 2804//5135 6501//5138 6502//5139 2805//5136 +f 2805//5136 6502//5139 7791//4925 6361//4924 +f 2800//5134 2801//5137 2806//5140 2802//5141 +f 2802//5141 2806//5140 6503//5142 6504//5143 +f 2801//5137 6360//4919 6359//4918 2806//5140 +f 2806//5140 6359//4918 7790//4921 6503//5142 +f 2800//5134 2802//5141 2807//5144 2803//5145 +f 2803//5145 2807//5144 6446//5146 6447//5147 +f 2802//5141 6504//5143 6505//5148 2807//5144 +f 2807//5144 6505//5148 7805//5149 6446//5146 +f 2800//5134 2803//5145 2808//5150 2804//5135 +f 2804//5135 2808//5150 6500//5151 6501//5138 +f 2803//5145 6447//5147 6448//5152 2808//5150 +f 2808//5150 6448//5152 7806//5153 6500//5151 +f 2809//5154 2813//5155 2814//5156 2810//5157 +f 2810//5157 2814//5156 6394//4944 6393//4939 +f 2813//5155 6507//5158 6508//5159 2814//5156 +f 2814//5156 6508//5159 7802//4945 6394//4944 +f 2809//5154 2810//5157 2815//5160 2811//5161 +f 2811//5161 2815//5160 6509//5162 6510//5163 +f 2810//5157 6393//4939 6392//4938 2815//5160 +f 2815//5160 6392//4938 7801//4941 6509//5162 +f 2809//5154 2811//5161 2816//5164 2812//5165 +f 2812//5165 2816//5164 6479//5166 6480//5167 +f 2811//5161 6510//5163 6511//5168 2816//5164 +f 2816//5164 6511//5168 7816//5169 6479//5166 +f 2809//5154 2812//5165 2817//5170 2813//5155 +f 2813//5155 2817//5170 6506//5171 6507//5158 +f 2812//5165 6480//5167 6481//5172 2817//5170 +f 2817//5170 6481//5172 7817//5173 6506//5171 +f 2818//5174 2822//5175 2823//5176 2819//5177 +f 2819//5177 2823//5176 6355//4964 6354//4959 +f 2822//5175 6513//5178 6514//5179 2823//5176 +f 2823//5176 6514//5179 7789//4965 6355//4964 +f 2818//5174 2819//5177 2824//5180 2820//5181 +f 2820//5181 2824//5180 6515//5182 6516//5183 +f 2819//5177 6354//4959 6353//4958 2824//5180 +f 2824//5180 6353//4958 7788//4961 6515//5182 +f 2818//5174 2820//5181 2825//5184 2821//5185 +f 2821//5185 2825//5184 6440//5186 6441//5187 +f 2820//5181 6516//5183 6517//5188 2825//5184 +f 2825//5184 6517//5188 7803//5189 6440//5186 +f 2818//5174 2821//5185 2826//5190 2822//5175 +f 2822//5175 2826//5190 6512//5191 6513//5178 +f 2821//5185 6441//5187 6442//5192 2826//5190 +f 2826//5190 6442//5192 7804//5193 6512//5191 +f 2827//5194 2831//5195 2832//5196 2828//5197 +f 2828//5197 2832//5196 6388//4984 6387//4979 +f 2831//5195 6519//5198 6520//5199 2832//5196 +f 2832//5196 6520//5199 7800//4985 6388//4984 +f 2827//5194 2828//5197 2833//5200 2829//5201 +f 2829//5201 2833//5200 6521//5202 6522//5203 +f 2828//5197 6387//4979 6386//4978 2833//5200 +f 2833//5200 6386//4978 7799//4981 6521//5202 +f 2827//5194 2829//5201 2834//5204 2830//5205 +f 2830//5205 2834//5204 6473//5206 6474//5207 +f 2829//5201 6522//5203 6523//5208 2834//5204 +f 2834//5204 6523//5208 7814//5209 6473//5206 +f 2827//5194 2830//5205 2835//5210 2831//5195 +f 2831//5195 2835//5210 6518//5211 6519//5198 +f 2830//5205 6474//5207 6475//5212 2835//5210 +f 2835//5210 6475//5212 7815//5213 6518//5211 +f 2836//5214 2840//5215 2841//5216 2837//5217 +f 2837//5217 2841//5216 6382//5000 6381//4997 +f 2840//5215 6525//5218 6526//5219 2841//5216 +f 2841//5216 6526//5219 7798//5001 6382//5000 +f 2836//5214 2837//5217 2842//5220 2838//5221 +f 2838//5221 2842//5220 6484//5079 6483//5078 +f 2837//5217 6381//4997 6380//4996 2842//5220 +f 2842//5220 6380//4996 7797//4865 6484//5079 +f 2836//5214 2838//5221 2843//5222 2839//5223 +f 2839//5223 2843//5222 6467//5224 6468//5225 +f 2838//5221 6483//5078 6482//5091 2843//5222 +f 2843//5222 6482//5091 7812//5093 6467//5224 +f 2836//5214 2839//5223 2844//5226 2840//5215 +f 2840//5215 2844//5226 6524//5227 6525//5218 +f 2839//5223 6468//5225 6469//5228 2844//5226 +f 2844//5226 6469//5228 7813//5229 6524//5227 +f 2845//5230 2849//5231 2850//5232 2846//5233 +f 2846//5233 2850//5232 6376//5013 6375//5011 +f 2849//5231 6486//5083 6485//5082 2850//5232 +f 2850//5232 6485//5082 7796//4861 6376//5013 +f 2845//5230 2846//5233 2851//5234 2847//5235 +f 2847//5235 2851//5234 6490//5099 6489//5098 +f 2846//5233 6375//5011 6374//5010 2851//5234 +f 2851//5234 6374//5010 7795//4885 6490//5099 +f 2845//5230 2847//5235 2852//5236 2848//5237 +f 2848//5237 2852//5236 6461//5238 6462//5239 +f 2847//5235 6489//5098 6488//5111 2852//5236 +f 2852//5236 6488//5111 7810//5113 6461//5238 +f 2845//5230 2848//5237 2853//5240 2849//5231 +f 2849//5231 2853//5240 6487//5088 6486//5083 +f 2848//5237 6462//5239 6463//5241 2853//5240 +f 2853//5240 6463//5241 7811//5089 6487//5088 +f 2854//5242 2858//5243 2859//5244 2855//5245 +f 2855//5245 2859//5244 6370//5025 6369//5023 +f 2858//5243 6492//5103 6491//5102 2859//5244 +f 2859//5244 6491//5102 7794//4881 6370//5025 +f 2854//5242 2855//5245 2860//5246 2856//5247 +f 2856//5247 2860//5246 6496//5119 6495//5118 +f 2855//5245 6369//5023 6368//5022 2860//5246 +f 2860//5246 6368//5022 7793//4905 6496//5119 +f 2854//5242 2856//5247 2861//5248 2857//5249 +f 2857//5249 2861//5248 6455//5250 6456//5251 +f 2856//5247 6495//5118 6494//5131 2861//5248 +f 2861//5248 6494//5131 7808//5133 6455//5250 +f 2854//5242 2857//5249 2862//5252 2858//5243 +f 2858//5243 2862//5252 6493//5108 6492//5103 +f 2857//5249 6456//5251 6457//5253 2862//5252 +f 2862//5252 6457//5253 7809//5109 6493//5108 +f 2863//5254 2867//5255 2868//5256 2864//5257 +f 2864//5257 2868//5256 6364//5037 6363//5035 +f 2867//5255 6498//5123 6497//5122 2868//5256 +f 2868//5256 6497//5122 7792//4901 6364//5037 +f 2863//5254 2864//5257 2869//5258 2865//5259 +f 2865//5259 2869//5258 6502//5139 6501//5138 +f 2864//5257 6363//5035 6362//5034 2869//5258 +f 2869//5258 6362//5034 7791//4925 6502//5139 +f 2863//5254 2865//5259 2870//5260 2866//5261 +f 2866//5261 2870//5260 6449//5262 6450//5263 +f 2865//5259 6501//5138 6500//5151 2870//5260 +f 2870//5260 6500//5151 7806//5153 6449//5262 +f 2863//5254 2866//5261 2871//5264 2867//5255 +f 2867//5255 2871//5264 6499//5128 6498//5123 +f 2866//5261 6450//5263 6451//5265 2871//5264 +f 2871//5264 6451//5265 7807//5129 6499//5128 +f 2872//5266 2876//5267 2877//5268 2873//5269 +f 2873//5269 2877//5268 6358//5049 6357//5047 +f 2876//5267 6504//5143 6503//5142 2877//5268 +f 2877//5268 6503//5142 7790//4921 6358//5049 +f 2872//5266 2873//5269 2878//5270 2874//5271 +f 2874//5271 2878//5270 6514//5179 6513//5178 +f 2873//5269 6357//5047 6356//5046 2878//5270 +f 2878//5270 6356//5046 7789//4965 6514//5179 +f 2872//5266 2874//5271 2879//5272 2875//5273 +f 2875//5273 2879//5272 6443//5274 6444//5275 +f 2874//5271 6513//5178 6512//5191 2879//5272 +f 2879//5272 6512//5191 7804//5193 6443//5274 +f 2872//5266 2875//5273 2880//5276 2876//5267 +f 2876//5267 2880//5276 6505//5148 6504//5143 +f 2875//5273 6444//5275 6445//5277 2880//5276 +f 2880//5276 6445//5277 7805//5149 6505//5148 +f 2881//5278 2885//5279 2886//5280 2882//5281 +f 2882//5281 2886//5280 6391//5061 6390//5059 +f 2885//5279 6510//5163 6509//5162 2886//5280 +f 2886//5280 6509//5162 7801//4941 6391//5061 +f 2881//5278 2882//5281 2887//5282 2883//5283 +f 2883//5283 2887//5282 6520//5199 6519//5198 +f 2882//5281 6390//5059 6389//5058 2887//5282 +f 2887//5282 6389//5058 7800//4985 6520//5199 +f 2881//5278 2883//5283 2888//5284 2884//5285 +f 2884//5285 2888//5284 6476//5286 6477//5287 +f 2883//5283 6519//5198 6518//5211 2888//5284 +f 2888//5284 6518//5211 7815//5213 6476//5286 +f 2881//5278 2884//5285 2889//5288 2885//5279 +f 2885//5279 2889//5288 6511//5168 6510//5163 +f 2884//5285 6477//5287 6478//5289 2889//5288 +f 2889//5288 6478//5289 7816//5169 6511//5168 +f 2890//5290 2894//5291 2895//5292 2891//5293 +f 2891//5293 2895//5292 6385//5073 6384//5071 +f 2894//5291 6522//5203 6521//5202 2895//5292 +f 2895//5292 6521//5202 7799//4981 6385//5073 +f 2890//5290 2891//5293 2896//5294 2892//5295 +f 2892//5295 2896//5294 6526//5219 6525//5218 +f 2891//5293 6384//5071 6383//5070 2896//5294 +f 2896//5294 6383//5070 7798//5001 6526//5219 +f 2890//5290 2892//5295 2897//5296 2893//5297 +f 2893//5297 2897//5296 6470//5298 6471//5299 +f 2892//5295 6525//5218 6524//5227 2897//5296 +f 2897//5296 6524//5227 7813//5229 6470//5298 +f 2890//5290 2893//5297 2898//5300 2894//5291 +f 2894//5291 2898//5300 6523//5208 6522//5203 +f 2893//5297 6471//5299 6472//5301 2898//5300 +f 2898//5300 6472//5301 7814//5209 6523//5208 +f 2899//5302 2903//5303 2904//5304 2900//5305 +f 2900//5305 2904//5304 6466//5092 6465//5087 +f 2903//5303 6570//5306 6571//5307 2904//5304 +f 2904//5304 6571//5307 7812//5093 6466//5092 +f 2899//5302 2900//5305 2905//5308 2901//5309 +f 2901//5309 2905//5308 6572//5310 6573//5311 +f 2900//5305 6465//5087 6464//5086 2905//5308 +f 2905//5308 6464//5086 7811//5089 6572//5310 +f 2899//5302 2901//5309 2906//5312 2902//5313 +f 2902//5313 2906//5312 6551//5314 6552//5315 +f 2901//5309 6573//5311 6574//5316 2906//5312 +f 2906//5312 6574//5316 7826//5317 6551//5314 +f 2899//5302 2902//5313 2907//5318 2903//5303 +f 2903//5303 2907//5318 6569//5319 6570//5306 +f 2902//5313 6552//5315 6553//5320 2907//5318 +f 2907//5318 6553//5320 7827//5321 6569//5319 +f 2908//5322 2912//5323 2913//5324 2909//5325 +f 2909//5325 2913//5324 6460//5112 6459//5107 +f 2912//5323 6576//5326 6577//5327 2913//5324 +f 2913//5324 6577//5327 7810//5113 6460//5112 +f 2908//5322 2909//5325 2914//5328 2910//5329 +f 2910//5329 2914//5328 6578//5330 6579//5331 +f 2909//5325 6459//5107 6458//5106 2914//5328 +f 2914//5328 6458//5106 7809//5109 6578//5330 +f 2908//5322 2910//5329 2915//5332 2911//5333 +f 2911//5333 2915//5332 6545//5334 6546//5335 +f 2910//5329 6579//5331 6580//5336 2915//5332 +f 2915//5332 6580//5336 7824//5337 6545//5334 +f 2908//5322 2911//5333 2916//5338 2912//5323 +f 2912//5323 2916//5338 6575//5339 6576//5326 +f 2911//5333 6546//5335 6547//5340 2916//5338 +f 2916//5338 6547//5340 7825//5341 6575//5339 +f 2917//5342 2921//5343 2922//5344 2918//5345 +f 2918//5345 2922//5344 6454//5132 6453//5127 +f 2921//5343 6582//5346 6583//5347 2922//5344 +f 2922//5344 6583//5347 7808//5133 6454//5132 +f 2917//5342 2918//5345 2923//5348 2919//5349 +f 2919//5349 2923//5348 6584//5350 6585//5351 +f 2918//5345 6453//5127 6452//5126 2923//5348 +f 2923//5348 6452//5126 7807//5129 6584//5350 +f 2917//5342 2919//5349 2924//5352 2920//5353 +f 2920//5353 2924//5352 6539//5354 6540//5355 +f 2919//5349 6585//5351 6586//5356 2924//5352 +f 2924//5352 6586//5356 7822//5357 6539//5354 +f 2917//5342 2920//5353 2925//5358 2921//5343 +f 2921//5343 2925//5358 6581//5359 6582//5346 +f 2920//5353 6540//5355 6541//5360 2925//5358 +f 2925//5358 6541//5360 7823//5361 6581//5359 +f 2926//5362 2930//5363 2931//5364 2927//5365 +f 2927//5365 2931//5364 6448//5152 6447//5147 +f 2930//5363 6588//5366 6589//5367 2931//5364 +f 2931//5364 6589//5367 7806//5153 6448//5152 +f 2926//5362 2927//5365 2932//5368 2928//5369 +f 2928//5369 2932//5368 6590//5370 6591//5371 +f 2927//5365 6447//5147 6446//5146 2932//5368 +f 2932//5368 6446//5146 7805//5149 6590//5370 +f 2926//5362 2928//5369 2933//5372 2929//5373 +f 2929//5373 2933//5372 6533//5374 6534//5375 +f 2928//5369 6591//5371 6592//5376 2933//5372 +f 2933//5372 6592//5376 7820//5377 6533//5374 +f 2926//5362 2929//5373 2934//5378 2930//5363 +f 2930//5363 2934//5378 6587//5379 6588//5366 +f 2929//5373 6534//5375 6535//5380 2934//5378 +f 2934//5378 6535//5380 7821//5381 6587//5379 +f 2935//5382 2939//5383 2940//5384 2936//5385 +f 2936//5385 2940//5384 6481//5172 6480//5167 +f 2939//5383 6594//5386 6595//5387 2940//5384 +f 2940//5384 6595//5387 7817//5173 6481//5172 +f 2935//5382 2936//5385 2941//5388 2937//5389 +f 2937//5389 2941//5388 6596//5390 6597//5391 +f 2936//5385 6480//5167 6479//5166 2941//5388 +f 2941//5388 6479//5166 7816//5169 6596//5390 +f 2935//5382 2937//5389 2942//5392 2938//5393 +f 2938//5393 2942//5392 6566//5394 6567//5395 +f 2937//5389 6597//5391 6598//5396 2942//5392 +f 2942//5392 6598//5396 7831//5397 6566//5394 +f 2935//5382 2938//5393 2943//5398 2939//5383 +f 2939//5383 2943//5398 6593//5399 6594//5386 +f 2938//5393 6567//5395 6568//5400 2943//5398 +f 2943//5398 6568//5400 7832//5401 6593//5399 +f 2944//5402 2948//5403 2949//5404 2945//5405 +f 2945//5405 2949//5404 6442//5192 6441//5187 +f 2948//5403 6600//5406 6601//5407 2949//5404 +f 2949//5404 6601//5407 7804//5193 6442//5192 +f 2944//5402 2945//5405 2950//5408 2946//5409 +f 2946//5409 2950//5408 6602//5410 6603//5411 +f 2945//5405 6441//5187 6440//5186 2950//5408 +f 2950//5408 6440//5186 7803//5189 6602//5410 +f 2944//5402 2946//5409 2951//5412 2947//5413 +f 2947//5413 2951//5412 6527//5414 6528//5415 +f 2946//5409 6603//5411 6604//5416 2951//5412 +f 2951//5412 6604//5416 7818//5417 6527//5414 +f 2944//5402 2947//5413 2952//5418 2948//5403 +f 2948//5403 2952//5418 6599//5419 6600//5406 +f 2947//5413 6528//5415 6529//5420 2952//5418 +f 2952//5418 6529//5420 7819//5421 6599//5419 +f 2953//5422 2957//5423 2958//5424 2954//5425 +f 2954//5425 2958//5424 6475//5212 6474//5207 +f 2957//5423 6606//5426 6607//5427 2958//5424 +f 2958//5424 6607//5427 7815//5213 6475//5212 +f 2953//5422 2954//5425 2959//5428 2955//5429 +f 2955//5429 2959//5428 6608//5430 6609//5431 +f 2954//5425 6474//5207 6473//5206 2959//5428 +f 2959//5428 6473//5206 7814//5209 6608//5430 +f 2953//5422 2955//5429 2960//5432 2956//5433 +f 2956//5433 2960//5432 6560//5434 6561//5435 +f 2955//5429 6609//5431 6610//5436 2960//5432 +f 2960//5432 6610//5436 7829//5437 6560//5434 +f 2953//5422 2956//5433 2961//5438 2957//5423 +f 2957//5423 2961//5438 6605//5439 6606//5426 +f 2956//5433 6561//5435 6562//5440 2961//5438 +f 2961//5438 6562//5440 7830//5441 6605//5439 +f 2962//5442 2966//5443 2967//5444 2963//5445 +f 2963//5445 2967//5444 6469//5228 6468//5225 +f 2966//5443 6612//5446 6613//5447 2967//5444 +f 2967//5444 6613//5447 7813//5229 6469//5228 +f 2962//5442 2963//5445 2968//5448 2964//5449 +f 2964//5449 2968//5448 6571//5307 6570//5306 +f 2963//5445 6468//5225 6467//5224 2968//5448 +f 2968//5448 6467//5224 7812//5093 6571//5307 +f 2962//5442 2964//5449 2969//5450 2965//5451 +f 2965//5451 2969//5450 6554//5452 6555//5453 +f 2964//5449 6570//5306 6569//5319 2969//5450 +f 2969//5450 6569//5319 7827//5321 6554//5452 +f 2962//5442 2965//5451 2970//5454 2966//5443 +f 2966//5443 2970//5454 6611//5455 6612//5446 +f 2965//5451 6555//5453 6556//5456 2970//5454 +f 2970//5454 6556//5456 7828//5457 6611//5455 +f 2971//5458 2975//5459 2976//5460 2972//5461 +f 2972//5461 2976//5460 6463//5241 6462//5239 +f 2975//5459 6573//5311 6572//5310 2976//5460 +f 2976//5460 6572//5310 7811//5089 6463//5241 +f 2971//5458 2972//5461 2977//5462 2973//5463 +f 2973//5463 2977//5462 6577//5327 6576//5326 +f 2972//5461 6462//5239 6461//5238 2977//5462 +f 2977//5462 6461//5238 7810//5113 6577//5327 +f 2971//5458 2973//5463 2978//5464 2974//5465 +f 2974//5465 2978//5464 6548//5466 6549//5467 +f 2973//5463 6576//5326 6575//5339 2978//5464 +f 2978//5464 6575//5339 7825//5341 6548//5466 +f 2971//5458 2974//5465 2979//5468 2975//5459 +f 2975//5459 2979//5468 6574//5316 6573//5311 +f 2974//5465 6549//5467 6550//5469 2979//5468 +f 2979//5468 6550//5469 7826//5317 6574//5316 +f 2980//5470 2984//5471 2985//5472 2981//5473 +f 2981//5473 2985//5472 6457//5253 6456//5251 +f 2984//5471 6579//5331 6578//5330 2985//5472 +f 2985//5472 6578//5330 7809//5109 6457//5253 +f 2980//5470 2981//5473 2986//5474 2982//5475 +f 2982//5475 2986//5474 6583//5347 6582//5346 +f 2981//5473 6456//5251 6455//5250 2986//5474 +f 2986//5474 6455//5250 7808//5133 6583//5347 +f 2980//5470 2982//5475 2987//5476 2983//5477 +f 2983//5477 2987//5476 6542//5478 6543//5479 +f 2982//5475 6582//5346 6581//5359 2987//5476 +f 2987//5476 6581//5359 7823//5361 6542//5478 +f 2980//5470 2983//5477 2988//5480 2984//5471 +f 2984//5471 2988//5480 6580//5336 6579//5331 +f 2983//5477 6543//5479 6544//5481 2988//5480 +f 2988//5480 6544//5481 7824//5337 6580//5336 +f 2989//5482 2993//5483 2994//5484 2990//5485 +f 2990//5485 2994//5484 6451//5265 6450//5263 +f 2993//5483 6585//5351 6584//5350 2994//5484 +f 2994//5484 6584//5350 7807//5129 6451//5265 +f 2989//5482 2990//5485 2995//5486 2991//5487 +f 2991//5487 2995//5486 6589//5367 6588//5366 +f 2990//5485 6450//5263 6449//5262 2995//5486 +f 2995//5486 6449//5262 7806//5153 6589//5367 +f 2989//5482 2991//5487 2996//5488 2992//5489 +f 2992//5489 2996//5488 6536//5490 6537//5491 +f 2991//5487 6588//5366 6587//5379 2996//5488 +f 2996//5488 6587//5379 7821//5381 6536//5490 +f 2989//5482 2992//5489 2997//5492 2993//5483 +f 2993//5483 2997//5492 6586//5356 6585//5351 +f 2992//5489 6537//5491 6538//5493 2997//5492 +f 2997//5492 6538//5493 7822//5357 6586//5356 +f 2998//5494 3002//5495 3003//5496 2999//5497 +f 2999//5497 3003//5496 6445//5277 6444//5275 +f 3002//5495 6591//5371 6590//5370 3003//5496 +f 3003//5496 6590//5370 7805//5149 6445//5277 +f 2998//5494 2999//5497 3004//5498 3000//5499 +f 3000//5499 3004//5498 6601//5407 6600//5406 +f 2999//5497 6444//5275 6443//5274 3004//5498 +f 3004//5498 6443//5274 7804//5193 6601//5407 +f 2998//5494 3000//5499 3005//5500 3001//5501 +f 3001//5501 3005//5500 6530//5502 6531//5503 +f 3000//5499 6600//5406 6599//5419 3005//5500 +f 3005//5500 6599//5419 7819//5421 6530//5502 +f 2998//5494 3001//5501 3006//5504 3002//5495 +f 3002//5495 3006//5504 6592//5376 6591//5371 +f 3001//5501 6531//5503 6532//5505 3006//5504 +f 3006//5504 6532//5505 7820//5377 6592//5376 +f 3007//5506 3011//5507 3012//5508 3008//5509 +f 3008//5509 3012//5508 6478//5289 6477//5287 +f 3011//5507 6597//5391 6596//5390 3012//5508 +f 3012//5508 6596//5390 7816//5169 6478//5289 +f 3007//5506 3008//5509 3013//5510 3009//5511 +f 3009//5511 3013//5510 6607//5427 6606//5426 +f 3008//5509 6477//5287 6476//5286 3013//5510 +f 3013//5510 6476//5286 7815//5213 6607//5427 +f 3007//5506 3009//5511 3014//5512 3010//5513 +f 3010//5513 3014//5512 6563//5514 6564//5515 +f 3009//5511 6606//5426 6605//5439 3014//5512 +f 3014//5512 6605//5439 7830//5441 6563//5514 +f 3007//5506 3010//5513 3015//5516 3011//5507 +f 3011//5507 3015//5516 6598//5396 6597//5391 +f 3010//5513 6564//5515 6565//5517 3015//5516 +f 3015//5516 6565//5517 7831//5397 6598//5396 +f 3016//5518 3020//5519 3021//5520 3017//5521 +f 3017//5521 3021//5520 6472//5301 6471//5299 +f 3020//5519 6609//5431 6608//5430 3021//5520 +f 3021//5520 6608//5430 7814//5209 6472//5301 +f 3016//5518 3017//5521 3022//5522 3018//5523 +f 3018//5523 3022//5522 6613//5447 6612//5446 +f 3017//5521 6471//5299 6470//5298 3022//5522 +f 3022//5522 6470//5298 7813//5229 6613//5447 +f 3016//5518 3018//5523 3023//5524 3019//5525 +f 3019//5525 3023//5524 6557//5526 6558//5527 +f 3018//5523 6612//5446 6611//5455 3023//5524 +f 3023//5524 6611//5455 7828//5457 6557//5526 +f 3016//5518 3019//5525 3024//5528 3020//5519 +f 3020//5519 3024//5528 6610//5436 6609//5431 +f 3019//5525 6558//5527 6559//5529 3024//5528 +f 3024//5528 6559//5529 7829//5437 6610//5436 +f 3025//5530 3029//5531 3030//5532 3026//5533 +f 3026//5533 3030//5532 6553//5320 6552//5315 +f 3029//5531 6657//5534 6658//5535 3030//5532 +f 3030//5532 6658//5535 7827//5321 6553//5320 +f 3025//5530 3026//5533 3031//5536 3027//5537 +f 3027//5537 3031//5536 6659//5538 6660//5539 +f 3026//5533 6552//5315 6551//5314 3031//5536 +f 3031//5536 6551//5314 7826//5317 6659//5538 +f 3025//5530 3027//5537 3032//5540 3028//5541 +f 3028//5541 3032//5540 6638//5542 6639//5543 +f 3027//5537 6660//5539 6661//5544 3032//5540 +f 3032//5540 6661//5544 7841//5545 6638//5542 +f 3025//5530 3028//5541 3033//5546 3029//5531 +f 3029//5531 3033//5546 6656//5547 6657//5534 +f 3028//5541 6639//5543 6640//5548 3033//5546 +f 3033//5546 6640//5548 7842//5549 6656//5547 +f 3034//5550 3038//5551 3039//5552 3035//5553 +f 3035//5553 3039//5552 6547//5340 6546//5335 +f 3038//5551 6663//5554 6664//5555 3039//5552 +f 3039//5552 6664//5555 7825//5341 6547//5340 +f 3034//5550 3035//5553 3040//5556 3036//5557 +f 3036//5557 3040//5556 6665//5558 6666//5559 +f 3035//5553 6546//5335 6545//5334 3040//5556 +f 3040//5556 6545//5334 7824//5337 6665//5558 +f 3034//5550 3036//5557 3041//5560 3037//5561 +f 3037//5561 3041//5560 6632//5562 6633//5563 +f 3036//5557 6666//5559 6667//5564 3041//5560 +f 3041//5560 6667//5564 7839//5565 6632//5562 +f 3034//5550 3037//5561 3042//5566 3038//5551 +f 3038//5551 3042//5566 6662//5567 6663//5554 +f 3037//5561 6633//5563 6634//5568 3042//5566 +f 3042//5566 6634//5568 7840//5569 6662//5567 +f 3043//5570 3047//5571 3048//5572 3044//5573 +f 3044//5573 3048//5572 6541//5360 6540//5355 +f 3047//5571 6669//5574 6670//5575 3048//5572 +f 3048//5572 6670//5575 7823//5361 6541//5360 +f 3043//5570 3044//5573 3049//5576 3045//5577 +f 3045//5577 3049//5576 6671//5578 6672//5579 +f 3044//5573 6540//5355 6539//5354 3049//5576 +f 3049//5576 6539//5354 7822//5357 6671//5578 +f 3043//5570 3045//5577 3050//5580 3046//5581 +f 3046//5581 3050//5580 6626//5582 6627//5583 +f 3045//5577 6672//5579 6673//5584 3050//5580 +f 3050//5580 6673//5584 7837//5585 6626//5582 +f 3043//5570 3046//5581 3051//5586 3047//5571 +f 3047//5571 3051//5586 6668//5587 6669//5574 +f 3046//5581 6627//5583 6628//5588 3051//5586 +f 3051//5586 6628//5588 7838//5589 6668//5587 +f 3052//5590 3056//5591 3057//5592 3053//5593 +f 3053//5593 3057//5592 6535//5380 6534//5375 +f 3056//5591 6675//5594 6676//5595 3057//5592 +f 3057//5592 6676//5595 7821//5381 6535//5380 +f 3052//5590 3053//5593 3058//5596 3054//5597 +f 3054//5597 3058//5596 6677//5598 6678//5599 +f 3053//5593 6534//5375 6533//5374 3058//5596 +f 3058//5596 6533//5374 7820//5377 6677//5598 +f 3052//5590 3054//5597 3059//5600 3055//5601 +f 3055//5601 3059//5600 6620//5602 6621//5603 +f 3054//5597 6678//5599 6679//5604 3059//5600 +f 3059//5600 6679//5604 7835//5605 6620//5602 +f 3052//5590 3055//5601 3060//5606 3056//5591 +f 3056//5591 3060//5606 6674//5607 6675//5594 +f 3055//5601 6621//5603 6622//5608 3060//5606 +f 3060//5606 6622//5608 7836//5609 6674//5607 +f 3061//5610 3065//5611 3066//5612 3062//5613 +f 3062//5613 3066//5612 6568//5400 6567//5395 +f 3065//5611 6681//5614 6682//5615 3066//5612 +f 3066//5612 6682//5615 7832//5401 6568//5400 +f 3061//5610 3062//5613 3067//5616 3063//5617 +f 3063//5617 3067//5616 6683//5618 6684//5619 +f 3062//5613 6567//5395 6566//5394 3067//5616 +f 3067//5616 6566//5394 7831//5397 6683//5618 +f 3061//5610 3063//5617 3068//5620 3064//5621 +f 3064//5621 3068//5620 6653//5622 6654//5623 +f 3063//5617 6684//5619 6685//5624 3068//5620 +f 3068//5620 6685//5624 7846//5625 6653//5622 +f 3061//5610 3064//5621 3069//5626 3065//5611 +f 3065//5611 3069//5626 6680//5627 6681//5614 +f 3064//5621 6654//5623 6655//5628 3069//5626 +f 3069//5626 6655//5628 7847//5629 6680//5627 +f 3070//5630 3074//5631 3075//5632 3071//5633 +f 3071//5633 3075//5632 6529//5420 6528//5415 +f 3074//5631 6687//5634 6688//5635 3075//5632 +f 3075//5632 6688//5635 7819//5421 6529//5420 +f 3070//5630 3071//5633 3076//5636 3072//5637 +f 3072//5637 3076//5636 6689//5638 6690//5639 +f 3071//5633 6528//5415 6527//5414 3076//5636 +f 3076//5636 6527//5414 7818//5417 6689//5638 +f 3070//5630 3072//5637 3077//5640 3073//5641 +f 3073//5641 3077//5640 6614//5642 6615//5643 +f 3072//5637 6690//5639 6691//5644 3077//5640 +f 3077//5640 6691//5644 7833//5645 6614//5642 +f 3070//5630 3073//5641 3078//5646 3074//5631 +f 3074//5631 3078//5646 6686//5647 6687//5634 +f 3073//5641 6615//5643 6616//5648 3078//5646 +f 3078//5646 6616//5648 7834//5649 6686//5647 +f 3079//5650 3083//5651 3084//5652 3080//5653 +f 3080//5653 3084//5652 6562//5440 6561//5435 +f 3083//5651 6693//5654 6694//5655 3084//5652 +f 3084//5652 6694//5655 7830//5441 6562//5440 +f 3079//5650 3080//5653 3085//5656 3081//5657 +f 3081//5657 3085//5656 6695//5658 6696//5659 +f 3080//5653 6561//5435 6560//5434 3085//5656 +f 3085//5656 6560//5434 7829//5437 6695//5658 +f 3079//5650 3081//5657 3086//5660 3082//5661 +f 3082//5661 3086//5660 6647//5662 6648//5663 +f 3081//5657 6696//5659 6697//5664 3086//5660 +f 3086//5660 6697//5664 7844//5665 6647//5662 +f 3079//5650 3082//5661 3087//5666 3083//5651 +f 3083//5651 3087//5666 6692//5667 6693//5654 +f 3082//5661 6648//5663 6649//5668 3087//5666 +f 3087//5666 6649//5668 7845//5669 6692//5667 +f 3088//5670 3092//5671 3093//5672 3089//5673 +f 3089//5673 3093//5672 6556//5456 6555//5453 +f 3092//5671 6699//5674 6700//5675 3093//5672 +f 3093//5672 6700//5675 7828//5457 6556//5456 +f 3088//5670 3089//5673 3094//5676 3090//5677 +f 3090//5677 3094//5676 6658//5535 6657//5534 +f 3089//5673 6555//5453 6554//5452 3094//5676 +f 3094//5676 6554//5452 7827//5321 6658//5535 +f 3088//5670 3090//5677 3095//5678 3091//5679 +f 3091//5679 3095//5678 6641//5680 6642//5681 +f 3090//5677 6657//5534 6656//5547 3095//5678 +f 3095//5678 6656//5547 7842//5549 6641//5680 +f 3088//5670 3091//5679 3096//5682 3092//5671 +f 3092//5671 3096//5682 6698//5683 6699//5674 +f 3091//5679 6642//5681 6643//5684 3096//5682 +f 3096//5682 6643//5684 7843//5685 6698//5683 +f 3097//5686 3101//5687 3102//5688 3098//5689 +f 3098//5689 3102//5688 6550//5469 6549//5467 +f 3101//5687 6660//5539 6659//5538 3102//5688 +f 3102//5688 6659//5538 7826//5317 6550//5469 +f 3097//5686 3098//5689 3103//5690 3099//5691 +f 3099//5691 3103//5690 6664//5555 6663//5554 +f 3098//5689 6549//5467 6548//5466 3103//5690 +f 3103//5690 6548//5466 7825//5341 6664//5555 +f 3097//5686 3099//5691 3104//5692 3100//5693 +f 3100//5693 3104//5692 6635//5694 6636//5695 +f 3099//5691 6663//5554 6662//5567 3104//5692 +f 3104//5692 6662//5567 7840//5569 6635//5694 +f 3097//5686 3100//5693 3105//5696 3101//5687 +f 3101//5687 3105//5696 6661//5544 6660//5539 +f 3100//5693 6636//5695 6637//5697 3105//5696 +f 3105//5696 6637//5697 7841//5545 6661//5544 +f 3106//5698 3110//5699 3111//5700 3107//5701 +f 3107//5701 3111//5700 6544//5481 6543//5479 +f 3110//5699 6666//5559 6665//5558 3111//5700 +f 3111//5700 6665//5558 7824//5337 6544//5481 +f 3106//5698 3107//5701 3112//5702 3108//5703 +f 3108//5703 3112//5702 6670//5575 6669//5574 +f 3107//5701 6543//5479 6542//5478 3112//5702 +f 3112//5702 6542//5478 7823//5361 6670//5575 +f 3106//5698 3108//5703 3113//5704 3109//5705 +f 3109//5705 3113//5704 6629//5706 6630//5707 +f 3108//5703 6669//5574 6668//5587 3113//5704 +f 3113//5704 6668//5587 7838//5589 6629//5706 +f 3106//5698 3109//5705 3114//5708 3110//5699 +f 3110//5699 3114//5708 6667//5564 6666//5559 +f 3109//5705 6630//5707 6631//5709 3114//5708 +f 3114//5708 6631//5709 7839//5565 6667//5564 +f 3115//5710 3119//5711 3120//5712 3116//5713 +f 3116//5713 3120//5712 6538//5493 6537//5491 +f 3119//5711 6672//5579 6671//5578 3120//5712 +f 3120//5712 6671//5578 7822//5357 6538//5493 +f 3115//5710 3116//5713 3121//5714 3117//5715 +f 3117//5715 3121//5714 6676//5595 6675//5594 +f 3116//5713 6537//5491 6536//5490 3121//5714 +f 3121//5714 6536//5490 7821//5381 6676//5595 +f 3115//5710 3117//5715 3122//5716 3118//5717 +f 3118//5717 3122//5716 6623//5718 6624//5719 +f 3117//5715 6675//5594 6674//5607 3122//5716 +f 3122//5716 6674//5607 7836//5609 6623//5718 +f 3115//5710 3118//5717 3123//5720 3119//5711 +f 3119//5711 3123//5720 6673//5584 6672//5579 +f 3118//5717 6624//5719 6625//5721 3123//5720 +f 3123//5720 6625//5721 7837//5585 6673//5584 +f 3124//5722 3128//5723 3129//5724 3125//5725 +f 3125//5725 3129//5724 6532//5505 6531//5503 +f 3128//5723 6678//5599 6677//5598 3129//5724 +f 3129//5724 6677//5598 7820//5377 6532//5505 +f 3124//5722 3125//5725 3130//5726 3126//5727 +f 3126//5727 3130//5726 6688//5635 6687//5634 +f 3125//5725 6531//5503 6530//5502 3130//5726 +f 3130//5726 6530//5502 7819//5421 6688//5635 +f 3124//5722 3126//5727 3131//5728 3127//5729 +f 3127//5729 3131//5728 6617//5730 6618//5731 +f 3126//5727 6687//5634 6686//5647 3131//5728 +f 3131//5728 6686//5647 7834//5649 6617//5730 +f 3124//5722 3127//5729 3132//5732 3128//5723 +f 3128//5723 3132//5732 6679//5604 6678//5599 +f 3127//5729 6618//5731 6619//5733 3132//5732 +f 3132//5732 6619//5733 7835//5605 6679//5604 +f 3133//5734 3137//5735 3138//5736 3134//5737 +f 3134//5737 3138//5736 6565//5517 6564//5515 +f 3137//5735 6684//5619 6683//5618 3138//5736 +f 3138//5736 6683//5618 7831//5397 6565//5517 +f 3133//5734 3134//5737 3139//5738 3135//5739 +f 3135//5739 3139//5738 6694//5655 6693//5654 +f 3134//5737 6564//5515 6563//5514 3139//5738 +f 3139//5738 6563//5514 7830//5441 6694//5655 +f 3133//5734 3135//5739 3140//5740 3136//5741 +f 3136//5741 3140//5740 6650//5742 6651//5743 +f 3135//5739 6693//5654 6692//5667 3140//5740 +f 3140//5740 6692//5667 7845//5669 6650//5742 +f 3133//5734 3136//5741 3141//5744 3137//5735 +f 3137//5735 3141//5744 6685//5624 6684//5619 +f 3136//5741 6651//5743 6652//5745 3141//5744 +f 3141//5744 6652//5745 7846//5625 6685//5624 +f 3142//5746 3146//5747 3147//5748 3143//5749 +f 3143//5749 3147//5748 6559//5529 6558//5527 +f 3146//5747 6696//5659 6695//5658 3147//5748 +f 3147//5748 6695//5658 7829//5437 6559//5529 +f 3142//5746 3143//5749 3148//5750 3144//5751 +f 3144//5751 3148//5750 6700//5675 6699//5674 +f 3143//5749 6558//5527 6557//5526 3148//5750 +f 3148//5750 6557//5526 7828//5457 6700//5675 +f 3142//5746 3144//5751 3149//5752 3145//5753 +f 3145//5753 3149//5752 6644//5754 6645//5755 +f 3144//5751 6699//5674 6698//5683 3149//5752 +f 3149//5752 6698//5683 7843//5685 6644//5754 +f 3142//5746 3145//5753 3150//5756 3146//5747 +f 3146//5747 3150//5756 6697//5664 6696//5659 +f 3145//5753 6645//5755 6646//5757 3150//5756 +f 3150//5756 6646//5757 7844//5665 6697//5664 +f 3151//5758 3155//5759 3156//5760 3152//5761 +f 3152//5761 3156//5760 6640//5548 6639//5543 +f 3155//5759 6744//5762 6745//5763 3156//5760 +f 3156//5760 6745//5763 7842//5549 6640//5548 +f 3151//5758 3152//5761 3157//5764 3153//5765 +f 3153//5765 3157//5764 6746//5766 6747//5767 +f 3152//5761 6639//5543 6638//5542 3157//5764 +f 3157//5764 6638//5542 7841//5545 6746//5766 +f 3151//5758 3153//5765 3158//5768 3154//5769 +f 3154//5769 3158//5768 6725//5770 6726//5771 +f 3153//5765 6747//5767 6748//5772 3158//5768 +f 3158//5768 6748//5772 7856//5773 6725//5770 +f 3151//5758 3154//5769 3159//5774 3155//5759 +f 3155//5759 3159//5774 6743//5775 6744//5762 +f 3154//5769 6726//5771 6727//5776 3159//5774 +f 3159//5774 6727//5776 7857//5777 6743//5775 +f 3160//5778 3164//5779 3165//5780 3161//5781 +f 3161//5781 3165//5780 6634//5568 6633//5563 +f 3164//5779 6750//5782 6751//5783 3165//5780 +f 3165//5780 6751//5783 7840//5569 6634//5568 +f 3160//5778 3161//5781 3166//5784 3162//5785 +f 3162//5785 3166//5784 6752//5786 6753//5787 +f 3161//5781 6633//5563 6632//5562 3166//5784 +f 3166//5784 6632//5562 7839//5565 6752//5786 +f 3160//5778 3162//5785 3167//5788 3163//5789 +f 3163//5789 3167//5788 6719//5790 6720//5791 +f 3162//5785 6753//5787 6754//5792 3167//5788 +f 3167//5788 6754//5792 7854//5793 6719//5790 +f 3160//5778 3163//5789 3168//5794 3164//5779 +f 3164//5779 3168//5794 6749//5795 6750//5782 +f 3163//5789 6720//5791 6721//5796 3168//5794 +f 3168//5794 6721//5796 7855//5797 6749//5795 +f 3169//5798 3173//5799 3174//5800 3170//5801 +f 3170//5801 3174//5800 6628//5588 6627//5583 +f 3173//5799 6756//5802 6757//5803 3174//5800 +f 3174//5800 6757//5803 7838//5589 6628//5588 +f 3169//5798 3170//5801 3175//5804 3171//5805 +f 3171//5805 3175//5804 6758//5806 6759//5807 +f 3170//5801 6627//5583 6626//5582 3175//5804 +f 3175//5804 6626//5582 7837//5585 6758//5806 +f 3169//5798 3171//5805 3176//5808 3172//5809 +f 3172//5809 3176//5808 6713//5810 6714//5811 +f 3171//5805 6759//5807 6760//5812 3176//5808 +f 3176//5808 6760//5812 7852//5813 6713//5810 +f 3169//5798 3172//5809 3177//5814 3173//5799 +f 3173//5799 3177//5814 6755//5815 6756//5802 +f 3172//5809 6714//5811 6715//5816 3177//5814 +f 3177//5814 6715//5816 7853//5817 6755//5815 +f 3178//5818 3182//5819 3183//5820 3179//5821 +f 3179//5821 3183//5820 6622//5608 6621//5603 +f 3182//5819 6762//5822 6763//5823 3183//5820 +f 3183//5820 6763//5823 7836//5609 6622//5608 +f 3178//5818 3179//5821 3184//5824 3180//5825 +f 3180//5825 3184//5824 6764//5826 6765//5827 +f 3179//5821 6621//5603 6620//5602 3184//5824 +f 3184//5824 6620//5602 7835//5605 6764//5826 +f 3178//5818 3180//5825 3185//5828 3181//5829 +f 3181//5829 3185//5828 6707//5830 6708//5831 +f 3180//5825 6765//5827 6766//5832 3185//5828 +f 3185//5828 6766//5832 7850//5833 6707//5830 +f 3178//5818 3181//5829 3186//5834 3182//5819 +f 3182//5819 3186//5834 6761//5835 6762//5822 +f 3181//5829 6708//5831 6709//5836 3186//5834 +f 3186//5834 6709//5836 7851//5837 6761//5835 +f 3187//5838 3191//5839 3192//5840 3188//5841 +f 3188//5841 3192//5840 6655//5628 6654//5623 +f 3191//5839 6768//5842 6769//5843 3192//5840 +f 3192//5840 6769//5843 7847//5629 6655//5628 +f 3187//5838 3188//5841 3193//5844 3189//5845 +f 3189//5845 3193//5844 6770//5846 6771//5847 +f 3188//5841 6654//5623 6653//5622 3193//5844 +f 3193//5844 6653//5622 7846//5625 6770//5846 +f 3187//5838 3189//5845 3194//5848 3190//5849 +f 3190//5849 3194//5848 6740//5850 6741//5851 +f 3189//5845 6771//5847 6772//5852 3194//5848 +f 3194//5848 6772//5852 7861//5853 6740//5850 +f 3187//5838 3190//5849 3195//5854 3191//5839 +f 3191//5839 3195//5854 6767//5855 6768//5842 +f 3190//5849 6741//5851 6742//5856 3195//5854 +f 3195//5854 6742//5856 7862//5857 6767//5855 +f 3196//5858 3200//5859 3201//5860 3197//5861 +f 3197//5861 3201//5860 6616//5648 6615//5643 +f 3200//5859 6774//5862 6775//5863 3201//5860 +f 3201//5860 6775//5863 7834//5649 6616//5648 +f 3196//5858 3197//5861 3202//5864 3198//5865 +f 3198//5865 3202//5864 6776//5866 6777//5867 +f 3197//5861 6615//5643 6614//5642 3202//5864 +f 3202//5864 6614//5642 7833//5645 6776//5866 +f 3196//5858 3198//5865 3203//5868 3199//5869 +f 3199//5869 3203//5868 6701//5870 6702//5871 +f 3198//5865 6777//5867 6778//5872 3203//5868 +f 3203//5868 6778//5872 7848//5873 6701//5870 +f 3196//5858 3199//5869 3204//5874 3200//5859 +f 3200//5859 3204//5874 6773//5875 6774//5862 +f 3199//5869 6702//5871 6703//5876 3204//5874 +f 3204//5874 6703//5876 7849//5877 6773//5875 +f 3205//5878 3209//5879 3210//5880 3206//5881 +f 3206//5881 3210//5880 6649//5668 6648//5663 +f 3209//5879 6780//5882 6781//5883 3210//5880 +f 3210//5880 6781//5883 7845//5669 6649//5668 +f 3205//5878 3206//5881 3211//5884 3207//5885 +f 3207//5885 3211//5884 6782//5886 6783//5887 +f 3206//5881 6648//5663 6647//5662 3211//5884 +f 3211//5884 6647//5662 7844//5665 6782//5886 +f 3205//5878 3207//5885 3212//5888 3208//5889 +f 3208//5889 3212//5888 6734//5890 6735//5891 +f 3207//5885 6783//5887 6784//5892 3212//5888 +f 3212//5888 6784//5892 7859//5893 6734//5890 +f 3205//5878 3208//5889 3213//5894 3209//5879 +f 3209//5879 3213//5894 6779//5895 6780//5882 +f 3208//5889 6735//5891 6736//5896 3213//5894 +f 3213//5894 6736//5896 7860//5897 6779//5895 +f 3214//5898 3218//5899 3219//5900 3215//5901 +f 3215//5901 3219//5900 6643//5684 6642//5681 +f 3218//5899 6786//5902 6787//5903 3219//5900 +f 3219//5900 6787//5903 7843//5685 6643//5684 +f 3214//5898 3215//5901 3220//5904 3216//5905 +f 3216//5905 3220//5904 6745//5763 6744//5762 +f 3215//5901 6642//5681 6641//5680 3220//5904 +f 3220//5904 6641//5680 7842//5549 6745//5763 +f 3214//5898 3216//5905 3221//5906 3217//5907 +f 3217//5907 3221//5906 6728//5908 6729//5909 +f 3216//5905 6744//5762 6743//5775 3221//5906 +f 3221//5906 6743//5775 7857//5777 6728//5908 +f 3214//5898 3217//5907 3222//5910 3218//5899 +f 3218//5899 3222//5910 6785//5911 6786//5902 +f 3217//5907 6729//5909 6730//5912 3222//5910 +f 3222//5910 6730//5912 7858//5913 6785//5911 +f 3223//5914 3227//5915 3228//5916 3224//5917 +f 3224//5917 3228//5916 6637//5697 6636//5695 +f 3227//5915 6747//5767 6746//5766 3228//5916 +f 3228//5916 6746//5766 7841//5545 6637//5697 +f 3223//5914 3224//5917 3229//5918 3225//5919 +f 3225//5919 3229//5918 6751//5783 6750//5782 +f 3224//5917 6636//5695 6635//5694 3229//5918 +f 3229//5918 6635//5694 7840//5569 6751//5783 +f 3223//5914 3225//5919 3230//5920 3226//5921 +f 3226//5921 3230//5920 6722//5922 6723//5923 +f 3225//5919 6750//5782 6749//5795 3230//5920 +f 3230//5920 6749//5795 7855//5797 6722//5922 +f 3223//5914 3226//5921 3231//5924 3227//5915 +f 3227//5915 3231//5924 6748//5772 6747//5767 +f 3226//5921 6723//5923 6724//5925 3231//5924 +f 3231//5924 6724//5925 7856//5773 6748//5772 +f 3232//5926 3236//5927 3237//5928 3233//5929 +f 3233//5929 3237//5928 6631//5709 6630//5707 +f 3236//5927 6753//5787 6752//5786 3237//5928 +f 3237//5928 6752//5786 7839//5565 6631//5709 +f 3232//5926 3233//5929 3238//5930 3234//5931 +f 3234//5931 3238//5930 6757//5803 6756//5802 +f 3233//5929 6630//5707 6629//5706 3238//5930 +f 3238//5930 6629//5706 7838//5589 6757//5803 +f 3232//5926 3234//5931 3239//5932 3235//5933 +f 3235//5933 3239//5932 6716//5934 6717//5935 +f 3234//5931 6756//5802 6755//5815 3239//5932 +f 3239//5932 6755//5815 7853//5817 6716//5934 +f 3232//5926 3235//5933 3240//5936 3236//5927 +f 3236//5927 3240//5936 6754//5792 6753//5787 +f 3235//5933 6717//5935 6718//5937 3240//5936 +f 3240//5936 6718//5937 7854//5793 6754//5792 +f 3241//5938 3245//5939 3246//5940 3242//5941 +f 3242//5941 3246//5940 6625//5721 6624//5719 +f 3245//5939 6759//5807 6758//5806 3246//5940 +f 3246//5940 6758//5806 7837//5585 6625//5721 +f 3241//5938 3242//5941 3247//5942 3243//5943 +f 3243//5943 3247//5942 6763//5823 6762//5822 +f 3242//5941 6624//5719 6623//5718 3247//5942 +f 3247//5942 6623//5718 7836//5609 6763//5823 +f 3241//5938 3243//5943 3248//5944 3244//5945 +f 3244//5945 3248//5944 6710//5946 6711//5947 +f 3243//5943 6762//5822 6761//5835 3248//5944 +f 3248//5944 6761//5835 7851//5837 6710//5946 +f 3241//5938 3244//5945 3249//5948 3245//5939 +f 3245//5939 3249//5948 6760//5812 6759//5807 +f 3244//5945 6711//5947 6712//5949 3249//5948 +f 3249//5948 6712//5949 7852//5813 6760//5812 +f 3250//5950 3254//5951 3255//5952 3251//5953 +f 3251//5953 3255//5952 6619//5733 6618//5731 +f 3254//5951 6765//5827 6764//5826 3255//5952 +f 3255//5952 6764//5826 7835//5605 6619//5733 +f 3250//5950 3251//5953 3256//5954 3252//5955 +f 3252//5955 3256//5954 6775//5863 6774//5862 +f 3251//5953 6618//5731 6617//5730 3256//5954 +f 3256//5954 6617//5730 7834//5649 6775//5863 +f 3250//5950 3252//5955 3257//5956 3253//5957 +f 3253//5957 3257//5956 6704//5958 6705//5959 +f 3252//5955 6774//5862 6773//5875 3257//5956 +f 3257//5956 6773//5875 7849//5877 6704//5958 +f 3250//5950 3253//5957 3258//5960 3254//5951 +f 3254//5951 3258//5960 6766//5832 6765//5827 +f 3253//5957 6705//5959 6706//5961 3258//5960 +f 3258//5960 6706//5961 7850//5833 6766//5832 +f 3259//5962 3263//5963 3264//5964 3260//5965 +f 3260//5965 3264//5964 6652//5745 6651//5743 +f 3263//5963 6771//5847 6770//5846 3264//5964 +f 3264//5964 6770//5846 7846//5625 6652//5745 +f 3259//5962 3260//5965 3265//5966 3261//5967 +f 3261//5967 3265//5966 6781//5883 6780//5882 +f 3260//5965 6651//5743 6650//5742 3265//5966 +f 3265//5966 6650//5742 7845//5669 6781//5883 +f 3259//5962 3261//5967 3266//5968 3262//5969 +f 3262//5969 3266//5968 6737//5970 6738//5971 +f 3261//5967 6780//5882 6779//5895 3266//5968 +f 3266//5968 6779//5895 7860//5897 6737//5970 +f 3259//5962 3262//5969 3267//5972 3263//5963 +f 3263//5963 3267//5972 6772//5852 6771//5847 +f 3262//5969 6738//5971 6739//5973 3267//5972 +f 3267//5972 6739//5973 7861//5853 6772//5852 +f 3268//5974 3272//5975 3273//5976 3269//5977 +f 3269//5977 3273//5976 6646//5757 6645//5755 +f 3272//5975 6783//5887 6782//5886 3273//5976 +f 3273//5976 6782//5886 7844//5665 6646//5757 +f 3268//5974 3269//5977 3274//5978 3270//5979 +f 3270//5979 3274//5978 6787//5903 6786//5902 +f 3269//5977 6645//5755 6644//5754 3274//5978 +f 3274//5978 6644//5754 7843//5685 6787//5903 +f 3268//5974 3270//5979 3275//5980 3271//5981 +f 3271//5981 3275//5980 6731//5982 6732//5983 +f 3270//5979 6786//5902 6785//5911 3275//5980 +f 3275//5980 6785//5911 7858//5913 6731//5982 +f 3268//5974 3271//5981 3276//5984 3272//5975 +f 3272//5975 3276//5984 6784//5892 6783//5887 +f 3271//5981 6732//5983 6733//5985 3276//5984 +f 3276//5984 6733//5985 7859//5893 6784//5892 +f 3277//5986 3281//5987 3282//5988 3278//5989 +f 3278//5989 3282//5988 6727//5776 6726//5771 +f 3281//5987 6831//5990 6832//5991 3282//5988 +f 3282//5988 6832//5991 7857//5777 6727//5776 +f 3277//5986 3278//5989 3283//5992 3279//5993 +f 3279//5993 3283//5992 6833//5994 6834//5995 +f 3278//5989 6726//5771 6725//5770 3283//5992 +f 3283//5992 6725//5770 7856//5773 6833//5994 +f 3277//5986 3279//5993 3284//5996 3280//5997 +f 3280//5997 3284//5996 6812//5998 6813//5999 +f 3279//5993 6834//5995 6835//6000 3284//5996 +f 3284//5996 6835//6000 7871//6001 6812//5998 +f 3277//5986 3280//5997 3285//6002 3281//5987 +f 3281//5987 3285//6002 6830//6003 6831//5990 +f 3280//5997 6813//5999 6814//6004 3285//6002 +f 3285//6002 6814//6004 7872//6005 6830//6003 +f 3286//6006 3290//6007 3291//6008 3287//6009 +f 3287//6009 3291//6008 6721//5796 6720//5791 +f 3290//6007 6837//6010 6838//6011 3291//6008 +f 3291//6008 6838//6011 7855//5797 6721//5796 +f 3286//6006 3287//6009 3292//6012 3288//6013 +f 3288//6013 3292//6012 6839//6014 6840//6015 +f 3287//6009 6720//5791 6719//5790 3292//6012 +f 3292//6012 6719//5790 7854//5793 6839//6014 +f 3286//6006 3288//6013 3293//6016 3289//6017 +f 3289//6017 3293//6016 6806//6018 6807//6019 +f 3288//6013 6840//6015 6841//6020 3293//6016 +f 3293//6016 6841//6020 7869//6021 6806//6018 +f 3286//6006 3289//6017 3294//6022 3290//6007 +f 3290//6007 3294//6022 6836//6023 6837//6010 +f 3289//6017 6807//6019 6808//6024 3294//6022 +f 3294//6022 6808//6024 7870//6025 6836//6023 +f 3295//6026 3299//6027 3300//6028 3296//6029 +f 3296//6029 3300//6028 6715//5816 6714//5811 +f 3299//6027 6843//6030 6844//6031 3300//6028 +f 3300//6028 6844//6031 7853//5817 6715//5816 +f 3295//6026 3296//6029 3301//6032 3297//6033 +f 3297//6033 3301//6032 6845//6034 6846//6035 +f 3296//6029 6714//5811 6713//5810 3301//6032 +f 3301//6032 6713//5810 7852//5813 6845//6034 +f 3295//6026 3297//6033 3302//6036 3298//6037 +f 3298//6037 3302//6036 6800//6038 6801//6039 +f 3297//6033 6846//6035 6847//6040 3302//6036 +f 3302//6036 6847//6040 7867//6041 6800//6038 +f 3295//6026 3298//6037 3303//6042 3299//6027 +f 3299//6027 3303//6042 6842//6043 6843//6030 +f 3298//6037 6801//6039 6802//6044 3303//6042 +f 3303//6042 6802//6044 7868//6045 6842//6043 +f 3304//6046 3308//6047 3309//6048 3305//6049 +f 3305//6049 3309//6048 6709//5836 6708//5831 +f 3308//6047 6849//6050 6850//6051 3309//6048 +f 3309//6048 6850//6051 7851//5837 6709//5836 +f 3304//6046 3305//6049 3310//6052 3306//6053 +f 3306//6053 3310//6052 6851//6054 6852//6055 +f 3305//6049 6708//5831 6707//5830 3310//6052 +f 3310//6052 6707//5830 7850//5833 6851//6054 +f 3304//6046 3306//6053 3311//6056 3307//6057 +f 3307//6057 3311//6056 6794//6058 6795//6059 +f 3306//6053 6852//6055 6853//6060 3311//6056 +f 3311//6056 6853//6060 7865//6061 6794//6058 +f 3304//6046 3307//6057 3312//6062 3308//6047 +f 3308//6047 3312//6062 6848//6063 6849//6050 +f 3307//6057 6795//6059 6796//6064 3312//6062 +f 3312//6062 6796//6064 7866//6065 6848//6063 +f 3313//6066 3317//6067 3318//6068 3314//6069 +f 3314//6069 3318//6068 6742//5856 6741//5851 +f 3317//6067 6855//6070 6856//6071 3318//6068 +f 3318//6068 6856//6071 7862//5857 6742//5856 +f 3313//6066 3314//6069 3319//6072 3315//6073 +f 3315//6073 3319//6072 6857//6074 6858//6075 +f 3314//6069 6741//5851 6740//5850 3319//6072 +f 3319//6072 6740//5850 7861//5853 6857//6074 +f 3313//6066 3315//6073 3320//6076 3316//6077 +f 3316//6077 3320//6076 6827//6078 6828//6079 +f 3315//6073 6858//6075 6859//6080 3320//6076 +f 3320//6076 6859//6080 7876//6081 6827//6078 +f 3313//6066 3316//6077 3321//6082 3317//6067 +f 3317//6067 3321//6082 6854//6083 6855//6070 +f 3316//6077 6828//6079 6829//6084 3321//6082 +f 3321//6082 6829//6084 7877//6085 6854//6083 +f 3322//6086 3326//6087 3327//6088 3323//6089 +f 3323//6089 3327//6088 6703//5876 6702//5871 +f 3326//6087 6861//6090 6862//6091 3327//6088 +f 3327//6088 6862//6091 7849//5877 6703//5876 +f 3322//6086 3323//6089 3328//6092 3324//6093 +f 3324//6093 3328//6092 6863//6094 6864//6095 +f 3323//6089 6702//5871 6701//5870 3328//6092 +f 3328//6092 6701//5870 7848//5873 6863//6094 +f 3322//6086 3324//6093 3329//6096 3325//6097 +f 3325//6097 3329//6096 6788//6098 6789//6099 +f 3324//6093 6864//6095 6865//6100 3329//6096 +f 3329//6096 6865//6100 7863//6101 6788//6098 +f 3322//6086 3325//6097 3330//6102 3326//6087 +f 3326//6087 3330//6102 6860//6103 6861//6090 +f 3325//6097 6789//6099 6790//6104 3330//6102 +f 3330//6102 6790//6104 7864//6105 6860//6103 +f 3331//6106 3335//6107 3336//6108 3332//6109 +f 3332//6109 3336//6108 6736//5896 6735//5891 +f 3335//6107 6867//6110 6868//6111 3336//6108 +f 3336//6108 6868//6111 7860//5897 6736//5896 +f 3331//6106 3332//6109 3337//6112 3333//6113 +f 3333//6113 3337//6112 6869//6114 6870//6115 +f 3332//6109 6735//5891 6734//5890 3337//6112 +f 3337//6112 6734//5890 7859//5893 6869//6114 +f 3331//6106 3333//6113 3338//6116 3334//6117 +f 3334//6117 3338//6116 6821//6118 6822//6119 +f 3333//6113 6870//6115 6871//6120 3338//6116 +f 3338//6116 6871//6120 7874//6121 6821//6118 +f 3331//6106 3334//6117 3339//6122 3335//6107 +f 3335//6107 3339//6122 6866//6123 6867//6110 +f 3334//6117 6822//6119 6823//6124 3339//6122 +f 3339//6122 6823//6124 7875//6125 6866//6123 +f 3340//6126 3344//6127 3345//6128 3341//6129 +f 3341//6129 3345//6128 6730//5912 6729//5909 +f 3344//6127 6873//6130 6874//6131 3345//6128 +f 3345//6128 6874//6131 7858//5913 6730//5912 +f 3340//6126 3341//6129 3346//6132 3342//6133 +f 3342//6133 3346//6132 6832//5991 6831//5990 +f 3341//6129 6729//5909 6728//5908 3346//6132 +f 3346//6132 6728//5908 7857//5777 6832//5991 +f 3340//6126 3342//6133 3347//6134 3343//6135 +f 3343//6135 3347//6134 6815//6136 6816//6137 +f 3342//6133 6831//5990 6830//6003 3347//6134 +f 3347//6134 6830//6003 7872//6005 6815//6136 +f 3340//6126 3343//6135 3348//6138 3344//6127 +f 3344//6127 3348//6138 6872//6139 6873//6130 +f 3343//6135 6816//6137 6817//6140 3348//6138 +f 3348//6138 6817//6140 7873//6141 6872//6139 +f 3349//6142 3353//6143 3354//6144 3350//6145 +f 3350//6145 3354//6144 6724//5925 6723//5923 +f 3353//6143 6834//5995 6833//5994 3354//6144 +f 3354//6144 6833//5994 7856//5773 6724//5925 +f 3349//6142 3350//6145 3355//6146 3351//6147 +f 3351//6147 3355//6146 6838//6011 6837//6010 +f 3350//6145 6723//5923 6722//5922 3355//6146 +f 3355//6146 6722//5922 7855//5797 6838//6011 +f 3349//6142 3351//6147 3356//6148 3352//6149 +f 3352//6149 3356//6148 6809//6150 6810//6151 +f 3351//6147 6837//6010 6836//6023 3356//6148 +f 3356//6148 6836//6023 7870//6025 6809//6150 +f 3349//6142 3352//6149 3357//6152 3353//6143 +f 3353//6143 3357//6152 6835//6000 6834//5995 +f 3352//6149 6810//6151 6811//6153 3357//6152 +f 3357//6152 6811//6153 7871//6001 6835//6000 +f 3358//6154 3362//6155 3363//6156 3359//6157 +f 3359//6157 3363//6156 6718//5937 6717//5935 +f 3362//6155 6840//6015 6839//6014 3363//6156 +f 3363//6156 6839//6014 7854//5793 6718//5937 +f 3358//6154 3359//6157 3364//6158 3360//6159 +f 3360//6159 3364//6158 6844//6031 6843//6030 +f 3359//6157 6717//5935 6716//5934 3364//6158 +f 3364//6158 6716//5934 7853//5817 6844//6031 +f 3358//6154 3360//6159 3365//6160 3361//6161 +f 3361//6161 3365//6160 6803//6162 6804//6163 +f 3360//6159 6843//6030 6842//6043 3365//6160 +f 3365//6160 6842//6043 7868//6045 6803//6162 +f 3358//6154 3361//6161 3366//6164 3362//6155 +f 3362//6155 3366//6164 6841//6020 6840//6015 +f 3361//6161 6804//6163 6805//6165 3366//6164 +f 3366//6164 6805//6165 7869//6021 6841//6020 +f 3367//6166 3371//6167 3372//6168 3368//6169 +f 3368//6169 3372//6168 6712//5949 6711//5947 +f 3371//6167 6846//6035 6845//6034 3372//6168 +f 3372//6168 6845//6034 7852//5813 6712//5949 +f 3367//6166 3368//6169 3373//6170 3369//6171 +f 3369//6171 3373//6170 6850//6051 6849//6050 +f 3368//6169 6711//5947 6710//5946 3373//6170 +f 3373//6170 6710//5946 7851//5837 6850//6051 +f 3367//6166 3369//6171 3374//6172 3370//6173 +f 3370//6173 3374//6172 6797//6174 6798//6175 +f 3369//6171 6849//6050 6848//6063 3374//6172 +f 3374//6172 6848//6063 7866//6065 6797//6174 +f 3367//6166 3370//6173 3375//6176 3371//6167 +f 3371//6167 3375//6176 6847//6040 6846//6035 +f 3370//6173 6798//6175 6799//6177 3375//6176 +f 3375//6176 6799//6177 7867//6041 6847//6040 +f 3376//6178 3380//6179 3381//6180 3377//6181 +f 3377//6181 3381//6180 6706//5961 6705//5959 +f 3380//6179 6852//6055 6851//6054 3381//6180 +f 3381//6180 6851//6054 7850//5833 6706//5961 +f 3376//6178 3377//6181 3382//6182 3378//6183 +f 3378//6183 3382//6182 6862//6091 6861//6090 +f 3377//6181 6705//5959 6704//5958 3382//6182 +f 3382//6182 6704//5958 7849//5877 6862//6091 +f 3376//6178 3378//6183 3383//6184 3379//6185 +f 3379//6185 3383//6184 6791//6186 6792//6187 +f 3378//6183 6861//6090 6860//6103 3383//6184 +f 3383//6184 6860//6103 7864//6105 6791//6186 +f 3376//6178 3379//6185 3384//6188 3380//6179 +f 3380//6179 3384//6188 6853//6060 6852//6055 +f 3379//6185 6792//6187 6793//6189 3384//6188 +f 3384//6188 6793//6189 7865//6061 6853//6060 +f 3385//6190 3389//6191 3390//6192 3386//6193 +f 3386//6193 3390//6192 6739//5973 6738//5971 +f 3389//6191 6858//6075 6857//6074 3390//6192 +f 3390//6192 6857//6074 7861//5853 6739//5973 +f 3385//6190 3386//6193 3391//6194 3387//6195 +f 3387//6195 3391//6194 6868//6111 6867//6110 +f 3386//6193 6738//5971 6737//5970 3391//6194 +f 3391//6194 6737//5970 7860//5897 6868//6111 +f 3385//6190 3387//6195 3392//6196 3388//6197 +f 3388//6197 3392//6196 6824//6198 6825//6199 +f 3387//6195 6867//6110 6866//6123 3392//6196 +f 3392//6196 6866//6123 7875//6125 6824//6198 +f 3385//6190 3388//6197 3393//6200 3389//6191 +f 3389//6191 3393//6200 6859//6080 6858//6075 +f 3388//6197 6825//6199 6826//6201 3393//6200 +f 3393//6200 6826//6201 7876//6081 6859//6080 +f 3394//6202 3398//6203 3399//6204 3395//6205 +f 3395//6205 3399//6204 6733//5985 6732//5983 +f 3398//6203 6870//6115 6869//6114 3399//6204 +f 3399//6204 6869//6114 7859//5893 6733//5985 +f 3394//6202 3395//6205 3400//6206 3396//6207 +f 3396//6207 3400//6206 6874//6131 6873//6130 +f 3395//6205 6732//5983 6731//5982 3400//6206 +f 3400//6206 6731//5982 7858//5913 6874//6131 +f 3394//6202 3396//6207 3401//6208 3397//6209 +f 3397//6209 3401//6208 6818//6210 6819//6211 +f 3396//6207 6873//6130 6872//6139 3401//6208 +f 3401//6208 6872//6139 7873//6141 6818//6210 +f 3394//6202 3397//6209 3402//6212 3398//6203 +f 3398//6203 3402//6212 6871//6120 6870//6115 +f 3397//6209 6819//6211 6820//6213 3402//6212 +f 3402//6212 6820//6213 7874//6121 6871//6120 +f 3403//6214 3407//6215 3408//6216 3404//6217 +f 3404//6217 3408//6216 6814//6004 6813//5999 +f 3407//6215 6918//6218 6919//6219 3408//6216 +f 3408//6216 6919//6219 7872//6005 6814//6004 +f 3403//6214 3404//6217 3409//6220 3405//6221 +f 3405//6221 3409//6220 6920//6222 6921//6223 +f 3404//6217 6813//5999 6812//5998 3409//6220 +f 3409//6220 6812//5998 7871//6001 6920//6222 +f 3403//6214 3405//6221 3410//6224 3406//6225 +f 3406//6225 3410//6224 6899//6226 6900//6227 +f 3405//6221 6921//6223 6922//6228 3410//6224 +f 3410//6224 6922//6228 7886//6229 6899//6226 +f 3403//6214 3406//6225 3411//6230 3407//6215 +f 3407//6215 3411//6230 6917//6231 6918//6218 +f 3406//6225 6900//6227 6901//6232 3411//6230 +f 3411//6230 6901//6232 7887//6233 6917//6231 +f 3412//6234 3416//6235 3417//6236 3413//6237 +f 3413//6237 3417//6236 6808//6024 6807//6019 +f 3416//6235 6924//6238 6925//6239 3417//6236 +f 3417//6236 6925//6239 7870//6025 6808//6024 +f 3412//6234 3413//6237 3418//6240 3414//6241 +f 3414//6241 3418//6240 6926//6242 6927//6243 +f 3413//6237 6807//6019 6806//6018 3418//6240 +f 3418//6240 6806//6018 7869//6021 6926//6242 +f 3412//6234 3414//6241 3419//6244 3415//6245 +f 3415//6245 3419//6244 6893//6246 6894//6247 +f 3414//6241 6927//6243 6928//6248 3419//6244 +f 3419//6244 6928//6248 7884//6249 6893//6246 +f 3412//6234 3415//6245 3420//6250 3416//6235 +f 3416//6235 3420//6250 6923//6251 6924//6238 +f 3415//6245 6894//6247 6895//6252 3420//6250 +f 3420//6250 6895//6252 7885//6253 6923//6251 +f 3421//6254 3425//6255 3426//6256 3422//6257 +f 3422//6257 3426//6256 6802//6044 6801//6039 +f 3425//6255 6930//6258 6931//6259 3426//6256 +f 3426//6256 6931//6259 7868//6045 6802//6044 +f 3421//6254 3422//6257 3427//6260 3423//6261 +f 3423//6261 3427//6260 6932//6262 6933//6263 +f 3422//6257 6801//6039 6800//6038 3427//6260 +f 3427//6260 6800//6038 7867//6041 6932//6262 +f 3421//6254 3423//6261 3428//6264 3424//6265 +f 3424//6265 3428//6264 6887//6266 6888//6267 +f 3423//6261 6933//6263 6934//6268 3428//6264 +f 3428//6264 6934//6268 7882//6269 6887//6266 +f 3421//6254 3424//6265 3429//6270 3425//6255 +f 3425//6255 3429//6270 6929//6271 6930//6258 +f 3424//6265 6888//6267 6889//6272 3429//6270 +f 3429//6270 6889//6272 7883//6273 6929//6271 +f 3430//6274 3434//6275 3435//6276 3431//6277 +f 3431//6277 3435//6276 6796//6064 6795//6059 +f 3434//6275 6936//6278 6937//6279 3435//6276 +f 3435//6276 6937//6279 7866//6065 6796//6064 +f 3430//6274 3431//6277 3436//6280 3432//6281 +f 3432//6281 3436//6280 6938//6282 6939//6283 +f 3431//6277 6795//6059 6794//6058 3436//6280 +f 3436//6280 6794//6058 7865//6061 6938//6282 +f 3430//6274 3432//6281 3437//6284 3433//6285 +f 3433//6285 3437//6284 6881//6286 6882//6287 +f 3432//6281 6939//6283 6940//6288 3437//6284 +f 3437//6284 6940//6288 7880//6289 6881//6286 +f 3430//6274 3433//6285 3438//6290 3434//6275 +f 3434//6275 3438//6290 6935//6291 6936//6278 +f 3433//6285 6882//6287 6883//6292 3438//6290 +f 3438//6290 6883//6292 7881//6293 6935//6291 +f 3439//6294 3443//6295 3444//6296 3440//6297 +f 3440//6297 3444//6296 6829//6084 6828//6079 +f 3443//6295 6942//6298 6943//6299 3444//6296 +f 3444//6296 6943//6299 7877//6085 6829//6084 +f 3439//6294 3440//6297 3445//6300 3441//6301 +f 3441//6301 3445//6300 6944//6302 6945//6303 +f 3440//6297 6828//6079 6827//6078 3445//6300 +f 3445//6300 6827//6078 7876//6081 6944//6302 +f 3439//6294 3441//6301 3446//6304 3442//6305 +f 3442//6305 3446//6304 6914//6306 6915//6307 +f 3441//6301 6945//6303 6946//6308 3446//6304 +f 3446//6304 6946//6308 7891//6309 6914//6306 +f 3439//6294 3442//6305 3447//6310 3443//6295 +f 3443//6295 3447//6310 6941//6311 6942//6298 +f 3442//6305 6915//6307 6916//6312 3447//6310 +f 3447//6310 6916//6312 7892//6313 6941//6311 +f 3448//6314 3452//6315 3453//6316 3449//6317 +f 3449//6317 3453//6316 6790//6104 6789//6099 +f 3452//6315 6948//6318 6949//6319 3453//6316 +f 3453//6316 6949//6319 7864//6105 6790//6104 +f 3448//6314 3449//6317 3454//6320 3450//6321 +f 3450//6321 3454//6320 6950//6322 6951//6323 +f 3449//6317 6789//6099 6788//6098 3454//6320 +f 3454//6320 6788//6098 7863//6101 6950//6322 +f 3448//6314 3450//6321 3455//6324 3451//6325 +f 3451//6325 3455//6324 6875//6326 6876//6327 +f 3450//6321 6951//6323 6952//6328 3455//6324 +f 3455//6324 6952//6328 7878//6329 6875//6326 +f 3448//6314 3451//6325 3456//6330 3452//6315 +f 3452//6315 3456//6330 6947//6331 6948//6318 +f 3451//6325 6876//6327 6877//6332 3456//6330 +f 3456//6330 6877//6332 7879//6333 6947//6331 +f 3457//6334 3461//6335 3462//6336 3458//6337 +f 3458//6337 3462//6336 6823//6124 6822//6119 +f 3461//6335 6954//6338 6955//6339 3462//6336 +f 3462//6336 6955//6339 7875//6125 6823//6124 +f 3457//6334 3458//6337 3463//6340 3459//6341 +f 3459//6341 3463//6340 6956//6342 6957//6343 +f 3458//6337 6822//6119 6821//6118 3463//6340 +f 3463//6340 6821//6118 7874//6121 6956//6342 +f 3457//6334 3459//6341 3464//6344 3460//6345 +f 3460//6345 3464//6344 6908//6346 6909//6347 +f 3459//6341 6957//6343 6958//6348 3464//6344 +f 3464//6344 6958//6348 7889//6349 6908//6346 +f 3457//6334 3460//6345 3465//6350 3461//6335 +f 3461//6335 3465//6350 6953//6351 6954//6338 +f 3460//6345 6909//6347 6910//6352 3465//6350 +f 3465//6350 6910//6352 7890//6353 6953//6351 +f 3466//6354 3470//6355 3471//6356 3467//6357 +f 3467//6357 3471//6356 6817//6140 6816//6137 +f 3470//6355 6960//6358 6961//6359 3471//6356 +f 3471//6356 6961//6359 7873//6141 6817//6140 +f 3466//6354 3467//6357 3472//6360 3468//6361 +f 3468//6361 3472//6360 6919//6219 6918//6218 +f 3467//6357 6816//6137 6815//6136 3472//6360 +f 3472//6360 6815//6136 7872//6005 6919//6219 +f 3466//6354 3468//6361 3473//6362 3469//6363 +f 3469//6363 3473//6362 6902//6364 6903//6365 +f 3468//6361 6918//6218 6917//6231 3473//6362 +f 3473//6362 6917//6231 7887//6233 6902//6364 +f 3466//6354 3469//6363 3474//6366 3470//6355 +f 3470//6355 3474//6366 6959//6367 6960//6358 +f 3469//6363 6903//6365 6904//6368 3474//6366 +f 3474//6366 6904//6368 7888//6369 6959//6367 +f 3475//6370 3479//6371 3480//6372 3476//6373 +f 3476//6373 3480//6372 6811//6153 6810//6151 +f 3479//6371 6921//6223 6920//6222 3480//6372 +f 3480//6372 6920//6222 7871//6001 6811//6153 +f 3475//6370 3476//6373 3481//6374 3477//6375 +f 3477//6375 3481//6374 6925//6239 6924//6238 +f 3476//6373 6810//6151 6809//6150 3481//6374 +f 3481//6374 6809//6150 7870//6025 6925//6239 +f 3475//6370 3477//6375 3482//6376 3478//6377 +f 3478//6377 3482//6376 6896//6378 6897//6379 +f 3477//6375 6924//6238 6923//6251 3482//6376 +f 3482//6376 6923//6251 7885//6253 6896//6378 +f 3475//6370 3478//6377 3483//6380 3479//6371 +f 3479//6371 3483//6380 6922//6228 6921//6223 +f 3478//6377 6897//6379 6898//6381 3483//6380 +f 3483//6380 6898//6381 7886//6229 6922//6228 +f 3484//6382 3488//6383 3489//6384 3485//6385 +f 3485//6385 3489//6384 6805//6165 6804//6163 +f 3488//6383 6927//6243 6926//6242 3489//6384 +f 3489//6384 6926//6242 7869//6021 6805//6165 +f 3484//6382 3485//6385 3490//6386 3486//6387 +f 3486//6387 3490//6386 6931//6259 6930//6258 +f 3485//6385 6804//6163 6803//6162 3490//6386 +f 3490//6386 6803//6162 7868//6045 6931//6259 +f 3484//6382 3486//6387 3491//6388 3487//6389 +f 3487//6389 3491//6388 6890//6390 6891//6391 +f 3486//6387 6930//6258 6929//6271 3491//6388 +f 3491//6388 6929//6271 7883//6273 6890//6390 +f 3484//6382 3487//6389 3492//6392 3488//6383 +f 3488//6383 3492//6392 6928//6248 6927//6243 +f 3487//6389 6891//6391 6892//6393 3492//6392 +f 3492//6392 6892//6393 7884//6249 6928//6248 +f 3493//6394 3497//6395 3498//6396 3494//6397 +f 3494//6397 3498//6396 6799//6177 6798//6175 +f 3497//6395 6933//6263 6932//6262 3498//6396 +f 3498//6396 6932//6262 7867//6041 6799//6177 +f 3493//6394 3494//6397 3499//6398 3495//6399 +f 3495//6399 3499//6398 6937//6279 6936//6278 +f 3494//6397 6798//6175 6797//6174 3499//6398 +f 3499//6398 6797//6174 7866//6065 6937//6279 +f 3493//6394 3495//6399 3500//6400 3496//6401 +f 3496//6401 3500//6400 6884//6402 6885//6403 +f 3495//6399 6936//6278 6935//6291 3500//6400 +f 3500//6400 6935//6291 7881//6293 6884//6402 +f 3493//6394 3496//6401 3501//6404 3497//6395 +f 3497//6395 3501//6404 6934//6268 6933//6263 +f 3496//6401 6885//6403 6886//6405 3501//6404 +f 3501//6404 6886//6405 7882//6269 6934//6268 +f 3502//6406 3506//6407 3507//6408 3503//6409 +f 3503//6409 3507//6408 6793//6189 6792//6187 +f 3506//6407 6939//6283 6938//6282 3507//6408 +f 3507//6408 6938//6282 7865//6061 6793//6189 +f 3502//6406 3503//6409 3508//6410 3504//6411 +f 3504//6411 3508//6410 6949//6319 6948//6318 +f 3503//6409 6792//6187 6791//6186 3508//6410 +f 3508//6410 6791//6186 7864//6105 6949//6319 +f 3502//6406 3504//6411 3509//6412 3505//6413 +f 3505//6413 3509//6412 6878//6414 6879//6415 +f 3504//6411 6948//6318 6947//6331 3509//6412 +f 3509//6412 6947//6331 7879//6333 6878//6414 +f 3502//6406 3505//6413 3510//6416 3506//6407 +f 3506//6407 3510//6416 6940//6288 6939//6283 +f 3505//6413 6879//6415 6880//6417 3510//6416 +f 3510//6416 6880//6417 7880//6289 6940//6288 +f 3511//6418 3515//6419 3516//6420 3512//6421 +f 3512//6421 3516//6420 6826//6201 6825//6199 +f 3515//6419 6945//6303 6944//6302 3516//6420 +f 3516//6420 6944//6302 7876//6081 6826//6201 +f 3511//6418 3512//6421 3517//6422 3513//6423 +f 3513//6423 3517//6422 6955//6339 6954//6338 +f 3512//6421 6825//6199 6824//6198 3517//6422 +f 3517//6422 6824//6198 7875//6125 6955//6339 +f 3511//6418 3513//6423 3518//6424 3514//6425 +f 3514//6425 3518//6424 6911//6426 6912//6427 +f 3513//6423 6954//6338 6953//6351 3518//6424 +f 3518//6424 6953//6351 7890//6353 6911//6426 +f 3511//6418 3514//6425 3519//6428 3515//6419 +f 3515//6419 3519//6428 6946//6308 6945//6303 +f 3514//6425 6912//6427 6913//6429 3519//6428 +f 3519//6428 6913//6429 7891//6309 6946//6308 +f 3520//6430 3524//6431 3525//6432 3521//6433 +f 3521//6433 3525//6432 6820//6213 6819//6211 +f 3524//6431 6957//6343 6956//6342 3525//6432 +f 3525//6432 6956//6342 7874//6121 6820//6213 +f 3520//6430 3521//6433 3526//6434 3522//6435 +f 3522//6435 3526//6434 6961//6359 6960//6358 +f 3521//6433 6819//6211 6818//6210 3526//6434 +f 3526//6434 6818//6210 7873//6141 6961//6359 +f 3520//6430 3522//6435 3527//6436 3523//6437 +f 3523//6437 3527//6436 6905//6438 6906//6439 +f 3522//6435 6960//6358 6959//6367 3527//6436 +f 3527//6436 6959//6367 7888//6369 6905//6438 +f 3520//6430 3523//6437 3528//6440 3524//6431 +f 3524//6431 3528//6440 6958//6348 6957//6343 +f 3523//6437 6906//6439 6907//6441 3528//6440 +f 3528//6440 6907//6441 7889//6349 6958//6348 +f 3529//6442 3533//6443 3534//6444 3530//6445 +f 3530//6445 3534//6444 6901//6232 6900//6227 +f 3533//6443 7005//6446 7006//6447 3534//6444 +f 3534//6444 7006//6447 7887//6233 6901//6232 +f 3529//6442 3530//6445 3535//6448 3531//6449 +f 3531//6449 3535//6448 7007//6450 7008//6451 +f 3530//6445 6900//6227 6899//6226 3535//6448 +f 3535//6448 6899//6226 7886//6229 7007//6450 +f 3529//6442 3531//6449 3536//6452 3532//6453 +f 3532//6453 3536//6452 6986//6454 6987//6455 +f 3531//6449 7008//6451 7009//6456 3536//6452 +f 3536//6452 7009//6456 7901//6457 6986//6454 +f 3529//6442 3532//6453 3537//6458 3533//6443 +f 3533//6443 3537//6458 7004//6459 7005//6446 +f 3532//6453 6987//6455 6988//6460 3537//6458 +f 3537//6458 6988//6460 7902//6461 7004//6459 +f 3538//6462 3542//6463 3543//6464 3539//6465 +f 3539//6465 3543//6464 6895//6252 6894//6247 +f 3542//6463 7011//6466 7012//6467 3543//6464 +f 3543//6464 7012//6467 7885//6253 6895//6252 +f 3538//6462 3539//6465 3544//6468 3540//6469 +f 3540//6469 3544//6468 7013//6470 7014//6471 +f 3539//6465 6894//6247 6893//6246 3544//6468 +f 3544//6468 6893//6246 7884//6249 7013//6470 +f 3538//6462 3540//6469 3545//6472 3541//6473 +f 3541//6473 3545//6472 6980//6474 6981//6475 +f 3540//6469 7014//6471 7015//6476 3545//6472 +f 3545//6472 7015//6476 7899//6477 6980//6474 +f 3538//6462 3541//6473 3546//6478 3542//6463 +f 3542//6463 3546//6478 7010//6479 7011//6466 +f 3541//6473 6981//6475 6982//6480 3546//6478 +f 3546//6478 6982//6480 7900//6481 7010//6479 +f 3547//6482 3551//6483 3552//6484 3548//6485 +f 3548//6485 3552//6484 6889//6272 6888//6267 +f 3551//6483 7017//6486 7018//6487 3552//6484 +f 3552//6484 7018//6487 7883//6273 6889//6272 +f 3547//6482 3548//6485 3553//6488 3549//6489 +f 3549//6489 3553//6488 7019//6490 7020//6491 +f 3548//6485 6888//6267 6887//6266 3553//6488 +f 3553//6488 6887//6266 7882//6269 7019//6490 +f 3547//6482 3549//6489 3554//6492 3550//6493 +f 3550//6493 3554//6492 6974//6494 6975//6495 +f 3549//6489 7020//6491 7021//6496 3554//6492 +f 3554//6492 7021//6496 7897//6497 6974//6494 +f 3547//6482 3550//6493 3555//6498 3551//6483 +f 3551//6483 3555//6498 7016//6499 7017//6486 +f 3550//6493 6975//6495 6976//6500 3555//6498 +f 3555//6498 6976//6500 7898//6501 7016//6499 +f 3556//6502 3560//6503 3561//6504 3557//6505 +f 3557//6505 3561//6504 6883//6292 6882//6287 +f 3560//6503 7023//6506 7024//6507 3561//6504 +f 3561//6504 7024//6507 7881//6293 6883//6292 +f 3556//6502 3557//6505 3562//6508 3558//6509 +f 3558//6509 3562//6508 7025//6510 7026//6511 +f 3557//6505 6882//6287 6881//6286 3562//6508 +f 3562//6508 6881//6286 7880//6289 7025//6510 +f 3556//6502 3558//6509 3563//6512 3559//6513 +f 3559//6513 3563//6512 6968//6514 6969//6515 +f 3558//6509 7026//6511 7027//6516 3563//6512 +f 3563//6512 7027//6516 7895//6517 6968//6514 +f 3556//6502 3559//6513 3564//6518 3560//6503 +f 3560//6503 3564//6518 7022//6519 7023//6506 +f 3559//6513 6969//6515 6970//6520 3564//6518 +f 3564//6518 6970//6520 7896//6521 7022//6519 +f 3565//6522 3569//6523 3570//6524 3566//6525 +f 3566//6525 3570//6524 6916//6312 6915//6307 +f 3569//6523 7029//6526 7030//6527 3570//6524 +f 3570//6524 7030//6527 7892//6313 6916//6312 +f 3565//6522 3566//6525 3571//6528 3567//6529 +f 3567//6529 3571//6528 7031//6530 7032//6531 +f 3566//6525 6915//6307 6914//6306 3571//6528 +f 3571//6528 6914//6306 7891//6309 7031//6530 +f 3565//6522 3567//6529 3572//6532 3568//6533 +f 3568//6533 3572//6532 7001//6534 7002//6535 +f 3567//6529 7032//6531 7033//6536 3572//6532 +f 3572//6532 7033//6536 7906//6537 7001//6534 +f 3565//6522 3568//6533 3573//6538 3569//6523 +f 3569//6523 3573//6538 7028//6539 7029//6526 +f 3568//6533 7002//6535 7003//6540 3573//6538 +f 3573//6538 7003//6540 7907//6541 7028//6539 +f 3574//6542 3578//6543 3579//6544 3575//6545 +f 3575//6545 3579//6544 6877//6332 6876//6327 +f 3578//6543 7035//6546 7036//6547 3579//6544 +f 3579//6544 7036//6547 7879//6333 6877//6332 +f 3574//6542 3575//6545 3580//6548 3576//6549 +f 3576//6549 3580//6548 7037//6550 7038//6551 +f 3575//6545 6876//6327 6875//6326 3580//6548 +f 3580//6548 6875//6326 7878//6329 7037//6550 +f 3574//6542 3576//6549 3581//6552 3577//6553 +f 3577//6553 3581//6552 6962//6554 6963//6555 +f 3576//6549 7038//6551 7039//6556 3581//6552 +f 3581//6552 7039//6556 7893//6557 6962//6554 +f 3574//6542 3577//6553 3582//6558 3578//6543 +f 3578//6543 3582//6558 7034//6559 7035//6546 +f 3577//6553 6963//6555 6964//6560 3582//6558 +f 3582//6558 6964//6560 7894//6561 7034//6559 +f 3583//6562 3587//6563 3588//6564 3584//6565 +f 3584//6565 3588//6564 6910//6352 6909//6347 +f 3587//6563 7041//6566 7042//6567 3588//6564 +f 3588//6564 7042//6567 7890//6353 6910//6352 +f 3583//6562 3584//6565 3589//6568 3585//6569 +f 3585//6569 3589//6568 7043//6570 7044//6571 +f 3584//6565 6909//6347 6908//6346 3589//6568 +f 3589//6568 6908//6346 7889//6349 7043//6570 +f 3583//6562 3585//6569 3590//6572 3586//6573 +f 3586//6573 3590//6572 6995//6574 6996//6575 +f 3585//6569 7044//6571 7045//6576 3590//6572 +f 3590//6572 7045//6576 7904//6577 6995//6574 +f 3583//6562 3586//6573 3591//6578 3587//6563 +f 3587//6563 3591//6578 7040//6579 7041//6566 +f 3586//6573 6996//6575 6997//6580 3591//6578 +f 3591//6578 6997//6580 7905//6581 7040//6579 +f 3592//6582 3596//6583 3597//6584 3593//6585 +f 3593//6585 3597//6584 6904//6368 6903//6365 +f 3596//6583 7047//6586 7048//6587 3597//6584 +f 3597//6584 7048//6587 7888//6369 6904//6368 +f 3592//6582 3593//6585 3598//6588 3594//6589 +f 3594//6589 3598//6588 7006//6447 7005//6446 +f 3593//6585 6903//6365 6902//6364 3598//6588 +f 3598//6588 6902//6364 7887//6233 7006//6447 +f 3592//6582 3594//6589 3599//6590 3595//6591 +f 3595//6591 3599//6590 6989//6592 6990//6593 +f 3594//6589 7005//6446 7004//6459 3599//6590 +f 3599//6590 7004//6459 7902//6461 6989//6592 +f 3592//6582 3595//6591 3600//6594 3596//6583 +f 3596//6583 3600//6594 7046//6595 7047//6586 +f 3595//6591 6990//6593 6991//6596 3600//6594 +f 3600//6594 6991//6596 7903//6597 7046//6595 +f 3601//6598 3605//6599 3606//6600 3602//6601 +f 3602//6601 3606//6600 6898//6381 6897//6379 +f 3605//6599 7008//6451 7007//6450 3606//6600 +f 3606//6600 7007//6450 7886//6229 6898//6381 +f 3601//6598 3602//6601 3607//6602 3603//6603 +f 3603//6603 3607//6602 7012//6467 7011//6466 +f 3602//6601 6897//6379 6896//6378 3607//6602 +f 3607//6602 6896//6378 7885//6253 7012//6467 +f 3601//6598 3603//6603 3608//6604 3604//6605 +f 3604//6605 3608//6604 6983//6606 6984//6607 +f 3603//6603 7011//6466 7010//6479 3608//6604 +f 3608//6604 7010//6479 7900//6481 6983//6606 +f 3601//6598 3604//6605 3609//6608 3605//6599 +f 3605//6599 3609//6608 7009//6456 7008//6451 +f 3604//6605 6984//6607 6985//6609 3609//6608 +f 3609//6608 6985//6609 7901//6457 7009//6456 +f 3610//6610 3614//6611 3615//6612 3611//6613 +f 3611//6613 3615//6612 6892//6393 6891//6391 +f 3614//6611 7014//6471 7013//6470 3615//6612 +f 3615//6612 7013//6470 7884//6249 6892//6393 +f 3610//6610 3611//6613 3616//6614 3612//6615 +f 3612//6615 3616//6614 7018//6487 7017//6486 +f 3611//6613 6891//6391 6890//6390 3616//6614 +f 3616//6614 6890//6390 7883//6273 7018//6487 +f 3610//6610 3612//6615 3617//6616 3613//6617 +f 3613//6617 3617//6616 6977//6618 6978//6619 +f 3612//6615 7017//6486 7016//6499 3617//6616 +f 3617//6616 7016//6499 7898//6501 6977//6618 +f 3610//6610 3613//6617 3618//6620 3614//6611 +f 3614//6611 3618//6620 7015//6476 7014//6471 +f 3613//6617 6978//6619 6979//6621 3618//6620 +f 3618//6620 6979//6621 7899//6477 7015//6476 +f 3619//6622 3623//6623 3624//6624 3620//6625 +f 3620//6625 3624//6624 6886//6405 6885//6403 +f 3623//6623 7020//6491 7019//6490 3624//6624 +f 3624//6624 7019//6490 7882//6269 6886//6405 +f 3619//6622 3620//6625 3625//6626 3621//6627 +f 3621//6627 3625//6626 7024//6507 7023//6506 +f 3620//6625 6885//6403 6884//6402 3625//6626 +f 3625//6626 6884//6402 7881//6293 7024//6507 +f 3619//6622 3621//6627 3626//6628 3622//6629 +f 3622//6629 3626//6628 6971//6630 6972//6631 +f 3621//6627 7023//6506 7022//6519 3626//6628 +f 3626//6628 7022//6519 7896//6521 6971//6630 +f 3619//6622 3622//6629 3627//6632 3623//6623 +f 3623//6623 3627//6632 7021//6496 7020//6491 +f 3622//6629 6972//6631 6973//6633 3627//6632 +f 3627//6632 6973//6633 7897//6497 7021//6496 +f 3628//6634 3632//6635 3633//6636 3629//6637 +f 3629//6637 3633//6636 6880//6417 6879//6415 +f 3632//6635 7026//6511 7025//6510 3633//6636 +f 3633//6636 7025//6510 7880//6289 6880//6417 +f 3628//6634 3629//6637 3634//6638 3630//6639 +f 3630//6639 3634//6638 7036//6547 7035//6546 +f 3629//6637 6879//6415 6878//6414 3634//6638 +f 3634//6638 6878//6414 7879//6333 7036//6547 +f 3628//6634 3630//6639 3635//6640 3631//6641 +f 3631//6641 3635//6640 6965//6642 6966//6643 +f 3630//6639 7035//6546 7034//6559 3635//6640 +f 3635//6640 7034//6559 7894//6561 6965//6642 +f 3628//6634 3631//6641 3636//6644 3632//6635 +f 3632//6635 3636//6644 7027//6516 7026//6511 +f 3631//6641 6966//6643 6967//6645 3636//6644 +f 3636//6644 6967//6645 7895//6517 7027//6516 +f 3637//6646 3641//6647 3642//6648 3638//6649 +f 3638//6649 3642//6648 6913//6429 6912//6427 +f 3641//6647 7032//6531 7031//6530 3642//6648 +f 3642//6648 7031//6530 7891//6309 6913//6429 +f 3637//6646 3638//6649 3643//6650 3639//6651 +f 3639//6651 3643//6650 7042//6567 7041//6566 +f 3638//6649 6912//6427 6911//6426 3643//6650 +f 3643//6650 6911//6426 7890//6353 7042//6567 +f 3637//6646 3639//6651 3644//6652 3640//6653 +f 3640//6653 3644//6652 6998//6654 6999//6655 +f 3639//6651 7041//6566 7040//6579 3644//6652 +f 3644//6652 7040//6579 7905//6581 6998//6654 +f 3637//6646 3640//6653 3645//6656 3641//6647 +f 3641//6647 3645//6656 7033//6536 7032//6531 +f 3640//6653 6999//6655 7000//6657 3645//6656 +f 3645//6656 7000//6657 7906//6537 7033//6536 +f 3646//6658 3650//6659 3651//6660 3647//6661 +f 3647//6661 3651//6660 6907//6441 6906//6439 +f 3650//6659 7044//6571 7043//6570 3651//6660 +f 3651//6660 7043//6570 7889//6349 6907//6441 +f 3646//6658 3647//6661 3652//6662 3648//6663 +f 3648//6663 3652//6662 7048//6587 7047//6586 +f 3647//6661 6906//6439 6905//6438 3652//6662 +f 3652//6662 6905//6438 7888//6369 7048//6587 +f 3646//6658 3648//6663 3653//6664 3649//6665 +f 3649//6665 3653//6664 6992//6666 6993//6667 +f 3648//6663 7047//6586 7046//6595 3653//6664 +f 3653//6664 7046//6595 7903//6597 6992//6666 +f 3646//6658 3649//6665 3654//6668 3650//6659 +f 3650//6659 3654//6668 7045//6576 7044//6571 +f 3649//6665 6993//6667 6994//6669 3654//6668 +f 3654//6668 6994//6669 7904//6577 7045//6576 +f 3655//6670 3659//6671 3660//6672 3656//6673 +f 3656//6673 3660//6672 6988//6460 6987//6455 +f 3659//6671 7095//6674 7096//6675 3660//6672 +f 3660//6672 7096//6675 7902//6461 6988//6460 +f 3655//6670 3656//6673 3661//6676 3657//6677 +f 3657//6677 3661//6676 7097//6678 7098//6679 +f 3656//6673 6987//6455 6986//6454 3661//6676 +f 3661//6676 6986//6454 7901//6457 7097//6678 +f 3655//6670 3657//6677 3662//6680 3658//6681 +f 3658//6681 3662//6680 7076//6682 7077//6683 +f 3657//6677 7098//6679 7099//6684 3662//6680 +f 3662//6680 7099//6684 7917//6685 7076//6682 +f 3655//6670 3658//6681 3663//6686 3659//6671 +f 3659//6671 3663//6686 7094//6687 7095//6674 +f 3658//6681 7077//6683 7078//6688 3663//6686 +f 3663//6686 7078//6688 7918//6689 7094//6687 +f 3664//6690 3668//6691 3669//6692 3665//6693 +f 3665//6693 3669//6692 6982//6480 6981//6475 +f 3668//6691 7101//6694 7102//6695 3669//6692 +f 3669//6692 7102//6695 7900//6481 6982//6480 +f 3664//6690 3665//6693 3670//6696 3666//6697 +f 3666//6697 3670//6696 7103//6698 7104//6699 +f 3665//6693 6981//6475 6980//6474 3670//6696 +f 3670//6696 6980//6474 7899//6477 7103//6698 +f 3664//6690 3666//6697 3671//6700 3667//6701 +f 3667//6701 3671//6700 7070//6702 7071//6703 +f 3666//6697 7104//6699 7105//6704 3671//6700 +f 3671//6700 7105//6704 7915//6705 7070//6702 +f 3664//6690 3667//6701 3672//6706 3668//6691 +f 3668//6691 3672//6706 7100//6707 7101//6694 +f 3667//6701 7071//6703 7072//6708 3672//6706 +f 3672//6706 7072//6708 7916//6709 7100//6707 +f 3673//6710 3677//6711 3678//6712 3674//6713 +f 3674//6713 3678//6712 6976//6500 6975//6495 +f 3677//6711 7107//6714 7108//6715 3678//6712 +f 3678//6712 7108//6715 7898//6501 6976//6500 +f 3673//6710 3674//6713 3679//6716 3675//6717 +f 3675//6717 3679//6716 7109//6718 7110//6719 +f 3674//6713 6975//6495 6974//6494 3679//6716 +f 3679//6716 6974//6494 7897//6497 7109//6718 +f 3673//6710 3675//6717 3680//6720 3676//6721 +f 3676//6721 3680//6720 7064//6722 7065//6723 +f 3675//6717 7110//6719 7111//6724 3680//6720 +f 3680//6720 7111//6724 7913//6725 7064//6722 +f 3673//6710 3676//6721 3681//6726 3677//6711 +f 3677//6711 3681//6726 7106//6727 7107//6714 +f 3676//6721 7065//6723 7066//6728 3681//6726 +f 3681//6726 7066//6728 7914//6729 7106//6727 +f 3682//6730 3686//6731 3687//6732 3683//6733 +f 3683//6733 3687//6732 6970//6520 6969//6515 +f 3686//6731 7113//6734 7114//6735 3687//6732 +f 3687//6732 7114//6735 7896//6521 6970//6520 +f 3682//6730 3683//6733 3688//6736 3684//6737 +f 3684//6737 3688//6736 7115//6738 7116//6739 +f 3683//6733 6969//6515 6968//6514 3688//6736 +f 3688//6736 6968//6514 7895//6517 7115//6738 +f 3682//6730 3684//6737 3689//6740 3685//6741 +f 3685//6741 3689//6740 7058//6742 7059//6743 +f 3684//6737 7116//6739 7117//6744 3689//6740 +f 3689//6740 7117//6744 7911//6745 7058//6742 +f 3682//6730 3685//6741 3690//6746 3686//6731 +f 3686//6731 3690//6746 7112//6747 7113//6734 +f 3685//6741 7059//6743 7060//6748 3690//6746 +f 3690//6746 7060//6748 7912//6749 7112//6747 +f 3691//6750 3695//6751 3696//6752 3692//6753 +f 3692//6753 3696//6752 7003//6540 7002//6535 +f 3695//6751 7119//6754 7120//6755 3696//6752 +f 3696//6752 7120//6755 7907//6541 7003//6540 +f 3691//6750 3692//6753 3697//6756 3693//6757 +f 3693//6757 3697//6756 7121//6758 7122//6759 +f 3692//6753 7002//6535 7001//6534 3697//6756 +f 3697//6756 7001//6534 7906//6537 7121//6758 +f 3691//6750 3693//6757 3698//6760 3694//6761 +f 3694//6761 3698//6760 7091//6762 7092//6763 +f 3693//6757 7122//6759 7123//6764 3698//6760 +f 3698//6760 7123//6764 7922//6765 7091//6762 +f 3691//6750 3694//6761 3699//6766 3695//6751 +f 3695//6751 3699//6766 7118//6767 7119//6754 +f 3694//6761 7092//6763 7093//6768 3699//6766 +f 3699//6766 7093//6768 7923//6769 7118//6767 +f 3700//6770 3704//6771 3705//6772 3701//6773 +f 3701//6773 3705//6772 6964//6560 6963//6555 +f 3704//6771 7125//6774 7126//6775 3705//6772 +f 3705//6772 7126//6775 7894//6561 6964//6560 +f 3700//6770 3701//6773 3706//6776 3702//6777 +f 3702//6777 3706//6776 7127//6778 7128//6779 +f 3701//6773 6963//6555 6962//6554 3706//6776 +f 3706//6776 6962//6554 7893//6557 7127//6778 +f 3700//6770 3702//6777 3707//6780 3703//6781 +f 3703//6781 3707//6780 7052//6782 7053//6783 +f 3702//6777 7128//6779 7129//6784 3707//6780 +f 3707//6780 7129//6784 7909//6785 7052//6782 +f 3700//6770 3703//6781 3708//6786 3704//6771 +f 3704//6771 3708//6786 7124//6787 7125//6774 +f 3703//6781 7053//6783 7054//6788 3708//6786 +f 3708//6786 7054//6788 7910//6789 7124//6787 +f 3709//6790 3713//6791 3714//6792 3710//6793 +f 3710//6793 3714//6792 6997//6580 6996//6575 +f 3713//6791 7131//6794 7132//6795 3714//6792 +f 3714//6792 7132//6795 7905//6581 6997//6580 +f 3709//6790 3710//6793 3715//6796 3711//6797 +f 3711//6797 3715//6796 7133//6798 7134//6799 +f 3710//6793 6996//6575 6995//6574 3715//6796 +f 3715//6796 6995//6574 7904//6577 7133//6798 +f 3709//6790 3711//6797 3716//6800 3712//6801 +f 3712//6801 3716//6800 7085//6802 7086//6803 +f 3711//6797 7134//6799 7135//6804 3716//6800 +f 3716//6800 7135//6804 7920//6805 7085//6802 +f 3709//6790 3712//6801 3717//6806 3713//6791 +f 3713//6791 3717//6806 7130//6807 7131//6794 +f 3712//6801 7086//6803 7087//6808 3717//6806 +f 3717//6806 7087//6808 7921//6809 7130//6807 +f 3718//6810 3722//6811 3723//6812 3719//6813 +f 3719//6813 3723//6812 6991//6596 6990//6593 +f 3722//6811 7137//6814 7138//6815 3723//6812 +f 3723//6812 7138//6815 7903//6597 6991//6596 +f 3718//6810 3719//6813 3724//6816 3720//6817 +f 3720//6817 3724//6816 7096//6675 7095//6674 +f 3719//6813 6990//6593 6989//6592 3724//6816 +f 3724//6816 6989//6592 7902//6461 7096//6675 +f 3718//6810 3720//6817 3725//6818 3721//6819 +f 3721//6819 3725//6818 7079//6820 7080//6821 +f 3720//6817 7095//6674 7094//6687 3725//6818 +f 3725//6818 7094//6687 7918//6689 7079//6820 +f 3718//6810 3721//6819 3726//6822 3722//6811 +f 3722//6811 3726//6822 7136//6823 7137//6814 +f 3721//6819 7080//6821 7081//6824 3726//6822 +f 3726//6822 7081//6824 7919//6825 7136//6823 +f 3727//6826 3731//6827 3732//6828 3728//6829 +f 3728//6829 3732//6828 6985//6609 6984//6607 +f 3731//6827 7098//6679 7097//6678 3732//6828 +f 3732//6828 7097//6678 7901//6457 6985//6609 +f 3727//6826 3728//6829 3733//6830 3729//6831 +f 3729//6831 3733//6830 7102//6695 7101//6694 +f 3728//6829 6984//6607 6983//6606 3733//6830 +f 3733//6830 6983//6606 7900//6481 7102//6695 +f 3727//6826 3729//6831 3734//6832 3730//6833 +f 3730//6833 3734//6832 7073//6834 7074//6835 +f 3729//6831 7101//6694 7100//6707 3734//6832 +f 3734//6832 7100//6707 7916//6709 7073//6834 +f 3727//6826 3730//6833 3735//6836 3731//6827 +f 3731//6827 3735//6836 7099//6684 7098//6679 +f 3730//6833 7074//6835 7075//6837 3735//6836 +f 3735//6836 7075//6837 7917//6685 7099//6684 +f 3736//6838 3740//6839 3741//6840 3737//6841 +f 3737//6841 3741//6840 6979//6621 6978//6619 +f 3740//6839 7104//6699 7103//6698 3741//6840 +f 3741//6840 7103//6698 7899//6477 6979//6621 +f 3736//6838 3737//6841 3742//6842 3738//6843 +f 3738//6843 3742//6842 7108//6715 7107//6714 +f 3737//6841 6978//6619 6977//6618 3742//6842 +f 3742//6842 6977//6618 7898//6501 7108//6715 +f 3736//6838 3738//6843 3743//6844 3739//6845 +f 3739//6845 3743//6844 7067//6846 7068//6847 +f 3738//6843 7107//6714 7106//6727 3743//6844 +f 3743//6844 7106//6727 7914//6729 7067//6846 +f 3736//6838 3739//6845 3744//6848 3740//6839 +f 3740//6839 3744//6848 7105//6704 7104//6699 +f 3739//6845 7068//6847 7069//6849 3744//6848 +f 3744//6848 7069//6849 7915//6705 7105//6704 +f 3745//6850 3749//6851 3750//6852 3746//6853 +f 3746//6853 3750//6852 6973//6633 6972//6631 +f 3749//6851 7110//6719 7109//6718 3750//6852 +f 3750//6852 7109//6718 7897//6497 6973//6633 +f 3745//6850 3746//6853 3751//6854 3747//6855 +f 3747//6855 3751//6854 7114//6735 7113//6734 +f 3746//6853 6972//6631 6971//6630 3751//6854 +f 3751//6854 6971//6630 7896//6521 7114//6735 +f 3745//6850 3747//6855 3752//6856 3748//6857 +f 3748//6857 3752//6856 7061//6858 7062//6859 +f 3747//6855 7113//6734 7112//6747 3752//6856 +f 3752//6856 7112//6747 7912//6749 7061//6858 +f 3745//6850 3748//6857 3753//6860 3749//6851 +f 3749//6851 3753//6860 7111//6724 7110//6719 +f 3748//6857 7062//6859 7063//6861 3753//6860 +f 3753//6860 7063//6861 7913//6725 7111//6724 +f 3754//6862 3758//6863 3759//6864 3755//6865 +f 3755//6865 3759//6864 6967//6645 6966//6643 +f 3758//6863 7116//6739 7115//6738 3759//6864 +f 3759//6864 7115//6738 7895//6517 6967//6645 +f 3754//6862 3755//6865 3760//6866 3756//6867 +f 3756//6867 3760//6866 7126//6775 7125//6774 +f 3755//6865 6966//6643 6965//6642 3760//6866 +f 3760//6866 6965//6642 7894//6561 7126//6775 +f 3754//6862 3756//6867 3761//6868 3757//6869 +f 3757//6869 3761//6868 7055//6870 7056//6871 +f 3756//6867 7125//6774 7124//6787 3761//6868 +f 3761//6868 7124//6787 7910//6789 7055//6870 +f 3754//6862 3757//6869 3762//6872 3758//6863 +f 3758//6863 3762//6872 7117//6744 7116//6739 +f 3757//6869 7056//6871 7057//6873 3762//6872 +f 3762//6872 7057//6873 7911//6745 7117//6744 +f 3763//6874 3767//6875 3768//6876 3764//6877 +f 3764//6877 3768//6876 7000//6657 6999//6655 +f 3767//6875 7122//6759 7121//6758 3768//6876 +f 3768//6876 7121//6758 7906//6537 7000//6657 +f 3763//6874 3764//6877 3769//6878 3765//6879 +f 3765//6879 3769//6878 7132//6795 7131//6794 +f 3764//6877 6999//6655 6998//6654 3769//6878 +f 3769//6878 6998//6654 7905//6581 7132//6795 +f 3763//6874 3765//6879 3770//6880 3766//6881 +f 3766//6881 3770//6880 7088//6882 7089//6883 +f 3765//6879 7131//6794 7130//6807 3770//6880 +f 3770//6880 7130//6807 7921//6809 7088//6882 +f 3763//6874 3766//6881 3771//6884 3767//6875 +f 3767//6875 3771//6884 7123//6764 7122//6759 +f 3766//6881 7089//6883 7090//6885 3771//6884 +f 3771//6884 7090//6885 7922//6765 7123//6764 +f 3772//6886 3776//6887 3777//6888 3773//6889 +f 3773//6889 3777//6888 6994//6669 6993//6667 +f 3776//6887 7134//6799 7133//6798 3777//6888 +f 3777//6888 7133//6798 7904//6577 6994//6669 +f 3772//6886 3773//6889 3778//6890 3774//6891 +f 3774//6891 3778//6890 7138//6815 7137//6814 +f 3773//6889 6993//6667 6992//6666 3778//6890 +f 3778//6890 6992//6666 7903//6597 7138//6815 +f 3772//6886 3774//6891 3779//6892 3775//6893 +f 3775//6893 3779//6892 7082//6894 7083//6895 +f 3774//6891 7137//6814 7136//6823 3779//6892 +f 3779//6892 7136//6823 7919//6825 7082//6894 +f 3772//6886 3775//6893 3780//6896 3776//6887 +f 3776//6887 3780//6896 7135//6804 7134//6799 +f 3775//6893 7083//6895 7084//6897 3780//6896 +f 3780//6896 7084//6897 7920//6805 7135//6804 +f 3781//6898 3785//6899 3786//6900 3782//6901 +f 3782//6901 3786//6900 7078//6688 7077//6683 +f 3785//6899 7182//6902 7183//6903 3786//6900 +f 3786//6900 7183//6903 7918//6689 7078//6688 +f 3781//6898 3782//6901 3787//6904 3783//6905 +f 3783//6905 3787//6904 7184//6906 7185//6907 +f 3782//6901 7077//6683 7076//6682 3787//6904 +f 3787//6904 7076//6682 7917//6685 7184//6906 +f 3781//6898 3783//6905 3788//6908 3784//6909 +f 3784//6909 3788//6908 7163//6910 7164//6911 +f 3783//6905 7185//6907 7186//6912 3788//6908 +f 3788//6908 7186//6912 7932//6913 7163//6910 +f 3781//6898 3784//6909 3789//6914 3785//6899 +f 3785//6899 3789//6914 7181//6915 7182//6902 +f 3784//6909 7164//6911 7165//6916 3789//6914 +f 3789//6914 7165//6916 7933//6917 7181//6915 +f 3790//6918 3794//6919 3795//6920 3791//6921 +f 3791//6921 3795//6920 7072//6708 7071//6703 +f 3794//6919 7188//6922 7189//6923 3795//6920 +f 3795//6920 7189//6923 7916//6709 7072//6708 +f 3790//6918 3791//6921 3796//6924 3792//6925 +f 3792//6925 3796//6924 7190//6926 7191//6927 +f 3791//6921 7071//6703 7070//6702 3796//6924 +f 3796//6924 7070//6702 7915//6705 7190//6926 +f 3790//6918 3792//6925 3797//6928 3793//6929 +f 3793//6929 3797//6928 7157//6930 7158//6931 +f 3792//6925 7191//6927 7192//6932 3797//6928 +f 3797//6928 7192//6932 7930//6933 7157//6930 +f 3790//6918 3793//6929 3798//6934 3794//6919 +f 3794//6919 3798//6934 7187//6935 7188//6922 +f 3793//6929 7158//6931 7159//6936 3798//6934 +f 3798//6934 7159//6936 7931//6937 7187//6935 +f 3799//6938 3803//6939 3804//6940 3800//6941 +f 3800//6941 3804//6940 7066//6728 7065//6723 +f 3803//6939 7194//6942 7195//6943 3804//6940 +f 3804//6940 7195//6943 7914//6729 7066//6728 +f 3799//6938 3800//6941 3805//6944 3801//6945 +f 3801//6945 3805//6944 7196//6946 7197//6947 +f 3800//6941 7065//6723 7064//6722 3805//6944 +f 3805//6944 7064//6722 7913//6725 7196//6946 +f 3799//6938 3801//6945 3806//6948 3802//6949 +f 3802//6949 3806//6948 7151//6950 7152//6951 +f 3801//6945 7197//6947 7198//6952 3806//6948 +f 3806//6948 7198//6952 7928//6953 7151//6950 +f 3799//6938 3802//6949 3807//6954 3803//6939 +f 3803//6939 3807//6954 7193//6955 7194//6942 +f 3802//6949 7152//6951 7153//6956 3807//6954 +f 3807//6954 7153//6956 7929//6957 7193//6955 +f 3808//6958 3812//6959 3813//6960 3809//6961 +f 3809//6961 3813//6960 7060//6748 7059//6743 +f 3812//6959 7200//6962 7201//6963 3813//6960 +f 3813//6960 7201//6963 7912//6749 7060//6748 +f 3808//6958 3809//6961 3814//6964 3810//6965 +f 3810//6965 3814//6964 7202//6966 7203//6967 +f 3809//6961 7059//6743 7058//6742 3814//6964 +f 3814//6964 7058//6742 7911//6745 7202//6966 +f 3808//6958 3810//6965 3815//6968 3811//6969 +f 3811//6969 3815//6968 7145//6970 7146//6971 +f 3810//6965 7203//6967 7204//6972 3815//6968 +f 3815//6968 7204//6972 7926//6973 7145//6970 +f 3808//6958 3811//6969 3816//6974 3812//6959 +f 3812//6959 3816//6974 7199//6975 7200//6962 +f 3811//6969 7146//6971 7147//6976 3816//6974 +f 3816//6974 7147//6976 7927//6977 7199//6975 +f 3817//6978 3821//6979 3822//6980 3818//6981 +f 3818//6981 3822//6980 7093//6768 7092//6763 +f 3821//6979 7206//6982 7207//6983 3822//6980 +f 3822//6980 7207//6983 7923//6769 7093//6768 +f 3817//6978 3818//6981 3823//6984 3819//6985 +f 3819//6985 3823//6984 7208//6986 7209//6987 +f 3818//6981 7092//6763 7091//6762 3823//6984 +f 3823//6984 7091//6762 7922//6765 7208//6986 +f 3817//6978 3819//6985 3824//6988 3820//6989 +f 3820//6989 3824//6988 7178//6990 7179//6991 +f 3819//6985 7209//6987 7210//6992 3824//6988 +f 3824//6988 7210//6992 7937//6993 7178//6990 +f 3817//6978 3820//6989 3825//6994 3821//6979 +f 3821//6979 3825//6994 7205//6995 7206//6982 +f 3820//6989 7179//6991 7180//6996 3825//6994 +f 3825//6994 7180//6996 7938//6997 7205//6995 +f 3826//6998 3830//6999 3831//7000 3827//7001 +f 3827//7001 3831//7000 7054//6788 7053//6783 +f 3830//6999 7212//7002 7213//7003 3831//7000 +f 3831//7000 7213//7003 7910//6789 7054//6788 +f 3826//6998 3827//7001 3832//7004 3828//7005 +f 3828//7005 3832//7004 7214//7006 7215//7007 +f 3827//7001 7053//6783 7052//6782 3832//7004 +f 3832//7004 7052//6782 7909//6785 7214//7006 +f 3826//6998 3828//7005 3833//7008 3829//7009 +f 3829//7009 3833//7008 7139//7010 7140//7011 +f 3828//7005 7215//7007 7216//7012 3833//7008 +f 3833//7008 7216//7012 7924//7013 7139//7010 +f 3826//6998 3829//7009 3834//7014 3830//6999 +f 3830//6999 3834//7014 7211//7015 7212//7002 +f 3829//7009 7140//7011 7141//7016 3834//7014 +f 3834//7014 7141//7016 7925//7017 7211//7015 +f 3835//7018 3839//7019 3840//7020 3836//7021 +f 3836//7021 3840//7020 7087//6808 7086//6803 +f 3839//7019 7218//7022 7219//7023 3840//7020 +f 3840//7020 7219//7023 7921//6809 7087//6808 +f 3835//7018 3836//7021 3841//7024 3837//7025 +f 3837//7025 3841//7024 7220//7026 7221//7027 +f 3836//7021 7086//6803 7085//6802 3841//7024 +f 3841//7024 7085//6802 7920//6805 7220//7026 +f 3835//7018 3837//7025 3842//7028 3838//7029 +f 3838//7029 3842//7028 7172//7030 7173//7031 +f 3837//7025 7221//7027 7222//7032 3842//7028 +f 3842//7028 7222//7032 7935//7033 7172//7030 +f 3835//7018 3838//7029 3843//7034 3839//7019 +f 3839//7019 3843//7034 7217//7035 7218//7022 +f 3838//7029 7173//7031 7174//7036 3843//7034 +f 3843//7034 7174//7036 7936//7037 7217//7035 +f 3844//7038 3848//7039 3849//7040 3845//7041 +f 3845//7041 3849//7040 7081//6824 7080//6821 +f 3848//7039 7224//7042 7225//7043 3849//7040 +f 3849//7040 7225//7043 7919//6825 7081//6824 +f 3844//7038 3845//7041 3850//7044 3846//7045 +f 3846//7045 3850//7044 7183//6903 7182//6902 +f 3845//7041 7080//6821 7079//6820 3850//7044 +f 3850//7044 7079//6820 7918//6689 7183//6903 +f 3844//7038 3846//7045 3851//7046 3847//7047 +f 3847//7047 3851//7046 7166//7048 7167//7049 +f 3846//7045 7182//6902 7181//6915 3851//7046 +f 3851//7046 7181//6915 7933//6917 7166//7048 +f 3844//7038 3847//7047 3852//7050 3848//7039 +f 3848//7039 3852//7050 7223//7051 7224//7042 +f 3847//7047 7167//7049 7168//7052 3852//7050 +f 3852//7050 7168//7052 7934//7053 7223//7051 +f 3853//7054 3857//7055 3858//7056 3854//7057 +f 3854//7057 3858//7056 7075//6837 7074//6835 +f 3857//7055 7185//6907 7184//6906 3858//7056 +f 3858//7056 7184//6906 7917//6685 7075//6837 +f 3853//7054 3854//7057 3859//7058 3855//7059 +f 3855//7059 3859//7058 7189//6923 7188//6922 +f 3854//7057 7074//6835 7073//6834 3859//7058 +f 3859//7058 7073//6834 7916//6709 7189//6923 +f 3853//7054 3855//7059 3860//7060 3856//7061 +f 3856//7061 3860//7060 7160//7062 7161//7063 +f 3855//7059 7188//6922 7187//6935 3860//7060 +f 3860//7060 7187//6935 7931//6937 7160//7062 +f 3853//7054 3856//7061 3861//7064 3857//7055 +f 3857//7055 3861//7064 7186//6912 7185//6907 +f 3856//7061 7161//7063 7162//7065 3861//7064 +f 3861//7064 7162//7065 7932//6913 7186//6912 +f 3862//7066 3866//7067 3867//7068 3863//7069 +f 3863//7069 3867//7068 7069//6849 7068//6847 +f 3866//7067 7191//6927 7190//6926 3867//7068 +f 3867//7068 7190//6926 7915//6705 7069//6849 +f 3862//7066 3863//7069 3868//7070 3864//7071 +f 3864//7071 3868//7070 7195//6943 7194//6942 +f 3863//7069 7068//6847 7067//6846 3868//7070 +f 3868//7070 7067//6846 7914//6729 7195//6943 +f 3862//7066 3864//7071 3869//7072 3865//7073 +f 3865//7073 3869//7072 7154//7074 7155//7075 +f 3864//7071 7194//6942 7193//6955 3869//7072 +f 3869//7072 7193//6955 7929//6957 7154//7074 +f 3862//7066 3865//7073 3870//7076 3866//7067 +f 3866//7067 3870//7076 7192//6932 7191//6927 +f 3865//7073 7155//7075 7156//7077 3870//7076 +f 3870//7076 7156//7077 7930//6933 7192//6932 +f 3871//7078 3875//7079 3876//7080 3872//7081 +f 3872//7081 3876//7080 7063//6861 7062//6859 +f 3875//7079 7197//6947 7196//6946 3876//7080 +f 3876//7080 7196//6946 7913//6725 7063//6861 +f 3871//7078 3872//7081 3877//7082 3873//7083 +f 3873//7083 3877//7082 7201//6963 7200//6962 +f 3872//7081 7062//6859 7061//6858 3877//7082 +f 3877//7082 7061//6858 7912//6749 7201//6963 +f 3871//7078 3873//7083 3878//7084 3874//7085 +f 3874//7085 3878//7084 7148//7086 7149//7087 +f 3873//7083 7200//6962 7199//6975 3878//7084 +f 3878//7084 7199//6975 7927//6977 7148//7086 +f 3871//7078 3874//7085 3879//7088 3875//7079 +f 3875//7079 3879//7088 7198//6952 7197//6947 +f 3874//7085 7149//7087 7150//7089 3879//7088 +f 3879//7088 7150//7089 7928//6953 7198//6952 +f 3880//7090 3884//7091 3885//7092 3881//7093 +f 3881//7093 3885//7092 7057//6873 7056//6871 +f 3884//7091 7203//6967 7202//6966 3885//7092 +f 3885//7092 7202//6966 7911//6745 7057//6873 +f 3880//7090 3881//7093 3886//7094 3882//7095 +f 3882//7095 3886//7094 7213//7003 7212//7002 +f 3881//7093 7056//6871 7055//6870 3886//7094 +f 3886//7094 7055//6870 7910//6789 7213//7003 +f 3880//7090 3882//7095 3887//7096 3883//7097 +f 3883//7097 3887//7096 7142//7098 7143//7099 +f 3882//7095 7212//7002 7211//7015 3887//7096 +f 3887//7096 7211//7015 7925//7017 7142//7098 +f 3880//7090 3883//7097 3888//7100 3884//7091 +f 3884//7091 3888//7100 7204//6972 7203//6967 +f 3883//7097 7143//7099 7144//7101 3888//7100 +f 3888//7100 7144//7101 7926//6973 7204//6972 +f 3889//7102 3893//7103 3894//7104 3890//7105 +f 3890//7105 3894//7104 7090//6885 7089//6883 +f 3893//7103 7209//6987 7208//6986 3894//7104 +f 3894//7104 7208//6986 7922//6765 7090//6885 +f 3889//7102 3890//7105 3895//7106 3891//7107 +f 3891//7107 3895//7106 7219//7023 7218//7022 +f 3890//7105 7089//6883 7088//6882 3895//7106 +f 3895//7106 7088//6882 7921//6809 7219//7023 +f 3889//7102 3891//7107 3896//7108 3892//7109 +f 3892//7109 3896//7108 7175//7110 7176//7111 +f 3891//7107 7218//7022 7217//7035 3896//7108 +f 3896//7108 7217//7035 7936//7037 7175//7110 +f 3889//7102 3892//7109 3897//7112 3893//7103 +f 3893//7103 3897//7112 7210//6992 7209//6987 +f 3892//7109 7176//7111 7177//7113 3897//7112 +f 3897//7112 7177//7113 7937//6993 7210//6992 +f 3898//7114 3902//7115 3903//7116 3899//7117 +f 3899//7117 3903//7116 7084//6897 7083//6895 +f 3902//7115 7221//7027 7220//7026 3903//7116 +f 3903//7116 7220//7026 7920//6805 7084//6897 +f 3898//7114 3899//7117 3904//7118 3900//7119 +f 3900//7119 3904//7118 7225//7043 7224//7042 +f 3899//7117 7083//6895 7082//6894 3904//7118 +f 3904//7118 7082//6894 7919//6825 7225//7043 +f 3898//7114 3900//7119 3905//7120 3901//7121 +f 3901//7121 3905//7120 7169//7122 7170//7123 +f 3900//7119 7224//7042 7223//7051 3905//7120 +f 3905//7120 7223//7051 7934//7053 7169//7122 +f 3898//7114 3901//7121 3906//7124 3902//7115 +f 3902//7115 3906//7124 7222//7032 7221//7027 +f 3901//7121 7170//7123 7171//7125 3906//7124 +f 3906//7124 7171//7125 7935//7033 7222//7032 +f 3907//7126 3910//7127 3911//7128 3908//7129 +f 3908//7129 3911//7128 7231//7130 7230//7131 +f 3910//7127 7236//7132 7237//7133 3911//7128 +f 3911//7128 7237//7133 7787//7134 7231//7130 +f 3907//7126 3908//7129 3912//7135 3909//7136 +f 3909//7136 3912//7135 4573//33 4572//32 +f 3908//7129 7230//7131 7229//7137 3912//7135 +f 3912//7135 7229//7137 7471//34 4573//33 +f 3907//7126 3909//7136 3913//7138 3910//7127 +f 3910//7127 3913//7138 7235//7139 7236//7132 +f 3909//7136 4572//32 4571//48 3913//7138 +f 3913//7138 4571//48 7486//50 7235//7139 +f 3914//7140 3917//7141 3918//7142 3915//7143 +f 3915//7143 3918//7142 7228//7144 7227//7145 +f 3917//7141 4581//63 4580//62 3918//7142 +f 3918//7142 4580//62 7457//65 7228//7144 +f 3914//7140 3915//7143 3919//7146 3916//7147 +f 3916//7147 3919//7146 7232//7148 7233//7149 +f 3915//7143 7227//7145 7226//7150 3919//7146 +f 3919//7146 7226//7150 7908//7151 7232//7148 +f 3914//7140 3916//7147 3920//7152 3917//7141 +f 3917//7141 3920//7152 4582//70 4581//63 +f 3916//7147 7233//7149 7234//7153 3920//7152 +f 3920//7152 7234//7153 7472//71 4582//70 +f 3921//7154 3924//7155 3925//7156 3922//7157 +f 3922//7157 3925//7156 7237//7133 7236//7132 +f 3924//7155 7242//7158 7243//7159 3925//7156 +f 3925//7156 7243//7159 7787//7134 7237//7133 +f 3921//7154 3922//7157 3926//7160 3923//7161 +f 3923//7161 3926//7160 4678//371 4677//370 +f 3922//7157 7236//7132 7235//7139 3926//7160 +f 3926//7160 7235//7139 7486//50 4678//371 +f 3921//7154 3923//7161 3927//7162 3924//7155 +f 3924//7155 3927//7162 7241//7163 7242//7158 +f 3923//7161 4677//370 4676//383 3927//7162 +f 3927//7162 4676//383 7501//385 7241//7163 +f 3928//7164 3931//7165 3932//7166 3929//7167 +f 3929//7167 3932//7166 7234//7153 7233//7149 +f 3931//7165 4686//395 4685//394 3932//7166 +f 3932//7166 4685//394 7472//71 7234//7153 +f 3928//7164 3929//7167 3933//7168 3930//7169 +f 3930//7169 3933//7168 7238//7170 7239//7171 +f 3929//7167 7233//7149 7232//7148 3933//7168 +f 3933//7168 7232//7148 7908//7151 7238//7170 +f 3928//7164 3930//7169 3934//7172 3931//7165 +f 3931//7165 3934//7172 4687//400 4686//395 +f 3930//7169 7239//7171 7240//7173 3934//7172 +f 3934//7172 7240//7173 7487//401 4687//400 +f 3935//7174 3938//7175 3939//7176 3936//7177 +f 3936//7177 3939//7176 7243//7159 7242//7158 +f 3938//7175 7248//7178 7249//7179 3939//7176 +f 3939//7176 7249//7179 7787//7134 7243//7159 +f 3935//7174 3936//7177 3940//7180 3937//7181 +f 3937//7181 3940//7180 4765//599 4764//598 +f 3936//7177 7242//7158 7241//7163 3940//7180 +f 3940//7180 7241//7163 7501//385 4765//599 +f 3935//7174 3937//7181 3941//7182 3938//7175 +f 3938//7175 3941//7182 7247//7183 7248//7178 +f 3937//7181 4764//598 4763//611 3941//7182 +f 3941//7182 4763//611 7516//613 7247//7183 +f 3942//7184 3945//7185 3946//7186 3943//7187 +f 3943//7187 3946//7186 7240//7173 7239//7171 +f 3945//7185 4773//623 4772//622 3946//7186 +f 3946//7186 4772//622 7487//401 7240//7173 +f 3942//7184 3943//7187 3947//7188 3944//7189 +f 3944//7189 3947//7188 7244//7190 7245//7191 +f 3943//7187 7239//7171 7238//7170 3947//7188 +f 3947//7188 7238//7170 7908//7151 7244//7190 +f 3942//7184 3944//7189 3948//7192 3945//7185 +f 3945//7185 3948//7192 4774//628 4773//623 +f 3944//7189 7245//7191 7246//7193 3948//7192 +f 3948//7192 7246//7193 7502//629 4774//628 +f 3949//7194 3952//7195 3953//7196 3950//7197 +f 3950//7197 3953//7196 7249//7179 7248//7178 +f 3952//7195 7254//7198 7255//7199 3953//7196 +f 3953//7196 7255//7199 7787//7134 7249//7179 +f 3949//7194 3950//7197 3954//7200 3951//7201 +f 3951//7201 3954//7200 4852//827 4851//826 +f 3950//7197 7248//7178 7247//7183 3954//7200 +f 3954//7200 7247//7183 7516//613 4852//827 +f 3949//7194 3951//7201 3955//7202 3952//7195 +f 3952//7195 3955//7202 7253//7203 7254//7198 +f 3951//7201 4851//826 4850//839 3955//7202 +f 3955//7202 4850//839 7531//841 7253//7203 +f 3956//7204 3959//7205 3960//7206 3957//7207 +f 3957//7207 3960//7206 7246//7193 7245//7191 +f 3959//7205 4860//851 4859//850 3960//7206 +f 3960//7206 4859//850 7502//629 7246//7193 +f 3956//7204 3957//7207 3961//7208 3958//7209 +f 3958//7209 3961//7208 7250//7210 7251//7211 +f 3957//7207 7245//7191 7244//7190 3961//7208 +f 3961//7208 7244//7190 7908//7151 7250//7210 +f 3956//7204 3958//7209 3962//7212 3959//7205 +f 3959//7205 3962//7212 4861//856 4860//851 +f 3958//7209 7251//7211 7252//7213 3962//7212 +f 3962//7212 7252//7213 7517//857 4861//856 +f 3963//7214 3966//7215 3967//7216 3964//7217 +f 3964//7217 3967//7216 7255//7199 7254//7198 +f 3966//7215 7260//7218 7261//7219 3967//7216 +f 3967//7216 7261//7219 7787//7134 7255//7199 +f 3963//7214 3964//7217 3968//7220 3965//7221 +f 3965//7221 3968//7220 4939//1055 4938//1054 +f 3964//7217 7254//7198 7253//7203 3968//7220 +f 3968//7220 7253//7203 7531//841 4939//1055 +f 3963//7214 3965//7221 3969//7222 3966//7215 +f 3966//7215 3969//7222 7259//7223 7260//7218 +f 3965//7221 4938//1054 4937//1067 3969//7222 +f 3969//7222 4937//1067 7546//1069 7259//7223 +f 3970//7224 3973//7225 3974//7226 3971//7227 +f 3971//7227 3974//7226 7252//7213 7251//7211 +f 3973//7225 4947//1079 4946//1078 3974//7226 +f 3974//7226 4946//1078 7517//857 7252//7213 +f 3970//7224 3971//7227 3975//7228 3972//7229 +f 3972//7229 3975//7228 7256//7230 7257//7231 +f 3971//7227 7251//7211 7250//7210 3975//7228 +f 3975//7228 7250//7210 7908//7151 7256//7230 +f 3970//7224 3972//7229 3976//7232 3973//7225 +f 3973//7225 3976//7232 4948//1084 4947//1079 +f 3972//7229 7257//7231 7258//7233 3976//7232 +f 3976//7232 7258//7233 7532//1085 4948//1084 +f 3977//7234 3980//7235 3981//7236 3978//7237 +f 3978//7237 3981//7236 7261//7219 7260//7218 +f 3980//7235 7266//7238 7267//7239 3981//7236 +f 3981//7236 7267//7239 7787//7134 7261//7219 +f 3977//7234 3978//7237 3982//7240 3979//7241 +f 3979//7241 3982//7240 5026//1283 5025//1282 +f 3978//7237 7260//7218 7259//7223 3982//7240 +f 3982//7240 7259//7223 7546//1069 5026//1283 +f 3977//7234 3979//7241 3983//7242 3980//7235 +f 3980//7235 3983//7242 7265//7243 7266//7238 +f 3979//7241 5025//1282 5024//1295 3983//7242 +f 3983//7242 5024//1295 7561//1297 7265//7243 +f 3984//7244 3987//7245 3988//7246 3985//7247 +f 3985//7247 3988//7246 7258//7233 7257//7231 +f 3987//7245 5034//1307 5033//1306 3988//7246 +f 3988//7246 5033//1306 7532//1085 7258//7233 +f 3984//7244 3985//7247 3989//7248 3986//7249 +f 3986//7249 3989//7248 7262//7250 7263//7251 +f 3985//7247 7257//7231 7256//7230 3989//7248 +f 3989//7248 7256//7230 7908//7151 7262//7250 +f 3984//7244 3986//7249 3990//7252 3987//7245 +f 3987//7245 3990//7252 5035//1312 5034//1307 +f 3986//7249 7263//7251 7264//7253 3990//7252 +f 3990//7252 7264//7253 7547//1313 5035//1312 +f 3991//7254 3994//7255 3995//7256 3992//7257 +f 3992//7257 3995//7256 7267//7239 7266//7238 +f 3994//7255 7272//7258 7273//7259 3995//7256 +f 3995//7256 7273//7259 7787//7134 7267//7239 +f 3991//7254 3992//7257 3996//7260 3993//7261 +f 3993//7261 3996//7260 5113//1511 5112//1510 +f 3992//7257 7266//7238 7265//7243 3996//7260 +f 3996//7260 7265//7243 7561//1297 5113//1511 +f 3991//7254 3993//7261 3997//7262 3994//7255 +f 3994//7255 3997//7262 7271//7263 7272//7258 +f 3993//7261 5112//1510 5111//1523 3997//7262 +f 3997//7262 5111//1523 7576//1525 7271//7263 +f 3998//7264 4001//7265 4002//7266 3999//7267 +f 3999//7267 4002//7266 7264//7253 7263//7251 +f 4001//7265 5121//1535 5120//1534 4002//7266 +f 4002//7266 5120//1534 7547//1313 7264//7253 +f 3998//7264 3999//7267 4003//7268 4000//7269 +f 4000//7269 4003//7268 7268//7270 7269//7271 +f 3999//7267 7263//7251 7262//7250 4003//7268 +f 4003//7268 7262//7250 7908//7151 7268//7270 +f 3998//7264 4000//7269 4004//7272 4001//7265 +f 4001//7265 4004//7272 5122//1540 5121//1535 +f 4000//7269 7269//7271 7270//7273 4004//7272 +f 4004//7272 7270//7273 7562//1541 5122//1540 +f 4005//7274 4008//7275 4009//7276 4006//7277 +f 4006//7277 4009//7276 7273//7259 7272//7258 +f 4008//7275 7278//7278 7279//7279 4009//7276 +f 4009//7276 7279//7279 7787//7134 7273//7259 +f 4005//7274 4006//7277 4010//7280 4007//7281 +f 4007//7281 4010//7280 5200//1739 5199//1738 +f 4006//7277 7272//7258 7271//7263 4010//7280 +f 4010//7280 7271//7263 7576//1525 5200//1739 +f 4005//7274 4007//7281 4011//7282 4008//7275 +f 4008//7275 4011//7282 7277//7283 7278//7278 +f 4007//7281 5199//1738 5198//1751 4011//7282 +f 4011//7282 5198//1751 7591//1753 7277//7283 +f 4012//7284 4015//7285 4016//7286 4013//7287 +f 4013//7287 4016//7286 7270//7273 7269//7271 +f 4015//7285 5208//1763 5207//1762 4016//7286 +f 4016//7286 5207//1762 7562//1541 7270//7273 +f 4012//7284 4013//7287 4017//7288 4014//7289 +f 4014//7289 4017//7288 7274//7290 7275//7291 +f 4013//7287 7269//7271 7268//7270 4017//7288 +f 4017//7288 7268//7270 7908//7151 7274//7290 +f 4012//7284 4014//7289 4018//7292 4015//7285 +f 4015//7285 4018//7292 5209//1768 5208//1763 +f 4014//7289 7275//7291 7276//7293 4018//7292 +f 4018//7292 7276//7293 7577//1769 5209//1768 +f 4019//7294 4022//7295 4023//7296 4020//7297 +f 4020//7297 4023//7296 7279//7279 7278//7278 +f 4022//7295 7284//7298 7285//7299 4023//7296 +f 4023//7296 7285//7299 7787//7134 7279//7279 +f 4019//7294 4020//7297 4024//7300 4021//7301 +f 4021//7301 4024//7300 5287//1967 5286//1966 +f 4020//7297 7278//7278 7277//7283 4024//7300 +f 4024//7300 7277//7283 7591//1753 5287//1967 +f 4019//7294 4021//7301 4025//7302 4022//7295 +f 4022//7295 4025//7302 7283//7303 7284//7298 +f 4021//7301 5286//1966 5285//1979 4025//7302 +f 4025//7302 5285//1979 7606//1981 7283//7303 +f 4026//7304 4029//7305 4030//7306 4027//7307 +f 4027//7307 4030//7306 7276//7293 7275//7291 +f 4029//7305 5295//1991 5294//1990 4030//7306 +f 4030//7306 5294//1990 7577//1769 7276//7293 +f 4026//7304 4027//7307 4031//7308 4028//7309 +f 4028//7309 4031//7308 7280//7310 7281//7311 +f 4027//7307 7275//7291 7274//7290 4031//7308 +f 4031//7308 7274//7290 7908//7151 7280//7310 +f 4026//7304 4028//7309 4032//7312 4029//7305 +f 4029//7305 4032//7312 5296//1996 5295//1991 +f 4028//7309 7281//7311 7282//7313 4032//7312 +f 4032//7312 7282//7313 7592//1997 5296//1996 +f 4033//7314 4036//7315 4037//7316 4034//7317 +f 4034//7317 4037//7316 7285//7299 7284//7298 +f 4036//7315 7290//7318 7291//7319 4037//7316 +f 4037//7316 7291//7319 7787//7134 7285//7299 +f 4033//7314 4034//7317 4038//7320 4035//7321 +f 4035//7321 4038//7320 5374//2195 5373//2194 +f 4034//7317 7284//7298 7283//7303 4038//7320 +f 4038//7320 7283//7303 7606//1981 5374//2195 +f 4033//7314 4035//7321 4039//7322 4036//7315 +f 4036//7315 4039//7322 7289//7323 7290//7318 +f 4035//7321 5373//2194 5372//2207 4039//7322 +f 4039//7322 5372//2207 7621//2209 7289//7323 +f 4040//7324 4043//7325 4044//7326 4041//7327 +f 4041//7327 4044//7326 7282//7313 7281//7311 +f 4043//7325 5382//2219 5381//2218 4044//7326 +f 4044//7326 5381//2218 7592//1997 7282//7313 +f 4040//7324 4041//7327 4045//7328 4042//7329 +f 4042//7329 4045//7328 7286//7330 7287//7331 +f 4041//7327 7281//7311 7280//7310 4045//7328 +f 4045//7328 7280//7310 7908//7151 7286//7330 +f 4040//7324 4042//7329 4046//7332 4043//7325 +f 4043//7325 4046//7332 5383//2224 5382//2219 +f 4042//7329 7287//7331 7288//7333 4046//7332 +f 4046//7332 7288//7333 7607//2225 5383//2224 +f 4047//7334 4050//7335 4051//7336 4048//7337 +f 4048//7337 4051//7336 7291//7319 7290//7318 +f 4050//7335 7296//7338 7297//7339 4051//7336 +f 4051//7336 7297//7339 7787//7134 7291//7319 +f 4047//7334 4048//7337 4052//7340 4049//7341 +f 4049//7341 4052//7340 5461//2423 5460//2422 +f 4048//7337 7290//7318 7289//7323 4052//7340 +f 4052//7340 7289//7323 7621//2209 5461//2423 +f 4047//7334 4049//7341 4053//7342 4050//7335 +f 4050//7335 4053//7342 7295//7343 7296//7338 +f 4049//7341 5460//2422 5459//2435 4053//7342 +f 4053//7342 5459//2435 7636//2437 7295//7343 +f 4054//7344 4057//7345 4058//7346 4055//7347 +f 4055//7347 4058//7346 7288//7333 7287//7331 +f 4057//7345 5469//2447 5468//2446 4058//7346 +f 4058//7346 5468//2446 7607//2225 7288//7333 +f 4054//7344 4055//7347 4059//7348 4056//7349 +f 4056//7349 4059//7348 7292//7350 7293//7351 +f 4055//7347 7287//7331 7286//7330 4059//7348 +f 4059//7348 7286//7330 7908//7151 7292//7350 +f 4054//7344 4056//7349 4060//7352 4057//7345 +f 4057//7345 4060//7352 5470//2452 5469//2447 +f 4056//7349 7293//7351 7294//7353 4060//7352 +f 4060//7352 7294//7353 7622//2453 5470//2452 +f 4061//7354 4064//7355 4065//7356 4062//7357 +f 4062//7357 4065//7356 7297//7339 7296//7338 +f 4064//7355 7302//7358 7303//7359 4065//7356 +f 4065//7356 7303//7359 7787//7134 7297//7339 +f 4061//7354 4062//7357 4066//7360 4063//7361 +f 4063//7361 4066//7360 5548//2651 5547//2650 +f 4062//7357 7296//7338 7295//7343 4066//7360 +f 4066//7360 7295//7343 7636//2437 5548//2651 +f 4061//7354 4063//7361 4067//7362 4064//7355 +f 4064//7355 4067//7362 7301//7363 7302//7358 +f 4063//7361 5547//2650 5546//2663 4067//7362 +f 4067//7362 5546//2663 7651//2665 7301//7363 +f 4068//7364 4071//7365 4072//7366 4069//7367 +f 4069//7367 4072//7366 7294//7353 7293//7351 +f 4071//7365 5556//2675 5555//2674 4072//7366 +f 4072//7366 5555//2674 7622//2453 7294//7353 +f 4068//7364 4069//7367 4073//7368 4070//7369 +f 4070//7369 4073//7368 7298//7370 7299//7371 +f 4069//7367 7293//7351 7292//7350 4073//7368 +f 4073//7368 7292//7350 7908//7151 7298//7370 +f 4068//7364 4070//7369 4074//7372 4071//7365 +f 4071//7365 4074//7372 5557//2680 5556//2675 +f 4070//7369 7299//7371 7300//7373 4074//7372 +f 4074//7372 7300//7373 7637//2681 5557//2680 +f 4075//7374 4078//7375 4079//7376 4076//7377 +f 4076//7377 4079//7376 7303//7359 7302//7358 +f 4078//7375 7308//7378 7309//7379 4079//7376 +f 4079//7376 7309//7379 7787//7134 7303//7359 +f 4075//7374 4076//7377 4080//7380 4077//7381 +f 4077//7381 4080//7380 5635//2879 5634//2878 +f 4076//7377 7302//7358 7301//7363 4080//7380 +f 4080//7380 7301//7363 7651//2665 5635//2879 +f 4075//7374 4077//7381 4081//7382 4078//7375 +f 4078//7375 4081//7382 7307//7383 7308//7378 +f 4077//7381 5634//2878 5633//2891 4081//7382 +f 4081//7382 5633//2891 7666//2893 7307//7383 +f 4082//7384 4085//7385 4086//7386 4083//7387 +f 4083//7387 4086//7386 7300//7373 7299//7371 +f 4085//7385 5643//2903 5642//2902 4086//7386 +f 4086//7386 5642//2902 7637//2681 7300//7373 +f 4082//7384 4083//7387 4087//7388 4084//7389 +f 4084//7389 4087//7388 7304//7390 7305//7391 +f 4083//7387 7299//7371 7298//7370 4087//7388 +f 4087//7388 7298//7370 7908//7151 7304//7390 +f 4082//7384 4084//7389 4088//7392 4085//7385 +f 4085//7385 4088//7392 5644//2908 5643//2903 +f 4084//7389 7305//7391 7306//7393 4088//7392 +f 4088//7392 7306//7393 7652//2909 5644//2908 +f 4089//7394 4092//7395 4093//7396 4090//7397 +f 4090//7397 4093//7396 7309//7379 7308//7378 +f 4092//7395 7314//7398 7315//7399 4093//7396 +f 4093//7396 7315//7399 7787//7134 7309//7379 +f 4089//7394 4090//7397 4094//7400 4091//7401 +f 4091//7401 4094//7400 5722//3107 5721//3106 +f 4090//7397 7308//7378 7307//7383 4094//7400 +f 4094//7400 7307//7383 7666//2893 5722//3107 +f 4089//7394 4091//7401 4095//7402 4092//7395 +f 4092//7395 4095//7402 7313//7403 7314//7398 +f 4091//7401 5721//3106 5720//3119 4095//7402 +f 4095//7402 5720//3119 7681//3121 7313//7403 +f 4096//7404 4099//7405 4100//7406 4097//7407 +f 4097//7407 4100//7406 7306//7393 7305//7391 +f 4099//7405 5730//3131 5729//3130 4100//7406 +f 4100//7406 5729//3130 7652//2909 7306//7393 +f 4096//7404 4097//7407 4101//7408 4098//7409 +f 4098//7409 4101//7408 7310//7410 7311//7411 +f 4097//7407 7305//7391 7304//7390 4101//7408 +f 4101//7408 7304//7390 7908//7151 7310//7410 +f 4096//7404 4098//7409 4102//7412 4099//7405 +f 4099//7405 4102//7412 5731//3136 5730//3131 +f 4098//7409 7311//7411 7312//7413 4102//7412 +f 4102//7412 7312//7413 7667//3137 5731//3136 +f 4103//7414 4106//7415 4107//7416 4104//7417 +f 4104//7417 4107//7416 7315//7399 7314//7398 +f 4106//7415 7320//7418 7321//7419 4107//7416 +f 4107//7416 7321//7419 7787//7134 7315//7399 +f 4103//7414 4104//7417 4108//7420 4105//7421 +f 4105//7421 4108//7420 5809//3335 5808//3334 +f 4104//7417 7314//7398 7313//7403 4108//7420 +f 4108//7420 7313//7403 7681//3121 5809//3335 +f 4103//7414 4105//7421 4109//7422 4106//7415 +f 4106//7415 4109//7422 7319//7423 7320//7418 +f 4105//7421 5808//3334 5807//3347 4109//7422 +f 4109//7422 5807//3347 7696//3349 7319//7423 +f 4110//7424 4113//7425 4114//7426 4111//7427 +f 4111//7427 4114//7426 7312//7413 7311//7411 +f 4113//7425 5817//3359 5816//3358 4114//7426 +f 4114//7426 5816//3358 7667//3137 7312//7413 +f 4110//7424 4111//7427 4115//7428 4112//7429 +f 4112//7429 4115//7428 7316//7430 7317//7431 +f 4111//7427 7311//7411 7310//7410 4115//7428 +f 4115//7428 7310//7410 7908//7151 7316//7430 +f 4110//7424 4112//7429 4116//7432 4113//7425 +f 4113//7425 4116//7432 5818//3364 5817//3359 +f 4112//7429 7317//7431 7318//7433 4116//7432 +f 4116//7432 7318//7433 7682//3365 5818//3364 +f 4117//7434 4120//7435 4121//7436 4118//7437 +f 4118//7437 4121//7436 7321//7419 7320//7418 +f 4120//7435 7326//7438 7327//7439 4121//7436 +f 4121//7436 7327//7439 7787//7134 7321//7419 +f 4117//7434 4118//7437 4122//7440 4119//7441 +f 4119//7441 4122//7440 5896//3563 5895//3562 +f 4118//7437 7320//7418 7319//7423 4122//7440 +f 4122//7440 7319//7423 7696//3349 5896//3563 +f 4117//7434 4119//7441 4123//7442 4120//7435 +f 4120//7435 4123//7442 7325//7443 7326//7438 +f 4119//7441 5895//3562 5894//3575 4123//7442 +f 4123//7442 5894//3575 7711//3577 7325//7443 +f 4124//7444 4127//7445 4128//7446 4125//7447 +f 4125//7447 4128//7446 7318//7433 7317//7431 +f 4127//7445 5904//3587 5903//3586 4128//7446 +f 4128//7446 5903//3586 7682//3365 7318//7433 +f 4124//7444 4125//7447 4129//7448 4126//7449 +f 4126//7449 4129//7448 7322//7450 7323//7451 +f 4125//7447 7317//7431 7316//7430 4129//7448 +f 4129//7448 7316//7430 7908//7151 7322//7450 +f 4124//7444 4126//7449 4130//7452 4127//7445 +f 4127//7445 4130//7452 5905//3592 5904//3587 +f 4126//7449 7323//7451 7324//7453 4130//7452 +f 4130//7452 7324//7453 7697//3593 5905//3592 +f 4131//7454 4134//7455 4135//7456 4132//7457 +f 4132//7457 4135//7456 7327//7439 7326//7438 +f 4134//7455 7332//7458 7333//7459 4135//7456 +f 4135//7456 7333//7459 7787//7134 7327//7439 +f 4131//7454 4132//7457 4136//7460 4133//7461 +f 4133//7461 4136//7460 5983//3791 5982//3790 +f 4132//7457 7326//7438 7325//7443 4136//7460 +f 4136//7460 7325//7443 7711//3577 5983//3791 +f 4131//7454 4133//7461 4137//7462 4134//7455 +f 4134//7455 4137//7462 7331//7463 7332//7458 +f 4133//7461 5982//3790 5981//3803 4137//7462 +f 4137//7462 5981//3803 7726//3805 7331//7463 +f 4138//7464 4141//7465 4142//7466 4139//7467 +f 4139//7467 4142//7466 7324//7453 7323//7451 +f 4141//7465 5991//3815 5990//3814 4142//7466 +f 4142//7466 5990//3814 7697//3593 7324//7453 +f 4138//7464 4139//7467 4143//7468 4140//7469 +f 4140//7469 4143//7468 7328//7470 7329//7471 +f 4139//7467 7323//7451 7322//7450 4143//7468 +f 4143//7468 7322//7450 7908//7151 7328//7470 +f 4138//7464 4140//7469 4144//7472 4141//7465 +f 4141//7465 4144//7472 5992//3820 5991//3815 +f 4140//7469 7329//7471 7330//7473 4144//7472 +f 4144//7472 7330//7473 7712//3821 5992//3820 +f 4145//7474 4148//7475 4149//7476 4146//7477 +f 4146//7477 4149//7476 7333//7459 7332//7458 +f 4148//7475 7338//7478 7339//7479 4149//7476 +f 4149//7476 7339//7479 7787//7134 7333//7459 +f 4145//7474 4146//7477 4150//7480 4147//7481 +f 4147//7481 4150//7480 6070//4019 6069//4018 +f 4146//7477 7332//7458 7331//7463 4150//7480 +f 4150//7480 7331//7463 7726//3805 6070//4019 +f 4145//7474 4147//7481 4151//7482 4148//7475 +f 4148//7475 4151//7482 7337//7483 7338//7478 +f 4147//7481 6069//4018 6068//4031 4151//7482 +f 4151//7482 6068//4031 7741//4033 7337//7483 +f 4152//7484 4155//7485 4156//7486 4153//7487 +f 4153//7487 4156//7486 7330//7473 7329//7471 +f 4155//7485 6078//4043 6077//4042 4156//7486 +f 4156//7486 6077//4042 7712//3821 7330//7473 +f 4152//7484 4153//7487 4157//7488 4154//7489 +f 4154//7489 4157//7488 7334//7490 7335//7491 +f 4153//7487 7329//7471 7328//7470 4157//7488 +f 4157//7488 7328//7470 7908//7151 7334//7490 +f 4152//7484 4154//7489 4158//7492 4155//7485 +f 4155//7485 4158//7492 6079//4048 6078//4043 +f 4154//7489 7335//7491 7336//7493 4158//7492 +f 4158//7492 7336//7493 7727//4049 6079//4048 +f 4159//7494 4162//7495 4163//7496 4160//7497 +f 4160//7497 4163//7496 7339//7479 7338//7478 +f 4162//7495 7344//7498 7345//7499 4163//7496 +f 4163//7496 7345//7499 7787//7134 7339//7479 +f 4159//7494 4160//7497 4164//7500 4161//7501 +f 4161//7501 4164//7500 6157//4247 6156//4246 +f 4160//7497 7338//7478 7337//7483 4164//7500 +f 4164//7500 7337//7483 7741//4033 6157//4247 +f 4159//7494 4161//7501 4165//7502 4162//7495 +f 4162//7495 4165//7502 7343//7503 7344//7498 +f 4161//7501 6156//4246 6155//4259 4165//7502 +f 4165//7502 6155//4259 7756//4261 7343//7503 +f 4166//7504 4169//7505 4170//7506 4167//7507 +f 4167//7507 4170//7506 7336//7493 7335//7491 +f 4169//7505 6165//4271 6164//4270 4170//7506 +f 4170//7506 6164//4270 7727//4049 7336//7493 +f 4166//7504 4167//7507 4171//7508 4168//7509 +f 4168//7509 4171//7508 7340//7510 7341//7511 +f 4167//7507 7335//7491 7334//7490 4171//7508 +f 4171//7508 7334//7490 7908//7151 7340//7510 +f 4166//7504 4168//7509 4172//7512 4169//7505 +f 4169//7505 4172//7512 6166//4276 6165//4271 +f 4168//7509 7341//7511 7342//7513 4172//7512 +f 4172//7512 7342//7513 7742//4277 6166//4276 +f 4173//7514 4176//7515 4177//7516 4174//7517 +f 4174//7517 4177//7516 7345//7499 7344//7498 +f 4176//7515 7350//7518 7351//7519 4177//7516 +f 4177//7516 7351//7519 7787//7134 7345//7499 +f 4173//7514 4174//7517 4178//7520 4175//7521 +f 4175//7521 4178//7520 6244//4475 6243//4474 +f 4174//7517 7344//7498 7343//7503 4178//7520 +f 4178//7520 7343//7503 7756//4261 6244//4475 +f 4173//7514 4175//7521 4179//7522 4176//7515 +f 4176//7515 4179//7522 7349//7523 7350//7518 +f 4175//7521 6243//4474 6242//4487 4179//7522 +f 4179//7522 6242//4487 7771//4489 7349//7523 +f 4180//7524 4183//7525 4184//7526 4181//7527 +f 4181//7527 4184//7526 7342//7513 7341//7511 +f 4183//7525 6252//4499 6251//4498 4184//7526 +f 4184//7526 6251//4498 7742//4277 7342//7513 +f 4180//7524 4181//7527 4185//7528 4182//7529 +f 4182//7529 4185//7528 7346//7530 7347//7531 +f 4181//7527 7341//7511 7340//7510 4185//7528 +f 4185//7528 7340//7510 7908//7151 7346//7530 +f 4180//7524 4182//7529 4186//7532 4183//7525 +f 4183//7525 4186//7532 6253//4504 6252//4499 +f 4182//7529 7347//7531 7348//7533 4186//7532 +f 4186//7532 7348//7533 7757//4505 6253//4504 +f 4187//7534 4190//7535 4191//7536 4188//7537 +f 4188//7537 4191//7536 7351//7519 7350//7518 +f 4190//7535 6306//7538 6307//7539 4191//7536 +f 4191//7536 6307//7539 7787//7134 7351//7519 +f 4187//7534 4188//7537 4192//7540 4189//7541 +f 4189//7541 4192//7540 6334//4703 6333//4702 +f 4188//7537 7350//7518 7349//7523 4192//7540 +f 4192//7540 7349//7523 7771//4489 6334//4703 +f 4187//7534 4189//7541 4193//7542 4190//7535 +f 4190//7535 4193//7542 6305//7543 6306//7538 +f 4189//7541 6333//4702 6332//4715 4193//7542 +f 4193//7542 6332//4715 7786//4717 6305//7543 +f 4194//7544 4197//7545 4198//7546 4195//7547 +f 4195//7547 4198//7546 7348//7533 7347//7531 +f 4197//7545 6342//4727 6341//4726 4198//7546 +f 4198//7546 6341//4726 7757//4505 7348//7533 +f 4194//7544 4195//7547 4199//7548 4196//7549 +f 4196//7549 4199//7548 7352//7550 7353//7551 +f 4195//7547 7347//7531 7346//7530 4199//7548 +f 4199//7548 7346//7530 7908//7151 7352//7550 +f 4194//7544 4196//7549 4200//7552 4197//7545 +f 4197//7545 4200//7552 6343//4732 6342//4727 +f 4196//7549 7353//7551 7354//7553 4200//7552 +f 4200//7552 7354//7553 7772//4733 6343//4732 +f 4201//7554 4204//7555 4205//7556 4202//7557 +f 4202//7557 4205//7556 6307//7539 6306//7538 +f 4204//7555 7359//7558 7360//7559 4205//7556 +f 4205//7556 7360//7559 7787//7134 6307//7539 +f 4201//7554 4202//7557 4206//7560 4203//7561 +f 4203//7561 4206//7560 6421//4931 6420//4930 +f 4202//7557 6306//7538 6305//7543 4206//7560 +f 4206//7560 6305//7543 7786//4717 6421//4931 +f 4201//7554 4203//7561 4207//7562 4204//7555 +f 4204//7555 4207//7562 7358//7563 7359//7558 +f 4203//7561 6420//4930 6419//4943 4207//7562 +f 4207//7562 6419//4943 7802//4945 7358//7563 +f 4208//7564 4211//7565 4212//7566 4209//7567 +f 4209//7567 4212//7566 7354//7553 7353//7551 +f 4211//7565 6429//4955 6428//4954 4212//7566 +f 4212//7566 6428//4954 7772//4733 7354//7553 +f 4208//7564 4209//7567 4213//7568 4210//7569 +f 4210//7569 4213//7568 7355//7570 7356//7571 +f 4209//7567 7353//7551 7352//7550 4213//7568 +f 4213//7568 7352//7550 7908//7151 7355//7570 +f 4208//7564 4210//7569 4214//7572 4211//7565 +f 4211//7565 4214//7572 6430//4960 6429//4955 +f 4210//7569 7356//7571 7357//7573 4214//7572 +f 4214//7572 7357//7573 7788//4961 6430//4960 +f 4215//7574 4218//7575 4219//7576 4216//7577 +f 4216//7577 4219//7576 7360//7559 7359//7558 +f 4218//7575 7365//7578 7366//7579 4219//7576 +f 4219//7576 7366//7579 7787//7134 7360//7559 +f 4215//7574 4216//7577 4220//7580 4217//7581 +f 4217//7581 4220//7580 6508//5159 6507//5158 +f 4216//7577 7359//7558 7358//7563 4220//7580 +f 4220//7580 7358//7563 7802//4945 6508//5159 +f 4215//7574 4217//7581 4221//7582 4218//7575 +f 4218//7575 4221//7582 7364//7583 7365//7578 +f 4217//7581 6507//5158 6506//5171 4221//7582 +f 4221//7582 6506//5171 7817//5173 7364//7583 +f 4222//7584 4225//7585 4226//7586 4223//7587 +f 4223//7587 4226//7586 7357//7573 7356//7571 +f 4225//7585 6516//5183 6515//5182 4226//7586 +f 4226//7586 6515//5182 7788//4961 7357//7573 +f 4222//7584 4223//7587 4227//7588 4224//7589 +f 4224//7589 4227//7588 7361//7590 7362//7591 +f 4223//7587 7356//7571 7355//7570 4227//7588 +f 4227//7588 7355//7570 7908//7151 7361//7590 +f 4222//7584 4224//7589 4228//7592 4225//7585 +f 4225//7585 4228//7592 6517//5188 6516//5183 +f 4224//7589 7362//7591 7363//7593 4228//7592 +f 4228//7592 7363//7593 7803//5189 6517//5188 +f 4229//7594 4232//7595 4233//7596 4230//7597 +f 4230//7597 4233//7596 7366//7579 7365//7578 +f 4232//7595 7371//7598 7372//7599 4233//7596 +f 4233//7596 7372//7599 7787//7134 7366//7579 +f 4229//7594 4230//7597 4234//7600 4231//7601 +f 4231//7601 4234//7600 6595//5387 6594//5386 +f 4230//7597 7365//7578 7364//7583 4234//7600 +f 4234//7600 7364//7583 7817//5173 6595//5387 +f 4229//7594 4231//7601 4235//7602 4232//7595 +f 4232//7595 4235//7602 7370//7603 7371//7598 +f 4231//7601 6594//5386 6593//5399 4235//7602 +f 4235//7602 6593//5399 7832//5401 7370//7603 +f 4236//7604 4239//7605 4240//7606 4237//7607 +f 4237//7607 4240//7606 7363//7593 7362//7591 +f 4239//7605 6603//5411 6602//5410 4240//7606 +f 4240//7606 6602//5410 7803//5189 7363//7593 +f 4236//7604 4237//7607 4241//7608 4238//7609 +f 4238//7609 4241//7608 7367//7610 7368//7611 +f 4237//7607 7362//7591 7361//7590 4241//7608 +f 4241//7608 7361//7590 7908//7151 7367//7610 +f 4236//7604 4238//7609 4242//7612 4239//7605 +f 4239//7605 4242//7612 6604//5416 6603//5411 +f 4238//7609 7368//7611 7369//7613 4242//7612 +f 4242//7612 7369//7613 7818//5417 6604//5416 +f 4243//7614 4246//7615 4247//7616 4244//7617 +f 4244//7617 4247//7616 7372//7599 7371//7598 +f 4246//7615 7377//7618 7378//7619 4247//7616 +f 4247//7616 7378//7619 7787//7134 7372//7599 +f 4243//7614 4244//7617 4248//7620 4245//7621 +f 4245//7621 4248//7620 6682//5615 6681//5614 +f 4244//7617 7371//7598 7370//7603 4248//7620 +f 4248//7620 7370//7603 7832//5401 6682//5615 +f 4243//7614 4245//7621 4249//7622 4246//7615 +f 4246//7615 4249//7622 7376//7623 7377//7618 +f 4245//7621 6681//5614 6680//5627 4249//7622 +f 4249//7622 6680//5627 7847//5629 7376//7623 +f 4250//7624 4253//7625 4254//7626 4251//7627 +f 4251//7627 4254//7626 7369//7613 7368//7611 +f 4253//7625 6690//5639 6689//5638 4254//7626 +f 4254//7626 6689//5638 7818//5417 7369//7613 +f 4250//7624 4251//7627 4255//7628 4252//7629 +f 4252//7629 4255//7628 7373//7630 7374//7631 +f 4251//7627 7368//7611 7367//7610 4255//7628 +f 4255//7628 7367//7610 7908//7151 7373//7630 +f 4250//7624 4252//7629 4256//7632 4253//7625 +f 4253//7625 4256//7632 6691//5644 6690//5639 +f 4252//7629 7374//7631 7375//7633 4256//7632 +f 4256//7632 7375//7633 7833//5645 6691//5644 +f 4257//7634 4260//7635 4261//7636 4258//7637 +f 4258//7637 4261//7636 7378//7619 7377//7618 +f 4260//7635 7383//7638 7384//7639 4261//7636 +f 4261//7636 7384//7639 7787//7134 7378//7619 +f 4257//7634 4258//7637 4262//7640 4259//7641 +f 4259//7641 4262//7640 6769//5843 6768//5842 +f 4258//7637 7377//7618 7376//7623 4262//7640 +f 4262//7640 7376//7623 7847//5629 6769//5843 +f 4257//7634 4259//7641 4263//7642 4260//7635 +f 4260//7635 4263//7642 7382//7643 7383//7638 +f 4259//7641 6768//5842 6767//5855 4263//7642 +f 4263//7642 6767//5855 7862//5857 7382//7643 +f 4264//7644 4267//7645 4268//7646 4265//7647 +f 4265//7647 4268//7646 7375//7633 7374//7631 +f 4267//7645 6777//5867 6776//5866 4268//7646 +f 4268//7646 6776//5866 7833//5645 7375//7633 +f 4264//7644 4265//7647 4269//7648 4266//7649 +f 4266//7649 4269//7648 7379//7650 7380//7651 +f 4265//7647 7374//7631 7373//7630 4269//7648 +f 4269//7648 7373//7630 7908//7151 7379//7650 +f 4264//7644 4266//7649 4270//7652 4267//7645 +f 4267//7645 4270//7652 6778//5872 6777//5867 +f 4266//7649 7380//7651 7381//7653 4270//7652 +f 4270//7652 7381//7653 7848//5873 6778//5872 +f 4271//7654 4274//7655 4275//7656 4272//7657 +f 4272//7657 4275//7656 7384//7639 7383//7638 +f 4274//7655 7389//7658 7390//7659 4275//7656 +f 4275//7656 7390//7659 7787//7134 7384//7639 +f 4271//7654 4272//7657 4276//7660 4273//7661 +f 4273//7661 4276//7660 6856//6071 6855//6070 +f 4272//7657 7383//7638 7382//7643 4276//7660 +f 4276//7660 7382//7643 7862//5857 6856//6071 +f 4271//7654 4273//7661 4277//7662 4274//7655 +f 4274//7655 4277//7662 7388//7663 7389//7658 +f 4273//7661 6855//6070 6854//6083 4277//7662 +f 4277//7662 6854//6083 7877//6085 7388//7663 +f 4278//7664 4281//7665 4282//7666 4279//7667 +f 4279//7667 4282//7666 7381//7653 7380//7651 +f 4281//7665 6864//6095 6863//6094 4282//7666 +f 4282//7666 6863//6094 7848//5873 7381//7653 +f 4278//7664 4279//7667 4283//7668 4280//7669 +f 4280//7669 4283//7668 7385//7670 7386//7671 +f 4279//7667 7380//7651 7379//7650 4283//7668 +f 4283//7668 7379//7650 7908//7151 7385//7670 +f 4278//7664 4280//7669 4284//7672 4281//7665 +f 4281//7665 4284//7672 6865//6100 6864//6095 +f 4280//7669 7386//7671 7387//7673 4284//7672 +f 4284//7672 7387//7673 7863//6101 6865//6100 +f 4285//7674 4288//7675 4289//7676 4286//7677 +f 4286//7677 4289//7676 7390//7659 7389//7658 +f 4288//7675 7395//7678 7396//7679 4289//7676 +f 4289//7676 7396//7679 7787//7134 7390//7659 +f 4285//7674 4286//7677 4290//7680 4287//7681 +f 4287//7681 4290//7680 6943//6299 6942//6298 +f 4286//7677 7389//7658 7388//7663 4290//7680 +f 4290//7680 7388//7663 7877//6085 6943//6299 +f 4285//7674 4287//7681 4291//7682 4288//7675 +f 4288//7675 4291//7682 7394//7683 7395//7678 +f 4287//7681 6942//6298 6941//6311 4291//7682 +f 4291//7682 6941//6311 7892//6313 7394//7683 +f 4292//7684 4295//7685 4296//7686 4293//7687 +f 4293//7687 4296//7686 7387//7673 7386//7671 +f 4295//7685 6951//6323 6950//6322 4296//7686 +f 4296//7686 6950//6322 7863//6101 7387//7673 +f 4292//7684 4293//7687 4297//7688 4294//7689 +f 4294//7689 4297//7688 7391//7690 7392//7691 +f 4293//7687 7386//7671 7385//7670 4297//7688 +f 4297//7688 7385//7670 7908//7151 7391//7690 +f 4292//7684 4294//7689 4298//7692 4295//7685 +f 4295//7685 4298//7692 6952//6328 6951//6323 +f 4294//7689 7392//7691 7393//7693 4298//7692 +f 4298//7692 7393//7693 7878//6329 6952//6328 +f 4299//7694 4302//7695 4303//7696 4300//7697 +f 4300//7697 4303//7696 7396//7679 7395//7678 +f 4302//7695 7401//7698 7402//7699 4303//7696 +f 4303//7696 7402//7699 7787//7134 7396//7679 +f 4299//7694 4300//7697 4304//7700 4301//7701 +f 4301//7701 4304//7700 7030//6527 7029//6526 +f 4300//7697 7395//7678 7394//7683 4304//7700 +f 4304//7700 7394//7683 7892//6313 7030//6527 +f 4299//7694 4301//7701 4305//7702 4302//7695 +f 4302//7695 4305//7702 7400//7703 7401//7698 +f 4301//7701 7029//6526 7028//6539 4305//7702 +f 4305//7702 7028//6539 7907//6541 7400//7703 +f 4306//7704 4309//7705 4310//7706 4307//7707 +f 4307//7707 4310//7706 7393//7693 7392//7691 +f 4309//7705 7038//6551 7037//6550 4310//7706 +f 4310//7706 7037//6550 7878//6329 7393//7693 +f 4306//7704 4307//7707 4311//7708 4308//7709 +f 4308//7709 4311//7708 7397//7710 7398//7711 +f 4307//7707 7392//7691 7391//7690 4311//7708 +f 4311//7708 7391//7690 7908//7151 7397//7710 +f 4306//7704 4308//7709 4312//7712 4309//7705 +f 4309//7705 4312//7712 7039//6556 7038//6551 +f 4308//7709 7398//7711 7399//7713 4312//7712 +f 4312//7712 7399//7713 7893//6557 7039//6556 +f 4313//7714 4316//7715 4317//7716 4314//7717 +f 4314//7717 4317//7716 7402//7699 7401//7698 +f 4316//7715 7404//7718 7405//7719 4317//7716 +f 4317//7716 7405//7719 7787//7134 7402//7699 +f 4313//7714 4314//7717 4318//7720 4315//7721 +f 4315//7721 4318//7720 7120//6755 7119//6754 +f 4314//7717 7401//7698 7400//7703 4318//7720 +f 4318//7720 7400//7703 7907//6541 7120//6755 +f 4313//7714 4315//7721 4319//7722 4316//7715 +f 4316//7715 4319//7722 7403//7723 7404//7718 +f 4315//7721 7119//6754 7118//6767 4319//7722 +f 4319//7722 7118//6767 7923//6769 7403//7723 +f 4320//7724 4323//7725 4324//7726 4321//7727 +f 4321//7727 4324//7726 7399//7713 7398//7711 +f 4323//7725 7128//6779 7127//6778 4324//7726 +f 4324//7726 7127//6778 7893//6557 7399//7713 +f 4320//7724 4321//7727 4325//7728 4322//7729 +f 4322//7729 4325//7728 7049//7730 7050//7731 +f 4321//7727 7398//7711 7397//7710 4325//7728 +f 4325//7728 7397//7710 7908//7151 7049//7730 +f 4320//7724 4322//7729 4326//7732 4323//7725 +f 4323//7725 4326//7732 7129//6784 7128//6779 +f 4322//7729 7050//7731 7051//7733 4326//7732 +f 4326//7732 7051//7733 7909//6785 7129//6784 +f 4327//7734 4330//7735 4331//7736 4328//7737 +f 4328//7737 4331//7736 7405//7719 7404//7718 +f 4330//7735 7410//7738 7411//7739 4331//7736 +f 4331//7736 7411//7739 7787//7134 7405//7719 +f 4327//7734 4328//7737 4332//7740 4329//7741 +f 4329//7741 4332//7740 7207//6983 7206//6982 +f 4328//7737 7404//7718 7403//7723 4332//7740 +f 4332//7740 7403//7723 7923//6769 7207//6983 +f 4327//7734 4329//7741 4333//7742 4330//7735 +f 4330//7735 4333//7742 7409//7743 7410//7738 +f 4329//7741 7206//6982 7205//6995 4333//7742 +f 4333//7742 7205//6995 7938//6997 7409//7743 +f 4334//7744 4337//7745 4338//7746 4335//7747 +f 4335//7747 4338//7746 7051//7733 7050//7731 +f 4337//7745 7215//7007 7214//7006 4338//7746 +f 4338//7746 7214//7006 7909//6785 7051//7733 +f 4334//7744 4335//7747 4339//7748 4336//7749 +f 4336//7749 4339//7748 7406//7750 7407//7751 +f 4335//7747 7050//7731 7049//7730 4339//7748 +f 4339//7748 7049//7730 7908//7151 7406//7750 +f 4334//7744 4336//7749 4340//7752 4337//7745 +f 4337//7745 4340//7752 7216//7012 7215//7007 +f 4336//7749 7407//7751 7408//7753 4340//7752 +f 4340//7752 7408//7753 7924//7013 7216//7012 +f 4341//7754 4345//7755 4346//7756 4342//7757 +f 4342//7757 4346//7756 7165//6916 7164//6911 +f 4345//7755 7413//7758 7414//7759 4346//7756 +f 4346//7756 7414//7759 7933//6917 7165//6916 +f 4341//7754 4342//7757 4347//7760 4343//7761 +f 4343//7761 4347//7760 7415//7762 7416//7763 +f 4342//7757 7164//6911 7163//6910 4347//7760 +f 4347//7760 7163//6910 7932//6913 7415//7762 +f 4341//7754 4343//7761 4348//7764 4344//7765 +f 4344//7765 4348//7764 4505//249 4506//246 +f 4343//7761 7416//7763 7417//7766 4348//7764 +f 4348//7764 7417//7766 7465//134 4505//249 +f 4341//7754 4344//7765 4349//7767 4345//7755 +f 4345//7755 4349//7767 7412//7768 7413//7758 +f 4344//7765 4506//246 4507//245 4349//7767 +f 4349//7767 4507//245 7466//115 7412//7768 +f 4350//7769 4354//7770 4355//7771 4351//7772 +f 4351//7772 4355//7771 7159//6936 7158//6931 +f 4354//7770 7419//7773 7420//7774 4355//7771 +f 4355//7771 7420//7774 7931//6937 7159//6936 +f 4350//7769 4351//7772 4356//7775 4352//7776 +f 4352//7776 4356//7775 7421//7777 7422//7778 +f 4351//7772 7158//6931 7157//6930 4356//7775 +f 4356//7775 7157//6930 7930//6933 7421//7777 +f 4350//7769 4352//7776 4357//7779 4353//7780 +f 4353//7780 4357//7779 4499//264 4500//261 +f 4352//7776 7422//7778 7423//7781 4357//7779 +f 4357//7779 7423//7781 7463//159 4499//264 +f 4350//7769 4353//7780 4358//7782 4354//7770 +f 4354//7770 4358//7782 7418//7783 7419//7773 +f 4353//7780 4500//261 4501//260 4358//7782 +f 4358//7782 4501//260 7464//140 7418//7783 +f 4359//7784 4363//7785 4364//7786 4360//7787 +f 4360//7787 4364//7786 7153//6956 7152//6951 +f 4363//7785 7425//7788 7426//7789 4364//7786 +f 4364//7786 7426//7789 7929//6957 7153//6956 +f 4359//7784 4360//7787 4365//7790 4361//7791 +f 4361//7791 4365//7790 7427//7792 7428//7793 +f 4360//7787 7152//6951 7151//6950 4365//7790 +f 4365//7790 7151//6950 7928//6953 7427//7792 +f 4359//7784 4361//7791 4366//7794 4362//7795 +f 4362//7795 4366//7794 4493//279 4494//276 +f 4361//7791 7428//7793 7429//7796 4366//7794 +f 4366//7794 7429//7796 7461//184 4493//279 +f 4359//7784 4362//7795 4367//7797 4363//7785 +f 4363//7785 4367//7797 7424//7798 7425//7788 +f 4362//7795 4494//276 4495//275 4367//7797 +f 4367//7797 4495//275 7462//165 7424//7798 +f 4368//7799 4372//7800 4373//7801 4369//7802 +f 4369//7802 4373//7801 7147//6976 7146//6971 +f 4372//7800 7431//7803 7432//7804 4373//7801 +f 4373//7801 7432//7804 7927//6977 7147//6976 +f 4368//7799 4369//7802 4374//7805 4370//7806 +f 4370//7806 4374//7805 7433//7807 7434//7808 +f 4369//7802 7146//6971 7145//6970 4374//7805 +f 4374//7805 7145//6970 7926//6973 7433//7807 +f 4368//7799 4370//7806 4375//7809 4371//7810 +f 4371//7810 4375//7809 4487//14 4488//6 +f 4370//7806 7434//7808 7435//7811 4375//7809 +f 4375//7809 7435//7811 7459//15 4487//14 +f 4368//7799 4371//7810 4376//7812 4372//7800 +f 4372//7800 4376//7812 7430//7813 7431//7803 +f 4371//7810 4488//6 4489//5 4376//7812 +f 4376//7812 4489//5 7460//9 7430//7813 +f 4377//7814 4381//7815 4382//7816 4378//7817 +f 4378//7817 4382//7816 7180//6996 7179//6991 +f 4381//7815 7437//7818 7438//7819 4382//7816 +f 4382//7816 7438//7819 7938//6997 7180//6996 +f 4377//7814 4378//7817 4383//7820 4379//7821 +f 4379//7821 4383//7820 7439//7822 7440//7823 +f 4378//7817 7179//6991 7178//6990 4383//7820 +f 4383//7820 7178//6990 7937//6993 7439//7822 +f 4377//7814 4379//7821 4384//7824 4380//7825 +f 4380//7825 4384//7824 4520//39 4521//31 +f 4379//7821 7440//7823 7441//7826 4384//7824 +f 4384//7824 7441//7826 7470//40 4520//39 +f 4377//7814 4380//7825 4385//7827 4381//7815 +f 4381//7815 4385//7827 7436//7828 7437//7818 +f 4380//7825 4521//31 4522//30 4385//7827 +f 4385//7827 4522//30 7471//34 7436//7828 +f 4386//7829 4390//7830 4391//7831 4387//7832 +f 4387//7832 4391//7831 7141//7016 7140//7011 +f 4390//7830 7443//7833 7444//7834 4391//7831 +f 4391//7831 7444//7834 7925//7017 7141//7016 +f 4386//7829 4387//7832 4392//7835 4388//7836 +f 4388//7836 4392//7835 7445//7837 7446//7838 +f 4387//7832 7140//7011 7139//7010 4392//7835 +f 4392//7835 7139//7010 7924//7013 7445//7837 +f 4386//7829 4388//7836 4393//7839 4389//7840 +f 4389//7840 4393//7839 4481//64 4482//56 +f 4388//7836 7446//7838 7447//7841 4393//7839 +f 4393//7839 7447//7841 7457//65 4481//64 +f 4386//7829 4389//7840 4394//7842 4390//7830 +f 4390//7830 4394//7842 7442//7843 7443//7833 +f 4389//7840 4482//56 4483//55 4394//7842 +f 4394//7842 4483//55 7458//59 7442//7843 +f 4395//7844 4399//7845 4400//7846 4396//7847 +f 4396//7847 4400//7846 7174//7036 7173//7031 +f 4399//7845 7449//7848 7450//7849 4400//7846 +f 4400//7846 7450//7849 7936//7037 7174//7036 +f 4395//7844 4396//7847 4401//7850 4397//7851 +f 4397//7851 4401//7850 7451//7852 7452//7853 +f 4396//7847 7173//7031 7172//7030 4401//7850 +f 4401//7850 7172//7030 7935//7033 7451//7852 +f 4395//7844 4397//7851 4402//7854 4398//7855 +f 4398//7855 4402//7854 4514//89 4515//81 +f 4397//7851 7452//7853 7453//7856 4402//7854 +f 4402//7854 7453//7856 7468//90 4514//89 +f 4395//7844 4398//7855 4403//7857 4399//7845 +f 4399//7845 4403//7857 7448//7858 7449//7848 +f 4398//7855 4515//81 4516//80 4403//7857 +f 4403//7857 4516//80 7469//84 7448//7858 +f 4404//7859 4408//7860 4409//7861 4405//7862 +f 4405//7862 4409//7861 7168//7052 7167//7049 +f 4408//7860 7455//7863 7456//7864 4409//7861 +f 4409//7861 7456//7864 7934//7053 7168//7052 +f 4404//7859 4405//7862 4410//7865 4406//7866 +f 4406//7866 4410//7865 7414//7759 7413//7758 +f 4405//7862 7167//7049 7166//7048 4410//7865 +f 4410//7865 7166//7048 7933//6917 7414//7759 +f 4404//7859 4406//7866 4411//7867 4407//7868 +f 4407//7868 4411//7867 4508//114 4509//106 +f 4406//7866 7413//7758 7412//7768 4411//7867 +f 4411//7867 7412//7768 7466//115 4508//114 +f 4404//7859 4407//7868 4412//7869 4408//7860 +f 4408//7860 4412//7869 7454//7870 7455//7863 +f 4407//7868 4509//106 4510//105 4412//7869 +f 4412//7869 4510//105 7467//109 7454//7870 +f 4413//7871 4417//7872 4418//7873 4414//7874 +f 4414//7874 4418//7873 7162//7065 7161//7063 +f 4417//7872 7416//7763 7415//7762 4418//7873 +f 4418//7873 7415//7762 7932//6913 7162//7065 +f 4413//7871 4414//7874 4419//7875 4415//7876 +f 4415//7876 4419//7875 7420//7774 7419//7773 +f 4414//7874 7161//7063 7160//7062 4419//7875 +f 4419//7875 7160//7062 7931//6937 7420//7774 +f 4413//7871 4415//7876 4420//7877 4416//7878 +f 4416//7878 4420//7877 4502//139 4503//131 +f 4415//7876 7419//7773 7418//7783 4420//7877 +f 4420//7877 7418//7783 7464//140 4502//139 +f 4413//7871 4416//7878 4421//7879 4417//7872 +f 4417//7872 4421//7879 7417//7766 7416//7763 +f 4416//7878 4503//131 4504//130 4421//7879 +f 4421//7879 4504//130 7465//134 7417//7766 +f 4422//7880 4426//7881 4427//7882 4423//7883 +f 4423//7883 4427//7882 7156//7077 7155//7075 +f 4426//7881 7422//7778 7421//7777 4427//7882 +f 4427//7882 7421//7777 7930//6933 7156//7077 +f 4422//7880 4423//7883 4428//7884 4424//7885 +f 4424//7885 4428//7884 7426//7789 7425//7788 +f 4423//7883 7155//7075 7154//7074 4428//7884 +f 4428//7884 7154//7074 7929//6957 7426//7789 +f 4422//7880 4424//7885 4429//7886 4425//7887 +f 4425//7887 4429//7886 4496//164 4497//156 +f 4424//7885 7425//7788 7424//7798 4429//7886 +f 4429//7886 7424//7798 7462//165 4496//164 +f 4422//7880 4425//7887 4430//7888 4426//7881 +f 4426//7881 4430//7888 7423//7781 7422//7778 +f 4425//7887 4497//156 4498//155 4430//7888 +f 4430//7888 4498//155 7463//159 7423//7781 +f 4431//7889 4435//7890 4436//7891 4432//7892 +f 4432//7892 4436//7891 7150//7089 7149//7087 +f 4435//7890 7428//7793 7427//7792 4436//7891 +f 4436//7891 7427//7792 7928//6953 7150//7089 +f 4431//7889 4432//7892 4437//7893 4433//7894 +f 4433//7894 4437//7893 7432//7804 7431//7803 +f 4432//7892 7149//7087 7148//7086 4437//7893 +f 4437//7893 7148//7086 7927//6977 7432//7804 +f 4431//7889 4433//7894 4438//7895 4434//7896 +f 4434//7896 4438//7895 4490//187 4491//181 +f 4433//7894 7431//7803 7430//7813 4438//7895 +f 4438//7895 7430//7813 7460//9 4490//187 +f 4431//7889 4434//7896 4439//7897 4435//7890 +f 4435//7890 4439//7897 7429//7796 7428//7793 +f 4434//7896 4491//181 4492//180 4439//7897 +f 4439//7897 4492//180 7461//184 7429//7796 +f 4440//7898 4443//7899 4444//7900 4441//7901 +f 4441//7901 4444//7900 7411//7739 7410//7738 +f 4443//7899 7230//7131 7231//7130 4444//7900 +f 4444//7900 7231//7130 7787//7134 7411//7739 +f 4440//7898 4441//7901 4445//7902 4442//7903 +f 4442//7903 4445//7902 7438//7819 7437//7818 +f 4441//7901 7410//7738 7409//7743 4445//7902 +f 4445//7902 7409//7743 7938//6997 7438//7819 +f 4440//7898 4442//7903 4446//7904 4443//7899 +f 4443//7899 4446//7904 7229//7137 7230//7131 +f 4442//7903 7437//7818 7436//7828 4446//7904 +f 4446//7904 7436//7828 7471//34 7229//7137 +f 4447//7905 4451//7906 4452//7907 4448//7908 +f 4448//7908 4452//7907 7144//7101 7143//7099 +f 4451//7906 7434//7808 7433//7807 4452//7907 +f 4452//7907 7433//7807 7926//6973 7144//7101 +f 4447//7905 4448//7908 4453//7909 4449//7910 +f 4449//7910 4453//7909 7444//7834 7443//7833 +f 4448//7908 7143//7099 7142//7098 4453//7909 +f 4453//7909 7142//7098 7925//7017 7444//7834 +f 4447//7905 4449//7910 4454//7911 4450//7912 +f 4450//7912 4454//7911 4484//204 4485//201 +f 4449//7910 7443//7833 7442//7843 4454//7911 +f 4454//7911 7442//7843 7458//59 4484//204 +f 4447//7905 4450//7912 4455//7913 4451//7906 +f 4451//7906 4455//7913 7435//7811 7434//7808 +f 4450//7912 4485//201 4486//200 4455//7913 +f 4455//7913 4486//200 7459//15 7435//7811 +f 4456//7914 4460//7915 4461//7916 4457//7917 +f 4457//7917 4461//7916 7177//7113 7176//7111 +f 4460//7915 7440//7823 7439//7822 4461//7916 +f 4461//7916 7439//7822 7937//6993 7177//7113 +f 4456//7914 4457//7917 4462//7918 4458//7919 +f 4458//7919 4462//7918 7450//7849 7449//7848 +f 4457//7917 7176//7111 7175//7110 4462//7918 +f 4462//7918 7175//7110 7936//7037 7450//7849 +f 4456//7914 4458//7919 4463//7920 4459//7921 +f 4459//7921 4463//7920 4517//219 4518//216 +f 4458//7919 7449//7848 7448//7858 4463//7920 +f 4463//7920 7448//7858 7469//84 4517//219 +f 4456//7914 4459//7921 4464//7922 4460//7915 +f 4460//7915 4464//7922 7441//7826 7440//7823 +f 4459//7921 4518//216 4519//215 4464//7922 +f 4464//7922 4519//215 7470//40 7441//7826 +f 4465//7923 4468//7924 4469//7925 4466//7926 +f 4466//7926 4469//7925 7408//7753 7407//7751 +f 4468//7924 7446//7838 7445//7837 4469//7925 +f 4469//7925 7445//7837 7924//7013 7408//7753 +f 4465//7923 4466//7926 4470//7927 4467//7928 +f 4467//7928 4470//7927 7226//7150 7227//7145 +f 4466//7926 7407//7751 7406//7750 4470//7927 +f 4470//7927 7406//7750 7908//7151 7226//7150 +f 4465//7923 4467//7928 4471//7929 4468//7924 +f 4468//7924 4471//7929 7447//7841 7446//7838 +f 4467//7928 7227//7145 7228//7144 4471//7929 +f 4471//7929 7228//7144 7457//65 7447//7841 +f 4472//7930 4476//7931 4477//7932 4473//7933 +f 4473//7933 4477//7932 7171//7125 7170//7123 +f 4476//7931 7452//7853 7451//7852 4477//7932 +f 4477//7932 7451//7852 7935//7033 7171//7125 +f 4472//7930 4473//7933 4478//7934 4474//7935 +f 4474//7935 4478//7934 7456//7864 7455//7863 +f 4473//7933 7170//7123 7169//7122 4478//7934 +f 4478//7934 7169//7122 7934//7053 7456//7864 +f 4472//7930 4474//7935 4479//7936 4475//7937 +f 4475//7937 4479//7936 4511//234 4512//231 +f 4474//7935 7455//7863 7454//7870 4479//7936 +f 4479//7936 7454//7870 7467//109 4511//234 +f 4472//7930 4475//7937 4480//7938 4476//7931 +f 4476//7931 4480//7938 7453//7856 7452//7853 +f 4475//7937 4512//231 4513//230 4480//7938 +f 4480//7938 4513//230 7468//90 7453//7856 diff --git a/scenes/objs/wahoo.obj b/scenes/objs/wahoo.obj new file mode 100644 index 00000000..c4f32f3e --- /dev/null +++ b/scenes/objs/wahoo.obj @@ -0,0 +1,32363 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v -1.108472 2.461625 0.059818 +v -1.097578 2.142940 0.168504 +v -1.073473 2.116935 0.028741 +v -1.069585 1.902970 0.142856 +v -0.991835 1.917680 0.118245 +v -1.065328 1.795725 0.182388 +v -0.974760 1.764445 0.129657 +v -1.027454 1.604130 0.185929 +v -0.972523 1.720420 0.461648 +v -1.000795 1.621750 0.458365 +v -1.091265 1.649700 0.438621 +v -1.011230 1.555795 0.391427 +v -1.107226 1.607410 0.387219 +v -1.049095 1.546730 0.283003 +v -1.113047 1.604070 0.306729 +v -1.092177 1.648255 0.237195 +v -1.124255 1.706865 0.335448 +v -1.098103 1.832640 0.288850 +v -1.062249 1.743695 0.447185 +v -1.053602 1.854375 0.389351 +v -0.937773 1.839280 0.384407 +v -0.953791 1.771735 0.427179 +v -0.923491 1.776445 0.548293 +v -1.007746 1.810660 0.536812 +v -0.990727 1.880135 0.585298 +v -1.052071 1.896130 0.477448 +v -0.981767 1.975320 0.581185 +v -1.007326 2.079305 0.464521 +v -0.888879 1.977650 0.600331 +v -0.927427 2.077045 0.487738 +v 1.108472 2.461625 0.059818 +v 1.073474 2.116935 0.028741 +v 1.097579 2.142940 0.168504 +v 1.069585 1.902970 0.142856 +v 1.088048 1.943965 0.237577 +v 1.098104 1.832640 0.288850 +v 1.080081 1.970370 0.325104 +v 1.053604 1.854375 0.389351 +v 1.052073 1.896130 0.477448 +v 1.022606 1.812760 0.438221 +v 1.007746 1.810660 0.536812 +v 0.953793 1.771735 0.427179 +v 0.923492 1.776445 0.548293 +v 0.937774 1.839280 0.384407 +v 0.882990 1.861390 0.607033 +v 0.888879 1.977650 0.600331 +v 0.990727 1.880130 0.585298 +v 0.981767 1.975320 0.581185 +v 1.007327 2.079305 0.464521 +v 1.063982 2.021175 0.394491 +v 1.016543 2.231950 0.418198 +v 1.071102 2.196795 0.325621 +v 1.064904 2.440085 0.307232 +v 0.991836 1.917680 0.118245 +v 1.065328 1.795725 0.182388 +v 1.092177 1.648255 0.237195 +v 1.124256 1.706865 0.335448 +v 1.113048 1.604070 0.306729 +v 1.107226 1.607410 0.387219 +v 1.049095 1.546730 0.283003 +v 1.011230 1.555795 0.391427 +v 1.000795 1.621750 0.458365 +v 1.091266 1.649705 0.438621 +v 0.972524 1.720420 0.461648 +v 1.062250 1.743695 0.447185 +v 0.086977 0.970345 -0.381444 +v 0.000000 1.045670 -0.595327 +v -0.086977 0.970345 -0.381444 +v -0.165942 1.056735 -0.916447 +v -0.300092 1.010180 -0.875492 +v -0.330956 1.165715 -1.014767 +v -0.440398 1.093615 -0.842718 +v -0.452231 1.235540 -0.923542 +v -0.484318 1.326000 -0.641370 +v -0.403092 1.395760 -0.802291 +v -0.651146 1.445545 -0.655802 +v -0.722326 1.706365 -0.755593 +v -0.945607 1.781330 -0.536742 +v -1.002303 2.162225 -0.469380 +v -0.999130 1.805480 -0.327037 +v -1.055933 2.046885 -0.266890 +v -0.250484 0.981473 -0.354618 +v -0.432882 1.139380 -0.510334 +v -0.721605 1.139430 -0.696241 +v -0.729068 1.314180 -0.748236 +v -0.895548 1.269960 -0.723180 +v -0.848614 1.395880 -0.682048 +v -0.912592 1.337680 -0.555825 +v -0.848128 1.522870 -0.492025 +v -0.842185 1.408185 -0.373504 +v -0.932689 1.633710 -0.298461 +v -0.882427 1.469055 -0.161534 +v -0.381285 2.566735 -0.897190 +v -0.425449 2.455215 -0.947033 +v 0.000000 2.566735 -0.980156 +v 0.000000 2.462050 -1.025164 +v 0.425449 2.455215 -0.947033 +v 0.428261 2.207120 -0.988515 +v 0.777009 2.437610 -0.745538 +v 0.782073 2.188985 -0.780138 +v 1.025390 2.504055 -0.428086 +v 1.002303 2.162225 -0.469380 +v 1.108024 2.473955 -0.082083 +v 1.071079 2.089290 -0.121460 +v 0.440399 1.093615 -0.842718 +v 0.432883 1.139380 -0.510334 +v 0.484319 1.326000 -0.641371 +v 0.721606 1.139430 -0.696241 +v 0.729069 1.314180 -0.748236 +v 0.895549 1.269960 -0.723180 +v 0.848615 1.395880 -0.682048 +v 0.912593 1.337680 -0.555825 +v 0.848128 1.522870 -0.492025 +v 0.842185 1.408185 -0.373504 +v 0.932689 1.633710 -0.298461 +v 0.882428 1.469055 -0.161534 +v 0.250484 0.981474 -0.354618 +v 0.300092 1.010180 -0.875492 +v 0.165943 1.056735 -0.916447 +v 0.000000 1.220980 -0.752365 +v -0.178375 1.215080 -0.998859 +v -0.327105 1.298750 -0.999641 +v 0.141862 1.386305 -0.888556 +v 0.178376 1.215080 -0.998859 +v 0.330956 1.165715 -1.014767 +v 0.407993 1.031035 -0.313188 +v 0.568330 1.120880 -0.253997 +v 0.452231 1.235545 -0.923542 +v 0.403093 1.395760 -0.802292 +v 0.651146 1.445545 -0.655802 +v 0.722327 1.706365 -0.755593 +v 0.945607 1.781330 -0.536742 +v 0.999131 1.805480 -0.327037 +v -1.108024 2.473960 -0.082083 +v -1.068351 2.783130 -0.039017 +v -1.024902 2.741165 0.440886 +v -1.064904 2.440090 0.307232 +v -0.996341 2.449540 0.487763 +v -1.012072 2.355340 0.434519 +v -0.924895 2.353535 0.454098 +v -0.925976 2.230210 0.436613 +v 1.024902 2.741165 0.440886 +v 0.996341 2.449540 0.487763 +v 0.939771 2.724840 0.627478 +v 0.951160 2.529555 0.613625 +v 0.877106 2.624450 0.707167 +v 0.876162 2.493075 0.621685 +v 0.834836 2.598560 0.702551 +v -1.088048 1.943965 0.237577 +v -1.080081 1.970370 0.325104 +v 0.924414 2.423750 0.503822 +v 0.924896 2.353530 0.454098 +v 1.012072 2.355340 0.434519 +v 0.925977 2.230205 0.436613 +v 0.927428 2.077045 0.487738 +v -0.939770 2.724840 0.627478 +v -0.951159 2.529555 0.613625 +v -0.876161 2.493075 0.621685 +v -0.877105 2.624450 0.707166 +v -0.834836 2.598560 0.702551 +v -0.770132 2.714830 0.741813 +v -0.782072 2.188985 -0.780138 +v -0.438289 1.661035 -0.925117 +v -0.428260 2.207120 -0.988515 +v 0.000000 1.641720 -1.013908 +v 0.000000 2.214425 -1.072007 +v 0.729287 1.259915 -0.207162 +v 0.885886 1.169280 -0.493762 +v 0.815656 1.107995 -0.608666 +v -1.071102 2.196795 0.325621 +v -1.063982 2.021175 0.394491 +v 0.438289 1.661035 -0.925117 +v 1.068352 2.783130 -0.039017 +v 0.990008 2.656100 -0.336966 +v 0.732330 2.562710 -0.631324 +v -1.071078 2.089290 -0.121460 +v -1.025388 2.504055 -0.428086 +v -0.990008 2.656100 -0.336966 +v -1.022604 1.812760 0.438221 +v -0.729287 1.259915 -0.207162 +v -0.885886 1.169280 -0.493762 +v -0.568330 1.120880 -0.253997 +v -0.815656 1.107995 -0.608666 +v 1.027454 1.604130 0.185929 +v 0.974760 1.764445 0.129657 +v -0.777008 2.437610 -0.745538 +v -0.732329 2.562710 -0.631324 +v -0.882990 1.861390 0.607033 +v -1.016541 2.231950 0.418198 +v 0.327105 1.298750 -0.999641 +v -0.141861 1.386305 -0.888556 +v 1.055933 2.046885 -0.266890 +v -0.924414 2.423750 0.503822 +v 0.381285 2.566735 -0.897190 +v 0.770133 2.714830 0.741813 +v -0.407993 1.031035 -0.313188 +v -1.124923 0.498285 -0.508146 +v -1.047614 0.471461 -0.491331 +v -1.137083 0.661972 -0.366488 +v -1.046203 0.647836 -0.344048 +v -1.137175 0.738568 -0.126198 +v -1.049901 0.715753 -0.118556 +v -1.137046 0.704538 0.108395 +v -1.045823 0.676126 0.110848 +v -1.118279 0.533983 0.266535 +v -1.034547 0.518606 0.273273 +v -1.225667 0.630846 -0.340230 +v -1.226010 0.688956 -0.125479 +v -1.223820 0.655001 0.092330 +v -1.202058 0.524411 0.237789 +v 1.009629 0.266934 0.282021 +v 1.076289 0.286471 0.266473 +v 1.042171 0.109879 0.166755 +v 1.140832 0.295057 0.252777 +v 1.207530 0.122931 0.159089 +v 1.289865 0.304287 0.272072 +v 1.638224 0.128601 0.145070 +v 1.615457 0.315899 0.240767 +v 1.048871 0.031814 -0.068302 +v 1.646958 0.055387 -0.061428 +v 1.625528 0.083727 -0.276148 +v 1.048172 0.063033 -0.325900 +v 1.186059 0.462208 -0.469335 +v 1.394902 0.633103 -0.347679 +v 1.225667 0.630846 -0.340230 +v 1.395601 0.722174 -0.129263 +v 1.226010 0.688956 -0.125479 +v 1.390102 0.678841 0.104216 +v 1.223820 0.655001 0.092330 +v 1.369049 0.541894 0.251075 +v 1.202058 0.524411 0.237789 +v 1.592484 0.240687 -0.417742 +v 1.256927 0.222121 -0.448031 +v 1.083817 0.208263 -0.450135 +v 1.370867 0.470920 -0.477003 +v 1.118279 0.533983 0.266535 +v 1.124923 0.498285 -0.508146 +v 1.570290 0.452595 -0.438713 +v -1.646958 0.055386 -0.061428 +v -1.729881 0.037525 -0.057117 +v -1.638224 0.128600 0.145070 +v -1.719490 0.110625 0.156469 +v -1.615457 0.315898 0.240767 +v -1.696536 0.329862 0.264533 +v -1.605271 0.523413 0.219851 +v -1.685166 0.557438 0.238460 +v -1.598185 0.652265 0.083444 +v -1.679730 0.701962 0.079630 +v -1.587230 0.689490 -0.124239 +v -1.676406 0.740161 -0.127927 +v -1.570827 0.606915 -0.315681 +v -1.673234 0.655853 -0.326838 +v -1.570290 0.452594 -0.438713 +v -1.673444 0.478978 -0.456026 +v -1.592484 0.240687 -0.417741 +v -1.688856 0.247433 -0.434640 +v -1.625528 0.083727 -0.276148 +v -1.732090 0.064890 -0.277032 +v -1.790791 0.065845 -0.058298 +v -1.776532 0.136785 0.138657 +v -1.751055 0.329412 0.232778 +v -1.751928 0.544438 0.205583 +v -1.751912 0.669632 0.066478 +v -1.752234 0.709465 -0.124586 +v -1.750203 0.627979 -0.305581 +v -1.829358 0.656672 -0.316206 +v -1.842319 0.469673 -0.459036 +v -1.935611 0.613785 -0.302072 +v -1.952795 0.465199 -0.413441 +v -2.567786 0.623834 -0.321238 +v -2.567786 0.473029 -0.425346 +v -2.567786 0.697919 -0.148038 +v -1.933203 0.692887 -0.128389 +v -2.567786 0.664903 0.026034 +v -1.925166 0.654282 0.059267 +v -2.567786 0.540961 0.159586 +v -1.914233 0.530858 0.198098 +v -2.567786 0.313021 0.197012 +v -1.896667 0.325698 0.228702 +v -2.567786 0.146422 0.088687 +v -1.923776 0.135991 0.129173 +v -2.567786 0.083454 -0.094875 +v -1.939196 0.063544 -0.065449 +v -1.825764 0.737957 -0.127314 +v -1.820840 0.699801 0.071531 +v -1.812342 0.545578 0.225745 +v -1.804855 0.329972 0.255800 +v -1.843740 0.111223 0.148518 +v -1.864407 0.042077 -0.057788 +v -1.289865 0.304287 0.272073 +v -1.369049 0.541893 0.251075 +v -1.390102 0.678840 0.104216 +v -1.395601 0.722174 -0.129263 +v -1.394902 0.633103 -0.347679 +v -1.370867 0.470919 -0.477003 +v -2.567786 0.105116 -0.297405 +v -1.948130 0.088771 -0.270362 +v -2.567786 0.238130 -0.409440 +v -1.941864 0.255272 -0.401058 +v -1.864051 0.063122 -0.277107 +v -1.843822 0.247068 -0.446027 +v -1.750847 0.256158 -0.399628 +v -1.749297 0.474770 -0.419663 +v -1.785614 0.087458 -0.265940 +v 0.164214 1.094895 -0.343475 +v 0.000000 1.098290 -0.370865 +v 0.000000 0.944919 -0.379207 +v -0.164214 1.094895 -0.343475 +v -0.153378 0.944983 -0.353101 +v -0.286028 1.095325 -0.202939 +v -0.275303 0.946385 -0.215738 +v -0.344993 1.098795 -0.023144 +v -0.332090 0.947288 -0.043580 +v -0.347627 1.080530 0.147045 +v -0.334617 0.929230 0.127388 +v -0.227758 1.030605 0.321568 +v -0.219166 0.884924 0.288535 +v 0.000000 1.007630 0.386115 +v 0.000000 0.863208 0.336924 +v 0.219166 0.884924 0.288535 +v 0.234989 0.730007 0.320814 +v 0.355290 0.852808 0.151950 +v 0.286028 1.095325 -0.202939 +v 0.153378 0.944983 -0.353101 +v 0.000000 0.835563 -0.390404 +v -0.165284 0.839997 -0.367366 +v -0.291079 0.862905 -0.245488 +v -0.353198 0.849396 -0.043995 +v -0.355290 0.852808 0.151950 +v -0.234989 0.730007 0.320814 +v 0.000000 0.697484 0.375068 +v 0.333526 0.914991 -0.311095 +v 0.208142 0.916050 -0.451297 +v 0.209257 0.792102 -0.475035 +v 0.000000 0.915567 -0.478307 +v 0.000000 0.787295 -0.502569 +v -0.209257 0.792102 -0.475035 +v -0.212087 0.751994 -0.473449 +v -0.311323 0.754387 -0.441316 +v 0.000000 0.708009 0.485917 +v -0.233055 0.739757 0.416329 +v -0.233286 0.824809 0.383352 +v -0.407867 0.793337 0.255446 +v -0.383139 0.887747 0.167810 +v -0.401765 0.811344 0.141696 +v -0.381973 0.828712 -0.075711 +v 0.346688 0.832049 -0.308760 +v 0.331620 0.799882 -0.378972 +v 0.311323 0.754387 -0.441316 +v 0.212087 0.751994 -0.473449 +v 0.381348 0.914558 -0.059802 +v 0.291079 0.862905 -0.245488 +v 0.165284 0.839997 -0.367366 +v 0.383139 0.887747 0.167810 +v 0.233286 0.824809 0.383352 +v 0.000000 0.792274 0.454220 +v -0.381348 0.914558 -0.059802 +v -0.333526 0.914991 -0.311095 +v -0.208142 0.916050 -0.451297 +v 0.227758 1.030605 0.321568 +v 0.334617 0.929230 0.127388 +v 0.353198 0.849396 -0.043995 +v 0.347627 1.080530 0.147045 +v 0.332090 0.947288 -0.043580 +v 0.344993 1.098795 -0.023144 +v 0.275303 0.946385 -0.215738 +v 0.381973 0.828712 -0.075711 +v 0.401765 0.811344 0.141696 +v 0.407867 0.793337 0.255446 +v 0.233055 0.739757 0.416329 +v -0.346688 0.832049 -0.308760 +v -0.331620 0.799882 -0.378972 +v 0.000000 0.747342 -0.505382 +v 1.137083 0.661972 -0.366488 +v 1.047614 0.471461 -0.491331 +v 1.046203 0.647836 -0.344048 +v 1.045823 0.676126 0.110848 +v 1.049901 0.715753 -0.118556 +v 1.137046 0.704538 0.108395 +v 1.137175 0.738568 -0.126198 +v 0.901124 0.524685 0.303023 +v 0.967836 0.521645 0.288148 +v 1.034547 0.518606 0.273273 +v 0.984755 0.704964 0.124962 +v 0.987009 0.503416 -0.505982 +v 0.985259 0.685829 -0.353605 +v 0.987109 0.748507 -0.113827 +v -0.782180 0.458651 0.460122 +v -0.901124 0.524685 0.303023 +v -0.733289 0.678300 0.237318 +v -0.877582 0.666259 0.139075 +v -0.694655 0.765236 -0.035730 +v -0.878215 0.713719 -0.109099 +v -0.669846 0.757192 -0.238158 +v -0.878213 0.656281 -0.363162 +v -0.642871 0.674940 -0.464740 +v -0.894073 0.535371 -0.520633 +v -0.622113 0.412556 -0.642182 +v 0.408931 0.708092 0.399049 +v 0.232562 0.657875 0.518067 +v 0.000000 0.630538 0.570107 +v -0.232562 0.657875 0.518067 +v -0.232729 0.617039 0.524183 +v -0.414810 0.670196 0.422080 +v -0.414568 0.614006 0.537878 +v 0.414810 0.670196 0.422080 +v 0.232729 0.617039 0.524183 +v 0.000000 0.585019 0.572346 +v -0.245816 0.565027 0.629648 +v -0.415762 0.544024 0.556224 +v 0.622113 0.412556 -0.642182 +v 0.894073 0.535371 -0.520633 +v 0.642871 0.674940 -0.464740 +v 0.878213 0.656281 -0.363162 +v 0.669846 0.757192 -0.238158 +v 0.878215 0.713719 -0.109099 +v 0.694655 0.765236 -0.035730 +v 0.877582 0.666259 0.139075 +v 0.733289 0.678300 0.237318 +v 0.414568 0.614006 0.537878 +v 0.245816 0.565027 0.629648 +v 0.000000 0.531625 0.669954 +v 0.198849 0.557857 -0.636686 +v 0.000000 0.570375 -0.659873 +v -0.198849 0.557857 -0.636686 +v -0.244677 0.496415 0.648252 +v 0.000000 0.468655 0.696736 +v 0.244677 0.496415 0.648252 +v 0.415762 0.544024 0.556224 +v -0.408931 0.708092 0.399049 +v 0.782180 0.458651 0.460122 +v 2.567787 0.473029 -0.425347 +v 2.567787 0.623834 -0.321239 +v 1.952795 0.465199 -0.413441 +v 1.935611 0.613785 -0.302072 +v 1.842319 0.469673 -0.459036 +v 1.829358 0.656672 -0.316206 +v 1.750203 0.627979 -0.305581 +v 1.752234 0.709465 -0.124586 +v 1.676406 0.740161 -0.127927 +v 1.751912 0.669632 0.066478 +v 1.679730 0.701962 0.079630 +v 1.751928 0.544438 0.205583 +v 1.685166 0.557438 0.238460 +v 1.751055 0.329412 0.232778 +v 1.696536 0.329862 0.264533 +v 1.776532 0.136785 0.138657 +v 1.719490 0.110625 0.156469 +v 1.790791 0.065845 -0.058298 +v 1.729881 0.037525 -0.057117 +v 2.567786 0.083455 -0.094875 +v 2.567786 0.105116 -0.297406 +v 1.939196 0.063544 -0.065449 +v 1.948130 0.088771 -0.270362 +v 1.864407 0.042077 -0.057788 +v 1.864051 0.063122 -0.277107 +v 1.785614 0.087458 -0.265940 +v 1.843822 0.247068 -0.446027 +v 1.750847 0.256158 -0.399628 +v 1.749297 0.474770 -0.419663 +v 1.673444 0.478978 -0.456026 +v 1.673234 0.655853 -0.326838 +v 1.570826 0.606915 -0.315681 +v 2.567787 0.664903 0.026034 +v 2.567787 0.540962 0.159585 +v 1.925166 0.654282 0.059267 +v 1.914233 0.530858 0.198098 +v 1.820840 0.699801 0.071531 +v 1.812342 0.545578 0.225745 +v 1.804855 0.329973 0.255800 +v 1.843740 0.111223 0.148518 +v 2.567787 0.697918 -0.148038 +v 1.933203 0.692887 -0.128389 +v 1.825764 0.737957 -0.127314 +v 2.567787 0.146421 0.088686 +v 1.923776 0.135992 0.129173 +v 1.587230 0.689490 -0.124239 +v 1.732090 0.064889 -0.277032 +v 2.567787 0.238130 -0.409441 +v 1.941864 0.255271 -0.401058 +v 2.567787 0.313022 0.197011 +v 1.896668 0.325697 0.228702 +v 1.605271 0.523413 0.219850 +v 1.598185 0.652266 0.083443 +v 1.688856 0.247433 -0.434640 +v 0.000000 0.320551 -0.776583 +v 0.416563 0.478552 0.651259 +v 0.244483 0.420772 0.743640 +v 0.000000 0.395014 0.772674 +v -0.244483 0.420772 0.743640 +v 0.000000 0.063481 0.983283 +v -0.273045 0.090357 0.940421 +v 0.963265 0.223501 0.350888 +v 0.955887 0.189062 0.462694 +v 0.845929 0.047207 0.717122 +v -0.415989 0.124607 0.897689 +v -0.416563 0.478552 0.651259 +v 0.273045 0.090357 0.940421 +v 0.415989 0.124607 0.897689 +v -1.037678 -0.334167 -0.165890 +v -1.101969 -0.175463 -0.118087 +v -1.049093 -0.316045 0.094099 +v -1.106613 -0.137073 0.143605 +v -0.977460 -0.183031 0.560803 +v -1.058071 -0.046731 0.349777 +v -0.845929 0.047207 0.717122 +v -0.955887 0.189062 0.462694 +v -1.033235 -0.086269 -0.105922 +v -1.016635 -0.037591 -0.370663 +v -1.054359 -0.129436 -0.391745 +v -0.899921 0.042501 -0.568775 +v -0.792809 -0.182390 -0.611919 +v -1.018460 0.026659 0.247618 +v -1.032263 -0.036652 0.145259 +v -0.951546 -0.291622 -0.447955 +v -0.963265 0.223501 0.350888 +v -1.035740 -0.273463 0.319797 +v -1.016271 0.220807 -0.482267 +v -1.027979 0.061947 -0.326663 +v -1.028730 0.030844 -0.068499 +v -1.076289 0.286471 0.266473 +v -1.009629 0.266934 0.282021 +v -1.042171 0.109879 0.166755 +v -1.022230 0.109302 0.166719 +v -1.083817 0.208263 -0.450135 +v -1.048172 0.063033 -0.325900 +v -1.048871 0.031814 -0.068302 +v -1.186059 0.462208 -0.469335 +v -1.256927 0.222121 -0.448031 +v -1.140832 0.295057 0.252777 +v -1.207530 0.122931 0.159089 +v 1.028730 0.030844 -0.068499 +v 1.022230 0.109302 0.166719 +v 1.018460 0.026659 0.247618 +v 1.032263 -0.036652 0.145259 +v 1.033235 -0.086269 -0.105922 +v 1.027979 0.061947 -0.326663 +v 1.016635 -0.037591 -0.370663 +v 1.037678 -0.334167 -0.165890 +v 1.049093 -0.316045 0.094099 +v 1.101969 -0.175463 -0.118087 +v 1.106613 -0.137073 0.143605 +v 1.054359 -0.129436 -0.391745 +v 0.951546 -0.291622 -0.447955 +v 1.058071 -0.046731 0.349777 +v 0.977460 -0.183031 0.560803 +v 1.035740 -0.273463 0.319797 +v 0.899921 0.042501 -0.568775 +v 0.792809 -0.182390 -0.611919 +v -0.909870 0.272568 -0.551204 +v -0.676472 0.133716 -0.700189 +v 0.676472 0.133716 -0.700189 +v 0.909870 0.272568 -0.551204 +v -0.987009 0.503416 -0.505982 +v -0.985259 0.685829 -0.353605 +v -0.987109 0.748507 -0.113827 +v -0.984755 0.704964 0.124962 +v -0.967836 0.521645 0.288148 +v 1.016271 0.220807 -0.482267 +v -4.089834 0.657250 -0.319512 +v -4.089778 0.680092 -0.215128 +v -4.108423 0.561939 -0.251922 +v -4.022004 0.495965 -0.174376 +v -4.016744 0.437986 -0.231862 +v -3.878417 0.482362 -0.152050 +v -3.886651 0.411928 -0.225993 +v -3.673554 0.487550 -0.153639 +v -3.671255 0.414989 -0.222880 +v -3.408888 0.377085 -0.215065 +v -3.390160 0.429328 -0.328570 +v -4.154708 0.704392 -0.097003 +v -4.156374 0.708933 0.017820 +v -4.157354 0.589248 -0.030635 +v -4.060783 0.515005 0.067861 +v -4.067346 0.473241 -0.023189 +v -3.918474 0.493158 0.076772 +v -3.926418 0.442230 -0.023067 +v -3.699184 0.481627 0.065029 +v -3.698277 0.432723 -0.024901 +v -3.420933 0.398716 -0.017082 +v -3.427571 0.467500 -0.133610 +v -4.056136 0.690390 -0.168031 +v -3.920887 0.708002 -0.269359 +v -3.905324 0.691499 -0.146138 +v -3.737273 0.710944 -0.269352 +v -3.729487 0.679359 -0.152928 +v -3.691227 0.713066 -0.270647 +v -3.686198 0.686367 -0.153528 +v -3.481157 0.742541 -0.273012 +v -3.420021 0.751838 -0.159653 +v -3.408142 0.801698 -0.272703 +v -4.101952 0.709257 0.077824 +v -3.962513 0.743454 -0.044175 +v -3.944291 0.697470 0.089619 +v -3.759470 0.746708 -0.046088 +v -3.753803 0.676618 0.076005 +v -3.713086 0.745481 -0.046042 +v -3.707147 0.681262 0.077437 +v -3.501110 0.768043 -0.044997 +v -3.406972 0.731087 0.082874 +v -3.420099 0.826791 -0.047304 +v -4.106247 0.707008 -0.155057 +v -3.943906 0.697980 -0.168343 +v -3.755563 0.688412 -0.155998 +v -3.702101 0.688750 -0.156129 +v -3.383058 0.680900 -0.375441 +v -3.671880 0.638783 -0.361625 +v -3.723653 0.633617 -0.359111 +v -4.019375 0.473125 -0.318296 +v -3.874165 0.453675 -0.329689 +v -4.043582 0.646662 -0.367824 +v -3.899259 0.639495 -0.378902 +v -3.670196 0.458536 -0.321856 +v -4.059458 0.506599 -0.120219 +v -3.915120 0.489553 -0.133090 +v -3.698498 0.487469 -0.125632 +v -3.414282 0.474440 0.084310 +v -3.682461 0.421090 0.181339 +v -3.400924 0.384273 0.192459 +v -3.680666 0.464003 0.288584 +v -3.387611 0.472168 0.314710 +v -3.387227 0.666165 0.309200 +v -3.685441 0.642847 0.309684 +v -3.480586 0.730777 0.194208 +v -3.406871 0.783872 0.187100 +v -3.691075 0.687259 0.093748 +v -3.685452 0.482938 0.095212 +v -3.696743 0.699747 0.193426 +v -3.285619 0.422536 0.330461 +v -3.154470 0.471091 0.419560 +v -3.420046 0.353978 0.337311 +v -3.361005 0.384519 0.514944 +v -3.551398 0.392901 0.485278 +v -3.579111 0.262798 0.548199 +v -3.737446 0.260079 0.548012 +v -3.681223 0.127780 0.505997 +v -3.736065 0.252029 0.428462 +v -3.671338 0.129306 0.370122 +v -3.661872 0.232189 0.305898 +v -3.565474 0.105310 0.343149 +v -3.559884 0.232189 0.279505 +v -3.420449 0.124927 0.352753 +v -3.405679 0.235631 0.293654 +v -3.218851 0.229105 0.179374 +v -2.940279 0.012989 0.281920 +v -3.124394 0.020568 0.411832 +v -2.874924 0.096574 0.411777 +v -3.088995 0.098718 0.537688 +v -2.854157 0.264145 0.458111 +v -3.080178 0.263923 0.576532 +v -2.878251 0.439513 0.392754 +v -3.101526 0.429860 0.514273 +v -3.562406 0.358905 0.322464 +v -3.677435 0.381526 0.488579 +v -3.358843 0.120168 0.536336 +v -3.566465 0.106456 0.506933 +v -3.199254 0.622611 0.358144 +v -3.175101 0.054883 0.289174 +v -3.014106 0.037163 0.138036 +v -3.667668 0.344958 0.347843 +v -3.361979 0.263624 0.577742 +v -3.199107 0.724812 0.277380 +v -2.879577 0.621732 0.296786 +v -3.160516 0.813520 0.132078 +v -3.083108 0.830962 0.123559 +v -3.088216 0.798934 0.138749 +v -3.036827 0.824650 0.110615 +v -3.017906 0.789624 0.117497 +v -3.018820 0.825115 0.088946 +v -2.990777 0.791042 0.080770 +v -3.039635 0.832087 0.071248 +v -3.022717 0.802359 0.050083 +v -3.087079 0.841481 0.067886 +v -3.095017 0.816947 0.043411 +v -3.133363 0.847794 0.080830 +v -3.165325 0.826256 0.064663 +v -3.151369 0.847327 0.102499 +v -3.192456 0.824837 0.101390 +v -3.130553 0.840356 0.120197 +v -3.163854 0.782805 -0.367721 +v -3.086010 0.798719 -0.374739 +v -3.093334 0.780317 -0.345315 +v -3.038349 0.789915 -0.376142 +v -3.020700 0.766276 -0.348897 +v -3.017371 0.779521 -0.391900 +v -2.988497 0.748909 -0.376372 +v -3.035367 0.773627 -0.412782 +v -3.015593 0.738387 -0.411644 +v -3.081791 0.775686 -0.426558 +v -3.086111 0.740873 -0.434050 +v -3.129451 0.784489 -0.425155 +v -3.158746 0.754913 -0.430467 +v -3.150428 0.794884 -0.409396 +v -3.190948 0.772283 -0.402993 +v -3.132435 0.800777 -0.388514 +v -3.167701 0.843165 -0.121802 +v -3.090800 0.863853 -0.127999 +v -3.095852 0.837120 -0.105001 +v -3.043133 0.857967 -0.134517 +v -3.023287 0.827993 -0.116495 +v -3.022972 0.853729 -0.153741 +v -2.992513 0.821131 -0.149552 +v -3.042124 0.853624 -0.174408 +v -3.021558 0.820555 -0.184807 +v -3.089371 0.857710 -0.184414 +v -3.093407 0.826602 -0.201608 +v -3.137038 0.863596 -0.177896 +v -3.165972 0.835729 -0.190113 +v -3.157201 0.867833 -0.158673 +v -3.196746 0.842589 -0.157056 +v -3.138047 0.867939 -0.138004 +v -3.366722 0.323194 -0.409229 +v -3.184500 0.210176 -0.443974 +v -3.343224 0.398606 -0.531722 +v -3.184240 0.326578 -0.557976 +v -3.330846 0.558720 -0.589887 +v -3.189950 0.543699 -0.601451 +v -3.195661 0.668479 -0.566115 +v -2.877607 0.524382 -0.560413 +v -2.879366 0.707545 -0.453050 +v -2.673248 0.513812 -0.450778 +v -2.666500 0.681307 -0.366426 +v -2.620878 0.537601 -0.525976 +v -2.620878 0.723621 -0.388888 +v -2.508000 0.535991 -0.541961 +v -2.508000 0.730668 -0.398993 +v -2.453000 0.536375 -0.488028 +v -2.453000 0.692779 -0.364531 +v -3.184527 0.150329 -0.215740 +v -2.872791 0.144270 -0.409577 +v -2.875848 0.301486 -0.529906 +v -2.673304 0.187371 -0.393775 +v -2.673174 0.315885 -0.476157 +v -2.620878 0.118514 -0.460164 +v -2.620878 0.311242 -0.538085 +v -2.508000 0.103142 -0.472562 +v -2.508000 0.308121 -0.555198 +v -2.453000 0.160361 -0.431308 +v -2.453000 0.334135 -0.500746 +v -3.080156 0.150387 -0.004074 +v -2.872951 0.069692 -0.208409 +v -2.673574 0.108091 -0.268726 +v -2.620878 0.010922 -0.298453 +v -2.508000 -0.005230 -0.304879 +v -2.453000 0.049231 -0.288718 +v -2.754631 0.344246 0.369720 +v -2.674497 0.199552 0.261607 +v -2.674215 0.114421 0.134000 +v -2.673883 0.064602 -0.050977 +v -3.215338 0.834880 -0.277858 +v -3.203239 0.740714 -0.479878 +v -3.362524 0.709489 -0.492035 +v -3.429281 0.661218 -0.487698 +v -3.627841 0.629356 -0.479297 +v -3.633673 0.614969 -0.377201 +v -3.676699 0.606601 -0.378109 +v -3.622166 0.360784 -0.423393 +v -3.613765 0.412042 -0.532173 +v -3.806834 0.396285 -0.534090 +v -3.828275 0.544006 -0.573304 +v -3.951092 0.559835 -0.561930 +v -3.853226 0.616153 -0.473882 +v -4.005564 0.564847 -0.520445 +v -4.005877 0.595499 -0.421984 +v -2.508000 -0.028012 -0.058527 +v -2.620878 -0.011606 -0.060435 +v -2.508000 0.050187 0.190804 +v -2.620878 0.062228 0.182888 +v -2.508000 0.191759 0.342135 +v -2.620878 0.204746 0.330985 +v -2.508001 0.409360 0.374635 +v -2.620878 0.409161 0.361089 +v -2.453000 0.032520 -0.078107 +v -2.453000 0.094322 0.135614 +v -2.453000 0.235226 0.265853 +v -2.453000 0.440053 0.295063 +v -2.453000 0.613352 0.229262 +v -2.508000 0.626026 0.295898 +v -2.453000 0.738974 0.066306 +v -2.508000 0.784635 0.104245 +v -2.453000 0.763035 -0.141679 +v -2.508000 0.816737 -0.141380 +v -2.674586 0.408669 0.298630 +v -2.620878 0.624422 0.285981 +v -2.620878 0.775599 0.098799 +v -2.620878 0.801678 -0.140612 +v -2.671359 0.560016 0.232460 +v -2.670841 0.697961 0.102123 +v -2.670463 0.738674 -0.143574 +v -3.919895 0.407832 -0.524133 +v -4.018294 0.484317 -0.456665 +v -3.931625 0.378518 -0.431673 +v -3.927929 0.433752 -0.358185 +v -3.816185 0.430339 -0.346613 +v -3.840501 0.606730 -0.365862 +v -2.880451 0.765581 0.141150 +v -2.881382 0.813376 -0.144692 +v -3.821151 0.355965 -0.422630 +v -3.631813 0.446633 -0.352518 +v -3.614739 0.542077 -0.571338 +v -3.672008 0.620754 -0.477897 +v -3.205378 0.816450 0.172616 +v -3.215752 0.860508 -0.050662 +v -3.657918 0.540753 -0.567182 +v -3.084255 0.848627 0.097905 +v -2.620878 0.395225 -0.109221 +v -3.090117 0.873339 -0.157519 +v -3.083368 0.798792 -0.405589 +v -3.966439 0.610682 -0.370607 +v 2.453000 0.763035 -0.141680 +v 2.453000 0.692779 -0.364531 +v 2.508000 0.816737 -0.141381 +v 2.508000 0.730668 -0.398993 +v 2.620878 0.801679 -0.140613 +v 2.620878 0.723621 -0.388889 +v 2.670463 0.738674 -0.143574 +v 2.666500 0.681307 -0.366426 +v 2.879366 0.707545 -0.453050 +v 2.673248 0.513812 -0.450778 +v 2.877607 0.524382 -0.560413 +v 2.673174 0.315885 -0.476157 +v 2.875848 0.301486 -0.529906 +v 2.673304 0.187371 -0.393775 +v 2.872791 0.144270 -0.409577 +v 2.673574 0.108091 -0.268726 +v 2.872951 0.069693 -0.208409 +v 2.673883 0.064602 -0.050977 +v 2.453000 0.440054 0.295063 +v 2.453000 0.613351 0.229261 +v 2.508000 0.409360 0.374634 +v 2.508000 0.626027 0.295898 +v 2.620878 0.409161 0.361088 +v 2.620878 0.624423 0.285980 +v 2.674585 0.408669 0.298630 +v 2.671359 0.560016 0.232460 +v 2.879577 0.621732 0.296786 +v 2.880451 0.765581 0.141150 +v 2.453000 0.738974 0.066306 +v 2.508000 0.784635 0.104244 +v 2.620878 0.775599 0.098799 +v 2.670841 0.697961 0.102123 +v 2.881382 0.813376 -0.144692 +v 4.022004 0.495965 -0.174376 +v 4.108422 0.561938 -0.251922 +v 4.016745 0.437986 -0.231861 +v 4.019375 0.473125 -0.318296 +v 3.886651 0.411928 -0.225993 +v 3.874165 0.453675 -0.329688 +v 3.671256 0.414989 -0.222880 +v 3.670196 0.458536 -0.321856 +v 3.390160 0.429328 -0.328570 +v 2.453000 0.094322 0.135614 +v 2.453000 0.235227 0.265853 +v 2.508000 0.050187 0.190803 +v 2.508000 0.191760 0.342135 +v 2.620878 0.062228 0.182887 +v 2.620878 0.204746 0.330985 +v 2.674215 0.114421 0.134000 +v 2.674497 0.199552 0.261607 +v 2.453000 0.334136 -0.500748 +v 2.453000 0.160361 -0.431309 +v 2.508000 0.308121 -0.555199 +v 2.508000 0.103143 -0.472563 +v 2.620878 0.311243 -0.538085 +v 2.620878 0.118514 -0.460164 +v 2.453000 0.049231 -0.288719 +v 2.508000 -0.005230 -0.304879 +v 2.620878 0.010923 -0.298454 +v 2.453000 0.032520 -0.078108 +v 2.508000 -0.028011 -0.058528 +v 2.620878 -0.011606 -0.060435 +v 2.453000 0.536376 -0.488028 +v 2.508000 0.535991 -0.541962 +v 2.620878 0.537601 -0.525977 +v 4.056137 0.690390 -0.168030 +v 3.905325 0.691499 -0.146138 +v 3.878417 0.482362 -0.152050 +v 3.729487 0.679359 -0.152928 +v 3.673555 0.487549 -0.153639 +v 3.686198 0.686367 -0.153528 +v 3.420021 0.751838 -0.159653 +v 3.408888 0.377085 -0.215066 +v 3.383058 0.680900 -0.375441 +v 3.671880 0.638782 -0.361625 +v 3.723653 0.633617 -0.359111 +v 3.899259 0.639494 -0.378902 +v 3.920887 0.708002 -0.269359 +v 3.737273 0.710944 -0.269352 +v 3.691227 0.713066 -0.270647 +v 3.481157 0.742541 -0.273012 +v 3.408142 0.801697 -0.272703 +v 2.940279 0.012989 0.281919 +v 3.014106 0.037163 0.138036 +v 3.080156 0.150387 -0.004074 +v 4.089833 0.657249 -0.319512 +v 4.089777 0.680092 -0.215127 +v 2.620878 0.395225 -0.109222 +v 4.043581 0.646662 -0.367824 +v 3.427571 0.467500 -0.133610 +v 2.874924 0.096574 0.411777 +v 2.754631 0.344246 0.369720 +v 2.878251 0.439513 0.392753 +v 2.854157 0.264145 0.458111 +v 3.285619 0.422535 0.330461 +v 3.420046 0.353978 0.337311 +v 3.154470 0.471090 0.419560 +v 3.361005 0.384519 0.514944 +v 3.101526 0.429860 0.514273 +v 3.361979 0.263624 0.577742 +v 3.080178 0.263923 0.576532 +v 3.358843 0.120168 0.536336 +v 3.088995 0.098718 0.537688 +v 3.124394 0.020568 0.411832 +v 3.737446 0.260080 0.548013 +v 3.736066 0.252030 0.428462 +v 3.681223 0.127781 0.505997 +v 3.671339 0.129307 0.370122 +v 3.566466 0.106457 0.506933 +v 3.565475 0.105311 0.343149 +v 3.420449 0.124927 0.352753 +v 3.175101 0.054883 0.289174 +v 3.661872 0.232190 0.305898 +v 3.667668 0.344959 0.347843 +v 3.677435 0.381527 0.488579 +v 3.562407 0.358906 0.322464 +v 3.551398 0.392902 0.485278 +v 3.387611 0.472168 0.314710 +v 3.387227 0.666165 0.309200 +v 3.199253 0.622611 0.358144 +v 3.199107 0.724812 0.277379 +v 3.559884 0.232189 0.279505 +v 3.405679 0.235631 0.293654 +v 3.579111 0.262798 0.548199 +v 3.218851 0.229105 0.179374 +v 3.400925 0.384274 0.192459 +v 3.088216 0.798934 0.138749 +v 3.083108 0.830962 0.123559 +v 3.160516 0.813519 0.132078 +v 3.130553 0.840356 0.120197 +v 3.192456 0.824837 0.101389 +v 3.151369 0.847328 0.102499 +v 3.165325 0.826256 0.064663 +v 3.133363 0.847794 0.080830 +v 3.095017 0.816947 0.043410 +v 3.087079 0.841481 0.067886 +v 3.022717 0.802360 0.050083 +v 3.039635 0.832087 0.071248 +v 2.990777 0.791042 0.080770 +v 3.018820 0.825115 0.088946 +v 3.017907 0.789624 0.117496 +v 3.036827 0.824650 0.110615 +v 3.093335 0.780317 -0.345315 +v 3.086010 0.798719 -0.374739 +v 3.163855 0.782805 -0.367722 +v 3.132435 0.800777 -0.388514 +v 3.190948 0.772283 -0.402994 +v 3.150428 0.794884 -0.409396 +v 3.158746 0.754913 -0.430467 +v 3.129451 0.784489 -0.425155 +v 3.086111 0.740873 -0.434051 +v 3.081791 0.775685 -0.426558 +v 3.015593 0.738386 -0.411644 +v 3.035367 0.773627 -0.412783 +v 2.988497 0.748909 -0.376372 +v 3.017371 0.779521 -0.391900 +v 3.020700 0.766276 -0.348897 +v 3.038349 0.789915 -0.376142 +v 3.095852 0.837120 -0.105001 +v 3.090800 0.863853 -0.127999 +v 3.167701 0.843165 -0.121802 +v 3.138047 0.867939 -0.138004 +v 3.196746 0.842589 -0.157057 +v 3.157201 0.867833 -0.158673 +v 3.165972 0.835729 -0.190114 +v 3.137038 0.863596 -0.177896 +v 3.093407 0.826601 -0.201609 +v 3.089372 0.857710 -0.184414 +v 3.021558 0.820555 -0.184807 +v 3.042124 0.853623 -0.174409 +v 2.992514 0.821132 -0.149553 +v 3.022972 0.853729 -0.153741 +v 3.023287 0.827993 -0.116496 +v 3.043133 0.857966 -0.134518 +v 3.184527 0.150329 -0.215740 +v 3.184500 0.210176 -0.443974 +v 3.184240 0.326578 -0.557977 +v 3.189950 0.543699 -0.601451 +v 3.330846 0.558720 -0.589887 +v 3.195661 0.668479 -0.566115 +v 3.203239 0.740714 -0.479878 +v 3.215338 0.834880 -0.277858 +v 3.215752 0.860508 -0.050662 +v 3.205378 0.816450 0.172616 +v 4.141489 0.561187 0.193617 +v 4.061378 0.455433 0.181643 +v 4.057035 0.498999 0.289885 +v 3.943151 0.470582 0.299890 +v 3.959909 0.647525 0.321315 +v 3.735754 0.642635 0.309926 +v 3.742791 0.700094 0.193396 +v 3.696743 0.699748 0.193426 +v 3.691075 0.687259 0.093748 +v 3.406972 0.731088 0.082874 +v 3.406871 0.783872 0.187099 +v 3.480585 0.730777 0.194208 +v 3.420099 0.826791 -0.047305 +v 3.501110 0.768043 -0.044997 +v 3.713087 0.745482 -0.046042 +v 3.707148 0.681262 0.077436 +v 3.952624 0.417421 0.183602 +v 3.680666 0.464004 0.288583 +v 3.685442 0.642848 0.309683 +v 3.362523 0.709489 -0.492036 +v 3.738914 0.686807 0.096126 +v 3.973033 0.717605 0.193595 +v 4.075352 0.658160 0.306107 +v 3.343224 0.398606 -0.531722 +v 3.366722 0.323194 -0.409229 +v 3.685452 0.482939 0.095211 +v 3.950785 0.696356 0.074800 +v 3.937895 0.484600 0.083221 +v 4.070150 0.691021 0.077501 +v 4.050650 0.517465 0.092680 +v 3.414282 0.474440 0.084309 +v 3.699184 0.481627 0.065029 +v 3.420933 0.398716 -0.017082 +v 3.698277 0.432723 -0.024902 +v 3.698499 0.487470 -0.125633 +v 3.682462 0.421090 0.181338 +v 3.084255 0.848628 0.097905 +v 4.132755 0.683644 0.141552 +v 4.133287 0.669745 0.248594 +v 3.090117 0.873339 -0.157519 +v 3.083368 0.798792 -0.405589 +v 3.702102 0.688750 -0.156130 +v -4.132755 0.683643 0.141552 +v -4.133287 0.669744 0.248594 +v -4.141489 0.561187 0.193617 +v -4.057035 0.498998 0.289886 +v -4.061378 0.455432 0.181644 +v -3.943151 0.470581 0.299890 +v -3.952624 0.417420 0.183602 +v 3.753803 0.676618 0.076005 +v 3.918474 0.493158 0.076771 +v 3.926418 0.442231 -0.023068 +v 4.067347 0.473241 -0.023190 +v 4.059459 0.506599 -0.120219 +v 4.157354 0.589248 -0.030635 +v 4.154709 0.704392 -0.097003 +v 3.759470 0.746708 -0.046088 +v 3.944292 0.697470 0.089618 +v 3.962514 0.743454 -0.044176 +v 4.101952 0.709258 0.077823 +v 4.156374 0.708934 0.017819 +v -3.738914 0.686807 0.096126 +v -3.950785 0.696355 0.074800 +v -3.937895 0.484599 0.083221 +v -4.070150 0.691020 0.077502 +v -4.050650 0.517464 0.092680 +v -4.075351 0.658160 0.306107 +v -3.973032 0.717604 0.193596 +v -3.959908 0.647525 0.321315 +v -3.742791 0.700094 0.193396 +v -3.735754 0.642635 0.309926 +v 4.060783 0.515006 0.067860 +v 3.915120 0.489553 -0.133090 +v 3.943906 0.697980 -0.168344 +v 3.755563 0.688412 -0.155998 +v 4.106247 0.707009 -0.155058 +v 3.622166 0.360784 -0.423394 +v 3.613765 0.412042 -0.532173 +v 3.614739 0.542077 -0.571338 +v 3.657918 0.540753 -0.567182 +v 3.672008 0.620754 -0.477897 +v 3.853226 0.616153 -0.473882 +v 3.840502 0.606730 -0.365862 +v 3.966439 0.610682 -0.370607 +v 3.927929 0.433752 -0.358185 +v 3.816185 0.430339 -0.346613 +v 3.676699 0.606601 -0.378109 +v 3.631814 0.446633 -0.352519 +v 3.633673 0.614968 -0.377201 +v 3.951093 0.559834 -0.561930 +v 3.919895 0.407832 -0.524133 +v 4.005564 0.564847 -0.520445 +v 4.018294 0.484317 -0.456665 +v 4.005878 0.595499 -0.421984 +v 3.828276 0.544005 -0.573304 +v 3.806835 0.396285 -0.534090 +v 3.627841 0.629356 -0.479297 +v 3.429281 0.661218 -0.487698 +v 3.821152 0.355965 -0.422630 +v 3.931626 0.378518 -0.431673 +v 0.204111 -3.902514 -0.056458 +v 0.134078 -3.913836 0.345009 +v 0.124467 -4.029107 0.339460 +v 0.062984 -3.920223 0.686956 +v 0.061578 -4.035000 0.687415 +v 0.119723 -3.912245 0.969517 +v 0.122947 -4.035000 0.964283 +v 0.268679 -3.908085 1.154819 +v 0.275642 -4.024210 1.146263 +v 0.448873 -3.897479 1.251639 +v 0.451059 -4.010709 1.239764 +v 0.621440 -3.898203 1.270249 +v 0.621439 -4.010709 1.257338 +v 0.841829 -3.900115 1.228731 +v 0.843794 -4.010709 1.214136 +v 1.009567 -3.912587 1.088570 +v 1.015134 -4.024210 1.074775 +v 1.141333 -3.917103 0.887299 +v 1.140901 -4.035000 0.882638 +v 1.179968 -3.926445 0.619678 +v 1.174032 -4.035000 0.626077 +v 1.146176 -3.917968 0.285357 +v 1.143588 -4.029107 0.281512 +v 1.032964 -3.902985 -0.053587 +v 0.405264 -3.103028 0.479006 +v 0.280156 -3.128752 -0.039727 +v 0.392754 -3.099427 0.223869 +v 0.621427 -3.181199 -0.287151 +v 0.621423 -3.080326 0.253372 +v 0.740334 -3.096159 0.226533 +v 0.621431 -3.079526 0.504677 +v 0.802604 -3.099337 0.482967 +v 0.621434 -3.095567 0.802742 +v 0.837282 -3.118740 0.764166 +v 0.810576 -3.215258 1.095207 +v 0.984072 -3.222032 0.995638 +v 1.049526 -3.466564 1.176104 +v 1.177881 -3.312988 0.651954 +v 1.276378 -3.520012 0.697254 +v 1.175272 -3.362703 0.335546 +v 1.245431 -3.564083 0.337402 +v 1.004216 -3.487338 -0.418326 +v 1.058365 -3.657309 -0.442178 +v 0.811181 -3.501987 -0.686396 +v 0.807235 -3.657425 -0.719269 +v 0.621426 -3.505215 -0.741027 +v 0.621426 -3.658085 -0.766592 +v 0.382987 -3.506560 -0.688275 +v 0.621441 -3.734246 1.374714 +v 0.415728 -3.733889 1.355784 +v 0.621432 -3.435782 1.343242 +v 0.377421 -3.441351 1.305913 +v 0.410404 -3.219131 1.089620 +v 0.220668 -3.230316 0.969425 +v 0.388932 -3.123083 0.759362 +v 0.221840 -3.187136 0.739149 +v 0.209622 -3.219455 0.373980 +v 0.211441 -3.401752 -0.060907 +v 0.280250 -3.276990 -0.329463 +v 0.202814 -3.496695 -0.421810 +v 0.366840 -3.661606 -0.721413 +v 0.621426 -3.795370 -0.748933 +v 0.782684 -3.796320 -0.709064 +v 0.751139 -3.909217 -0.643485 +v 0.891582 -3.914250 -0.541389 +v 0.213327 -3.765811 1.237512 +v 0.159140 -3.473948 1.172884 +v 0.048423 -3.770578 1.030951 +v -0.036761 -3.532930 0.699890 +v -0.031358 -3.781723 0.718060 +v 0.010975 -3.771365 0.357406 +v 1.253638 -3.767597 0.281042 +v 1.282776 -3.780002 0.634114 +v 1.214120 -3.768662 0.940858 +v 1.058391 -3.764742 1.169886 +v 0.876684 -3.733478 1.331859 +v 0.621426 -3.899751 -0.680210 +v 0.377845 -3.799195 -0.711140 +v 0.416290 -3.910053 -0.645162 +v 0.222208 -3.815545 -0.587085 +v 0.282362 -3.911390 -0.533457 +v 0.160774 -3.819713 -0.422401 +v 0.226212 -3.914757 -0.385163 +v 0.951487 -3.810046 -0.595340 +v 1.067092 -3.812634 -0.418376 +v 0.983712 -4.035000 -0.385253 +v 0.888493 -4.035000 -0.544924 +v 0.748644 -4.035000 -0.646146 +v 0.621426 -4.026679 -0.683697 +v 0.417181 -4.035000 -0.647890 +v 0.740346 -3.273789 -0.586927 +v 0.909512 -3.272703 -0.326829 +v 0.895665 -3.127758 -0.038774 +v 0.156974 -3.667352 -0.446278 +v 0.155046 -3.596204 -0.053378 +v 0.080222 -3.377605 0.335833 +v 0.028097 -3.578832 0.337166 +v 0.059606 -3.326528 0.655460 +v 0.837624 -3.438031 1.299368 +v 0.621433 -3.200738 1.123666 +v 0.146795 -3.763847 -0.061425 +v 0.214387 -4.024599 -0.065233 +v 1.006910 -4.024599 -0.063285 +v 0.216682 -4.035000 -0.389656 +v 0.278796 -4.035000 -0.536951 +v 0.457622 -3.278472 -0.588126 +v 0.987466 -3.914318 -0.381458 +v 1.039438 -3.211335 0.375190 +v 1.018803 -3.179111 0.743362 +v 0.000000 1.525160 1.174458 +v 0.272051 1.489875 1.246047 +v 0.000000 1.360440 1.382275 +v 0.169777 1.324360 1.387800 +v 0.000000 1.213085 1.394592 +v 0.191227 1.228845 1.381297 +v 0.204105 1.153965 1.355232 +v 0.088326 1.097615 1.308896 +v 0.000000 1.138140 1.339209 +v -0.088326 1.097615 1.308896 +v -0.072214 1.081350 1.246392 +v -0.204105 1.153965 1.355232 +v -0.191227 1.228845 1.381297 +v -0.169777 1.324360 1.387800 +v -0.273365 1.489875 1.246047 +v 0.000000 1.113730 1.269892 +v 0.072214 1.081350 1.246392 +v -0.310606 1.374895 1.296427 +v -0.332121 1.284680 1.325068 +v -0.300159 1.133310 1.236423 +v -0.208966 1.093930 1.273775 +v -0.194800 1.073640 1.195519 +v 0.194800 1.073640 1.195519 +v 0.296779 1.119340 1.153911 +v 0.345612 1.196595 1.144575 +v 0.250484 1.538275 1.147393 +v 0.348074 1.221670 1.210446 +v 0.298844 1.133310 1.236423 +v 0.330806 1.284680 1.325068 +v 0.208966 1.093930 1.273775 +v -0.349388 1.221670 1.210446 +v -0.298093 1.119340 1.153911 +v -0.346926 1.196595 1.144575 +v -0.247661 1.538275 1.147393 +v 0.309292 1.374895 1.296427 +v -0.384652 1.553155 1.103553 +v -0.414905 1.508970 1.203811 +v -0.505633 1.582925 1.063244 +v -0.537602 1.546950 1.158095 +v -0.622566 1.626130 1.019621 +v -0.656880 1.619390 1.065055 +v -0.686149 1.667640 0.980873 +v -0.712071 1.665940 1.011534 +v -0.768147 1.746295 0.920227 +v -0.747270 1.635635 1.035946 +v -0.780393 1.605105 1.019277 +v -0.740247 1.524185 1.083035 +v -0.772151 1.476685 1.052305 +v -0.612593 1.419170 1.183370 +v -0.718058 1.375590 1.054132 +v -0.637672 1.366520 1.123296 +v -0.640998 1.354080 1.050006 +v -0.636871 1.264900 1.046821 +v 0.384652 1.553155 1.103553 +v 0.414905 1.508970 1.203811 +v 0.452331 1.434265 1.252990 +v 0.493452 1.347215 1.262421 +v 0.519793 1.271000 1.243432 +v 0.612594 1.419170 1.183370 +v 0.627326 1.281580 1.109189 +v 0.637673 1.366520 1.123296 +v 0.636871 1.264900 1.046821 +v 0.640999 1.354080 1.050006 +v 0.505633 1.582925 1.063244 +v 0.622567 1.626135 1.019621 +v 0.537602 1.546950 1.158095 +v 0.656880 1.619390 1.065055 +v 0.576983 1.485880 1.188169 +v 0.698430 1.573490 1.095945 +v 0.740248 1.524185 1.083035 +v 0.772151 1.476685 1.052305 +v 0.780393 1.605105 1.019276 +v 0.830562 1.535390 0.942388 +v 0.808590 1.663665 0.912717 +v 0.819446 1.526320 0.873251 +v 0.802009 1.667015 0.874363 +v -0.702567 1.362375 0.989123 +v -0.781149 1.421400 0.994054 +v -0.830562 1.535390 0.942388 +v -0.808589 1.663665 0.912717 +v -0.802009 1.667015 0.874363 +v -0.452330 1.434265 1.252990 +v -0.576982 1.485880 1.188169 +v -0.698430 1.573490 1.095945 +v -0.493451 1.347215 1.262421 +v -0.519793 1.271000 1.243432 +v -0.437434 1.177315 1.175531 +v -0.422439 1.158595 1.107578 +v -0.551604 1.188505 1.138144 +v -0.627326 1.281580 1.109189 +v 0.770284 1.406200 0.926252 +v 0.781150 1.421400 0.994054 +v 0.718058 1.375590 1.054132 +v 0.549244 1.169165 1.068051 +v 0.551604 1.188505 1.138144 +v 0.442924 1.177315 1.175531 +v -0.549244 1.169165 1.068051 +v -0.770284 1.406200 0.926252 +v 0.702568 1.362375 0.989123 +v -0.819446 1.526320 0.873251 +v 0.768147 1.746295 0.920227 +v 0.747270 1.635635 1.035946 +v 0.686150 1.667640 0.980873 +v 0.712071 1.665940 1.011534 +v 0.427719 1.158595 1.107577 +v -0.192103 -3.905731 -0.059314 +v -0.136593 -3.917807 0.342124 +v -0.012567 -3.775740 0.354087 +v -0.070840 -3.925155 0.682281 +v 0.024428 -3.786933 0.713072 +v -0.126645 -3.917072 0.965094 +v -0.054332 -3.775584 1.026318 +v -0.275161 -3.912292 1.151039 +v -0.218745 -3.770132 1.233592 +v -0.455236 -3.900843 1.248646 +v -0.420882 -3.737238 1.352759 +v -0.622467 -3.901468 1.268024 +v -0.622471 -3.737384 1.372619 +v -0.848898 -3.901530 1.227435 +v -0.882635 -3.734536 1.330829 +v -1.017460 -3.913105 1.087993 +v -1.065354 -3.764849 1.169621 +v -1.150169 -3.922191 0.887290 +v -1.222153 -3.773201 0.941266 +v -1.189834 -3.931179 0.619829 +v -1.292032 -3.784014 0.634812 +v -1.150509 -3.922264 0.286844 +v -1.257412 -3.771130 0.283100 +v -1.022240 -3.902117 -0.052859 +v -1.057242 -3.811218 -0.417428 +v -0.977845 -3.913467 -0.380925 +v -0.882366 -3.913764 -0.541266 +v -0.127557 -4.029107 0.336452 +v -0.069962 -4.035000 0.682657 +v -0.130424 -4.035000 0.959797 +v -0.282726 -4.024211 1.142434 +v -0.458091 -4.010709 1.236693 +v -0.622465 -4.010709 1.255017 +v -0.851522 -4.010709 1.212762 +v -1.023646 -4.024211 1.074140 +v -1.150286 -4.035000 0.882550 +v -1.184402 -4.035000 0.626125 +v -1.148501 -4.029107 0.282906 +v -0.992683 -3.485740 -0.417423 +v -0.728139 -3.273088 -0.586995 +v -0.896583 -3.271356 -0.326124 +v -0.622394 -3.179987 -0.287599 +v -0.880964 -3.126427 -0.038025 +v -0.724265 -3.095667 0.226589 +v -0.783798 -3.098689 0.483283 +v -0.622374 -3.078843 0.252997 +v -0.622408 -3.078726 0.504335 +v -0.376166 -3.100569 0.222333 +v -0.385870 -3.104249 0.477500 +v -0.264517 -3.130314 -0.041798 +v -0.190873 -3.221711 0.371487 +v -0.197013 -3.404171 -0.063379 +v -0.062213 -3.380886 0.332779 +v -0.010988 -3.582677 0.333744 +v 0.048847 -3.537639 0.694743 +v -0.134042 -3.767134 -0.064432 +v -0.141458 -3.599202 -0.056231 +v -0.145097 -3.670186 -0.449164 +v -0.190088 -3.499060 -0.424378 +v -0.371502 -3.507870 -0.690064 +v -0.444993 -3.279103 -0.589490 +v -0.622395 -3.504303 -0.741764 +v -0.800334 -3.501179 -0.686329 +v -0.797256 -3.656852 -0.719328 +v -1.047825 -3.655685 -0.441159 +v -0.942065 -3.814422 -0.594887 +v -0.742002 -3.909340 -0.643960 +v -0.773310 -3.796085 -0.709326 +v -0.622395 -3.794923 -0.749884 +v -0.622393 -3.657380 -0.767445 +v -0.367862 -3.800958 -0.713155 +v -0.356203 -3.663209 -0.723379 +v -0.211642 -3.818186 -0.589789 +v -0.149565 -3.822775 -0.425378 +v -0.206477 -4.035000 -0.392538 +v -0.272168 -3.913915 -0.535968 +v -0.269198 -4.035000 -0.539563 +v -0.406636 -3.911825 -0.647084 +v -0.408186 -4.035000 -0.649901 +v -0.622396 -3.899535 -0.681236 +v -0.622395 -4.026679 -0.684825 +v -0.740149 -4.035000 -0.646722 +v -0.879875 -4.035000 -0.544900 +v -0.974690 -4.035000 -0.384822 +v -1.021937 -3.209686 0.376503 +v -1.006440 -3.178004 0.743113 +v -0.824261 -3.118402 0.763134 +v -0.971021 -3.221430 0.995117 +v -0.796861 -3.215563 1.093940 +v -0.824330 -3.438676 1.298056 +v -0.622416 -3.436822 1.341076 +v -0.215416 -3.917657 -0.387921 +v -0.363405 -3.444275 1.302611 +v -0.145419 -3.477913 1.168615 +v -0.396103 -3.221411 1.086620 +v -0.206555 -3.233473 0.965599 +v -0.375254 -3.124854 0.756274 +v -0.208288 -3.189777 0.735244 +v -0.996806 -4.024599 -0.062761 +v -0.203053 -4.024599 -0.068134 +v -1.158907 -3.365906 0.337235 +v -1.166781 -3.316684 0.652211 +v -1.230148 -3.567246 0.339254 +v -1.266280 -3.523565 0.697792 +v -1.037141 -3.466128 1.175690 +v -0.266387 -3.278605 -0.331645 +v -0.046811 -3.330419 0.650876 +v -0.622424 -3.095670 0.800861 +v -0.622420 -3.201339 1.121680 +v 1.001349 2.370650 0.591739 +v 1.040987 2.415200 0.592951 +v 1.120775 2.218970 0.131662 +v 1.287375 2.366070 0.099721 +v 1.262730 2.229660 -0.295774 +v 1.312748 2.383740 -0.334720 +v 1.142175 2.256460 -0.651770 +v 1.126498 2.369095 -0.699396 +v 0.922601 2.166990 -0.909463 +v 0.931550 2.281560 -0.965732 +v 0.595636 2.199350 -1.212479 +v 0.568114 2.320800 -1.262509 +v 0.202757 2.281945 -1.360332 +v 0.187376 2.417380 -1.386497 +v 0.000000 2.281945 -1.360332 +v 0.000000 2.417380 -1.386497 +v -0.187376 2.417380 -1.386497 +v -0.162599 2.557235 -1.367735 +v -0.525015 2.448070 -1.285831 +v -0.455591 2.579780 -1.275886 +v -0.820092 2.512950 -1.044017 +v -0.712788 2.609985 -1.066788 +v -0.860578 2.623380 -0.818038 +v -0.686288 2.708970 -0.857961 +v -0.982033 2.798840 -0.598535 +v -0.783146 2.857485 -0.686946 +v -1.006117 3.027820 -0.312869 +v -0.815546 3.051715 -0.464553 +v -0.939426 3.257405 -0.011983 +v -0.765676 3.247700 -0.230621 +v -0.791911 3.463555 0.239415 +v -0.650652 3.428225 -0.014442 +v -0.562123 3.651520 0.460329 +v -0.470622 3.572315 0.156793 +v -0.258967 3.765460 0.610870 +v -0.219526 3.670950 0.271834 +v 0.000000 3.800495 0.657719 +v 0.000000 3.696855 0.297062 +v 0.219526 3.670950 0.271834 +v 0.155519 3.444605 -0.141589 +v 0.470622 3.572315 0.156793 +v 0.443742 3.293610 -0.310234 +v 0.650652 3.428225 -0.014442 +v 0.765676 3.247700 -0.230621 +v 0.791911 3.463555 0.239416 +v 0.939426 3.257405 -0.011983 +v 0.884291 3.415755 0.451982 +v 1.071124 3.200695 0.174942 +v 0.942743 3.308300 0.646429 +v 1.162668 3.081865 0.323761 +v 0.990417 3.118530 0.773655 +v 1.210713 2.911460 0.434886 +v 0.999577 2.888995 0.860251 +v 1.230606 2.720200 0.496609 +v 0.966160 2.659560 0.848421 +v 1.199525 2.520125 0.498605 +v 0.933259 2.553025 0.791110 +v 1.339223 2.546740 0.082553 +v 1.285485 2.515470 -0.382262 +v 1.073123 2.475630 -0.749114 +v 0.887412 2.401865 -1.008947 +v 0.525016 2.448070 -1.285831 +v 0.162599 2.557235 -1.367736 +v 0.000000 2.557235 -1.367736 +v -0.129668 2.692670 -1.292112 +v -0.363322 2.705605 -1.224930 +v -0.549888 2.706645 -1.067763 +v -0.477585 2.774945 -0.888734 +v -0.575598 3.015870 -0.616131 +v 1.091470 2.087645 -0.276469 +v 1.081473 2.127045 -0.592744 +v 0.836430 1.956290 -0.747883 +v 0.893260 2.042505 -0.855164 +v 0.571314 1.978195 -1.047042 +v 0.600230 2.081845 -1.141315 +v 0.210624 2.044915 -1.236170 +v 0.212842 2.155570 -1.306451 +v 0.000000 2.044915 -1.236170 +v 0.000000 2.155570 -1.306451 +v -0.212842 2.155570 -1.306451 +v -0.202757 2.281945 -1.360332 +v -0.595636 2.199350 -1.212479 +v -0.568114 2.320795 -1.262509 +v -0.931551 2.281560 -0.965732 +v -0.887412 2.401865 -1.008947 +v -1.073123 2.475630 -0.749114 +v -0.991715 2.551015 -0.784282 +v -1.224576 2.635605 -0.447953 +v -1.131679 2.721305 -0.516437 +v -1.249295 2.858600 -0.062568 +v -1.153430 2.959005 -0.175031 +v 1.311162 2.700500 0.033409 +v 1.224576 2.635610 -0.447953 +v 0.991715 2.551015 -0.784283 +v 0.820092 2.512950 -1.044017 +v 0.455591 2.579780 -1.275886 +v 0.129668 2.692670 -1.292112 +v 0.000000 2.692670 -1.292112 +v -0.090236 2.781280 -1.188814 +v -0.252834 2.776220 -1.139065 +v 1.249295 2.858600 -0.062568 +v 1.131679 2.721305 -0.516437 +v 0.860578 2.623380 -0.818038 +v 0.712788 2.609985 -1.066788 +v 0.363322 2.705605 -1.224930 +v 0.090236 2.781280 -1.188814 +v 0.000000 2.781280 -1.188814 +v -0.046278 2.810300 -1.085791 +v -0.129668 2.808245 -1.060529 +v -0.244934 2.817550 -0.908600 +v 0.000000 2.831995 -0.915336 +v 0.255309 1.866425 -1.036415 +v 0.203792 1.946980 -1.142005 +v 0.000000 1.866425 -1.036415 +v 0.000000 1.946980 -1.142005 +v -0.203792 1.946980 -1.142005 +v -0.210624 2.044915 -1.236170 +v -0.571314 1.978195 -1.047043 +v -0.600230 2.081845 -1.141315 +v -0.893260 2.042505 -0.855164 +v -0.922601 2.166990 -0.909463 +v -1.142175 2.256460 -0.651770 +v -1.126498 2.369095 -0.699396 +v -1.312748 2.383740 -0.334720 +v -1.285485 2.515470 -0.382262 +v -1.339223 2.546740 0.082553 +v -1.311162 2.700500 0.033409 +v -1.001349 2.370650 0.591740 +v -1.120775 2.218970 0.131662 +v -1.040987 2.415200 0.592951 +v -1.287375 2.366070 0.099721 +v -1.199525 2.520125 0.498605 +v -1.230606 2.720200 0.496609 +v -1.210713 2.911460 0.434886 +v -1.162668 3.081865 0.323761 +v -1.071124 3.200695 0.174942 +v 1.153430 2.959005 -0.175031 +v 0.982033 2.798840 -0.598535 +v 0.686288 2.708970 -0.857961 +v 0.549888 2.706645 -1.067763 +v 0.252834 2.776220 -1.139065 +v 0.046278 2.810300 -1.085791 +v 1.006117 3.027820 -0.312869 +v 0.815546 3.051720 -0.464553 +v 0.783146 2.857485 -0.686946 +v 0.575598 3.015870 -0.616131 +v 0.477585 2.774945 -0.888734 +v 0.244934 2.817550 -0.908600 +v 0.129668 2.808245 -1.060529 +v -0.255309 1.866425 -1.036415 +v -0.836430 1.956290 -0.747883 +v -1.081473 2.127045 -0.592744 +v -1.262730 2.229660 -0.295774 +v 0.000000 2.670290 1.897816 +v 0.000000 2.611045 1.879408 +v -0.451089 2.645880 1.818061 +v -0.435825 2.588980 1.801597 +v -0.805790 2.547570 1.596044 +v -0.775653 2.496280 1.585400 +v -1.019135 2.433955 1.230330 +v -0.981390 2.387660 1.226341 +v -1.073864 2.391225 0.821455 +v -1.034225 2.346675 0.820244 +v -0.879802 2.427370 0.746494 +v -0.655468 2.511045 0.965514 +v -0.311559 2.563810 1.078665 +v 0.000000 2.577310 1.107615 +v 0.435825 2.588980 1.801597 +v -0.340354 3.617035 1.129063 +v 0.000000 3.651330 1.180369 +v -0.438219 3.399160 1.210511 +v 0.000000 3.428970 1.292130 +v 0.000000 3.111810 1.311319 +v 0.438219 3.399160 1.210511 +v 0.467331 3.087855 1.229236 +v 0.734879 3.278190 1.039962 +v 0.756678 2.996460 1.076877 +v 0.000000 3.444605 -0.141589 +v -0.155519 3.444605 -0.141589 +v -0.079084 3.168965 -0.529219 +v -0.231701 3.087035 -0.613616 +v -0.295200 2.942130 -0.769350 +v -0.451771 2.869095 1.180089 +v -0.735673 2.732000 1.030213 +v -0.467331 3.087855 1.229236 +v -0.756678 2.996460 1.076877 +v -0.734879 3.278190 1.039962 +v -0.990417 3.118525 0.773655 +v -0.942743 3.308300 0.646429 +v -0.686379 3.478400 0.907274 +v -0.636545 3.612945 0.712599 +v -0.302575 3.743185 0.918950 +v 0.000000 3.773810 0.964826 +v 0.302575 3.743185 0.918950 +v 0.258967 3.765460 0.610870 +v 0.562123 3.651520 0.460329 +v 0.805790 2.547570 1.596044 +v 0.735673 2.732000 1.030213 +v 0.451089 2.645880 1.818061 +v 0.451771 2.869095 1.180089 +v 0.000000 2.901600 1.261665 +v -0.933259 2.553025 0.791110 +v -0.966160 2.659560 0.848421 +v -0.999577 2.888995 0.860251 +v 0.340354 3.617035 1.129063 +v 0.686379 3.478400 0.907274 +v 0.636545 3.612945 0.712599 +v 0.000000 2.810300 -1.085791 +v -0.443742 3.293610 -0.310234 +v 0.295200 2.942130 -0.769350 +v 0.231701 3.087035 -0.613616 +v 0.079084 3.168965 -0.529219 +v 0.000000 3.168965 -0.529219 +v 0.000000 2.849060 -0.083523 +v 0.000000 2.750015 0.811666 +v 0.879802 2.427370 0.746494 +v 0.655469 2.511045 0.965514 +v -1.091470 2.087645 -0.276469 +v -0.884291 3.415755 0.451982 +v 1.073864 2.391225 0.821455 +v 1.019135 2.433955 1.230330 +v 0.311559 2.563810 1.078665 +v 0.775653 2.496280 1.585400 +v 0.000000 2.306545 -0.820158 +v 1.034225 2.346675 0.820244 +v 0.981391 2.387665 1.226341 +v 0.876162 2.493075 0.621785 +v 0.924414 2.423750 0.503922 +v 0.884901 2.415440 0.624994 +v 0.927428 2.077045 0.487837 +v 0.890638 2.048165 0.594221 +v 0.937774 1.839275 0.384506 +v 0.891493 1.812865 0.590227 +v 0.960885 1.779165 0.359669 +v 0.918377 1.747305 0.593014 +v 0.978620 1.620690 0.606802 +v 0.896091 1.586015 0.773667 +v 1.002869 1.382045 0.602171 +v 0.916514 1.352820 0.771519 +v 0.840470 1.141540 0.751777 +v 0.781306 1.314815 0.942370 +v 0.734773 1.140275 0.896939 +v 0.531695 1.128295 1.005710 +v 0.581339 0.968347 0.856571 +v 0.373339 0.953235 0.954449 +v 0.384524 0.843852 0.837226 +v 0.206806 0.789189 0.975569 +v 0.229759 0.714284 0.850056 +v 0.000000 0.757781 1.009060 +v 0.000000 0.670611 0.870055 +v -0.229759 0.714284 0.850056 +v -0.247147 0.680846 0.712373 +v -0.421876 0.814284 0.710783 +v -0.451827 0.799281 0.550949 +v -0.551163 0.839039 0.544885 +v -0.585262 0.858709 0.376530 +v -0.783134 0.979762 0.353345 +v -0.780634 1.022310 0.123008 +v -0.931975 1.200910 0.088698 +v -0.761066 1.046645 0.079734 +v -0.901596 1.224275 0.029390 +v -0.693833 1.102285 -0.149946 +v -0.802905 1.254505 -0.166194 +v -0.568330 1.120880 -0.253898 +v 0.979628 1.350340 0.033613 +v 1.044492 1.338535 -0.124669 +v 0.882428 1.469055 -0.161434 +v 1.156970 1.411165 -0.290412 +v 0.932689 1.633710 -0.298361 +v 1.265936 1.619630 -0.436804 +v 1.319242 1.818520 -0.470338 +v 1.452356 1.802235 -0.393275 +v 1.468069 1.991690 -0.348054 +v 1.451473 1.944620 -0.221120 +v 1.429252 2.150625 -0.248921 +v 1.414068 2.081820 -0.143208 +v 1.297716 2.209705 -0.080719 +v 1.313746 2.116400 -0.042978 +v 1.194034 2.162310 0.023370 +v 1.204110 2.079895 0.042257 +v 0.991836 1.917680 0.118345 +v 1.078906 1.922310 0.081036 +v 0.974760 1.764445 0.129756 +v 1.025822 1.768015 0.076416 +v 1.041783 1.649625 0.059968 +v 1.139242 1.769500 -0.150979 +v 1.092066 1.621760 -0.154452 +v 1.361004 1.630885 -0.235083 +v 1.271170 1.516845 -0.167644 +v 1.234464 1.405660 -0.256867 +v 1.116989 1.342710 -0.106187 +v 1.049723 1.344700 0.006208 +v 1.012627 1.429810 0.092667 +v -0.206806 0.789189 0.975569 +v -0.384524 0.843852 0.837226 +v -0.373339 0.953235 0.954449 +v -0.581339 0.968347 0.856571 +v -0.531695 1.128295 1.005710 +v -0.734773 1.140275 0.896939 +v -0.781306 1.314815 0.942370 +v -0.840470 1.141540 0.751777 +v -0.916514 1.352820 0.771519 +v -1.002869 1.382045 0.602171 +v -0.896091 1.586015 0.773667 +v -0.978620 1.620690 0.606802 +v -0.918377 1.747305 0.593014 +v -0.960885 1.779165 0.359669 +v -0.891493 1.812865 0.590227 +v -0.937774 1.839275 0.384506 +v -0.890638 2.048165 0.594221 +v -0.927428 2.077045 0.487837 +v -0.884901 2.415440 0.624994 +v -0.924414 2.423750 0.503922 +v -0.876162 2.493075 0.621785 +v -0.287334 1.612285 1.120944 +v -0.356347 1.581360 1.218467 +v -0.276285 1.489885 1.123047 +v -0.360476 1.459450 1.214533 +v -0.221350 1.371200 1.158285 +v -0.264996 1.304095 1.317155 +v -0.086334 1.225275 1.310259 +v -0.106564 1.191965 1.451463 +v 0.106564 1.191965 1.451463 +v -0.116710 1.187410 1.596439 +v 0.116711 1.187410 1.596439 +v -0.103434 1.227795 1.725132 +v 0.103435 1.227795 1.725132 +v -0.072869 1.321190 1.818333 +v 0.072870 1.321190 1.818333 +v -0.048106 1.415090 1.871503 +v 0.048108 1.415090 1.871503 +v 0.000000 1.559100 1.902371 +v 0.134713 1.489220 1.877989 +v 0.133339 1.586640 1.886512 +v 0.271170 1.552705 1.838588 +v 0.797041 1.784065 0.744977 +v 0.850479 1.718910 0.764553 +v 0.676008 1.743970 0.852295 +v 0.722693 1.672370 0.900989 +v 0.481723 1.675695 0.952347 +v 0.544619 1.602165 1.009376 +v 0.356371 1.551165 1.068833 +v 0.608557 1.465795 1.042148 +v 0.390370 1.406995 1.095137 +v 0.413410 1.220720 1.085739 +v 0.221351 1.371200 1.158285 +v 0.280896 1.133020 1.145705 +v 0.109363 1.120780 1.235252 +v 0.096659 1.093050 1.168157 +v 0.000000 1.105670 1.238821 +v 0.000000 1.075330 1.182279 +v -0.096659 1.093050 1.168157 +v -0.090082 1.090195 1.125600 +v -0.251251 1.100955 1.077554 +v -0.133339 1.586640 1.886512 +v -0.033230 1.657305 1.892694 +v -0.152840 1.703830 1.851810 +v -0.061733 1.734710 1.854511 +v -0.209649 1.765505 1.772175 +v -0.084292 1.807565 1.775855 +v -0.245715 1.808050 1.650738 +v -0.098592 1.856770 1.655000 +v -0.105969 1.869950 1.510779 +v 0.098594 1.856770 1.655000 +v 0.105970 1.869950 1.510779 +v 0.245715 1.808050 1.650738 +v 0.257327 1.819870 1.506399 +v 0.369426 1.714180 1.642526 +v 0.373621 1.724840 1.498084 +v 0.433732 1.572900 1.484790 +v 0.402759 1.580780 1.341360 +v -0.230493 1.645865 1.846738 +v -0.315616 1.684870 1.765121 +v -0.369425 1.714180 1.642526 +v -0.257327 1.819870 1.506399 +v -0.097285 1.857355 1.365559 +v 0.097285 1.857355 1.365559 +v 0.242676 1.809380 1.361361 +v 0.344584 1.724640 1.353946 +v 0.356348 1.581360 1.218467 +v -0.454555 0.961274 -0.136286 +v -0.452662 0.815293 0.378044 +v -0.246448 0.854179 -0.129234 +v -0.258256 0.705328 0.373497 +v 0.000000 0.673691 0.373542 +v 0.000000 0.636537 0.552464 +v 0.258256 0.705328 0.373497 +v 0.260385 0.680390 0.545878 +v 0.452662 0.815293 0.378044 +v 0.451827 0.799281 0.550949 +v 0.585262 0.858709 0.376530 +v 0.551163 0.839039 0.544885 +v 0.783134 0.979762 0.353345 +v 0.746427 0.969659 0.566243 +v 0.903435 1.142870 0.589164 +v 0.668708 0.969873 0.721493 +v -0.271170 1.552705 1.838588 +v -0.371527 1.557830 1.754006 +v -0.425709 1.565145 1.629486 +v -0.433731 1.572900 1.484790 +v -0.373621 1.724840 1.498084 +v -0.402759 1.580780 1.341360 +v -0.344584 1.724640 1.353946 +v -0.294713 1.702510 1.231271 +v -0.210604 1.781670 1.240399 +v -0.206855 1.765885 1.142773 +v -0.094793 1.832040 1.250257 +v -0.088384 1.821530 1.158013 +v 0.000000 1.834250 1.171105 +v 0.199375 2.162735 1.107543 +v 0.214752 2.263650 1.132210 +v 0.223017 2.255270 1.142155 +v 0.255576 2.375245 1.123313 +v 0.274258 2.357450 1.152640 +v 0.332505 2.505445 1.085569 +v 0.346948 2.471055 1.139826 +v 0.431536 2.585280 1.039666 +v 0.444981 2.536345 1.094839 +v 0.572119 2.573470 0.965196 +v 0.580000 2.535750 1.018232 +v 0.675654 2.484665 0.915411 +v 0.674473 2.463545 0.955004 +v 0.727929 2.333360 0.877307 +v 0.667575 2.423200 0.979237 +v 0.653416 2.389700 0.978104 +v 0.571872 2.405395 1.044505 +v -0.882428 1.469055 -0.161434 +v -0.932689 1.633710 -0.298361 +v -1.156970 1.411165 -0.290412 +v -1.265936 1.619630 -0.436804 +v -1.234464 1.405660 -0.256867 +v -1.384359 1.610310 -0.366976 +v -1.361004 1.630885 -0.235083 +v -1.433084 1.792580 -0.252013 +v -1.139242 1.769500 -0.150979 +v -1.451473 1.944620 -0.221120 +v -1.176335 1.918550 -0.120440 +v -1.414068 2.081820 -0.143208 +v -1.313746 2.116400 -0.042978 +v -1.297716 2.209705 -0.080719 +v -1.194034 2.162310 0.023370 +v -1.145946 2.174880 -0.017712 +v -0.991836 1.917680 0.118345 +v -1.044492 1.338535 -0.124669 +v -1.116989 1.342710 -0.106187 +v -1.049723 1.344700 0.006208 +v -1.178143 1.481975 -0.074392 +v -1.081223 1.523745 0.021697 +v -1.092066 1.621760 -0.154452 +v -1.041783 1.649625 0.059968 +v -1.025822 1.768015 0.076416 +v -1.078906 1.922310 0.081036 +v -0.974760 1.764445 0.129756 +v 0.088384 1.821530 1.158013 +v 0.120508 1.969040 1.111765 +v 0.000000 1.968465 1.151769 +v 0.145593 2.137960 1.122185 +v 0.000000 2.144320 1.155787 +v 0.203590 2.233490 1.130875 +v 0.000000 2.232170 1.168664 +v 0.322431 2.323630 1.118134 +v 0.000000 2.322200 1.165002 +v 0.000000 2.684720 1.085650 +v -0.322431 2.323630 1.118134 +v -0.314394 2.689180 1.034748 +v -0.465128 2.362290 1.071339 +v -0.134713 1.489220 1.877989 +v -0.183225 1.373290 1.822891 +v -0.257760 1.465395 1.830948 +v -0.257338 1.300830 1.731522 +v -0.355992 1.428970 1.742733 +v -0.401999 1.419740 1.619153 +v -0.411822 1.428200 1.474519 +v -0.404321 1.445465 1.329522 +v -0.242676 1.809380 1.361361 +v 0.094793 1.832040 1.250257 +v 0.210605 1.781670 1.240399 +v 0.294713 1.702510 1.231271 +v 0.287335 1.612285 1.120944 +v 0.246560 2.236115 1.136515 +v 0.254005 2.224500 1.110747 +v 0.321539 2.308645 1.148931 +v 0.332869 2.289895 1.110912 +v 0.381929 2.357275 1.144289 +v 0.389035 2.324605 1.106676 +v 0.476894 2.400105 1.104027 +v 0.482219 2.365340 1.066605 +v 0.564035 2.375905 1.014071 +v 0.641593 2.367530 0.966470 +v 0.234074 2.245175 1.150661 +v 0.300124 2.334250 1.166737 +v 0.366149 2.407395 1.164742 +v 0.464556 2.456770 1.123989 +v 0.580696 2.461550 1.056512 +v 1.040145 1.410310 0.353847 +v 0.949926 1.155905 0.355280 +v 0.931975 1.200910 0.088698 +v 0.780634 1.022310 0.123008 +v 0.599168 0.892398 0.220429 +v 0.454555 0.961274 -0.136286 +v 0.246448 0.854179 -0.129234 +v 0.250484 0.981474 -0.354519 +v 0.086977 0.970346 -0.381344 +v 0.834836 2.598560 0.702651 +v 0.778403 2.388255 0.827788 +v 0.797945 2.234995 0.795091 +v 0.802612 2.010355 0.754427 +v 0.799827 1.897210 0.749702 +v 0.698793 1.993240 0.867033 +v 0.687401 1.868605 0.859664 +v 0.589144 1.889330 0.906950 +v 0.577884 1.796485 0.903304 +v -0.260385 0.680390 0.545878 +v 0.000000 0.637593 0.720190 +v 0.247147 0.680846 0.712373 +v 0.421876 0.814284 0.710783 +v 0.471440 0.837340 0.709212 +v 0.267330 1.660350 0.990111 +v 0.231828 1.706840 1.013791 +v 0.194042 1.765885 1.142773 +v 0.204557 1.767445 1.037470 +v 0.148455 1.844570 1.122983 +v 0.184411 1.873500 1.047156 +v 0.174191 1.971445 1.056841 +v 0.198263 2.132220 1.070549 +v 0.278457 2.245040 1.069010 +v -1.071079 2.089290 -0.121361 +v -1.229563 2.214670 -0.153414 +v -1.055933 2.046885 -0.266791 +v -1.316579 2.165325 -0.325092 +v -1.336270 2.022330 -0.424762 +v -1.468069 1.991690 -0.348054 +v -1.319242 1.818520 -0.470338 +v -1.452356 1.802235 -0.393275 +v 0.183225 1.373290 1.822891 +v 0.257760 1.465395 1.830948 +v 0.257339 1.300830 1.731522 +v 0.355992 1.428970 1.742732 +v 0.402000 1.419740 1.619153 +v 0.425709 1.565145 1.629486 +v 0.411822 1.428200 1.474519 +v 0.404322 1.445465 1.329522 +v -0.199375 2.163280 1.107384 +v -0.254005 2.225045 1.110587 +v -0.246560 2.236660 1.136356 +v -0.321539 2.309190 1.148772 +v -0.300124 2.334800 1.166578 +v -0.366149 2.407940 1.164583 +v -0.346948 2.471600 1.139667 +v -0.444981 2.536895 1.094681 +v -0.431536 2.585825 1.039507 +v -0.572119 2.574020 0.965037 +v -0.577884 1.796485 0.903304 +v -0.570377 1.734585 0.900873 +v -0.676008 1.743970 0.852295 +v -0.481723 1.675695 0.952347 +v -0.722693 1.672370 0.900989 +v -0.544619 1.602165 1.009376 +v -0.608557 1.465795 1.042148 +v -0.356371 1.551165 1.068833 +v -0.390370 1.406995 1.095137 +v -0.949926 1.155905 0.355280 +v -0.903435 1.142870 0.589164 +v -0.746427 0.969659 0.566243 +v -0.668708 0.969873 0.721493 +v -0.471440 0.837340 0.709212 +v 0.315616 1.684870 1.765121 +v 0.209649 1.765505 1.772175 +v 0.152840 1.703830 1.851810 +v 0.061733 1.734710 1.854511 +v 0.033230 1.657305 1.892694 +v -1.040145 1.410310 0.353847 +v -1.012627 1.429810 0.092667 +v -0.979628 1.350340 0.033613 +v -0.729287 1.259915 -0.207062 +v -0.760768 1.533600 0.943180 +v -0.622317 1.272030 1.038509 +v -0.413410 1.220720 1.085739 +v 0.407993 1.031035 -0.313089 +v 0.562613 1.007805 -0.140027 +v 0.693833 1.102285 -0.149946 +v 0.761066 1.046645 0.079734 +v 0.901596 1.224275 0.029390 +v -0.332869 2.290440 1.110754 +v -0.389035 2.325150 1.106517 +v -0.381929 2.357825 1.144130 +v -0.476894 2.400650 1.103868 +v -0.464556 2.457320 1.123830 +v -0.580696 2.462095 1.056352 +v -0.580000 2.536295 1.018072 +v -0.674473 2.464090 0.954845 +v -0.675654 2.485210 0.915253 +v -0.727929 2.333910 0.877148 +v -0.589144 1.889330 0.906950 +v -0.687401 1.868605 0.859664 +v -0.698793 1.993240 0.867033 +v -0.802612 2.010355 0.754427 +v -0.694184 2.193445 0.893359 +v -0.797945 2.234995 0.795091 +v -0.602982 2.362545 0.989075 +v -0.778403 2.388255 0.827788 +v -0.695611 2.706000 0.842797 +v -0.770133 2.714830 0.741912 +v 0.276285 1.489885 1.123047 +v 0.360477 1.459450 1.214533 +v 0.264996 1.304095 1.317155 +v 0.282872 1.276290 1.458841 +v 0.436285 1.165375 0.707649 +v 0.424887 1.079300 0.700124 +v 0.352962 1.143025 0.963114 +v 0.343741 1.057535 0.948916 +v 0.197324 1.129210 1.083073 +v 0.193803 1.044080 1.064750 +v 0.000000 1.044080 1.097703 +v 0.176831 1.028830 1.011505 +v 0.000000 1.028830 1.044458 +v -0.405456 2.284240 1.026809 +v -0.519979 2.262825 0.979363 +v -0.587519 2.156995 0.933249 +v -0.600405 1.982180 0.910596 +v -0.407993 1.031035 -0.313089 +v -0.562613 1.007805 -0.140027 +v -0.599168 0.892398 0.220429 +v -0.482219 2.365890 1.066447 +v -0.571872 2.405940 1.044346 +v -0.667575 2.423745 0.979078 +v -0.203590 2.233490 1.130875 +v -0.278457 2.245040 1.069010 +v -0.145593 2.137960 1.122185 +v -0.198263 2.132220 1.070549 +v -0.174191 1.971445 1.056841 +v -0.332505 2.505990 1.085410 +v -0.274258 2.357995 1.152481 +v -0.234074 2.245720 1.150502 +v 1.071079 2.089290 -0.121361 +v 1.145946 2.174880 -0.017712 +v 1.229563 2.214670 -0.153414 +v 1.316579 2.165325 -0.325092 +v 1.009137 1.652855 0.349099 +v 0.992438 1.647880 0.118388 +v 0.570377 1.734585 0.900873 +v -0.250484 0.981474 -0.354519 +v -0.086977 0.970346 -0.381344 +v 0.000000 0.823249 -0.131820 +v -0.797041 1.784065 0.744977 +v -0.850479 1.718910 0.764553 +v 0.282663 1.270195 1.603681 +v -0.120508 1.969040 1.111765 +v -0.148455 1.844570 1.122983 +v -0.204557 1.767445 1.037470 +v -0.231828 1.706840 1.013791 +v 0.084292 1.807560 1.775854 +v 0.760768 1.533600 0.943180 +v -0.266448 1.102155 1.110781 +v -0.280896 1.133020 1.145705 +v -0.109363 1.120780 1.235252 +v 0.000000 1.227255 1.277719 +v 0.465128 2.362290 1.071339 +v 0.314394 2.689180 1.034748 +v 0.602982 2.362545 0.989075 +v 0.695611 2.706000 0.842797 +v 0.770133 2.714830 0.741912 +v -0.834836 2.598560 0.702651 +v -0.443465 1.160480 1.069535 +v -0.282872 1.276290 1.458840 +v -0.282663 1.270195 1.603681 +v 0.694184 2.193445 0.893359 +v 0.519979 2.262825 0.979363 +v 0.587519 2.156995 0.933249 +v 0.086334 1.225275 1.310259 +v 0.999131 1.805480 -0.326938 +v 1.336270 2.022330 -0.424762 +v 1.055933 2.046885 -0.266791 +v -0.999131 1.805480 -0.326938 +v 1.081223 1.523745 0.021697 +v 0.371527 1.557830 1.754006 +v 0.443465 1.160480 1.069535 +v 0.622317 1.272030 1.038509 +v 1.433084 1.792580 -0.252013 +v 1.384359 1.610310 -0.366976 +v -0.255576 2.375795 1.123154 +v -0.223017 2.255820 1.141997 +v -1.204110 2.079895 0.042257 +v -1.271170 1.516845 -0.167644 +v -1.429252 2.150625 -0.248921 +v -0.184411 1.873500 1.047156 +v -0.564035 2.376450 1.013913 +v -0.653416 2.390245 0.977945 +v 0.405456 2.284240 1.026809 +v 0.568330 1.120880 -0.253898 +v 0.802905 1.254505 -0.166194 +v 0.729287 1.259915 -0.207062 +v 0.000000 0.923125 1.068280 +v -0.143838 0.938217 1.060916 +v -0.255055 0.966619 1.025339 +v -0.436285 1.165375 0.707649 +v -0.352962 1.143025 0.963114 +v -0.424887 1.079300 0.700124 +v -0.343741 1.057535 0.948916 +v -0.369967 1.059495 0.698912 +v -0.299309 1.040540 0.915546 +v -0.197324 1.129210 1.083073 +v -0.193803 1.044080 1.064750 +v -0.176831 1.028830 1.011505 +v 0.369967 1.059495 0.698912 +v 0.299309 1.040540 0.915546 +v 0.230494 1.645865 1.846738 +v 1.176335 1.918550 -0.120440 +v 1.178143 1.481975 -0.074392 +v -0.992438 1.647880 0.118388 +v 0.374234 1.651635 0.974365 +v 0.600405 1.982180 0.910596 +v -1.009137 1.652855 0.349099 +v 0.279491 1.151585 0.649534 +v 0.138240 1.147615 0.594198 +v 0.251251 1.100955 1.077554 +v 0.090082 1.090195 1.125600 +v 0.925977 2.230210 0.436713 +v 0.924896 2.353535 0.454198 +v 0.000000 1.073145 1.131724 +v 0.143838 0.938217 1.060916 +v -0.267330 1.660350 0.990111 +v -0.374234 1.651635 0.974365 +v -0.138240 1.147615 0.594198 +v -0.924896 2.353535 0.454198 +v -0.925977 2.230210 0.436713 +v 0.000000 1.129210 1.116027 +v 0.255055 0.966619 1.025339 +v 0.266448 1.102155 1.110781 +v -0.214752 2.264200 1.132051 +v -0.641593 2.368075 0.966312 +v -0.152910 1.094005 1.109376 +v 0.000000 1.087910 1.124852 +v 0.000000 1.058300 1.161093 +v 0.152910 1.094005 1.109376 +v 0.149084 1.069145 1.141484 +v 0.293534 1.108230 1.065869 +v 0.340755 1.113705 1.046817 +v 0.369546 1.035865 1.007267 +v 0.340178 1.110970 1.051196 +v 0.000000 1.264830 0.580166 +v -0.279491 1.151585 0.649535 +v -0.369546 1.035865 1.007267 +v -0.340755 1.113705 1.046817 +v -0.293534 1.108230 1.065869 +v -0.340178 1.110970 1.051196 +v -0.149084 1.069145 1.141484 +v -0.259375 1.000620 1.062911 +v -0.269612 1.090065 1.098105 +v 0.259375 1.000620 1.062911 +v 0.144208 0.977614 1.129241 +v 0.269612 1.090065 1.098105 +v 0.000000 0.966198 1.150666 +v -0.144208 0.977614 1.129241 +v -0.755461 -0.245886 0.985447 +v -0.791071 -0.219676 0.948303 +v -0.772187 -0.175220 1.038074 +v -0.821994 -0.126817 0.980683 +v -0.716200 -0.010217 1.046101 +v -0.835306 -0.052073 0.932279 +v -0.809900 0.027275 0.905018 +v -0.827953 -0.032700 0.828957 +v -0.806489 0.017904 0.815728 +v -0.774496 0.062667 0.812318 +v -0.754659 0.090493 0.905478 +v -0.684169 0.122658 0.933572 +v -0.616714 0.116328 0.982300 +v -0.600591 0.143865 0.882602 +v -0.559144 0.134229 0.915990 +v -0.490819 -0.064450 1.075760 +v -0.580176 -0.077945 1.118127 +v -0.556293 0.002667 1.089361 +v -0.569894 0.073019 1.039320 +v -0.524936 0.111456 0.952357 +v -0.510795 -0.117419 1.090214 +v -0.540275 -0.166148 1.094461 +v -0.633411 -0.146676 1.117836 +v -0.577444 -0.207933 1.089533 +v -0.620998 -0.237693 1.074111 +v -0.498872 0.078854 0.989077 +v -0.484552 0.036542 1.023397 +v -0.481021 -0.011925 1.053411 +v -0.703203 -0.182688 1.088461 +v -0.712900 -0.257246 1.020283 +v -0.735747 0.100039 0.817239 +v -0.691589 0.126345 0.831828 +v -0.645585 0.141963 0.853613 +v -0.839356 -0.085513 0.849600 +v -0.835115 -0.136599 0.878154 +v -0.818806 -0.182959 0.911608 +v -0.667153 -0.255385 1.050913 +v 0.557266 -1.592525 0.688887 +v 0.578212 -1.498545 0.723041 +v 0.796002 -1.534653 0.598459 +v 0.812317 -1.414191 0.633623 +v 0.989591 -1.472234 0.467986 +v 0.989618 -1.338384 0.490135 +v 1.066802 -1.436199 0.190473 +v 1.064931 -1.312543 0.190356 +v 0.164580 -1.636200 0.637873 +v 0.219261 -1.604290 0.714046 +v 0.317800 -1.591172 0.690727 +v 0.298113 -1.547333 0.770173 +v 0.543835 -1.447594 0.822482 +v 0.815159 -1.362119 0.746213 +v 0.063707 -1.667703 0.507302 +v 0.148355 -1.652835 0.494838 +v 0.942925 -1.270084 -0.486818 +v 0.799566 -1.279706 -0.688369 +v 0.784217 -1.381546 -0.648844 +v 0.407146 -1.395659 -0.781467 +v 0.262673 -1.503422 0.862531 +v 0.509382 -1.401323 0.830815 +v 0.787385 -1.298462 0.745833 +v 1.001555 -1.203564 0.535986 +v 1.041261 -1.261375 0.512203 +v 1.100207 -1.134151 0.188873 +v 1.122090 -1.207917 0.191711 +v 1.085894 -1.157951 -0.178429 +v 1.099620 -1.237593 -0.195366 +v 0.961366 -1.332541 -0.474883 +v 0.925457 -1.417419 -0.468894 +v 0.786012 -1.484766 -0.597959 +v 0.813739 -1.498135 -0.552212 +v 0.342611 -1.575858 -0.641505 +v 0.314395 -1.600673 -0.574811 +v 0.155017 -1.624230 -0.452457 +v 0.041612 -1.663157 -0.146170 +v 0.000000 -1.643725 -0.150943 +v 0.816969 -1.121634 -0.704166 +v 0.434420 -1.130798 -0.834722 +v 0.426021 -1.276656 -0.820971 +v 0.000000 -1.265580 -0.803033 +v 0.000000 -1.384796 -0.766391 +v 0.382611 -1.514931 -0.721243 +v 0.000000 -1.521706 -0.664559 +v 0.000000 -1.595299 -0.478229 +v 0.093521 -1.652816 0.653189 +v 0.153331 -1.585486 0.752071 +v 0.049031 -1.656785 0.220284 +v 0.000000 -1.666346 0.216375 +v 0.000000 -1.667330 0.514338 +v 0.000000 -1.651355 0.634310 +v 0.000000 -1.651356 0.660532 +v 1.057438 -1.358978 -0.192972 +v -0.961366 -1.332541 -0.474883 +v -0.942925 -1.270084 -0.486818 +v -1.099620 -1.237593 -0.195366 +v -1.085894 -1.157951 -0.178429 +v -1.122090 -1.207917 0.191711 +v -1.100207 -1.134151 0.188873 +v -0.816969 -1.121634 -0.704166 +v -0.426021 -1.276656 -0.820971 +v -0.434420 -1.130798 -0.834722 +v 0.000000 -1.138670 -0.834287 +v -0.049031 -1.656785 0.220284 +v -0.063707 -1.667703 0.507302 +v -0.093521 -1.652816 0.653189 +v 0.000000 -1.586641 0.765501 +v -0.153331 -1.585486 0.752071 +v -0.041612 -1.663157 -0.146170 +v -0.407146 -1.395659 -0.781467 +v -0.982172 -1.150556 -0.492866 +v 0.982172 -1.150556 -0.492866 +v 0.328565 -1.741942 -0.486594 +v 0.308995 -1.669739 -0.547975 +v 0.061902 -1.757720 -0.146132 +v 0.068559 -1.742058 0.203420 +v 0.134655 -1.698364 0.469435 +v 0.165491 -1.741406 0.455216 +v 1.057840 -1.452220 -0.186246 +v 0.815527 -1.550666 -0.503348 +v 0.330507 -1.711220 0.567515 +v 0.288590 -1.653922 0.639750 +v 0.331684 -2.075210 -0.485482 +v 0.743900 -2.046090 -0.496519 +v 0.785425 -1.653236 -0.507716 +v 0.985680 -2.026636 -0.185123 +v 0.990387 -1.602661 -0.186112 +v 1.000321 -1.985462 0.135319 +v 1.006989 -1.592687 0.165938 +v 0.924811 -2.004898 0.380127 +v 0.932398 -1.624035 0.424495 +v 0.748577 -2.022117 0.496148 +v 0.753549 -1.666864 0.540595 +v 0.549622 -2.042776 0.586813 +v 0.561767 -1.690834 0.630054 +v 0.359080 -2.051739 0.521487 +v 0.073152 -2.062248 0.173634 +v 0.063168 -2.074378 -0.166114 +v 0.179764 -2.066294 0.410750 +v 0.574051 -2.909960 -0.595007 +v 0.874393 -2.889399 -0.515531 +v 0.755861 -2.479499 -0.474140 +v 1.025981 -2.887156 -0.239441 +v 0.993774 -2.433971 -0.204344 +v 1.045745 -2.841486 0.078905 +v 1.025763 -2.369185 0.120554 +v 0.954806 -2.804753 0.349930 +v 0.928328 -2.288996 0.357695 +v 0.757527 -2.293360 0.478226 +v 0.744795 -2.140286 0.515953 +v 0.564134 -2.146889 0.609838 +v 0.909216 -2.143906 0.396246 +v 1.055491 -2.265818 0.129249 +v 1.017711 -2.271883 -0.193999 +v 0.754385 -2.283769 -0.562235 +v 0.088970 -2.859614 0.108853 +v 0.100751 -2.888921 -0.221857 +v 0.092620 -2.404203 0.157168 +v 0.106630 -2.452295 -0.187084 +v 0.057174 -2.304327 0.168629 +v 0.074496 -2.310020 -0.175337 +v 0.105221 -2.211284 0.169212 +v 0.098887 -2.206524 -0.173399 +v 0.284927 -2.890692 -0.506146 +v 0.355796 -2.486532 -0.476504 +v 0.345088 -2.294034 -0.552473 +v 0.355030 -2.181517 -0.506912 +v 0.734076 -2.169938 -0.516770 +v 0.767865 -2.766242 0.513909 +v 0.566537 -2.302956 0.573249 +v 0.376956 -2.152231 0.540812 +v 0.583682 -2.744213 0.611583 +v 0.372229 -2.303004 0.502954 +v 0.205701 -2.182631 0.425949 +v 1.003850 -2.154332 0.133722 +v 0.949856 -2.167043 -0.191044 +v 0.192519 -2.325641 0.387600 +v 0.383662 -2.767109 0.530834 +v 0.207245 -2.805799 0.393315 +v -0.411880 -0.517674 1.187282 +v -0.323799 -0.381381 1.185280 +v 0.000000 -0.530583 1.246961 +v 0.000000 -0.386735 1.220425 +v 0.323799 -0.381381 1.185280 +v 0.000000 -0.258568 1.226385 +v 0.305429 -0.256628 1.178620 +v 0.000000 -0.173329 1.148466 +v 0.292302 -0.151414 1.124256 +v -0.787132 -0.470255 -0.642900 +v -0.359080 -0.455439 -0.793634 +v -0.788442 -0.318027 -0.658580 +v -0.378706 -0.304865 -0.811858 +v -0.382472 -0.129179 -0.834400 +v 0.000000 -0.296690 -0.824328 +v 0.000000 -0.112110 -0.858648 +v 0.382472 -0.129179 -0.834400 +v 0.787132 -0.470255 -0.642900 +v 0.788442 -0.318027 -0.658580 +v 0.359080 -0.455439 -0.793634 +v 0.378706 -0.304865 -0.811858 +v 0.000000 -0.455518 -0.794796 +v -0.501400 -0.320437 1.123627 +v -0.305429 -0.256628 1.178620 +v 0.426656 -0.114147 1.084648 +v 0.435502 -0.267107 1.153334 +v 0.501400 -0.320437 1.123627 +v -0.868523 -0.198128 0.832929 +v -0.873800 -0.322183 0.889784 +v -0.999515 -0.427430 0.674812 +v -0.790165 -0.483150 1.000026 +v 0.868523 -0.198128 0.832929 +v 0.999515 -0.427430 0.674812 +v 0.873800 -0.322183 0.889784 +v 0.790165 -0.483150 1.000026 +v 0.411880 -0.517674 1.187282 +v -0.292302 -0.151414 1.124256 +v -0.426656 -0.114147 1.084648 +v -0.435502 -0.267107 1.153334 +v 0.401765 0.811344 0.141696 +v 0.381973 0.828712 -0.075711 +v 0.405331 0.868876 -0.022875 +v 0.369068 0.867109 -0.220326 +v 0.656663 0.810588 -0.240983 +v 0.316972 0.786802 -0.480461 +v 0.627430 0.726188 -0.482542 +v 0.199011 0.569094 -0.696007 +v 0.595134 0.450544 -0.688347 +v 0.333961 0.225502 -0.809335 +v 0.657414 0.147683 -0.754961 +v 0.346688 0.832049 -0.308760 +v 0.331620 0.799882 -0.378972 +v 0.311323 0.754387 -0.441316 +v 0.198849 0.557857 -0.636686 +v 0.000000 0.319175 -0.821770 +v 0.000000 0.320551 -0.776583 +v -0.198849 0.557857 -0.636686 +v 0.408931 0.708092 0.399049 +v 0.407867 0.793337 0.255446 +v 0.422838 0.705545 0.474440 +v 0.423538 0.812797 0.235842 +v 0.721808 0.715804 0.261472 +v 0.682124 0.814377 -0.012108 +v 0.694655 0.765236 -0.035730 +v 0.669846 0.757192 -0.238158 +v 0.642871 0.674940 -0.464740 +v -0.782180 0.458651 0.460122 +v -0.733289 0.678300 0.237318 +v -0.772635 0.498202 0.487995 +v -0.721808 0.715804 0.261472 +v -0.432714 0.539049 0.678919 +v -0.422838 0.705545 0.474440 +v -0.414568 0.614006 0.537878 +v -0.414810 0.670196 0.422080 +v -0.694655 0.765236 -0.035730 +v -0.682124 0.814377 -0.012108 +v -0.423538 0.812797 0.235842 +v -0.405331 0.868876 -0.022875 +v -0.401765 0.811344 0.141696 +v -0.381973 0.828712 -0.075711 +v -0.669846 0.757192 -0.238158 +v -0.656663 0.810588 -0.240983 +v -0.369068 0.867109 -0.220326 +v -0.346688 0.832049 -0.308760 +v -0.642871 0.674940 -0.464740 +v -0.627430 0.726188 -0.482542 +v -0.316972 0.786802 -0.480461 +v -0.199011 0.569094 -0.696007 +v -0.311323 0.754387 -0.441316 +v 0.416563 0.478552 0.651259 +v 0.415762 0.544024 0.556224 +v 0.432714 0.539049 0.678919 +v 0.414568 0.614006 0.537878 +v 0.414810 0.670196 0.422080 +v -0.622113 0.412556 -0.642182 +v -0.595134 0.450544 -0.688347 +v -0.333961 0.225502 -0.809335 +v -0.407867 0.793337 0.255446 +v -0.331620 0.799882 -0.378972 +v -0.416563 0.478552 0.651259 +v -0.415762 0.544024 0.556224 +v 0.772635 0.498202 0.487995 +v 0.622113 0.412556 -0.642182 +v 0.733289 0.678300 0.237318 +v 0.676472 0.133716 -0.700189 +v -0.408931 0.708092 0.399049 +v -0.657414 0.147683 -0.754961 +v -0.676472 0.133716 -0.700189 +v 0.782180 0.458651 0.460122 +v 0.419950 0.120053 0.947684 +v 0.415989 0.124607 0.897689 +v 0.444921 0.160268 0.974414 +v 0.442420 0.367450 0.839887 +v -0.845929 0.047207 0.717122 +v -0.804856 0.295670 0.627222 +v -0.442420 0.367450 0.839887 +v 0.792809 -0.182390 -0.611919 +v 0.874804 -0.200681 -0.651404 +v 0.951546 -0.291622 -0.447955 +v 1.036904 -0.317986 -0.481627 +v 0.837225 0.087817 0.757792 +v 0.804856 0.295670 0.627222 +v 0.845929 0.047207 0.717122 +v -0.444921 0.160268 0.974414 +v -0.837225 0.087817 0.757792 +v -1.036904 -0.317986 -0.481627 +v -0.991992 -0.424575 -0.464758 +v -0.874804 -0.200681 -0.651404 +v 0.991992 -0.424575 -0.464758 +v -0.792809 -0.182390 -0.611919 +v -0.951546 -0.291622 -0.447955 +v -0.419950 0.120053 0.947684 +v -0.415989 0.124607 0.897689 +v -0.219261 -1.604290 0.714046 +v -0.317800 -1.591172 0.690727 +v -0.298113 -1.547333 0.770173 +v -0.578212 -1.498545 0.723041 +v -0.543835 -1.447594 0.822482 +v -0.815159 -1.362119 0.746213 +v -0.787385 -1.298462 0.745833 +v -0.382611 -1.514931 -0.721243 +v -0.784217 -1.381546 -0.648844 +v -0.799566 -1.279706 -0.688369 +v -0.557266 -1.592525 0.688887 +v -0.796002 -1.534653 0.598459 +v -0.812317 -1.414191 0.633623 +v -0.989618 -1.338384 0.490135 +v -0.148355 -1.652835 0.494838 +v -0.164580 -1.636200 0.637873 +v -0.262673 -1.503422 0.862531 +v -0.509382 -1.401323 0.830815 +v -0.989591 -1.472234 0.467986 +v -1.064931 -1.312543 0.190356 +v -1.066802 -1.436199 0.190473 +v -0.342611 -1.575858 -0.641505 +v -1.001555 -1.203564 0.535986 +v -1.041261 -1.261375 0.512203 +v -1.057438 -1.358978 -0.192972 +v -0.925457 -1.417419 -0.468894 +v -0.813739 -1.498135 -0.552212 +v -0.786012 -1.484766 -0.597959 +v -0.314395 -1.600673 -0.574811 +v -0.155017 -1.624230 -0.452457 +v 0.792171 -1.239609 0.835797 +v 1.046898 -0.996809 0.626508 +v 1.023611 -1.134290 0.581193 +v 1.164575 -0.909663 0.250420 +v 1.136428 -1.053652 0.218687 +v 1.163255 -0.881976 -0.159428 +v 1.133911 -1.041514 -0.166629 +v 1.040660 -0.851184 -0.475399 +v 1.016106 -1.030128 -0.488359 +v 0.000000 -0.980034 1.229440 +v 0.000000 -1.232462 1.124438 +v -0.426077 -0.954755 1.163338 +v -0.384807 -1.208843 1.061531 +v -0.837922 -0.866162 0.973467 +v -0.821274 -1.079628 0.905144 +v -1.054702 -0.787340 0.670183 +v -1.046898 -0.996809 0.626508 +v 1.167462 -0.692458 -0.146480 +v 1.171247 -0.726382 0.265007 +v 1.054702 -0.787340 0.670183 +v 0.821274 -1.079628 0.905144 +v 0.426077 -0.954755 1.163338 +v 0.384807 -1.208843 1.061531 +v 0.192832 -1.389564 0.954222 +v 0.476027 -1.352995 0.934642 +v 0.837922 -0.866162 0.973467 +v -1.167462 -0.692458 -0.146480 +v -1.171247 -0.726382 0.265007 +v -1.163255 -0.881976 -0.159428 +v -1.164575 -0.909663 0.250420 +v -1.136428 -1.053652 0.218687 +v -1.023611 -1.134290 0.581193 +v -0.792171 -1.239609 0.835797 +v -0.476027 -1.352995 0.934642 +v -1.016106 -1.030128 -0.488359 +v -1.040660 -0.851184 -0.475399 +v -1.133911 -1.041514 -0.166629 +v 0.000000 -1.417202 1.002090 +v -0.192832 -1.389564 0.954222 +v -0.821546 -0.822846 -0.676842 +v -0.821746 -1.000002 -0.702758 +v -0.417330 -0.804127 -0.803512 +v -0.432449 -0.990716 -0.834770 +v 0.000000 -1.014591 -0.835045 +v 0.432449 -0.990716 -0.834770 +v 0.821546 -0.822846 -0.676842 +v 0.821746 -1.000002 -0.702758 +v 0.417330 -0.804127 -0.803512 +v 0.000000 -0.832254 -0.809169 +v -0.134655 -1.698364 0.469435 +v -0.288590 -1.653922 0.639750 +v -0.328565 -1.741942 -0.486594 +v -0.061902 -1.757720 -0.146132 +v -0.308995 -1.669739 -0.547975 +v -0.815527 -1.550666 -0.503348 +v -0.068559 -1.742058 0.203420 +v -1.006989 -1.592686 0.165938 +v -0.932398 -1.624035 0.424495 +v -0.753548 -1.666863 0.540595 +v -0.561767 -1.690834 0.630054 +v -0.330507 -1.711220 0.567515 +v -0.549622 -2.042776 0.586813 +v -0.359080 -2.051739 0.521487 +v -0.179764 -2.066294 0.410750 +v -0.165491 -1.741406 0.455216 +v -0.073152 -2.062248 0.173634 +v -1.057840 -1.452220 -0.186246 +v -0.990387 -1.602661 -0.186112 +v -0.985679 -2.026636 -0.185123 +v -0.785425 -1.653236 -0.507716 +v -0.743900 -2.046090 -0.496519 +v -0.331684 -2.075210 -0.485482 +v -0.063168 -2.074378 -0.166114 +v -0.355030 -2.181517 -0.506912 +v -0.098887 -2.206524 -0.173399 +v -0.105221 -2.211284 0.169212 +v -1.003850 -2.154332 0.133722 +v -0.949856 -2.167043 -0.191044 +v -1.000321 -1.985462 0.135319 +v -0.734076 -2.169938 -0.516770 +v -0.092620 -2.404203 0.157168 +v -0.057174 -2.304327 0.168629 +v -0.106629 -2.452295 -0.187084 +v -0.074496 -2.310020 -0.175337 +v -0.355796 -2.486532 -0.476504 +v -0.345088 -2.294034 -0.552473 +v -0.755861 -2.479499 -0.474140 +v -0.754385 -2.283769 -0.562235 +v -0.993774 -2.433972 -0.204344 +v -1.017711 -2.271883 -0.193999 +v -1.025763 -2.369185 0.120554 +v -1.055491 -2.265818 0.129249 +v -0.748577 -2.022117 0.496148 +v -0.924811 -2.004898 0.380127 +v -0.088970 -2.859614 0.108853 +v -0.100751 -2.888921 -0.221857 +v -0.284927 -2.890692 -0.506146 +v -0.574051 -2.909960 -0.595007 +v -0.874393 -2.889399 -0.515531 +v -1.025981 -2.887156 -0.239441 +v -0.909216 -2.143906 0.396246 +v -0.928328 -2.288996 0.357695 +v -0.954806 -2.804753 0.349930 +v -1.045745 -2.841486 0.078905 +v -0.744795 -2.140286 0.515953 +v -0.757527 -2.293360 0.478226 +v -0.767865 -2.766242 0.513909 +v -0.564134 -2.146889 0.609838 +v -0.566537 -2.302956 0.573249 +v -0.583682 -2.744213 0.611583 +v -0.376956 -2.152231 0.540812 +v -0.372229 -2.303004 0.502954 +v -0.383662 -2.767109 0.530834 +v -0.205701 -2.182631 0.425949 +v -0.192519 -2.325641 0.387600 +v -0.207245 -2.805799 0.393315 +v 0.021401 -3.297011 0.113373 +v 0.030538 -3.077318 0.093406 +v 0.143909 -3.193178 0.518116 +v 0.155173 -3.000856 0.430427 +v 0.332859 -3.114806 0.692675 +v 0.330511 -2.954090 0.564246 +v 0.589547 -3.070355 0.778418 +v 0.584038 -2.916891 0.647186 +v 0.842773 -3.099893 0.678208 +v 0.836504 -2.940543 0.551070 +v 1.047531 -3.187287 0.463752 +v 1.032886 -2.997443 0.374269 +v 1.166242 -3.281344 0.107441 +v 1.149145 -3.056865 0.071672 +v 1.120629 -3.359244 -0.264889 +v 1.103660 -3.101084 -0.279691 +v 0.945217 -3.114169 -0.571235 +v 0.584415 -3.116058 -0.717866 +v 0.211519 -3.117624 -0.566886 +v -1.103660 -3.101084 -0.279691 +v -0.945217 -3.114169 -0.571235 +v -0.584415 -3.116058 -0.717866 +v -0.588572 -3.370878 -0.734397 +v -0.205543 -3.378777 -0.586435 +v -0.065391 -3.366289 -0.279692 +v -0.058291 -3.105940 -0.292219 +v -0.211519 -3.117624 -0.566886 +v -0.021401 -3.297011 0.113373 +v -0.143909 -3.193178 0.518116 +v -0.030538 -3.077318 0.093406 +v -0.155173 -3.000856 0.430427 +v -0.332859 -3.114807 0.692675 +v -0.330511 -2.954090 0.564246 +v -0.589547 -3.070355 0.778418 +v -0.584038 -2.916891 0.647186 +v -0.842773 -3.099893 0.678208 +v -0.836504 -2.940543 0.551070 +v -1.047531 -3.187287 0.463752 +v -1.032886 -2.997443 0.374269 +v -1.166242 -3.281344 0.107441 +v -1.149145 -3.056865 0.071672 +v -1.120628 -3.359245 -0.264889 +v 0.205543 -3.378777 -0.586435 +v 0.058291 -3.105940 -0.292219 +v 0.065391 -3.366289 -0.279692 +v -0.605475 -3.470914 0.116123 +v -0.955932 -3.373882 -0.588412 +v 0.955932 -3.373882 -0.588412 +v 0.605475 -3.470913 0.116123 +v 0.588572 -3.370878 -0.734397 +v 0.000000 -0.724984 1.260723 +v 0.421549 -0.699728 1.202371 +v 0.817193 -0.633386 1.001215 +v 1.037610 -0.564965 0.689976 +v 1.082983 -0.470845 0.462519 +v 1.146961 -0.529143 0.244434 +v 1.116088 -0.436007 0.141706 +v 1.110963 -0.456831 -0.164576 +v 1.160740 -0.367364 -0.171177 +v -0.671264 -0.443763 1.073100 +v -0.421549 -0.699728 1.202371 +v -0.460144 -0.236290 1.192359 +v -0.691032 -0.410136 1.108058 +v -0.884791 -0.293194 0.935408 +v -0.876595 -0.160729 0.885723 +v -0.846340 0.021605 0.747606 +v -1.034961 -0.668658 -0.455060 +v -1.003693 -0.512429 -0.453549 +v -1.140723 -0.533657 -0.156613 +v -1.146961 -0.529143 0.244434 +v -1.110963 -0.456831 -0.164576 +v -1.116088 -0.436007 0.141706 +v -1.160740 -0.367364 -0.171177 +v -1.173264 -0.339661 0.097351 +v -0.817193 -0.633386 1.001215 +v -1.037610 -0.564965 0.689976 +v -1.082983 -0.470845 0.462519 +v -1.072206 -0.384064 0.396978 +v 1.034961 -0.668658 -0.455061 +v 1.003693 -0.512429 -0.453549 +v 1.140723 -0.533657 -0.156613 +v 0.846340 0.021605 0.747606 +v 0.876595 -0.160729 0.885723 +v 0.452100 -0.093578 1.133036 +v 1.173264 -0.339661 0.097351 +v 1.072206 -0.384064 0.396978 +v 1.132301 -0.293350 0.332579 +v 1.005772 -0.328993 0.621055 +v 1.026983 -0.194633 0.617464 +v -0.452100 -0.093578 1.133036 +v 0.884791 -0.293194 0.935408 +v 0.460144 -0.236290 1.192359 +v 0.691032 -0.410136 1.108058 +v 0.000000 0.059070 1.045452 +v 0.000000 0.063481 0.983283 +v 0.287208 0.090404 0.999811 +v 0.273045 0.090357 0.940421 +v 1.049093 -0.316045 0.094099 +v 1.037678 -0.334167 -0.165890 +v -1.132301 -0.293350 0.332579 +v -1.005772 -0.328993 0.621055 +v 0.671264 -0.443763 1.073100 +v -1.026983 -0.194633 0.617464 +v -1.037678 -0.334167 -0.165890 +v -1.049093 -0.316045 0.094099 +v -1.035740 -0.273463 0.319797 +v -0.287208 0.090404 0.999811 +v 0.977460 -0.183031 0.560803 +v 1.035740 -0.273463 0.319797 +v -0.273045 0.090357 0.940421 +v -0.977460 -0.183031 0.560803 +v -0.801941 -0.642739 -0.655617 +v -0.377787 -0.624698 -0.785608 +v 0.000000 -0.625134 -0.786879 +v 0.377787 -0.624698 -0.785608 +v 0.801941 -0.642739 -0.655617 +v 0.510795 -0.117419 1.090214 +v 0.490819 -0.064450 1.075760 +v 0.580176 -0.077945 1.118127 +v 0.556293 0.002667 1.089361 +v 0.716200 -0.010217 1.046101 +v 0.569894 0.073019 1.039320 +v 0.616714 0.116328 0.982300 +v 0.524936 0.111456 0.952357 +v 0.559144 0.134229 0.915990 +v 0.600591 0.143865 0.882601 +v 0.684169 0.122658 0.933572 +v 0.754659 0.090493 0.905478 +v 0.809900 0.027275 0.905018 +v 0.774496 0.062667 0.812318 +v 0.806489 0.017904 0.815728 +v 0.827953 -0.032700 0.828957 +v 0.835306 -0.052073 0.932279 +v 0.821994 -0.126817 0.980683 +v 0.772187 -0.175220 1.038074 +v 0.791071 -0.219676 0.948303 +v 0.645585 0.141963 0.853613 +v 0.691589 0.126346 0.831828 +v 0.735747 0.100039 0.817239 +v 0.839356 -0.085513 0.849600 +v 0.835115 -0.136599 0.878154 +v 0.818806 -0.182959 0.911608 +v 0.540275 -0.166148 1.094461 +v 0.633411 -0.146676 1.117836 +v 0.577444 -0.207933 1.089533 +v 0.620998 -0.237693 1.074111 +v 0.703203 -0.182688 1.088461 +v 0.667153 -0.255385 1.050913 +v 0.712900 -0.257246 1.020283 +v 0.755461 -0.245886 0.985447 +v 0.498872 0.078854 0.989077 +v 0.484552 0.036542 1.023397 +v 0.481021 -0.011925 1.053411 +v 0.481723 1.675695 0.952347 +v 0.374234 1.651635 0.974365 +v 0.384995 1.770535 1.014213 +v 0.276139 1.768130 1.042989 +v 0.277972 1.866790 1.056842 +v 0.184411 1.873500 1.047156 +v 0.275153 1.965445 1.070695 +v 0.174191 1.971445 1.056841 +v 0.198263 2.132220 1.070549 +v 0.389678 1.869575 1.028064 +v 0.394361 1.968620 1.041914 +v 0.519935 1.974730 0.981549 +v 0.394061 2.160105 1.043525 +v 0.515329 2.162340 0.985214 +v 0.519979 2.262825 0.979363 +v 0.587519 2.156995 0.933249 +v 0.589144 1.889330 0.906950 +v 0.577884 1.796485 0.903304 +v 0.512586 1.880305 0.975131 +v 0.505238 1.785885 0.968714 +v 0.570377 1.734585 0.900873 +v 0.600405 1.982180 0.910596 +v 0.278457 2.245040 1.069010 +v 0.275732 2.143230 1.078233 +v 0.204557 1.767445 1.037470 +v 0.231828 1.706840 1.013791 +v 0.267330 1.660350 0.990111 +v 0.405456 2.284240 1.026809 +v -0.481723 1.675695 0.952347 +v -0.374234 1.651635 0.974365 +v -0.384995 1.770535 1.014213 +v -0.276139 1.768130 1.042989 +v -0.277972 1.866790 1.056842 +v -0.184411 1.873500 1.047156 +v -0.275153 1.965445 1.070695 +v -0.174191 1.971445 1.056841 +v -0.198263 2.132220 1.070549 +v -0.389678 1.869575 1.028064 +v -0.394361 1.968620 1.041914 +v -0.519935 1.974730 0.981549 +v -0.394061 2.160105 1.043525 +v -0.515329 2.162340 0.985214 +v -0.519979 2.262825 0.979363 +v -0.587519 2.156995 0.933249 +v -0.589144 1.889330 0.906950 +v -0.577884 1.796485 0.903304 +v -0.512586 1.880305 0.975131 +v -0.505238 1.785885 0.968714 +v -0.570377 1.734585 0.900873 +v -0.600405 1.982180 0.910596 +v -0.278457 2.245040 1.069010 +v -0.275732 2.143230 1.078233 +v -0.204557 1.767445 1.037470 +v -0.231828 1.706840 1.013791 +v -0.267330 1.660350 0.990111 +v -0.405456 2.284240 1.026809 +vt 0.243131 0.655947 +vt 0.238403 0.660810 +vt 0.243100 0.700083 +vt 0.238773 0.637996 +vt 0.239621 0.639410 +vt 0.237167 0.626310 +vt 0.238806 0.622268 +vt 0.236501 0.604771 +vt 0.227783 0.620581 +vt 0.227607 0.609439 +vt 0.228338 0.612392 +vt 0.229615 0.601353 +vt 0.229904 0.607124 +vt 0.233150 0.599264 +vt 0.232536 0.605955 +vt 0.234945 0.610245 +vt 0.231888 0.617812 +vt 0.234284 0.632384 +vt 0.228327 0.623060 +vt 0.230543 0.634953 +vt 0.230660 0.633204 +vt 0.229062 0.626020 +vt 0.225100 0.627743 +vt 0.225577 0.631483 +vt 0.224185 0.639783 +vt 0.227771 0.640522 +vt 0.224594 0.650461 +vt 0.228722 0.661020 +vt 0.223970 0.650912 +vt 0.227951 0.660994 +vt 0.238403 0.660810 +vt 0.243131 0.655947 +vt 0.243100 0.700083 +vt 0.238773 0.637996 +vt 0.243131 0.655947 +vt 0.238403 0.660810 +vt 0.236106 0.643545 +vt 0.238773 0.637996 +vt 0.238403 0.660810 +vt 0.234284 0.632384 +vt 0.238773 0.637996 +vt 0.232985 0.647381 +vt 0.234284 0.632384 +vt 0.230543 0.634953 +vt 0.234284 0.632384 +vt 0.227771 0.640522 +vt 0.230543 0.634953 +vt 0.228819 0.630748 +vt 0.230543 0.634953 +vt 0.227771 0.640522 +vt 0.225577 0.631483 +vt 0.227771 0.640522 +vt 0.229062 0.626020 +vt 0.225577 0.631483 +vt 0.225100 0.627743 +vt 0.229062 0.626020 +vt 0.225577 0.631483 +vt 0.230660 0.633204 +vt 0.229062 0.626020 +vt 0.225100 0.627743 +vt 0.223416 0.637887 +vt 0.230660 0.633204 +vt 0.225100 0.627743 +vt 0.223970 0.650912 +vt 0.230660 0.633204 +vt 0.224185 0.639783 +vt 0.223970 0.650912 +vt 0.224594 0.650461 +vt 0.223970 0.650912 +vt 0.224185 0.639783 +vt 0.227771 0.640522 +vt 0.224594 0.650461 +vt 0.224185 0.639783 +vt 0.228722 0.661020 +vt 0.224594 0.650461 +vt 0.227771 0.640522 +vt 0.230853 0.653785 +vt 0.228722 0.661020 +vt 0.227771 0.640522 +vt 0.231752 0.677752 +vt 0.228722 0.661020 +vt 0.233618 0.672882 +vt 0.234920 0.700095 +vt 0.238403 0.660810 +vt 0.243100 0.700083 +vt 0.238403 0.660810 +vt 0.238773 0.637996 +vt 0.239621 0.639410 +vt 0.243131 0.655947 +vt 0.237167 0.626310 +vt 0.239621 0.639410 +vt 0.238773 0.637996 +vt 0.234284 0.632384 +vt 0.237167 0.626310 +vt 0.238773 0.637996 +vt 0.234945 0.610245 +vt 0.237167 0.626310 +vt 0.234284 0.632384 +vt 0.231888 0.617812 +vt 0.234945 0.610245 +vt 0.234284 0.632384 +vt 0.232536 0.605955 +vt 0.234945 0.610245 +vt 0.231888 0.617812 +vt 0.229904 0.607124 +vt 0.232536 0.605955 +vt 0.231888 0.617812 +vt 0.233150 0.599264 +vt 0.232536 0.605955 +vt 0.229904 0.607124 +vt 0.229615 0.601353 +vt 0.233150 0.599264 +vt 0.229904 0.607124 +vt 0.227607 0.609439 +vt 0.233150 0.599264 +vt 0.229615 0.601353 +vt 0.228338 0.612392 +vt 0.227607 0.609439 +vt 0.229615 0.601353 +vt 0.227783 0.620581 +vt 0.227607 0.609439 +vt 0.228338 0.612392 +vt 0.228327 0.623060 +vt 0.227783 0.620581 +vt 0.228338 0.612392 +vt 0.230660 0.633204 +vt 0.227783 0.620581 +vt 0.228327 0.623060 +vt 0.230543 0.634953 +vt 0.230660 0.633204 +vt 0.228327 0.623060 +vt 0.229062 0.626020 +vt 0.230660 0.633204 +vt 0.230543 0.634953 +vt 0.229062 0.626020 +vt 0.230543 0.634953 +vt 0.292253 0.594325 +vt 0.288869 0.609994 +vt 0.285485 0.594325 +vt 0.295871 0.614223 +vt 0.301089 0.609728 +vt 0.301453 0.616643 +vt 0.306547 0.618755 +vt 0.306171 0.630229 +vt 0.307710 0.635953 +vt 0.304550 0.647416 +vt 0.310423 0.656822 +vt 0.316969 0.669026 +vt 0.325655 0.678869 +vt 0.327860 0.715838 +vt 0.327737 0.683314 +vt 0.329946 0.705627 +vt 0.298613 0.595773 +vt 0.305709 0.611968 +vt 0.316941 0.623626 +vt 0.313454 0.636135 +vt 0.319930 0.626074 +vt 0.318250 0.645504 +vt 0.323789 0.643405 +vt 0.321572 0.661397 +vt 0.321631 0.641335 +vt 0.325152 0.665610 +vt 0.323197 0.649641 +vt 0.296891 0.701016 +vt 0.297901 0.698266 +vt 0.297796 0.701016 +vt 0.296891 0.698266 +vt 0.297901 0.698266 +vt 0.297908 0.695230 +vt 0.297901 0.698266 +vt 0.298736 0.698267 +vt 0.297901 0.698266 +vt 0.298748 0.695231 +vt 0.299325 0.698268 +vt 0.299270 0.695234 +vt 0.299477 0.698269 +vt 0.299434 0.694861 +vt 0.307710 0.635953 +vt 0.305709 0.611968 +vt 0.306547 0.618755 +vt 0.316941 0.623626 +vt 0.305709 0.611968 +vt 0.307710 0.635953 +vt 0.313454 0.636135 +vt 0.316941 0.623626 +vt 0.307710 0.635953 +vt 0.319930 0.626074 +vt 0.316941 0.623626 +vt 0.313454 0.636135 +vt 0.318250 0.645504 +vt 0.319930 0.626074 +vt 0.313454 0.636135 +vt 0.323789 0.643405 +vt 0.319930 0.626074 +vt 0.318250 0.645504 +vt 0.321572 0.661397 +vt 0.323789 0.643405 +vt 0.318250 0.645504 +vt 0.321631 0.641335 +vt 0.323789 0.643405 +vt 0.321572 0.661397 +vt 0.325152 0.665610 +vt 0.321631 0.641335 +vt 0.321572 0.661397 +vt 0.323197 0.649641 +vt 0.321631 0.641335 +vt 0.325152 0.665610 +vt 0.292253 0.594325 +vt 0.301089 0.609728 +vt 0.298613 0.595773 +vt 0.295871 0.614223 +vt 0.301089 0.609728 +vt 0.292253 0.594325 +vt 0.295871 0.614223 +vt 0.292253 0.594325 +vt 0.288869 0.623953 +vt 0.295871 0.614223 +vt 0.295518 0.627399 +vt 0.300287 0.634182 +vt 0.295518 0.627399 +vt 0.294388 0.645638 +vt 0.295871 0.614223 +vt 0.295518 0.627399 +vt 0.301453 0.616643 +vt 0.295871 0.614223 +vt 0.295518 0.627399 +vt 0.301089 0.609728 +vt 0.295871 0.614223 +vt 0.301453 0.616643 +vt 0.306547 0.618755 +vt 0.301089 0.609728 +vt 0.301453 0.616643 +vt 0.298613 0.595773 +vt 0.301089 0.609728 +vt 0.306547 0.618755 +vt 0.305709 0.611968 +vt 0.298613 0.595773 +vt 0.306547 0.618755 +vt 0.304741 0.601454 +vt 0.298613 0.595773 +vt 0.305709 0.611968 +vt 0.316186 0.611512 +vt 0.305709 0.611968 +vt 0.306171 0.630229 +vt 0.306547 0.618755 +vt 0.301453 0.616643 +vt 0.307710 0.635953 +vt 0.306547 0.618755 +vt 0.306171 0.630229 +vt 0.304550 0.647416 +vt 0.307710 0.635953 +vt 0.306171 0.630229 +vt 0.310423 0.656822 +vt 0.307710 0.635953 +vt 0.304550 0.647416 +vt 0.316969 0.669026 +vt 0.310423 0.656822 +vt 0.304550 0.647416 +vt 0.325655 0.678869 +vt 0.310423 0.656822 +vt 0.316969 0.669026 +vt 0.327860 0.715838 +vt 0.325655 0.678869 +vt 0.316969 0.669026 +vt 0.327737 0.683314 +vt 0.325655 0.678869 +vt 0.327860 0.715838 +vt 0.247268 0.715192 +vt 0.247793 0.700074 +vt 0.231396 0.715193 +vt 0.234920 0.700095 +vt 0.229404 0.702937 +vt 0.234920 0.700095 +vt 0.231571 0.691806 +vt 0.234920 0.700095 +vt 0.230921 0.691796 +vt 0.231141 0.677737 +vt 0.231396 0.715193 +vt 0.243100 0.700083 +vt 0.229404 0.702937 +vt 0.231396 0.715193 +vt 0.225224 0.715193 +vt 0.229404 0.702937 +vt 0.231396 0.715193 +vt 0.224609 0.709192 +vt 0.229404 0.702937 +vt 0.222321 0.712340 +vt 0.224240 0.708099 +vt 0.222398 0.711537 +vt 0.236106 0.643545 +vt 0.236106 0.643545 +vt 0.232985 0.647381 +vt 0.236106 0.643545 +vt 0.230921 0.691796 +vt 0.229404 0.702937 +vt 0.228801 0.700192 +vt 0.231571 0.691806 +vt 0.229404 0.702937 +vt 0.230921 0.691796 +vt 0.231141 0.677737 +vt 0.231571 0.691806 +vt 0.230921 0.691796 +vt 0.231571 0.691806 +vt 0.231141 0.677737 +vt 0.227951 0.660994 +vt 0.231141 0.677737 +vt 0.228722 0.661020 +vt 0.227951 0.660994 +vt 0.225224 0.715193 +vt 0.224609 0.709192 +vt 0.225224 0.715193 +vt 0.224240 0.708099 +vt 0.224609 0.709192 +vt 0.222321 0.712340 +vt 0.224609 0.709192 +vt 0.224240 0.708099 +vt 0.222398 0.711537 +vt 0.222321 0.712340 +vt 0.224240 0.708099 +vt 0.221443 0.715192 +vt 0.222321 0.712340 +vt 0.222398 0.711537 +vt 0.319293 0.715793 +vt 0.305919 0.662734 +vt 0.305529 0.715784 +vt 0.288869 0.659900 +vt 0.288869 0.715783 +vt 0.305529 0.715784 +vt 0.317239 0.625221 +vt 0.321631 0.641335 +vt 0.323197 0.649641 +vt 0.323331 0.627267 +vt 0.321631 0.641335 +vt 0.320599 0.619805 +vt 0.305709 0.611968 +vt 0.316941 0.623626 +vt 0.305709 0.611968 +vt 0.234920 0.700095 +vt 0.233618 0.672882 +vt 0.234920 0.700095 +vt 0.232985 0.647381 +vt 0.233618 0.672882 +vt 0.230853 0.653785 +vt 0.233618 0.672882 +vt 0.232985 0.647381 +vt 0.230853 0.653785 +vt 0.232985 0.647381 +vt 0.230853 0.653785 +vt 0.228327 0.623060 +vt 0.234284 0.632384 +vt 0.230543 0.634953 +vt 0.231888 0.617812 +vt 0.234284 0.632384 +vt 0.228327 0.623060 +vt 0.228338 0.612392 +vt 0.231888 0.617812 +vt 0.228327 0.623060 +vt 0.229904 0.607124 +vt 0.231888 0.617812 +vt 0.228338 0.612392 +vt 0.229615 0.601353 +vt 0.229904 0.607124 +vt 0.228338 0.612392 +vt 0.316969 0.669026 +vt 0.319293 0.715793 +vt 0.327860 0.715838 +vt 0.305919 0.662734 +vt 0.319293 0.715793 +vt 0.316969 0.669026 +vt 0.304550 0.647416 +vt 0.305919 0.662734 +vt 0.316969 0.669026 +vt 0.305919 0.662734 +vt 0.304550 0.647416 +vt 0.304550 0.647416 +vt 0.299427 0.701017 +vt 0.299241 0.701017 +vt 0.298630 0.701016 +vt 0.297901 0.698266 +vt 0.299477 0.698269 +vt 0.299270 0.695234 +vt 0.299434 0.694861 +vt 0.299325 0.698268 +vt 0.299270 0.695234 +vt 0.299477 0.698269 +vt 0.299427 0.701017 +vt 0.299325 0.698268 +vt 0.299477 0.698269 +vt 0.299241 0.701017 +vt 0.299325 0.698268 +vt 0.299427 0.701017 +vt 0.232985 0.647381 +vt 0.228819 0.630748 +vt 0.228819 0.630748 +vt 0.228819 0.630748 +vt 0.317239 0.625221 +vt 0.323331 0.627267 +vt 0.317239 0.625221 +vt 0.323331 0.627267 +vt 0.323331 0.627267 +vt 0.323331 0.627267 +vt 0.316186 0.611512 +vt 0.317239 0.625221 +vt 0.320599 0.619805 +vt 0.316186 0.611512 +vt 0.323331 0.627267 +vt 0.320599 0.619805 +vt 0.323331 0.627267 +vt 0.320599 0.619805 +vt 0.319930 0.626074 +vt 0.316941 0.623626 +vt 0.319930 0.626074 +vt 0.323789 0.643405 +vt 0.319930 0.626074 +vt 0.321631 0.641335 +vt 0.323789 0.643405 +vt 0.236501 0.604771 +vt 0.237167 0.626310 +vt 0.234945 0.610245 +vt 0.238806 0.622268 +vt 0.237167 0.626310 +vt 0.236501 0.604771 +vt 0.227783 0.620581 +vt 0.238806 0.622268 +vt 0.236501 0.604771 +vt 0.230660 0.633204 +vt 0.238806 0.622268 +vt 0.227783 0.620581 +vt 0.233150 0.599264 +vt 0.234945 0.610245 +vt 0.232536 0.605955 +vt 0.236501 0.604771 +vt 0.234945 0.610245 +vt 0.233150 0.599264 +vt 0.227607 0.609439 +vt 0.236501 0.604771 +vt 0.233150 0.599264 +vt 0.227783 0.620581 +vt 0.236501 0.604771 +vt 0.227607 0.609439 +vt 0.299325 0.698268 +vt 0.298748 0.695231 +vt 0.299270 0.695234 +vt 0.298736 0.698267 +vt 0.298748 0.695231 +vt 0.299325 0.698268 +vt 0.299241 0.701017 +vt 0.298736 0.698267 +vt 0.299325 0.698268 +vt 0.298630 0.701016 +vt 0.298736 0.698267 +vt 0.299241 0.701017 +vt 0.298736 0.698267 +vt 0.297908 0.695230 +vt 0.298748 0.695231 +vt 0.297908 0.695230 +vt 0.298736 0.698267 +vt 0.298630 0.701016 +vt 0.298736 0.698267 +vt 0.298630 0.701016 +vt 0.223416 0.637887 +vt 0.223416 0.637887 +vt 0.223416 0.637887 +vt 0.231752 0.677752 +vt 0.233618 0.672882 +vt 0.230853 0.653785 +vt 0.234920 0.700095 +vt 0.233618 0.672882 +vt 0.231752 0.677752 +vt 0.234920 0.700095 +vt 0.231752 0.677752 +vt 0.297908 0.695230 +vt 0.296891 0.695230 +vt 0.297908 0.695230 +vt 0.321572 0.661397 +vt 0.327737 0.683314 +vt 0.325152 0.665610 +vt 0.325655 0.678869 +vt 0.327737 0.683314 +vt 0.321572 0.661397 +vt 0.310423 0.656822 +vt 0.325655 0.678869 +vt 0.321572 0.661397 +vt 0.300287 0.634182 +vt 0.306171 0.630229 +vt 0.301453 0.616643 +vt 0.304550 0.647416 +vt 0.306171 0.630229 +vt 0.300287 0.634182 +vt 0.304550 0.647416 +vt 0.300287 0.634182 +vt 0.294388 0.645638 +vt 0.294388 0.645638 +vt 0.284257 0.645679 +vt 0.294388 0.645638 +vt 0.227771 0.640522 +vt 0.238403 0.660810 +vt 0.224185 0.639783 +vt 0.225577 0.631483 +vt 0.227771 0.640522 +vt 0.225100 0.627743 +vt 0.225577 0.631483 +vt 0.224185 0.639783 +vt 0.225100 0.627743 +vt 0.224185 0.639783 +vt 0.223970 0.650912 +vt 0.227951 0.660994 +vt 0.230660 0.633204 +vt 0.228722 0.661020 +vt 0.227951 0.660994 +vt 0.223970 0.650912 +vt 0.224594 0.650461 +vt 0.228722 0.661020 +vt 0.223970 0.650912 +vt 0.329946 0.705627 +vt 0.327860 0.715838 +vt 0.330536 0.711394 +vt 0.327737 0.683314 +vt 0.327860 0.715838 +vt 0.329946 0.705627 +vt 0.232985 0.647381 +vt 0.236106 0.643545 +vt 0.232985 0.647381 +vt 0.318250 0.645504 +vt 0.310423 0.656822 +vt 0.321572 0.661397 +vt 0.313454 0.636135 +vt 0.310423 0.656822 +vt 0.318250 0.645504 +vt 0.307441 0.682732 +vt 0.314866 0.705777 +vt 0.314815 0.688690 +vt 0.307594 0.710874 +vt 0.305529 0.715784 +vt 0.305919 0.662734 +vt 0.319293 0.715793 +vt 0.305919 0.662734 +vt 0.305529 0.715784 +vt 0.295518 0.627399 +vt 0.300287 0.634182 +vt 0.301453 0.616643 +vt 0.300287 0.634182 +vt 0.295518 0.627399 +vt 0.294388 0.645638 +vt 0.294388 0.645638 +vt 0.228801 0.700192 +vt 0.224240 0.708099 +vt 0.228801 0.700192 +vt 0.225224 0.715193 +vt 0.222321 0.712340 +vt 0.224609 0.709192 +vt 0.222321 0.712340 +vt 0.225224 0.715193 +vt 0.247268 0.715192 +vt 0.243100 0.700083 +vt 0.247793 0.700074 +vt 0.231396 0.715193 +vt 0.243100 0.700083 +vt 0.247268 0.715192 +vt 0.297796 0.701016 +vt 0.297901 0.698266 +vt 0.297901 0.698266 +vt 0.297796 0.701016 +vt 0.314866 0.705777 +vt 0.307441 0.682732 +vt 0.314815 0.688690 +vt 0.307594 0.710874 +vt 0.307441 0.682732 +vt 0.314866 0.705777 +vt 0.221443 0.715192 +vt 0.221443 0.715192 +vt 0.229404 0.702937 +vt 0.229404 0.702937 +vt 0.320599 0.619805 +vt 0.316186 0.611512 +vt 0.320599 0.619805 +vt 0.304741 0.601454 +vt 0.316186 0.611512 +vt 0.304741 0.601454 +vt 0.231571 0.691806 +vt 0.229404 0.702937 +vt 0.231571 0.691806 +vt 0.231752 0.677752 +vt 0.230853 0.653785 +vt 0.231752 0.677752 +vt 0.231752 0.677752 +vt 0.231752 0.677752 +vt 0.243344 0.675418 +vt 0.242563 0.655225 +vt 0.243293 0.658332 +vt 0.330536 0.711394 +vt 0.243344 0.675418 +vt 0.243293 0.658332 +vt 0.242563 0.655225 +vt 0.223416 0.637887 +vt 0.228819 0.630748 +vt 0.307710 0.635953 +vt 0.310423 0.656822 +vt 0.313454 0.636135 +vt 0.294388 0.645638 +vt 0.238403 0.660810 +vt 0.238806 0.622268 +vt 0.239621 0.639410 +vt 0.237167 0.626310 +vt 0.193937 0.930962 +vt 0.200375 0.939944 +vt 0.200525 0.930736 +vt 0.193898 0.940786 +vt 0.186536 0.929962 +vt 0.186590 0.940223 +vt 0.179120 0.930972 +vt 0.179078 0.940843 +vt 0.172090 0.930750 +vt 0.172037 0.940043 +vt 0.186539 0.920029 +vt 0.193963 0.920208 +vt 0.179104 0.920435 +vt 0.172027 0.922441 +vt 0.153653 0.936535 +vt 0.163016 0.935852 +vt 0.162973 0.943792 +vt 0.163048 0.928211 +vt 0.153644 0.916930 +vt 0.163162 0.908601 +vt 0.153624 0.875007 +vt 0.163275 0.873028 +vt 0.143363 0.936535 +vt 0.143363 0.879940 +vt 0.227036 0.936751 +vt 0.217259 0.876626 +vt 0.227026 0.879940 +vt 0.216489 0.936560 +vt 0.193963 0.920208 +vt 0.194021 0.897027 +vt 0.200581 0.923264 +vt 0.186546 0.898576 +vt 0.193963 0.920208 +vt 0.186539 0.920029 +vt 0.193963 0.920208 +vt 0.179072 0.898666 +vt 0.186539 0.920029 +vt 0.179104 0.920435 +vt 0.186539 0.920029 +vt 0.171849 0.900852 +vt 0.179104 0.920435 +vt 0.172027 0.922441 +vt 0.179104 0.920435 +vt 0.208991 0.885973 +vt 0.209032 0.920106 +vt 0.209050 0.935880 +vt 0.200740 0.902185 +vt 0.172090 0.930750 +vt 0.172027 0.922441 +vt 0.172090 0.930750 +vt 0.172027 0.922441 +vt 0.172027 0.922441 +vt 0.200525 0.930736 +vt 0.200898 0.881107 +vt 0.153624 0.875007 +vt 0.143363 0.869357 +vt 0.143363 0.879940 +vt 0.153620 0.865420 +vt 0.153624 0.875007 +vt 0.163275 0.873028 +vt 0.153624 0.875007 +vt 0.163311 0.864364 +vt 0.163275 0.873028 +vt 0.171670 0.875272 +vt 0.163275 0.873028 +vt 0.171587 0.864228 +vt 0.179040 0.876896 +vt 0.179023 0.865367 +vt 0.186552 0.877123 +vt 0.186555 0.867048 +vt 0.194078 0.873847 +vt 0.194104 0.863247 +vt 0.200898 0.881107 +vt 0.200983 0.869752 +vt 0.200898 0.881107 +vt 0.208991 0.885973 +vt 0.200898 0.881107 +vt 0.208973 0.870845 +vt 0.208991 0.885973 +vt 0.217259 0.876626 +vt 0.208991 0.885973 +vt 0.217409 0.864958 +vt 0.217259 0.876626 +vt 0.227026 0.879940 +vt 0.217259 0.876626 +vt 0.227026 0.869357 +vt 0.227026 0.879940 +vt 0.143432 0.857319 +vt 0.153616 0.857133 +vt 0.163344 0.856449 +vt 0.171522 0.855699 +vt 0.179007 0.855211 +vt 0.186559 0.854939 +vt 0.194075 0.855219 +vt 0.194012 0.844397 +vt 0.201188 0.843044 +vt 0.194062 0.833646 +vt 0.201239 0.830865 +vt 0.194470 0.744862 +vt 0.201590 0.746439 +vt 0.186935 0.745699 +vt 0.186576 0.834714 +vt 0.179572 0.744848 +vt 0.179033 0.837246 +vt 0.171637 0.746419 +vt 0.171519 0.837870 +vt 0.161340 0.747274 +vt 0.163011 0.841408 +vt 0.151935 0.747861 +vt 0.153283 0.841493 +vt 0.143363 0.748025 +vt 0.143363 0.840723 +vt 0.186530 0.846171 +vt 0.178971 0.848020 +vt 0.171503 0.850223 +vt 0.163195 0.851774 +vt 0.153417 0.850824 +vt 0.143363 0.849792 +vt 0.171849 0.900852 +vt 0.163275 0.873028 +vt 0.163162 0.908601 +vt 0.163275 0.873028 +vt 0.171849 0.900852 +vt 0.179072 0.898666 +vt 0.171849 0.900852 +vt 0.179072 0.898666 +vt 0.186546 0.898576 +vt 0.179072 0.898666 +vt 0.186546 0.898576 +vt 0.194021 0.897027 +vt 0.186546 0.898576 +vt 0.194021 0.897027 +vt 0.200740 0.902185 +vt 0.194021 0.897027 +vt 0.200898 0.881107 +vt 0.200740 0.902185 +vt 0.217429 0.747861 +vt 0.227026 0.840723 +vt 0.227026 0.748025 +vt 0.217539 0.836306 +vt 0.210524 0.747311 +vt 0.209201 0.832707 +vt 0.227026 0.849792 +vt 0.217553 0.847070 +vt 0.209024 0.844133 +vt 0.208737 0.856468 +vt 0.201181 0.855708 +vt 0.217549 0.857155 +vt 0.227026 0.857319 +vt 0.330899 0.433803 +vt 0.330899 0.449614 +vt 0.323620 0.449614 +vt 0.323620 0.449614 +vt 0.323620 0.433803 +vt 0.323620 0.449614 +vt 0.315590 0.449614 +vt 0.323620 0.449614 +vt 0.315590 0.433803 +vt 0.308829 0.449614 +vt 0.308829 0.433803 +vt 0.301540 0.449614 +vt 0.301540 0.433803 +vt 0.295151 0.449614 +vt 0.295151 0.433803 +vt 0.288067 0.449614 +vt 0.288067 0.433803 +vt 0.295151 0.433803 +vt 0.295151 0.417163 +vt 0.295151 0.433803 +vt 0.301540 0.417163 +vt 0.295151 0.433803 +vt 0.323620 0.433803 +vt 0.315590 0.449614 +vt 0.323620 0.433803 +vt 0.330899 0.417163 +vt 0.323620 0.433803 +vt 0.323620 0.417163 +vt 0.315590 0.417163 +vt 0.308829 0.417163 +vt 0.301540 0.417163 +vt 0.301540 0.417163 +vt 0.295151 0.417163 +vt 0.301540 0.417163 +vt 0.295151 0.417163 +vt 0.288067 0.417163 +vt 0.295151 0.417163 +vt 0.239121 0.448260 +vt 0.238299 0.422809 +vt 0.253440 0.422809 +vt 0.220085 0.422810 +vt 0.220085 0.450906 +vt 0.239121 0.448260 +vt 0.239121 0.459909 +vt 0.239121 0.448260 +vt 0.250234 0.455676 +vt 0.239121 0.448260 +vt 0.190404 0.704317 +vt 0.190404 0.678124 +vt 0.169617 0.670912 +vt 0.205779 0.685776 +vt 0.205779 0.722461 +vt 0.210809 0.705833 +vt 0.219455 0.725883 +vt 0.250234 0.445647 +vt 0.253440 0.432001 +vt 0.250234 0.455676 +vt 0.239121 0.459909 +vt 0.250234 0.455676 +vt 0.092911 0.908808 +vt 0.086493 0.908808 +vt 0.092911 0.923992 +vt 0.086493 0.893181 +vt 0.092911 0.893180 +vt 0.092911 0.878515 +vt 0.086493 0.940540 +vt 0.092911 0.940540 +vt 0.092911 0.958040 +vt 0.086493 0.958041 +vt 0.086493 0.972121 +vt 0.092911 0.972121 +vt 0.092911 0.958040 +vt 0.086493 0.958041 +vt 0.092911 0.958040 +vt 0.086493 0.940540 +vt 0.092911 0.958040 +vt 0.086493 0.958041 +vt 0.086493 0.940540 +vt 0.092911 0.940540 +vt 0.092911 0.958040 +vt 0.092911 0.923992 +vt 0.092911 0.940540 +vt 0.086493 0.940540 +vt 0.086493 0.923992 +vt 0.092911 0.923992 +vt 0.086493 0.940540 +vt 0.086493 0.908808 +vt 0.092911 0.923992 +vt 0.086493 0.893181 +vt 0.092911 0.893180 +vt 0.092911 0.908808 +vt 0.092911 0.893180 +vt 0.086493 0.893181 +vt 0.086493 0.878515 +vt 0.086493 0.893181 +vt 0.295151 0.433803 +vt 0.295151 0.449614 +vt 0.301540 0.433803 +vt 0.295151 0.449614 +vt 0.295151 0.433803 +vt 0.301540 0.433803 +vt 0.295151 0.433803 +vt 0.308829 0.417163 +vt 0.301540 0.433803 +vt 0.301540 0.433803 +vt 0.301540 0.449614 +vt 0.295151 0.449614 +vt 0.308829 0.433803 +vt 0.301540 0.449614 +vt 0.301540 0.433803 +vt 0.308829 0.417163 +vt 0.308829 0.433803 +vt 0.301540 0.433803 +vt 0.315590 0.417163 +vt 0.308829 0.433803 +vt 0.308829 0.417163 +vt 0.308829 0.433803 +vt 0.308829 0.449614 +vt 0.301540 0.449614 +vt 0.315590 0.433803 +vt 0.308829 0.449614 +vt 0.308829 0.433803 +vt 0.315590 0.417163 +vt 0.315590 0.433803 +vt 0.308829 0.433803 +vt 0.323620 0.417163 +vt 0.315590 0.433803 +vt 0.315590 0.417163 +vt 0.315590 0.433803 +vt 0.315590 0.449614 +vt 0.308829 0.449614 +vt 0.323620 0.433803 +vt 0.315590 0.449614 +vt 0.315590 0.433803 +vt 0.323620 0.417163 +vt 0.323620 0.433803 +vt 0.315590 0.433803 +vt 0.323620 0.433803 +vt 0.323620 0.417163 +vt 0.205779 0.722461 +vt 0.219455 0.725883 +vt 0.214339 0.738780 +vt 0.210809 0.705833 +vt 0.219455 0.725883 +vt 0.205779 0.722461 +vt 0.205779 0.685776 +vt 0.210809 0.705833 +vt 0.205779 0.722461 +vt 0.190404 0.704317 +vt 0.205779 0.685776 +vt 0.205779 0.722461 +vt 0.190404 0.678124 +vt 0.205779 0.685776 +vt 0.190404 0.704317 +vt 0.190404 0.678124 +vt 0.190404 0.704317 +vt 0.253440 0.422809 +vt 0.261637 0.432001 +vt 0.261637 0.422809 +vt 0.253440 0.432001 +vt 0.253440 0.422809 +vt 0.250234 0.445647 +vt 0.253440 0.432001 +vt 0.253440 0.422809 +vt 0.169617 0.694314 +vt 0.190404 0.704317 +vt 0.261637 0.432001 +vt 0.261637 0.422809 +vt 0.261637 0.432001 +vt 0.239121 0.459909 +vt 0.220085 0.461954 +vt 0.239121 0.459909 +vt 0.250234 0.445647 +vt 0.239121 0.448260 +vt 0.253440 0.422809 +vt 0.239121 0.448260 +vt 0.250234 0.445647 +vt 0.238299 0.422809 +vt 0.239121 0.448260 +vt 0.253440 0.422809 +vt 0.239121 0.448260 +vt 0.238299 0.422809 +vt 0.086493 0.923992 +vt 0.086493 0.923992 +vt 0.086493 0.908808 +vt 0.092911 0.908808 +vt 0.092911 0.923992 +vt 0.086493 0.893181 +vt 0.092911 0.908808 +vt 0.086493 0.908808 +vt 0.214339 0.738780 +vt 0.200525 0.930736 +vt 0.193963 0.920208 +vt 0.193937 0.930962 +vt 0.193963 0.920208 +vt 0.200525 0.930736 +vt 0.200375 0.939944 +vt 0.193937 0.930962 +vt 0.200525 0.930736 +vt 0.193898 0.940786 +vt 0.193937 0.930962 +vt 0.200375 0.939944 +vt 0.179120 0.930972 +vt 0.186590 0.940223 +vt 0.179078 0.940843 +vt 0.186536 0.929962 +vt 0.186590 0.940223 +vt 0.179120 0.930972 +vt 0.179104 0.920435 +vt 0.186536 0.929962 +vt 0.179120 0.930972 +vt 0.186539 0.920029 +vt 0.186536 0.929962 +vt 0.179104 0.920435 +vt 0.186536 0.929962 +vt 0.193898 0.940786 +vt 0.186590 0.940223 +vt 0.193937 0.930962 +vt 0.193898 0.940786 +vt 0.186536 0.929962 +vt 0.186539 0.920029 +vt 0.193937 0.930962 +vt 0.186536 0.929962 +vt 0.193963 0.920208 +vt 0.193937 0.930962 +vt 0.186539 0.920029 +vt 0.179120 0.930972 +vt 0.172027 0.922441 +vt 0.179104 0.920435 +vt 0.172090 0.930750 +vt 0.172027 0.922441 +vt 0.179120 0.930972 +vt 0.172011 0.945279 +vt 0.171985 0.950515 +vt 0.172037 0.940043 +vt 0.172037 0.940043 +vt 0.172090 0.930750 +vt 0.172037 0.940043 +vt 0.172037 0.940043 +vt 0.179058 0.945779 +vt 0.179078 0.940843 +vt 0.172037 0.940043 +vt 0.172090 0.930750 +vt 0.179078 0.940843 +vt 0.172037 0.940043 +vt 0.179120 0.930972 +vt 0.179078 0.940843 +vt 0.172090 0.930750 +vt 0.200299 0.944547 +vt 0.193898 0.940786 +vt 0.200375 0.939944 +vt 0.193879 0.945698 +vt 0.193898 0.940786 +vt 0.186590 0.940223 +vt 0.193898 0.940786 +vt 0.186618 0.945353 +vt 0.186590 0.940223 +vt 0.179078 0.940843 +vt 0.186590 0.940223 +vt 0.179078 0.940843 +vt 0.175598 0.977697 +vt 0.171985 0.950515 +vt 0.170005 0.978102 +vt 0.179037 0.950715 +vt 0.171985 0.950515 +vt 0.183547 0.982359 +vt 0.186645 0.950484 +vt 0.189970 0.986595 +vt 0.193860 0.950609 +vt 0.196637 0.991176 +vt 0.200224 0.949151 +vt 0.203572 0.994848 +vt 0.190404 0.678124 +vt 0.205779 0.667592 +vt 0.205779 0.685776 +vt 0.190404 0.653483 +vt 0.190404 0.678124 +vt 0.190404 0.678124 +vt 0.169617 0.646872 +vt 0.190404 0.653483 +vt 0.190404 0.643867 +vt 0.190404 0.653483 +vt 0.205779 0.658892 +vt 0.190404 0.653483 +vt 0.205779 0.632017 +vt 0.205779 0.658892 +vt 0.190404 0.643867 +vt 0.205779 0.658892 +vt 0.190404 0.643867 +vt 0.169617 0.636775 +vt 0.190404 0.643867 +vt 0.190404 0.616391 +vt 0.205779 0.611680 +vt 0.196637 0.991176 +vt 0.200224 0.949151 +vt 0.203572 0.994848 +vt 0.193860 0.950609 +vt 0.200224 0.949151 +vt 0.196637 0.991176 +vt 0.189970 0.986595 +vt 0.193860 0.950609 +vt 0.196637 0.991176 +vt 0.186645 0.950484 +vt 0.193860 0.950609 +vt 0.189970 0.986595 +vt 0.183547 0.982359 +vt 0.186645 0.950484 +vt 0.189970 0.986595 +vt 0.179037 0.950715 +vt 0.186645 0.950484 +vt 0.183547 0.982359 +vt 0.175598 0.977697 +vt 0.179037 0.950715 +vt 0.183547 0.982359 +vt 0.190404 0.643867 +vt 0.205779 0.632017 +vt 0.205779 0.658892 +vt 0.190404 0.616391 +vt 0.205779 0.632017 +vt 0.190404 0.643867 +vt 0.190404 0.616391 +vt 0.190404 0.643867 +vt 0.169617 0.609780 +vt 0.190404 0.616391 +vt 0.238299 0.515802 +vt 0.239121 0.459909 +vt 0.250234 0.455676 +vt 0.239121 0.459909 +vt 0.220085 0.512797 +vt 0.238299 0.515802 +vt 0.190404 0.595815 +vt 0.169617 0.591121 +vt 0.190404 0.595815 +vt 0.190404 0.616391 +vt 0.205779 0.611680 +vt 0.205779 0.632017 +vt 0.190404 0.595815 +vt 0.205779 0.611680 +vt 0.190404 0.616391 +vt 0.190404 0.595815 +vt 0.190404 0.616391 +vt 0.190404 0.653483 +vt 0.205779 0.667592 +vt 0.205779 0.667592 +vt 0.190404 0.653483 +vt 0.190404 0.653483 +vt 0.175598 0.977697 +vt 0.170005 0.978102 +vt 0.179037 0.950715 +vt 0.175598 0.977697 +vt 0.238299 0.515802 +vt 0.238299 0.515802 +vt 0.205779 0.667592 +vt 0.201239 0.830865 +vt 0.194470 0.744862 +vt 0.201590 0.746439 +vt 0.194062 0.833646 +vt 0.194470 0.744862 +vt 0.201239 0.830865 +vt 0.201188 0.843044 +vt 0.194062 0.833646 +vt 0.201239 0.830865 +vt 0.194012 0.844397 +vt 0.194062 0.833646 +vt 0.201188 0.843044 +vt 0.194075 0.855219 +vt 0.194012 0.844397 +vt 0.201188 0.843044 +vt 0.186559 0.854939 +vt 0.194012 0.844397 +vt 0.194075 0.855219 +vt 0.186555 0.867048 +vt 0.186559 0.854939 +vt 0.194075 0.855219 +vt 0.179007 0.855211 +vt 0.186559 0.854939 +vt 0.186555 0.867048 +vt 0.179023 0.865367 +vt 0.179007 0.855211 +vt 0.186555 0.867048 +vt 0.171522 0.855699 +vt 0.179007 0.855211 +vt 0.179023 0.865367 +vt 0.171587 0.864228 +vt 0.171522 0.855699 +vt 0.179023 0.865367 +vt 0.163344 0.856449 +vt 0.171522 0.855699 +vt 0.171587 0.864228 +vt 0.163311 0.864364 +vt 0.163344 0.856449 +vt 0.171587 0.864228 +vt 0.153616 0.857133 +vt 0.163344 0.856449 +vt 0.163311 0.864364 +vt 0.153620 0.865420 +vt 0.153616 0.857133 +vt 0.163311 0.864364 +vt 0.143432 0.857319 +vt 0.153616 0.857133 +vt 0.153620 0.865420 +vt 0.143363 0.869357 +vt 0.143432 0.857319 +vt 0.153620 0.865420 +vt 0.227026 0.840723 +vt 0.217429 0.747861 +vt 0.227026 0.748025 +vt 0.217539 0.836306 +vt 0.217429 0.747861 +vt 0.227026 0.840723 +vt 0.227026 0.849792 +vt 0.217539 0.836306 +vt 0.227026 0.840723 +vt 0.217553 0.847070 +vt 0.217539 0.836306 +vt 0.227026 0.849792 +vt 0.217549 0.857155 +vt 0.217553 0.847070 +vt 0.227026 0.849792 +vt 0.209024 0.844133 +vt 0.217553 0.847070 +vt 0.217549 0.857155 +vt 0.208737 0.856468 +vt 0.209024 0.844133 +vt 0.217549 0.857155 +vt 0.201188 0.843044 +vt 0.209024 0.844133 +vt 0.208737 0.856468 +vt 0.201181 0.855708 +vt 0.201188 0.843044 +vt 0.208737 0.856468 +vt 0.194075 0.855219 +vt 0.201188 0.843044 +vt 0.201181 0.855708 +vt 0.200983 0.869752 +vt 0.194075 0.855219 +vt 0.201181 0.855708 +vt 0.194104 0.863247 +vt 0.194075 0.855219 +vt 0.200983 0.869752 +vt 0.194104 0.863247 +vt 0.200983 0.869752 +vt 0.194078 0.873847 +vt 0.194104 0.863247 +vt 0.194078 0.873847 +vt 0.194078 0.873847 +vt 0.179033 0.837246 +vt 0.171637 0.746419 +vt 0.179572 0.744848 +vt 0.171519 0.837870 +vt 0.171637 0.746419 +vt 0.179033 0.837246 +vt 0.178971 0.848020 +vt 0.171519 0.837870 +vt 0.179033 0.837246 +vt 0.171503 0.850223 +vt 0.171519 0.837870 +vt 0.178971 0.848020 +vt 0.171522 0.855699 +vt 0.171503 0.850223 +vt 0.178971 0.848020 +vt 0.163195 0.851774 +vt 0.171503 0.850223 +vt 0.171522 0.855699 +vt 0.163344 0.856449 +vt 0.163195 0.851774 +vt 0.171522 0.855699 +vt 0.153417 0.850824 +vt 0.163195 0.851774 +vt 0.163344 0.856449 +vt 0.153616 0.857133 +vt 0.153417 0.850824 +vt 0.163344 0.856449 +vt 0.143432 0.857319 +vt 0.153417 0.850824 +vt 0.153616 0.857133 +vt 0.194062 0.833646 +vt 0.186935 0.745699 +vt 0.194470 0.744862 +vt 0.186576 0.834714 +vt 0.186935 0.745699 +vt 0.194062 0.833646 +vt 0.194012 0.844397 +vt 0.186576 0.834714 +vt 0.194062 0.833646 +vt 0.186530 0.846171 +vt 0.186576 0.834714 +vt 0.194012 0.844397 +vt 0.186559 0.854939 +vt 0.186530 0.846171 +vt 0.194012 0.844397 +vt 0.179007 0.855211 +vt 0.186530 0.846171 +vt 0.186559 0.854939 +vt 0.186576 0.834714 +vt 0.179572 0.744848 +vt 0.186935 0.745699 +vt 0.179033 0.837246 +vt 0.179572 0.744848 +vt 0.186576 0.834714 +vt 0.186530 0.846171 +vt 0.179033 0.837246 +vt 0.186576 0.834714 +vt 0.178971 0.848020 +vt 0.179033 0.837246 +vt 0.186530 0.846171 +vt 0.179007 0.855211 +vt 0.178971 0.848020 +vt 0.186530 0.846171 +vt 0.171522 0.855699 +vt 0.178971 0.848020 +vt 0.179007 0.855211 +vt 0.153283 0.841493 +vt 0.143363 0.748025 +vt 0.151935 0.747861 +vt 0.143363 0.840723 +vt 0.143363 0.748025 +vt 0.153283 0.841493 +vt 0.153417 0.850824 +vt 0.143363 0.840723 +vt 0.153283 0.841493 +vt 0.143363 0.849792 +vt 0.143363 0.840723 +vt 0.153417 0.850824 +vt 0.143432 0.857319 +vt 0.143363 0.849792 +vt 0.153417 0.850824 +vt 0.186552 0.877123 +vt 0.194078 0.873847 +vt 0.186552 0.877123 +vt 0.186555 0.867048 +vt 0.194078 0.873847 +vt 0.186552 0.877123 +vt 0.194104 0.863247 +vt 0.194078 0.873847 +vt 0.186555 0.867048 +vt 0.194075 0.855219 +vt 0.194104 0.863247 +vt 0.186555 0.867048 +vt 0.217409 0.864958 +vt 0.227026 0.869357 +vt 0.217409 0.864958 +vt 0.217549 0.857155 +vt 0.227026 0.869357 +vt 0.217409 0.864958 +vt 0.227026 0.857319 +vt 0.227026 0.869357 +vt 0.217549 0.857155 +vt 0.227026 0.849792 +vt 0.227026 0.857319 +vt 0.217549 0.857155 +vt 0.217539 0.836306 +vt 0.210524 0.747311 +vt 0.217429 0.747861 +vt 0.209201 0.832707 +vt 0.210524 0.747311 +vt 0.217539 0.836306 +vt 0.217553 0.847070 +vt 0.209201 0.832707 +vt 0.217539 0.836306 +vt 0.209024 0.844133 +vt 0.209201 0.832707 +vt 0.217553 0.847070 +vt 0.209201 0.832707 +vt 0.201590 0.746439 +vt 0.210524 0.747311 +vt 0.201239 0.830865 +vt 0.201590 0.746439 +vt 0.209201 0.832707 +vt 0.209024 0.844133 +vt 0.201239 0.830865 +vt 0.209201 0.832707 +vt 0.201188 0.843044 +vt 0.201239 0.830865 +vt 0.209024 0.844133 +vt 0.171519 0.837870 +vt 0.161340 0.747274 +vt 0.171637 0.746419 +vt 0.163011 0.841408 +vt 0.161340 0.747274 +vt 0.171519 0.837870 +vt 0.171503 0.850223 +vt 0.163011 0.841408 +vt 0.171519 0.837870 +vt 0.163195 0.851774 +vt 0.163011 0.841408 +vt 0.171503 0.850223 +vt 0.163011 0.841408 +vt 0.151935 0.747861 +vt 0.161340 0.747274 +vt 0.153283 0.841493 +vt 0.151935 0.747861 +vt 0.163011 0.841408 +vt 0.163195 0.851774 +vt 0.153283 0.841493 +vt 0.163011 0.841408 +vt 0.153417 0.850824 +vt 0.153283 0.841493 +vt 0.163195 0.851774 +vt 0.171670 0.875272 +vt 0.163311 0.864364 +vt 0.171670 0.875272 +vt 0.171587 0.864228 +vt 0.171670 0.875272 +vt 0.163311 0.864364 +vt 0.171670 0.875272 +vt 0.179040 0.876896 +vt 0.171670 0.875272 +vt 0.171587 0.864228 +vt 0.179040 0.876896 +vt 0.171670 0.875272 +vt 0.179023 0.865367 +vt 0.179040 0.876896 +vt 0.171587 0.864228 +vt 0.179040 0.876896 +vt 0.186552 0.877123 +vt 0.179040 0.876896 +vt 0.179023 0.865367 +vt 0.186552 0.877123 +vt 0.179040 0.876896 +vt 0.186555 0.867048 +vt 0.186552 0.877123 +vt 0.179023 0.865367 +vt 0.200983 0.869752 +vt 0.208973 0.870845 +vt 0.200983 0.869752 +vt 0.201181 0.855708 +vt 0.208973 0.870845 +vt 0.200983 0.869752 +vt 0.208737 0.856468 +vt 0.208973 0.870845 +vt 0.201181 0.855708 +vt 0.208973 0.870845 +vt 0.217409 0.864958 +vt 0.208973 0.870845 +vt 0.208737 0.856468 +vt 0.217409 0.864958 +vt 0.208973 0.870845 +vt 0.217549 0.857155 +vt 0.217409 0.864958 +vt 0.208737 0.856468 +vt 0.220085 0.583205 +vt 0.238299 0.515802 +vt 0.143363 0.869357 +vt 0.153620 0.865420 +vt 0.143363 0.869357 +vt 0.153620 0.865420 +vt 0.163311 0.864364 +vt 0.153620 0.865420 +vt 0.190404 0.595815 +vt 0.205779 0.584878 +vt 0.205779 0.611680 +vt 0.190404 0.565068 +vt 0.190404 0.595815 +vt 0.190404 0.595815 +vt 0.169617 0.558457 +vt 0.190404 0.565068 +vt 0.169617 0.457531 +vt 0.190404 0.565068 +vt 0.190404 0.466074 +vt 0.190404 0.565068 +vt 0.162505 0.949154 +vt 0.162203 0.954468 +vt 0.170005 0.978102 +vt 0.157354 0.978102 +vt 0.170005 0.978102 +vt 0.190404 0.565068 +vt 0.203848 0.476969 +vt 0.205779 0.584878 +vt 0.190404 0.565068 +vt 0.205779 0.584878 +vt 0.190404 0.565068 +vt 0.205779 0.584878 +vt 0.190404 0.466074 +vt 0.203848 0.476969 +vt 0.190404 0.466074 +vt 0.203848 0.476969 +vt 0.190404 0.565068 +vt 0.143673 0.977604 +vt 0.141866 0.954468 +vt 0.141866 0.977604 +vt 0.143673 0.954468 +vt 0.150470 0.977604 +vt 0.150470 0.954468 +vt 0.157354 0.978102 +vt 0.162203 0.954468 +vt 0.157354 0.978102 +vt 0.218406 0.953961 +vt 0.227036 0.959665 +vt 0.227036 0.940405 +vt 0.218334 0.959853 +vt 0.214670 0.959748 +vt 0.215381 0.975815 +vt 0.143673 0.949154 +vt 0.149850 0.949154 +vt 0.141866 0.949154 +vt 0.220181 0.975664 +vt 0.227036 0.975747 +vt 0.153651 0.949154 +vt 0.162203 0.954468 +vt 0.162505 0.949154 +vt 0.162203 0.954468 +vt 0.145995 0.977604 +vt 0.209548 0.943681 +vt 0.216487 0.938920 +vt 0.227036 0.939101 +vt 0.153653 0.936535 +vt 0.162973 0.943792 +vt 0.163016 0.935852 +vt 0.153651 0.938873 +vt 0.162973 0.943792 +vt 0.153653 0.936535 +vt 0.143363 0.938873 +vt 0.153653 0.936535 +vt 0.209050 0.935880 +vt 0.216489 0.936560 +vt 0.209050 0.935880 +vt 0.227036 0.936751 +vt 0.216489 0.936560 +vt 0.143673 0.941083 +vt 0.141866 0.941083 +vt 0.162505 0.949154 +vt 0.162973 0.943792 +vt 0.162505 0.949154 +vt 0.143363 0.936535 +vt 0.153653 0.936535 +vt 0.227036 0.936751 +vt 0.209050 0.935880 +vt 0.200581 0.923264 +vt 0.200740 0.902185 +vt 0.200581 0.923264 +vt 0.209050 0.935880 +vt 0.209032 0.920106 +vt 0.200740 0.902185 +vt 0.209050 0.935880 +vt 0.200898 0.881107 +vt 0.200740 0.902185 +vt 0.209032 0.920106 +vt 0.208991 0.885973 +vt 0.200898 0.881107 +vt 0.209032 0.920106 +vt 0.216489 0.936560 +vt 0.209032 0.920106 +vt 0.209050 0.935880 +vt 0.208991 0.885973 +vt 0.209032 0.920106 +vt 0.216489 0.936560 +vt 0.217259 0.876626 +vt 0.208991 0.885973 +vt 0.216489 0.936560 +vt 0.209050 0.935880 +vt 0.194021 0.897027 +vt 0.200581 0.923264 +vt 0.200740 0.902185 +vt 0.200581 0.923264 +vt 0.194021 0.897027 +vt 0.186546 0.898576 +vt 0.194021 0.897027 +vt 0.186546 0.898576 +vt 0.179072 0.898666 +vt 0.186546 0.898576 +vt 0.179072 0.898666 +vt 0.171849 0.900852 +vt 0.179072 0.898666 +vt 0.171849 0.900852 +vt 0.163162 0.908601 +vt 0.171849 0.900852 +vt 0.163048 0.928211 +vt 0.163162 0.908601 +vt 0.153644 0.916930 +vt 0.163048 0.928211 +vt 0.163162 0.908601 +vt 0.153653 0.936535 +vt 0.163048 0.928211 +vt 0.153644 0.916930 +vt 0.143363 0.936535 +vt 0.153653 0.936535 +vt 0.153644 0.916930 +vt 0.153644 0.916930 +vt 0.143363 0.879940 +vt 0.143363 0.936535 +vt 0.153624 0.875007 +vt 0.143363 0.879940 +vt 0.153644 0.916930 +vt 0.163162 0.908601 +vt 0.153624 0.875007 +vt 0.153644 0.916930 +vt 0.163275 0.873028 +vt 0.153624 0.875007 +vt 0.163162 0.908601 +vt 0.163016 0.935852 +vt 0.163048 0.928211 +vt 0.153653 0.936535 +vt 0.163048 0.928211 +vt 0.163016 0.935852 +vt 0.200581 0.923264 +vt 0.217259 0.876626 +vt 0.227036 0.936751 +vt 0.227026 0.879940 +vt 0.216489 0.936560 +vt 0.227036 0.936751 +vt 0.217259 0.876626 +vt 0.163048 0.928211 +vt 0.143363 0.938873 +vt 0.153651 0.938873 +vt 0.143363 0.938873 +vt 0.153651 0.938873 +vt 0.153651 0.938873 +vt 0.143673 0.949154 +vt 0.143673 0.941083 +vt 0.149850 0.949154 +vt 0.141866 0.941083 +vt 0.143673 0.941083 +vt 0.143673 0.949154 +vt 0.141866 0.949154 +vt 0.141866 0.941083 +vt 0.143673 0.949154 +vt 0.216487 0.938920 +vt 0.216487 0.938920 +vt 0.227036 0.939101 +vt 0.216487 0.938920 +vt 0.227036 0.940405 +vt 0.216487 0.938920 +vt 0.227036 0.939101 +vt 0.218406 0.953961 +vt 0.216487 0.938920 +vt 0.227036 0.940405 +vt 0.153651 0.949154 +vt 0.153651 0.938873 +vt 0.141866 0.954468 +vt 0.143673 0.977604 +vt 0.141866 0.977604 +vt 0.143673 0.954468 +vt 0.143673 0.977604 +vt 0.141866 0.954468 +vt 0.141866 0.949154 +vt 0.143673 0.954468 +vt 0.141866 0.954468 +vt 0.143673 0.949154 +vt 0.143673 0.954468 +vt 0.141866 0.949154 +vt 0.227036 0.959665 +vt 0.218406 0.953961 +vt 0.227036 0.940405 +vt 0.218334 0.959853 +vt 0.218406 0.953961 +vt 0.227036 0.959665 +vt 0.227036 0.975747 +vt 0.218334 0.959853 +vt 0.227036 0.959665 +vt 0.220181 0.975664 +vt 0.218334 0.959853 +vt 0.227036 0.975747 +vt 0.150470 0.954468 +vt 0.143673 0.949154 +vt 0.149850 0.949154 +vt 0.143673 0.954468 +vt 0.143673 0.949154 +vt 0.150470 0.954468 +vt 0.150470 0.977604 +vt 0.143673 0.954468 +vt 0.150470 0.954468 +vt 0.145995 0.977604 +vt 0.143673 0.954468 +vt 0.150470 0.977604 +vt 0.150470 0.954468 +vt 0.150470 0.977604 +vt 0.150470 0.954468 +vt 0.153651 0.949154 +vt 0.150470 0.954468 +vt 0.153651 0.949154 +vt 0.218334 0.959853 +vt 0.214670 0.959748 +vt 0.218406 0.953961 +vt 0.215381 0.975815 +vt 0.214670 0.959748 +vt 0.218334 0.959853 +vt 0.220181 0.975664 +vt 0.215381 0.975815 +vt 0.218334 0.959853 +vt 0.145995 0.977604 +vt 0.143673 0.977604 +vt 0.143673 0.954468 +vt 0.207519 0.953652 +vt 0.211436 0.982679 +vt 0.207519 0.953652 +vt 0.211436 0.982679 +vt 0.203572 0.994848 +vt 0.214670 0.959748 +vt 0.211436 0.982679 +vt 0.207519 0.953652 +vt 0.214670 0.959748 +vt 0.215381 0.975815 +vt 0.211436 0.982679 +vt 0.200299 0.944547 +vt 0.200299 0.944547 +vt 0.200299 0.944547 +vt 0.193879 0.945698 +vt 0.200299 0.944547 +vt 0.193879 0.945698 +vt 0.186618 0.945353 +vt 0.193879 0.945698 +vt 0.186618 0.945353 +vt 0.179058 0.945779 +vt 0.186618 0.945353 +vt 0.179058 0.945779 +vt 0.172011 0.945279 +vt 0.179058 0.945779 +vt 0.162203 0.954468 +vt 0.171985 0.950515 +vt 0.162505 0.949154 +vt 0.171985 0.950515 +vt 0.162203 0.954468 +vt 0.157354 0.978102 +vt 0.162203 0.954468 +vt 0.200299 0.944547 +vt 0.193879 0.945698 +vt 0.200299 0.944547 +vt 0.193879 0.945698 +vt 0.186618 0.945353 +vt 0.193879 0.945698 +vt 0.186618 0.945353 +vt 0.179058 0.945779 +vt 0.186618 0.945353 +vt 0.179058 0.945779 +vt 0.172011 0.945279 +vt 0.179058 0.945779 +vt 0.172011 0.945279 +vt 0.171985 0.950515 +vt 0.162505 0.949154 +vt 0.171985 0.950515 +vt 0.172011 0.945279 +vt 0.172011 0.945279 +vt 0.162973 0.943792 +vt 0.162505 0.949154 +vt 0.162973 0.943792 +vt 0.172011 0.945279 +vt 0.163016 0.935852 +vt 0.162973 0.943792 +vt 0.163016 0.935852 +vt 0.200224 0.949151 +vt 0.207519 0.953652 +vt 0.203572 0.994848 +vt 0.207519 0.953652 +vt 0.200224 0.949151 +vt 0.200224 0.949151 +vt 0.209548 0.943681 +vt 0.207519 0.953652 +vt 0.200375 0.939944 +vt 0.209548 0.943681 +vt 0.179037 0.950715 +vt 0.179037 0.950715 +vt 0.186645 0.950484 +vt 0.179037 0.950715 +vt 0.186645 0.950484 +vt 0.193860 0.950609 +vt 0.186645 0.950484 +vt 0.193860 0.950609 +vt 0.200224 0.949151 +vt 0.193860 0.950609 +vt 0.209548 0.943681 +vt 0.214670 0.959748 +vt 0.207519 0.953652 +vt 0.218406 0.953961 +vt 0.214670 0.959748 +vt 0.209548 0.943681 +vt 0.216487 0.938920 +vt 0.218406 0.953961 +vt 0.209548 0.943681 +vt 0.209548 0.943681 +vt 0.216487 0.938920 +vt 0.200525 0.930736 +vt 0.209548 0.943681 +vt 0.200375 0.939944 +vt 0.200525 0.930736 +vt 0.209548 0.943681 +vt 0.315335 0.370701 +vt 0.309854 0.392718 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.315335 0.205842 +vt 0.313031 0.205842 +vt 0.315335 0.370701 +vt 0.309854 0.392718 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.315335 0.370701 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.315335 0.370701 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.333274 +vt 0.309843 0.330748 +vt 0.315335 0.357743 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.315335 0.333274 +vt 0.315335 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.313031 0.205842 +vt 0.315335 0.205842 +vt 0.315335 0.272168 +vt 0.266605 0.319548 +vt 0.260309 0.322901 +vt 0.266605 0.348280 +vt 0.260309 0.280402 +vt 0.266605 0.280402 +vt 0.260309 0.269246 +vt 0.266605 0.269246 +vt 0.260309 0.228149 +vt 0.267980 0.214975 +vt 0.260309 0.208336 +vt 0.283285 0.327944 +vt 0.275896 0.331871 +vt 0.283285 0.361917 +vt 0.275896 0.286898 +vt 0.283285 0.286898 +vt 0.275896 0.275758 +vt 0.283285 0.275758 +vt 0.275855 0.232448 +vt 0.284645 0.212164 +vt 0.275736 0.210912 +vt 0.269076 0.327861 +vt 0.269076 0.362842 +vt 0.269076 0.286898 +vt 0.269076 0.275758 +vt 0.252838 0.207011 +vt 0.253565 0.269246 +vt 0.253565 0.280402 +vt 0.309843 0.355889 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.309843 0.355889 +vt 0.315335 0.333274 +vt 0.315335 0.357743 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.309843 0.355889 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.315335 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.300443 0.331309 +vt 0.315335 0.205842 +vt 0.315335 0.272168 +vt 0.321084 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.315335 0.205842 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.205842 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.293098 0.228026 +vt 0.291683 0.206035 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.300443 0.392718 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.309843 0.355889 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.300443 0.392718 +vt 0.315335 0.370701 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.370701 +vt 0.309843 0.355889 +vt 0.313031 0.205842 +vt 0.300505 0.205220 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.300505 0.205220 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.300505 0.205220 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.300443 0.283009 +vt 0.300505 0.205220 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.331166 0.272168 +vt 0.331166 0.205842 +vt 0.321084 0.272168 +vt 0.315335 0.272168 +vt 0.293098 0.272168 +vt 0.285634 0.272168 +vt 0.253565 0.349339 +vt 0.256602 0.359306 +vt 0.253565 0.318241 +vt 0.280069 0.373285 +vt 0.272112 0.373285 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.300443 0.331309 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.309843 0.355889 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.300443 0.331309 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.300443 0.331309 +vt 0.300443 0.283009 +vt 0.300443 0.272168 +vt 0.300443 0.283009 +vt 0.300505 0.205220 +vt 0.300443 0.272168 +vt 0.263957 0.359306 +vt 0.300443 0.392718 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.300443 0.392718 +vt 0.309843 0.272168 +vt 0.315335 0.205842 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.105372 0.209051 +vt 0.111422 0.161458 +vt 0.105424 0.161371 +vt 0.117761 0.200858 +vt 0.117872 0.239541 +vt 0.127910 0.245340 +vt 0.127910 0.278181 +vt 0.137341 0.266706 +vt 0.144765 0.278181 +vt 0.148833 0.262657 +vt 0.153313 0.262657 +vt 0.150715 0.239541 +vt 0.155154 0.239541 +vt 0.150045 0.209051 +vt 0.154167 0.209051 +vt 0.154163 0.169960 +vt 0.144900 0.097997 +vt 0.145924 0.158213 +vt 0.153536 0.111672 +vt 0.137241 0.145857 +vt 0.127839 0.093652 +vt 0.127910 0.140944 +vt 0.117647 0.098693 +vt 0.121934 0.145411 +vt 0.102327 0.209051 +vt 0.105424 0.183930 +vt 0.098683 0.169960 +vt 0.104336 0.239541 +vt 0.117872 0.265913 +vt 0.111729 0.278181 +vt 0.137241 0.200405 +vt 0.137341 0.239541 +vt 0.318364 0.180135 +vt 0.313031 0.205842 +vt 0.305174 0.173258 +vt 0.315441 0.173123 +vt 0.318364 0.092530 +vt 0.150013 0.165822 +vt 0.162115 0.127119 +vt 0.101340 0.239541 +vt 0.106106 0.262657 +vt 0.103181 0.262657 +vt 0.127910 0.204959 +vt 0.295828 0.168838 +vt 0.305174 0.092478 +vt 0.154167 0.209051 +vt 0.150013 0.165822 +vt 0.150045 0.209051 +vt 0.150013 0.165822 +vt 0.154167 0.209051 +vt 0.325105 0.165943 +vt 0.325105 0.162437 +vt 0.328644 0.163585 +vt 0.322585 0.160635 +vt 0.321622 0.162900 +vt 0.321622 0.155071 +vt 0.320100 0.155071 +vt 0.322802 0.150035 +vt 0.321622 0.146746 +vt 0.325105 0.148683 +vt 0.325105 0.144389 +vt 0.327626 0.150294 +vt 0.328644 0.146746 +vt 0.328590 0.155071 +vt 0.330110 0.155071 +vt 0.327626 0.160635 +vt 0.325105 0.165943 +vt 0.325105 0.162437 +vt 0.328644 0.163585 +vt 0.322585 0.160635 +vt 0.325105 0.162437 +vt 0.325105 0.165943 +vt 0.321622 0.162900 +vt 0.322585 0.160635 +vt 0.325105 0.165943 +vt 0.321622 0.155071 +vt 0.322585 0.160635 +vt 0.321622 0.162900 +vt 0.320100 0.155071 +vt 0.321622 0.155071 +vt 0.321622 0.162900 +vt 0.322802 0.150035 +vt 0.321622 0.155071 +vt 0.320100 0.155071 +vt 0.321622 0.146746 +vt 0.322802 0.150035 +vt 0.320100 0.155071 +vt 0.325105 0.148683 +vt 0.322802 0.150035 +vt 0.321622 0.146746 +vt 0.325105 0.144389 +vt 0.325105 0.148683 +vt 0.321622 0.146746 +vt 0.327626 0.150294 +vt 0.325105 0.148683 +vt 0.325105 0.144389 +vt 0.328644 0.146746 +vt 0.327626 0.150294 +vt 0.325105 0.144389 +vt 0.328590 0.155071 +vt 0.327626 0.150294 +vt 0.328644 0.146746 +vt 0.330110 0.155071 +vt 0.328590 0.155071 +vt 0.328644 0.146746 +vt 0.327626 0.160635 +vt 0.328590 0.155071 +vt 0.330110 0.155071 +vt 0.328644 0.163585 +vt 0.327626 0.160635 +vt 0.330110 0.155071 +vt 0.325105 0.162437 +vt 0.327626 0.160635 +vt 0.328644 0.163585 +vt 0.326366 0.112944 +vt 0.326298 0.108797 +vt 0.329919 0.110144 +vt 0.323963 0.107162 +vt 0.322813 0.110144 +vt 0.322996 0.103214 +vt 0.321341 0.103384 +vt 0.323963 0.099267 +vt 0.322813 0.096624 +vt 0.326298 0.097632 +vt 0.326366 0.093824 +vt 0.328634 0.099267 +vt 0.329919 0.096624 +vt 0.329601 0.103214 +vt 0.331391 0.103384 +vt 0.328634 0.107162 +vt 0.227442 0.198295 +vt 0.202203 0.164222 +vt 0.196936 0.203490 +vt 0.224053 0.164170 +vt 0.237497 0.195760 +vt 0.237556 0.165400 +vt 0.241414 0.166630 +vt 0.237506 0.092795 +vt 0.248304 0.095228 +vt 0.237085 0.054062 +vt 0.255343 0.054107 +vt 0.237085 0.036913 +vt 0.255343 0.038385 +vt 0.237085 0.022626 +vt 0.255343 0.022686 +vt 0.237085 0.006518 +vt 0.255343 0.006570 +vt 0.182199 0.212576 +vt 0.190329 0.229401 +vt 0.186427 0.164558 +vt 0.202254 0.100692 +vt 0.223928 0.090362 +vt 0.211880 0.054074 +vt 0.223987 0.054046 +vt 0.211880 0.038342 +vt 0.223987 0.038315 +vt 0.211880 0.022643 +vt 0.223986 0.022616 +vt 0.211880 0.006532 +vt 0.223987 0.006509 +vt 0.167478 0.215172 +vt 0.175952 0.232554 +vt 0.169600 0.140939 +vt 0.186420 0.100694 +vt 0.195219 0.054132 +vt 0.195219 0.038404 +vt 0.195219 0.022704 +vt 0.195219 0.006584 +vt 0.122433 0.072827 +vt 0.133617 0.056060 +vt 0.162403 0.056001 +vt 0.172467 0.054199 +vt 0.260205 0.170870 +vt 0.246034 0.168263 +vt 0.244660 0.198728 +vt 0.244660 0.216971 +vt 0.244660 0.256028 +vt 0.251622 0.256028 +vt 0.251622 0.266660 +vt 0.221458 0.256750 +vt 0.221458 0.202322 +vt 0.227442 0.256750 +vt 0.227442 0.303375 +vt 0.237497 0.302945 +vt 0.237497 0.330059 +vt 0.244660 0.308322 +vt 0.241246 0.341147 +vt 0.248396 0.341147 +vt 0.172467 0.022786 +vt 0.172467 0.038488 +vt 0.150932 0.022898 +vt 0.150932 0.038600 +vt 0.139726 0.022962 +vt 0.139726 0.038664 +vt 0.130539 0.022980 +vt 0.130539 0.038681 +vt 0.172467 0.006666 +vt 0.150932 0.006751 +vt 0.139726 0.006806 +vt 0.130539 0.006822 +vt 0.306886 0.006800 +vt 0.318364 0.022980 +vt 0.318364 0.006822 +vt 0.306886 0.022954 +vt 0.287698 0.006739 +vt 0.287698 0.022883 +vt 0.269172 0.006653 +vt 0.269172 0.022783 +vt 0.150932 0.054270 +vt 0.139726 0.054331 +vt 0.130539 0.054350 +vt 0.318364 0.037295 +vt 0.306886 0.037243 +vt 0.287698 0.038584 +vt 0.269172 0.038482 +vt 0.318364 0.054003 +vt 0.306886 0.054320 +vt 0.287698 0.054265 +vt 0.269172 0.054183 +vt 0.227442 0.330059 +vt 0.227442 0.363326 +vt 0.237497 0.363326 +vt 0.221457 0.345892 +vt 0.221458 0.330059 +vt 0.215533 0.330059 +vt 0.215533 0.303375 +vt 0.206100 0.303375 +vt 0.206100 0.266660 +vt 0.288985 0.099711 +vt 0.269172 0.098910 +vt 0.221458 0.303375 +vt 0.215533 0.256750 +vt 0.221458 0.202334 +vt 0.215533 0.206439 +vt 0.237497 0.256028 +vt 0.244660 0.266660 +vt 0.251622 0.305580 +vt 0.290619 0.168724 +vt 0.275533 0.170960 +vt 0.237497 0.266660 +vt 0.325105 0.155071 +vt 0.154167 0.209051 +vt 0.154167 0.209051 +vt 0.160076 0.231531 +vt 0.154167 0.209051 +vt 0.323171 0.068363 +vt 0.332692 0.053959 +vt 0.191706 0.294687 +vt 0.166466 0.426555 +vt 0.146111 0.368739 +vt 0.191706 0.445655 +vt 0.166466 0.426555 +vt 0.146111 0.368739 +vt 0.166466 0.426555 +vt 0.140464 0.294688 +vt 0.146111 0.368739 +vt 0.146111 0.368739 +vt 0.166466 0.426555 +vt 0.146111 0.368739 +vt 0.191706 0.445655 +vt 0.166466 0.426555 +vt 0.166466 0.426555 +vt 0.191706 0.445655 +vt 0.326366 0.103142 +vt 0.325105 0.155071 +vt 0.322802 0.150035 +vt 0.325105 0.148683 +vt 0.321622 0.155071 +vt 0.322802 0.150035 +vt 0.325105 0.155071 +vt 0.322585 0.160635 +vt 0.321622 0.155071 +vt 0.325105 0.155071 +vt 0.325105 0.155071 +vt 0.325105 0.162437 +vt 0.322585 0.160635 +vt 0.327626 0.160635 +vt 0.325105 0.162437 +vt 0.325105 0.155071 +vt 0.328590 0.155071 +vt 0.327626 0.160635 +vt 0.325105 0.155071 +vt 0.215533 0.363326 +vt 0.206100 0.256750 +vt 0.327626 0.150294 +vt 0.325105 0.155071 +vt 0.325105 0.148683 +vt 0.328590 0.155071 +vt 0.325105 0.155071 +vt 0.327626 0.150294 +vt 0.251622 0.332716 +vt 0.140464 0.294688 +vt 0.146111 0.368739 +vt 0.140464 0.294688 +vt 0.206100 0.204278 +vt 0.206100 0.363326 +vt 0.206100 0.330059 +vt 0.146111 0.368739 +vt 0.166466 0.426555 +vt 0.269172 0.022783 +vt 0.255343 0.006570 +vt 0.269172 0.006653 +vt 0.255343 0.022686 +vt 0.255343 0.006570 +vt 0.269172 0.022783 +vt 0.269172 0.038482 +vt 0.255343 0.022686 +vt 0.269172 0.022783 +vt 0.255343 0.038385 +vt 0.255343 0.022686 +vt 0.269172 0.038482 +vt 0.269172 0.054183 +vt 0.255343 0.038385 +vt 0.269172 0.038482 +vt 0.255343 0.054107 +vt 0.255343 0.038385 +vt 0.269172 0.054183 +vt 0.248304 0.095228 +vt 0.255343 0.054107 +vt 0.269172 0.054183 +vt 0.237085 0.054062 +vt 0.255343 0.054107 +vt 0.248304 0.095228 +vt 0.237506 0.092795 +vt 0.237085 0.054062 +vt 0.248304 0.095228 +vt 0.223987 0.054046 +vt 0.237085 0.054062 +vt 0.237506 0.092795 +vt 0.223928 0.090362 +vt 0.223987 0.054046 +vt 0.237506 0.092795 +vt 0.211880 0.054074 +vt 0.223987 0.054046 +vt 0.223928 0.090362 +vt 0.202254 0.100692 +vt 0.211880 0.054074 +vt 0.223928 0.090362 +vt 0.195219 0.054132 +vt 0.211880 0.054074 +vt 0.202254 0.100692 +vt 0.186420 0.100694 +vt 0.195219 0.054132 +vt 0.202254 0.100692 +vt 0.172467 0.054199 +vt 0.195219 0.054132 +vt 0.186420 0.100694 +vt 0.318364 0.022980 +vt 0.306886 0.006800 +vt 0.318364 0.006822 +vt 0.306886 0.022954 +vt 0.306886 0.006800 +vt 0.318364 0.022980 +vt 0.318364 0.037295 +vt 0.306886 0.022954 +vt 0.318364 0.022980 +vt 0.306886 0.037243 +vt 0.306886 0.022954 +vt 0.318364 0.037295 +vt 0.318364 0.054003 +vt 0.306886 0.037243 +vt 0.318364 0.037295 +vt 0.306886 0.054320 +vt 0.306886 0.037243 +vt 0.318364 0.054003 +vt 0.305174 0.092478 +vt 0.306886 0.054320 +vt 0.318364 0.054003 +vt 0.288985 0.099711 +vt 0.306886 0.054320 +vt 0.305174 0.092478 +vt 0.306886 0.022954 +vt 0.287698 0.006739 +vt 0.306886 0.006800 +vt 0.287698 0.022883 +vt 0.287698 0.006739 +vt 0.306886 0.022954 +vt 0.306886 0.037243 +vt 0.287698 0.022883 +vt 0.306886 0.022954 +vt 0.287698 0.038584 +vt 0.287698 0.022883 +vt 0.306886 0.037243 +vt 0.306886 0.054320 +vt 0.287698 0.038584 +vt 0.306886 0.037243 +vt 0.287698 0.054265 +vt 0.287698 0.038584 +vt 0.306886 0.054320 +vt 0.288985 0.099711 +vt 0.287698 0.054265 +vt 0.306886 0.054320 +vt 0.269172 0.098910 +vt 0.287698 0.054265 +vt 0.288985 0.099711 +vt 0.287698 0.022883 +vt 0.269172 0.006653 +vt 0.287698 0.006739 +vt 0.269172 0.022783 +vt 0.269172 0.006653 +vt 0.287698 0.022883 +vt 0.287698 0.038584 +vt 0.269172 0.022783 +vt 0.287698 0.022883 +vt 0.269172 0.038482 +vt 0.269172 0.022783 +vt 0.287698 0.038584 +vt 0.287698 0.054265 +vt 0.269172 0.038482 +vt 0.287698 0.038584 +vt 0.269172 0.054183 +vt 0.269172 0.038482 +vt 0.287698 0.054265 +vt 0.269172 0.098910 +vt 0.269172 0.054183 +vt 0.287698 0.054265 +vt 0.248304 0.095228 +vt 0.269172 0.054183 +vt 0.269172 0.098910 +vt 0.315335 0.357743 +vt 0.315335 0.370701 +vt 0.309843 0.355889 +vt 0.309843 0.355889 +vt 0.315335 0.370701 +vt 0.315335 0.357743 +vt 0.315335 0.333274 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.315335 0.333274 +vt 0.315335 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.272168 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.150932 0.022898 +vt 0.139726 0.006806 +vt 0.150932 0.006751 +vt 0.139726 0.022962 +vt 0.139726 0.006806 +vt 0.150932 0.022898 +vt 0.150932 0.038600 +vt 0.139726 0.022962 +vt 0.150932 0.022898 +vt 0.139726 0.038664 +vt 0.139726 0.022962 +vt 0.150932 0.038600 +vt 0.150932 0.054270 +vt 0.139726 0.038664 +vt 0.150932 0.038600 +vt 0.139726 0.054331 +vt 0.139726 0.038664 +vt 0.150932 0.054270 +vt 0.223986 0.022616 +vt 0.211880 0.006532 +vt 0.223987 0.006509 +vt 0.211880 0.022643 +vt 0.211880 0.006532 +vt 0.223986 0.022616 +vt 0.223987 0.038315 +vt 0.211880 0.022643 +vt 0.223986 0.022616 +vt 0.211880 0.038342 +vt 0.211880 0.022643 +vt 0.223987 0.038315 +vt 0.223987 0.054046 +vt 0.211880 0.038342 +vt 0.223987 0.038315 +vt 0.211880 0.054074 +vt 0.211880 0.038342 +vt 0.223987 0.054046 +vt 0.211880 0.022643 +vt 0.195219 0.006584 +vt 0.211880 0.006532 +vt 0.195219 0.022704 +vt 0.195219 0.006584 +vt 0.211880 0.022643 +vt 0.211880 0.038342 +vt 0.195219 0.022704 +vt 0.211880 0.022643 +vt 0.195219 0.038404 +vt 0.195219 0.022704 +vt 0.211880 0.038342 +vt 0.211880 0.054074 +vt 0.195219 0.038404 +vt 0.211880 0.038342 +vt 0.195219 0.054132 +vt 0.195219 0.038404 +vt 0.211880 0.054074 +vt 0.195219 0.022704 +vt 0.172467 0.006666 +vt 0.195219 0.006584 +vt 0.172467 0.022786 +vt 0.172467 0.006666 +vt 0.195219 0.022704 +vt 0.195219 0.038404 +vt 0.172467 0.022786 +vt 0.195219 0.022704 +vt 0.172467 0.038488 +vt 0.172467 0.022786 +vt 0.195219 0.038404 +vt 0.195219 0.054132 +vt 0.172467 0.038488 +vt 0.195219 0.038404 +vt 0.172467 0.054199 +vt 0.172467 0.038488 +vt 0.195219 0.054132 +vt 0.172467 0.022786 +vt 0.150932 0.006751 +vt 0.172467 0.006666 +vt 0.150932 0.022898 +vt 0.150932 0.006751 +vt 0.172467 0.022786 +vt 0.172467 0.038488 +vt 0.150932 0.022898 +vt 0.172467 0.022786 +vt 0.150932 0.038600 +vt 0.150932 0.022898 +vt 0.172467 0.038488 +vt 0.172467 0.054199 +vt 0.150932 0.038600 +vt 0.172467 0.038488 +vt 0.150932 0.054270 +vt 0.150932 0.038600 +vt 0.172467 0.054199 +vt 0.130539 0.038681 +vt 0.139726 0.054331 +vt 0.130539 0.054350 +vt 0.139726 0.038664 +vt 0.139726 0.054331 +vt 0.130539 0.038681 +vt 0.130539 0.022980 +vt 0.139726 0.038664 +vt 0.130539 0.038681 +vt 0.139726 0.022962 +vt 0.139726 0.038664 +vt 0.130539 0.022980 +vt 0.130539 0.006822 +vt 0.139726 0.022962 +vt 0.130539 0.022980 +vt 0.139726 0.006806 +vt 0.139726 0.022962 +vt 0.130539 0.006822 +vt 0.255343 0.022686 +vt 0.237085 0.006518 +vt 0.255343 0.006570 +vt 0.237085 0.022626 +vt 0.237085 0.006518 +vt 0.255343 0.022686 +vt 0.255343 0.038385 +vt 0.237085 0.022626 +vt 0.255343 0.022686 +vt 0.237085 0.036913 +vt 0.237085 0.022626 +vt 0.255343 0.038385 +vt 0.255343 0.054107 +vt 0.237085 0.036913 +vt 0.255343 0.038385 +vt 0.237085 0.054062 +vt 0.237085 0.036913 +vt 0.255343 0.054107 +vt 0.237085 0.022626 +vt 0.223987 0.006509 +vt 0.237085 0.006518 +vt 0.223986 0.022616 +vt 0.223987 0.006509 +vt 0.237085 0.022626 +vt 0.237085 0.036913 +vt 0.223986 0.022616 +vt 0.237085 0.022626 +vt 0.223987 0.038315 +vt 0.223986 0.022616 +vt 0.237085 0.036913 +vt 0.237085 0.054062 +vt 0.223987 0.038315 +vt 0.237085 0.036913 +vt 0.223987 0.054046 +vt 0.223987 0.038315 +vt 0.237085 0.054062 +vt 0.300443 0.331309 +vt 0.309843 0.355889 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.300443 0.283009 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.315335 0.333274 +vt 0.315335 0.357743 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.330748 +vt 0.315335 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.315335 0.205842 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.315335 0.272168 +vt 0.315335 0.205842 +vt 0.300443 0.272168 +vt 0.313031 0.205842 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.300443 0.331309 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.260309 0.322901 +vt 0.267910 0.319548 +vt 0.267910 0.348280 +vt 0.260309 0.280402 +vt 0.260309 0.322901 +vt 0.252874 0.280402 +vt 0.260309 0.280402 +vt 0.260309 0.322901 +vt 0.252874 0.269246 +vt 0.260309 0.280402 +vt 0.260309 0.280402 +vt 0.267910 0.280402 +vt 0.260309 0.269246 +vt 0.260309 0.280402 +vt 0.260309 0.269246 +vt 0.260309 0.280402 +vt 0.252838 0.207011 +vt 0.260309 0.269246 +vt 0.260309 0.269246 +vt 0.267910 0.269246 +vt 0.260309 0.228149 +vt 0.260309 0.269246 +vt 0.252838 0.207011 +vt 0.260309 0.228149 +vt 0.260309 0.269246 +vt 0.260309 0.208336 +vt 0.260309 0.228149 +vt 0.252838 0.207011 +vt 0.172467 0.054199 +vt 0.162115 0.127119 +vt 0.153536 0.111672 +vt 0.169600 0.140939 +vt 0.162115 0.127119 +vt 0.172467 0.054199 +vt 0.186420 0.100694 +vt 0.169600 0.140939 +vt 0.172467 0.054199 +vt 0.309854 0.392718 +vt 0.315335 0.370701 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.315335 0.370701 +vt 0.309854 0.392718 +vt 0.300443 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.191706 0.294687 +vt 0.146111 0.368739 +vt 0.166466 0.426555 +vt 0.140464 0.294688 +vt 0.146111 0.368739 +vt 0.191706 0.294687 +vt 0.146111 0.368739 +vt 0.140464 0.294688 +vt 0.191706 0.294687 +vt 0.191706 0.294687 +vt 0.166466 0.426555 +vt 0.146111 0.368739 +vt 0.191706 0.445655 +vt 0.166466 0.426555 +vt 0.191706 0.294687 +vt 0.166466 0.426555 +vt 0.191706 0.445655 +vt 0.191706 0.294687 +vt 0.191706 0.294687 +vt 0.146111 0.368739 +vt 0.166466 0.426555 +vt 0.140464 0.294688 +vt 0.146111 0.368739 +vt 0.191706 0.294687 +vt 0.146111 0.368739 +vt 0.140464 0.294688 +vt 0.191706 0.294687 +vt 0.191706 0.294687 +vt 0.166466 0.426555 +vt 0.146111 0.368739 +vt 0.191706 0.445655 +vt 0.166466 0.426555 +vt 0.191706 0.294687 +vt 0.166466 0.426555 +vt 0.191706 0.445655 +vt 0.191706 0.294687 +vt 0.260309 0.322901 +vt 0.256602 0.359306 +vt 0.252874 0.349339 +vt 0.263957 0.359306 +vt 0.256602 0.359306 +vt 0.260309 0.322901 +vt 0.263957 0.359306 +vt 0.260309 0.322901 +vt 0.309843 0.330748 +vt 0.300443 0.356185 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.252874 0.318241 +vt 0.260309 0.322901 +vt 0.260309 0.322901 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.300505 0.205220 +vt 0.315335 0.205842 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.162403 0.056001 +vt 0.153536 0.111672 +vt 0.144900 0.097997 +vt 0.172467 0.054199 +vt 0.153536 0.111672 +vt 0.162403 0.056001 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.300443 0.392718 +vt 0.315335 0.370701 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.267980 0.214975 +vt 0.260309 0.228149 +vt 0.260309 0.208336 +vt 0.260309 0.228149 +vt 0.267980 0.214975 +vt 0.323171 0.068363 +vt 0.318364 0.054003 +vt 0.332692 0.053959 +vt 0.318364 0.092530 +vt 0.318364 0.054003 +vt 0.323171 0.068363 +vt 0.122433 0.072827 +vt 0.127839 0.093652 +vt 0.117647 0.098693 +vt 0.133617 0.056060 +vt 0.127839 0.093652 +vt 0.122433 0.072827 +vt 0.133617 0.056060 +vt 0.144900 0.097997 +vt 0.127839 0.093652 +vt 0.162403 0.056001 +vt 0.144900 0.097997 +vt 0.133617 0.056060 +vt 0.318364 0.092530 +vt 0.305174 0.092478 +vt 0.318364 0.054003 +vt 0.111422 0.161458 +vt 0.105372 0.209051 +vt 0.105424 0.161371 +vt 0.117761 0.200858 +vt 0.105372 0.209051 +vt 0.111422 0.161458 +vt 0.121934 0.145411 +vt 0.117761 0.200858 +vt 0.111422 0.161458 +vt 0.127910 0.204959 +vt 0.117761 0.200858 +vt 0.121934 0.145411 +vt 0.127910 0.140944 +vt 0.127910 0.204959 +vt 0.121934 0.145411 +vt 0.137241 0.200405 +vt 0.127910 0.204959 +vt 0.127910 0.140944 +vt 0.137241 0.145857 +vt 0.137241 0.200405 +vt 0.127910 0.140944 +vt 0.145924 0.158213 +vt 0.137241 0.200405 +vt 0.137241 0.145857 +vt 0.144900 0.097997 +vt 0.145924 0.158213 +vt 0.137241 0.145857 +vt 0.153536 0.111672 +vt 0.145924 0.158213 +vt 0.144900 0.097997 +vt 0.137341 0.266706 +vt 0.144765 0.278181 +vt 0.127910 0.278181 +vt 0.148833 0.262657 +vt 0.144765 0.278181 +vt 0.137341 0.266706 +vt 0.137341 0.239541 +vt 0.148833 0.262657 +vt 0.137341 0.266706 +vt 0.150715 0.239541 +vt 0.148833 0.262657 +vt 0.137341 0.239541 +vt 0.137241 0.200405 +vt 0.150715 0.239541 +vt 0.137341 0.239541 +vt 0.150045 0.209051 +vt 0.150715 0.239541 +vt 0.137241 0.200405 +vt 0.145924 0.158213 +vt 0.150045 0.209051 +vt 0.137241 0.200405 +vt 0.150013 0.165822 +vt 0.150045 0.209051 +vt 0.145924 0.158213 +vt 0.106106 0.262657 +vt 0.111729 0.278181 +vt 0.103181 0.262657 +vt 0.117872 0.265913 +vt 0.111729 0.278181 +vt 0.106106 0.262657 +vt 0.104336 0.239541 +vt 0.117872 0.265913 +vt 0.106106 0.262657 +vt 0.117872 0.239541 +vt 0.117872 0.265913 +vt 0.104336 0.239541 +vt 0.105372 0.209051 +vt 0.117872 0.239541 +vt 0.104336 0.239541 +vt 0.117761 0.200858 +vt 0.117872 0.239541 +vt 0.105372 0.209051 +vt 0.117647 0.098693 +vt 0.121934 0.145411 +vt 0.111422 0.161458 +vt 0.127910 0.140944 +vt 0.121934 0.145411 +vt 0.117647 0.098693 +vt 0.127839 0.093652 +vt 0.127910 0.140944 +vt 0.117647 0.098693 +vt 0.137241 0.145857 +vt 0.127910 0.140944 +vt 0.127839 0.093652 +vt 0.144900 0.097997 +vt 0.137241 0.145857 +vt 0.127839 0.093652 +vt 0.300505 0.205220 +vt 0.318364 0.180135 +vt 0.313031 0.205842 +vt 0.305174 0.173258 +vt 0.318364 0.180135 +vt 0.300505 0.205220 +vt 0.295828 0.168838 +vt 0.305174 0.173258 +vt 0.300505 0.205220 +vt 0.305174 0.092478 +vt 0.305174 0.173258 +vt 0.295828 0.168838 +vt 0.101340 0.239541 +vt 0.106106 0.262657 +vt 0.103181 0.262657 +vt 0.104336 0.239541 +vt 0.106106 0.262657 +vt 0.101340 0.239541 +vt 0.102327 0.209051 +vt 0.104336 0.239541 +vt 0.101340 0.239541 +vt 0.105372 0.209051 +vt 0.104336 0.239541 +vt 0.102327 0.209051 +vt 0.137341 0.239541 +vt 0.127910 0.204959 +vt 0.137241 0.200405 +vt 0.127910 0.245340 +vt 0.127910 0.204959 +vt 0.137341 0.239541 +vt 0.137341 0.266706 +vt 0.127910 0.245340 +vt 0.137341 0.239541 +vt 0.127910 0.278181 +vt 0.127910 0.245340 +vt 0.137341 0.266706 +vt 0.150045 0.209051 +vt 0.154167 0.209051 +vt 0.155154 0.239541 +vt 0.154163 0.169960 +vt 0.154167 0.209051 +vt 0.150045 0.209051 +vt 0.150013 0.165822 +vt 0.154163 0.169960 +vt 0.150045 0.209051 +vt 0.150013 0.165822 +vt 0.154167 0.209051 +vt 0.150045 0.209051 +vt 0.154163 0.169960 +vt 0.154167 0.209051 +vt 0.150013 0.165822 +vt 0.162115 0.127119 +vt 0.145924 0.158213 +vt 0.153536 0.111672 +vt 0.150013 0.165822 +vt 0.145924 0.158213 +vt 0.162115 0.127119 +vt 0.318364 0.092530 +vt 0.305174 0.173258 +vt 0.305174 0.092478 +vt 0.315441 0.173123 +vt 0.305174 0.173258 +vt 0.318364 0.092530 +vt 0.105424 0.183930 +vt 0.102327 0.209051 +vt 0.098683 0.169960 +vt 0.105372 0.209051 +vt 0.102327 0.209051 +vt 0.105424 0.183930 +vt 0.117872 0.265913 +vt 0.127910 0.278181 +vt 0.111729 0.278181 +vt 0.117872 0.239541 +vt 0.127910 0.278181 +vt 0.117872 0.265913 +vt 0.148833 0.262657 +vt 0.153313 0.262657 +vt 0.144765 0.278181 +vt 0.150715 0.239541 +vt 0.153313 0.262657 +vt 0.148833 0.262657 +vt 0.150715 0.239541 +vt 0.155154 0.239541 +vt 0.153313 0.262657 +vt 0.150045 0.209051 +vt 0.155154 0.239541 +vt 0.150715 0.239541 +vt 0.117872 0.239541 +vt 0.127910 0.245340 +vt 0.127910 0.278181 +vt 0.117761 0.200858 +vt 0.127910 0.245340 +vt 0.117872 0.239541 +vt 0.315441 0.173123 +vt 0.318364 0.180135 +vt 0.305174 0.173258 +vt 0.117761 0.200858 +vt 0.127910 0.204959 +vt 0.127910 0.245340 +vt 0.328644 0.163585 +vt 0.325105 0.162437 +vt 0.325105 0.165943 +vt 0.327626 0.160635 +vt 0.325105 0.162437 +vt 0.328644 0.163585 +vt 0.330110 0.155071 +vt 0.327626 0.160635 +vt 0.328644 0.163585 +vt 0.328590 0.155071 +vt 0.327626 0.160635 +vt 0.330110 0.155071 +vt 0.328644 0.146746 +vt 0.328590 0.155071 +vt 0.330110 0.155071 +vt 0.327626 0.150294 +vt 0.328590 0.155071 +vt 0.328644 0.146746 +vt 0.325105 0.144389 +vt 0.327626 0.150294 +vt 0.328644 0.146746 +vt 0.325105 0.148683 +vt 0.327626 0.150294 +vt 0.325105 0.144389 +vt 0.321622 0.146746 +vt 0.325105 0.148683 +vt 0.325105 0.144389 +vt 0.322802 0.150035 +vt 0.325105 0.148683 +vt 0.321622 0.146746 +vt 0.320100 0.155071 +vt 0.322802 0.150035 +vt 0.321622 0.146746 +vt 0.321622 0.155071 +vt 0.322802 0.150035 +vt 0.320100 0.155071 +vt 0.321622 0.162900 +vt 0.321622 0.155071 +vt 0.320100 0.155071 +vt 0.322585 0.160635 +vt 0.321622 0.155071 +vt 0.321622 0.162900 +vt 0.325105 0.165943 +vt 0.322585 0.160635 +vt 0.321622 0.162900 +vt 0.325105 0.162437 +vt 0.322585 0.160635 +vt 0.325105 0.165943 +vt 0.328644 0.163585 +vt 0.325105 0.162437 +vt 0.325105 0.165943 +vt 0.327626 0.160635 +vt 0.325105 0.162437 +vt 0.328644 0.163585 +vt 0.330110 0.155071 +vt 0.327626 0.160635 +vt 0.328644 0.163585 +vt 0.328590 0.155071 +vt 0.327626 0.160635 +vt 0.330110 0.155071 +vt 0.328644 0.146746 +vt 0.328590 0.155071 +vt 0.330110 0.155071 +vt 0.327626 0.150294 +vt 0.328590 0.155071 +vt 0.328644 0.146746 +vt 0.325105 0.144389 +vt 0.327626 0.150294 +vt 0.328644 0.146746 +vt 0.325105 0.148683 +vt 0.327626 0.150294 +vt 0.325105 0.144389 +vt 0.321622 0.146746 +vt 0.325105 0.148683 +vt 0.325105 0.144389 +vt 0.322802 0.150035 +vt 0.325105 0.148683 +vt 0.321622 0.146746 +vt 0.320100 0.155071 +vt 0.322802 0.150035 +vt 0.321622 0.146746 +vt 0.321622 0.155071 +vt 0.322802 0.150035 +vt 0.320100 0.155071 +vt 0.321622 0.162900 +vt 0.321622 0.155071 +vt 0.320100 0.155071 +vt 0.322585 0.160635 +vt 0.321622 0.155071 +vt 0.321622 0.162900 +vt 0.325105 0.165943 +vt 0.322585 0.160635 +vt 0.321622 0.162900 +vt 0.325105 0.162437 +vt 0.322585 0.160635 +vt 0.325105 0.165943 +vt 0.329919 0.110144 +vt 0.326298 0.108797 +vt 0.326366 0.112944 +vt 0.328634 0.107162 +vt 0.326298 0.108797 +vt 0.329919 0.110144 +vt 0.331391 0.103384 +vt 0.328634 0.107162 +vt 0.329919 0.110144 +vt 0.329601 0.103214 +vt 0.328634 0.107162 +vt 0.331391 0.103384 +vt 0.329919 0.096624 +vt 0.329601 0.103214 +vt 0.331391 0.103384 +vt 0.328634 0.099267 +vt 0.329601 0.103214 +vt 0.329919 0.096624 +vt 0.326366 0.093824 +vt 0.328634 0.099267 +vt 0.329919 0.096624 +vt 0.326298 0.097632 +vt 0.328634 0.099267 +vt 0.326366 0.093824 +vt 0.322813 0.096624 +vt 0.326298 0.097632 +vt 0.326366 0.093824 +vt 0.323963 0.099267 +vt 0.326298 0.097632 +vt 0.322813 0.096624 +vt 0.321341 0.103384 +vt 0.323963 0.099267 +vt 0.322813 0.096624 +vt 0.322996 0.103214 +vt 0.323963 0.099267 +vt 0.321341 0.103384 +vt 0.322813 0.110144 +vt 0.322996 0.103214 +vt 0.321341 0.103384 +vt 0.323963 0.107162 +vt 0.322996 0.103214 +vt 0.322813 0.110144 +vt 0.326366 0.112944 +vt 0.323963 0.107162 +vt 0.322813 0.110144 +vt 0.326298 0.108797 +vt 0.323963 0.107162 +vt 0.326366 0.112944 +vt 0.202254 0.100692 +vt 0.186427 0.164558 +vt 0.186420 0.100694 +vt 0.202203 0.164222 +vt 0.186427 0.164558 +vt 0.202254 0.100692 +vt 0.223928 0.090362 +vt 0.202203 0.164222 +vt 0.202254 0.100692 +vt 0.224053 0.164170 +vt 0.202203 0.164222 +vt 0.223928 0.090362 +vt 0.237556 0.165400 +vt 0.224053 0.164170 +vt 0.223928 0.090362 +vt 0.237497 0.195760 +vt 0.224053 0.164170 +vt 0.237556 0.165400 +vt 0.241414 0.166630 +vt 0.237497 0.195760 +vt 0.237556 0.165400 +vt 0.246034 0.168263 +vt 0.237497 0.195760 +vt 0.241414 0.166630 +vt 0.248304 0.095228 +vt 0.246034 0.168263 +vt 0.241414 0.166630 +vt 0.260205 0.170870 +vt 0.246034 0.168263 +vt 0.248304 0.095228 +vt 0.269172 0.098910 +vt 0.260205 0.170870 +vt 0.248304 0.095228 +vt 0.275533 0.170960 +vt 0.260205 0.170870 +vt 0.269172 0.098910 +vt 0.288985 0.099711 +vt 0.275533 0.170960 +vt 0.269172 0.098910 +vt 0.290619 0.168724 +vt 0.275533 0.170960 +vt 0.288985 0.099711 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.370618 +vt 0.309843 0.330748 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.283009 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.293098 0.283009 +vt 0.300443 0.283009 +vt 0.300443 0.331309 +vt 0.293098 0.272168 +vt 0.300443 0.283009 +vt 0.285634 0.272168 +vt 0.293098 0.272168 +vt 0.284645 0.212164 +vt 0.293098 0.272168 +vt 0.285634 0.272168 +vt 0.295828 0.168838 +vt 0.288985 0.099711 +vt 0.305174 0.092478 +vt 0.290619 0.168724 +vt 0.288985 0.099711 +vt 0.295828 0.168838 +vt 0.300505 0.205220 +vt 0.290619 0.168724 +vt 0.295828 0.168838 +vt 0.291683 0.206035 +vt 0.290619 0.168724 +vt 0.300505 0.205220 +vt 0.293098 0.228026 +vt 0.291683 0.206035 +vt 0.300505 0.205220 +vt 0.284645 0.212164 +vt 0.291683 0.206035 +vt 0.293098 0.228026 +vt 0.293098 0.272168 +vt 0.284645 0.212164 +vt 0.293098 0.228026 +vt 0.284645 0.212164 +vt 0.290619 0.168724 +vt 0.291683 0.206035 +vt 0.275533 0.170960 +vt 0.290619 0.168724 +vt 0.284645 0.212164 +vt 0.275736 0.210912 +vt 0.275533 0.170960 +vt 0.284645 0.212164 +vt 0.267980 0.214975 +vt 0.275533 0.170960 +vt 0.275736 0.210912 +vt 0.275855 0.232448 +vt 0.267980 0.214975 +vt 0.275736 0.210912 +vt 0.275896 0.275758 +vt 0.267980 0.214975 +vt 0.275855 0.232448 +vt 0.283285 0.275758 +vt 0.275896 0.275758 +vt 0.275855 0.232448 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.315335 0.357743 +vt 0.309843 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.272168 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.293098 0.272168 +vt 0.300443 0.272168 +vt 0.300443 0.283009 +vt 0.293098 0.228026 +vt 0.300443 0.272168 +vt 0.293098 0.272168 +vt 0.246034 0.168263 +vt 0.244660 0.198728 +vt 0.237497 0.195760 +vt 0.252838 0.207011 +vt 0.244660 0.198728 +vt 0.246034 0.168263 +vt 0.260205 0.170870 +vt 0.252838 0.207011 +vt 0.246034 0.168263 +vt 0.260309 0.208336 +vt 0.252838 0.207011 +vt 0.260205 0.170870 +vt 0.267980 0.214975 +vt 0.260309 0.208336 +vt 0.260205 0.170870 +vt 0.285634 0.283009 +vt 0.285634 0.272168 +vt 0.293098 0.334137 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.300443 0.331309 +vt 0.309843 0.355889 +vt 0.300443 0.356185 +vt 0.300443 0.331309 +vt 0.227442 0.198295 +vt 0.224053 0.164170 +vt 0.237497 0.195760 +vt 0.202203 0.164222 +vt 0.224053 0.164170 +vt 0.227442 0.198295 +vt 0.196936 0.203490 +vt 0.202203 0.164222 +vt 0.227442 0.198295 +vt 0.186427 0.164558 +vt 0.202203 0.164222 +vt 0.196936 0.203490 +vt 0.182199 0.212576 +vt 0.196936 0.203490 +vt 0.190329 0.229401 +vt 0.186427 0.164558 +vt 0.196936 0.203490 +vt 0.182199 0.212576 +vt 0.169600 0.140939 +vt 0.186427 0.164558 +vt 0.182199 0.212576 +vt 0.186420 0.100694 +vt 0.186427 0.164558 +vt 0.169600 0.140939 +vt 0.331166 0.330748 +vt 0.321084 0.272168 +vt 0.331166 0.283659 +vt 0.321084 0.330748 +vt 0.321084 0.272168 +vt 0.331166 0.355889 +vt 0.321084 0.355889 +vt 0.315335 0.205842 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.315335 0.205842 +vt 0.313031 0.205842 +vt 0.315335 0.272168 +vt 0.315335 0.205842 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.313031 0.205842 +vt 0.321084 0.205842 +vt 0.315335 0.272168 +vt 0.315335 0.205842 +vt 0.321084 0.272168 +vt 0.315335 0.272168 +vt 0.321084 0.205842 +vt 0.331166 0.272168 +vt 0.321084 0.272168 +vt 0.321084 0.205842 +vt 0.321084 0.272168 +vt 0.331166 0.272168 +vt 0.325105 0.155071 +vt 0.325105 0.148683 +vt 0.322802 0.150035 +vt 0.327626 0.150294 +vt 0.325105 0.148683 +vt 0.325105 0.155071 +vt 0.328590 0.155071 +vt 0.327626 0.150294 +vt 0.325105 0.155071 +vt 0.169600 0.140939 +vt 0.150013 0.165822 +vt 0.162115 0.127119 +vt 0.154163 0.169960 +vt 0.150013 0.165822 +vt 0.169600 0.140939 +vt 0.154167 0.209051 +vt 0.154163 0.169960 +vt 0.169600 0.140939 +vt 0.167478 0.215172 +vt 0.182199 0.212576 +vt 0.175952 0.232554 +vt 0.169600 0.140939 +vt 0.182199 0.212576 +vt 0.167478 0.215172 +vt 0.154167 0.209051 +vt 0.169600 0.140939 +vt 0.167478 0.215172 +vt 0.309843 0.272168 +vt 0.315335 0.272168 +vt 0.315335 0.333274 +vt 0.315335 0.205842 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.315335 0.205842 +vt 0.309843 0.272168 +vt 0.309854 0.392718 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.300443 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.315335 0.272168 +vt 0.321084 0.272168 +vt 0.315335 0.333358 +vt 0.315335 0.272168 +vt 0.326366 0.103142 +vt 0.326298 0.097632 +vt 0.323963 0.099267 +vt 0.328634 0.099267 +vt 0.326298 0.097632 +vt 0.326366 0.103142 +vt 0.329601 0.103214 +vt 0.328634 0.099267 +vt 0.326366 0.103142 +vt 0.325105 0.155071 +vt 0.325105 0.148683 +vt 0.322802 0.150035 +vt 0.327626 0.150294 +vt 0.325105 0.148683 +vt 0.325105 0.155071 +vt 0.328590 0.155071 +vt 0.327626 0.150294 +vt 0.325105 0.155071 +vt 0.321083 0.392718 +vt 0.331166 0.392718 +vt 0.315335 0.370701 +vt 0.321083 0.392718 +vt 0.285634 0.355064 +vt 0.289768 0.368554 +vt 0.285634 0.329344 +vt 0.309843 0.272168 +vt 0.300505 0.205220 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.313031 0.205842 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.313031 0.205842 +vt 0.300443 0.272168 +vt 0.241414 0.166630 +vt 0.237506 0.092795 +vt 0.248304 0.095228 +vt 0.237556 0.165400 +vt 0.237506 0.092795 +vt 0.241414 0.166630 +vt 0.322996 0.103214 +vt 0.326366 0.103142 +vt 0.323963 0.099267 +vt 0.323963 0.107162 +vt 0.326366 0.103142 +vt 0.322996 0.103214 +vt 0.326298 0.108797 +vt 0.326366 0.103142 +vt 0.323963 0.107162 +vt 0.328634 0.107162 +vt 0.326366 0.103142 +vt 0.326298 0.108797 +vt 0.284645 0.212164 +vt 0.275855 0.232448 +vt 0.275736 0.210912 +vt 0.283285 0.275758 +vt 0.275855 0.232448 +vt 0.284645 0.212164 +vt 0.296881 0.368554 +vt 0.300443 0.356185 +vt 0.321622 0.155071 +vt 0.325105 0.155071 +vt 0.322802 0.150035 +vt 0.322585 0.160635 +vt 0.325105 0.155071 +vt 0.321622 0.155071 +vt 0.325105 0.162437 +vt 0.325105 0.155071 +vt 0.322585 0.160635 +vt 0.327626 0.160635 +vt 0.325105 0.155071 +vt 0.325105 0.162437 +vt 0.315335 0.357827 +vt 0.315335 0.370701 +vt 0.300505 0.205220 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.313031 0.205842 +vt 0.309843 0.272168 +vt 0.300505 0.205220 +vt 0.321622 0.155071 +vt 0.325105 0.155071 +vt 0.322802 0.150035 +vt 0.322585 0.160635 +vt 0.325105 0.155071 +vt 0.321622 0.155071 +vt 0.325105 0.162437 +vt 0.325105 0.155071 +vt 0.322585 0.160635 +vt 0.327626 0.160635 +vt 0.325105 0.155071 +vt 0.325105 0.162437 +vt 0.167478 0.215172 +vt 0.160076 0.231531 +vt 0.154167 0.209051 +vt 0.269076 0.275758 +vt 0.267980 0.214975 +vt 0.275896 0.275758 +vt 0.260205 0.170870 +vt 0.275533 0.170960 +vt 0.267980 0.214975 +vt 0.223928 0.090362 +vt 0.237506 0.092795 +vt 0.237556 0.165400 +vt 0.321084 0.205842 +vt 0.331166 0.205842 +vt 0.331166 0.272168 +vt 0.293098 0.228026 +vt 0.300505 0.205220 +vt 0.300443 0.272168 +vt 0.328634 0.107162 +vt 0.329601 0.103214 +vt 0.326366 0.103142 +vt 0.327626 0.160635 +vt 0.328590 0.155071 +vt 0.325105 0.155071 +vt 0.327626 0.160635 +vt 0.328590 0.155071 +vt 0.325105 0.155071 +vt 0.315335 0.370618 +vt 0.309854 0.392718 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.315335 0.370618 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.315335 0.370618 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.333274 +vt 0.309843 0.330748 +vt 0.315335 0.357743 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.300443 0.272168 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.315335 0.357743 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.333274 +vt 0.315335 0.370701 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.315335 0.370701 +vt 0.309843 0.355889 +vt 0.283285 0.286898 +vt 0.275896 0.275758 +vt 0.283285 0.275758 +vt 0.275896 0.286898 +vt 0.275896 0.275758 +vt 0.283285 0.286898 +vt 0.283285 0.327944 +vt 0.275896 0.286898 +vt 0.283285 0.286898 +vt 0.275896 0.331871 +vt 0.275896 0.286898 +vt 0.283285 0.327944 +vt 0.283285 0.361917 +vt 0.275896 0.331871 +vt 0.283285 0.327944 +vt 0.280069 0.373285 +vt 0.275896 0.331871 +vt 0.283285 0.361917 +vt 0.331166 0.283659 +vt 0.331166 0.330748 +vt 0.331166 0.283659 +vt 0.321084 0.330748 +vt 0.331166 0.330748 +vt 0.331166 0.355889 +vt 0.331166 0.330748 +vt 0.321084 0.330748 +vt 0.321084 0.355889 +vt 0.331166 0.355889 +vt 0.321084 0.330748 +vt 0.300443 0.331309 +vt 0.293098 0.334137 +vt 0.300443 0.356185 +vt 0.293098 0.283009 +vt 0.293098 0.334137 +vt 0.300443 0.331309 +vt 0.300443 0.283009 +vt 0.293098 0.283009 +vt 0.300443 0.331309 +vt 0.293098 0.283009 +vt 0.300443 0.283009 +vt 0.300443 0.283009 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.300443 0.283009 +vt 0.309843 0.355889 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.309843 0.355889 +vt 0.315335 0.357743 +vt 0.315335 0.370701 +vt 0.309843 0.330748 +vt 0.315335 0.357743 +vt 0.309843 0.355889 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.300443 0.283009 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.315335 0.272168 +vt 0.315335 0.333274 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.333274 +vt 0.315335 0.272168 +vt 0.309843 0.272168 +vt 0.309843 0.330748 +vt 0.315335 0.272168 +vt 0.300443 0.331309 +vt 0.309843 0.330748 +vt 0.309843 0.272168 +vt 0.321084 0.355889 +vt 0.321083 0.392718 +vt 0.331166 0.392718 +vt 0.315335 0.370701 +vt 0.321083 0.392718 +vt 0.321084 0.355889 +vt 0.315335 0.357827 +vt 0.315335 0.370701 +vt 0.321084 0.355889 +vt 0.309854 0.392718 +vt 0.315335 0.370701 +vt 0.321083 0.392718 +vt 0.309843 0.355889 +vt 0.315335 0.370701 +vt 0.309854 0.392718 +vt 0.300443 0.392718 +vt 0.309843 0.355889 +vt 0.309854 0.392718 +vt 0.275896 0.286898 +vt 0.269076 0.275758 +vt 0.275896 0.275758 +vt 0.269076 0.286898 +vt 0.269076 0.275758 +vt 0.275896 0.286898 +vt 0.275896 0.331871 +vt 0.269076 0.286898 +vt 0.275896 0.286898 +vt 0.309843 0.330748 +vt 0.309843 0.355889 +vt 0.315335 0.333274 +vt 0.300443 0.356185 +vt 0.309843 0.355889 +vt 0.309843 0.330748 +vt 0.300443 0.331309 +vt 0.300443 0.356185 +vt 0.309843 0.330748 +vt 0.293098 0.334137 +vt 0.285634 0.355064 +vt 0.289768 0.368554 +vt 0.285634 0.329344 +vt 0.285634 0.355064 +vt 0.293098 0.334137 +vt 0.285634 0.283009 +vt 0.285634 0.329344 +vt 0.293098 0.334137 +vt 0.300443 0.283009 +vt 0.309843 0.272168 +vt 0.300443 0.272168 +vt 0.300443 0.331309 +vt 0.309843 0.272168 +vt 0.300443 0.283009 +vt 0.272112 0.373285 +vt 0.275896 0.331871 +vt 0.280069 0.373285 +vt 0.269076 0.362842 +vt 0.275896 0.331871 +vt 0.272112 0.373285 +vt 0.269076 0.327861 +vt 0.275896 0.331871 +vt 0.269076 0.362842 +vt 0.269076 0.286898 +vt 0.275896 0.331871 +vt 0.269076 0.327861 +vt 0.315335 0.272168 +vt 0.321084 0.330748 +vt 0.315335 0.333358 +vt 0.321084 0.330748 +vt 0.315335 0.272168 +vt 0.315335 0.333358 +vt 0.321084 0.355889 +vt 0.321084 0.330748 +vt 0.315335 0.357827 +vt 0.321084 0.355889 +vt 0.315335 0.333358 +vt 0.296881 0.368554 +vt 0.293098 0.334137 +vt 0.289768 0.368554 +vt 0.300443 0.356185 +vt 0.293098 0.334137 +vt 0.296881 0.368554 +vt 0.293098 0.283009 +vt 0.285634 0.283009 +vt 0.293098 0.283009 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.300443 0.392718 +vt 0.309843 0.355889 +vt 0.300443 0.392718 +vt 0.309854 0.392718 +vt 0.309843 0.355889 +vt 0.300443 0.356185 +vt 0.300443 0.331309 +vt 0.293098 0.334137 +vt 0.293098 0.283009 +vt 0.285634 0.283009 +vt 0.227442 0.198295 +vt 0.221458 0.256750 +vt 0.221458 0.202322 +vt 0.227442 0.256750 +vt 0.221458 0.256750 +vt 0.227442 0.198295 +vt 0.237497 0.256028 +vt 0.227442 0.256750 +vt 0.227442 0.198295 +vt 0.237497 0.266660 +vt 0.227442 0.256750 +vt 0.237497 0.256028 +vt 0.244660 0.266660 +vt 0.237497 0.266660 +vt 0.237497 0.256028 +vt 0.244660 0.308322 +vt 0.237497 0.266660 +vt 0.244660 0.266660 +vt 0.252378 0.305580 +vt 0.244660 0.308322 +vt 0.244660 0.266660 +vt 0.252378 0.332716 +vt 0.244660 0.308322 +vt 0.206100 0.303375 +vt 0.215533 0.330059 +vt 0.206100 0.330059 +vt 0.215533 0.303375 +vt 0.215533 0.330059 +vt 0.206100 0.303375 +vt 0.206100 0.266660 +vt 0.215533 0.303375 +vt 0.206100 0.303375 +vt 0.215533 0.256750 +vt 0.215533 0.303375 +vt 0.206100 0.266660 +vt 0.206100 0.256750 +vt 0.215533 0.256750 +vt 0.206100 0.266660 +vt 0.206100 0.204278 +vt 0.215533 0.256750 +vt 0.206100 0.256750 +vt 0.227442 0.363326 +vt 0.227442 0.330059 +vt 0.237497 0.363326 +vt 0.221457 0.345892 +vt 0.227442 0.330059 +vt 0.227442 0.363326 +vt 0.215533 0.363326 +vt 0.221457 0.345892 +vt 0.227442 0.363326 +vt 0.215533 0.330059 +vt 0.221457 0.345892 +vt 0.215533 0.363326 +vt 0.206100 0.363326 +vt 0.215533 0.330059 +vt 0.215533 0.363326 +vt 0.237497 0.330059 +vt 0.244660 0.308322 +vt 0.241246 0.341147 +vt 0.237497 0.302945 +vt 0.244660 0.308322 +vt 0.237497 0.330059 +vt 0.227442 0.303375 +vt 0.237497 0.302945 +vt 0.237497 0.330059 +vt 0.227442 0.256750 +vt 0.237497 0.302945 +vt 0.227442 0.303375 +vt 0.221458 0.256750 +vt 0.227442 0.256750 +vt 0.227442 0.303375 +vt 0.237497 0.195760 +vt 0.237497 0.256028 +vt 0.227442 0.198295 +vt 0.244660 0.256028 +vt 0.237497 0.256028 +vt 0.237497 0.195760 +vt 0.244660 0.216971 +vt 0.244660 0.256028 +vt 0.237497 0.195760 +vt 0.252378 0.256028 +vt 0.244660 0.256028 +vt 0.244660 0.216971 +vt 0.252838 0.207011 +vt 0.244660 0.216971 +vt 0.221458 0.256750 +vt 0.215533 0.256750 +vt 0.221458 0.202334 +vt 0.221458 0.303375 +vt 0.215533 0.256750 +vt 0.221458 0.256750 +vt 0.227442 0.303375 +vt 0.221458 0.303375 +vt 0.221458 0.256750 +vt 0.227442 0.330059 +vt 0.221458 0.303375 +vt 0.227442 0.303375 +vt 0.237497 0.330059 +vt 0.227442 0.330059 +vt 0.227442 0.303375 +vt 0.221458 0.303375 +vt 0.215533 0.303375 +vt 0.215533 0.256750 +vt 0.221458 0.330059 +vt 0.215533 0.303375 +vt 0.221458 0.303375 +vt 0.227442 0.330059 +vt 0.221458 0.330059 +vt 0.221458 0.303375 +vt 0.221457 0.345892 +vt 0.221458 0.330059 +vt 0.227442 0.330059 +vt 0.252378 0.266660 +vt 0.244660 0.256028 +vt 0.244660 0.266660 +vt 0.244660 0.256028 +vt 0.244660 0.266660 +vt 0.248396 0.341147 +vt 0.244660 0.308322 +vt 0.241246 0.341147 +vt 0.244660 0.308322 +vt 0.248396 0.341147 +vt 0.244660 0.216971 +vt 0.244660 0.198728 +vt 0.252838 0.207011 +vt 0.237497 0.195760 +vt 0.244660 0.198728 +vt 0.244660 0.216971 +vt 0.215533 0.206439 +vt 0.215533 0.256750 +vt 0.206100 0.204278 +vt 0.221458 0.202334 +vt 0.215533 0.256750 +vt 0.215533 0.206439 +vt 0.215533 0.330059 +vt 0.221458 0.330059 +vt 0.221457 0.345892 +vt 0.215533 0.303375 +vt 0.221458 0.330059 +vt 0.215533 0.330059 +vt 0.237497 0.302945 +vt 0.237497 0.266660 +vt 0.244660 0.308322 +vt 0.227442 0.256750 +vt 0.237497 0.266660 +vt 0.237497 0.302945 +vt 0.244660 0.256028 +vt 0.244660 0.266660 +vt 0.237497 0.256028 +vt 0.049142 0.137390 +vt 0.053973 0.137696 +vt 0.054364 0.090769 +vt 0.053769 0.177667 +vt 0.049266 0.178033 +vt 0.054212 0.210563 +vt 0.049702 0.210261 +vt 0.054521 0.232047 +vt 0.049760 0.231373 +vt 0.055087 0.243166 +vt 0.049813 0.242143 +vt 0.055200 0.245183 +vt 0.049954 0.244040 +vt 0.054968 0.240195 +vt 0.049837 0.238845 +vt 0.054284 0.223758 +vt 0.049521 0.222472 +vt 0.053892 0.200197 +vt 0.049382 0.199965 +vt 0.053449 0.168970 +vt 0.048949 0.170032 +vt 0.053684 0.129969 +vt 0.048851 0.129856 +vt 0.054363 0.090460 +vt 0.088190 0.118157 +vt 0.086262 0.087844 +vt 0.088681 0.147864 +vt 0.083635 0.059266 +vt 0.089114 0.121254 +vt 0.088303 0.118202 +vt 0.089826 0.150465 +vt 0.088843 0.148016 +vt 0.090378 0.183657 +vt 0.088702 0.178117 +vt 0.082783 0.219790 +vt 0.081264 0.205141 +vt 0.071173 0.228579 +vt 0.078824 0.170985 +vt 0.070332 0.176781 +vt 0.076675 0.134214 +vt 0.068387 0.134949 +vt 0.071429 0.046744 +vt 0.064424 0.044403 +vt 0.070956 0.025454 +vt 0.064282 0.021547 +vt 0.070786 0.009444 +vt 0.064454 0.006899 +vt 0.070956 0.025454 +vt 0.075079 0.255271 +vt 0.062004 0.250551 +vt 0.062018 0.256899 +vt 0.073343 0.245831 +vt 0.082783 0.219790 +vt 0.081264 0.205141 +vt 0.082783 0.219790 +vt 0.088482 0.177915 +vt 0.081264 0.205141 +vt 0.082783 0.219790 +vt 0.085696 0.176279 +vt 0.081264 0.205141 +vt 0.083506 0.136857 +vt 0.075074 0.088814 +vt 0.079424 0.055474 +vt 0.071039 0.046988 +vt 0.070956 0.025454 +vt 0.064282 0.021547 +vt 0.070956 0.025454 +vt 0.064282 0.021547 +vt 0.070956 0.025454 +vt 0.058783 0.009351 +vt 0.064282 0.021547 +vt 0.058097 0.022524 +vt 0.054028 0.024477 +vt 0.053899 0.033683 +vt 0.041896 0.129560 +vt 0.006571 0.088691 +vt 0.037621 0.088349 +vt 0.003725 0.129572 +vt 0.043004 0.173889 +vt 0.001337 0.174427 +vt 0.041805 0.207061 +vt 0.003682 0.210131 +vt 0.037128 0.231930 +vt 0.009436 0.233428 +vt 0.030731 0.250106 +vt 0.060397 0.241334 +vt 0.071173 0.228579 +vt 0.060049 0.217383 +vt 0.071173 0.228579 +vt 0.069733 0.178151 +vt 0.071173 0.228579 +vt 0.059453 0.180977 +vt 0.059800 0.138836 +vt 0.059960 0.128948 +vt 0.059566 0.170152 +vt 0.060086 0.205962 +vt 0.060448 0.232782 +vt 0.062492 0.244204 +vt 0.054488 0.017666 +vt 0.058097 0.022524 +vt 0.054028 0.024477 +vt 0.058097 0.022524 +vt 0.057772 0.034243 +vt 0.058097 0.022524 +vt 0.054028 0.024477 +vt 0.053903 0.035082 +vt 0.054028 0.024477 +vt 0.057658 0.047876 +vt 0.053947 0.052426 +vt 0.057772 0.033755 +vt 0.058013 0.047616 +vt 0.048905 0.033618 +vt 0.048952 0.052171 +vt 0.048953 0.021912 +vt 0.048899 0.017646 +vt 0.054028 0.024477 +vt 0.048850 0.021973 +vt 0.054028 0.024477 +vt 0.078952 0.025162 +vt 0.079736 0.055277 +vt 0.086427 0.087492 +vt 0.067004 0.090294 +vt 0.063950 0.044658 +vt 0.076114 0.135138 +vt 0.067765 0.135911 +vt 0.078308 0.172299 +vt 0.071173 0.228579 +vt 0.062004 0.250551 +vt 0.062004 0.250551 +vt 0.073343 0.245831 +vt 0.088100 0.235740 +vt 0.073343 0.245831 +vt 0.073343 0.245831 +vt 0.060065 0.089841 +vt 0.007046 0.044053 +vt 0.036709 0.085389 +vt 0.007020 0.085818 +vt 0.035781 0.043961 +vt 0.009346 0.025038 +vt 0.032185 0.023489 +vt 0.014510 0.010630 +vt 0.078820 0.025248 +vt 0.053947 0.052266 +vt 0.082783 0.219790 +vt 0.082783 0.219790 +vt 0.083864 0.136344 +vt 0.086038 0.176142 +vt 0.049049 0.089716 +vt 0.064282 0.021547 +vt 0.064282 0.021547 +vt 0.048952 0.052254 +vt 0.049050 0.090105 +vt 0.016024 0.249962 +vt 0.023409 0.255880 +vt 0.048908 0.035022 +vt 0.054028 0.024477 +vt 0.070956 0.025454 +vt 0.070956 0.025454 +vt 0.062004 0.250551 +vt 0.061863 0.254876 +vt 0.062004 0.250551 +vt 0.071173 0.228579 +vt 0.081264 0.205141 +vt 0.071173 0.228579 +vt 0.058097 0.022524 +vt 0.064282 0.021547 +vt 0.064282 0.021547 +vt 0.058097 0.022524 +vt 0.026927 0.010604 +vt 0.021004 0.005880 +vt 0.073343 0.245831 +vt 0.073343 0.245831 +vt 0.081264 0.205141 +vt 0.071173 0.228579 +vt 0.081264 0.205141 +vt 0.288695 0.485509 +vt 0.280415 0.493664 +vt 0.288695 0.493811 +vt 0.283742 0.486120 +vt 0.288695 0.478083 +vt 0.283210 0.478974 +vt 0.283041 0.472550 +vt 0.286608 0.467560 +vt 0.288695 0.472076 +vt 0.286608 0.467560 +vt 0.286849 0.466197 +vt 0.286608 0.467560 +vt 0.283041 0.472550 +vt 0.286608 0.467560 +vt 0.283210 0.478974 +vt 0.283041 0.472550 +vt 0.283742 0.486120 +vt 0.283210 0.478974 +vt 0.280415 0.493664 +vt 0.283742 0.486120 +vt 0.280415 0.493664 +vt 0.288695 0.469781 +vt 0.286849 0.466197 +vt 0.286849 0.466197 +vt 0.283742 0.486120 +vt 0.279559 0.488823 +vt 0.283742 0.486120 +vt 0.280415 0.493664 +vt 0.283210 0.478974 +vt 0.283742 0.486120 +vt 0.278641 0.482666 +vt 0.283210 0.478974 +vt 0.283041 0.472550 +vt 0.283210 0.478974 +vt 0.280177 0.469963 +vt 0.283041 0.472550 +vt 0.283002 0.466748 +vt 0.283041 0.472550 +vt 0.283064 0.465472 +vt 0.286849 0.466197 +vt 0.280080 0.469047 +vt 0.283064 0.465472 +vt 0.278318 0.475533 +vt 0.286849 0.466197 +vt 0.286849 0.466197 +vt 0.281092 0.495183 +vt 0.278259 0.477544 +vt 0.280177 0.469963 +vt 0.278641 0.482666 +vt 0.280177 0.469963 +vt 0.280177 0.469963 +vt 0.278641 0.482666 +vt 0.280177 0.469963 +vt 0.283064 0.465472 +vt 0.283002 0.466748 +vt 0.283064 0.465472 +vt 0.280177 0.469963 +vt 0.283002 0.466748 +vt 0.280177 0.469963 +vt 0.283002 0.466748 +vt 0.278259 0.477544 +vt 0.280080 0.469047 +vt 0.278259 0.477544 +vt 0.278318 0.475533 +vt 0.280080 0.469047 +vt 0.278259 0.477544 +vt 0.281092 0.495183 +vt 0.278318 0.475533 +vt 0.281092 0.495183 +vt 0.278318 0.475533 +vt 0.279559 0.488823 +vt 0.279559 0.488823 +vt 0.286608 0.467560 +vt 0.283041 0.472550 +vt 0.286608 0.467560 +vt 0.280080 0.469047 +vt 0.278318 0.475533 +vt 0.280080 0.469047 +vt 0.278641 0.482666 +vt 0.279559 0.488823 +vt 0.278641 0.482666 +vt 0.283002 0.466748 +vt 0.286849 0.466197 +vt 0.283064 0.465472 +vt 0.286849 0.466197 +vt 0.283002 0.466748 +vt 0.281092 0.495183 +vt 0.280415 0.493664 +vt 0.280080 0.469047 +vt 0.277387 0.497109 +vt 0.280415 0.493664 +vt 0.281092 0.495183 +vt 0.276788 0.496195 +vt 0.280415 0.493664 +vt 0.274920 0.499360 +vt 0.274393 0.498506 +vt 0.273191 0.502580 +vt 0.272812 0.502454 +vt 0.272465 0.506306 +vt 0.272036 0.506416 +vt 0.272102 0.513377 +vt 0.271052 0.505787 +vt 0.270002 0.506414 +vt 0.270475 0.498781 +vt 0.269457 0.497084 +vt 0.272162 0.493546 +vt 0.269979 0.492152 +vt 0.271249 0.490876 +vt 0.271033 0.489938 +vt 0.271164 0.481291 +vt 0.277387 0.497109 +vt 0.276788 0.496195 +vt 0.277387 0.497109 +vt 0.279559 0.488823 +vt 0.276788 0.496195 +vt 0.275946 0.492591 +vt 0.276788 0.496195 +vt 0.279559 0.488823 +vt 0.278641 0.482666 +vt 0.279559 0.488823 +vt 0.274952 0.487792 +vt 0.278641 0.482666 +vt 0.273721 0.481453 +vt 0.278641 0.482666 +vt 0.272162 0.493546 +vt 0.271387 0.482093 +vt 0.272162 0.493546 +vt 0.271249 0.490876 +vt 0.272162 0.493546 +vt 0.271164 0.481291 +vt 0.271249 0.490876 +vt 0.271033 0.489938 +vt 0.271249 0.490876 +vt 0.271164 0.481291 +vt 0.274393 0.498506 +vt 0.273191 0.502580 +vt 0.274920 0.499360 +vt 0.272812 0.502454 +vt 0.273191 0.502580 +vt 0.274393 0.498506 +vt 0.273331 0.496082 +vt 0.272812 0.502454 +vt 0.274393 0.498506 +vt 0.271502 0.500412 +vt 0.272812 0.502454 +vt 0.272162 0.493546 +vt 0.270475 0.498781 +vt 0.272162 0.493546 +vt 0.269457 0.497084 +vt 0.270475 0.498781 +vt 0.272162 0.493546 +vt 0.270002 0.506414 +vt 0.270475 0.498781 +vt 0.269457 0.497084 +vt 0.268906 0.503379 +vt 0.270002 0.506414 +vt 0.269457 0.497084 +vt 0.269600 0.507165 +vt 0.270002 0.506414 +vt 0.268710 0.502888 +vt 0.269797 0.508146 +vt 0.269795 0.491412 +vt 0.268631 0.496066 +vt 0.268906 0.503379 +vt 0.268906 0.503379 +vt 0.269600 0.507165 +vt 0.268906 0.503379 +vt 0.269600 0.507165 +vt 0.269797 0.508146 +vt 0.269600 0.507165 +vt 0.280415 0.493664 +vt 0.275946 0.492591 +vt 0.275946 0.492591 +vt 0.273331 0.496082 +vt 0.275946 0.492591 +vt 0.273331 0.496082 +vt 0.271502 0.500412 +vt 0.273331 0.496082 +vt 0.271502 0.500412 +vt 0.271502 0.500412 +vt 0.273331 0.496082 +vt 0.271502 0.500412 +vt 0.274952 0.487792 +vt 0.273331 0.496082 +vt 0.273721 0.481453 +vt 0.274952 0.487792 +vt 0.274952 0.487792 +vt 0.273721 0.481453 +vt 0.275928 0.474636 +vt 0.273721 0.481453 +vt 0.278259 0.477544 +vt 0.278318 0.475533 +vt 0.278259 0.477544 +vt 0.276478 0.472835 +vt 0.278318 0.475533 +vt 0.273026 0.476508 +vt 0.273721 0.481453 +vt 0.271387 0.482093 +vt 0.273721 0.481453 +vt 0.271387 0.482093 +vt 0.273721 0.481453 +vt 0.271387 0.482093 +vt 0.276788 0.496195 +vt 0.274920 0.499360 +vt 0.277387 0.497109 +vt 0.274393 0.498506 +vt 0.274920 0.499360 +vt 0.276788 0.496195 +vt 0.274393 0.498506 +vt 0.276788 0.496195 +vt 0.274393 0.498506 +vt 0.272162 0.493546 +vt 0.268535 0.495406 +vt 0.268631 0.496066 +vt 0.269457 0.497084 +vt 0.268631 0.496066 +vt 0.269979 0.492152 +vt 0.268631 0.496066 +vt 0.269457 0.497084 +vt 0.272162 0.493546 +vt 0.269979 0.492152 +vt 0.269457 0.497084 +vt 0.271249 0.490876 +vt 0.269979 0.492152 +vt 0.272162 0.493546 +vt 0.273086 0.474679 +vt 0.271164 0.481291 +vt 0.273026 0.476508 +vt 0.273026 0.476508 +vt 0.275928 0.474636 +vt 0.273026 0.476508 +vt 0.278641 0.482666 +vt 0.275928 0.474636 +vt 0.275928 0.474636 +vt 0.278641 0.482666 +vt 0.273086 0.474679 +vt 0.273086 0.474679 +vt 0.268535 0.495406 +vt 0.268535 0.495406 +vt 0.268535 0.495406 +vt 0.271033 0.489938 +vt 0.269795 0.491412 +vt 0.274920 0.499360 +vt 0.271033 0.489938 +vt 0.274920 0.499360 +vt 0.271033 0.489938 +vt 0.277387 0.497109 +vt 0.274920 0.499360 +vt 0.277387 0.497109 +vt 0.268710 0.502888 +vt 0.269600 0.507165 +vt 0.269797 0.508146 +vt 0.268906 0.503379 +vt 0.269600 0.507165 +vt 0.268710 0.502888 +vt 0.268535 0.495406 +vt 0.268906 0.503379 +vt 0.268710 0.502888 +vt 0.268906 0.503379 +vt 0.268535 0.495406 +vt 0.268535 0.495406 +vt 0.272102 0.513377 +vt 0.270002 0.506414 +vt 0.272102 0.513377 +vt 0.271052 0.505787 +vt 0.270002 0.506414 +vt 0.272102 0.513377 +vt 0.270475 0.498781 +vt 0.270002 0.506414 +vt 0.271052 0.505787 +vt 0.270475 0.498781 +vt 0.271052 0.505787 +vt 0.272812 0.502454 +vt 0.272465 0.506306 +vt 0.273191 0.502580 +vt 0.272036 0.506416 +vt 0.272465 0.506306 +vt 0.272812 0.502454 +vt 0.272036 0.506416 +vt 0.272812 0.502454 +vt 0.271052 0.505787 +vt 0.272036 0.506416 +vt 0.273086 0.474679 +vt 0.278318 0.475533 +vt 0.281092 0.495183 +vt 0.278318 0.475533 +vt 0.273086 0.474679 +vt 0.281092 0.495183 +vt 0.273086 0.474679 +vt 0.269797 0.508146 +vt 0.268535 0.495406 +vt 0.268710 0.502888 +vt 0.268535 0.495406 +vt 0.269797 0.508146 +vt 0.269797 0.508146 +vt 0.272465 0.506306 +vt 0.272102 0.513377 +vt 0.272465 0.506306 +vt 0.275946 0.492591 +vt 0.274952 0.487792 +vt 0.275946 0.492591 +vt 0.273331 0.496082 +vt 0.274952 0.487792 +vt 0.275946 0.492591 +vt 0.276478 0.472835 +vt 0.273191 0.502580 +vt 0.272465 0.506306 +vt 0.274920 0.499360 +vt 0.273191 0.502580 +vt 0.271502 0.500412 +vt 0.271502 0.500412 +vt 0.271387 0.482093 +vt 0.273086 0.474679 +vt 0.271387 0.482093 +vt 0.273086 0.474679 +vt 0.271387 0.482093 +vt 0.273086 0.474679 +vt 0.272102 0.513377 +vt 0.272036 0.506416 +vt 0.271052 0.505787 +vt 0.272465 0.506306 +vt 0.272036 0.506416 +vt 0.272102 0.513377 +vt 0.268631 0.496066 +vt 0.269795 0.491412 +vt 0.269979 0.492152 +vt 0.269795 0.491412 +vt 0.268631 0.496066 +vt 0.271033 0.489938 +vt 0.269979 0.492152 +vt 0.271249 0.490876 +vt 0.269795 0.491412 +vt 0.269979 0.492152 +vt 0.271033 0.489938 +vt 0.273026 0.476508 +vt 0.276478 0.472835 +vt 0.275928 0.474636 +vt 0.276478 0.472835 +vt 0.273026 0.476508 +vt 0.275928 0.474636 +vt 0.276478 0.472835 +vt 0.275928 0.474636 +vt 0.268535 0.495406 +vt 0.271033 0.489938 +vt 0.271164 0.481291 +vt 0.273086 0.474679 +vt 0.059691 0.138615 +vt 0.053921 0.137475 +vt 0.054308 0.090538 +vt 0.053720 0.177444 +vt 0.059348 0.180754 +vt 0.054158 0.210338 +vt 0.059938 0.217159 +vt 0.054463 0.231822 +vt 0.060688 0.234699 +vt 0.055024 0.242940 +vt 0.061665 0.249348 +vt 0.055136 0.244957 +vt 0.061888 0.256672 +vt 0.054907 0.239969 +vt 0.061990 0.243977 +vt 0.054229 0.223532 +vt 0.060037 0.227864 +vt 0.053841 0.199973 +vt 0.059974 0.205738 +vt 0.053403 0.168747 +vt 0.059460 0.169929 +vt 0.053635 0.129748 +vt 0.059850 0.128728 +vt 0.054307 0.090228 +vt 0.057921 0.047387 +vt 0.053895 0.052037 +vt 0.053848 0.033454 +vt 0.049137 0.137169 +vt 0.049260 0.177809 +vt 0.049691 0.210037 +vt 0.049749 0.231147 +vt 0.049802 0.241917 +vt 0.049941 0.243814 +vt 0.049825 0.238619 +vt 0.049513 0.222247 +vt 0.049375 0.199741 +vt 0.048946 0.169809 +vt 0.048849 0.129636 +vt 0.079433 0.055047 +vt 0.078656 0.024934 +vt 0.071207 0.046515 +vt 0.083294 0.059036 +vt 0.086058 0.087261 +vt 0.087916 0.117969 +vt 0.088451 0.147781 +vt 0.088719 0.121020 +vt 0.089424 0.150230 +vt 0.087804 0.117924 +vt 0.088291 0.147629 +vt 0.085895 0.087613 +vt 0.083166 0.136622 +vt 0.074816 0.088583 +vt 0.075846 0.134904 +vt 0.067578 0.135677 +vt 0.069527 0.177914 +vt 0.059953 0.089609 +vt 0.066825 0.090062 +vt 0.063800 0.044429 +vt 0.070820 0.046758 +vt 0.070617 0.021809 +vt 0.078525 0.025020 +vt 0.070942 0.008625 +vt 0.070617 0.021809 +vt 0.070617 0.021809 +vt 0.063781 0.020344 +vt 0.070617 0.021809 +vt 0.064270 0.044173 +vt 0.057921 0.031574 +vt 0.054340 0.024250 +vt 0.058247 0.021809 +vt 0.058684 0.009124 +vt 0.064299 0.006672 +vt 0.058247 0.021809 +vt 0.063781 0.020344 +vt 0.058247 0.021809 +vt 0.057921 0.031574 +vt 0.058247 0.021809 +vt 0.063781 0.020344 +vt 0.057921 0.031574 +vt 0.063781 0.020344 +vt 0.057570 0.047646 +vt 0.057921 0.031574 +vt 0.048905 0.034793 +vt 0.053851 0.034853 +vt 0.048949 0.052025 +vt 0.054340 0.024250 +vt 0.048848 0.021746 +vt 0.054340 0.024250 +vt 0.054431 0.017439 +vt 0.054340 0.024250 +vt 0.048896 0.017419 +vt 0.048949 0.021684 +vt 0.048902 0.033389 +vt 0.048949 0.051942 +vt 0.083520 0.136109 +vt 0.084777 0.170735 +vt 0.087544 0.177571 +vt 0.081359 0.204426 +vt 0.082894 0.222448 +vt 0.073221 0.244465 +vt 0.074197 0.252278 +vt 0.005388 0.126420 +vt 0.038687 0.085185 +vt 0.007636 0.085526 +vt 0.043559 0.126408 +vt 0.003000 0.171271 +vt 0.044667 0.170734 +vt 0.005345 0.206974 +vt 0.043468 0.203905 +vt 0.011098 0.230269 +vt 0.038791 0.228772 +vt 0.017687 0.246803 +vt 0.053895 0.052197 +vt 0.057921 0.031574 +vt 0.057921 0.031574 +vt 0.058247 0.021809 +vt 0.057921 0.031574 +vt 0.054340 0.024250 +vt 0.058247 0.021809 +vt 0.058247 0.021809 +vt 0.054340 0.024250 +vt 0.054340 0.024250 +vt 0.073221 0.244465 +vt 0.071105 0.226887 +vt 0.073221 0.244465 +vt 0.082733 0.222118 +vt 0.073221 0.244465 +vt 0.081196 0.204914 +vt 0.087544 0.177571 +vt 0.084777 0.170735 +vt 0.087544 0.177571 +vt 0.087544 0.177571 +vt 0.084777 0.170735 +vt 0.084777 0.170735 +vt 0.036847 0.040800 +vt 0.008085 0.082654 +vt 0.037775 0.082224 +vt 0.008112 0.040891 +vt 0.033251 0.020328 +vt 0.010412 0.021878 +vt 0.027992 0.007444 +vt 0.015576 0.007471 +vt 0.076401 0.133980 +vt 0.078530 0.170748 +vt 0.068194 0.134714 +vt 0.070120 0.176544 +vt 0.063781 0.020344 +vt 0.063781 0.020344 +vt 0.063781 0.020344 +vt 0.070617 0.021809 +vt 0.070617 0.021809 +vt 0.071105 0.226887 +vt 0.071105 0.226887 +vt 0.071105 0.226887 +vt 0.079124 0.055245 +vt 0.078018 0.172063 +vt 0.089985 0.182942 +vt 0.087381 0.238117 +vt 0.049045 0.089873 +vt 0.071105 0.226887 +vt 0.071105 0.226887 +vt 0.087544 0.177571 +vt 0.084777 0.170735 +vt 0.084777 0.170735 +vt 0.071105 0.226887 +vt 0.071105 0.226887 +vt 0.049044 0.089484 +vt 0.032394 0.246947 +vt 0.025072 0.252721 +vt 0.087544 0.177571 +vt 0.073221 0.244465 +vt 0.073221 0.244465 +vt 0.049919 0.102775 +vt 0.049132 0.138312 +vt 0.049924 0.177272 +vt 0.009944 0.556824 +vt 0.009944 0.608689 +vt 0.002959 0.608255 +vt 0.021163 0.559239 +vt 0.021163 0.519200 +vt 0.036313 0.524614 +vt 0.036806 0.488919 +vt 0.059410 0.490474 +vt 0.037053 0.455697 +vt 0.059410 0.458526 +vt 0.059410 0.419553 +vt 0.077221 0.419184 +vt 0.077221 0.379418 +vt 0.084130 0.378994 +vt 0.077221 0.351197 +vt 0.084031 0.351127 +vt 0.084130 0.378994 +vt 0.092572 0.380161 +vt 0.084130 0.378994 +vt 0.083907 0.418673 +vt 0.084130 0.378994 +vt 0.091710 0.418214 +vt 0.083654 0.457483 +vt 0.091209 0.457207 +vt 0.091123 0.489017 +vt 0.100499 0.489017 +vt 0.092089 0.520692 +vt 0.101233 0.519536 +vt 0.092680 0.564063 +vt 0.101731 0.558973 +vt 0.093055 0.625218 +vt 0.103061 0.625564 +vt 0.092603 0.673187 +vt 0.103917 0.681925 +vt 0.092856 0.722900 +vt 0.105363 0.731159 +vt 0.098125 0.782050 +vt 0.109069 0.776116 +vt 0.102996 0.834417 +vt 0.114078 0.812041 +vt 0.109069 0.776116 +vt 0.122379 0.752794 +vt 0.109069 0.776116 +vt 0.105363 0.731159 +vt 0.109069 0.776116 +vt 0.115842 0.664357 +vt 0.105363 0.731159 +vt 0.103917 0.681925 +vt 0.105363 0.731159 +vt 0.103061 0.625564 +vt 0.103917 0.681925 +vt 0.092603 0.673187 +vt 0.103061 0.625564 +vt 0.103917 0.681925 +vt 0.093055 0.625218 +vt 0.103061 0.625564 +vt 0.092603 0.673187 +vt 0.084543 0.667439 +vt 0.093055 0.625218 +vt 0.092603 0.673187 +vt 0.084500 0.620825 +vt 0.093055 0.625218 +vt 0.077221 0.663145 +vt 0.077221 0.616875 +vt 0.059410 0.659118 +vt 0.059410 0.615692 +vt 0.033348 0.652294 +vt 0.033348 0.609484 +vt 0.019970 0.645796 +vt 0.021163 0.600589 +vt 0.009944 0.634867 +vt 0.035324 0.566463 +vt 0.059410 0.527025 +vt 0.077221 0.489964 +vt 0.077221 0.458318 +vt 0.083907 0.418673 +vt 0.083907 0.418673 +vt 0.092572 0.380161 +vt 0.083907 0.418673 +vt 0.092572 0.380161 +vt 0.093538 0.352466 +vt 0.092572 0.380161 +vt 0.105981 0.388027 +vt 0.102000 0.424667 +vt 0.100443 0.458068 +vt 0.114882 0.489017 +vt 0.113413 0.554053 +vt 0.009944 0.510901 +vt 0.021162 0.484610 +vt 0.009944 0.451162 +vt 0.021162 0.451248 +vt 0.021162 0.413581 +vt 0.037053 0.416849 +vt 0.037053 0.379418 +vt 0.059410 0.379418 +vt 0.037053 0.351197 +vt 0.059410 0.351197 +vt 0.059410 0.379418 +vt 0.077221 0.379418 +vt 0.059410 0.379418 +vt 0.059410 0.419553 +vt 0.077221 0.379418 +vt 0.059410 0.379418 +vt 0.077221 0.419184 +vt 0.077221 0.379418 +vt 0.059410 0.419553 +vt 0.059410 0.458526 +vt 0.077221 0.419184 +vt 0.059410 0.419553 +vt 0.077221 0.458318 +vt 0.077221 0.419184 +vt 0.059410 0.458526 +vt 0.077221 0.489964 +vt 0.077221 0.458318 +vt 0.059410 0.458526 +vt 0.083654 0.489900 +vt 0.077221 0.458318 +vt 0.077221 0.489964 +vt 0.077221 0.526506 +vt 0.077221 0.489964 +vt 0.083581 0.523331 +vt 0.077221 0.571088 +vt 0.084031 0.568553 +vt 0.059410 0.570472 +vt 0.077221 0.526506 +vt 0.077221 0.526506 +vt 0.083654 0.489900 +vt 0.077221 0.526506 +vt 0.083654 0.489900 +vt 0.083654 0.457483 +vt 0.083654 0.489900 +vt 0.083907 0.418673 +vt 0.083654 0.457483 +vt 0.091710 0.418214 +vt 0.083654 0.457483 +vt 0.083907 0.418673 +vt 0.092572 0.380161 +vt 0.091710 0.418214 +vt 0.083907 0.418673 +vt 0.105981 0.388027 +vt 0.091710 0.418214 +vt 0.092572 0.380161 +vt 0.105981 0.388027 +vt 0.092572 0.380161 +vt 0.109593 0.367061 +vt 0.105981 0.388027 +vt 0.118719 0.414380 +vt 0.115324 0.437940 +vt 0.077221 0.571088 +vt 0.077221 0.526506 +vt 0.077221 0.571088 +vt 0.083581 0.523331 +vt 0.077221 0.571088 +vt 0.077221 0.526506 +vt 0.083654 0.489900 +vt 0.083581 0.523331 +vt 0.077221 0.526506 +vt 0.091123 0.489017 +vt 0.083581 0.523331 +vt 0.083654 0.489900 +vt 0.083654 0.457483 +vt 0.091123 0.489017 +vt 0.083654 0.489900 +vt 0.091209 0.457207 +vt 0.091123 0.489017 +vt 0.083654 0.457483 +vt 0.091710 0.418214 +vt 0.091209 0.457207 +vt 0.083654 0.457483 +vt 0.102000 0.424667 +vt 0.091209 0.457207 +vt 0.091710 0.418214 +vt 0.105981 0.388027 +vt 0.102000 0.424667 +vt 0.091710 0.418214 +vt 0.118719 0.414380 +vt 0.102000 0.424667 +vt 0.105981 0.388027 +vt 0.118719 0.414380 +vt 0.105981 0.388027 +vt 0.122057 0.398171 +vt 0.118719 0.414380 +vt 0.129175 0.441739 +vt 0.125662 0.455993 +vt 0.124739 0.489017 +vt 0.140301 0.489017 +vt 0.009944 0.378879 +vt 0.021162 0.379418 +vt 0.009944 0.351197 +vt 0.021162 0.351197 +vt 0.021162 0.379418 +vt 0.037053 0.379418 +vt 0.021162 0.379418 +vt 0.021162 0.413581 +vt 0.037053 0.379418 +vt 0.021162 0.379418 +vt 0.037053 0.416849 +vt 0.037053 0.379418 +vt 0.021162 0.413581 +vt 0.021162 0.451248 +vt 0.037053 0.416849 +vt 0.021162 0.413581 +vt 0.037053 0.455697 +vt 0.037053 0.416849 +vt 0.021162 0.451248 +vt 0.036806 0.488919 +vt 0.037053 0.455697 +vt 0.021162 0.451248 +vt 0.059410 0.490474 +vt 0.037053 0.455697 +vt 0.036806 0.488919 +vt 0.036313 0.524614 +vt 0.059410 0.490474 +vt 0.036806 0.488919 +vt 0.059410 0.527025 +vt 0.059410 0.490474 +vt 0.036313 0.524614 +vt 0.035324 0.566463 +vt 0.059410 0.527025 +vt 0.036313 0.524614 +vt 0.059410 0.570472 +vt 0.059410 0.527025 +vt 0.035324 0.566463 +vt 0.009944 0.608689 +vt 0.009944 0.556824 +vt 0.002959 0.608255 +vt 0.021163 0.559239 +vt 0.009944 0.556824 +vt 0.009944 0.608689 +vt 0.021163 0.600589 +vt 0.021163 0.559239 +vt 0.009944 0.608689 +vt 0.035324 0.566463 +vt 0.021163 0.559239 +vt 0.021163 0.600589 +vt 0.033348 0.609484 +vt 0.035324 0.566463 +vt 0.021163 0.600589 +vt 0.059410 0.570472 +vt 0.035324 0.566463 +vt 0.033348 0.609484 +vt 0.059410 0.615692 +vt 0.059410 0.570472 +vt 0.033348 0.609484 +vt 0.059410 0.570472 +vt 0.059410 0.615692 +vt 0.077221 0.616875 +vt 0.059410 0.615692 +vt 0.077221 0.616875 +vt 0.084500 0.620825 +vt 0.077221 0.616875 +vt 0.084500 0.620825 +vt 0.084500 0.620825 +vt 0.077221 0.571088 +vt 0.084031 0.568553 +vt 0.077221 0.571088 +vt 0.083581 0.523331 +vt 0.084031 0.568553 +vt 0.077221 0.571088 +vt 0.092089 0.520692 +vt 0.084031 0.568553 +vt 0.083581 0.523331 +vt 0.091123 0.489017 +vt 0.092089 0.520692 +vt 0.083581 0.523331 +vt 0.100499 0.489017 +vt 0.092089 0.520692 +vt 0.091123 0.489017 +vt 0.091209 0.457207 +vt 0.100499 0.489017 +vt 0.091123 0.489017 +vt 0.100443 0.458068 +vt 0.100499 0.489017 +vt 0.091209 0.457207 +vt 0.102000 0.424667 +vt 0.100443 0.458068 +vt 0.091209 0.457207 +vt 0.115324 0.437940 +vt 0.100443 0.458068 +vt 0.102000 0.424667 +vt 0.118719 0.414380 +vt 0.115324 0.437940 +vt 0.102000 0.424667 +vt 0.129175 0.441739 +vt 0.115324 0.437940 +vt 0.118719 0.414380 +vt 0.092680 0.564063 +vt 0.093055 0.625218 +vt 0.101731 0.558973 +vt 0.093055 0.625218 +vt 0.092680 0.564063 +vt 0.101233 0.519536 +vt 0.101731 0.558973 +vt 0.092680 0.564063 +vt 0.113413 0.554053 +vt 0.101731 0.558973 +vt 0.101233 0.519536 +vt 0.114882 0.489017 +vt 0.113413 0.554053 +vt 0.101233 0.519536 +vt 0.124739 0.489017 +vt 0.113413 0.554053 +vt 0.114882 0.489017 +vt 0.115324 0.437940 +vt 0.124739 0.489017 +vt 0.114882 0.489017 +vt 0.125662 0.455993 +vt 0.124739 0.489017 +vt 0.115324 0.437940 +vt 0.129175 0.441739 +vt 0.125662 0.455993 +vt 0.115324 0.437940 +vt 0.125662 0.455993 +vt 0.129175 0.441739 +vt 0.009944 0.378879 +vt 0.021162 0.379418 +vt 0.021162 0.413581 +vt 0.021162 0.379418 +vt 0.009944 0.378879 +vt 0.009944 0.451162 +vt 0.021162 0.413581 +vt 0.009944 0.378879 +vt 0.021162 0.451248 +vt 0.021162 0.413581 +vt 0.009944 0.451162 +vt 0.021162 0.484610 +vt 0.021162 0.451248 +vt 0.009944 0.451162 +vt 0.036806 0.488919 +vt 0.021162 0.451248 +vt 0.021162 0.484610 +vt 0.021163 0.519200 +vt 0.036806 0.488919 +vt 0.021162 0.484610 +vt 0.036313 0.524614 +vt 0.036806 0.488919 +vt 0.021163 0.519200 +vt 0.021163 0.559239 +vt 0.036313 0.524614 +vt 0.021163 0.519200 +vt 0.035324 0.566463 +vt 0.036313 0.524614 +vt 0.021163 0.559239 +vt 0.007721 0.918650 +vt 0.004111 0.976813 +vt 0.007721 0.976813 +vt 0.004111 0.918650 +vt 0.007721 0.867819 +vt 0.004111 0.867819 +vt 0.007721 0.823496 +vt 0.004111 0.823496 +vt 0.007721 0.778760 +vt 0.004111 0.778760 +vt 0.007721 0.743992 +vt 0.004111 0.743992 +vt 0.015318 0.644506 +vt 0.016590 0.623082 +vt 0.012959 0.618304 +vt 0.022929 0.638619 +vt 0.018652 0.667650 +vt 0.028136 0.660392 +vt 0.020361 0.703132 +vt 0.033664 0.693453 +vt 0.020798 0.735268 +vt 0.038200 0.735268 +vt 0.033664 0.693453 +vt 0.059410 0.570472 +vt 0.059410 0.527025 +vt 0.059410 0.570472 +vt 0.077221 0.489964 +vt 0.059410 0.527025 +vt 0.059410 0.490474 +vt 0.059410 0.527025 +vt 0.077221 0.489964 +vt 0.059410 0.458526 +vt 0.059410 0.490474 +vt 0.077221 0.489964 +vt 0.037053 0.455697 +vt 0.059410 0.490474 +vt 0.059410 0.458526 +vt 0.059410 0.419553 +vt 0.037053 0.455697 +vt 0.059410 0.458526 +vt 0.037053 0.416849 +vt 0.037053 0.455697 +vt 0.059410 0.419553 +vt 0.059410 0.379418 +vt 0.037053 0.416849 +vt 0.059410 0.419553 +vt 0.059216 0.973897 +vt 0.080281 0.861287 +vt 0.077006 0.947718 +vt 0.062336 0.861316 +vt 0.035705 0.861316 +vt 0.059216 0.749919 +vt 0.033077 0.742518 +vt 0.059410 0.701245 +vt 0.033348 0.693633 +vt 0.084031 0.568553 +vt 0.092680 0.564063 +vt 0.084031 0.568553 +vt 0.092089 0.520692 +vt 0.092680 0.564063 +vt 0.084031 0.568553 +vt 0.101233 0.519536 +vt 0.092680 0.564063 +vt 0.092089 0.520692 +vt 0.100499 0.489017 +vt 0.101233 0.519536 +vt 0.092089 0.520692 +vt 0.114882 0.489017 +vt 0.101233 0.519536 +vt 0.100499 0.489017 +vt 0.100443 0.458068 +vt 0.114882 0.489017 +vt 0.100499 0.489017 +vt 0.115324 0.437940 +vt 0.114882 0.489017 +vt 0.100443 0.458068 +vt 0.129397 0.761799 +vt 0.122379 0.752794 +vt 0.128861 0.668134 +vt 0.122379 0.752794 +vt 0.125140 0.619516 +vt 0.122379 0.752794 +vt 0.126351 0.538577 +vt 0.033077 0.742401 +vt 0.018031 0.693981 +vt 0.014248 0.746356 +vt 0.033348 0.693633 +vt 0.059410 0.701245 +vt 0.033348 0.693633 +vt 0.059410 0.659118 +vt 0.033348 0.693633 +vt 0.059410 0.701245 +vt 0.077221 0.663145 +vt 0.059410 0.659118 +vt 0.059410 0.701245 +vt 0.077221 0.616875 +vt 0.059410 0.659118 +vt 0.077221 0.663145 +vt 0.084500 0.620825 +vt 0.077221 0.616875 +vt 0.077221 0.663145 +vt 0.059216 0.749801 +vt 0.059410 0.701245 +vt 0.077221 0.709272 +vt 0.059410 0.701245 +vt 0.077006 0.774738 +vt 0.085187 0.714896 +vt 0.087806 0.781243 +vt 0.092660 0.853724 +vt 0.087806 0.781243 +vt 0.098125 0.782050 +vt 0.087806 0.781243 +vt 0.092856 0.722900 +vt 0.098125 0.782050 +vt 0.087806 0.781243 +vt 0.105363 0.731159 +vt 0.098125 0.782050 +vt 0.092856 0.722900 +vt 0.103917 0.681925 +vt 0.105363 0.731159 +vt 0.092856 0.722900 +vt 0.129442 0.903002 +vt 0.107555 0.898819 +vt 0.135450 0.883505 +vt 0.101120 0.933314 +vt 0.125991 0.933003 +vt 0.098671 0.973635 +vt 0.123581 0.973635 +vt 0.125991 0.933003 +vt 0.009944 0.634867 +vt 0.021163 0.600589 +vt 0.009944 0.608689 +vt 0.019970 0.645796 +vt 0.021163 0.600589 +vt 0.009944 0.634867 +vt 0.019970 0.645796 +vt 0.009944 0.634867 +vt 0.033348 0.652294 +vt 0.019970 0.645796 +vt 0.033348 0.693633 +vt 0.033348 0.652294 +vt 0.059410 0.659118 +vt 0.033348 0.652294 +vt 0.033348 0.693633 +vt 0.077006 0.774767 +vt 0.077221 0.709272 +vt 0.085187 0.714896 +vt 0.077221 0.709272 +vt 0.085187 0.714896 +vt 0.077221 0.709272 +vt 0.092603 0.673187 +vt 0.085187 0.714896 +vt 0.131386 0.434007 +vt 0.129175 0.441739 +vt 0.129175 0.441739 +vt 0.118719 0.414380 +vt 0.129175 0.441739 +vt 0.059410 0.615692 +vt 0.059410 0.659118 +vt 0.077221 0.616875 +vt 0.033348 0.652294 +vt 0.059410 0.659118 +vt 0.059410 0.615692 +vt 0.033348 0.609484 +vt 0.033348 0.652294 +vt 0.059410 0.615692 +vt 0.019970 0.645796 +vt 0.033348 0.652294 +vt 0.033348 0.609484 +vt 0.021163 0.600589 +vt 0.019970 0.645796 +vt 0.033348 0.609484 +vt 0.098125 0.782050 +vt 0.109069 0.776116 +vt 0.098125 0.782050 +vt 0.105363 0.731159 +vt 0.109069 0.776116 +vt 0.098125 0.782050 +vt 0.122379 0.752794 +vt 0.122379 0.752794 +vt 0.115842 0.664357 +vt 0.122379 0.752794 +vt 0.115842 0.664357 +vt 0.115842 0.664357 +vt 0.125140 0.619516 +vt 0.126351 0.538577 +vt 0.128861 0.668134 +vt 0.125140 0.619516 +vt 0.132554 0.671435 +vt 0.128861 0.668134 +vt 0.128861 0.668134 +vt 0.162542 0.642582 +vt 0.141988 0.705957 +vt 0.138988 0.693980 +vt 0.162542 0.723048 +vt 0.141988 0.705957 +vt 0.147523 0.722907 +vt 0.141988 0.705957 +vt 0.125140 0.619516 +vt 0.126351 0.538577 +vt 0.125140 0.619516 +vt 0.128861 0.668134 +vt 0.125140 0.619516 +vt 0.128861 0.668134 +vt 0.009944 0.510901 +vt 0.021162 0.484610 +vt 0.009944 0.451162 +vt 0.021163 0.519200 +vt 0.021162 0.484610 +vt 0.009944 0.510901 +vt 0.009944 0.556824 +vt 0.021163 0.519200 +vt 0.009944 0.510901 +vt 0.021163 0.559239 +vt 0.021163 0.519200 +vt 0.009944 0.556824 +vt 0.084543 0.667439 +vt 0.084543 0.667439 +vt 0.084500 0.620825 +vt 0.084543 0.667439 +vt 0.113413 0.554053 +vt 0.103061 0.625564 +vt 0.126351 0.538577 +vt 0.113413 0.554053 +vt 0.124739 0.489017 +vt 0.126351 0.538577 +vt 0.113413 0.554053 +vt 0.126351 0.538577 +vt 0.124739 0.489017 +vt 0.077221 0.663145 +vt 0.084543 0.667439 +vt 0.084500 0.620825 +vt 0.084543 0.667439 +vt 0.077221 0.663145 +vt 0.059410 0.701245 +vt 0.077221 0.663145 +vt 0.135450 0.883505 +vt 0.118765 0.871711 +vt 0.107555 0.898819 +vt 0.132360 0.859792 +vt 0.135450 0.883505 +vt 0.138451 0.861963 +vt 0.135450 0.883505 +vt 0.132360 0.859792 +vt 0.138451 0.861963 +vt 0.118765 0.871711 +vt 0.132360 0.859792 +vt 0.118765 0.871711 +vt 0.138988 0.693980 +vt 0.141988 0.705957 +vt 0.136042 0.658374 +vt 0.138988 0.693980 +vt 0.136765 0.626789 +vt 0.077221 0.709272 +vt 0.077221 0.709272 +vt 0.017594 0.861287 +vt 0.014248 0.746444 +vt 0.014248 0.976041 +vt 0.033077 0.981948 +vt 0.147523 0.722907 +vt 0.156009 0.731665 +vt 0.147523 0.722907 +vt 0.162542 0.733905 +vt 0.115842 0.664357 +vt 0.115842 0.664357 +vt 0.115842 0.664357 +vt 0.020361 0.703132 +vt 0.033664 0.693453 +vt 0.028136 0.660392 +vt 0.033664 0.693453 +vt 0.020361 0.703132 +vt 0.018652 0.667650 +vt 0.028136 0.660392 +vt 0.020361 0.703132 +vt 0.162542 0.590306 +vt 0.143058 0.590306 +vt 0.157397 0.567975 +vt 0.162542 0.567975 +vt 0.007721 0.743992 +vt 0.004111 0.778760 +vt 0.004111 0.743992 +vt 0.007721 0.778760 +vt 0.004111 0.778760 +vt 0.007721 0.743992 +vt 0.018031 0.693981 +vt 0.007721 0.823496 +vt 0.004111 0.867819 +vt 0.004111 0.823496 +vt 0.007721 0.867819 +vt 0.004111 0.867819 +vt 0.007721 0.823496 +vt 0.101731 0.558973 +vt 0.103061 0.625564 +vt 0.093055 0.625218 +vt 0.113413 0.554053 +vt 0.103061 0.625564 +vt 0.101731 0.558973 +vt 0.007721 0.867819 +vt 0.004111 0.918650 +vt 0.004111 0.867819 +vt 0.007721 0.918650 +vt 0.004111 0.918650 +vt 0.007721 0.867819 +vt 0.007721 0.918650 +vt 0.004111 0.918650 +vt 0.007721 0.918650 +vt 0.037053 0.379418 +vt 0.059410 0.379418 +vt 0.037053 0.416849 +vt 0.059410 0.379418 +vt 0.037053 0.379418 +vt 0.077221 0.379418 +vt 0.037053 0.379418 +vt 0.022929 0.638619 +vt 0.018652 0.667650 +vt 0.015318 0.644506 +vt 0.028136 0.660392 +vt 0.018652 0.667650 +vt 0.022929 0.638619 +vt 0.085187 0.714896 +vt 0.092856 0.722900 +vt 0.087806 0.781243 +vt 0.092603 0.673187 +vt 0.092856 0.722900 +vt 0.085187 0.714896 +vt 0.125991 0.933003 +vt 0.101120 0.933314 +vt 0.129442 0.903002 +vt 0.101120 0.933314 +vt 0.125991 0.933003 +vt 0.129442 0.903002 +vt 0.107555 0.898819 +vt 0.101120 0.933314 +vt 0.135450 0.883505 +vt 0.107555 0.898819 +vt 0.129442 0.903002 +vt 0.077221 0.379418 +vt 0.084130 0.378994 +vt 0.077221 0.419184 +vt 0.084130 0.378994 +vt 0.077221 0.379418 +vt 0.077221 0.419184 +vt 0.084130 0.378994 +vt 0.077221 0.458318 +vt 0.077221 0.419184 +vt 0.136042 0.658374 +vt 0.136765 0.626789 +vt 0.136042 0.658374 +vt 0.077221 0.458318 +vt 0.077221 0.458318 +vt 0.156009 0.731665 +vt 0.156009 0.731665 +vt 0.087806 0.781243 +vt 0.085187 0.714896 +vt 0.087806 0.781243 +vt 0.136765 0.626789 +vt 0.143058 0.590306 +vt 0.136765 0.626789 +vt 0.157397 0.567975 +vt 0.143058 0.590306 +vt 0.007721 0.778760 +vt 0.004111 0.823496 +vt 0.004111 0.778760 +vt 0.007721 0.823496 +vt 0.004111 0.823496 +vt 0.007721 0.778760 +vt 0.018031 0.693981 +vt 0.018031 0.693981 +vt 0.016590 0.623082 +vt 0.015318 0.644506 +vt 0.012959 0.618304 +vt 0.022929 0.638619 +vt 0.015318 0.644506 +vt 0.016590 0.623082 +vt 0.018031 0.693981 +vt 0.018031 0.693981 +vt 0.124739 0.489017 +vt 0.125662 0.455993 +vt 0.077221 0.709272 +vt 0.092603 0.673187 +vt 0.103917 0.681925 +vt 0.092856 0.722900 +vt 0.084543 0.667439 +vt 0.157397 0.567975 +vt 0.115842 0.664357 +vt 0.122379 0.752794 +vt 0.279042 0.957224 +vt 0.283841 0.956948 +vt 0.279076 0.964797 +vt 0.283007 0.924172 +vt 0.279050 0.921809 +vt 0.285666 0.894376 +vt 0.278964 0.893360 +vt 0.286297 0.886857 +vt 0.279004 0.884609 +vt 0.278803 0.865380 +vt 0.272075 0.865717 +vt 0.278729 0.837282 +vt 0.272839 0.835411 +vt 0.269089 0.802840 +vt 0.267782 0.832417 +vt 0.264323 0.803475 +vt 0.258445 0.802905 +vt 0.259340 0.783451 +vt 0.252445 0.783194 +vt 0.252940 0.771973 +vt 0.246033 0.768224 +vt 0.246568 0.755886 +vt 0.238791 0.763570 +vt 0.238791 0.751783 +vt 0.246568 0.755886 +vt 0.247456 0.749211 +vt 0.246568 0.755886 +vt 0.254338 0.766447 +vt 0.246568 0.755886 +vt 0.255458 0.762273 +vt 0.259173 0.767260 +vt 0.278181 0.766830 +vt 0.280606 0.782817 +vt 0.295621 0.780476 +vt 0.295621 0.805919 +vt 0.298400 0.780476 +vt 0.298400 0.805919 +vt 0.301991 0.780476 +vt 0.301991 0.805888 +vt 0.307262 0.805763 +vt 0.332478 0.871578 +vt 0.326046 0.876066 +vt 0.317729 0.868690 +vt 0.326036 0.880963 +vt 0.332443 0.905196 +vt 0.327460 0.910925 +vt 0.327509 0.942814 +vt 0.324223 0.942631 +vt 0.321231 0.964223 +vt 0.316774 0.955723 +vt 0.315411 0.980287 +vt 0.311938 0.969699 +vt 0.306022 0.981785 +vt 0.305873 0.970206 +vt 0.300491 0.972497 +vt 0.300785 0.962521 +vt 0.294936 0.938752 +vt 0.298115 0.941334 +vt 0.295550 0.920200 +vt 0.298528 0.922487 +vt 0.300537 0.909108 +vt 0.309083 0.929137 +vt 0.309524 0.911124 +vt 0.318157 0.917748 +vt 0.314838 0.901584 +vt 0.318231 0.889863 +vt 0.310881 0.877548 +vt 0.317035 0.868962 +vt 0.305396 0.874424 +vt 0.302847 0.868819 +vt 0.298677 0.879312 +vt 0.246033 0.768224 +vt 0.246568 0.755886 +vt 0.252940 0.771973 +vt 0.246568 0.755886 +vt 0.246033 0.768224 +vt 0.252445 0.783194 +vt 0.252940 0.771973 +vt 0.246033 0.768224 +vt 0.259340 0.783451 +vt 0.252940 0.771973 +vt 0.252445 0.783194 +vt 0.258445 0.802905 +vt 0.259340 0.783451 +vt 0.252445 0.783194 +vt 0.264323 0.803475 +vt 0.259340 0.783451 +vt 0.258445 0.802905 +vt 0.267782 0.832417 +vt 0.264323 0.803475 +vt 0.258445 0.802905 +vt 0.269089 0.802840 +vt 0.264323 0.803475 +vt 0.267782 0.832417 +vt 0.272839 0.835411 +vt 0.269089 0.802840 +vt 0.267782 0.832417 +vt 0.278729 0.837282 +vt 0.269089 0.802840 +vt 0.272839 0.835411 +vt 0.272075 0.865717 +vt 0.278729 0.837282 +vt 0.272839 0.835411 +vt 0.278803 0.865380 +vt 0.278729 0.837282 +vt 0.272075 0.865717 +vt 0.279004 0.884609 +vt 0.278803 0.865380 +vt 0.272075 0.865717 +vt 0.286297 0.886857 +vt 0.278803 0.865380 +vt 0.279004 0.884609 +vt 0.278964 0.893360 +vt 0.286297 0.886857 +vt 0.279004 0.884609 +vt 0.285666 0.894376 +vt 0.286297 0.886857 +vt 0.278964 0.893360 +vt 0.279050 0.921809 +vt 0.285666 0.894376 +vt 0.278964 0.893360 +vt 0.283007 0.924172 +vt 0.285666 0.894376 +vt 0.279050 0.921809 +vt 0.279042 0.957224 +vt 0.283007 0.924172 +vt 0.279050 0.921809 +vt 0.283841 0.956948 +vt 0.283007 0.924172 +vt 0.279042 0.957224 +vt 0.279076 0.964797 +vt 0.283841 0.956948 +vt 0.279042 0.957224 +vt 0.324729 0.732386 +vt 0.326094 0.739571 +vt 0.324715 0.731367 +vt 0.326025 0.740081 +vt 0.323161 0.736013 +vt 0.324092 0.747776 +vt 0.319952 0.747776 +vt 0.320459 0.759629 +vt 0.320459 0.759629 +vt 0.320698 0.772128 +vt 0.320459 0.759629 +vt 0.320698 0.772128 +vt 0.320459 0.759629 +vt 0.320386 0.782080 +vt 0.320698 0.772128 +vt 0.320386 0.782080 +vt 0.320698 0.772128 +vt 0.319666 0.788840 +vt 0.320386 0.782080 +vt 0.319666 0.788840 +vt 0.320386 0.782080 +vt 0.318831 0.792414 +vt 0.319666 0.788840 +vt 0.318831 0.792414 +vt 0.319666 0.788840 +vt 0.317951 0.793867 +vt 0.318831 0.792414 +vt 0.321122 0.792414 +vt 0.318831 0.792414 +vt 0.320964 0.792414 +vt 0.324463 0.788840 +vt 0.271428 0.891517 +vt 0.271627 0.882871 +vt 0.264714 0.888111 +vt 0.265589 0.878377 +vt 0.256093 0.876854 +vt 0.258929 0.870492 +vt 0.252444 0.859975 +vt 0.261320 0.853156 +vt 0.253440 0.842242 +vt 0.254021 0.821827 +vt 0.246837 0.842192 +vt 0.247526 0.807069 +vt 0.242648 0.807233 +vt 0.242253 0.800177 +vt 0.238791 0.805311 +vt 0.238791 0.798041 +vt 0.242253 0.800177 +vt 0.242018 0.799325 +vt 0.242253 0.800177 +vt 0.247791 0.800330 +vt 0.242253 0.800177 +vt 0.318768 0.801005 +vt 0.320964 0.801005 +vt 0.317951 0.799552 +vt 0.321873 0.804579 +vt 0.319469 0.804579 +vt 0.323326 0.811340 +vt 0.320023 0.811340 +vt 0.324249 0.821291 +vt 0.320375 0.821291 +vt 0.320556 0.833790 +vt 0.320375 0.821291 +vt 0.320556 0.833790 +vt 0.320375 0.821291 +vt 0.324249 0.821291 +vt 0.320556 0.833790 +vt 0.320375 0.821291 +vt 0.324546 0.833790 +vt 0.320556 0.833790 +vt 0.324249 0.821291 +vt 0.327052 0.821291 +vt 0.324249 0.821291 +vt 0.327155 0.833790 +vt 0.328368 0.833790 +vt 0.327474 0.845643 +vt 0.323628 0.804579 +vt 0.325726 0.811340 +vt 0.327052 0.821291 +vt 0.327052 0.821291 +vt 0.324546 0.833790 +vt 0.327052 0.821291 +vt 0.324546 0.833790 +vt 0.320306 0.845643 +vt 0.324546 0.833790 +vt 0.320556 0.833790 +vt 0.320306 0.845643 +vt 0.320556 0.833790 +vt 0.320306 0.845643 +vt 0.320556 0.833790 +vt 0.324075 0.845643 +vt 0.320306 0.845643 +vt 0.326308 0.845643 +vt 0.326094 0.853848 +vt 0.301991 0.746944 +vt 0.277337 0.762185 +vt 0.301991 0.750255 +vt 0.269902 0.746944 +vt 0.263000 0.737939 +vt 0.238791 0.741281 +vt 0.269902 0.746944 +vt 0.248297 0.746879 +vt 0.269902 0.746944 +vt 0.277337 0.762185 +vt 0.269902 0.746944 +vt 0.255458 0.762273 +vt 0.277337 0.762185 +vt 0.278181 0.766830 +vt 0.255458 0.762273 +vt 0.277337 0.762185 +vt 0.259173 0.767260 +vt 0.255458 0.762273 +vt 0.278181 0.766830 +vt 0.280606 0.782817 +vt 0.259173 0.767260 +vt 0.278181 0.766830 +vt 0.272204 0.782021 +vt 0.259173 0.767260 +vt 0.280606 0.782817 +vt 0.278077 0.804335 +vt 0.280606 0.782817 +vt 0.263570 0.781849 +vt 0.324463 0.804579 +vt 0.326874 0.811340 +vt 0.328175 0.821291 +vt 0.327052 0.821291 +vt 0.328368 0.833790 +vt 0.327052 0.821291 +vt 0.327155 0.833790 +vt 0.328368 0.833790 +vt 0.327052 0.821291 +vt 0.327474 0.845643 +vt 0.328368 0.833790 +vt 0.327155 0.833790 +vt 0.326308 0.845643 +vt 0.327474 0.845643 +vt 0.327155 0.833790 +vt 0.324859 0.853681 +vt 0.327474 0.845643 +vt 0.326308 0.845643 +vt 0.323089 0.853514 +vt 0.326308 0.845643 +vt 0.322103 0.861385 +vt 0.320169 0.853102 +vt 0.320031 0.860561 +vt 0.317951 0.859608 +vt 0.250047 0.539728 +vt 0.249473 0.540724 +vt 0.247649 0.522977 +vt 0.253473 0.559399 +vt 0.254330 0.556527 +vt 0.258843 0.576968 +vt 0.260012 0.572264 +vt 0.266442 0.585477 +vt 0.267620 0.579829 +vt 0.275704 0.583749 +vt 0.276622 0.578481 +vt 0.285177 0.566397 +vt 0.285461 0.564519 +vt 0.289316 0.540202 +vt 0.284684 0.559677 +vt 0.283947 0.554349 +vt 0.277417 0.559242 +vt 0.326036 0.880963 +vt 0.332443 0.905196 +vt 0.332478 0.871578 +vt 0.327460 0.910925 +vt 0.332443 0.905196 +vt 0.326036 0.880963 +vt 0.318231 0.889863 +vt 0.327460 0.910925 +vt 0.326036 0.880963 +vt 0.323552 0.918475 +vt 0.327460 0.910925 +vt 0.318231 0.889863 +vt 0.318157 0.917748 +vt 0.318231 0.889863 +vt 0.318857 0.938198 +vt 0.318157 0.917748 +vt 0.309083 0.929137 +vt 0.318157 0.917748 +vt 0.316774 0.955723 +vt 0.309083 0.929137 +vt 0.307446 0.946584 +vt 0.316774 0.955723 +vt 0.309083 0.929137 +vt 0.311938 0.969699 +vt 0.316774 0.955723 +vt 0.305873 0.970206 +vt 0.311938 0.969699 +vt 0.306022 0.981785 +vt 0.311938 0.969699 +vt 0.305873 0.970206 +vt 0.300491 0.972497 +vt 0.306022 0.981785 +vt 0.305873 0.970206 +vt 0.299468 0.975881 +vt 0.306022 0.981785 +vt 0.300491 0.972497 +vt 0.294936 0.938752 +vt 0.300491 0.972497 +vt 0.317035 0.868962 +vt 0.318231 0.889863 +vt 0.326036 0.880963 +vt 0.310881 0.877548 +vt 0.318231 0.889863 +vt 0.317035 0.868962 +vt 0.305396 0.874424 +vt 0.310881 0.877548 +vt 0.317035 0.868962 +vt 0.309811 0.894156 +vt 0.310881 0.877548 +vt 0.305396 0.874424 +vt 0.303901 0.895648 +vt 0.305396 0.874424 +vt 0.309524 0.911124 +vt 0.300537 0.909108 +vt 0.309524 0.911124 +vt 0.309083 0.929137 +vt 0.309524 0.911124 +vt 0.300537 0.909108 +vt 0.298528 0.922487 +vt 0.309083 0.929137 +vt 0.300537 0.909108 +vt 0.298115 0.941334 +vt 0.309083 0.929137 +vt 0.298528 0.922487 +vt 0.295550 0.920200 +vt 0.298115 0.941334 +vt 0.298528 0.922487 +vt 0.294936 0.938752 +vt 0.298115 0.941334 +vt 0.295550 0.920200 +vt 0.243698 0.909908 +vt 0.238791 0.889818 +vt 0.243110 0.888230 +vt 0.238791 0.909896 +vt 0.244381 0.926350 +vt 0.238791 0.926305 +vt 0.246192 0.937573 +vt 0.238791 0.937409 +vt 0.250641 0.950853 +vt 0.238791 0.950766 +vt 0.238791 0.988261 +vt 0.250641 0.950853 +vt 0.250460 0.988261 +vt 0.250641 0.950853 +vt 0.256765 0.956024 +vt 0.250641 0.950853 +vt 0.321122 0.792414 +vt 0.322264 0.788840 +vt 0.321122 0.792414 +vt 0.324019 0.788840 +vt 0.321122 0.792414 +vt 0.324009 0.782080 +vt 0.326331 0.782080 +vt 0.327414 0.772318 +vt 0.328175 0.772128 +vt 0.327645 0.759819 +vt 0.328368 0.759629 +vt 0.327321 0.747776 +vt 0.327474 0.747776 +vt 0.324546 0.833790 +vt 0.327155 0.833790 +vt 0.327052 0.821291 +vt 0.324075 0.845643 +vt 0.327155 0.833790 +vt 0.324546 0.833790 +vt 0.324075 0.845643 +vt 0.324546 0.833790 +vt 0.324075 0.845643 +vt 0.320306 0.845643 +vt 0.320169 0.853102 +vt 0.320306 0.845643 +vt 0.320169 0.853102 +vt 0.320306 0.845643 +vt 0.323089 0.853514 +vt 0.320169 0.853102 +vt 0.323089 0.853514 +vt 0.324859 0.853681 +vt 0.323089 0.853514 +vt 0.324859 0.853681 +vt 0.324715 0.862052 +vt 0.324859 0.853681 +vt 0.253286 0.534878 +vt 0.252682 0.535951 +vt 0.257497 0.545734 +vt 0.258376 0.542696 +vt 0.263281 0.554888 +vt 0.263702 0.550073 +vt 0.270029 0.559173 +vt 0.269716 0.553504 +vt 0.276642 0.553970 +vt 0.282838 0.550523 +vt 0.251100 0.537867 +vt 0.255906 0.551190 +vt 0.261642 0.563615 +vt 0.268972 0.569508 +vt 0.277433 0.568863 +vt 0.286845 0.805461 +vt 0.295621 0.838225 +vt 0.288469 0.838225 +vt 0.295621 0.805919 +vt 0.280606 0.782817 +vt 0.295621 0.805919 +vt 0.295621 0.780476 +vt 0.295621 0.805919 +vt 0.280606 0.782817 +vt 0.278181 0.766830 +vt 0.295621 0.780476 +vt 0.280606 0.782817 +vt 0.287994 0.765378 +vt 0.295621 0.780476 +vt 0.278181 0.766830 +vt 0.277337 0.762185 +vt 0.278181 0.766830 +vt 0.301991 0.750255 +vt 0.277337 0.762185 +vt 0.301991 0.746944 +vt 0.301991 0.750255 +vt 0.277337 0.762185 +vt 0.307262 0.746944 +vt 0.301991 0.750255 +vt 0.301991 0.746944 +vt 0.307262 0.737939 +vt 0.301991 0.746944 +vt 0.269115 0.955846 +vt 0.274074 0.975365 +vt 0.270235 0.941405 +vt 0.271762 0.918937 +vt 0.271595 0.905227 +vt 0.265364 0.917815 +vt 0.265039 0.902963 +vt 0.261126 0.908206 +vt 0.260713 0.899433 +vt 0.248297 0.746879 +vt 0.238791 0.744492 +vt 0.248297 0.746879 +vt 0.247456 0.749211 +vt 0.255458 0.762273 +vt 0.247456 0.749211 +vt 0.254338 0.766447 +vt 0.247456 0.749211 +vt 0.255458 0.762273 +vt 0.259173 0.767260 +vt 0.254338 0.766447 +vt 0.255458 0.762273 +vt 0.256191 0.769349 +vt 0.254338 0.766447 +vt 0.259173 0.767260 +vt 0.259173 0.767260 +vt 0.248936 0.880480 +vt 0.246283 0.868580 +vt 0.249934 0.876796 +vt 0.243653 0.881104 +vt 0.247937 0.884165 +vt 0.244329 0.891108 +vt 0.246760 0.895360 +vt 0.246921 0.909807 +vt 0.248014 0.924556 +vt 0.250662 0.939868 +vt 0.307128 0.998464 +vt 0.295736 0.983334 +vt 0.307087 0.987140 +vt 0.327545 0.998409 +vt 0.322267 0.987215 +vt 0.325796 0.967601 +vt 0.321231 0.964223 +vt 0.327509 0.942814 +vt 0.321231 0.964223 +vt 0.324223 0.942631 +vt 0.321231 0.964223 +vt 0.327509 0.942814 +vt 0.327460 0.910925 +vt 0.324223 0.942631 +vt 0.327509 0.942814 +vt 0.324223 0.942631 +vt 0.327460 0.910925 +vt 0.322264 0.788840 +vt 0.318831 0.792414 +vt 0.324019 0.788840 +vt 0.322264 0.788840 +vt 0.324009 0.782080 +vt 0.324019 0.788840 +vt 0.322264 0.788840 +vt 0.326331 0.782080 +vt 0.324019 0.788840 +vt 0.324009 0.782080 +vt 0.327414 0.772318 +vt 0.326331 0.782080 +vt 0.324009 0.782080 +vt 0.328175 0.772128 +vt 0.326331 0.782080 +vt 0.327414 0.772318 +vt 0.327645 0.759819 +vt 0.328175 0.772128 +vt 0.327414 0.772318 +vt 0.328368 0.759629 +vt 0.328175 0.772128 +vt 0.327645 0.759819 +vt 0.327321 0.747776 +vt 0.328368 0.759629 +vt 0.327645 0.759819 +vt 0.252682 0.535951 +vt 0.253286 0.534878 +vt 0.247649 0.522977 +vt 0.257497 0.545734 +vt 0.253286 0.534878 +vt 0.252682 0.535951 +vt 0.255906 0.551190 +vt 0.257497 0.545734 +vt 0.252682 0.535951 +vt 0.261642 0.563615 +vt 0.257497 0.545734 +vt 0.255906 0.551190 +vt 0.260012 0.572264 +vt 0.261642 0.563615 +vt 0.255906 0.551190 +vt 0.267620 0.579829 +vt 0.261642 0.563615 +vt 0.260012 0.572264 +vt 0.266442 0.585477 +vt 0.267620 0.579829 +vt 0.260012 0.572264 +vt 0.275704 0.583749 +vt 0.267620 0.579829 +vt 0.266442 0.585477 +vt 0.264714 0.888111 +vt 0.260439 0.893585 +vt 0.260713 0.899433 +vt 0.256093 0.876854 +vt 0.264714 0.888111 +vt 0.265589 0.878377 +vt 0.256093 0.876854 +vt 0.264714 0.888111 +vt 0.258929 0.870492 +vt 0.256093 0.876854 +vt 0.265589 0.878377 +vt 0.261320 0.853156 +vt 0.258929 0.870492 +vt 0.265589 0.878377 +vt 0.252444 0.859975 +vt 0.258929 0.870492 +vt 0.261320 0.853156 +vt 0.253440 0.842242 +vt 0.252444 0.859975 +vt 0.261320 0.853156 +vt 0.249328 0.857203 +vt 0.252444 0.859975 +vt 0.253440 0.842242 +vt 0.286845 0.805461 +vt 0.278077 0.804335 +vt 0.286845 0.805461 +vt 0.272204 0.782021 +vt 0.278077 0.804335 +vt 0.263570 0.781849 +vt 0.278077 0.804335 +vt 0.272204 0.782021 +vt 0.256191 0.769349 +vt 0.263570 0.781849 +vt 0.272204 0.782021 +vt 0.252940 0.771973 +vt 0.263570 0.781849 +vt 0.256191 0.769349 +vt 0.252940 0.771973 +vt 0.256191 0.769349 +vt 0.246568 0.755886 +vt 0.252940 0.771973 +vt 0.328175 0.821291 +vt 0.325726 0.811340 +vt 0.328175 0.821291 +vt 0.323326 0.811340 +vt 0.325726 0.811340 +vt 0.321873 0.804579 +vt 0.325726 0.811340 +vt 0.323326 0.811340 +vt 0.319469 0.804579 +vt 0.321873 0.804579 +vt 0.323326 0.811340 +vt 0.318768 0.801005 +vt 0.321873 0.804579 +vt 0.319469 0.804579 +vt 0.318768 0.801005 +vt 0.319469 0.804579 +vt 0.318768 0.801005 +vt 0.295621 0.838225 +vt 0.286845 0.805461 +vt 0.288469 0.838225 +vt 0.286845 0.805461 +vt 0.295621 0.838225 +vt 0.298400 0.833686 +vt 0.295621 0.838225 +vt 0.301991 0.822067 +vt 0.307262 0.822067 +vt 0.267782 0.832417 +vt 0.272075 0.865717 +vt 0.272839 0.835411 +vt 0.267014 0.860837 +vt 0.272075 0.865717 +vt 0.267782 0.832417 +vt 0.261835 0.827953 +vt 0.267782 0.832417 +vt 0.261320 0.853156 +vt 0.254021 0.821827 +vt 0.261320 0.853156 +vt 0.253440 0.842242 +vt 0.261320 0.853156 +vt 0.254021 0.821827 +vt 0.246837 0.842192 +vt 0.253440 0.842242 +vt 0.254021 0.821827 +vt 0.253440 0.842242 +vt 0.246837 0.842192 +vt 0.248297 0.746879 +vt 0.247456 0.749211 +vt 0.247456 0.749211 +vt 0.254338 0.766447 +vt 0.247456 0.749211 +vt 0.254338 0.766447 +vt 0.254338 0.766447 +vt 0.307262 0.780476 +vt 0.301991 0.750255 +vt 0.301991 0.765378 +vt 0.301991 0.750255 +vt 0.301991 0.780476 +vt 0.298400 0.780476 +vt 0.301991 0.780476 +vt 0.298400 0.805919 +vt 0.298400 0.780476 +vt 0.301991 0.780476 +vt 0.295621 0.805919 +vt 0.298400 0.780476 +vt 0.298400 0.805919 +vt 0.298400 0.833686 +vt 0.295621 0.805919 +vt 0.298400 0.805919 +vt 0.295621 0.805919 +vt 0.298400 0.833686 +vt 0.263281 0.554888 +vt 0.263702 0.550073 +vt 0.258376 0.542696 +vt 0.270029 0.559173 +vt 0.263702 0.550073 +vt 0.263281 0.554888 +vt 0.268972 0.569508 +vt 0.270029 0.559173 +vt 0.263281 0.554888 +vt 0.277433 0.568863 +vt 0.270029 0.559173 +vt 0.268972 0.569508 +vt 0.276622 0.578481 +vt 0.277433 0.568863 +vt 0.268972 0.569508 +vt 0.285461 0.564519 +vt 0.277433 0.568863 +vt 0.276622 0.578481 +vt 0.285177 0.566397 +vt 0.285461 0.564519 +vt 0.276622 0.578481 +vt 0.289316 0.540202 +vt 0.285461 0.564519 +vt 0.285177 0.566397 +vt 0.257497 0.545734 +vt 0.258376 0.542696 +vt 0.253286 0.534878 +vt 0.263281 0.554888 +vt 0.258376 0.542696 +vt 0.257497 0.545734 +vt 0.261642 0.563615 +vt 0.263281 0.554888 +vt 0.257497 0.545734 +vt 0.268972 0.569508 +vt 0.263281 0.554888 +vt 0.261642 0.563615 +vt 0.267620 0.579829 +vt 0.268972 0.569508 +vt 0.261642 0.563615 +vt 0.276622 0.578481 +vt 0.268972 0.569508 +vt 0.267620 0.579829 +vt 0.275704 0.583749 +vt 0.276622 0.578481 +vt 0.267620 0.579829 +vt 0.285177 0.566397 +vt 0.276622 0.578481 +vt 0.275704 0.583749 +vt 0.265364 0.917815 +vt 0.265039 0.902963 +vt 0.261126 0.908206 +vt 0.271762 0.918937 +vt 0.265039 0.902963 +vt 0.265364 0.917815 +vt 0.264931 0.937282 +vt 0.271762 0.918937 +vt 0.265364 0.917815 +vt 0.270235 0.941405 +vt 0.271762 0.918937 +vt 0.261932 0.954937 +vt 0.270235 0.941405 +vt 0.269115 0.955846 +vt 0.270235 0.941405 +vt 0.266149 0.988261 +vt 0.269115 0.955846 +vt 0.272733 0.988261 +vt 0.269115 0.955846 +vt 0.326094 0.739571 +vt 0.324729 0.732386 +vt 0.324715 0.731367 +vt 0.326025 0.740081 +vt 0.324729 0.732386 +vt 0.326094 0.739571 +vt 0.327321 0.747776 +vt 0.326025 0.740081 +vt 0.326094 0.739571 +vt 0.324092 0.747776 +vt 0.326025 0.740081 +vt 0.327321 0.747776 +vt 0.324610 0.759629 +vt 0.324092 0.747776 +vt 0.327321 0.747776 +vt 0.320459 0.759629 +vt 0.324092 0.747776 +vt 0.320698 0.772128 +vt 0.320459 0.759629 +vt 0.107694 0.336850 +vt 0.131476 0.320899 +vt 0.131476 0.336850 +vt 0.107694 0.320899 +vt 0.084006 0.336850 +vt 0.084006 0.320899 +vt 0.072020 0.320899 +vt 0.084006 0.320899 +vt 0.072020 0.320899 +vt 0.084006 0.320899 +vt 0.254531 0.944175 +vt 0.258593 0.941822 +vt 0.261066 0.935052 +vt 0.265364 0.917815 +vt 0.261538 0.916978 +vt 0.265364 0.917815 +vt 0.261126 0.908206 +vt 0.265364 0.917815 +vt 0.307262 0.780476 +vt 0.301991 0.765378 +vt 0.307262 0.780476 +vt 0.301991 0.765378 +vt 0.307262 0.780476 +vt 0.287994 0.765378 +vt 0.301991 0.765378 +vt 0.287994 0.765378 +vt 0.287994 0.765378 +vt 0.270029 0.559173 +vt 0.269716 0.553504 +vt 0.263702 0.550073 +vt 0.277417 0.559242 +vt 0.269716 0.553504 +vt 0.270029 0.559173 +vt 0.277433 0.568863 +vt 0.277417 0.559242 +vt 0.270029 0.559173 +vt 0.284684 0.559677 +vt 0.277417 0.559242 +vt 0.277433 0.568863 +vt 0.285461 0.564519 +vt 0.284684 0.559677 +vt 0.277433 0.568863 +vt 0.289316 0.540202 +vt 0.284684 0.559677 +vt 0.285461 0.564519 +vt 0.250641 0.950853 +vt 0.246192 0.937573 +vt 0.250641 0.950853 +vt 0.250662 0.939868 +vt 0.246192 0.937573 +vt 0.250641 0.950853 +vt 0.244381 0.926350 +vt 0.246192 0.937573 +vt 0.250662 0.939868 +vt 0.248014 0.924556 +vt 0.244381 0.926350 +vt 0.250662 0.939868 +vt 0.246921 0.909807 +vt 0.244381 0.926350 +vt 0.248014 0.924556 +vt 0.260012 0.572264 +vt 0.258843 0.576968 +vt 0.266442 0.585477 +vt 0.254330 0.556527 +vt 0.258843 0.576968 +vt 0.260012 0.572264 +vt 0.255906 0.551190 +vt 0.254330 0.556527 +vt 0.260012 0.572264 +vt 0.251100 0.537867 +vt 0.254330 0.556527 +vt 0.255906 0.551190 +vt 0.252682 0.535951 +vt 0.251100 0.537867 +vt 0.255906 0.551190 +vt 0.247649 0.522977 +vt 0.251100 0.537867 +vt 0.252682 0.535951 +vt 0.299468 0.975881 +vt 0.307128 0.998464 +vt 0.295736 0.983334 +vt 0.307087 0.987140 +vt 0.307128 0.998464 +vt 0.299468 0.975881 +vt 0.307087 0.987140 +vt 0.299468 0.975881 +vt 0.322267 0.987215 +vt 0.307087 0.987140 +vt 0.322267 0.987215 +vt 0.322267 0.987215 +vt 0.280606 0.782817 +vt 0.288502 0.838131 +vt 0.286926 0.865348 +vt 0.295621 0.838027 +vt 0.295621 0.870041 +vt 0.260439 0.893585 +vt 0.307262 0.746944 +vt 0.307262 0.780476 +vt 0.307262 0.746944 +vt 0.307262 0.737939 +vt 0.307262 0.746944 +vt 0.301991 0.737939 +vt 0.307262 0.737939 +vt 0.307262 0.737939 +vt 0.301991 0.746944 +vt 0.265039 0.902963 +vt 0.260713 0.899433 +vt 0.261126 0.908206 +vt 0.264714 0.888111 +vt 0.260713 0.899433 +vt 0.265039 0.902963 +vt 0.271428 0.891517 +vt 0.264714 0.888111 +vt 0.265039 0.902963 +vt 0.271627 0.882871 +vt 0.264714 0.888111 +vt 0.271428 0.891517 +vt 0.279004 0.884609 +vt 0.271627 0.882871 +vt 0.271428 0.891517 +vt 0.272075 0.865717 +vt 0.271627 0.882871 +vt 0.279004 0.884609 +vt 0.319666 0.788840 +vt 0.322264 0.788840 +vt 0.318831 0.792414 +vt 0.324009 0.782080 +vt 0.322264 0.788840 +vt 0.319666 0.788840 +vt 0.320386 0.782080 +vt 0.324009 0.782080 +vt 0.319666 0.788840 +vt 0.324605 0.772128 +vt 0.324009 0.782080 +vt 0.320386 0.782080 +vt 0.320698 0.772128 +vt 0.320386 0.782080 +vt 0.320698 0.772128 +vt 0.243698 0.909908 +vt 0.243110 0.888230 +vt 0.243698 0.909908 +vt 0.244329 0.891108 +vt 0.243110 0.888230 +vt 0.243698 0.909908 +vt 0.243653 0.881104 +vt 0.243110 0.888230 +vt 0.244329 0.891108 +vt 0.247937 0.884165 +vt 0.243653 0.881104 +vt 0.244329 0.891108 +vt 0.248936 0.880480 +vt 0.243653 0.881104 +vt 0.247937 0.884165 +vt 0.319469 0.804579 +vt 0.320023 0.811340 +vt 0.319469 0.804579 +vt 0.323326 0.811340 +vt 0.320023 0.811340 +vt 0.319469 0.804579 +vt 0.324249 0.821291 +vt 0.320023 0.811340 +vt 0.323326 0.811340 +vt 0.324249 0.821291 +vt 0.323326 0.811340 +vt 0.267014 0.860837 +vt 0.267014 0.860837 +vt 0.267014 0.860837 +vt 0.242253 0.800177 +vt 0.248335 0.800867 +vt 0.247526 0.807069 +vt 0.242253 0.800177 +vt 0.242648 0.807233 +vt 0.247526 0.807069 +vt 0.242253 0.800177 +vt 0.246837 0.842192 +vt 0.247526 0.807069 +vt 0.242648 0.807233 +vt 0.238791 0.824857 +vt 0.246837 0.842192 +vt 0.242648 0.807233 +vt 0.261932 0.954937 +vt 0.250460 0.988261 +vt 0.256735 0.956024 +vt 0.266149 0.988261 +vt 0.250460 0.988261 +vt 0.261932 0.954937 +vt 0.266149 0.988261 +vt 0.261932 0.954937 +vt 0.272733 0.988261 +vt 0.266149 0.988261 +vt 0.272733 0.988261 +vt 0.270235 0.941405 +vt 0.279050 0.921809 +vt 0.271762 0.918937 +vt 0.279042 0.957224 +vt 0.279050 0.921809 +vt 0.270235 0.941405 +vt 0.269115 0.955846 +vt 0.279042 0.957224 +vt 0.270235 0.941405 +vt 0.279076 0.964797 +vt 0.279042 0.957224 +vt 0.269115 0.955846 +vt 0.274074 0.975365 +vt 0.279076 0.964797 +vt 0.269115 0.955846 +vt 0.269089 0.802840 +vt 0.263570 0.781849 +vt 0.264323 0.803475 +vt 0.278077 0.804335 +vt 0.263570 0.781849 +vt 0.269089 0.802840 +vt 0.278729 0.837282 +vt 0.278077 0.804335 +vt 0.269089 0.802840 +vt 0.286845 0.805461 +vt 0.278077 0.804335 +vt 0.278729 0.837282 +vt 0.288502 0.838131 +vt 0.286845 0.805461 +vt 0.278729 0.837282 +vt 0.254021 0.821827 +vt 0.247526 0.807069 +vt 0.246837 0.842192 +vt 0.255145 0.807754 +vt 0.247526 0.807069 +vt 0.254021 0.821827 +vt 0.254021 0.821827 +vt 0.258445 0.802905 +vt 0.267782 0.832417 +vt 0.258445 0.802905 +vt 0.324610 0.759629 +vt 0.324610 0.759629 +vt 0.324610 0.759629 +vt 0.324605 0.772128 +vt 0.324605 0.772128 +vt 0.324605 0.772128 +vt 0.261932 0.954937 +vt 0.264931 0.937282 +vt 0.261932 0.954937 +vt 0.258593 0.941822 +vt 0.264931 0.937282 +vt 0.261932 0.954937 +vt 0.261066 0.935052 +vt 0.264931 0.937282 +vt 0.258593 0.941822 +vt 0.317951 0.746510 +vt 0.319952 0.747776 +vt 0.323161 0.736013 +vt 0.319952 0.747776 +vt 0.324092 0.747776 +vt 0.319952 0.747776 +vt 0.323161 0.736013 +vt 0.324605 0.772128 +vt 0.324610 0.759629 +vt 0.324605 0.772128 +vt 0.324610 0.759629 +vt 0.324605 0.772128 +vt 0.324610 0.759629 +vt 0.332443 0.942673 +vt 0.325796 0.967601 +vt 0.327545 0.998409 +vt 0.325796 0.967601 +vt 0.322267 0.987215 +vt 0.325796 0.967601 +vt 0.327545 0.998409 +vt 0.332443 0.942673 +vt 0.327509 0.942814 +vt 0.332443 0.942673 +vt 0.332443 0.905196 +vt 0.327509 0.942814 +vt 0.332443 0.942673 +vt 0.327460 0.910925 +vt 0.327509 0.942814 +vt 0.332443 0.905196 +vt 0.295339 0.905886 +vt 0.303901 0.895648 +vt 0.303901 0.895648 +vt 0.303901 0.895648 +vt 0.324019 0.788840 +vt 0.326874 0.782080 +vt 0.324019 0.788840 +vt 0.326331 0.782080 +vt 0.324019 0.788840 +vt 0.328175 0.772128 +vt 0.326331 0.782080 +vt 0.327414 0.772318 +vt 0.324009 0.782080 +vt 0.327645 0.759819 +vt 0.327414 0.772318 +vt 0.327645 0.759819 +vt 0.327321 0.747776 +vt 0.327645 0.759819 +vt 0.255145 0.807754 +vt 0.261835 0.827953 +vt 0.255145 0.807754 +vt 0.261835 0.827953 +vt 0.255145 0.807754 +vt 0.261835 0.827953 +vt 0.242648 0.807233 +vt 0.242253 0.800177 +vt 0.242648 0.807233 +vt 0.318857 0.938198 +vt 0.318857 0.938198 +vt 0.323552 0.918475 +vt 0.318857 0.938198 +vt 0.323552 0.918475 +vt 0.254330 0.556527 +vt 0.253473 0.559399 +vt 0.258843 0.576968 +vt 0.250047 0.539728 +vt 0.253473 0.559399 +vt 0.254330 0.556527 +vt 0.251100 0.537867 +vt 0.250047 0.539728 +vt 0.254330 0.556527 +vt 0.247649 0.522977 +vt 0.250047 0.539728 +vt 0.251100 0.537867 +vt 0.298115 0.941334 +vt 0.309083 0.929137 +vt 0.300785 0.962521 +vt 0.298115 0.941334 +vt 0.294936 0.938752 +vt 0.300785 0.962521 +vt 0.298115 0.941334 +vt 0.300491 0.972497 +vt 0.300785 0.962521 +vt 0.294936 0.938752 +vt 0.318157 0.917748 +vt 0.309524 0.911124 +vt 0.309083 0.929137 +vt 0.314838 0.901584 +vt 0.309524 0.911124 +vt 0.318157 0.917748 +vt 0.318231 0.889863 +vt 0.314838 0.901584 +vt 0.318157 0.917748 +vt 0.310881 0.877548 +vt 0.314838 0.901584 +vt 0.318231 0.889863 +vt 0.316774 0.955723 +vt 0.321231 0.964223 +vt 0.324223 0.942631 +vt 0.315411 0.980287 +vt 0.321231 0.964223 +vt 0.316774 0.955723 +vt 0.311938 0.969699 +vt 0.315411 0.980287 +vt 0.316774 0.955723 +vt 0.306022 0.981785 +vt 0.315411 0.980287 +vt 0.311938 0.969699 +vt 0.244381 0.926350 +vt 0.243698 0.909908 +vt 0.244381 0.926350 +vt 0.246921 0.909807 +vt 0.243698 0.909908 +vt 0.244381 0.926350 +vt 0.246760 0.895360 +vt 0.243698 0.909908 +vt 0.246921 0.909807 +vt 0.277417 0.559242 +vt 0.276642 0.553970 +vt 0.269716 0.553504 +vt 0.283947 0.554349 +vt 0.276642 0.553970 +vt 0.277417 0.559242 +vt 0.284684 0.559677 +vt 0.283947 0.554349 +vt 0.277417 0.559242 +vt 0.289316 0.540202 +vt 0.283947 0.554349 +vt 0.284684 0.559677 +vt 0.254531 0.944175 +vt 0.256765 0.956024 +vt 0.254531 0.944175 +vt 0.307262 0.805763 +vt 0.301991 0.780476 +vt 0.301991 0.805888 +vt 0.301991 0.780476 +vt 0.307262 0.805763 +vt 0.307262 0.822067 +vt 0.301991 0.805888 +vt 0.307262 0.805763 +vt 0.301991 0.822067 +vt 0.301991 0.805888 +vt 0.307262 0.822067 +vt 0.243938 0.783302 +vt 0.238791 0.781607 +vt 0.246033 0.768224 +vt 0.248098 0.786064 +vt 0.246033 0.768224 +vt 0.252445 0.783194 +vt 0.246033 0.768224 +vt 0.318857 0.938198 +vt 0.323552 0.918475 +vt 0.318857 0.938198 +vt 0.323552 0.918475 +vt 0.323552 0.918475 +vt 0.131476 0.320899 +vt 0.107694 0.336850 +vt 0.131476 0.336850 +vt 0.107694 0.320899 +vt 0.107694 0.336850 +vt 0.131476 0.320899 +vt 0.131476 0.320899 +vt 0.107694 0.320899 +vt 0.131476 0.320899 +vt 0.107694 0.320899 +vt 0.107694 0.320899 +vt 0.131476 0.320899 +vt 0.107694 0.320899 +vt 0.084006 0.336850 +vt 0.107694 0.336850 +vt 0.084006 0.320899 +vt 0.084006 0.336850 +vt 0.107694 0.320899 +vt 0.107694 0.320899 +vt 0.084006 0.320899 +vt 0.107694 0.320899 +vt 0.084006 0.320899 +vt 0.084006 0.320899 +vt 0.107694 0.320899 +vt 0.131476 0.320899 +vt 0.107694 0.320899 +vt 0.131476 0.320899 +vt 0.107694 0.320899 +vt 0.084006 0.320899 +vt 0.107694 0.320899 +vt 0.320964 0.801005 +vt 0.321873 0.804579 +vt 0.318768 0.801005 +vt 0.323628 0.804579 +vt 0.321873 0.804579 +vt 0.320964 0.801005 +vt 0.324463 0.804579 +vt 0.323628 0.804579 +vt 0.320964 0.801005 +vt 0.326874 0.811340 +vt 0.323628 0.804579 +vt 0.324463 0.804579 +vt 0.307446 0.946584 +vt 0.307446 0.946584 +vt 0.307446 0.946584 +vt 0.303901 0.895648 +vt 0.309811 0.894156 +vt 0.303901 0.895648 +vt 0.309811 0.894156 +vt 0.303901 0.895648 +vt 0.309811 0.894156 +vt 0.300537 0.909108 +vt 0.295550 0.920200 +vt 0.298528 0.922487 +vt 0.295339 0.905886 +vt 0.295550 0.920200 +vt 0.300537 0.909108 +vt 0.295339 0.905886 +vt 0.300537 0.909108 +vt 0.320023 0.811340 +vt 0.320375 0.821291 +vt 0.320023 0.811340 +vt 0.324249 0.821291 +vt 0.320375 0.821291 +vt 0.320023 0.811340 +vt 0.298400 0.805919 +vt 0.301991 0.822067 +vt 0.298400 0.833686 +vt 0.301991 0.805888 +vt 0.301991 0.822067 +vt 0.298400 0.805919 +vt 0.301991 0.780476 +vt 0.301991 0.805888 +vt 0.298400 0.805919 +vt 0.249328 0.857203 +vt 0.253255 0.873709 +vt 0.322103 0.861385 +vt 0.324859 0.853681 +vt 0.323089 0.853514 +vt 0.324859 0.853681 +vt 0.322103 0.861385 +vt 0.320169 0.853102 +vt 0.323089 0.853514 +vt 0.322103 0.861385 +vt 0.324075 0.845643 +vt 0.326308 0.845643 +vt 0.327155 0.833790 +vt 0.326308 0.845643 +vt 0.324075 0.845643 +vt 0.324075 0.845643 +vt 0.320169 0.853102 +vt 0.320031 0.860561 +vt 0.320169 0.853102 +vt 0.322103 0.861385 +vt 0.320031 0.860561 +vt 0.320169 0.853102 +vt 0.261538 0.916978 +vt 0.261066 0.935052 +vt 0.261538 0.916978 +vt 0.264931 0.937282 +vt 0.261066 0.935052 +vt 0.271762 0.918937 +vt 0.271428 0.891517 +vt 0.265039 0.902963 +vt 0.278964 0.893360 +vt 0.271428 0.891517 +vt 0.271762 0.918937 +vt 0.279050 0.921809 +vt 0.278964 0.893360 +vt 0.271762 0.918937 +vt 0.271627 0.882871 +vt 0.265589 0.878377 +vt 0.264714 0.888111 +vt 0.265589 0.878377 +vt 0.271627 0.882871 +vt 0.272075 0.865717 +vt 0.271627 0.882871 +vt 0.286926 0.865348 +vt 0.278803 0.865380 +vt 0.286297 0.886857 +vt 0.278729 0.837282 +vt 0.278803 0.865380 +vt 0.286926 0.865348 +vt 0.288502 0.838131 +vt 0.278729 0.837282 +vt 0.286926 0.865348 +vt 0.286926 0.865348 +vt 0.295621 0.838027 +vt 0.288502 0.838131 +vt 0.295621 0.870041 +vt 0.295621 0.838027 +vt 0.286926 0.865348 +vt 0.286297 0.886857 +vt 0.295621 0.870041 +vt 0.286926 0.865348 +vt 0.248297 0.746879 +vt 0.248297 0.746879 +vt 0.248297 0.746879 +vt 0.261835 0.827953 +vt 0.267014 0.860837 +vt 0.261835 0.827953 +vt 0.267014 0.860837 +vt 0.261835 0.827953 +vt 0.307446 0.946584 +vt 0.307446 0.946584 +vt 0.307446 0.946584 +vt 0.084006 0.320899 +vt 0.084006 0.336850 +vt 0.072020 0.320899 +vt 0.084006 0.320899 +vt 0.084006 0.320899 +vt 0.072020 0.320899 +vt 0.084006 0.320899 +vt 0.324223 0.942631 +vt 0.316774 0.955723 +vt 0.324223 0.942631 +vt 0.306022 0.981785 +vt 0.306022 0.981785 +vt 0.315411 0.980287 +vt 0.306022 0.981785 +vt 0.321231 0.964223 +vt 0.315411 0.980287 +vt 0.324953 0.579718 +vt 0.317470 0.582521 +vt 0.324953 0.582513 +vt 0.317470 0.579718 +vt 0.307087 0.987140 +vt 0.327545 0.998409 +vt 0.307128 0.998464 +vt 0.322267 0.987215 +vt 0.327545 0.998409 +vt 0.307087 0.987140 +vt 0.295621 0.780476 +vt 0.298400 0.780476 +vt 0.295621 0.805919 +vt 0.298400 0.780476 +vt 0.295621 0.780476 +vt 0.298400 0.780476 +vt 0.301991 0.750255 +vt 0.300785 0.962521 +vt 0.305873 0.970206 +vt 0.300491 0.972497 +vt 0.305873 0.970206 +vt 0.300785 0.962521 +vt 0.287994 0.765378 +vt 0.287994 0.765378 +vt 0.301991 0.765378 +vt 0.287994 0.765378 +vt 0.301991 0.765378 +vt 0.301991 0.746944 +vt 0.256191 0.769349 +vt 0.272204 0.782021 +vt 0.256191 0.769349 +vt 0.264931 0.937282 +vt 0.269902 0.746944 +vt 0.301991 0.746944 +vt 0.277337 0.762185 +vt 0.301991 0.746944 +vt 0.269902 0.746944 +vt 0.286138 0.938424 +vt 0.285922 0.957197 +vt 0.295621 0.884234 +vt 0.238791 0.797185 +vt 0.242018 0.799325 +vt 0.242018 0.799325 +vt 0.247791 0.800330 +vt 0.242018 0.799325 +vt 0.244329 0.891108 +vt 0.246760 0.895360 +vt 0.247937 0.884165 +vt 0.243698 0.909908 +vt 0.246760 0.895360 +vt 0.244329 0.891108 +vt 0.309811 0.894156 +vt 0.309811 0.894156 +vt 0.324715 0.862052 +vt 0.326094 0.853848 +vt 0.324715 0.862052 +vt 0.320964 0.792414 +vt 0.321122 0.792414 +vt 0.324463 0.788840 +vt 0.321122 0.792414 +vt 0.320964 0.792414 +vt 0.246192 0.937573 +vt 0.244381 0.926350 +vt 0.246192 0.937573 +vt 0.324463 0.788840 +vt 0.321122 0.792414 +vt 0.326874 0.782080 +vt 0.324463 0.788840 +vt 0.326874 0.782080 +vt 0.326874 0.782080 +vt 0.261932 0.954937 +vt 0.254531 0.944175 +vt 0.258593 0.941822 +vt 0.256765 0.956024 +vt 0.254531 0.944175 +vt 0.261932 0.954937 +vt 0.325796 0.967601 +vt 0.322267 0.987215 +vt 0.325796 0.967601 +vt 0.327474 0.747776 +vt 0.327321 0.747776 +vt 0.326094 0.739571 +vt 0.328368 0.759629 +vt 0.327321 0.747776 +vt 0.327474 0.747776 +vt 0.318768 0.801005 +vt 0.320964 0.801005 +vt 0.318768 0.801005 +vt 0.295621 0.884234 +vt 0.286297 0.886857 +vt 0.285666 0.894376 +vt 0.295621 0.870041 +vt 0.286297 0.886857 +vt 0.295621 0.884234 +vt 0.259340 0.783451 +vt 0.263570 0.781849 +vt 0.252940 0.771973 +vt 0.264323 0.803475 +vt 0.263570 0.781849 +vt 0.259340 0.783451 +vt 0.319952 0.747776 +vt 0.320459 0.759629 +vt 0.324092 0.747776 +vt 0.320459 0.759629 +vt 0.319952 0.747776 +vt 0.299468 0.975881 +vt 0.299468 0.975881 +vt 0.243938 0.783302 +vt 0.243938 0.783302 +vt 0.326046 0.876066 +vt 0.332478 0.871578 +vt 0.317729 0.868690 +vt 0.326036 0.880963 +vt 0.332478 0.871578 +vt 0.326046 0.876066 +vt 0.246283 0.868580 +vt 0.252444 0.859975 +vt 0.249934 0.876796 +vt 0.252444 0.859975 +vt 0.246283 0.868580 +vt 0.253255 0.873709 +vt 0.252444 0.859975 +vt 0.249934 0.876796 +vt 0.256093 0.876854 +vt 0.252444 0.859975 +vt 0.253255 0.873709 +vt 0.317470 0.582521 +vt 0.317470 0.579718 +vt 0.324953 0.579718 +vt 0.311448 0.579718 +vt 0.317470 0.579718 +vt 0.317470 0.582521 +vt 0.256735 0.956024 +vt 0.286138 0.938424 +vt 0.283841 0.956948 +vt 0.285922 0.957197 +vt 0.283007 0.924172 +vt 0.283841 0.956948 +vt 0.286138 0.938424 +vt 0.302847 0.868819 +vt 0.305396 0.874424 +vt 0.317035 0.868962 +vt 0.298677 0.879312 +vt 0.305396 0.874424 +vt 0.302847 0.868819 +vt 0.072020 0.336850 +vt 0.084006 0.336850 +vt 0.314838 0.901584 +vt 0.309524 0.911124 +vt 0.310881 0.877548 +vt 0.314838 0.901584 +vt 0.323628 0.804579 +vt 0.325726 0.811340 +vt 0.321873 0.804579 +vt 0.326874 0.811340 +vt 0.325726 0.811340 +vt 0.323628 0.804579 +vt 0.267014 0.860837 +vt 0.248098 0.786064 +vt 0.243938 0.783302 +vt 0.248098 0.786064 +vt 0.250460 0.988261 +vt 0.256765 0.956024 +vt 0.250460 0.988261 +vt 0.249328 0.857203 +vt 0.249328 0.857203 +vt 0.248335 0.800867 +vt 0.247791 0.800330 +vt 0.248335 0.800867 +vt 0.248936 0.880480 +vt 0.246283 0.868580 +vt 0.243653 0.881104 +vt 0.249934 0.876796 +vt 0.246283 0.868580 +vt 0.248936 0.880480 +vt 0.298677 0.879312 +vt 0.305396 0.874424 +vt 0.295339 0.905886 +vt 0.298677 0.879312 +vt 0.249473 0.540724 +vt 0.250047 0.539728 +vt 0.247649 0.522977 +vt 0.253473 0.559399 +vt 0.250047 0.539728 +vt 0.249473 0.540724 +vt 0.250641 0.950853 +vt 0.250662 0.939868 +vt 0.250641 0.950853 +vt 0.326025 0.740081 +vt 0.323161 0.736013 +vt 0.324729 0.732386 +vt 0.324092 0.747776 +vt 0.323161 0.736013 +vt 0.326025 0.740081 +vt 0.282838 0.550523 +vt 0.283947 0.554349 +vt 0.289316 0.540202 +vt 0.276642 0.553970 +vt 0.283947 0.554349 +vt 0.282838 0.550523 +vt 0.272204 0.782021 +vt 0.260439 0.893585 +vt 0.328175 0.821291 +vt 0.325726 0.811340 +vt 0.326874 0.811340 +vt 0.326094 0.853848 +vt 0.327474 0.845643 +vt 0.269115 0.955846 +vt 0.274074 0.975365 +vt 0.271428 0.891517 +vt 0.278964 0.893360 +vt 0.279004 0.884609 +vt 0.261320 0.853156 +vt 0.265589 0.878377 +vt 0.258929 0.870492 +vt 0.252444 0.859975 +vt 0.256093 0.876854 +vt 0.238791 0.798956 +vt 0.238791 0.802277 +vt 0.244268 0.802623 +vt 0.244268 0.802623 +vt 0.244131 0.799885 +vt 0.244268 0.802623 +vt 0.248823 0.802817 +vt 0.244268 0.802623 +vt 0.249726 0.801630 +vt 0.255145 0.807754 +vt 0.251385 0.792084 +vt 0.249275 0.802224 +vt 0.311463 0.578279 +vt 0.311463 0.468112 +vt 0.317853 0.471226 +vt 0.317853 0.471226 +vt 0.317494 0.578304 +vt 0.317853 0.471226 +vt 0.324933 0.578250 +vt 0.317853 0.471226 +vt 0.248335 0.800867 +vt 0.247791 0.800330 +vt 0.248335 0.800867 +vt 0.255145 0.807754 +vt 0.251385 0.792084 +vt 0.252445 0.783194 +vt 0.258445 0.802905 +vt 0.252445 0.783194 +vt 0.251385 0.792084 +vt 0.249726 0.801630 +vt 0.258445 0.802905 +vt 0.251385 0.792084 +vt 0.324933 0.578250 +vt 0.328944 0.493465 +vt 0.330653 0.496967 +vt 0.327236 0.489964 +vt 0.324933 0.578250 +vt 0.324933 0.578250 +vt 0.327236 0.489964 +vt 0.317853 0.471226 +vt 0.328944 0.493465 +vt 0.327236 0.489964 +vt 0.330653 0.496967 +vt 0.328944 0.493465 +vt 0.311448 0.582517 +vt 0.317470 0.582521 +vt 0.244131 0.799885 +vt 0.248823 0.802817 +vt 0.244131 0.799885 +vt 0.324953 0.582513 +vt 0.324953 0.579718 +vt 0.325433 0.580454 +vt 0.317470 0.582521 +vt 0.324953 0.579718 +vt 0.324953 0.582513 +vt 0.249726 0.801630 +vt 0.247526 0.807069 +vt 0.249726 0.801630 +vt 0.249726 0.801630 +vt 0.247526 0.807069 +vt 0.258445 0.802905 +vt 0.249726 0.801630 +vt 0.248098 0.786064 +vt 0.317494 0.578304 +vt 0.324933 0.578250 +vt 0.317494 0.578304 +vt 0.251385 0.792084 +vt 0.249275 0.802224 +vt 0.249726 0.801630 +vt 0.248823 0.802817 +vt 0.249275 0.802224 +vt 0.251385 0.792084 +vt 0.325433 0.580454 +vt 0.248082 0.790998 +vt 0.251385 0.792084 +vt 0.248449 0.800904 +vt 0.251385 0.792084 +vt 0.248823 0.802817 +vt 0.251385 0.792084 +vt 0.244131 0.799885 +vt 0.248823 0.802817 +vt 0.248082 0.790998 +vt 0.243938 0.783302 +vt 0.248098 0.786064 +vt 0.243957 0.789441 +vt 0.243938 0.783302 +vt 0.248082 0.790998 +vt 0.248449 0.800904 +vt 0.248082 0.790998 +vt 0.248449 0.800904 +vt 0.248449 0.800904 +vt 0.244131 0.799885 +vt 0.238791 0.788463 +vt 0.243957 0.789441 +vt 0.244131 0.799885 +vt 0.243957 0.789441 +vt 0.244131 0.799885 +vt 0.243957 0.789441 +vt 0.243938 0.783302 +vt 0.243957 0.789441 +vt 0.243957 0.789441 +vt 0.248082 0.790998 +vt 0.248098 0.786064 +vt 0.248449 0.800904 +vt 0.248082 0.790998 +vt 0.248449 0.800904 +vt 0.243938 0.783302 +vt 0.368910 0.876776 +vt 0.376138 0.873873 +vt 0.371296 0.862137 +vt 0.375780 0.897365 +vt 0.360639 0.926249 +vt 0.378371 0.925378 +vt 0.376186 0.952870 +vt 0.382860 0.943681 +vt 0.380759 0.960802 +vt 0.377257 0.975165 +vt 0.370030 0.972687 +vt 0.361500 0.980122 +vt 0.352778 0.973484 +vt 0.356131 0.993947 +vt 0.350682 0.987730 +vt 0.343345 0.927534 +vt 0.345330 0.899507 +vt 0.339095 0.910081 +vt 0.345330 0.899507 +vt 0.343345 0.927534 +vt 0.346122 0.954420 +vt 0.343345 0.927534 +vt 0.346122 0.954420 +vt 0.345956 0.977097 +vt 0.346122 0.954420 +vt 0.345956 0.977097 +vt 0.345330 0.899507 +vt 0.341032 0.892127 +vt 0.339095 0.910081 +vt 0.344320 0.876514 +vt 0.341032 0.892127 +vt 0.345330 0.899507 +vt 0.351380 0.878048 +vt 0.345330 0.899507 +vt 0.348695 0.863959 +vt 0.354023 0.856166 +vt 0.346122 0.954420 +vt 0.342124 0.963339 +vt 0.345956 0.977097 +vt 0.339662 0.946763 +vt 0.346122 0.954420 +vt 0.343345 0.927534 +vt 0.346122 0.954420 +vt 0.338526 0.928680 +vt 0.343345 0.927534 +vt 0.339095 0.910081 +vt 0.343345 0.927534 +vt 0.345330 0.899507 +vt 0.359976 0.869622 +vt 0.365695 0.855248 +vt 0.372808 0.986422 +vt 0.367525 0.993289 +vt 0.361862 0.996115 +vt 0.383673 0.925173 +vt 0.382591 0.906491 +vt 0.383673 0.925173 +vt 0.382591 0.906491 +vt 0.380056 0.888836 +vt 0.382591 0.906491 +vt 0.359809 0.852883 +vt 0.359809 0.852883 +vt 0.380056 0.888836 +vt 0.481700 0.753131 +vt 0.468484 0.794278 +vt 0.468723 0.742404 +vt 0.480518 0.809914 +vt 0.494176 0.764702 +vt 0.493354 0.823966 +vt 0.510135 0.771381 +vt 0.510114 0.832468 +vt 0.455335 0.777109 +vt 0.451416 0.805291 +vt 0.441073 0.792773 +vt 0.457001 0.818480 +vt 0.467201 0.836968 +vt 0.478914 0.852812 +vt 0.444007 0.765678 +vt 0.433923 0.792959 +vt 0.617119 0.092642 +vt 0.616946 0.118228 +vt 0.601778 0.116796 +vt 0.642380 0.089071 +vt 0.465849 0.876372 +vt 0.457119 0.857447 +vt 0.477766 0.895439 +vt 0.491231 0.913030 +vt 0.494364 0.871486 +vt 0.510325 0.925896 +vt 0.510811 0.881395 +vt 0.532021 0.921485 +vt 0.531875 0.875894 +vt 0.548738 0.904855 +vt 0.549248 0.882822 +vt 0.558035 0.884887 +vt 0.549759 0.856100 +vt 0.556350 0.845199 +vt 0.554455 0.804074 +vt 0.579805 0.820201 +vt 0.579652 0.771697 +vt 0.592683 0.808109 +vt 0.603602 0.767589 +vt 0.604101 0.766929 +vt 0.641504 0.118912 +vt 0.640818 0.142998 +vt 0.617657 0.145053 +vt 0.664587 0.112779 +vt 0.664587 0.086049 +vt 0.643979 0.064316 +vt 0.664587 0.064099 +vt 0.664587 0.048518 +vt 0.438208 0.819515 +vt 0.447684 0.836792 +vt 0.429711 0.016592 +vt 0.426207 0.011382 +vt 0.428632 0.011353 +vt 0.426256 0.016628 +vt 0.432264 0.025957 +vt 0.426256 0.021733 +vt 0.426256 0.026284 +vt 0.532793 0.827493 +vt 0.531875 0.875894 +vt 0.548738 0.904855 +vt 0.549248 0.882822 +vt 0.532021 0.921485 +vt 0.548738 0.904855 +vt 0.531875 0.875894 +vt 0.510811 0.881395 +vt 0.532021 0.921485 +vt 0.531875 0.875894 +vt 0.510325 0.925896 +vt 0.532021 0.921485 +vt 0.510811 0.881395 +vt 0.640818 0.142998 +vt 0.641504 0.118912 +vt 0.617657 0.145053 +vt 0.641504 0.118912 +vt 0.640818 0.142998 +vt 0.664587 0.141233 +vt 0.640818 0.142998 +vt 0.426550 0.011382 +vt 0.423046 0.016592 +vt 0.424126 0.011353 +vt 0.426502 0.016628 +vt 0.420493 0.025957 +vt 0.426502 0.021733 +vt 0.416448 0.041052 +vt 0.426502 0.026284 +vt 0.426502 0.040793 +vt 0.436309 0.041052 +vt 0.426256 0.040793 +vt 0.426558 0.001523 +vt 0.424130 0.001523 +vt 0.426550 0.011382 +vt 0.642380 0.089071 +vt 0.641504 0.118912 +vt 0.642380 0.089071 +vt 0.426199 0.001523 +vt 0.428627 0.001523 +vt 0.426207 0.011382 +vt 0.579826 0.861468 +vt 0.603688 0.848407 +vt 0.601778 0.116796 +vt 0.575827 0.136910 +vt 0.599397 0.138568 +vt 0.599397 0.138568 +vt 0.575827 0.136910 +vt 0.602669 0.715524 +vt 0.579261 0.722936 +vt 0.579135 0.714707 +vt 0.620328 0.714686 +vt 0.620328 0.764432 +vt 0.429441 0.764432 +vt 0.444010 0.722785 +vt 0.429232 0.714686 +vt 0.444592 0.714807 +vt 0.554455 0.750163 +vt 0.532448 0.768411 +vt 0.455318 0.731023 +vt 0.455648 0.720402 +vt 0.557007 0.658329 +vt 0.578919 0.652931 +vt 0.555031 0.731150 +vt 0.534482 0.661936 +vt 0.534383 0.740525 +vt 0.512759 0.669568 +vt 0.510756 0.742374 +vt 0.495371 0.665965 +vt 0.493674 0.736563 +vt 0.481450 0.662773 +vt 0.480700 0.728624 +vt 0.468151 0.658944 +vt 0.468904 0.724181 +vt 0.456019 0.657282 +vt 0.601618 0.653086 +vt 0.620328 0.655334 +vt 0.443289 0.654584 +vt 0.427565 0.655334 +vt 0.556028 0.577991 +vt 0.551367 0.502011 +vt 0.566101 0.498200 +vt 0.535940 0.502427 +vt 0.535240 0.586430 +vt 0.516860 0.510893 +vt 0.514017 0.598439 +vt 0.498110 0.517702 +vt 0.496643 0.613303 +vt 0.482476 0.612494 +vt 0.480745 0.640869 +vt 0.469022 0.639645 +vt 0.493914 0.640198 +vt 0.513704 0.617600 +vt 0.533953 0.616475 +vt 0.557455 0.614272 +vt 0.620328 0.591948 +vt 0.597884 0.502100 +vt 0.620328 0.507532 +vt 0.599444 0.583034 +vt 0.620328 0.610461 +vt 0.600884 0.609406 +vt 0.620328 0.627708 +vt 0.600364 0.628591 +vt 0.580599 0.501772 +vt 0.576830 0.576687 +vt 0.577087 0.612369 +vt 0.577404 0.633226 +vt 0.557794 0.635372 +vt 0.482143 0.524840 +vt 0.469144 0.610716 +vt 0.457479 0.638655 +vt 0.470124 0.528923 +vt 0.456288 0.610707 +vt 0.445008 0.633020 +vt 0.512910 0.638265 +vt 0.536066 0.635909 +vt 0.427733 0.627708 +vt 0.442740 0.606511 +vt 0.427073 0.610461 +vt 0.426810 0.591948 +vt 0.457631 0.524679 +vt 0.443618 0.517508 +vt 0.423730 0.507532 +vt 0.426256 0.277572 +vt 0.447836 0.311025 +vt 0.453144 0.280467 +vt 0.426256 0.309824 +vt 0.447836 0.311025 +vt 0.426256 0.338561 +vt 0.447836 0.311025 +vt 0.446322 0.338996 +vt 0.447836 0.311025 +vt 0.426256 0.357672 +vt 0.445916 0.362586 +vt 0.617467 0.330827 +vt 0.645717 0.294420 +vt 0.617302 0.291098 +vt 0.644326 0.328181 +vt 0.643843 0.367571 +vt 0.664587 0.330014 +vt 0.664587 0.371398 +vt 0.643843 0.367571 +vt 0.645717 0.294420 +vt 0.617467 0.330827 +vt 0.617302 0.291098 +vt 0.644326 0.328181 +vt 0.617467 0.330827 +vt 0.645717 0.294420 +vt 0.664587 0.294403 +vt 0.644326 0.328181 +vt 0.645717 0.294420 +vt 0.644326 0.328181 +vt 0.459285 0.324689 +vt 0.446322 0.338996 +vt 0.446322 0.338996 +vt 0.446322 0.338996 +vt 0.454450 0.370942 +vt 0.455797 0.336646 +vt 0.459285 0.324689 +vt 0.505772 0.300700 +vt 0.488521 0.324298 +vt 0.491183 0.352112 +vt 0.479491 0.288208 +vt 0.488521 0.324298 +vt 0.505772 0.300700 +vt 0.491183 0.352112 +vt 0.479491 0.288208 +vt 0.505772 0.300700 +vt 0.488521 0.324298 +vt 0.644326 0.328181 +vt 0.643843 0.367571 +vt 0.617467 0.330827 +vt 0.643843 0.367571 +vt 0.644326 0.328181 +vt 0.453144 0.280467 +vt 0.447836 0.311025 +vt 0.459285 0.324689 +vt 0.447836 0.311025 +vt 0.453144 0.280467 +vt 0.445916 0.362586 +vt 0.446322 0.338996 +vt 0.454450 0.370942 +vt 0.446322 0.338996 +vt 0.445916 0.362586 +vt 0.455797 0.336646 +vt 0.446322 0.338996 +vt 0.454450 0.370942 +vt 0.446322 0.338996 +vt 0.455797 0.336646 +vt 0.447836 0.311025 +vt 0.459285 0.324689 +vt 0.654860 0.613698 +vt 0.658236 0.603198 +vt 0.658205 0.616364 +vt 0.654860 0.584706 +vt 0.630435 0.584706 +vt 0.654860 0.556885 +vt 0.630435 0.556885 +vt 0.654860 0.521901 +vt 0.630435 0.497551 +vt 0.646967 0.447095 +vt 0.627185 0.429646 +vt 0.657034 0.565919 +vt 0.656047 0.574804 +vt 0.658009 0.553646 +vt 0.658009 0.521973 +vt 0.664587 0.468097 +vt 0.666363 0.473172 +vt 0.658009 0.521973 +vt 0.654860 0.653915 +vt 0.658895 0.630132 +vt 0.658157 0.643588 +vt 0.654860 0.624846 +vt 0.630436 0.653915 +vt 0.630435 0.613698 +vt 0.624386 0.611649 +vt 0.624386 0.584706 +vt 0.624386 0.556885 +vt 0.630436 0.712033 +vt 0.624386 0.653915 +vt 0.624386 0.712334 +vt 0.630436 0.653915 +vt 0.654860 0.712033 +vt 0.630436 0.653915 +vt 0.654860 0.653915 +vt 0.630436 0.653915 +vt 0.658289 0.683567 +vt 0.654860 0.653915 +vt 0.661602 0.647063 +vt 0.654860 0.653915 +vt 0.630436 0.653915 +vt 0.624386 0.611649 +vt 0.630435 0.613698 +vt 0.624386 0.611649 +vt 0.630436 0.653915 +vt 0.654860 0.624846 +vt 0.630435 0.613698 +vt 0.630436 0.653915 +vt 0.654860 0.613698 +vt 0.630435 0.613698 +vt 0.654860 0.624846 +vt 0.658205 0.616364 +vt 0.654860 0.613698 +vt 0.654860 0.624846 +vt 0.658236 0.603198 +vt 0.654860 0.613698 +vt 0.658205 0.616364 +vt 0.630435 0.613698 +vt 0.624386 0.584706 +vt 0.624386 0.611649 +vt 0.630435 0.584706 +vt 0.624386 0.584706 +vt 0.630435 0.613698 +vt 0.654860 0.613698 +vt 0.630435 0.584706 +vt 0.630435 0.613698 +vt 0.654860 0.584706 +vt 0.630435 0.584706 +vt 0.654860 0.613698 +vt 0.658236 0.603198 +vt 0.654860 0.584706 +vt 0.654860 0.613698 +vt 0.656047 0.574804 +vt 0.654860 0.584706 +vt 0.658236 0.603198 +vt 0.630435 0.584706 +vt 0.624386 0.556885 +vt 0.624386 0.584706 +vt 0.630435 0.556885 +vt 0.624386 0.556885 +vt 0.630435 0.584706 +vt 0.654860 0.556885 +vt 0.630435 0.556885 +vt 0.630435 0.584706 +vt 0.654860 0.521901 +vt 0.630435 0.556885 +vt 0.654860 0.556885 +vt 0.658009 0.553646 +vt 0.654860 0.521901 +vt 0.654860 0.556885 +vt 0.658009 0.521973 +vt 0.654860 0.521901 +vt 0.658009 0.553646 +vt 0.654860 0.712033 +vt 0.660908 0.697975 +vt 0.659624 0.719670 +vt 0.658289 0.683567 +vt 0.654860 0.712033 +vt 0.658289 0.683567 +vt 0.654860 0.712033 +vt 0.661602 0.647063 +vt 0.658289 0.683567 +vt 0.661602 0.647063 +vt 0.630435 0.556885 +vt 0.624386 0.495696 +vt 0.624386 0.556885 +vt 0.630435 0.497551 +vt 0.630435 0.556885 +vt 0.654860 0.521901 +vt 0.630435 0.497551 +vt 0.630435 0.556885 +vt 0.646967 0.447095 +vt 0.630435 0.497551 +vt 0.654860 0.521901 +vt 0.654860 0.624846 +vt 0.658895 0.630132 +vt 0.658205 0.616364 +vt 0.654860 0.653915 +vt 0.658895 0.630132 +vt 0.654860 0.624846 +vt 0.630436 0.653915 +vt 0.654860 0.653915 +vt 0.654860 0.624846 +vt 0.654860 0.556885 +vt 0.657034 0.565919 +vt 0.658009 0.553646 +vt 0.656047 0.574804 +vt 0.657034 0.565919 +vt 0.654860 0.556885 +vt 0.654860 0.584706 +vt 0.656047 0.574804 +vt 0.654860 0.556885 +vt 0.660908 0.697975 +vt 0.659624 0.719670 +vt 0.660908 0.697975 +vt 0.654860 0.712033 +vt 0.630436 0.712033 +vt 0.654860 0.712033 +vt 0.624386 0.495696 +vt 0.624386 0.653915 +vt 0.630436 0.712033 +vt 0.624386 0.653915 +vt 0.624386 0.495696 +vt 0.621152 0.425240 +vt 0.624386 0.495696 +vt 0.658157 0.643588 +vt 0.654860 0.653915 +vt 0.658895 0.630132 +vt 0.654860 0.653915 +vt 0.658157 0.643588 +vt 0.654860 0.521901 +vt 0.658009 0.521973 +vt 0.646967 0.447095 +vt 0.654860 0.521901 +vt 0.627185 0.429646 +vt 0.630435 0.497551 +vt 0.646967 0.447095 +vt 0.621152 0.425240 +vt 0.630435 0.497551 +vt 0.627185 0.429646 +vt 0.630435 0.584706 +vt 0.654860 0.584706 +vt 0.654860 0.556885 +vt 0.621152 0.425240 +vt 0.630435 0.497551 +vt 0.624386 0.712334 +vt 0.624386 0.653915 +vt 0.630436 0.712033 +vt 0.654860 0.796609 +vt 0.660908 0.794439 +vt 0.659269 0.799916 +vt 0.654860 0.750507 +vt 0.654860 0.712033 +vt 0.630436 0.712033 +vt 0.654860 0.712033 +vt 0.630436 0.750507 +vt 0.624386 0.796657 +vt 0.654860 0.750507 +vt 0.654860 0.750507 +vt 0.659624 0.719670 +vt 0.654860 0.750507 +vt 0.615653 0.962304 +vt 0.606905 0.942432 +vt 0.606905 0.962304 +vt 0.615653 0.942432 +vt 0.630807 0.962304 +vt 0.630807 0.942432 +vt 0.630436 0.796609 +vt 0.630436 0.750507 +vt 0.624386 0.796657 +vt 0.630436 0.750507 +vt 0.624386 0.712334 +vt 0.630436 0.750507 +vt 0.624386 0.796657 +vt 0.654860 0.750507 +vt 0.654860 0.796609 +vt 0.659624 0.719670 +vt 0.630436 0.796609 +vt 0.654860 0.796609 +vt 0.654860 0.750507 +vt 0.630436 0.796609 +vt 0.654860 0.750507 +vt 0.630436 0.796609 +vt 0.611550 0.357137 +vt 0.597849 0.306938 +vt 0.595604 0.330836 +vt 0.646967 0.447095 +vt 0.643843 0.367571 +vt 0.611550 0.357137 +vt 0.643843 0.367571 +vt 0.617467 0.330827 +vt 0.643843 0.367571 +vt 0.611550 0.357137 +vt 0.597849 0.306938 +vt 0.617467 0.330827 +vt 0.611550 0.357137 +vt 0.606905 0.942432 +vt 0.615653 0.962304 +vt 0.606905 0.962304 +vt 0.615653 0.942432 +vt 0.615653 0.962304 +vt 0.606905 0.942432 +vt 0.630807 0.962304 +vt 0.615653 0.942432 +vt 0.630807 0.942432 +vt 0.615653 0.962304 +vt 0.615653 0.942432 +vt 0.630807 0.962304 +vt 0.627185 0.429646 +vt 0.646967 0.447095 +vt 0.627185 0.429646 +vt 0.643843 0.367571 +vt 0.643843 0.367571 +vt 0.660908 0.794439 +vt 0.654860 0.796609 +vt 0.659269 0.799916 +vt 0.659624 0.719670 +vt 0.654860 0.796609 +vt 0.660908 0.794439 +vt 0.630436 0.712033 +vt 0.630436 0.750507 +vt 0.624386 0.712334 +vt 0.630436 0.750507 +vt 0.630436 0.712033 +vt 0.611550 0.357137 +vt 0.595604 0.330836 +vt 0.597849 0.306938 +vt 0.457001 0.818480 +vt 0.455335 0.777109 +vt 0.451416 0.805291 +vt 0.468484 0.794278 +vt 0.455335 0.777109 +vt 0.457001 0.818480 +vt 0.467201 0.836968 +vt 0.468484 0.794278 +vt 0.457001 0.818480 +vt 0.478914 0.852812 +vt 0.468484 0.794278 +vt 0.467201 0.836968 +vt 0.477766 0.895439 +vt 0.478914 0.852812 +vt 0.467201 0.836968 +vt 0.617119 0.092642 +vt 0.642380 0.089071 +vt 0.643979 0.064316 +vt 0.616946 0.118228 +vt 0.642380 0.089071 +vt 0.617119 0.092642 +vt 0.601778 0.116796 +vt 0.616946 0.118228 +vt 0.617119 0.092642 +vt 0.616946 0.118228 +vt 0.601778 0.116796 +vt 0.468484 0.794278 +vt 0.481700 0.753131 +vt 0.468723 0.742404 +vt 0.480518 0.809914 +vt 0.481700 0.753131 +vt 0.468484 0.794278 +vt 0.478914 0.852812 +vt 0.480518 0.809914 +vt 0.468484 0.794278 +vt 0.493354 0.823966 +vt 0.480518 0.809914 +vt 0.478914 0.852812 +vt 0.441073 0.792773 +vt 0.455335 0.777109 +vt 0.444007 0.765678 +vt 0.451416 0.805291 +vt 0.455335 0.777109 +vt 0.441073 0.792773 +vt 0.447684 0.836792 +vt 0.451416 0.805291 +vt 0.441073 0.792773 +vt 0.457119 0.857447 +vt 0.451416 0.805291 +vt 0.447684 0.836792 +vt 0.457119 0.857447 +vt 0.457001 0.818480 +vt 0.451416 0.805291 +vt 0.467201 0.836968 +vt 0.457001 0.818480 +vt 0.457119 0.857447 +vt 0.465849 0.876372 +vt 0.467201 0.836968 +vt 0.457119 0.857447 +vt 0.477766 0.895439 +vt 0.467201 0.836968 +vt 0.465849 0.876372 +vt 0.643979 0.064316 +vt 0.643979 0.064316 +vt 0.642380 0.089071 +vt 0.643979 0.064316 +vt 0.616946 0.118228 +vt 0.641504 0.118912 +vt 0.642380 0.089071 +vt 0.617657 0.145053 +vt 0.641504 0.118912 +vt 0.616946 0.118228 +vt 0.617657 0.145053 +vt 0.616946 0.118228 +vt 0.599397 0.138568 +vt 0.599397 0.138568 +vt 0.480518 0.809914 +vt 0.494176 0.764702 +vt 0.481700 0.753131 +vt 0.493354 0.823966 +vt 0.494176 0.764702 +vt 0.480518 0.809914 +vt 0.510135 0.771381 +vt 0.493354 0.823966 +vt 0.510114 0.832468 +vt 0.494176 0.764702 +vt 0.493354 0.823966 +vt 0.510135 0.771381 +vt 0.433923 0.792959 +vt 0.441073 0.792773 +vt 0.444007 0.765678 +vt 0.438208 0.819515 +vt 0.441073 0.792773 +vt 0.433923 0.792959 +vt 0.579805 0.820201 +vt 0.579826 0.861468 +vt 0.549248 0.882822 +vt 0.548738 0.904855 +vt 0.558035 0.884887 +vt 0.438208 0.819515 +vt 0.447684 0.836792 +vt 0.441073 0.792773 +vt 0.491231 0.913030 +vt 0.478914 0.852812 +vt 0.477766 0.895439 +vt 0.494364 0.871486 +vt 0.478914 0.852812 +vt 0.491231 0.913030 +vt 0.510325 0.925896 +vt 0.494364 0.871486 +vt 0.491231 0.913030 +vt 0.510811 0.881395 +vt 0.494364 0.871486 +vt 0.510325 0.925896 +vt 0.531875 0.875894 +vt 0.532793 0.827493 +vt 0.510114 0.832468 +vt 0.549759 0.856100 +vt 0.532793 0.827493 +vt 0.531875 0.875894 +vt 0.549248 0.882822 +vt 0.549759 0.856100 +vt 0.531875 0.875894 +vt 0.558035 0.884887 +vt 0.549759 0.856100 +vt 0.549248 0.882822 +vt 0.549759 0.856100 +vt 0.554455 0.804074 +vt 0.532793 0.827493 +vt 0.556350 0.845199 +vt 0.554455 0.804074 +vt 0.549759 0.856100 +vt 0.558035 0.884887 +vt 0.556350 0.845199 +vt 0.549759 0.856100 +vt 0.579826 0.861468 +vt 0.556350 0.845199 +vt 0.558035 0.884887 +vt 0.579805 0.820201 +vt 0.556350 0.845199 +vt 0.579826 0.861468 +vt 0.554455 0.804074 +vt 0.556350 0.845199 +vt 0.579805 0.820201 +vt 0.579652 0.771697 +vt 0.554455 0.804074 +vt 0.579805 0.820201 +vt 0.592683 0.808109 +vt 0.579805 0.820201 +vt 0.579652 0.771697 +vt 0.579805 0.820201 +vt 0.592683 0.808109 +vt 0.603602 0.767589 +vt 0.579652 0.771697 +vt 0.592683 0.808109 +vt 0.494364 0.871486 +vt 0.493354 0.823966 +vt 0.478914 0.852812 +vt 0.510811 0.881395 +vt 0.493354 0.823966 +vt 0.494364 0.871486 +vt 0.510811 0.881395 +vt 0.510114 0.832468 +vt 0.493354 0.823966 +vt 0.531875 0.875894 +vt 0.510114 0.832468 +vt 0.510811 0.881395 +vt 0.592683 0.808109 +vt 0.603602 0.767589 +vt 0.592683 0.808109 +vt 0.512200 0.142215 +vt 0.510795 0.173040 +vt 0.483443 0.118602 +vt 0.541581 0.192579 +vt 0.544057 0.160295 +vt 0.571578 0.198787 +vt 0.573109 0.163016 +vt 0.595105 0.205690 +vt 0.597213 0.165569 +vt 0.400708 0.182469 +vt 0.426502 0.120204 +vt 0.426502 0.176801 +vt 0.403026 0.125500 +vt 0.369229 0.202332 +vt 0.368786 0.154471 +vt 0.343845 0.220005 +vt 0.341962 0.173040 +vt 0.540475 0.233672 +vt 0.570669 0.241278 +vt 0.508912 0.220005 +vt 0.483972 0.154471 +vt 0.426256 0.120204 +vt 0.452050 0.182469 +vt 0.426256 0.176801 +vt 0.449732 0.125500 +vt 0.438537 0.084980 +vt 0.454739 0.093179 +vt 0.483528 0.202332 +vt 0.571578 0.198787 +vt 0.540475 0.233672 +vt 0.570669 0.241278 +vt 0.541581 0.192579 +vt 0.540475 0.233672 +vt 0.571578 0.198787 +vt 0.544057 0.160295 +vt 0.541581 0.192579 +vt 0.571578 0.198787 +vt 0.512200 0.142215 +vt 0.541581 0.192579 +vt 0.544057 0.160295 +vt 0.369314 0.118602 +vt 0.340557 0.142215 +vt 0.398018 0.093179 +vt 0.541581 0.192579 +vt 0.508912 0.220005 +vt 0.540475 0.233672 +vt 0.510795 0.173040 +vt 0.508912 0.220005 +vt 0.541581 0.192579 +vt 0.512200 0.142215 +vt 0.510795 0.173040 +vt 0.541581 0.192579 +vt 0.573109 0.163016 +vt 0.595105 0.205690 +vt 0.597213 0.165569 +vt 0.571578 0.198787 +vt 0.595105 0.205690 +vt 0.573109 0.163016 +vt 0.544057 0.160295 +vt 0.571578 0.198787 +vt 0.573109 0.163016 +vt 0.414220 0.084980 +vt 0.426502 0.078784 +vt 0.426256 0.078784 +vt 0.599397 0.138568 +vt 0.575827 0.136910 +vt 0.599397 0.138568 +vt 0.575827 0.136910 +vt 0.546655 0.142246 +vt 0.575827 0.136910 +vt 0.513915 0.126683 +vt 0.485918 0.105406 +vt 0.456451 0.082344 +vt 0.442995 0.059452 +vt 0.616668 0.212044 +vt 0.597213 0.165569 +vt 0.595105 0.205690 +vt 0.617507 0.172324 +vt 0.597213 0.165569 +vt 0.642124 0.216241 +vt 0.640934 0.174406 +vt 0.664587 0.169053 +vt 0.640934 0.174406 +vt 0.640934 0.174406 +vt 0.640934 0.174406 +vt 0.544057 0.160295 +vt 0.513915 0.126683 +vt 0.512200 0.142215 +vt 0.546655 0.142246 +vt 0.513915 0.126683 +vt 0.544057 0.160295 +vt 0.573109 0.163016 +vt 0.546655 0.142246 +vt 0.544057 0.160295 +vt 0.546655 0.142246 +vt 0.573109 0.163016 +vt 0.597213 0.165569 +vt 0.573109 0.163016 +vt 0.597213 0.165569 +vt 0.617657 0.145053 +vt 0.597213 0.165569 +vt 0.409762 0.059452 +vt 0.396307 0.082344 +vt 0.366840 0.105406 +vt 0.338842 0.126683 +vt 0.616668 0.212044 +vt 0.617507 0.172324 +vt 0.616668 0.212044 +vt 0.617507 0.172324 +vt 0.640934 0.174406 +vt 0.617507 0.172324 +vt 0.617657 0.145053 +vt 0.597213 0.165569 +vt 0.617657 0.145053 +vt 0.640818 0.142998 +vt 0.617657 0.145053 +vt 0.640818 0.142998 +vt 0.617507 0.172324 +vt 0.642124 0.216241 +vt 0.616668 0.212044 +vt 0.640934 0.174406 +vt 0.642124 0.216241 +vt 0.617507 0.172324 +vt 0.664587 0.209935 +vt 0.642124 0.216241 +vt 0.642124 0.216241 +vt 0.640934 0.174406 +vt 0.444007 0.765678 +vt 0.429441 0.764432 +vt 0.433923 0.792959 +vt 0.444010 0.722785 +vt 0.429441 0.764432 +vt 0.444007 0.765678 +vt 0.455318 0.731023 +vt 0.444010 0.722785 +vt 0.444007 0.765678 +vt 0.579261 0.722936 +vt 0.602669 0.715524 +vt 0.579135 0.714707 +vt 0.603602 0.767589 +vt 0.602669 0.715524 +vt 0.579261 0.722936 +vt 0.579652 0.771697 +vt 0.603602 0.767589 +vt 0.579261 0.722936 +vt 0.455335 0.777109 +vt 0.455318 0.731023 +vt 0.444007 0.765678 +vt 0.468723 0.742404 +vt 0.455318 0.731023 +vt 0.455335 0.777109 +vt 0.468484 0.794278 +vt 0.468723 0.742404 +vt 0.455335 0.777109 +vt 0.554455 0.750163 +vt 0.579652 0.771697 +vt 0.579261 0.722936 +vt 0.554455 0.804074 +vt 0.579652 0.771697 +vt 0.554455 0.750163 +vt 0.620328 0.714686 +vt 0.603602 0.767589 +vt 0.620328 0.764432 +vt 0.602669 0.715524 +vt 0.603602 0.767589 +vt 0.620328 0.714686 +vt 0.429232 0.714686 +vt 0.429441 0.764432 +vt 0.444010 0.722785 +vt 0.493674 0.736563 +vt 0.510135 0.771381 +vt 0.510756 0.742374 +vt 0.494176 0.764702 +vt 0.510135 0.771381 +vt 0.493674 0.736563 +vt 0.480700 0.728624 +vt 0.494176 0.764702 +vt 0.493674 0.736563 +vt 0.481700 0.753131 +vt 0.494176 0.764702 +vt 0.480700 0.728624 +vt 0.468904 0.724181 +vt 0.481700 0.753131 +vt 0.480700 0.728624 +vt 0.468723 0.742404 +vt 0.481700 0.753131 +vt 0.468904 0.724181 +vt 0.455648 0.720402 +vt 0.468723 0.742404 +vt 0.468904 0.724181 +vt 0.456019 0.657282 +vt 0.468904 0.724181 +vt 0.468151 0.658944 +vt 0.455648 0.720402 +vt 0.468904 0.724181 +vt 0.456019 0.657282 +vt 0.443289 0.654584 +vt 0.455648 0.720402 +vt 0.456019 0.657282 +vt 0.444592 0.714807 +vt 0.455648 0.720402 +vt 0.443289 0.654584 +vt 0.427565 0.655334 +vt 0.444592 0.714807 +vt 0.443289 0.654584 +vt 0.429232 0.714686 +vt 0.444592 0.714807 +vt 0.427565 0.655334 +vt 0.532448 0.768411 +vt 0.554455 0.804074 +vt 0.554455 0.750163 +vt 0.532793 0.827493 +vt 0.554455 0.804074 +vt 0.532448 0.768411 +vt 0.510114 0.832468 +vt 0.532793 0.827493 +vt 0.532448 0.768411 +vt 0.532448 0.768411 +vt 0.510135 0.771381 +vt 0.510114 0.832468 +vt 0.510756 0.742374 +vt 0.510135 0.771381 +vt 0.532448 0.768411 +vt 0.534383 0.740525 +vt 0.510756 0.742374 +vt 0.532448 0.768411 +vt 0.444010 0.722785 +vt 0.444592 0.714807 +vt 0.429232 0.714686 +vt 0.455318 0.731023 +vt 0.444592 0.714807 +vt 0.444010 0.722785 +vt 0.455318 0.731023 +vt 0.455648 0.720402 +vt 0.444592 0.714807 +vt 0.468723 0.742404 +vt 0.455648 0.720402 +vt 0.455318 0.731023 +vt 0.555031 0.731150 +vt 0.534482 0.661936 +vt 0.534383 0.740525 +vt 0.557007 0.658329 +vt 0.534482 0.661936 +vt 0.555031 0.731150 +vt 0.579135 0.714707 +vt 0.557007 0.658329 +vt 0.555031 0.731150 +vt 0.578919 0.652931 +vt 0.557007 0.658329 +vt 0.579135 0.714707 +vt 0.602669 0.715524 +vt 0.578919 0.652931 +vt 0.579135 0.714707 +vt 0.601618 0.653086 +vt 0.578919 0.652931 +vt 0.602669 0.715524 +vt 0.620328 0.714686 +vt 0.601618 0.653086 +vt 0.602669 0.715524 +vt 0.620328 0.655334 +vt 0.601618 0.653086 +vt 0.620328 0.714686 +vt 0.554455 0.750163 +vt 0.534383 0.740525 +vt 0.532448 0.768411 +vt 0.555031 0.731150 +vt 0.534383 0.740525 +vt 0.554455 0.750163 +vt 0.579261 0.722936 +vt 0.555031 0.731150 +vt 0.554455 0.750163 +vt 0.579135 0.714707 +vt 0.555031 0.731150 +vt 0.579261 0.722936 +vt 0.601618 0.653086 +vt 0.577404 0.633226 +vt 0.578919 0.652931 +vt 0.600364 0.628591 +vt 0.577404 0.633226 +vt 0.601618 0.653086 +vt 0.620328 0.655334 +vt 0.600364 0.628591 +vt 0.601618 0.653086 +vt 0.620328 0.627708 +vt 0.600364 0.628591 +vt 0.620328 0.655334 +vt 0.512759 0.669568 +vt 0.536066 0.635909 +vt 0.512910 0.638265 +vt 0.534482 0.661936 +vt 0.536066 0.635909 +vt 0.512759 0.669568 +vt 0.536066 0.635909 +vt 0.557007 0.658329 +vt 0.557794 0.635372 +vt 0.534482 0.661936 +vt 0.557007 0.658329 +vt 0.536066 0.635909 +vt 0.599444 0.583034 +vt 0.620328 0.610461 +vt 0.620328 0.591948 +vt 0.600884 0.609406 +vt 0.620328 0.610461 +vt 0.599444 0.583034 +vt 0.576830 0.576687 +vt 0.600884 0.609406 +vt 0.599444 0.583034 +vt 0.577087 0.612369 +vt 0.600884 0.609406 +vt 0.576830 0.576687 +vt 0.556028 0.577991 +vt 0.577087 0.612369 +vt 0.576830 0.576687 +vt 0.557455 0.614272 +vt 0.577087 0.612369 +vt 0.556028 0.577991 +vt 0.535240 0.586430 +vt 0.557455 0.614272 +vt 0.556028 0.577991 +vt 0.533953 0.616475 +vt 0.557455 0.614272 +vt 0.535240 0.586430 +vt 0.514017 0.598439 +vt 0.533953 0.616475 +vt 0.535240 0.586430 +vt 0.513704 0.617600 +vt 0.533953 0.616475 +vt 0.514017 0.598439 +vt 0.600884 0.609406 +vt 0.620328 0.627708 +vt 0.620328 0.610461 +vt 0.600364 0.628591 +vt 0.620328 0.627708 +vt 0.600884 0.609406 +vt 0.577087 0.612369 +vt 0.600364 0.628591 +vt 0.600884 0.609406 +vt 0.577404 0.633226 +vt 0.600364 0.628591 +vt 0.577087 0.612369 +vt 0.557455 0.614272 +vt 0.577404 0.633226 +vt 0.577087 0.612369 +vt 0.557794 0.635372 +vt 0.577404 0.633226 +vt 0.557455 0.614272 +vt 0.533953 0.616475 +vt 0.557794 0.635372 +vt 0.557455 0.614272 +vt 0.536066 0.635909 +vt 0.557794 0.635372 +vt 0.533953 0.616475 +vt 0.512910 0.638265 +vt 0.536066 0.635909 +vt 0.533953 0.616475 +vt 0.480700 0.728624 +vt 0.468151 0.658944 +vt 0.468904 0.724181 +vt 0.481450 0.662773 +vt 0.468151 0.658944 +vt 0.480700 0.728624 +vt 0.493674 0.736563 +vt 0.481450 0.662773 +vt 0.480700 0.728624 +vt 0.495371 0.665965 +vt 0.481450 0.662773 +vt 0.493674 0.736563 +vt 0.510756 0.742374 +vt 0.495371 0.665965 +vt 0.493674 0.736563 +vt 0.512759 0.669568 +vt 0.495371 0.665965 +vt 0.510756 0.742374 +vt 0.534383 0.740525 +vt 0.512759 0.669568 +vt 0.510756 0.742374 +vt 0.534482 0.661936 +vt 0.512759 0.669568 +vt 0.534383 0.740525 +vt 0.597884 0.502100 +vt 0.620328 0.591948 +vt 0.620328 0.507532 +vt 0.599444 0.583034 +vt 0.620328 0.591948 +vt 0.597884 0.502100 +vt 0.580599 0.501772 +vt 0.599444 0.583034 +vt 0.597884 0.502100 +vt 0.576830 0.576687 +vt 0.599444 0.583034 +vt 0.580599 0.501772 +vt 0.566101 0.498200 +vt 0.576830 0.576687 +vt 0.580599 0.501772 +vt 0.556028 0.577991 +vt 0.576830 0.576687 +vt 0.566101 0.498200 +vt 0.551367 0.502011 +vt 0.556028 0.577991 +vt 0.566101 0.498200 +vt 0.535940 0.502427 +vt 0.556028 0.577991 +vt 0.551367 0.502011 +vt 0.512910 0.638265 +vt 0.495371 0.665965 +vt 0.512759 0.669568 +vt 0.493914 0.640198 +vt 0.495371 0.665965 +vt 0.512910 0.638265 +vt 0.513704 0.617600 +vt 0.493914 0.640198 +vt 0.512910 0.638265 +vt 0.496643 0.613303 +vt 0.493914 0.640198 +vt 0.513704 0.617600 +vt 0.514017 0.598439 +vt 0.496643 0.613303 +vt 0.513704 0.617600 +vt 0.498110 0.517702 +vt 0.496643 0.613303 +vt 0.514017 0.598439 +vt 0.516860 0.510893 +vt 0.498110 0.517702 +vt 0.514017 0.598439 +vt 0.493914 0.640198 +vt 0.481450 0.662773 +vt 0.495371 0.665965 +vt 0.480745 0.640869 +vt 0.481450 0.662773 +vt 0.493914 0.640198 +vt 0.496643 0.613303 +vt 0.480745 0.640869 +vt 0.493914 0.640198 +vt 0.482476 0.612494 +vt 0.480745 0.640869 +vt 0.496643 0.613303 +vt 0.498110 0.517702 +vt 0.482476 0.612494 +vt 0.496643 0.613303 +vt 0.482143 0.524840 +vt 0.482476 0.612494 +vt 0.498110 0.517702 +vt 0.480745 0.640869 +vt 0.468151 0.658944 +vt 0.481450 0.662773 +vt 0.469022 0.639645 +vt 0.468151 0.658944 +vt 0.480745 0.640869 +vt 0.482476 0.612494 +vt 0.469022 0.639645 +vt 0.480745 0.640869 +vt 0.469144 0.610716 +vt 0.469022 0.639645 +vt 0.482476 0.612494 +vt 0.482143 0.524840 +vt 0.469144 0.610716 +vt 0.482476 0.612494 +vt 0.470124 0.528923 +vt 0.469144 0.610716 +vt 0.482143 0.524840 +vt 0.469022 0.639645 +vt 0.456019 0.657282 +vt 0.468151 0.658944 +vt 0.457479 0.638655 +vt 0.456019 0.657282 +vt 0.469022 0.639645 +vt 0.469144 0.610716 +vt 0.457479 0.638655 +vt 0.469022 0.639645 +vt 0.456288 0.610707 +vt 0.457479 0.638655 +vt 0.469144 0.610716 +vt 0.470124 0.528923 +vt 0.456288 0.610707 +vt 0.469144 0.610716 +vt 0.457631 0.524679 +vt 0.456288 0.610707 +vt 0.470124 0.528923 +vt 0.457479 0.638655 +vt 0.443289 0.654584 +vt 0.456019 0.657282 +vt 0.445008 0.633020 +vt 0.443289 0.654584 +vt 0.457479 0.638655 +vt 0.456288 0.610707 +vt 0.445008 0.633020 +vt 0.457479 0.638655 +vt 0.442740 0.606511 +vt 0.445008 0.633020 +vt 0.456288 0.610707 +vt 0.457631 0.524679 +vt 0.442740 0.606511 +vt 0.456288 0.610707 +vt 0.443618 0.517508 +vt 0.442740 0.606511 +vt 0.457631 0.524679 +vt 0.445008 0.633020 +vt 0.427565 0.655334 +vt 0.443289 0.654584 +vt 0.427733 0.627708 +vt 0.427565 0.655334 +vt 0.445008 0.633020 +vt 0.442740 0.606511 +vt 0.427733 0.627708 +vt 0.445008 0.633020 +vt 0.427073 0.610461 +vt 0.427733 0.627708 +vt 0.442740 0.606511 +vt 0.426810 0.591948 +vt 0.427073 0.610461 +vt 0.442740 0.606511 +vt 0.442740 0.606511 +vt 0.423730 0.507532 +vt 0.426810 0.591948 +vt 0.443618 0.517508 +vt 0.423730 0.507532 +vt 0.442740 0.606511 +vt 0.535940 0.502427 +vt 0.535240 0.586430 +vt 0.556028 0.577991 +vt 0.516860 0.510893 +vt 0.535240 0.586430 +vt 0.535940 0.502427 +vt 0.557794 0.635372 +vt 0.578919 0.652931 +vt 0.577404 0.633226 +vt 0.557007 0.658329 +vt 0.578919 0.652931 +vt 0.557794 0.635372 +vt 0.514017 0.598439 +vt 0.535240 0.586430 +vt 0.516860 0.510893 +vt 0.513704 0.617600 +vt 0.512910 0.638265 +vt 0.533953 0.616475 +vt 0.446090 0.445702 +vt 0.422541 0.467178 +vt 0.423631 0.426455 +vt 0.443198 0.481351 +vt 0.458217 0.460229 +vt 0.455570 0.490020 +vt 0.470195 0.468469 +vt 0.470096 0.496915 +vt 0.482251 0.462994 +vt 0.484805 0.492531 +vt 0.496320 0.446794 +vt 0.499606 0.481984 +vt 0.515581 0.429359 +vt 0.517416 0.470969 +vt 0.534437 0.414919 +vt 0.535477 0.462773 +vt 0.549828 0.460347 +vt 0.565723 0.459997 +vt 0.582239 0.459707 +vt 0.551367 0.502011 +vt 0.535477 0.462773 +vt 0.535940 0.502427 +vt 0.549828 0.460347 +vt 0.535477 0.462773 +vt 0.551367 0.502011 +vt 0.565723 0.459997 +vt 0.549828 0.460347 +vt 0.551367 0.502011 +vt 0.565575 0.412763 +vt 0.549828 0.460347 +vt 0.565723 0.459997 +vt 0.582054 0.411298 +vt 0.565723 0.459997 +vt 0.596002 0.461873 +vt 0.596317 0.413613 +vt 0.582239 0.459707 +vt 0.565723 0.459997 +vt 0.582239 0.459707 +vt 0.566101 0.498200 +vt 0.582239 0.459707 +vt 0.565723 0.459997 +vt 0.551367 0.502011 +vt 0.566101 0.498200 +vt 0.565723 0.459997 +vt 0.422541 0.467178 +vt 0.446090 0.445702 +vt 0.423631 0.426455 +vt 0.443198 0.481351 +vt 0.446090 0.445702 +vt 0.422541 0.467178 +vt 0.423730 0.507532 +vt 0.443198 0.481351 +vt 0.422541 0.467178 +vt 0.443618 0.517508 +vt 0.443198 0.481351 +vt 0.423730 0.507532 +vt 0.443198 0.481351 +vt 0.458217 0.460229 +vt 0.446090 0.445702 +vt 0.455570 0.490020 +vt 0.458217 0.460229 +vt 0.443198 0.481351 +vt 0.443618 0.517508 +vt 0.455570 0.490020 +vt 0.443198 0.481351 +vt 0.457631 0.524679 +vt 0.455570 0.490020 +vt 0.443618 0.517508 +vt 0.455570 0.490020 +vt 0.470195 0.468469 +vt 0.458217 0.460229 +vt 0.470096 0.496915 +vt 0.470195 0.468469 +vt 0.455570 0.490020 +vt 0.457631 0.524679 +vt 0.470096 0.496915 +vt 0.455570 0.490020 +vt 0.470124 0.528923 +vt 0.470096 0.496915 +vt 0.457631 0.524679 +vt 0.470096 0.496915 +vt 0.482251 0.462994 +vt 0.470195 0.468469 +vt 0.484805 0.492531 +vt 0.482251 0.462994 +vt 0.470096 0.496915 +vt 0.470124 0.528923 +vt 0.484805 0.492531 +vt 0.470096 0.496915 +vt 0.482143 0.524840 +vt 0.484805 0.492531 +vt 0.470124 0.528923 +vt 0.484805 0.492531 +vt 0.496320 0.446794 +vt 0.482251 0.462994 +vt 0.499606 0.481984 +vt 0.496320 0.446794 +vt 0.484805 0.492531 +vt 0.482143 0.524840 +vt 0.499606 0.481984 +vt 0.484805 0.492531 +vt 0.498110 0.517702 +vt 0.499606 0.481984 +vt 0.482143 0.524840 +vt 0.499606 0.481984 +vt 0.515581 0.429359 +vt 0.496320 0.446794 +vt 0.517416 0.470969 +vt 0.515581 0.429359 +vt 0.499606 0.481984 +vt 0.498110 0.517702 +vt 0.517416 0.470969 +vt 0.499606 0.481984 +vt 0.516860 0.510893 +vt 0.517416 0.470969 +vt 0.498110 0.517702 +vt 0.517416 0.470969 +vt 0.534437 0.414919 +vt 0.515581 0.429359 +vt 0.535477 0.462773 +vt 0.534437 0.414919 +vt 0.517416 0.470969 +vt 0.516860 0.510893 +vt 0.535477 0.462773 +vt 0.517416 0.470969 +vt 0.535940 0.502427 +vt 0.535477 0.462773 +vt 0.516860 0.510893 +vt 0.620328 0.467178 +vt 0.597884 0.502100 +vt 0.620328 0.507532 +vt 0.597884 0.502100 +vt 0.620328 0.426455 +vt 0.582054 0.411298 +vt 0.596002 0.461873 +vt 0.582054 0.411298 +vt 0.596317 0.413613 +vt 0.596002 0.461873 +vt 0.582054 0.411298 +vt 0.620328 0.426455 +vt 0.596002 0.461873 +vt 0.596317 0.413613 +vt 0.620328 0.467178 +vt 0.596002 0.461873 +vt 0.620328 0.426455 +vt 0.596002 0.461873 +vt 0.620328 0.467178 +vt 0.620328 0.467178 +vt 0.468434 0.384538 +vt 0.479850 0.384369 +vt 0.477465 0.405845 +vt 0.478959 0.361184 +vt 0.475594 0.341355 +vt 0.468434 0.332407 +vt 0.475594 0.341355 +vt 0.478959 0.361184 +vt 0.475594 0.341355 +vt 0.468434 0.384538 +vt 0.475594 0.341355 +vt 0.478959 0.361184 +vt 0.468434 0.332407 +vt 0.475594 0.341355 +vt 0.468434 0.384538 +vt 0.475594 0.341355 +vt 0.468434 0.332407 +vt 0.468434 0.384538 +vt 0.549808 0.412206 +vt 0.549828 0.460347 +vt 0.534437 0.414919 +vt 0.549828 0.460347 +vt 0.580599 0.501772 +vt 0.582239 0.459707 +vt 0.566101 0.498200 +vt 0.597884 0.502100 +vt 0.582239 0.459707 +vt 0.580599 0.501772 +vt 0.549808 0.412206 +vt 0.565575 0.412763 +vt 0.549808 0.412206 +vt 0.565575 0.412763 +vt 0.582054 0.411298 +vt 0.565575 0.412763 +vt 0.473282 0.418990 +vt 0.468434 0.425132 +vt 0.473282 0.418990 +vt 0.477465 0.405845 +vt 0.473282 0.418990 +vt 0.479891 0.384006 +vt 0.478959 0.361184 +vt 0.477465 0.405845 +vt 0.479891 0.384006 +vt 0.468434 0.384538 +vt 0.478959 0.361184 +vt 0.477465 0.405845 +vt 0.468434 0.384538 +vt 0.479891 0.384006 +vt 0.473282 0.418990 +vt 0.468434 0.384538 +vt 0.477465 0.405845 +vt 0.468434 0.425132 +vt 0.468434 0.384538 +vt 0.473282 0.418990 +vt 0.473282 0.418990 +vt 0.468434 0.384538 +vt 0.468434 0.425132 +vt 0.477465 0.405845 +vt 0.468434 0.384538 +vt 0.473282 0.418990 +vt 0.479850 0.384369 +vt 0.468434 0.384538 +vt 0.477465 0.405845 +vt 0.478959 0.361184 +vt 0.468434 0.384538 +vt 0.479850 0.384369 +vt 0.582239 0.459707 +vt 0.597884 0.502100 +vt 0.535477 0.462773 +vt 0.549828 0.460347 +vt 0.534437 0.414919 +vt 0.596002 0.461873 +vt 0.475594 0.341355 +vt 0.468434 0.384538 +vt 0.478959 0.361184 +vt 0.426256 0.233986 +vt 0.453144 0.280467 +vt 0.453886 0.239649 +vt 0.453144 0.280467 +vt 0.479491 0.288208 +vt 0.453144 0.280467 +vt 0.481420 0.254523 +vt 0.479491 0.288208 +vt 0.505772 0.300700 +vt 0.479491 0.288208 +vt 0.507086 0.269863 +vt 0.505772 0.300700 +vt 0.522966 0.290967 +vt 0.505772 0.300700 +vt 0.541952 0.277895 +vt 0.550751 0.304375 +vt 0.573917 0.301305 +vt 0.572347 0.321364 +vt 0.471652 0.297038 +vt 0.453886 0.239649 +vt 0.453886 0.239649 +vt 0.453886 0.239649 +vt 0.630485 0.919398 +vt 0.624386 0.919398 +vt 0.630485 0.941277 +vt 0.624386 0.895871 +vt 0.630485 0.895945 +vt 0.624386 0.884597 +vt 0.630436 0.884597 +vt 0.624386 0.853875 +vt 0.630436 0.853875 +vt 0.624386 0.804517 +vt 0.630436 0.796609 +vt 0.630436 0.796609 +vt 0.570669 0.241278 +vt 0.596584 0.281643 +vt 0.594589 0.246615 +vt 0.572253 0.276883 +vt 0.570669 0.241278 +vt 0.541952 0.277895 +vt 0.570669 0.241278 +vt 0.573917 0.301305 +vt 0.541952 0.277895 +vt 0.550751 0.304375 +vt 0.573917 0.301305 +vt 0.541952 0.277895 +vt 0.572347 0.321364 +vt 0.573917 0.301305 +vt 0.550751 0.304375 +vt 0.553702 0.325976 +vt 0.572347 0.321364 +vt 0.550751 0.304375 +vt 0.481420 0.254523 +vt 0.483528 0.202332 +vt 0.452050 0.182469 +vt 0.507086 0.269863 +vt 0.483528 0.202332 +vt 0.481420 0.254523 +vt 0.507086 0.269863 +vt 0.481420 0.254523 +vt 0.522966 0.290967 +vt 0.507086 0.269863 +vt 0.527686 0.310423 +vt 0.522966 0.290967 +vt 0.550751 0.304375 +vt 0.522966 0.290967 +vt 0.550751 0.304375 +vt 0.596584 0.281643 +vt 0.594589 0.246615 +vt 0.572253 0.276883 +vt 0.596584 0.281643 +vt 0.597849 0.306938 +vt 0.572253 0.276883 +vt 0.596584 0.281643 +vt 0.572253 0.276883 +vt 0.597849 0.306938 +vt 0.595604 0.330836 +vt 0.597849 0.306938 +vt 0.595604 0.330836 +vt 0.624386 0.804517 +vt 0.624386 0.796657 +vt 0.630436 0.853875 +vt 0.624386 0.804517 +vt 0.630436 0.853875 +vt 0.654860 0.853875 +vt 0.630436 0.853875 +vt 0.659269 0.853868 +vt 0.553702 0.325976 +vt 0.527686 0.310423 +vt 0.553702 0.325976 +vt 0.534533 0.330762 +vt 0.527686 0.310423 +vt 0.553702 0.325976 +vt 0.508917 0.322771 +vt 0.527686 0.310423 +vt 0.510266 0.352896 +vt 0.493142 0.396674 +vt 0.654860 0.884597 +vt 0.642552 0.924850 +vt 0.654860 0.853875 +vt 0.654860 0.796609 +vt 0.654860 0.853875 +vt 0.659269 0.799916 +vt 0.654860 0.796609 +vt 0.654860 0.853875 +vt 0.527686 0.310423 +vt 0.505772 0.300700 +vt 0.527686 0.310423 +vt 0.505772 0.300700 +vt 0.527686 0.310423 +vt 0.491183 0.352112 +vt 0.505772 0.300700 +vt 0.491183 0.352112 +vt 0.630436 0.853875 +vt 0.624386 0.853875 +vt 0.624386 0.804517 +vt 0.630436 0.884597 +vt 0.624386 0.853875 +vt 0.630436 0.853875 +vt 0.654860 0.884597 +vt 0.630436 0.884597 +vt 0.630436 0.853875 +vt 0.642552 0.924850 +vt 0.630436 0.884597 +vt 0.654860 0.884597 +vt 0.650343 0.941317 +vt 0.636283 0.961189 +vt 0.636283 0.941317 +vt 0.650343 0.961189 +vt 0.663103 0.941317 +vt 0.663103 0.961189 +vt 0.446075 0.416804 +vt 0.454546 0.423452 +vt 0.426256 0.409778 +vt 0.648516 0.942432 +vt 0.664777 0.962304 +vt 0.664777 0.942432 +vt 0.648516 0.962304 +vt 0.453886 0.239649 +vt 0.452050 0.182469 +vt 0.481420 0.254523 +vt 0.452050 0.182469 +vt 0.453886 0.239649 +vt 0.481420 0.254523 +vt 0.453886 0.239649 +vt 0.481420 0.254523 +vt 0.541952 0.277895 +vt 0.522966 0.290967 +vt 0.550751 0.304375 +vt 0.507086 0.269863 +vt 0.522966 0.290967 +vt 0.541952 0.277895 +vt 0.540475 0.233672 +vt 0.507086 0.269863 +vt 0.541952 0.277895 +vt 0.508912 0.220005 +vt 0.507086 0.269863 +vt 0.540475 0.233672 +vt 0.534533 0.330762 +vt 0.508917 0.322771 +vt 0.534533 0.330762 +vt 0.508917 0.322771 +vt 0.508917 0.322771 +vt 0.573917 0.301305 +vt 0.471652 0.297038 +vt 0.479491 0.288208 +vt 0.488521 0.324298 +vt 0.453144 0.280467 +vt 0.479491 0.288208 +vt 0.471652 0.297038 +vt 0.459285 0.324689 +vt 0.453144 0.280467 +vt 0.471652 0.297038 +vt 0.508917 0.322771 +vt 0.510266 0.352896 +vt 0.534533 0.330762 +vt 0.493142 0.396674 +vt 0.510266 0.352896 +vt 0.508917 0.322771 +vt 0.493142 0.396674 +vt 0.508917 0.322771 +vt 0.630807 0.942432 +vt 0.648516 0.962304 +vt 0.630807 0.962304 +vt 0.648516 0.942432 +vt 0.648516 0.962304 +vt 0.630807 0.942432 +vt 0.664347 0.941543 +vt 0.649290 0.961415 +vt 0.664347 0.961415 +vt 0.649290 0.941543 +vt 0.445916 0.362586 +vt 0.446075 0.416804 +vt 0.445916 0.362586 +vt 0.659269 0.884732 +vt 0.654860 0.884597 +vt 0.659269 0.884732 +vt 0.654860 0.853875 +vt 0.659269 0.853868 +vt 0.654860 0.853875 +vt 0.659269 0.884732 +vt 0.624386 0.919398 +vt 0.630485 0.919398 +vt 0.630485 0.941277 +vt 0.624386 0.895871 +vt 0.630485 0.919398 +vt 0.624386 0.919398 +vt 0.612342 0.941543 +vt 0.625237 0.961415 +vt 0.625237 0.941543 +vt 0.612342 0.961415 +vt 0.630436 0.884597 +vt 0.624386 0.884597 +vt 0.624386 0.853875 +vt 0.630485 0.895945 +vt 0.624386 0.884597 +vt 0.630436 0.884597 +vt 0.664393 0.961415 +vt 0.653570 0.941543 +vt 0.653570 0.961415 +vt 0.664393 0.941543 +vt 0.649290 0.961415 +vt 0.664347 0.941543 +vt 0.664347 0.961415 +vt 0.649290 0.941543 +vt 0.664347 0.941543 +vt 0.649290 0.961415 +vt 0.572253 0.276883 +vt 0.572253 0.276883 +vt 0.454450 0.370942 +vt 0.446075 0.416804 +vt 0.454546 0.423452 +vt 0.445916 0.362586 +vt 0.446075 0.416804 +vt 0.454450 0.370942 +vt 0.664777 0.962304 +vt 0.648516 0.942432 +vt 0.664777 0.942432 +vt 0.648516 0.962304 +vt 0.648516 0.942432 +vt 0.664777 0.962304 +vt 0.663103 0.941317 +vt 0.650343 0.961189 +vt 0.663103 0.961189 +vt 0.650343 0.941317 +vt 0.650343 0.961189 +vt 0.663103 0.941317 +vt 0.573917 0.301305 +vt 0.572347 0.321364 +vt 0.573917 0.301305 +vt 0.624386 0.895871 +vt 0.630485 0.895945 +vt 0.630485 0.919398 +vt 0.624386 0.884597 +vt 0.630485 0.895945 +vt 0.624386 0.895871 +vt 0.650343 0.941317 +vt 0.650343 0.961189 +vt 0.650343 0.941317 +vt 0.625237 0.961415 +vt 0.612342 0.941543 +vt 0.625237 0.941543 +vt 0.612342 0.961415 +vt 0.612342 0.941543 +vt 0.625237 0.961415 +vt 0.653570 0.941543 +vt 0.664393 0.961415 +vt 0.653570 0.961415 +vt 0.664393 0.941543 +vt 0.664393 0.961415 +vt 0.653570 0.941543 +vt 0.596584 0.281643 +vt 0.617467 0.330827 +vt 0.597849 0.306938 +vt 0.617302 0.291098 +vt 0.617467 0.330827 +vt 0.596584 0.281643 +vt 0.659269 0.799916 +vt 0.654860 0.853875 +vt 0.659269 0.853868 +vt 0.630436 0.796609 +vt 0.654860 0.796609 +vt 0.654860 0.884597 +vt 0.630436 0.853875 +vt 0.507086 0.269863 +vt 0.508912 0.220005 +vt 0.483528 0.202332 +vt 0.540475 0.233672 +vt 0.541952 0.277895 +vt 0.570669 0.241278 +vt 0.616496 0.252425 +vt 0.644706 0.256471 +vt 0.664587 0.256373 +vt 0.644706 0.256471 +vt 0.642124 0.216241 +vt 0.644706 0.256471 +vt 0.616668 0.212044 +vt 0.642124 0.216241 +vt 0.644706 0.256471 +vt 0.571578 0.198787 +vt 0.570669 0.241278 +vt 0.595105 0.205690 +vt 0.571578 0.198787 +vt 0.595105 0.205690 +vt 0.595105 0.205690 +vt 0.645717 0.294420 +vt 0.644706 0.256471 +vt 0.616496 0.252425 +vt 0.644706 0.256471 +vt 0.645717 0.294420 +vt 0.617302 0.291098 +vt 0.616496 0.252425 +vt 0.645717 0.294420 +vt 0.594589 0.246615 +vt 0.616496 0.252425 +vt 0.617302 0.291098 +vt 0.596584 0.281643 +vt 0.594589 0.246615 +vt 0.617302 0.291098 +vt 0.616496 0.252425 +vt 0.616668 0.212044 +vt 0.644706 0.256471 +vt 0.616668 0.212044 +vt 0.616496 0.252425 +vt 0.594589 0.246615 +vt 0.616496 0.252425 +vt 0.645717 0.294420 +vt 0.594589 0.246615 +vt 0.594589 0.246615 +vt 0.345330 0.899507 +vt 0.339095 0.910081 +vt 0.341032 0.892127 +vt 0.343345 0.927534 +vt 0.360639 0.926249 +vt 0.346122 0.954420 +vt 0.360639 0.926249 +vt 0.352778 0.973484 +vt 0.360639 0.926249 +vt 0.345956 0.977097 +vt 0.352778 0.973484 +vt 0.350682 0.987730 +vt 0.352778 0.973484 +vt 0.352778 0.973484 +vt 0.356131 0.993947 +vt 0.350682 0.987730 +vt 0.361500 0.980122 +vt 0.356131 0.993947 +vt 0.352778 0.973484 +vt 0.360639 0.926249 +vt 0.361500 0.980122 +vt 0.352778 0.973484 +vt 0.370030 0.972687 +vt 0.361500 0.980122 +vt 0.360639 0.926249 +vt 0.376186 0.952870 +vt 0.370030 0.972687 +vt 0.360639 0.926249 +vt 0.377257 0.975165 +vt 0.370030 0.972687 +vt 0.376186 0.952870 +vt 0.380759 0.960802 +vt 0.377257 0.975165 +vt 0.376186 0.952870 +vt 0.376186 0.952870 +vt 0.382860 0.943681 +vt 0.380759 0.960802 +vt 0.378371 0.925378 +vt 0.382860 0.943681 +vt 0.376186 0.952870 +vt 0.360639 0.926249 +vt 0.378371 0.925378 +vt 0.376186 0.952870 +vt 0.375780 0.897365 +vt 0.378371 0.925378 +vt 0.360639 0.926249 +vt 0.368910 0.876776 +vt 0.375780 0.897365 +vt 0.360639 0.926249 +vt 0.376138 0.873873 +vt 0.375780 0.897365 +vt 0.368910 0.876776 +vt 0.361500 0.980122 +vt 0.361862 0.996115 +vt 0.356131 0.993947 +vt 0.367525 0.993289 +vt 0.361862 0.996115 +vt 0.361500 0.980122 +vt 0.370030 0.972687 +vt 0.367525 0.993289 +vt 0.361500 0.980122 +vt 0.372808 0.986422 +vt 0.367525 0.993289 +vt 0.370030 0.972687 +vt 0.377257 0.975165 +vt 0.372808 0.986422 +vt 0.370030 0.972687 +vt 0.378371 0.925378 +vt 0.383673 0.925173 +vt 0.382860 0.943681 +vt 0.382591 0.906491 +vt 0.378371 0.925378 +vt 0.375780 0.897365 +vt 0.378371 0.925378 +vt 0.380056 0.888836 +vt 0.375780 0.897365 +vt 0.376138 0.873873 +vt 0.375780 0.897365 +vt 0.344320 0.876514 +vt 0.351380 0.878048 +vt 0.344320 0.876514 +vt 0.348695 0.863959 +vt 0.351380 0.878048 +vt 0.344320 0.876514 +vt 0.354023 0.856166 +vt 0.351380 0.878048 +vt 0.348695 0.863959 +vt 0.351380 0.878048 +vt 0.360639 0.926249 +vt 0.359976 0.869622 +vt 0.360639 0.926249 +vt 0.351380 0.878048 +vt 0.354023 0.856166 +vt 0.359976 0.869622 +vt 0.351380 0.878048 +vt 0.359809 0.852883 +vt 0.359976 0.869622 +vt 0.354023 0.856166 +vt 0.365695 0.855248 +vt 0.359976 0.869622 +vt 0.368910 0.876776 +vt 0.359976 0.869622 +vt 0.365695 0.855248 +vt 0.371296 0.862137 +vt 0.368910 0.876776 +vt 0.365695 0.855248 +vt 0.376138 0.873873 +vt 0.368910 0.876776 +vt 0.371296 0.862137 +vt 0.342124 0.963339 +vt 0.339662 0.946763 +vt 0.342124 0.963339 +vt 0.339662 0.946763 +vt 0.338526 0.928680 +vt 0.339662 0.946763 +vt 0.338526 0.928680 +vt 0.359976 0.869622 +vt 0.368910 0.876776 +vt 0.360639 0.926249 +vt 0.827807 0.286028 +vt 0.823919 0.157147 +vt 0.862756 0.183227 +vt 0.788476 0.283421 +vt 0.789138 0.390362 +vt 0.755334 0.397635 +vt 0.788120 0.497298 +vt 0.751641 0.503802 +vt 0.760338 0.678072 +vt 0.829499 0.393381 +vt 0.831191 0.500740 +vt 0.876563 0.507363 +vt 0.831083 0.708298 +vt 0.874898 0.710721 +vt 0.876579 0.819640 +vt 0.900982 0.704927 +vt 0.873908 0.405011 +vt 0.897501 0.314156 +vt 0.901569 0.414794 +vt 0.871252 0.302666 +vt 0.894788 0.247060 +vt 0.905637 0.515438 +vt 0.788329 0.690006 +vt 0.789314 0.800362 +vt 0.762613 0.282678 +vt 0.772466 0.216986 +vt 0.785293 0.166593 +vt 0.835200 0.842853 +vt 0.827807 0.286028 +vt 0.862756 0.183227 +vt 0.823919 0.157147 +vt 0.788476 0.283421 +vt 0.789138 0.390362 +vt 0.755334 0.397635 +vt 0.788120 0.497298 +vt 0.751641 0.503802 +vt 0.760338 0.678072 +vt 0.829499 0.393381 +vt 0.831191 0.500740 +vt 0.876563 0.507363 +vt 0.831083 0.708298 +vt 0.874898 0.710721 +vt 0.876579 0.819640 +vt 0.900982 0.704927 +vt 0.873908 0.405011 +vt 0.901569 0.414794 +vt 0.897501 0.314156 +vt 0.871252 0.302666 +vt 0.894788 0.247060 +vt 0.905637 0.515438 +vt 0.788329 0.690006 +vt 0.789314 0.800362 +vt 0.762613 0.282678 +vt 0.772466 0.216986 +vt 0.785293 0.166593 +vt 0.835200 0.842853 +vn -0.982749 -0.171056 -0.070321 +vn -0.999526 -0.026369 0.015908 +vn -0.994374 0.063245 0.084975 +vn -0.803762 -0.256928 -0.536614 +vn -0.999526 -0.026369 0.015908 +vn -0.982749 -0.171056 -0.070321 +vn -0.533529 -0.428361 -0.729283 +vn -0.803762 -0.256928 -0.536614 +vn -0.982749 -0.171056 -0.070321 +vn -0.785662 -0.093554 -0.611541 +vn -0.803762 -0.256928 -0.536614 +vn -0.533529 -0.428361 -0.729283 +vn 0.670793 -0.428609 -0.605253 +vn -0.785662 -0.093554 -0.611541 +vn -0.533529 -0.428361 -0.729283 +vn 0.793827 -0.482879 -0.369685 +vn -0.785662 -0.093554 -0.611541 +vn 0.670793 -0.428609 -0.605253 +vn 0.940069 -0.187917 0.284532 +vn 0.793827 -0.482879 -0.369685 +vn 0.670793 -0.428609 -0.605253 +vn 0.855610 -0.384557 0.346478 +vn 0.793827 -0.482879 -0.369685 +vn 0.940069 -0.187917 0.284532 +vn -0.659042 -0.134526 0.739977 +vn 0.855610 -0.384557 0.346478 +vn 0.940069 -0.187917 0.284532 +vn 0.721944 -0.665072 0.190986 +vn 0.855610 -0.384557 0.346478 +vn -0.659042 -0.134526 0.739977 +vn -0.767470 -0.535473 0.352504 +vn 0.721944 -0.665072 0.190986 +vn -0.659042 -0.134526 0.739977 +vn -0.033758 -0.967654 -0.250012 +vn 0.721944 -0.665072 0.190986 +vn -0.767470 -0.535473 0.352504 +vn -0.892630 -0.410773 -0.185678 +vn -0.033758 -0.967654 -0.250012 +vn -0.767470 -0.535473 0.352504 +vn -0.842026 -0.155902 -0.516417 +vn -0.033758 -0.967654 -0.250012 +vn -0.892630 -0.410773 -0.185678 +vn -0.985871 0.156537 0.059623 +vn -0.842026 -0.155902 -0.516417 +vn -0.892630 -0.410773 -0.185678 +vn -0.995141 0.096229 0.020838 +vn -0.842026 -0.155902 -0.516417 +vn -0.985871 0.156537 0.059623 +vn -0.516686 0.344284 0.783903 +vn -0.995141 0.096229 0.020838 +vn -0.985871 0.156537 0.059623 +vn -0.890603 0.065525 0.450037 +vn -0.995141 0.096229 0.020838 +vn -0.516686 0.344284 0.783903 +vn 0.979337 -0.183611 -0.084771 +vn -0.890603 0.065525 0.450037 +vn -0.516686 0.344284 0.783903 +vn 0.266049 -0.884584 -0.383052 +vn -0.890603 0.065525 0.450037 +vn 0.979337 -0.183611 -0.084771 +vn 0.615010 -0.763782 0.195958 +vn 0.266049 -0.884584 -0.383052 +vn 0.979337 -0.183611 -0.084771 +vn -0.671385 -0.602650 0.431341 +vn 0.266049 -0.884584 -0.383052 +vn 0.615010 -0.763782 0.195958 +vn -0.566938 -0.119393 0.815063 +vn -0.671385 -0.602650 0.431341 +vn 0.615010 -0.763782 0.195958 +vn -0.940465 0.005938 0.339840 +vn -0.671385 -0.602650 0.431341 +vn -0.566938 -0.119393 0.815063 +vn -0.599129 0.392244 0.697989 +vn -0.940465 0.005938 0.339840 +vn -0.566938 -0.119393 0.815063 +vn -0.671907 0.304445 0.675170 +vn -0.940465 0.005938 0.339840 +vn -0.599129 0.392244 0.697989 +vn 0.964186 0.238077 0.116898 +vn -0.671907 0.304445 0.675170 +vn -0.599129 0.392244 0.697989 +vn 0.750933 0.505529 0.424901 +vn -0.671907 0.304445 0.675170 +vn 0.964186 0.238077 0.116898 +vn 0.979337 -0.183611 -0.084771 +vn 0.750933 0.505529 0.424901 +vn 0.964186 0.238077 0.116898 +vn 0.999526 -0.026370 0.015908 +vn 0.982748 -0.171057 -0.070322 +vn 0.994374 0.063248 0.084975 +vn 0.803761 -0.256930 -0.536614 +vn 0.982748 -0.171057 -0.070322 +vn 0.999526 -0.026370 0.015908 +vn 0.998345 -0.021195 -0.053469 +vn 0.803761 -0.256930 -0.536614 +vn 0.999526 -0.026370 0.015908 +vn 0.995141 0.096229 0.020836 +vn 0.803761 -0.256930 -0.536614 +vn 0.998345 -0.021195 -0.053469 +vn 0.985675 0.018259 0.167664 +vn 0.995141 0.096229 0.020836 +vn 0.998345 -0.021195 -0.053469 +vn 0.890604 0.065526 0.450034 +vn 0.995141 0.096229 0.020836 +vn 0.985675 0.018259 0.167664 +vn 0.940464 0.005940 0.339842 +vn 0.890604 0.065526 0.450034 +vn 0.985675 0.018259 0.167664 +vn 0.736582 -0.676293 0.008655 +vn 0.890604 0.065526 0.450034 +vn 0.940464 0.005940 0.339842 +vn 0.671388 -0.602657 0.431326 +vn 0.736582 -0.676293 0.008655 +vn 0.940464 0.005940 0.339842 +vn -0.266048 -0.884584 -0.383053 +vn 0.736582 -0.676293 0.008655 +vn 0.671388 -0.602657 0.431326 +vn -0.615018 -0.763780 0.195942 +vn -0.266048 -0.884584 -0.383053 +vn 0.671388 -0.602657 0.431326 +vn -0.979338 -0.183606 -0.084771 +vn -0.266048 -0.884584 -0.383053 +vn -0.615018 -0.763780 0.195942 +vn -0.939870 -0.176226 0.292557 +vn -0.979338 -0.183606 -0.084771 +vn -0.615018 -0.763780 0.195942 +vn -0.964186 0.238077 0.116899 +vn -0.979338 -0.183606 -0.084771 +vn -0.939870 -0.176226 0.292557 +vn 0.566936 -0.119399 0.815063 +vn -0.964186 0.238077 0.116899 +vn -0.939870 -0.176226 0.292557 +vn 0.599130 0.392237 0.697992 +vn -0.964186 0.238077 0.116899 +vn 0.566936 -0.119399 0.815063 +vn 0.940464 0.005940 0.339842 +vn 0.599130 0.392237 0.697992 +vn 0.566936 -0.119399 0.815063 +vn 0.671907 0.304445 0.675169 +vn 0.599130 0.392237 0.697992 +vn 0.940464 0.005940 0.339842 +vn 0.927189 0.116145 0.356133 +vn 0.671907 0.304445 0.675169 +vn 0.940464 0.005940 0.339842 +vn 0.719359 0.095808 0.688000 +vn 0.671907 0.304445 0.675169 +vn 0.927189 0.116145 0.356133 +vn 0.960011 0.060957 0.273245 +vn 0.719359 0.095808 0.688000 +vn 0.927189 0.116145 0.356133 +vn 0.973140 0.025224 0.228828 +vn 0.719359 0.095808 0.688000 +vn 0.960011 0.060957 0.273245 +vn 0.999526 -0.026370 0.015908 +vn 0.973140 0.025224 0.228828 +vn 0.960011 0.060957 0.273245 +vn 0.994374 0.063248 0.084975 +vn 0.973140 0.025224 0.228828 +vn 0.999526 -0.026370 0.015908 +vn 0.803761 -0.256930 -0.536614 +vn 0.533529 -0.428364 -0.729281 +vn 0.982748 -0.171057 -0.070322 +vn 0.785662 -0.093553 -0.611541 +vn 0.533529 -0.428364 -0.729281 +vn 0.803761 -0.256930 -0.536614 +vn 0.995141 0.096229 0.020836 +vn 0.785662 -0.093553 -0.611541 +vn 0.803761 -0.256930 -0.536614 +vn 0.842027 -0.155902 -0.516416 +vn 0.785662 -0.093553 -0.611541 +vn 0.995141 0.096229 0.020836 +vn 0.985871 0.156537 0.059619 +vn 0.842027 -0.155902 -0.516416 +vn 0.995141 0.096229 0.020836 +vn 0.892629 -0.410775 -0.185680 +vn 0.842027 -0.155902 -0.516416 +vn 0.985871 0.156537 0.059619 +vn 0.767464 -0.535473 0.352517 +vn 0.892629 -0.410775 -0.185680 +vn 0.985871 0.156537 0.059619 +vn -0.482561 -0.859416 -0.168933 +vn 0.892629 -0.410775 -0.185680 +vn 0.767464 -0.535473 0.352517 +vn -0.245310 -0.922104 0.299245 +vn -0.482561 -0.859416 -0.168933 +vn 0.767464 -0.535473 0.352517 +vn -0.830711 -0.429922 0.353675 +vn -0.482561 -0.859416 -0.168933 +vn -0.245310 -0.922104 0.299245 +vn 0.659044 -0.134515 0.739978 +vn -0.830711 -0.429922 0.353675 +vn -0.245310 -0.922104 0.299245 +vn -0.940070 -0.187916 0.284528 +vn -0.830711 -0.429922 0.353675 +vn 0.659044 -0.134515 0.739978 +vn 0.516682 0.344289 0.783903 +vn -0.940070 -0.187916 0.284528 +vn 0.659044 -0.134515 0.739978 +vn -0.979338 -0.183606 -0.084771 +vn -0.940070 -0.187916 0.284528 +vn 0.516682 0.344289 0.783903 +vn 0.890604 0.065526 0.450034 +vn -0.979338 -0.183606 -0.084771 +vn 0.516682 0.344289 0.783903 +vn -0.266048 -0.884584 -0.383053 +vn -0.979338 -0.183606 -0.084771 +vn 0.890604 0.065526 0.450034 +vn 0.736582 -0.676293 0.008655 +vn -0.266048 -0.884584 -0.383053 +vn 0.890604 0.065526 0.450034 +vn 0.041213 -0.987681 -0.150958 +vn -0.000001 -0.946260 -0.323407 +vn -0.041212 -0.987681 -0.150957 +vn 0.501147 -0.716599 -0.485116 +vn -0.000001 -0.946260 -0.323407 +vn 0.041213 -0.987681 -0.150958 +vn -0.178110 -0.954125 -0.240671 +vn 0.501147 -0.716599 -0.485116 +vn 0.041213 -0.987681 -0.150958 +vn -0.269304 -0.369849 -0.889206 +vn 0.501147 -0.716599 -0.485116 +vn -0.178110 -0.954125 -0.240671 +vn -0.782868 -0.612231 -0.110863 +vn -0.269304 -0.369849 -0.889206 +vn -0.178110 -0.954125 -0.240671 +vn -0.900061 0.096460 -0.424955 +vn -0.269304 -0.369849 -0.889206 +vn -0.782868 -0.612231 -0.110863 +vn -0.478708 -0.433444 -0.763521 +vn -0.900061 0.096460 -0.424955 +vn -0.782868 -0.612231 -0.110863 +vn -0.519010 -0.164788 -0.838734 +vn -0.900061 0.096460 -0.424955 +vn -0.478708 -0.433444 -0.763521 +vn -0.470921 -0.164448 -0.866713 +vn -0.519010 -0.164788 -0.838734 +vn -0.478708 -0.433444 -0.763521 +vn -0.637991 -0.220334 -0.737848 +vn -0.519010 -0.164788 -0.838734 +vn -0.470921 -0.164448 -0.866713 +vn -0.830828 -0.161488 -0.532584 +vn -0.637991 -0.220334 -0.737848 +vn -0.470921 -0.164448 -0.866713 +vn -0.887711 -0.053173 -0.457321 +vn -0.637991 -0.220334 -0.737848 +vn -0.830828 -0.161488 -0.532584 +vn -0.949400 -0.207778 -0.235515 +vn -0.887711 -0.053173 -0.457321 +vn -0.830828 -0.161488 -0.532584 +vn -0.963247 -0.022103 -0.267705 +vn -0.887711 -0.053173 -0.457321 +vn -0.949400 -0.207778 -0.235515 +vn -0.311766 -0.947908 -0.065359 +vn -0.178110 -0.954125 -0.240671 +vn 0.041213 -0.987681 -0.150958 +vn -0.782868 -0.612231 -0.110863 +vn -0.178110 -0.954125 -0.240671 +vn -0.311766 -0.947908 -0.065359 +vn -0.412009 -0.899489 -0.145492 +vn -0.782868 -0.612231 -0.110863 +vn -0.311766 -0.947908 -0.065359 +vn -0.478708 -0.433444 -0.763521 +vn -0.782868 -0.612231 -0.110863 +vn -0.412009 -0.899489 -0.145492 +vn 0.198344 -0.673504 -0.712076 +vn -0.478708 -0.433444 -0.763521 +vn -0.412009 -0.899489 -0.145492 +vn 0.174971 0.064737 -0.982443 +vn -0.478708 -0.433444 -0.763521 +vn 0.198344 -0.673504 -0.712076 +vn -0.720875 -0.177023 -0.670077 +vn 0.174971 0.064737 -0.982443 +vn 0.198344 -0.673504 -0.712076 +vn -0.447467 0.651616 -0.612511 +vn 0.174971 0.064737 -0.982443 +vn -0.720875 -0.177023 -0.670077 +vn -0.991679 0.113596 0.060568 +vn -0.447467 0.651616 -0.612511 +vn -0.720875 -0.177023 -0.670077 +vn -0.884241 -0.134293 -0.447307 +vn -0.447467 0.651616 -0.612511 +vn -0.991679 0.113596 0.060568 +vn -0.954339 -0.228653 0.192236 +vn -0.884241 -0.134293 -0.447307 +vn -0.991679 0.113596 0.060568 +vn -0.920496 -0.357096 -0.158652 +vn -0.884241 -0.134293 -0.447307 +vn -0.954339 -0.228653 0.192236 +vn -0.879633 -0.474662 -0.030691 +vn -0.920496 -0.357096 -0.158652 +vn -0.954339 -0.228653 0.192236 +vn -0.000000 0.408295 -0.912850 +vn -0.360173 0.287176 -0.887584 +vn -0.359901 0.495774 -0.790367 +vn 0.000000 0.245609 -0.969369 +vn -0.360173 0.287176 -0.887584 +vn -0.000000 0.408295 -0.912850 +vn 0.360174 0.287176 -0.887584 +vn 0.000000 0.245609 -0.969369 +vn -0.000000 0.408295 -0.912850 +vn 0.339886 -0.019049 -0.940274 +vn 0.000000 0.245609 -0.969369 +vn 0.360174 0.287176 -0.887584 +vn 0.601406 0.330797 -0.727245 +vn 0.339886 -0.019049 -0.940274 +vn 0.360174 0.287176 -0.887584 +vn 0.669191 -0.038826 -0.742076 +vn 0.339886 -0.019049 -0.940274 +vn 0.601406 0.330797 -0.727245 +vn 0.886459 0.157233 -0.435279 +vn 0.669191 -0.038826 -0.742076 +vn 0.601406 0.330797 -0.727245 +vn 0.887711 -0.053174 -0.457321 +vn 0.669191 -0.038826 -0.742076 +vn 0.886459 0.157233 -0.435279 +vn 0.986988 0.030861 -0.157802 +vn 0.887711 -0.053174 -0.457321 +vn 0.886459 0.157233 -0.435279 +vn 0.985621 -0.095168 -0.139619 +vn 0.887711 -0.053174 -0.457321 +vn 0.986988 0.030861 -0.157802 +vn 0.478711 -0.433446 -0.763519 +vn 0.412008 -0.899490 -0.145491 +vn 0.782869 -0.612229 -0.110864 +vn -0.198343 -0.673502 -0.712078 +vn 0.412008 -0.899490 -0.145491 +vn 0.478711 -0.433446 -0.763519 +vn -0.174969 0.064737 -0.982443 +vn -0.198343 -0.673502 -0.712078 +vn 0.478711 -0.433446 -0.763519 +vn 0.720874 -0.177023 -0.670077 +vn -0.198343 -0.673502 -0.712078 +vn -0.174969 0.064737 -0.982443 +vn 0.447468 0.651615 -0.612511 +vn 0.720874 -0.177023 -0.670077 +vn -0.174969 0.064737 -0.982443 +vn 0.991679 0.113595 0.060568 +vn 0.720874 -0.177023 -0.670077 +vn 0.447468 0.651615 -0.612511 +vn 0.884240 -0.134293 -0.447308 +vn 0.991679 0.113595 0.060568 +vn 0.447468 0.651615 -0.612511 +vn 0.954339 -0.228653 0.192237 +vn 0.991679 0.113595 0.060568 +vn 0.884240 -0.134293 -0.447308 +vn 0.920495 -0.357097 -0.158651 +vn 0.954339 -0.228653 0.192237 +vn 0.884240 -0.134293 -0.447308 +vn 0.879632 -0.474663 -0.030691 +vn 0.954339 -0.228653 0.192237 +vn 0.920495 -0.357097 -0.158651 +vn -0.041212 -0.987681 -0.150957 +vn 0.178111 -0.954125 -0.240670 +vn 0.311767 -0.947908 -0.065357 +vn -0.501145 -0.716599 -0.485118 +vn 0.178111 -0.954125 -0.240670 +vn -0.041212 -0.987681 -0.150957 +vn -0.000001 -0.946260 -0.323407 +vn -0.501145 -0.716599 -0.485118 +vn -0.041212 -0.987681 -0.150957 +vn 0.000000 -0.483633 -0.875271 +vn -0.501145 -0.716599 -0.485118 +vn -0.000001 -0.946260 -0.323407 +vn 0.501147 -0.716599 -0.485116 +vn 0.000000 -0.483633 -0.875271 +vn -0.000001 -0.946260 -0.323407 +vn 0.585071 0.016034 -0.810824 +vn 0.000000 -0.483633 -0.875271 +vn 0.501147 -0.716599 -0.485116 +vn -0.269304 -0.369849 -0.889206 +vn 0.585071 0.016034 -0.810824 +vn 0.501147 -0.716599 -0.485116 +vn -0.196860 0.622954 -0.757083 +vn 0.585071 0.016034 -0.810824 +vn -0.269304 -0.369849 -0.889206 +vn -0.900061 0.096460 -0.424955 +vn -0.196860 0.622954 -0.757083 +vn -0.269304 -0.369849 -0.889206 +vn -0.519010 -0.164788 -0.838734 +vn -0.196860 0.622954 -0.757083 +vn -0.900061 0.096460 -0.424955 +vn -0.585071 0.016033 -0.810824 +vn 0.000000 -0.483633 -0.875271 +vn -0.030436 -0.139716 -0.989724 +vn -0.501145 -0.716599 -0.485118 +vn 0.000000 -0.483633 -0.875271 +vn -0.585071 0.016033 -0.810824 +vn 0.269308 -0.369850 -0.889204 +vn -0.501145 -0.716599 -0.485118 +vn -0.585071 0.016033 -0.810824 +vn 0.178111 -0.954125 -0.240670 +vn -0.501145 -0.716599 -0.485118 +vn 0.269308 -0.369850 -0.889204 +vn 0.782869 -0.612229 -0.110864 +vn 0.178111 -0.954125 -0.240670 +vn 0.269308 -0.369850 -0.889204 +vn 0.311767 -0.947908 -0.065357 +vn 0.178111 -0.954125 -0.240670 +vn 0.782869 -0.612229 -0.110864 +vn 0.412008 -0.899490 -0.145491 +vn 0.311767 -0.947908 -0.065357 +vn 0.782869 -0.612229 -0.110864 +vn 0.467459 -0.798313 -0.379709 +vn 0.311767 -0.947908 -0.065357 +vn 0.412008 -0.899490 -0.145491 +vn 0.230986 -0.966671 0.110420 +vn 0.467459 -0.798313 -0.379709 +vn 0.412008 -0.899490 -0.145491 +vn 0.900060 0.096466 -0.424955 +vn 0.782869 -0.612229 -0.110864 +vn 0.269308 -0.369850 -0.889204 +vn 0.478711 -0.433446 -0.763519 +vn 0.782869 -0.612229 -0.110864 +vn 0.900060 0.096466 -0.424955 +vn 0.519007 -0.164788 -0.838735 +vn 0.478711 -0.433446 -0.763519 +vn 0.900060 0.096466 -0.424955 +vn 0.470922 -0.164449 -0.866712 +vn 0.478711 -0.433446 -0.763519 +vn 0.519007 -0.164788 -0.838735 +vn 0.637992 -0.220334 -0.737848 +vn 0.470922 -0.164449 -0.866712 +vn 0.519007 -0.164788 -0.838735 +vn 0.830828 -0.161488 -0.532585 +vn 0.470922 -0.164449 -0.866712 +vn 0.637992 -0.220334 -0.737848 +vn 0.887711 -0.053174 -0.457321 +vn 0.830828 -0.161488 -0.532585 +vn 0.637992 -0.220334 -0.737848 +vn 0.949400 -0.207778 -0.235516 +vn 0.830828 -0.161488 -0.532585 +vn 0.887711 -0.053174 -0.457321 +vn -0.994374 0.063245 0.084975 +vn -0.986224 0.164337 -0.018861 +vn -0.986989 0.030862 -0.157801 +vn -0.968164 0.062104 0.242491 +vn -0.986224 0.164337 -0.018861 +vn -0.994374 0.063245 0.084975 +vn -0.973140 0.025224 0.228827 +vn -0.968164 0.062104 0.242491 +vn -0.994374 0.063245 0.084975 +vn -0.888401 -0.122393 0.442451 +vn -0.968164 0.062104 0.242491 +vn -0.973140 0.025224 0.228827 +vn -0.778982 -0.118055 0.615832 +vn -0.888401 -0.122393 0.442451 +vn -0.973140 0.025224 0.228827 +vn -0.239758 -0.297161 0.924236 +vn -0.888401 -0.122393 0.442451 +vn -0.778982 -0.118055 0.615832 +vn -0.198559 0.129387 0.971511 +vn -0.239758 -0.297161 0.924236 +vn -0.778982 -0.118055 0.615832 +vn 0.968164 0.062104 0.242490 +vn 0.973140 0.025224 0.228828 +vn 0.994374 0.063248 0.084975 +vn 0.888401 -0.122393 0.442451 +vn 0.973140 0.025224 0.228828 +vn 0.968164 0.062104 0.242490 +vn 0.860649 0.034484 0.508030 +vn 0.888401 -0.122393 0.442451 +vn 0.968164 0.062104 0.242490 +vn 0.805486 -0.223678 0.548780 +vn 0.888401 -0.122393 0.442451 +vn 0.860649 0.034484 0.508030 +vn 0.578165 0.003858 0.815911 +vn 0.805486 -0.223678 0.548780 +vn 0.860649 0.034484 0.508030 +vn 0.364797 -0.616185 0.698025 +vn 0.805486 -0.223678 0.548780 +vn 0.578165 0.003858 0.815911 +vn 0.161378 -0.422475 0.891892 +vn 0.364797 -0.616185 0.698025 +vn 0.578165 0.003858 0.815911 +vn -0.842026 -0.155902 -0.516417 +vn 0.793827 -0.482879 -0.369685 +vn -0.033758 -0.967654 -0.250012 +vn -0.785662 -0.093554 -0.611541 +vn 0.793827 -0.482879 -0.369685 +vn -0.842026 -0.155902 -0.516417 +vn -0.995141 0.096229 0.020838 +vn -0.785662 -0.093554 -0.611541 +vn -0.842026 -0.155902 -0.516417 +vn -0.803762 -0.256928 -0.536614 +vn -0.785662 -0.093554 -0.611541 +vn -0.995141 0.096229 0.020838 +vn -0.998345 -0.021193 -0.053469 +vn -0.803762 -0.256928 -0.536614 +vn -0.995141 0.096229 0.020838 +vn -0.999526 -0.026369 0.015908 +vn -0.803762 -0.256928 -0.536614 +vn -0.998345 -0.021193 -0.053469 +vn -0.985675 0.018260 0.167664 +vn -0.999526 -0.026369 0.015908 +vn -0.998345 -0.021193 -0.053469 +vn 0.239771 -0.297152 0.924235 +vn 0.888401 -0.122393 0.442451 +vn 0.380867 -0.657281 0.650325 +vn 0.778983 -0.118054 0.615832 +vn 0.888401 -0.122393 0.442451 +vn 0.239771 -0.297152 0.924235 +vn 0.198553 0.129397 0.971511 +vn 0.778983 -0.118054 0.615832 +vn 0.239771 -0.297152 0.924235 +vn 0.719359 0.095808 0.688000 +vn 0.778983 -0.118054 0.615832 +vn 0.198553 0.129397 0.971511 +vn -0.750936 0.505530 0.424895 +vn 0.719359 0.095808 0.688000 +vn 0.198553 0.129397 0.971511 +vn 0.671907 0.304445 0.675169 +vn 0.719359 0.095808 0.688000 +vn -0.750936 0.505530 0.424895 +vn -0.888401 -0.122393 0.442451 +vn -0.860648 0.034484 0.508032 +vn -0.968164 0.062104 0.242491 +vn -0.805486 -0.223677 0.548782 +vn -0.860648 0.034484 0.508032 +vn -0.888401 -0.122393 0.442451 +vn -0.364796 -0.616184 0.698026 +vn -0.805486 -0.223677 0.548782 +vn -0.888401 -0.122393 0.442451 +vn -0.578165 0.003857 0.815911 +vn -0.805486 -0.223677 0.548782 +vn -0.364796 -0.616184 0.698026 +vn -0.161389 -0.422470 0.891893 +vn -0.578165 0.003857 0.815911 +vn -0.364796 -0.616184 0.698026 +vn -0.475538 0.238218 0.846827 +vn -0.578165 0.003857 0.815911 +vn -0.161389 -0.422470 0.891893 +vn -0.669191 -0.038826 -0.742075 +vn -0.637991 -0.220334 -0.737848 +vn -0.887711 -0.053173 -0.457321 +vn -0.343712 -0.221056 -0.912687 +vn -0.637991 -0.220334 -0.737848 +vn -0.669191 -0.038826 -0.742075 +vn -0.339886 -0.019049 -0.940274 +vn -0.343712 -0.221056 -0.912687 +vn -0.669191 -0.038826 -0.742075 +vn 0.000000 -0.193908 -0.981020 +vn -0.343712 -0.221056 -0.912687 +vn -0.339886 -0.019049 -0.940274 +vn 0.000000 -0.013050 -0.999915 +vn 0.000000 -0.193908 -0.981020 +vn -0.339886 -0.019049 -0.940274 +vn 0.339886 -0.019049 -0.940274 +vn 0.000000 -0.193908 -0.981020 +vn 0.000000 -0.013050 -0.999915 +vn 0.705304 -0.566188 0.426589 +vn 0.954339 -0.228653 0.192237 +vn 0.879632 -0.474663 -0.030691 +vn 0.744177 -0.586468 0.319776 +vn 0.954339 -0.228653 0.192237 +vn 0.705304 -0.566188 0.426589 +vn 0.230986 -0.966671 0.110420 +vn 0.744177 -0.586468 0.319776 +vn 0.705304 -0.566188 0.426589 +vn 0.259480 -0.960362 -0.101856 +vn 0.744177 -0.586468 0.319776 +vn 0.230986 -0.966671 0.110420 +vn 0.412008 -0.899490 -0.145491 +vn 0.259480 -0.960362 -0.101856 +vn 0.230986 -0.966671 0.110420 +vn -0.198343 -0.673502 -0.712078 +vn 0.259480 -0.960362 -0.101856 +vn 0.412008 -0.899490 -0.145491 +vn -0.999526 -0.026369 0.015908 +vn -0.973140 0.025224 0.228827 +vn -0.994374 0.063245 0.084975 +vn -0.960011 0.060956 0.273245 +vn -0.973140 0.025224 0.228827 +vn -0.999526 -0.026369 0.015908 +vn -0.985675 0.018260 0.167664 +vn -0.960011 0.060956 0.273245 +vn -0.999526 -0.026369 0.015908 +vn -0.927188 0.116146 0.356135 +vn -0.960011 0.060956 0.273245 +vn -0.985675 0.018260 0.167664 +vn -0.940465 0.005938 0.339840 +vn -0.927188 0.116146 0.356135 +vn -0.985675 0.018260 0.167664 +vn -0.671907 0.304445 0.675170 +vn -0.927188 0.116146 0.356135 +vn -0.940465 0.005938 0.339840 +vn 0.516682 0.344289 0.783903 +vn 0.995141 0.096229 0.020836 +vn 0.890604 0.065526 0.450034 +vn 0.985871 0.156537 0.059619 +vn 0.995141 0.096229 0.020836 +vn 0.516682 0.344289 0.783903 +vn 0.659044 -0.134515 0.739978 +vn 0.985871 0.156537 0.059619 +vn 0.516682 0.344289 0.783903 +vn 0.767464 -0.535473 0.352517 +vn 0.985871 0.156537 0.059619 +vn 0.659044 -0.134515 0.739978 +vn -0.245310 -0.922104 0.299245 +vn 0.767464 -0.535473 0.352517 +vn 0.659044 -0.134515 0.739978 +vn 0.637992 -0.220334 -0.737848 +vn 0.669191 -0.038826 -0.742076 +vn 0.887711 -0.053174 -0.457321 +vn 0.343712 -0.221055 -0.912687 +vn 0.669191 -0.038826 -0.742076 +vn 0.637992 -0.220334 -0.737848 +vn 0.519007 -0.164788 -0.838735 +vn 0.343712 -0.221055 -0.912687 +vn 0.637992 -0.220334 -0.737848 +vn 0.000000 -0.193908 -0.981020 +vn 0.343712 -0.221055 -0.912687 +vn 0.519007 -0.164788 -0.838735 +vn -0.030436 -0.139716 -0.989724 +vn 0.000000 -0.193908 -0.981020 +vn 0.519007 -0.164788 -0.838735 +vn 0.886459 0.157233 -0.435279 +vn 0.986224 0.164339 -0.018862 +vn 0.986988 0.030861 -0.157802 +vn 0.723259 0.487732 -0.488891 +vn 0.986224 0.164339 -0.018862 +vn 0.886459 0.157233 -0.435279 +vn 0.601406 0.330797 -0.727245 +vn 0.723259 0.487732 -0.488891 +vn 0.886459 0.157233 -0.435279 +vn 0.417608 0.678605 -0.604235 +vn 0.723259 0.487732 -0.488891 +vn 0.601406 0.330797 -0.727245 +vn 0.360174 0.287176 -0.887584 +vn 0.417608 0.678605 -0.604235 +vn 0.601406 0.330797 -0.727245 +vn -0.986989 0.030862 -0.157801 +vn -0.887711 -0.053173 -0.457321 +vn -0.985622 -0.095167 -0.139619 +vn -0.886459 0.157233 -0.435280 +vn -0.887711 -0.053173 -0.457321 +vn -0.986989 0.030862 -0.157801 +vn -0.986224 0.164337 -0.018861 +vn -0.886459 0.157233 -0.435280 +vn -0.986989 0.030862 -0.157801 +vn -0.723260 0.487730 -0.488890 +vn -0.886459 0.157233 -0.435280 +vn -0.986224 0.164337 -0.018861 +vn -0.890603 0.065525 0.450037 +vn -0.940465 0.005938 0.339840 +vn -0.985675 0.018260 0.167664 +vn -0.736583 -0.676292 0.008651 +vn -0.940465 0.005938 0.339840 +vn -0.890603 0.065525 0.450037 +vn 0.266049 -0.884584 -0.383052 +vn -0.736583 -0.676292 0.008651 +vn -0.890603 0.065525 0.450037 +vn -0.671385 -0.602650 0.431341 +vn -0.736583 -0.676292 0.008651 +vn 0.266049 -0.884584 -0.383052 +vn -0.954339 -0.228653 0.192236 +vn -0.705305 -0.566188 0.426587 +vn -0.879633 -0.474662 -0.030691 +vn -0.744177 -0.586467 0.319776 +vn -0.705305 -0.566188 0.426587 +vn -0.954339 -0.228653 0.192236 +vn -0.991679 0.113596 0.060568 +vn -0.744177 -0.586467 0.319776 +vn -0.954339 -0.228653 0.192236 +vn -0.720875 -0.177023 -0.670077 +vn -0.744177 -0.586467 0.319776 +vn -0.991679 0.113596 0.060568 +vn -0.744177 -0.586467 0.319776 +vn -0.230985 -0.966671 0.110419 +vn -0.705305 -0.566188 0.426587 +vn -0.259480 -0.960362 -0.101854 +vn -0.230985 -0.966671 0.110419 +vn -0.744177 -0.586467 0.319776 +vn -0.720875 -0.177023 -0.670077 +vn -0.259480 -0.960362 -0.101854 +vn -0.744177 -0.586467 0.319776 +vn 0.198344 -0.673504 -0.712076 +vn -0.259480 -0.960362 -0.101854 +vn -0.720875 -0.177023 -0.670077 +vn 0.720874 -0.177023 -0.670077 +vn 0.259480 -0.960362 -0.101856 +vn -0.198343 -0.673502 -0.712078 +vn 0.744177 -0.586468 0.319776 +vn 0.259480 -0.960362 -0.101856 +vn 0.720874 -0.177023 -0.670077 +vn 0.991679 0.113595 0.060568 +vn 0.744177 -0.586468 0.319776 +vn 0.720874 -0.177023 -0.670077 +vn 0.954339 -0.228653 0.192237 +vn 0.744177 -0.586468 0.319776 +vn 0.991679 0.113595 0.060568 +vn -0.798072 -0.492809 -0.346728 +vn 0.785662 -0.093553 -0.611541 +vn 0.842027 -0.155902 -0.516416 +vn -0.670793 -0.428610 -0.605253 +vn 0.785662 -0.093553 -0.611541 +vn -0.798072 -0.492809 -0.346728 +vn -0.940070 -0.187916 0.284528 +vn -0.670793 -0.428610 -0.605253 +vn -0.798072 -0.492809 -0.346728 +vn -0.979338 -0.183606 -0.084771 +vn -0.670793 -0.428610 -0.605253 +vn -0.940070 -0.187916 0.284528 +vn -0.482561 -0.859416 -0.168933 +vn 0.842027 -0.155902 -0.516416 +vn 0.892629 -0.410775 -0.185680 +vn -0.798072 -0.492809 -0.346728 +vn 0.842027 -0.155902 -0.516416 +vn -0.482561 -0.859416 -0.168933 +vn -0.830711 -0.429922 0.353675 +vn -0.798072 -0.492809 -0.346728 +vn -0.482561 -0.859416 -0.168933 +vn -0.940070 -0.187916 0.284528 +vn -0.798072 -0.492809 -0.346728 +vn -0.830711 -0.429922 0.353675 +vn -0.886459 0.157233 -0.435280 +vn -0.669191 -0.038826 -0.742075 +vn -0.887711 -0.053173 -0.457321 +vn -0.601407 0.330795 -0.727244 +vn -0.669191 -0.038826 -0.742075 +vn -0.886459 0.157233 -0.435280 +vn -0.723260 0.487730 -0.488890 +vn -0.601407 0.330795 -0.727244 +vn -0.886459 0.157233 -0.435280 +vn -0.417609 0.678605 -0.604234 +vn -0.601407 0.330795 -0.727244 +vn -0.723260 0.487730 -0.488890 +vn -0.601407 0.330795 -0.727244 +vn -0.339886 -0.019049 -0.940274 +vn -0.669191 -0.038826 -0.742075 +vn -0.360173 0.287176 -0.887584 +vn -0.339886 -0.019049 -0.940274 +vn -0.601407 0.330795 -0.727244 +vn -0.417609 0.678605 -0.604234 +vn -0.360173 0.287176 -0.887584 +vn -0.601407 0.330795 -0.727244 +vn -0.359901 0.495774 -0.790367 +vn -0.360173 0.287176 -0.887584 +vn -0.417609 0.678605 -0.604234 +vn -0.566938 -0.119393 0.815063 +vn 0.964186 0.238077 0.116898 +vn -0.599129 0.392244 0.697989 +vn 0.939867 -0.176233 0.292560 +vn 0.964186 0.238077 0.116898 +vn -0.566938 -0.119393 0.815063 +vn 0.615010 -0.763782 0.195958 +vn 0.939867 -0.176233 0.292560 +vn -0.566938 -0.119393 0.815063 +vn 0.979337 -0.183611 -0.084771 +vn 0.939867 -0.176233 0.292560 +vn 0.615010 -0.763782 0.195958 +vn -0.719359 0.095809 0.688000 +vn -0.960011 0.060956 0.273245 +vn -0.927188 0.116146 0.356135 +vn -0.973140 0.025224 0.228827 +vn -0.960011 0.060956 0.273245 +vn -0.719359 0.095809 0.688000 +vn -0.778982 -0.118055 0.615832 +vn -0.973140 0.025224 0.228827 +vn -0.719359 0.095809 0.688000 +vn 0.000000 0.245609 -0.969369 +vn -0.339886 -0.019049 -0.940274 +vn -0.360173 0.287176 -0.887584 +vn 0.000000 -0.013050 -0.999915 +vn -0.339886 -0.019049 -0.940274 +vn 0.000000 0.245609 -0.969369 +vn 0.339886 -0.019049 -0.940274 +vn 0.000000 -0.013050 -0.999915 +vn 0.000000 0.245609 -0.969369 +vn -0.884241 -0.134293 -0.447307 +vn -0.470921 -0.164448 -0.866713 +vn -0.447467 0.651616 -0.612511 +vn -0.830828 -0.161488 -0.532584 +vn -0.470921 -0.164448 -0.866713 +vn -0.884241 -0.134293 -0.447307 +vn -0.949400 -0.207778 -0.235515 +vn -0.830828 -0.161488 -0.532584 +vn -0.884241 -0.134293 -0.447307 +vn 0.884240 -0.134293 -0.447308 +vn 0.949400 -0.207778 -0.235516 +vn 0.920495 -0.357097 -0.158651 +vn 0.830828 -0.161488 -0.532585 +vn 0.949400 -0.207778 -0.235516 +vn 0.884240 -0.134293 -0.447308 +vn 0.470922 -0.164449 -0.866712 +vn 0.830828 -0.161488 -0.532585 +vn 0.884240 -0.134293 -0.447308 +vn 0.196853 0.622953 -0.757085 +vn 0.900060 0.096466 -0.424955 +vn 0.269308 -0.369850 -0.889204 +vn 0.519007 -0.164788 -0.838735 +vn 0.900060 0.096466 -0.424955 +vn 0.196853 0.622953 -0.757085 +vn -0.030436 -0.139716 -0.989724 +vn 0.519007 -0.164788 -0.838735 +vn 0.196853 0.622953 -0.757085 +vn 0.030436 -0.139717 -0.989724 +vn 0.585071 0.016034 -0.810824 +vn -0.196860 0.622954 -0.757083 +vn 0.000000 -0.483633 -0.875271 +vn 0.585071 0.016034 -0.810824 +vn 0.030436 -0.139717 -0.989724 +vn -0.030436 -0.139716 -0.989724 +vn 0.000000 -0.483633 -0.875271 +vn 0.030436 -0.139717 -0.989724 +vn 0.985675 0.018259 0.167664 +vn 0.927189 0.116145 0.356133 +vn 0.940464 0.005940 0.339842 +vn 0.960011 0.060957 0.273245 +vn 0.927189 0.116145 0.356133 +vn 0.985675 0.018259 0.167664 +vn 0.999526 -0.026370 0.015908 +vn 0.960011 0.060957 0.273245 +vn 0.985675 0.018259 0.167664 +vn 0.566936 -0.119399 0.815063 +vn 0.671388 -0.602657 0.431326 +vn 0.940464 0.005940 0.339842 +vn -0.615018 -0.763780 0.195942 +vn 0.671388 -0.602657 0.431326 +vn 0.566936 -0.119399 0.815063 +vn -0.939870 -0.176226 0.292557 +vn -0.615018 -0.763780 0.195942 +vn 0.566936 -0.119399 0.815063 +vn -0.964186 0.238077 0.116899 +vn -0.750936 0.505530 0.424895 +vn -0.979338 -0.183606 -0.084771 +vn 0.671907 0.304445 0.675169 +vn -0.750936 0.505530 0.424895 +vn -0.964186 0.238077 0.116899 +vn 0.599130 0.392237 0.697992 +vn 0.671907 0.304445 0.675169 +vn -0.964186 0.238077 0.116899 +vn 0.963247 -0.022101 -0.267705 +vn 0.887711 -0.053174 -0.457321 +vn 0.985621 -0.095168 -0.139619 +vn 0.949400 -0.207778 -0.235516 +vn 0.887711 -0.053174 -0.457321 +vn 0.963247 -0.022101 -0.267705 +vn -0.995141 0.096229 0.020838 +vn -0.985675 0.018260 0.167664 +vn -0.998345 -0.021193 -0.053469 +vn -0.890603 0.065525 0.450037 +vn -0.985675 0.018260 0.167664 +vn -0.995141 0.096229 0.020838 +vn 0.447468 0.651615 -0.612511 +vn 0.470922 -0.164449 -0.866712 +vn 0.884240 -0.134293 -0.447308 +vn -0.174969 0.064737 -0.982443 +vn 0.470922 -0.164449 -0.866712 +vn 0.447468 0.651615 -0.612511 +vn -0.994374 0.063245 0.084975 +vn -0.985622 -0.095167 -0.139619 +vn -0.982749 -0.171056 -0.070321 +vn -0.986989 0.030862 -0.157801 +vn -0.985622 -0.095167 -0.139619 +vn -0.994374 0.063245 0.084975 +vn 0.339886 -0.019049 -0.940274 +vn 0.343712 -0.221055 -0.912687 +vn 0.000000 -0.193908 -0.981020 +vn 0.669191 -0.038826 -0.742076 +vn 0.343712 -0.221055 -0.912687 +vn 0.339886 -0.019049 -0.940274 +vn 0.940069 -0.187917 0.284532 +vn 0.979337 -0.183611 -0.084771 +vn -0.516686 0.344284 0.783903 +vn 0.670793 -0.428609 -0.605253 +vn 0.979337 -0.183611 -0.084771 +vn 0.940069 -0.187917 0.284532 +vn -0.585071 0.016033 -0.810824 +vn 0.196853 0.622953 -0.757085 +vn 0.269308 -0.369850 -0.889204 +vn -0.030436 -0.139716 -0.989724 +vn 0.196853 0.622953 -0.757085 +vn -0.585071 0.016033 -0.810824 +vn -0.659042 -0.134526 0.739977 +vn -0.516686 0.344284 0.783903 +vn -0.985871 0.156537 0.059623 +vn 0.940069 -0.187917 0.284532 +vn -0.516686 0.344284 0.783903 +vn -0.659042 -0.134526 0.739977 +vn -0.519010 -0.164788 -0.838734 +vn 0.030436 -0.139717 -0.989724 +vn -0.196860 0.622954 -0.757083 +vn 0.000000 -0.193908 -0.981020 +vn 0.030436 -0.139717 -0.989724 +vn -0.519010 -0.164788 -0.838734 +vn -0.380869 -0.657292 0.650312 +vn -0.888401 -0.122393 0.442451 +vn -0.239758 -0.297161 0.924236 +vn -0.364796 -0.616184 0.698026 +vn -0.888401 -0.122393 0.442451 +vn -0.380869 -0.657292 0.650312 +vn -0.767470 -0.535473 0.352504 +vn -0.985871 0.156537 0.059623 +vn -0.892630 -0.410773 -0.185678 +vn -0.659042 -0.134526 0.739977 +vn -0.985871 0.156537 0.059623 +vn -0.767470 -0.535473 0.352504 +vn -0.860648 0.034484 0.508032 +vn -0.578165 0.003857 0.815911 +vn -0.475538 0.238218 0.846827 +vn -0.805486 -0.223677 0.548782 +vn -0.578165 0.003857 0.815911 +vn -0.860648 0.034484 0.508032 +vn 0.986224 0.164339 -0.018862 +vn 0.994374 0.063248 0.084975 +vn 0.986988 0.030861 -0.157802 +vn 0.968164 0.062104 0.242490 +vn 0.994374 0.063248 0.084975 +vn 0.986224 0.164339 -0.018862 +vn 0.359901 0.495774 -0.790366 +vn 0.360174 0.287176 -0.887584 +vn -0.000000 0.408295 -0.912850 +vn 0.417608 0.678605 -0.604235 +vn 0.360174 0.287176 -0.887584 +vn 0.359901 0.495774 -0.790366 +vn 0.721944 -0.665072 0.190986 +vn 0.793827 -0.482879 -0.369685 +vn 0.855610 -0.384557 0.346478 +vn -0.033758 -0.967654 -0.250012 +vn 0.793827 -0.482879 -0.369685 +vn 0.721944 -0.665072 0.190986 +vn 0.985621 -0.095168 -0.139619 +vn 0.994374 0.063248 0.084975 +vn 0.982748 -0.171057 -0.070322 +vn 0.986988 0.030861 -0.157802 +vn 0.994374 0.063248 0.084975 +vn 0.985621 -0.095168 -0.139619 +vn 0.578165 0.003858 0.815911 +vn 0.475535 0.238222 0.846827 +vn 0.161378 -0.422475 0.891892 +vn 0.860649 0.034484 0.508030 +vn 0.475535 0.238222 0.846827 +vn 0.578165 0.003858 0.815911 +vn 0.364797 -0.616185 0.698025 +vn 0.888401 -0.122393 0.442451 +vn 0.805486 -0.223678 0.548780 +vn 0.380867 -0.657281 0.650325 +vn 0.888401 -0.122393 0.442451 +vn 0.364797 -0.616185 0.698025 +vn -0.259480 -0.960362 -0.101854 +vn -0.412009 -0.899489 -0.145492 +vn -0.230985 -0.966671 0.110419 +vn 0.198344 -0.673504 -0.712076 +vn -0.412009 -0.899489 -0.145492 +vn -0.259480 -0.960362 -0.101854 +vn -0.467460 -0.798312 -0.379709 +vn -0.412009 -0.899489 -0.145492 +vn -0.311766 -0.947908 -0.065359 +vn -0.230985 -0.966671 0.110419 +vn -0.412009 -0.899489 -0.145492 +vn -0.467460 -0.798312 -0.379709 +vn 0.174971 0.064737 -0.982443 +vn -0.470921 -0.164448 -0.866713 +vn -0.478708 -0.433444 -0.763521 +vn -0.447467 0.651616 -0.612511 +vn -0.470921 -0.164448 -0.866713 +vn 0.174971 0.064737 -0.982443 +vn 0.778983 -0.118054 0.615832 +vn 0.973140 0.025224 0.228828 +vn 0.888401 -0.122393 0.442451 +vn 0.719359 0.095808 0.688000 +vn 0.973140 0.025224 0.228828 +vn 0.778983 -0.118054 0.615832 +vn -0.343712 -0.221056 -0.912687 +vn -0.519010 -0.164788 -0.838734 +vn -0.637991 -0.220334 -0.737848 +vn 0.000000 -0.193908 -0.981020 +vn -0.519010 -0.164788 -0.838734 +vn -0.343712 -0.221056 -0.912687 +vn -0.671907 0.304445 0.675170 +vn -0.719359 0.095809 0.688000 +vn -0.927188 0.116146 0.356135 +vn 0.750933 0.505529 0.424901 +vn -0.719359 0.095809 0.688000 +vn -0.671907 0.304445 0.675170 +vn -0.719359 0.095809 0.688000 +vn -0.198559 0.129387 0.971511 +vn -0.778982 -0.118055 0.615832 +vn 0.750933 0.505529 0.424901 +vn -0.198559 0.129387 0.971511 +vn -0.719359 0.095809 0.688000 +vn -0.985622 -0.095167 -0.139619 +vn -0.533529 -0.428361 -0.729283 +vn -0.982749 -0.171056 -0.070321 +vn -0.985622 -0.095167 -0.139619 +vn -0.887711 -0.053173 -0.457321 +vn -0.963247 -0.022103 -0.267705 +vn -0.920496 -0.357096 -0.158652 +vn -0.949400 -0.207778 -0.235515 +vn -0.884241 -0.134293 -0.447307 +vn 0.985621 -0.095168 -0.139619 +vn 0.982748 -0.171057 -0.070322 +vn 0.533529 -0.428364 -0.729281 +vn 0.964186 0.238077 0.116898 +vn 0.939867 -0.176233 0.292560 +vn 0.979337 -0.183611 -0.084771 +vn -0.736583 -0.676292 0.008651 +vn -0.671385 -0.602650 0.431341 +vn -0.940465 0.005938 0.339840 +vn 0.478711 -0.433446 -0.763519 +vn 0.470922 -0.164449 -0.866712 +vn -0.174969 0.064737 -0.982443 +vn 0.030436 -0.139717 -0.989724 +vn 0.000000 -0.193908 -0.981020 +vn -0.030436 -0.139716 -0.989724 +vn 0.999526 -0.026370 0.015908 +vn 0.985675 0.018259 0.167664 +vn 0.998345 -0.021195 -0.053469 +vn -0.670793 -0.428610 -0.605253 +vn 0.533529 -0.428364 -0.729281 +vn 0.785662 -0.093553 -0.611541 +vn -0.084883 0.830185 -0.550988 +vn 0.009986 0.253650 -0.967245 +vn -0.161582 0.276281 -0.947397 +vn -0.088416 0.831239 -0.548839 +vn 0.009986 0.253650 -0.967245 +vn -0.084883 0.830185 -0.550988 +vn -0.143851 0.985952 -0.084891 +vn -0.088416 0.831239 -0.548839 +vn -0.084883 0.830185 -0.550988 +vn -0.066261 0.996005 -0.059868 +vn -0.088416 0.831239 -0.548839 +vn -0.143851 0.985952 -0.084891 +vn -0.132895 0.896891 0.421812 +vn -0.066261 0.996005 -0.059868 +vn -0.143851 0.985952 -0.084891 +vn -0.075321 0.876242 0.475949 +vn -0.066261 0.996005 -0.059868 +vn -0.132895 0.896891 0.421812 +vn -0.155404 0.376961 0.913099 +vn -0.075321 0.876242 0.475949 +vn -0.132895 0.896891 0.421812 +vn -0.132014 0.339424 0.931324 +vn -0.075321 0.876242 0.475949 +vn -0.155404 0.376961 0.913099 +vn -0.072447 0.995720 -0.057380 +vn -0.084883 0.830185 -0.550988 +vn -0.109956 0.820781 -0.560561 +vn -0.143851 0.985952 -0.084891 +vn -0.084883 0.830185 -0.550988 +vn -0.072447 0.995720 -0.057380 +vn -0.105290 0.900329 0.422281 +vn -0.143851 0.985952 -0.084891 +vn -0.072447 0.995720 -0.057380 +vn -0.132895 0.896891 0.421812 +vn -0.143851 0.985952 -0.084891 +vn -0.105290 0.900329 0.422281 +vn -0.053216 0.391273 0.918735 +vn -0.132895 0.896891 0.421812 +vn -0.105290 0.900329 0.422281 +vn -0.155404 0.376961 0.913099 +vn -0.132895 0.896891 0.421812 +vn -0.053216 0.391273 0.918735 +vn 0.100088 -0.806585 0.582583 +vn 0.245491 -0.233347 0.940895 +vn 0.638014 -0.059602 0.767715 +vn 0.029613 -0.245355 0.968981 +vn 0.245491 -0.233347 0.940895 +vn 0.100088 -0.806585 0.582583 +vn 0.037988 -0.832320 0.552992 +vn 0.029613 -0.245355 0.968981 +vn 0.100088 -0.806585 0.582583 +vn 0.017738 -0.260976 0.965182 +vn 0.029613 -0.245355 0.968981 +vn 0.037988 -0.832320 0.552992 +vn -0.007914 -0.793312 0.608764 +vn 0.017738 -0.260976 0.965182 +vn 0.037988 -0.832320 0.552992 +vn 0.032519 -0.218178 0.975367 +vn 0.017738 -0.260976 0.965182 +vn -0.007914 -0.793312 0.608764 +vn 0.044700 -0.996105 0.076011 +vn 0.037988 -0.832320 0.552992 +vn 0.100088 -0.806585 0.582583 +vn -0.002182 -0.995603 0.093647 +vn 0.037988 -0.832320 0.552992 +vn 0.044700 -0.996105 0.076011 +vn 0.044700 -0.996105 0.076011 +vn 0.030253 -0.902431 -0.429770 +vn -0.002182 -0.995603 0.093647 +vn 0.061575 -0.942931 -0.327245 +vn 0.030253 -0.902431 -0.429770 +vn 0.044700 -0.996105 0.076011 +vn -0.002182 -0.995603 0.093647 +vn -0.007914 -0.793312 0.608764 +vn 0.037988 -0.832320 0.552992 +vn 0.109956 0.820781 -0.560561 +vn 0.091091 0.793258 -0.602034 +vn 0.148207 0.147759 -0.977856 +vn 0.014386 0.996091 -0.087157 +vn 0.091091 0.793258 -0.602034 +vn 0.109956 0.820781 -0.560561 +vn 0.072447 0.995720 -0.057380 +vn 0.014386 0.996091 -0.087157 +vn 0.109956 0.820781 -0.560561 +vn 0.017836 0.900549 0.434389 +vn 0.014386 0.996091 -0.087157 +vn 0.072447 0.995720 -0.057380 +vn 0.105288 0.900330 0.422280 +vn 0.017836 0.900549 0.434389 +vn 0.072447 0.995720 -0.057380 +vn 0.040528 0.385122 0.921975 +vn 0.017836 0.900549 0.434389 +vn 0.105288 0.900330 0.422280 +vn 0.053215 0.391272 0.918735 +vn 0.040528 0.385122 0.921975 +vn 0.105288 0.900330 0.422280 +vn 0.061575 -0.942931 -0.327245 +vn 0.054727 -0.463812 -0.884242 +vn 0.030253 -0.902431 -0.429770 +vn 0.088299 -0.451207 -0.888040 +vn 0.054727 -0.463812 -0.884242 +vn 0.061575 -0.942931 -0.327245 +vn 0.145963 -0.430479 -0.890720 +vn 0.088299 -0.451207 -0.888040 +vn 0.061575 -0.942931 -0.327245 +vn 0.097189 0.206868 -0.973530 +vn 0.088299 -0.451207 -0.888040 +vn 0.145963 -0.430479 -0.890720 +vn 0.029613 -0.245355 0.968981 +vn 0.155404 0.376961 0.913099 +vn 0.245491 -0.233347 0.940895 +vn 0.053215 0.391272 0.918735 +vn 0.155404 0.376961 0.913099 +vn 0.029613 -0.245355 0.968981 +vn 0.017738 -0.260976 0.965182 +vn 0.053215 0.391272 0.918735 +vn 0.029613 -0.245355 0.968981 +vn 0.040528 0.385122 0.921975 +vn 0.053215 0.391272 0.918735 +vn 0.017738 -0.260976 0.965182 +vn 0.148207 0.147759 -0.977856 +vn 0.145963 -0.430479 -0.890720 +vn 0.161582 0.276280 -0.947397 +vn 0.097189 0.206868 -0.973530 +vn 0.145963 -0.430479 -0.890720 +vn 0.148207 0.147759 -0.977856 +vn 0.091091 0.793258 -0.602034 +vn 0.097189 0.206868 -0.973530 +vn 0.148207 0.147759 -0.977856 +vn 0.049568 0.175061 -0.983309 +vn 0.088299 -0.451207 -0.888040 +vn 0.097189 0.206868 -0.973530 +vn 0.054727 -0.463812 -0.884242 +vn 0.088299 -0.451207 -0.888040 +vn 0.049568 0.175061 -0.983309 +vn 0.007913 -0.793311 0.608765 +vn -0.062220 -0.991801 0.111624 +vn 0.002182 -0.995603 0.093648 +vn -0.072133 -0.749937 0.657564 +vn -0.062220 -0.991801 0.111624 +vn 0.007913 -0.793311 0.608765 +vn -0.032520 -0.218178 0.975367 +vn -0.072133 -0.749937 0.657564 +vn 0.007913 -0.793311 0.608765 +vn -0.060924 -0.151716 0.986545 +vn -0.072133 -0.749937 0.657564 +vn -0.032520 -0.218178 0.975367 +vn -0.009008 0.397043 0.917756 +vn -0.060924 -0.151716 0.986545 +vn -0.032520 -0.218178 0.975367 +vn -0.019628 0.460802 0.887286 +vn -0.060924 -0.151716 0.986545 +vn -0.009008 0.397043 0.917756 +vn 0.042549 0.892139 0.449753 +vn -0.019628 0.460802 0.887286 +vn -0.009008 0.397043 0.917756 +vn 0.072480 0.907322 0.414143 +vn -0.019628 0.460802 0.887286 +vn 0.042549 0.892139 0.449753 +vn 0.065470 0.992463 -0.103593 +vn 0.072480 0.907322 0.414143 +vn 0.042549 0.892139 0.449753 +vn 0.119124 0.987465 -0.103550 +vn 0.072480 0.907322 0.414143 +vn 0.065470 0.992463 -0.103593 +vn 0.014335 0.787944 -0.615580 +vn 0.119124 0.987465 -0.103550 +vn 0.065470 0.992463 -0.103593 +vn 0.052862 0.801248 -0.595993 +vn 0.119124 0.987465 -0.103550 +vn 0.014335 0.787944 -0.615580 +vn -0.049569 0.175060 -0.983309 +vn 0.052862 0.801248 -0.595993 +vn 0.014335 0.787944 -0.615580 +vn -0.048350 0.276067 -0.959922 +vn 0.052862 0.801248 -0.595993 +vn -0.049569 0.175060 -0.983309 +vn -0.054726 -0.463812 -0.884242 +vn -0.048350 0.276067 -0.959922 +vn -0.049569 0.175060 -0.983309 +vn -0.115337 -0.367578 -0.922813 +vn -0.048350 0.276067 -0.959922 +vn -0.054726 -0.463812 -0.884242 +vn -0.030253 -0.902431 -0.429770 +vn -0.115337 -0.367578 -0.922813 +vn -0.054726 -0.463812 -0.884242 +vn -0.060985 -0.876417 -0.477677 +vn -0.115337 -0.367578 -0.922813 +vn -0.030253 -0.902431 -0.429770 +vn 0.002182 -0.995603 0.093648 +vn -0.060985 -0.876417 -0.477677 +vn -0.030253 -0.902431 -0.429770 +vn -0.062220 -0.991801 0.111624 +vn -0.060985 -0.876417 -0.477677 +vn 0.002182 -0.995603 0.093648 +vn -0.072133 -0.749937 0.657564 +vn -0.028789 -0.992688 0.117221 +vn -0.062220 -0.991801 0.111624 +vn -0.063811 -0.715625 0.695564 +vn -0.028789 -0.992688 0.117221 +vn -0.072133 -0.749937 0.657564 +vn -0.060924 -0.151716 0.986545 +vn -0.063811 -0.715625 0.695564 +vn -0.072133 -0.749937 0.657564 +vn -0.092714 -0.172310 0.980670 +vn -0.063811 -0.715625 0.695564 +vn -0.060924 -0.151716 0.986545 +vn -0.019628 0.460802 0.887286 +vn -0.092714 -0.172310 0.980670 +vn -0.060924 -0.151716 0.986545 +vn -0.123731 0.472957 0.872354 +vn -0.092714 -0.172310 0.980670 +vn -0.019628 0.460802 0.887286 +vn 0.072480 0.907322 0.414143 +vn -0.123731 0.472957 0.872354 +vn -0.019628 0.460802 0.887286 +vn -0.044144 0.896765 0.440300 +vn -0.123731 0.472957 0.872354 +vn 0.072480 0.907322 0.414143 +vn 0.119124 0.987465 -0.103550 +vn -0.044144 0.896765 0.440300 +vn 0.072480 0.907322 0.414143 +vn -0.008209 0.993414 -0.114287 +vn -0.044144 0.896765 0.440300 +vn 0.119124 0.987465 -0.103550 +vn -0.034904 0.766141 -0.641724 +vn -0.008209 0.993414 -0.114287 +vn 0.119124 0.987465 -0.103550 +vn -0.062581 0.784151 -0.617406 +vn -0.008209 0.993414 -0.114287 +vn -0.034904 0.766141 -0.641724 +vn -0.038921 0.243228 -0.969188 +vn -0.062581 0.784151 -0.617406 +vn -0.034904 0.766141 -0.641724 +vn -0.043781 0.783368 -0.620015 +vn -0.062581 0.784151 -0.617406 +vn -0.038921 0.243228 -0.969188 +vn -0.039682 0.272329 -0.961386 +vn -0.043781 0.783368 -0.620015 +vn -0.038921 0.243228 -0.969188 +vn 0.026909 0.778852 -0.626631 +vn -0.043781 0.783368 -0.620015 +vn -0.039682 0.272329 -0.961386 +vn 0.020179 0.226683 -0.973760 +vn 0.026909 0.778852 -0.626631 +vn -0.039682 0.272329 -0.961386 +vn 0.014891 0.992029 -0.125128 +vn -0.043781 0.783368 -0.620015 +vn 0.026909 0.778852 -0.626631 +vn -0.054604 0.993106 -0.103724 +vn -0.043781 0.783368 -0.620015 +vn 0.014891 0.992029 -0.125128 +vn -0.010281 0.894536 0.446877 +vn -0.054604 0.993106 -0.103724 +vn 0.014891 0.992029 -0.125128 +vn -0.075010 0.884106 0.461227 +vn -0.054604 0.993106 -0.103724 +vn -0.010281 0.894536 0.446877 +vn -0.043660 0.443860 0.895032 +vn -0.075010 0.884106 0.461227 +vn -0.010281 0.894536 0.446877 +vn -0.084287 0.429637 0.899059 +vn -0.075010 0.884106 0.461227 +vn -0.043660 0.443860 0.895032 +vn -0.045362 -0.192641 0.980220 +vn -0.084287 0.429637 0.899059 +vn -0.043660 0.443860 0.895032 +vn -0.088891 -0.162311 0.982728 +vn -0.084287 0.429637 0.899059 +vn -0.045362 -0.192641 0.980220 +vn -0.038156 -0.778896 0.625992 +vn -0.088891 -0.162311 0.982728 +vn -0.045362 -0.192641 0.980220 +vn -0.097981 -0.712467 0.694831 +vn -0.088891 -0.162311 0.982728 +vn -0.038156 -0.778896 0.625992 +vn -0.032783 -0.993722 0.106965 +vn -0.097981 -0.712467 0.694831 +vn -0.038156 -0.778896 0.625992 +vn -0.066047 -0.988634 0.135058 +vn -0.097981 -0.712467 0.694831 +vn -0.032783 -0.993722 0.106965 +vn -0.054604 0.993106 -0.103724 +vn -0.062581 0.784151 -0.617406 +vn -0.043781 0.783368 -0.620015 +vn -0.088950 0.990999 -0.100041 +vn -0.062581 0.784151 -0.617406 +vn -0.054604 0.993106 -0.103724 +vn -0.075010 0.884106 0.461227 +vn -0.088950 0.990999 -0.100041 +vn -0.054604 0.993106 -0.103724 +vn -0.094142 0.896804 0.432297 +vn -0.088950 0.990999 -0.100041 +vn -0.075010 0.884106 0.461227 +vn -0.084287 0.429637 0.899059 +vn -0.094142 0.896804 0.432297 +vn -0.075010 0.884106 0.461227 +vn -0.073309 0.436879 0.896528 +vn -0.094142 0.896804 0.432297 +vn -0.084287 0.429637 0.899059 +vn -0.088891 -0.162311 0.982728 +vn -0.073309 0.436879 0.896528 +vn -0.084287 0.429637 0.899059 +vn -0.007060 -0.157038 0.987567 +vn -0.073309 0.436879 0.896528 +vn -0.088891 -0.162311 0.982728 +vn -0.097981 -0.712467 0.694831 +vn -0.007060 -0.157038 0.987567 +vn -0.088891 -0.162311 0.982728 +vn -0.052173 -0.733399 0.677794 +vn -0.007060 -0.157038 0.987567 +vn -0.097981 -0.712467 0.694831 +vn -0.066047 -0.988634 0.135058 +vn -0.052173 -0.733399 0.677794 +vn -0.097981 -0.712467 0.694831 +vn -0.003296 -0.993291 0.115596 +vn -0.052173 -0.733399 0.677794 +vn -0.066047 -0.988634 0.135058 +vn -0.040527 0.385122 0.921975 +vn -0.032520 -0.218178 0.975367 +vn -0.017737 -0.260977 0.965182 +vn -0.009008 0.397043 0.917756 +vn -0.032520 -0.218178 0.975367 +vn -0.040527 0.385122 0.921975 +vn -0.017836 0.900548 0.434392 +vn -0.009008 0.397043 0.917756 +vn -0.040527 0.385122 0.921975 +vn 0.042549 0.892139 0.449753 +vn -0.009008 0.397043 0.917756 +vn -0.017836 0.900548 0.434392 +vn -0.014386 0.996091 -0.087157 +vn 0.042549 0.892139 0.449753 +vn -0.017836 0.900548 0.434392 +vn 0.065470 0.992463 -0.103593 +vn 0.042549 0.892139 0.449753 +vn -0.014386 0.996091 -0.087157 +vn -0.091091 0.793257 -0.602035 +vn 0.065470 0.992463 -0.103593 +vn -0.014386 0.996091 -0.087157 +vn 0.014335 0.787944 -0.615580 +vn 0.065470 0.992463 -0.103593 +vn -0.091091 0.793257 -0.602035 +vn -0.097190 0.206867 -0.973530 +vn 0.014335 0.787944 -0.615580 +vn -0.091091 0.793257 -0.602035 +vn -0.049569 0.175060 -0.983309 +vn 0.014335 0.787944 -0.615580 +vn -0.097190 0.206867 -0.973530 +vn -0.088950 0.990999 -0.100041 +vn -0.008209 0.993414 -0.114287 +vn -0.062581 0.784151 -0.617406 +vn -0.044144 0.896765 0.440300 +vn -0.008209 0.993414 -0.114287 +vn -0.088950 0.990999 -0.100041 +vn -0.094142 0.896804 0.432297 +vn -0.044144 0.896765 0.440300 +vn -0.088950 0.990999 -0.100041 +vn -0.123731 0.472957 0.872354 +vn -0.044144 0.896765 0.440300 +vn -0.094142 0.896804 0.432297 +vn -0.073309 0.436879 0.896528 +vn -0.123731 0.472957 0.872354 +vn -0.094142 0.896804 0.432297 +vn -0.007060 -0.157038 0.987567 +vn -0.123731 0.472957 0.872354 +vn -0.073309 0.436879 0.896528 +vn -0.006090 -0.892507 -0.450993 +vn -0.066047 -0.988634 0.135058 +vn -0.032783 -0.993722 0.106965 +vn -0.035739 -0.876438 -0.480186 +vn -0.066047 -0.988634 0.135058 +vn -0.006090 -0.892507 -0.450993 +vn 0.017763 -0.334314 -0.942294 +vn -0.035739 -0.876438 -0.480186 +vn -0.006090 -0.892507 -0.450993 +vn -0.048012 -0.360941 -0.931352 +vn -0.035739 -0.876438 -0.480186 +vn 0.017763 -0.334314 -0.942294 +vn 0.020179 0.226683 -0.973760 +vn -0.048012 -0.360941 -0.931352 +vn 0.017763 -0.334314 -0.942294 +vn -0.039682 0.272329 -0.961386 +vn -0.048012 -0.360941 -0.931352 +vn 0.020179 0.226683 -0.973760 +vn -0.035739 -0.876438 -0.480186 +vn -0.003296 -0.993291 0.115596 +vn -0.066047 -0.988634 0.135058 +vn -0.011044 -0.886308 -0.462965 +vn -0.003296 -0.993291 0.115596 +vn -0.035739 -0.876438 -0.480186 +vn -0.048012 -0.360941 -0.931352 +vn -0.011044 -0.886308 -0.462965 +vn -0.035739 -0.876438 -0.480186 +vn 0.003309 -0.373688 -0.927549 +vn -0.011044 -0.886308 -0.462965 +vn -0.048012 -0.360941 -0.931352 +vn -0.039682 0.272329 -0.961386 +vn 0.003309 -0.373688 -0.927549 +vn -0.048012 -0.360941 -0.931352 +vn -0.038921 0.243228 -0.969188 +vn 0.003309 -0.373688 -0.927549 +vn -0.039682 0.272329 -0.961386 +vn 0.035568 -0.383621 -0.922805 +vn -0.115337 -0.367578 -0.922813 +vn -0.060985 -0.876417 -0.477677 +vn -0.009511 0.273399 -0.961854 +vn -0.115337 -0.367578 -0.922813 +vn 0.035568 -0.383621 -0.922805 +vn -0.038921 0.243228 -0.969188 +vn -0.009511 0.273399 -0.961854 +vn 0.035568 -0.383621 -0.922805 +vn -0.034904 0.766141 -0.641724 +vn -0.009511 0.273399 -0.961854 +vn -0.038921 0.243228 -0.969188 +vn 0.035568 -0.383621 -0.922805 +vn 0.003309 -0.373688 -0.927549 +vn -0.038921 0.243228 -0.969188 +vn 0.046864 -0.871216 -0.488658 +vn 0.003309 -0.373688 -0.927549 +vn 0.035568 -0.383621 -0.922805 +vn -0.060985 -0.876417 -0.477677 +vn 0.046864 -0.871216 -0.488658 +vn 0.035568 -0.383621 -0.922805 +vn -0.062220 -0.991801 0.111624 +vn 0.046864 -0.871216 -0.488658 +vn -0.060985 -0.876417 -0.477677 +vn 0.046864 -0.871216 -0.488658 +vn -0.011044 -0.886308 -0.462965 +vn 0.003309 -0.373688 -0.927549 +vn -0.003296 -0.993291 0.115596 +vn -0.011044 -0.886308 -0.462965 +vn 0.046864 -0.871216 -0.488658 +vn -0.028789 -0.992688 0.117221 +vn -0.003296 -0.993291 0.115596 +vn 0.046864 -0.871216 -0.488658 +vn 0.052862 0.801248 -0.595993 +vn -0.034904 0.766141 -0.641724 +vn 0.119124 0.987465 -0.103550 +vn -0.048350 0.276067 -0.959922 +vn -0.034904 0.766141 -0.641724 +vn 0.052862 0.801248 -0.595993 +vn -0.007060 -0.157038 0.987567 +vn -0.092714 -0.172310 0.980670 +vn -0.123731 0.472957 0.872354 +vn -0.052173 -0.733399 0.677794 +vn -0.092714 -0.172310 0.980670 +vn -0.007060 -0.157038 0.987567 +vn -0.028789 -0.992688 0.117221 +vn -0.052173 -0.733399 0.677794 +vn -0.003296 -0.993291 0.115596 +vn -0.063811 -0.715625 0.695564 +vn -0.052173 -0.733399 0.677794 +vn -0.028789 -0.992688 0.117221 +vn -0.009511 0.273399 -0.961854 +vn -0.048350 0.276067 -0.959922 +vn -0.115337 -0.367578 -0.922813 +vn -0.034904 0.766141 -0.641724 +vn -0.048350 0.276067 -0.959922 +vn -0.009511 0.273399 -0.961854 +vn -0.063811 -0.715625 0.695564 +vn -0.092714 -0.172310 0.980670 +vn -0.052173 -0.733399 0.677794 +vn -0.062220 -0.991801 0.111624 +vn -0.028789 -0.992688 0.117221 +vn 0.046864 -0.871216 -0.488658 +vn -0.000000 0.073414 -0.997302 +vn 0.000000 0.054308 -0.998524 +vn 0.525620 0.017177 -0.850546 +vn -0.525620 0.017177 -0.850546 +vn 0.000000 0.054308 -0.998524 +vn -0.000000 0.073414 -0.997302 +vn -0.490269 0.083576 -0.867555 +vn -0.525620 0.017177 -0.850546 +vn -0.000000 0.073414 -0.997302 +vn -0.876821 -0.024879 -0.480174 +vn -0.525620 0.017177 -0.850546 +vn -0.490269 0.083576 -0.867555 +vn -0.855450 0.100382 -0.508064 +vn -0.876821 -0.024879 -0.480174 +vn -0.490269 0.083576 -0.867555 +vn -0.984455 -0.062283 -0.164226 +vn -0.876821 -0.024879 -0.480174 +vn -0.855450 0.100382 -0.508064 +vn -0.983600 0.050351 -0.173191 +vn -0.984455 -0.062283 -0.164226 +vn -0.855450 0.100382 -0.508064 +vn -0.951589 -0.118462 0.283630 +vn -0.984455 -0.062283 -0.164226 +vn -0.983600 0.050351 -0.173191 +vn -0.955566 0.026426 0.293592 +vn -0.951589 -0.118462 0.283630 +vn -0.983600 0.050351 -0.173191 +vn -0.589239 -0.205447 0.781402 +vn -0.951589 -0.118462 0.283630 +vn -0.955566 0.026426 0.293592 +vn -0.520037 0.006818 0.854117 +vn -0.589239 -0.205447 0.781402 +vn -0.955566 0.026426 0.293592 +vn 0.000000 -0.290965 0.956734 +vn -0.589239 -0.205447 0.781402 +vn -0.520037 0.006818 0.854117 +vn 0.000000 -0.018132 0.999836 +vn 0.000000 -0.290965 0.956734 +vn -0.520037 0.006818 0.854117 +vn 0.520037 0.006818 0.854117 +vn 0.000000 -0.290965 0.956734 +vn 0.000000 -0.018132 0.999836 +vn -0.240179 0.868861 0.432891 +vn 0.520037 0.006818 0.854117 +vn 0.000000 -0.018132 0.999836 +vn 0.179855 0.913230 0.365600 +vn 0.520037 0.006818 0.854117 +vn -0.240179 0.868861 0.432891 +vn 0.490269 0.083576 -0.867555 +vn 0.525620 0.017177 -0.850546 +vn 0.876820 -0.024879 -0.480174 +vn -0.000000 0.073414 -0.997302 +vn 0.525620 0.017177 -0.850546 +vn 0.490269 0.083576 -0.867555 +vn 0.000000 0.988483 -0.151330 +vn -0.000000 0.073414 -0.997302 +vn 0.490269 0.083576 -0.867555 +vn -0.490269 0.083576 -0.867555 +vn -0.000000 0.073414 -0.997302 +vn 0.000000 0.988483 -0.151330 +vn -0.021404 0.999458 -0.025018 +vn -0.490269 0.083576 -0.867555 +vn 0.000000 0.988483 -0.151330 +vn -0.855450 0.100382 -0.508064 +vn -0.490269 0.083576 -0.867555 +vn -0.021404 0.999458 -0.025018 +vn 0.018615 0.982608 -0.184758 +vn -0.855450 0.100382 -0.508064 +vn -0.021404 0.999458 -0.025018 +vn -0.983600 0.050351 -0.173191 +vn -0.855450 0.100382 -0.508064 +vn 0.018615 0.982608 -0.184758 +vn -0.379691 0.923230 -0.059004 +vn -0.983600 0.050351 -0.173191 +vn 0.018615 0.982608 -0.184758 +vn -0.955566 0.026426 0.293592 +vn -0.983600 0.050351 -0.173191 +vn -0.379691 0.923230 -0.059004 +vn -0.179855 0.913230 0.365600 +vn -0.955566 0.026426 0.293592 +vn -0.379691 0.923230 -0.059004 +vn -0.520037 0.006818 0.854117 +vn -0.955566 0.026426 0.293592 +vn -0.179855 0.913230 0.365600 +vn 0.240179 0.868860 0.432892 +vn -0.520037 0.006818 0.854117 +vn -0.179855 0.913230 0.365600 +vn 0.000000 -0.018132 0.999836 +vn -0.520037 0.006818 0.854117 +vn 0.240179 0.868860 0.432892 +vn 0.000000 0.911287 0.411771 +vn 0.000000 -0.018132 0.999836 +vn 0.240179 0.868860 0.432892 +vn -0.240179 0.868861 0.432891 +vn 0.000000 -0.018132 0.999836 +vn 0.000000 0.911287 0.411771 +vn 0.346758 0.192167 -0.918058 +vn 0.263969 0.836714 -0.479823 +vn 0.395396 0.905664 -0.153082 +vn -0.000000 0.832127 -0.554586 +vn 0.263969 0.836714 -0.479823 +vn 0.346758 0.192167 -0.918058 +vn -0.000000 0.154786 -0.987948 +vn -0.000000 0.832127 -0.554586 +vn 0.346758 0.192167 -0.918058 +vn -0.346758 0.192167 -0.918058 +vn -0.000000 0.832127 -0.554586 +vn -0.000000 0.154786 -0.987948 +vn -0.161090 0.556455 -0.815112 +vn -0.346758 0.192167 -0.918058 +vn -0.000000 0.154786 -0.987948 +vn -0.319126 0.616539 -0.719749 +vn -0.346758 0.192167 -0.918058 +vn -0.161090 0.556455 -0.815112 +vn 0.122193 0.984214 0.128027 +vn -0.244038 0.641141 0.727587 +vn 0.000000 0.626771 0.779204 +vn -0.495960 0.678947 0.541345 +vn -0.244038 0.641141 0.727587 +vn 0.122193 0.984214 0.128027 +vn -0.494282 0.849041 0.186586 +vn -0.495960 0.678947 0.541345 +vn 0.122193 0.984214 0.128027 +vn -0.966084 0.253069 -0.051365 +vn -0.495960 0.678947 0.541345 +vn -0.494282 0.849041 0.186586 +vn -0.992033 0.060494 -0.110505 +vn -0.966084 0.253069 -0.051365 +vn -0.494282 0.849041 0.186586 +vn 0.575377 0.439376 -0.689848 +vn 0.395396 0.905664 -0.153082 +vn 0.972343 0.149244 -0.179652 +vn 0.346758 0.192167 -0.918058 +vn 0.395396 0.905664 -0.153082 +vn 0.575377 0.439376 -0.689848 +vn 0.319126 0.616540 -0.719748 +vn 0.346758 0.192167 -0.918058 +vn 0.575377 0.439376 -0.689848 +vn 0.161090 0.556456 -0.815112 +vn 0.346758 0.192167 -0.918058 +vn 0.319126 0.616540 -0.719748 +vn 0.395396 0.905664 -0.153082 +vn -0.018614 0.982607 -0.184761 +vn 0.739893 0.671688 0.037326 +vn 0.021405 0.999458 -0.025022 +vn -0.018614 0.982607 -0.184761 +vn 0.395396 0.905664 -0.153082 +vn 0.263969 0.836714 -0.479823 +vn 0.021405 0.999458 -0.025022 +vn 0.395396 0.905664 -0.153082 +vn -0.000000 0.832127 -0.554586 +vn 0.021405 0.999458 -0.025022 +vn 0.263969 0.836714 -0.479823 +vn 0.179855 0.913230 0.365600 +vn 0.494282 0.849041 0.186586 +vn 0.739893 0.671688 0.037326 +vn -0.122194 0.984214 0.128025 +vn 0.494282 0.849041 0.186586 +vn 0.179855 0.913230 0.365600 +vn -0.240179 0.868861 0.432891 +vn -0.122194 0.984214 0.128025 +vn 0.179855 0.913230 0.365600 +vn 0.000000 0.911287 0.411771 +vn -0.122194 0.984214 0.128025 +vn -0.240179 0.868861 0.432891 +vn 0.000000 0.911287 0.411771 +vn 0.000000 0.998199 0.059994 +vn -0.122194 0.984214 0.128025 +vn 0.122193 0.984214 0.128027 +vn 0.000000 0.998199 0.059994 +vn 0.000000 0.911287 0.411771 +vn 0.240179 0.868860 0.432892 +vn 0.122193 0.984214 0.128027 +vn 0.000000 0.911287 0.411771 +vn -0.179855 0.913230 0.365600 +vn 0.122193 0.984214 0.128027 +vn 0.240179 0.868860 0.432892 +vn -0.179855 0.913230 0.365600 +vn -0.494282 0.849041 0.186586 +vn 0.122193 0.984214 0.128027 +vn -0.739893 0.671688 0.037326 +vn -0.494282 0.849041 0.186586 +vn -0.179855 0.913230 0.365600 +vn -0.379691 0.923230 -0.059004 +vn -0.739893 0.671688 0.037326 +vn -0.179855 0.913230 0.365600 +vn 0.018615 0.982608 -0.184758 +vn -0.739893 0.671688 0.037326 +vn -0.379691 0.923230 -0.059004 +vn -0.021404 0.999458 -0.025018 +vn -0.263969 0.836714 -0.479822 +vn -0.395396 0.905664 -0.153081 +vn -0.000000 0.832127 -0.554586 +vn -0.263969 0.836714 -0.479822 +vn -0.021404 0.999458 -0.025018 +vn 0.000000 0.988483 -0.151330 +vn -0.000000 0.832127 -0.554586 +vn -0.021404 0.999458 -0.025018 +vn 0.021405 0.999458 -0.025022 +vn -0.000000 0.832127 -0.554586 +vn 0.000000 0.988483 -0.151330 +vn 0.520037 0.006818 0.854117 +vn 0.589239 -0.205448 0.781402 +vn 0.000000 -0.290965 0.956734 +vn 0.955566 0.026426 0.293592 +vn 0.589239 -0.205448 0.781402 +vn 0.520037 0.006818 0.854117 +vn 0.179855 0.913230 0.365600 +vn 0.955566 0.026426 0.293592 +vn 0.520037 0.006818 0.854117 +vn 0.379692 0.923230 -0.059004 +vn 0.955566 0.026426 0.293592 +vn 0.179855 0.913230 0.365600 +vn 0.955566 0.026426 0.293592 +vn 0.951589 -0.118462 0.283630 +vn 0.589239 -0.205448 0.781402 +vn 0.983600 0.050351 -0.173191 +vn 0.951589 -0.118462 0.283630 +vn 0.955566 0.026426 0.293592 +vn 0.379692 0.923230 -0.059004 +vn 0.983600 0.050351 -0.173191 +vn 0.955566 0.026426 0.293592 +vn -0.018614 0.982607 -0.184761 +vn 0.983600 0.050351 -0.173191 +vn 0.379692 0.923230 -0.059004 +vn 0.983600 0.050351 -0.173191 +vn 0.984455 -0.062283 -0.164226 +vn 0.951589 -0.118462 0.283630 +vn 0.855450 0.100382 -0.508064 +vn 0.984455 -0.062283 -0.164226 +vn 0.983600 0.050351 -0.173191 +vn -0.018614 0.982607 -0.184761 +vn 0.855450 0.100382 -0.508064 +vn 0.983600 0.050351 -0.173191 +vn 0.021405 0.999458 -0.025022 +vn 0.855450 0.100382 -0.508064 +vn -0.018614 0.982607 -0.184761 +vn 0.855450 0.100382 -0.508064 +vn 0.876820 -0.024879 -0.480174 +vn 0.984455 -0.062283 -0.164226 +vn 0.490269 0.083576 -0.867555 +vn 0.876820 -0.024879 -0.480174 +vn 0.855450 0.100382 -0.508064 +vn 0.021405 0.999458 -0.025022 +vn 0.490269 0.083576 -0.867555 +vn 0.855450 0.100382 -0.508064 +vn 0.000000 0.988483 -0.151330 +vn 0.490269 0.083576 -0.867555 +vn 0.021405 0.999458 -0.025022 +vn 0.494282 0.849041 0.186586 +vn 0.992033 0.060494 -0.110505 +vn 0.739893 0.671688 0.037326 +vn 0.966084 0.253069 -0.051365 +vn 0.992033 0.060494 -0.110505 +vn 0.494282 0.849041 0.186586 +vn 0.495960 0.678947 0.541345 +vn 0.966084 0.253069 -0.051365 +vn 0.494282 0.849041 0.186586 +vn -0.122194 0.984214 0.128025 +vn 0.495960 0.678947 0.541345 +vn 0.494282 0.849041 0.186586 +vn 0.244038 0.641142 0.727587 +vn 0.495960 0.678947 0.541345 +vn -0.122194 0.984214 0.128025 +vn 0.000000 0.626771 0.779204 +vn 0.244038 0.641142 0.727587 +vn -0.122194 0.984214 0.128025 +vn -0.395396 0.905664 -0.153081 +vn -0.992033 0.060494 -0.110505 +vn -0.739893 0.671688 0.037326 +vn -0.972343 0.149244 -0.179652 +vn -0.992033 0.060494 -0.110505 +vn -0.395396 0.905664 -0.153081 +vn -0.575377 0.439377 -0.689847 +vn -0.972343 0.149244 -0.179652 +vn -0.395396 0.905664 -0.153081 +vn 0.000000 0.998199 0.059994 +vn 0.000000 0.626771 0.779204 +vn -0.122194 0.984214 0.128025 +vn 0.122193 0.984214 0.128027 +vn 0.000000 0.626771 0.779204 +vn 0.000000 0.998199 0.059994 +vn 0.992033 0.060494 -0.110505 +vn 0.395396 0.905664 -0.153082 +vn 0.739893 0.671688 0.037326 +vn 0.972343 0.149244 -0.179652 +vn 0.395396 0.905664 -0.153082 +vn 0.992033 0.060494 -0.110505 +vn 0.161090 0.556456 -0.815112 +vn -0.000000 0.154786 -0.987948 +vn 0.346758 0.192167 -0.918058 +vn -0.000000 0.583238 -0.812302 +vn -0.000000 0.154786 -0.987948 +vn 0.161090 0.556456 -0.815112 +vn -0.575377 0.439377 -0.689847 +vn -0.346758 0.192167 -0.918058 +vn -0.319126 0.616539 -0.719749 +vn -0.395396 0.905664 -0.153081 +vn -0.346758 0.192167 -0.918058 +vn -0.575377 0.439377 -0.689847 +vn -0.263969 0.836714 -0.479822 +vn -0.346758 0.192167 -0.918058 +vn -0.395396 0.905664 -0.153081 +vn -0.000000 0.832127 -0.554586 +vn -0.346758 0.192167 -0.918058 +vn -0.263969 0.836714 -0.479822 +vn 0.379692 0.923230 -0.059004 +vn 0.739893 0.671688 0.037326 +vn -0.018614 0.982607 -0.184761 +vn 0.179855 0.913230 0.365600 +vn 0.739893 0.671688 0.037326 +vn 0.379692 0.923230 -0.059004 +vn 0.018615 0.982608 -0.184758 +vn -0.395396 0.905664 -0.153081 +vn -0.739893 0.671688 0.037326 +vn -0.021404 0.999458 -0.025018 +vn -0.395396 0.905664 -0.153081 +vn 0.018615 0.982608 -0.184758 +vn -0.739893 0.671688 0.037326 +vn -0.992033 0.060494 -0.110505 +vn -0.494282 0.849041 0.186586 +vn -0.000000 0.154786 -0.987948 +vn -0.000000 0.583238 -0.812302 +vn -0.161090 0.556455 -0.815112 +vn 0.161582 0.276280 -0.947397 +vn 0.109956 0.820781 -0.560561 +vn 0.148207 0.147759 -0.977856 +vn 0.084883 0.830185 -0.550988 +vn 0.109956 0.820781 -0.560561 +vn 0.161582 0.276280 -0.947397 +vn -0.009986 0.253649 -0.967245 +vn 0.084883 0.830185 -0.550988 +vn 0.161582 0.276280 -0.947397 +vn 0.088416 0.831239 -0.548839 +vn 0.084883 0.830185 -0.550988 +vn -0.009986 0.253649 -0.967245 +vn 0.132895 0.896891 0.421812 +vn 0.066261 0.996005 -0.059867 +vn 0.075321 0.876242 0.475949 +vn 0.143852 0.985951 -0.084891 +vn 0.066261 0.996005 -0.059867 +vn 0.132895 0.896891 0.421812 +vn 0.105288 0.900330 0.422280 +vn 0.143852 0.985951 -0.084891 +vn 0.132895 0.896891 0.421812 +vn 0.072447 0.995720 -0.057380 +vn 0.143852 0.985951 -0.084891 +vn 0.105288 0.900330 0.422280 +vn 0.143852 0.985951 -0.084891 +vn 0.088416 0.831239 -0.548839 +vn 0.066261 0.996005 -0.059867 +vn 0.084883 0.830185 -0.550988 +vn 0.088416 0.831239 -0.548839 +vn 0.143852 0.985951 -0.084891 +vn 0.072447 0.995720 -0.057380 +vn 0.084883 0.830185 -0.550988 +vn 0.143852 0.985951 -0.084891 +vn 0.109956 0.820781 -0.560561 +vn 0.084883 0.830185 -0.550988 +vn 0.072447 0.995720 -0.057380 +vn 0.132895 0.896891 0.421812 +vn 0.053215 0.391272 0.918735 +vn 0.105288 0.900330 0.422280 +vn 0.155404 0.376961 0.913099 +vn 0.053215 0.391272 0.918735 +vn 0.132895 0.896891 0.421812 +vn 0.638014 -0.059602 0.767715 +vn 0.177624 0.381362 0.907201 +vn 0.496821 0.561897 0.661394 +vn 0.132014 0.339424 0.931324 +vn 0.177624 0.381362 0.907201 +vn 0.638014 -0.059602 0.767715 +vn 0.245491 -0.233347 0.940895 +vn 0.132014 0.339424 0.931324 +vn 0.638014 -0.059602 0.767715 +vn 0.155404 0.376961 0.913099 +vn 0.132014 0.339424 0.931324 +vn 0.245491 -0.233347 0.940895 +vn 0.132014 0.339424 0.931324 +vn 0.001336 0.898197 0.439591 +vn 0.177624 0.381362 0.907201 +vn 0.075321 0.876242 0.475949 +vn 0.001336 0.898197 0.439591 +vn 0.132014 0.339424 0.931324 +vn 0.155404 0.376961 0.913099 +vn 0.075321 0.876242 0.475949 +vn 0.132014 0.339424 0.931324 +vn 0.132895 0.896891 0.421812 +vn 0.075321 0.876242 0.475949 +vn 0.155404 0.376961 0.913099 +vn 0.349509 0.317287 -0.881574 +vn 0.088416 0.831239 -0.548839 +vn -0.009986 0.253649 -0.967245 +vn 0.105926 0.883378 -0.456534 +vn 0.088416 0.831239 -0.548839 +vn 0.349509 0.317287 -0.881574 +vn 0.105926 0.883378 -0.456534 +vn 0.066261 0.996005 -0.059867 +vn 0.088416 0.831239 -0.548839 +vn -0.018221 0.999216 -0.035152 +vn 0.066261 0.996005 -0.059867 +vn 0.105926 0.883378 -0.456534 +vn -0.018221 0.999216 -0.035152 +vn 0.075321 0.876242 0.475949 +vn 0.066261 0.996005 -0.059867 +vn 0.001336 0.898197 0.439591 +vn 0.075321 0.876242 0.475949 +vn -0.018221 0.999216 -0.035152 +vn -0.358475 0.816884 0.451881 +vn -0.475757 0.571224 0.668848 +vn -0.615136 0.488532 0.618824 +vn -0.149318 0.901566 0.406057 +vn -0.475757 0.571224 0.668848 +vn -0.358475 0.816884 0.451881 +vn -0.283795 0.953568 0.100841 +vn -0.149318 0.901566 0.406057 +vn -0.358475 0.816884 0.451881 +vn -0.087838 0.995762 -0.027264 +vn -0.149318 0.901566 0.406057 +vn -0.283795 0.953568 0.100841 +vn -0.269371 0.934402 -0.233093 +vn -0.087838 0.995762 -0.027264 +vn -0.283795 0.953568 0.100841 +vn -0.142165 0.898632 -0.415030 +vn -0.087838 0.995762 -0.027264 +vn -0.269371 0.934402 -0.233093 +vn -0.197559 0.735650 -0.647912 +vn -0.142165 0.898632 -0.415030 +vn -0.269371 0.934402 -0.233093 +vn -0.255530 0.454016 -0.853565 +vn -0.142165 0.898632 -0.415030 +vn -0.197559 0.735650 -0.647912 +vn -0.300421 0.330077 -0.894872 +vn -0.255530 0.454016 -0.853565 +vn -0.197559 0.735650 -0.647912 +vn 0.244038 0.641142 0.727587 +vn 0.228265 0.788936 0.570504 +vn 0.495960 0.678947 0.541345 +vn 0.185299 0.630124 0.754061 +vn 0.228265 0.788936 0.570504 +vn 0.244038 0.641142 0.727587 +vn 0.000000 0.626771 0.779204 +vn 0.185299 0.630124 0.754061 +vn 0.244038 0.641142 0.727587 +vn 0.000000 0.544440 0.838800 +vn 0.185299 0.630124 0.754061 +vn 0.000000 0.626771 0.779204 +vn -0.185298 0.630125 0.754060 +vn 0.000000 0.544440 0.838800 +vn 0.000000 0.626771 0.779204 +vn -0.060447 0.780370 0.622389 +vn 0.000000 0.544440 0.838800 +vn -0.185298 0.630125 0.754060 +vn -0.159805 0.769325 0.618548 +vn -0.060447 0.780370 0.622389 +vn -0.185298 0.630125 0.754060 +vn -0.098551 0.794661 0.599000 +vn -0.060447 0.780370 0.622389 +vn -0.159805 0.769325 0.618548 +vn 0.185299 0.630124 0.754061 +vn 0.159805 0.769326 0.618547 +vn 0.228265 0.788936 0.570504 +vn 0.060448 0.780369 0.622390 +vn 0.159805 0.769326 0.618547 +vn 0.185299 0.630124 0.754061 +vn 0.000000 0.544440 0.838800 +vn 0.060448 0.780369 0.622390 +vn 0.185299 0.630124 0.754061 +vn 0.000000 0.757529 0.652801 +vn 0.060448 0.780369 0.622390 +vn 0.000000 0.544440 0.838800 +vn -0.060447 0.780370 0.622389 +vn 0.000000 0.757529 0.652801 +vn 0.000000 0.544440 0.838800 +vn -0.106589 0.690257 0.715670 +vn 0.000000 0.757529 0.652801 +vn -0.060447 0.780370 0.622389 +vn -0.098551 0.794661 0.599000 +vn -0.106589 0.690257 0.715670 +vn -0.060447 0.780370 0.622389 +vn -0.280673 0.535358 0.796627 +vn -0.106589 0.690257 0.715670 +vn -0.098551 0.794661 0.599000 +vn 0.197559 0.735650 -0.647912 +vn 0.255530 0.454016 -0.853565 +vn 0.300421 0.330077 -0.894872 +vn 0.142165 0.898632 -0.415030 +vn 0.255530 0.454016 -0.853565 +vn 0.197559 0.735650 -0.647912 +vn 0.269371 0.934402 -0.233093 +vn 0.142165 0.898632 -0.415030 +vn 0.197559 0.735650 -0.647912 +vn 0.087838 0.995762 -0.027264 +vn 0.142165 0.898632 -0.415030 +vn 0.269371 0.934402 -0.233093 +vn 0.283795 0.953568 0.100841 +vn 0.087838 0.995762 -0.027264 +vn 0.269371 0.934402 -0.233093 +vn 0.149318 0.901566 0.406058 +vn 0.087838 0.995762 -0.027264 +vn 0.283795 0.953568 0.100841 +vn 0.358475 0.816883 0.451882 +vn 0.149318 0.901566 0.406058 +vn 0.283795 0.953568 0.100841 +vn 0.060448 0.780369 0.622390 +vn 0.098551 0.794662 0.598999 +vn 0.159805 0.769326 0.618547 +vn 0.106588 0.690257 0.715671 +vn 0.098551 0.794662 0.598999 +vn 0.060448 0.780369 0.622390 +vn 0.000000 0.757529 0.652801 +vn 0.106588 0.690257 0.715671 +vn 0.060448 0.780369 0.622390 +vn 0.000000 0.693252 0.720696 +vn 0.106588 0.690257 0.715671 +vn 0.000000 0.757529 0.652801 +vn -0.106589 0.690257 0.715670 +vn 0.000000 0.693252 0.720696 +vn 0.000000 0.757529 0.652801 +vn 0.128750 0.565714 -0.814488 +vn 0.161090 0.556456 -0.815112 +vn 0.319126 0.616540 -0.719748 +vn -0.000000 0.583238 -0.812302 +vn 0.161090 0.556456 -0.815112 +vn 0.128750 0.565714 -0.814488 +vn 0.000000 0.535507 -0.844531 +vn -0.000000 0.583238 -0.812302 +vn 0.128750 0.565714 -0.814488 +vn -0.128750 0.565714 -0.814488 +vn -0.000000 0.583238 -0.812302 +vn 0.000000 0.535507 -0.844531 +vn -0.120002 0.633377 0.764482 +vn -0.106589 0.690257 0.715670 +vn -0.280673 0.535358 0.796627 +vn 0.000000 0.693252 0.720696 +vn -0.106589 0.690257 0.715670 +vn -0.120002 0.633377 0.764482 +vn 0.000000 0.638031 0.770010 +vn 0.000000 0.693252 0.720696 +vn -0.120002 0.633377 0.764482 +vn 0.120002 0.633377 0.764482 +vn 0.000000 0.693252 0.720696 +vn 0.000000 0.638031 0.770010 +vn 0.106588 0.690257 0.715671 +vn 0.280673 0.535358 0.796627 +vn 0.098551 0.794662 0.598999 +vn 0.120002 0.633377 0.764482 +vn 0.280673 0.535358 0.796627 +vn 0.106588 0.690257 0.715671 +vn 0.000000 0.693252 0.720696 +vn 0.120002 0.633377 0.764482 +vn 0.106588 0.690257 0.715671 +vn -0.185298 0.630125 0.754060 +vn -0.228265 0.788936 0.570504 +vn -0.159805 0.769325 0.618548 +vn -0.244038 0.641141 0.727587 +vn -0.228265 0.788936 0.570504 +vn -0.185298 0.630125 0.754060 +vn 0.000000 0.626771 0.779204 +vn -0.244038 0.641141 0.727587 +vn -0.185298 0.630125 0.754060 +vn 0.496821 0.561897 0.661394 +vn 0.358475 0.816883 0.451882 +vn 0.615136 0.488532 0.618825 +vn 0.149318 0.901566 0.406058 +vn 0.358475 0.816883 0.451882 +vn 0.496821 0.561897 0.661394 +vn -0.161090 0.556455 -0.815112 +vn -0.128750 0.565714 -0.814488 +vn -0.319126 0.616539 -0.719749 +vn -0.000000 0.583238 -0.812302 +vn -0.128750 0.565714 -0.814488 +vn -0.161090 0.556455 -0.815112 +vn -0.244038 0.641141 0.727587 +vn -0.495960 0.678947 0.541345 +vn -0.228265 0.788936 0.570504 +vn 0.039682 0.272328 -0.961386 +vn -0.026909 0.778854 -0.626628 +vn -0.020180 0.226682 -0.973760 +vn 0.043781 0.783368 -0.620014 +vn -0.026909 0.778854 -0.626628 +vn 0.039682 0.272328 -0.961386 +vn 0.038920 0.243228 -0.969188 +vn 0.043781 0.783368 -0.620014 +vn 0.039682 0.272328 -0.961386 +vn 0.062579 0.784151 -0.617406 +vn 0.043781 0.783368 -0.620014 +vn 0.038920 0.243228 -0.969188 +vn 0.034904 0.766141 -0.641724 +vn 0.062579 0.784151 -0.617406 +vn 0.038920 0.243228 -0.969188 +vn 0.008209 0.993414 -0.114287 +vn 0.062579 0.784151 -0.617406 +vn 0.034904 0.766141 -0.641724 +vn -0.119123 0.987465 -0.103548 +vn 0.008209 0.993414 -0.114287 +vn 0.034904 0.766141 -0.641724 +vn 0.044144 0.896765 0.440300 +vn 0.008209 0.993414 -0.114287 +vn -0.119123 0.987465 -0.103548 +vn -0.072479 0.907321 0.414144 +vn 0.044144 0.896765 0.440300 +vn -0.119123 0.987465 -0.103548 +vn 0.123734 0.472957 0.872354 +vn 0.044144 0.896765 0.440300 +vn -0.072479 0.907321 0.414144 +vn 0.019625 0.460801 0.887286 +vn 0.123734 0.472957 0.872354 +vn -0.072479 0.907321 0.414144 +vn 0.092719 -0.172311 0.980669 +vn 0.123734 0.472957 0.872354 +vn 0.019625 0.460801 0.887286 +vn 0.060924 -0.151716 0.986545 +vn 0.092719 -0.172311 0.980669 +vn 0.019625 0.460801 0.887286 +vn 0.063811 -0.715625 0.695564 +vn 0.092719 -0.172311 0.980669 +vn 0.060924 -0.151716 0.986545 +vn 0.072130 -0.749939 0.657563 +vn 0.063811 -0.715625 0.695564 +vn 0.060924 -0.151716 0.986545 +vn 0.028792 -0.992688 0.117221 +vn 0.063811 -0.715625 0.695564 +vn 0.072130 -0.749939 0.657563 +vn 0.062217 -0.991801 0.111626 +vn 0.028792 -0.992688 0.117221 +vn 0.072130 -0.749939 0.657563 +vn 0.066047 -0.988634 0.135060 +vn 0.006091 -0.892507 -0.450992 +vn 0.032783 -0.993722 0.106968 +vn 0.035738 -0.876437 -0.480188 +vn 0.006091 -0.892507 -0.450992 +vn 0.066047 -0.988634 0.135060 +vn 0.003295 -0.993291 0.115595 +vn 0.035738 -0.876437 -0.480188 +vn 0.066047 -0.988634 0.135060 +vn 0.011042 -0.886308 -0.462965 +vn 0.035738 -0.876437 -0.480188 +vn 0.003295 -0.993291 0.115595 +vn -0.046861 -0.871216 -0.488658 +vn 0.011042 -0.886308 -0.462965 +vn 0.003295 -0.993291 0.115595 +vn -0.003310 -0.373687 -0.927549 +vn 0.011042 -0.886308 -0.462965 +vn -0.046861 -0.871216 -0.488658 +vn -0.035568 -0.383621 -0.922806 +vn -0.003310 -0.373687 -0.927549 +vn -0.046861 -0.871216 -0.488658 +vn 0.038920 0.243228 -0.969188 +vn -0.003310 -0.373687 -0.927549 +vn -0.035568 -0.383621 -0.922806 +vn 0.009511 0.273399 -0.961854 +vn 0.038920 0.243228 -0.969188 +vn -0.035568 -0.383621 -0.922806 +vn 0.034904 0.766141 -0.641724 +vn 0.038920 0.243228 -0.969188 +vn 0.009511 0.273399 -0.961854 +vn 0.048354 0.276067 -0.959921 +vn 0.034904 0.766141 -0.641724 +vn 0.009511 0.273399 -0.961854 +vn -0.052859 0.801247 -0.595994 +vn 0.034904 0.766141 -0.641724 +vn 0.048354 0.276067 -0.959921 +vn 0.049568 0.175061 -0.983309 +vn -0.052859 0.801247 -0.595994 +vn 0.048354 0.276067 -0.959921 +vn -0.014336 0.787945 -0.615579 +vn -0.052859 0.801247 -0.595994 +vn 0.049568 0.175061 -0.983309 +vn 0.097189 0.206868 -0.973530 +vn -0.014336 0.787945 -0.615579 +vn 0.049568 0.175061 -0.983309 +vn 0.091091 0.793258 -0.602034 +vn -0.014336 0.787945 -0.615579 +vn 0.097189 0.206868 -0.973530 +vn 0.075010 0.884106 0.461227 +vn 0.043660 0.443860 0.895032 +vn 0.010281 0.894537 0.446876 +vn 0.084287 0.429637 0.899060 +vn 0.043660 0.443860 0.895032 +vn 0.075010 0.884106 0.461227 +vn 0.094141 0.896804 0.432297 +vn 0.084287 0.429637 0.899060 +vn 0.075010 0.884106 0.461227 +vn 0.073310 0.436878 0.896528 +vn 0.084287 0.429637 0.899060 +vn 0.094141 0.896804 0.432297 +vn 0.123734 0.472957 0.872354 +vn 0.073310 0.436878 0.896528 +vn 0.094141 0.896804 0.432297 +vn 0.007062 -0.157034 0.987568 +vn 0.073310 0.436878 0.896528 +vn 0.123734 0.472957 0.872354 +vn 0.092719 -0.172311 0.980669 +vn 0.007062 -0.157034 0.987568 +vn 0.123734 0.472957 0.872354 +vn 0.052175 -0.733397 0.677795 +vn 0.007062 -0.157034 0.987568 +vn 0.092719 -0.172311 0.980669 +vn 0.063811 -0.715625 0.695564 +vn 0.052175 -0.733397 0.677795 +vn 0.092719 -0.172311 0.980669 +vn 0.028792 -0.992688 0.117221 +vn 0.052175 -0.733397 0.677795 +vn 0.063811 -0.715625 0.695564 +vn 0.043781 0.783368 -0.620014 +vn -0.014891 0.992029 -0.125128 +vn -0.026909 0.778854 -0.626628 +vn 0.054604 0.993106 -0.103726 +vn -0.014891 0.992029 -0.125128 +vn 0.043781 0.783368 -0.620014 +vn 0.062579 0.784151 -0.617406 +vn 0.054604 0.993106 -0.103726 +vn 0.043781 0.783368 -0.620014 +vn 0.088949 0.990999 -0.100041 +vn 0.054604 0.993106 -0.103726 +vn 0.062579 0.784151 -0.617406 +vn 0.008209 0.993414 -0.114287 +vn 0.088949 0.990999 -0.100041 +vn 0.062579 0.784151 -0.617406 +vn 0.044144 0.896765 0.440300 +vn 0.088949 0.990999 -0.100041 +vn 0.008209 0.993414 -0.114287 +vn 0.054604 0.993106 -0.103726 +vn 0.010281 0.894537 0.446876 +vn -0.014891 0.992029 -0.125128 +vn 0.075010 0.884106 0.461227 +vn 0.010281 0.894537 0.446876 +vn 0.054604 0.993106 -0.103726 +vn 0.088949 0.990999 -0.100041 +vn 0.075010 0.884106 0.461227 +vn 0.054604 0.993106 -0.103726 +vn 0.094141 0.896804 0.432297 +vn 0.075010 0.884106 0.461227 +vn 0.088949 0.990999 -0.100041 +vn 0.044144 0.896765 0.440300 +vn 0.094141 0.896804 0.432297 +vn 0.088949 0.990999 -0.100041 +vn 0.123734 0.472957 0.872354 +vn 0.094141 0.896804 0.432297 +vn 0.044144 0.896765 0.440300 +vn 0.097982 -0.712469 0.694830 +vn 0.032783 -0.993722 0.106968 +vn 0.038156 -0.778895 0.625992 +vn 0.066047 -0.988634 0.135060 +vn 0.032783 -0.993722 0.106968 +vn 0.097982 -0.712469 0.694830 +vn 0.052175 -0.733397 0.677795 +vn 0.066047 -0.988634 0.135060 +vn 0.097982 -0.712469 0.694830 +vn 0.003295 -0.993291 0.115595 +vn 0.066047 -0.988634 0.135060 +vn 0.052175 -0.733397 0.677795 +vn 0.028792 -0.992688 0.117221 +vn 0.003295 -0.993291 0.115595 +vn 0.052175 -0.733397 0.677795 +vn -0.065470 0.992463 -0.103591 +vn 0.091091 0.793258 -0.602034 +vn 0.014386 0.996091 -0.087157 +vn -0.014336 0.787945 -0.615579 +vn 0.091091 0.793258 -0.602034 +vn -0.065470 0.992463 -0.103591 +vn -0.119123 0.987465 -0.103548 +vn -0.014336 0.787945 -0.615579 +vn -0.065470 0.992463 -0.103591 +vn -0.052859 0.801247 -0.595994 +vn -0.014336 0.787945 -0.615579 +vn -0.119123 0.987465 -0.103548 +vn 0.034904 0.766141 -0.641724 +vn -0.052859 0.801247 -0.595994 +vn -0.119123 0.987465 -0.103548 +vn 0.060983 -0.876418 -0.477674 +vn -0.002182 -0.995603 0.093647 +vn 0.030253 -0.902431 -0.429770 +vn 0.062217 -0.991801 0.111626 +vn -0.002182 -0.995603 0.093647 +vn 0.060983 -0.876418 -0.477674 +vn -0.046861 -0.871216 -0.488658 +vn 0.062217 -0.991801 0.111626 +vn 0.060983 -0.876418 -0.477674 +vn 0.028792 -0.992688 0.117221 +vn 0.062217 -0.991801 0.111626 +vn -0.046861 -0.871216 -0.488658 +vn 0.003295 -0.993291 0.115595 +vn 0.028792 -0.992688 0.117221 +vn -0.046861 -0.871216 -0.488658 +vn 0.035738 -0.876437 -0.480188 +vn -0.017764 -0.334311 -0.942295 +vn 0.006091 -0.892507 -0.450992 +vn 0.048012 -0.360941 -0.931352 +vn -0.017764 -0.334311 -0.942295 +vn 0.035738 -0.876437 -0.480188 +vn 0.011042 -0.886308 -0.462965 +vn 0.048012 -0.360941 -0.931352 +vn 0.035738 -0.876437 -0.480188 +vn -0.003310 -0.373687 -0.927549 +vn 0.048012 -0.360941 -0.931352 +vn 0.011042 -0.886308 -0.462965 +vn 0.048012 -0.360941 -0.931352 +vn -0.020180 0.226682 -0.973760 +vn -0.017764 -0.334311 -0.942295 +vn 0.039682 0.272328 -0.961386 +vn -0.020180 0.226682 -0.973760 +vn 0.048012 -0.360941 -0.931352 +vn -0.003310 -0.373687 -0.927549 +vn 0.039682 0.272328 -0.961386 +vn 0.048012 -0.360941 -0.931352 +vn 0.038920 0.243228 -0.969188 +vn 0.039682 0.272328 -0.961386 +vn -0.003310 -0.373687 -0.927549 +vn 0.084287 0.429637 0.899060 +vn 0.045363 -0.192639 0.980221 +vn 0.043660 0.443860 0.895032 +vn 0.088890 -0.162311 0.982728 +vn 0.045363 -0.192639 0.980221 +vn 0.084287 0.429637 0.899060 +vn 0.073310 0.436878 0.896528 +vn 0.088890 -0.162311 0.982728 +vn 0.084287 0.429637 0.899060 +vn 0.007062 -0.157034 0.987568 +vn 0.088890 -0.162311 0.982728 +vn 0.073310 0.436878 0.896528 +vn 0.088890 -0.162311 0.982728 +vn 0.038156 -0.778895 0.625992 +vn 0.045363 -0.192639 0.980221 +vn 0.097982 -0.712469 0.694830 +vn 0.038156 -0.778895 0.625992 +vn 0.088890 -0.162311 0.982728 +vn 0.007062 -0.157034 0.987568 +vn 0.097982 -0.712469 0.694830 +vn 0.088890 -0.162311 0.982728 +vn 0.052175 -0.733397 0.677795 +vn 0.097982 -0.712469 0.694830 +vn 0.007062 -0.157034 0.987568 +vn 0.032519 -0.218178 0.975367 +vn 0.040528 0.385122 0.921975 +vn 0.017738 -0.260976 0.965182 +vn 0.009008 0.397046 0.917755 +vn 0.040528 0.385122 0.921975 +vn 0.032519 -0.218178 0.975367 +vn 0.060924 -0.151716 0.986545 +vn 0.009008 0.397046 0.917755 +vn 0.032519 -0.218178 0.975367 +vn 0.019625 0.460801 0.887286 +vn 0.009008 0.397046 0.917755 +vn 0.060924 -0.151716 0.986545 +vn 0.009008 0.397046 0.917755 +vn 0.017836 0.900549 0.434389 +vn 0.040528 0.385122 0.921975 +vn -0.042548 0.892139 0.449753 +vn 0.017836 0.900549 0.434389 +vn 0.009008 0.397046 0.917755 +vn 0.019625 0.460801 0.887286 +vn -0.042548 0.892139 0.449753 +vn 0.009008 0.397046 0.917755 +vn -0.072479 0.907321 0.414144 +vn -0.042548 0.892139 0.449753 +vn 0.019625 0.460801 0.887286 +vn -0.042548 0.892139 0.449753 +vn 0.014386 0.996091 -0.087157 +vn 0.017836 0.900549 0.434389 +vn -0.065470 0.992463 -0.103591 +vn 0.014386 0.996091 -0.087157 +vn -0.042548 0.892139 0.449753 +vn -0.072479 0.907321 0.414144 +vn -0.065470 0.992463 -0.103591 +vn -0.042548 0.892139 0.449753 +vn -0.119123 0.987465 -0.103548 +vn -0.065470 0.992463 -0.103591 +vn -0.072479 0.907321 0.414144 +vn 0.048354 0.276067 -0.959921 +vn 0.054727 -0.463812 -0.884242 +vn 0.049568 0.175061 -0.983309 +vn 0.115339 -0.367578 -0.922813 +vn 0.054727 -0.463812 -0.884242 +vn 0.048354 0.276067 -0.959921 +vn 0.009511 0.273399 -0.961854 +vn 0.115339 -0.367578 -0.922813 +vn 0.048354 0.276067 -0.959921 +vn -0.035568 -0.383621 -0.922806 +vn 0.115339 -0.367578 -0.922813 +vn 0.009511 0.273399 -0.961854 +vn 0.115339 -0.367578 -0.922813 +vn 0.030253 -0.902431 -0.429770 +vn 0.054727 -0.463812 -0.884242 +vn 0.060983 -0.876418 -0.477674 +vn 0.030253 -0.902431 -0.429770 +vn 0.115339 -0.367578 -0.922813 +vn -0.035568 -0.383621 -0.922806 +vn 0.060983 -0.876418 -0.477674 +vn 0.115339 -0.367578 -0.922813 +vn -0.046861 -0.871216 -0.488658 +vn 0.060983 -0.876418 -0.477674 +vn -0.035568 -0.383621 -0.922806 +vn 0.000000 0.535507 -0.844531 +vn 0.000000 0.423260 -0.906008 +vn -0.128750 0.565714 -0.814488 +vn 0.128750 0.565714 -0.814488 +vn 0.000000 0.423260 -0.906008 +vn 0.000000 0.535507 -0.844531 +vn 0.062217 -0.991801 0.111626 +vn -0.007914 -0.793312 0.608764 +vn -0.002182 -0.995603 0.093647 +vn 0.072130 -0.749939 0.657563 +vn -0.007914 -0.793312 0.608764 +vn 0.062217 -0.991801 0.111626 +vn 0.072130 -0.749939 0.657563 +vn 0.032519 -0.218178 0.975367 +vn -0.007914 -0.793312 0.608764 +vn 0.060924 -0.151716 0.986545 +vn 0.032519 -0.218178 0.975367 +vn 0.072130 -0.749939 0.657563 +vn 0.120002 0.633377 0.764482 +vn 0.186194 0.653374 0.733781 +vn 0.280673 0.535358 0.796627 +vn 0.122696 0.589994 0.798030 +vn 0.186194 0.653374 0.733781 +vn 0.120002 0.633377 0.764482 +vn 0.000000 0.638031 0.770010 +vn 0.122696 0.589994 0.798030 +vn 0.120002 0.633377 0.764482 +vn 0.000000 0.571431 0.820650 +vn 0.122696 0.589994 0.798030 +vn 0.000000 0.638031 0.770010 +vn -0.122696 0.589994 0.798030 +vn 0.000000 0.571431 0.820650 +vn 0.000000 0.638031 0.770010 +vn 0.000000 0.523654 0.851931 +vn 0.000000 0.571431 0.820650 +vn -0.122696 0.589994 0.798030 +vn -0.096928 0.515450 0.851420 +vn 0.000000 0.523654 0.851931 +vn -0.122696 0.589994 0.798030 +vn 0.496821 0.561897 0.661394 +vn 0.949792 0.171251 0.261855 +vn 0.638014 -0.059602 0.767715 +vn 0.818555 0.329138 0.470783 +vn 0.949792 0.171251 0.261855 +vn 0.496821 0.561897 0.661394 +vn 0.615136 0.488532 0.618825 +vn 0.818555 0.329138 0.470783 +vn 0.496821 0.561897 0.661394 +vn 0.817279 0.281924 0.502567 +vn 0.818555 0.329138 0.470783 +vn 0.615136 0.488532 0.618825 +vn -0.122696 0.589994 0.798030 +vn -0.165207 0.528722 0.832562 +vn -0.096928 0.515450 0.851420 +vn -0.186194 0.653374 0.733781 +vn -0.165207 0.528722 0.832562 +vn -0.122696 0.589994 0.798030 +vn -0.120002 0.633377 0.764482 +vn -0.186194 0.653374 0.733781 +vn -0.122696 0.589994 0.798030 +vn -0.280673 0.535358 0.796627 +vn -0.186194 0.653374 0.733781 +vn -0.120002 0.633377 0.764482 +vn 0.000000 0.523654 0.851931 +vn 0.122696 0.589994 0.798030 +vn 0.000000 0.571431 0.820650 +vn 0.096928 0.515450 0.851420 +vn 0.122696 0.589994 0.798030 +vn 0.000000 0.523654 0.851931 +vn 0.165207 0.528721 0.832563 +vn 0.122696 0.589994 0.798030 +vn 0.096928 0.515450 0.851420 +vn 0.186194 0.653374 0.733781 +vn 0.122696 0.589994 0.798030 +vn 0.165207 0.528721 0.832563 +vn -0.120002 0.633377 0.764482 +vn -0.122696 0.589994 0.798030 +vn 0.000000 0.638031 0.770010 +vn -0.931515 -0.339453 0.130579 +vn -0.996587 -0.016589 -0.080870 +vn -0.914650 -0.365776 -0.172113 +vn -0.988517 -0.081797 0.127055 +vn -0.996587 -0.016589 -0.080870 +vn -0.931515 -0.339453 0.130579 +vn -0.912003 0.063087 0.405304 +vn -0.988517 -0.081797 0.127055 +vn -0.931515 -0.339453 0.130579 +vn -0.946626 0.135090 0.292660 +vn -0.988517 -0.081797 0.127055 +vn -0.912003 0.063087 0.405304 +vn -0.817279 0.281924 0.502567 +vn -0.946626 0.135090 0.292660 +vn -0.912003 0.063087 0.405304 +vn -0.818555 0.329138 0.470783 +vn -0.946626 0.135090 0.292660 +vn -0.817279 0.281924 0.502567 +vn -0.953216 0.131857 -0.272016 +vn -0.996587 -0.016589 -0.080870 +vn -0.928928 0.369654 -0.021177 +vn -0.875857 -0.115079 -0.468649 +vn -0.996587 -0.016589 -0.080870 +vn -0.953216 0.131857 -0.272016 +vn -0.619283 -0.088642 -0.780148 +vn -0.875857 -0.115079 -0.468649 +vn -0.953216 0.131857 -0.272016 +vn -0.594353 -0.128670 -0.793844 +vn -0.875857 -0.115079 -0.468649 +vn -0.619283 -0.088642 -0.780148 +vn -0.931881 0.359737 -0.046759 +vn -0.946626 0.135090 0.292660 +vn -0.957531 0.286279 0.034348 +vn -0.988517 -0.081797 0.127055 +vn -0.946626 0.135090 0.292660 +vn -0.931881 0.359737 -0.046759 +vn -0.928928 0.369654 -0.021177 +vn -0.988517 -0.081797 0.127055 +vn -0.931881 0.359737 -0.046759 +vn -0.996587 -0.016589 -0.080870 +vn -0.988517 -0.081797 0.127055 +vn -0.928928 0.369654 -0.021177 +vn -0.768954 -0.289991 -0.569750 +vn -0.875857 -0.115079 -0.468649 +vn -0.594353 -0.128670 -0.793844 +vn -0.914650 -0.365776 -0.172113 +vn -0.875857 -0.115079 -0.468649 +vn -0.768954 -0.289991 -0.569750 +vn -0.957531 0.286279 0.034348 +vn -0.818555 0.329138 0.470783 +vn -0.953567 0.152043 0.259987 +vn -0.946626 0.135090 0.292660 +vn -0.818555 0.329138 0.470783 +vn -0.957531 0.286279 0.034348 +vn -0.996587 -0.016589 -0.080870 +vn -0.875857 -0.115079 -0.468649 +vn -0.914650 -0.365776 -0.172113 +vn -0.931515 -0.339453 0.130579 +vn -0.711671 0.696806 -0.089363 +vn -0.912003 0.063087 0.405304 +vn -0.953216 0.131857 -0.272016 +vn -0.589840 -0.172895 -0.788794 +vn -0.619283 -0.088642 -0.780148 +vn -0.967617 -0.190772 -0.165297 +vn -0.589840 -0.172895 -0.788794 +vn -0.953216 0.131857 -0.272016 +vn -0.928928 0.369654 -0.021177 +vn -0.967617 -0.190772 -0.165297 +vn -0.953216 0.131857 -0.272016 +vn -0.994872 -0.100202 0.013755 +vn -0.967617 -0.190772 -0.165297 +vn -0.928928 0.369654 -0.021177 +vn -0.100088 -0.806585 0.582583 +vn -0.669469 -0.120119 0.733064 +vn -0.245491 -0.233347 0.940895 +vn -0.975587 -0.047215 0.214480 +vn -0.669469 -0.120119 0.733064 +vn -0.100088 -0.806585 0.582583 +vn -0.994872 -0.100202 0.013755 +vn -0.975587 -0.047215 0.214480 +vn -0.100088 -0.806585 0.582583 +vn -0.967617 -0.190772 -0.165297 +vn -0.145963 -0.430479 -0.890720 +vn -0.589840 -0.172895 -0.788794 +vn -0.061575 -0.942931 -0.327245 +vn -0.145963 -0.430479 -0.890720 +vn -0.967617 -0.190772 -0.165297 +vn -0.044699 -0.996105 0.076010 +vn -0.061575 -0.942931 -0.327245 +vn -0.967617 -0.190772 -0.165297 +vn -0.975587 -0.047215 0.214480 +vn -0.931881 0.359737 -0.046759 +vn -0.957531 0.286279 0.034348 +vn -0.994872 -0.100202 0.013755 +vn -0.931881 0.359737 -0.046759 +vn -0.975587 -0.047215 0.214480 +vn -0.953567 0.152043 0.259987 +vn -0.975587 -0.047215 0.214480 +vn -0.957531 0.286279 0.034348 +vn -0.669469 -0.120119 0.733064 +vn -0.975587 -0.047215 0.214480 +vn -0.953567 0.152043 0.259987 +vn -0.044699 -0.996105 0.076010 +vn -0.994872 -0.100202 0.013755 +vn -0.100088 -0.806585 0.582583 +vn -0.928928 0.369654 -0.021177 +vn -0.931881 0.359737 -0.046759 +vn -0.994872 -0.100202 0.013755 +vn -0.994872 -0.100202 0.013755 +vn -0.044699 -0.996105 0.076010 +vn -0.967617 -0.190772 -0.165297 +vn -0.145963 -0.430479 -0.890720 +vn -0.148207 0.147760 -0.977856 +vn -0.161582 0.276281 -0.947397 +vn -0.097190 0.206867 -0.973530 +vn -0.148207 0.147760 -0.977856 +vn -0.145963 -0.430479 -0.890720 +vn -0.088300 -0.451209 -0.888039 +vn -0.097190 0.206867 -0.973530 +vn -0.145963 -0.430479 -0.890720 +vn -0.049569 0.175060 -0.983309 +vn -0.097190 0.206867 -0.973530 +vn -0.088300 -0.451209 -0.888039 +vn -0.054726 -0.463812 -0.884242 +vn -0.049569 0.175060 -0.983309 +vn -0.088300 -0.451209 -0.888039 +vn -0.061575 -0.942931 -0.327245 +vn -0.088300 -0.451209 -0.888039 +vn -0.145963 -0.430479 -0.890720 +vn -0.054726 -0.463812 -0.884242 +vn -0.088300 -0.451209 -0.888039 +vn -0.061575 -0.942931 -0.327245 +vn -0.030253 -0.902431 -0.429770 +vn -0.054726 -0.463812 -0.884242 +vn -0.061575 -0.942931 -0.327245 +vn -0.589840 -0.172895 -0.788794 +vn -0.161582 0.276281 -0.947397 +vn 0.009986 0.253650 -0.967245 +vn -0.145963 -0.430479 -0.890720 +vn -0.161582 0.276281 -0.947397 +vn -0.589840 -0.172895 -0.788794 +vn -0.091091 0.793257 -0.602035 +vn -0.148207 0.147760 -0.977856 +vn -0.097190 0.206867 -0.973530 +vn -0.109956 0.820781 -0.560561 +vn -0.148207 0.147760 -0.977856 +vn -0.091091 0.793257 -0.602035 +vn -0.014386 0.996091 -0.087157 +vn -0.109956 0.820781 -0.560561 +vn -0.091091 0.793257 -0.602035 +vn -0.072447 0.995720 -0.057380 +vn -0.109956 0.820781 -0.560561 +vn -0.014386 0.996091 -0.087157 +vn -0.017836 0.900548 0.434392 +vn -0.072447 0.995720 -0.057380 +vn -0.014386 0.996091 -0.087157 +vn -0.105290 0.900329 0.422281 +vn -0.072447 0.995720 -0.057380 +vn -0.017836 0.900548 0.434392 +vn -0.040527 0.385122 0.921975 +vn -0.105290 0.900329 0.422281 +vn -0.017836 0.900548 0.434392 +vn -0.053216 0.391273 0.918735 +vn -0.105290 0.900329 0.422281 +vn -0.040527 0.385122 0.921975 +vn -0.017737 -0.260977 0.965182 +vn -0.053216 0.391273 0.918735 +vn -0.040527 0.385122 0.921975 +vn -0.029611 -0.245355 0.968981 +vn -0.053216 0.391273 0.918735 +vn -0.017737 -0.260977 0.965182 +vn -0.037987 -0.832321 0.552990 +vn -0.029611 -0.245355 0.968981 +vn -0.017737 -0.260977 0.965182 +vn -0.100088 -0.806585 0.582583 +vn -0.029611 -0.245355 0.968981 +vn -0.037987 -0.832321 0.552990 +vn -0.044699 -0.996105 0.076010 +vn -0.100088 -0.806585 0.582583 +vn -0.037987 -0.832321 0.552990 +vn -0.037987 -0.832321 0.552990 +vn 0.002182 -0.995603 0.093648 +vn -0.044699 -0.996105 0.076010 +vn 0.007913 -0.793311 0.608765 +vn 0.002182 -0.995603 0.093648 +vn -0.037987 -0.832321 0.552990 +vn -0.017737 -0.260977 0.965182 +vn 0.007913 -0.793311 0.608765 +vn -0.037987 -0.832321 0.552990 +vn -0.032520 -0.218178 0.975367 +vn 0.007913 -0.793311 0.608765 +vn -0.017737 -0.260977 0.965182 +vn -0.245491 -0.233347 0.940895 +vn -0.029611 -0.245355 0.968981 +vn -0.100088 -0.806585 0.582583 +vn -0.155404 0.376961 0.913099 +vn -0.029611 -0.245355 0.968981 +vn -0.245491 -0.233347 0.940895 +vn -0.109956 0.820781 -0.560561 +vn -0.161582 0.276281 -0.947397 +vn -0.148207 0.147760 -0.977856 +vn -0.084883 0.830185 -0.550988 +vn -0.161582 0.276281 -0.947397 +vn -0.109956 0.820781 -0.560561 +vn -0.030253 -0.902431 -0.429770 +vn -0.044699 -0.996105 0.076010 +vn 0.002182 -0.995603 0.093648 +vn -0.061575 -0.942931 -0.327245 +vn -0.044699 -0.996105 0.076010 +vn -0.030253 -0.902431 -0.429770 +vn -0.053216 0.391273 0.918735 +vn -0.029611 -0.245355 0.968981 +vn -0.155404 0.376961 0.913099 +vn 0.100088 -0.806585 0.582583 +vn 0.994872 -0.100202 0.013755 +vn 0.044700 -0.996105 0.076011 +vn 0.975587 -0.047214 0.214480 +vn 0.994872 -0.100202 0.013755 +vn 0.100088 -0.806585 0.582583 +vn 0.638014 -0.059602 0.767715 +vn 0.975587 -0.047214 0.214480 +vn 0.100088 -0.806585 0.582583 +vn 0.949792 0.171251 0.261855 +vn 0.975587 -0.047214 0.214480 +vn 0.638014 -0.059602 0.767715 +vn 0.931881 0.359737 -0.046759 +vn 0.975587 -0.047214 0.214480 +vn 0.957531 0.286279 0.034348 +vn 0.994872 -0.100202 0.013755 +vn 0.975587 -0.047214 0.214480 +vn 0.931881 0.359737 -0.046759 +vn 0.928928 0.369654 -0.021177 +vn 0.994872 -0.100202 0.013755 +vn 0.931881 0.359737 -0.046759 +vn 0.061575 -0.942931 -0.327245 +vn 0.967617 -0.190772 -0.165297 +vn 0.145963 -0.430479 -0.890720 +vn 0.044700 -0.996105 0.076011 +vn 0.967617 -0.190772 -0.165297 +vn 0.061575 -0.942931 -0.327245 +vn 0.994872 -0.100202 0.013755 +vn 0.967617 -0.190772 -0.165297 +vn 0.044700 -0.996105 0.076011 +vn 0.928928 0.369654 -0.021177 +vn 0.967617 -0.190772 -0.165297 +vn 0.994872 -0.100202 0.013755 +vn 0.953216 0.131857 -0.272016 +vn 0.967617 -0.190772 -0.165297 +vn 0.928928 0.369654 -0.021177 +vn 0.957531 0.286279 0.034348 +vn 0.975587 -0.047214 0.214480 +vn 0.949792 0.171251 0.261855 +vn 0.996587 -0.016589 -0.080870 +vn 0.941260 -0.333881 0.050538 +vn 0.914650 -0.365776 -0.172113 +vn 0.996990 0.041095 0.065748 +vn 0.941260 -0.333881 0.050538 +vn 0.996587 -0.016589 -0.080870 +vn 0.928928 0.369654 -0.021177 +vn 0.996990 0.041095 0.065748 +vn 0.996587 -0.016589 -0.080870 +vn 0.931881 0.359737 -0.046759 +vn 0.996990 0.041095 0.065748 +vn 0.928928 0.369654 -0.021177 +vn 0.996587 -0.016589 -0.080870 +vn 0.953216 0.131857 -0.272016 +vn 0.928928 0.369654 -0.021177 +vn 0.875857 -0.115079 -0.468648 +vn 0.953216 0.131857 -0.272016 +vn 0.996587 -0.016589 -0.080870 +vn 0.914650 -0.365776 -0.172113 +vn 0.875857 -0.115079 -0.468648 +vn 0.996587 -0.016589 -0.080870 +vn 0.768954 -0.289991 -0.569749 +vn 0.875857 -0.115079 -0.468648 +vn 0.914650 -0.365776 -0.172113 +vn 0.946626 0.135090 0.292660 +vn 0.931881 0.359737 -0.046759 +vn 0.957531 0.286279 0.034348 +vn 0.996990 0.041095 0.065748 +vn 0.931881 0.359737 -0.046759 +vn 0.946626 0.135090 0.292660 +vn 0.902221 0.111126 0.416712 +vn 0.996990 0.041095 0.065748 +vn 0.946626 0.135090 0.292660 +vn 0.952947 -0.182390 0.242129 +vn 0.996990 0.041095 0.065748 +vn 0.902221 0.111126 0.416712 +vn 0.946626 0.135090 0.292660 +vn 0.817279 0.281924 0.502567 +vn 0.902221 0.111126 0.416712 +vn 0.818555 0.329138 0.470783 +vn 0.817279 0.281924 0.502567 +vn 0.946626 0.135090 0.292660 +vn 0.957531 0.286279 0.034348 +vn 0.818555 0.329138 0.470783 +vn 0.946626 0.135090 0.292660 +vn 0.949792 0.171251 0.261855 +vn 0.818555 0.329138 0.470783 +vn 0.957531 0.286279 0.034348 +vn 0.875857 -0.115079 -0.468648 +vn 0.619283 -0.088642 -0.780148 +vn 0.953216 0.131857 -0.272016 +vn 0.594353 -0.128671 -0.793844 +vn 0.619283 -0.088642 -0.780148 +vn 0.875857 -0.115079 -0.468648 +vn 0.768954 -0.289991 -0.569749 +vn 0.594353 -0.128671 -0.793844 +vn 0.875857 -0.115079 -0.468648 +vn 0.952947 -0.182390 0.242129 +vn 0.941260 -0.333881 0.050538 +vn 0.996990 0.041095 0.065748 +vn -0.300421 0.330077 -0.894872 +vn -0.450929 0.110667 -0.885673 +vn -0.255530 0.454016 -0.853565 +vn -0.460105 0.120014 -0.879716 +vn -0.450929 0.110667 -0.885673 +vn -0.300421 0.330077 -0.894872 +vn 0.450928 0.110667 -0.885673 +vn 0.460105 0.120014 -0.879716 +vn 0.300421 0.330077 -0.894872 +vn 0.619283 -0.088642 -0.780148 +vn 0.460105 0.120014 -0.879716 +vn 0.450928 0.110667 -0.885673 +vn -0.460105 0.120014 -0.879716 +vn -0.619283 -0.088642 -0.780148 +vn -0.450929 0.110667 -0.885673 +vn -0.594353 -0.128670 -0.793844 +vn -0.619283 -0.088642 -0.780148 +vn -0.460105 0.120014 -0.879716 +vn 0.619283 -0.088642 -0.780148 +vn 0.594353 -0.128671 -0.793844 +vn 0.460105 0.120014 -0.879716 +vn -0.589840 -0.172895 -0.788794 +vn -0.450929 0.110667 -0.885673 +vn -0.619283 -0.088642 -0.780148 +vn -0.349509 0.317286 -0.881574 +vn -0.450929 0.110667 -0.885673 +vn -0.589840 -0.172895 -0.788794 +vn 0.009986 0.253650 -0.967245 +vn -0.349509 0.317286 -0.881574 +vn -0.589840 -0.172895 -0.788794 +vn -0.088416 0.831239 -0.548839 +vn -0.349509 0.317286 -0.881574 +vn 0.009986 0.253650 -0.967245 +vn -0.088416 0.831239 -0.548839 +vn -0.105926 0.883378 -0.456534 +vn -0.349509 0.317286 -0.881574 +vn -0.066261 0.996005 -0.059868 +vn -0.105926 0.883378 -0.456534 +vn -0.088416 0.831239 -0.548839 +vn -0.066261 0.996005 -0.059868 +vn 0.018221 0.999216 -0.035152 +vn -0.105926 0.883378 -0.456534 +vn -0.075321 0.876242 0.475949 +vn 0.018221 0.999216 -0.035152 +vn -0.066261 0.996005 -0.059868 +vn -0.075321 0.876242 0.475949 +vn -0.001336 0.898197 0.439591 +vn 0.018221 0.999216 -0.035152 +vn -0.132014 0.339424 0.931324 +vn -0.001336 0.898197 0.439591 +vn -0.075321 0.876242 0.475949 +vn -0.132014 0.339424 0.931324 +vn -0.216238 0.414820 0.883836 +vn -0.001336 0.898197 0.439591 +vn -0.818555 0.329138 0.470783 +vn -0.475757 0.571224 0.668848 +vn -0.953567 0.152043 0.259987 +vn -0.615136 0.488532 0.618824 +vn -0.475757 0.571224 0.668848 +vn -0.818555 0.329138 0.470783 +vn -0.817279 0.281924 0.502567 +vn -0.615136 0.488532 0.618824 +vn -0.818555 0.329138 0.470783 +vn -0.349509 0.317286 -0.881574 +vn -0.255530 0.454016 -0.853565 +vn -0.450929 0.110667 -0.885673 +vn -0.105926 0.883378 -0.456534 +vn -0.255530 0.454016 -0.853565 +vn -0.349509 0.317286 -0.881574 +vn -0.105926 0.883378 -0.456534 +vn -0.142165 0.898632 -0.415030 +vn -0.255530 0.454016 -0.853565 +vn 0.018221 0.999216 -0.035152 +vn -0.142165 0.898632 -0.415030 +vn -0.105926 0.883378 -0.456534 +vn 0.018221 0.999216 -0.035152 +vn -0.087838 0.995762 -0.027264 +vn -0.142165 0.898632 -0.415030 +vn -0.001336 0.898197 0.439591 +vn -0.087838 0.995762 -0.027264 +vn 0.018221 0.999216 -0.035152 +vn -0.001336 0.898197 0.439591 +vn -0.149318 0.901566 0.406057 +vn -0.087838 0.995762 -0.027264 +vn -0.216238 0.414820 0.883836 +vn -0.149318 0.901566 0.406057 +vn -0.001336 0.898197 0.439591 +vn -0.216238 0.414820 0.883836 +vn -0.475757 0.571224 0.668848 +vn -0.149318 0.901566 0.406057 +vn -0.953567 0.152043 0.259987 +vn -0.475757 0.571224 0.668848 +vn -0.216238 0.414820 0.883836 +vn -0.216238 0.414820 0.883836 +vn -0.669469 -0.120119 0.733064 +vn -0.953567 0.152043 0.259987 +vn -0.132014 0.339424 0.931324 +vn -0.669469 -0.120119 0.733064 +vn -0.216238 0.414820 0.883836 +vn -0.132014 0.339424 0.931324 +vn -0.245491 -0.233347 0.940895 +vn -0.669469 -0.120119 0.733064 +vn -0.155404 0.376961 0.913099 +vn -0.245491 -0.233347 0.940895 +vn -0.132014 0.339424 0.931324 +vn 0.255530 0.454016 -0.853565 +vn 0.450928 0.110667 -0.885673 +vn 0.300421 0.330077 -0.894872 +vn 0.349509 0.317287 -0.881574 +vn 0.450928 0.110667 -0.885673 +vn 0.255530 0.454016 -0.853565 +vn 0.105926 0.883378 -0.456534 +vn 0.349509 0.317287 -0.881574 +vn 0.255530 0.454016 -0.853565 +vn 0.349509 0.317287 -0.881574 +vn 0.589840 -0.172894 -0.788794 +vn 0.450928 0.110667 -0.885673 +vn -0.009986 0.253649 -0.967245 +vn 0.589840 -0.172894 -0.788794 +vn 0.349509 0.317287 -0.881574 +vn 0.177624 0.381362 0.907201 +vn 0.149318 0.901566 0.406058 +vn 0.496821 0.561897 0.661394 +vn 0.001336 0.898197 0.439591 +vn 0.149318 0.901566 0.406058 +vn 0.177624 0.381362 0.907201 +vn 0.001336 0.898197 0.439591 +vn 0.087838 0.995762 -0.027264 +vn 0.149318 0.901566 0.406058 +vn -0.018221 0.999216 -0.035152 +vn 0.087838 0.995762 -0.027264 +vn 0.001336 0.898197 0.439591 +vn -0.018221 0.999216 -0.035152 +vn 0.142165 0.898632 -0.415030 +vn 0.087838 0.995762 -0.027264 +vn 0.105926 0.883378 -0.456534 +vn 0.142165 0.898632 -0.415030 +vn -0.018221 0.999216 -0.035152 +vn 0.255530 0.454016 -0.853565 +vn 0.142165 0.898632 -0.415030 +vn 0.105926 0.883378 -0.456534 +vn 0.589840 -0.172894 -0.788794 +vn 0.619283 -0.088642 -0.780148 +vn 0.450928 0.110667 -0.885673 +vn 0.953216 0.131857 -0.272016 +vn 0.619283 -0.088642 -0.780148 +vn 0.589840 -0.172894 -0.788794 +vn 0.967617 -0.190772 -0.165297 +vn 0.953216 0.131857 -0.272016 +vn 0.589840 -0.172894 -0.788794 +vn 0.589840 -0.172894 -0.788794 +vn 0.145963 -0.430479 -0.890720 +vn 0.967617 -0.190772 -0.165297 +vn 0.161582 0.276280 -0.947397 +vn 0.145963 -0.430479 -0.890720 +vn 0.589840 -0.172894 -0.788794 +vn -0.009986 0.253649 -0.967245 +vn 0.161582 0.276280 -0.947397 +vn 0.589840 -0.172894 -0.788794 +vn -0.962465 -0.266643 0.050624 +vn -0.755178 0.622050 0.206788 +vn -0.721885 0.499700 -0.478730 +vn -0.368883 -0.274203 0.888110 +vn -0.755178 0.622050 0.206788 +vn -0.962465 -0.266643 0.050624 +vn -0.477434 -0.864233 0.158612 +vn -0.368883 -0.274203 0.888110 +vn -0.962465 -0.266643 0.050624 +vn -0.051268 -0.279636 0.958736 +vn -0.368883 -0.274203 0.888110 +vn -0.477434 -0.864233 0.158612 +vn -0.066090 -0.985902 0.153720 +vn -0.051268 -0.279636 0.958736 +vn -0.477434 -0.864233 0.158612 +vn -0.036251 -0.212591 0.976469 +vn -0.051268 -0.279636 0.958736 +vn -0.066090 -0.985902 0.153720 +vn -0.072507 -0.984975 0.156742 +vn -0.036251 -0.212591 0.976469 +vn -0.066090 -0.985902 0.153720 +vn -0.585601 -0.806963 0.076692 +vn -0.036251 -0.212591 0.976469 +vn -0.072507 -0.984975 0.156742 +vn -0.537037 -0.832077 0.138707 +vn -0.585601 -0.806963 0.076692 +vn -0.072507 -0.984975 0.156742 +vn -0.937609 -0.347555 0.009786 +vn -0.736072 0.593025 0.326374 +vn -0.760756 0.533074 -0.370247 +vn -0.353151 -0.393848 0.848627 +vn -0.736072 0.593025 0.326374 +vn -0.937609 -0.347555 0.009786 +vn -0.501624 -0.863675 0.049392 +vn -0.353151 -0.393848 0.848627 +vn -0.937609 -0.347555 0.009786 +vn -0.025312 -0.410912 0.911324 +vn -0.353151 -0.393848 0.848627 +vn -0.501624 -0.863675 0.049392 +vn -0.100373 -0.994700 0.022310 +vn -0.025312 -0.410912 0.911324 +vn -0.501624 -0.863675 0.049392 +vn -0.034102 -0.368510 0.928998 +vn -0.025312 -0.410912 0.911324 +vn -0.100373 -0.994700 0.022310 +vn -0.074633 -0.996580 -0.035484 +vn -0.034102 -0.368510 0.928998 +vn -0.100373 -0.994700 0.022310 +vn -0.519101 -0.854061 0.033374 +vn -0.034102 -0.368510 0.928998 +vn -0.074633 -0.996580 -0.035484 +vn -0.460249 -0.885384 0.065314 +vn -0.519101 -0.854061 0.033374 +vn -0.074633 -0.996580 -0.035484 +vn -0.046020 0.457339 0.888101 +vn -0.028470 0.975615 -0.217634 +vn -0.365442 0.397225 0.841822 +vn 0.000859 0.969584 -0.244759 +vn -0.028470 0.975615 -0.217634 +vn -0.046020 0.457339 0.888101 +vn 0.031226 0.372639 0.927451 +vn 0.000859 0.969584 -0.244759 +vn -0.046020 0.457339 0.888101 +vn -0.135415 0.954586 -0.265382 +vn 0.000859 0.969584 -0.244759 +vn 0.031226 0.372639 0.927451 +vn -0.049303 0.390374 0.919335 +vn -0.135415 0.954586 -0.265382 +vn 0.031226 0.372639 0.927451 +vn -0.262467 0.920527 -0.289380 +vn -0.135415 0.954586 -0.265382 +vn -0.049303 0.390374 0.919335 +vn -0.312053 0.911286 -0.268667 +vn -0.262467 0.920527 -0.289380 +vn -0.049303 0.390374 0.919335 +vn -0.289191 0.907371 -0.305035 +vn -0.262467 0.920527 -0.289380 +vn -0.312053 0.911286 -0.268667 +vn 0.017780 0.444106 0.895798 +vn -0.013442 0.999872 -0.008669 +vn -0.322553 0.431858 0.842293 +vn 0.029603 0.999546 0.005561 +vn -0.013442 0.999872 -0.008669 +vn 0.017780 0.444106 0.895798 +vn 0.071090 0.325376 0.942909 +vn 0.029603 0.999546 0.005561 +vn 0.017780 0.444106 0.895798 +vn -0.129129 0.991586 0.009126 +vn 0.029603 0.999546 0.005561 +vn 0.071090 0.325376 0.942909 +vn -0.057279 0.321975 0.945014 +vn -0.129129 0.991586 0.009126 +vn 0.071090 0.325376 0.942909 +vn -0.220063 0.962148 0.160760 +vn -0.129129 0.991586 0.009126 +vn -0.057279 0.321975 0.945014 +vn -0.332763 0.932080 0.143165 +vn -0.220063 0.962148 0.160760 +vn -0.057279 0.321975 0.945014 +vn -0.282102 0.955165 0.089875 +vn -0.220063 0.962148 0.160760 +vn -0.332763 0.932080 0.143165 +vn -0.013442 0.999872 -0.008669 +vn 0.004878 0.317921 -0.948105 +vn -0.349773 0.316486 -0.881757 +vn 0.041307 0.301210 -0.952663 +vn 0.004878 0.317921 -0.948105 +vn -0.013442 0.999872 -0.008669 +vn 0.029603 0.999546 0.005561 +vn 0.041307 0.301210 -0.952663 +vn -0.013442 0.999872 -0.008669 +vn -0.073031 0.235927 -0.969023 +vn 0.041307 0.301210 -0.952663 +vn 0.029603 0.999546 0.005561 +vn -0.129129 0.991586 0.009126 +vn -0.073031 0.235927 -0.969023 +vn 0.029603 0.999546 0.005561 +vn -0.312053 0.911286 -0.268667 +vn -0.073031 0.235927 -0.969023 +vn -0.129129 0.991586 0.009126 +vn -0.220063 0.962148 0.160760 +vn -0.312053 0.911286 -0.268667 +vn -0.129129 0.991586 0.009126 +vn -0.282102 0.955165 0.089875 +vn -0.312053 0.911286 -0.268667 +vn -0.220063 0.962148 0.160760 +vn -0.335055 0.758837 -0.558484 +vn -0.262467 0.920527 -0.289380 +vn -0.289191 0.907371 -0.305035 +vn -0.135415 0.954586 -0.265382 +vn -0.262467 0.920527 -0.289380 +vn -0.335055 0.758837 -0.558484 +vn -0.077827 0.160113 -0.984026 +vn -0.135415 0.954586 -0.265382 +vn -0.335055 0.758837 -0.558484 +vn 0.000859 0.969584 -0.244759 +vn -0.135415 0.954586 -0.265382 +vn -0.077827 0.160113 -0.984026 +vn 0.057058 0.212251 -0.975548 +vn 0.000859 0.969584 -0.244759 +vn -0.077827 0.160113 -0.984026 +vn -0.028470 0.975615 -0.217634 +vn 0.000859 0.969584 -0.244759 +vn 0.057058 0.212251 -0.975548 +vn -0.379001 -0.549328 -0.744713 +vn -0.066090 -0.985902 0.153720 +vn -0.477434 -0.864233 0.158612 +vn -0.023047 -0.566417 -0.823797 +vn -0.066090 -0.985902 0.153720 +vn -0.379001 -0.549328 -0.744713 +vn -0.307785 0.201660 -0.929840 +vn -0.023047 -0.566417 -0.823797 +vn -0.379001 -0.549328 -0.744713 +vn 0.019331 0.227067 -0.973687 +vn -0.023047 -0.566417 -0.823797 +vn -0.307785 0.201660 -0.929840 +vn -0.023047 -0.566417 -0.823797 +vn -0.072507 -0.984975 0.156742 +vn -0.066090 -0.985902 0.153720 +vn -0.023450 -0.535412 -0.844265 +vn -0.072507 -0.984975 0.156742 +vn -0.023047 -0.566417 -0.823797 +vn 0.019331 0.227067 -0.973687 +vn -0.023450 -0.535412 -0.844265 +vn -0.023047 -0.566417 -0.823797 +vn 0.057058 0.212251 -0.975548 +vn -0.023450 -0.535412 -0.844265 +vn 0.019331 0.227067 -0.973687 +vn -0.371024 -0.505572 -0.778934 +vn -0.100373 -0.994700 0.022310 +vn -0.501624 -0.863675 0.049392 +vn -0.038184 -0.490290 -0.870722 +vn -0.100373 -0.994700 0.022310 +vn -0.371024 -0.505572 -0.778934 +vn -0.349773 0.316486 -0.881757 +vn -0.038184 -0.490290 -0.870722 +vn -0.371024 -0.505572 -0.778934 +vn 0.004878 0.317921 -0.948105 +vn -0.038184 -0.490290 -0.870722 +vn -0.349773 0.316486 -0.881757 +vn -0.038184 -0.490290 -0.870722 +vn -0.074633 -0.996580 -0.035484 +vn -0.100373 -0.994700 0.022310 +vn -0.022783 -0.468222 -0.883317 +vn -0.074633 -0.996580 -0.035484 +vn -0.038184 -0.490290 -0.870722 +vn 0.004878 0.317921 -0.948105 +vn -0.022783 -0.468222 -0.883317 +vn -0.038184 -0.490290 -0.870722 +vn 0.041307 0.301210 -0.952663 +vn -0.022783 -0.468222 -0.883317 +vn 0.004878 0.317921 -0.948105 +vn -0.456675 -0.878326 0.141392 +vn -0.049253 -0.991709 -0.118690 +vn -0.484818 -0.870550 0.084228 +vn -0.024293 -0.504476 0.863084 +vn -0.049253 -0.991709 -0.118690 +vn -0.456675 -0.878326 0.141392 +vn -0.138331 -0.330884 0.933478 +vn -0.024293 -0.504476 0.863084 +vn -0.456675 -0.878326 0.141392 +vn -0.122736 0.362116 0.924017 +vn -0.024293 -0.504476 0.863084 +vn -0.138331 -0.330884 0.933478 +vn -0.122736 0.362116 0.924017 +vn -0.031677 0.311431 0.949741 +vn -0.024293 -0.504476 0.863084 +vn -0.183687 0.935127 0.302978 +vn -0.031677 0.311431 0.949741 +vn -0.122736 0.362116 0.924017 +vn -0.245504 0.927403 0.282227 +vn -0.183687 0.935127 0.302978 +vn -0.122736 0.362116 0.924017 +vn -0.332763 0.932080 0.143165 +vn -0.183687 0.935127 0.302978 +vn -0.245504 0.927403 0.282227 +vn -0.379001 -0.549328 -0.744713 +vn -0.721885 0.499700 -0.478730 +vn -0.307785 0.201660 -0.929840 +vn -0.962465 -0.266643 0.050624 +vn -0.721885 0.499700 -0.478730 +vn -0.379001 -0.549328 -0.744713 +vn -0.477434 -0.864233 0.158612 +vn -0.962465 -0.266643 0.050624 +vn -0.379001 -0.549328 -0.744713 +vn -0.371024 -0.505572 -0.778934 +vn -0.760756 0.533074 -0.370247 +vn -0.349773 0.316486 -0.881757 +vn -0.937609 -0.347555 0.009786 +vn -0.760756 0.533074 -0.370247 +vn -0.371024 -0.505572 -0.778934 +vn -0.501624 -0.863675 0.049392 +vn -0.937609 -0.347555 0.009786 +vn -0.371024 -0.505572 -0.778934 +vn -0.460249 -0.885384 0.065314 +vn -0.036251 -0.212591 0.976469 +vn -0.585601 -0.806963 0.076692 +vn -0.312053 0.911286 -0.268667 +vn -0.036251 -0.212591 0.976469 +vn -0.460249 -0.885384 0.065314 +vn -0.073031 0.235927 -0.969023 +vn -0.312053 0.911286 -0.268667 +vn -0.460249 -0.885384 0.065314 +vn -0.077827 0.160113 -0.984026 +vn -0.023450 -0.535412 -0.844265 +vn 0.057058 0.212251 -0.975548 +vn -0.537037 -0.832077 0.138707 +vn -0.023450 -0.535412 -0.844265 +vn -0.077827 0.160113 -0.984026 +vn -0.335055 0.758837 -0.558484 +vn -0.537037 -0.832077 0.138707 +vn -0.077827 0.160113 -0.984026 +vn -0.034102 -0.368510 0.928998 +vn -0.057279 0.321975 0.945014 +vn 0.071090 0.325376 0.942909 +vn -0.332763 0.932080 0.143165 +vn -0.057279 0.321975 0.945014 +vn -0.034102 -0.368510 0.928998 +vn -0.484818 -0.870550 0.084228 +vn -0.332763 0.932080 0.143165 +vn -0.034102 -0.368510 0.928998 +vn -0.484818 -0.870550 0.084228 +vn -0.088085 0.371504 -0.924244 +vn -0.332763 0.932080 0.143165 +vn -0.002224 -0.333359 -0.942797 +vn -0.088085 0.371504 -0.924244 +vn -0.484818 -0.870550 0.084228 +vn -0.049253 -0.991709 -0.118690 +vn -0.002224 -0.333359 -0.942797 +vn -0.484818 -0.870550 0.084228 +vn -0.121187 0.976373 0.178911 +vn -0.332763 0.932080 0.143165 +vn -0.088085 0.371504 -0.924244 +vn -0.183687 0.935127 0.302978 +vn -0.332763 0.932080 0.143165 +vn -0.121187 0.976373 0.178911 +vn -0.031677 0.311431 0.949741 +vn -0.183687 0.935127 0.302978 +vn -0.121187 0.976373 0.178911 +vn -0.028470 0.975615 -0.217634 +vn -0.307785 0.201660 -0.929840 +vn -0.721885 0.499700 -0.478730 +vn 0.019331 0.227067 -0.973687 +vn -0.307785 0.201660 -0.929840 +vn -0.028470 0.975615 -0.217634 +vn 0.057058 0.212251 -0.975548 +vn 0.019331 0.227067 -0.973687 +vn -0.028470 0.975615 -0.217634 +vn -0.013442 0.999872 -0.008669 +vn -0.736072 0.593025 0.326374 +vn -0.322553 0.431858 0.842293 +vn -0.760756 0.533074 -0.370247 +vn -0.736072 0.593025 0.326374 +vn -0.013442 0.999872 -0.008669 +vn -0.349773 0.316486 -0.881757 +vn -0.760756 0.533074 -0.370247 +vn -0.013442 0.999872 -0.008669 +vn -0.368883 -0.274203 0.888110 +vn -0.046020 0.457339 0.888101 +vn -0.365442 0.397225 0.841822 +vn -0.051268 -0.279636 0.958736 +vn -0.046020 0.457339 0.888101 +vn -0.368883 -0.274203 0.888110 +vn -0.353151 -0.393848 0.848627 +vn 0.017780 0.444106 0.895798 +vn -0.322553 0.431858 0.842293 +vn -0.025312 -0.410912 0.911324 +vn 0.017780 0.444106 0.895798 +vn -0.353151 -0.393848 0.848627 +vn -0.073031 0.235927 -0.969023 +vn -0.022783 -0.468222 -0.883317 +vn 0.041307 0.301210 -0.952663 +vn -0.460249 -0.885384 0.065314 +vn -0.022783 -0.468222 -0.883317 +vn -0.073031 0.235927 -0.969023 +vn -0.025312 -0.410912 0.911324 +vn 0.071090 0.325376 0.942909 +vn 0.017780 0.444106 0.895798 +vn -0.034102 -0.368510 0.928998 +vn 0.071090 0.325376 0.942909 +vn -0.025312 -0.410912 0.911324 +vn -0.051268 -0.279636 0.958736 +vn 0.031226 0.372639 0.927451 +vn -0.046020 0.457339 0.888101 +vn -0.036251 -0.212591 0.976469 +vn 0.031226 0.372639 0.927451 +vn -0.051268 -0.279636 0.958736 +vn -0.036251 -0.212591 0.976469 +vn -0.049303 0.390374 0.919335 +vn 0.031226 0.372639 0.927451 +vn -0.312053 0.911286 -0.268667 +vn -0.049303 0.390374 0.919335 +vn -0.036251 -0.212591 0.976469 +vn -0.755178 0.622050 0.206788 +vn -0.028470 0.975615 -0.217634 +vn -0.721885 0.499700 -0.478730 +vn -0.365442 0.397225 0.841822 +vn -0.028470 0.975615 -0.217634 +vn -0.755178 0.622050 0.206788 +vn -0.755178 0.622050 0.206788 +vn -0.368883 -0.274203 0.888110 +vn -0.365442 0.397225 0.841822 +vn -0.736072 0.593025 0.326374 +vn -0.353151 -0.393848 0.848627 +vn -0.322553 0.431858 0.842293 +vn -0.072507 -0.984975 0.156742 +vn -0.023450 -0.535412 -0.844265 +vn -0.537037 -0.832077 0.138707 +vn -0.519101 -0.854061 0.033374 +vn -0.484818 -0.870550 0.084228 +vn -0.034102 -0.368510 0.928998 +vn -0.074633 -0.996580 -0.035484 +vn -0.022783 -0.468222 -0.883317 +vn -0.460249 -0.885384 0.065314 +vn -0.137041 0.851982 -0.505318 +vn -0.140478 0.706015 0.694125 +vn -0.803876 0.142665 0.577434 +vn -0.197898 0.846457 0.494315 +vn -0.140478 0.706015 0.694125 +vn -0.137041 0.851982 -0.505318 +vn -0.043433 0.920343 0.388694 +vn -0.197898 0.846457 0.494315 +vn -0.137041 0.851982 -0.505318 +vn -0.081957 0.080713 0.993362 +vn -0.197898 0.846457 0.494315 +vn -0.043433 0.920343 0.388694 +vn -0.633351 0.042649 0.772689 +vn -0.081957 0.080713 0.993362 +vn -0.043433 0.920343 0.388694 +vn -0.491976 -0.683057 0.539808 +vn -0.081957 0.080713 0.993362 +vn -0.633351 0.042649 0.772689 +vn -0.977995 0.011296 -0.208323 +vn -0.491976 -0.683057 0.539808 +vn -0.633351 0.042649 0.772689 +vn -0.614682 -0.705048 -0.353656 +vn -0.491976 -0.683057 0.539808 +vn -0.977995 0.011296 -0.208323 +vn -0.579114 -0.082379 -0.811074 +vn -0.614682 -0.705048 -0.353656 +vn -0.977995 0.011296 -0.208323 +vn -0.030976 -0.895807 -0.443363 +vn -0.614682 -0.705048 -0.353656 +vn -0.579114 -0.082379 -0.811074 +vn -0.039600 -0.075987 -0.996322 +vn -0.030976 -0.895807 -0.443363 +vn -0.579114 -0.082379 -0.811074 +vn -0.208152 -0.882780 -0.421157 +vn -0.030976 -0.895807 -0.443363 +vn -0.039600 -0.075987 -0.996322 +vn -0.308201 0.048408 -0.950089 +vn -0.208152 -0.882780 -0.421157 +vn -0.039600 -0.075987 -0.996322 +vn -0.712357 -0.547478 -0.439107 +vn -0.208152 -0.882780 -0.421157 +vn -0.308201 0.048408 -0.950089 +vn 0.517961 -0.612453 0.597176 +vn -0.073564 -0.969292 0.234652 +vn 0.199784 -0.972457 0.120055 +vn 0.181384 -0.549229 0.815750 +vn -0.073564 -0.969292 0.234652 +vn 0.517961 -0.612453 0.597176 +vn 0.552221 0.000965 0.833697 +vn 0.181384 -0.549229 0.815750 +vn 0.517961 -0.612453 0.597176 +vn 0.231361 0.077626 0.969766 +vn 0.181384 -0.549229 0.815750 +vn 0.552221 0.000965 0.833697 +vn 0.336810 0.443527 0.830568 +vn 0.231361 0.077626 0.969766 +vn 0.552221 0.000965 0.833697 +vn 0.161508 0.616307 0.770766 +vn 0.231361 0.077626 0.969766 +vn 0.336810 0.443527 0.830568 +vn -0.140478 0.706015 0.694125 +vn 0.161508 0.616307 0.770766 +vn 0.336810 0.443527 0.830568 +vn -0.197898 0.846457 0.494315 +vn 0.161508 0.616307 0.770766 +vn -0.140478 0.706015 0.694125 +vn -0.308201 0.048408 -0.950089 +vn -0.803876 0.142665 0.577434 +vn -0.712357 -0.547478 -0.439107 +vn -0.137041 0.851982 -0.505318 +vn -0.803876 0.142665 0.577434 +vn -0.308201 0.048408 -0.950089 +vn -0.049476 0.768220 -0.638271 +vn -0.137041 0.851982 -0.505318 +vn -0.308201 0.048408 -0.950089 +vn -0.043433 0.920343 0.388694 +vn -0.137041 0.851982 -0.505318 +vn -0.049476 0.768220 -0.638271 +vn -0.464532 0.834069 0.297557 +vn -0.043433 0.920343 0.388694 +vn -0.049476 0.768220 -0.638271 +vn -0.633351 0.042649 0.772689 +vn -0.043433 0.920343 0.388694 +vn -0.464532 0.834069 0.297557 +vn -0.977995 0.011296 -0.208323 +vn -0.633351 0.042649 0.772689 +vn -0.464532 0.834069 0.297557 +vn -0.149643 -0.745680 0.649283 +vn -0.208152 -0.882780 -0.421157 +vn -0.073564 -0.969292 0.234652 +vn -0.030976 -0.895807 -0.443363 +vn -0.208152 -0.882780 -0.421157 +vn -0.149643 -0.745680 0.649283 +vn -0.073204 -0.814162 0.576004 +vn -0.030976 -0.895807 -0.443363 +vn -0.149643 -0.745680 0.649283 +vn -0.614682 -0.705048 -0.353656 +vn -0.030976 -0.895807 -0.443363 +vn -0.073204 -0.814162 0.576004 +vn -0.491976 -0.683057 0.539808 +vn -0.614682 -0.705048 -0.353656 +vn -0.073204 -0.814162 0.576004 +vn -0.803876 0.142665 0.577434 +vn -0.122736 0.362116 0.924017 +vn -0.138331 -0.330884 0.933478 +vn -0.044089 0.392668 0.918623 +vn -0.122736 0.362116 0.924017 +vn -0.803876 0.142665 0.577434 +vn -0.140478 0.706015 0.694125 +vn -0.044089 0.392668 0.918623 +vn -0.803876 0.142665 0.577434 +vn 0.336810 0.443527 0.830568 +vn -0.044089 0.392668 0.918623 +vn -0.140478 0.706015 0.694125 +vn -0.439375 -0.800395 -0.407820 +vn -0.208152 -0.882780 -0.421157 +vn -0.712357 -0.547478 -0.439107 +vn -0.073564 -0.969292 0.234652 +vn -0.208152 -0.882780 -0.421157 +vn -0.439375 -0.800395 -0.407820 +vn -0.213934 -0.912750 -0.348024 +vn -0.073564 -0.969292 0.234652 +vn -0.439375 -0.800395 -0.407820 +vn 0.199784 -0.972457 0.120055 +vn -0.073564 -0.969292 0.234652 +vn -0.213934 -0.912750 -0.348024 +vn -0.039600 -0.075987 -0.996322 +vn -0.049476 0.768220 -0.638271 +vn -0.308201 0.048408 -0.950089 +vn -0.582624 0.611843 -0.534975 +vn -0.049476 0.768220 -0.638271 +vn -0.039600 -0.075987 -0.996322 +vn -0.579114 -0.082379 -0.811074 +vn -0.582624 0.611843 -0.534975 +vn -0.039600 -0.075987 -0.996322 +vn -0.977995 0.011296 -0.208323 +vn -0.582624 0.611843 -0.534975 +vn -0.579114 -0.082379 -0.811074 +vn -0.073204 -0.814162 0.576004 +vn -0.081957 0.080713 0.993362 +vn -0.491976 -0.683057 0.539808 +vn -0.066699 0.071462 0.995211 +vn -0.081957 0.080713 0.993362 +vn -0.073204 -0.814162 0.576004 +vn -0.149643 -0.745680 0.649283 +vn -0.066699 0.071462 0.995211 +vn -0.073204 -0.814162 0.576004 +vn 0.231361 0.077626 0.969766 +vn -0.066699 0.071462 0.995211 +vn -0.149643 -0.745680 0.649283 +vn -0.044089 0.392668 0.918623 +vn 0.081609 0.701984 0.707502 +vn -0.122736 0.362116 0.924017 +vn 0.272043 0.584628 0.764332 +vn 0.081609 0.701984 0.707502 +vn -0.044089 0.392668 0.918623 +vn 0.336810 0.443527 0.830568 +vn 0.272043 0.584628 0.764332 +vn -0.044089 0.392668 0.918623 +vn -0.456675 -0.878326 0.141392 +vn -0.803876 0.142665 0.577434 +vn -0.138331 -0.330884 0.933478 +vn -0.712357 -0.547478 -0.439107 +vn -0.803876 0.142665 0.577434 +vn -0.456675 -0.878326 0.141392 +vn -0.464532 0.834069 0.297557 +vn -0.582624 0.611843 -0.534975 +vn -0.977995 0.011296 -0.208323 +vn -0.049476 0.768220 -0.638271 +vn -0.582624 0.611843 -0.534975 +vn -0.464532 0.834069 0.297557 +vn 0.181384 -0.549229 0.815750 +vn -0.149643 -0.745680 0.649283 +vn -0.073564 -0.969292 0.234652 +vn 0.231361 0.077626 0.969766 +vn -0.149643 -0.745680 0.649283 +vn 0.181384 -0.549229 0.815750 +vn 0.161508 0.616307 0.770766 +vn -0.066699 0.071462 0.995211 +vn 0.231361 0.077626 0.969766 +vn -0.197898 0.846457 0.494315 +vn -0.066699 0.071462 0.995211 +vn 0.161508 0.616307 0.770766 +vn -0.081957 0.080713 0.993362 +vn -0.066699 0.071462 0.995211 +vn -0.197898 0.846457 0.494315 +vn 0.133582 0.402371 0.905678 +vn 0.161669 0.581152 0.797575 +vn -0.225449 0.599203 0.768198 +vn 0.402476 0.592780 0.697585 +vn 0.161669 0.581152 0.797575 +vn 0.133582 0.402371 0.905678 +vn 0.519520 0.414562 0.747153 +vn 0.402476 0.592780 0.697585 +vn 0.133582 0.402371 0.905678 +vn 0.653753 0.743209 0.142295 +vn 0.402476 0.592780 0.697585 +vn 0.519520 0.414562 0.747153 +vn 0.773116 0.625663 0.104103 +vn 0.653753 0.743209 0.142295 +vn 0.519520 0.414562 0.747153 +vn 0.355710 0.820967 -0.446635 +vn 0.653753 0.743209 0.142295 +vn 0.773116 0.625663 0.104103 +vn 0.466646 0.677404 -0.568652 +vn 0.355710 0.820967 -0.446635 +vn 0.773116 0.625663 0.104103 +vn 0.104449 0.823004 -0.558351 +vn 0.355710 0.820967 -0.446635 +vn 0.466646 0.677404 -0.568652 +vn 0.061203 0.690791 -0.720460 +vn 0.104449 0.823004 -0.558351 +vn 0.466646 0.677404 -0.568652 +vn -0.127414 0.886168 -0.445502 +vn 0.104449 0.823004 -0.558351 +vn 0.061203 0.690791 -0.720460 +vn -0.295559 0.804021 -0.515941 +vn -0.127414 0.886168 -0.445502 +vn 0.061203 0.690791 -0.720460 +vn -0.332672 0.930706 0.152040 +vn -0.127414 0.886168 -0.445502 +vn -0.295559 0.804021 -0.515941 +vn -0.468071 0.868347 0.163959 +vn -0.332672 0.930706 0.152040 +vn -0.295559 0.804021 -0.515941 +vn -0.068206 0.698705 0.712151 +vn -0.332672 0.930706 0.152040 +vn -0.468071 0.868347 0.163959 +vn -0.225449 0.599203 0.768198 +vn -0.068206 0.698705 0.712151 +vn -0.468071 0.868347 0.163959 +vn 0.161669 0.581152 0.797575 +vn -0.068206 0.698705 0.712151 +vn -0.225449 0.599203 0.768198 +vn 0.000351 0.844917 0.534898 +vn 0.045366 0.937181 0.345882 +vn -0.337668 0.904151 0.261709 +vn 0.299982 0.909997 0.286211 +vn 0.045366 0.937181 0.345882 +vn 0.000351 0.844917 0.534898 +vn 0.410322 0.797279 0.442699 +vn 0.299982 0.909997 0.286211 +vn 0.000351 0.844917 0.534898 +vn 0.628317 0.744565 -0.225480 +vn 0.299982 0.909997 0.286211 +vn 0.410322 0.797279 0.442699 +vn 0.752291 0.632879 -0.183093 +vn 0.628317 0.744565 -0.225480 +vn 0.410322 0.797279 0.442699 +vn 0.417258 0.459663 -0.783968 +vn 0.628317 0.744565 -0.225480 +vn 0.752291 0.632879 -0.183093 +vn 0.541971 0.284432 -0.790801 +vn 0.417258 0.459663 -0.783968 +vn 0.752291 0.632879 -0.183093 +vn 0.186266 0.380866 -0.905674 +vn 0.417258 0.459663 -0.783968 +vn 0.541971 0.284432 -0.790801 +vn 0.167307 0.182098 -0.968942 +vn 0.186266 0.380866 -0.905674 +vn 0.541971 0.284432 -0.790801 +vn -0.057305 0.476026 -0.877562 +vn 0.186266 0.380866 -0.905674 +vn 0.167307 0.182098 -0.968942 +vn -0.210535 0.356348 -0.910325 +vn -0.057305 0.476026 -0.877562 +vn 0.167307 0.182098 -0.968942 +vn -0.347542 0.825614 -0.444495 +vn -0.057305 0.476026 -0.877562 +vn -0.210535 0.356348 -0.910325 +vn -0.482918 0.767154 -0.422214 +vn -0.347542 0.825614 -0.444495 +vn -0.210535 0.356348 -0.910325 +vn -0.170595 0.968871 0.179404 +vn -0.347542 0.825614 -0.444495 +vn -0.482918 0.767154 -0.422214 +vn -0.337668 0.904151 0.261709 +vn -0.170595 0.968871 0.179404 +vn -0.482918 0.767154 -0.422214 +vn 0.045366 0.937181 0.345882 +vn -0.170595 0.968871 0.179404 +vn -0.337668 0.904151 0.261709 +vn 0.013227 0.646625 0.762693 +vn 0.043796 0.791773 0.609243 +vn -0.341128 0.769474 0.539946 +vn 0.294190 0.794544 0.531179 +vn 0.043796 0.791773 0.609243 +vn 0.013227 0.646625 0.762693 +vn 0.415904 0.645429 0.640659 +vn 0.294190 0.794544 0.531179 +vn 0.013227 0.646625 0.762693 +vn 0.594825 0.803522 -0.023138 +vn 0.294190 0.794544 0.531179 +vn 0.415904 0.645429 0.640659 +vn 0.724233 0.689263 -0.020062 +vn 0.594825 0.803522 -0.023138 +vn 0.415904 0.645429 0.640659 +vn 0.355421 0.688652 -0.632008 +vn 0.594825 0.803522 -0.023138 +vn 0.724233 0.689263 -0.020062 +vn 0.484459 0.527120 -0.698172 +vn 0.355421 0.688652 -0.632008 +vn 0.724233 0.689263 -0.020062 +vn 0.118367 0.639464 -0.759655 +vn 0.355421 0.688652 -0.632008 +vn 0.484459 0.527120 -0.698172 +vn 0.099737 0.466464 -0.878899 +vn 0.118367 0.639464 -0.759655 +vn 0.484459 0.527120 -0.698172 +vn -0.126025 0.712241 -0.690529 +vn 0.118367 0.639464 -0.759655 +vn 0.099737 0.466464 -0.878899 +vn -0.279305 0.601360 -0.748568 +vn -0.126025 0.712241 -0.690529 +vn 0.099737 0.466464 -0.878899 +vn -0.396359 0.905046 -0.154246 +vn -0.126025 0.712241 -0.690529 +vn -0.279305 0.601360 -0.748568 +vn -0.528231 0.837331 -0.140889 +vn -0.396359 0.905046 -0.154246 +vn -0.279305 0.601360 -0.748568 +vn -0.182478 0.862247 0.472475 +vn -0.396359 0.905046 -0.154246 +vn -0.528231 0.837331 -0.140889 +vn -0.341128 0.769474 0.539946 +vn -0.182478 0.862247 0.472475 +vn -0.528231 0.837331 -0.140889 +vn 0.043796 0.791773 0.609243 +vn -0.182478 0.862247 0.472475 +vn -0.341128 0.769474 0.539946 +vn -0.215354 -0.553136 -0.804776 +vn -0.266773 -0.846721 -0.460322 +vn -0.525163 -0.838744 -0.143915 +vn -0.068875 -0.442523 -0.894109 +vn -0.266773 -0.846721 -0.460322 +vn -0.215354 -0.553136 -0.804776 +vn -0.125939 0.057112 -0.990393 +vn -0.068875 -0.442523 -0.894109 +vn -0.215354 -0.553136 -0.804776 +vn 0.051445 -0.009167 -0.998634 +vn -0.068875 -0.442523 -0.894109 +vn -0.125939 0.057112 -0.990393 +vn 0.036317 0.557235 -0.829560 +vn 0.051445 -0.009167 -0.998634 +vn -0.125939 0.057112 -0.990393 +vn 0.272351 0.178303 -0.945533 +vn 0.051445 -0.009167 -0.998634 +vn 0.036317 0.557235 -0.829560 +vn 0.265795 0.779911 -0.566650 +vn 0.272351 0.178303 -0.945533 +vn 0.036317 0.557235 -0.829560 +vn 0.088278 0.306778 -0.947679 +vn 0.272351 0.178303 -0.945533 +vn 0.265795 0.779911 -0.566650 +vn 0.022012 0.830248 -0.556960 +vn 0.088278 0.306778 -0.947679 +vn 0.265795 0.779911 -0.566650 +vn -0.430399 0.298026 -0.852020 +vn 0.088278 0.306778 -0.947679 +vn 0.022012 0.830248 -0.556960 +vn -0.318734 0.785526 -0.530431 +vn -0.430399 0.298026 -0.852020 +vn 0.022012 0.830248 -0.556960 +vn 0.180490 0.321157 -0.929667 +vn -0.430399 0.298026 -0.852020 +vn -0.318734 0.785526 -0.530431 +vn 0.183491 0.805888 -0.562917 +vn 0.180490 0.321157 -0.929667 +vn -0.318734 0.785526 -0.530431 +vn 0.984817 -0.052846 0.165355 +vn 0.180490 0.321157 -0.929667 +vn 0.183491 0.805888 -0.562917 +vn 0.983352 -0.144837 0.109731 +vn 0.984817 -0.052846 0.165355 +vn 0.183491 0.805888 -0.562917 +vn -0.525163 -0.838744 -0.143915 +vn -0.585601 -0.806963 0.076692 +vn -0.537037 -0.832077 0.138707 +vn -0.478686 -0.877263 0.035629 +vn -0.585601 -0.806963 0.076692 +vn -0.525163 -0.838744 -0.143915 +vn -0.266773 -0.846721 -0.460322 +vn -0.478686 -0.877263 0.035629 +vn -0.525163 -0.838744 -0.143915 +vn -0.033566 -0.826734 -0.561591 +vn -0.478686 -0.877263 0.035629 +vn -0.266773 -0.846721 -0.460322 +vn 0.121359 -0.376269 -0.918528 +vn -0.033566 -0.826734 -0.561591 +vn -0.266773 -0.846721 -0.460322 +vn -0.230142 -0.687366 -0.688885 +vn -0.033566 -0.826734 -0.561591 +vn 0.121359 -0.376269 -0.918528 +vn -0.021104 -0.218550 -0.975598 +vn -0.230142 -0.687366 -0.688885 +vn 0.121359 -0.376269 -0.918528 +vn -0.494279 -0.560024 -0.664877 +vn -0.230142 -0.687366 -0.688885 +vn -0.021104 -0.218550 -0.975598 +vn -0.410400 -0.137336 -0.901505 +vn -0.494279 -0.560024 -0.664877 +vn -0.021104 -0.218550 -0.975598 +vn 0.226840 -0.615603 -0.754703 +vn -0.494279 -0.560024 -0.664877 +vn -0.410400 -0.137336 -0.901505 +vn 0.199962 -0.162028 -0.966314 +vn 0.226840 -0.615603 -0.754703 +vn -0.410400 -0.137336 -0.901505 +vn 0.984480 0.110513 0.136330 +vn 0.226840 -0.615603 -0.754703 +vn 0.199962 -0.162028 -0.966314 +vn 0.980951 0.034097 0.191239 +vn 0.984480 0.110513 0.136330 +vn 0.199962 -0.162028 -0.966314 +vn -0.585601 -0.806963 0.076692 +vn -0.519101 -0.854061 0.033374 +vn -0.460249 -0.885384 0.065314 +vn -0.466395 -0.879475 -0.094867 +vn -0.519101 -0.854061 0.033374 +vn -0.585601 -0.806963 0.076692 +vn -0.478686 -0.877263 0.035629 +vn -0.466395 -0.879475 -0.094867 +vn -0.585601 -0.806963 0.076692 +vn -0.137309 -0.987330 -0.079541 +vn -0.466395 -0.879475 -0.094867 +vn -0.478686 -0.877263 0.035629 +vn -0.033566 -0.826734 -0.561591 +vn -0.137309 -0.987330 -0.079541 +vn -0.478686 -0.877263 0.035629 +vn -0.281909 -0.908863 -0.307401 +vn -0.137309 -0.987330 -0.079541 +vn -0.033566 -0.826734 -0.561591 +vn -0.230142 -0.687366 -0.688885 +vn -0.281909 -0.908863 -0.307401 +vn -0.033566 -0.826734 -0.561591 +vn -0.530168 -0.809193 -0.253237 +vn -0.281909 -0.908863 -0.307401 +vn -0.230142 -0.687366 -0.688885 +vn -0.494279 -0.560024 -0.664877 +vn -0.530168 -0.809193 -0.253237 +vn -0.230142 -0.687366 -0.688885 +vn 0.193643 -0.934376 -0.299071 +vn -0.530168 -0.809193 -0.253237 +vn -0.494279 -0.560024 -0.664877 +vn 0.226840 -0.615603 -0.754703 +vn 0.193643 -0.934376 -0.299071 +vn -0.494279 -0.560024 -0.664877 +vn 0.982641 0.170810 0.072389 +vn 0.193643 -0.934376 -0.299071 +vn 0.226840 -0.615603 -0.754703 +vn 0.984480 0.110513 0.136330 +vn 0.982641 0.170810 0.072389 +vn 0.226840 -0.615603 -0.754703 +vn 0.552221 0.000965 0.833697 +vn 0.618675 0.092248 0.780212 +vn 0.336810 0.443527 0.830568 +vn 0.423191 -0.552459 0.718121 +vn 0.618675 0.092248 0.780212 +vn 0.552221 0.000965 0.833697 +vn 0.517961 -0.612453 0.597176 +vn 0.423191 -0.552459 0.718121 +vn 0.552221 0.000965 0.833697 +vn 0.234027 -0.910409 0.341154 +vn 0.423191 -0.552459 0.718121 +vn 0.517961 -0.612453 0.597176 +vn 0.199784 -0.972457 0.120055 +vn 0.234027 -0.910409 0.341154 +vn 0.517961 -0.612453 0.597176 +vn -0.225384 -0.973962 -0.024512 +vn 0.234027 -0.910409 0.341154 +vn 0.199784 -0.972457 0.120055 +vn -0.213934 -0.912750 -0.348024 +vn -0.225384 -0.973962 -0.024512 +vn 0.199784 -0.972457 0.120055 +vn -0.466395 -0.879475 -0.094867 +vn -0.225384 -0.973962 -0.024512 +vn -0.213934 -0.912750 -0.348024 +vn -0.439375 -0.800395 -0.407820 +vn -0.466395 -0.879475 -0.094867 +vn -0.213934 -0.912750 -0.348024 +vn -0.712357 -0.547478 -0.439107 +vn -0.466395 -0.879475 -0.094867 +vn -0.439375 -0.800395 -0.407820 +vn -0.034880 0.958356 -0.283440 +vn -0.289191 0.907371 -0.305035 +vn -0.312053 0.911286 -0.268667 +vn -0.335055 0.758837 -0.558484 +vn -0.289191 0.907371 -0.305035 +vn -0.034880 0.958356 -0.283440 +vn -0.050622 0.862173 -0.504078 +vn -0.335055 0.758837 -0.558484 +vn -0.034880 0.958356 -0.283440 +vn -0.244468 0.824123 -0.510937 +vn -0.335055 0.758837 -0.558484 +vn -0.050622 0.862173 -0.504078 +vn -0.125939 0.057112 -0.990393 +vn -0.244468 0.824123 -0.510937 +vn -0.050622 0.862173 -0.504078 +vn -0.265775 0.827138 -0.495183 +vn -0.244468 0.824123 -0.510937 +vn -0.125939 0.057112 -0.990393 +vn -0.142527 0.898146 -0.415956 +vn -0.265775 0.827138 -0.495183 +vn -0.125939 0.057112 -0.990393 +vn -0.115733 0.513051 0.850520 +vn -0.265775 0.827138 -0.495183 +vn -0.142527 0.898146 -0.415956 +vn 0.011072 0.529688 0.848121 +vn -0.115733 0.513051 0.850520 +vn -0.142527 0.898146 -0.415956 +vn -0.052145 -0.985729 0.160063 +vn -0.215354 -0.553136 -0.804776 +vn -0.525163 -0.838744 -0.143915 +vn 0.002850 -0.630404 -0.776262 +vn -0.215354 -0.553136 -0.804776 +vn -0.052145 -0.985729 0.160063 +vn -0.018019 -0.625047 -0.780379 +vn 0.002850 -0.630404 -0.776262 +vn -0.052145 -0.985729 0.160063 +vn -0.007309 0.248428 -0.968623 +vn 0.002850 -0.630404 -0.776262 +vn -0.018019 -0.625047 -0.780379 +vn -0.293769 0.274570 -0.915593 +vn -0.007309 0.248428 -0.968623 +vn -0.018019 -0.625047 -0.780379 +vn -0.033262 0.958797 -0.282140 +vn -0.007309 0.248428 -0.968623 +vn -0.293769 0.274570 -0.915593 +vn -0.720848 0.414036 -0.555835 +vn -0.033262 0.958797 -0.282140 +vn -0.293769 0.274570 -0.915593 +vn -0.782369 0.588072 0.205112 +vn -0.033262 0.958797 -0.282140 +vn -0.720848 0.414036 -0.555835 +vn 0.226407 -0.967842 0.109641 +vn -0.530168 -0.809193 -0.253237 +vn 0.193643 -0.934376 -0.299071 +vn -0.467329 -0.880242 0.082330 +vn -0.530168 -0.809193 -0.253237 +vn 0.226407 -0.967842 0.109641 +vn 0.271901 -0.834486 0.479274 +vn -0.467329 -0.880242 0.082330 +vn 0.226407 -0.967842 0.109641 +vn -0.413376 -0.793185 0.447189 +vn -0.467329 -0.880242 0.082330 +vn 0.271901 -0.834486 0.479274 +vn 0.341024 -0.435077 0.833313 +vn -0.413376 -0.793185 0.447189 +vn 0.271901 -0.834486 0.479274 +vn -0.401128 -0.385376 0.831012 +vn -0.413376 -0.793185 0.447189 +vn 0.341024 -0.435077 0.833313 +vn 0.323959 0.079585 0.942718 +vn -0.401128 -0.385376 0.831012 +vn 0.341024 -0.435077 0.833313 +vn -0.391638 0.096071 0.915090 +vn -0.401128 -0.385376 0.831012 +vn 0.323959 0.079585 0.942718 +vn 0.977167 0.210720 -0.027252 +vn 0.193643 -0.934376 -0.299071 +vn 0.982641 0.170810 0.072389 +vn 0.226407 -0.967842 0.109641 +vn 0.193643 -0.934376 -0.299071 +vn 0.977167 0.210720 -0.027252 +vn 0.984525 0.142092 -0.102569 +vn 0.226407 -0.967842 0.109641 +vn 0.977167 0.210720 -0.027252 +vn 0.271901 -0.834486 0.479274 +vn 0.226407 -0.967842 0.109641 +vn 0.984525 0.142092 -0.102569 +vn 0.986320 0.063115 -0.152283 +vn 0.271901 -0.834486 0.479274 +vn 0.984525 0.142092 -0.102569 +vn 0.341024 -0.435077 0.833313 +vn 0.271901 -0.834486 0.479274 +vn 0.986320 0.063115 -0.152283 +vn 0.982921 -0.010609 -0.183723 +vn 0.341024 -0.435077 0.833313 +vn 0.986320 0.063115 -0.152283 +vn 0.323959 0.079585 0.942718 +vn 0.341024 -0.435077 0.833313 +vn 0.982921 -0.010609 -0.183723 +vn 0.984270 -0.100513 -0.145294 +vn 0.323959 0.079585 0.942718 +vn 0.982921 -0.010609 -0.183723 +vn 0.269965 0.540727 0.796701 +vn 0.323959 0.079585 0.942718 +vn 0.984270 -0.100513 -0.145294 +vn 0.982009 -0.172897 -0.075933 +vn 0.269965 0.540727 0.796701 +vn 0.984270 -0.100513 -0.145294 +vn 0.240990 0.884743 0.398941 +vn 0.269965 0.540727 0.796701 +vn 0.982009 -0.172897 -0.075933 +vn 0.977594 -0.209117 0.024069 +vn 0.240990 0.884743 0.398941 +vn 0.982009 -0.172897 -0.075933 +vn 0.195198 0.975500 -0.101478 +vn 0.240990 0.884743 0.398941 +vn 0.977594 -0.209117 0.024069 +vn 0.983352 -0.144837 0.109731 +vn 0.195198 0.975500 -0.101478 +vn 0.977594 -0.209117 0.024069 +vn 0.183491 0.805888 -0.562917 +vn 0.195198 0.975500 -0.101478 +vn 0.983352 -0.144837 0.109731 +vn -0.467329 -0.880242 0.082330 +vn -0.281909 -0.908863 -0.307401 +vn -0.530168 -0.809193 -0.253237 +vn -0.225384 -0.973962 -0.024512 +vn -0.281909 -0.908863 -0.307401 +vn -0.467329 -0.880242 0.082330 +vn -0.413376 -0.793185 0.447189 +vn -0.225384 -0.973962 -0.024512 +vn -0.467329 -0.880242 0.082330 +vn 0.234027 -0.910409 0.341154 +vn -0.225384 -0.973962 -0.024512 +vn -0.413376 -0.793185 0.447189 +vn -0.401128 -0.385376 0.831012 +vn 0.234027 -0.910409 0.341154 +vn -0.413376 -0.793185 0.447189 +vn 0.423191 -0.552459 0.718121 +vn 0.234027 -0.910409 0.341154 +vn -0.401128 -0.385376 0.831012 +vn -0.391638 0.096071 0.915090 +vn 0.423191 -0.552459 0.718121 +vn -0.401128 -0.385376 0.831012 +vn 0.048659 0.249704 0.967099 +vn 0.423191 -0.552459 0.718121 +vn -0.391638 0.096071 0.915090 +vn 0.269965 0.540727 0.796701 +vn -0.391638 0.096071 0.915090 +vn 0.323959 0.079585 0.942718 +vn -0.427697 0.546692 0.719863 +vn -0.391638 0.096071 0.915090 +vn 0.269965 0.540727 0.796701 +vn 0.240990 0.884743 0.398941 +vn -0.427697 0.546692 0.719863 +vn 0.269965 0.540727 0.796701 +vn -0.425129 0.841556 0.333240 +vn -0.427697 0.546692 0.719863 +vn 0.240990 0.884743 0.398941 +vn 0.195198 0.975500 -0.101478 +vn -0.425129 0.841556 0.333240 +vn 0.240990 0.884743 0.398941 +vn -0.412061 0.906348 -0.093480 +vn -0.425129 0.841556 0.333240 +vn 0.195198 0.975500 -0.101478 +vn 0.183491 0.805888 -0.562917 +vn -0.412061 0.906348 -0.093480 +vn 0.195198 0.975500 -0.101478 +vn -0.318734 0.785526 -0.530431 +vn -0.412061 0.906348 -0.093480 +vn 0.183491 0.805888 -0.562917 +vn -0.427697 0.546692 0.719863 +vn 0.048659 0.249704 0.967099 +vn -0.391638 0.096071 0.915090 +vn -0.012876 0.581912 0.813150 +vn 0.048659 0.249704 0.967099 +vn -0.427697 0.546692 0.719863 +vn -0.425129 0.841556 0.333240 +vn -0.012876 0.581912 0.813150 +vn -0.427697 0.546692 0.719863 +vn 0.056112 0.902654 0.426693 +vn -0.012876 0.581912 0.813150 +vn -0.425129 0.841556 0.333240 +vn -0.412061 0.906348 -0.093480 +vn 0.056112 0.902654 0.426693 +vn -0.425129 0.841556 0.333240 +vn 0.037327 0.995327 -0.089054 +vn 0.056112 0.902654 0.426693 +vn -0.412061 0.906348 -0.093480 +vn -0.318734 0.785526 -0.530431 +vn 0.037327 0.995327 -0.089054 +vn -0.412061 0.906348 -0.093480 +vn 0.022012 0.830248 -0.556960 +vn 0.037327 0.995327 -0.089054 +vn -0.318734 0.785526 -0.530431 +vn -0.365933 -0.596387 -0.714433 +vn -0.720848 0.414036 -0.555835 +vn -0.293769 0.274570 -0.915593 +vn -0.942771 -0.328874 0.055005 +vn -0.720848 0.414036 -0.555835 +vn -0.365933 -0.596387 -0.714433 +vn -0.504976 -0.851686 0.140107 +vn -0.942771 -0.328874 0.055005 +vn -0.365933 -0.596387 -0.714433 +vn -0.374045 -0.276519 0.885227 +vn -0.942771 -0.328874 0.055005 +vn -0.504976 -0.851686 0.140107 +vn -0.003392 -0.233122 0.972442 +vn -0.374045 -0.276519 0.885227 +vn -0.504976 -0.851686 0.140107 +vn 0.011432 0.562422 0.826771 +vn -0.374045 -0.276519 0.885227 +vn -0.003392 -0.233122 0.972442 +vn 0.011072 0.529688 0.848121 +vn 0.011432 0.562422 0.826771 +vn -0.003392 -0.233122 0.972442 +vn -0.012876 0.581912 0.813150 +vn 0.272043 0.584628 0.764332 +vn 0.048659 0.249704 0.967099 +vn 0.257933 0.887106 0.382771 +vn 0.272043 0.584628 0.764332 +vn -0.012876 0.581912 0.813150 +vn 0.056112 0.902654 0.426693 +vn 0.257933 0.887106 0.382771 +vn -0.012876 0.581912 0.813150 +vn 0.236829 0.967064 -0.093272 +vn 0.257933 0.887106 0.382771 +vn 0.056112 0.902654 0.426693 +vn 0.037327 0.995327 -0.089054 +vn 0.236829 0.967064 -0.093272 +vn 0.056112 0.902654 0.426693 +vn 0.265795 0.779911 -0.566650 +vn 0.236829 0.967064 -0.093272 +vn 0.037327 0.995327 -0.089054 +vn 0.022012 0.830248 -0.556960 +vn 0.265795 0.779911 -0.566650 +vn 0.037327 0.995327 -0.089054 +vn -0.018019 -0.625047 -0.780379 +vn -0.365933 -0.596387 -0.714433 +vn -0.293769 0.274570 -0.915593 +vn -0.044019 -0.978228 0.202812 +vn -0.365933 -0.596387 -0.714433 +vn -0.018019 -0.625047 -0.780379 +vn -0.052145 -0.985729 0.160063 +vn -0.044019 -0.978228 0.202812 +vn -0.018019 -0.625047 -0.780379 +vn -0.051272 -0.149628 0.987412 +vn -0.044019 -0.978228 0.202812 +vn -0.052145 -0.985729 0.160063 +vn -0.525163 -0.838744 -0.143915 +vn -0.051272 -0.149628 0.987412 +vn -0.052145 -0.985729 0.160063 +vn -0.537037 -0.832077 0.138707 +vn -0.051272 -0.149628 0.987412 +vn -0.525163 -0.838744 -0.143915 +vn -0.069477 0.210790 -0.975059 +vn -0.125939 0.057112 -0.990393 +vn -0.215354 -0.553136 -0.804776 +vn -0.142527 0.898146 -0.415956 +vn -0.125939 0.057112 -0.990393 +vn -0.069477 0.210790 -0.975059 +vn -0.055384 0.928895 -0.366178 +vn -0.142527 0.898146 -0.415956 +vn -0.069477 0.210790 -0.975059 +vn 0.011072 0.529688 0.848121 +vn -0.142527 0.898146 -0.415956 +vn -0.055384 0.928895 -0.366178 +vn 0.011432 0.562422 0.826771 +vn 0.011072 0.529688 0.848121 +vn -0.055384 0.928895 -0.366178 +vn 0.257933 0.887106 0.382771 +vn 0.081609 0.701984 0.707502 +vn 0.272043 0.584628 0.764332 +vn -0.008137 0.931388 0.363937 +vn 0.081609 0.701984 0.707502 +vn 0.257933 0.887106 0.382771 +vn -0.038017 0.997237 0.063819 +vn -0.008137 0.931388 0.363937 +vn 0.257933 0.887106 0.382771 +vn -0.332763 0.932080 0.143165 +vn -0.008137 0.931388 0.363937 +vn -0.038017 0.997237 0.063819 +vn -0.282102 0.955165 0.089875 +vn -0.332763 0.932080 0.143165 +vn -0.038017 0.997237 0.063819 +vn -0.038017 0.997237 0.063819 +vn -0.312053 0.911286 -0.268667 +vn -0.282102 0.955165 0.089875 +vn -0.034880 0.958356 -0.283440 +vn -0.312053 0.911286 -0.268667 +vn -0.038017 0.997237 0.063819 +vn 0.236829 0.967064 -0.093272 +vn -0.034880 0.958356 -0.283440 +vn -0.038017 0.997237 0.063819 +vn 0.265795 0.779911 -0.566650 +vn -0.034880 0.958356 -0.283440 +vn 0.236829 0.967064 -0.093272 +vn 0.002850 -0.630404 -0.776262 +vn -0.069477 0.210790 -0.975059 +vn -0.215354 -0.553136 -0.804776 +vn -0.004604 0.229452 -0.973309 +vn -0.069477 0.210790 -0.975059 +vn 0.002850 -0.630404 -0.776262 +vn -0.007309 0.248428 -0.968623 +vn -0.004604 0.229452 -0.973309 +vn 0.002850 -0.630404 -0.776262 +vn -0.033262 0.958797 -0.282140 +vn -0.004604 0.229452 -0.973309 +vn -0.007309 0.248428 -0.968623 +vn 0.176778 0.969431 0.170158 +vn 0.653753 0.743209 0.142295 +vn 0.355710 0.820967 -0.446635 +vn 0.402476 0.592780 0.697585 +vn 0.653753 0.743209 0.142295 +vn 0.176778 0.969431 0.170158 +vn 0.161669 0.581152 0.797575 +vn 0.402476 0.592780 0.697585 +vn 0.176778 0.969431 0.170158 +vn -0.456675 -0.878326 0.141392 +vn -0.466395 -0.879475 -0.094867 +vn -0.712357 -0.547478 -0.439107 +vn -0.519101 -0.854061 0.033374 +vn -0.466395 -0.879475 -0.094867 +vn -0.456675 -0.878326 0.141392 +vn -0.484818 -0.870550 0.084228 +vn -0.519101 -0.854061 0.033374 +vn -0.456675 -0.878326 0.141392 +vn 0.048659 0.249704 0.967099 +vn 0.618675 0.092248 0.780212 +vn 0.423191 -0.552459 0.718121 +vn 0.336810 0.443527 0.830568 +vn 0.618675 0.092248 0.780212 +vn 0.048659 0.249704 0.967099 +vn 0.272043 0.584628 0.764332 +vn 0.336810 0.443527 0.830568 +vn 0.048659 0.249704 0.967099 +vn -0.008137 0.931388 0.363937 +vn -0.122736 0.362116 0.924017 +vn 0.081609 0.701984 0.707502 +vn -0.245504 0.927403 0.282227 +vn -0.122736 0.362116 0.924017 +vn -0.008137 0.931388 0.363937 +vn -0.332763 0.932080 0.143165 +vn -0.245504 0.927403 0.282227 +vn -0.008137 0.931388 0.363937 +vn -0.050622 0.862173 -0.504078 +vn 0.036317 0.557235 -0.829560 +vn -0.125939 0.057112 -0.990393 +vn 0.265795 0.779911 -0.566650 +vn 0.036317 0.557235 -0.829560 +vn -0.050622 0.862173 -0.504078 +vn -0.034880 0.958356 -0.283440 +vn 0.265795 0.779911 -0.566650 +vn -0.050622 0.862173 -0.504078 +vn -0.044019 -0.978228 0.202812 +vn -0.504976 -0.851686 0.140107 +vn -0.365933 -0.596387 -0.714433 +vn -0.003392 -0.233122 0.972442 +vn -0.504976 -0.851686 0.140107 +vn -0.044019 -0.978228 0.202812 +vn -0.051272 -0.149628 0.987412 +vn -0.003392 -0.233122 0.972442 +vn -0.044019 -0.978228 0.202812 +vn 0.999983 -0.005766 -0.000375 +vn 0.982009 -0.172897 -0.075933 +vn 0.984270 -0.100513 -0.145294 +vn 0.977594 -0.209117 0.024069 +vn 0.982009 -0.172897 -0.075933 +vn 0.999983 -0.005766 -0.000375 +vn 0.983352 -0.144837 0.109731 +vn 0.977594 -0.209117 0.024069 +vn 0.999983 -0.005766 -0.000375 +vn 0.999983 -0.005766 -0.000375 +vn 0.984817 -0.052846 0.165355 +vn 0.983352 -0.144837 0.109731 +vn 0.980951 0.034097 0.191239 +vn 0.984817 -0.052846 0.165355 +vn 0.999983 -0.005766 -0.000375 +vn 0.984480 0.110513 0.136330 +vn 0.980951 0.034097 0.191239 +vn 0.999983 -0.005766 -0.000375 +vn 0.999983 -0.005766 -0.000375 +vn 0.982641 0.170810 0.072389 +vn 0.984480 0.110513 0.136330 +vn 0.977167 0.210720 -0.027252 +vn 0.982641 0.170810 0.072389 +vn 0.999983 -0.005766 -0.000375 +vn 0.984525 0.142092 -0.102569 +vn 0.977167 0.210720 -0.027252 +vn 0.999983 -0.005766 -0.000375 +vn 0.104821 0.988955 -0.104793 +vn 0.355421 0.688652 -0.632008 +vn 0.118367 0.639464 -0.759655 +vn 0.594825 0.803522 -0.023138 +vn 0.355421 0.688652 -0.632008 +vn 0.104821 0.988955 -0.104793 +vn 0.294190 0.794544 0.531179 +vn 0.594825 0.803522 -0.023138 +vn 0.104821 0.988955 -0.104793 +vn 0.153101 0.907826 -0.390400 +vn 0.417258 0.459663 -0.783968 +vn 0.186266 0.380866 -0.905674 +vn 0.628317 0.744565 -0.225480 +vn 0.417258 0.459663 -0.783968 +vn 0.153101 0.907826 -0.390400 +vn 0.299982 0.909997 0.286211 +vn 0.628317 0.744565 -0.225480 +vn 0.153101 0.907826 -0.390400 +vn 0.153101 0.907826 -0.390400 +vn 0.045366 0.937181 0.345882 +vn 0.299982 0.909997 0.286211 +vn -0.170595 0.968871 0.179404 +vn 0.045366 0.937181 0.345882 +vn 0.153101 0.907826 -0.390400 +vn -0.347542 0.825614 -0.444495 +vn -0.170595 0.968871 0.179404 +vn 0.153101 0.907826 -0.390400 +vn 0.104821 0.988955 -0.104793 +vn 0.043796 0.791773 0.609243 +vn 0.294190 0.794544 0.531179 +vn -0.182478 0.862247 0.472475 +vn 0.043796 0.791773 0.609243 +vn 0.104821 0.988955 -0.104793 +vn -0.396359 0.905046 -0.154246 +vn -0.182478 0.862247 0.472475 +vn 0.104821 0.988955 -0.104793 +vn -0.055384 0.928895 -0.366178 +vn -0.033262 0.958797 -0.282140 +vn 0.011432 0.562422 0.826771 +vn -0.004604 0.229452 -0.973309 +vn -0.033262 0.958797 -0.282140 +vn -0.055384 0.928895 -0.366178 +vn -0.069477 0.210790 -0.975059 +vn -0.004604 0.229452 -0.973309 +vn -0.055384 0.928895 -0.366178 +vn 0.176778 0.969431 0.170158 +vn -0.127414 0.886168 -0.445502 +vn -0.332672 0.930706 0.152040 +vn 0.104449 0.823004 -0.558351 +vn -0.127414 0.886168 -0.445502 +vn 0.176778 0.969431 0.170158 +vn 0.355710 0.820967 -0.446635 +vn 0.104449 0.823004 -0.558351 +vn 0.176778 0.969431 0.170158 +vn -0.942771 -0.328874 0.055005 +vn -0.782369 0.588072 0.205112 +vn -0.720848 0.414036 -0.555835 +vn -0.374045 -0.276519 0.885227 +vn -0.782369 0.588072 0.205112 +vn -0.942771 -0.328874 0.055005 +vn 0.011072 0.529688 0.848121 +vn -0.051272 -0.149628 0.987412 +vn -0.115733 0.513051 0.850520 +vn -0.003392 -0.233122 0.972442 +vn -0.051272 -0.149628 0.987412 +vn 0.011072 0.529688 0.848121 +vn -0.126025 0.712241 -0.690529 +vn 0.104821 0.988955 -0.104793 +vn 0.118367 0.639464 -0.759655 +vn -0.396359 0.905046 -0.154246 +vn 0.104821 0.988955 -0.104793 +vn -0.126025 0.712241 -0.690529 +vn 0.199962 -0.162028 -0.966314 +vn -0.430399 0.298026 -0.852020 +vn 0.180490 0.321157 -0.929667 +vn -0.410400 -0.137336 -0.901505 +vn -0.430399 0.298026 -0.852020 +vn 0.199962 -0.162028 -0.966314 +vn 0.980951 0.034097 0.191239 +vn 0.180490 0.321157 -0.929667 +vn 0.984817 -0.052846 0.165355 +vn 0.199962 -0.162028 -0.966314 +vn 0.180490 0.321157 -0.929667 +vn 0.980951 0.034097 0.191239 +vn -0.265775 0.827138 -0.495183 +vn -0.335055 0.758837 -0.558484 +vn -0.244468 0.824123 -0.510937 +vn -0.115733 0.513051 0.850520 +vn -0.335055 0.758837 -0.558484 +vn -0.265775 0.827138 -0.495183 +vn -0.057305 0.476026 -0.877562 +vn 0.153101 0.907826 -0.390400 +vn 0.186266 0.380866 -0.905674 +vn -0.347542 0.825614 -0.444495 +vn 0.153101 0.907826 -0.390400 +vn -0.057305 0.476026 -0.877562 +vn -0.354282 0.499223 0.790734 +vn -0.033262 0.958797 -0.282140 +vn -0.782369 0.588072 0.205112 +vn 0.011432 0.562422 0.826771 +vn -0.033262 0.958797 -0.282140 +vn -0.354282 0.499223 0.790734 +vn -0.137309 -0.987330 -0.079541 +vn -0.225384 -0.973962 -0.024512 +vn -0.466395 -0.879475 -0.094867 +vn -0.281909 -0.908863 -0.307401 +vn -0.225384 -0.973962 -0.024512 +vn -0.137309 -0.987330 -0.079541 +vn 0.982921 -0.010609 -0.183723 +vn 0.999983 -0.005766 -0.000375 +vn 0.984270 -0.100513 -0.145294 +vn 0.986320 0.063115 -0.152283 +vn 0.999983 -0.005766 -0.000375 +vn 0.982921 -0.010609 -0.183723 +vn -0.021104 -0.218550 -0.975598 +vn 0.272351 0.178303 -0.945533 +vn 0.088278 0.306778 -0.947679 +vn 0.121359 -0.376269 -0.918528 +vn 0.272351 0.178303 -0.945533 +vn -0.021104 -0.218550 -0.975598 +vn -0.068875 -0.442523 -0.894109 +vn 0.121359 -0.376269 -0.918528 +vn -0.266773 -0.846721 -0.460322 +vn 0.051445 -0.009167 -0.998634 +vn 0.121359 -0.376269 -0.918528 +vn -0.068875 -0.442523 -0.894109 +vn -0.335055 0.758837 -0.558484 +vn -0.051272 -0.149628 0.987412 +vn -0.537037 -0.832077 0.138707 +vn -0.115733 0.513051 0.850520 +vn -0.051272 -0.149628 0.987412 +vn -0.335055 0.758837 -0.558484 +vn -0.068206 0.698705 0.712151 +vn 0.176778 0.969431 0.170158 +vn -0.332672 0.930706 0.152040 +vn 0.161669 0.581152 0.797575 +vn 0.176778 0.969431 0.170158 +vn -0.068206 0.698705 0.712151 +vn -0.410400 -0.137336 -0.901505 +vn 0.088278 0.306778 -0.947679 +vn -0.430399 0.298026 -0.852020 +vn -0.021104 -0.218550 -0.975598 +vn 0.088278 0.306778 -0.947679 +vn -0.410400 -0.137336 -0.901505 +vn -0.782369 0.588072 0.205112 +vn -0.374045 -0.276519 0.885227 +vn -0.354282 0.499223 0.790734 +vn 0.051445 -0.009167 -0.998634 +vn 0.272351 0.178303 -0.945533 +vn 0.121359 -0.376269 -0.918528 +vn 0.011432 0.562422 0.826771 +vn -0.354282 0.499223 0.790734 +vn -0.374045 -0.276519 0.885227 +vn 0.257933 0.887106 0.382771 +vn 0.236829 0.967064 -0.093272 +vn -0.038017 0.997237 0.063819 +vn 0.986320 0.063115 -0.152283 +vn 0.984525 0.142092 -0.102569 +vn 0.999983 -0.005766 -0.000375 +vn -0.195201 0.975499 -0.101479 +vn -0.983352 -0.144836 0.109731 +vn -0.977594 -0.209117 0.024068 +vn -0.183489 0.805889 -0.562916 +vn -0.983352 -0.144836 0.109731 +vn -0.195201 0.975499 -0.101479 +vn 0.412064 0.906347 -0.093481 +vn -0.183489 0.805889 -0.562916 +vn -0.195201 0.975499 -0.101479 +vn 0.318736 0.785526 -0.530430 +vn -0.183489 0.805889 -0.562916 +vn 0.412064 0.906347 -0.093481 +vn -0.037325 0.995327 -0.089054 +vn 0.318736 0.785526 -0.530430 +vn 0.412064 0.906347 -0.093481 +vn -0.022009 0.830247 -0.556961 +vn 0.318736 0.785526 -0.530430 +vn -0.037325 0.995327 -0.089054 +vn -0.265795 0.779910 -0.566651 +vn -0.022009 0.830247 -0.556961 +vn -0.037325 0.995327 -0.089054 +vn -0.088272 0.306776 -0.947680 +vn -0.022009 0.830247 -0.556961 +vn -0.265795 0.779910 -0.566651 +vn -0.272351 0.178301 -0.945534 +vn -0.088272 0.306776 -0.947680 +vn -0.265795 0.779910 -0.566651 +vn 0.021107 -0.218551 -0.975597 +vn -0.088272 0.306776 -0.947680 +vn -0.272351 0.178301 -0.945534 +vn -0.121360 -0.376269 -0.918528 +vn 0.021107 -0.218551 -0.975597 +vn -0.272351 0.178301 -0.945534 +vn 0.230144 -0.687366 -0.688884 +vn 0.021107 -0.218551 -0.975597 +vn -0.121360 -0.376269 -0.918528 +vn 0.033566 -0.826734 -0.561591 +vn 0.230144 -0.687366 -0.688884 +vn -0.121360 -0.376269 -0.918528 +vn 0.281909 -0.908863 -0.307401 +vn 0.230144 -0.687366 -0.688884 +vn 0.033566 -0.826734 -0.561591 +vn 0.137309 -0.987330 -0.079540 +vn 0.281909 -0.908863 -0.307401 +vn 0.033566 -0.826734 -0.561591 +vn 0.225383 -0.973962 -0.024511 +vn 0.281909 -0.908863 -0.307401 +vn 0.137309 -0.987330 -0.079540 +vn -0.323962 0.079584 0.942717 +vn -0.984270 -0.100513 -0.145293 +vn -0.982920 -0.010608 -0.183726 +vn -0.269968 0.540726 0.796701 +vn -0.984270 -0.100513 -0.145293 +vn -0.323962 0.079584 0.942717 +vn 0.391635 0.096071 0.915091 +vn -0.269968 0.540726 0.796701 +vn -0.323962 0.079584 0.942717 +vn 0.427696 0.546692 0.719864 +vn -0.269968 0.540726 0.796701 +vn 0.391635 0.096071 0.915091 +vn -0.048660 0.249703 0.967099 +vn 0.427696 0.546692 0.719864 +vn 0.391635 0.096071 0.915091 +vn 0.012878 0.581911 0.813151 +vn 0.427696 0.546692 0.719864 +vn -0.048660 0.249703 0.967099 +vn -0.272043 0.584628 0.764332 +vn 0.012878 0.581911 0.813151 +vn -0.048660 0.249703 0.967099 +vn -0.257933 0.887106 0.382771 +vn 0.012878 0.581911 0.813151 +vn -0.272043 0.584628 0.764332 +vn -0.269968 0.540726 0.796701 +vn -0.982009 -0.172896 -0.075933 +vn -0.984270 -0.100513 -0.145293 +vn -0.240994 0.884743 0.398939 +vn -0.982009 -0.172896 -0.075933 +vn -0.269968 0.540726 0.796701 +vn 0.427696 0.546692 0.719864 +vn -0.240994 0.884743 0.398939 +vn -0.269968 0.540726 0.796701 +vn 0.425129 0.841557 0.333239 +vn -0.240994 0.884743 0.398939 +vn 0.427696 0.546692 0.719864 +vn 0.012878 0.581911 0.813151 +vn 0.425129 0.841557 0.333239 +vn 0.427696 0.546692 0.719864 +vn -0.056109 0.902654 0.426693 +vn 0.425129 0.841557 0.333239 +vn 0.012878 0.581911 0.813151 +vn -0.257933 0.887106 0.382771 +vn -0.056109 0.902654 0.426693 +vn 0.012878 0.581911 0.813151 +vn -0.236829 0.967064 -0.093272 +vn -0.056109 0.902654 0.426693 +vn -0.257933 0.887106 0.382771 +vn -0.240994 0.884743 0.398939 +vn -0.977594 -0.209117 0.024068 +vn -0.982009 -0.172896 -0.075933 +vn -0.195201 0.975499 -0.101479 +vn -0.977594 -0.209117 0.024068 +vn -0.240994 0.884743 0.398939 +vn 0.425129 0.841557 0.333239 +vn -0.195201 0.975499 -0.101479 +vn -0.240994 0.884743 0.398939 +vn 0.412064 0.906347 -0.093481 +vn -0.195201 0.975499 -0.101479 +vn 0.425129 0.841557 0.333239 +vn -0.056109 0.902654 0.426693 +vn 0.412064 0.906347 -0.093481 +vn 0.425129 0.841557 0.333239 +vn -0.037325 0.995327 -0.089054 +vn 0.412064 0.906347 -0.093481 +vn -0.056109 0.902654 0.426693 +vn -0.236829 0.967064 -0.093272 +vn -0.037325 0.995327 -0.089054 +vn -0.056109 0.902654 0.426693 +vn -0.265795 0.779910 -0.566651 +vn -0.037325 0.995327 -0.089054 +vn -0.236829 0.967064 -0.093272 +vn 0.477434 -0.864235 0.158605 +vn 0.962466 -0.266641 0.050624 +vn 0.368882 -0.274202 0.888110 +vn 0.379001 -0.549324 -0.744716 +vn 0.962466 -0.266641 0.050624 +vn 0.477434 -0.864235 0.158605 +vn 0.066089 -0.985902 0.153721 +vn 0.379001 -0.549324 -0.744716 +vn 0.477434 -0.864235 0.158605 +vn 0.023048 -0.566418 -0.823796 +vn 0.379001 -0.549324 -0.744716 +vn 0.066089 -0.985902 0.153721 +vn 0.072507 -0.984975 0.156740 +vn 0.023048 -0.566418 -0.823796 +vn 0.066089 -0.985902 0.153721 +vn 0.023452 -0.535411 -0.844266 +vn 0.023048 -0.566418 -0.823796 +vn 0.072507 -0.984975 0.156740 +vn 0.537039 -0.832076 0.138707 +vn 0.023452 -0.535411 -0.844266 +vn 0.072507 -0.984975 0.156740 +vn -0.271900 -0.834485 0.479275 +vn -0.986320 0.063114 -0.152283 +vn -0.984525 0.142090 -0.102568 +vn -0.341026 -0.435076 0.833313 +vn -0.986320 0.063114 -0.152283 +vn -0.271900 -0.834485 0.479275 +vn 0.413376 -0.793184 0.447190 +vn -0.341026 -0.435076 0.833313 +vn -0.271900 -0.834485 0.479275 +vn 0.401126 -0.385378 0.831012 +vn -0.341026 -0.435076 0.833313 +vn 0.413376 -0.793184 0.447190 +vn -0.234028 -0.910408 0.341156 +vn 0.401126 -0.385378 0.831012 +vn 0.413376 -0.793184 0.447190 +vn -0.423190 -0.552461 0.718121 +vn 0.401126 -0.385378 0.831012 +vn -0.234028 -0.910408 0.341156 +vn -0.199961 -0.162029 -0.966314 +vn -0.984480 0.110512 0.136331 +vn -0.980951 0.034095 0.191239 +vn -0.226838 -0.615603 -0.754704 +vn -0.984480 0.110512 0.136331 +vn -0.199961 -0.162029 -0.966314 +vn 0.410404 -0.137335 -0.901503 +vn -0.226838 -0.615603 -0.754704 +vn -0.199961 -0.162029 -0.966314 +vn 0.494279 -0.560024 -0.664877 +vn -0.226838 -0.615603 -0.754704 +vn 0.410404 -0.137335 -0.901503 +vn 0.021107 -0.218551 -0.975597 +vn 0.494279 -0.560024 -0.664877 +vn 0.410404 -0.137335 -0.901503 +vn 0.230144 -0.687366 -0.688884 +vn 0.494279 -0.560024 -0.664877 +vn 0.021107 -0.218551 -0.975597 +vn -0.226838 -0.615603 -0.754704 +vn -0.982641 0.170812 0.072389 +vn -0.984480 0.110512 0.136331 +vn -0.193643 -0.934376 -0.299073 +vn -0.982641 0.170812 0.072389 +vn -0.226838 -0.615603 -0.754704 +vn 0.494279 -0.560024 -0.664877 +vn -0.193643 -0.934376 -0.299073 +vn -0.226838 -0.615603 -0.754704 +vn 0.530167 -0.809193 -0.253237 +vn -0.193643 -0.934376 -0.299073 +vn 0.494279 -0.560024 -0.664877 +vn 0.230144 -0.687366 -0.688884 +vn 0.530167 -0.809193 -0.253237 +vn 0.494279 -0.560024 -0.664877 +vn 0.281909 -0.908863 -0.307401 +vn 0.530167 -0.809193 -0.253237 +vn 0.230144 -0.687366 -0.688884 +vn -0.193643 -0.934376 -0.299073 +vn -0.977166 0.210722 -0.027252 +vn -0.982641 0.170812 0.072389 +vn -0.226408 -0.967842 0.109640 +vn -0.977166 0.210722 -0.027252 +vn -0.193643 -0.934376 -0.299073 +vn 0.530167 -0.809193 -0.253237 +vn -0.226408 -0.967842 0.109640 +vn -0.193643 -0.934376 -0.299073 +vn 0.467327 -0.880243 0.082330 +vn -0.226408 -0.967842 0.109640 +vn 0.530167 -0.809193 -0.253237 +vn 0.281909 -0.908863 -0.307401 +vn 0.467327 -0.880243 0.082330 +vn 0.530167 -0.809193 -0.253237 +vn 0.225383 -0.973962 -0.024511 +vn 0.467327 -0.880243 0.082330 +vn 0.281909 -0.908863 -0.307401 +vn -0.226408 -0.967842 0.109640 +vn -0.984525 0.142090 -0.102568 +vn -0.977166 0.210722 -0.027252 +vn -0.271900 -0.834485 0.479275 +vn -0.984525 0.142090 -0.102568 +vn -0.226408 -0.967842 0.109640 +vn 0.467327 -0.880243 0.082330 +vn -0.271900 -0.834485 0.479275 +vn -0.226408 -0.967842 0.109640 +vn 0.413376 -0.793184 0.447190 +vn -0.271900 -0.834485 0.479275 +vn 0.467327 -0.880243 0.082330 +vn 0.225383 -0.973962 -0.024511 +vn 0.413376 -0.793184 0.447190 +vn 0.467327 -0.880243 0.082330 +vn -0.234028 -0.910408 0.341156 +vn 0.413376 -0.793184 0.447190 +vn 0.225383 -0.973962 -0.024511 +vn 0.391635 0.096071 0.915091 +vn -0.423190 -0.552461 0.718121 +vn -0.048660 0.249703 0.967099 +vn 0.401126 -0.385378 0.831012 +vn -0.423190 -0.552461 0.718121 +vn 0.391635 0.096071 0.915091 +vn -0.323962 0.079584 0.942717 +vn 0.401126 -0.385378 0.831012 +vn 0.391635 0.096071 0.915091 +vn -0.341026 -0.435076 0.833313 +vn 0.401126 -0.385378 0.831012 +vn -0.323962 0.079584 0.942717 +vn -0.982920 -0.010608 -0.183726 +vn -0.341026 -0.435076 0.833313 +vn -0.323962 0.079584 0.942717 +vn -0.986320 0.063114 -0.152283 +vn -0.341026 -0.435076 0.833313 +vn -0.982920 -0.010608 -0.183726 +vn -0.183489 0.805889 -0.562916 +vn -0.984817 -0.052846 0.165355 +vn -0.983352 -0.144836 0.109731 +vn -0.180490 0.321155 -0.929668 +vn -0.984817 -0.052846 0.165355 +vn -0.183489 0.805889 -0.562916 +vn 0.318736 0.785526 -0.530430 +vn -0.180490 0.321155 -0.929668 +vn -0.183489 0.805889 -0.562916 +vn 0.430402 0.298027 -0.852018 +vn -0.180490 0.321155 -0.929668 +vn 0.318736 0.785526 -0.530430 +vn -0.022009 0.830247 -0.556961 +vn 0.430402 0.298027 -0.852018 +vn 0.318736 0.785526 -0.530430 +vn -0.088272 0.306776 -0.947680 +vn 0.430402 0.298027 -0.852018 +vn -0.022009 0.830247 -0.556961 +vn -0.180490 0.321155 -0.929668 +vn -0.980951 0.034095 0.191239 +vn -0.984817 -0.052846 0.165355 +vn -0.199961 -0.162029 -0.966314 +vn -0.980951 0.034095 0.191239 +vn -0.180490 0.321155 -0.929668 +vn 0.430402 0.298027 -0.852018 +vn -0.199961 -0.162029 -0.966314 +vn -0.180490 0.321155 -0.929668 +vn 0.410404 -0.137335 -0.901503 +vn -0.199961 -0.162029 -0.966314 +vn 0.430402 0.298027 -0.852018 +vn -0.088272 0.306776 -0.947680 +vn 0.410404 -0.137335 -0.901503 +vn 0.430402 0.298027 -0.852018 +vn 0.021107 -0.218551 -0.975597 +vn 0.410404 -0.137335 -0.901503 +vn -0.088272 0.306776 -0.947680 +vn 0.046018 0.457339 0.888101 +vn 0.368882 -0.274202 0.888110 +vn 0.365443 0.397223 0.841823 +vn 0.051267 -0.279636 0.958736 +vn 0.368882 -0.274202 0.888110 +vn 0.046018 0.457339 0.888101 +vn -0.031228 0.372640 0.927450 +vn 0.051267 -0.279636 0.958736 +vn 0.046018 0.457339 0.888101 +vn 0.036249 -0.212592 0.976469 +vn 0.051267 -0.279636 0.958736 +vn -0.031228 0.372640 0.927450 +vn 0.049302 0.390373 0.919336 +vn 0.036249 -0.212592 0.976469 +vn -0.031228 0.372640 0.927450 +vn 0.312050 0.911285 -0.268671 +vn 0.036249 -0.212592 0.976469 +vn 0.049302 0.390373 0.919336 +vn 0.051267 -0.279636 0.958736 +vn 0.477434 -0.864235 0.158605 +vn 0.368882 -0.274202 0.888110 +vn 0.066089 -0.985902 0.153721 +vn 0.477434 -0.864235 0.158605 +vn 0.051267 -0.279636 0.958736 +vn 0.036249 -0.212592 0.976469 +vn 0.066089 -0.985902 0.153721 +vn 0.051267 -0.279636 0.958736 +vn 0.072507 -0.984975 0.156740 +vn 0.066089 -0.985902 0.153721 +vn 0.036249 -0.212592 0.976469 +vn 0.585600 -0.806964 0.076693 +vn 0.072507 -0.984975 0.156740 +vn 0.036249 -0.212592 0.976469 +vn 0.537039 -0.832076 0.138707 +vn 0.072507 -0.984975 0.156740 +vn 0.585600 -0.806964 0.076693 +vn 0.077829 0.160110 -0.984026 +vn 0.537039 -0.832076 0.138707 +vn 0.335058 0.758836 -0.558483 +vn 0.023452 -0.535411 -0.844266 +vn 0.537039 -0.832076 0.138707 +vn 0.077829 0.160110 -0.984026 +vn -0.057056 0.212249 -0.975549 +vn 0.023452 -0.535411 -0.844266 +vn 0.077829 0.160110 -0.984026 +vn -0.019330 0.227065 -0.973688 +vn 0.023452 -0.535411 -0.844266 +vn -0.057056 0.212249 -0.975549 +vn 0.028470 0.975615 -0.217636 +vn 0.046018 0.457339 0.888101 +vn 0.365443 0.397223 0.841823 +vn -0.000859 0.969584 -0.244757 +vn 0.046018 0.457339 0.888101 +vn 0.028470 0.975615 -0.217636 +vn -0.057056 0.212249 -0.975549 +vn -0.000859 0.969584 -0.244757 +vn 0.028470 0.975615 -0.217636 +vn 0.077829 0.160110 -0.984026 +vn -0.000859 0.969584 -0.244757 +vn -0.057056 0.212249 -0.975549 +vn -0.000859 0.969584 -0.244757 +vn -0.031228 0.372640 0.927450 +vn 0.046018 0.457339 0.888101 +vn 0.135416 0.954585 -0.265386 +vn -0.031228 0.372640 0.927450 +vn -0.000859 0.969584 -0.244757 +vn 0.077829 0.160110 -0.984026 +vn 0.135416 0.954585 -0.265386 +vn -0.000859 0.969584 -0.244757 +vn 0.335058 0.758836 -0.558483 +vn 0.135416 0.954585 -0.265386 +vn 0.077829 0.160110 -0.984026 +vn 0.135416 0.954585 -0.265386 +vn 0.049302 0.390373 0.919336 +vn -0.031228 0.372640 0.927450 +vn 0.262465 0.920526 -0.289385 +vn 0.049302 0.390373 0.919336 +vn 0.135416 0.954585 -0.265386 +vn 0.335058 0.758836 -0.558483 +vn 0.262465 0.920526 -0.289385 +vn 0.135416 0.954585 -0.265386 +vn 0.289194 0.907370 -0.305036 +vn 0.262465 0.920526 -0.289385 +vn 0.335058 0.758836 -0.558483 +vn 0.225383 -0.973962 -0.024511 +vn 0.213933 -0.912750 -0.348024 +vn -0.199785 -0.972457 0.120053 +vn 0.466395 -0.879475 -0.094868 +vn 0.213933 -0.912750 -0.348024 +vn 0.225383 -0.973962 -0.024511 +vn 0.137309 -0.987330 -0.079540 +vn 0.466395 -0.879475 -0.094868 +vn 0.225383 -0.973962 -0.024511 +vn 0.755182 0.622048 0.206776 +vn 0.962466 -0.266641 0.050624 +vn 0.721886 0.499697 -0.478731 +vn 0.368882 -0.274202 0.888110 +vn 0.962466 -0.266641 0.050624 +vn 0.755182 0.622048 0.206776 +vn 0.365443 0.397223 0.841823 +vn 0.368882 -0.274202 0.888110 +vn 0.755182 0.622048 0.206776 +vn -0.999983 -0.005766 -0.000375 +vn -0.984270 -0.100513 -0.145293 +vn -0.982009 -0.172896 -0.075933 +vn -0.982920 -0.010608 -0.183726 +vn -0.984270 -0.100513 -0.145293 +vn -0.999983 -0.005766 -0.000375 +vn -0.986320 0.063114 -0.152283 +vn -0.982920 -0.010608 -0.183726 +vn -0.999983 -0.005766 -0.000375 +vn -0.999983 -0.005766 -0.000375 +vn -0.984525 0.142090 -0.102568 +vn -0.986320 0.063114 -0.152283 +vn -0.977166 0.210722 -0.027252 +vn -0.984525 0.142090 -0.102568 +vn -0.999983 -0.005766 -0.000375 +vn -0.982641 0.170812 0.072389 +vn -0.977166 0.210722 -0.027252 +vn -0.999983 -0.005766 -0.000375 +vn -0.999983 -0.005766 -0.000375 +vn -0.984480 0.110512 0.136331 +vn -0.982641 0.170812 0.072389 +vn -0.980951 0.034095 0.191239 +vn -0.984480 0.110512 0.136331 +vn -0.999983 -0.005766 -0.000375 +vn -0.984817 -0.052846 0.165355 +vn -0.980951 0.034095 0.191239 +vn -0.999983 -0.005766 -0.000375 +vn -0.999983 -0.005766 -0.000375 +vn -0.983352 -0.144836 0.109731 +vn -0.984817 -0.052846 0.165355 +vn -0.977594 -0.209117 0.024068 +vn -0.983352 -0.144836 0.109731 +vn -0.999983 -0.005766 -0.000375 +vn -0.982009 -0.172896 -0.075933 +vn -0.977594 -0.209117 0.024068 +vn -0.999983 -0.005766 -0.000375 +vn 0.028470 0.975615 -0.217636 +vn 0.721886 0.499697 -0.478731 +vn 0.307787 0.201663 -0.929838 +vn 0.755182 0.622048 0.206776 +vn 0.721886 0.499697 -0.478731 +vn 0.028470 0.975615 -0.217636 +vn 0.365443 0.397223 0.841823 +vn 0.755182 0.622048 0.206776 +vn 0.028470 0.975615 -0.217636 +vn 0.023048 -0.566418 -0.823796 +vn 0.307787 0.201663 -0.929838 +vn 0.379001 -0.549324 -0.744716 +vn -0.019330 0.227065 -0.973688 +vn 0.307787 0.201663 -0.929838 +vn 0.023048 -0.566418 -0.823796 +vn 0.023452 -0.535411 -0.844266 +vn -0.019330 0.227065 -0.973688 +vn 0.023048 -0.566418 -0.823796 +vn -0.019330 0.227065 -0.973688 +vn 0.028470 0.975615 -0.217636 +vn 0.307787 0.201663 -0.929838 +vn -0.057056 0.212249 -0.975549 +vn 0.028470 0.975615 -0.217636 +vn -0.019330 0.227065 -0.973688 +vn 0.460246 -0.885385 0.065320 +vn 0.036249 -0.212592 0.976469 +vn 0.312050 0.911285 -0.268671 +vn 0.585600 -0.806964 0.076693 +vn 0.036249 -0.212592 0.976469 +vn 0.460246 -0.885385 0.065320 +vn -0.234028 -0.910408 0.341156 +vn -0.199785 -0.972457 0.120053 +vn -0.517961 -0.612454 0.597174 +vn 0.225383 -0.973962 -0.024511 +vn -0.199785 -0.972457 0.120053 +vn -0.234028 -0.910408 0.341156 +vn 0.721886 0.499697 -0.478731 +vn 0.379001 -0.549324 -0.744716 +vn 0.307787 0.201663 -0.929838 +vn 0.962466 -0.266641 0.050624 +vn 0.379001 -0.549324 -0.744716 +vn 0.721886 0.499697 -0.478731 +vn 0.312050 0.911285 -0.268671 +vn 0.262465 0.920526 -0.289385 +vn 0.289194 0.907370 -0.305036 +vn 0.049302 0.390373 0.919336 +vn 0.262465 0.920526 -0.289385 +vn 0.312050 0.911285 -0.268671 +vn -0.618675 0.092248 0.780213 +vn -0.048660 0.249703 0.967099 +vn -0.423190 -0.552461 0.718121 +vn -0.336810 0.443527 0.830568 +vn -0.048660 0.249703 0.967099 +vn -0.618675 0.092248 0.780213 +vn -0.618675 0.092248 0.780213 +vn -0.552221 0.000966 0.833697 +vn -0.336810 0.443527 0.830568 +vn -0.423190 -0.552461 0.718121 +vn -0.552221 0.000966 0.833697 +vn -0.618675 0.092248 0.780213 +vn -0.423190 -0.552461 0.718121 +vn -0.517961 -0.612454 0.597174 +vn -0.552221 0.000966 0.833697 +vn -0.234028 -0.910408 0.341156 +vn -0.517961 -0.612454 0.597174 +vn -0.423190 -0.552461 0.718121 +vn -0.336810 0.443527 0.830568 +vn -0.272043 0.584628 0.764332 +vn -0.048660 0.249703 0.967099 +vn 0.140478 0.706015 0.694125 +vn 0.137038 0.851981 -0.505320 +vn 0.803874 0.142663 0.577438 +vn 0.197897 0.846458 0.494313 +vn 0.137038 0.851981 -0.505320 +vn 0.140478 0.706015 0.694125 +vn -0.161509 0.616308 0.770765 +vn 0.197897 0.846458 0.494313 +vn 0.140478 0.706015 0.694125 +vn 0.066699 0.071461 0.995211 +vn 0.197897 0.846458 0.494313 +vn -0.161509 0.616308 0.770765 +vn -0.231361 0.077626 0.969766 +vn 0.066699 0.071461 0.995211 +vn -0.161509 0.616308 0.770765 +vn 0.149644 -0.745680 0.649283 +vn 0.066699 0.071461 0.995211 +vn -0.231361 0.077626 0.969766 +vn -0.181384 -0.549229 0.815750 +vn 0.149644 -0.745680 0.649283 +vn -0.231361 0.077626 0.969766 +vn 0.073564 -0.969292 0.234651 +vn 0.149644 -0.745680 0.649283 +vn -0.181384 -0.549229 0.815750 +vn -0.517961 -0.612454 0.597174 +vn 0.073564 -0.969292 0.234651 +vn -0.181384 -0.549229 0.815750 +vn -0.199785 -0.972457 0.120053 +vn 0.073564 -0.969292 0.234651 +vn -0.517961 -0.612454 0.597174 +vn 0.491975 -0.683054 0.539812 +vn 0.977995 0.011298 -0.208323 +vn 0.633348 0.042647 0.772691 +vn 0.614681 -0.705050 -0.353654 +vn 0.977995 0.011298 -0.208323 +vn 0.491975 -0.683054 0.539812 +vn 0.073206 -0.814163 0.576003 +vn 0.614681 -0.705050 -0.353654 +vn 0.491975 -0.683054 0.539812 +vn 0.030979 -0.895807 -0.443362 +vn 0.614681 -0.705050 -0.353654 +vn 0.073206 -0.814163 0.576003 +vn 0.149644 -0.745680 0.649283 +vn 0.030979 -0.895807 -0.443362 +vn 0.073206 -0.814163 0.576003 +vn 0.208154 -0.882780 -0.421154 +vn 0.030979 -0.895807 -0.443362 +vn 0.149644 -0.745680 0.649283 +vn 0.073564 -0.969292 0.234651 +vn 0.208154 -0.882780 -0.421154 +vn 0.149644 -0.745680 0.649283 +vn 0.439375 -0.800395 -0.407820 +vn 0.208154 -0.882780 -0.421154 +vn 0.073564 -0.969292 0.234651 +vn 0.582623 0.611842 -0.534977 +vn 0.977995 0.011298 -0.208323 +vn 0.579112 -0.082380 -0.811075 +vn 0.464529 0.834068 0.297563 +vn 0.977995 0.011298 -0.208323 +vn 0.582623 0.611842 -0.534977 +vn 0.049474 0.768221 -0.638270 +vn 0.464529 0.834068 0.297563 +vn 0.582623 0.611842 -0.534977 +vn 0.043430 0.920344 0.388691 +vn 0.464529 0.834068 0.297563 +vn 0.049474 0.768221 -0.638270 +vn 0.137038 0.851981 -0.505320 +vn 0.043430 0.920344 0.388691 +vn 0.049474 0.768221 -0.638270 +vn 0.197897 0.846458 0.494313 +vn 0.043430 0.920344 0.388691 +vn 0.137038 0.851981 -0.505320 +vn -0.336810 0.443527 0.830568 +vn -0.161509 0.616308 0.770765 +vn 0.140478 0.706015 0.694125 +vn -0.231361 0.077626 0.969766 +vn -0.161509 0.616308 0.770765 +vn -0.336810 0.443527 0.830568 +vn -0.552221 0.000966 0.833697 +vn -0.231361 0.077626 0.969766 +vn -0.336810 0.443527 0.830568 +vn -0.181384 -0.549229 0.815750 +vn -0.231361 0.077626 0.969766 +vn -0.552221 0.000966 0.833697 +vn -0.517961 -0.612454 0.597174 +vn -0.181384 -0.549229 0.815750 +vn -0.552221 0.000966 0.833697 +vn 0.122736 0.362117 0.924017 +vn 0.803874 0.142663 0.577438 +vn 0.138333 -0.330887 0.933476 +vn 0.044088 0.392670 0.918622 +vn 0.803874 0.142663 0.577438 +vn 0.122736 0.362117 0.924017 +vn -0.081609 0.701984 0.707501 +vn 0.044088 0.392670 0.918622 +vn 0.122736 0.362117 0.924017 +vn -0.272043 0.584628 0.764332 +vn 0.044088 0.392670 0.918622 +vn -0.081609 0.701984 0.707501 +vn 0.039600 -0.075987 -0.996322 +vn 0.582623 0.611842 -0.534977 +vn 0.579112 -0.082380 -0.811075 +vn 0.049474 0.768221 -0.638270 +vn 0.582623 0.611842 -0.534977 +vn 0.039600 -0.075987 -0.996322 +vn 0.308201 0.048409 -0.950089 +vn 0.049474 0.768221 -0.638270 +vn 0.039600 -0.075987 -0.996322 +vn 0.137038 0.851981 -0.505320 +vn 0.049474 0.768221 -0.638270 +vn 0.308201 0.048409 -0.950089 +vn 0.073206 -0.814163 0.576003 +vn 0.066699 0.071461 0.995211 +vn 0.149644 -0.745680 0.649283 +vn 0.081956 0.080713 0.993362 +vn 0.066699 0.071461 0.995211 +vn 0.073206 -0.814163 0.576003 +vn 0.491975 -0.683054 0.539812 +vn 0.081956 0.080713 0.993362 +vn 0.073206 -0.814163 0.576003 +vn 0.633348 0.042647 0.772691 +vn 0.081956 0.080713 0.993362 +vn 0.491975 -0.683054 0.539812 +vn 0.208154 -0.882780 -0.421154 +vn 0.308201 0.048409 -0.950089 +vn 0.039600 -0.075987 -0.996322 +vn 0.712358 -0.547479 -0.439105 +vn 0.308201 0.048409 -0.950089 +vn 0.208154 -0.882780 -0.421154 +vn 0.439375 -0.800395 -0.407820 +vn 0.712358 -0.547479 -0.439105 +vn 0.208154 -0.882780 -0.421154 +vn 0.803874 0.142663 0.577438 +vn 0.456675 -0.878326 0.141390 +vn 0.138333 -0.330887 0.933476 +vn 0.712358 -0.547479 -0.439105 +vn 0.456675 -0.878326 0.141390 +vn 0.803874 0.142663 0.577438 +vn 0.213933 -0.912750 -0.348024 +vn 0.073564 -0.969292 0.234651 +vn -0.199785 -0.972457 0.120053 +vn 0.439375 -0.800395 -0.407820 +vn 0.073564 -0.969292 0.234651 +vn 0.213933 -0.912750 -0.348024 +vn -0.336810 0.443527 0.830568 +vn 0.044088 0.392670 0.918622 +vn -0.272043 0.584628 0.764332 +vn 0.140478 0.706015 0.694125 +vn 0.044088 0.392670 0.918622 +vn -0.336810 0.443527 0.830568 +vn 0.803874 0.142663 0.577438 +vn 0.308201 0.048409 -0.950089 +vn 0.712358 -0.547479 -0.439105 +vn 0.137038 0.851981 -0.505320 +vn 0.308201 0.048409 -0.950089 +vn 0.803874 0.142663 0.577438 +vn 0.464529 0.834068 0.297563 +vn 0.633348 0.042647 0.772691 +vn 0.977995 0.011298 -0.208323 +vn 0.043430 0.920344 0.388691 +vn 0.633348 0.042647 0.772691 +vn 0.464529 0.834068 0.297563 +vn 0.614681 -0.705050 -0.353654 +vn 0.579112 -0.082380 -0.811075 +vn 0.977995 0.011298 -0.208323 +vn 0.030979 -0.895807 -0.443362 +vn 0.579112 -0.082380 -0.811075 +vn 0.614681 -0.705050 -0.353654 +vn 0.030979 -0.895807 -0.443362 +vn 0.039600 -0.075987 -0.996322 +vn 0.579112 -0.082380 -0.811075 +vn 0.208154 -0.882780 -0.421154 +vn 0.039600 -0.075987 -0.996322 +vn 0.030979 -0.895807 -0.443362 +vn 0.043430 0.920344 0.388691 +vn 0.081956 0.080713 0.993362 +vn 0.633348 0.042647 0.772691 +vn 0.197897 0.846458 0.494313 +vn 0.081956 0.080713 0.993362 +vn 0.043430 0.920344 0.388691 +vn 0.140478 0.706015 0.694125 +vn 0.803874 0.142663 0.577438 +vn 0.044088 0.392670 0.918622 +vn 0.197897 0.846458 0.494313 +vn 0.066699 0.071461 0.995211 +vn 0.081956 0.080713 0.993362 +vn 0.225448 0.599196 0.768204 +vn -0.161668 0.581148 0.797578 +vn -0.133581 0.402364 0.905682 +vn 0.068210 0.698697 0.712159 +vn -0.161668 0.581148 0.797578 +vn 0.225448 0.599196 0.768204 +vn 0.468068 0.868346 0.163976 +vn 0.068210 0.698697 0.712159 +vn 0.225448 0.599196 0.768204 +vn 0.332674 0.930704 0.152045 +vn 0.068210 0.698697 0.712159 +vn 0.468068 0.868346 0.163976 +vn 0.295560 0.804015 -0.515949 +vn 0.332674 0.930704 0.152045 +vn 0.468068 0.868346 0.163976 +vn 0.127415 0.886163 -0.445512 +vn 0.332674 0.930704 0.152045 +vn 0.295560 0.804015 -0.515949 +vn -0.061204 0.690798 -0.720452 +vn 0.127415 0.886163 -0.445512 +vn 0.295560 0.804015 -0.515949 +vn -0.104451 0.823005 -0.558348 +vn 0.127415 0.886163 -0.445512 +vn -0.061204 0.690798 -0.720452 +vn -0.466653 0.677410 -0.568640 +vn -0.104451 0.823005 -0.558348 +vn -0.061204 0.690798 -0.720452 +vn -0.355711 0.820971 -0.446627 +vn -0.104451 0.823005 -0.558348 +vn -0.466653 0.677410 -0.568640 +vn -0.773119 0.625655 0.104126 +vn -0.355711 0.820971 -0.446627 +vn -0.466653 0.677410 -0.568640 +vn -0.653752 0.743207 0.142307 +vn -0.355711 0.820971 -0.446627 +vn -0.773119 0.625655 0.104126 +vn -0.519526 0.414551 0.747154 +vn -0.653752 0.743207 0.142307 +vn -0.773119 0.625655 0.104126 +vn -0.402484 0.592776 0.697584 +vn -0.653752 0.743207 0.142307 +vn -0.519526 0.414551 0.747154 +vn -0.133581 0.402364 0.905682 +vn -0.402484 0.592776 0.697584 +vn -0.519526 0.414551 0.747154 +vn -0.161668 0.581148 0.797578 +vn -0.402484 0.592776 0.697584 +vn -0.133581 0.402364 0.905682 +vn 0.337668 0.904150 0.261713 +vn -0.045363 0.937179 0.345886 +vn -0.000347 0.844912 0.534905 +vn 0.170593 0.968869 0.179416 +vn -0.045363 0.937179 0.345886 +vn 0.337668 0.904150 0.261713 +vn 0.482917 0.767163 -0.422200 +vn 0.170593 0.968869 0.179416 +vn 0.337668 0.904150 0.261713 +vn 0.347540 0.825622 -0.444482 +vn 0.170593 0.968869 0.179416 +vn 0.482917 0.767163 -0.422200 +vn 0.210532 0.356347 -0.910326 +vn 0.347540 0.825622 -0.444482 +vn 0.482917 0.767163 -0.422200 +vn 0.057303 0.476027 -0.877562 +vn 0.347540 0.825622 -0.444482 +vn 0.210532 0.356347 -0.910326 +vn -0.167315 0.182115 -0.968937 +vn 0.057303 0.476027 -0.877562 +vn 0.210532 0.356347 -0.910326 +vn -0.186271 0.380868 -0.905672 +vn 0.057303 0.476027 -0.877562 +vn -0.167315 0.182115 -0.968937 +vn -0.541974 0.284425 -0.790801 +vn -0.186271 0.380868 -0.905672 +vn -0.167315 0.182115 -0.968937 +vn -0.417259 0.459652 -0.783974 +vn -0.186271 0.380868 -0.905672 +vn -0.541974 0.284425 -0.790801 +vn -0.752292 0.632874 -0.183106 +vn -0.417259 0.459652 -0.783974 +vn -0.541974 0.284425 -0.790801 +vn -0.628318 0.744565 -0.225476 +vn -0.417259 0.459652 -0.783974 +vn -0.752292 0.632874 -0.183106 +vn -0.410330 0.797278 0.442694 +vn -0.628318 0.744565 -0.225476 +vn -0.752292 0.632874 -0.183106 +vn -0.299988 0.909995 0.286210 +vn -0.628318 0.744565 -0.225476 +vn -0.410330 0.797278 0.442694 +vn -0.000347 0.844912 0.534905 +vn -0.299988 0.909995 0.286210 +vn -0.410330 0.797278 0.442694 +vn -0.045363 0.937179 0.345886 +vn -0.299988 0.909995 0.286210 +vn -0.000347 0.844912 0.534905 +vn 0.341131 0.769478 0.539939 +vn -0.043804 0.791775 0.609240 +vn -0.013231 0.646629 0.762690 +vn 0.182479 0.862247 0.472474 +vn -0.043804 0.791775 0.609240 +vn 0.341131 0.769478 0.539939 +vn 0.528228 0.837333 -0.140884 +vn 0.182479 0.862247 0.472474 +vn 0.341131 0.769478 0.539939 +vn 0.396355 0.905048 -0.154242 +vn 0.182479 0.862247 0.472474 +vn 0.528228 0.837333 -0.140884 +vn 0.279304 0.601370 -0.748561 +vn 0.396355 0.905048 -0.154242 +vn 0.528228 0.837333 -0.140884 +vn 0.126022 0.712240 -0.690531 +vn 0.396355 0.905048 -0.154242 +vn 0.279304 0.601370 -0.748561 +vn -0.099739 0.466468 -0.878897 +vn 0.126022 0.712240 -0.690531 +vn 0.279304 0.601370 -0.748561 +vn -0.118367 0.639461 -0.759657 +vn 0.126022 0.712240 -0.690531 +vn -0.099739 0.466468 -0.878897 +vn -0.484460 0.527137 -0.698158 +vn -0.118367 0.639461 -0.759657 +vn -0.099739 0.466468 -0.878897 +vn -0.355416 0.688660 -0.632002 +vn -0.118367 0.639461 -0.759657 +vn -0.484460 0.527137 -0.698158 +vn -0.724227 0.689271 -0.020046 +vn -0.355416 0.688660 -0.632002 +vn -0.484460 0.527137 -0.698158 +vn -0.594821 0.803525 -0.023141 +vn -0.355416 0.688660 -0.632002 +vn -0.724227 0.689271 -0.020046 +vn -0.415904 0.645438 0.640651 +vn -0.594821 0.803525 -0.023141 +vn -0.724227 0.689271 -0.020046 +vn -0.294189 0.794543 0.531182 +vn -0.594821 0.803525 -0.023141 +vn -0.415904 0.645438 0.640651 +vn -0.013231 0.646629 0.762690 +vn -0.294189 0.794543 0.531182 +vn -0.415904 0.645438 0.640651 +vn -0.043804 0.791775 0.609240 +vn -0.294189 0.794543 0.531182 +vn -0.013231 0.646629 0.762690 +vn 0.033566 -0.826734 -0.561591 +vn 0.478686 -0.877263 0.035629 +vn 0.137309 -0.987330 -0.079540 +vn 0.266773 -0.846720 -0.460323 +vn 0.478686 -0.877263 0.035629 +vn 0.033566 -0.826734 -0.561591 +vn -0.121360 -0.376269 -0.918528 +vn 0.266773 -0.846720 -0.460323 +vn 0.033566 -0.826734 -0.561591 +vn 0.068874 -0.442522 -0.894109 +vn 0.266773 -0.846720 -0.460323 +vn -0.121360 -0.376269 -0.918528 +vn -0.051446 -0.009167 -0.998634 +vn 0.068874 -0.442522 -0.894109 +vn -0.121360 -0.376269 -0.918528 +vn 0.125940 0.057112 -0.990393 +vn 0.068874 -0.442522 -0.894109 +vn -0.051446 -0.009167 -0.998634 +vn -0.036317 0.557234 -0.829561 +vn 0.125940 0.057112 -0.990393 +vn -0.051446 -0.009167 -0.998634 +vn 0.050621 0.862174 -0.504076 +vn 0.125940 0.057112 -0.990393 +vn -0.036317 0.557234 -0.829561 +vn -0.265795 0.779910 -0.566651 +vn 0.050621 0.862174 -0.504076 +vn -0.036317 0.557234 -0.829561 +vn 0.034880 0.958356 -0.283439 +vn 0.050621 0.862174 -0.504076 +vn -0.265795 0.779910 -0.566651 +vn -0.236829 0.967064 -0.093272 +vn 0.034880 0.958356 -0.283439 +vn -0.265795 0.779910 -0.566651 +vn 0.038017 0.997237 0.063819 +vn 0.034880 0.958356 -0.283439 +vn -0.236829 0.967064 -0.093272 +vn -0.257933 0.887106 0.382771 +vn 0.038017 0.997237 0.063819 +vn -0.236829 0.967064 -0.093272 +vn 0.008136 0.931387 0.363940 +vn 0.038017 0.997237 0.063819 +vn -0.257933 0.887106 0.382771 +vn 0.452122 -0.471036 0.757437 +vn 0.558909 -0.825146 -0.082189 +vn 0.947104 -0.317787 -0.044786 +vn 0.040794 -0.527046 0.848857 +vn 0.558909 -0.825146 -0.082189 +vn 0.452122 -0.471036 0.757437 +vn -0.014013 0.401274 0.915851 +vn 0.040794 -0.527046 0.848857 +vn 0.452122 -0.471036 0.757437 +vn -0.044131 0.313982 0.948403 +vn 0.040794 -0.527046 0.848857 +vn -0.014013 0.401274 0.915851 +vn -0.055028 0.975017 0.215207 +vn -0.044131 0.313982 0.948403 +vn -0.014013 0.401274 0.915851 +vn 0.121188 0.976374 0.178904 +vn -0.044131 0.313982 0.948403 +vn -0.055028 0.975017 0.215207 +vn 0.088085 0.371502 -0.924244 +vn 0.121188 0.976374 0.178904 +vn -0.055028 0.975017 0.215207 +vn 0.332763 0.932080 0.143166 +vn 0.121188 0.976374 0.178904 +vn 0.088085 0.371502 -0.924244 +vn -0.081609 0.701984 0.707501 +vn -0.257933 0.887106 0.382771 +vn -0.272043 0.584628 0.764332 +vn 0.008136 0.931387 0.363940 +vn -0.257933 0.887106 0.382771 +vn -0.081609 0.701984 0.707501 +vn 0.122736 0.362117 0.924017 +vn 0.008136 0.931387 0.363940 +vn -0.081609 0.701984 0.707501 +vn 0.245504 0.927402 0.282230 +vn 0.008136 0.931387 0.363940 +vn 0.122736 0.362117 0.924017 +vn 0.183684 0.935125 0.302986 +vn 0.245504 0.927402 0.282230 +vn 0.122736 0.362117 0.924017 +vn 0.332763 0.932080 0.143166 +vn 0.245504 0.927402 0.282230 +vn 0.183684 0.935125 0.302986 +vn 0.121188 0.976374 0.178904 +vn 0.332763 0.932080 0.143166 +vn 0.183684 0.935125 0.302986 +vn 0.332763 0.932080 0.143166 +vn 0.008136 0.931387 0.363940 +vn 0.245504 0.927402 0.282230 +vn 0.038017 0.997237 0.063819 +vn 0.008136 0.931387 0.363940 +vn 0.332763 0.932080 0.143166 +vn 0.282102 0.955166 0.089871 +vn 0.038017 0.997237 0.063819 +vn 0.332763 0.932080 0.143166 +vn 0.312050 0.911285 -0.268671 +vn 0.038017 0.997237 0.063819 +vn 0.282102 0.955166 0.089871 +vn 0.220061 0.962148 0.160762 +vn 0.312050 0.911285 -0.268671 +vn 0.282102 0.955166 0.089871 +vn 0.129130 0.991586 0.009126 +vn 0.312050 0.911285 -0.268671 +vn 0.220061 0.962148 0.160762 +vn 0.057279 0.321976 0.945014 +vn 0.129130 0.991586 0.009126 +vn 0.220061 0.962148 0.160762 +vn 0.040794 -0.527046 0.848857 +vn 0.099587 -0.992809 -0.066436 +vn 0.558909 -0.825146 -0.082189 +vn 0.024294 -0.504476 0.863084 +vn 0.099587 -0.992809 -0.066436 +vn 0.040794 -0.527046 0.848857 +vn -0.044131 0.313982 0.948403 +vn 0.024294 -0.504476 0.863084 +vn 0.040794 -0.527046 0.848857 +vn 0.031677 0.311433 0.949740 +vn 0.024294 -0.504476 0.863084 +vn -0.044131 0.313982 0.948403 +vn 0.121188 0.976374 0.178904 +vn 0.031677 0.311433 0.949740 +vn -0.044131 0.313982 0.948403 +vn 0.183684 0.935125 0.302986 +vn 0.031677 0.311433 0.949740 +vn 0.121188 0.976374 0.178904 +vn 0.050621 0.862174 -0.504076 +vn 0.244470 0.824122 -0.510938 +vn 0.125940 0.057112 -0.990393 +vn 0.335058 0.758836 -0.558483 +vn 0.244470 0.824122 -0.510938 +vn 0.050621 0.862174 -0.504076 +vn 0.034880 0.958356 -0.283439 +vn 0.335058 0.758836 -0.558483 +vn 0.050621 0.862174 -0.504076 +vn 0.289194 0.907370 -0.305036 +vn 0.335058 0.758836 -0.558483 +vn 0.034880 0.958356 -0.283439 +vn 0.312050 0.911285 -0.268671 +vn 0.289194 0.907370 -0.305036 +vn 0.034880 0.958356 -0.283439 +vn -0.055028 0.975017 0.215207 +vn -0.091016 0.433957 -0.896325 +vn 0.088085 0.371502 -0.924244 +vn 0.000630 0.981054 0.193735 +vn -0.091016 0.433957 -0.896325 +vn -0.055028 0.975017 0.215207 +vn -0.014013 0.401274 0.915851 +vn 0.000630 0.981054 0.193735 +vn -0.055028 0.975017 0.215207 +vn 0.340224 0.412597 0.844992 +vn 0.000630 0.981054 0.193735 +vn -0.014013 0.401274 0.915851 +vn 0.452122 -0.471036 0.757437 +vn 0.340224 0.412597 0.844992 +vn -0.014013 0.401274 0.915851 +vn 0.215355 -0.553137 -0.804775 +vn 0.068874 -0.442522 -0.894109 +vn 0.125940 0.057112 -0.990393 +vn 0.266773 -0.846720 -0.460323 +vn 0.068874 -0.442522 -0.894109 +vn 0.215355 -0.553137 -0.804775 +vn 0.525164 -0.838745 -0.143912 +vn 0.266773 -0.846720 -0.460323 +vn 0.215355 -0.553137 -0.804775 +vn 0.478686 -0.877263 0.035629 +vn 0.266773 -0.846720 -0.460323 +vn 0.525164 -0.838745 -0.143912 +vn 0.585600 -0.806964 0.076693 +vn 0.525164 -0.838745 -0.143912 +vn 0.537039 -0.832076 0.138707 +vn 0.478686 -0.877263 0.035629 +vn 0.525164 -0.838745 -0.143912 +vn 0.585600 -0.806964 0.076693 +vn 0.466395 -0.879475 -0.094868 +vn 0.478686 -0.877263 0.035629 +vn 0.585600 -0.806964 0.076693 +vn 0.137309 -0.987330 -0.079540 +vn 0.478686 -0.877263 0.035629 +vn 0.466395 -0.879475 -0.094868 +vn -0.041870 0.437354 -0.898314 +vn 0.002225 -0.333356 -0.942798 +vn -0.091016 0.433957 -0.896325 +vn 0.019235 -0.385362 -0.922565 +vn 0.002225 -0.333356 -0.942798 +vn -0.041870 0.437354 -0.898314 +vn 0.341305 0.416337 -0.842719 +vn 0.019235 -0.385362 -0.922565 +vn -0.041870 0.437354 -0.898314 +vn 0.439038 -0.372221 -0.817739 +vn 0.019235 -0.385362 -0.922565 +vn 0.341305 0.416337 -0.842719 +vn 0.519101 -0.854061 0.033373 +vn 0.034102 -0.368509 0.928998 +vn 0.484820 -0.870548 0.084231 +vn 0.074633 -0.996580 -0.035477 +vn 0.034102 -0.368509 0.928998 +vn 0.519101 -0.854061 0.033373 +vn 0.460246 -0.885385 0.065320 +vn 0.074633 -0.996580 -0.035477 +vn 0.519101 -0.854061 0.033373 +vn 0.022782 -0.468221 -0.883318 +vn 0.074633 -0.996580 -0.035477 +vn 0.460246 -0.885385 0.065320 +vn 0.484820 -0.870548 0.084231 +vn 0.049254 -0.991709 -0.118690 +vn 0.456675 -0.878326 0.141390 +vn 0.002225 -0.333356 -0.942798 +vn 0.049254 -0.991709 -0.118690 +vn 0.484820 -0.870548 0.084231 +vn 0.088085 0.371502 -0.924244 +vn 0.002225 -0.333356 -0.942798 +vn 0.484820 -0.870548 0.084231 +vn -0.091016 0.433957 -0.896325 +vn 0.002225 -0.333356 -0.942798 +vn 0.088085 0.371502 -0.924244 +vn -0.176780 0.969432 0.170151 +vn -0.104451 0.823005 -0.558348 +vn -0.355711 0.820971 -0.446627 +vn 0.127415 0.886163 -0.445512 +vn -0.104451 0.823005 -0.558348 +vn -0.176780 0.969432 0.170151 +vn 0.332674 0.930704 0.152045 +vn 0.127415 0.886163 -0.445512 +vn -0.176780 0.969432 0.170151 +vn 0.466395 -0.879475 -0.094868 +vn 0.439375 -0.800395 -0.407820 +vn 0.213933 -0.912750 -0.348024 +vn 0.712358 -0.547479 -0.439105 +vn 0.439375 -0.800395 -0.407820 +vn 0.466395 -0.879475 -0.094868 +vn 0.456675 -0.878326 0.141390 +vn 0.712358 -0.547479 -0.439105 +vn 0.466395 -0.879475 -0.094868 +vn 0.519101 -0.854061 0.033373 +vn 0.585600 -0.806964 0.076693 +vn 0.460246 -0.885385 0.065320 +vn 0.466395 -0.879475 -0.094868 +vn 0.585600 -0.806964 0.076693 +vn 0.519101 -0.854061 0.033373 +vn 0.456675 -0.878326 0.141390 +vn 0.466395 -0.879475 -0.094868 +vn 0.519101 -0.854061 0.033373 +vn 0.024294 -0.504476 0.863084 +vn 0.049254 -0.991709 -0.118690 +vn 0.099587 -0.992809 -0.066436 +vn 0.456675 -0.878326 0.141390 +vn 0.049254 -0.991709 -0.118690 +vn 0.024294 -0.504476 0.863084 +vn 0.138333 -0.330887 0.933476 +vn 0.456675 -0.878326 0.141390 +vn 0.024294 -0.504476 0.863084 +vn 0.737213 0.526958 0.422885 +vn 0.947104 -0.317787 -0.044786 +vn 0.771128 0.537986 -0.340488 +vn 0.452122 -0.471036 0.757437 +vn 0.947104 -0.317787 -0.044786 +vn 0.737213 0.526958 0.422885 +vn 0.340224 0.412597 0.844992 +vn 0.452122 -0.471036 0.757437 +vn 0.737213 0.526958 0.422885 +vn 0.019235 -0.385362 -0.922565 +vn 0.049254 -0.991709 -0.118690 +vn 0.002225 -0.333356 -0.942798 +vn 0.099587 -0.992809 -0.066436 +vn 0.049254 -0.991709 -0.118690 +vn 0.019235 -0.385362 -0.922565 +vn 0.439038 -0.372221 -0.817739 +vn 0.099587 -0.992809 -0.066436 +vn 0.019235 -0.385362 -0.922565 +vn -0.104822 0.988953 -0.104803 +vn -0.118367 0.639461 -0.759657 +vn -0.355416 0.688660 -0.632002 +vn 0.126022 0.712240 -0.690531 +vn -0.118367 0.639461 -0.759657 +vn -0.104822 0.988953 -0.104803 +vn 0.396355 0.905048 -0.154242 +vn 0.126022 0.712240 -0.690531 +vn -0.104822 0.988953 -0.104803 +vn -0.153101 0.907825 -0.390402 +vn -0.186271 0.380868 -0.905672 +vn -0.417259 0.459652 -0.783974 +vn 0.057303 0.476027 -0.877562 +vn -0.186271 0.380868 -0.905672 +vn -0.153101 0.907825 -0.390402 +vn 0.347540 0.825622 -0.444482 +vn 0.057303 0.476027 -0.877562 +vn -0.153101 0.907825 -0.390402 +vn 0.771128 0.537986 -0.340488 +vn 0.439038 -0.372221 -0.817739 +vn 0.341305 0.416337 -0.842719 +vn 0.947104 -0.317787 -0.044786 +vn 0.439038 -0.372221 -0.817739 +vn 0.771128 0.537986 -0.340488 +vn 0.341305 0.416337 -0.842719 +vn 0.000630 0.981054 0.193735 +vn 0.771128 0.537986 -0.340488 +vn -0.041870 0.437354 -0.898314 +vn 0.000630 0.981054 0.193735 +vn 0.341305 0.416337 -0.842719 +vn 0.024294 -0.504476 0.863084 +vn 0.122736 0.362117 0.924017 +vn 0.138333 -0.330887 0.933476 +vn 0.031677 0.311433 0.949740 +vn 0.122736 0.362117 0.924017 +vn 0.024294 -0.504476 0.863084 +vn 0.073032 0.235928 -0.969022 +vn 0.460246 -0.885385 0.065320 +vn 0.312050 0.911285 -0.268671 +vn 0.022782 -0.468221 -0.883318 +vn 0.460246 -0.885385 0.065320 +vn 0.073032 0.235928 -0.969022 +vn -0.036317 0.557234 -0.829561 +vn -0.272351 0.178301 -0.945534 +vn -0.265795 0.779910 -0.566651 +vn -0.051446 -0.009167 -0.998634 +vn -0.272351 0.178301 -0.945534 +vn -0.036317 0.557234 -0.829561 +vn -0.594821 0.803525 -0.023141 +vn -0.104822 0.988953 -0.104803 +vn -0.355416 0.688660 -0.632002 +vn -0.294189 0.794543 0.531182 +vn -0.104822 0.988953 -0.104803 +vn -0.594821 0.803525 -0.023141 +vn -0.043804 0.791775 0.609240 +vn -0.104822 0.988953 -0.104803 +vn -0.294189 0.794543 0.531182 +vn 0.182479 0.862247 0.472474 +vn -0.104822 0.988953 -0.104803 +vn -0.043804 0.791775 0.609240 +vn 0.332763 0.932080 0.143166 +vn 0.220061 0.962148 0.160762 +vn 0.282102 0.955166 0.089871 +vn 0.057279 0.321976 0.945014 +vn 0.220061 0.962148 0.160762 +vn 0.332763 0.932080 0.143166 +vn 0.737213 0.526958 0.422885 +vn 0.000630 0.981054 0.193735 +vn 0.340224 0.412597 0.844992 +vn 0.771128 0.537986 -0.340488 +vn 0.000630 0.981054 0.193735 +vn 0.737213 0.526958 0.422885 +vn -0.628318 0.744565 -0.225476 +vn -0.153101 0.907825 -0.390402 +vn -0.417259 0.459652 -0.783974 +vn -0.299988 0.909995 0.286210 +vn -0.153101 0.907825 -0.390402 +vn -0.628318 0.744565 -0.225476 +vn -0.045363 0.937179 0.345886 +vn -0.153101 0.907825 -0.390402 +vn -0.299988 0.909995 0.286210 +vn 0.170593 0.968869 0.179416 +vn -0.153101 0.907825 -0.390402 +vn -0.045363 0.937179 0.345886 +vn 0.558909 -0.825146 -0.082189 +vn 0.439038 -0.372221 -0.817739 +vn 0.947104 -0.317787 -0.044786 +vn 0.099587 -0.992809 -0.066436 +vn 0.439038 -0.372221 -0.817739 +vn 0.558909 -0.825146 -0.082189 +vn 0.332763 0.932080 0.143166 +vn 0.034102 -0.368509 0.928998 +vn 0.057279 0.321976 0.945014 +vn 0.484820 -0.870548 0.084231 +vn 0.034102 -0.368509 0.928998 +vn 0.332763 0.932080 0.143166 +vn -0.653752 0.743207 0.142307 +vn -0.176780 0.969432 0.170151 +vn -0.355711 0.820971 -0.446627 +vn -0.402484 0.592776 0.697584 +vn -0.176780 0.969432 0.170151 +vn -0.653752 0.743207 0.142307 +vn -0.161668 0.581148 0.797578 +vn -0.176780 0.969432 0.170151 +vn -0.402484 0.592776 0.697584 +vn 0.068210 0.698697 0.712159 +vn -0.176780 0.969432 0.170151 +vn -0.161668 0.581148 0.797578 +vn 0.519101 -0.854061 0.033373 +vn 0.484820 -0.870548 0.084231 +vn 0.456675 -0.878326 0.141390 +vn 0.073032 0.235928 -0.969022 +vn 0.312050 0.911285 -0.268671 +vn 0.129130 0.991586 0.009126 +vn -0.041870 0.437354 -0.898314 +vn -0.091016 0.433957 -0.896325 +vn 0.000630 0.981054 0.193735 +vn 0.034880 0.958356 -0.283439 +vn 0.038017 0.997237 0.063819 +vn 0.312050 0.911285 -0.268671 +vn -0.121360 -0.376269 -0.918528 +vn -0.272351 0.178301 -0.945534 +vn -0.051446 -0.009167 -0.998634 +vn 0.484820 -0.870548 0.084231 +vn 0.332763 0.932080 0.143166 +vn 0.088085 0.371502 -0.924244 +vn 0.183684 0.935125 0.302986 +vn 0.122736 0.362117 0.924017 +vn 0.031677 0.311433 0.949740 +vn 0.182479 0.862247 0.472474 +vn 0.396355 0.905048 -0.154242 +vn -0.104822 0.988953 -0.104803 +vn 0.170593 0.968869 0.179416 +vn 0.347540 0.825622 -0.444482 +vn -0.153101 0.907825 -0.390402 +vn 0.068210 0.698697 0.712159 +vn 0.332674 0.930704 0.152045 +vn -0.176780 0.969432 0.170151 +vn -0.947104 -0.317785 -0.044790 +vn -0.737215 0.526956 0.422885 +vn -0.771127 0.537990 -0.340486 +vn -0.452123 -0.471035 0.757437 +vn -0.737215 0.526956 0.422885 +vn -0.947104 -0.317785 -0.044790 +vn -0.558911 -0.825144 -0.082191 +vn -0.452123 -0.471035 0.757437 +vn -0.947104 -0.317785 -0.044790 +vn -0.040793 -0.527047 0.848857 +vn -0.452123 -0.471035 0.757437 +vn -0.558911 -0.825144 -0.082191 +vn -0.099585 -0.992808 -0.066441 +vn -0.040793 -0.527047 0.848857 +vn -0.558911 -0.825144 -0.082191 +vn -0.024293 -0.504476 0.863084 +vn -0.040793 -0.527047 0.848857 +vn -0.099585 -0.992808 -0.066441 +vn -0.049253 -0.991709 -0.118690 +vn -0.024293 -0.504476 0.863084 +vn -0.099585 -0.992808 -0.066441 +vn 0.034102 -0.368509 0.928998 +vn -0.071090 0.325374 0.942909 +vn 0.057279 0.321976 0.945014 +vn 0.025312 -0.410914 0.911323 +vn -0.071090 0.325374 0.942909 +vn 0.034102 -0.368509 0.928998 +vn 0.100372 -0.994700 0.022312 +vn 0.025312 -0.410914 0.911323 +vn 0.034102 -0.368509 0.928998 +vn 0.501624 -0.863674 0.049395 +vn 0.025312 -0.410914 0.911323 +vn 0.100372 -0.994700 0.022312 +vn 0.371023 -0.505571 -0.778935 +vn 0.501624 -0.863674 0.049395 +vn 0.100372 -0.994700 0.022312 +vn 0.937609 -0.347552 0.009794 +vn 0.501624 -0.863674 0.049395 +vn 0.371023 -0.505571 -0.778935 +vn 0.760757 0.533072 -0.370249 +vn 0.937609 -0.347552 0.009794 +vn 0.371023 -0.505571 -0.778935 +vn -0.071090 0.325374 0.942909 +vn 0.129130 0.991586 0.009126 +vn 0.057279 0.321976 0.945014 +vn -0.029598 0.999546 0.005559 +vn 0.129130 0.991586 0.009126 +vn -0.071090 0.325374 0.942909 +vn -0.017779 0.444107 0.895798 +vn -0.029598 0.999546 0.005559 +vn -0.071090 0.325374 0.942909 +vn 0.013441 0.999872 -0.008668 +vn -0.029598 0.999546 0.005559 +vn -0.017779 0.444107 0.895798 +vn 0.322553 0.431861 0.842292 +vn 0.013441 0.999872 -0.008668 +vn -0.017779 0.444107 0.895798 +vn 0.736072 0.593027 0.326371 +vn 0.013441 0.999872 -0.008668 +vn 0.322553 0.431861 0.842292 +vn -0.002224 -0.333359 -0.942797 +vn 0.091014 0.433952 -0.896327 +vn -0.088085 0.371504 -0.924244 +vn 0.041869 0.437351 -0.898316 +vn 0.091014 0.433952 -0.896327 +vn -0.002224 -0.333359 -0.942797 +vn -0.019233 -0.385361 -0.922565 +vn 0.041869 0.437351 -0.898316 +vn -0.002224 -0.333359 -0.942797 +vn -0.341305 0.416339 -0.842718 +vn 0.041869 0.437351 -0.898316 +vn -0.019233 -0.385361 -0.922565 +vn -0.439038 -0.372221 -0.817739 +vn -0.341305 0.416339 -0.842718 +vn -0.019233 -0.385361 -0.922565 +vn 0.014013 0.401273 0.915851 +vn -0.000632 0.981055 0.193729 +vn -0.340226 0.412602 0.844989 +vn 0.055029 0.975016 0.215210 +vn -0.000632 0.981055 0.193729 +vn 0.014013 0.401273 0.915851 +vn 0.044131 0.313982 0.948403 +vn 0.055029 0.975016 0.215210 +vn 0.014013 0.401273 0.915851 +vn -0.121187 0.976373 0.178911 +vn 0.055029 0.975016 0.215210 +vn 0.044131 0.313982 0.948403 +vn -0.031677 0.311431 0.949741 +vn -0.121187 0.976373 0.178911 +vn 0.044131 0.313982 0.948403 +vn 0.044131 0.313982 0.948403 +vn -0.024293 -0.504476 0.863084 +vn -0.031677 0.311431 0.949741 +vn -0.040793 -0.527047 0.848857 +vn -0.024293 -0.504476 0.863084 +vn 0.044131 0.313982 0.948403 +vn 0.014013 0.401273 0.915851 +vn -0.040793 -0.527047 0.848857 +vn 0.044131 0.313982 0.948403 +vn -0.452123 -0.471035 0.757437 +vn -0.040793 -0.527047 0.848857 +vn 0.014013 0.401273 0.915851 +vn -0.340226 0.412602 0.844989 +vn -0.452123 -0.471035 0.757437 +vn 0.014013 0.401273 0.915851 +vn 0.353152 -0.393848 0.848627 +vn 0.501624 -0.863674 0.049395 +vn 0.937609 -0.347552 0.009794 +vn 0.025312 -0.410914 0.911323 +vn 0.501624 -0.863674 0.049395 +vn 0.353152 -0.393848 0.848627 +vn -0.017779 0.444107 0.895798 +vn 0.025312 -0.410914 0.911323 +vn 0.353152 -0.393848 0.848627 +vn -0.071090 0.325374 0.942909 +vn 0.025312 -0.410914 0.911323 +vn -0.017779 0.444107 0.895798 +vn 0.074633 -0.996580 -0.035477 +vn 0.100372 -0.994700 0.022312 +vn 0.034102 -0.368509 0.928998 +vn 0.038184 -0.490292 -0.870722 +vn 0.100372 -0.994700 0.022312 +vn 0.074633 -0.996580 -0.035477 +vn 0.022782 -0.468221 -0.883318 +vn 0.038184 -0.490292 -0.870722 +vn 0.074633 -0.996580 -0.035477 +vn -0.004879 0.317922 -0.948104 +vn 0.038184 -0.490292 -0.870722 +vn 0.022782 -0.468221 -0.883318 +vn -0.439038 -0.372221 -0.817739 +vn -0.771127 0.537990 -0.340486 +vn -0.341305 0.416339 -0.842718 +vn -0.947104 -0.317785 -0.044790 +vn -0.771127 0.537990 -0.340486 +vn -0.439038 -0.372221 -0.817739 +vn -0.558911 -0.825144 -0.082191 +vn -0.947104 -0.317785 -0.044790 +vn -0.439038 -0.372221 -0.817739 +vn 0.736072 0.593027 0.326371 +vn 0.937609 -0.347552 0.009794 +vn 0.760757 0.533072 -0.370249 +vn 0.353152 -0.393848 0.848627 +vn 0.937609 -0.347552 0.009794 +vn 0.736072 0.593027 0.326371 +vn 0.322553 0.431861 0.842292 +vn 0.353152 -0.393848 0.848627 +vn 0.736072 0.593027 0.326371 +vn -0.029598 0.999546 0.005559 +vn 0.073032 0.235928 -0.969022 +vn 0.129130 0.991586 0.009126 +vn -0.041307 0.301211 -0.952663 +vn 0.073032 0.235928 -0.969022 +vn -0.029598 0.999546 0.005559 +vn 0.013441 0.999872 -0.008668 +vn -0.041307 0.301211 -0.952663 +vn -0.029598 0.999546 0.005559 +vn 0.038184 -0.490292 -0.870722 +vn 0.371023 -0.505571 -0.778935 +vn 0.100372 -0.994700 0.022312 +vn 0.349772 0.316490 -0.881756 +vn 0.371023 -0.505571 -0.778935 +vn 0.038184 -0.490292 -0.870722 +vn -0.004879 0.317922 -0.948104 +vn 0.349772 0.316490 -0.881756 +vn 0.038184 -0.490292 -0.870722 +vn -0.000632 0.981055 0.193729 +vn -0.341305 0.416339 -0.842718 +vn -0.771127 0.537990 -0.340486 +vn 0.041869 0.437351 -0.898316 +vn -0.341305 0.416339 -0.842718 +vn -0.000632 0.981055 0.193729 +vn 0.091014 0.433952 -0.896327 +vn 0.041869 0.437351 -0.898316 +vn -0.000632 0.981055 0.193729 +vn -0.041307 0.301211 -0.952663 +vn 0.022782 -0.468221 -0.883318 +vn 0.073032 0.235928 -0.969022 +vn -0.004879 0.317922 -0.948104 +vn 0.022782 -0.468221 -0.883318 +vn -0.041307 0.301211 -0.952663 +vn 0.760757 0.533072 -0.370249 +vn 0.013441 0.999872 -0.008668 +vn 0.736072 0.593027 0.326371 +vn 0.349772 0.316490 -0.881756 +vn 0.013441 0.999872 -0.008668 +vn 0.760757 0.533072 -0.370249 +vn -0.004879 0.317922 -0.948104 +vn 0.013441 0.999872 -0.008668 +vn 0.349772 0.316490 -0.881756 +vn -0.041307 0.301211 -0.952663 +vn 0.013441 0.999872 -0.008668 +vn -0.004879 0.317922 -0.948104 +vn -0.049253 -0.991709 -0.118690 +vn -0.019233 -0.385361 -0.922565 +vn -0.002224 -0.333359 -0.942797 +vn -0.099585 -0.992808 -0.066441 +vn -0.019233 -0.385361 -0.922565 +vn -0.049253 -0.991709 -0.118690 +vn -0.099585 -0.992808 -0.066441 +vn -0.439038 -0.372221 -0.817739 +vn -0.019233 -0.385361 -0.922565 +vn -0.558911 -0.825144 -0.082191 +vn -0.439038 -0.372221 -0.817739 +vn -0.099585 -0.992808 -0.066441 +vn -0.737215 0.526956 0.422885 +vn -0.000632 0.981055 0.193729 +vn -0.771127 0.537990 -0.340486 +vn -0.340226 0.412602 0.844989 +vn -0.000632 0.981055 0.193729 +vn -0.737215 0.526956 0.422885 +vn -0.088085 0.371504 -0.924244 +vn 0.055029 0.975016 0.215210 +vn -0.121187 0.976373 0.178911 +vn 0.091014 0.433952 -0.896327 +vn 0.055029 0.975016 0.215210 +vn -0.088085 0.371504 -0.924244 +vn -0.737215 0.526956 0.422885 +vn -0.452123 -0.471035 0.757437 +vn -0.340226 0.412602 0.844989 +vn 0.371023 -0.505571 -0.778935 +vn 0.349772 0.316490 -0.881756 +vn 0.760757 0.533072 -0.370249 +vn 0.353152 -0.393848 0.848627 +vn 0.322553 0.431861 0.842292 +vn -0.017779 0.444107 0.895798 +vn -0.000632 0.981055 0.193729 +vn 0.055029 0.975016 0.215210 +vn 0.091014 0.433952 -0.896327 +vn 0.215355 -0.553137 -0.804775 +vn 0.052144 -0.985729 0.160063 +vn 0.525164 -0.838745 -0.143912 +vn -0.002850 -0.630404 -0.776262 +vn 0.052144 -0.985729 0.160063 +vn 0.215355 -0.553137 -0.804775 +vn 0.069478 0.210791 -0.975059 +vn -0.002850 -0.630404 -0.776262 +vn 0.215355 -0.553137 -0.804775 +vn 0.004606 0.229448 -0.973310 +vn -0.002850 -0.630404 -0.776262 +vn 0.069478 0.210791 -0.975059 +vn 0.055384 0.928896 -0.366176 +vn 0.004606 0.229448 -0.973310 +vn 0.069478 0.210791 -0.975059 +vn 0.033262 0.958796 -0.282142 +vn 0.004606 0.229448 -0.973310 +vn 0.055384 0.928896 -0.366176 +vn -0.011431 0.562422 0.826771 +vn 0.033262 0.958796 -0.282142 +vn 0.055384 0.928896 -0.366176 +vn 0.354281 0.499223 0.790735 +vn 0.033262 0.958796 -0.282142 +vn -0.011431 0.562422 0.826771 +vn -0.011431 0.562422 0.826771 +vn 0.374044 -0.276519 0.885228 +vn 0.354281 0.499223 0.790735 +vn 0.003390 -0.233125 0.972441 +vn 0.374044 -0.276519 0.885228 +vn -0.011431 0.562422 0.826771 +vn -0.011074 0.529686 0.848121 +vn 0.003390 -0.233125 0.972441 +vn -0.011431 0.562422 0.826771 +vn 0.051273 -0.149628 0.987412 +vn 0.003390 -0.233125 0.972441 +vn -0.011074 0.529686 0.848121 +vn 0.115731 0.513046 0.850523 +vn 0.051273 -0.149628 0.987412 +vn -0.011074 0.529686 0.848121 +vn 0.335058 0.758836 -0.558483 +vn 0.051273 -0.149628 0.987412 +vn 0.115731 0.513046 0.850523 +vn 0.720848 0.414038 -0.555833 +vn 0.365933 -0.596388 -0.714433 +vn 0.293768 0.274571 -0.915594 +vn 0.942770 -0.328877 0.055003 +vn 0.365933 -0.596388 -0.714433 +vn 0.720848 0.414038 -0.555833 +vn 0.782367 0.588074 0.205115 +vn 0.942770 -0.328877 0.055003 +vn 0.720848 0.414038 -0.555833 +vn 0.374044 -0.276519 0.885228 +vn 0.942770 -0.328877 0.055003 +vn 0.782367 0.588074 0.205115 +vn 0.354281 0.499223 0.790735 +vn 0.374044 -0.276519 0.885228 +vn 0.782367 0.588074 0.205115 +vn 0.293768 0.274571 -0.915594 +vn 0.033262 0.958796 -0.282142 +vn 0.720848 0.414038 -0.555833 +vn 0.007309 0.248430 -0.968622 +vn 0.033262 0.958796 -0.282142 +vn 0.293768 0.274571 -0.915594 +vn 0.018018 -0.625047 -0.780379 +vn 0.007309 0.248430 -0.968622 +vn 0.293768 0.274571 -0.915594 +vn -0.002850 -0.630404 -0.776262 +vn 0.007309 0.248430 -0.968622 +vn 0.018018 -0.625047 -0.780379 +vn 0.052144 -0.985729 0.160063 +vn -0.002850 -0.630404 -0.776262 +vn 0.018018 -0.625047 -0.780379 +vn 0.125940 0.057112 -0.990393 +vn 0.069478 0.210791 -0.975059 +vn 0.215355 -0.553137 -0.804775 +vn 0.142527 0.898148 -0.415953 +vn 0.069478 0.210791 -0.975059 +vn 0.125940 0.057112 -0.990393 +vn 0.265776 0.827137 -0.495184 +vn 0.142527 0.898148 -0.415953 +vn 0.125940 0.057112 -0.990393 +vn 0.115731 0.513046 0.850523 +vn 0.142527 0.898148 -0.415953 +vn 0.265776 0.827137 -0.495184 +vn 0.335058 0.758836 -0.558483 +vn 0.115731 0.513046 0.850523 +vn 0.265776 0.827137 -0.495184 +vn 0.052144 -0.985729 0.160063 +vn 0.051273 -0.149628 0.987412 +vn 0.525164 -0.838745 -0.143912 +vn 0.044020 -0.978228 0.202810 +vn 0.051273 -0.149628 0.987412 +vn 0.052144 -0.985729 0.160063 +vn 0.018018 -0.625047 -0.780379 +vn 0.044020 -0.978228 0.202810 +vn 0.052144 -0.985729 0.160063 +vn 0.365933 -0.596388 -0.714433 +vn 0.044020 -0.978228 0.202810 +vn 0.018018 -0.625047 -0.780379 +vn 0.293768 0.274571 -0.915594 +vn 0.365933 -0.596388 -0.714433 +vn 0.018018 -0.625047 -0.780379 +vn 0.044020 -0.978228 0.202810 +vn 0.003390 -0.233125 0.972441 +vn 0.051273 -0.149628 0.987412 +vn 0.504978 -0.851685 0.140107 +vn 0.003390 -0.233125 0.972441 +vn 0.044020 -0.978228 0.202810 +vn 0.365933 -0.596388 -0.714433 +vn 0.504978 -0.851685 0.140107 +vn 0.044020 -0.978228 0.202810 +vn 0.942770 -0.328877 0.055003 +vn 0.504978 -0.851685 0.140107 +vn 0.365933 -0.596388 -0.714433 +vn -0.011074 0.529686 0.848121 +vn 0.142527 0.898148 -0.415953 +vn 0.115731 0.513046 0.850523 +vn 0.055384 0.928896 -0.366176 +vn 0.142527 0.898148 -0.415953 +vn -0.011074 0.529686 0.848121 +vn -0.011431 0.562422 0.826771 +vn 0.055384 0.928896 -0.366176 +vn -0.011074 0.529686 0.848121 +vn 0.782367 0.588074 0.205115 +vn 0.033262 0.958796 -0.282142 +vn 0.354281 0.499223 0.790735 +vn 0.720848 0.414038 -0.555833 +vn 0.033262 0.958796 -0.282142 +vn 0.782367 0.588074 0.205115 +vn 0.265776 0.827137 -0.495184 +vn 0.244470 0.824122 -0.510938 +vn 0.335058 0.758836 -0.558483 +vn 0.125940 0.057112 -0.990393 +vn 0.244470 0.824122 -0.510938 +vn 0.265776 0.827137 -0.495184 +vn 0.537039 -0.832076 0.138707 +vn 0.051273 -0.149628 0.987412 +vn 0.335058 0.758836 -0.558483 +vn 0.525164 -0.838745 -0.143912 +vn 0.051273 -0.149628 0.987412 +vn 0.537039 -0.832076 0.138707 +vn 0.374044 -0.276519 0.885228 +vn 0.504978 -0.851685 0.140107 +vn 0.942770 -0.328877 0.055003 +vn 0.003390 -0.233125 0.972441 +vn 0.504978 -0.851685 0.140107 +vn 0.374044 -0.276519 0.885228 +vn 0.007309 0.248430 -0.968622 +vn 0.004606 0.229448 -0.973310 +vn 0.033262 0.958796 -0.282142 +vn -0.002850 -0.630404 -0.776262 +vn 0.004606 0.229448 -0.973310 +vn 0.007309 0.248430 -0.968622 +vn 0.142527 0.898148 -0.415953 +vn 0.055384 0.928896 -0.366176 +vn 0.069478 0.210791 -0.975059 +vn -0.979706 0.082305 -0.182760 +vn -0.978803 0.090456 -0.183748 +vn -0.981556 0.089961 -0.168687 +vn -0.999701 0.021121 -0.012331 +vn -0.978803 0.090456 -0.183748 +vn -0.979706 0.082305 -0.182760 +vn -0.999969 0.006333 -0.004599 +vn -0.999701 0.021121 -0.012331 +vn -0.979706 0.082305 -0.182760 +vn -0.906865 -0.035651 0.419911 +vn -0.999701 0.021121 -0.012331 +vn -0.999969 0.006333 -0.004599 +vn -0.911528 -0.047134 0.408529 +vn -0.906865 -0.035651 0.419911 +vn -0.999969 0.006333 -0.004599 +vn -0.637248 -0.086789 0.765757 +vn -0.906865 -0.035651 0.419911 +vn -0.911528 -0.047134 0.408529 +vn -0.641485 -0.095758 0.761136 +vn -0.637248 -0.086789 0.765757 +vn -0.911528 -0.047134 0.408529 +vn -0.300014 -0.103636 0.948289 +vn -0.637248 -0.086789 0.765757 +vn -0.641485 -0.095758 0.761136 +vn -0.306266 -0.106425 0.945978 +vn -0.300014 -0.103636 0.948289 +vn -0.641485 -0.095758 0.761136 +vn 0.057881 -0.112549 0.991959 +vn -0.300014 -0.103636 0.948289 +vn -0.306266 -0.106425 0.945978 +vn 0.061592 -0.116008 0.991337 +vn 0.057881 -0.112549 0.991959 +vn -0.306266 -0.106425 0.945978 +vn 0.403193 -0.110484 0.908421 +vn 0.057881 -0.112549 0.991959 +vn 0.061592 -0.116008 0.991337 +vn 0.433041 -0.106222 0.895093 +vn 0.403193 -0.110484 0.908421 +vn 0.061592 -0.116008 0.991337 +vn 0.735625 -0.050852 0.675477 +vn 0.403193 -0.110484 0.908421 +vn 0.433041 -0.106222 0.895093 +vn 0.756833 -0.042637 0.652217 +vn 0.735625 -0.050852 0.675477 +vn 0.433041 -0.106222 0.895093 +vn 0.938387 -0.017261 0.345156 +vn 0.735625 -0.050852 0.675477 +vn 0.756833 -0.042637 0.652217 +vn 0.943497 -0.021232 0.330701 +vn 0.938387 -0.017261 0.345156 +vn 0.756833 -0.042637 0.652217 +vn 0.998746 -0.050023 -0.001803 +vn 0.938387 -0.017261 0.345156 +vn 0.943497 -0.021232 0.330701 +vn 0.998759 -0.049645 0.004025 +vn 0.998746 -0.050023 -0.001803 +vn 0.943497 -0.021232 0.330701 +vn 0.978034 -0.019312 -0.207547 +vn 0.998746 -0.050023 -0.001803 +vn 0.998759 -0.049645 0.004025 +vn 0.980771 -0.016112 -0.194494 +vn 0.978034 -0.019312 -0.207547 +vn 0.998759 -0.049645 0.004025 +vn 0.948283 -0.011110 -0.317231 +vn 0.978034 -0.019312 -0.207547 +vn 0.980771 -0.016112 -0.194494 +vn -0.083734 0.991898 -0.095533 +vn -0.543136 0.815888 -0.198317 +vn -0.325858 0.945126 0.023530 +vn 0.000211 0.963154 -0.268952 +vn -0.543136 0.815888 -0.198317 +vn -0.083734 0.991898 -0.095533 +vn -0.011566 0.993128 -0.116458 +vn 0.000211 0.963154 -0.268952 +vn -0.083734 0.991898 -0.095533 +vn 0.085892 0.991870 -0.093892 +vn 0.000211 0.963154 -0.268952 +vn -0.011566 0.993128 -0.116458 +vn -0.010312 0.999537 0.028628 +vn 0.085892 0.991870 -0.093892 +vn -0.011566 0.993128 -0.116458 +vn 0.295941 0.955202 0.002781 +vn 0.085892 0.991870 -0.093892 +vn -0.010312 0.999537 0.028628 +vn -0.016722 0.978484 0.205645 +vn 0.295941 0.955202 0.002781 +vn -0.010312 0.999537 0.028628 +vn 0.212544 0.964839 0.154629 +vn 0.295941 0.955202 0.002781 +vn -0.016722 0.978484 0.205645 +vn 0.250538 0.811536 0.527863 +vn 0.212544 0.964839 0.154629 +vn -0.016722 0.978484 0.205645 +vn 0.615616 0.676612 0.403996 +vn 0.212544 0.964839 0.154629 +vn 0.250538 0.811536 0.527863 +vn 0.748650 0.326221 0.577151 +vn 0.615616 0.676612 0.403996 +vn 0.250538 0.811536 0.527863 +vn 0.814620 0.565404 0.129276 +vn 0.615616 0.676612 0.403996 +vn 0.748650 0.326221 0.577151 +vn 0.947264 0.257090 0.191299 +vn 0.814620 0.565404 0.129276 +vn 0.748650 0.326221 0.577151 +vn 0.847040 0.492243 -0.200551 +vn 0.814620 0.565404 0.129276 +vn 0.947264 0.257090 0.191299 +vn 0.957938 0.208307 -0.197392 +vn 0.847040 0.492243 -0.200551 +vn 0.947264 0.257090 0.191299 +vn 0.841157 0.408408 -0.354482 +vn 0.847040 0.492243 -0.200551 +vn 0.957938 0.208307 -0.197392 +vn 0.910659 0.187684 -0.368070 +vn 0.841157 0.408408 -0.354482 +vn 0.957938 0.208307 -0.197392 +vn 0.590100 0.348594 -0.728192 +vn 0.841157 0.408408 -0.354482 +vn 0.910659 0.187684 -0.368070 +vn 0.556928 0.071592 -0.827469 +vn 0.590100 0.348594 -0.728192 +vn 0.910659 0.187684 -0.368070 +vn 0.000888 0.382814 -0.923825 +vn 0.590100 0.348594 -0.728192 +vn 0.556928 0.071592 -0.827469 +vn -0.006567 0.036725 -0.999304 +vn 0.000888 0.382814 -0.923825 +vn 0.556928 0.071592 -0.827469 +vn -0.555191 0.371441 -0.744174 +vn 0.000888 0.382814 -0.923825 +vn -0.006567 0.036725 -0.999304 +vn 0.015529 0.424163 0.905453 +vn -0.304389 -0.122117 0.944688 +vn 0.051256 -0.145925 0.987967 +vn -0.342471 0.416374 0.842227 +vn -0.304389 -0.122117 0.944688 +vn 0.015529 0.424163 0.905453 +vn -0.245249 0.822276 0.513532 +vn -0.342471 0.416374 0.842227 +vn 0.015529 0.424163 0.905453 +vn -0.632053 0.682046 0.367863 +vn -0.342471 0.416374 0.842227 +vn -0.245249 0.822276 0.513532 +vn -0.224396 0.960514 0.164499 +vn -0.632053 0.682046 0.367863 +vn -0.245249 0.822276 0.513532 +vn -0.545173 0.836695 0.052234 +vn -0.632053 0.682046 0.367863 +vn -0.224396 0.960514 0.164499 +vn -0.325858 0.945126 0.023530 +vn -0.545173 0.836695 0.052234 +vn -0.224396 0.960514 0.164499 +vn -0.681284 0.728889 -0.067619 +vn -0.545173 0.836695 0.052234 +vn -0.325858 0.945126 0.023530 +vn -0.543136 0.815888 -0.198317 +vn -0.681284 0.728889 -0.067619 +vn -0.325858 0.945126 0.023530 +vn -0.940711 0.298826 -0.160515 +vn -0.681284 0.728889 -0.067619 +vn -0.543136 0.815888 -0.198317 +vn -0.629924 0.704439 -0.327050 +vn -0.940711 0.298826 -0.160515 +vn -0.543136 0.815888 -0.198317 +vn -0.872389 0.361913 -0.328567 +vn -0.940711 0.298826 -0.160515 +vn -0.629924 0.704439 -0.327050 +vn -0.555191 0.371441 -0.744174 +vn -0.872389 0.361913 -0.328567 +vn -0.629924 0.704439 -0.327050 +vn -0.534264 0.137203 -0.834109 +vn -0.872389 0.361913 -0.328567 +vn -0.555191 0.371441 -0.744174 +vn -0.006567 0.036725 -0.999304 +vn -0.534264 0.137203 -0.834109 +vn -0.555191 0.371441 -0.744174 +vn -0.003514 -0.316976 -0.948427 +vn -0.534264 0.137203 -0.834109 +vn -0.006567 0.036725 -0.999304 +vn 0.381027 -0.329237 -0.863957 +vn -0.003514 -0.316976 -0.948427 +vn -0.006567 0.036725 -0.999304 +vn 0.359542 -0.542821 -0.758996 +vn -0.003514 -0.316976 -0.948427 +vn 0.381027 -0.329237 -0.863957 +vn 0.568501 -0.600757 -0.562048 +vn 0.359542 -0.542821 -0.758996 +vn 0.381027 -0.329237 -0.863957 +vn -0.003458 -0.987292 -0.158882 +vn -0.014668 -0.949072 -0.314718 +vn 0.000689 -0.935831 -0.352448 +vn -0.008472 -0.988765 -0.149238 +vn -0.014668 -0.949072 -0.314718 +vn -0.003458 -0.987292 -0.158882 +vn -0.000562 -0.999950 -0.009953 +vn -0.008472 -0.988765 -0.149238 +vn -0.003458 -0.987292 -0.158882 +vn -0.000528 -0.999954 -0.009574 +vn -0.008472 -0.988765 -0.149238 +vn -0.000562 -0.999950 -0.009953 +vn 0.001192 -0.999889 0.014859 +vn -0.000528 -0.999954 -0.009574 +vn -0.000562 -0.999950 -0.009953 +vn 0.001189 -0.999916 0.012902 +vn -0.000528 -0.999954 -0.009574 +vn 0.001192 -0.999889 0.014859 +vn 0.005462 -0.997890 0.064704 +vn 0.001189 -0.999916 0.012902 +vn 0.001192 -0.999889 0.014859 +vn 0.005725 -0.998119 0.061044 +vn 0.001189 -0.999916 0.012902 +vn 0.005462 -0.997890 0.064704 +vn 0.010420 -0.993963 0.109222 +vn 0.005725 -0.998119 0.061044 +vn 0.005462 -0.997890 0.064704 +vn -0.304389 -0.122117 0.944688 +vn -0.514852 -0.567870 0.642224 +vn -0.235917 -0.552745 0.799260 +vn -0.621604 -0.184782 0.761226 +vn -0.514852 -0.567870 0.642224 +vn -0.304389 -0.122117 0.944688 +vn -0.756152 0.332694 0.563514 +vn -0.621604 -0.184782 0.761226 +vn -0.304389 -0.122117 0.944688 +vn -0.903228 -0.086922 0.420267 +vn -0.621604 -0.184782 0.761226 +vn -0.756152 0.332694 0.563514 +vn -0.961543 0.250522 0.112575 +vn -0.903228 -0.086922 0.420267 +vn -0.756152 0.332694 0.563514 +vn -0.965482 -0.253949 0.057921 +vn -0.903228 -0.086922 0.420267 +vn -0.961543 0.250522 0.112575 +vn -0.939640 -0.276672 -0.201321 +vn -0.965482 -0.253949 0.057921 +vn -0.961543 0.250522 0.112575 +vn -0.763905 -0.629922 -0.140174 +vn -0.965482 -0.253949 0.057921 +vn -0.939640 -0.276672 -0.201321 +vn -0.887289 -0.439752 -0.139056 +vn -0.763905 -0.629922 -0.140174 +vn -0.939640 -0.276672 -0.201321 +vn 0.957938 0.208307 -0.197392 +vn 0.964279 -0.171606 -0.201784 +vn 0.910659 0.187684 -0.368070 +vn 0.973740 -0.224861 0.035604 +vn 0.964279 -0.171606 -0.201784 +vn 0.957938 0.208307 -0.197392 +vn 0.947264 0.257090 0.191299 +vn 0.973740 -0.224861 0.035604 +vn 0.957938 0.208307 -0.197392 +vn 0.911499 -0.070272 0.405255 +vn 0.973740 -0.224861 0.035604 +vn 0.947264 0.257090 0.191299 +vn 0.748650 0.326221 0.577151 +vn 0.911499 -0.070272 0.405255 +vn 0.947264 0.257090 0.191299 +vn 0.733573 -0.194244 0.651260 +vn 0.911499 -0.070272 0.405255 +vn 0.748650 0.326221 0.577151 +vn 0.403543 -0.140020 0.904183 +vn 0.733573 -0.194244 0.651260 +vn 0.748650 0.326221 0.577151 +vn 0.345847 -0.547182 0.762221 +vn 0.733573 -0.194244 0.651260 +vn 0.403543 -0.140020 0.904183 +vn 0.049049 -0.539403 0.840618 +vn 0.345847 -0.547182 0.762221 +vn 0.403543 -0.140020 0.904183 +vn -0.004565 -0.548273 -0.836287 +vn -0.003514 -0.316976 -0.948427 +vn 0.359542 -0.542821 -0.758996 +vn -0.349902 -0.312025 -0.883294 +vn -0.003514 -0.316976 -0.948427 +vn -0.004565 -0.548273 -0.836287 +vn -0.291869 -0.573747 -0.765263 +vn -0.349902 -0.312025 -0.883294 +vn -0.004565 -0.548273 -0.836287 +vn -0.790648 -0.134259 -0.597370 +vn -0.349902 -0.312025 -0.883294 +vn -0.291869 -0.573747 -0.765263 +vn -0.623531 -0.640991 -0.447593 +vn -0.790648 -0.134259 -0.597370 +vn -0.291869 -0.573747 -0.765263 +vn -0.960073 -0.255129 -0.114760 +vn -0.790648 -0.134259 -0.597370 +vn -0.623531 -0.640991 -0.447593 +vn -0.798772 -0.591990 -0.107286 +vn -0.960073 -0.255129 -0.114760 +vn -0.623531 -0.640991 -0.447593 +vn -0.887289 -0.439752 -0.139056 +vn -0.960073 -0.255129 -0.114760 +vn -0.798772 -0.591990 -0.107286 +vn 0.556928 0.071592 -0.827469 +vn 0.381027 -0.329237 -0.863957 +vn -0.006567 0.036725 -0.999304 +vn 0.713707 -0.174058 -0.678474 +vn 0.381027 -0.329237 -0.863957 +vn 0.556928 0.071592 -0.827469 +vn 0.910659 0.187684 -0.368070 +vn 0.713707 -0.174058 -0.678474 +vn 0.556928 0.071592 -0.827469 +vn 0.914177 -0.279396 -0.293629 +vn 0.713707 -0.174058 -0.678474 +vn 0.910659 0.187684 -0.368070 +vn 0.964279 -0.171606 -0.201784 +vn 0.914177 -0.279396 -0.293629 +vn 0.910659 0.187684 -0.368070 +vn 0.669446 -0.729927 -0.138016 +vn 0.914177 -0.279396 -0.293629 +vn 0.964279 -0.171606 -0.201784 +vn 0.794820 -0.573692 -0.197834 +vn 0.669446 -0.729927 -0.138016 +vn 0.964279 -0.171606 -0.201784 +vn 0.738609 0.000177 -0.674134 +vn 0.744976 -0.000236 -0.667092 +vn 0.960649 -0.046872 -0.273781 +vn 0.452992 0.010548 -0.891452 +vn 0.744976 -0.000236 -0.667092 +vn 0.738609 0.000177 -0.674134 +vn 0.458731 0.012171 -0.888492 +vn 0.452992 0.010548 -0.891452 +vn 0.738609 0.000177 -0.674134 +vn 0.004351 0.025247 -0.999672 +vn 0.452992 0.010548 -0.891452 +vn 0.458731 0.012171 -0.888492 +vn 0.008641 0.026035 -0.999624 +vn 0.004351 0.025247 -0.999672 +vn 0.458731 0.012171 -0.888492 +vn -0.396628 0.018564 -0.917792 +vn 0.004351 0.025247 -0.999672 +vn 0.008641 0.026035 -0.999624 +vn -0.398001 0.022343 -0.917113 +vn -0.396628 0.018564 -0.917792 +vn 0.008641 0.026035 -0.999624 +vn 0.319435 0.772165 -0.549292 +vn 0.841157 0.408408 -0.354482 +vn 0.590100 0.348594 -0.728192 +vn 0.668228 0.668725 -0.326004 +vn 0.841157 0.408408 -0.354482 +vn 0.319435 0.772165 -0.549292 +vn 0.000211 0.963154 -0.268952 +vn 0.668228 0.668725 -0.326004 +vn 0.319435 0.772165 -0.549292 +vn 0.448704 0.869269 -0.207452 +vn 0.668228 0.668725 -0.326004 +vn 0.000211 0.963154 -0.268952 +vn 0.085892 0.991870 -0.093892 +vn 0.448704 0.869269 -0.207452 +vn 0.000211 0.963154 -0.268952 +vn 0.295941 0.955202 0.002781 +vn 0.448704 0.869269 -0.207452 +vn 0.085892 0.991870 -0.093892 +vn -0.965197 0.176445 -0.193034 +vn -0.940711 0.298826 -0.160515 +vn -0.944710 0.167774 -0.281737 +vn -0.863955 0.448613 -0.228755 +vn -0.940711 0.298826 -0.160515 +vn -0.965197 0.176445 -0.193034 +vn -0.955072 0.165049 -0.246162 +vn -0.863955 0.448613 -0.228755 +vn -0.965197 0.176445 -0.193034 +vn -0.836708 0.543861 0.064311 +vn -0.863955 0.448613 -0.228755 +vn -0.955072 0.165049 -0.246162 +vn -0.961543 0.250522 0.112575 +vn -0.836708 0.543861 0.064311 +vn -0.955072 0.165049 -0.246162 +vn -0.756152 0.332694 0.563514 +vn -0.836708 0.543861 0.064311 +vn -0.961543 0.250522 0.112575 +vn 0.403543 -0.140020 0.904183 +vn 0.051256 -0.145925 0.987967 +vn 0.049049 -0.539403 0.840618 +vn 0.015529 0.424163 0.905453 +vn 0.051256 -0.145925 0.987967 +vn 0.403543 -0.140020 0.904183 +vn 0.343662 0.420940 0.839468 +vn 0.015529 0.424163 0.905453 +vn 0.403543 -0.140020 0.904183 +vn -0.020496 0.842019 0.539059 +vn 0.015529 0.424163 0.905453 +vn 0.343662 0.420940 0.839468 +vn 0.250538 0.811536 0.527863 +vn -0.020496 0.842019 0.539059 +vn 0.343662 0.420940 0.839468 +vn -0.016722 0.978484 0.205645 +vn -0.020496 0.842019 0.539059 +vn 0.250538 0.811536 0.527863 +vn -0.960073 -0.255129 -0.114760 +vn -0.944710 0.167774 -0.281737 +vn -0.790648 -0.134259 -0.597370 +vn -0.965197 0.176445 -0.193034 +vn -0.944710 0.167774 -0.281737 +vn -0.960073 -0.255129 -0.114760 +vn -0.972739 -0.148394 -0.178208 +vn -0.965197 0.176445 -0.193034 +vn -0.960073 -0.255129 -0.114760 +vn -0.955072 0.165049 -0.246162 +vn -0.965197 0.176445 -0.193034 +vn -0.972739 -0.148394 -0.178208 +vn -0.939640 -0.276672 -0.201321 +vn -0.955072 0.165049 -0.246162 +vn -0.972739 -0.148394 -0.178208 +vn -0.961543 0.250522 0.112575 +vn -0.955072 0.165049 -0.246162 +vn -0.939640 -0.276672 -0.201321 +vn -0.834076 -0.551399 -0.016617 +vn -0.965482 -0.253949 0.057921 +vn -0.763905 -0.629922 -0.140174 +vn -0.903228 -0.086922 0.420267 +vn -0.965482 -0.253949 0.057921 +vn -0.834076 -0.551399 -0.016617 +vn -0.772718 -0.536630 0.339020 +vn -0.903228 -0.086922 0.420267 +vn -0.834076 -0.551399 -0.016617 +vn -0.621604 -0.184782 0.761226 +vn -0.903228 -0.086922 0.420267 +vn -0.772718 -0.536630 0.339020 +vn -0.514852 -0.567870 0.642224 +vn -0.621604 -0.184782 0.761226 +vn -0.772718 -0.536630 0.339020 +vn -0.000078 -0.999710 0.024087 +vn -0.000156 -0.999480 0.032231 +vn -0.000079 -0.999487 0.032043 +vn -0.000147 -0.999669 0.025734 +vn -0.000156 -0.999480 0.032231 +vn -0.000078 -0.999710 0.024087 +vn 0.000001 -1.000000 0.000000 +vn -0.000147 -0.999669 0.025734 +vn -0.000078 -0.999710 0.024087 +vn 0.000001 -1.000000 0.000000 +vn -0.000147 -0.999669 0.025734 +vn 0.000001 -1.000000 0.000000 +vn 0.000018 -0.999995 -0.003177 +vn 0.000001 -1.000000 0.000000 +vn 0.000001 -1.000000 0.000000 +vn 0.000211 0.963154 -0.268952 +vn -0.629924 0.704439 -0.327050 +vn -0.543136 0.815888 -0.198317 +vn -0.329703 0.773241 -0.541659 +vn -0.629924 0.704439 -0.327050 +vn 0.000211 0.963154 -0.268952 +vn 0.319435 0.772165 -0.549292 +vn -0.329703 0.773241 -0.541659 +vn 0.000211 0.963154 -0.268952 +vn 0.000888 0.382814 -0.923825 +vn -0.329703 0.773241 -0.541659 +vn 0.319435 0.772165 -0.549292 +vn 0.590100 0.348594 -0.728192 +vn 0.000888 0.382814 -0.923825 +vn 0.319435 0.772165 -0.549292 +vn 0.735980 -0.643442 -0.210513 +vn 0.914177 -0.279396 -0.293629 +vn 0.669446 -0.729927 -0.138016 +vn 0.713707 -0.174058 -0.678474 +vn 0.914177 -0.279396 -0.293629 +vn 0.735980 -0.643442 -0.210513 +vn 0.568501 -0.600757 -0.562048 +vn 0.713707 -0.174058 -0.678474 +vn 0.735980 -0.643442 -0.210513 +vn 0.381027 -0.329237 -0.863957 +vn 0.713707 -0.174058 -0.678474 +vn 0.568501 -0.600757 -0.562048 +vn -0.224396 0.960514 0.164499 +vn -0.016722 0.978484 0.205645 +vn -0.325858 0.945126 0.023530 +vn -0.020496 0.842019 0.539059 +vn -0.016722 0.978484 0.205645 +vn -0.224396 0.960514 0.164499 +vn -0.245249 0.822276 0.513532 +vn -0.020496 0.842019 0.539059 +vn -0.224396 0.960514 0.164499 +vn 0.015529 0.424163 0.905453 +vn -0.020496 0.842019 0.539059 +vn -0.245249 0.822276 0.513532 +vn 0.668228 0.668725 -0.326004 +vn 0.847040 0.492243 -0.200551 +vn 0.841157 0.408408 -0.354482 +vn 0.597576 0.797110 -0.086707 +vn 0.847040 0.492243 -0.200551 +vn 0.668228 0.668725 -0.326004 +vn 0.448704 0.869269 -0.207452 +vn 0.597576 0.797110 -0.086707 +vn 0.668228 0.668725 -0.326004 +vn 0.295941 0.955202 0.002781 +vn 0.597576 0.797110 -0.086707 +vn 0.448704 0.869269 -0.207452 +vn 0.597576 0.797110 -0.086707 +vn 0.814620 0.565404 0.129276 +vn 0.847040 0.492243 -0.200551 +vn 0.522032 0.848811 0.083681 +vn 0.814620 0.565404 0.129276 +vn 0.597576 0.797110 -0.086707 +vn 0.295941 0.955202 0.002781 +vn 0.522032 0.848811 0.083681 +vn 0.597576 0.797110 -0.086707 +vn 0.212544 0.964839 0.154629 +vn 0.522032 0.848811 0.083681 +vn 0.295941 0.955202 0.002781 +vn 0.960649 -0.046872 -0.273781 +vn 0.983334 -0.162625 -0.081292 +vn 0.976851 -0.204189 -0.063785 +vn 0.962191 -0.021388 -0.271536 +vn 0.983334 -0.162625 -0.081292 +vn 0.960649 -0.046872 -0.273781 +vn 0.744976 -0.000236 -0.667092 +vn 0.962191 -0.021388 -0.271536 +vn 0.960649 -0.046872 -0.273781 +vn -0.325858 0.945126 0.023530 +vn -0.011566 0.993128 -0.116458 +vn -0.083734 0.991898 -0.095533 +vn -0.010312 0.999537 0.028628 +vn -0.011566 0.993128 -0.116458 +vn -0.325858 0.945126 0.023530 +vn -0.016722 0.978484 0.205645 +vn -0.010312 0.999537 0.028628 +vn -0.325858 0.945126 0.023530 +vn -0.944710 0.167774 -0.281737 +vn -0.534264 0.137203 -0.834109 +vn -0.790648 -0.134259 -0.597370 +vn -0.872389 0.361913 -0.328567 +vn -0.534264 0.137203 -0.834109 +vn -0.944710 0.167774 -0.281737 +vn -0.940711 0.298826 -0.160515 +vn -0.872389 0.361913 -0.328567 +vn -0.944710 0.167774 -0.281737 +vn -0.681284 0.728889 -0.067619 +vn -0.836708 0.543861 0.064311 +vn -0.545173 0.836695 0.052234 +vn -0.863955 0.448613 -0.228755 +vn -0.836708 0.543861 0.064311 +vn -0.681284 0.728889 -0.067619 +vn -0.940711 0.298826 -0.160515 +vn -0.863955 0.448613 -0.228755 +vn -0.681284 0.728889 -0.067619 +vn -0.998790 -0.045029 -0.019781 +vn -0.983798 0.059055 -0.169278 +vn -0.996493 -0.083566 -0.004372 +vn -0.982580 0.077272 -0.169012 +vn -0.983798 0.059055 -0.169278 +vn -0.998790 -0.045029 -0.019781 +vn 0.008183 -0.992073 0.125400 +vn 0.010420 -0.993963 0.109222 +vn 0.000000 -1.000000 0.000000 +vn 0.005725 -0.998119 0.061044 +vn 0.010420 -0.993963 0.109222 +vn 0.008183 -0.992073 0.125400 +vn -0.982580 0.077272 -0.169012 +vn -0.793560 0.049952 -0.606438 +vn -0.983798 0.059055 -0.169278 +vn -0.801351 0.034031 -0.597225 +vn -0.793560 0.049952 -0.606438 +vn -0.982580 0.077272 -0.169012 +vn -0.801351 0.034031 -0.597225 +vn -0.398001 0.022343 -0.917113 +vn -0.793560 0.049952 -0.606438 +vn -0.396628 0.018564 -0.917792 +vn -0.398001 0.022343 -0.917113 +vn -0.801351 0.034031 -0.597225 +vn -0.555191 0.371441 -0.744174 +vn -0.329703 0.773241 -0.541659 +vn 0.000888 0.382814 -0.923825 +vn -0.629924 0.704439 -0.327050 +vn -0.329703 0.773241 -0.541659 +vn -0.555191 0.371441 -0.744174 +vn -0.235917 -0.552745 0.799260 +vn 0.051256 -0.145925 0.987967 +vn -0.304389 -0.122117 0.944688 +vn 0.049049 -0.539403 0.840618 +vn 0.051256 -0.145925 0.987967 +vn -0.235917 -0.552745 0.799260 +vn 0.615616 0.676612 0.403996 +vn 0.522032 0.848811 0.083681 +vn 0.212544 0.964839 0.154629 +vn 0.814620 0.565404 0.129276 +vn 0.522032 0.848811 0.083681 +vn 0.615616 0.676612 0.403996 +vn -0.342471 0.416374 0.842227 +vn -0.756152 0.332694 0.563514 +vn -0.304389 -0.122117 0.944688 +vn -0.632053 0.682046 0.367863 +vn -0.756152 0.332694 0.563514 +vn -0.342471 0.416374 0.842227 +vn 0.964279 -0.171606 -0.201784 +vn 0.816429 -0.577435 0.003554 +vn 0.794820 -0.573692 -0.197834 +vn 0.973740 -0.224861 0.035604 +vn 0.816429 -0.577435 0.003554 +vn 0.964279 -0.171606 -0.201784 +vn -0.349902 -0.312025 -0.883294 +vn -0.534264 0.137203 -0.834109 +vn -0.003514 -0.316976 -0.948427 +vn -0.790648 -0.134259 -0.597370 +vn -0.534264 0.137203 -0.834109 +vn -0.349902 -0.312025 -0.883294 +vn 0.000048 -0.999959 -0.009090 +vn 0.000018 -0.999995 -0.003177 +vn 0.001158 -0.975480 -0.220084 +vn 0.000001 -1.000000 0.000000 +vn 0.000018 -0.999995 -0.003177 +vn 0.000048 -0.999959 -0.009090 +vn 0.748650 0.326221 0.577151 +vn 0.343662 0.420940 0.839468 +vn 0.403543 -0.140020 0.904183 +vn 0.250538 0.811536 0.527863 +vn 0.343662 0.420940 0.839468 +vn 0.748650 0.326221 0.577151 +vn 0.911499 -0.070272 0.405255 +vn 0.638260 -0.525039 0.562991 +vn 0.794415 -0.524618 0.306074 +vn 0.733573 -0.194244 0.651260 +vn 0.638260 -0.525039 0.562991 +vn 0.911499 -0.070272 0.405255 +vn 0.973740 -0.224861 0.035604 +vn 0.794415 -0.524618 0.306074 +vn 0.816429 -0.577435 0.003554 +vn 0.911499 -0.070272 0.405255 +vn 0.794415 -0.524618 0.306074 +vn 0.973740 -0.224861 0.035604 +vn -0.887289 -0.439752 -0.139056 +vn -0.972739 -0.148394 -0.178208 +vn -0.960073 -0.255129 -0.114760 +vn -0.939640 -0.276672 -0.201321 +vn -0.972739 -0.148394 -0.178208 +vn -0.887289 -0.439752 -0.139056 +vn -0.003407 -0.072575 0.997357 +vn -0.002568 -0.078178 0.996936 +vn -0.003496 -0.071975 0.997400 +vn -0.002449 -0.078974 0.996874 +vn -0.002568 -0.078178 0.996936 +vn -0.003407 -0.072575 0.997357 +vn -0.632053 0.682046 0.367863 +vn -0.836708 0.543861 0.064311 +vn -0.756152 0.332694 0.563514 +vn -0.545173 0.836695 0.052234 +vn -0.836708 0.543861 0.064311 +vn -0.632053 0.682046 0.367863 +vn 0.638260 -0.525039 0.562991 +vn 0.733573 -0.194244 0.651260 +vn 0.345847 -0.547182 0.762221 +vn 0.000075 0.601181 0.799113 +vn 0.061067 0.742447 0.667116 +vn 0.000027 0.797826 0.602887 +vn 0.192936 0.360754 0.912487 +vn 0.061067 0.742447 0.667116 +vn 0.000075 0.601181 0.799113 +vn 0.000000 -0.219295 0.975659 +vn 0.192936 0.360754 0.912487 +vn 0.000075 0.601181 0.799113 +vn 0.258842 -0.113580 0.959219 +vn 0.192936 0.360754 0.912487 +vn 0.000000 -0.219295 0.975659 +vn 0.330278 -0.536263 0.776749 +vn 0.258842 -0.113580 0.959219 +vn 0.000000 -0.219295 0.975659 +vn 0.000000 -0.219295 0.975659 +vn -0.034003 -0.776823 0.628800 +vn 0.330278 -0.536263 0.776749 +vn -0.000001 -0.716958 0.697116 +vn -0.034003 -0.776823 0.628800 +vn 0.000000 -0.219295 0.975659 +vn 0.034003 -0.776823 0.628800 +vn -0.000001 -0.716958 0.697116 +vn 0.000000 -0.219295 0.975659 +vn 0.084550 -0.958449 0.272446 +vn -0.000001 -0.716958 0.697116 +vn 0.034003 -0.776823 0.628800 +vn 0.000000 -0.219295 0.975659 +vn -0.328396 -0.536395 0.777455 +vn 0.034003 -0.776823 0.628800 +vn -0.258083 -0.113627 0.959418 +vn -0.328396 -0.536395 0.777455 +vn 0.000000 -0.219295 0.975659 +vn -0.192251 0.360527 0.912721 +vn -0.258083 -0.113627 0.959418 +vn 0.000000 -0.219295 0.975659 +vn -0.061554 0.742242 0.667299 +vn 0.000075 0.601181 0.799113 +vn 0.000027 0.797826 0.602887 +vn -0.192251 0.360527 0.912721 +vn 0.000075 0.601181 0.799113 +vn -0.061554 0.742242 0.667299 +vn 0.000000 -0.943224 0.332157 +vn -0.000001 -0.716958 0.697116 +vn 0.084550 -0.958449 0.272446 +vn -0.084550 -0.958449 0.272446 +vn -0.000001 -0.716958 0.697116 +vn 0.000000 -0.943224 0.332157 +vn -0.034003 -0.776823 0.628800 +vn -0.000001 -0.716958 0.697116 +vn -0.084550 -0.958449 0.272446 +vn 0.000075 0.601181 0.799113 +vn -0.192251 0.360527 0.912721 +vn 0.000000 -0.219295 0.975659 +vn -0.261378 0.401054 0.877973 +vn -0.192251 0.360527 0.912721 +vn -0.061554 0.742242 0.667299 +vn -0.258083 -0.113627 0.959418 +vn -0.192251 0.360527 0.912721 +vn -0.261378 0.401054 0.877973 +vn -0.414118 -0.178692 0.892511 +vn -0.258083 -0.113627 0.959418 +vn -0.261378 0.401054 0.877973 +vn -0.328396 -0.536395 0.777455 +vn -0.258083 -0.113627 0.959418 +vn -0.414118 -0.178692 0.892511 +vn -0.692854 -0.607368 0.388662 +vn -0.328396 -0.536395 0.777455 +vn -0.414118 -0.178692 0.892511 +vn -0.295045 -0.863047 0.409999 +vn -0.328396 -0.536395 0.777455 +vn -0.692854 -0.607368 0.388662 +vn -0.253412 -0.947005 0.197392 +vn -0.295045 -0.863047 0.409999 +vn -0.692854 -0.607368 0.388662 +vn 0.084550 -0.958449 0.272446 +vn -0.295045 -0.863047 0.409999 +vn -0.253412 -0.947005 0.197392 +vn -0.337134 -0.033826 -0.940849 +vn -0.396882 0.136422 -0.907675 +vn -0.382598 0.012609 -0.923829 +vn -0.340196 -0.078021 -0.937112 +vn -0.396882 0.136422 -0.907675 +vn -0.337134 -0.033826 -0.940849 +vn 0.000542 -0.132017 -0.991247 +vn -0.340196 -0.078021 -0.937112 +vn -0.337134 -0.033826 -0.940849 +vn -0.246841 -0.126217 -0.960801 +vn -0.340196 -0.078021 -0.937112 +vn 0.000542 -0.132017 -0.991247 +vn 0.000023 -0.225956 -0.974137 +vn -0.246841 -0.126217 -0.960801 +vn 0.000542 -0.132017 -0.991247 +vn 0.386790 -0.815175 0.431142 +vn 0.683040 -0.720472 0.119903 +vn 0.265888 -0.907525 0.325118 +vn 0.696248 -0.605228 0.385925 +vn 0.683040 -0.720472 0.119903 +vn 0.386790 -0.815175 0.431142 +vn 0.413204 -0.176729 0.893325 +vn 0.696248 -0.605228 0.385925 +vn 0.386790 -0.815175 0.431142 +vn 0.330278 -0.536263 0.776749 +vn 0.696248 -0.605228 0.385925 +vn 0.413204 -0.176729 0.893325 +vn 0.696248 -0.605228 0.385925 +vn 0.255159 -0.946582 0.197171 +vn 0.683040 -0.720472 0.119903 +vn 0.296744 -0.862608 0.409695 +vn 0.255159 -0.946582 0.197171 +vn 0.696248 -0.605228 0.385925 +vn 0.330278 -0.536263 0.776749 +vn 0.296744 -0.862608 0.409695 +vn 0.696248 -0.605228 0.385925 +vn -0.034003 -0.776823 0.628800 +vn 0.296744 -0.862608 0.409695 +vn 0.330278 -0.536263 0.776749 +vn -0.402494 -0.808767 0.428829 +vn -0.692854 -0.607368 0.388662 +vn -0.414118 -0.178692 0.892511 +vn -0.679746 -0.723495 0.120413 +vn -0.692854 -0.607368 0.388662 +vn -0.402494 -0.808767 0.428829 +vn -0.273057 -0.905565 0.324641 +vn -0.679746 -0.723495 0.120413 +vn -0.402494 -0.808767 0.428829 +vn 0.000542 -0.132017 -0.991247 +vn 0.246298 -0.126937 -0.960846 +vn 0.000023 -0.225956 -0.974137 +vn 0.340033 -0.081347 -0.936889 +vn 0.246298 -0.126937 -0.960846 +vn 0.000542 -0.132017 -0.991247 +vn 0.336307 -0.032060 -0.941207 +vn 0.340033 -0.081347 -0.936889 +vn 0.000542 -0.132017 -0.991247 +vn 0.192936 0.360754 0.912487 +vn 0.261676 0.401301 0.877772 +vn 0.061067 0.742447 0.667116 +vn 0.258842 -0.113580 0.959219 +vn 0.261676 0.401301 0.877772 +vn 0.192936 0.360754 0.912487 +vn -0.295045 -0.863047 0.409999 +vn 0.034003 -0.776823 0.628800 +vn -0.328396 -0.536395 0.777455 +vn 0.084550 -0.958449 0.272446 +vn 0.034003 -0.776823 0.628800 +vn -0.295045 -0.863047 0.409999 +vn 0.394836 0.135476 -0.908708 +vn 0.336307 -0.032060 -0.941207 +vn 0.382005 0.022245 -0.923893 +vn 0.340033 -0.081347 -0.936889 +vn 0.336307 -0.032060 -0.941207 +vn 0.394836 0.135476 -0.908708 +vn 0.258842 -0.113580 0.959219 +vn 0.413204 -0.176729 0.893325 +vn 0.261676 0.401301 0.877772 +vn 0.330278 -0.536263 0.776749 +vn 0.413204 -0.176729 0.893325 +vn 0.258842 -0.113580 0.959219 +vn 0.296744 -0.862608 0.409695 +vn -0.084550 -0.958449 0.272446 +vn 0.255159 -0.946582 0.197171 +vn -0.034003 -0.776823 0.628800 +vn -0.084550 -0.958449 0.272446 +vn 0.296744 -0.862608 0.409695 +vn 0.000027 0.797826 0.602887 +vn 0.061067 0.742447 0.667116 +vn 0.015604 0.899012 0.437646 +vn 0.000027 0.797826 0.602887 +vn -0.015063 0.899221 0.437235 +vn -0.061554 0.742242 0.667299 +vn -0.679746 -0.723495 0.120413 +vn -0.253412 -0.947005 0.197392 +vn -0.692854 -0.607368 0.388662 +vn 0.033175 0.907230 0.419326 +vn -0.061554 0.742242 0.667299 +vn -0.015063 0.899221 0.437235 +vn -0.036844 0.754918 0.654784 +vn -0.061554 0.742242 0.667299 +vn 0.033175 0.907230 0.419326 +vn 0.148243 0.902792 0.403722 +vn -0.036844 0.754918 0.654784 +vn 0.033175 0.907230 0.419326 +vn -0.044896 0.765310 0.642094 +vn -0.036844 0.754918 0.654784 +vn 0.148243 0.902792 0.403722 +vn 0.263116 0.890124 0.372088 +vn -0.044896 0.765310 0.642094 +vn 0.148243 0.902792 0.403722 +vn 0.034232 0.784278 0.619464 +vn -0.044896 0.765310 0.642094 +vn 0.263116 0.890124 0.372088 +vn 0.404796 0.823324 0.397842 +vn 0.034232 0.784278 0.619464 +vn 0.263116 0.890124 0.372088 +vn 0.088751 0.778198 0.621716 +vn 0.034232 0.784278 0.619464 +vn 0.404796 0.823324 0.397842 +vn -0.688205 0.538712 0.485967 +vn 0.088751 0.778198 0.621716 +vn 0.404796 0.823324 0.397842 +vn -0.455827 0.529092 0.715739 +vn 0.088751 0.778198 0.621716 +vn -0.688205 0.538712 0.485967 +vn -0.820718 0.240926 0.518050 +vn -0.455827 0.529092 0.715739 +vn -0.688205 0.538712 0.485967 +vn -0.627000 0.103909 0.772058 +vn -0.455827 0.529092 0.715739 +vn -0.820718 0.240926 0.518050 +vn -0.786027 -0.165653 0.595584 +vn -0.627000 0.103909 0.772058 +vn -0.820718 0.240926 0.518050 +vn -0.637917 -0.056849 0.768004 +vn -0.627000 0.103909 0.772058 +vn -0.786027 -0.165653 0.595584 +vn -0.642671 -0.572632 0.508986 +vn -0.637917 -0.056849 0.768004 +vn -0.786027 -0.165653 0.595584 +vn -0.773936 -0.401198 0.489962 +vn -0.637917 -0.056849 0.768004 +vn -0.642671 -0.572632 0.508986 +vn -0.740554 -0.658013 0.136376 +vn -0.773936 -0.401198 0.489962 +vn -0.642671 -0.572632 0.508986 +vn -0.867114 -0.442728 0.228267 +vn -0.773936 -0.401198 0.489962 +vn -0.740554 -0.658013 0.136376 +vn 0.061067 0.742447 0.667116 +vn -0.033521 0.907206 0.419349 +vn 0.015604 0.899012 0.437646 +vn 0.036557 0.754739 0.655006 +vn -0.033521 0.907206 0.419349 +vn 0.061067 0.742447 0.667116 +vn 0.261676 0.401301 0.877772 +vn 0.036557 0.754739 0.655006 +vn 0.061067 0.742447 0.667116 +vn 0.193572 0.409937 0.891337 +vn 0.036557 0.754739 0.655006 +vn 0.261676 0.401301 0.877772 +vn 0.413204 -0.176729 0.893325 +vn 0.193572 0.409937 0.891337 +vn 0.261676 0.401301 0.877772 +vn 0.400016 0.092458 0.911833 +vn 0.193572 0.409937 0.891337 +vn 0.413204 -0.176729 0.893325 +vn 0.501973 -0.433076 0.748644 +vn 0.400016 0.092458 0.911833 +vn 0.413204 -0.176729 0.893325 +vn 0.637917 -0.056851 0.768004 +vn 0.400016 0.092458 0.911833 +vn 0.501973 -0.433076 0.748644 +vn 0.812634 -0.349994 0.465973 +vn 0.637917 -0.056851 0.768004 +vn 0.501973 -0.433076 0.748644 +vn 0.773935 -0.401196 0.489966 +vn 0.637917 -0.056851 0.768004 +vn 0.812634 -0.349994 0.465973 +vn 0.867112 -0.442730 0.228270 +vn 0.773935 -0.401196 0.489966 +vn 0.812634 -0.349994 0.465973 +vn 0.740555 -0.658013 0.136373 +vn 0.773935 -0.401196 0.489966 +vn 0.867112 -0.442730 0.228270 +vn 0.044894 0.765308 0.642097 +vn -0.263081 0.890118 0.372127 +vn -0.148259 0.902786 0.403729 +vn -0.034209 0.784268 0.619479 +vn -0.263081 0.890118 0.372127 +vn 0.044894 0.765308 0.642097 +vn 0.359998 0.373727 0.854827 +vn -0.034209 0.784268 0.619479 +vn 0.044894 0.765308 0.642097 +vn 0.358628 0.432750 0.827111 +vn -0.034209 0.784268 0.619479 +vn 0.359998 0.373727 0.854827 +vn 0.637917 -0.056851 0.768004 +vn 0.358628 0.432750 0.827111 +vn 0.359998 0.373727 0.854827 +vn 0.627002 0.103910 0.772056 +vn 0.358628 0.432750 0.827111 +vn 0.637917 -0.056851 0.768004 +vn 0.786029 -0.165654 0.595582 +vn 0.627002 0.103910 0.772056 +vn 0.637917 -0.056851 0.768004 +vn 0.820719 0.240927 0.518049 +vn 0.627002 0.103910 0.772056 +vn 0.786029 -0.165654 0.595582 +vn 0.982101 -0.038593 0.184357 +vn 0.820719 0.240927 0.518049 +vn 0.786029 -0.165654 0.595582 +vn 0.929823 0.297605 0.216475 +vn 0.820719 0.240927 0.518049 +vn 0.982101 -0.038593 0.184357 +vn 0.978452 -0.155406 -0.135941 +vn 0.929823 0.297605 0.216475 +vn 0.982101 -0.038593 0.184357 +vn 0.960153 0.239637 -0.143806 +vn 0.929823 0.297605 0.216475 +vn 0.978452 -0.155406 -0.135941 +vn -0.642671 -0.572632 0.508986 +vn -0.502229 -0.861695 0.072441 +vn -0.740554 -0.658013 0.136376 +vn -0.846238 -0.486932 0.216285 +vn -0.502229 -0.861695 0.072441 +vn -0.642671 -0.572632 0.508986 +vn -0.786027 -0.165653 0.595584 +vn -0.846238 -0.486932 0.216285 +vn -0.642671 -0.572632 0.508986 +vn -0.982101 -0.038592 0.184359 +vn -0.846238 -0.486932 0.216285 +vn -0.786027 -0.165653 0.595584 +vn -0.820718 0.240926 0.518050 +vn -0.982101 -0.038592 0.184359 +vn -0.786027 -0.165653 0.595584 +vn -0.929822 0.297606 0.216474 +vn -0.982101 -0.038592 0.184359 +vn -0.820718 0.240926 0.518050 +vn -0.688205 0.538712 0.485967 +vn -0.929822 0.297606 0.216474 +vn -0.820718 0.240926 0.518050 +vn -0.960153 0.239639 -0.143806 +vn -0.929822 0.297606 0.216474 +vn -0.688205 0.538712 0.485967 +vn -0.036844 0.754918 0.654784 +vn -0.261378 0.401054 0.877973 +vn -0.061554 0.742242 0.667299 +vn -0.194152 0.410307 0.891040 +vn -0.261378 0.401054 0.877973 +vn -0.036844 0.754918 0.654784 +vn -0.044896 0.765310 0.642094 +vn -0.194152 0.410307 0.891040 +vn -0.036844 0.754918 0.654784 +vn -0.359998 0.373727 0.854827 +vn -0.194152 0.410307 0.891040 +vn -0.044896 0.765310 0.642094 +vn 0.034232 0.784278 0.619464 +vn -0.359998 0.373727 0.854827 +vn -0.044896 0.765310 0.642094 +vn -0.358630 0.432748 0.827112 +vn -0.359998 0.373727 0.854827 +vn 0.034232 0.784278 0.619464 +vn 0.088751 0.778198 0.621716 +vn -0.358630 0.432748 0.827112 +vn 0.034232 0.784278 0.619464 +vn -0.455827 0.529092 0.715739 +vn -0.358630 0.432748 0.827112 +vn 0.088751 0.778198 0.621716 +vn -0.637917 -0.056849 0.768004 +vn -0.359998 0.373727 0.854827 +vn -0.358630 0.432748 0.827112 +vn -0.401284 0.093137 0.911206 +vn -0.359998 0.373727 0.854827 +vn -0.637917 -0.056849 0.768004 +vn -0.500187 -0.438625 0.746606 +vn -0.401284 0.093137 0.911206 +vn -0.637917 -0.056849 0.768004 +vn -0.414118 -0.178692 0.892511 +vn -0.401284 0.093137 0.911206 +vn -0.500187 -0.438625 0.746606 +vn -0.127518 -0.823947 0.552132 +vn -0.414118 -0.178692 0.892511 +vn -0.500187 -0.438625 0.746606 +vn -0.402494 -0.808767 0.428829 +vn -0.414118 -0.178692 0.892511 +vn -0.127518 -0.823947 0.552132 +vn -0.273057 -0.905565 0.324641 +vn -0.402494 -0.808767 0.428829 +vn -0.127518 -0.823947 0.552132 +vn -0.127518 -0.823947 0.552132 +vn -0.002053 -0.962354 0.271793 +vn -0.273057 -0.905565 0.324641 +vn -0.542498 -0.703709 0.458791 +vn -0.002053 -0.962354 0.271793 +vn -0.127518 -0.823947 0.552132 +vn -0.500187 -0.438625 0.746606 +vn -0.542498 -0.703709 0.458791 +vn -0.127518 -0.823947 0.552132 +vn -0.812634 -0.349992 0.465973 +vn -0.542498 -0.703709 0.458791 +vn -0.500187 -0.438625 0.746606 +vn -0.637917 -0.056849 0.768004 +vn -0.812634 -0.349992 0.465973 +vn -0.500187 -0.438625 0.746606 +vn -0.773936 -0.401198 0.489962 +vn -0.812634 -0.349992 0.465973 +vn -0.637917 -0.056849 0.768004 +vn 0.036557 0.754739 0.655006 +vn -0.148259 0.902786 0.403729 +vn -0.033521 0.907206 0.419349 +vn 0.044894 0.765308 0.642097 +vn -0.148259 0.902786 0.403729 +vn 0.036557 0.754739 0.655006 +vn 0.193572 0.409937 0.891337 +vn 0.044894 0.765308 0.642097 +vn 0.036557 0.754739 0.655006 +vn 0.359998 0.373727 0.854827 +vn 0.044894 0.765308 0.642097 +vn 0.193572 0.409937 0.891337 +vn 0.400016 0.092458 0.911833 +vn 0.359998 0.373727 0.854827 +vn 0.193572 0.409937 0.891337 +vn 0.637917 -0.056851 0.768004 +vn 0.359998 0.373727 0.854827 +vn 0.400016 0.092458 0.911833 +vn 0.982101 -0.038593 0.184357 +vn 0.831132 -0.555822 -0.016772 +vn 0.978452 -0.155406 -0.135941 +vn 0.846238 -0.486932 0.216284 +vn 0.831132 -0.555822 -0.016772 +vn 0.982101 -0.038593 0.184357 +vn 0.786029 -0.165654 0.595582 +vn 0.846238 -0.486932 0.216284 +vn 0.982101 -0.038593 0.184357 +vn 0.642672 -0.572634 0.508983 +vn 0.846238 -0.486932 0.216284 +vn 0.786029 -0.165654 0.595582 +vn 0.637917 -0.056851 0.768004 +vn 0.642672 -0.572634 0.508983 +vn 0.786029 -0.165654 0.595582 +vn 0.773935 -0.401196 0.489966 +vn 0.642672 -0.572634 0.508983 +vn 0.637917 -0.056851 0.768004 +vn 0.812634 -0.349994 0.465973 +vn 0.521177 -0.821385 0.231736 +vn 0.867112 -0.442730 0.228270 +vn 0.552896 -0.697324 0.456120 +vn 0.521177 -0.821385 0.231736 +vn 0.812634 -0.349994 0.465973 +vn 0.501973 -0.433076 0.748644 +vn 0.552896 -0.697324 0.456120 +vn 0.812634 -0.349994 0.465973 +vn 0.130062 -0.821913 0.554565 +vn 0.552896 -0.697324 0.456120 +vn 0.501973 -0.433076 0.748644 +vn 0.413204 -0.176729 0.893325 +vn 0.130062 -0.821913 0.554565 +vn 0.501973 -0.433076 0.748644 +vn 0.386790 -0.815175 0.431142 +vn 0.130062 -0.821913 0.554565 +vn 0.413204 -0.176729 0.893325 +vn 0.363148 -0.157237 -0.918368 +vn 0.295606 -0.059115 -0.953479 +vn 0.283761 0.047340 -0.957726 +vn 0.358724 -0.055054 -0.931819 +vn 0.295606 -0.059115 -0.953479 +vn 0.363148 -0.157237 -0.918368 +vn 0.593351 -0.146501 -0.791500 +vn 0.358724 -0.055054 -0.931819 +vn 0.363148 -0.157237 -0.918368 +vn 0.435017 0.088239 -0.896088 +vn 0.358724 -0.055054 -0.931819 +vn 0.593351 -0.146501 -0.791500 +vn 0.623337 -0.018962 -0.781724 +vn 0.435017 0.088239 -0.896088 +vn 0.593351 -0.146501 -0.791500 +vn -0.363147 -0.157237 -0.918369 +vn -0.593350 -0.146500 -0.791501 +vn -0.706339 0.082916 -0.703001 +vn -0.358724 -0.055052 -0.931819 +vn -0.593350 -0.146500 -0.791501 +vn -0.363147 -0.157237 -0.918369 +vn -0.295595 -0.058256 -0.953536 +vn -0.358724 -0.055052 -0.931819 +vn -0.363147 -0.157237 -0.918369 +vn -0.306059 -0.043260 -0.951029 +vn -0.358724 -0.055052 -0.931819 +vn -0.295595 -0.058256 -0.953536 +vn -0.246841 -0.126217 -0.960801 +vn -0.306059 -0.043260 -0.951029 +vn -0.295595 -0.058256 -0.953536 +vn -0.978452 -0.155406 -0.135943 +vn -0.929822 0.297606 0.216474 +vn -0.960153 0.239639 -0.143806 +vn -0.982101 -0.038592 0.184359 +vn -0.929822 0.297606 0.216474 +vn -0.978452 -0.155406 -0.135943 +vn -0.831131 -0.555824 -0.016771 +vn -0.982101 -0.038592 0.184359 +vn -0.978452 -0.155406 -0.135943 +vn -0.846238 -0.486932 0.216285 +vn -0.982101 -0.038592 0.184359 +vn -0.831131 -0.555824 -0.016771 +vn -0.502229 -0.861695 0.072441 +vn -0.846238 -0.486932 0.216285 +vn -0.831131 -0.555824 -0.016771 +vn 0.688204 0.538711 0.485969 +vn 0.929823 0.297605 0.216475 +vn 0.960153 0.239637 -0.143806 +vn 0.820719 0.240927 0.518049 +vn 0.929823 0.297605 0.216475 +vn 0.688204 0.538711 0.485969 +vn 0.455831 0.529090 0.715739 +vn 0.820719 0.240927 0.518049 +vn 0.688204 0.538711 0.485969 +vn 0.627002 0.103910 0.772056 +vn 0.820719 0.240927 0.518049 +vn 0.455831 0.529090 0.715739 +vn 0.358628 0.432750 0.827111 +vn 0.627002 0.103910 0.772056 +vn 0.455831 0.529090 0.715739 +vn -0.034209 0.784268 0.619479 +vn -0.404781 0.823327 0.397851 +vn -0.263081 0.890118 0.372127 +vn -0.088752 0.778198 0.621717 +vn -0.404781 0.823327 0.397851 +vn -0.034209 0.784268 0.619479 +vn 0.358628 0.432750 0.827111 +vn -0.088752 0.778198 0.621717 +vn -0.034209 0.784268 0.619479 +vn 0.455831 0.529090 0.715739 +vn -0.088752 0.778198 0.621717 +vn 0.358628 0.432750 0.827111 +vn 0.295606 -0.059115 -0.953479 +vn 0.340033 -0.081347 -0.936889 +vn 0.306915 0.276675 -0.910634 +vn 0.246298 -0.126937 -0.960846 +vn 0.340033 -0.081347 -0.936889 +vn 0.295606 -0.059115 -0.953479 +vn 0.302843 -0.041781 -0.952124 +vn 0.246298 -0.126937 -0.960846 +vn 0.295606 -0.059115 -0.953479 +vn 0.674866 -0.030975 -0.737290 +vn 0.593351 -0.146501 -0.791500 +vn 0.642479 -0.073604 -0.762760 +vn 0.623337 -0.018962 -0.781724 +vn 0.593351 -0.146501 -0.791500 +vn 0.674866 -0.030975 -0.737290 +vn 0.670107 0.135937 -0.729711 +vn 0.623337 -0.018962 -0.781724 +vn 0.674866 -0.030975 -0.737290 +vn -0.674867 -0.030975 -0.737289 +vn -0.623337 -0.018962 -0.781723 +vn -0.670107 0.135938 -0.729711 +vn -0.593350 -0.146500 -0.791501 +vn -0.623337 -0.018962 -0.781723 +vn -0.674867 -0.030975 -0.737289 +vn -0.642492 -0.073601 -0.762749 +vn -0.593350 -0.146500 -0.791501 +vn -0.674867 -0.030975 -0.737289 +vn -0.194152 0.410307 0.891040 +vn -0.414118 -0.178692 0.892511 +vn -0.261378 0.401054 0.877973 +vn -0.401284 0.093137 0.911206 +vn -0.414118 -0.178692 0.892511 +vn -0.194152 0.410307 0.891040 +vn -0.359998 0.373727 0.854827 +vn -0.401284 0.093137 0.911206 +vn -0.194152 0.410307 0.891040 +vn -0.340196 -0.078021 -0.937112 +vn -0.295595 -0.058256 -0.953536 +vn -0.318886 0.210701 -0.924076 +vn -0.246841 -0.126217 -0.960801 +vn -0.295595 -0.058256 -0.953536 +vn -0.340196 -0.078021 -0.937112 +vn -0.593350 -0.146500 -0.791501 +vn -0.435016 0.088238 -0.896089 +vn -0.623337 -0.018962 -0.781723 +vn -0.358724 -0.055052 -0.931819 +vn -0.435016 0.088238 -0.896089 +vn -0.593350 -0.146500 -0.791501 +vn -0.627000 0.103909 0.772058 +vn -0.358630 0.432748 0.827112 +vn -0.455827 0.529092 0.715739 +vn -0.637917 -0.056849 0.768004 +vn -0.358630 0.432748 0.827112 +vn -0.627000 0.103909 0.772058 +vn -0.867114 -0.442728 0.228267 +vn -0.812634 -0.349992 0.465973 +vn -0.773936 -0.401198 0.489962 +vn -0.510468 -0.827636 0.233328 +vn -0.812634 -0.349992 0.465973 +vn -0.867114 -0.442728 0.228267 +vn -0.510468 -0.827636 0.233328 +vn -0.542498 -0.703709 0.458791 +vn -0.812634 -0.349992 0.465973 +vn -0.002053 -0.962354 0.271793 +vn -0.542498 -0.703709 0.458791 +vn -0.510468 -0.827636 0.233328 +vn 0.688204 0.538711 0.485969 +vn -0.088752 0.778198 0.621717 +vn 0.455831 0.529090 0.715739 +vn -0.404781 0.823327 0.397851 +vn -0.088752 0.778198 0.621717 +vn 0.688204 0.538711 0.485969 +vn 0.846238 -0.486932 0.216284 +vn 0.502231 -0.861694 0.072437 +vn 0.831132 -0.555822 -0.016772 +vn 0.642672 -0.572634 0.508983 +vn 0.502231 -0.861694 0.072437 +vn 0.846238 -0.486932 0.216284 +vn 0.740555 -0.658013 0.136373 +vn 0.642672 -0.572634 0.508983 +vn 0.773935 -0.401196 0.489966 +vn 0.502231 -0.861694 0.072437 +vn 0.642672 -0.572634 0.508983 +vn 0.740555 -0.658013 0.136373 +vn 0.552896 -0.697324 0.456120 +vn -0.000450 -0.962134 0.272578 +vn 0.521177 -0.821385 0.231736 +vn 0.130062 -0.821913 0.554565 +vn -0.000450 -0.962134 0.272578 +vn 0.552896 -0.697324 0.456120 +vn 0.265888 -0.907525 0.325118 +vn 0.130062 -0.821913 0.554565 +vn 0.386790 -0.815175 0.431142 +vn -0.000450 -0.962134 0.272578 +vn 0.130062 -0.821913 0.554565 +vn 0.265888 -0.907525 0.325118 +vn 0.363148 -0.157237 -0.918368 +vn 0.706339 0.082918 -0.703000 +vn 0.593351 -0.146501 -0.791500 +vn -0.363147 -0.157237 -0.918369 +vn -0.283763 0.047341 -0.957725 +vn -0.295595 -0.058256 -0.953536 +vn 0.358724 -0.055054 -0.931819 +vn 0.302843 -0.041781 -0.952124 +vn 0.295606 -0.059115 -0.953479 +vn 0.931809 -0.310741 -0.187544 +vn 0.751837 -0.644724 -0.138101 +vn 0.886525 -0.445562 -0.124690 +vn 0.809678 -0.586847 -0.005603 +vn 0.751837 -0.644724 -0.138101 +vn 0.931809 -0.310741 -0.187544 +vn 0.958856 -0.278348 0.055831 +vn 0.809678 -0.586847 -0.005603 +vn 0.931809 -0.310741 -0.187544 +vn 0.759818 -0.553909 0.340385 +vn 0.809678 -0.586847 -0.005603 +vn 0.958856 -0.278348 0.055831 +vn 0.897843 -0.130278 0.420603 +vn 0.759818 -0.553909 0.340385 +vn 0.958856 -0.278348 0.055831 +vn 0.531483 -0.572532 0.624286 +vn 0.759818 -0.553909 0.340385 +vn 0.897843 -0.130278 0.420603 +vn 0.619616 -0.211315 0.755925 +vn 0.531483 -0.572532 0.624286 +vn 0.897843 -0.130278 0.420603 +vn 0.245838 -0.560285 0.790977 +vn 0.531483 -0.572532 0.624286 +vn 0.619616 -0.211315 0.755925 +vn 0.305047 -0.129937 0.943431 +vn 0.245838 -0.560285 0.790977 +vn 0.619616 -0.211315 0.755925 +vn -0.043682 -0.539795 0.840663 +vn 0.245838 -0.560285 0.790977 +vn 0.305047 -0.129937 0.943431 +vn -0.046624 -0.145814 0.988213 +vn -0.043682 -0.539795 0.840663 +vn 0.305047 -0.129937 0.943431 +vn -0.334634 -0.542032 0.770858 +vn -0.043682 -0.539795 0.840663 +vn -0.046624 -0.145814 0.988213 +vn -0.399718 -0.130354 0.907322 +vn -0.334634 -0.542032 0.770858 +vn -0.046624 -0.145814 0.988213 +vn -0.628391 -0.518810 0.579622 +vn -0.334634 -0.542032 0.770858 +vn -0.399718 -0.130354 0.907322 +vn -0.736405 -0.158984 0.657595 +vn -0.628391 -0.518810 0.579622 +vn -0.399718 -0.130354 0.907322 +vn -0.809110 -0.499829 0.309051 +vn -0.628391 -0.518810 0.579622 +vn -0.736405 -0.158984 0.657595 +vn -0.913002 -0.033259 0.406598 +vn -0.809110 -0.499829 0.309051 +vn -0.736405 -0.158984 0.657595 +vn -0.828341 -0.559808 0.021574 +vn -0.809110 -0.499829 0.309051 +vn -0.913002 -0.033259 0.406598 +vn -0.981950 -0.185338 0.037749 +vn -0.828341 -0.559808 0.021574 +vn -0.913002 -0.033259 0.406598 +vn -0.794783 -0.564463 -0.222940 +vn -0.828341 -0.559808 0.021574 +vn -0.981950 -0.185338 0.037749 +vn -0.965985 -0.116811 -0.230711 +vn -0.794783 -0.564463 -0.222940 +vn -0.981950 -0.185338 0.037749 +vn -0.644430 -0.750129 -0.148380 +vn -0.794783 -0.564463 -0.222940 +vn -0.965985 -0.116811 -0.230711 +vn -0.930474 -0.236926 -0.279434 +vn -0.644430 -0.750129 -0.148380 +vn -0.965985 -0.116811 -0.230711 +vn -0.740644 -0.643777 -0.192345 +vn -0.644430 -0.750129 -0.148380 +vn -0.930474 -0.236926 -0.279434 +vn -0.571627 -0.633305 -0.521698 +vn -0.740644 -0.643777 -0.192345 +vn -0.930474 -0.236926 -0.279434 +vn 0.985488 0.080439 -0.149479 +vn 0.985087 0.087522 -0.148132 +vn 0.987173 0.086965 -0.133888 +vn 0.999841 0.017232 -0.004501 +vn 0.985087 0.087522 -0.148132 +vn 0.985488 0.080439 -0.149479 +vn 0.999962 0.001957 -0.008456 +vn 0.999841 0.017232 -0.004501 +vn 0.985488 0.080439 -0.149479 +vn 0.912687 -0.041401 0.406556 +vn 0.999841 0.017232 -0.004501 +vn 0.999962 0.001957 -0.008456 +vn 0.909290 -0.053818 0.412668 +vn 0.912687 -0.041401 0.406556 +vn 0.999962 0.001957 -0.008456 +vn 0.651665 -0.093715 0.752695 +vn 0.912687 -0.041401 0.406556 +vn 0.909290 -0.053818 0.412668 +vn 0.644293 -0.103119 0.757795 +vn 0.651665 -0.093715 0.752695 +vn 0.909290 -0.053818 0.412668 +vn 0.317388 -0.109171 0.941991 +vn 0.651665 -0.093715 0.752695 +vn 0.644293 -0.103119 0.757795 +vn 0.310055 -0.112036 0.944094 +vn 0.317388 -0.109171 0.941991 +vn 0.644293 -0.103119 0.757795 +vn -0.058473 -0.116924 0.991418 +vn 0.317388 -0.109171 0.941991 +vn 0.310055 -0.112036 0.944094 +vn -0.055428 -0.119788 0.991251 +vn -0.058473 -0.116924 0.991418 +vn 0.310055 -0.112036 0.944094 +vn -0.419458 -0.109502 0.901146 +vn -0.058473 -0.116924 0.991418 +vn -0.055428 -0.119788 0.991251 +vn -0.391278 -0.109428 0.913743 +vn -0.419458 -0.109502 0.901146 +vn -0.055428 -0.119788 0.991251 +vn -0.754410 -0.043281 0.654975 +vn -0.419458 -0.109502 0.901146 +vn -0.391278 -0.109428 0.913743 +vn -0.734167 -0.043589 0.677569 +vn -0.754410 -0.043281 0.654975 +vn -0.391278 -0.109428 0.913743 +vn -0.943044 -0.013006 0.332415 +vn -0.754410 -0.043281 0.654975 +vn -0.734167 -0.043589 0.677569 +vn -0.934314 -0.018580 0.355968 +vn -0.943044 -0.013006 0.332415 +vn -0.734167 -0.043589 0.677569 +vn -0.998840 -0.046952 0.010666 +vn -0.943044 -0.013006 0.332415 +vn -0.934314 -0.018580 0.355968 +vn -0.998877 -0.047385 0.000513 +vn -0.998840 -0.046952 0.010666 +vn -0.934314 -0.018580 0.355968 +vn -0.973289 -0.014320 -0.229136 +vn -0.998840 -0.046952 0.010666 +vn -0.998877 -0.047385 0.000513 +vn -0.970182 -0.009312 -0.242200 +vn -0.973289 -0.014320 -0.229136 +vn -0.998877 -0.047385 0.000513 +vn -0.935430 -0.004557 -0.353482 +vn -0.973289 -0.014320 -0.229136 +vn -0.970182 -0.009312 -0.242200 +vn -0.676702 0.662986 -0.320194 +vn -0.317744 0.771406 -0.551337 +vn -0.836864 0.408351 -0.364567 +vn -0.000760 0.963125 -0.269054 +vn -0.317744 0.771406 -0.551337 +vn -0.676702 0.662986 -0.320194 +vn -0.454989 0.867379 -0.201591 +vn -0.000760 0.963125 -0.269054 +vn -0.676702 0.662986 -0.320194 +vn -0.095781 0.990821 -0.095388 +vn -0.000760 0.963125 -0.269054 +vn -0.454989 0.867379 -0.201591 +vn -0.306246 0.951947 0.003335 +vn -0.095781 0.990821 -0.095388 +vn -0.454989 0.867379 -0.201591 +vn 0.011504 0.993114 -0.116589 +vn -0.095781 0.990821 -0.095388 +vn -0.306246 0.951947 0.003335 +vn 0.012741 0.999305 0.035019 +vn 0.011504 0.993114 -0.116589 +vn -0.306246 0.951947 0.003335 +vn 0.088208 0.991259 -0.098104 +vn 0.011504 0.993114 -0.116589 +vn 0.012741 0.999305 0.035019 +vn 0.325995 0.944912 0.029454 +vn 0.088208 0.991259 -0.098104 +vn 0.012741 0.999305 0.035019 +vn 0.537525 0.818129 -0.204284 +vn 0.088208 0.991259 -0.098104 +vn 0.325995 0.944912 0.029454 +vn 0.686518 0.724022 -0.066973 +vn 0.537525 0.818129 -0.204284 +vn 0.325995 0.944912 0.029454 +vn 0.941540 0.294016 -0.164493 +vn 0.537525 0.818129 -0.204284 +vn 0.686518 0.724022 -0.066973 +vn 0.860797 0.446682 -0.243935 +vn 0.941540 0.294016 -0.164493 +vn 0.686518 0.724022 -0.066973 +vn 0.965245 0.093047 -0.244224 +vn 0.941540 0.294016 -0.164493 +vn 0.860797 0.446682 -0.243935 +vn 0.973741 0.190117 0.125235 +vn 0.965245 0.093047 -0.244224 +vn 0.860797 0.446682 -0.243935 +vn 0.958856 -0.278348 0.055831 +vn 0.965245 0.093047 -0.244224 +vn 0.973741 0.190117 0.125235 +vn 0.897843 -0.130278 0.420603 +vn 0.958856 -0.278348 0.055831 +vn 0.973741 0.190117 0.125235 +vn 0.976236 -0.154089 -0.152383 +vn 0.931809 -0.310741 -0.187544 +vn 0.886525 -0.445562 -0.124690 +vn 0.968884 0.161329 -0.187713 +vn 0.931809 -0.310741 -0.187544 +vn 0.976236 -0.154089 -0.152383 +vn 0.945415 0.160273 -0.283732 +vn 0.968884 0.161329 -0.187713 +vn 0.976236 -0.154089 -0.152383 +vn 0.878658 0.359021 -0.314745 +vn 0.968884 0.161329 -0.187713 +vn 0.945415 0.160273 -0.283732 +vn 0.548910 0.376334 -0.746372 +vn 0.878658 0.359021 -0.314745 +vn 0.945415 0.160273 -0.283732 +vn 0.328592 0.774560 -0.540448 +vn 0.878658 0.359021 -0.314745 +vn 0.548910 0.376334 -0.746372 +vn -0.012633 0.383280 -0.923546 +vn 0.328592 0.774560 -0.540448 +vn 0.548910 0.376334 -0.746372 +vn -0.317744 0.771406 -0.551337 +vn 0.328592 0.774560 -0.540448 +vn -0.012633 0.383280 -0.923546 +vn -0.617137 0.337181 -0.710951 +vn -0.317744 0.771406 -0.551337 +vn -0.012633 0.383280 -0.923546 +vn -0.836864 0.408351 -0.364567 +vn -0.317744 0.771406 -0.551337 +vn -0.617137 0.337181 -0.710951 +vn -0.585801 0.103047 -0.803877 +vn -0.836864 0.408351 -0.364567 +vn -0.617137 0.337181 -0.710951 +vn -0.907994 0.195299 -0.370683 +vn -0.836864 0.408351 -0.364567 +vn -0.585801 0.103047 -0.803877 +vn -0.722223 -0.164994 -0.671693 +vn -0.907994 0.195299 -0.370683 +vn -0.585801 0.103047 -0.803877 +vn -0.930474 -0.236926 -0.279434 +vn -0.907994 0.195299 -0.370683 +vn -0.722223 -0.164994 -0.671693 +vn -0.571627 -0.633305 -0.521698 +vn -0.930474 -0.236926 -0.279434 +vn -0.722223 -0.164994 -0.671693 +vn -0.722223 -0.164994 -0.671693 +vn -0.354659 -0.555373 -0.752182 +vn -0.571627 -0.633305 -0.521698 +vn -0.395353 -0.322372 -0.860100 +vn -0.354659 -0.555373 -0.752182 +vn -0.722223 -0.164994 -0.671693 +vn -0.585801 0.103047 -0.803877 +vn -0.395353 -0.322372 -0.860100 +vn -0.722223 -0.164994 -0.671693 +vn -0.021528 -0.313035 -0.949498 +vn -0.395353 -0.322372 -0.860100 +vn -0.585801 0.103047 -0.803877 +vn -0.017835 0.037704 -0.999130 +vn -0.021528 -0.313035 -0.949498 +vn -0.585801 0.103047 -0.803877 +vn 0.333406 -0.320890 -0.886493 +vn -0.021528 -0.313035 -0.949498 +vn -0.017835 0.037704 -0.999130 +vn 0.524814 0.119459 -0.842793 +vn 0.333406 -0.320890 -0.886493 +vn -0.017835 0.037704 -0.999130 +vn 0.779762 -0.144814 -0.609098 +vn 0.333406 -0.320890 -0.886493 +vn 0.524814 0.119459 -0.842793 +vn 0.945415 0.160273 -0.283732 +vn 0.779762 -0.144814 -0.609098 +vn 0.524814 0.119459 -0.842793 +vn 0.950622 -0.280677 -0.132431 +vn 0.779762 -0.144814 -0.609098 +vn 0.945415 0.160273 -0.283732 +vn 0.976236 -0.154089 -0.152383 +vn 0.950622 -0.280677 -0.132431 +vn 0.945415 0.160273 -0.283732 +vn 0.886525 -0.445562 -0.124690 +vn 0.950622 -0.280677 -0.132431 +vn 0.976236 -0.154089 -0.152383 +vn 0.790028 0.031381 -0.612267 +vn 0.796434 0.047354 -0.602869 +vn 0.984788 0.048899 -0.166739 +vn 0.377015 0.021346 -0.925961 +vn 0.796434 0.047354 -0.602869 +vn 0.790028 0.031381 -0.612267 +vn 0.377302 0.017864 -0.925918 +vn 0.377015 0.021346 -0.925961 +vn 0.790028 0.031381 -0.612267 +vn -0.007699 0.026672 -0.999615 +vn 0.377015 0.021346 -0.925961 +vn 0.377302 0.017864 -0.925918 +vn -0.009327 0.026259 -0.999612 +vn -0.007699 0.026672 -0.999615 +vn 0.377302 0.017864 -0.925918 +vn -0.474084 0.014669 -0.880357 +vn -0.007699 0.026672 -0.999615 +vn -0.009327 0.026259 -0.999612 +vn -0.478721 0.012918 -0.877872 +vn -0.474084 0.014669 -0.880357 +vn -0.009327 0.026259 -0.999612 +vn -0.745444 0.004051 -0.666555 +vn -0.474084 0.014669 -0.880357 +vn -0.478721 0.012918 -0.877872 +vn -0.741538 0.004179 -0.670898 +vn -0.745444 0.004051 -0.666555 +vn -0.478721 0.012918 -0.877872 +vn -0.963319 -0.015955 -0.267884 +vn -0.745444 0.004051 -0.666555 +vn -0.741538 0.004179 -0.670898 +vn -0.961927 -0.042403 -0.269998 +vn -0.963319 -0.015955 -0.267884 +vn -0.741538 0.004179 -0.670898 +vn -0.600845 0.794603 -0.087128 +vn -0.454989 0.867379 -0.201591 +vn -0.676702 0.662986 -0.320194 +vn -0.306246 0.951947 0.003335 +vn -0.454989 0.867379 -0.201591 +vn -0.600845 0.794603 -0.087128 +vn -0.526433 0.846284 0.081684 +vn -0.306246 0.951947 0.003335 +vn -0.600845 0.794603 -0.087128 +vn -0.215318 0.964222 0.154642 +vn -0.306246 0.951947 0.003335 +vn -0.526433 0.846284 0.081684 +vn -0.613499 0.679029 0.403162 +vn -0.215318 0.964222 0.154642 +vn -0.526433 0.846284 0.081684 +vn -0.232848 0.817891 0.526152 +vn -0.215318 0.964222 0.154642 +vn -0.613499 0.679029 0.403162 +vn -0.340050 0.425351 0.838715 +vn -0.232848 0.817891 0.526152 +vn -0.613499 0.679029 0.403162 +vn -0.008471 0.419405 0.907760 +vn -0.232848 0.817891 0.526152 +vn -0.340050 0.425351 0.838715 +vn -0.399718 -0.130354 0.907322 +vn -0.008471 0.419405 0.907760 +vn -0.340050 0.425351 0.838715 +vn -0.046624 -0.145814 0.988213 +vn -0.008471 0.419405 0.907760 +vn -0.399718 -0.130354 0.907322 +vn 0.000866 -0.989166 -0.146798 +vn 0.012962 -0.941457 -0.336884 +vn -0.006463 -0.954965 -0.296647 +vn 0.008595 -0.986400 -0.164139 +vn 0.012962 -0.941457 -0.336884 +vn 0.000866 -0.989166 -0.146798 +vn 0.000468 -0.999959 -0.009001 +vn 0.008595 -0.986400 -0.164139 +vn 0.000866 -0.989166 -0.146798 +vn 0.000528 -0.999946 -0.010418 +vn 0.008595 -0.986400 -0.164139 +vn 0.000468 -0.999959 -0.009001 +vn -0.001117 -0.999891 0.014749 +vn 0.000528 -0.999946 -0.010418 +vn 0.000468 -0.999959 -0.009001 +vn -0.001162 -0.999911 0.013321 +vn 0.000528 -0.999946 -0.010418 +vn -0.001117 -0.999891 0.014749 +vn -0.005004 -0.998027 0.062590 +vn -0.001162 -0.999911 0.013321 +vn -0.001117 -0.999891 0.014749 +vn -0.005833 -0.997840 0.065435 +vn -0.001162 -0.999911 0.013321 +vn -0.005004 -0.998027 0.062590 +vn -0.010826 -0.992792 0.119360 +vn -0.005833 -0.997840 0.065435 +vn -0.005004 -0.998027 0.062590 +vn 0.794372 -0.596693 -0.113708 +vn 0.950622 -0.280677 -0.132431 +vn 0.886525 -0.445562 -0.124690 +vn 0.779762 -0.144814 -0.609098 +vn 0.950622 -0.280677 -0.132431 +vn 0.794372 -0.596693 -0.113708 +vn 0.600233 -0.631117 -0.491337 +vn 0.779762 -0.144814 -0.609098 +vn 0.794372 -0.596693 -0.113708 +vn 0.333406 -0.320890 -0.886493 +vn 0.779762 -0.144814 -0.609098 +vn 0.600233 -0.631117 -0.491337 +vn 0.284804 -0.563770 -0.775274 +vn 0.333406 -0.320890 -0.886493 +vn 0.600233 -0.631117 -0.491337 +vn -0.021528 -0.313035 -0.949498 +vn 0.333406 -0.320890 -0.886493 +vn 0.284804 -0.563770 -0.775274 +vn -0.030391 -0.547620 -0.836175 +vn -0.021528 -0.313035 -0.949498 +vn 0.284804 -0.563770 -0.775274 +vn -0.395353 -0.322372 -0.860100 +vn -0.021528 -0.313035 -0.949498 +vn -0.030391 -0.547620 -0.836175 +vn -0.354659 -0.555373 -0.752182 +vn -0.395353 -0.322372 -0.860100 +vn -0.030391 -0.547620 -0.836175 +vn 0.305047 -0.129937 0.943431 +vn -0.008471 0.419405 0.907760 +vn -0.046624 -0.145814 0.988213 +vn 0.352425 0.401196 0.845481 +vn -0.008471 0.419405 0.907760 +vn 0.305047 -0.129937 0.943431 +vn 0.769018 0.301100 0.563871 +vn 0.352425 0.401196 0.845481 +vn 0.305047 -0.129937 0.943431 +vn 0.266384 0.817156 0.511171 +vn 0.352425 0.401196 0.845481 +vn 0.769018 0.301100 0.563871 +vn 0.636541 0.677324 0.368847 +vn 0.266384 0.817156 0.511171 +vn 0.769018 0.301100 0.563871 +vn 0.224876 0.959995 0.166852 +vn 0.266384 0.817156 0.511171 +vn 0.636541 0.677324 0.368847 +vn 0.550972 0.832506 0.057999 +vn 0.224876 0.959995 0.166852 +vn 0.636541 0.677324 0.368847 +vn 0.325995 0.944912 0.029454 +vn 0.224876 0.959995 0.166852 +vn 0.550972 0.832506 0.057999 +vn 0.686518 0.724022 -0.066973 +vn 0.325995 0.944912 0.029454 +vn 0.550972 0.832506 0.057999 +vn 0.000187 -0.999692 0.024812 +vn 0.000295 -0.999484 0.032107 +vn 0.000219 -0.999478 0.032293 +vn 0.000250 -0.999691 0.024874 +vn 0.000295 -0.999484 0.032107 +vn 0.000187 -0.999692 0.024812 +vn 0.000000 -1.000000 0.000000 +vn 0.000250 -0.999691 0.024874 +vn 0.000187 -0.999692 0.024812 +vn 0.000000 -1.000000 0.000000 +vn 0.000250 -0.999691 0.024874 +vn 0.000000 -1.000000 0.000000 +vn -0.000052 -0.999985 -0.005482 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -0.000050 -0.999987 -0.005188 +vn 0.000000 -1.000000 0.000000 +vn -0.000052 -0.999985 -0.005482 +vn -0.849471 0.490696 -0.193950 +vn -0.600845 0.794603 -0.087128 +vn -0.676702 0.662986 -0.320194 +vn -0.823259 0.556360 0.112730 +vn -0.600845 0.794603 -0.087128 +vn -0.849471 0.490696 -0.193950 +vn -0.942351 0.261892 -0.208297 +vn -0.823259 0.556360 0.112730 +vn -0.849471 0.490696 -0.193950 +vn -0.936327 0.303173 0.177139 +vn -0.823259 0.556360 0.112730 +vn -0.942351 0.261892 -0.208297 +vn -0.965985 -0.116811 -0.230711 +vn -0.936327 0.303173 0.177139 +vn -0.942351 0.261892 -0.208297 +vn -0.981950 -0.185338 0.037749 +vn -0.936327 0.303173 0.177139 +vn -0.965985 -0.116811 -0.230711 +vn 0.524814 0.119459 -0.842793 +vn 0.548910 0.376334 -0.746372 +vn 0.945415 0.160273 -0.283732 +vn -0.012633 0.383280 -0.923546 +vn 0.548910 0.376334 -0.746372 +vn 0.524814 0.119459 -0.842793 +vn -0.017835 0.037704 -0.999130 +vn -0.012633 0.383280 -0.923546 +vn 0.524814 0.119459 -0.842793 +vn -0.617137 0.337181 -0.710951 +vn -0.012633 0.383280 -0.923546 +vn -0.017835 0.037704 -0.999130 +vn -0.585801 0.103047 -0.803877 +vn -0.617137 0.337181 -0.710951 +vn -0.017835 0.037704 -0.999130 +vn -0.823259 0.556360 0.112730 +vn -0.526433 0.846284 0.081684 +vn -0.600845 0.794603 -0.087128 +vn -0.613499 0.679029 0.403162 +vn -0.526433 0.846284 0.081684 +vn -0.823259 0.556360 0.112730 +vn -0.737163 0.353649 0.575781 +vn -0.613499 0.679029 0.403162 +vn -0.823259 0.556360 0.112730 +vn -0.340050 0.425351 0.838715 +vn -0.613499 0.679029 0.403162 +vn -0.737163 0.353649 0.575781 +vn -0.399718 -0.130354 0.907322 +vn -0.340050 0.425351 0.838715 +vn -0.737163 0.353649 0.575781 +vn -0.000760 0.963125 -0.269054 +vn 0.328592 0.774560 -0.540448 +vn -0.317744 0.771406 -0.551337 +vn 0.621527 0.711197 -0.328485 +vn 0.328592 0.774560 -0.540448 +vn -0.000760 0.963125 -0.269054 +vn 0.537525 0.818129 -0.204284 +vn 0.621527 0.711197 -0.328485 +vn -0.000760 0.963125 -0.269054 +vn 0.941540 0.294016 -0.164493 +vn 0.621527 0.711197 -0.328485 +vn 0.537525 0.818129 -0.204284 +vn 0.973741 0.190117 0.125235 +vn 0.769018 0.301100 0.563871 +vn 0.897843 -0.130278 0.420603 +vn 0.829370 0.551692 0.088213 +vn 0.769018 0.301100 0.563871 +vn 0.973741 0.190117 0.125235 +vn 0.860797 0.446682 -0.243935 +vn 0.829370 0.551692 0.088213 +vn 0.973741 0.190117 0.125235 +vn 0.686518 0.724022 -0.066973 +vn 0.829370 0.551692 0.088213 +vn 0.860797 0.446682 -0.243935 +vn -0.215318 0.964222 0.154642 +vn 0.010713 0.978315 0.206847 +vn -0.306246 0.951947 0.003335 +vn 0.012337 0.842837 0.538027 +vn 0.010713 0.978315 0.206847 +vn -0.215318 0.964222 0.154642 +vn -0.232848 0.817891 0.526152 +vn 0.012337 0.842837 0.538027 +vn -0.215318 0.964222 0.154642 +vn -0.008471 0.419405 0.907760 +vn 0.012337 0.842837 0.538027 +vn -0.232848 0.817891 0.526152 +vn 0.984788 0.048899 -0.166739 +vn 0.998371 -0.052322 -0.022770 +vn 0.995806 -0.091174 -0.007587 +vn 0.983050 0.081352 -0.164301 +vn 0.998371 -0.052322 -0.022770 +vn 0.984788 0.048899 -0.166739 +vn 0.796434 0.047354 -0.602869 +vn 0.983050 0.081352 -0.164301 +vn 0.984788 0.048899 -0.166739 +vn -0.000760 0.963125 -0.269054 +vn 0.088208 0.991259 -0.098104 +vn 0.537525 0.818129 -0.204284 +vn 0.011504 0.993114 -0.116589 +vn 0.088208 0.991259 -0.098104 +vn -0.000760 0.963125 -0.269054 +vn -0.095781 0.990821 -0.095388 +vn 0.011504 0.993114 -0.116589 +vn -0.000760 0.963125 -0.269054 +vn -0.936327 0.303173 0.177139 +vn -0.737163 0.353649 0.575781 +vn -0.823259 0.556360 0.112730 +vn -0.913002 -0.033259 0.406598 +vn -0.737163 0.353649 0.575781 +vn -0.936327 0.303173 0.177139 +vn -0.981950 -0.185338 0.037749 +vn -0.913002 -0.033259 0.406598 +vn -0.936327 0.303173 0.177139 +vn -0.942351 0.261892 -0.208297 +vn -0.930474 -0.236926 -0.279434 +vn -0.965985 -0.116811 -0.230711 +vn -0.907994 0.195299 -0.370683 +vn -0.930474 -0.236926 -0.279434 +vn -0.942351 0.261892 -0.208297 +vn -0.849471 0.490696 -0.193950 +vn -0.907994 0.195299 -0.370683 +vn -0.942351 0.261892 -0.208297 +vn 0.010713 0.978315 0.206847 +vn 0.012741 0.999305 0.035019 +vn -0.306246 0.951947 0.003335 +vn 0.325995 0.944912 0.029454 +vn 0.012741 0.999305 0.035019 +vn 0.010713 0.978315 0.206847 +vn 0.224876 0.959995 0.166852 +vn 0.325995 0.944912 0.029454 +vn 0.010713 0.978315 0.206847 +vn 0.007356 -0.078704 0.996871 +vn 0.006822 -0.075093 0.997153 +vn 0.007407 -0.079048 0.996843 +vn 0.006750 -0.074609 0.997190 +vn 0.006822 -0.075093 0.997153 +vn 0.007356 -0.078704 0.996871 +vn 0.550972 0.832506 0.057999 +vn 0.829370 0.551692 0.088213 +vn 0.686518 0.724022 -0.066973 +vn 0.636541 0.677324 0.368847 +vn 0.829370 0.551692 0.088213 +vn 0.550972 0.832506 0.057999 +vn 0.621527 0.711197 -0.328485 +vn 0.878658 0.359021 -0.314745 +vn 0.328592 0.774560 -0.540448 +vn 0.941540 0.294016 -0.164493 +vn 0.878658 0.359021 -0.314745 +vn 0.621527 0.711197 -0.328485 +vn -0.836864 0.408351 -0.364567 +vn -0.849471 0.490696 -0.193950 +vn -0.676702 0.662986 -0.320194 +vn -0.907994 0.195299 -0.370683 +vn -0.849471 0.490696 -0.193950 +vn -0.836864 0.408351 -0.364567 +vn 0.941540 0.294016 -0.164493 +vn 0.968884 0.161329 -0.187713 +vn 0.878658 0.359021 -0.314745 +vn 0.965245 0.093047 -0.244224 +vn 0.968884 0.161329 -0.187713 +vn 0.941540 0.294016 -0.164493 +vn 0.965245 0.093047 -0.244224 +vn 0.931809 -0.310741 -0.187544 +vn 0.968884 0.161329 -0.187713 +vn 0.958856 -0.278348 0.055831 +vn 0.931809 -0.310741 -0.187544 +vn 0.965245 0.093047 -0.244224 +vn -0.737163 0.353649 0.575781 +vn -0.736405 -0.158984 0.657595 +vn -0.399718 -0.130354 0.907322 +vn -0.913002 -0.033259 0.406598 +vn -0.736405 -0.158984 0.657595 +vn -0.737163 0.353649 0.575781 +vn -0.984554 -0.156568 -0.078354 +vn -0.961927 -0.042403 -0.269998 +vn -0.978269 -0.198231 -0.060776 +vn -0.963319 -0.015955 -0.267884 +vn -0.961927 -0.042403 -0.269998 +vn -0.984554 -0.156568 -0.078354 +vn -0.006306 -0.994591 0.103679 +vn -0.010826 -0.992792 0.119360 +vn 0.000000 -1.000000 0.000000 +vn -0.005833 -0.997840 0.065435 +vn -0.010826 -0.992792 0.119360 +vn -0.006306 -0.994591 0.103679 +vn 0.619616 -0.211315 0.755925 +vn 0.769018 0.301100 0.563871 +vn 0.305047 -0.129937 0.943431 +vn 0.897843 -0.130278 0.420603 +vn 0.769018 0.301100 0.563871 +vn 0.619616 -0.211315 0.755925 +vn 0.010713 0.978315 0.206847 +vn 0.266384 0.817156 0.511171 +vn 0.224876 0.959995 0.166852 +vn 0.012337 0.842837 0.538027 +vn 0.266384 0.817156 0.511171 +vn 0.010713 0.978315 0.206847 +vn 0.012337 0.842837 0.538027 +vn 0.352425 0.401196 0.845481 +vn 0.266384 0.817156 0.511171 +vn -0.008471 0.419405 0.907760 +vn 0.352425 0.401196 0.845481 +vn 0.012337 0.842837 0.538027 +vn -0.000052 -0.999985 -0.005482 +vn -0.002102 -0.975598 -0.219555 +vn -0.000050 -0.999987 -0.005188 +vn 0.829370 0.551692 0.088213 +vn 0.636541 0.677324 0.368847 +vn 0.769018 0.301100 0.563871 +vn -0.352349 -0.898504 0.261801 +vn 0.667650 -0.557052 0.493899 +vn -0.439515 -0.891389 0.110691 +vn 0.825477 -0.507658 0.246720 +vn 0.667650 -0.557052 0.493899 +vn -0.352349 -0.898504 0.261801 +vn 0.806384 -0.591195 -0.015314 +vn 0.825477 -0.507658 0.246720 +vn -0.352349 -0.898504 0.261801 +vn 0.972631 -0.134456 -0.189500 +vn 0.825477 -0.507658 0.246720 +vn 0.806384 -0.591195 -0.015314 +vn 0.837985 -0.320611 -0.441577 +vn 0.972631 -0.134456 -0.189500 +vn 0.806384 -0.591195 -0.015314 +vn 0.841850 0.015679 -0.539483 +vn 0.972631 -0.134456 -0.189500 +vn 0.837985 -0.320611 -0.441577 +vn 0.694847 -0.382081 -0.609263 +vn 0.841850 0.015679 -0.539483 +vn 0.837985 -0.320611 -0.441577 +vn 0.724935 -0.181379 -0.664508 +vn 0.841850 0.015679 -0.539483 +vn 0.694847 -0.382081 -0.609263 +vn 0.456685 -0.350954 -0.817478 +vn 0.724935 -0.181379 -0.664508 +vn 0.694847 -0.382081 -0.609263 +vn 0.469841 -0.124697 -0.873899 +vn 0.724935 -0.181379 -0.664508 +vn 0.456685 -0.350954 -0.817478 +vn 0.177163 -0.269704 -0.946506 +vn 0.469841 -0.124697 -0.873899 +vn 0.456685 -0.350954 -0.817478 +vn 0.181863 -0.000412 -0.983324 +vn 0.469841 -0.124697 -0.873899 +vn 0.177163 -0.269704 -0.946506 +vn 0.000000 -0.294736 -0.955579 +vn 0.181863 -0.000412 -0.983324 +vn 0.177163 -0.269704 -0.946506 +vn 0.000000 -0.032993 -0.999456 +vn 0.181863 -0.000412 -0.983324 +vn 0.000000 -0.294736 -0.955579 +vn -0.181863 -0.000410 -0.983324 +vn 0.000000 -0.032993 -0.999456 +vn 0.000000 -0.294736 -0.955579 +vn -0.164619 0.338856 -0.926325 +vn 0.000000 -0.032993 -0.999456 +vn -0.181863 -0.000410 -0.983324 +vn -0.458313 0.145151 -0.876858 +vn -0.164619 0.338856 -0.926325 +vn -0.181863 -0.000410 -0.983324 +vn -0.400266 0.431409 -0.808501 +vn -0.164619 0.338856 -0.926325 +vn -0.458313 0.145151 -0.876858 +vn -0.656901 0.369278 -0.657355 +vn -0.400266 0.431409 -0.808501 +vn -0.458313 0.145151 -0.876858 +vn -0.540789 0.647716 -0.536667 +vn -0.400266 0.431409 -0.808501 +vn -0.656901 0.369278 -0.657355 +vn -0.503568 0.646710 -0.572874 +vn -0.540789 0.647716 -0.536667 +vn -0.656901 0.369278 -0.657355 +vn -0.411954 0.731195 -0.543735 +vn -0.540789 0.647716 -0.536667 +vn -0.503568 0.646710 -0.572874 +vn -0.542184 0.585218 -0.602956 +vn -0.411954 0.731195 -0.543735 +vn -0.503568 0.646710 -0.572874 +vn -0.382931 0.634444 -0.671450 +vn -0.411954 0.731195 -0.543735 +vn -0.542184 0.585218 -0.602956 +vn -0.590344 0.661374 -0.462686 +vn -0.382931 0.634444 -0.671450 +vn -0.542184 0.585218 -0.602956 +vn -0.406281 0.707284 -0.578520 +vn -0.382931 0.634444 -0.671450 +vn -0.590344 0.661374 -0.462686 +vn -0.587957 0.734556 -0.338724 +vn -0.406281 0.707284 -0.578520 +vn -0.590344 0.661374 -0.462686 +vn -0.374859 0.770600 -0.515419 +vn -0.406281 0.707284 -0.578520 +vn -0.587957 0.734556 -0.338724 +vn -0.541199 0.807022 -0.236261 +vn -0.374859 0.770600 -0.515419 +vn -0.587957 0.734556 -0.338724 +vn -0.327725 0.831196 -0.449121 +vn -0.374859 0.770600 -0.515419 +vn -0.541199 0.807022 -0.236261 +vn -0.390484 0.906134 -0.162612 +vn -0.327725 0.831196 -0.449121 +vn -0.541199 0.807022 -0.236261 +vn -0.214789 0.880787 -0.421995 +vn -0.327725 0.831196 -0.449121 +vn -0.390484 0.906134 -0.162612 +vn -0.211573 0.971024 -0.111124 +vn -0.214789 0.880787 -0.421995 +vn -0.390484 0.906134 -0.162612 +vn -0.125886 0.913087 -0.387847 +vn -0.214789 0.880787 -0.421995 +vn -0.211573 0.971024 -0.111124 +vn 0.000000 0.996397 -0.084814 +vn -0.125886 0.913087 -0.387847 +vn -0.211573 0.971024 -0.111124 +vn 0.000000 0.923026 -0.384739 +vn -0.125886 0.913087 -0.387847 +vn 0.000000 0.996397 -0.084814 +vn 0.125886 0.913087 -0.387848 +vn 0.000000 0.923026 -0.384739 +vn 0.000000 0.996397 -0.084814 +vn 0.079452 0.841562 -0.534285 +vn 0.000000 0.923026 -0.384739 +vn 0.125886 0.913087 -0.387848 +vn 0.214789 0.880787 -0.421995 +vn 0.079452 0.841562 -0.534285 +vn 0.125886 0.913087 -0.387848 +vn 0.160647 0.803314 -0.573480 +vn 0.079452 0.841562 -0.534285 +vn 0.214789 0.880787 -0.421995 +vn 0.327725 0.831196 -0.449121 +vn 0.160647 0.803314 -0.573480 +vn 0.214789 0.880787 -0.421995 +vn 0.374854 0.770603 -0.515417 +vn 0.160647 0.803314 -0.573480 +vn 0.327725 0.831196 -0.449121 +vn 0.541199 0.807022 -0.236260 +vn 0.374854 0.770603 -0.515417 +vn 0.327725 0.831196 -0.449121 +vn 0.587957 0.734557 -0.338723 +vn 0.374854 0.770603 -0.515417 +vn 0.541199 0.807022 -0.236260 +vn 0.697374 0.716377 0.021778 +vn 0.587957 0.734557 -0.338723 +vn 0.541199 0.807022 -0.236260 +vn 0.748228 0.649586 -0.134883 +vn 0.587957 0.734557 -0.338723 +vn 0.697374 0.716377 0.021778 +vn 0.781546 0.563994 0.266640 +vn 0.748228 0.649586 -0.134883 +vn 0.697374 0.716377 0.021778 +vn 0.873366 0.479962 0.082873 +vn 0.748228 0.649586 -0.134883 +vn 0.781546 0.563994 0.266640 +vn 0.821105 0.331869 0.464381 +vn 0.873366 0.479962 0.082873 +vn 0.781546 0.563994 0.266640 +vn 0.924300 0.286049 0.252677 +vn 0.873366 0.479962 0.082873 +vn 0.821105 0.331869 0.464381 +vn 0.778106 0.055817 0.625648 +vn 0.924300 0.286049 0.252677 +vn 0.821105 0.331869 0.464381 +vn 0.917927 0.033195 0.395359 +vn 0.924300 0.286049 0.252677 +vn 0.778106 0.055817 0.625648 +vn 0.680677 -0.258899 0.685311 +vn 0.917927 0.033195 0.395359 +vn 0.778106 0.055817 0.625648 +vn 0.818036 -0.356537 0.451330 +vn 0.917927 0.033195 0.395359 +vn 0.680677 -0.258899 0.685311 +vn 0.573294 -0.501167 0.648202 +vn 0.818036 -0.356537 0.451330 +vn 0.680677 -0.258899 0.685311 +vn 0.667650 -0.557052 0.493899 +vn 0.818036 -0.356537 0.451330 +vn 0.573294 -0.501167 0.648202 +vn 0.825477 -0.507658 0.246720 +vn 0.818036 -0.356537 0.451330 +vn 0.667650 -0.557052 0.493899 +vn 0.992932 -0.040047 0.111723 +vn 0.818036 -0.356537 0.451330 +vn 0.825477 -0.507658 0.246720 +vn 0.972631 -0.134456 -0.189500 +vn 0.992932 -0.040047 0.111723 +vn 0.825477 -0.507658 0.246720 +vn 0.934191 0.186187 -0.304337 +vn 0.992932 -0.040047 0.111723 +vn 0.972631 -0.134456 -0.189500 +vn 0.841850 0.015679 -0.539483 +vn 0.934191 0.186187 -0.304337 +vn 0.972631 -0.134456 -0.189500 +vn 0.766605 0.273747 -0.580844 +vn 0.934191 0.186187 -0.304337 +vn 0.841850 0.015679 -0.539483 +vn 0.724935 -0.181379 -0.664508 +vn 0.766605 0.273747 -0.580844 +vn 0.841850 0.015679 -0.539483 +vn 0.704939 0.102228 -0.701862 +vn 0.766605 0.273747 -0.580844 +vn 0.724935 -0.181379 -0.664508 +vn 0.469841 -0.124697 -0.873899 +vn 0.704939 0.102228 -0.701862 +vn 0.724935 -0.181379 -0.664508 +vn 0.458315 0.145155 -0.876856 +vn 0.704939 0.102228 -0.701862 +vn 0.469841 -0.124697 -0.873899 +vn 0.181863 -0.000412 -0.983324 +vn 0.458315 0.145155 -0.876856 +vn 0.469841 -0.124697 -0.873899 +vn 0.164619 0.338855 -0.926325 +vn 0.458315 0.145155 -0.876856 +vn 0.181863 -0.000412 -0.983324 +vn 0.000000 -0.032993 -0.999456 +vn 0.164619 0.338855 -0.926325 +vn 0.181863 -0.000412 -0.983324 +vn -0.000001 0.315858 -0.948807 +vn 0.164619 0.338855 -0.926325 +vn 0.000000 -0.032993 -0.999456 +vn -0.164619 0.338856 -0.926325 +vn -0.000001 0.315858 -0.948807 +vn 0.000000 -0.032993 -0.999456 +vn -0.122857 0.626186 -0.769933 +vn -0.000001 0.315858 -0.948807 +vn -0.164619 0.338856 -0.926325 +vn -0.400266 0.431409 -0.808501 +vn -0.122857 0.626186 -0.769933 +vn -0.164619 0.338856 -0.926325 +vn -0.307529 0.711097 -0.632271 +vn -0.122857 0.626186 -0.769933 +vn -0.400266 0.431409 -0.808501 +vn -0.540789 0.647716 -0.536667 +vn -0.307529 0.711097 -0.632271 +vn -0.400266 0.431409 -0.808501 +vn -0.371939 0.860571 -0.347964 +vn -0.307529 0.711097 -0.632271 +vn -0.540789 0.647716 -0.536667 +vn -0.411954 0.731195 -0.543735 +vn -0.371939 0.860571 -0.347964 +vn -0.540789 0.647716 -0.536667 +vn -0.253005 0.812671 -0.524932 +vn -0.371939 0.860571 -0.347964 +vn -0.411954 0.731195 -0.543735 +vn -0.382931 0.634444 -0.671450 +vn -0.253005 0.812671 -0.524932 +vn -0.411954 0.731195 -0.543735 +vn -0.217821 0.736551 -0.640348 +vn -0.253005 0.812671 -0.524932 +vn -0.382931 0.634444 -0.671450 +vn -0.406281 0.707284 -0.578520 +vn -0.217821 0.736551 -0.640348 +vn -0.382931 0.634444 -0.671450 +vn -0.374859 0.770600 -0.515419 +vn -0.217821 0.736551 -0.640348 +vn -0.406281 0.707284 -0.578520 +vn -0.330720 -0.851491 0.406925 +vn 0.806384 -0.591195 -0.015314 +vn -0.352349 -0.898504 0.261801 +vn 0.694470 -0.686774 -0.214601 +vn 0.806384 -0.591195 -0.015314 +vn -0.330720 -0.851491 0.406925 +vn -0.244711 -0.874565 0.418632 +vn 0.694470 -0.686774 -0.214601 +vn -0.330720 -0.851491 0.406925 +vn 0.612649 -0.626721 -0.481541 +vn 0.694470 -0.686774 -0.214601 +vn -0.244711 -0.874565 0.418632 +vn 0.331915 -0.812110 -0.479906 +vn 0.612649 -0.626721 -0.481541 +vn -0.244711 -0.874565 0.418632 +vn 0.417116 -0.557084 -0.718103 +vn 0.612649 -0.626721 -0.481541 +vn 0.331915 -0.812110 -0.479906 +vn 0.160812 -0.612867 -0.773650 +vn 0.417116 -0.557084 -0.718103 +vn 0.331915 -0.812110 -0.479906 +vn 0.171932 -0.450093 -0.876274 +vn 0.417116 -0.557084 -0.718103 +vn 0.160812 -0.612867 -0.773650 +vn 0.000000 -0.618842 -0.785516 +vn 0.171932 -0.450093 -0.876274 +vn 0.160812 -0.612867 -0.773650 +vn 0.000000 -0.465098 -0.885259 +vn 0.171932 -0.450093 -0.876274 +vn 0.000000 -0.618842 -0.785516 +vn -0.171932 -0.450092 -0.876274 +vn 0.000000 -0.465098 -0.885259 +vn 0.000000 -0.618842 -0.785516 +vn -0.177162 -0.269704 -0.946506 +vn 0.000000 -0.465098 -0.885259 +vn -0.171932 -0.450092 -0.876274 +vn -0.456685 -0.350957 -0.817477 +vn -0.177162 -0.269704 -0.946506 +vn -0.171932 -0.450092 -0.876274 +vn -0.469840 -0.124696 -0.873900 +vn -0.177162 -0.269704 -0.946506 +vn -0.456685 -0.350957 -0.817477 +vn -0.724935 -0.181379 -0.664508 +vn -0.469840 -0.124696 -0.873900 +vn -0.456685 -0.350957 -0.817477 +vn -0.704939 0.102229 -0.701862 +vn -0.469840 -0.124696 -0.873900 +vn -0.724935 -0.181379 -0.664508 +vn -0.766603 0.273752 -0.580844 +vn -0.704939 0.102229 -0.701862 +vn -0.724935 -0.181379 -0.664508 +vn -0.605118 0.529375 -0.594637 +vn -0.704939 0.102229 -0.701862 +vn -0.766603 0.273752 -0.580844 +vn -0.848617 0.352828 -0.394159 +vn -0.605118 0.529375 -0.594637 +vn -0.766603 0.273752 -0.580844 +vn -0.685500 0.516665 -0.512978 +vn -0.605118 0.529375 -0.594637 +vn -0.848617 0.352828 -0.394159 +vn -0.898944 0.411093 -0.151337 +vn -0.685500 0.516665 -0.512978 +vn -0.848617 0.352828 -0.394159 +vn -0.750602 0.576487 -0.322894 +vn -0.685500 0.516665 -0.512978 +vn -0.898944 0.411093 -0.151337 +vn 0.992932 -0.040047 0.111723 +vn 0.917927 0.033195 0.395359 +vn 0.818036 -0.356537 0.451330 +vn 0.966055 0.257410 -0.021863 +vn 0.917927 0.033195 0.395359 +vn 0.992932 -0.040047 0.111723 +vn 0.934191 0.186187 -0.304337 +vn 0.966055 0.257410 -0.021863 +vn 0.992932 -0.040047 0.111723 +vn 0.848616 0.352829 -0.394160 +vn 0.966055 0.257410 -0.021863 +vn 0.934191 0.186187 -0.304337 +vn 0.766605 0.273747 -0.580844 +vn 0.848616 0.352829 -0.394160 +vn 0.934191 0.186187 -0.304337 +vn 0.605118 0.529376 -0.594638 +vn 0.848616 0.352829 -0.394160 +vn 0.766605 0.273747 -0.580844 +vn 0.704939 0.102228 -0.701862 +vn 0.605118 0.529376 -0.594638 +vn 0.766605 0.273747 -0.580844 +vn 0.656900 0.369278 -0.657355 +vn 0.605118 0.529376 -0.594638 +vn 0.704939 0.102228 -0.701862 +vn 0.458315 0.145155 -0.876856 +vn 0.656900 0.369278 -0.657355 +vn 0.704939 0.102228 -0.701862 +vn 0.400266 0.431411 -0.808500 +vn 0.656900 0.369278 -0.657355 +vn 0.458315 0.145155 -0.876856 +vn 0.164619 0.338855 -0.926325 +vn 0.400266 0.431411 -0.808500 +vn 0.458315 0.145155 -0.876856 +vn 0.122857 0.626186 -0.769933 +vn 0.400266 0.431411 -0.808500 +vn 0.164619 0.338855 -0.926325 +vn -0.000001 0.315858 -0.948807 +vn 0.122857 0.626186 -0.769933 +vn 0.164619 0.338855 -0.926325 +vn 0.000000 0.615701 -0.787980 +vn 0.122857 0.626186 -0.769933 +vn -0.000001 0.315858 -0.948807 +vn -0.122857 0.626186 -0.769933 +vn 0.000000 0.615701 -0.787980 +vn -0.000001 0.315858 -0.948807 +vn -0.086243 0.872143 -0.481590 +vn 0.000000 0.615701 -0.787980 +vn -0.122857 0.626186 -0.769933 +vn -0.307529 0.711097 -0.632271 +vn -0.086243 0.872143 -0.481590 +vn -0.122857 0.626186 -0.769933 +vn -0.209835 0.932722 -0.293257 +vn -0.086243 0.872143 -0.481590 +vn -0.307529 0.711097 -0.632271 +vn -0.371939 0.860571 -0.347964 +vn -0.209835 0.932722 -0.293257 +vn -0.307529 0.711097 -0.632271 +vn -0.253005 0.812671 -0.524932 +vn -0.209835 0.932722 -0.293257 +vn -0.371939 0.860571 -0.347964 +vn 0.966055 0.257410 -0.021863 +vn 0.924300 0.286049 0.252677 +vn 0.917927 0.033195 0.395359 +vn 0.898943 0.411094 -0.151336 +vn 0.924300 0.286049 0.252677 +vn 0.966055 0.257410 -0.021863 +vn 0.848616 0.352829 -0.394160 +vn 0.898943 0.411094 -0.151336 +vn 0.966055 0.257410 -0.021863 +vn 0.685494 0.516671 -0.512980 +vn 0.898943 0.411094 -0.151336 +vn 0.848616 0.352829 -0.394160 +vn 0.605118 0.529376 -0.594638 +vn 0.685494 0.516671 -0.512980 +vn 0.848616 0.352829 -0.394160 +vn 0.503567 0.646711 -0.572874 +vn 0.685494 0.516671 -0.512980 +vn 0.605118 0.529376 -0.594638 +vn 0.656900 0.369278 -0.657355 +vn 0.503567 0.646711 -0.572874 +vn 0.605118 0.529376 -0.594638 +vn 0.540789 0.647717 -0.536666 +vn 0.503567 0.646711 -0.572874 +vn 0.656900 0.369278 -0.657355 +vn 0.400266 0.431411 -0.808500 +vn 0.540789 0.647717 -0.536666 +vn 0.656900 0.369278 -0.657355 +vn 0.307530 0.711097 -0.632271 +vn 0.540789 0.647717 -0.536666 +vn 0.400266 0.431411 -0.808500 +vn 0.122857 0.626186 -0.769933 +vn 0.307530 0.711097 -0.632271 +vn 0.400266 0.431411 -0.808500 +vn 0.086243 0.872143 -0.481589 +vn 0.307530 0.711097 -0.632271 +vn 0.122857 0.626186 -0.769933 +vn 0.000000 0.615701 -0.787980 +vn 0.086243 0.872143 -0.481589 +vn 0.122857 0.626186 -0.769933 +vn 0.000000 0.861423 -0.507889 +vn 0.086243 0.872143 -0.481589 +vn 0.000000 0.615701 -0.787980 +vn -0.086243 0.872143 -0.481590 +vn 0.000000 0.861423 -0.507889 +vn 0.000000 0.615701 -0.787980 +vn -0.052244 0.981579 -0.183774 +vn 0.000000 0.861423 -0.507889 +vn -0.086243 0.872143 -0.481590 +vn -0.209835 0.932722 -0.293257 +vn -0.052244 0.981579 -0.183774 +vn -0.086243 0.872143 -0.481590 +vn -0.094039 0.984062 -0.150925 +vn -0.052244 0.981579 -0.183774 +vn -0.209835 0.932722 -0.293257 +vn -0.147892 0.867953 -0.474116 +vn -0.094039 0.984062 -0.150925 +vn -0.209835 0.932722 -0.293257 +vn 0.000000 0.994029 -0.109113 +vn -0.094039 0.984062 -0.150925 +vn -0.147892 0.867953 -0.474116 +vn -0.195915 -0.719698 0.666072 +vn 0.331915 -0.812110 -0.479906 +vn -0.244711 -0.874565 0.418632 +vn 0.132121 -0.726366 -0.674489 +vn 0.331915 -0.812110 -0.479906 +vn -0.195915 -0.719698 0.666072 +vn 0.000000 -0.640395 0.768046 +vn 0.132121 -0.726366 -0.674489 +vn -0.195915 -0.719698 0.666072 +vn 0.000000 -0.745144 -0.666904 +vn 0.132121 -0.726366 -0.674489 +vn 0.000000 -0.640395 0.768046 +vn -0.132120 -0.726367 -0.674489 +vn 0.000000 -0.745144 -0.666904 +vn 0.000000 -0.640395 0.768046 +vn -0.160811 -0.612866 -0.773650 +vn 0.000000 -0.745144 -0.666904 +vn -0.132120 -0.726367 -0.674489 +vn -0.331915 -0.812110 -0.479906 +vn -0.160811 -0.612866 -0.773650 +vn -0.132120 -0.726367 -0.674489 +vn -0.417116 -0.557082 -0.718104 +vn -0.160811 -0.612866 -0.773650 +vn -0.331915 -0.812110 -0.479906 +vn -0.612649 -0.626721 -0.481541 +vn -0.417116 -0.557082 -0.718104 +vn -0.331915 -0.812110 -0.479906 +vn -0.694846 -0.382083 -0.609263 +vn -0.417116 -0.557082 -0.718104 +vn -0.612649 -0.626721 -0.481541 +vn -0.837985 -0.320612 -0.441575 +vn -0.694846 -0.382083 -0.609263 +vn -0.612649 -0.626721 -0.481541 +vn -0.841851 0.015679 -0.539482 +vn -0.694846 -0.382083 -0.609263 +vn -0.837985 -0.320612 -0.441575 +vn -0.972631 -0.134456 -0.189500 +vn -0.841851 0.015679 -0.539482 +vn -0.837985 -0.320612 -0.441575 +vn -0.934191 0.186191 -0.304336 +vn -0.841851 0.015679 -0.539482 +vn -0.972631 -0.134456 -0.189500 +vn -0.992932 -0.040047 0.111723 +vn -0.934191 0.186191 -0.304336 +vn -0.972631 -0.134456 -0.189500 +vn -0.966055 0.257411 -0.021864 +vn -0.934191 0.186191 -0.304336 +vn -0.992932 -0.040047 0.111723 +vn -0.667650 -0.557052 0.493899 +vn 0.352349 -0.898504 0.261801 +vn 0.439515 -0.891389 0.110691 +vn -0.825477 -0.507658 0.246720 +vn 0.352349 -0.898504 0.261801 +vn -0.667650 -0.557052 0.493899 +vn -0.818036 -0.356537 0.451329 +vn -0.825477 -0.507658 0.246720 +vn -0.667650 -0.557052 0.493899 +vn -0.992932 -0.040047 0.111723 +vn -0.825477 -0.507658 0.246720 +vn -0.818036 -0.356537 0.451329 +vn -0.917927 0.033194 0.395359 +vn -0.992932 -0.040047 0.111723 +vn -0.818036 -0.356537 0.451329 +vn -0.966055 0.257411 -0.021864 +vn -0.992932 -0.040047 0.111723 +vn -0.917927 0.033194 0.395359 +vn -0.924300 0.286050 0.252677 +vn -0.966055 0.257411 -0.021864 +vn -0.917927 0.033194 0.395359 +vn -0.898944 0.411093 -0.151337 +vn -0.966055 0.257411 -0.021864 +vn -0.924300 0.286050 0.252677 +vn -0.873367 0.479961 0.082875 +vn -0.898944 0.411093 -0.151337 +vn -0.924300 0.286050 0.252677 +vn -0.750602 0.576487 -0.322894 +vn -0.898944 0.411093 -0.151337 +vn -0.873367 0.479961 0.082875 +vn -0.748228 0.649586 -0.134883 +vn -0.750602 0.576487 -0.322894 +vn -0.873367 0.479961 0.082875 +vn -0.590344 0.661374 -0.462686 +vn -0.750602 0.576487 -0.322894 +vn -0.748228 0.649586 -0.134883 +vn -0.587957 0.734556 -0.338724 +vn -0.590344 0.661374 -0.462686 +vn -0.748228 0.649586 -0.134883 +vn 0.898943 0.411094 -0.151336 +vn 0.873366 0.479962 0.082873 +vn 0.924300 0.286049 0.252677 +vn 0.750601 0.576488 -0.322893 +vn 0.873366 0.479962 0.082873 +vn 0.898943 0.411094 -0.151336 +vn 0.685494 0.516671 -0.512980 +vn 0.750601 0.576488 -0.322893 +vn 0.898943 0.411094 -0.151336 +vn 0.542184 0.585218 -0.602956 +vn 0.750601 0.576488 -0.322893 +vn 0.685494 0.516671 -0.512980 +vn 0.503567 0.646711 -0.572874 +vn 0.542184 0.585218 -0.602956 +vn 0.685494 0.516671 -0.512980 +vn 0.411954 0.731196 -0.543733 +vn 0.542184 0.585218 -0.602956 +vn 0.503567 0.646711 -0.572874 +vn 0.540789 0.647717 -0.536666 +vn 0.411954 0.731196 -0.543733 +vn 0.503567 0.646711 -0.572874 +vn 0.371940 0.860572 -0.347961 +vn 0.411954 0.731196 -0.543733 +vn 0.540789 0.647717 -0.536666 +vn 0.307530 0.711097 -0.632271 +vn 0.371940 0.860572 -0.347961 +vn 0.540789 0.647717 -0.536666 +vn 0.209835 0.932722 -0.293257 +vn 0.371940 0.860572 -0.347961 +vn 0.307530 0.711097 -0.632271 +vn 0.086243 0.872143 -0.481589 +vn 0.209835 0.932722 -0.293257 +vn 0.307530 0.711097 -0.632271 +vn 0.052244 0.981579 -0.183774 +vn 0.209835 0.932722 -0.293257 +vn 0.086243 0.872143 -0.481589 +vn 0.590349 0.661371 -0.462683 +vn 0.587957 0.734557 -0.338723 +vn 0.748228 0.649586 -0.134883 +vn 0.406281 0.707283 -0.578521 +vn 0.587957 0.734557 -0.338723 +vn 0.590349 0.661371 -0.462683 +vn 0.382931 0.634443 -0.671451 +vn 0.406281 0.707283 -0.578521 +vn 0.590349 0.661371 -0.462683 +vn 0.217819 0.736551 -0.640349 +vn 0.406281 0.707283 -0.578521 +vn 0.382931 0.634443 -0.671451 +vn 0.253005 0.812672 -0.524931 +vn 0.217819 0.736551 -0.640349 +vn 0.382931 0.634443 -0.671451 +vn 0.147892 0.867953 -0.474116 +vn 0.217819 0.736551 -0.640349 +vn 0.253005 0.812672 -0.524931 +vn 0.209835 0.932722 -0.293257 +vn 0.147892 0.867953 -0.474116 +vn 0.253005 0.812672 -0.524931 +vn 0.094039 0.984062 -0.150925 +vn 0.147892 0.867953 -0.474116 +vn 0.209835 0.932722 -0.293257 +vn 0.052244 0.981579 -0.183774 +vn 0.094039 0.984062 -0.150925 +vn 0.209835 0.932722 -0.293257 +vn 0.000000 0.994029 -0.109113 +vn 0.094039 0.984062 -0.150925 +vn 0.052244 0.981579 -0.183774 +vn 0.195915 -0.719698 0.666072 +vn -0.132120 -0.726367 -0.674489 +vn 0.000000 -0.640395 0.768046 +vn -0.331915 -0.812110 -0.479906 +vn -0.132120 -0.726367 -0.674489 +vn 0.195915 -0.719698 0.666072 +vn 0.244711 -0.874565 0.418631 +vn -0.331915 -0.812110 -0.479906 +vn 0.195915 -0.719698 0.666072 +vn -0.612649 -0.626721 -0.481541 +vn -0.331915 -0.812110 -0.479906 +vn 0.244711 -0.874565 0.418631 +vn -0.694470 -0.686774 -0.214600 +vn -0.612649 -0.626721 -0.481541 +vn 0.244711 -0.874565 0.418631 +vn -0.837985 -0.320612 -0.441575 +vn -0.612649 -0.626721 -0.481541 +vn -0.694470 -0.686774 -0.214600 +vn -0.806383 -0.591195 -0.015314 +vn -0.837985 -0.320612 -0.441575 +vn -0.694470 -0.686774 -0.214600 +vn -0.972631 -0.134456 -0.189500 +vn -0.837985 -0.320612 -0.441575 +vn -0.806383 -0.591195 -0.015314 +vn -0.825477 -0.507658 0.246720 +vn -0.972631 -0.134456 -0.189500 +vn -0.806383 -0.591195 -0.015314 +vn -0.992932 -0.040047 0.111723 +vn -0.972631 -0.134456 -0.189500 +vn -0.825477 -0.507658 0.246720 +vn -0.251631 0.886050 0.389356 +vn 0.000000 -0.991062 0.133399 +vn 0.000000 0.906828 0.421501 +vn 0.079027 -0.985999 0.146836 +vn 0.000000 -0.991062 0.133399 +vn -0.251631 0.886050 0.389356 +vn -0.532249 0.794935 0.291186 +vn 0.079027 -0.985999 0.146836 +vn -0.251631 0.886050 0.389356 +vn 0.163549 -0.976871 0.137748 +vn 0.079027 -0.985999 0.146836 +vn -0.532249 0.794935 0.291186 +vn -0.735510 0.658831 0.158011 +vn 0.163549 -0.976871 0.137748 +vn -0.532249 0.794935 0.291186 +vn 0.239389 -0.965852 0.099115 +vn 0.163549 -0.976871 0.137748 +vn -0.735510 0.658831 0.158011 +vn -0.904676 0.425570 0.021229 +vn 0.239389 -0.965852 0.099115 +vn -0.735510 0.658831 0.158011 +vn 0.187276 -0.981975 0.025556 +vn 0.239389 -0.965852 0.099115 +vn -0.904676 0.425570 0.021229 +vn -0.958786 0.261770 -0.110479 +vn 0.187276 -0.981975 0.025556 +vn -0.904676 0.425570 0.021229 +vn 0.439515 -0.891389 0.110691 +vn 0.187276 -0.981975 0.025556 +vn -0.958786 0.261770 -0.110479 +vn 0.381620 -0.923113 -0.047213 +vn 0.187276 -0.981975 0.025556 +vn 0.439515 -0.891389 0.110691 +vn 0.239389 -0.965852 0.099115 +vn 0.187276 -0.981975 0.025556 +vn 0.381620 -0.923113 -0.047213 +vn 0.291209 -0.956563 -0.013567 +vn 0.239389 -0.965852 0.099115 +vn 0.381620 -0.923113 -0.047213 +vn 0.163549 -0.976871 0.137748 +vn 0.239389 -0.965852 0.099115 +vn 0.291209 -0.956563 -0.013567 +vn 0.148335 -0.983662 -0.102012 +vn 0.163549 -0.976871 0.137748 +vn 0.291209 -0.956563 -0.013567 +vn 0.079027 -0.985999 0.146836 +vn 0.163549 -0.976871 0.137748 +vn 0.148335 -0.983662 -0.102012 +vn 0.000000 -0.994237 -0.107201 +vn 0.079027 -0.985999 0.146836 +vn 0.148335 -0.983662 -0.102012 +vn 0.000000 -0.991062 0.133399 +vn 0.079027 -0.985999 0.146836 +vn 0.000000 -0.994237 -0.107201 +vn -0.079027 -0.985999 0.146835 +vn 0.000000 -0.991062 0.133399 +vn 0.000000 -0.994237 -0.107201 +vn -0.848617 0.352828 -0.394159 +vn -0.966055 0.257411 -0.021864 +vn -0.898944 0.411093 -0.151337 +vn -0.934191 0.186191 -0.304336 +vn -0.966055 0.257411 -0.021864 +vn -0.848617 0.352828 -0.394159 +vn -0.766603 0.273752 -0.580844 +vn -0.934191 0.186191 -0.304336 +vn -0.848617 0.352828 -0.394159 +vn -0.841851 0.015679 -0.539482 +vn -0.934191 0.186191 -0.304336 +vn -0.766603 0.273752 -0.580844 +vn -0.724935 -0.181379 -0.664508 +vn -0.841851 0.015679 -0.539482 +vn -0.766603 0.273752 -0.580844 +vn -0.694846 -0.382083 -0.609263 +vn -0.841851 0.015679 -0.539482 +vn -0.724935 -0.181379 -0.664508 +vn -0.456685 -0.350957 -0.817477 +vn -0.694846 -0.382083 -0.609263 +vn -0.724935 -0.181379 -0.664508 +vn -0.417116 -0.557082 -0.718104 +vn -0.694846 -0.382083 -0.609263 +vn -0.456685 -0.350957 -0.817477 +vn -0.171932 -0.450092 -0.876274 +vn -0.417116 -0.557082 -0.718104 +vn -0.456685 -0.350957 -0.817477 +vn -0.382435 0.275173 0.882056 +vn 0.000000 0.655735 0.754991 +vn -0.377712 0.668918 0.640221 +vn 0.000000 0.237997 0.971266 +vn 0.000000 0.655735 0.754991 +vn -0.382435 0.275173 0.882056 +vn 0.000000 -0.050520 0.998723 +vn 0.000000 0.237997 0.971266 +vn -0.382435 0.275173 0.882056 +vn 0.382435 0.275173 0.882056 +vn 0.000000 0.237997 0.971266 +vn 0.000000 -0.050520 0.998723 +vn 0.306566 -0.031475 0.951329 +vn 0.382435 0.275173 0.882056 +vn 0.000000 -0.050520 0.998723 +vn 0.668454 0.320586 0.671114 +vn 0.382435 0.275173 0.882056 +vn 0.306566 -0.031475 0.951329 +vn 0.589392 0.002948 0.807842 +vn 0.668454 0.320586 0.671114 +vn 0.306566 -0.031475 0.951329 +vn 0.821105 0.331869 0.464381 +vn 0.668454 0.320586 0.671114 +vn 0.589392 0.002948 0.807842 +vn 0.778106 0.055817 0.625648 +vn 0.821105 0.331869 0.464381 +vn 0.589392 0.002948 0.807842 +vn 0.750601 0.576488 -0.322893 +vn 0.748228 0.649586 -0.134883 +vn 0.873366 0.479962 0.082873 +vn 0.590349 0.661371 -0.462683 +vn 0.748228 0.649586 -0.134883 +vn 0.750601 0.576488 -0.322893 +vn 0.542184 0.585218 -0.602956 +vn 0.590349 0.661371 -0.462683 +vn 0.750601 0.576488 -0.322893 +vn 0.382931 0.634443 -0.671451 +vn 0.590349 0.661371 -0.462683 +vn 0.542184 0.585218 -0.602956 +vn 0.411954 0.731196 -0.543733 +vn 0.382931 0.634443 -0.671451 +vn 0.542184 0.585218 -0.602956 +vn 0.253005 0.812672 -0.524931 +vn 0.382931 0.634443 -0.671451 +vn 0.411954 0.731196 -0.543733 +vn 0.371940 0.860572 -0.347961 +vn 0.253005 0.812672 -0.524931 +vn 0.411954 0.731196 -0.543733 +vn 0.209835 0.932722 -0.293257 +vn 0.253005 0.812672 -0.524931 +vn 0.371940 0.860572 -0.347961 +vn 0.000000 0.843385 -0.537309 +vn 0.000000 0.923026 -0.384739 +vn 0.079452 0.841562 -0.534285 +vn -0.079452 0.841562 -0.534285 +vn 0.000000 0.923026 -0.384739 +vn 0.000000 0.843385 -0.537309 +vn -0.052837 0.786137 -0.615790 +vn -0.079452 0.841562 -0.534285 +vn 0.000000 0.843385 -0.537309 +vn -0.093398 0.767714 -0.633950 +vn -0.079452 0.841562 -0.534285 +vn -0.052837 0.786137 -0.615790 +vn 0.000000 0.743523 -0.668711 +vn -0.093398 0.767714 -0.633950 +vn -0.052837 0.786137 -0.615790 +vn -0.123769 0.737674 -0.663715 +vn -0.093398 0.767714 -0.633950 +vn 0.000000 0.743523 -0.668711 +vn -0.147892 0.867953 -0.474116 +vn -0.123769 0.737674 -0.663715 +vn 0.000000 0.743523 -0.668711 +vn -0.217821 0.736551 -0.640348 +vn -0.123769 0.737674 -0.663715 +vn -0.147892 0.867953 -0.474116 +vn -0.306566 -0.031475 0.951329 +vn -0.521060 -0.198874 0.830027 +vn -0.256999 -0.229193 0.938841 +vn -0.589392 0.002948 0.807842 +vn -0.521060 -0.198874 0.830027 +vn -0.306566 -0.031475 0.951329 +vn -0.668454 0.320586 0.671114 +vn -0.589392 0.002948 0.807842 +vn -0.306566 -0.031475 0.951329 +vn -0.821105 0.331868 0.464381 +vn -0.589392 0.002948 0.807842 +vn -0.668454 0.320586 0.671114 +vn -0.781548 0.563990 0.266642 +vn -0.821105 0.331868 0.464381 +vn -0.668454 0.320586 0.671114 +vn -0.873367 0.479961 0.082875 +vn -0.821105 0.331868 0.464381 +vn -0.781548 0.563990 0.266642 +vn -0.748228 0.649586 -0.134883 +vn -0.873367 0.479961 0.082875 +vn -0.781548 0.563990 0.266642 +vn -0.382435 0.275173 0.882056 +vn -0.668454 0.320586 0.671114 +vn -0.306566 -0.031475 0.951329 +vn -0.658695 0.618507 0.428450 +vn -0.668454 0.320586 0.671114 +vn -0.382435 0.275173 0.882056 +vn -0.377712 0.668918 0.640221 +vn -0.658695 0.618507 0.428450 +vn -0.382435 0.275173 0.882056 +vn -0.571523 0.804766 0.160352 +vn -0.658695 0.618507 0.428450 +vn -0.377712 0.668918 0.640221 +vn -0.312528 0.916880 0.248308 +vn -0.571523 0.804766 0.160352 +vn -0.377712 0.668918 0.640221 +vn -0.390484 0.906134 -0.162612 +vn -0.571523 0.804766 0.160352 +vn -0.312528 0.916880 0.248308 +vn -0.211573 0.971024 -0.111124 +vn -0.390484 0.906134 -0.162612 +vn -0.312528 0.916880 0.248308 +vn 0.000000 0.655735 0.754991 +vn -0.312528 0.916880 0.248308 +vn -0.377712 0.668918 0.640221 +vn 0.000000 0.958138 0.286306 +vn -0.312528 0.916880 0.248308 +vn 0.000000 0.655735 0.754991 +vn 0.312528 0.916880 0.248308 +vn 0.000000 0.958138 0.286306 +vn 0.000000 0.655735 0.754991 +vn 0.211573 0.971024 -0.111124 +vn 0.000000 0.958138 0.286306 +vn 0.312528 0.916880 0.248308 +vn 0.390484 0.906135 -0.162611 +vn 0.211573 0.971024 -0.111124 +vn 0.312528 0.916880 0.248308 +vn 0.214789 0.880787 -0.421995 +vn 0.211573 0.971024 -0.111124 +vn 0.390484 0.906135 -0.162611 +vn 0.327725 0.831196 -0.449121 +vn 0.214789 0.880787 -0.421995 +vn 0.390484 0.906135 -0.162611 +vn 0.635007 0.748824 0.189814 +vn 0.532249 0.794935 0.291186 +vn 0.723349 0.686762 0.071587 +vn 0.251631 0.886050 0.389356 +vn 0.532249 0.794935 0.291186 +vn 0.635007 0.748824 0.189814 +vn 0.330510 0.889455 0.315647 +vn 0.251631 0.886050 0.389356 +vn 0.635007 0.748824 0.189814 +vn 0.000000 0.906828 0.421501 +vn 0.251631 0.886050 0.389356 +vn 0.330510 0.889455 0.315647 +vn 0.000000 0.939802 0.341720 +vn 0.000000 0.906828 0.421501 +vn 0.330510 0.889455 0.315647 +vn -0.330510 0.889455 0.315647 +vn 0.000000 0.906828 0.421501 +vn 0.000000 0.939802 0.341720 +vn -0.573295 -0.501168 0.648201 +vn -0.818036 -0.356537 0.451329 +vn -0.667650 -0.557052 0.493899 +vn -0.680677 -0.258899 0.685310 +vn -0.818036 -0.356537 0.451329 +vn -0.573295 -0.501168 0.648201 +vn -0.521060 -0.198874 0.830027 +vn -0.680677 -0.258899 0.685310 +vn -0.573295 -0.501168 0.648201 +vn -0.778106 0.055818 0.625648 +vn -0.680677 -0.258899 0.685310 +vn -0.521060 -0.198874 0.830027 +vn -0.589392 0.002948 0.807842 +vn -0.778106 0.055818 0.625648 +vn -0.521060 -0.198874 0.830027 +vn -0.821105 0.331868 0.464381 +vn -0.778106 0.055818 0.625648 +vn -0.589392 0.002948 0.807842 +vn 0.382435 0.275173 0.882056 +vn 0.000000 0.655735 0.754991 +vn 0.000000 0.237997 0.971266 +vn 0.377712 0.668918 0.640221 +vn 0.000000 0.655735 0.754991 +vn 0.382435 0.275173 0.882056 +vn 0.658695 0.618507 0.428450 +vn 0.377712 0.668918 0.640221 +vn 0.382435 0.275173 0.882056 +vn 0.571522 0.804767 0.160352 +vn 0.377712 0.668918 0.640221 +vn 0.658695 0.618507 0.428450 +vn 0.697374 0.716377 0.021778 +vn 0.571522 0.804767 0.160352 +vn 0.658695 0.618507 0.428450 +vn 0.541199 0.807022 -0.236260 +vn 0.571522 0.804767 0.160352 +vn 0.697374 0.716377 0.021778 +vn 0.000000 0.994029 -0.109113 +vn -0.052244 0.981579 -0.183774 +vn -0.094039 0.984062 -0.150925 +vn 0.000000 0.983237 -0.182334 +vn -0.052244 0.981579 -0.183774 +vn 0.000000 0.994029 -0.109113 +vn 0.052244 0.981579 -0.183774 +vn 0.000000 0.983237 -0.182334 +vn 0.000000 0.994029 -0.109113 +vn 0.000000 0.861423 -0.507889 +vn 0.000000 0.983237 -0.182334 +vn 0.052244 0.981579 -0.183774 +vn 0.086243 0.872143 -0.481589 +vn 0.000000 0.861423 -0.507889 +vn 0.052244 0.981579 -0.183774 +vn -0.924300 0.286050 0.252677 +vn -0.821105 0.331868 0.464381 +vn -0.873367 0.479961 0.082875 +vn -0.778106 0.055818 0.625648 +vn -0.821105 0.331868 0.464381 +vn -0.924300 0.286050 0.252677 +vn -0.917927 0.033194 0.395359 +vn -0.778106 0.055818 0.625648 +vn -0.924300 0.286050 0.252677 +vn -0.680677 -0.258899 0.685310 +vn -0.778106 0.055818 0.625648 +vn -0.917927 0.033194 0.395359 +vn -0.818036 -0.356537 0.451329 +vn -0.680677 -0.258899 0.685310 +vn -0.917927 0.033194 0.395359 +vn 0.000000 0.958138 0.286306 +vn -0.211573 0.971024 -0.111124 +vn -0.312528 0.916880 0.248308 +vn 0.000000 0.996397 -0.084814 +vn -0.211573 0.971024 -0.111124 +vn 0.000000 0.958138 0.286306 +vn 0.211573 0.971024 -0.111124 +vn 0.000000 0.996397 -0.084814 +vn 0.000000 0.958138 0.286306 +vn 0.125886 0.913087 -0.387848 +vn 0.000000 0.996397 -0.084814 +vn 0.211573 0.971024 -0.111124 +vn 0.214789 0.880787 -0.421995 +vn 0.125886 0.913087 -0.387848 +vn 0.211573 0.971024 -0.111124 +vn -0.079452 0.841562 -0.534285 +vn -0.125886 0.913087 -0.387847 +vn 0.000000 0.923026 -0.384739 +vn -0.214789 0.880787 -0.421995 +vn -0.125886 0.913087 -0.387847 +vn -0.079452 0.841562 -0.534285 +vn -0.160647 0.803314 -0.573480 +vn -0.214789 0.880787 -0.421995 +vn -0.079452 0.841562 -0.534285 +vn -0.327725 0.831196 -0.449121 +vn -0.214789 0.880787 -0.421995 +vn -0.160647 0.803314 -0.573480 +vn -0.374859 0.770600 -0.515419 +vn -0.327725 0.831196 -0.449121 +vn -0.160647 0.803314 -0.573480 +vn 0.000000 0.743523 -0.668711 +vn 0.093398 0.767714 -0.633950 +vn 0.123769 0.737674 -0.663715 +vn 0.052837 0.786137 -0.615790 +vn 0.093398 0.767714 -0.633950 +vn 0.000000 0.743523 -0.668711 +vn 0.000000 0.784016 -0.620740 +vn 0.052837 0.786137 -0.615790 +vn 0.000000 0.743523 -0.668711 +vn 0.000000 0.843385 -0.537309 +vn 0.052837 0.786137 -0.615790 +vn 0.000000 0.784016 -0.620740 +vn -0.052837 0.786137 -0.615790 +vn 0.000000 0.843385 -0.537309 +vn 0.000000 0.784016 -0.620740 +vn 0.000000 -0.944352 0.328937 +vn 0.381620 -0.923113 -0.047213 +vn 0.439515 -0.891389 0.110691 +vn 0.000000 -0.990175 -0.139833 +vn 0.381620 -0.923113 -0.047213 +vn 0.000000 -0.944352 0.328937 +vn -0.381619 -0.923113 -0.047211 +vn 0.000000 -0.990175 -0.139833 +vn 0.000000 -0.944352 0.328937 +vn -0.291206 -0.956564 -0.013566 +vn 0.000000 -0.990175 -0.139833 +vn -0.381619 -0.923113 -0.047211 +vn 0.093398 0.767714 -0.633950 +vn 0.160647 0.803314 -0.573480 +vn 0.123769 0.737674 -0.663715 +vn 0.079452 0.841562 -0.534285 +vn 0.160647 0.803314 -0.573480 +vn 0.093398 0.767714 -0.633950 +vn 0.052837 0.786137 -0.615790 +vn 0.079452 0.841562 -0.534285 +vn 0.093398 0.767714 -0.633950 +vn 0.000000 0.843385 -0.537309 +vn 0.079452 0.841562 -0.534285 +vn 0.052837 0.786137 -0.615790 +vn 0.330720 -0.851491 0.406925 +vn -0.694470 -0.686774 -0.214600 +vn 0.244711 -0.874565 0.418631 +vn -0.806383 -0.591195 -0.015314 +vn -0.694470 -0.686774 -0.214600 +vn 0.330720 -0.851491 0.406925 +vn 0.352349 -0.898504 0.261801 +vn -0.806383 -0.591195 -0.015314 +vn 0.330720 -0.851491 0.406925 +vn -0.825477 -0.507658 0.246720 +vn -0.806383 -0.591195 -0.015314 +vn 0.352349 -0.898504 0.261801 +vn -0.541199 0.807022 -0.236261 +vn -0.571523 0.804766 0.160352 +vn -0.390484 0.906134 -0.162612 +vn -0.697374 0.716377 0.021778 +vn -0.571523 0.804766 0.160352 +vn -0.541199 0.807022 -0.236261 +vn -0.587957 0.734556 -0.338724 +vn -0.697374 0.716377 0.021778 +vn -0.541199 0.807022 -0.236261 +vn -0.748228 0.649586 -0.134883 +vn -0.697374 0.716377 0.021778 +vn -0.587957 0.734556 -0.338724 +vn 0.217819 0.736551 -0.640349 +vn 0.160647 0.803314 -0.573480 +vn 0.374854 0.770603 -0.515417 +vn 0.123769 0.737674 -0.663715 +vn 0.160647 0.803314 -0.573480 +vn 0.217819 0.736551 -0.640349 +vn 0.147892 0.867953 -0.474116 +vn 0.123769 0.737674 -0.663715 +vn 0.217819 0.736551 -0.640349 +vn 0.000000 0.743523 -0.668711 +vn 0.123769 0.737674 -0.663715 +vn 0.147892 0.867953 -0.474116 +vn -0.781548 0.563990 0.266642 +vn -0.697374 0.716377 0.021778 +vn -0.748228 0.649586 -0.134883 +vn -0.658695 0.618507 0.428450 +vn -0.697374 0.716377 0.021778 +vn -0.781548 0.563990 0.266642 +vn -0.668454 0.320586 0.671114 +vn -0.658695 0.618507 0.428450 +vn -0.781548 0.563990 0.266642 +vn -0.723349 0.686761 0.071588 +vn -0.735510 0.658831 0.158011 +vn -0.532249 0.794935 0.291186 +vn -0.904676 0.425570 0.021229 +vn -0.735510 0.658831 0.158011 +vn -0.723349 0.686761 0.071588 +vn -0.958786 0.261770 -0.110479 +vn -0.904676 0.425570 0.021229 +vn -0.723349 0.686761 0.071588 +vn 0.723349 0.686762 0.071587 +vn 0.904675 0.425572 0.021230 +vn 0.958786 0.261771 -0.110477 +vn 0.735503 0.658839 0.158006 +vn 0.904675 0.425572 0.021230 +vn 0.723349 0.686762 0.071587 +vn 0.532249 0.794935 0.291186 +vn 0.735503 0.658839 0.158006 +vn 0.723349 0.686762 0.071587 +vn 0.000000 -0.944352 0.328937 +vn -0.439515 -0.891389 0.110691 +vn -0.381619 -0.923113 -0.047211 +vn -0.352349 -0.898504 0.261801 +vn -0.439515 -0.891389 0.110691 +vn 0.000000 -0.944352 0.328937 +vn -0.330720 -0.851491 0.406925 +vn -0.352349 -0.898504 0.261801 +vn 0.000000 -0.944352 0.328937 +vn 0.781546 0.563994 0.266640 +vn 0.668454 0.320586 0.671114 +vn 0.821105 0.331869 0.464381 +vn 0.658695 0.618507 0.428450 +vn 0.668454 0.320586 0.671114 +vn 0.781546 0.563994 0.266640 +vn 0.697374 0.716377 0.021778 +vn 0.658695 0.618507 0.428450 +vn 0.781546 0.563994 0.266640 +vn 0.000000 -0.050520 0.998723 +vn 0.000000 -0.229881 0.973219 +vn 0.256999 -0.229193 0.938841 +vn -0.256999 -0.229193 0.938841 +vn 0.000000 -0.229881 0.973219 +vn 0.000000 -0.050520 0.998723 +vn -0.306566 -0.031475 0.951329 +vn -0.256999 -0.229193 0.938841 +vn 0.000000 -0.050520 0.998723 +vn 0.000000 -0.990175 -0.139833 +vn 0.291209 -0.956563 -0.013567 +vn 0.381620 -0.923113 -0.047213 +vn 0.148335 -0.983662 -0.102012 +vn 0.291209 -0.956563 -0.013567 +vn 0.000000 -0.990175 -0.139833 +vn 0.000000 -0.994237 -0.107201 +vn 0.148335 -0.983662 -0.102012 +vn 0.000000 -0.990175 -0.139833 +vn -0.160647 0.803314 -0.573480 +vn -0.217821 0.736551 -0.640348 +vn -0.374859 0.770600 -0.515419 +vn -0.123769 0.737674 -0.663715 +vn -0.217821 0.736551 -0.640348 +vn -0.160647 0.803314 -0.573480 +vn -0.093398 0.767714 -0.633950 +vn -0.123769 0.737674 -0.663715 +vn -0.160647 0.803314 -0.573480 +vn -0.148335 -0.983662 -0.102013 +vn -0.079027 -0.985999 0.146835 +vn 0.000000 -0.994237 -0.107201 +vn -0.163546 -0.976872 0.137747 +vn -0.079027 -0.985999 0.146835 +vn -0.148335 -0.983662 -0.102013 +vn -0.291206 -0.956564 -0.013566 +vn -0.163546 -0.976872 0.137747 +vn -0.148335 -0.983662 -0.102013 +vn 0.000000 -0.776124 0.630581 +vn -0.244711 -0.874565 0.418632 +vn -0.330720 -0.851491 0.406925 +vn -0.195915 -0.719698 0.666072 +vn -0.244711 -0.874565 0.418632 +vn 0.000000 -0.776124 0.630581 +vn 0.000000 -0.640395 0.768046 +vn -0.195915 -0.719698 0.666072 +vn 0.000000 -0.776124 0.630581 +vn 0.958786 0.261771 -0.110477 +vn -0.187280 -0.981974 0.025564 +vn -0.439515 -0.891389 0.110691 +vn 0.904675 0.425572 0.021230 +vn -0.187280 -0.981974 0.025564 +vn 0.958786 0.261771 -0.110477 +vn 0.306566 -0.031475 0.951329 +vn 0.256999 -0.229193 0.938841 +vn 0.521060 -0.198874 0.830028 +vn 0.000000 -0.050520 0.998723 +vn 0.256999 -0.229193 0.938841 +vn 0.306566 -0.031475 0.951329 +vn 0.735503 0.658839 0.158006 +vn -0.163546 -0.976872 0.137747 +vn -0.239388 -0.965852 0.099111 +vn 0.532249 0.794935 0.291186 +vn -0.163546 -0.976872 0.137747 +vn 0.735503 0.658839 0.158006 +vn 0.406281 0.707283 -0.578521 +vn 0.374854 0.770603 -0.515417 +vn 0.587957 0.734557 -0.338723 +vn 0.217819 0.736551 -0.640349 +vn 0.374854 0.770603 -0.515417 +vn 0.406281 0.707283 -0.578521 +vn 0.532249 0.794935 0.291186 +vn -0.079027 -0.985999 0.146835 +vn -0.163546 -0.976872 0.137747 +vn 0.251631 0.886050 0.389356 +vn -0.079027 -0.985999 0.146835 +vn 0.532249 0.794935 0.291186 +vn -0.685500 0.516665 -0.512978 +vn -0.542184 0.585218 -0.602956 +vn -0.503568 0.646710 -0.572874 +vn -0.750602 0.576487 -0.322894 +vn -0.542184 0.585218 -0.602956 +vn -0.685500 0.516665 -0.512978 +vn 0.251631 0.886050 0.389356 +vn 0.000000 -0.991062 0.133399 +vn -0.079027 -0.985999 0.146835 +vn 0.000000 0.906828 0.421501 +vn 0.000000 -0.991062 0.133399 +vn 0.251631 0.886050 0.389356 +vn -0.160811 -0.612866 -0.773650 +vn -0.171932 -0.450092 -0.876274 +vn 0.000000 -0.618842 -0.785516 +vn -0.417116 -0.557082 -0.718104 +vn -0.171932 -0.450092 -0.876274 +vn -0.160811 -0.612866 -0.773650 +vn 0.694470 -0.686774 -0.214601 +vn 0.837985 -0.320611 -0.441577 +vn 0.806384 -0.591195 -0.015314 +vn 0.612649 -0.626721 -0.481541 +vn 0.837985 -0.320611 -0.441577 +vn 0.694470 -0.686774 -0.214601 +vn 0.612649 -0.626721 -0.481541 +vn 0.694847 -0.382081 -0.609263 +vn 0.837985 -0.320611 -0.441577 +vn 0.417116 -0.557084 -0.718103 +vn 0.694847 -0.382081 -0.609263 +vn 0.612649 -0.626721 -0.481541 +vn 0.417116 -0.557084 -0.718103 +vn 0.456685 -0.350954 -0.817478 +vn 0.694847 -0.382081 -0.609263 +vn 0.171932 -0.450093 -0.876274 +vn 0.456685 -0.350954 -0.817478 +vn 0.417116 -0.557084 -0.718103 +vn 0.171932 -0.450093 -0.876274 +vn 0.177163 -0.269704 -0.946506 +vn 0.456685 -0.350954 -0.817478 +vn 0.000000 -0.465098 -0.885259 +vn 0.177163 -0.269704 -0.946506 +vn 0.171932 -0.450093 -0.876274 +vn 0.000000 -0.465098 -0.885259 +vn 0.000000 -0.294736 -0.955579 +vn 0.177163 -0.269704 -0.946506 +vn -0.177162 -0.269704 -0.946506 +vn 0.000000 -0.294736 -0.955579 +vn 0.000000 -0.465098 -0.885259 +vn 0.132121 -0.726366 -0.674489 +vn 0.160812 -0.612867 -0.773650 +vn 0.331915 -0.812110 -0.479906 +vn 0.000000 -0.745144 -0.666904 +vn 0.160812 -0.612867 -0.773650 +vn 0.132121 -0.726366 -0.674489 +vn 0.000000 -0.745144 -0.666904 +vn 0.000000 -0.618842 -0.785516 +vn 0.160812 -0.612867 -0.773650 +vn -0.160811 -0.612866 -0.773650 +vn 0.000000 -0.618842 -0.785516 +vn 0.000000 -0.745144 -0.666904 +vn -0.239388 -0.965852 0.099111 +vn -0.291206 -0.956564 -0.013566 +vn -0.381619 -0.923113 -0.047211 +vn -0.163546 -0.976872 0.137747 +vn -0.291206 -0.956564 -0.013566 +vn -0.239388 -0.965852 0.099111 +vn 0.571522 0.804767 0.160352 +vn 0.390484 0.906135 -0.162611 +vn 0.312528 0.916880 0.248308 +vn 0.541199 0.807022 -0.236260 +vn 0.390484 0.906135 -0.162611 +vn 0.571522 0.804767 0.160352 +vn -0.330510 0.889455 0.315647 +vn -0.251631 0.886050 0.389356 +vn 0.000000 0.906828 0.421501 +vn -0.635006 0.748824 0.189815 +vn -0.251631 0.886050 0.389356 +vn -0.330510 0.889455 0.315647 +vn -0.635006 0.748824 0.189815 +vn -0.532249 0.794935 0.291186 +vn -0.251631 0.886050 0.389356 +vn -0.723349 0.686761 0.071588 +vn -0.532249 0.794935 0.291186 +vn -0.635006 0.748824 0.189815 +vn -0.177162 -0.269704 -0.946506 +vn -0.181863 -0.000410 -0.983324 +vn 0.000000 -0.294736 -0.955579 +vn -0.469840 -0.124696 -0.873900 +vn -0.181863 -0.000410 -0.983324 +vn -0.177162 -0.269704 -0.946506 +vn -0.469840 -0.124696 -0.873900 +vn -0.458313 0.145151 -0.876858 +vn -0.181863 -0.000410 -0.983324 +vn -0.704939 0.102229 -0.701862 +vn -0.458313 0.145151 -0.876858 +vn -0.469840 -0.124696 -0.873900 +vn 0.352349 -0.898504 0.261801 +vn 0.000000 -0.944352 0.328937 +vn 0.439515 -0.891389 0.110691 +vn 0.330720 -0.851491 0.406925 +vn 0.000000 -0.944352 0.328937 +vn 0.352349 -0.898504 0.261801 +vn -0.704939 0.102229 -0.701862 +vn -0.656901 0.369278 -0.657355 +vn -0.458313 0.145151 -0.876858 +vn -0.605118 0.529375 -0.594637 +vn -0.656901 0.369278 -0.657355 +vn -0.704939 0.102229 -0.701862 +vn -0.148335 -0.983662 -0.102013 +vn 0.000000 -0.990175 -0.139833 +vn -0.291206 -0.956564 -0.013566 +vn 0.000000 -0.994237 -0.107201 +vn 0.000000 -0.990175 -0.139833 +vn -0.148335 -0.983662 -0.102013 +vn 0.377712 0.668918 0.640221 +vn 0.312528 0.916880 0.248308 +vn 0.000000 0.655735 0.754991 +vn 0.571522 0.804767 0.160352 +vn 0.312528 0.916880 0.248308 +vn 0.377712 0.668918 0.640221 +vn -0.253005 0.812671 -0.524932 +vn -0.147892 0.867953 -0.474116 +vn -0.209835 0.932722 -0.293257 +vn -0.217821 0.736551 -0.640348 +vn -0.147892 0.867953 -0.474116 +vn -0.253005 0.812671 -0.524932 +vn 0.000000 -0.944352 0.328937 +vn 0.000000 -0.776124 0.630581 +vn -0.330720 -0.851491 0.406925 +vn 0.330720 -0.851491 0.406925 +vn 0.000000 -0.776124 0.630581 +vn 0.000000 -0.944352 0.328937 +vn 0.244711 -0.874565 0.418631 +vn 0.000000 -0.776124 0.630581 +vn 0.330720 -0.851491 0.406925 +vn 0.195915 -0.719698 0.666072 +vn 0.000000 -0.776124 0.630581 +vn 0.244711 -0.874565 0.418631 +vn -0.605118 0.529375 -0.594637 +vn -0.503568 0.646710 -0.572874 +vn -0.656901 0.369278 -0.657355 +vn -0.685500 0.516665 -0.512978 +vn -0.503568 0.646710 -0.572874 +vn -0.605118 0.529375 -0.594637 +vn 0.904675 0.425572 0.021230 +vn -0.239388 -0.965852 0.099111 +vn -0.187280 -0.981974 0.025564 +vn 0.735503 0.658839 0.158006 +vn -0.239388 -0.965852 0.099111 +vn 0.904675 0.425572 0.021230 +vn 0.680677 -0.258899 0.685311 +vn 0.521060 -0.198874 0.830028 +vn 0.573294 -0.501167 0.648202 +vn 0.778106 0.055817 0.625648 +vn 0.521060 -0.198874 0.830028 +vn 0.680677 -0.258899 0.685311 +vn -0.187280 -0.981974 0.025564 +vn -0.381619 -0.923113 -0.047211 +vn -0.439515 -0.891389 0.110691 +vn -0.239388 -0.965852 0.099111 +vn -0.381619 -0.923113 -0.047211 +vn -0.187280 -0.981974 0.025564 +vn 0.589392 0.002948 0.807842 +vn 0.521060 -0.198874 0.830028 +vn 0.778106 0.055817 0.625648 +vn 0.306566 -0.031475 0.951329 +vn 0.521060 -0.198874 0.830028 +vn 0.589392 0.002948 0.807842 +vn 0.000000 0.994029 -0.109113 +vn 0.147892 0.867953 -0.474116 +vn 0.094039 0.984062 -0.150925 +vn 0.000000 0.983237 -0.182334 +vn 0.000000 0.861423 -0.507889 +vn -0.052244 0.981579 -0.183774 +vn -0.750602 0.576487 -0.322894 +vn -0.590344 0.661374 -0.462686 +vn -0.542184 0.585218 -0.602956 +vn 0.668454 0.320586 0.671114 +vn 0.658695 0.618507 0.428450 +vn 0.382435 0.275173 0.882056 +vn -0.306566 -0.031475 0.951329 +vn 0.000000 -0.050520 0.998723 +vn -0.382435 0.275173 0.882056 +vn 0.541199 0.807022 -0.236260 +vn 0.327725 0.831196 -0.449121 +vn 0.390484 0.906135 -0.162611 +vn -0.658695 0.618507 0.428450 +vn -0.571523 0.804766 0.160352 +vn -0.697374 0.716377 0.021778 +vn 0.000000 -0.640395 0.768046 +vn 0.000000 -0.776124 0.630581 +vn 0.195915 -0.719698 0.666072 +vn -0.093398 0.767714 -0.633950 +vn -0.160647 0.803314 -0.573480 +vn -0.079452 0.841562 -0.534285 +vn 0.000000 0.743523 -0.668711 +vn -0.052837 0.786137 -0.615790 +vn 0.000000 0.784016 -0.620740 +vn 0.917766 0.017738 0.396725 +vn 0.958810 0.003900 0.284023 +vn 0.900546 0.060305 0.430558 +vn 0.953887 -0.040452 0.297429 +vn 0.958810 0.003900 0.284023 +vn 0.917766 0.017738 0.396725 +vn 0.923015 -0.029399 0.383638 +vn 0.953887 -0.040452 0.297429 +vn 0.917766 0.017738 0.396725 +vn 0.973482 0.100361 0.205572 +vn 0.953887 -0.040452 0.297429 +vn 0.923015 -0.029399 0.383638 +vn 0.928642 0.090721 0.359713 +vn 0.973482 0.100361 0.205572 +vn 0.923015 -0.029399 0.383638 +vn 0.928344 0.365784 0.066182 +vn 0.973482 0.100361 0.205572 +vn 0.928642 0.090721 0.359713 +vn 0.848829 0.417463 0.324367 +vn 0.928344 0.365784 0.066182 +vn 0.928642 0.090721 0.359713 +vn 0.934371 0.209882 0.287924 +vn 0.928344 0.365784 0.066182 +vn 0.848829 0.417463 0.324367 +vn 0.815069 0.169344 0.554062 +vn 0.934371 0.209882 0.287924 +vn 0.848829 0.417463 0.324367 +vn 0.957424 -0.134364 0.255512 +vn 0.934371 0.209882 0.287924 +vn 0.815069 0.169344 0.554062 +vn 0.844455 -0.127445 0.520244 +vn 0.957424 -0.134364 0.255512 +vn 0.815069 0.169344 0.554062 +vn 0.749273 -0.527163 0.400860 +vn 0.957424 -0.134364 0.255512 +vn 0.844455 -0.127445 0.520244 +vn 0.674412 -0.134092 0.726077 +vn 0.749273 -0.527163 0.400860 +vn 0.844455 -0.127445 0.520244 +vn 0.582219 -0.492600 0.646812 +vn 0.749273 -0.527163 0.400860 +vn 0.674412 -0.134092 0.726077 +vn 0.408803 -0.502131 0.762066 +vn 0.582219 -0.492600 0.646812 +vn 0.674412 -0.134092 0.726077 +vn 0.482467 -0.680728 0.551212 +vn 0.582219 -0.492600 0.646812 +vn 0.408803 -0.502131 0.762066 +vn 0.441092 -0.551736 0.707831 +vn 0.482467 -0.680728 0.551212 +vn 0.408803 -0.502131 0.762066 +vn 0.538024 -0.687833 0.487254 +vn 0.482467 -0.680728 0.551212 +vn 0.441092 -0.551736 0.707831 +vn 0.373430 -0.607174 0.701348 +vn 0.538024 -0.687833 0.487254 +vn 0.441092 -0.551736 0.707831 +vn 0.392879 -0.830572 0.394711 +vn 0.538024 -0.687833 0.487254 +vn 0.373430 -0.607174 0.701348 +vn 0.000000 -0.664290 0.747475 +vn 0.392879 -0.830572 0.394711 +vn 0.373430 -0.607174 0.701348 +vn 0.000000 -0.921140 0.389232 +vn 0.392879 -0.830572 0.394711 +vn 0.000000 -0.664290 0.747475 +vn -0.392879 -0.830572 0.394711 +vn 0.000000 -0.921140 0.389232 +vn 0.000000 -0.664290 0.747475 +vn -0.370623 -0.917629 0.143515 +vn 0.000000 -0.921140 0.389232 +vn -0.392879 -0.830572 0.394711 +vn -0.559975 -0.793320 0.238898 +vn -0.370623 -0.917629 0.143515 +vn -0.392879 -0.830572 0.394711 +vn -0.487051 -0.872928 0.027897 +vn -0.370623 -0.917629 0.143515 +vn -0.559975 -0.793320 0.238898 +vn -0.492921 -0.861827 0.119516 +vn -0.487051 -0.872928 0.027897 +vn -0.559975 -0.793320 0.238898 +vn -0.451193 -0.888173 -0.087029 +vn -0.487051 -0.872928 0.027897 +vn -0.492921 -0.861827 0.119516 +vn -0.640604 -0.766170 -0.051084 +vn -0.451193 -0.888173 -0.087029 +vn -0.492921 -0.861827 0.119516 +vn -0.627673 -0.741330 -0.237607 +vn -0.451193 -0.888173 -0.087029 +vn -0.640604 -0.766170 -0.051084 +vn -0.842992 -0.498154 -0.202997 +vn -0.627673 -0.741330 -0.237607 +vn -0.640604 -0.766170 -0.051084 +vn -0.558729 -0.742385 -0.369712 +vn -0.627673 -0.741330 -0.237607 +vn -0.842992 -0.498154 -0.202997 +vn -0.722650 -0.500639 -0.476589 +vn -0.558729 -0.742385 -0.369712 +vn -0.842992 -0.498154 -0.202997 +vn -0.595399 -0.636457 -0.490329 +vn -0.558729 -0.742385 -0.369712 +vn -0.722650 -0.500639 -0.476589 +vn -0.716550 -0.384528 -0.581974 +vn -0.595399 -0.636457 -0.490329 +vn -0.722650 -0.500639 -0.476589 +vn -0.522792 -0.452974 -0.722152 +vn -0.595399 -0.636457 -0.490329 +vn -0.716550 -0.384528 -0.581974 +vn -0.114261 -0.650980 -0.750446 +vn -0.392841 -0.833638 -0.388231 +vn 0.537096 -0.757037 -0.372052 +vn -0.267246 -0.587430 -0.763875 +vn -0.392841 -0.833638 -0.388231 +vn -0.114261 -0.650980 -0.750446 +vn -0.417399 -0.302810 -0.856787 +vn -0.267246 -0.587430 -0.763875 +vn -0.114261 -0.650980 -0.750446 +vn -0.149027 -0.306153 -0.940245 +vn -0.267246 -0.587430 -0.763875 +vn -0.417399 -0.302810 -0.856787 +vn -0.122525 0.064870 -0.990343 +vn -0.149027 -0.306153 -0.940245 +vn -0.417399 -0.302810 -0.856787 +vn 0.839685 -0.148748 -0.522306 +vn -0.149027 -0.306153 -0.940245 +vn -0.122525 0.064870 -0.990343 +vn 0.871840 0.218341 -0.438431 +vn 0.839685 -0.148748 -0.522306 +vn -0.122525 0.064870 -0.990343 +vn 0.698404 -0.212019 0.683578 +vn 0.839685 -0.148748 -0.522306 +vn 0.871840 0.218341 -0.438431 +vn 0.712714 0.686765 -0.142804 +vn 0.698404 -0.212019 0.683578 +vn 0.871840 0.218341 -0.438431 +vn 0.698754 -0.139914 0.701547 +vn 0.698404 -0.212019 0.683578 +vn 0.712714 0.686765 -0.142804 +vn 0.406653 0.860707 0.306296 +vn 0.698754 -0.139914 0.701547 +vn 0.712714 0.686765 -0.142804 +vn 0.632985 -0.299999 0.713674 +vn 0.698754 -0.139914 0.701547 +vn 0.406653 0.860707 0.306296 +vn 0.029691 0.592999 0.804655 +vn 0.632985 -0.299999 0.713674 +vn 0.406653 0.860707 0.306296 +vn 0.602492 -0.292067 0.742765 +vn 0.632985 -0.299999 0.713674 +vn 0.029691 0.592999 0.804655 +vn -0.143818 0.363847 0.920289 +vn 0.602492 -0.292067 0.742765 +vn 0.029691 0.592999 0.804655 +vn 0.741240 -0.314158 0.593184 +vn 0.602492 -0.292067 0.742765 +vn -0.143818 0.363847 0.920289 +vn 0.935786 0.067959 0.345956 +vn 0.741240 -0.314158 0.593184 +vn -0.143818 0.363847 0.920289 +vn 0.847166 -0.158053 0.507276 +vn 0.741240 -0.314158 0.593184 +vn 0.935786 0.067959 0.345956 +vn 0.908308 0.035636 0.416781 +vn 0.847166 -0.158053 0.507276 +vn 0.935786 0.067959 0.345956 +vn 0.610137 -0.218613 0.761539 +vn 0.847166 -0.158053 0.507276 +vn 0.908308 0.035636 0.416781 +vn 0.711142 0.084585 0.697942 +vn 0.610137 -0.218613 0.761539 +vn 0.908308 0.035636 0.416781 +vn 0.650743 -0.221434 0.726292 +vn 0.610137 -0.218613 0.761539 +vn 0.711142 0.084585 0.697942 +vn 0.686212 -0.056118 0.725233 +vn 0.650743 -0.221434 0.726292 +vn 0.711142 0.084585 0.697942 +vn 0.625967 -0.762308 -0.164475 +vn 0.650743 -0.221434 0.726292 +vn 0.686212 -0.056118 0.725233 +vn 0.587806 -0.773852 0.235877 +vn 0.625967 -0.762308 -0.164475 +vn 0.686212 -0.056118 0.725233 +vn -0.392841 -0.833638 -0.388231 +vn 0.625967 -0.762308 -0.164475 +vn 0.587806 -0.773852 0.235877 +vn 0.570129 -0.618898 0.540295 +vn -0.392841 -0.833638 -0.388231 +vn 0.587806 -0.773852 0.235877 +vn 0.537096 -0.757037 -0.372052 +vn -0.392841 -0.833638 -0.388231 +vn 0.570129 -0.618898 0.540295 +vn 0.986850 -0.152081 0.054751 +vn 0.537096 -0.757037 -0.372052 +vn 0.570129 -0.618898 0.540295 +vn -0.373430 -0.607174 0.701348 +vn -0.392879 -0.830572 0.394711 +vn 0.000000 -0.664290 0.747475 +vn -0.538024 -0.687833 0.487254 +vn -0.392879 -0.830572 0.394711 +vn -0.373430 -0.607174 0.701348 +vn -0.441091 -0.551736 0.707832 +vn -0.538024 -0.687833 0.487254 +vn -0.373430 -0.607174 0.701348 +vn -0.482467 -0.680728 0.551212 +vn -0.538024 -0.687833 0.487254 +vn -0.441091 -0.551736 0.707832 +vn -0.408803 -0.502131 0.762066 +vn -0.482467 -0.680728 0.551212 +vn -0.441091 -0.551736 0.707832 +vn -0.582219 -0.492600 0.646812 +vn -0.482467 -0.680728 0.551212 +vn -0.408803 -0.502131 0.762066 +vn -0.674412 -0.134092 0.726077 +vn -0.582219 -0.492600 0.646812 +vn -0.408803 -0.502131 0.762066 +vn -0.749273 -0.527163 0.400860 +vn -0.582219 -0.492600 0.646812 +vn -0.674412 -0.134092 0.726077 +vn -0.844455 -0.127445 0.520244 +vn -0.749273 -0.527163 0.400860 +vn -0.674412 -0.134092 0.726077 +vn -0.957424 -0.134364 0.255512 +vn -0.749273 -0.527163 0.400860 +vn -0.844455 -0.127445 0.520244 +vn -0.815069 0.169344 0.554062 +vn -0.957424 -0.134364 0.255512 +vn -0.844455 -0.127445 0.520244 +vn -0.934371 0.209882 0.287924 +vn -0.957424 -0.134364 0.255512 +vn -0.815069 0.169344 0.554062 +vn -0.848829 0.417463 0.324366 +vn -0.934371 0.209882 0.287924 +vn -0.815069 0.169344 0.554062 +vn -0.936574 0.338331 0.091444 +vn -0.934371 0.209882 0.287924 +vn -0.848829 0.417463 0.324366 +vn -0.926552 0.079410 0.367689 +vn -0.936574 0.338331 0.091444 +vn -0.848829 0.417463 0.324366 +vn -0.970619 0.108122 0.214961 +vn -0.936574 0.338331 0.091444 +vn -0.926552 0.079410 0.367689 +vn -0.922512 -0.027070 0.385017 +vn -0.970619 0.108122 0.214961 +vn -0.926552 0.079410 0.367689 +vn -0.953887 -0.040452 0.297429 +vn -0.970619 0.108122 0.214961 +vn -0.922512 -0.027070 0.385017 +vn -0.917766 0.017738 0.396725 +vn -0.953887 -0.040452 0.297429 +vn -0.922512 -0.027070 0.385017 +vn -0.958810 0.003900 0.284023 +vn -0.953887 -0.040452 0.297429 +vn -0.917766 0.017738 0.396725 +vn -0.900546 0.060305 0.430558 +vn -0.958810 0.003900 0.284023 +vn -0.917766 0.017738 0.396725 +vn -0.953776 -0.066538 0.293060 +vn -0.866504 0.227507 -0.444311 +vn -0.897776 0.412568 -0.154225 +vn -0.770561 -0.387874 -0.505757 +vn -0.866504 0.227507 -0.444311 +vn -0.953776 -0.066538 0.293060 +vn -0.715138 -0.403393 0.570835 +vn -0.770561 -0.387874 -0.505757 +vn -0.953776 -0.066538 0.293060 +vn -0.534600 -0.774839 -0.337383 +vn -0.770561 -0.387874 -0.505757 +vn -0.715138 -0.403393 0.570835 +vn -0.225159 -0.900449 -0.372149 +vn -0.534600 -0.774839 -0.337383 +vn -0.715138 -0.403393 0.570835 +vn -0.209061 -0.967138 -0.144696 +vn -0.534600 -0.774839 -0.337383 +vn -0.225159 -0.900449 -0.372149 +vn 0.210787 -0.967390 -0.140445 +vn -0.209061 -0.967138 -0.144696 +vn -0.225159 -0.900449 -0.372149 +vn -0.208557 -0.969731 0.126988 +vn -0.209061 -0.967138 -0.144696 +vn 0.210787 -0.967390 -0.140445 +vn 0.209235 -0.970340 0.121079 +vn -0.208557 -0.969731 0.126988 +vn 0.210787 -0.967390 -0.140445 +vn -0.165321 -0.847029 0.505184 +vn -0.208557 -0.969731 0.126988 +vn 0.209235 -0.970340 0.121079 +vn 0.175951 -0.847094 0.501471 +vn -0.165321 -0.847029 0.505184 +vn 0.209235 -0.970340 0.121079 +vn -0.107658 -0.616227 0.780176 +vn -0.165321 -0.847029 0.505184 +vn 0.175951 -0.847094 0.501471 +vn 0.120613 -0.610933 0.782441 +vn -0.107658 -0.616227 0.780176 +vn 0.175951 -0.847094 0.501471 +vn -0.082778 -0.341536 0.936216 +vn -0.107658 -0.616227 0.780176 +vn 0.120613 -0.610933 0.782441 +vn 0.088369 -0.330708 0.939587 +vn -0.082778 -0.341536 0.936216 +vn 0.120613 -0.610933 0.782441 +vn 0.000000 -0.073567 0.997290 +vn -0.082778 -0.341536 0.936216 +vn 0.088369 -0.330708 0.939587 +vn 0.214833 -0.197629 0.956446 +vn 0.000000 -0.073567 0.997290 +vn 0.088369 -0.330708 0.939587 +vn 0.227538 0.053154 0.972317 +vn 0.000000 -0.073567 0.997290 +vn 0.214833 -0.197629 0.956446 +vn 0.516124 0.003038 0.856508 +vn 0.227538 0.053154 0.972317 +vn 0.214833 -0.197629 0.956446 +vn 0.732422 0.235333 0.638887 +vn 0.848829 0.417463 0.324367 +vn 0.928642 0.090721 0.359713 +vn 0.710183 0.443645 0.546644 +vn 0.848829 0.417463 0.324367 +vn 0.732422 0.235333 0.638887 +vn 0.441597 0.362120 0.820891 +vn 0.710183 0.443645 0.546644 +vn 0.732422 0.235333 0.638887 +vn 0.417119 0.505014 0.755627 +vn 0.710183 0.443645 0.546644 +vn 0.441597 0.362120 0.820891 +vn 0.111154 0.658820 0.744044 +vn 0.417119 0.505014 0.755627 +vn 0.441597 0.362120 0.820891 +vn 0.227248 0.485056 0.844440 +vn 0.417119 0.505014 0.755627 +vn 0.111154 0.658820 0.744044 +vn 0.318551 0.401296 0.858771 +vn 0.227248 0.485056 0.844440 +vn 0.111154 0.658820 0.744044 +vn 0.355214 0.145919 0.923326 +vn 0.227248 0.485056 0.844440 +vn 0.318551 0.401296 0.858771 +vn 0.270205 0.073026 0.960029 +vn 0.355214 0.145919 0.923326 +vn 0.318551 0.401296 0.858771 +vn 0.315829 -0.009877 0.948765 +vn 0.355214 0.145919 0.923326 +vn 0.270205 0.073026 0.960029 +vn 0.715138 -0.403394 0.570834 +vn 0.315829 -0.009877 0.948765 +vn 0.270205 0.073026 0.960029 +vn 0.439610 -0.127960 0.889027 +vn 0.315829 -0.009877 0.948765 +vn 0.715138 -0.403394 0.570834 +vn 0.411174 -0.175110 0.894580 +vn 0.439610 -0.127960 0.889027 +vn 0.715138 -0.403394 0.570834 +vn 0.185412 -0.945621 0.267251 +vn 0.439610 -0.127960 0.889027 +vn 0.411174 -0.175110 0.894580 +vn 0.000000 -0.560674 0.828037 +vn 0.185412 -0.945621 0.267251 +vn 0.411174 -0.175110 0.894580 +vn 0.000000 -0.950066 0.312049 +vn 0.185412 -0.945621 0.267251 +vn 0.000000 -0.560674 0.828037 +vn -0.185412 -0.945621 0.267252 +vn 0.000000 -0.950066 0.312049 +vn 0.000000 -0.560674 0.828037 +vn -0.103824 -0.991062 -0.083762 +vn 0.000000 -0.950066 0.312049 +vn -0.185412 -0.945621 0.267252 +vn -0.055913 -0.993616 -0.097989 +vn -0.103824 -0.991062 -0.083762 +vn -0.185412 -0.945621 0.267252 +vn -0.108493 0.230728 0.966951 +vn -0.227538 0.053154 0.972317 +vn 0.000000 -0.073567 0.997290 +vn -0.297022 0.464072 0.834515 +vn -0.227538 0.053154 0.972317 +vn -0.108493 0.230728 0.966951 +vn -0.107367 0.612882 0.782846 +vn -0.297022 0.464072 0.834515 +vn -0.108493 0.230728 0.966951 +vn -0.418322 0.724650 0.547622 +vn -0.297022 0.464072 0.834515 +vn -0.107367 0.612882 0.782846 +vn -0.135285 0.844558 0.518092 +vn -0.418322 0.724650 0.547622 +vn -0.107367 0.612882 0.782846 +vn -0.463713 0.849858 0.250423 +vn -0.418322 0.724650 0.547622 +vn -0.135285 0.844558 0.518092 +vn -0.142162 0.962413 0.231410 +vn -0.463713 0.849858 0.250423 +vn -0.135285 0.844558 0.518092 +vn -0.141695 0.989910 0.000789 +vn -0.463713 0.849858 0.250423 +vn -0.142162 0.962413 0.231410 +vn 0.137219 0.962833 0.232646 +vn -0.141695 0.989910 0.000789 +vn -0.142162 0.962413 0.231410 +vn 0.141972 0.989866 0.003080 +vn -0.141695 0.989910 0.000789 +vn 0.137219 0.962833 0.232646 +vn 0.463711 0.849858 0.250428 +vn 0.141972 0.989866 0.003080 +vn 0.137219 0.962833 0.232646 +vn 0.477923 0.878393 -0.003830 +vn 0.141972 0.989866 0.003080 +vn 0.463711 0.849858 0.250428 +vn 0.797663 0.547759 0.252376 +vn 0.477923 0.878393 -0.003830 +vn 0.463711 0.849858 0.250428 +vn 0.815637 0.576945 -0.043250 +vn 0.477923 0.878393 -0.003830 +vn 0.797663 0.547759 0.252376 +vn 0.988106 0.144731 -0.051951 +vn 0.815637 0.576945 -0.043250 +vn 0.797663 0.547759 0.252376 +vn 0.938143 0.224956 -0.263217 +vn 0.815637 0.576945 -0.043250 +vn 0.988106 0.144731 -0.051951 +vn -0.297022 0.464072 0.834515 +vn -0.454626 0.282523 0.844687 +vn -0.227538 0.053154 0.972317 +vn -0.678646 0.454710 0.576782 +vn -0.454626 0.282523 0.844687 +vn -0.297022 0.464072 0.834515 +vn -0.418322 0.724650 0.547622 +vn -0.678646 0.454710 0.576782 +vn -0.297022 0.464072 0.834515 +vn -0.797663 0.547759 0.252376 +vn -0.678646 0.454710 0.576782 +vn -0.418322 0.724650 0.547622 +vn -0.463713 0.849858 0.250423 +vn -0.797663 0.547759 0.252376 +vn -0.418322 0.724650 0.547622 +vn -0.477923 0.878393 -0.003831 +vn -0.797663 0.547759 0.252376 +vn -0.463713 0.849858 0.250423 +vn -0.141695 0.989910 0.000789 +vn -0.477923 0.878393 -0.003831 +vn -0.463713 0.849858 0.250423 +vn -0.132342 0.980470 -0.145479 +vn -0.477923 0.878393 -0.003831 +vn -0.141695 0.989910 0.000789 +vn 0.141972 0.989866 0.003080 +vn -0.132342 0.980470 -0.145479 +vn -0.141695 0.989910 0.000789 +vn 0.135234 0.979965 -0.146220 +vn -0.132342 0.980470 -0.145479 +vn 0.141972 0.989866 0.003080 +vn 0.477923 0.878393 -0.003830 +vn 0.135234 0.979965 -0.146220 +vn 0.141972 0.989866 0.003080 +vn 0.472023 0.860583 -0.191286 +vn 0.135234 0.979965 -0.146220 +vn 0.477923 0.878393 -0.003830 +vn 0.815637 0.576945 -0.043250 +vn 0.472023 0.860583 -0.191286 +vn 0.477923 0.878393 -0.003830 +vn 0.778200 0.575732 -0.250872 +vn 0.472023 0.860583 -0.191286 +vn 0.815637 0.576945 -0.043250 +vn 0.938143 0.224956 -0.263217 +vn 0.778200 0.575732 -0.250872 +vn 0.815637 0.576945 -0.043250 +vn 0.863954 0.217316 -0.454266 +vn 0.778200 0.575732 -0.250872 +vn 0.938143 0.224956 -0.263217 +vn -0.275917 -0.902646 -0.330302 +vn -0.415860 -0.884291 -0.212345 +vn -0.391375 -0.864261 -0.316035 +vn -0.289959 -0.924842 -0.246154 +vn -0.415860 -0.884291 -0.212345 +vn -0.275917 -0.902646 -0.330302 +vn 0.000000 -0.964574 -0.263814 +vn -0.289959 -0.924842 -0.246154 +vn -0.275917 -0.902646 -0.330302 +vn 0.000000 -0.996058 -0.088710 +vn -0.289959 -0.924842 -0.246154 +vn 0.000000 -0.964574 -0.263814 +vn 0.289959 -0.924842 -0.246154 +vn 0.000000 -0.996058 -0.088710 +vn 0.000000 -0.964574 -0.263814 +vn 0.336675 -0.940082 -0.053812 +vn 0.000000 -0.996058 -0.088710 +vn 0.289959 -0.924842 -0.246154 +vn 0.415860 -0.884291 -0.212345 +vn 0.336675 -0.940082 -0.053812 +vn 0.289959 -0.924842 -0.246154 +vn 0.487050 -0.872928 0.027896 +vn 0.336675 -0.940082 -0.053812 +vn 0.415860 -0.884291 -0.212345 +vn 0.451193 -0.888173 -0.087030 +vn 0.487050 -0.872928 0.027896 +vn 0.415860 -0.884291 -0.212345 +vn 0.492921 -0.861827 0.119515 +vn 0.487050 -0.872928 0.027896 +vn 0.451193 -0.888173 -0.087030 +vn 0.640604 -0.766170 -0.051084 +vn 0.492921 -0.861827 0.119515 +vn 0.451193 -0.888173 -0.087030 +vn 0.634958 -0.752318 0.175631 +vn 0.492921 -0.861827 0.119515 +vn 0.640604 -0.766170 -0.051084 +vn 0.818436 -0.534372 0.211209 +vn 0.634958 -0.752318 0.175631 +vn 0.640604 -0.766170 -0.051084 +vn 0.585442 -0.740016 0.331110 +vn 0.634958 -0.752318 0.175631 +vn 0.818436 -0.534372 0.211209 +vn 0.749273 -0.527163 0.400860 +vn 0.585442 -0.740016 0.331110 +vn 0.818436 -0.534372 0.211209 +vn 0.582219 -0.492600 0.646812 +vn 0.585442 -0.740016 0.331110 +vn 0.749273 -0.527163 0.400860 +vn -0.454626 0.282523 0.844687 +vn -0.516124 0.003038 0.856508 +vn -0.227538 0.053154 0.972317 +vn -0.819687 0.078932 0.567347 +vn -0.516124 0.003038 0.856508 +vn -0.454626 0.282523 0.844687 +vn -0.678646 0.454710 0.576782 +vn -0.819687 0.078932 0.567347 +vn -0.454626 0.282523 0.844687 +vn -0.970510 0.098944 0.219818 +vn -0.819687 0.078932 0.567347 +vn -0.678646 0.454710 0.576782 +vn -0.797663 0.547759 0.252376 +vn -0.970510 0.098944 0.219818 +vn -0.678646 0.454710 0.576782 +vn -0.988106 0.144731 -0.051952 +vn -0.970510 0.098944 0.219818 +vn -0.797663 0.547759 0.252376 +vn -0.815638 0.576944 -0.043251 +vn -0.988106 0.144731 -0.051952 +vn -0.797663 0.547759 0.252376 +vn -0.934016 0.231580 -0.272001 +vn -0.988106 0.144731 -0.051952 +vn -0.815638 0.576944 -0.043251 +vn -0.781975 0.564297 -0.264733 +vn -0.934016 0.231580 -0.272001 +vn -0.815638 0.576944 -0.043251 +vn -0.757971 0.530639 -0.379344 +vn -0.934016 0.231580 -0.272001 +vn -0.781975 0.564297 -0.264733 +vn -0.498917 0.827391 -0.257886 +vn -0.757971 0.530639 -0.379344 +vn -0.781975 0.564297 -0.264733 +vn -0.751480 0.649730 -0.114578 +vn -0.757971 0.530639 -0.379344 +vn -0.498917 0.827391 -0.257886 +vn -0.178991 0.966609 -0.183381 +vn -0.751480 0.649730 -0.114578 +vn -0.498917 0.827391 -0.257886 +vn -0.359308 0.743693 0.563753 +vn -0.751480 0.649730 -0.114578 +vn -0.178991 0.966609 -0.183381 +vn 0.000000 0.721559 0.692353 +vn -0.359308 0.743693 0.563753 +vn -0.178991 0.966609 -0.183381 +vn -0.655266 0.101587 0.748536 +vn -0.684284 0.167393 0.709743 +vn 0.230196 -0.569089 0.789397 +vn -0.605216 0.446777 0.658865 +vn -0.684284 0.167393 0.709743 +vn -0.655266 0.101587 0.748536 +vn -0.513941 0.333271 0.790440 +vn -0.605216 0.446777 0.658865 +vn -0.655266 0.101587 0.748536 +vn -0.459704 0.684301 0.566042 +vn -0.605216 0.446777 0.658865 +vn -0.513941 0.333271 0.790440 +vn -0.305038 0.542687 0.782587 +vn -0.459704 0.684301 0.566042 +vn -0.513941 0.333271 0.790440 +vn 0.194266 0.765610 0.613272 +vn -0.459704 0.684301 0.566042 +vn -0.305038 0.542687 0.782587 +vn 0.227556 0.601623 0.765682 +vn 0.194266 0.765610 0.613272 +vn -0.305038 0.542687 0.782587 +vn 0.520709 0.722807 0.454327 +vn 0.194266 0.765610 0.613272 +vn 0.227556 0.601623 0.765682 +vn 0.540653 0.581442 0.607963 +vn 0.520709 0.722807 0.454327 +vn 0.227556 0.601623 0.765682 +vn 0.838991 0.470624 0.273145 +vn 0.520709 0.722807 0.454327 +vn 0.540653 0.581442 0.607963 +vn 0.832191 0.351341 0.428974 +vn 0.838991 0.470624 0.273145 +vn 0.540653 0.581442 0.607963 +vn 0.887793 0.002013 0.460239 +vn 0.838991 0.470624 0.273145 +vn 0.832191 0.351341 0.428974 +vn 0.770521 0.008420 0.637360 +vn 0.887793 0.002013 0.460239 +vn 0.832191 0.351341 0.428974 +vn 0.561743 -0.418037 0.713926 +vn 0.887793 0.002013 0.460239 +vn 0.770521 0.008420 0.637360 +vn 0.513773 -0.431573 0.741473 +vn 0.561743 -0.418037 0.713926 +vn 0.770521 0.008420 0.637360 +vn 0.267246 -0.587430 -0.763875 +vn 0.417399 -0.302810 -0.856787 +vn 0.114261 -0.650981 -0.750446 +vn 0.149027 -0.306153 -0.940245 +vn 0.417399 -0.302810 -0.856787 +vn 0.267246 -0.587430 -0.763875 +vn -0.625968 -0.762308 -0.164473 +vn 0.149027 -0.306153 -0.940245 +vn 0.267246 -0.587430 -0.763875 +vn -0.752898 -0.532062 -0.387369 +vn 0.149027 -0.306153 -0.940245 +vn -0.625968 -0.762308 -0.164473 +vn -0.650743 -0.221434 0.726293 +vn -0.752898 -0.532062 -0.387369 +vn -0.625968 -0.762308 -0.164473 +vn -0.662467 -0.224880 0.714540 +vn -0.752898 -0.532062 -0.387369 +vn -0.650743 -0.221434 0.726293 +vn -0.610137 -0.218613 0.761539 +vn -0.662467 -0.224880 0.714540 +vn -0.650743 -0.221434 0.726293 +vn -0.698405 -0.212019 0.683578 +vn -0.662467 -0.224880 0.714540 +vn -0.610137 -0.218613 0.761539 +vn -0.603964 -0.406514 0.685546 +vn -0.698405 -0.212019 0.683578 +vn -0.610137 -0.218613 0.761539 +vn -0.698754 -0.139913 0.701546 +vn -0.698405 -0.212019 0.683578 +vn -0.603964 -0.406514 0.685546 +vn -0.632986 -0.299999 0.713673 +vn -0.698754 -0.139913 0.701546 +vn -0.603964 -0.406514 0.685546 +vn -0.406653 0.860707 0.306296 +vn -0.698754 -0.139913 0.701546 +vn -0.632986 -0.299999 0.713673 +vn -0.029691 0.592999 0.804656 +vn -0.406653 0.860707 0.306296 +vn -0.632986 -0.299999 0.713673 +vn 0.633183 0.741495 0.221954 +vn -0.406653 0.860707 0.306296 +vn -0.029691 0.592999 0.804656 +vn 0.143818 0.363847 0.920289 +vn 0.633183 0.741495 0.221954 +vn -0.029691 0.592999 0.804656 +vn 0.392841 -0.833639 -0.388229 +vn -0.625968 -0.762308 -0.164473 +vn 0.267246 -0.587430 -0.763875 +vn -0.587806 -0.773852 0.235877 +vn -0.625968 -0.762308 -0.164473 +vn 0.392841 -0.833639 -0.388229 +vn -0.570129 -0.618899 0.540294 +vn -0.587806 -0.773852 0.235877 +vn 0.392841 -0.833639 -0.388229 +vn -0.738391 0.119928 0.663623 +vn -0.587806 -0.773852 0.235877 +vn -0.570129 -0.618899 0.540294 +vn -0.825320 0.121391 0.551463 +vn -0.738391 0.119928 0.663623 +vn -0.570129 -0.618899 0.540294 +vn -0.711142 0.084585 0.697942 +vn -0.738391 0.119928 0.663623 +vn -0.825320 0.121391 0.551463 +vn -0.908308 0.035636 0.416781 +vn -0.711142 0.084585 0.697942 +vn -0.825320 0.121391 0.551463 +vn -0.610137 -0.218613 0.761539 +vn -0.711142 0.084585 0.697942 +vn -0.908308 0.035636 0.416781 +vn -0.847166 -0.158052 0.507276 +vn -0.610137 -0.218613 0.761539 +vn -0.908308 0.035636 0.416781 +vn -0.741241 -0.314158 0.593184 +vn -0.610137 -0.218613 0.761539 +vn -0.847166 -0.158052 0.507276 +vn -0.938437 0.074258 0.337375 +vn -0.741241 -0.314158 0.593184 +vn -0.847166 -0.158052 0.507276 +vn 0.143818 0.363847 0.920289 +vn -0.741241 -0.314158 0.593184 +vn -0.938437 0.074258 0.337375 +vn 0.481867 -0.005280 0.876228 +vn 0.000000 0.721559 0.692353 +vn 0.371646 0.724078 0.581025 +vn 0.000000 0.022931 0.999737 +vn 0.000000 0.721559 0.692353 +vn 0.481867 -0.005280 0.876228 +vn 0.386383 -0.177727 0.905053 +vn 0.000000 0.022931 0.999737 +vn 0.481867 -0.005280 0.876228 +vn 0.000000 -0.081839 0.996646 +vn 0.000000 0.022931 0.999737 +vn 0.386383 -0.177727 0.905053 +vn 0.324924 -0.245692 0.913269 +vn 0.000000 -0.081839 0.996646 +vn 0.386383 -0.177727 0.905053 +vn 0.000000 -0.043449 0.999056 +vn 0.000000 -0.081839 0.996646 +vn 0.324924 -0.245692 0.913269 +vn 0.211351 0.118029 0.970258 +vn 0.000000 -0.043449 0.999056 +vn 0.324924 -0.245692 0.913269 +vn 0.000000 0.179632 0.983734 +vn 0.000000 -0.043449 0.999056 +vn 0.211351 0.118029 0.970258 +vn 0.000000 0.220227 0.975449 +vn 0.000000 0.179632 0.983734 +vn 0.211351 0.118029 0.970258 +vn -0.211351 0.118028 0.970258 +vn 0.000000 0.179632 0.983734 +vn 0.000000 0.220227 0.975449 +vn -0.282840 0.242462 0.928016 +vn -0.211351 0.118028 0.970258 +vn 0.000000 0.220227 0.975449 +vn -0.418688 0.101883 0.902397 +vn -0.211351 0.118028 0.970258 +vn -0.282840 0.242462 0.928016 +vn -0.214832 -0.197629 0.956447 +vn -0.082778 -0.341536 0.936216 +vn 0.000000 -0.073567 0.997290 +vn -0.321858 -0.479906 0.816148 +vn -0.082778 -0.341536 0.936216 +vn -0.214832 -0.197629 0.956447 +vn -0.475027 -0.291238 0.830380 +vn -0.321858 -0.479906 0.816148 +vn -0.214832 -0.197629 0.956447 +vn -0.523516 -0.688565 0.501807 +vn -0.321858 -0.479906 0.816148 +vn -0.475027 -0.291238 0.830380 +vn -0.742275 -0.378226 0.553147 +vn -0.523516 -0.688565 0.501807 +vn -0.475027 -0.291238 0.830380 +vn -0.883322 -0.435424 0.173631 +vn -0.523516 -0.688565 0.501807 +vn -0.742275 -0.378226 0.553147 +vn -0.970510 0.098944 0.219818 +vn -0.883322 -0.435424 0.173631 +vn -0.742275 -0.378226 0.553147 +vn -0.894383 -0.445642 -0.038505 +vn -0.883322 -0.435424 0.173631 +vn -0.970510 0.098944 0.219818 +vn -0.988106 0.144731 -0.051952 +vn -0.894383 -0.445642 -0.038505 +vn -0.970510 0.098944 0.219818 +vn -0.880312 -0.404778 -0.247399 +vn -0.894383 -0.445642 -0.038505 +vn -0.988106 0.144731 -0.051952 +vn -0.934016 0.231580 -0.272001 +vn -0.880312 -0.404778 -0.247399 +vn -0.988106 0.144731 -0.051952 +vn -0.866504 0.227507 -0.444311 +vn -0.880312 -0.404778 -0.247399 +vn -0.934016 0.231580 -0.272001 +vn -0.477923 0.878393 -0.003831 +vn -0.815638 0.576944 -0.043251 +vn -0.797663 0.547759 0.252376 +vn -0.472023 0.860583 -0.191289 +vn -0.815638 0.576944 -0.043251 +vn -0.477923 0.878393 -0.003831 +vn -0.132342 0.980470 -0.145479 +vn -0.472023 0.860583 -0.191289 +vn -0.477923 0.878393 -0.003831 +vn -0.178991 0.966609 -0.183381 +vn -0.472023 0.860583 -0.191289 +vn -0.132342 0.980470 -0.145479 +vn 0.135234 0.979965 -0.146220 +vn -0.178991 0.966609 -0.183381 +vn -0.132342 0.980470 -0.145479 +vn 0.181498 0.965226 -0.188144 +vn -0.178991 0.966609 -0.183381 +vn 0.135234 0.979965 -0.146220 +vn 0.472023 0.860583 -0.191286 +vn 0.181498 0.965226 -0.188144 +vn 0.135234 0.979965 -0.146220 +vn 0.497391 0.819806 -0.283762 +vn 0.181498 0.965226 -0.188144 +vn 0.472023 0.860583 -0.191286 +vn 0.778200 0.575732 -0.250872 +vn 0.497391 0.819806 -0.283762 +vn 0.472023 0.860583 -0.191286 +vn 0.729643 0.551281 -0.404611 +vn 0.497391 0.819806 -0.283762 +vn 0.778200 0.575732 -0.250872 +vn 0.863954 0.217316 -0.454266 +vn 0.729643 0.551281 -0.404611 +vn 0.778200 0.575732 -0.250872 +vn 0.887086 0.435043 -0.154323 +vn 0.729643 0.551281 -0.404611 +vn 0.863954 0.217316 -0.454266 +vn 0.606085 -0.641296 0.470532 +vn 0.517508 -0.588904 0.620788 +vn 0.230196 -0.569089 0.789397 +vn 0.435947 -0.519384 0.734977 +vn 0.517508 -0.588904 0.620788 +vn 0.606085 -0.641296 0.470532 +vn 0.542110 -0.662603 0.516792 +vn 0.435947 -0.519384 0.734977 +vn 0.606085 -0.641296 0.470532 +vn 0.454210 -0.399028 0.796536 +vn 0.435947 -0.519384 0.734977 +vn 0.542110 -0.662603 0.516792 +vn 0.493925 -0.607099 0.622470 +vn 0.454210 -0.399028 0.796536 +vn 0.542110 -0.662603 0.516792 +vn 0.499464 -0.361652 0.787238 +vn 0.454210 -0.399028 0.796536 +vn 0.493925 -0.607099 0.622470 +vn 0.478616 -0.616326 0.625355 +vn 0.499464 -0.361652 0.787238 +vn 0.493925 -0.607099 0.622470 +vn 0.513773 -0.431573 0.741473 +vn 0.499464 -0.361652 0.787238 +vn 0.478616 -0.616326 0.625355 +vn 0.398322 -0.701356 0.591135 +vn 0.513773 -0.431573 0.741473 +vn 0.478616 -0.616326 0.625355 +vn 0.561743 -0.418037 0.713926 +vn 0.513773 -0.431573 0.741473 +vn 0.398322 -0.701356 0.591135 +vn 0.424603 -0.587797 0.688627 +vn 0.561743 -0.418037 0.713926 +vn 0.398322 -0.701356 0.591135 +vn 0.887793 0.002013 0.460239 +vn 0.561743 -0.418037 0.713926 +vn 0.424603 -0.587797 0.688627 +vn -0.084974 -0.274360 0.957865 +vn -0.655266 0.101587 0.748536 +vn 0.230196 -0.569089 0.789397 +vn -0.513941 0.333271 0.790440 +vn -0.655266 0.101587 0.748536 +vn -0.084974 -0.274360 0.957865 +vn -0.052995 -0.034711 0.997991 +vn -0.513941 0.333271 0.790440 +vn -0.084974 -0.274360 0.957865 +vn -0.305038 0.542687 0.782587 +vn -0.513941 0.333271 0.790440 +vn -0.052995 -0.034711 0.997991 +vn 0.128405 0.127766 0.983457 +vn -0.305038 0.542687 0.782587 +vn -0.052995 -0.034711 0.997991 +vn 0.227556 0.601623 0.765682 +vn -0.305038 0.542687 0.782587 +vn 0.128405 0.127766 0.983457 +vn 0.396721 0.200943 0.895675 +vn 0.227556 0.601623 0.765682 +vn 0.128405 0.127766 0.983457 +vn 0.540653 0.581442 0.607963 +vn 0.227556 0.601623 0.765682 +vn 0.396721 0.200943 0.895675 +vn 0.578998 0.169825 0.797446 +vn 0.540653 0.581442 0.607963 +vn 0.396721 0.200943 0.895675 +vn 0.832191 0.351341 0.428974 +vn 0.540653 0.581442 0.607963 +vn 0.578998 0.169825 0.797446 +vn 0.770521 0.008420 0.637360 +vn 0.832191 0.351341 0.428974 +vn 0.578998 0.169825 0.797446 +vn 0.854163 -0.519720 -0.017252 +vn 0.986850 -0.152081 0.054751 +vn 0.993473 -0.113722 0.008819 +vn 0.842992 -0.498154 -0.202997 +vn 0.986850 -0.152081 0.054751 +vn 0.854163 -0.519720 -0.017252 +vn 0.640604 -0.766170 -0.051084 +vn 0.842992 -0.498154 -0.202997 +vn 0.854163 -0.519720 -0.017252 +vn 0.627673 -0.741330 -0.237607 +vn 0.842992 -0.498154 -0.202997 +vn 0.640604 -0.766170 -0.051084 +vn 0.451193 -0.888173 -0.087030 +vn 0.627673 -0.741330 -0.237607 +vn 0.640604 -0.766170 -0.051084 +vn 0.353775 -0.900813 -0.251754 +vn 0.627673 -0.741330 -0.237607 +vn 0.451193 -0.888173 -0.087030 +vn 0.415860 -0.884291 -0.212345 +vn 0.353775 -0.900813 -0.251754 +vn 0.451193 -0.888173 -0.087030 +vn 0.391375 -0.864261 -0.316035 +vn 0.353775 -0.900813 -0.251754 +vn 0.415860 -0.884291 -0.212345 +vn 0.275917 -0.902646 -0.330302 +vn 0.391375 -0.864261 -0.316035 +vn 0.415860 -0.884291 -0.212345 +vn 0.266007 -0.843569 -0.466510 +vn 0.391375 -0.864261 -0.316035 +vn 0.275917 -0.902646 -0.330302 +vn 0.075104 -0.867682 -0.491414 +vn 0.266007 -0.843569 -0.466510 +vn 0.275917 -0.902646 -0.330302 +vn 0.517508 -0.588904 0.620788 +vn -0.084974 -0.274360 0.957865 +vn 0.230196 -0.569089 0.789397 +vn -0.052995 -0.034711 0.997991 +vn -0.084974 -0.274360 0.957865 +vn 0.517508 -0.588904 0.620788 +vn 0.435947 -0.519384 0.734977 +vn -0.052995 -0.034711 0.997991 +vn 0.517508 -0.588904 0.620788 +vn 0.128405 0.127766 0.983457 +vn -0.052995 -0.034711 0.997991 +vn 0.435947 -0.519384 0.734977 +vn 0.454210 -0.399028 0.796536 +vn 0.128405 0.127766 0.983457 +vn 0.435947 -0.519384 0.734977 +vn 0.396721 0.200943 0.895675 +vn 0.128405 0.127766 0.983457 +vn 0.454210 -0.399028 0.796536 +vn 0.499464 -0.361652 0.787238 +vn 0.396721 0.200943 0.895675 +vn 0.454210 -0.399028 0.796536 +vn 0.578998 0.169825 0.797446 +vn 0.396721 0.200943 0.895675 +vn 0.499464 -0.361652 0.787238 +vn 0.513773 -0.431573 0.741473 +vn 0.578998 0.169825 0.797446 +vn 0.499464 -0.361652 0.787238 +vn 0.770521 0.008420 0.637360 +vn 0.578998 0.169825 0.797446 +vn 0.513773 -0.431573 0.741473 +vn 0.748568 0.064561 0.659908 +vn 0.900546 0.060305 0.430558 +vn 0.812185 0.121577 0.570591 +vn 0.917766 0.017738 0.396725 +vn 0.900546 0.060305 0.430558 +vn 0.748568 0.064561 0.659908 +vn 0.834699 -0.040261 0.549233 +vn 0.917766 0.017738 0.396725 +vn 0.748568 0.064561 0.659908 +vn 0.923015 -0.029399 0.383638 +vn 0.917766 0.017738 0.396725 +vn 0.834699 -0.040261 0.549233 +vn 0.824573 -0.070645 0.561327 +vn 0.923015 -0.029399 0.383638 +vn 0.834699 -0.040261 0.549233 +vn 0.814414 -0.037911 0.579045 +vn 0.923015 -0.029399 0.383638 +vn 0.824573 -0.070645 0.561327 +vn 0.615929 -0.094497 0.782114 +vn 0.814414 -0.037911 0.579045 +vn 0.824573 -0.070645 0.561327 +vn 0.593065 -0.094030 0.799645 +vn 0.814414 -0.037911 0.579045 +vn 0.615929 -0.094497 0.782114 +vn 0.415598 -0.087941 0.905287 +vn 0.593065 -0.094030 0.799645 +vn 0.615929 -0.094497 0.782114 +vn 0.419965 -0.088747 0.903191 +vn 0.593065 -0.094030 0.799645 +vn 0.415598 -0.087941 0.905287 +vn 0.000000 -0.996058 -0.088710 +vn -0.336674 -0.940082 -0.053812 +vn -0.289959 -0.924842 -0.246154 +vn 0.000000 -0.994178 0.107750 +vn -0.336674 -0.940082 -0.053812 +vn 0.000000 -0.996058 -0.088710 +vn 0.336675 -0.940082 -0.053812 +vn 0.000000 -0.994178 0.107750 +vn 0.000000 -0.996058 -0.088710 +vn 0.370623 -0.917629 0.143515 +vn 0.000000 -0.994178 0.107750 +vn 0.336675 -0.940082 -0.053812 +vn 0.487050 -0.872928 0.027896 +vn 0.370623 -0.917629 0.143515 +vn 0.336675 -0.940082 -0.053812 +vn 0.559975 -0.793320 0.238898 +vn 0.370623 -0.917629 0.143515 +vn 0.487050 -0.872928 0.027896 +vn 0.492921 -0.861827 0.119515 +vn 0.559975 -0.793320 0.238898 +vn 0.487050 -0.872928 0.027896 +vn 0.494727 -0.812267 0.308979 +vn 0.559975 -0.793320 0.238898 +vn 0.492921 -0.861827 0.119515 +vn 0.634958 -0.752318 0.175631 +vn 0.494727 -0.812267 0.308979 +vn 0.492921 -0.861827 0.119515 +vn 0.585442 -0.740016 0.331110 +vn 0.494727 -0.812267 0.308979 +vn 0.634958 -0.752318 0.175631 +vn 0.855432 0.516273 0.041204 +vn 0.887086 0.435043 -0.154323 +vn 0.593637 0.705269 0.387544 +vn 0.745563 0.658429 -0.102994 +vn 0.887086 0.435043 -0.154323 +vn 0.855432 0.516273 0.041204 +vn 0.912899 0.359760 0.192844 +vn 0.745563 0.658429 -0.102994 +vn 0.855432 0.516273 0.041204 +vn 0.702288 0.300993 0.645132 +vn 0.745563 0.658429 -0.102994 +vn 0.912899 0.359760 0.192844 +vn 0.844453 0.152683 0.513407 +vn 0.702288 0.300993 0.645132 +vn 0.912899 0.359760 0.192844 +vn 0.481867 -0.005280 0.876228 +vn 0.702288 0.300993 0.645132 +vn 0.844453 0.152683 0.513407 +vn 0.709993 -0.092800 0.698067 +vn 0.481867 -0.005280 0.876228 +vn 0.844453 0.152683 0.513407 +vn 0.386383 -0.177727 0.905053 +vn 0.481867 -0.005280 0.876228 +vn 0.709993 -0.092800 0.698067 +vn 0.652692 -0.293672 0.698391 +vn 0.386383 -0.177727 0.905053 +vn 0.709993 -0.092800 0.698067 +vn 0.520071 -0.594890 0.612888 +vn 0.386383 -0.177727 0.905053 +vn 0.652692 -0.293672 0.698391 +vn 0.736795 0.675808 -0.020419 +vn 0.633183 0.741495 0.221954 +vn 0.143818 0.363847 0.920289 +vn 0.333634 0.907103 -0.256618 +vn 0.633183 0.741495 0.221954 +vn 0.736795 0.675808 -0.020419 +vn 0.487680 0.491973 -0.721201 +vn 0.333634 0.907103 -0.256618 +vn 0.736795 0.675808 -0.020419 +vn 0.116370 0.761084 -0.638129 +vn 0.333634 0.907103 -0.256618 +vn 0.487680 0.491973 -0.721201 +vn 0.117867 0.373556 -0.920089 +vn 0.116370 0.761084 -0.638129 +vn 0.487680 0.491973 -0.721201 +vn -0.871840 0.218340 -0.438431 +vn 0.116370 0.761084 -0.638129 +vn 0.117867 0.373556 -0.920089 +vn 0.122524 0.064870 -0.990343 +vn -0.871840 0.218340 -0.438431 +vn 0.117867 0.373556 -0.920089 +vn -0.839685 -0.148748 -0.522306 +vn -0.871840 0.218340 -0.438431 +vn 0.122524 0.064870 -0.990343 +vn 0.149027 -0.306153 -0.940245 +vn -0.839685 -0.148748 -0.522306 +vn 0.122524 0.064870 -0.990343 +vn -0.752898 -0.532062 -0.387369 +vn -0.839685 -0.148748 -0.522306 +vn 0.149027 -0.306153 -0.940245 +vn 0.321858 -0.479905 0.816149 +vn 0.214833 -0.197629 0.956446 +vn 0.088369 -0.330708 0.939587 +vn 0.475030 -0.291239 0.830378 +vn 0.214833 -0.197629 0.956446 +vn 0.321858 -0.479905 0.816149 +vn 0.523516 -0.688564 0.501807 +vn 0.475030 -0.291239 0.830378 +vn 0.321858 -0.479905 0.816149 +vn 0.742276 -0.378225 0.553148 +vn 0.475030 -0.291239 0.830378 +vn 0.523516 -0.688564 0.501807 +vn 0.883322 -0.435423 0.173634 +vn 0.742276 -0.378225 0.553148 +vn 0.523516 -0.688564 0.501807 +vn 0.970510 0.098944 0.219819 +vn 0.742276 -0.378225 0.553148 +vn 0.883322 -0.435423 0.173634 +vn 0.894383 -0.445642 -0.038505 +vn 0.970510 0.098944 0.219819 +vn 0.883322 -0.435423 0.173634 +vn 0.988106 0.144731 -0.051951 +vn 0.970510 0.098944 0.219819 +vn 0.894383 -0.445642 -0.038505 +vn 0.880311 -0.404779 -0.247400 +vn 0.988106 0.144731 -0.051951 +vn 0.894383 -0.445642 -0.038505 +vn -0.517502 -0.588893 0.620803 +vn -0.606083 -0.641294 0.470538 +vn -0.230139 -0.569071 0.789427 +vn -0.435937 -0.519369 0.734993 +vn -0.606083 -0.641294 0.470538 +vn -0.517502 -0.588893 0.620803 +vn 0.053007 -0.034698 0.997991 +vn -0.435937 -0.519369 0.734993 +vn -0.517502 -0.588893 0.620803 +vn -0.128410 0.127763 0.983457 +vn -0.435937 -0.519369 0.734993 +vn 0.053007 -0.034698 0.997991 +vn 0.305046 0.542684 0.782586 +vn -0.128410 0.127763 0.983457 +vn 0.053007 -0.034698 0.997991 +vn -0.227535 0.601641 0.765674 +vn -0.128410 0.127763 0.983457 +vn 0.305046 0.542684 0.782586 +vn -0.194221 0.765638 0.613251 +vn -0.227535 0.601641 0.765674 +vn 0.305046 0.542684 0.782586 +vn -0.520726 0.722785 0.454341 +vn -0.227535 0.601641 0.765674 +vn -0.194221 0.765638 0.613251 +vn -0.441597 0.362118 0.820891 +vn -0.410192 0.083883 0.908133 +vn -0.419964 -0.088747 0.903191 +vn -0.111154 0.658820 0.744044 +vn -0.410192 0.083883 0.908133 +vn -0.441597 0.362118 0.820891 +vn -0.417119 0.505013 0.755628 +vn -0.111154 0.658820 0.744044 +vn -0.441597 0.362118 0.820891 +vn -0.227248 0.485055 0.844440 +vn -0.111154 0.658820 0.744044 +vn -0.417119 0.505013 0.755628 +vn -0.355215 0.145919 0.923326 +vn -0.227248 0.485055 0.844440 +vn -0.417119 0.505013 0.755628 +vn -0.318550 0.401296 0.858771 +vn -0.227248 0.485055 0.844440 +vn -0.355215 0.145919 0.923326 +vn -0.270204 0.073026 0.960030 +vn -0.318550 0.401296 0.858771 +vn -0.355215 0.145919 0.923326 +vn -0.953776 -0.066538 0.293060 +vn -0.318550 0.401296 0.858771 +vn -0.270204 0.073026 0.960030 +vn -0.640604 -0.766170 -0.051084 +vn -0.854163 -0.519720 -0.017252 +vn -0.842992 -0.498154 -0.202997 +vn -0.818436 -0.534372 0.211209 +vn -0.854163 -0.519720 -0.017252 +vn -0.640604 -0.766170 -0.051084 +vn -0.634957 -0.752318 0.175632 +vn -0.818436 -0.534372 0.211209 +vn -0.640604 -0.766170 -0.051084 +vn -0.585442 -0.740016 0.331110 +vn -0.818436 -0.534372 0.211209 +vn -0.634957 -0.752318 0.175632 +vn -0.494727 -0.812267 0.308977 +vn -0.585442 -0.740016 0.331110 +vn -0.634957 -0.752318 0.175632 +vn -0.538024 -0.687833 0.487254 +vn -0.585442 -0.740016 0.331110 +vn -0.494727 -0.812267 0.308977 +vn -0.559975 -0.793320 0.238898 +vn -0.538024 -0.687833 0.487254 +vn -0.494727 -0.812267 0.308977 +vn -0.392879 -0.830572 0.394711 +vn -0.538024 -0.687833 0.487254 +vn -0.559975 -0.793320 0.238898 +vn 0.797663 0.547759 0.252376 +vn 0.970510 0.098944 0.219819 +vn 0.988106 0.144731 -0.051951 +vn 0.678647 0.454710 0.576782 +vn 0.970510 0.098944 0.219819 +vn 0.797663 0.547759 0.252376 +vn 0.418312 0.724660 0.547615 +vn 0.678647 0.454710 0.576782 +vn 0.797663 0.547759 0.252376 +vn 0.297024 0.464074 0.834513 +vn 0.678647 0.454710 0.576782 +vn 0.418312 0.724660 0.547615 +vn 0.096027 0.617411 0.780758 +vn 0.297024 0.464074 0.834513 +vn 0.418312 0.724660 0.547615 +vn 0.098576 0.251237 0.962893 +vn 0.297024 0.464074 0.834513 +vn 0.096027 0.617411 0.780758 +vn -0.107367 0.612882 0.782846 +vn 0.098576 0.251237 0.962893 +vn 0.096027 0.617411 0.780758 +vn -0.108493 0.230728 0.966951 +vn 0.098576 0.251237 0.962893 +vn -0.107367 0.612882 0.782846 +vn -0.986850 -0.152081 0.054751 +vn -0.854163 -0.519720 -0.017252 +vn -0.993473 -0.113722 0.008819 +vn -0.842992 -0.498154 -0.202997 +vn -0.854163 -0.519720 -0.017252 +vn -0.986850 -0.152081 0.054751 +vn -0.537096 -0.757037 -0.372051 +vn -0.842992 -0.498154 -0.202997 +vn -0.986850 -0.152081 0.054751 +vn -0.722650 -0.500639 -0.476589 +vn -0.842992 -0.498154 -0.202997 +vn -0.537096 -0.757037 -0.372051 +vn 0.114261 -0.650981 -0.750446 +vn -0.722650 -0.500639 -0.476589 +vn -0.537096 -0.757037 -0.372051 +vn -0.716550 -0.384528 -0.581974 +vn -0.722650 -0.500639 -0.476589 +vn 0.114261 -0.650981 -0.750446 +vn -0.462888 -0.208807 -0.861472 +vn -0.716550 -0.384528 -0.581974 +vn 0.114261 -0.650981 -0.750446 +vn -0.522792 -0.452974 -0.722152 +vn -0.716550 -0.384528 -0.581974 +vn -0.462888 -0.208807 -0.861472 +vn -0.674412 -0.134092 0.726077 +vn -0.815069 0.169344 0.554062 +vn -0.844455 -0.127445 0.520244 +vn -0.623360 0.179964 0.760943 +vn -0.815069 0.169344 0.554062 +vn -0.674412 -0.134092 0.726077 +vn -0.428118 -0.171957 0.887212 +vn -0.623360 0.179964 0.760943 +vn -0.674412 -0.134092 0.726077 +vn -0.355215 0.145919 0.923326 +vn -0.623360 0.179964 0.760943 +vn -0.428118 -0.171957 0.887212 +vn -0.315829 -0.009877 0.948765 +vn -0.355215 0.145919 0.923326 +vn -0.428118 -0.171957 0.887212 +vn -0.270204 0.073026 0.960030 +vn -0.355215 0.145919 0.923326 +vn -0.315829 -0.009877 0.948765 +vn -0.715138 -0.403393 0.570835 +vn -0.270204 0.073026 0.960030 +vn -0.315829 -0.009877 0.948765 +vn -0.953776 -0.066538 0.293060 +vn -0.270204 0.073026 0.960030 +vn -0.715138 -0.403393 0.570835 +vn 0.000000 -0.994178 0.107750 +vn -0.370623 -0.917629 0.143515 +vn -0.336674 -0.940082 -0.053812 +vn 0.000000 -0.921140 0.389232 +vn -0.370623 -0.917629 0.143515 +vn 0.000000 -0.994178 0.107750 +vn 0.370623 -0.917629 0.143515 +vn 0.000000 -0.921140 0.389232 +vn 0.000000 -0.994178 0.107750 +vn 0.392879 -0.830572 0.394711 +vn 0.000000 -0.921140 0.389232 +vn 0.370623 -0.917629 0.143515 +vn 0.559975 -0.793320 0.238898 +vn 0.392879 -0.830572 0.394711 +vn 0.370623 -0.917629 0.143515 +vn 0.538024 -0.687833 0.487254 +vn 0.392879 -0.830572 0.394711 +vn 0.559975 -0.793320 0.238898 +vn 0.494727 -0.812267 0.308979 +vn 0.538024 -0.687833 0.487254 +vn 0.559975 -0.793320 0.238898 +vn 0.585442 -0.740016 0.331110 +vn 0.538024 -0.687833 0.487254 +vn 0.494727 -0.812267 0.308979 +vn 0.398438 -0.792085 -0.462437 +vn 0.391375 -0.864261 -0.316035 +vn 0.266007 -0.843569 -0.466510 +vn 0.452697 -0.804042 -0.385463 +vn 0.391375 -0.864261 -0.316035 +vn 0.398438 -0.792085 -0.462437 +vn 0.595399 -0.636457 -0.490330 +vn 0.452697 -0.804042 -0.385463 +vn 0.398438 -0.792085 -0.462437 +vn 0.558729 -0.742385 -0.369712 +vn 0.452697 -0.804042 -0.385463 +vn 0.595399 -0.636457 -0.490330 +vn 0.722650 -0.500639 -0.476589 +vn 0.558729 -0.742385 -0.369712 +vn 0.595399 -0.636457 -0.490330 +vn 0.842992 -0.498154 -0.202997 +vn 0.558729 -0.742385 -0.369712 +vn 0.722650 -0.500639 -0.476589 +vn 0.537096 -0.757037 -0.372052 +vn 0.842992 -0.498154 -0.202997 +vn 0.722650 -0.500639 -0.476589 +vn 0.986850 -0.152081 0.054751 +vn 0.842992 -0.498154 -0.202997 +vn 0.537096 -0.757037 -0.372052 +vn -0.454212 -0.399017 0.796541 +vn -0.493912 -0.607078 0.622500 +vn -0.542116 -0.662594 0.516797 +vn -0.499461 -0.361645 0.787243 +vn -0.493912 -0.607078 0.622500 +vn -0.454212 -0.399017 0.796541 +vn -0.396721 0.200944 0.895675 +vn -0.499461 -0.361645 0.787243 +vn -0.454212 -0.399017 0.796541 +vn -0.579002 0.169821 0.797444 +vn -0.499461 -0.361645 0.787243 +vn -0.396721 0.200944 0.895675 +vn -0.540672 0.581422 0.607965 +vn -0.579002 0.169821 0.797444 +vn -0.396721 0.200944 0.895675 +vn -0.832184 0.351342 0.428986 +vn -0.579002 0.169821 0.797444 +vn -0.540672 0.581422 0.607965 +vn -0.838985 0.470622 0.273163 +vn -0.832184 0.351342 0.428986 +vn -0.540672 0.581422 0.607965 +vn -0.887795 0.002013 0.460235 +vn -0.832184 0.351342 0.428986 +vn -0.838985 0.470622 0.273163 +vn -0.435937 -0.519369 0.734993 +vn -0.542116 -0.662594 0.516797 +vn -0.606083 -0.641294 0.470538 +vn -0.454212 -0.399017 0.796541 +vn -0.542116 -0.662594 0.516797 +vn -0.435937 -0.519369 0.734993 +vn -0.128410 0.127763 0.983457 +vn -0.454212 -0.399017 0.796541 +vn -0.435937 -0.519369 0.734993 +vn -0.396721 0.200944 0.895675 +vn -0.454212 -0.399017 0.796541 +vn -0.128410 0.127763 0.983457 +vn -0.227535 0.601641 0.765674 +vn -0.396721 0.200944 0.895675 +vn -0.128410 0.127763 0.983457 +vn -0.540672 0.581422 0.607965 +vn -0.396721 0.200944 0.895675 +vn -0.227535 0.601641 0.765674 +vn -0.520726 0.722785 0.454341 +vn -0.540672 0.581422 0.607965 +vn -0.227535 0.601641 0.765674 +vn -0.838985 0.470622 0.273163 +vn -0.540672 0.581422 0.607965 +vn -0.520726 0.722785 0.454341 +vn -0.624106 -0.090829 0.776042 +vn -0.616888 -0.080830 0.782889 +vn -0.415597 -0.087941 0.905288 +vn -0.820400 -0.056374 0.569005 +vn -0.616888 -0.080830 0.782889 +vn -0.624106 -0.090829 0.776042 +vn -0.604387 -0.106429 0.789550 +vn -0.820400 -0.056374 0.569005 +vn -0.624106 -0.090829 0.776042 +vn -0.832215 -0.044477 0.552666 +vn -0.820400 -0.056374 0.569005 +vn -0.604387 -0.106429 0.789550 +vn -0.512614 0.130852 0.848590 +vn -0.832215 -0.044477 0.552666 +vn -0.604387 -0.106429 0.789550 +vn -0.748568 0.064561 0.659908 +vn -0.832215 -0.044477 0.552666 +vn -0.512614 0.130852 0.848590 +vn -0.555884 0.220491 0.801484 +vn -0.748568 0.064561 0.659908 +vn -0.512614 0.130852 0.848590 +vn -0.770405 0.180316 0.611525 +vn -0.748568 0.064561 0.659908 +vn -0.555884 0.220491 0.801484 +vn 0.863954 0.217316 -0.454266 +vn 0.953778 -0.066539 0.293054 +vn 0.887086 0.435043 -0.154323 +vn 0.770561 -0.387873 -0.505758 +vn 0.953778 -0.066539 0.293054 +vn 0.863954 0.217316 -0.454266 +vn 0.880311 -0.404779 -0.247400 +vn 0.770561 -0.387873 -0.505758 +vn 0.863954 0.217316 -0.454266 +vn 0.534600 -0.774839 -0.337383 +vn 0.770561 -0.387873 -0.505758 +vn 0.880311 -0.404779 -0.247400 +vn 0.607478 -0.784926 -0.121913 +vn 0.534600 -0.774839 -0.337383 +vn 0.880311 -0.404779 -0.247400 +vn 0.210787 -0.967390 -0.140445 +vn 0.534600 -0.774839 -0.337383 +vn 0.607478 -0.784926 -0.121913 +vn 0.209235 -0.970340 0.121079 +vn 0.210787 -0.967390 -0.140445 +vn 0.607478 -0.784926 -0.121913 +vn 0.837020 -0.176303 0.517990 +vn 0.850364 -0.470192 0.236223 +vn 0.943661 -0.150707 0.294603 +vn 0.751558 -0.494850 0.436216 +vn 0.850364 -0.470192 0.236223 +vn 0.837020 -0.176303 0.517990 +vn 0.393811 -0.208427 0.895249 +vn 0.751558 -0.494850 0.436216 +vn 0.837020 -0.176303 0.517990 +vn 0.348498 -0.541112 0.765341 +vn 0.751558 -0.494850 0.436216 +vn 0.393811 -0.208427 0.895249 +vn 0.000000 -0.542662 0.839951 +vn 0.348498 -0.541112 0.765341 +vn 0.393811 -0.208427 0.895249 +vn 0.138266 -0.962617 0.232917 +vn 0.348498 -0.541112 0.765341 +vn 0.000000 -0.542662 0.839951 +vn -0.000001 -0.961703 0.274094 +vn 0.138266 -0.962617 0.232917 +vn 0.000000 -0.542662 0.839951 +vn -0.512614 0.130852 0.848590 +vn -0.383239 -0.610955 0.692721 +vn -0.418688 0.101883 0.902397 +vn -0.315527 -0.317540 0.894210 +vn -0.383239 -0.610955 0.692721 +vn -0.512614 0.130852 0.848590 +vn -0.604387 -0.106429 0.789550 +vn -0.315527 -0.317540 0.894210 +vn -0.512614 0.130852 0.848590 +vn -0.389857 -0.123048 0.912618 +vn -0.315527 -0.317540 0.894210 +vn -0.604387 -0.106429 0.789550 +vn -0.624106 -0.090829 0.776042 +vn -0.389857 -0.123048 0.912618 +vn -0.604387 -0.106429 0.789550 +vn -0.411455 -0.086606 0.907306 +vn -0.389857 -0.123048 0.912618 +vn -0.624106 -0.090829 0.776042 +vn -0.415597 -0.087941 0.905288 +vn -0.411455 -0.086606 0.907306 +vn -0.624106 -0.090829 0.776042 +vn -0.398438 -0.792085 -0.462437 +vn -0.595399 -0.636457 -0.490329 +vn -0.522792 -0.452974 -0.722152 +vn -0.452697 -0.804042 -0.385463 +vn -0.595399 -0.636457 -0.490329 +vn -0.398438 -0.792085 -0.462437 +vn -0.391375 -0.864261 -0.316035 +vn -0.452697 -0.804042 -0.385463 +vn -0.398438 -0.792085 -0.462437 +vn -0.353775 -0.900813 -0.251754 +vn -0.452697 -0.804042 -0.385463 +vn -0.391375 -0.864261 -0.316035 +vn -0.415860 -0.884291 -0.212345 +vn -0.353775 -0.900813 -0.251754 +vn -0.391375 -0.864261 -0.316035 +vn -0.451193 -0.888173 -0.087029 +vn -0.353775 -0.900813 -0.251754 +vn -0.415860 -0.884291 -0.212345 +vn -0.487051 -0.872928 0.027897 +vn -0.451193 -0.888173 -0.087029 +vn -0.415860 -0.884291 -0.212345 +vn -0.499461 -0.361645 0.787243 +vn -0.478617 -0.616363 0.625318 +vn -0.493912 -0.607078 0.622500 +vn -0.513769 -0.431576 0.741474 +vn -0.478617 -0.616363 0.625318 +vn -0.499461 -0.361645 0.787243 +vn -0.579002 0.169821 0.797444 +vn -0.513769 -0.431576 0.741474 +vn -0.499461 -0.361645 0.787243 +vn -0.770516 0.008416 0.637365 +vn -0.513769 -0.431576 0.741474 +vn -0.579002 0.169821 0.797444 +vn -0.832184 0.351342 0.428986 +vn -0.770516 0.008416 0.637365 +vn -0.579002 0.169821 0.797444 +vn -0.887795 0.002013 0.460235 +vn -0.770516 0.008416 0.637365 +vn -0.832184 0.351342 0.428986 +vn -0.211351 0.118028 0.970258 +vn 0.000000 -0.043449 0.999056 +vn 0.000000 0.179632 0.983734 +vn -0.324923 -0.245693 0.913269 +vn 0.000000 -0.043449 0.999056 +vn -0.211351 0.118028 0.970258 +vn -0.520071 -0.594891 0.612888 +vn -0.324923 -0.245693 0.913269 +vn -0.211351 0.118028 0.970258 +vn -0.386383 -0.177727 0.905053 +vn -0.324923 -0.245693 0.913269 +vn -0.520071 -0.594891 0.612888 +vn -0.652692 -0.293672 0.698391 +vn -0.386383 -0.177727 0.905053 +vn -0.520071 -0.594891 0.612888 +vn -0.709994 -0.092800 0.698067 +vn -0.386383 -0.177727 0.905053 +vn -0.652692 -0.293672 0.698391 +vn 0.305046 0.542684 0.782586 +vn 0.459699 0.684297 0.566051 +vn -0.194221 0.765638 0.613251 +vn 0.513936 0.333269 0.790444 +vn 0.459699 0.684297 0.566051 +vn 0.305046 0.542684 0.782586 +vn 0.053007 -0.034698 0.997991 +vn 0.513936 0.333269 0.790444 +vn 0.305046 0.542684 0.782586 +vn 0.084987 -0.274367 0.957862 +vn 0.513936 0.333269 0.790444 +vn 0.053007 -0.034698 0.997991 +vn -0.517502 -0.588893 0.620803 +vn 0.084987 -0.274367 0.957862 +vn 0.053007 -0.034698 0.997991 +vn -0.230139 -0.569071 0.789427 +vn 0.084987 -0.274367 0.957862 +vn -0.517502 -0.588893 0.620803 +vn -0.633183 0.741495 0.221956 +vn -0.736795 0.675808 -0.020418 +vn -0.143818 0.363847 0.920289 +vn -0.333634 0.907103 -0.256618 +vn -0.736795 0.675808 -0.020418 +vn -0.633183 0.741495 0.221956 +vn 0.406653 0.860707 0.306296 +vn -0.333634 0.907103 -0.256618 +vn -0.633183 0.741495 0.221956 +vn -0.116369 0.761084 -0.638130 +vn -0.333634 0.907103 -0.256618 +vn 0.406653 0.860707 0.306296 +vn 0.712714 0.686765 -0.142804 +vn -0.116369 0.761084 -0.638130 +vn 0.406653 0.860707 0.306296 +vn 0.871840 0.218341 -0.438431 +vn -0.116369 0.761084 -0.638130 +vn 0.712714 0.686765 -0.142804 +vn 0.854163 -0.519720 -0.017252 +vn 0.818436 -0.534372 0.211209 +vn 0.640604 -0.766170 -0.051084 +vn 0.957424 -0.134364 0.255512 +vn 0.818436 -0.534372 0.211209 +vn 0.854163 -0.519720 -0.017252 +vn 0.993473 -0.113722 0.008819 +vn 0.957424 -0.134364 0.255512 +vn 0.854163 -0.519720 -0.017252 +vn 0.978157 0.205051 0.034095 +vn 0.957424 -0.134364 0.255512 +vn 0.993473 -0.113722 0.008819 +vn 0.986850 -0.152081 0.054751 +vn 0.978157 0.205051 0.034095 +vn 0.993473 -0.113722 0.008819 +vn 0.983617 0.122918 0.131869 +vn 0.978157 0.205051 0.034095 +vn 0.986850 -0.152081 0.054751 +vn 0.814414 -0.037911 0.579045 +vn 0.928642 0.090721 0.359713 +vn 0.923015 -0.029399 0.383638 +vn 0.732422 0.235333 0.638887 +vn 0.928642 0.090721 0.359713 +vn 0.814414 -0.037911 0.579045 +vn 0.593065 -0.094030 0.799645 +vn 0.732422 0.235333 0.638887 +vn 0.814414 -0.037911 0.579045 +vn 0.441597 0.362120 0.820891 +vn 0.732422 0.235333 0.638887 +vn 0.593065 -0.094030 0.799645 +vn 0.419965 -0.088747 0.903191 +vn 0.441597 0.362120 0.820891 +vn 0.593065 -0.094030 0.799645 +vn 0.410188 0.083881 0.908136 +vn 0.441597 0.362120 0.820891 +vn 0.419965 -0.088747 0.903191 +vn -0.266007 -0.843569 -0.466510 +vn -0.391375 -0.864261 -0.316035 +vn -0.398438 -0.792085 -0.462437 +vn -0.275917 -0.902646 -0.330302 +vn -0.391375 -0.864261 -0.316035 +vn -0.266007 -0.843569 -0.466510 +vn -0.075104 -0.867682 -0.491414 +vn -0.275917 -0.902646 -0.330302 +vn -0.266007 -0.843569 -0.466510 +vn 0.000000 -0.936566 -0.350490 +vn -0.275917 -0.902646 -0.330302 +vn -0.075104 -0.867682 -0.491414 +vn 0.075104 -0.867682 -0.491414 +vn 0.000000 -0.936566 -0.350490 +vn -0.075104 -0.867682 -0.491414 +vn 0.275917 -0.902646 -0.330302 +vn 0.000000 -0.936566 -0.350490 +vn 0.075104 -0.867682 -0.491414 +vn -0.616888 -0.080830 0.782889 +vn -0.419964 -0.088747 0.903191 +vn -0.415597 -0.087941 0.905288 +vn -0.441597 0.362118 0.820891 +vn -0.419964 -0.088747 0.903191 +vn -0.616888 -0.080830 0.782889 +vn -0.761796 0.147760 0.630740 +vn -0.441597 0.362118 0.820891 +vn -0.616888 -0.080830 0.782889 +vn -0.710183 0.443645 0.546644 +vn -0.441597 0.362118 0.820891 +vn -0.761796 0.147760 0.630740 +vn -0.848829 0.417463 0.324366 +vn -0.710183 0.443645 0.546644 +vn -0.761796 0.147760 0.630740 +vn -0.815069 0.169344 0.554062 +vn -0.710183 0.443645 0.546644 +vn -0.848829 0.417463 0.324366 +vn 0.120613 -0.610933 0.782441 +vn 0.321858 -0.479905 0.816149 +vn 0.088369 -0.330708 0.939587 +vn 0.523516 -0.688564 0.501807 +vn 0.321858 -0.479905 0.816149 +vn 0.120613 -0.610933 0.782441 +vn 0.175951 -0.847094 0.501471 +vn 0.523516 -0.688564 0.501807 +vn 0.120613 -0.610933 0.782441 +vn 0.616578 -0.777111 0.126213 +vn 0.523516 -0.688564 0.501807 +vn 0.175951 -0.847094 0.501471 +vn 0.209235 -0.970340 0.121079 +vn 0.616578 -0.777111 0.126213 +vn 0.175951 -0.847094 0.501471 +vn 0.607478 -0.784926 -0.121913 +vn 0.616578 -0.777111 0.126213 +vn 0.209235 -0.970340 0.121079 +vn -0.481867 -0.005280 0.876228 +vn 0.000000 0.721559 0.692353 +vn 0.000000 0.022931 0.999737 +vn -0.359308 0.743693 0.563753 +vn 0.000000 0.721559 0.692353 +vn -0.481867 -0.005280 0.876228 +vn -0.693719 0.332354 0.638980 +vn -0.359308 0.743693 0.563753 +vn -0.481867 -0.005280 0.876228 +vn -0.751480 0.649730 -0.114578 +vn -0.359308 0.743693 0.563753 +vn -0.693719 0.332354 0.638980 +vn -0.903832 0.414077 0.107837 +vn -0.751480 0.649730 -0.114578 +vn -0.693719 0.332354 0.638980 +vn -0.871837 0.489737 -0.007637 +vn -0.751480 0.649730 -0.114578 +vn -0.903832 0.414077 0.107837 +vn 0.096027 0.617411 0.780758 +vn -0.135285 0.844558 0.518092 +vn -0.107367 0.612882 0.782846 +vn 0.126700 0.845310 0.519036 +vn -0.135285 0.844558 0.518092 +vn 0.096027 0.617411 0.780758 +vn 0.418312 0.724660 0.547615 +vn 0.126700 0.845310 0.519036 +vn 0.096027 0.617411 0.780758 +vn 0.463711 0.849858 0.250428 +vn 0.126700 0.845310 0.519036 +vn 0.418312 0.724660 0.547615 +vn 0.797663 0.547759 0.252376 +vn 0.463711 0.849858 0.250428 +vn 0.418312 0.724660 0.547615 +vn 0.710183 0.443645 0.546644 +vn 0.815069 0.169344 0.554062 +vn 0.848829 0.417463 0.324367 +vn 0.623360 0.179964 0.760943 +vn 0.815069 0.169344 0.554062 +vn 0.710183 0.443645 0.546644 +vn 0.417119 0.505014 0.755627 +vn 0.623360 0.179964 0.760943 +vn 0.710183 0.443645 0.546644 +vn 0.355214 0.145919 0.923326 +vn 0.623360 0.179964 0.760943 +vn 0.417119 0.505014 0.755627 +vn 0.227248 0.485056 0.844440 +vn 0.355214 0.145919 0.923326 +vn 0.417119 0.505014 0.755627 +vn -0.185412 -0.945621 0.267252 +vn -0.251647 -0.902417 0.349740 +vn -0.055913 -0.993616 -0.097989 +vn -0.439611 -0.127959 0.889027 +vn -0.251647 -0.902417 0.349740 +vn -0.185412 -0.945621 0.267252 +vn -0.411175 -0.175110 0.894579 +vn -0.439611 -0.127959 0.889027 +vn -0.185412 -0.945621 0.267252 +vn -0.715138 -0.403393 0.570835 +vn -0.439611 -0.127959 0.889027 +vn -0.411175 -0.175110 0.894579 +vn -0.000001 -0.434372 0.900734 +vn -0.715138 -0.403393 0.570835 +vn -0.411175 -0.175110 0.894579 +vn 0.512614 0.130852 0.848590 +vn 0.282840 0.242462 0.928016 +vn 0.418689 0.101883 0.902396 +vn 0.555884 0.220491 0.801484 +vn 0.282840 0.242462 0.928016 +vn 0.512614 0.130852 0.848590 +vn 0.748568 0.064561 0.659908 +vn 0.555884 0.220491 0.801484 +vn 0.512614 0.130852 0.848590 +vn 0.770405 0.180316 0.611525 +vn 0.555884 0.220491 0.801484 +vn 0.748568 0.064561 0.659908 +vn 0.812185 0.121577 0.570591 +vn 0.770405 0.180316 0.611525 +vn 0.748568 0.064561 0.659908 +vn -0.832215 -0.044477 0.552666 +vn -0.922512 -0.027070 0.385017 +vn -0.820400 -0.056374 0.569005 +vn -0.917766 0.017738 0.396725 +vn -0.922512 -0.027070 0.385017 +vn -0.832215 -0.044477 0.552666 +vn -0.748568 0.064561 0.659908 +vn -0.917766 0.017738 0.396725 +vn -0.832215 -0.044477 0.552666 +vn -0.900546 0.060305 0.430558 +vn -0.917766 0.017738 0.396725 +vn -0.748568 0.064561 0.659908 +vn -0.812185 0.121577 0.570591 +vn -0.900546 0.060305 0.430558 +vn -0.748568 0.064561 0.659908 +vn -0.749273 -0.527163 0.400860 +vn -0.585442 -0.740016 0.331110 +vn -0.582219 -0.492600 0.646812 +vn -0.818436 -0.534372 0.211209 +vn -0.585442 -0.740016 0.331110 +vn -0.749273 -0.527163 0.400860 +vn -0.957424 -0.134364 0.255512 +vn -0.818436 -0.534372 0.211209 +vn -0.749273 -0.527163 0.400860 +vn -0.854163 -0.519720 -0.017252 +vn -0.818436 -0.534372 0.211209 +vn -0.957424 -0.134364 0.255512 +vn -0.993473 -0.113722 0.008819 +vn -0.854163 -0.519720 -0.017252 +vn -0.957424 -0.134364 0.255512 +vn -0.315829 -0.009877 0.948765 +vn -0.439611 -0.127959 0.889027 +vn -0.715138 -0.403393 0.570835 +vn -0.328785 -0.454331 0.827939 +vn -0.439611 -0.127959 0.889027 +vn -0.315829 -0.009877 0.948765 +vn -0.428118 -0.171957 0.887212 +vn -0.328785 -0.454331 0.827939 +vn -0.315829 -0.009877 0.948765 +vn -0.408803 -0.502131 0.762066 +vn -0.328785 -0.454331 0.827939 +vn -0.428118 -0.171957 0.887212 +vn -0.674412 -0.134092 0.726077 +vn -0.408803 -0.502131 0.762066 +vn -0.428118 -0.171957 0.887212 +vn -0.607477 -0.784926 -0.121913 +vn -0.209061 -0.967138 -0.144696 +vn -0.208557 -0.969731 0.126988 +vn -0.534600 -0.774839 -0.337383 +vn -0.209061 -0.967138 -0.144696 +vn -0.607477 -0.784926 -0.121913 +vn -0.880312 -0.404778 -0.247399 +vn -0.534600 -0.774839 -0.337383 +vn -0.607477 -0.784926 -0.121913 +vn -0.770561 -0.387874 -0.505757 +vn -0.534600 -0.774839 -0.337383 +vn -0.880312 -0.404778 -0.247399 +vn -0.866504 0.227507 -0.444311 +vn -0.770561 -0.387874 -0.505757 +vn -0.880312 -0.404778 -0.247399 +vn -0.523516 -0.688565 0.501807 +vn -0.165321 -0.847029 0.505184 +vn -0.107658 -0.616227 0.780176 +vn -0.616578 -0.777111 0.126213 +vn -0.165321 -0.847029 0.505184 +vn -0.523516 -0.688565 0.501807 +vn -0.883322 -0.435424 0.173631 +vn -0.616578 -0.777111 0.126213 +vn -0.523516 -0.688565 0.501807 +vn -0.894383 -0.445642 -0.038505 +vn -0.616578 -0.777111 0.126213 +vn -0.883322 -0.435424 0.173631 +vn 0.512614 0.130852 0.848590 +vn 0.834699 -0.040261 0.549233 +vn 0.748568 0.064561 0.659908 +vn 0.594470 -0.100115 0.797861 +vn 0.834699 -0.040261 0.549233 +vn 0.512614 0.130852 0.848590 +vn 0.315527 -0.317540 0.894210 +vn 0.594470 -0.100115 0.797861 +vn 0.512614 0.130852 0.848590 +vn 0.389857 -0.123048 0.912618 +vn 0.594470 -0.100115 0.797861 +vn 0.315527 -0.317540 0.894210 +vn -0.000001 -0.434372 0.900734 +vn -0.225159 -0.900449 -0.372149 +vn -0.715138 -0.403393 0.570835 +vn 0.234066 -0.895976 -0.377413 +vn -0.225159 -0.900449 -0.372149 +vn -0.000001 -0.434372 0.900734 +vn 0.715138 -0.403394 0.570834 +vn 0.234066 -0.895976 -0.377413 +vn -0.000001 -0.434372 0.900734 +vn 0.534600 -0.774839 -0.337383 +vn 0.234066 -0.895976 -0.377413 +vn 0.715138 -0.403394 0.570834 +vn -0.616578 -0.777111 0.126213 +vn -0.208557 -0.969731 0.126988 +vn -0.165321 -0.847029 0.505184 +vn -0.607477 -0.784926 -0.121913 +vn -0.208557 -0.969731 0.126988 +vn -0.616578 -0.777111 0.126213 +vn -0.894383 -0.445642 -0.038505 +vn -0.607477 -0.784926 -0.121913 +vn -0.616578 -0.777111 0.126213 +vn -0.880312 -0.404778 -0.247399 +vn -0.607477 -0.784926 -0.121913 +vn -0.894383 -0.445642 -0.038505 +vn -0.424547 0.143869 -0.893902 +vn -0.122525 0.064870 -0.990343 +vn -0.417399 -0.302810 -0.856787 +vn -0.117867 0.373556 -0.920089 +vn -0.122525 0.064870 -0.990343 +vn -0.424547 0.143869 -0.893902 +vn -0.487680 0.491972 -0.721201 +vn -0.117867 0.373556 -0.920089 +vn -0.424547 0.143869 -0.893902 +vn -0.116369 0.761084 -0.638130 +vn -0.117867 0.373556 -0.920089 +vn -0.487680 0.491972 -0.721201 +vn 0.424547 0.143869 -0.893902 +vn 0.117867 0.373556 -0.920089 +vn 0.487680 0.491973 -0.721201 +vn 0.122524 0.064870 -0.990343 +vn 0.117867 0.373556 -0.920089 +vn 0.424547 0.143869 -0.893902 +vn 0.417399 -0.302810 -0.856787 +vn 0.122524 0.064870 -0.990343 +vn 0.424547 0.143869 -0.893902 +vn 0.149027 -0.306153 -0.940245 +vn 0.122524 0.064870 -0.990343 +vn 0.417399 -0.302810 -0.856787 +vn 0.983617 0.122918 0.131869 +vn 0.908308 0.035636 0.416781 +vn 0.935786 0.067959 0.345956 +vn 0.825320 0.121391 0.551463 +vn 0.908308 0.035636 0.416781 +vn 0.983617 0.122918 0.131869 +vn 0.986850 -0.152081 0.054751 +vn 0.825320 0.121391 0.551463 +vn 0.983617 0.122918 0.131869 +vn 0.570129 -0.618898 0.540295 +vn 0.825320 0.121391 0.551463 +vn 0.986850 -0.152081 0.054751 +vn 0.475030 -0.291239 0.830378 +vn 0.516124 0.003038 0.856508 +vn 0.214833 -0.197629 0.956446 +vn 0.819688 0.078929 0.567347 +vn 0.516124 0.003038 0.856508 +vn 0.475030 -0.291239 0.830378 +vn 0.742276 -0.378225 0.553148 +vn 0.819688 0.078929 0.567347 +vn 0.475030 -0.291239 0.830378 +vn 0.970510 0.098944 0.219819 +vn 0.819688 0.078929 0.567347 +vn 0.742276 -0.378225 0.553148 +vn 0.616578 -0.777111 0.126213 +vn 0.883322 -0.435423 0.173634 +vn 0.523516 -0.688564 0.501807 +vn 0.894383 -0.445642 -0.038505 +vn 0.883322 -0.435423 0.173634 +vn 0.616578 -0.777111 0.126213 +vn 0.607478 -0.784926 -0.121913 +vn 0.894383 -0.445642 -0.038505 +vn 0.616578 -0.777111 0.126213 +vn 0.880311 -0.404779 -0.247400 +vn 0.894383 -0.445642 -0.038505 +vn 0.607478 -0.784926 -0.121913 +vn 0.328785 -0.454331 0.827939 +vn 0.315829 -0.009877 0.948765 +vn 0.439610 -0.127960 0.889027 +vn 0.428119 -0.171958 0.887212 +vn 0.315829 -0.009877 0.948765 +vn 0.328785 -0.454331 0.827939 +vn 0.408803 -0.502131 0.762066 +vn 0.428119 -0.171958 0.887212 +vn 0.328785 -0.454331 0.827939 +vn 0.674412 -0.134092 0.726077 +vn 0.428119 -0.171958 0.887212 +vn 0.408803 -0.502131 0.762066 +vn 0.000000 -0.560674 0.828037 +vn -0.411175 -0.175110 0.894579 +vn -0.185412 -0.945621 0.267252 +vn -0.000001 -0.434372 0.900734 +vn -0.411175 -0.175110 0.894579 +vn 0.000000 -0.560674 0.828037 +vn 0.411174 -0.175110 0.894580 +vn -0.000001 -0.434372 0.900734 +vn 0.000000 -0.560674 0.828037 +vn 0.715138 -0.403394 0.570834 +vn -0.000001 -0.434372 0.900734 +vn 0.411174 -0.175110 0.894580 +vn 0.662467 -0.224880 0.714540 +vn 0.698404 -0.212019 0.683578 +vn 0.610137 -0.218613 0.761539 +vn 0.839685 -0.148748 -0.522306 +vn 0.698404 -0.212019 0.683578 +vn 0.662467 -0.224880 0.714540 +vn 0.752898 -0.532061 -0.387370 +vn 0.839685 -0.148748 -0.522306 +vn 0.662467 -0.224880 0.714540 +vn -0.149027 -0.306153 -0.940245 +vn 0.839685 -0.148748 -0.522306 +vn 0.752898 -0.532061 -0.387370 +vn 0.513936 0.333269 0.790444 +vn 0.605163 0.446785 0.658909 +vn 0.459699 0.684297 0.566051 +vn 0.655254 0.101590 0.748546 +vn 0.605163 0.446785 0.658909 +vn 0.513936 0.333269 0.790444 +vn 0.084987 -0.274367 0.957862 +vn 0.655254 0.101590 0.748546 +vn 0.513936 0.333269 0.790444 +vn -0.230139 -0.569071 0.789427 +vn 0.655254 0.101590 0.748546 +vn 0.084987 -0.274367 0.957862 +vn -0.741241 -0.314158 0.593184 +vn -0.603964 -0.406514 0.685546 +vn -0.610137 -0.218613 0.761539 +vn -0.602492 -0.292067 0.742766 +vn -0.603964 -0.406514 0.685546 +vn -0.741241 -0.314158 0.593184 +vn 0.143818 0.363847 0.920289 +vn -0.602492 -0.292067 0.742766 +vn -0.741241 -0.314158 0.593184 +vn -0.029691 0.592999 0.804656 +vn -0.602492 -0.292067 0.742766 +vn 0.143818 0.363847 0.920289 +vn -0.650743 -0.221434 0.726293 +vn -0.711142 0.084585 0.697942 +vn -0.610137 -0.218613 0.761539 +vn -0.686211 -0.056117 0.725234 +vn -0.711142 0.084585 0.697942 +vn -0.650743 -0.221434 0.726293 +vn -0.625968 -0.762308 -0.164473 +vn -0.686211 -0.056117 0.725234 +vn -0.650743 -0.221434 0.726293 +vn -0.587806 -0.773852 0.235877 +vn -0.686211 -0.056117 0.725234 +vn -0.625968 -0.762308 -0.164473 +vn -0.698405 -0.212019 0.683578 +vn -0.871840 0.218340 -0.438431 +vn -0.839685 -0.148748 -0.522306 +vn -0.712714 0.686765 -0.142804 +vn -0.871840 0.218340 -0.438431 +vn -0.698405 -0.212019 0.683578 +vn -0.698754 -0.139913 0.701546 +vn -0.712714 0.686765 -0.142804 +vn -0.698405 -0.212019 0.683578 +vn -0.406653 0.860707 0.306296 +vn -0.712714 0.686765 -0.142804 +vn -0.698754 -0.139913 0.701546 +vn -0.386383 -0.177727 0.905053 +vn 0.000000 0.022931 0.999737 +vn 0.000000 -0.081839 0.996646 +vn -0.481867 -0.005280 0.876228 +vn 0.000000 0.022931 0.999737 +vn -0.386383 -0.177727 0.905053 +vn -0.709994 -0.092800 0.698067 +vn -0.481867 -0.005280 0.876228 +vn -0.386383 -0.177727 0.905053 +vn -0.844453 0.152683 0.513407 +vn -0.481867 -0.005280 0.876228 +vn -0.709994 -0.092800 0.698067 +vn -0.513769 -0.431576 0.741474 +vn -0.398312 -0.701367 0.591127 +vn -0.478617 -0.616363 0.625318 +vn -0.561746 -0.418043 0.713920 +vn -0.398312 -0.701367 0.591127 +vn -0.513769 -0.431576 0.741474 +vn -0.770516 0.008416 0.637365 +vn -0.561746 -0.418043 0.713920 +vn -0.513769 -0.431576 0.741474 +vn -0.887795 0.002013 0.460235 +vn -0.561746 -0.418043 0.713920 +vn -0.770516 0.008416 0.637365 +vn 0.520071 -0.594890 0.612888 +vn 0.324924 -0.245692 0.913269 +vn 0.386383 -0.177727 0.905053 +vn 0.211351 0.118029 0.970258 +vn 0.324924 -0.245692 0.913269 +vn 0.520071 -0.594890 0.612888 +vn 0.383238 -0.610954 0.692722 +vn 0.211351 0.118029 0.970258 +vn 0.520071 -0.594890 0.612888 +vn 0.418689 0.101883 0.902396 +vn 0.211351 0.118029 0.970258 +vn 0.383238 -0.610954 0.692722 +vn 0.522792 -0.452974 -0.722152 +vn 0.595399 -0.636457 -0.490330 +vn 0.398438 -0.792085 -0.462437 +vn 0.716550 -0.384527 -0.581975 +vn 0.595399 -0.636457 -0.490330 +vn 0.522792 -0.452974 -0.722152 +vn 0.462888 -0.208807 -0.861472 +vn 0.716550 -0.384527 -0.581975 +vn 0.522792 -0.452974 -0.722152 +vn -0.114261 -0.650980 -0.750446 +vn 0.716550 -0.384527 -0.581975 +vn 0.462888 -0.208807 -0.861472 +vn -0.247009 -0.529037 0.811854 +vn 0.000000 -0.664290 0.747475 +vn 0.000000 -0.554485 0.832193 +vn -0.373430 -0.607174 0.701348 +vn 0.000000 -0.664290 0.747475 +vn -0.247009 -0.529037 0.811854 +vn -0.426160 -0.433699 0.793910 +vn -0.373430 -0.607174 0.701348 +vn -0.247009 -0.529037 0.811854 +vn -0.441091 -0.551736 0.707832 +vn -0.373430 -0.607174 0.701348 +vn -0.426160 -0.433699 0.793910 +vn 0.650743 -0.221434 0.726292 +vn 0.662467 -0.224880 0.714540 +vn 0.610137 -0.218613 0.761539 +vn 0.752898 -0.532061 -0.387370 +vn 0.662467 -0.224880 0.714540 +vn 0.650743 -0.221434 0.726292 +vn 0.625967 -0.762308 -0.164475 +vn 0.752898 -0.532061 -0.387370 +vn 0.650743 -0.221434 0.726292 +vn -0.149027 -0.306153 -0.940245 +vn 0.752898 -0.532061 -0.387370 +vn 0.625967 -0.762308 -0.164475 +vn -0.850364 -0.470192 0.236223 +vn -0.837021 -0.176304 0.517990 +vn -0.943662 -0.150707 0.294602 +vn -0.751558 -0.494850 0.436216 +vn -0.837021 -0.176304 0.517990 +vn -0.850364 -0.470192 0.236223 +vn -0.338553 -0.940526 0.028145 +vn -0.751558 -0.494850 0.436216 +vn -0.850364 -0.470192 0.236223 +vn -0.291621 -0.951457 0.098422 +vn -0.751558 -0.494850 0.436216 +vn -0.338553 -0.940526 0.028145 +vn -0.751558 -0.494850 0.436216 +vn -0.393811 -0.208428 0.895249 +vn -0.837021 -0.176304 0.517990 +vn -0.352962 -0.530414 0.770765 +vn -0.393811 -0.208428 0.895249 +vn -0.751558 -0.494850 0.436216 +vn -0.291621 -0.951457 0.098422 +vn -0.352962 -0.530414 0.770765 +vn -0.751558 -0.494850 0.436216 +vn -0.143054 -0.962595 0.230099 +vn -0.352962 -0.530414 0.770765 +vn -0.291621 -0.951457 0.098422 +vn 0.751558 -0.494850 0.436216 +vn 0.338553 -0.940526 0.028145 +vn 0.850364 -0.470192 0.236223 +vn 0.291621 -0.951457 0.098419 +vn 0.338553 -0.940526 0.028145 +vn 0.751558 -0.494850 0.436216 +vn 0.348498 -0.541112 0.765341 +vn 0.291621 -0.951457 0.098419 +vn 0.751558 -0.494850 0.436216 +vn 0.138266 -0.962617 0.232917 +vn 0.291621 -0.951457 0.098419 +vn 0.348498 -0.541112 0.765341 +vn 0.227538 0.053154 0.972317 +vn 0.297024 0.464074 0.834513 +vn 0.098576 0.251237 0.962893 +vn 0.454625 0.282523 0.844687 +vn 0.297024 0.464074 0.834513 +vn 0.227538 0.053154 0.972317 +vn 0.516124 0.003038 0.856508 +vn 0.454625 0.282523 0.844687 +vn 0.227538 0.053154 0.972317 +vn 0.819688 0.078929 0.567347 +vn 0.454625 0.282523 0.844687 +vn 0.516124 0.003038 0.856508 +vn 0.610137 -0.218613 0.761539 +vn 0.741240 -0.314158 0.593184 +vn 0.847166 -0.158053 0.507276 +vn 0.603964 -0.406513 0.685546 +vn 0.741240 -0.314158 0.593184 +vn 0.610137 -0.218613 0.761539 +vn 0.698404 -0.212019 0.683578 +vn 0.603964 -0.406513 0.685546 +vn 0.610137 -0.218613 0.761539 +vn 0.698754 -0.139914 0.701547 +vn 0.603964 -0.406513 0.685546 +vn 0.698404 -0.212019 0.683578 +vn 0.825320 0.121391 0.551463 +vn 0.711142 0.084585 0.697942 +vn 0.908308 0.035636 0.416781 +vn 0.738391 0.119927 0.663624 +vn 0.711142 0.084585 0.697942 +vn 0.825320 0.121391 0.551463 +vn 0.570129 -0.618898 0.540295 +vn 0.738391 0.119927 0.663624 +vn 0.825320 0.121391 0.551463 +vn 0.587806 -0.773852 0.235877 +vn 0.738391 0.119927 0.663624 +vn 0.570129 -0.618898 0.540295 +vn -0.908308 0.035636 0.416781 +vn -0.938437 0.074258 0.337375 +vn -0.847166 -0.158052 0.507276 +vn -0.984682 0.121176 0.125373 +vn -0.938437 0.074258 0.337375 +vn -0.908308 0.035636 0.416781 +vn -0.825320 0.121391 0.551463 +vn -0.984682 0.121176 0.125373 +vn -0.908308 0.035636 0.416781 +vn 0.126700 0.845310 0.519036 +vn -0.142162 0.962413 0.231410 +vn -0.135285 0.844558 0.518092 +vn 0.137219 0.962833 0.232646 +vn -0.142162 0.962413 0.231410 +vn 0.126700 0.845310 0.519036 +vn 0.463711 0.849858 0.250428 +vn 0.137219 0.962833 0.232646 +vn 0.126700 0.845310 0.519036 +vn 0.722650 -0.500639 -0.476589 +vn -0.114261 -0.650980 -0.750446 +vn 0.537096 -0.757037 -0.372052 +vn 0.716550 -0.384527 -0.581975 +vn -0.114261 -0.650980 -0.750446 +vn 0.722650 -0.500639 -0.476589 +vn 0.595399 -0.636457 -0.490330 +vn 0.716550 -0.384527 -0.581975 +vn 0.722650 -0.500639 -0.476589 +vn 0.318551 0.401296 0.858771 +vn 0.887086 0.435043 -0.154323 +vn 0.953778 -0.066539 0.293054 +vn 0.593637 0.705269 0.387544 +vn 0.887086 0.435043 -0.154323 +vn 0.318551 0.401296 0.858771 +vn 0.066278 0.677228 0.732782 +vn 0.593637 0.705269 0.387544 +vn 0.318551 0.401296 0.858771 +vn 0.745563 0.658429 -0.102994 +vn 0.729643 0.551281 -0.404611 +vn 0.887086 0.435043 -0.154323 +vn 0.497391 0.819806 -0.283762 +vn 0.729643 0.551281 -0.404611 +vn 0.745563 0.658429 -0.102994 +vn 0.181498 0.965226 -0.188144 +vn 0.497391 0.819806 -0.283762 +vn 0.745563 0.658429 -0.102994 +vn -0.472023 0.860583 -0.191289 +vn -0.781975 0.564297 -0.264733 +vn -0.815638 0.576944 -0.043251 +vn -0.498917 0.827391 -0.257886 +vn -0.781975 0.564297 -0.264733 +vn -0.472023 0.860583 -0.191289 +vn -0.178991 0.966609 -0.183381 +vn -0.498917 0.827391 -0.257886 +vn -0.472023 0.860583 -0.191289 +vn 0.181498 0.965226 -0.188144 +vn 0.000000 0.721559 0.692353 +vn -0.178991 0.966609 -0.183381 +vn 0.371646 0.724078 0.581025 +vn 0.000000 0.721559 0.692353 +vn 0.181498 0.965226 -0.188144 +vn 0.745563 0.658429 -0.102994 +vn 0.371646 0.724078 0.581025 +vn 0.181498 0.965226 -0.188144 +vn 0.615929 -0.094497 0.782114 +vn 0.411455 -0.086606 0.907306 +vn 0.415598 -0.087941 0.905287 +vn 0.389857 -0.123048 0.912618 +vn 0.411455 -0.086606 0.907306 +vn 0.615929 -0.094497 0.782114 +vn 0.594470 -0.100115 0.797861 +vn 0.389857 -0.123048 0.912618 +vn 0.615929 -0.094497 0.782114 +vn -0.820400 -0.056374 0.569005 +vn -0.761796 0.147760 0.630740 +vn -0.616888 -0.080830 0.782889 +vn -0.926552 0.079410 0.367689 +vn -0.761796 0.147760 0.630740 +vn -0.820400 -0.056374 0.569005 +vn -0.922512 -0.027070 0.385017 +vn -0.926552 0.079410 0.367689 +vn -0.820400 -0.056374 0.569005 +vn -0.710183 0.443645 0.546644 +vn -0.417119 0.505013 0.755628 +vn -0.441597 0.362118 0.820891 +vn -0.623360 0.179964 0.760943 +vn -0.417119 0.505013 0.755628 +vn -0.710183 0.443645 0.546644 +vn -0.815069 0.169344 0.554062 +vn -0.623360 0.179964 0.760943 +vn -0.710183 0.443645 0.546644 +vn -0.978157 0.205051 0.034095 +vn -0.934371 0.209882 0.287924 +vn -0.936574 0.338331 0.091444 +vn -0.957424 -0.134364 0.255512 +vn -0.934371 0.209882 0.287924 +vn -0.978157 0.205051 0.034095 +vn -0.993473 -0.113722 0.008819 +vn -0.957424 -0.134364 0.255512 +vn -0.978157 0.205051 0.034095 +vn -0.978157 0.205051 0.034095 +vn -0.986850 -0.152081 0.054751 +vn -0.993473 -0.113722 0.008819 +vn -0.984682 0.121176 0.125373 +vn -0.986850 -0.152081 0.054751 +vn -0.978157 0.205051 0.034095 +vn -0.936574 0.338331 0.091444 +vn -0.984682 0.121176 0.125373 +vn -0.978157 0.205051 0.034095 +vn -0.336674 -0.940082 -0.053812 +vn -0.415860 -0.884291 -0.212345 +vn -0.289959 -0.924842 -0.246154 +vn -0.487051 -0.872928 0.027897 +vn -0.415860 -0.884291 -0.212345 +vn -0.336674 -0.940082 -0.053812 +vn -0.370623 -0.917629 0.143515 +vn -0.487051 -0.872928 0.027897 +vn -0.336674 -0.940082 -0.053812 +vn 0.428119 -0.171958 0.887212 +vn 0.355214 0.145919 0.923326 +vn 0.315829 -0.009877 0.948765 +vn 0.623360 0.179964 0.760943 +vn 0.355214 0.145919 0.923326 +vn 0.428119 -0.171958 0.887212 +vn 0.674412 -0.134092 0.726077 +vn 0.623360 0.179964 0.760943 +vn 0.428119 -0.171958 0.887212 +vn 0.603964 -0.406513 0.685546 +vn 0.602492 -0.292067 0.742765 +vn 0.741240 -0.314158 0.593184 +vn 0.632985 -0.299999 0.713674 +vn 0.602492 -0.292067 0.742765 +vn 0.603964 -0.406513 0.685546 +vn 0.698754 -0.139914 0.701547 +vn 0.632985 -0.299999 0.713674 +vn 0.603964 -0.406513 0.685546 +vn -0.352962 -0.530414 0.770765 +vn 0.000000 -0.542662 0.839951 +vn -0.393811 -0.208428 0.895249 +vn -0.000001 -0.961703 0.274094 +vn 0.000000 -0.542662 0.839951 +vn -0.352962 -0.530414 0.770765 +vn -0.143054 -0.962595 0.230099 +vn -0.000001 -0.961703 0.274094 +vn -0.352962 -0.530414 0.770765 +vn -0.662467 -0.224880 0.714540 +vn -0.839685 -0.148748 -0.522306 +vn -0.752898 -0.532062 -0.387369 +vn -0.698405 -0.212019 0.683578 +vn -0.839685 -0.148748 -0.522306 +vn -0.662467 -0.224880 0.714540 +vn 0.333634 0.907103 -0.256618 +vn -0.406653 0.860707 0.306296 +vn 0.633183 0.741495 0.221954 +vn 0.116370 0.761084 -0.638129 +vn -0.406653 0.860707 0.306296 +vn 0.333634 0.907103 -0.256618 +vn 0.116370 0.761084 -0.638129 +vn -0.712714 0.686765 -0.142804 +vn -0.406653 0.860707 0.306296 +vn -0.871840 0.218340 -0.438431 +vn -0.712714 0.686765 -0.142804 +vn 0.116370 0.761084 -0.638129 +vn 0.055913 -0.993616 -0.097988 +vn 0.260188 -0.133234 -0.956322 +vn -0.023279 0.998505 0.049451 +vn 0.103824 -0.991062 -0.083762 +vn 0.260188 -0.133234 -0.956322 +vn 0.055913 -0.993616 -0.097988 +vn -0.333634 0.907103 -0.256618 +vn -0.487680 0.491972 -0.721201 +vn -0.736795 0.675808 -0.020418 +vn -0.116369 0.761084 -0.638130 +vn -0.487680 0.491972 -0.721201 +vn -0.333634 0.907103 -0.256618 +vn 0.627673 -0.741330 -0.237607 +vn 0.558729 -0.742385 -0.369712 +vn 0.842992 -0.498154 -0.202997 +vn 0.353775 -0.900813 -0.251754 +vn 0.558729 -0.742385 -0.369712 +vn 0.627673 -0.741330 -0.237607 +vn 0.353775 -0.900813 -0.251754 +vn 0.452697 -0.804042 -0.385463 +vn 0.558729 -0.742385 -0.369712 +vn 0.391375 -0.864261 -0.316035 +vn 0.452697 -0.804042 -0.385463 +vn 0.353775 -0.900813 -0.251754 +vn -0.602492 -0.292067 0.742766 +vn -0.632986 -0.299999 0.713673 +vn -0.603964 -0.406514 0.685546 +vn -0.029691 0.592999 0.804656 +vn -0.632986 -0.299999 0.713673 +vn -0.602492 -0.292067 0.742766 +vn -0.627673 -0.741330 -0.237607 +vn -0.353775 -0.900813 -0.251754 +vn -0.451193 -0.888173 -0.087029 +vn -0.558729 -0.742385 -0.369712 +vn -0.353775 -0.900813 -0.251754 +vn -0.627673 -0.741330 -0.237607 +vn -0.452697 -0.804042 -0.385463 +vn -0.558729 -0.742385 -0.369712 +vn -0.595399 -0.636457 -0.490329 +vn -0.353775 -0.900813 -0.251754 +vn -0.558729 -0.742385 -0.369712 +vn -0.452697 -0.804042 -0.385463 +vn 0.000000 -0.936566 -0.350490 +vn 0.000000 -0.964574 -0.263814 +vn -0.275917 -0.902646 -0.330302 +vn 0.275917 -0.902646 -0.330302 +vn 0.000000 -0.964574 -0.263814 +vn 0.000000 -0.936566 -0.350490 +vn -0.494727 -0.812267 0.308977 +vn -0.492921 -0.861827 0.119516 +vn -0.559975 -0.793320 0.238898 +vn -0.634957 -0.752318 0.175632 +vn -0.492921 -0.861827 0.119516 +vn -0.494727 -0.812267 0.308977 +vn 0.834699 -0.040261 0.549233 +vn 0.615929 -0.094497 0.782114 +vn 0.824573 -0.070645 0.561327 +vn 0.594470 -0.100115 0.797861 +vn 0.615929 -0.094497 0.782114 +vn 0.834699 -0.040261 0.549233 +vn 0.289959 -0.924842 -0.246154 +vn 0.275917 -0.902646 -0.330302 +vn 0.415860 -0.884291 -0.212345 +vn 0.000000 -0.964574 -0.263814 +vn 0.275917 -0.902646 -0.330302 +vn 0.289959 -0.924842 -0.246154 +vn 0.999959 0.008797 -0.002076 +vn 0.958810 0.003900 0.284023 +vn 0.953887 -0.040452 0.297429 +vn 0.999952 0.009241 -0.003355 +vn 0.958810 0.003900 0.284023 +vn 0.999959 0.008797 -0.002076 +vn 0.973482 0.100361 0.205572 +vn 0.983617 0.122918 0.131869 +vn 0.935786 0.067959 0.345956 +vn 0.928344 0.365784 0.066182 +vn 0.983617 0.122918 0.131869 +vn 0.973482 0.100361 0.205572 +vn 0.000000 -0.989102 -0.147233 +vn 0.000000 -0.950066 0.312049 +vn -0.103824 -0.991062 -0.083762 +vn 0.103824 -0.991062 -0.083762 +vn 0.000000 -0.950066 0.312049 +vn 0.000000 -0.989102 -0.147233 +vn 0.103824 -0.991062 -0.083762 +vn 0.185412 -0.945621 0.267251 +vn 0.000000 -0.950066 0.312049 +vn 0.055913 -0.993616 -0.097988 +vn 0.185412 -0.945621 0.267251 +vn 0.103824 -0.991062 -0.083762 +vn -0.693719 0.332354 0.638980 +vn -0.844453 0.152683 0.513407 +vn -0.903832 0.414077 0.107837 +vn -0.481867 -0.005280 0.876228 +vn -0.844453 0.152683 0.513407 +vn -0.693719 0.332354 0.638980 +vn 0.738391 0.119927 0.663624 +vn 0.686212 -0.056118 0.725233 +vn 0.711142 0.084585 0.697942 +vn 0.587806 -0.773852 0.235877 +vn 0.686212 -0.056118 0.725233 +vn 0.738391 0.119927 0.663624 +vn -0.897776 0.412568 -0.154225 +vn -0.757971 0.530639 -0.379344 +vn -0.751480 0.649730 -0.114578 +vn -0.866504 0.227507 -0.444311 +vn -0.757971 0.530639 -0.379344 +vn -0.897776 0.412568 -0.154225 +vn -0.227538 0.053154 0.972317 +vn -0.214832 -0.197629 0.956447 +vn 0.000000 -0.073567 0.997290 +vn -0.516124 0.003038 0.856508 +vn -0.214832 -0.197629 0.956447 +vn -0.227538 0.053154 0.972317 +vn -0.324923 -0.245693 0.913269 +vn 0.000000 -0.081839 0.996646 +vn 0.000000 -0.043449 0.999056 +vn -0.386383 -0.177727 0.905053 +vn 0.000000 -0.081839 0.996646 +vn -0.324923 -0.245693 0.913269 +vn -0.516124 0.003038 0.856508 +vn -0.475027 -0.291238 0.830380 +vn -0.214832 -0.197629 0.956447 +vn -0.819687 0.078932 0.567347 +vn -0.475027 -0.291238 0.830380 +vn -0.516124 0.003038 0.856508 +vn -0.819687 0.078932 0.567347 +vn -0.742275 -0.378226 0.553147 +vn -0.475027 -0.291238 0.830380 +vn -0.970510 0.098944 0.219818 +vn -0.742275 -0.378226 0.553147 +vn -0.819687 0.078932 0.567347 +vn 0.512614 0.130852 0.848590 +vn 0.383238 -0.610954 0.692722 +vn 0.315527 -0.317540 0.894210 +vn 0.418689 0.101883 0.902396 +vn 0.383238 -0.610954 0.692722 +vn 0.512614 0.130852 0.848590 +vn -0.117867 0.373556 -0.920089 +vn 0.871840 0.218341 -0.438431 +vn -0.122525 0.064870 -0.990343 +vn -0.116369 0.761084 -0.638130 +vn 0.871840 0.218341 -0.438431 +vn -0.117867 0.373556 -0.920089 +vn 0.938143 0.224956 -0.263217 +vn 0.880311 -0.404779 -0.247400 +vn 0.863954 0.217316 -0.454266 +vn 0.988106 0.144731 -0.051951 +vn 0.880311 -0.404779 -0.247400 +vn 0.938143 0.224956 -0.263217 +vn 0.000000 -0.073567 0.997290 +vn 0.098576 0.251237 0.962893 +vn -0.108493 0.230728 0.966951 +vn 0.227538 0.053154 0.972317 +vn 0.098576 0.251237 0.962893 +vn 0.000000 -0.073567 0.997290 +vn -0.938437 0.074258 0.337375 +vn -0.936574 0.338331 0.091444 +vn -0.970619 0.108122 0.214961 +vn -0.984682 0.121176 0.125373 +vn -0.936574 0.338331 0.091444 +vn -0.938437 0.074258 0.337375 +vn -0.482467 -0.680728 0.551212 +vn -0.585442 -0.740016 0.331110 +vn -0.538024 -0.687833 0.487254 +vn -0.582219 -0.492600 0.646812 +vn -0.585442 -0.740016 0.331110 +vn -0.482467 -0.680728 0.551212 +vn -0.321858 -0.479906 0.816148 +vn -0.107658 -0.616227 0.780176 +vn -0.082778 -0.341536 0.936216 +vn -0.523516 -0.688565 0.501807 +vn -0.107658 -0.616227 0.780176 +vn -0.321858 -0.479906 0.816148 +vn -0.267246 -0.587430 -0.763875 +vn 0.625967 -0.762308 -0.164475 +vn -0.392841 -0.833638 -0.388231 +vn -0.149027 -0.306153 -0.940245 +vn 0.625967 -0.762308 -0.164475 +vn -0.267246 -0.587430 -0.763875 +vn 0.702288 0.300993 0.645132 +vn 0.371646 0.724078 0.581025 +vn 0.745563 0.658429 -0.102994 +vn 0.481867 -0.005280 0.876228 +vn 0.371646 0.724078 0.581025 +vn 0.702288 0.300993 0.645132 +vn 0.234066 -0.895976 -0.377413 +vn 0.210787 -0.967390 -0.140445 +vn -0.225159 -0.900449 -0.372149 +vn 0.534600 -0.774839 -0.337383 +vn 0.210787 -0.967390 -0.140445 +vn 0.234066 -0.895976 -0.377413 +vn 0.029691 0.592999 0.804655 +vn -0.633183 0.741495 0.221956 +vn -0.143818 0.363847 0.920289 +vn 0.406653 0.860707 0.306296 +vn -0.633183 0.741495 0.221956 +vn 0.029691 0.592999 0.804655 +vn 0.247009 -0.529037 0.811854 +vn 0.000000 -0.664290 0.747475 +vn 0.373430 -0.607174 0.701348 +vn 0.000000 -0.554485 0.832193 +vn 0.000000 -0.664290 0.747475 +vn 0.247009 -0.529037 0.811854 +vn 0.392841 -0.833639 -0.388229 +vn 0.114261 -0.650981 -0.750446 +vn -0.537096 -0.757037 -0.372051 +vn 0.267246 -0.587430 -0.763875 +vn 0.114261 -0.650981 -0.750446 +vn 0.392841 -0.833639 -0.388229 +vn -0.897776 0.412568 -0.154225 +vn -0.318550 0.401296 0.858771 +vn -0.953776 -0.066538 0.293060 +vn -0.593636 0.705269 0.387547 +vn -0.318550 0.401296 0.858771 +vn -0.897776 0.412568 -0.154225 +vn -0.066278 0.677228 0.732782 +vn -0.318550 0.401296 0.858771 +vn -0.593636 0.705269 0.387547 +vn -0.111154 0.658820 0.744044 +vn -0.318550 0.401296 0.858771 +vn -0.066278 0.677228 0.732782 +vn -0.260187 -0.133233 -0.956322 +vn -0.103824 -0.991062 -0.083762 +vn -0.055913 -0.993616 -0.097989 +vn 0.000000 -0.989102 -0.147233 +vn -0.103824 -0.991062 -0.083762 +vn -0.260187 -0.133233 -0.956322 +vn -0.282840 0.242462 0.928016 +vn -0.512614 0.130852 0.848590 +vn -0.418688 0.101883 0.902397 +vn -0.555884 0.220491 0.801484 +vn -0.512614 0.130852 0.848590 +vn -0.282840 0.242462 0.928016 +vn -0.999959 0.008797 -0.002076 +vn -0.958810 0.003900 0.284023 +vn -0.999952 0.009241 -0.003355 +vn -0.953887 -0.040452 0.297429 +vn -0.958810 0.003900 0.284023 +vn -0.999959 0.008797 -0.002076 +vn -0.537096 -0.757037 -0.372051 +vn -0.570129 -0.618899 0.540294 +vn 0.392841 -0.833639 -0.388229 +vn -0.986850 -0.152081 0.054751 +vn -0.570129 -0.618899 0.540294 +vn -0.537096 -0.757037 -0.372051 +vn 0.000000 -0.210417 0.977612 +vn 0.000000 -0.542662 0.839951 +vn 0.393811 -0.208427 0.895249 +vn -0.393811 -0.208428 0.895249 +vn 0.000000 -0.542662 0.839951 +vn 0.000000 -0.210417 0.977612 +vn -0.686211 -0.056117 0.725234 +vn -0.738391 0.119928 0.663623 +vn -0.711142 0.084585 0.697942 +vn -0.587806 -0.773852 0.235877 +vn -0.738391 0.119928 0.663623 +vn -0.686211 -0.056117 0.725234 +vn 0.454625 0.282523 0.844687 +vn 0.678647 0.454710 0.576782 +vn 0.297024 0.464074 0.834513 +vn 0.819688 0.078929 0.567347 +vn 0.678647 0.454710 0.576782 +vn 0.454625 0.282523 0.844687 +vn 0.482467 -0.680728 0.551212 +vn 0.585442 -0.740016 0.331110 +vn 0.582219 -0.492600 0.646812 +vn 0.538024 -0.687833 0.487254 +vn 0.585442 -0.740016 0.331110 +vn 0.482467 -0.680728 0.551212 +vn 0.815069 0.169344 0.554062 +vn 0.674412 -0.134092 0.726077 +vn 0.844455 -0.127445 0.520244 +vn 0.623360 0.179964 0.760943 +vn 0.674412 -0.134092 0.726077 +vn 0.815069 0.169344 0.554062 +vn 0.426160 -0.433699 0.793910 +vn 0.373430 -0.607174 0.701348 +vn 0.441092 -0.551736 0.707831 +vn 0.247009 -0.529037 0.811854 +vn 0.373430 -0.607174 0.701348 +vn 0.426160 -0.433699 0.793910 +vn 0.928344 0.365784 0.066182 +vn 0.978157 0.205051 0.034095 +vn 0.983617 0.122918 0.131869 +vn 0.934371 0.209882 0.287924 +vn 0.978157 0.205051 0.034095 +vn 0.928344 0.365784 0.066182 +vn 0.211351 0.118029 0.970258 +vn 0.282840 0.242462 0.928016 +vn 0.000000 0.220227 0.975449 +vn 0.418689 0.101883 0.902396 +vn 0.282840 0.242462 0.928016 +vn 0.211351 0.118029 0.970258 +vn 0.270205 0.073026 0.960029 +vn 0.953778 -0.066539 0.293054 +vn 0.715138 -0.403394 0.570834 +vn 0.318551 0.401296 0.858771 +vn 0.953778 -0.066539 0.293054 +vn 0.270205 0.073026 0.960029 +vn 0.251647 -0.902416 0.349741 +vn 0.185412 -0.945621 0.267251 +vn 0.055913 -0.993616 -0.097988 +vn 0.439610 -0.127960 0.889027 +vn 0.185412 -0.945621 0.267251 +vn 0.251647 -0.902416 0.349741 +vn -0.871837 0.489737 -0.007637 +vn -0.897776 0.412568 -0.154225 +vn -0.751480 0.649730 -0.114578 +vn -0.593636 0.705269 0.387547 +vn -0.897776 0.412568 -0.154225 +vn -0.871837 0.489737 -0.007637 +vn -0.986850 -0.152081 0.054751 +vn -0.825320 0.121391 0.551463 +vn -0.570129 -0.618899 0.540294 +vn -0.984682 0.121176 0.125373 +vn -0.825320 0.121391 0.551463 +vn -0.986850 -0.152081 0.054751 +vn 0.684298 0.167398 0.709728 +vn 0.655254 0.101590 0.748546 +vn -0.230139 -0.569071 0.789427 +vn 0.605163 0.446785 0.658909 +vn 0.655254 0.101590 0.748546 +vn 0.684298 0.167398 0.709728 +vn -0.211351 0.118028 0.970258 +vn -0.383239 -0.610955 0.692721 +vn -0.520071 -0.594891 0.612888 +vn -0.418688 0.101883 0.902397 +vn -0.383239 -0.610955 0.692721 +vn -0.211351 0.118028 0.970258 +vn 0.770561 -0.387873 -0.505758 +vn 0.715138 -0.403394 0.570834 +vn 0.953778 -0.066539 0.293054 +vn 0.534600 -0.774839 -0.337383 +vn 0.715138 -0.403394 0.570834 +vn 0.770561 -0.387873 -0.505758 +vn -0.424623 -0.587792 0.688619 +vn -0.561746 -0.418043 0.713920 +vn -0.887795 0.002013 0.460235 +vn -0.398312 -0.701367 0.591127 +vn -0.561746 -0.418043 0.713920 +vn -0.424623 -0.587792 0.688619 +vn 0.260188 -0.133234 -0.956322 +vn 0.103824 -0.991062 -0.083762 +vn 0.000000 -0.989102 -0.147233 +vn -0.634957 -0.752318 0.175632 +vn -0.640604 -0.766170 -0.051084 +vn -0.492921 -0.861827 0.119516 +vn 0.934371 0.209882 0.287924 +vn 0.957424 -0.134364 0.255512 +vn 0.978157 0.205051 0.034095 +vn 0.818436 -0.534372 0.211209 +vn 0.957424 -0.134364 0.255512 +vn 0.749273 -0.527163 0.400860 +vn 0.111154 0.658820 0.744044 +vn 0.441597 0.362120 0.820891 +vn 0.410188 0.083881 0.908136 +vn 0.111154 0.658820 0.744044 +vn 0.066278 0.677228 0.732782 +vn 0.318551 0.401296 0.858771 +vn 0.970510 0.098944 0.219819 +vn 0.678647 0.454710 0.576782 +vn 0.819688 0.078929 0.567347 +vn -0.866504 0.227507 -0.444311 +vn -0.934016 0.231580 -0.272001 +vn -0.757971 0.530639 -0.379344 +vn -0.748568 0.064561 0.659908 +vn -0.770405 0.180316 0.611525 +vn -0.812185 0.121577 0.570591 +vn -0.761796 0.147760 0.630740 +vn -0.926552 0.079410 0.367689 +vn -0.848829 0.417463 0.324366 +vn -0.623360 0.179964 0.760943 +vn -0.355215 0.145919 0.923326 +vn -0.417119 0.505013 0.755628 +vn -0.227248 0.485055 0.844440 +vn -0.318550 0.401296 0.858771 +vn -0.111154 0.658820 0.744044 +vn 0.000000 0.177647 0.984094 +vn 0.000000 0.940996 0.338419 +vn -0.057404 0.966906 0.248590 +vn 0.057404 0.966906 0.248590 +vn 0.000000 0.940996 0.338419 +vn 0.000000 0.177647 0.984094 +vn 0.221137 0.150809 0.963512 +vn 0.057404 0.966906 0.248590 +vn 0.000000 0.177647 0.984094 +vn -0.000205 0.983959 0.178392 +vn 0.057404 0.966906 0.248590 +vn 0.221137 0.150809 0.963512 +vn 0.186947 -0.951805 0.243144 +vn 0.408803 -0.502131 0.762066 +vn 0.328785 -0.454331 0.827939 +vn 0.334117 -0.447972 0.829269 +vn 0.408803 -0.502131 0.762066 +vn 0.186947 -0.951805 0.243144 +vn 0.053518 0.941920 0.331547 +vn 0.334117 -0.447972 0.829269 +vn 0.186947 -0.951805 0.243144 +vn -0.000205 0.983959 0.178392 +vn 0.334117 -0.447972 0.829269 +vn 0.053518 0.941920 0.331547 +vn -0.000000 0.092735 -0.995691 +vn 0.000000 0.940996 0.338419 +vn 0.057404 0.966906 0.248590 +vn -0.057404 0.966906 0.248590 +vn 0.000000 0.940996 0.338419 +vn -0.000000 0.092735 -0.995691 +vn -0.260187 -0.133233 -0.956322 +vn -0.057404 0.966906 0.248590 +vn -0.000000 0.092735 -0.995691 +vn 0.023279 0.998505 0.049450 +vn -0.057404 0.966906 0.248590 +vn -0.260187 -0.133233 -0.956322 +vn 0.186947 -0.951805 0.243144 +vn 0.251647 -0.902416 0.349741 +vn 0.055913 -0.993616 -0.097988 +vn 0.439610 -0.127960 0.889027 +vn 0.251647 -0.902416 0.349741 +vn 0.186947 -0.951805 0.243144 +vn 0.328785 -0.454331 0.827939 +vn 0.439610 -0.127960 0.889027 +vn 0.186947 -0.951805 0.243144 +vn -0.334117 -0.447972 0.829269 +vn -0.441091 -0.551736 0.707832 +vn -0.426160 -0.433699 0.793910 +vn -0.408803 -0.502131 0.762066 +vn -0.441091 -0.551736 0.707832 +vn -0.334117 -0.447972 0.829269 +vn -0.186948 -0.951805 0.243143 +vn -0.408803 -0.502131 0.762066 +vn -0.334117 -0.447972 0.829269 +vn -0.023279 0.998505 0.049451 +vn 0.053518 0.941920 0.331547 +vn 0.186947 -0.951805 0.243144 +vn -0.000205 0.983959 0.178392 +vn 0.053518 0.941920 0.331547 +vn -0.023279 0.998505 0.049451 +vn 0.057404 0.966906 0.248590 +vn -0.000205 0.983959 0.178392 +vn -0.023279 0.998505 0.049451 +vn 0.023279 0.998505 0.049450 +vn 0.000205 0.983960 0.178392 +vn -0.057404 0.966906 0.248590 +vn -0.053518 0.941920 0.331545 +vn 0.000205 0.983960 0.178392 +vn 0.023279 0.998505 0.049450 +vn -0.186948 -0.951805 0.243143 +vn -0.053518 0.941920 0.331545 +vn 0.023279 0.998505 0.049450 +vn -0.000000 0.092735 -0.995691 +vn 0.000000 -0.989102 -0.147233 +vn -0.260187 -0.133233 -0.956322 +vn 0.260188 -0.133234 -0.956322 +vn 0.000000 -0.989102 -0.147233 +vn -0.000000 0.092735 -0.995691 +vn -0.221137 0.150809 0.963512 +vn -0.057404 0.966906 0.248590 +vn 0.000205 0.983960 0.178392 +vn 0.000000 0.177647 0.984094 +vn -0.057404 0.966906 0.248590 +vn -0.221137 0.150809 0.963512 +vn 0.023279 0.998505 0.049450 +vn -0.055913 -0.993616 -0.097989 +vn -0.186948 -0.951805 0.243143 +vn -0.260187 -0.133233 -0.956322 +vn -0.055913 -0.993616 -0.097989 +vn 0.023279 0.998505 0.049450 +vn -0.251647 -0.902417 0.349740 +vn -0.186948 -0.951805 0.243143 +vn -0.055913 -0.993616 -0.097989 +vn -0.439611 -0.127959 0.889027 +vn -0.186948 -0.951805 0.243143 +vn -0.251647 -0.902417 0.349740 +vn -0.328785 -0.454331 0.827939 +vn -0.186948 -0.951805 0.243143 +vn -0.439611 -0.127959 0.889027 +vn -0.408803 -0.502131 0.762066 +vn -0.186948 -0.951805 0.243143 +vn -0.328785 -0.454331 0.827939 +vn 0.334117 -0.447972 0.829269 +vn 0.441092 -0.551736 0.707831 +vn 0.408803 -0.502131 0.762066 +vn 0.426160 -0.433699 0.793910 +vn 0.441092 -0.551736 0.707831 +vn 0.334117 -0.447972 0.829269 +vn 0.260188 -0.133234 -0.956322 +vn 0.057404 0.966906 0.248590 +vn -0.023279 0.998505 0.049451 +vn -0.000000 0.092735 -0.995691 +vn 0.057404 0.966906 0.248590 +vn 0.260188 -0.133234 -0.956322 +vn -0.334117 -0.447972 0.829269 +vn -0.053518 0.941920 0.331545 +vn -0.186948 -0.951805 0.243143 +vn 0.000205 0.983960 0.178392 +vn -0.053518 0.941920 0.331545 +vn -0.334117 -0.447972 0.829269 +vn -0.023279 0.998505 0.049451 +vn 0.186947 -0.951805 0.243144 +vn 0.055913 -0.993616 -0.097988 +vn -0.496995 -0.507260 0.704048 +vn -0.426160 -0.433699 0.793910 +vn -0.247009 -0.529037 0.811854 +vn -0.334117 -0.447972 0.829269 +vn -0.426160 -0.433699 0.793910 +vn -0.496995 -0.507260 0.704048 +vn -0.491110 -0.049665 0.869681 +vn -0.334117 -0.447972 0.829269 +vn -0.496995 -0.507260 0.704048 +vn 0.000205 0.983960 0.178392 +vn -0.334117 -0.447972 0.829269 +vn -0.491110 -0.049665 0.869681 +vn -0.221137 0.150809 0.963512 +vn 0.000205 0.983960 0.178392 +vn -0.491110 -0.049665 0.869681 +vn 0.496996 -0.507261 0.704047 +vn 0.247009 -0.529037 0.811854 +vn 0.426160 -0.433699 0.793910 +vn 0.292163 -0.514783 0.806002 +vn 0.247009 -0.529037 0.811854 +vn 0.496996 -0.507261 0.704047 +vn 0.491109 -0.049667 0.869681 +vn 0.292163 -0.514783 0.806002 +vn 0.496996 -0.507261 0.704047 +vn 0.221137 0.150809 0.963512 +vn 0.292163 -0.514783 0.806002 +vn 0.491109 -0.049667 0.869681 +vn -0.000205 0.983959 0.178392 +vn 0.221137 0.150809 0.963512 +vn 0.491109 -0.049667 0.869681 +vn -0.221137 0.150809 0.963512 +vn 0.000000 -0.545284 0.838252 +vn 0.000000 0.177647 0.984094 +vn -0.292163 -0.514783 0.806002 +vn 0.000000 -0.545284 0.838252 +vn -0.221137 0.150809 0.963512 +vn -0.491110 -0.049665 0.869681 +vn -0.292163 -0.514783 0.806002 +vn -0.221137 0.150809 0.963512 +vn -0.496995 -0.507260 0.704048 +vn -0.292163 -0.514783 0.806002 +vn -0.491110 -0.049665 0.869681 +vn 0.000000 -0.545284 0.838252 +vn 0.000000 -0.554485 0.832193 +vn 0.247009 -0.529037 0.811854 +vn -0.247009 -0.529037 0.811854 +vn 0.000000 -0.554485 0.832193 +vn 0.000000 -0.545284 0.838252 +vn -0.292163 -0.514783 0.806002 +vn -0.247009 -0.529037 0.811854 +vn 0.000000 -0.545284 0.838252 +vn -0.496995 -0.507260 0.704048 +vn -0.247009 -0.529037 0.811854 +vn -0.292163 -0.514783 0.806002 +vn 0.334117 -0.447972 0.829269 +vn 0.496996 -0.507261 0.704047 +vn 0.426160 -0.433699 0.793910 +vn 0.491109 -0.049667 0.869681 +vn 0.496996 -0.507261 0.704047 +vn 0.334117 -0.447972 0.829269 +vn -0.000205 0.983959 0.178392 +vn 0.491109 -0.049667 0.869681 +vn 0.334117 -0.447972 0.829269 +vn 0.000000 -0.545284 0.838252 +vn 0.221137 0.150809 0.963512 +vn 0.000000 0.177647 0.984094 +vn 0.292163 -0.514783 0.806002 +vn 0.221137 0.150809 0.963512 +vn 0.000000 -0.545284 0.838252 +vn 0.247009 -0.529037 0.811854 +vn 0.292163 -0.514783 0.806002 +vn 0.000000 -0.545284 0.838252 +vn -0.691117 -0.085432 0.717676 +vn -0.831546 -0.426379 0.355995 +vn -0.698017 -0.526599 0.485249 +vn -0.829716 0.047170 0.556189 +vn -0.831546 -0.426379 0.355995 +vn -0.691117 -0.085432 0.717676 +vn -0.506985 0.413376 0.756364 +vn -0.829716 0.047170 0.556189 +vn -0.691117 -0.085432 0.717676 +vn -0.864626 0.271128 0.422980 +vn -0.829716 0.047170 0.556189 +vn -0.506985 0.413376 0.756364 +vn -0.784702 0.507524 0.355895 +vn -0.864626 0.271128 0.422980 +vn -0.506985 0.413376 0.756364 +vn -0.954811 0.294860 -0.037339 +vn -0.864626 0.271128 0.422980 +vn -0.784702 0.507524 0.355895 +vn -0.872517 0.481335 -0.083845 +vn -0.954811 0.294860 -0.037339 +vn -0.784702 0.507524 0.355895 +vn -0.784702 0.507524 0.355895 +vn -0.752062 0.656045 -0.063302 +vn -0.872517 0.481335 -0.083845 +vn -0.615138 0.696075 0.370250 +vn -0.752062 0.656045 -0.063302 +vn -0.784702 0.507524 0.355895 +vn -0.506985 0.413376 0.756364 +vn -0.615138 0.696075 0.370250 +vn -0.784702 0.507524 0.355895 +vn -0.403611 0.792477 0.457251 +vn -0.615138 0.696075 0.370250 +vn -0.506985 0.413376 0.756364 +vn -0.205609 0.780054 0.590966 +vn -0.403611 0.792477 0.457251 +vn -0.506985 0.413376 0.756364 +vn -0.080047 0.970144 0.228941 +vn -0.403611 0.792477 0.457251 +vn -0.205609 0.780054 0.590966 +vn 0.088504 0.939645 0.330505 +vn -0.080047 0.970144 0.228941 +vn -0.205609 0.780054 0.590966 +vn -0.014554 0.459642 0.887985 +vn -0.083239 0.223690 0.971099 +vn 0.420516 0.193033 0.886513 +vn -0.506985 0.413376 0.756364 +vn -0.083239 0.223690 0.971099 +vn -0.014554 0.459642 0.887985 +vn -0.063610 0.663657 0.745327 +vn -0.506985 0.413376 0.756364 +vn -0.014554 0.459642 0.887985 +vn -0.205609 0.780054 0.590966 +vn -0.506985 0.413376 0.756364 +vn -0.063610 0.663657 0.745327 +vn 0.220166 0.858580 0.462998 +vn -0.205609 0.780054 0.590966 +vn -0.063610 0.663657 0.745327 +vn 0.088504 0.939645 0.330505 +vn -0.205609 0.780054 0.590966 +vn 0.220166 0.858580 0.462998 +vn -0.083239 0.223690 0.971099 +vn 0.368838 -0.008926 0.929451 +vn 0.420516 0.193033 0.886513 +vn 0.230882 -0.182986 0.955620 +vn 0.368838 -0.008926 0.929451 +vn -0.083239 0.223690 0.971099 +vn -0.250833 0.016855 0.967884 +vn 0.230882 -0.182986 0.955620 +vn -0.083239 0.223690 0.971099 +vn 0.077924 -0.358608 0.930230 +vn 0.230882 -0.182986 0.955620 +vn -0.250833 0.016855 0.967884 +vn -0.128819 -0.470313 0.873047 +vn 0.077924 -0.358608 0.930230 +vn -0.250833 0.016855 0.967884 +vn -0.063610 0.663657 0.745327 +vn 0.344763 0.743024 0.573632 +vn 0.220166 0.858580 0.462998 +vn 0.408025 0.583863 0.701869 +vn 0.344763 0.743024 0.573632 +vn -0.063610 0.663657 0.745327 +vn -0.014554 0.459642 0.887985 +vn 0.408025 0.583863 0.701869 +vn -0.063610 0.663657 0.745327 +vn 0.457203 0.393393 0.797626 +vn 0.408025 0.583863 0.701869 +vn -0.014554 0.459642 0.887985 +vn 0.420516 0.193033 0.886513 +vn 0.457203 0.393393 0.797626 +vn -0.014554 0.459642 0.887985 +vn -0.506985 0.413376 0.756364 +vn -0.250833 0.016855 0.967884 +vn -0.083239 0.223690 0.971099 +vn -0.480607 -0.099695 0.871251 +vn -0.250833 0.016855 0.967884 +vn -0.506985 0.413376 0.756364 +vn -0.691117 -0.085432 0.717676 +vn -0.480607 -0.099695 0.871251 +vn -0.506985 0.413376 0.756364 +vn -0.531192 -0.555236 0.639959 +vn -0.480607 -0.099695 0.871251 +vn -0.691117 -0.085432 0.717676 +vn -0.698017 -0.526599 0.485249 +vn -0.531192 -0.555236 0.639959 +vn -0.691117 -0.085432 0.717676 +vn -0.615138 0.696075 0.370250 +vn -0.599377 0.799365 -0.041987 +vn -0.752062 0.656045 -0.063302 +vn -0.431029 0.901528 0.038221 +vn -0.599377 0.799365 -0.041987 +vn -0.615138 0.696075 0.370250 +vn -0.403611 0.792477 0.457251 +vn -0.431029 0.901528 0.038221 +vn -0.615138 0.696075 0.370250 +vn -0.249531 0.961888 0.111830 +vn -0.431029 0.901528 0.038221 +vn -0.403611 0.792477 0.457251 +vn -0.080047 0.970144 0.228941 +vn -0.249531 0.961888 0.111830 +vn -0.403611 0.792477 0.457251 +vn -0.996546 0.081511 0.015848 +vn -0.864626 0.271128 0.422980 +vn -0.954811 0.294860 -0.037339 +vn -0.985975 -0.118213 0.117809 +vn -0.864626 0.271128 0.422980 +vn -0.996546 0.081511 0.015848 +vn -0.985975 -0.118213 0.117809 +vn -0.829716 0.047170 0.556189 +vn -0.864626 0.271128 0.422980 +vn -0.926215 -0.312348 0.211103 +vn -0.829716 0.047170 0.556189 +vn -0.985975 -0.118213 0.117809 +vn -0.329422 -0.557098 0.762314 +vn -0.480607 -0.099695 0.871251 +vn -0.531192 -0.555236 0.639959 +vn -0.128819 -0.470313 0.873047 +vn -0.480607 -0.099695 0.871251 +vn -0.329422 -0.557098 0.762314 +vn -0.480607 -0.099695 0.871251 +vn -0.128819 -0.470313 0.873047 +vn -0.250833 0.016855 0.967884 +vn -0.831546 -0.426379 0.355995 +vn -0.829716 0.047170 0.556189 +vn -0.926215 -0.312348 0.211103 +vn 0.519305 -0.398701 0.755884 +vn 0.328168 -0.652463 0.683079 +vn 0.179491 -0.464843 0.867009 +vn 0.564445 -0.567339 0.599607 +vn 0.328168 -0.652463 0.683079 +vn 0.519305 -0.398701 0.755884 +vn 0.846601 -0.272174 0.457371 +vn 0.564445 -0.567339 0.599607 +vn 0.519305 -0.398701 0.755884 +vn 0.844268 -0.366108 0.391377 +vn 0.564445 -0.567339 0.599607 +vn 0.846601 -0.272174 0.457371 +vn 0.975691 -0.195814 0.098410 +vn 0.844268 -0.366108 0.391377 +vn 0.846601 -0.272174 0.457371 +vn 0.963809 -0.250860 0.090226 +vn 0.844268 -0.366108 0.391377 +vn 0.975691 -0.195814 0.098410 +vn 0.089527 -0.768085 0.634059 +vn 0.128533 -0.894100 0.429028 +vn 0.233719 -0.959021 0.160169 +vn 0.236386 -0.833064 0.500125 +vn 0.128533 -0.894100 0.429028 +vn 0.089527 -0.768085 0.634059 +vn 0.328168 -0.652463 0.683079 +vn 0.236386 -0.833064 0.500125 +vn 0.089527 -0.768085 0.634059 +vn 0.305208 -0.589144 0.748170 +vn 0.236386 -0.833064 0.500125 +vn 0.328168 -0.652463 0.683079 +vn 0.566223 -0.424988 0.706241 +vn 0.305208 -0.589144 0.748170 +vn 0.328168 -0.652463 0.683079 +vn -0.217672 -0.931017 0.292961 +vn 0.233719 -0.959021 0.160169 +vn 0.100760 -0.994841 0.011787 +vn 0.089527 -0.768085 0.634059 +vn 0.233719 -0.959021 0.160169 +vn -0.217672 -0.931017 0.292961 +vn 0.460614 -0.385718 -0.799410 +vn 0.510244 -0.241635 -0.825387 +vn 0.848380 -0.158019 -0.505253 +vn 0.131788 -0.401645 -0.906264 +vn 0.510244 -0.241635 -0.825387 +vn 0.460614 -0.385718 -0.799410 +vn 0.564445 -0.567339 0.599607 +vn 0.566223 -0.424988 0.706241 +vn 0.328168 -0.652463 0.683079 +vn 0.844268 -0.366108 0.391377 +vn 0.566223 -0.424988 0.706241 +vn 0.564445 -0.567339 0.599607 +vn 0.305208 -0.589144 0.748170 +vn 0.387334 -0.601910 0.698338 +vn 0.081997 -0.713065 0.696286 +vn 0.608161 -0.424882 0.670533 +vn 0.387334 -0.601910 0.698338 +vn 0.305208 -0.589144 0.748170 +vn 0.566223 -0.424988 0.706241 +vn 0.608161 -0.424882 0.670533 +vn 0.305208 -0.589144 0.748170 +vn 0.872277 -0.158837 0.462497 +vn 0.608161 -0.424882 0.670533 +vn 0.566223 -0.424988 0.706241 +vn 0.900809 -0.166099 0.401190 +vn 0.872277 -0.158837 0.462497 +vn 0.566223 -0.424988 0.706241 +vn 0.985292 -0.151172 0.079665 +vn 0.872277 -0.158837 0.462497 +vn 0.900809 -0.166099 0.401190 +vn 0.982224 -0.166533 0.086624 +vn 0.985292 -0.151172 0.079665 +vn 0.900809 -0.166099 0.401190 +vn 0.965721 -0.148695 -0.212773 +vn 0.985292 -0.151172 0.079665 +vn 0.982224 -0.166533 0.086624 +vn 0.972463 -0.110922 -0.204967 +vn 0.965721 -0.148695 -0.212773 +vn 0.982224 -0.166533 0.086624 +vn 0.848380 -0.158019 -0.505253 +vn 0.965721 -0.148695 -0.212773 +vn 0.972463 -0.110922 -0.204967 +vn 0.848617 -0.173777 -0.499651 +vn 0.848380 -0.158019 -0.505253 +vn 0.972463 -0.110922 -0.204967 +vn 0.460614 -0.385718 -0.799410 +vn 0.848380 -0.158019 -0.505253 +vn 0.848617 -0.173777 -0.499651 +vn 0.759376 -0.545732 -0.354294 +vn 0.460614 -0.385718 -0.799410 +vn 0.848617 -0.173777 -0.499651 +vn 0.400849 -0.585523 -0.704616 +vn 0.460614 -0.385718 -0.799410 +vn 0.759376 -0.545732 -0.354294 +vn 0.475787 -0.651953 -0.590410 +vn 0.400849 -0.585523 -0.704616 +vn 0.759376 -0.545732 -0.354294 +vn 0.019433 -0.866850 -0.498191 +vn 0.400849 -0.585523 -0.704616 +vn 0.475787 -0.651953 -0.590410 +vn -0.092606 -0.704147 -0.703990 +vn 0.019433 -0.866850 -0.498191 +vn 0.475787 -0.651953 -0.590410 +vn -0.059957 -0.977914 -0.200223 +vn 0.019433 -0.866850 -0.498191 +vn -0.092606 -0.704147 -0.703990 +vn -0.822935 -0.497426 -0.274490 +vn -0.059957 -0.977914 -0.200223 +vn -0.092606 -0.704147 -0.703990 +vn 0.000000 -0.992137 -0.125160 +vn -0.059957 -0.977914 -0.200223 +vn -0.822935 -0.497426 -0.274490 +vn 0.138235 -0.207053 -0.968514 +vn 0.153557 -0.056811 -0.986505 +vn 0.519397 -0.085108 -0.850284 +vn 0.000000 -0.248808 -0.968553 +vn 0.153557 -0.056811 -0.986505 +vn 0.138235 -0.207053 -0.968514 +vn 0.131788 -0.401645 -0.906264 +vn 0.000000 -0.248808 -0.968553 +vn 0.138235 -0.207053 -0.968514 +vn 0.000000 -0.451474 -0.892284 +vn 0.000000 -0.248808 -0.968553 +vn 0.131788 -0.401645 -0.906264 +vn 0.093265 -0.660985 -0.744581 +vn 0.000000 -0.451474 -0.892284 +vn 0.131788 -0.401645 -0.906264 +vn 0.000000 -0.820058 -0.572280 +vn 0.000000 -0.451474 -0.892284 +vn 0.093265 -0.660985 -0.744581 +vn 0.000000 -0.957638 -0.287976 +vn 0.000000 -0.820058 -0.572280 +vn 0.093265 -0.660985 -0.744581 +vn 0.233719 -0.959021 0.160169 +vn 0.123046 -0.942151 0.311788 +vn 0.100760 -0.994841 0.011787 +vn 0.042113 -0.776334 0.628914 +vn 0.123046 -0.942151 0.311788 +vn 0.233719 -0.959021 0.160169 +vn 0.128533 -0.894100 0.429028 +vn 0.042113 -0.776334 0.628914 +vn 0.233719 -0.959021 0.160169 +vn 0.081997 -0.713065 0.696286 +vn 0.042113 -0.776334 0.628914 +vn 0.128533 -0.894100 0.429028 +vn 0.236386 -0.833064 0.500125 +vn 0.081997 -0.713065 0.696286 +vn 0.128533 -0.894100 0.429028 +vn 0.305208 -0.589144 0.748170 +vn 0.081997 -0.713065 0.696286 +vn 0.236386 -0.833064 0.500125 +vn 0.100760 -0.994841 0.011787 +vn 0.000000 -0.998636 -0.052219 +vn -0.660838 -0.745720 0.084817 +vn 0.000000 -0.999157 0.041053 +vn 0.000000 -0.998636 -0.052219 +vn 0.100760 -0.994841 0.011787 +vn 0.123046 -0.942151 0.311788 +vn 0.000000 -0.999157 0.041053 +vn 0.100760 -0.994841 0.011787 +vn 0.000000 -0.993584 0.113099 +vn 0.000000 -0.999157 0.041053 +vn 0.123046 -0.942151 0.311788 +vn 0.000000 -0.879973 0.475023 +vn 0.000000 -0.993584 0.113099 +vn 0.123046 -0.942151 0.311788 +vn 0.844268 -0.366108 0.391377 +vn 0.900809 -0.166099 0.401190 +vn 0.566223 -0.424988 0.706241 +vn 0.982224 -0.166533 0.086624 +vn 0.900809 -0.166099 0.401190 +vn 0.844268 -0.366108 0.391377 +vn 0.963809 -0.250860 0.090226 +vn 0.982224 -0.166533 0.086624 +vn 0.844268 -0.366108 0.391377 +vn 0.972463 -0.110922 -0.204967 +vn 0.982224 -0.166533 0.086624 +vn 0.963809 -0.250860 0.090226 +vn 0.952653 -0.206481 -0.223199 +vn 0.972463 -0.110922 -0.204967 +vn 0.963809 -0.250860 0.090226 +vn -0.972463 -0.110922 -0.204966 +vn -0.848380 -0.158020 -0.505253 +vn -0.848617 -0.173777 -0.499651 +vn -0.965721 -0.148695 -0.212772 +vn -0.848380 -0.158020 -0.505253 +vn -0.972463 -0.110922 -0.204966 +vn -0.982224 -0.166533 0.086624 +vn -0.965721 -0.148695 -0.212772 +vn -0.972463 -0.110922 -0.204966 +vn -0.985292 -0.151172 0.079665 +vn -0.965721 -0.148695 -0.212772 +vn -0.982224 -0.166533 0.086624 +vn -0.153557 -0.056811 -0.986505 +vn -0.138235 -0.207053 -0.968514 +vn -0.519397 -0.085108 -0.850284 +vn 0.000000 -0.248808 -0.968553 +vn -0.138235 -0.207053 -0.968514 +vn -0.153557 -0.056811 -0.986505 +vn 0.000000 -0.125951 -0.992036 +vn 0.000000 -0.248808 -0.968553 +vn -0.153557 -0.056811 -0.986505 +vn 0.153557 -0.056811 -0.986505 +vn 0.000000 -0.248808 -0.968553 +vn 0.000000 -0.125951 -0.992036 +vn 0.759376 -0.545732 -0.354294 +vn 0.952653 -0.206481 -0.223199 +vn 0.475787 -0.651953 -0.590410 +vn 0.972463 -0.110922 -0.204967 +vn 0.952653 -0.206481 -0.223199 +vn 0.759376 -0.545732 -0.354294 +vn 0.848617 -0.173777 -0.499651 +vn 0.972463 -0.110922 -0.204967 +vn 0.759376 -0.545732 -0.354294 +vn 0.000000 -0.998636 -0.052219 +vn -0.100760 -0.994841 0.011787 +vn 0.660838 -0.745720 0.084817 +vn 0.000000 -0.999157 0.041053 +vn -0.100760 -0.994841 0.011787 +vn 0.000000 -0.998636 -0.052219 +vn 0.000000 -0.999157 0.041053 +vn -0.123046 -0.942151 0.311788 +vn -0.100760 -0.994841 0.011787 +vn 0.000000 -0.993584 0.113099 +vn -0.123046 -0.942151 0.311788 +vn 0.000000 -0.999157 0.041053 +vn -0.042113 -0.776334 0.628914 +vn 0.000000 -0.879973 0.475023 +vn 0.000000 -0.790024 0.613077 +vn -0.123046 -0.942151 0.311788 +vn 0.000000 -0.879973 0.475023 +vn -0.042113 -0.776334 0.628914 +vn 0.042113 -0.776334 0.628914 +vn 0.000000 -0.879973 0.475023 +vn 0.123046 -0.942151 0.311788 +vn 0.000000 -0.790024 0.613077 +vn 0.000000 -0.879973 0.475023 +vn 0.042113 -0.776334 0.628914 +vn 0.660838 -0.745720 0.084817 +vn 0.000000 -0.992137 -0.125160 +vn 0.000000 -0.998636 -0.052219 +vn 0.822935 -0.497426 -0.274490 +vn 0.000000 -0.992137 -0.125160 +vn 0.660838 -0.745720 0.084817 +vn -0.131788 -0.401645 -0.906263 +vn 0.000000 -0.248808 -0.968553 +vn 0.000000 -0.451474 -0.892284 +vn -0.138235 -0.207053 -0.968514 +vn 0.000000 -0.248808 -0.968553 +vn -0.131788 -0.401645 -0.906263 +vn 0.000000 -0.992137 -0.125160 +vn -0.660838 -0.745720 0.084817 +vn 0.000000 -0.998636 -0.052219 +vn -0.822935 -0.497426 -0.274490 +vn -0.660838 -0.745720 0.084817 +vn 0.000000 -0.992137 -0.125160 +vn 0.400849 -0.585523 -0.704616 +vn 0.093265 -0.660985 -0.744581 +vn 0.460614 -0.385718 -0.799410 +vn 0.019433 -0.866850 -0.498191 +vn 0.093265 -0.660985 -0.744581 +vn 0.400849 -0.585523 -0.704616 +vn 0.019433 -0.866850 -0.498191 +vn 0.000000 -0.957638 -0.287976 +vn 0.093265 -0.660985 -0.744581 +vn -0.059957 -0.977914 -0.200223 +vn 0.000000 -0.957638 -0.287976 +vn 0.019433 -0.866850 -0.498191 +vn -0.848380 -0.158020 -0.505253 +vn -0.965721 -0.148695 -0.212772 +vn -0.857601 -0.250368 -0.449262 +vn 0.848380 -0.158019 -0.505253 +vn 0.857601 -0.250368 -0.449262 +vn 0.965721 -0.148695 -0.212773 +vn 0.131788 -0.401645 -0.906264 +vn 0.460614 -0.385718 -0.799410 +vn 0.093265 -0.660985 -0.744581 +vn 0.000000 -0.879973 0.475023 +vn -0.123046 -0.942151 0.311788 +vn 0.000000 -0.993584 0.113099 +vn 0.000000 -0.992137 -0.125160 +vn 0.000000 -0.957638 -0.287976 +vn -0.059957 -0.977914 -0.200223 +vn -0.936688 -0.050290 -0.346534 +vn -0.353512 -0.456433 -0.816516 +vn -0.400836 -0.173636 -0.899545 +vn -0.822935 -0.497426 -0.274490 +vn -0.353512 -0.456433 -0.816516 +vn -0.936688 -0.050290 -0.346534 +vn -0.981787 -0.081920 0.171418 +vn -0.822935 -0.497426 -0.274490 +vn -0.936688 -0.050290 -0.346534 +vn -0.660838 -0.745720 0.084817 +vn -0.822935 -0.497426 -0.274490 +vn -0.981787 -0.081920 0.171418 +vn -0.660838 -0.745720 0.084817 +vn -0.217672 -0.931017 0.292961 +vn 0.100760 -0.994841 0.011787 +vn -0.826954 -0.328157 0.456575 +vn -0.217672 -0.931017 0.292961 +vn -0.660838 -0.745720 0.084817 +vn -0.981787 -0.081920 0.171418 +vn -0.826954 -0.328157 0.456575 +vn -0.660838 -0.745720 0.084817 +vn -0.762894 -0.209059 0.611791 +vn -0.826954 -0.328157 0.456575 +vn -0.981787 -0.081920 0.171418 +vn 0.571902 -0.369104 -0.732591 +vn 0.475787 -0.651953 -0.590410 +vn 0.934433 -0.233422 -0.268979 +vn -0.092606 -0.704147 -0.703990 +vn 0.475787 -0.651953 -0.590410 +vn 0.571902 -0.369104 -0.732591 +vn -0.353512 -0.456433 -0.816516 +vn -0.092606 -0.704147 -0.703990 +vn 0.571902 -0.369104 -0.732591 +vn -0.822935 -0.497426 -0.274490 +vn -0.092606 -0.704147 -0.703990 +vn -0.353512 -0.456433 -0.816516 +vn 0.934433 -0.233422 -0.268979 +vn 0.963809 -0.250860 0.090226 +vn 0.975691 -0.195814 0.098410 +vn 0.952653 -0.206481 -0.223199 +vn 0.963809 -0.250860 0.090226 +vn 0.934433 -0.233422 -0.268979 +vn 0.475787 -0.651953 -0.590410 +vn 0.952653 -0.206481 -0.223199 +vn 0.934433 -0.233422 -0.268979 +vn -0.249382 -0.652885 0.715227 +vn -0.762894 -0.209059 0.611791 +vn -0.310152 -0.332971 0.890470 +vn -0.826954 -0.328157 0.456575 +vn -0.762894 -0.209059 0.611791 +vn -0.249382 -0.652885 0.715227 +vn -0.217672 -0.931017 0.292961 +vn -0.826954 -0.328157 0.456575 +vn -0.249382 -0.652885 0.715227 +vn -0.249382 -0.652885 0.715227 +vn 0.089527 -0.768085 0.634059 +vn -0.217672 -0.931017 0.292961 +vn 0.179491 -0.464843 0.867009 +vn 0.089527 -0.768085 0.634059 +vn -0.249382 -0.652885 0.715227 +vn 0.179491 -0.464843 0.867009 +vn 0.328168 -0.652463 0.683079 +vn 0.089527 -0.768085 0.634059 +vn -0.400836 -0.173636 -0.899545 +vn 0.407446 -0.029921 -0.912739 +vn -0.464758 0.018066 -0.885254 +vn 0.466068 -0.061519 -0.882608 +vn 0.407446 -0.029921 -0.912739 +vn -0.400836 -0.173636 -0.899545 +vn -0.353512 -0.456433 -0.816516 +vn 0.466068 -0.061519 -0.882608 +vn -0.400836 -0.173636 -0.899545 +vn 0.571902 -0.369104 -0.732591 +vn 0.466068 -0.061519 -0.882608 +vn -0.353512 -0.456433 -0.816516 +vn 0.466068 -0.061519 -0.882608 +vn 0.934185 -0.085035 -0.346507 +vn 0.407446 -0.029921 -0.912739 +vn 0.942301 -0.127656 -0.309472 +vn 0.934185 -0.085035 -0.346507 +vn 0.466068 -0.061519 -0.882608 +vn 0.571902 -0.369104 -0.732591 +vn 0.942301 -0.127656 -0.309472 +vn 0.466068 -0.061519 -0.882608 +vn 0.934433 -0.233422 -0.268979 +vn 0.942301 -0.127656 -0.309472 +vn 0.571902 -0.369104 -0.732591 +vn 0.942301 -0.127656 -0.309472 +vn 0.996257 -0.020845 0.083890 +vn 0.934185 -0.085035 -0.346507 +vn 0.984662 -0.147897 0.092562 +vn 0.996257 -0.020845 0.083890 +vn 0.942301 -0.127656 -0.309472 +vn 0.934433 -0.233422 -0.268979 +vn 0.984662 -0.147897 0.092562 +vn 0.942301 -0.127656 -0.309472 +vn 0.975691 -0.195814 0.098410 +vn 0.984662 -0.147897 0.092562 +vn 0.934433 -0.233422 -0.268979 +vn 0.984662 -0.147897 0.092562 +vn 0.833690 -0.058436 0.549133 +vn 0.996257 -0.020845 0.083890 +vn 0.836798 -0.199880 0.509722 +vn 0.833690 -0.058436 0.549133 +vn 0.984662 -0.147897 0.092562 +vn 0.975691 -0.195814 0.098410 +vn 0.836798 -0.199880 0.509722 +vn 0.984662 -0.147897 0.092562 +vn 0.846601 -0.272174 0.457371 +vn 0.836798 -0.199880 0.509722 +vn 0.975691 -0.195814 0.098410 +vn 0.836798 -0.199880 0.509722 +vn 0.493619 -0.059685 0.867628 +vn 0.833690 -0.058436 0.549133 +vn 0.506602 -0.222876 0.832875 +vn 0.493619 -0.059685 0.867628 +vn 0.836798 -0.199880 0.509722 +vn 0.846601 -0.272174 0.457371 +vn 0.506602 -0.222876 0.832875 +vn 0.836798 -0.199880 0.509722 +vn 0.519305 -0.398701 0.755884 +vn 0.506602 -0.222876 0.832875 +vn 0.846601 -0.272174 0.457371 +vn 0.506602 -0.222876 0.832875 +vn 0.052999 -0.044203 0.997616 +vn 0.493619 -0.059685 0.867628 +vn 0.118903 -0.253915 0.959890 +vn 0.052999 -0.044203 0.997616 +vn 0.506602 -0.222876 0.832875 +vn 0.519305 -0.398701 0.755884 +vn 0.118903 -0.253915 0.959890 +vn 0.506602 -0.222876 0.832875 +vn 0.179491 -0.464843 0.867009 +vn 0.118903 -0.253915 0.959890 +vn 0.519305 -0.398701 0.755884 +vn 0.118903 -0.253915 0.959890 +vn -0.414876 -0.089808 0.905435 +vn 0.052999 -0.044203 0.997616 +vn -0.310152 -0.332971 0.890470 +vn -0.414876 -0.089808 0.905435 +vn 0.118903 -0.253915 0.959890 +vn 0.179491 -0.464843 0.867009 +vn -0.310152 -0.332971 0.890470 +vn 0.118903 -0.253915 0.959890 +vn -0.249382 -0.652885 0.715227 +vn -0.310152 -0.332971 0.890470 +vn 0.179491 -0.464843 0.867009 +vn -0.981787 -0.081920 0.171418 +vn -0.931211 -0.052094 -0.360740 +vn -0.979165 -0.093624 0.180197 +vn -0.936688 -0.050290 -0.346534 +vn -0.931211 -0.052094 -0.360740 +vn -0.981787 -0.081920 0.171418 +vn -0.936688 -0.050290 -0.346534 +vn -0.464758 0.018066 -0.885254 +vn -0.931211 -0.052094 -0.360740 +vn -0.400836 -0.173636 -0.899545 +vn -0.464758 0.018066 -0.885254 +vn -0.936688 -0.050290 -0.346534 +vn -0.310152 -0.332971 0.890470 +vn -0.784060 -0.116070 0.609736 +vn -0.414876 -0.089808 0.905435 +vn -0.762894 -0.209059 0.611791 +vn -0.784060 -0.116070 0.609736 +vn -0.310152 -0.332971 0.890470 +vn -0.979165 -0.093624 0.180197 +vn -0.762894 -0.209059 0.611791 +vn -0.981787 -0.081920 0.171418 +vn -0.784060 -0.116070 0.609736 +vn -0.762894 -0.209059 0.611791 +vn -0.979165 -0.093624 0.180197 +vn 0.436669 0.029845 -0.899127 +vn 0.597078 0.315325 -0.737609 +vn -0.040106 0.315479 -0.948085 +vn 0.914794 0.234064 -0.329190 +vn 0.597078 0.315325 -0.737609 +vn 0.436669 0.029845 -0.899127 +vn 0.917944 0.019302 -0.396240 +vn 0.914794 0.234064 -0.329190 +vn 0.436669 0.029845 -0.899127 +vn 0.981354 0.179032 0.069948 +vn 0.914794 0.234064 -0.329190 +vn 0.917944 0.019302 -0.396240 +vn 0.989225 -0.014886 0.145644 +vn 0.981354 0.179032 0.069948 +vn 0.917944 0.019302 -0.396240 +vn 0.842804 0.155501 0.515268 +vn 0.981354 0.179032 0.069948 +vn 0.989225 -0.014886 0.145644 +vn 0.783678 -0.000667 0.621166 +vn 0.842804 0.155501 0.515268 +vn 0.989225 -0.014886 0.145644 +vn 0.531248 0.000952 0.847216 +vn 0.842804 0.155501 0.515268 +vn 0.783678 -0.000667 0.621166 +vn 0.508992 -0.026834 0.860353 +vn 0.531248 0.000952 0.847216 +vn 0.783678 -0.000667 0.621166 +vn 0.081776 -0.047037 0.995540 +vn 0.531248 0.000952 0.847216 +vn 0.508992 -0.026834 0.860353 +vn 0.052999 -0.044203 0.997616 +vn 0.081776 -0.047037 0.995540 +vn 0.508992 -0.026834 0.860353 +vn -0.414876 -0.089808 0.905435 +vn 0.081776 -0.047037 0.995540 +vn 0.052999 -0.044203 0.997616 +vn 0.508992 -0.026834 0.860353 +vn 0.493619 -0.059685 0.867628 +vn 0.052999 -0.044203 0.997616 +vn 0.779888 -0.020467 0.625585 +vn 0.493619 -0.059685 0.867628 +vn 0.508992 -0.026834 0.860353 +vn 0.783678 -0.000667 0.621166 +vn 0.779888 -0.020467 0.625585 +vn 0.508992 -0.026834 0.860353 +vn 0.988501 0.078826 0.129042 +vn 0.779888 -0.020467 0.625585 +vn 0.783678 -0.000667 0.621166 +vn 0.989225 -0.014886 0.145644 +vn 0.988501 0.078826 0.129042 +vn 0.783678 -0.000667 0.621166 +vn 0.918472 0.139750 -0.369973 +vn 0.988501 0.078826 0.129042 +vn 0.989225 -0.014886 0.145644 +vn 0.917944 0.019302 -0.396240 +vn 0.918472 0.139750 -0.369973 +vn 0.989225 -0.014886 0.145644 +vn 0.399240 -0.082061 -0.913167 +vn 0.918472 0.139750 -0.369973 +vn 0.917944 0.019302 -0.396240 +vn 0.436669 0.029845 -0.899127 +vn 0.399240 -0.082061 -0.913167 +vn 0.917944 0.019302 -0.396240 +vn -0.977146 -0.078472 0.197556 +vn -0.945849 0.131087 -0.296961 +vn -0.985429 0.091389 0.143448 +vn -0.938438 0.008498 -0.345343 +vn -0.945849 0.131087 -0.296961 +vn -0.977146 -0.078472 0.197556 +vn -0.977826 0.063109 0.199685 +vn -0.938438 0.008498 -0.345343 +vn -0.977146 -0.078472 0.197556 +vn -0.935354 -0.022567 -0.352994 +vn -0.938438 0.008498 -0.345343 +vn -0.977826 0.063109 0.199685 +vn -0.978798 0.027793 0.202936 +vn -0.935354 -0.022567 -0.352994 +vn -0.977826 0.063109 0.199685 +vn -0.932990 -0.013206 -0.359659 +vn -0.935354 -0.022567 -0.352994 +vn -0.978798 0.027793 0.202936 +vn -0.979165 -0.093624 0.180197 +vn -0.932990 -0.013206 -0.359659 +vn -0.978798 0.027793 0.202936 +vn -0.931211 -0.052094 -0.360740 +vn -0.932990 -0.013206 -0.359659 +vn -0.979165 -0.093624 0.180197 +vn -0.938438 0.008498 -0.345343 +vn -0.589272 0.220135 -0.777367 +vn -0.945849 0.131087 -0.296961 +vn -0.445647 0.031684 -0.894648 +vn -0.589272 0.220135 -0.777367 +vn -0.938438 0.008498 -0.345343 +vn -0.935354 -0.022567 -0.352994 +vn -0.445647 0.031684 -0.894648 +vn -0.938438 0.008498 -0.345343 +vn -0.438984 -0.104847 -0.892357 +vn -0.445647 0.031684 -0.894648 +vn -0.935354 -0.022567 -0.352994 +vn -0.932990 -0.013206 -0.359659 +vn -0.438984 -0.104847 -0.892357 +vn -0.935354 -0.022567 -0.352994 +vn -0.442497 0.240746 -0.863850 +vn -0.438984 -0.104847 -0.892357 +vn -0.932990 -0.013206 -0.359659 +vn -0.931211 -0.052094 -0.360740 +vn -0.442497 0.240746 -0.863850 +vn -0.932990 -0.013206 -0.359659 +vn -0.464758 0.018066 -0.885254 +vn -0.442497 0.240746 -0.863850 +vn -0.931211 -0.052094 -0.360740 +vn -0.445647 0.031684 -0.894648 +vn -0.040106 0.315479 -0.948085 +vn -0.589272 0.220135 -0.777367 +vn 0.436669 0.029845 -0.899127 +vn -0.040106 0.315479 -0.948085 +vn -0.445647 0.031684 -0.894648 +vn -0.438984 -0.104847 -0.892357 +vn 0.436669 0.029845 -0.899127 +vn -0.445647 0.031684 -0.894648 +vn 0.399240 -0.082061 -0.913167 +vn 0.436669 0.029845 -0.899127 +vn -0.438984 -0.104847 -0.892357 +vn -0.442497 0.240746 -0.863850 +vn 0.399240 -0.082061 -0.913167 +vn -0.438984 -0.104847 -0.892357 +vn 0.426924 0.281951 -0.859209 +vn 0.399240 -0.082061 -0.913167 +vn -0.442497 0.240746 -0.863850 +vn -0.464758 0.018066 -0.885254 +vn 0.426924 0.281951 -0.859209 +vn -0.442497 0.240746 -0.863850 +vn 0.407446 -0.029921 -0.912739 +vn 0.426924 0.281951 -0.859209 +vn -0.464758 0.018066 -0.885254 +vn 0.531248 0.000952 0.847216 +vn 0.587002 0.162900 0.793028 +vn 0.842804 0.155501 0.515268 +vn 0.075717 0.001763 0.997128 +vn 0.587002 0.162900 0.793028 +vn 0.531248 0.000952 0.847216 +vn 0.081776 -0.047037 0.995540 +vn 0.075717 0.001763 0.997128 +vn 0.531248 0.000952 0.847216 +vn -0.430220 -0.087519 0.898472 +vn 0.075717 0.001763 0.997128 +vn 0.081776 -0.047037 0.995540 +vn -0.414876 -0.089808 0.905435 +vn -0.430220 -0.087519 0.898472 +vn 0.081776 -0.047037 0.995540 +vn -0.784060 -0.116070 0.609736 +vn -0.430220 -0.087519 0.898472 +vn -0.414876 -0.089808 0.905435 +vn 0.075717 0.001763 0.997128 +vn 0.049835 0.126483 0.990716 +vn 0.587002 0.162900 0.793028 +vn -0.451341 -0.016017 0.892208 +vn 0.049835 0.126483 0.990716 +vn 0.075717 0.001763 0.997128 +vn -0.430220 -0.087519 0.898472 +vn -0.451341 -0.016017 0.892208 +vn 0.075717 0.001763 0.997128 +vn -0.757876 -0.110873 0.642909 +vn -0.451341 -0.016017 0.892208 +vn -0.430220 -0.087519 0.898472 +vn -0.784060 -0.116070 0.609736 +vn -0.757876 -0.110873 0.642909 +vn -0.430220 -0.087519 0.898472 +vn -0.979165 -0.093624 0.180197 +vn -0.757876 -0.110873 0.642909 +vn -0.784060 -0.116070 0.609736 +vn 0.977536 0.202991 0.056733 +vn 0.996257 -0.020845 0.083890 +vn 0.833690 -0.058436 0.549133 +vn 0.902737 0.178628 -0.391354 +vn 0.996257 -0.020845 0.083890 +vn 0.977536 0.202991 0.056733 +vn 0.918472 0.139750 -0.369973 +vn 0.902737 0.178628 -0.391354 +vn 0.977536 0.202991 0.056733 +vn 0.426924 0.281951 -0.859209 +vn 0.902737 0.178628 -0.391354 +vn 0.918472 0.139750 -0.369973 +vn 0.399240 -0.082061 -0.913167 +vn 0.426924 0.281951 -0.859209 +vn 0.918472 0.139750 -0.369973 +vn 0.779888 -0.020467 0.625585 +vn 0.833690 -0.058436 0.549133 +vn 0.493619 -0.059685 0.867628 +vn 0.977536 0.202991 0.056733 +vn 0.833690 -0.058436 0.549133 +vn 0.779888 -0.020467 0.625585 +vn 0.988501 0.078826 0.129042 +vn 0.977536 0.202991 0.056733 +vn 0.779888 -0.020467 0.625585 +vn 0.918472 0.139750 -0.369973 +vn 0.977536 0.202991 0.056733 +vn 0.988501 0.078826 0.129042 +vn -0.978798 0.027793 0.202936 +vn -0.757876 -0.110873 0.642909 +vn -0.979165 -0.093624 0.180197 +vn -0.779873 -0.018796 0.625656 +vn -0.757876 -0.110873 0.642909 +vn -0.978798 0.027793 0.202936 +vn -0.977826 0.063109 0.199685 +vn -0.779873 -0.018796 0.625656 +vn -0.978798 0.027793 0.202936 +vn -0.977146 -0.078472 0.197556 +vn -0.779873 -0.018796 0.625656 +vn -0.977826 0.063109 0.199685 +vn -0.779873 -0.018796 0.625656 +vn -0.451341 -0.016017 0.892208 +vn -0.757876 -0.110873 0.642909 +vn -0.493468 0.095963 0.864454 +vn -0.451341 -0.016017 0.892208 +vn -0.779873 -0.018796 0.625656 +vn -0.830925 0.080676 0.550505 +vn -0.493468 0.095963 0.864454 +vn -0.779873 -0.018796 0.625656 +vn -0.985429 0.091389 0.143448 +vn -0.779873 -0.018796 0.625656 +vn -0.977146 -0.078472 0.197556 +vn -0.830925 0.080676 0.550505 +vn -0.779873 -0.018796 0.625656 +vn -0.985429 0.091389 0.143448 +vn 0.407446 -0.029921 -0.912739 +vn 0.902737 0.178628 -0.391354 +vn 0.426924 0.281951 -0.859209 +vn 0.934185 -0.085035 -0.346507 +vn 0.902737 0.178628 -0.391354 +vn 0.407446 -0.029921 -0.912739 +vn -0.493468 0.095963 0.864454 +vn 0.049835 0.126483 0.990716 +vn -0.451341 -0.016017 0.892208 +vn 0.902737 0.178628 -0.391354 +vn 0.934185 -0.085035 -0.346507 +vn 0.996257 -0.020845 0.083890 +vn 0.000000 0.103240 0.994657 +vn -0.179757 0.108777 0.977678 +vn -0.274352 0.102266 0.956176 +vn 0.000000 0.077125 0.997021 +vn -0.179757 0.108777 0.977678 +vn 0.000000 0.103240 0.994657 +vn 0.179756 0.108777 0.977679 +vn 0.000000 0.077125 0.997021 +vn 0.000000 0.103240 0.994657 +vn 0.000000 0.312039 0.950069 +vn 0.000000 0.077125 0.997021 +vn 0.179756 0.108777 0.977679 +vn 0.155248 0.277413 0.948124 +vn 0.000000 0.312039 0.950069 +vn 0.179756 0.108777 0.977679 +vn 0.000000 0.488517 0.872554 +vn 0.000000 0.312039 0.950069 +vn 0.155248 0.277413 0.948124 +vn 0.081670 0.448419 0.890084 +vn 0.000000 0.488517 0.872554 +vn 0.155248 0.277413 0.948124 +vn -0.408645 -0.172700 -0.896205 +vn -0.168846 -0.072633 -0.982963 +vn -0.465471 0.011489 -0.884989 +vn -0.202528 -0.139040 -0.969356 +vn -0.168846 -0.072633 -0.982963 +vn -0.408645 -0.172700 -0.896205 +vn -0.186722 -0.021006 -0.982188 +vn -0.202528 -0.139040 -0.969356 +vn -0.408645 -0.172700 -0.896205 +vn 0.000000 -0.175043 -0.984561 +vn -0.202528 -0.139040 -0.969356 +vn -0.186722 -0.021006 -0.982188 +vn 0.000000 0.007549 -0.999972 +vn 0.000000 -0.175043 -0.984561 +vn -0.186722 -0.021006 -0.982188 +vn 0.186722 -0.021006 -0.982188 +vn 0.000000 -0.175043 -0.984561 +vn 0.000000 0.007549 -0.999972 +vn 0.168846 -0.072633 -0.982963 +vn 0.408645 -0.172700 -0.896205 +vn 0.465471 0.011489 -0.884989 +vn 0.202528 -0.139040 -0.969356 +vn 0.408645 -0.172700 -0.896205 +vn 0.168846 -0.072633 -0.982963 +vn 0.000000 -0.107341 -0.994222 +vn 0.202528 -0.139040 -0.969356 +vn 0.168846 -0.072633 -0.982963 +vn 0.000000 -0.175043 -0.984561 +vn 0.202528 -0.139040 -0.969356 +vn 0.000000 -0.107341 -0.994222 +vn -0.202528 -0.139040 -0.969356 +vn 0.000000 -0.175043 -0.984561 +vn 0.000000 -0.107341 -0.994222 +vn -0.179757 0.108777 0.977678 +vn -0.194866 -0.089254 0.976761 +vn -0.274352 0.102266 0.956176 +vn -0.155248 0.277413 0.948124 +vn -0.194866 -0.089254 0.976761 +vn -0.179757 0.108777 0.977678 +vn 0.000000 0.312039 0.950069 +vn -0.155248 0.277413 0.948124 +vn -0.179757 0.108777 0.977678 +vn 0.000000 0.488517 0.872554 +vn -0.155248 0.277413 0.948124 +vn 0.000000 0.312039 0.950069 +vn 0.155248 0.277413 0.948124 +vn -0.189653 0.447892 0.873742 +vn 0.081670 0.448419 0.890084 +vn -0.054167 0.069909 0.996082 +vn -0.189653 0.447892 0.873742 +vn 0.155248 0.277413 0.948124 +vn 0.194866 -0.089254 0.976761 +vn -0.054167 0.069909 0.996082 +vn 0.155248 0.277413 0.948124 +vn -0.867212 0.193569 0.458774 +vn -0.878874 -0.034938 0.475774 +vn -0.923539 0.206401 0.323226 +vn -0.650772 0.110697 0.751160 +vn -0.878874 -0.034938 0.475774 +vn -0.867212 0.193569 0.458774 +vn 0.878874 -0.034939 0.475773 +vn 0.867212 0.193569 0.458774 +vn 0.923539 0.206401 0.323226 +vn 0.650772 0.110697 0.751160 +vn 0.867212 0.193569 0.458774 +vn 0.878874 -0.034939 0.475773 +vn 0.202528 -0.139040 -0.969356 +vn 0.186722 -0.021006 -0.982188 +vn 0.408645 -0.172700 -0.896205 +vn 0.000000 -0.175043 -0.984561 +vn 0.186722 -0.021006 -0.982188 +vn 0.202528 -0.139040 -0.969356 +vn 0.274352 0.102266 0.956176 +vn 0.179756 0.108777 0.977679 +vn 0.000000 0.103240 0.994657 +vn 0.194866 -0.089254 0.976761 +vn 0.179756 0.108777 0.977679 +vn 0.274352 0.102266 0.956176 +vn -0.081670 0.448419 0.890085 +vn -0.155248 0.277413 0.948124 +vn 0.000000 0.488517 0.872554 +vn 0.189653 0.447892 0.873742 +vn -0.155248 0.277413 0.948124 +vn -0.081670 0.448419 0.890085 +vn 0.054168 0.069911 0.996081 +vn -0.155248 0.277413 0.948124 +vn 0.189653 0.447892 0.873742 +vn -0.194866 -0.089254 0.976761 +vn -0.155248 0.277413 0.948124 +vn 0.054168 0.069911 0.996081 +vn 0.000000 -0.107341 -0.994222 +vn -0.168846 -0.072633 -0.982963 +vn -0.202528 -0.139040 -0.969356 +vn -0.179757 0.108777 0.977678 +vn 0.000000 0.077125 0.997021 +vn 0.000000 0.312039 0.950069 +vn 0.179756 0.108777 0.977679 +vn 0.194866 -0.089254 0.976761 +vn 0.155248 0.277413 0.948124 +vn 0.062990 0.993953 0.089939 +vn -0.931024 0.331769 0.152065 +vn -0.822130 0.543410 0.169727 +vn 0.064239 0.978788 -0.194543 +vn -0.931024 0.331769 0.152065 +vn 0.062990 0.993953 0.089939 +vn 0.312408 0.925255 -0.215185 +vn 0.064239 0.978788 -0.194543 +vn 0.062990 0.993953 0.089939 +vn 0.046912 0.817892 -0.573456 +vn 0.064239 0.978788 -0.194543 +vn 0.312408 0.925255 -0.215185 +vn 0.273479 0.733076 -0.622743 +vn 0.046912 0.817892 -0.573456 +vn 0.312408 0.925255 -0.215185 +vn 0.035608 0.531910 -0.846052 +vn 0.046912 0.817892 -0.573456 +vn 0.273479 0.733076 -0.622743 +vn 0.269769 0.430898 -0.861134 +vn 0.035608 0.531910 -0.846052 +vn 0.273479 0.733076 -0.622743 +vn 0.130820 0.206225 -0.969720 +vn 0.035608 0.531910 -0.846052 +vn 0.269769 0.430898 -0.861134 +vn 0.357933 0.083252 -0.930029 +vn 0.130820 0.206225 -0.969720 +vn 0.269769 0.430898 -0.861134 +vn 0.046912 0.817892 -0.573456 +vn -0.967900 0.225693 0.110600 +vn -0.904910 0.421344 0.060058 +vn -0.929805 0.341420 0.137463 +vn -0.967900 0.225693 0.110600 +vn 0.046912 0.817892 -0.573456 +vn 0.035608 0.531910 -0.846052 +vn -0.929805 0.341420 0.137463 +vn 0.046912 0.817892 -0.573456 +vn -0.858894 0.504294 0.089377 +vn -0.929805 0.341420 0.137463 +vn 0.035608 0.531910 -0.846052 +vn -0.000000 0.233114 -0.972449 +vn -0.858894 0.504294 0.089377 +vn 0.035608 0.531910 -0.846052 +vn -0.000000 0.999536 -0.030460 +vn -0.858894 0.504294 0.089377 +vn -0.000000 0.233114 -0.972449 +vn 0.858894 0.504294 0.089377 +vn -0.000000 0.999536 -0.030460 +vn -0.000000 0.233114 -0.972449 +vn 0.277250 0.798589 0.534217 +vn -0.591502 0.743773 0.311331 +vn -0.950608 0.250128 0.183797 +vn 0.209504 0.925624 0.315164 +vn -0.591502 0.743773 0.311331 +vn 0.277250 0.798589 0.534217 +vn 0.419433 0.806050 0.417564 +vn 0.209504 0.925624 0.315164 +vn 0.277250 0.798589 0.534217 +vn 0.350862 0.928637 0.120538 +vn 0.209504 0.925624 0.315164 +vn 0.419433 0.806050 0.417564 +vn 0.954750 0.285647 -0.082810 +vn 0.350862 0.928637 0.120538 +vn 0.419433 0.806050 0.417564 +vn 0.959680 0.232513 -0.157964 +vn 0.350862 0.928637 0.120538 +vn 0.954750 0.285647 -0.082810 +vn 0.209504 0.925624 0.315164 +vn -0.822130 0.543410 0.169727 +vn -0.591502 0.743773 0.311331 +vn 0.062990 0.993953 0.089939 +vn -0.822130 0.543410 0.169727 +vn 0.209504 0.925624 0.315164 +vn 0.350862 0.928637 0.120538 +vn 0.062990 0.993953 0.089939 +vn 0.209504 0.925624 0.315164 +vn 0.312408 0.925255 -0.215185 +vn 0.062990 0.993953 0.089939 +vn 0.350862 0.928637 0.120538 +vn 0.959680 0.232513 -0.157964 +vn 0.312408 0.925255 -0.215185 +vn 0.350862 0.928637 0.120538 +vn 0.941135 0.185735 -0.282432 +vn 0.312408 0.925255 -0.215185 +vn 0.959680 0.232513 -0.157964 +vn -0.516268 0.628830 0.581412 +vn -0.957767 0.287517 0.003986 +vn -0.977693 0.207232 0.034234 +vn -0.419433 0.806050 0.417564 +vn -0.957767 0.287517 0.003986 +vn -0.516268 0.628830 0.581412 +vn -0.317789 0.694770 0.645217 +vn -0.419433 0.806050 0.417564 +vn -0.516268 0.628830 0.581412 +vn -0.277250 0.798589 0.534217 +vn -0.419433 0.806050 0.417564 +vn -0.317789 0.694770 0.645217 +vn 0.956064 0.199914 0.214422 +vn -0.277250 0.798589 0.534217 +vn -0.317789 0.694770 0.645217 +vn 0.992017 0.067871 0.106280 +vn -0.277250 0.798589 0.534217 +vn 0.956064 0.199914 0.214422 +vn -0.419433 0.806050 0.417564 +vn -0.954750 0.285648 -0.082810 +vn -0.957767 0.287517 0.003986 +vn -0.350862 0.928637 0.120539 +vn -0.954750 0.285648 -0.082810 +vn -0.419433 0.806050 0.417564 +vn -0.209504 0.925624 0.315164 +vn -0.350862 0.928637 0.120539 +vn -0.419433 0.806050 0.417564 +vn -0.062990 0.993953 0.089939 +vn -0.350862 0.928637 0.120539 +vn -0.209504 0.925624 0.315164 +vn 0.822131 0.543409 0.169728 +vn -0.062990 0.993953 0.089939 +vn -0.209504 0.925624 0.315164 +vn 0.931024 0.331770 0.152065 +vn -0.062990 0.993953 0.089939 +vn 0.822131 0.543409 0.169728 +vn -0.350862 0.928637 0.120539 +vn -0.959680 0.232512 -0.157965 +vn -0.954750 0.285648 -0.082810 +vn -0.312408 0.925255 -0.215185 +vn -0.959680 0.232512 -0.157965 +vn -0.350862 0.928637 0.120539 +vn -0.062990 0.993953 0.089939 +vn -0.312408 0.925255 -0.215185 +vn -0.350862 0.928637 0.120539 +vn -0.064239 0.978788 -0.194543 +vn -0.312408 0.925255 -0.215185 +vn -0.062990 0.993953 0.089939 +vn 0.931024 0.331770 0.152065 +vn -0.064239 0.978788 -0.194543 +vn -0.062990 0.993953 0.089939 +vn 0.904910 0.421344 0.060059 +vn -0.064239 0.978788 -0.194543 +vn 0.931024 0.331770 0.152065 +vn -0.312408 0.925255 -0.215185 +vn -0.941135 0.185735 -0.282432 +vn -0.959680 0.232512 -0.157965 +vn -0.273479 0.733076 -0.622743 +vn -0.941135 0.185735 -0.282432 +vn -0.312408 0.925255 -0.215185 +vn -0.046911 0.817892 -0.573456 +vn -0.273479 0.733076 -0.622743 +vn -0.312408 0.925255 -0.215185 +vn -0.035608 0.531909 -0.846052 +vn -0.273479 0.733076 -0.622743 +vn -0.046911 0.817892 -0.573456 +vn 0.929805 0.341420 0.137461 +vn -0.035608 0.531909 -0.846052 +vn -0.046911 0.817892 -0.573456 +vn 0.858894 0.504294 0.089377 +vn -0.035608 0.531909 -0.846052 +vn 0.929805 0.341420 0.137461 +vn 0.317789 0.694770 0.645217 +vn -0.988625 0.057615 0.138932 +vn -0.963770 0.164594 0.209894 +vn -0.956064 0.199914 0.214422 +vn -0.988625 0.057615 0.138932 +vn 0.317789 0.694770 0.645217 +vn 0.277250 0.798589 0.534217 +vn -0.956064 0.199914 0.214422 +vn 0.317789 0.694770 0.645217 +vn -0.992017 0.067871 0.106280 +vn -0.956064 0.199914 0.214422 +vn 0.277250 0.798589 0.534217 +vn -0.950608 0.250128 0.183797 +vn -0.992017 0.067871 0.106280 +vn 0.277250 0.798589 0.534217 +vn -0.273479 0.733076 -0.622743 +vn -0.910359 0.213002 -0.354792 +vn -0.941135 0.185735 -0.282432 +vn -0.269768 0.430898 -0.861134 +vn -0.910359 0.213002 -0.354792 +vn -0.273479 0.733076 -0.622743 +vn -0.035608 0.531909 -0.846052 +vn -0.269768 0.430898 -0.861134 +vn -0.273479 0.733076 -0.622743 +vn -0.130820 0.206225 -0.969720 +vn -0.269768 0.430898 -0.861134 +vn -0.035608 0.531909 -0.846052 +vn -0.209504 0.925624 0.315164 +vn 0.591502 0.743773 0.311331 +vn 0.822131 0.543409 0.169728 +vn -0.277250 0.798589 0.534217 +vn 0.591502 0.743773 0.311331 +vn -0.209504 0.925624 0.315164 +vn -0.419433 0.806050 0.417564 +vn -0.277250 0.798589 0.534217 +vn -0.209504 0.925624 0.315164 +vn -0.046911 0.817892 -0.573456 +vn 0.967900 0.225693 0.110600 +vn 0.929805 0.341420 0.137461 +vn 0.904910 0.421344 0.060059 +vn 0.967900 0.225693 0.110600 +vn -0.046911 0.817892 -0.573456 +vn -0.064239 0.978788 -0.194543 +vn 0.904910 0.421344 0.060059 +vn -0.046911 0.817892 -0.573456 +vn 0.988625 0.057614 0.138932 +vn -0.317789 0.694770 0.645217 +vn 0.963770 0.164594 0.209894 +vn 0.956064 0.199914 0.214422 +vn -0.317789 0.694770 0.645217 +vn 0.988625 0.057614 0.138932 +vn 0.064239 0.978788 -0.194543 +vn -0.904910 0.421344 0.060058 +vn -0.931024 0.331769 0.152065 +vn 0.046912 0.817892 -0.573456 +vn -0.904910 0.421344 0.060058 +vn 0.064239 0.978788 -0.194543 +vn 0.317789 0.694770 0.645217 +vn 0.419433 0.806050 0.417564 +vn 0.277250 0.798589 0.534217 +vn 0.516268 0.628831 0.581412 +vn 0.419433 0.806050 0.417564 +vn 0.317789 0.694770 0.645217 +vn 0.941135 0.185735 -0.282432 +vn 0.273479 0.733076 -0.622743 +vn 0.312408 0.925255 -0.215185 +vn 0.910359 0.213001 -0.354792 +vn 0.273479 0.733076 -0.622743 +vn 0.941135 0.185735 -0.282432 +vn 0.419433 0.806050 0.417564 +vn 0.957767 0.287517 0.003986 +vn 0.954750 0.285647 -0.082810 +vn 0.516268 0.628831 0.581412 +vn 0.957767 0.287517 0.003986 +vn 0.419433 0.806050 0.417564 +vn 0.910359 0.213001 -0.354792 +vn 0.269769 0.430898 -0.861134 +vn 0.273479 0.733076 -0.622743 +vn 0.929468 0.261599 -0.260105 +vn 0.269769 0.430898 -0.861134 +vn 0.910359 0.213001 -0.354792 +vn 0.950607 0.250128 0.183797 +vn -0.277250 0.798589 0.534217 +vn 0.992017 0.067871 0.106280 +vn 0.591502 0.743773 0.311331 +vn -0.277250 0.798589 0.534217 +vn 0.950607 0.250128 0.183797 +vn -0.000000 0.233114 -0.972449 +vn -0.035608 0.531909 -0.846052 +vn 0.858894 0.504294 0.089377 +vn -0.130820 0.206225 -0.969720 +vn -0.035608 0.531909 -0.846052 +vn -0.000000 0.233114 -0.972449 +vn -0.357933 0.083252 -0.930029 +vn -0.269768 0.430898 -0.861134 +vn -0.130820 0.206225 -0.969720 +vn -0.929469 0.261599 -0.260104 +vn -0.269768 0.430898 -0.861134 +vn -0.357933 0.083252 -0.930029 +vn 0.130820 0.206225 -0.969720 +vn -0.000000 0.233114 -0.972449 +vn 0.035608 0.531910 -0.846052 +vn -0.312408 0.925255 -0.215185 +vn -0.064239 0.978788 -0.194543 +vn -0.046911 0.817892 -0.573456 +vn -0.929469 0.261599 -0.260104 +vn -0.910359 0.213002 -0.354792 +vn -0.269768 0.430898 -0.861134 +vn 0.357933 0.083252 -0.930029 +vn 0.269769 0.430898 -0.861134 +vn 0.929468 0.261599 -0.260105 +vn 0.977693 0.207232 0.034234 +vn 0.957767 0.287517 0.003986 +vn 0.516268 0.628831 0.581412 +vn 0.331230 0.512594 0.792171 +vn -0.910753 0.318422 0.262938 +vn -0.312419 0.626159 0.714366 +vn -0.963770 0.164594 0.209894 +vn -0.910753 0.318422 0.262938 +vn 0.331230 0.512594 0.792171 +vn 0.277088 0.581207 0.765128 +vn -0.963770 0.164594 0.209894 +vn 0.331230 0.512594 0.792171 +vn 0.317789 0.694770 0.645217 +vn -0.963770 0.164594 0.209894 +vn 0.277088 0.581207 0.765128 +vn 0.516268 0.628831 0.581412 +vn 0.317789 0.694770 0.645217 +vn 0.277088 0.581207 0.765128 +vn -0.635057 0.491354 0.596049 +vn -0.977693 0.207232 0.034234 +vn -0.932875 0.344334 0.105729 +vn -0.516268 0.628830 0.581412 +vn -0.977693 0.207232 0.034234 +vn -0.635057 0.491354 0.596049 +vn -0.277088 0.581207 0.765128 +vn -0.516268 0.628830 0.581412 +vn -0.635057 0.491354 0.596049 +vn -0.317789 0.694770 0.645217 +vn -0.516268 0.628830 0.581412 +vn -0.277088 0.581207 0.765128 +vn 0.963770 0.164594 0.209894 +vn -0.317789 0.694770 0.645217 +vn -0.277088 0.581207 0.765128 +vn 0.462173 0.645503 0.608047 +vn 0.357933 0.083252 -0.930029 +vn 0.929468 0.261599 -0.260105 +vn 0.541411 0.041110 -0.839752 +vn 0.357933 0.083252 -0.930029 +vn 0.462173 0.645503 0.608047 +vn 0.342421 0.926728 0.154671 +vn 0.541411 0.041110 -0.839752 +vn 0.462173 0.645503 0.608047 +vn 0.852876 0.248211 -0.459340 +vn 0.541411 0.041110 -0.839752 +vn 0.342421 0.926728 0.154671 +vn 0.554855 0.467392 0.688244 +vn 0.277088 0.581207 0.765128 +vn 0.331230 0.512594 0.792171 +vn 0.635057 0.491354 0.596049 +vn 0.277088 0.581207 0.765128 +vn 0.554855 0.467392 0.688244 +vn 0.932875 0.344334 0.105728 +vn 0.635057 0.491354 0.596049 +vn 0.554855 0.467392 0.688244 +vn 0.977693 0.207232 0.034234 +vn 0.635057 0.491354 0.596049 +vn 0.932875 0.344334 0.105728 +vn -0.277088 0.581207 0.765128 +vn -0.331230 0.512594 0.792171 +vn 0.963770 0.164594 0.209894 +vn -0.554855 0.467392 0.688244 +vn -0.331230 0.512594 0.792171 +vn -0.277088 0.581207 0.765128 +vn -0.635057 0.491354 0.596049 +vn -0.554855 0.467392 0.688244 +vn -0.277088 0.581207 0.765128 +vn -0.932875 0.344334 0.105729 +vn -0.554855 0.467392 0.688244 +vn -0.635057 0.491354 0.596049 +vn -0.541411 0.041111 -0.839752 +vn -0.779036 -0.208127 -0.591427 +vn -0.852876 0.248212 -0.459340 +vn -0.408645 -0.172700 -0.896205 +vn -0.779036 -0.208127 -0.591427 +vn -0.541411 0.041111 -0.839752 +vn -0.186722 -0.021006 -0.982188 +vn -0.408645 -0.172700 -0.896205 +vn -0.541411 0.041111 -0.839752 +vn -0.000000 0.233114 -0.972449 +vn -0.186722 -0.021006 -0.982188 +vn -0.130820 0.206225 -0.969720 +vn 0.000000 0.007549 -0.999972 +vn -0.186722 -0.021006 -0.982188 +vn -0.000000 0.233114 -0.972449 +vn 0.186722 -0.021006 -0.982188 +vn 0.000000 0.007549 -0.999972 +vn -0.000000 0.233114 -0.972449 +vn 0.541411 0.041110 -0.839752 +vn 0.186722 -0.021006 -0.982188 +vn 0.357933 0.083252 -0.930029 +vn 0.408645 -0.172700 -0.896205 +vn 0.186722 -0.021006 -0.982188 +vn 0.541411 0.041110 -0.839752 +vn 0.779036 -0.208127 -0.591427 +vn 0.408645 -0.172700 -0.896205 +vn 0.541411 0.041110 -0.839752 +vn -0.357933 0.083252 -0.930029 +vn -0.462173 0.645504 0.608047 +vn -0.929469 0.261599 -0.260104 +vn -0.541411 0.041111 -0.839752 +vn -0.462173 0.645504 0.608047 +vn -0.357933 0.083252 -0.930029 +vn -0.342421 0.926728 0.154671 +vn -0.541411 0.041111 -0.839752 +vn -0.852876 0.248212 -0.459340 +vn -0.462173 0.645504 0.608047 +vn -0.541411 0.041111 -0.839752 +vn -0.342421 0.926728 0.154671 +vn -0.357933 0.083252 -0.930029 +vn -0.186722 -0.021006 -0.982188 +vn -0.541411 0.041111 -0.839752 +vn -0.130820 0.206225 -0.969720 +vn -0.186722 -0.021006 -0.982188 +vn -0.357933 0.083252 -0.930029 +vn 0.130820 0.206225 -0.969720 +vn 0.186722 -0.021006 -0.982188 +vn -0.000000 0.233114 -0.972449 +vn 0.357933 0.083252 -0.930029 +vn 0.186722 -0.021006 -0.982188 +vn 0.130820 0.206225 -0.969720 +vn 0.910753 0.318422 0.262938 +vn -0.331230 0.512594 0.792171 +vn 0.312419 0.626159 0.714366 +vn 0.963770 0.164594 0.209894 +vn -0.331230 0.512594 0.792171 +vn 0.910753 0.318422 0.262938 +vn 0.516268 0.628831 0.581412 +vn 0.635057 0.491354 0.596049 +vn 0.977693 0.207232 0.034234 +vn 0.277088 0.581207 0.765128 +vn 0.635057 0.491354 0.596049 +vn 0.516268 0.628831 0.581412 +vn 0.541411 0.041110 -0.839752 +vn 0.852876 0.248211 -0.459340 +vn 0.779036 -0.208127 -0.591427 +vn -0.236386 -0.833064 0.500126 +vn -0.089527 -0.768085 0.634059 +vn -0.128533 -0.894100 0.429027 +vn -0.328168 -0.652463 0.683079 +vn -0.089527 -0.768085 0.634059 +vn -0.236386 -0.833064 0.500126 +vn -0.305208 -0.589144 0.748170 +vn -0.328168 -0.652463 0.683079 +vn -0.236386 -0.833064 0.500126 +vn -0.566223 -0.424987 0.706241 +vn -0.328168 -0.652463 0.683079 +vn -0.305208 -0.589144 0.748170 +vn -0.608161 -0.424883 0.670533 +vn -0.566223 -0.424987 0.706241 +vn -0.305208 -0.589144 0.748170 +vn -0.460614 -0.385718 -0.799410 +vn -0.131788 -0.401645 -0.906263 +vn -0.093265 -0.660985 -0.744581 +vn -0.510243 -0.241635 -0.825387 +vn -0.131788 -0.401645 -0.906263 +vn -0.460614 -0.385718 -0.799410 +vn -0.848380 -0.158020 -0.505253 +vn -0.510243 -0.241635 -0.825387 +vn -0.460614 -0.385718 -0.799410 +vn -0.857601 -0.250368 -0.449262 +vn -0.510243 -0.241635 -0.825387 +vn -0.848380 -0.158020 -0.505253 +vn -0.328168 -0.652463 0.683079 +vn -0.519305 -0.398702 0.755883 +vn -0.179491 -0.464844 0.867008 +vn -0.564446 -0.567338 0.599607 +vn -0.519305 -0.398702 0.755883 +vn -0.328168 -0.652463 0.683079 +vn -0.566223 -0.424987 0.706241 +vn -0.564446 -0.567338 0.599607 +vn -0.328168 -0.652463 0.683079 +vn -0.844268 -0.366108 0.391377 +vn -0.564446 -0.567338 0.599607 +vn -0.566223 -0.424987 0.706241 +vn -0.233719 -0.959021 0.160169 +vn -0.089527 -0.768085 0.634059 +vn 0.217673 -0.931017 0.292962 +vn -0.128533 -0.894100 0.429027 +vn -0.089527 -0.768085 0.634059 +vn -0.233719 -0.959021 0.160169 +vn -0.042113 -0.776334 0.628914 +vn -0.128533 -0.894100 0.429027 +vn -0.233719 -0.959021 0.160169 +vn -0.081996 -0.713065 0.696286 +vn -0.128533 -0.894100 0.429027 +vn -0.042113 -0.776334 0.628914 +vn -0.081996 -0.713065 0.696286 +vn -0.236386 -0.833064 0.500126 +vn -0.128533 -0.894100 0.429027 +vn -0.305208 -0.589144 0.748170 +vn -0.236386 -0.833064 0.500126 +vn -0.081996 -0.713065 0.696286 +vn -0.387334 -0.601911 0.698338 +vn -0.305208 -0.589144 0.748170 +vn -0.081996 -0.713065 0.696286 +vn -0.608161 -0.424883 0.670533 +vn -0.305208 -0.589144 0.748170 +vn -0.387334 -0.601911 0.698338 +vn -0.093265 -0.660985 -0.744581 +vn 0.000000 -0.820058 -0.572280 +vn 0.000000 -0.957638 -0.287976 +vn 0.000000 -0.451474 -0.892284 +vn 0.000000 -0.820058 -0.572280 +vn -0.093265 -0.660985 -0.744581 +vn -0.131788 -0.401645 -0.906263 +vn 0.000000 -0.451474 -0.892284 +vn -0.093265 -0.660985 -0.744581 +vn -0.510243 -0.241635 -0.825387 +vn -0.138235 -0.207053 -0.968514 +vn -0.131788 -0.401645 -0.906263 +vn -0.519397 -0.085108 -0.850284 +vn -0.138235 -0.207053 -0.968514 +vn -0.510243 -0.241635 -0.825387 +vn -0.857601 -0.250368 -0.449262 +vn -0.519397 -0.085108 -0.850284 +vn -0.510243 -0.241635 -0.825387 +vn 0.138235 -0.207053 -0.968514 +vn 0.510244 -0.241635 -0.825387 +vn 0.131788 -0.401645 -0.906264 +vn 0.519397 -0.085108 -0.850284 +vn 0.510244 -0.241635 -0.825387 +vn 0.138235 -0.207053 -0.968514 +vn 0.510244 -0.241635 -0.825387 +vn 0.857601 -0.250368 -0.449262 +vn 0.848380 -0.158019 -0.505253 +vn 0.519397 -0.085108 -0.850284 +vn 0.857601 -0.250368 -0.449262 +vn 0.510244 -0.241635 -0.825387 +vn -0.564446 -0.567338 0.599607 +vn -0.846601 -0.272175 0.457371 +vn -0.519305 -0.398702 0.755883 +vn -0.844268 -0.366108 0.391377 +vn -0.846601 -0.272175 0.457371 +vn -0.564446 -0.567338 0.599607 +vn -0.975691 -0.195814 0.098410 +vn -0.844268 -0.366108 0.391377 +vn -0.963809 -0.250860 0.090226 +vn -0.846601 -0.272175 0.457371 +vn -0.844268 -0.366108 0.391377 +vn -0.975691 -0.195814 0.098410 +vn -0.100760 -0.994841 0.011787 +vn -0.233719 -0.959021 0.160169 +vn 0.217673 -0.931017 0.292962 +vn -0.123046 -0.942151 0.311788 +vn -0.233719 -0.959021 0.160169 +vn -0.100760 -0.994841 0.011787 +vn 0.000000 -0.957638 -0.287976 +vn -0.019433 -0.866849 -0.498191 +vn -0.093265 -0.660985 -0.744581 +vn -0.848617 -0.173777 -0.499651 +vn -0.848380 -0.158020 -0.505253 +vn -0.460614 -0.385718 -0.799410 +vn -0.123046 -0.942151 0.311788 +vn -0.042113 -0.776334 0.628914 +vn -0.233719 -0.959021 0.160169 +vn -0.872277 -0.158837 0.462497 +vn -0.566223 -0.424987 0.706241 +vn -0.608161 -0.424883 0.670533 +vn -0.900809 -0.166098 0.401191 +vn -0.566223 -0.424987 0.706241 +vn -0.872277 -0.158837 0.462497 +vn -0.985292 -0.151172 0.079665 +vn -0.900809 -0.166098 0.401191 +vn -0.872277 -0.158837 0.462497 +vn -0.982224 -0.166533 0.086624 +vn -0.900809 -0.166098 0.401191 +vn -0.985292 -0.151172 0.079665 +vn -0.972463 -0.110922 -0.204966 +vn -0.952653 -0.206481 -0.223199 +vn -0.963809 -0.250860 0.090226 +vn -0.759376 -0.545732 -0.354293 +vn -0.952653 -0.206481 -0.223199 +vn -0.972463 -0.110922 -0.204966 +vn -0.848617 -0.173777 -0.499651 +vn -0.759376 -0.545732 -0.354293 +vn -0.972463 -0.110922 -0.204966 +vn -0.460614 -0.385718 -0.799410 +vn -0.759376 -0.545732 -0.354293 +vn -0.848617 -0.173777 -0.499651 +vn -0.759376 -0.545732 -0.354293 +vn -0.475787 -0.651953 -0.590410 +vn -0.952653 -0.206481 -0.223199 +vn -0.400849 -0.585522 -0.704616 +vn -0.475787 -0.651953 -0.590410 +vn -0.759376 -0.545732 -0.354293 +vn -0.460614 -0.385718 -0.799410 +vn -0.400849 -0.585522 -0.704616 +vn -0.759376 -0.545732 -0.354293 +vn -0.093265 -0.660985 -0.744581 +vn -0.400849 -0.585522 -0.704616 +vn -0.460614 -0.385718 -0.799410 +vn -0.019433 -0.866849 -0.498191 +vn -0.400849 -0.585522 -0.704616 +vn -0.093265 -0.660985 -0.744581 +vn -0.475787 -0.651953 -0.590410 +vn -0.400849 -0.585522 -0.704616 +vn -0.019433 -0.866849 -0.498191 +vn 0.092606 -0.704147 -0.703990 +vn -0.475787 -0.651953 -0.590410 +vn -0.019433 -0.866849 -0.498191 +vn 0.059957 -0.977914 -0.200223 +vn -0.019433 -0.866849 -0.498191 +vn 0.000000 -0.957638 -0.287976 +vn 0.092606 -0.704147 -0.703990 +vn -0.019433 -0.866849 -0.498191 +vn 0.059957 -0.977914 -0.200223 +vn 0.822935 -0.497426 -0.274490 +vn 0.092606 -0.704147 -0.703990 +vn 0.059957 -0.977914 -0.200223 +vn -0.900809 -0.166098 0.401191 +vn -0.844268 -0.366108 0.391377 +vn -0.566223 -0.424987 0.706241 +vn -0.982224 -0.166533 0.086624 +vn -0.844268 -0.366108 0.391377 +vn -0.900809 -0.166098 0.401191 +vn -0.982224 -0.166533 0.086624 +vn -0.963809 -0.250860 0.090226 +vn -0.844268 -0.366108 0.391377 +vn -0.972463 -0.110922 -0.204966 +vn -0.963809 -0.250860 0.090226 +vn -0.982224 -0.166533 0.086624 +vn 0.059957 -0.977914 -0.200223 +vn 0.000000 -0.992137 -0.125160 +vn 0.822935 -0.497426 -0.274490 +vn 0.000000 -0.957638 -0.287976 +vn 0.000000 -0.992137 -0.125160 +vn 0.059957 -0.977914 -0.200223 +vn 0.855676 -0.349396 0.381761 +vn 0.885250 -0.190893 0.424138 +vn 0.584639 -0.513470 0.628128 +vn 0.984001 -0.119105 0.132498 +vn 0.885250 -0.190893 0.424138 +vn 0.855676 -0.349396 0.381761 +vn 0.953613 -0.284583 0.098156 +vn 0.984001 -0.119105 0.132498 +vn 0.855676 -0.349396 0.381761 +vn 0.980075 -0.078892 -0.182291 +vn 0.984001 -0.119105 0.132498 +vn 0.953613 -0.284583 0.098156 +vn 0.953262 -0.245132 -0.176642 +vn 0.980075 -0.078892 -0.182291 +vn 0.953613 -0.284583 0.098156 +vn 0.835743 0.008211 -0.549059 +vn 0.980075 -0.078892 -0.182291 +vn 0.953262 -0.245132 -0.176642 +vn 0.853241 -0.119161 -0.507721 +vn 0.835743 0.008211 -0.549059 +vn 0.953262 -0.245132 -0.176642 +vn -0.325905 -0.271575 0.905557 +vn 0.000000 -0.471014 0.882126 +vn 0.000000 -0.265564 0.964093 +vn -0.286578 -0.455573 0.842808 +vn 0.000000 -0.471014 0.882126 +vn -0.325905 -0.271575 0.905557 +vn -0.624473 -0.168282 0.762702 +vn -0.286578 -0.455573 0.842808 +vn -0.325905 -0.271575 0.905557 +vn -0.600503 -0.327721 0.729380 +vn -0.286578 -0.455573 0.842808 +vn -0.624473 -0.168282 0.762702 +vn -0.900333 -0.046540 0.432706 +vn -0.600503 -0.327721 0.729380 +vn -0.624473 -0.168282 0.762702 +vn -0.885250 -0.190893 0.424138 +vn -0.600503 -0.327721 0.729380 +vn -0.900333 -0.046540 0.432706 +vn 0.988656 0.044300 0.143516 +vn 0.980075 -0.078892 -0.182291 +vn 0.982313 0.065242 -0.175515 +vn 0.984001 -0.119105 0.132498 +vn 0.980075 -0.078892 -0.182291 +vn 0.988656 0.044300 0.143516 +vn 0.900333 -0.046540 0.432706 +vn 0.984001 -0.119105 0.132498 +vn 0.988656 0.044300 0.143516 +vn 0.885250 -0.190893 0.424138 +vn 0.984001 -0.119105 0.132498 +vn 0.900333 -0.046540 0.432706 +vn 0.600503 -0.327721 0.729380 +vn 0.885250 -0.190893 0.424138 +vn 0.900333 -0.046540 0.432706 +vn 0.584639 -0.513470 0.628128 +vn 0.885250 -0.190893 0.424138 +vn 0.600503 -0.327721 0.729380 +vn 0.000000 -0.471014 0.882126 +vn 0.325904 -0.271575 0.905557 +vn 0.000000 -0.265564 0.964093 +vn 0.286578 -0.455573 0.842809 +vn 0.325904 -0.271575 0.905557 +vn 0.000000 -0.471014 0.882126 +vn 0.161983 -0.649288 0.743093 +vn 0.286578 -0.455573 0.842809 +vn 0.000000 -0.471014 0.882126 +vn 0.346539 -0.579869 0.737335 +vn 0.286578 -0.455573 0.842809 +vn 0.161983 -0.649288 0.743093 +vn 0.286578 -0.455573 0.842809 +vn 0.624473 -0.168282 0.762702 +vn 0.325904 -0.271575 0.905557 +vn 0.600503 -0.327721 0.729380 +vn 0.624473 -0.168282 0.762702 +vn 0.286578 -0.455573 0.842809 +vn 0.346539 -0.579869 0.737335 +vn 0.600503 -0.327721 0.729380 +vn 0.286578 -0.455573 0.842809 +vn 0.584639 -0.513470 0.628128 +vn 0.600503 -0.327721 0.729380 +vn 0.346539 -0.579869 0.737335 +vn -0.980075 -0.078892 -0.182290 +vn -0.988656 0.044300 0.143516 +vn -0.982313 0.065242 -0.175515 +vn -0.984001 -0.119105 0.132498 +vn -0.988656 0.044300 0.143516 +vn -0.980075 -0.078892 -0.182290 +vn -0.953613 -0.284583 0.098157 +vn -0.984001 -0.119105 0.132498 +vn -0.980075 -0.078892 -0.182290 +vn -0.855676 -0.349396 0.381761 +vn -0.984001 -0.119105 0.132498 +vn -0.953613 -0.284583 0.098157 +vn -0.584639 -0.513470 0.628128 +vn -0.885250 -0.190893 0.424138 +vn -0.855676 -0.349396 0.381761 +vn -0.600503 -0.327721 0.729380 +vn -0.885250 -0.190893 0.424138 +vn -0.584639 -0.513470 0.628128 +vn -0.346539 -0.579869 0.737335 +vn -0.600503 -0.327721 0.729380 +vn -0.584639 -0.513470 0.628128 +vn -0.984001 -0.119105 0.132498 +vn -0.900333 -0.046540 0.432706 +vn -0.988656 0.044300 0.143516 +vn -0.885250 -0.190893 0.424138 +vn -0.900333 -0.046540 0.432706 +vn -0.984001 -0.119105 0.132498 +vn -0.855676 -0.349396 0.381761 +vn -0.885250 -0.190893 0.424138 +vn -0.984001 -0.119105 0.132498 +vn -0.953262 -0.245132 -0.176642 +vn -0.835743 0.008212 -0.549059 +vn -0.853241 -0.119161 -0.507721 +vn -0.980075 -0.078892 -0.182290 +vn -0.835743 0.008212 -0.549059 +vn -0.953262 -0.245132 -0.176642 +vn -0.953613 -0.284583 0.098157 +vn -0.980075 -0.078892 -0.182290 +vn -0.953262 -0.245132 -0.176642 +vn 0.000000 -0.471014 0.882126 +vn -0.161983 -0.649288 0.743093 +vn 0.000000 -0.706295 0.707917 +vn -0.286578 -0.455573 0.842808 +vn -0.161983 -0.649288 0.743093 +vn 0.000000 -0.471014 0.882126 +vn -0.286578 -0.455573 0.842808 +vn -0.346539 -0.579869 0.737335 +vn -0.161983 -0.649288 0.743093 +vn -0.600503 -0.327721 0.729380 +vn -0.346539 -0.579869 0.737335 +vn -0.286578 -0.455573 0.842808 +vn 0.000000 -0.471014 0.882126 +vn 0.000000 -0.706295 0.707917 +vn 0.161983 -0.649288 0.743093 +vn 0.900333 -0.046540 0.432706 +vn 0.624473 -0.168282 0.762702 +vn 0.600503 -0.327721 0.729380 +vn 0.853241 -0.119161 -0.507721 +vn 0.857601 -0.250368 -0.449262 +vn 0.519397 -0.085108 -0.850284 +vn 0.965721 -0.148695 -0.212773 +vn 0.857601 -0.250368 -0.449262 +vn 0.853241 -0.119161 -0.507721 +vn 0.953262 -0.245132 -0.176642 +vn 0.965721 -0.148695 -0.212773 +vn 0.853241 -0.119161 -0.507721 +vn 0.985292 -0.151172 0.079665 +vn 0.965721 -0.148695 -0.212773 +vn 0.953262 -0.245132 -0.176642 +vn 0.953613 -0.284583 0.098156 +vn 0.985292 -0.151172 0.079665 +vn 0.953262 -0.245132 -0.176642 +vn 0.872277 -0.158837 0.462497 +vn 0.985292 -0.151172 0.079665 +vn 0.953613 -0.284583 0.098156 +vn 0.855676 -0.349396 0.381761 +vn 0.872277 -0.158837 0.462497 +vn 0.953613 -0.284583 0.098156 +vn 0.608161 -0.424882 0.670533 +vn 0.872277 -0.158837 0.462497 +vn 0.855676 -0.349396 0.381761 +vn 0.584639 -0.513470 0.628128 +vn 0.608161 -0.424882 0.670533 +vn 0.855676 -0.349396 0.381761 +vn 0.387334 -0.601910 0.698338 +vn 0.608161 -0.424882 0.670533 +vn 0.584639 -0.513470 0.628128 +vn 0.346539 -0.579869 0.737335 +vn 0.387334 -0.601910 0.698338 +vn 0.584639 -0.513470 0.628128 +vn 0.081997 -0.713065 0.696286 +vn 0.387334 -0.601910 0.698338 +vn 0.346539 -0.579869 0.737335 +vn 0.161983 -0.649288 0.743093 +vn 0.081997 -0.713065 0.696286 +vn 0.346539 -0.579869 0.737335 +vn 0.042113 -0.776334 0.628914 +vn 0.081997 -0.713065 0.696286 +vn 0.161983 -0.649288 0.743093 +vn -0.482665 0.130710 -0.865996 +vn -0.853241 -0.119161 -0.507721 +vn -0.835743 0.008212 -0.549059 +vn -0.503008 0.077474 -0.860802 +vn -0.853241 -0.119161 -0.507721 +vn -0.482665 0.130710 -0.865996 +vn -0.161256 0.150980 -0.975296 +vn -0.503008 0.077474 -0.860802 +vn -0.482665 0.130710 -0.865996 +vn -0.157857 0.104214 -0.981947 +vn -0.503008 0.077474 -0.860802 +vn -0.161256 0.150980 -0.975296 +vn -0.000000 0.082651 -0.996579 +vn -0.157857 0.104214 -0.981947 +vn -0.161256 0.150980 -0.975296 +vn 0.000000 -0.125951 -0.992036 +vn -0.157857 0.104214 -0.981947 +vn -0.000000 0.082651 -0.996579 +vn 0.157857 0.104214 -0.981947 +vn 0.000000 -0.125951 -0.992036 +vn -0.000000 0.082651 -0.996579 +vn 0.153557 -0.056811 -0.986505 +vn 0.000000 -0.125951 -0.992036 +vn 0.157857 0.104214 -0.981947 +vn 0.519397 -0.085108 -0.850284 +vn 0.153557 -0.056811 -0.986505 +vn 0.157857 0.104214 -0.981947 +vn -0.953613 -0.284583 0.098157 +vn -0.872277 -0.158837 0.462497 +vn -0.855676 -0.349396 0.381761 +vn -0.985292 -0.151172 0.079665 +vn -0.872277 -0.158837 0.462497 +vn -0.953613 -0.284583 0.098157 +vn -0.953262 -0.245132 -0.176642 +vn -0.985292 -0.151172 0.079665 +vn -0.953613 -0.284583 0.098157 +vn -0.965721 -0.148695 -0.212772 +vn -0.985292 -0.151172 0.079665 +vn -0.953262 -0.245132 -0.176642 +vn -0.853241 -0.119161 -0.507721 +vn -0.965721 -0.148695 -0.212772 +vn -0.953262 -0.245132 -0.176642 +vn -0.857601 -0.250368 -0.449262 +vn -0.965721 -0.148695 -0.212772 +vn -0.853241 -0.119161 -0.507721 +vn -0.519397 -0.085108 -0.850284 +vn -0.857601 -0.250368 -0.449262 +vn -0.853241 -0.119161 -0.507721 +vn -0.346539 -0.579869 0.737335 +vn -0.081996 -0.713065 0.696286 +vn -0.161983 -0.649288 0.743093 +vn -0.387334 -0.601911 0.698338 +vn -0.081996 -0.713065 0.696286 +vn -0.346539 -0.579869 0.737335 +vn -0.584639 -0.513470 0.628128 +vn -0.387334 -0.601911 0.698338 +vn -0.346539 -0.579869 0.737335 +vn -0.608161 -0.424883 0.670533 +vn -0.387334 -0.601911 0.698338 +vn -0.584639 -0.513470 0.628128 +vn -0.855676 -0.349396 0.381761 +vn -0.608161 -0.424883 0.670533 +vn -0.584639 -0.513470 0.628128 +vn -0.872277 -0.158837 0.462497 +vn -0.608161 -0.424883 0.670533 +vn -0.855676 -0.349396 0.381761 +vn 0.853241 -0.119161 -0.507721 +vn 0.482664 0.130710 -0.865997 +vn 0.835743 0.008211 -0.549059 +vn 0.503008 0.077474 -0.860803 +vn 0.482664 0.130710 -0.865997 +vn 0.853241 -0.119161 -0.507721 +vn 0.519397 -0.085108 -0.850284 +vn 0.503008 0.077474 -0.860803 +vn 0.853241 -0.119161 -0.507721 +vn 0.157857 0.104214 -0.981947 +vn 0.503008 0.077474 -0.860803 +vn 0.519397 -0.085108 -0.850284 +vn -0.161983 -0.649288 0.743093 +vn 0.000000 -0.790024 0.613077 +vn 0.000000 -0.706295 0.707917 +vn -0.042113 -0.776334 0.628914 +vn 0.000000 -0.790024 0.613077 +vn -0.161983 -0.649288 0.743093 +vn -0.081996 -0.713065 0.696286 +vn -0.042113 -0.776334 0.628914 +vn -0.161983 -0.649288 0.743093 +vn 0.000000 -0.790024 0.613077 +vn 0.161983 -0.649288 0.743093 +vn 0.000000 -0.706295 0.707917 +vn 0.042113 -0.776334 0.628914 +vn 0.161983 -0.649288 0.743093 +vn 0.000000 -0.790024 0.613077 +vn -0.503008 0.077474 -0.860802 +vn -0.519397 -0.085108 -0.850284 +vn -0.853241 -0.119161 -0.507721 +vn -0.157857 0.104214 -0.981947 +vn -0.519397 -0.085108 -0.850284 +vn -0.503008 0.077474 -0.860802 +vn -0.157857 0.104214 -0.981947 +vn -0.153557 -0.056811 -0.986505 +vn -0.519397 -0.085108 -0.850284 +vn 0.000000 -0.125951 -0.992036 +vn -0.153557 -0.056811 -0.986505 +vn -0.157857 0.104214 -0.981947 +vn 0.503008 0.077474 -0.860803 +vn 0.161256 0.150980 -0.975296 +vn 0.482664 0.130710 -0.865997 +vn 0.157857 0.104214 -0.981947 +vn 0.161256 0.150980 -0.975296 +vn 0.503008 0.077474 -0.860803 +vn 0.000000 0.123518 -0.992342 +vn -0.000000 0.082651 -0.996579 +vn -0.161256 0.150980 -0.975296 +vn 0.161256 0.150980 -0.975296 +vn -0.000000 0.082651 -0.996579 +vn 0.000000 0.123518 -0.992342 +vn 0.161256 0.150980 -0.975296 +vn 0.157857 0.104214 -0.981947 +vn -0.000000 0.082651 -0.996579 +vn 0.217673 -0.931017 0.292962 +vn 0.660838 -0.745720 0.084817 +vn -0.100760 -0.994841 0.011787 +vn 0.826954 -0.328157 0.456575 +vn 0.660838 -0.745720 0.084817 +vn 0.217673 -0.931017 0.292962 +vn 0.249382 -0.652885 0.715227 +vn 0.826954 -0.328157 0.456575 +vn 0.217673 -0.931017 0.292962 +vn 0.353513 -0.456433 -0.816516 +vn 0.936688 -0.050290 -0.346534 +vn 0.400836 -0.173636 -0.899545 +vn 0.822935 -0.497426 -0.274490 +vn 0.936688 -0.050290 -0.346534 +vn 0.353513 -0.456433 -0.816516 +vn 0.092606 -0.704147 -0.703990 +vn 0.822935 -0.497426 -0.274490 +vn 0.353513 -0.456433 -0.816516 +vn -0.089527 -0.768085 0.634059 +vn 0.249382 -0.652885 0.715227 +vn 0.217673 -0.931017 0.292962 +vn -0.179491 -0.464844 0.867008 +vn 0.249382 -0.652885 0.715227 +vn -0.089527 -0.768085 0.634059 +vn -0.328168 -0.652463 0.683079 +vn -0.179491 -0.464844 0.867008 +vn -0.089527 -0.768085 0.634059 +vn -0.571902 -0.369105 -0.732591 +vn 0.092606 -0.704147 -0.703990 +vn 0.353513 -0.456433 -0.816516 +vn -0.475787 -0.651953 -0.590410 +vn 0.092606 -0.704147 -0.703990 +vn -0.571902 -0.369105 -0.732591 +vn 0.981787 -0.081920 0.171418 +vn 0.822935 -0.497426 -0.274490 +vn 0.660838 -0.745720 0.084817 +vn 0.936688 -0.050290 -0.346534 +vn 0.822935 -0.497426 -0.274490 +vn 0.981787 -0.081920 0.171418 +vn 0.981787 -0.081920 0.171418 +vn 0.660838 -0.745720 0.084817 +vn 0.826954 -0.328157 0.456575 +vn -0.836798 -0.199880 0.509722 +vn -0.975691 -0.195814 0.098410 +vn -0.984662 -0.147897 0.092562 +vn -0.846601 -0.272175 0.457371 +vn -0.975691 -0.195814 0.098410 +vn -0.836798 -0.199880 0.509722 +vn -0.506602 -0.222877 0.832875 +vn -0.846601 -0.272175 0.457371 +vn -0.836798 -0.199880 0.509722 +vn -0.519305 -0.398702 0.755883 +vn -0.846601 -0.272175 0.457371 +vn -0.506602 -0.222877 0.832875 +vn -0.118904 -0.253916 0.959890 +vn -0.519305 -0.398702 0.755883 +vn -0.506602 -0.222877 0.832875 +vn -0.179491 -0.464844 0.867008 +vn -0.519305 -0.398702 0.755883 +vn -0.118904 -0.253916 0.959890 +vn 0.310152 -0.332971 0.890470 +vn -0.179491 -0.464844 0.867008 +vn -0.118904 -0.253916 0.959890 +vn 0.414876 -0.089808 0.905435 +vn -0.118904 -0.253916 0.959890 +vn -0.053000 -0.044203 0.997616 +vn 0.310152 -0.332971 0.890470 +vn -0.118904 -0.253916 0.959890 +vn 0.414876 -0.089808 0.905435 +vn 0.784060 -0.116071 0.609736 +vn 0.310152 -0.332971 0.890470 +vn 0.414876 -0.089808 0.905435 +vn 0.762894 -0.209059 0.611791 +vn 0.310152 -0.332971 0.890470 +vn 0.784060 -0.116071 0.609736 +vn 0.979165 -0.093624 0.180197 +vn 0.762894 -0.209059 0.611791 +vn 0.784060 -0.116071 0.609736 +vn 0.981787 -0.081920 0.171418 +vn 0.762894 -0.209059 0.611791 +vn 0.979165 -0.093624 0.180197 +vn -0.934433 -0.233422 -0.268979 +vn -0.475787 -0.651953 -0.590410 +vn -0.571902 -0.369105 -0.732591 +vn -0.952653 -0.206481 -0.223199 +vn -0.475787 -0.651953 -0.590410 +vn -0.934433 -0.233422 -0.268979 +vn -0.963809 -0.250860 0.090226 +vn -0.952653 -0.206481 -0.223199 +vn -0.934433 -0.233422 -0.268979 +vn -0.934433 -0.233422 -0.268979 +vn -0.975691 -0.195814 0.098410 +vn -0.963809 -0.250860 0.090226 +vn -0.984662 -0.147897 0.092562 +vn -0.975691 -0.195814 0.098410 +vn -0.934433 -0.233422 -0.268979 +vn -0.942301 -0.127656 -0.309472 +vn -0.984662 -0.147897 0.092562 +vn -0.934433 -0.233422 -0.268979 +vn 0.826954 -0.328157 0.456575 +vn 0.762894 -0.209059 0.611791 +vn 0.981787 -0.081920 0.171418 +vn 0.249382 -0.652885 0.715227 +vn 0.762894 -0.209059 0.611791 +vn 0.826954 -0.328157 0.456575 +vn 0.249382 -0.652885 0.715227 +vn 0.310152 -0.332971 0.890470 +vn 0.762894 -0.209059 0.611791 +vn -0.179491 -0.464844 0.867008 +vn 0.310152 -0.332971 0.890470 +vn 0.249382 -0.652885 0.715227 +vn -0.466068 -0.061519 -0.882608 +vn -0.934185 -0.085035 -0.346508 +vn -0.942301 -0.127656 -0.309472 +vn -0.407447 -0.029920 -0.912739 +vn -0.934185 -0.085035 -0.346508 +vn -0.466068 -0.061519 -0.882608 +vn 0.400836 -0.173636 -0.899545 +vn -0.407447 -0.029920 -0.912739 +vn -0.466068 -0.061519 -0.882608 +vn 0.464758 0.018066 -0.885254 +vn -0.407447 -0.029920 -0.912739 +vn 0.400836 -0.173636 -0.899545 +vn 0.936688 -0.050290 -0.346534 +vn 0.464758 0.018066 -0.885254 +vn 0.400836 -0.173636 -0.899545 +vn 0.931211 -0.052094 -0.360740 +vn 0.464758 0.018066 -0.885254 +vn 0.936688 -0.050290 -0.346534 +vn 0.981787 -0.081920 0.171418 +vn 0.931211 -0.052094 -0.360740 +vn 0.936688 -0.050290 -0.346534 +vn 0.979165 -0.093624 0.180197 +vn 0.931211 -0.052094 -0.360740 +vn 0.981787 -0.081920 0.171418 +vn -0.571902 -0.369105 -0.732591 +vn -0.942301 -0.127656 -0.309472 +vn -0.934433 -0.233422 -0.268979 +vn -0.466068 -0.061519 -0.882608 +vn -0.942301 -0.127656 -0.309472 +vn -0.571902 -0.369105 -0.732591 +vn 0.353513 -0.456433 -0.816516 +vn -0.466068 -0.061519 -0.882608 +vn -0.571902 -0.369105 -0.732591 +vn 0.400836 -0.173636 -0.899545 +vn -0.466068 -0.061519 -0.882608 +vn 0.353513 -0.456433 -0.816516 +vn 0.931211 -0.052094 -0.360740 +vn 0.442497 0.240746 -0.863850 +vn 0.464758 0.018066 -0.885254 +vn 0.932990 -0.013204 -0.359659 +vn 0.442497 0.240746 -0.863850 +vn 0.931211 -0.052094 -0.360740 +vn 0.979165 -0.093624 0.180197 +vn 0.932990 -0.013204 -0.359659 +vn 0.931211 -0.052094 -0.360740 +vn 0.978798 0.027793 0.202936 +vn 0.932990 -0.013204 -0.359659 +vn 0.979165 -0.093624 0.180197 +vn -0.996257 -0.020845 0.083889 +vn -0.902737 0.178629 -0.391353 +vn -0.977536 0.202991 0.056733 +vn -0.934185 -0.085035 -0.346508 +vn -0.902737 0.178629 -0.391353 +vn -0.996257 -0.020845 0.083889 +vn -0.902737 0.178629 -0.391353 +vn -0.407447 -0.029920 -0.912739 +vn -0.426924 0.281950 -0.859209 +vn -0.934185 -0.085035 -0.346508 +vn -0.407447 -0.029920 -0.912739 +vn -0.902737 0.178629 -0.391353 +vn 0.938438 0.008497 -0.345342 +vn 0.977826 0.063108 0.199685 +vn 0.977146 -0.078472 0.197557 +vn 0.935354 -0.022565 -0.352993 +vn 0.977826 0.063108 0.199685 +vn 0.938438 0.008497 -0.345342 +vn 0.445648 0.031684 -0.894648 +vn 0.935354 -0.022565 -0.352993 +vn 0.938438 0.008497 -0.345342 +vn 0.438983 -0.104846 -0.892357 +vn 0.935354 -0.022565 -0.352993 +vn 0.445648 0.031684 -0.894648 +vn -0.436669 0.029845 -0.899127 +vn 0.438983 -0.104846 -0.892357 +vn 0.445648 0.031684 -0.894648 +vn -0.399241 -0.082062 -0.913166 +vn 0.438983 -0.104846 -0.892357 +vn -0.436669 0.029845 -0.899127 +vn -0.917944 0.019302 -0.396241 +vn -0.399241 -0.082062 -0.913166 +vn -0.436669 0.029845 -0.899127 +vn -0.918472 0.139749 -0.369973 +vn -0.399241 -0.082062 -0.913166 +vn -0.917944 0.019302 -0.396241 +vn -0.989225 -0.014886 0.145643 +vn -0.918472 0.139749 -0.369973 +vn -0.917944 0.019302 -0.396241 +vn -0.988501 0.078826 0.129042 +vn -0.918472 0.139749 -0.369973 +vn -0.989225 -0.014886 0.145643 +vn 0.935354 -0.022565 -0.352993 +vn 0.978798 0.027793 0.202936 +vn 0.977826 0.063108 0.199685 +vn 0.932990 -0.013204 -0.359659 +vn 0.978798 0.027793 0.202936 +vn 0.935354 -0.022565 -0.352993 +vn 0.438983 -0.104846 -0.892357 +vn 0.932990 -0.013204 -0.359659 +vn 0.935354 -0.022565 -0.352993 +vn 0.442497 0.240746 -0.863850 +vn 0.932990 -0.013204 -0.359659 +vn 0.438983 -0.104846 -0.892357 +vn -0.399241 -0.082062 -0.913166 +vn 0.442497 0.240746 -0.863850 +vn 0.438983 -0.104846 -0.892357 +vn -0.426924 0.281950 -0.859209 +vn 0.442497 0.240746 -0.863850 +vn -0.399241 -0.082062 -0.913166 +vn -0.918472 0.139749 -0.369973 +vn -0.426924 0.281950 -0.859209 +vn -0.399241 -0.082062 -0.913166 +vn -0.902737 0.178629 -0.391353 +vn -0.426924 0.281950 -0.859209 +vn -0.918472 0.139749 -0.369973 +vn -0.977536 0.202991 0.056733 +vn -0.902737 0.178629 -0.391353 +vn -0.918472 0.139749 -0.369973 +vn -0.506602 -0.222877 0.832875 +vn -0.053000 -0.044203 0.997616 +vn -0.118904 -0.253916 0.959890 +vn -0.493619 -0.059685 0.867628 +vn -0.053000 -0.044203 0.997616 +vn -0.506602 -0.222877 0.832875 +vn -0.836798 -0.199880 0.509722 +vn -0.493619 -0.059685 0.867628 +vn -0.506602 -0.222877 0.832875 +vn -0.833690 -0.058436 0.549132 +vn -0.493619 -0.059685 0.867628 +vn -0.836798 -0.199880 0.509722 +vn -0.984662 -0.147897 0.092562 +vn -0.833690 -0.058436 0.549132 +vn -0.836798 -0.199880 0.509722 +vn -0.996257 -0.020845 0.083889 +vn -0.833690 -0.058436 0.549132 +vn -0.984662 -0.147897 0.092562 +vn -0.942301 -0.127656 -0.309472 +vn -0.996257 -0.020845 0.083889 +vn -0.984662 -0.147897 0.092562 +vn -0.934185 -0.085035 -0.346508 +vn -0.996257 -0.020845 0.083889 +vn -0.942301 -0.127656 -0.309472 +vn 0.945849 0.131087 -0.296961 +vn 0.977146 -0.078472 0.197557 +vn 0.985429 0.091389 0.143448 +vn 0.938438 0.008497 -0.345342 +vn 0.977146 -0.078472 0.197557 +vn 0.945849 0.131087 -0.296961 +vn 0.589272 0.220135 -0.777367 +vn 0.938438 0.008497 -0.345342 +vn 0.945849 0.131087 -0.296961 +vn 0.445648 0.031684 -0.894648 +vn 0.938438 0.008497 -0.345342 +vn 0.589272 0.220135 -0.777367 +vn 0.040106 0.315479 -0.948085 +vn 0.445648 0.031684 -0.894648 +vn 0.589272 0.220135 -0.777367 +vn -0.436669 0.029845 -0.899127 +vn 0.445648 0.031684 -0.894648 +vn 0.040106 0.315479 -0.948085 +vn -0.597079 0.315325 -0.737609 +vn -0.436669 0.029845 -0.899127 +vn 0.040106 0.315479 -0.948085 +vn -0.914794 0.234065 -0.329190 +vn -0.436669 0.029845 -0.899127 +vn -0.597079 0.315325 -0.737609 +vn -0.977536 0.202991 0.056733 +vn -0.833690 -0.058436 0.549132 +vn -0.996257 -0.020845 0.083889 +vn -0.779888 -0.020467 0.625584 +vn -0.833690 -0.058436 0.549132 +vn -0.977536 0.202991 0.056733 +vn -0.988501 0.078826 0.129042 +vn -0.779888 -0.020467 0.625584 +vn -0.977536 0.202991 0.056733 +vn -0.783678 -0.000667 0.621166 +vn -0.779888 -0.020467 0.625584 +vn -0.988501 0.078826 0.129042 +vn -0.989225 -0.014886 0.145643 +vn -0.783678 -0.000667 0.621166 +vn -0.988501 0.078826 0.129042 +vn -0.842804 0.155501 0.515268 +vn -0.783678 -0.000667 0.621166 +vn -0.989225 -0.014886 0.145643 +vn -0.981354 0.179033 0.069947 +vn -0.842804 0.155501 0.515268 +vn -0.989225 -0.014886 0.145643 +vn -0.779888 -0.020467 0.625584 +vn -0.493619 -0.059685 0.867628 +vn -0.833690 -0.058436 0.549132 +vn -0.508992 -0.026834 0.860353 +vn -0.493619 -0.059685 0.867628 +vn -0.779888 -0.020467 0.625584 +vn -0.783678 -0.000667 0.621166 +vn -0.508992 -0.026834 0.860353 +vn -0.779888 -0.020467 0.625584 +vn -0.531248 0.000952 0.847216 +vn -0.508992 -0.026834 0.860353 +vn -0.783678 -0.000667 0.621166 +vn -0.842804 0.155501 0.515268 +vn -0.531248 0.000952 0.847216 +vn -0.783678 -0.000667 0.621166 +vn -0.587002 0.162900 0.793027 +vn -0.531248 0.000952 0.847216 +vn -0.842804 0.155501 0.515268 +vn -0.508992 -0.026834 0.860353 +vn -0.053000 -0.044203 0.997616 +vn -0.493619 -0.059685 0.867628 +vn -0.081776 -0.047037 0.995540 +vn -0.053000 -0.044203 0.997616 +vn -0.508992 -0.026834 0.860353 +vn -0.531248 0.000952 0.847216 +vn -0.081776 -0.047037 0.995540 +vn -0.508992 -0.026834 0.860353 +vn -0.075717 0.001763 0.997128 +vn -0.081776 -0.047037 0.995540 +vn -0.531248 0.000952 0.847216 +vn -0.587002 0.162900 0.793027 +vn -0.075717 0.001763 0.997128 +vn -0.531248 0.000952 0.847216 +vn -0.049835 0.126483 0.990716 +vn -0.075717 0.001763 0.997128 +vn -0.587002 0.162900 0.793027 +vn -0.081776 -0.047037 0.995540 +vn 0.414876 -0.089808 0.905435 +vn -0.053000 -0.044203 0.997616 +vn 0.430220 -0.087519 0.898472 +vn 0.414876 -0.089808 0.905435 +vn -0.081776 -0.047037 0.995540 +vn -0.075717 0.001763 0.997128 +vn 0.430220 -0.087519 0.898472 +vn -0.081776 -0.047037 0.995540 +vn 0.451341 -0.016017 0.892208 +vn 0.430220 -0.087519 0.898472 +vn -0.075717 0.001763 0.997128 +vn -0.049835 0.126483 0.990716 +vn 0.451341 -0.016017 0.892208 +vn -0.075717 0.001763 0.997128 +vn 0.493468 0.095963 0.864454 +vn 0.451341 -0.016017 0.892208 +vn -0.049835 0.126483 0.990716 +vn 0.430220 -0.087519 0.898472 +vn 0.784060 -0.116071 0.609736 +vn 0.414876 -0.089808 0.905435 +vn 0.757876 -0.110873 0.642909 +vn 0.784060 -0.116071 0.609736 +vn 0.430220 -0.087519 0.898472 +vn 0.451341 -0.016017 0.892208 +vn 0.757876 -0.110873 0.642909 +vn 0.430220 -0.087519 0.898472 +vn 0.779873 -0.018796 0.625656 +vn 0.757876 -0.110873 0.642909 +vn 0.451341 -0.016017 0.892208 +vn 0.493468 0.095963 0.864454 +vn 0.779873 -0.018796 0.625656 +vn 0.451341 -0.016017 0.892208 +vn 0.830925 0.080676 0.550505 +vn 0.779873 -0.018796 0.625656 +vn 0.493468 0.095963 0.864454 +vn 0.757876 -0.110873 0.642909 +vn 0.979165 -0.093624 0.180197 +vn 0.784060 -0.116071 0.609736 +vn 0.978798 0.027793 0.202936 +vn 0.979165 -0.093624 0.180197 +vn 0.757876 -0.110873 0.642909 +vn 0.779873 -0.018796 0.625656 +vn 0.978798 0.027793 0.202936 +vn 0.757876 -0.110873 0.642909 +vn 0.977826 0.063108 0.199685 +vn 0.978798 0.027793 0.202936 +vn 0.779873 -0.018796 0.625656 +vn 0.977146 -0.078472 0.197557 +vn 0.977826 0.063108 0.199685 +vn 0.779873 -0.018796 0.625656 +vn 0.779873 -0.018796 0.625656 +vn 0.985429 0.091389 0.143448 +vn 0.977146 -0.078472 0.197557 +vn 0.830925 0.080676 0.550505 +vn 0.985429 0.091389 0.143448 +vn 0.779873 -0.018796 0.625656 +vn -0.914794 0.234065 -0.329190 +vn -0.917944 0.019302 -0.396241 +vn -0.436669 0.029845 -0.899127 +vn -0.981354 0.179033 0.069947 +vn -0.917944 0.019302 -0.396241 +vn -0.914794 0.234065 -0.329190 +vn -0.426924 0.281950 -0.859209 +vn 0.464758 0.018066 -0.885254 +vn 0.442497 0.240746 -0.863850 +vn -0.407447 -0.029920 -0.912739 +vn 0.464758 0.018066 -0.885254 +vn -0.426924 0.281950 -0.859209 +vn -0.989225 -0.014886 0.145643 +vn -0.917944 0.019302 -0.396241 +vn -0.981354 0.179033 0.069947 +vn -0.988501 0.078826 0.129042 +vn -0.977536 0.202991 0.056733 +vn -0.918472 0.139749 -0.369973 +vn -0.442859 -0.737473 0.509912 +vn -0.984204 0.144845 0.101801 +vn -0.580612 -0.783145 0.222652 +vn -0.851490 0.279931 0.443399 +vn -0.984204 0.144845 0.101801 +vn -0.442859 -0.737473 0.509912 +vn -0.199279 -0.682815 0.702888 +vn -0.851490 0.279931 0.443399 +vn -0.442859 -0.737473 0.509912 +vn -0.497957 0.431211 0.752393 +vn -0.851490 0.279931 0.443399 +vn -0.199279 -0.682815 0.702888 +vn 0.039660 -0.650726 0.758276 +vn -0.497957 0.431211 0.752393 +vn -0.199279 -0.682815 0.702888 +vn 0.014591 0.471154 0.881930 +vn -0.497957 0.431211 0.752393 +vn 0.039660 -0.650726 0.758276 +vn 0.295741 -0.651875 0.698281 +vn 0.014591 0.471154 0.881930 +vn 0.039660 -0.650726 0.758276 +vn 0.580753 0.441166 0.684178 +vn 0.014591 0.471154 0.881930 +vn 0.295741 -0.651875 0.698281 +vn 0.481477 -0.702509 0.524081 +vn 0.580753 0.441166 0.684178 +vn 0.295741 -0.651875 0.698281 +vn 0.852109 0.313896 0.418783 +vn 0.580753 0.441166 0.684178 +vn 0.481477 -0.702509 0.524081 +vn 0.613357 -0.754469 0.233601 +vn 0.852109 0.313896 0.418783 +vn 0.481477 -0.702509 0.524081 +vn 0.967585 0.249557 0.038746 +vn 0.852109 0.313896 0.418783 +vn 0.613357 -0.754469 0.233601 +vn 0.543322 -0.835410 -0.083011 +vn 0.967585 0.249557 0.038746 +vn 0.613357 -0.754469 0.233601 +vn 0.929021 0.197736 -0.312762 +vn 0.967585 0.249557 0.038746 +vn 0.543322 -0.835410 -0.083011 +vn 0.641061 0.202725 -0.740232 +vn 0.929021 0.197736 -0.312762 +vn 0.543322 -0.835410 -0.083011 +vn 0.597078 0.315325 -0.737609 +vn 0.929021 0.197736 -0.312762 +vn 0.641061 0.202725 -0.740232 +vn -0.025449 0.248549 -0.968285 +vn 0.597078 0.315325 -0.737609 +vn 0.641061 0.202725 -0.740232 +vn -0.040106 0.315479 -0.948085 +vn 0.597078 0.315325 -0.737609 +vn -0.025449 0.248549 -0.968285 +vn -0.616680 0.217094 -0.756688 +vn -0.040106 0.315479 -0.948085 +vn -0.025449 0.248549 -0.968285 +vn -0.589272 0.220135 -0.777367 +vn -0.040106 0.315479 -0.948085 +vn -0.616680 0.217094 -0.756688 +vn -0.945849 0.131087 -0.296961 +vn -0.589272 0.220135 -0.777367 +vn -0.616680 0.217094 -0.756688 +vn -0.851490 0.279931 0.443399 +vn -0.985429 0.091389 0.143448 +vn -0.984204 0.144845 0.101801 +vn -0.830925 0.080676 0.550505 +vn -0.985429 0.091389 0.143448 +vn -0.851490 0.279931 0.443399 +vn -0.497957 0.431211 0.752393 +vn -0.830925 0.080676 0.550505 +vn -0.851490 0.279931 0.443399 +vn -0.493468 0.095963 0.864454 +vn -0.830925 0.080676 0.550505 +vn -0.497957 0.431211 0.752393 +vn 0.014591 0.471154 0.881930 +vn -0.493468 0.095963 0.864454 +vn -0.497957 0.431211 0.752393 +vn 0.049835 0.126483 0.990716 +vn -0.493468 0.095963 0.864454 +vn 0.014591 0.471154 0.881930 +vn 0.580753 0.441166 0.684178 +vn 0.049835 0.126483 0.990716 +vn 0.014591 0.471154 0.881930 +vn 0.587002 0.162900 0.793028 +vn 0.049835 0.126483 0.990716 +vn 0.580753 0.441166 0.684178 +vn 0.852109 0.313896 0.418783 +vn 0.587002 0.162900 0.793028 +vn 0.580753 0.441166 0.684178 +vn 0.842804 0.155501 0.515268 +vn 0.587002 0.162900 0.793028 +vn 0.852109 0.313896 0.418783 +vn 0.967585 0.249557 0.038746 +vn 0.842804 0.155501 0.515268 +vn 0.852109 0.313896 0.418783 +vn 0.981354 0.179032 0.069948 +vn 0.842804 0.155501 0.515268 +vn 0.967585 0.249557 0.038746 +vn 0.929021 0.197736 -0.312762 +vn 0.981354 0.179032 0.069948 +vn 0.967585 0.249557 0.038746 +vn 0.914794 0.234064 -0.329190 +vn 0.981354 0.179032 0.069948 +vn 0.929021 0.197736 -0.312762 +vn 0.597078 0.315325 -0.737609 +vn 0.914794 0.234064 -0.329190 +vn 0.929021 0.197736 -0.312762 +vn -0.597079 0.315325 -0.737609 +vn -0.929022 0.197734 -0.312762 +vn -0.914794 0.234065 -0.329190 +vn -0.641061 0.202725 -0.740232 +vn -0.929022 0.197734 -0.312762 +vn -0.597079 0.315325 -0.737609 +vn 0.025449 0.248549 -0.968285 +vn -0.641061 0.202725 -0.740232 +vn -0.597079 0.315325 -0.737609 +vn -0.005410 -0.887041 -0.461660 +vn -0.641061 0.202725 -0.740232 +vn 0.025449 0.248549 -0.968285 +vn 0.290915 -0.886306 -0.360320 +vn -0.005410 -0.887041 -0.461660 +vn 0.025449 0.248549 -0.968285 +vn 0.290915 -0.886306 -0.360320 +vn 0.951217 0.118082 -0.285030 +vn 0.535448 -0.841986 -0.065994 +vn 0.616680 0.217094 -0.756688 +vn 0.951217 0.118082 -0.285030 +vn 0.290915 -0.886306 -0.360320 +vn 0.025449 0.248549 -0.968285 +vn 0.616680 0.217094 -0.756688 +vn 0.290915 -0.886306 -0.360320 +vn 0.040106 0.315479 -0.948085 +vn 0.616680 0.217094 -0.756688 +vn 0.025449 0.248549 -0.968285 +vn -0.597079 0.315325 -0.737609 +vn 0.040106 0.315479 -0.948085 +vn 0.025449 0.248549 -0.968285 +vn 0.984204 0.144845 0.101801 +vn 0.442860 -0.737473 0.509911 +vn 0.580612 -0.783145 0.222651 +vn 0.851490 0.279931 0.443399 +vn 0.442860 -0.737473 0.509911 +vn 0.984204 0.144845 0.101801 +vn 0.985429 0.091389 0.143448 +vn 0.851490 0.279931 0.443399 +vn 0.984204 0.144845 0.101801 +vn 0.830925 0.080676 0.550505 +vn 0.851490 0.279931 0.443399 +vn 0.985429 0.091389 0.143448 +vn 0.851490 0.279931 0.443399 +vn 0.199279 -0.682814 0.702889 +vn 0.442860 -0.737473 0.509911 +vn 0.497957 0.431211 0.752393 +vn 0.199279 -0.682814 0.702889 +vn 0.851490 0.279931 0.443399 +vn 0.830925 0.080676 0.550505 +vn 0.497957 0.431211 0.752393 +vn 0.851490 0.279931 0.443399 +vn 0.493468 0.095963 0.864454 +vn 0.497957 0.431211 0.752393 +vn 0.830925 0.080676 0.550505 +vn 0.497957 0.431211 0.752393 +vn -0.039660 -0.650726 0.758276 +vn 0.199279 -0.682814 0.702889 +vn -0.014591 0.471154 0.881930 +vn -0.039660 -0.650726 0.758276 +vn 0.497957 0.431211 0.752393 +vn 0.493468 0.095963 0.864454 +vn -0.014591 0.471154 0.881930 +vn 0.497957 0.431211 0.752393 +vn -0.049835 0.126483 0.990716 +vn -0.014591 0.471154 0.881930 +vn 0.493468 0.095963 0.864454 +vn -0.014591 0.471154 0.881930 +vn -0.295741 -0.651874 0.698282 +vn -0.039660 -0.650726 0.758276 +vn -0.580753 0.441166 0.684178 +vn -0.295741 -0.651874 0.698282 +vn -0.014591 0.471154 0.881930 +vn -0.049835 0.126483 0.990716 +vn -0.580753 0.441166 0.684178 +vn -0.014591 0.471154 0.881930 +vn -0.587002 0.162900 0.793027 +vn -0.580753 0.441166 0.684178 +vn -0.049835 0.126483 0.990716 +vn -0.580753 0.441166 0.684178 +vn -0.481477 -0.702509 0.524081 +vn -0.295741 -0.651874 0.698282 +vn -0.852109 0.313896 0.418783 +vn -0.481477 -0.702509 0.524081 +vn -0.580753 0.441166 0.684178 +vn -0.587002 0.162900 0.793027 +vn -0.852109 0.313896 0.418783 +vn -0.580753 0.441166 0.684178 +vn -0.842804 0.155501 0.515268 +vn -0.852109 0.313896 0.418783 +vn -0.587002 0.162900 0.793027 +vn -0.852109 0.313896 0.418783 +vn -0.613358 -0.754469 0.233601 +vn -0.481477 -0.702509 0.524081 +vn -0.967585 0.249556 0.038745 +vn -0.613358 -0.754469 0.233601 +vn -0.852109 0.313896 0.418783 +vn -0.842804 0.155501 0.515268 +vn -0.967585 0.249556 0.038745 +vn -0.852109 0.313896 0.418783 +vn -0.981354 0.179033 0.069947 +vn -0.967585 0.249556 0.038745 +vn -0.842804 0.155501 0.515268 +vn -0.967585 0.249556 0.038745 +vn -0.543322 -0.835410 -0.083011 +vn -0.613358 -0.754469 0.233601 +vn -0.929022 0.197734 -0.312762 +vn -0.543322 -0.835410 -0.083011 +vn -0.967585 0.249556 0.038745 +vn -0.981354 0.179033 0.069947 +vn -0.929022 0.197734 -0.312762 +vn -0.967585 0.249556 0.038745 +vn -0.914794 0.234065 -0.329190 +vn -0.929022 0.197734 -0.312762 +vn -0.981354 0.179033 0.069947 +vn 0.984204 0.144845 0.101801 +vn 0.945849 0.131087 -0.296961 +vn 0.985429 0.091389 0.143448 +vn 0.951217 0.118082 -0.285030 +vn 0.945849 0.131087 -0.296961 +vn 0.984204 0.144845 0.101801 +vn 0.580612 -0.783145 0.222651 +vn 0.951217 0.118082 -0.285030 +vn 0.984204 0.144845 0.101801 +vn 0.535448 -0.841986 -0.065994 +vn 0.951217 0.118082 -0.285030 +vn 0.580612 -0.783145 0.222651 +vn -0.290914 -0.886306 -0.360320 +vn -0.616680 0.217094 -0.756688 +vn -0.025449 0.248549 -0.968285 +vn -0.951217 0.118082 -0.285030 +vn -0.616680 0.217094 -0.756688 +vn -0.290914 -0.886306 -0.360320 +vn -0.535447 -0.841987 -0.065994 +vn -0.951217 0.118082 -0.285030 +vn -0.290914 -0.886306 -0.360320 +vn -0.580612 -0.783145 0.222652 +vn -0.951217 0.118082 -0.285030 +vn -0.535447 -0.841987 -0.065994 +vn -0.984204 0.144845 0.101801 +vn -0.951217 0.118082 -0.285030 +vn -0.580612 -0.783145 0.222652 +vn -0.945849 0.131087 -0.296961 +vn -0.951217 0.118082 -0.285030 +vn -0.984204 0.144845 0.101801 +vn -0.985429 0.091389 0.143448 +vn -0.945849 0.131087 -0.296961 +vn -0.984204 0.144845 0.101801 +vn -0.011350 -0.982370 0.186604 +vn 0.580612 -0.783145 0.222651 +vn 0.442860 -0.737473 0.509911 +vn 0.535448 -0.841986 -0.065994 +vn 0.580612 -0.783145 0.222651 +vn -0.011350 -0.982370 0.186604 +vn 0.290915 -0.886306 -0.360320 +vn 0.535448 -0.841986 -0.065994 +vn -0.011350 -0.982370 0.186604 +vn -0.011350 -0.982370 0.186604 +vn -0.005410 -0.887041 -0.461660 +vn 0.290915 -0.886306 -0.360320 +vn -0.320393 -0.872985 -0.367759 +vn -0.005410 -0.887041 -0.461660 +vn -0.011350 -0.982370 0.186604 +vn -0.543322 -0.835410 -0.083011 +vn -0.320393 -0.872985 -0.367759 +vn -0.011350 -0.982370 0.186604 +vn 0.011350 -0.982370 0.186604 +vn 0.320393 -0.872985 -0.367758 +vn 0.543322 -0.835410 -0.083011 +vn 0.005411 -0.887041 -0.461659 +vn 0.320393 -0.872985 -0.367758 +vn 0.011350 -0.982370 0.186604 +vn -0.290914 -0.886306 -0.360320 +vn 0.005411 -0.887041 -0.461659 +vn 0.011350 -0.982370 0.186604 +vn -0.320393 -0.872985 -0.367759 +vn -0.641061 0.202725 -0.740232 +vn -0.005410 -0.887041 -0.461660 +vn -0.543322 -0.835410 -0.083011 +vn -0.641061 0.202725 -0.740232 +vn -0.320393 -0.872985 -0.367759 +vn 0.589272 0.220135 -0.777367 +vn 0.616680 0.217094 -0.756688 +vn 0.040106 0.315479 -0.948085 +vn 0.945849 0.131087 -0.296961 +vn 0.616680 0.217094 -0.756688 +vn 0.589272 0.220135 -0.777367 +vn 0.320393 -0.872985 -0.367758 +vn 0.641061 0.202725 -0.740232 +vn 0.543322 -0.835410 -0.083011 +vn 0.005411 -0.887041 -0.461659 +vn 0.641061 0.202725 -0.740232 +vn 0.320393 -0.872985 -0.367758 +vn 0.005411 -0.887041 -0.461659 +vn -0.025449 0.248549 -0.968285 +vn 0.641061 0.202725 -0.740232 +vn -0.290914 -0.886306 -0.360320 +vn -0.025449 0.248549 -0.968285 +vn 0.005411 -0.887041 -0.461659 +vn 0.199279 -0.682814 0.702889 +vn -0.011350 -0.982370 0.186604 +vn 0.442860 -0.737473 0.509911 +vn -0.039660 -0.650726 0.758276 +vn -0.011350 -0.982370 0.186604 +vn 0.199279 -0.682814 0.702889 +vn -0.295741 -0.651874 0.698282 +vn -0.011350 -0.982370 0.186604 +vn -0.039660 -0.650726 0.758276 +vn -0.481477 -0.702509 0.524081 +vn -0.011350 -0.982370 0.186604 +vn -0.295741 -0.651874 0.698282 +vn -0.011350 -0.982370 0.186604 +vn -0.613358 -0.754469 0.233601 +vn -0.543322 -0.835410 -0.083011 +vn -0.481477 -0.702509 0.524081 +vn -0.613358 -0.754469 0.233601 +vn -0.011350 -0.982370 0.186604 +vn 0.613357 -0.754469 0.233601 +vn 0.011350 -0.982370 0.186604 +vn 0.543322 -0.835410 -0.083011 +vn 0.481477 -0.702509 0.524081 +vn 0.011350 -0.982370 0.186604 +vn 0.613357 -0.754469 0.233601 +vn 0.295741 -0.651875 0.698281 +vn 0.011350 -0.982370 0.186604 +vn 0.481477 -0.702509 0.524081 +vn 0.039660 -0.650726 0.758276 +vn 0.011350 -0.982370 0.186604 +vn 0.295741 -0.651875 0.698281 +vn -0.199279 -0.682815 0.702888 +vn 0.011350 -0.982370 0.186604 +vn 0.039660 -0.650726 0.758276 +vn -0.442859 -0.737473 0.509912 +vn 0.011350 -0.982370 0.186604 +vn -0.199279 -0.682815 0.702888 +vn -0.580612 -0.783145 0.222652 +vn 0.011350 -0.982370 0.186604 +vn -0.442859 -0.737473 0.509912 +vn -0.535447 -0.841987 -0.065994 +vn 0.011350 -0.982370 0.186604 +vn -0.580612 -0.783145 0.222652 +vn 0.951217 0.118082 -0.285030 +vn 0.616680 0.217094 -0.756688 +vn 0.945849 0.131087 -0.296961 +vn -0.929022 0.197734 -0.312762 +vn -0.641061 0.202725 -0.740232 +vn -0.543322 -0.835410 -0.083011 +vn -0.951217 0.118082 -0.285030 +vn -0.945849 0.131087 -0.296961 +vn -0.616680 0.217094 -0.756688 +vn -0.290914 -0.886306 -0.360320 +vn 0.011350 -0.982370 0.186604 +vn -0.535447 -0.841987 -0.065994 +vn 0.000000 -0.041853 0.999124 +vn 0.000000 0.103240 0.994657 +vn -0.274352 0.102266 0.956176 +vn 0.274352 0.102266 0.956176 +vn 0.000000 0.103240 0.994657 +vn 0.000000 -0.041853 0.999124 +vn 0.306192 -0.045031 0.950904 +vn 0.274352 0.102266 0.956176 +vn 0.000000 -0.041853 0.999124 +vn 0.650772 0.110697 0.751160 +vn 0.274352 0.102266 0.956176 +vn 0.306192 -0.045031 0.950904 +vn 0.632378 0.020539 0.774388 +vn 0.650772 0.110697 0.751160 +vn 0.306192 -0.045031 0.950904 +vn 0.867212 0.193569 0.458774 +vn 0.650772 0.110697 0.751160 +vn 0.632378 0.020539 0.774388 +vn 0.883149 0.120962 0.453228 +vn 0.867212 0.193569 0.458774 +vn 0.632378 0.020539 0.774388 +vn 0.943155 0.227586 0.242206 +vn 0.867212 0.193569 0.458774 +vn 0.883149 0.120962 0.453228 +vn 0.971436 0.204395 0.120559 +vn 0.943155 0.227586 0.242206 +vn 0.883149 0.120962 0.453228 +vn 0.994552 -0.062758 0.083237 +vn 0.943155 0.227586 0.242206 +vn 0.971436 0.204395 0.120559 +vn 0.974377 -0.093829 -0.204413 +vn 0.994552 -0.062758 0.083237 +vn 0.971436 0.204395 0.120559 +vn 0.908905 0.374828 -0.182744 +vn 0.994552 -0.062758 0.083237 +vn 0.974377 -0.093829 -0.204413 +vn -0.650772 0.110697 0.751160 +vn -0.440231 -0.223350 0.869662 +vn -0.878874 -0.034938 0.475774 +vn -0.274352 0.102266 0.956176 +vn -0.440231 -0.223350 0.869662 +vn -0.650772 0.110697 0.751160 +vn -0.306192 -0.045031 0.950904 +vn -0.274352 0.102266 0.956176 +vn -0.650772 0.110697 0.751160 +vn 0.000000 -0.041853 0.999124 +vn -0.274352 0.102266 0.956176 +vn -0.306192 -0.045031 0.950904 +vn 0.000000 -0.265564 0.964093 +vn 0.000000 -0.041853 0.999124 +vn -0.306192 -0.045031 0.950904 +vn 0.306192 -0.045031 0.950904 +vn 0.000000 -0.041853 0.999124 +vn 0.000000 -0.265564 0.964093 +vn 0.325904 -0.271575 0.905557 +vn 0.306192 -0.045031 0.950904 +vn 0.000000 -0.265564 0.964093 +vn 0.632378 0.020539 0.774388 +vn 0.306192 -0.045031 0.950904 +vn 0.325904 -0.271575 0.905557 +vn 0.624473 -0.168282 0.762702 +vn 0.632378 0.020539 0.774388 +vn 0.325904 -0.271575 0.905557 +vn 0.883149 0.120962 0.453228 +vn 0.632378 0.020539 0.774388 +vn 0.624473 -0.168282 0.762702 +vn 0.900333 -0.046540 0.432706 +vn 0.883149 0.120962 0.453228 +vn 0.624473 -0.168282 0.762702 +vn 0.988656 0.044300 0.143516 +vn 0.883149 0.120962 0.453228 +vn 0.900333 -0.046540 0.432706 +vn -0.403173 0.295015 0.866267 +vn -0.194866 -0.089254 0.976761 +vn 0.054168 0.069911 0.996081 +vn -0.440231 -0.223350 0.869662 +vn -0.194866 -0.089254 0.976761 +vn -0.403173 0.295015 0.866267 +vn -0.520793 0.067517 0.851009 +vn -0.440231 -0.223350 0.869662 +vn -0.403173 0.295015 0.866267 +vn -0.878874 -0.034938 0.475774 +vn -0.440231 -0.223350 0.869662 +vn -0.520793 0.067517 0.851009 +vn -0.649631 0.180735 0.738454 +vn -0.878874 -0.034938 0.475774 +vn -0.520793 0.067517 0.851009 +vn -0.923539 0.206401 0.323226 +vn -0.878874 -0.034938 0.475774 +vn -0.649631 0.180735 0.738454 +vn -0.587648 0.402007 0.702183 +vn -0.923539 0.206401 0.323226 +vn -0.649631 0.180735 0.738454 +vn -0.914762 0.237436 0.326856 +vn -0.923539 0.206401 0.323226 +vn -0.587648 0.402007 0.702183 +vn -0.554855 0.467392 0.688244 +vn -0.914762 0.237436 0.326856 +vn -0.587648 0.402007 0.702183 +vn -0.932875 0.344334 0.105729 +vn -0.914762 0.237436 0.326856 +vn -0.554855 0.467392 0.688244 +vn -0.982313 0.065242 -0.175515 +vn -0.810774 0.108924 -0.575136 +vn -0.824561 0.116960 -0.553551 +vn -0.959851 0.207022 -0.189285 +vn -0.810774 0.108924 -0.575136 +vn -0.982313 0.065242 -0.175515 +vn -0.971436 0.204395 0.120559 +vn -0.959851 0.207022 -0.189285 +vn -0.982313 0.065242 -0.175515 +vn -0.974377 -0.093829 -0.204413 +vn -0.959851 0.207022 -0.189285 +vn -0.971436 0.204395 0.120559 +vn -0.994552 -0.062758 0.083237 +vn -0.974377 -0.093829 -0.204413 +vn -0.971436 0.204395 0.120559 +vn -0.908905 0.374829 -0.182744 +vn -0.974377 -0.093829 -0.204413 +vn -0.994552 -0.062758 0.083237 +vn -0.919761 0.391848 -0.022267 +vn -0.908905 0.374829 -0.182744 +vn -0.994552 -0.062758 0.083237 +vn -0.632378 0.020539 0.774388 +vn -0.624473 -0.168282 0.762702 +vn -0.325905 -0.271575 0.905557 +vn -0.883149 0.120962 0.453228 +vn -0.624473 -0.168282 0.762702 +vn -0.632378 0.020539 0.774388 +vn -0.867212 0.193569 0.458774 +vn -0.883149 0.120962 0.453228 +vn -0.632378 0.020539 0.774388 +vn -0.943155 0.227586 0.242206 +vn -0.883149 0.120962 0.453228 +vn -0.867212 0.193569 0.458774 +vn -0.962917 -0.083663 0.256499 +vn -0.943155 0.227586 0.242206 +vn -0.867212 0.193569 0.458774 +vn -0.994552 -0.062758 0.083237 +vn -0.943155 0.227586 0.242206 +vn -0.962917 -0.083663 0.256499 +vn -0.919761 0.391848 -0.022267 +vn -0.994552 -0.062758 0.083237 +vn -0.962917 -0.083663 0.256499 +vn 0.810774 0.108925 -0.575136 +vn 0.982313 0.065242 -0.175515 +vn 0.824561 0.116960 -0.553551 +vn 0.959851 0.207022 -0.189285 +vn 0.982313 0.065242 -0.175515 +vn 0.810774 0.108925 -0.575136 +vn 0.779036 -0.208127 -0.591427 +vn 0.959851 0.207022 -0.189285 +vn 0.810774 0.108925 -0.575136 +vn 0.974377 -0.093829 -0.204413 +vn 0.959851 0.207022 -0.189285 +vn 0.779036 -0.208127 -0.591427 +vn 0.852876 0.248211 -0.459340 +vn 0.974377 -0.093829 -0.204413 +vn 0.779036 -0.208127 -0.591427 +vn 0.908905 0.374828 -0.182744 +vn 0.974377 -0.093829 -0.204413 +vn 0.852876 0.248211 -0.459340 +vn 0.554855 0.467392 0.688244 +vn 0.914762 0.237436 0.326855 +vn 0.932875 0.344334 0.105728 +vn 0.587648 0.402007 0.702183 +vn 0.914762 0.237436 0.326855 +vn 0.554855 0.467392 0.688244 +vn 0.331230 0.512594 0.792171 +vn 0.587648 0.402007 0.702183 +vn 0.554855 0.467392 0.688244 +vn 0.405068 0.448830 0.796537 +vn 0.587648 0.402007 0.702183 +vn 0.331230 0.512594 0.792171 +vn -0.312419 0.626159 0.714366 +vn 0.405068 0.448830 0.796537 +vn 0.331230 0.512594 0.792171 +vn -0.189653 0.447892 0.873742 +vn 0.405068 0.448830 0.796537 +vn -0.312419 0.626159 0.714366 +vn 0.919761 0.391848 -0.022268 +vn 0.994552 -0.062758 0.083237 +vn 0.908905 0.374828 -0.182744 +vn 0.962917 -0.083663 0.256499 +vn 0.994552 -0.062758 0.083237 +vn 0.919761 0.391848 -0.022268 +vn 0.935305 0.335470 0.112538 +vn 0.962917 -0.083663 0.256499 +vn 0.919761 0.391848 -0.022268 +vn 0.898053 0.049769 0.437063 +vn 0.962917 -0.083663 0.256499 +vn 0.935305 0.335470 0.112538 +vn 0.852216 0.219654 0.474848 +vn 0.898053 0.049769 0.437063 +vn 0.935305 0.335470 0.112538 +vn 0.914762 0.237436 0.326855 +vn 0.898053 0.049769 0.437063 +vn 0.852216 0.219654 0.474848 +vn -0.403173 0.295015 0.866267 +vn -0.649631 0.180735 0.738454 +vn -0.520793 0.067517 0.851009 +vn -0.587648 0.402007 0.702183 +vn -0.649631 0.180735 0.738454 +vn -0.403173 0.295015 0.866267 +vn -0.405068 0.448830 0.796537 +vn -0.587648 0.402007 0.702183 +vn -0.403173 0.295015 0.866267 +vn -0.331230 0.512594 0.792171 +vn -0.587648 0.402007 0.702183 +vn -0.405068 0.448830 0.796537 +vn 0.312419 0.626159 0.714366 +vn -0.331230 0.512594 0.792171 +vn -0.405068 0.448830 0.796537 +vn 0.962917 -0.083663 0.256499 +vn 0.943155 0.227586 0.242206 +vn 0.994552 -0.062758 0.083237 +vn 0.867212 0.193569 0.458774 +vn 0.943155 0.227586 0.242206 +vn 0.962917 -0.083663 0.256499 +vn 0.898053 0.049769 0.437063 +vn 0.867212 0.193569 0.458774 +vn 0.962917 -0.083663 0.256499 +vn 0.923539 0.206401 0.323226 +vn 0.867212 0.193569 0.458774 +vn 0.898053 0.049769 0.437063 +vn 0.914762 0.237436 0.326855 +vn 0.923539 0.206401 0.323226 +vn 0.898053 0.049769 0.437063 +vn 0.587648 0.402007 0.702183 +vn 0.923539 0.206401 0.323226 +vn 0.914762 0.237436 0.326855 +vn 0.649631 0.180735 0.738454 +vn 0.923539 0.206401 0.323226 +vn 0.587648 0.402007 0.702183 +vn 0.403173 0.295015 0.866267 +vn 0.649631 0.180735 0.738454 +vn 0.587648 0.402007 0.702183 +vn 0.520793 0.067517 0.851009 +vn 0.649631 0.180735 0.738454 +vn 0.403173 0.295015 0.866267 +vn 0.093263 0.606078 0.789919 +vn 0.000000 0.997878 0.065114 +vn 0.000000 0.561730 0.827321 +vn -0.129986 0.990944 0.033671 +vn 0.000000 0.997878 0.065114 +vn 0.093263 0.606078 0.789919 +vn -0.312419 0.626159 0.714366 +vn -0.129986 0.990944 0.033671 +vn 0.093263 0.606078 0.789919 +vn -0.910753 0.318422 0.262938 +vn -0.129986 0.990944 0.033671 +vn -0.312419 0.626159 0.714366 +vn 0.093263 0.606078 0.789919 +vn -0.189653 0.447892 0.873742 +vn -0.312419 0.626159 0.714366 +vn 0.081670 0.448419 0.890084 +vn -0.189653 0.447892 0.873742 +vn 0.093263 0.606078 0.789919 +vn 0.000000 0.561730 0.827321 +vn 0.081670 0.448419 0.890084 +vn 0.093263 0.606078 0.789919 +vn 0.000000 0.488517 0.872554 +vn 0.081670 0.448419 0.890084 +vn 0.000000 0.561730 0.827321 +vn 0.908905 0.374828 -0.182744 +vn 0.198591 0.970923 -0.133677 +vn 0.919761 0.391848 -0.022268 +vn 0.263764 0.964571 -0.005575 +vn 0.198591 0.970923 -0.133677 +vn 0.908905 0.374828 -0.182744 +vn 0.852876 0.248211 -0.459340 +vn 0.263764 0.964571 -0.005575 +vn 0.908905 0.374828 -0.182744 +vn 0.342421 0.926728 0.154671 +vn 0.263764 0.964571 -0.005575 +vn 0.852876 0.248211 -0.459340 +vn -0.306192 -0.045031 0.950904 +vn -0.325905 -0.271575 0.905557 +vn 0.000000 -0.265564 0.964093 +vn -0.632378 0.020539 0.774388 +vn -0.325905 -0.271575 0.905557 +vn -0.306192 -0.045031 0.950904 +vn -0.650772 0.110697 0.751160 +vn -0.632378 0.020539 0.774388 +vn -0.306192 -0.045031 0.950904 +vn -0.867212 0.193569 0.458774 +vn -0.632378 0.020539 0.774388 +vn -0.650772 0.110697 0.751160 +vn -0.971436 0.204395 0.120559 +vn -0.943155 0.227586 0.242206 +vn -0.994552 -0.062758 0.083237 +vn -0.883149 0.120962 0.453228 +vn -0.943155 0.227586 0.242206 +vn -0.971436 0.204395 0.120559 +vn -0.988656 0.044300 0.143516 +vn -0.883149 0.120962 0.453228 +vn -0.971436 0.204395 0.120559 +vn -0.900333 -0.046540 0.432706 +vn -0.883149 0.120962 0.453228 +vn -0.988656 0.044300 0.143516 +vn -0.962917 -0.083663 0.256499 +vn -0.935305 0.335469 0.112538 +vn -0.919761 0.391848 -0.022267 +vn -0.898053 0.049769 0.437063 +vn -0.935305 0.335469 0.112538 +vn -0.962917 -0.083663 0.256499 +vn -0.867212 0.193569 0.458774 +vn -0.898053 0.049769 0.437063 +vn -0.962917 -0.083663 0.256499 +vn -0.923539 0.206401 0.323226 +vn -0.898053 0.049769 0.437063 +vn -0.867212 0.193569 0.458774 +vn -0.810774 0.108924 -0.575136 +vn -0.408645 -0.172700 -0.896205 +vn -0.465471 0.011489 -0.884989 +vn -0.779036 -0.208127 -0.591427 +vn -0.408645 -0.172700 -0.896205 +vn -0.810774 0.108924 -0.575136 +vn -0.959851 0.207022 -0.189285 +vn -0.779036 -0.208127 -0.591427 +vn -0.810774 0.108924 -0.575136 +vn -0.974377 -0.093829 -0.204413 +vn -0.779036 -0.208127 -0.591427 +vn -0.959851 0.207022 -0.189285 +vn 0.440230 -0.223349 0.869662 +vn 0.650772 0.110697 0.751160 +vn 0.878874 -0.034939 0.475773 +vn 0.274352 0.102266 0.956176 +vn 0.650772 0.110697 0.751160 +vn 0.440230 -0.223349 0.869662 +vn 0.194866 -0.089254 0.976761 +vn 0.274352 0.102266 0.956176 +vn 0.440230 -0.223349 0.869662 +vn -0.898053 0.049769 0.437063 +vn -0.852216 0.219654 0.474848 +vn -0.935305 0.335469 0.112538 +vn -0.914762 0.237436 0.326856 +vn -0.852216 0.219654 0.474848 +vn -0.898053 0.049769 0.437063 +vn -0.923539 0.206401 0.323226 +vn -0.914762 0.237436 0.326856 +vn -0.898053 0.049769 0.437063 +vn -0.852876 0.248212 -0.459340 +vn -0.263764 0.964571 -0.005575 +vn -0.342421 0.926728 0.154671 +vn -0.908905 0.374829 -0.182744 +vn -0.263764 0.964571 -0.005575 +vn -0.852876 0.248212 -0.459340 +vn -0.919761 0.391848 -0.022267 +vn -0.220114 0.948168 -0.229189 +vn -0.198591 0.970923 -0.133677 +vn -0.935305 0.335469 0.112538 +vn -0.220114 0.948168 -0.229189 +vn -0.919761 0.391848 -0.022267 +vn -0.081670 0.448419 0.890085 +vn 0.000000 0.561730 0.827321 +vn -0.093264 0.606078 0.789919 +vn 0.000000 0.488517 0.872554 +vn 0.000000 0.561730 0.827321 +vn -0.081670 0.448419 0.890085 +vn -0.054167 0.069909 0.996082 +vn 0.405068 0.448830 0.796537 +vn -0.189653 0.447892 0.873742 +vn 0.403173 0.295015 0.866267 +vn 0.405068 0.448830 0.796537 +vn -0.054167 0.069909 0.996082 +vn 0.054168 0.069911 0.996081 +vn -0.405068 0.448830 0.796537 +vn -0.403173 0.295015 0.866267 +vn 0.189653 0.447892 0.873742 +vn -0.405068 0.448830 0.796537 +vn 0.054168 0.069911 0.996081 +vn 0.194866 -0.089254 0.976761 +vn 0.403173 0.295015 0.866267 +vn -0.054167 0.069909 0.996082 +vn 0.440230 -0.223349 0.869662 +vn 0.403173 0.295015 0.866267 +vn 0.194866 -0.089254 0.976761 +vn 0.935305 0.335470 0.112538 +vn 0.497823 0.814462 -0.298033 +vn 0.852216 0.219654 0.474848 +vn 0.220113 0.948168 -0.229189 +vn 0.497823 0.814462 -0.298033 +vn 0.935305 0.335470 0.112538 +vn 0.649631 0.180735 0.738454 +vn 0.878874 -0.034939 0.475773 +vn 0.923539 0.206401 0.323226 +vn 0.520793 0.067517 0.851009 +vn 0.878874 -0.034939 0.475773 +vn 0.649631 0.180735 0.738454 +vn 0.932875 0.344334 0.105728 +vn 0.852216 0.219654 0.474848 +vn 0.497823 0.814462 -0.298033 +vn 0.914762 0.237436 0.326855 +vn 0.852216 0.219654 0.474848 +vn 0.932875 0.344334 0.105728 +vn 0.220113 0.948168 -0.229189 +vn 0.919761 0.391848 -0.022268 +vn 0.198591 0.970923 -0.133677 +vn 0.935305 0.335470 0.112538 +vn 0.919761 0.391848 -0.022268 +vn 0.220113 0.948168 -0.229189 +vn 0.988656 0.044300 0.143516 +vn 0.971436 0.204395 0.120559 +vn 0.883149 0.120962 0.453228 +vn 0.982313 0.065242 -0.175515 +vn 0.971436 0.204395 0.120559 +vn 0.988656 0.044300 0.143516 +vn 0.959851 0.207022 -0.189285 +vn 0.971436 0.204395 0.120559 +vn 0.982313 0.065242 -0.175515 +vn 0.974377 -0.093829 -0.204413 +vn 0.971436 0.204395 0.120559 +vn 0.959851 0.207022 -0.189285 +vn 0.189653 0.447892 0.873742 +vn -0.093264 0.606078 0.789919 +vn 0.312419 0.626159 0.714366 +vn -0.081670 0.448419 0.890085 +vn -0.093264 0.606078 0.789919 +vn 0.189653 0.447892 0.873742 +vn -0.198591 0.970923 -0.133677 +vn -0.908905 0.374829 -0.182744 +vn -0.919761 0.391848 -0.022267 +vn -0.263764 0.964571 -0.005575 +vn -0.908905 0.374829 -0.182744 +vn -0.198591 0.970923 -0.133677 +vn 0.312419 0.626159 0.714366 +vn 0.129986 0.990944 0.033671 +vn 0.910753 0.318422 0.262938 +vn -0.093264 0.606078 0.789919 +vn 0.129986 0.990944 0.033671 +vn 0.312419 0.626159 0.714366 +vn -0.852876 0.248212 -0.459340 +vn -0.974377 -0.093829 -0.204413 +vn -0.908905 0.374829 -0.182744 +vn -0.779036 -0.208127 -0.591427 +vn -0.974377 -0.093829 -0.204413 +vn -0.852876 0.248212 -0.459340 +vn 0.440230 -0.223349 0.869662 +vn 0.520793 0.067517 0.851009 +vn 0.403173 0.295015 0.866267 +vn 0.878874 -0.034939 0.475773 +vn 0.520793 0.067517 0.851009 +vn 0.440230 -0.223349 0.869662 +vn -0.093264 0.606078 0.789919 +vn 0.000000 0.997878 0.065114 +vn 0.129986 0.990944 0.033671 +vn 0.000000 0.561730 0.827321 +vn 0.000000 0.997878 0.065114 +vn -0.093264 0.606078 0.789919 +vn -0.497823 0.814462 -0.298033 +vn -0.935305 0.335469 0.112538 +vn -0.852216 0.219654 0.474848 +vn -0.220114 0.948168 -0.229189 +vn -0.935305 0.335469 0.112538 +vn -0.497823 0.814462 -0.298033 +vn -0.852216 0.219654 0.474848 +vn -0.932875 0.344334 0.105729 +vn -0.497823 0.814462 -0.298033 +vn -0.914762 0.237436 0.326856 +vn -0.932875 0.344334 0.105729 +vn -0.852216 0.219654 0.474848 +vn 0.810774 0.108925 -0.575136 +vn 0.408645 -0.172700 -0.896205 +vn 0.779036 -0.208127 -0.591427 +vn 0.465471 0.011489 -0.884989 +vn 0.408645 -0.172700 -0.896205 +vn 0.810774 0.108925 -0.575136 +vn 0.312419 0.626159 0.714366 +vn -0.405068 0.448830 0.796537 +vn 0.189653 0.447892 0.873742 +vn -0.440231 -0.223350 0.869662 +vn -0.274352 0.102266 0.956176 +vn -0.194866 -0.089254 0.976761 +vn -0.554855 0.467392 0.688244 +vn -0.587648 0.402007 0.702183 +vn -0.331230 0.512594 0.792171 +vn 0.405068 0.448830 0.796537 +vn 0.403173 0.295015 0.866267 +vn 0.587648 0.402007 0.702183 +vn -0.883149 0.120962 0.453228 +vn -0.900333 -0.046540 0.432706 +vn -0.624473 -0.168282 0.762702 +vn -0.988656 0.044300 0.143516 +vn -0.971436 0.204395 0.120559 +vn -0.982313 0.065242 -0.175515 +vn -0.465471 0.011489 -0.884989 +vn -0.824561 0.116960 -0.553551 +vn -0.810774 0.108924 -0.575136 +vn -0.462448 0.119047 -0.878618 +vn -0.824561 0.116960 -0.553551 +vn -0.465471 0.011489 -0.884989 +vn -0.168846 -0.072633 -0.982963 +vn -0.462448 0.119047 -0.878618 +vn -0.465471 0.011489 -0.884989 +vn -0.153482 0.053052 -0.986726 +vn -0.462448 0.119047 -0.878618 +vn -0.168846 -0.072633 -0.982963 +vn 0.000000 0.039540 -0.999218 +vn -0.153482 0.053052 -0.986726 +vn -0.168846 -0.072633 -0.982963 +vn 0.000000 0.123518 -0.992342 +vn -0.153482 0.053052 -0.986726 +vn 0.000000 0.039540 -0.999218 +vn 0.153482 0.053052 -0.986726 +vn 0.000000 0.123518 -0.992342 +vn 0.000000 0.039540 -0.999218 +vn 0.161256 0.150980 -0.975296 +vn 0.000000 0.123518 -0.992342 +vn 0.153482 0.053052 -0.986726 +vn 0.482664 0.130710 -0.865997 +vn 0.161256 0.150980 -0.975296 +vn 0.153482 0.053052 -0.986726 +vn -0.824561 0.116960 -0.553551 +vn -0.980075 -0.078892 -0.182290 +vn -0.982313 0.065242 -0.175515 +vn -0.835743 0.008212 -0.549059 +vn -0.980075 -0.078892 -0.182290 +vn -0.824561 0.116960 -0.553551 +vn -0.462448 0.119047 -0.878618 +vn -0.835743 0.008212 -0.549059 +vn -0.824561 0.116960 -0.553551 +vn -0.482665 0.130710 -0.865996 +vn -0.835743 0.008212 -0.549059 +vn -0.462448 0.119047 -0.878618 +vn -0.153482 0.053052 -0.986726 +vn -0.482665 0.130710 -0.865996 +vn -0.462448 0.119047 -0.878618 +vn -0.161256 0.150980 -0.975296 +vn -0.482665 0.130710 -0.865996 +vn -0.153482 0.053052 -0.986726 +vn 0.000000 0.123518 -0.992342 +vn -0.161256 0.150980 -0.975296 +vn -0.153482 0.053052 -0.986726 +vn 0.168846 -0.072633 -0.982963 +vn 0.153482 0.053052 -0.986726 +vn 0.000000 0.039540 -0.999218 +vn 0.462447 0.119047 -0.878619 +vn 0.153482 0.053052 -0.986726 +vn 0.168846 -0.072633 -0.982963 +vn 0.465471 0.011489 -0.884989 +vn 0.462447 0.119047 -0.878619 +vn 0.168846 -0.072633 -0.982963 +vn 0.824561 0.116960 -0.553551 +vn 0.462447 0.119047 -0.878619 +vn 0.465471 0.011489 -0.884989 +vn 0.810774 0.108925 -0.575136 +vn 0.824561 0.116960 -0.553551 +vn 0.465471 0.011489 -0.884989 +vn 0.462447 0.119047 -0.878619 +vn 0.482664 0.130710 -0.865997 +vn 0.153482 0.053052 -0.986726 +vn 0.835743 0.008211 -0.549059 +vn 0.482664 0.130710 -0.865997 +vn 0.462447 0.119047 -0.878619 +vn 0.824561 0.116960 -0.553551 +vn 0.835743 0.008211 -0.549059 +vn 0.462447 0.119047 -0.878619 +vn 0.000000 -0.107341 -0.994222 +vn 0.000000 0.039540 -0.999218 +vn -0.168846 -0.072633 -0.982963 +vn 0.168846 -0.072633 -0.982963 +vn 0.000000 0.039540 -0.999218 +vn 0.000000 -0.107341 -0.994222 +vn 0.980075 -0.078892 -0.182291 +vn 0.824561 0.116960 -0.553551 +vn 0.982313 0.065242 -0.175515 +vn 0.835743 0.008211 -0.549059 +vn 0.824561 0.116960 -0.553551 +vn 0.980075 -0.078892 -0.182291 +vn 0.083240 0.223691 0.971099 +vn -0.420516 0.193033 0.886513 +vn -0.368837 -0.008926 0.929451 +vn 0.014554 0.459642 0.887985 +vn -0.420516 0.193033 0.886513 +vn 0.083240 0.223691 0.971099 +vn 0.506985 0.413376 0.756364 +vn 0.014554 0.459642 0.887985 +vn 0.083240 0.223691 0.971099 +vn 0.063610 0.663657 0.745327 +vn 0.014554 0.459642 0.887985 +vn 0.506985 0.413376 0.756364 +vn 0.205608 0.780054 0.590966 +vn 0.063610 0.663657 0.745327 +vn 0.506985 0.413376 0.756364 +vn -0.220166 0.858580 0.462999 +vn 0.063610 0.663657 0.745327 +vn 0.205608 0.780054 0.590966 +vn -0.088506 0.939646 0.330504 +vn -0.220166 0.858580 0.462999 +vn 0.205608 0.780054 0.590966 +vn 0.205608 0.780054 0.590966 +vn 0.080047 0.970143 0.228943 +vn -0.088506 0.939646 0.330504 +vn 0.403610 0.792477 0.457252 +vn 0.080047 0.970143 0.228943 +vn 0.205608 0.780054 0.590966 +vn 0.506985 0.413376 0.756364 +vn 0.403610 0.792477 0.457252 +vn 0.205608 0.780054 0.590966 +vn 0.615139 0.696074 0.370250 +vn 0.403610 0.792477 0.457252 +vn 0.506985 0.413376 0.756364 +vn 0.784702 0.507524 0.355896 +vn 0.615139 0.696074 0.370250 +vn 0.506985 0.413376 0.756364 +vn 0.752062 0.656045 -0.063302 +vn 0.615139 0.696074 0.370250 +vn 0.784702 0.507524 0.355896 +vn 0.872517 0.481335 -0.083845 +vn 0.752062 0.656045 -0.063302 +vn 0.784702 0.507524 0.355896 +vn 0.784702 0.507524 0.355896 +vn 0.954811 0.294859 -0.037340 +vn 0.872517 0.481335 -0.083845 +vn 0.864626 0.271128 0.422980 +vn 0.954811 0.294859 -0.037340 +vn 0.784702 0.507524 0.355896 +vn 0.506985 0.413376 0.756364 +vn 0.864626 0.271128 0.422980 +vn 0.784702 0.507524 0.355896 +vn 0.829716 0.047170 0.556189 +vn 0.864626 0.271128 0.422980 +vn 0.506985 0.413376 0.756364 +vn 0.691117 -0.085432 0.717676 +vn 0.829716 0.047170 0.556189 +vn 0.506985 0.413376 0.756364 +vn 0.831546 -0.426380 0.355995 +vn 0.829716 0.047170 0.556189 +vn 0.691117 -0.085432 0.717676 +vn 0.403610 0.792477 0.457252 +vn 0.249529 0.961888 0.111832 +vn 0.080047 0.970143 0.228943 +vn 0.431033 0.901526 0.038223 +vn 0.249529 0.961888 0.111832 +vn 0.403610 0.792477 0.457252 +vn 0.615139 0.696074 0.370250 +vn 0.431033 0.901526 0.038223 +vn 0.403610 0.792477 0.457252 +vn 0.599384 0.799360 -0.041989 +vn 0.431033 0.901526 0.038223 +vn 0.615139 0.696074 0.370250 +vn 0.752062 0.656045 -0.063302 +vn 0.599384 0.799360 -0.041989 +vn 0.615139 0.696074 0.370250 +vn 0.864626 0.271128 0.422980 +vn 0.996546 0.081511 0.015848 +vn 0.954811 0.294859 -0.037340 +vn 0.985975 -0.118213 0.117809 +vn 0.996546 0.081511 0.015848 +vn 0.864626 0.271128 0.422980 +vn 0.829716 0.047170 0.556189 +vn 0.985975 -0.118213 0.117809 +vn 0.864626 0.271128 0.422980 +vn 0.926215 -0.312348 0.211103 +vn 0.985975 -0.118213 0.117809 +vn 0.829716 0.047170 0.556189 +vn 0.831546 -0.426380 0.355995 +vn 0.926215 -0.312348 0.211103 +vn 0.829716 0.047170 0.556189 +vn -0.230881 -0.182985 0.955620 +vn 0.083240 0.223691 0.971099 +vn -0.368837 -0.008926 0.929451 +vn 0.250834 0.016856 0.967883 +vn 0.083240 0.223691 0.971099 +vn -0.230881 -0.182985 0.955620 +vn -0.077923 -0.358608 0.930230 +vn 0.250834 0.016856 0.967883 +vn -0.230881 -0.182985 0.955620 +vn 0.128819 -0.470313 0.873047 +vn 0.250834 0.016856 0.967883 +vn -0.077923 -0.358608 0.930230 +vn 0.250834 0.016856 0.967883 +vn 0.506985 0.413376 0.756364 +vn 0.083240 0.223691 0.971099 +vn 0.480608 -0.099695 0.871250 +vn 0.506985 0.413376 0.756364 +vn 0.250834 0.016856 0.967883 +vn 0.128819 -0.470313 0.873047 +vn 0.480608 -0.099695 0.871250 +vn 0.250834 0.016856 0.967883 +vn 0.329422 -0.557098 0.762314 +vn 0.480608 -0.099695 0.871250 +vn 0.128819 -0.470313 0.873047 +vn 0.531192 -0.555236 0.639959 +vn 0.480608 -0.099695 0.871250 +vn 0.329422 -0.557098 0.762314 +vn 0.691117 -0.085432 0.717676 +vn 0.480608 -0.099695 0.871250 +vn 0.531192 -0.555236 0.639959 +vn 0.698017 -0.526599 0.485249 +vn 0.691117 -0.085432 0.717676 +vn 0.531192 -0.555236 0.639959 +vn 0.831546 -0.426380 0.355995 +vn 0.691117 -0.085432 0.717676 +vn 0.698017 -0.526599 0.485249 +vn -0.344764 0.743023 0.573632 +vn 0.063610 0.663657 0.745327 +vn -0.220166 0.858580 0.462999 +vn -0.408025 0.583863 0.701869 +vn 0.063610 0.663657 0.745327 +vn -0.344764 0.743023 0.573632 +vn -0.408025 0.583863 0.701869 +vn 0.014554 0.459642 0.887985 +vn 0.063610 0.663657 0.745327 +vn -0.457202 0.393392 0.797627 +vn 0.014554 0.459642 0.887985 +vn -0.408025 0.583863 0.701869 +vn 0.014554 0.459642 0.887985 +vn -0.457202 0.393392 0.797627 +vn -0.420516 0.193033 0.886513 +vn 0.480608 -0.099695 0.871250 +vn 0.691117 -0.085432 0.717676 +vn 0.506985 0.413376 0.756364 +vn 0.296844 -0.229920 0.926834 +vn 0.213770 -0.360234 0.908039 +vn 0.400555 -0.264575 0.877243 +vn 0.117639 -0.257131 0.959190 +vn 0.213770 -0.360234 0.908039 +vn 0.296844 -0.229920 0.926834 +vn 0.092099 -0.138782 0.986031 +vn 0.117639 -0.257131 0.959190 +vn 0.296844 -0.229920 0.926834 +vn -0.115858 -0.125696 0.985280 +vn 0.117639 -0.257131 0.959190 +vn 0.092099 -0.138782 0.986031 +vn 0.081011 -0.080648 0.993445 +vn -0.115858 -0.125696 0.985280 +vn 0.092099 -0.138782 0.986031 +vn -0.140232 -0.081331 0.986773 +vn -0.115858 -0.125696 0.985280 +vn 0.081011 -0.080648 0.993445 +vn -0.109826 -0.022340 0.993700 +vn -0.140232 -0.081331 0.986773 +vn 0.081011 -0.080648 0.993445 +vn 0.328860 -0.133751 0.934859 +vn 0.081011 -0.080648 0.993445 +vn 0.092099 -0.138782 0.986031 +vn 0.350061 -0.061974 0.934675 +vn 0.081011 -0.080648 0.993445 +vn 0.328860 -0.133751 0.934859 +vn 0.526824 -0.050498 0.848473 +vn 0.350061 -0.061974 0.934675 +vn 0.328860 -0.133751 0.934859 +vn 0.355516 0.027398 0.934269 +vn 0.350061 -0.061974 0.934675 +vn 0.526824 -0.050498 0.848473 +vn 0.492909 0.006865 0.870054 +vn 0.355516 0.027398 0.934269 +vn 0.526824 -0.050498 0.848473 +vn 0.451154 0.052293 0.890913 +vn 0.355516 0.027398 0.934269 +vn 0.492909 0.006865 0.870054 +vn 0.607171 -0.010157 0.794506 +vn 0.451154 0.052293 0.890913 +vn 0.492909 0.006865 0.870054 +vn 0.523095 -0.099129 0.846490 +vn 0.671887 -0.107714 0.732780 +vn 0.666682 -0.107825 0.737502 +vn 0.497104 -0.162877 0.852267 +vn 0.671887 -0.107714 0.732780 +vn 0.523095 -0.099129 0.846490 +vn 0.328860 -0.133751 0.934859 +vn 0.497104 -0.162877 0.852267 +vn 0.523095 -0.099129 0.846490 +vn 0.296844 -0.229920 0.926834 +vn 0.497104 -0.162877 0.852267 +vn 0.328860 -0.133751 0.934859 +vn 0.092099 -0.138782 0.986031 +vn 0.296844 -0.229920 0.926834 +vn 0.328860 -0.133751 0.934859 +vn 0.497104 -0.162877 0.852267 +vn 0.630470 -0.193523 0.751702 +vn 0.671887 -0.107714 0.732780 +vn 0.400555 -0.264575 0.877243 +vn 0.630470 -0.193523 0.751702 +vn 0.497104 -0.162877 0.852267 +vn 0.296844 -0.229920 0.926834 +vn 0.400555 -0.264575 0.877243 +vn 0.497104 -0.162877 0.852267 +vn 0.526824 -0.050498 0.848473 +vn 0.607171 -0.010157 0.794506 +vn 0.492909 0.006865 0.870054 +vn 0.663369 -0.068588 0.745143 +vn 0.607171 -0.010157 0.794506 +vn 0.526824 -0.050498 0.848473 +vn 0.666682 -0.107825 0.737502 +vn 0.663369 -0.068588 0.745143 +vn 0.526824 -0.050498 0.848473 +vn 0.132969 0.012154 0.991046 +vn 0.222588 0.092860 0.970480 +vn -0.109826 -0.022340 0.993700 +vn 0.355516 0.027398 0.934269 +vn 0.222588 0.092860 0.970480 +vn 0.132969 0.012154 0.991046 +vn 0.350061 -0.061974 0.934675 +vn 0.355516 0.027398 0.934269 +vn 0.132969 0.012154 0.991046 +vn -0.073612 -0.192180 0.978595 +vn 0.117639 -0.257131 0.959190 +vn -0.115858 -0.125696 0.985280 +vn -0.009106 -0.424699 0.905289 +vn 0.117639 -0.257131 0.959190 +vn -0.073612 -0.192180 0.978595 +vn 0.085236 -0.444463 0.891733 +vn 0.117639 -0.257131 0.959190 +vn -0.009106 -0.424699 0.905289 +vn 0.213770 -0.360234 0.908039 +vn 0.117639 -0.257131 0.959190 +vn 0.085236 -0.444463 0.891733 +vn 0.523095 -0.099129 0.846490 +vn 0.526824 -0.050498 0.848473 +vn 0.328860 -0.133751 0.934859 +vn 0.666682 -0.107825 0.737502 +vn 0.526824 -0.050498 0.848473 +vn 0.523095 -0.099129 0.846490 +vn 0.347966 0.093672 0.932816 +vn 0.355516 0.027398 0.934269 +vn 0.451154 0.052293 0.890913 +vn 0.222588 0.092860 0.970480 +vn 0.355516 0.027398 0.934269 +vn 0.347966 0.093672 0.932816 +vn 0.132969 0.012154 0.991046 +vn 0.081011 -0.080648 0.993445 +vn 0.350061 -0.061974 0.934675 +vn -0.109826 -0.022340 0.993700 +vn 0.081011 -0.080648 0.993445 +vn 0.132969 0.012154 0.991046 +vn -0.296844 -0.229920 0.926834 +vn -0.400555 -0.264574 0.877244 +vn -0.213770 -0.360234 0.908039 +vn -0.117639 -0.257131 0.959190 +vn -0.296844 -0.229920 0.926834 +vn -0.213770 -0.360234 0.908039 +vn -0.092099 -0.138782 0.986031 +vn -0.296844 -0.229920 0.926834 +vn -0.117639 -0.257131 0.959190 +vn 0.115859 -0.125696 0.985280 +vn -0.092099 -0.138782 0.986031 +vn -0.117639 -0.257131 0.959190 +vn -0.081011 -0.080648 0.993445 +vn -0.092099 -0.138782 0.986031 +vn 0.115859 -0.125696 0.985280 +vn 0.140232 -0.081331 0.986773 +vn -0.081011 -0.080648 0.993445 +vn 0.115859 -0.125696 0.985280 +vn 0.109826 -0.022340 0.993700 +vn -0.081011 -0.080648 0.993445 +vn 0.140232 -0.081331 0.986773 +vn -0.328860 -0.133751 0.934859 +vn -0.092099 -0.138782 0.986031 +vn -0.081011 -0.080648 0.993445 +vn -0.350061 -0.061974 0.934675 +vn -0.328860 -0.133751 0.934859 +vn -0.081011 -0.080648 0.993445 +vn -0.526823 -0.050498 0.848474 +vn -0.328860 -0.133751 0.934859 +vn -0.350061 -0.061974 0.934675 +vn -0.355516 0.027398 0.934269 +vn -0.526823 -0.050498 0.848474 +vn -0.350061 -0.061974 0.934675 +vn -0.492908 0.006865 0.870054 +vn -0.526823 -0.050498 0.848474 +vn -0.355516 0.027398 0.934269 +vn -0.451153 0.052293 0.890913 +vn -0.492908 0.006865 0.870054 +vn -0.355516 0.027398 0.934269 +vn -0.607171 -0.010157 0.794507 +vn -0.492908 0.006865 0.870054 +vn -0.451153 0.052293 0.890913 +vn -0.523095 -0.099129 0.846490 +vn -0.666682 -0.107825 0.737502 +vn -0.671887 -0.107714 0.732780 +vn -0.497104 -0.162877 0.852267 +vn -0.523095 -0.099129 0.846490 +vn -0.671887 -0.107714 0.732780 +vn -0.328860 -0.133751 0.934859 +vn -0.523095 -0.099129 0.846490 +vn -0.497104 -0.162877 0.852267 +vn -0.296844 -0.229920 0.926834 +vn -0.328860 -0.133751 0.934859 +vn -0.497104 -0.162877 0.852267 +vn -0.092099 -0.138782 0.986031 +vn -0.328860 -0.133751 0.934859 +vn -0.296844 -0.229920 0.926834 +vn -0.497104 -0.162877 0.852267 +vn -0.671887 -0.107714 0.732780 +vn -0.630470 -0.193522 0.751703 +vn -0.400555 -0.264574 0.877244 +vn -0.497104 -0.162877 0.852267 +vn -0.630470 -0.193522 0.751703 +vn -0.296844 -0.229920 0.926834 +vn -0.497104 -0.162877 0.852267 +vn -0.400555 -0.264574 0.877244 +vn -0.526823 -0.050498 0.848474 +vn -0.492908 0.006865 0.870054 +vn -0.607171 -0.010157 0.794507 +vn -0.663368 -0.068588 0.745143 +vn -0.526823 -0.050498 0.848474 +vn -0.607171 -0.010157 0.794507 +vn -0.666682 -0.107825 0.737502 +vn -0.526823 -0.050498 0.848474 +vn -0.663368 -0.068588 0.745143 +vn -0.132969 0.012154 0.991046 +vn 0.109826 -0.022340 0.993700 +vn -0.222588 0.092860 0.970480 +vn -0.355516 0.027398 0.934269 +vn -0.132969 0.012154 0.991046 +vn -0.222588 0.092860 0.970480 +vn -0.350061 -0.061974 0.934675 +vn -0.132969 0.012154 0.991046 +vn -0.355516 0.027398 0.934269 +vn 0.073613 -0.192181 0.978595 +vn 0.115859 -0.125696 0.985280 +vn -0.117639 -0.257131 0.959190 +vn 0.009107 -0.424698 0.905289 +vn 0.073613 -0.192181 0.978595 +vn -0.117639 -0.257131 0.959190 +vn -0.085236 -0.444463 0.891733 +vn 0.009107 -0.424698 0.905289 +vn -0.117639 -0.257131 0.959190 +vn -0.213770 -0.360234 0.908039 +vn -0.085236 -0.444463 0.891733 +vn -0.117639 -0.257131 0.959190 +vn -0.523095 -0.099129 0.846490 +vn -0.328860 -0.133751 0.934859 +vn -0.526823 -0.050498 0.848474 +vn -0.666682 -0.107825 0.737502 +vn -0.523095 -0.099129 0.846490 +vn -0.526823 -0.050498 0.848474 +vn -0.347965 0.093672 0.932816 +vn -0.451153 0.052293 0.890913 +vn -0.355516 0.027398 0.934269 +vn -0.222588 0.092860 0.970480 +vn -0.347965 0.093672 0.932816 +vn -0.355516 0.027398 0.934269 +vn -0.132969 0.012154 0.991046 +vn -0.350061 -0.061974 0.934675 +vn -0.081011 -0.080648 0.993445 +vn 0.109826 -0.022340 0.993700 +vn -0.132969 0.012154 0.991046 +vn -0.081011 -0.080648 0.993445 +s off +g polySurface15 +f 3/1/1 2/2/2 1/3/3 +f 4/4/4 2/2/5 3/1/6 +f 5/5/7 4/4/8 3/1/9 +f 6/6/10 4/4/11 5/5/12 +f 7/7/13 6/6/14 5/5/15 +f 8/8/16 6/6/17 7/7/18 +f 9/9/19 8/8/20 7/7/21 +f 10/10/22 8/8/23 9/9/24 +f 11/11/25 10/10/26 9/9/27 +f 12/12/28 10/10/29 11/11/30 +f 13/13/31 12/12/32 11/11/33 +f 14/14/34 12/12/35 13/13/36 +f 15/15/37 14/14/38 13/13/39 +f 16/16/40 14/14/41 15/15/42 +f 17/17/43 16/16/44 15/15/45 +f 18/18/46 16/16/47 17/17/48 +f 19/19/49 18/18/50 17/17/51 +f 20/20/52 18/18/53 19/19/54 +f 21/21/55 20/20/56 19/19/57 +f 22/22/58 20/20/59 21/21/60 +f 23/23/61 22/22/62 21/21/63 +f 24/24/64 22/22/65 23/23/66 +f 25/25/67 24/24/68 23/23/69 +f 26/26/70 24/24/71 25/25/72 +f 27/27/73 26/26/74 25/25/75 +f 28/28/76 26/26/77 27/27/78 +f 29/29/79 28/28/80 27/27/81 +f 30/30/82 28/28/83 29/29/84 +f 21/21/85 30/30/86 29/29/87 +f 33/31/88 32/32/89 31/33/90 +f 34/34/91 32/35/92 33/36/93 +f 35/37/94 34/38/95 33/39/96 +f 36/40/97 34/41/98 35/37/99 +f 37/42/100 36/43/101 35/37/102 +f 38/44/103 36/45/104 37/42/105 +f 39/46/106 38/47/107 37/42/108 +f 40/48/109 38/49/110 39/50/111 +f 41/51/112 40/48/113 39/52/114 +f 42/53/115 40/48/116 41/54/117 +f 43/55/118 42/56/119 41/57/120 +f 44/58/121 42/59/122 43/60/123 +f 45/61/124 44/62/125 43/63/126 +f 46/64/127 44/65/128 45/61/129 +f 47/66/130 46/67/131 45/61/132 +f 48/68/133 46/69/134 47/70/135 +f 39/71/136 48/72/137 47/73/138 +f 49/74/139 48/75/140 39/76/141 +f 50/77/142 49/78/143 39/79/144 +f 51/80/145 49/81/146 50/77/147 +f 52/82/148 51/80/149 50/77/150 +f 53/83/151 51/80/152 52/82/153 +f 33/84/154 53/83/155 52/82/156 +f 31/85/157 53/83/158 33/86/159 +f 34/87/160 54/88/161 32/89/162 +f 55/90/163 54/91/164 34/92/165 +f 36/93/166 55/94/167 34/95/168 +f 56/96/169 55/97/170 36/98/171 +f 57/99/172 56/100/173 36/101/174 +f 58/102/175 56/103/176 57/104/177 +f 59/105/178 58/106/179 57/107/180 +f 60/108/181 58/109/182 59/110/183 +f 61/111/184 60/112/185 59/113/186 +f 62/114/187 60/115/188 61/116/189 +f 63/117/190 62/118/191 61/119/192 +f 64/120/193 62/121/194 63/122/195 +f 65/123/196 64/124/197 63/125/198 +f 44/126/199 64/127/200 65/128/201 +f 38/129/202 44/130/203 65/131/204 +f 42/132/205 44/133/206 38/134/207 +f 40/48/208 42/135/209 38/136/210 +f 68/137/211 67/138/212 66/139/213 +f 69/140/214 67/138/215 68/137/216 +f 70/141/217 69/140/218 68/137/219 +f 71/142/220 69/140/221 70/141/222 +f 72/143/223 71/142/224 70/141/225 +f 73/144/226 71/142/227 72/143/228 +f 74/145/229 73/144/230 72/143/231 +f 75/146/232 73/144/233 74/145/234 +f 76/147/235 75/146/236 74/145/237 +f 77/148/238 75/146/239 76/147/240 +f 78/149/241 77/148/242 76/147/243 +f 79/150/244 77/148/245 78/149/246 +f 80/151/247 79/150/248 78/149/249 +f 81/152/250 79/150/251 80/151/252 +f 82/153/253 70/141/254 68/137/255 +f 72/143/256 70/141/257 82/153/258 +f 83/154/259 72/143/260 82/153/261 +f 74/145/262 72/143/263 83/154/264 +f 84/155/265 74/145/266 83/154/267 +f 85/156/268 74/145/269 84/155/270 +f 86/157/271 85/156/272 84/155/273 +f 87/158/274 85/156/275 86/157/276 +f 88/159/277 87/158/278 86/157/279 +f 89/160/280 87/158/281 88/159/282 +f 90/161/283 89/160/284 88/159/285 +f 91/162/286 89/160/287 90/161/288 +f 92/163/289 91/162/290 90/161/291 +f 95/164/292 94/165/293 93/166/294 +f 96/167/295 94/165/296 95/164/297 +f 97/168/298 96/167/299 95/164/300 +f 98/169/301 96/167/302 97/170/303 +f 99/171/304 98/169/305 97/172/306 +f 100/173/307 98/169/308 99/171/309 +f 101/174/310 100/173/311 99/171/312 +f 102/175/313 100/173/314 101/174/315 +f 103/176/316 102/175/317 101/174/318 +f 104/177/319 102/175/320 103/176/321 +f 107/178/322 106/179/323 105/180/324 +f 108/181/325 106/182/326 107/183/327 +f 109/184/328 108/185/329 107/186/330 +f 110/187/331 108/188/332 109/189/333 +f 111/190/334 110/191/335 109/192/336 +f 112/193/337 110/194/338 111/195/339 +f 113/196/340 112/197/341 111/198/342 +f 114/199/343 112/200/344 113/201/345 +f 115/202/346 114/203/347 113/204/348 +f 116/205/349 114/206/350 115/207/351 +f 66/208/352 118/209/353 117/210/354 +f 119/211/355 118/212/356 66/213/357 +f 67/138/358 119/214/359 66/215/360 +f 120/216/361 119/217/362 67/138/363 +f 69/140/364 120/216/365 67/138/366 +f 121/218/367 120/216/368 69/140/369 +f 71/142/370 121/218/371 69/140/372 +f 122/219/373 121/218/374 71/142/375 +f 73/144/376 122/219/377 71/142/378 +f 75/146/379 122/219/380 73/144/381 +f 124/220/382 120/216/383 123/221/384 +f 119/222/385 120/216/386 124/223/387 +f 125/224/388 119/225/389 124/226/390 +f 118/227/391 119/228/392 125/229/393 +f 105/230/394 118/231/395 125/232/396 +f 117/233/397 118/234/398 105/235/399 +f 106/236/400 117/237/401 105/238/402 +f 126/239/403 117/240/404 106/241/405 +f 127/242/406 126/239/407 106/243/408 +f 128/244/409 105/245/410 125/246/411 +f 107/247/412 105/248/413 128/249/414 +f 129/250/415 107/251/416 128/252/417 +f 130/253/418 107/254/419 129/255/420 +f 131/256/421 130/257/422 129/258/423 +f 132/259/424 130/260/425 131/261/426 +f 102/262/427 132/263/428 131/264/429 +f 133/265/430 132/266/431 102/267/432 +f 1/3/433 135/268/434 134/269/435 +f 136/270/436 135/268/437 1/3/438 +f 137/271/439 136/270/440 1/3/441 +f 138/272/442 136/270/443 137/273/444 +f 139/274/445 138/272/446 137/275/447 +f 140/276/448 138/272/449 139/274/450 +f 141/277/451 140/276/452 139/274/453 +f 142/278/454 53/83/455 31/279/456 +f 143/280/457 53/83/458 142/281/459 +f 144/282/460 143/283/461 142/284/462 +f 145/285/463 143/286/464 144/282/465 +f 146/287/466 145/285/467 144/282/468 +f 147/288/469 145/285/470 146/287/471 +f 148/289/472 147/288/473 146/287/474 +f 16/16/475 8/8/476 14/14/477 +f 6/6/478 8/8/479 16/16/480 +f 18/18/481 6/6/482 16/16/483 +f 4/4/484 6/6/485 18/18/486 +f 149/290/487 4/4/488 18/18/489 +f 2/2/490 4/4/491 149/291/492 +f 150/292/493 2/2/494 149/293/495 +f 152/294/496 143/295/497 151/296/498 +f 153/297/499 143/298/500 152/299/501 +f 154/300/502 153/301/503 152/302/504 +f 51/80/505 153/303/506 154/304/507 +f 155/305/508 51/80/509 154/306/510 +f 49/307/511 51/80/512 155/308/513 +f 138/272/514 156/309/515 136/270/516 +f 157/310/517 156/311/518 138/272/519 +f 158/312/520 157/313/521 138/272/522 +f 159/314/523 157/315/524 158/316/525 +f 160/317/526 159/318/527 158/319/528 +f 161/320/529 159/321/530 160/322/531 +f 162/323/532 77/148/533 79/150/534 +f 163/324/535 77/148/536 162/323/537 +f 164/325/538 163/324/539 162/323/540 +f 165/326/541 163/324/542 164/325/543 +f 166/327/544 165/326/545 164/325/546 +f 98/328/547 165/326/548 166/327/549 +f 167/329/550 114/330/551 116/331/552 +f 168/332/553 114/333/554 167/329/555 +f 127/242/556 168/332/557 167/329/558 +f 169/334/559 168/332/560 127/242/561 +f 106/335/562 169/334/563 127/242/564 +f 108/336/565 169/334/566 106/337/567 +f 2/2/568 137/338/569 1/3/570 +f 170/339/571 137/340/572 2/2/573 +f 150/341/574 170/342/575 2/2/576 +f 171/343/577 170/344/578 150/345/579 +f 26/26/580 171/346/581 150/347/582 +f 28/28/583 171/348/584 26/26/585 +f 65/349/586 36/350/587 38/351/588 +f 57/352/589 36/353/590 65/354/591 +f 63/355/592 57/356/593 65/357/594 +f 59/358/595 57/359/596 63/360/597 +f 61/361/598 59/362/599 63/363/600 +f 131/364/601 100/365/602 102/366/603 +f 172/367/604 100/368/605 131/369/606 +f 129/370/607 172/371/608 131/372/609 +f 165/326/610 172/373/611 129/374/612 +f 123/221/613 165/326/614 129/375/615 +f 101/174/616 173/376/617 103/176/618 +f 174/377/619 173/376/620 101/174/621 +f 99/171/622 174/377/623 101/174/624 +f 175/378/625 174/377/626 99/171/627 +f 97/379/628 175/378/629 99/171/630 +f 134/380/631 79/381/632 176/382/633 +f 177/383/634 79/384/635 134/385/636 +f 135/386/637 177/387/638 134/388/639 +f 178/389/640 177/390/641 135/391/642 +f 20/20/643 26/26/644 150/392/645 +f 179/393/646 26/26/647 20/20/648 +f 22/22/649 179/394/650 20/20/651 +f 24/24/652 179/395/653 22/22/654 +f 90/161/655 180/396/656 92/163/657 +f 181/397/658 180/398/659 90/161/660 +f 88/159/661 181/399/662 90/161/663 +f 86/157/664 181/400/665 88/159/666 +f 181/401/667 182/402/668 180/403/669 +f 183/404/670 182/405/671 181/406/672 +f 86/157/673 183/407/674 181/408/675 +f 84/155/676 183/409/677 86/157/678 +f 110/410/679 169/334/680 108/411/681 +f 168/332/682 169/334/683 110/412/684 +f 112/413/685 168/332/686 110/414/687 +f 114/415/688 168/332/689 112/416/690 +f 184/417/691 55/418/692 56/419/693 +f 185/420/694 55/421/695 184/422/696 +f 64/423/697 185/424/698 184/425/699 +f 44/426/700 185/427/701 64/428/702 +f 60/429/703 56/430/704 58/431/705 +f 184/432/706 56/433/707 60/434/708 +f 62/435/709 184/436/710 60/437/711 +f 64/438/712 184/439/713 62/440/714 +f 177/441/715 162/442/716 79/443/717 +f 186/444/718 162/445/719 177/446/720 +f 178/447/721 186/448/722 177/449/723 +f 187/450/724 186/451/725 178/452/726 +f 186/453/727 164/454/728 162/455/729 +f 94/165/730 164/456/731 186/457/732 +f 187/458/733 94/165/734 186/459/735 +f 93/166/736 94/165/737 187/460/738 +f 25/25/739 29/29/740 27/27/741 +f 188/461/742 29/29/743 25/25/744 +f 23/23/745 188/462/746 25/25/747 +f 21/21/748 188/463/749 23/23/750 +f 189/464/751 170/465/752 171/466/753 +f 137/467/754 170/468/755 189/469/756 +f 139/274/757 137/470/758 189/471/759 +f 96/167/760 164/472/761 94/165/762 +f 166/473/763 164/474/764 96/167/765 +f 98/169/766 166/473/767 96/167/768 +f 89/160/769 76/147/770 87/158/771 +f 78/149/772 76/147/773 89/160/774 +f 80/151/775 78/149/776 89/160/777 +f 113/475/778 133/476/779 115/477/780 +f 132/478/781 133/479/782 113/480/783 +f 130/481/784 132/482/785 113/483/786 +f 190/484/787 128/485/788 125/486/789 +f 129/487/790 128/488/791 190/489/792 +f 123/221/793 129/490/794 190/491/795 +f 191/492/796 121/218/797 122/219/798 +f 120/216/799 121/218/800 191/493/801 +f 123/494/802 120/216/803 191/495/804 +f 37/42/805 50/77/806 39/496/807 +f 52/82/808 50/77/809 37/42/810 +f 33/497/811 52/82/812 37/42/813 +f 47/498/814 41/499/815 39/500/816 +f 43/501/817 41/502/818 47/503/819 +f 45/61/820 43/504/821 47/505/822 +f 46/506/823 155/507/824 44/508/825 +f 49/509/826 155/510/827 46/511/828 +f 48/512/829 49/513/830 46/514/831 +f 192/515/832 102/516/833 104/517/834 +f 133/518/835 102/519/836 192/520/837 +f 18/18/838 150/521/839 149/522/840 +f 20/20/841 150/523/842 18/18/843 +f 111/524/844 130/525/845 113/526/846 +f 109/527/847 130/528/848 111/529/849 +f 1/530/850 176/531/851 3/532/852 +f 134/533/853 176/531/854 1/530/855 +f 98/534/856 172/535/857 165/326/858 +f 100/536/859 172/537/860 98/538/861 +f 9/9/862 21/21/863 19/19/864 +f 7/7/865 21/21/866 9/9/867 +f 124/539/868 190/540/869 125/541/870 +f 123/221/871 190/542/872 124/543/873 +f 11/11/874 19/19/875 17/17/876 +f 9/9/877 19/19/878 11/11/879 +f 75/146/880 191/544/881 122/219/882 +f 165/326/883 191/545/884 75/146/885 +f 193/546/886 138/272/887 140/276/888 +f 158/547/889 138/272/890 193/548/891 +f 13/13/892 17/17/893 15/15/894 +f 11/11/895 17/17/896 13/13/897 +f 156/549/898 159/550/899 161/320/900 +f 157/551/901 159/552/902 156/553/903 +f 173/554/904 31/555/905 103/556/906 +f 142/557/907 31/558/908 173/559/909 +f 194/560/910 97/561/911 95/164/912 +f 175/378/913 97/562/914 194/563/915 +f 12/12/916 8/8/917 10/10/918 +f 14/14/919 8/8/920 12/12/921 +f 104/564/922 31/565/923 32/566/924 +f 103/567/925 31/568/926 104/569/927 +f 146/287/928 195/570/929 148/289/930 +f 144/282/931 195/571/932 146/287/933 +f 147/288/934 143/572/935 145/285/936 +f 151/296/937 143/573/938 147/288/939 +f 183/574/940 83/154/941 182/575/942 +f 84/155/943 83/154/944 183/576/945 +f 196/577/946 83/154/947 82/153/948 +f 182/578/949 83/154/950 196/579/951 +f 85/156/952 76/147/953 74/145/954 +f 87/158/955 76/147/956 85/156/957 +f 153/580/958 53/83/959 143/581/960 +f 51/80/961 53/83/962 153/582/963 +f 163/324/964 75/146/965 77/148/966 +f 165/326/967 75/146/968 163/324/969 +f 28/28/970 189/583/971 171/584/972 +f 30/30/973 189/585/974 28/28/975 +f 189/586/976 141/277/977 139/274/978 +f 30/30/979 141/277/980 189/587/981 +f 176/588/982 5/589/983 3/590/984 +f 176/591/985 79/150/986 81/152/987 +f 91/162/988 80/151/989 89/160/990 +f 104/592/991 32/593/992 54/594/993 +f 29/29/994 188/595/995 21/21/996 +f 179/596/997 24/24/998 26/26/999 +f 107/597/1000 130/598/1001 109/599/1002 +f 191/600/1003 165/326/1004 123/494/1005 +f 33/601/1006 37/42/1007 35/37/1008 +f 185/602/1009 54/603/1010 55/604/1011 +f 199/605/1012 198/606/1013 197/607/1014 +f 200/608/1015 198/606/1016 199/605/1017 +f 201/609/1018 200/608/1019 199/605/1020 +f 202/610/1021 200/608/1022 201/609/1023 +f 203/611/1024 202/610/1025 201/609/1026 +f 204/612/1027 202/610/1028 203/611/1029 +f 205/613/1030 204/612/1031 203/611/1032 +f 206/614/1033 204/612/1034 205/613/1035 +f 208/615/1036 199/605/1037 207/616/1038 +f 201/609/1039 199/605/1040 208/615/1041 +f 209/617/1042 201/609/1043 208/615/1044 +f 203/611/1045 201/609/1046 209/617/1047 +f 210/618/1048 203/611/1049 209/617/1050 +f 205/613/1051 203/611/1052 210/618/1053 +f 213/619/1054 212/620/1055 211/621/1056 +f 214/622/1057 212/620/1058 213/619/1059 +f 215/623/1060 214/622/1061 213/619/1062 +f 216/624/1063 214/622/1064 215/623/1065 +f 217/625/1066 216/624/1067 215/623/1068 +f 218/626/1069 216/624/1070 217/625/1071 +f 219/627/1072 215/623/1073 213/619/1074 +f 220/628/1075 215/623/1076 219/627/1077 +f 219/629/1078 221/630/1079 220/631/1080 +f 222/632/1081 221/630/1082 219/629/1083 +f 220/628/1084 217/625/1085 215/623/1086 +f 225/633/1087 224/634/1088 223/635/1089 +f 226/636/1090 224/634/1091 225/637/1092 +f 227/638/1093 226/636/1094 225/639/1095 +f 228/640/1096 226/636/1097 227/641/1098 +f 229/642/1099 228/640/1100 227/643/1101 +f 230/644/1102 228/640/1103 229/645/1104 +f 231/646/1105 230/644/1106 229/647/1107 +f 222/632/1108 232/648/1109 221/630/1110 +f 233/649/1111 232/648/1112 222/632/1113 +f 234/650/1114 233/649/1115 222/632/1116 +f 235/651/1117 233/649/1118 234/650/1119 +f 214/622/1120 236/652/1121 212/620/1122 +f 231/653/1123 236/654/1124 214/622/1125 +f 216/624/1126 231/655/1127 214/622/1128 +f 230/644/1129 231/656/1130 216/624/1131 +f 223/635/1132 234/650/1133 237/657/1134 +f 235/651/1135 234/650/1136 223/635/1137 +f 224/634/1138 235/651/1139 223/635/1140 +f 238/658/1141 233/649/1142 235/651/1143 +f 232/648/1144 233/649/1145 238/658/1146 +f 241/659/1147 240/660/1148 239/661/1149 +f 242/662/1150 240/660/1151 241/663/1152 +f 243/664/1153 242/662/1154 241/665/1155 +f 244/666/1156 242/662/1157 243/667/1158 +f 245/668/1159 244/666/1160 243/669/1161 +f 246/670/1162 244/666/1163 245/668/1164 +f 247/671/1165 246/670/1166 245/668/1167 +f 248/672/1168 246/670/1169 247/671/1170 +f 249/673/1171 248/672/1172 247/671/1173 +f 250/674/1174 248/672/1175 249/673/1176 +f 251/675/1177 250/674/1178 249/673/1179 +f 252/676/1180 250/674/1181 251/675/1182 +f 253/677/1183 252/676/1184 251/675/1185 +f 254/678/1186 252/676/1187 253/679/1188 +f 255/680/1189 254/678/1190 253/681/1191 +f 256/682/1192 254/678/1193 255/683/1194 +f 257/684/1195 256/682/1196 255/685/1197 +f 258/686/1198 256/682/1199 257/687/1200 +f 239/688/1201 258/686/1202 257/689/1203 +f 240/690/1204 258/686/1205 239/691/1206 +f 242/662/1207 259/692/1208 240/660/1209 +f 260/693/1210 259/692/1211 242/662/1212 +f 244/666/1213 260/693/1214 242/662/1215 +f 261/694/1216 260/693/1217 244/666/1218 +f 246/670/1219 261/694/1220 244/666/1221 +f 262/695/1222 261/694/1223 246/670/1224 +f 248/672/1225 262/695/1226 246/670/1227 +f 263/696/1228 262/695/1229 248/672/1230 +f 250/674/1231 263/696/1232 248/672/1233 +f 264/697/1234 263/696/1235 250/674/1236 +f 265/698/1237 264/697/1238 250/674/1239 +f 266/699/1240 264/697/1241 265/698/1242 +f 267/700/1243 266/699/1244 265/698/1245 +f 268/701/1246 266/699/1247 267/700/1248 +f 269/702/1249 268/701/1250 267/700/1251 +f 270/703/1252 268/701/1253 269/702/1254 +f 271/704/1255 270/703/1256 269/702/1257 +f 272/705/1258 268/701/1259 270/703/1260 +f 273/706/1261 268/701/1262 272/705/1263 +f 274/707/1264 273/706/1265 272/705/1266 +f 275/708/1267 273/706/1268 274/707/1269 +f 276/709/1270 275/708/1271 274/707/1272 +f 277/710/1273 275/708/1274 276/709/1275 +f 278/711/1276 277/710/1277 276/709/1278 +f 279/712/1279 277/710/1280 278/711/1281 +f 280/713/1282 279/712/1283 278/711/1284 +f 281/714/1285 279/712/1286 280/713/1287 +f 282/715/1288 281/714/1289 280/713/1290 +f 283/716/1291 281/714/1292 282/715/1293 +f 273/706/1294 266/699/1295 268/701/1296 +f 284/717/1297 266/699/1298 273/706/1299 +f 275/708/1300 284/717/1301 273/706/1302 +f 285/718/1303 284/717/1304 275/708/1305 +f 277/710/1306 285/718/1307 275/708/1308 +f 286/719/1309 285/718/1310 277/710/1311 +f 279/712/1312 286/719/1313 277/710/1314 +f 287/720/1315 286/719/1316 279/712/1317 +f 281/714/1318 287/720/1319 279/712/1320 +f 288/721/1321 287/720/1322 281/714/1323 +f 283/716/1324 288/721/1325 281/714/1326 +f 289/722/1327 288/721/1328 283/716/1329 +f 291/723/1330 243/724/1331 290/725/1332 +f 245/668/1333 243/726/1334 291/727/1335 +f 292/728/1336 245/668/1337 291/729/1338 +f 247/671/1339 245/668/1340 292/730/1341 +f 293/731/1342 247/671/1343 292/732/1344 +f 249/673/1345 247/671/1346 293/733/1347 +f 294/734/1348 249/673/1349 293/735/1350 +f 251/675/1351 249/673/1352 294/736/1353 +f 295/737/1354 251/675/1355 294/738/1356 +f 253/739/1357 251/675/1358 295/740/1359 +f 284/717/1360 264/697/1361 266/699/1362 +f 263/696/1363 264/697/1364 284/717/1365 +f 285/718/1366 263/696/1367 284/717/1368 +f 262/695/1369 263/696/1370 285/718/1371 +f 286/719/1372 262/695/1373 285/718/1374 +f 287/720/1375 262/695/1376 286/719/1377 +f 296/741/1378 283/742/1379 282/743/1380 +f 297/744/1381 283/742/1382 296/741/1383 +f 298/745/1384 297/744/1385 296/741/1386 +f 299/746/1387 297/744/1388 298/745/1389 +f 271/704/1390 299/746/1391 298/745/1392 +f 269/702/1393 299/746/1394 271/704/1395 +f 297/744/1396 289/747/1397 283/742/1398 +f 300/748/1399 289/747/1400 297/744/1401 +f 299/746/1402 300/748/1403 297/744/1404 +f 301/749/1405 300/748/1406 299/746/1407 +f 269/702/1408 301/749/1409 299/746/1410 +f 267/700/1411 301/749/1412 269/702/1413 +f 302/750/1414 256/682/1415 258/686/1416 +f 303/751/1417 256/682/1418 302/750/1419 +f 267/700/1420 303/751/1421 302/750/1422 +f 265/698/1423 303/751/1424 267/700/1425 +f 302/750/1426 301/749/1427 267/700/1428 +f 304/752/1429 301/749/1430 302/750/1431 +f 258/686/1432 304/752/1433 302/750/1434 +f 240/690/1435 304/752/1436 258/686/1437 +f 304/752/1438 300/748/1439 301/749/1440 +f 289/747/1441 300/748/1442 304/752/1443 +f 259/753/1444 289/747/1445 304/752/1446 +f 252/676/1447 265/698/1448 250/674/1449 +f 254/678/1450 265/698/1451 252/676/1452 +f 287/720/1453 261/694/1454 262/695/1455 +f 288/721/1456 261/694/1457 287/720/1458 +f 259/692/1459 288/721/1460 289/722/1461 +f 260/693/1462 288/721/1463 259/692/1464 +f 303/751/1465 254/678/1466 256/682/1467 +f 265/698/1468 254/678/1469 303/751/1470 +f 260/693/1471 261/694/1472 288/721/1473 +f 240/690/1474 259/753/1475 304/752/1476 +f 307/754/1477 306/755/1478 305/756/1479 +f 308/757/1480 306/755/1481 307/754/1482 +f 309/758/1483 308/759/1484 307/754/1485 +f 310/760/1486 308/761/1487 309/758/1488 +f 311/762/1489 310/760/1490 309/758/1491 +f 312/763/1492 310/760/1493 311/762/1494 +f 313/764/1495 312/763/1496 311/762/1497 +f 314/765/1498 312/763/1499 313/764/1500 +f 315/766/1501 314/765/1502 313/764/1503 +f 316/767/1504 314/765/1505 315/766/1506 +f 317/768/1507 316/767/1508 315/766/1509 +f 318/769/1510 316/767/1511 317/768/1512 +f 319/770/1513 318/769/1514 317/768/1515 +f 320/771/1516 318/769/1517 319/770/1518 +f 321/772/1519 320/773/1520 319/770/1521 +f 322/774/1522 320/775/1523 321/772/1524 +f 324/776/1525 305/756/1526 323/777/1527 +f 307/754/1528 305/756/1529 324/778/1530 +f 325/779/1531 307/754/1532 324/780/1533 +f 309/758/1534 307/754/1535 325/779/1536 +f 326/781/1537 309/758/1538 325/779/1539 +f 311/762/1540 309/758/1541 326/781/1542 +f 327/782/1543 311/762/1544 326/781/1545 +f 313/764/1546 311/762/1547 327/782/1548 +f 328/783/1549 313/764/1550 327/782/1551 +f 315/766/1552 313/764/1553 328/783/1554 +f 329/784/1555 315/766/1556 328/783/1557 +f 317/768/1558 315/766/1559 329/785/1560 +f 330/786/1561 317/768/1562 329/787/1563 +f 319/770/1564 317/768/1565 330/788/1566 +f 331/789/1567 319/770/1568 330/790/1569 +f 321/772/1570 319/770/1571 331/789/1572 +f 334/791/1573 333/792/1574 332/793/1575 +f 335/794/1576 333/792/1577 334/791/1578 +f 336/795/1579 335/794/1580 334/791/1581 +f 337/796/1582 335/794/1583 336/795/1584 +f 338/797/1585 337/798/1586 336/795/1587 +f 339/799/1588 337/800/1589 338/797/1590 +f 342/801/1591 341/802/1592 340/803/1593 +f 343/804/1594 341/802/1595 342/801/1596 +f 344/805/1597 343/804/1598 342/801/1599 +f 345/806/1600 343/804/1601 344/805/1602 +f 346/807/1603 345/806/1604 344/805/1605 +f 348/808/1606 332/793/1607 347/809/1608 +f 334/791/1609 332/793/1610 348/808/1611 +f 349/810/1612 334/791/1613 348/808/1614 +f 350/811/1615 334/791/1616 349/812/1617 +f 332/813/1618 352/814/1619 351/815/1620 +f 353/816/1621 352/814/1622 332/813/1623 +f 333/817/1624 353/816/1625 332/813/1626 +f 335/818/1627 353/816/1628 333/817/1629 +f 322/819/1630 354/820/1631 351/815/1632 +f 355/821/1633 354/820/1634 322/819/1635 +f 321/822/1636 355/821/1637 322/819/1638 +f 331/823/1639 355/821/1640 321/822/1641 +f 331/823/1642 356/824/1643 355/821/1644 +f 342/825/1645 356/824/1646 331/823/1647 +f 330/826/1648 342/827/1649 331/823/1650 +f 329/828/1651 342/829/1652 330/830/1653 +f 329/831/1654 344/832/1655 342/833/1656 +f 357/834/1657 344/835/1658 329/836/1659 +f 328/837/1660 357/838/1661 329/839/1662 +f 327/840/1663 357/841/1664 328/837/1665 +f 326/842/1666 359/843/1667 358/844/1668 +f 335/818/1669 359/845/1670 326/846/1671 +f 325/847/1672 335/818/1673 326/848/1674 +f 353/816/1675 335/818/1676 325/847/1677 +f 320/849/1678 360/850/1679 318/769/1680 +f 361/851/1681 360/852/1682 320/853/1683 +f 322/774/1684 361/854/1685 320/855/1686 +f 362/856/1687 361/857/1688 322/774/1689 +f 361/858/1690 363/859/1691 360/860/1692 +f 364/861/1693 363/862/1694 361/863/1695 +f 362/864/1696 364/865/1697 361/866/1698 +f 352/867/1699 364/868/1700 362/869/1701 +f 364/870/1702 365/871/1703 363/872/1704 +f 366/873/1705 365/874/1706 364/875/1707 +f 352/876/1708 366/877/1709 364/878/1710 +f 353/879/1711 366/880/1712 352/881/1713 +f 366/882/1714 323/883/1715 365/884/1716 +f 324/885/1717 323/886/1718 366/887/1719 +f 353/888/1720 324/889/1721 366/890/1722 +f 325/779/1723 324/891/1724 353/892/1725 +f 354/893/1726 367/894/1727 351/895/1728 +f 368/896/1729 367/897/1730 354/898/1731 +f 369/899/1732 368/900/1733 354/901/1734 +f 355/902/1735 369/903/1736 354/904/1737 +f 370/905/1738 369/906/1739 355/907/1740 +f 340/803/1741 370/908/1742 355/909/1743 +f 358/910/1744 346/911/1745 357/912/1746 +f 371/913/1747 346/911/1748 358/914/1749 +f 372/915/1750 371/916/1751 358/917/1752 +f 356/918/1753 340/803/1754 355/919/1755 +f 342/801/1756 340/803/1757 356/918/1758 +f 367/920/1759 332/793/1760 351/921/1761 +f 347/809/1762 332/793/1763 367/922/1764 +f 350/923/1765 336/795/1766 334/791/1767 +f 373/924/1768 336/795/1769 350/925/1770 +f 372/926/1771 337/927/1772 339/799/1773 +f 358/928/1774 337/929/1775 372/930/1776 +f 359/931/1777 337/932/1778 358/933/1779 +f 335/794/1780 337/934/1781 359/935/1782 +f 362/936/1783 351/815/1784 352/814/1785 +f 322/819/1786 351/815/1787 362/937/1788 +f 327/938/1789 358/939/1790 357/940/1791 +f 326/941/1792 358/942/1793 327/943/1794 +f 357/944/1795 346/807/1796 344/805/1797 +f 336/795/1798 373/924/1799 338/797/1800 +f 237/945/1801 225/946/1802 223/635/1803 +f 374/947/1804 225/948/1805 237/949/1806 +f 375/950/1807 374/951/1808 237/952/1809 +f 376/953/1810 374/954/1811 375/955/1812 +f 379/956/1813 378/957/1814 377/958/1815 +f 380/959/1816 378/960/1817 379/961/1818 +f 229/962/1819 380/963/1820 379/964/1821 +f 227/965/1822 380/966/1823 229/967/1824 +f 380/968/1825 376/969/1826 378/970/1827 +f 374/971/1828 376/972/1829 380/973/1830 +f 227/974/1831 374/975/1832 380/976/1833 +f 225/977/1834 374/978/1835 227/979/1836 +f 379/980/1837 231/981/1838 229/982/1839 +f 236/983/1840 231/984/1841 379/985/1842 +f 211/621/1843 382/986/1844 381/987/1845 +f 383/988/1846 382/986/1847 211/621/1848 +f 212/620/1849 383/989/1850 211/621/1851 +f 236/990/1852 383/991/1853 212/620/1854 +f 383/992/1855 384/993/1856 382/986/1857 +f 377/994/1858 384/993/1859 383/995/1860 +f 236/996/1861 377/997/1862 383/998/1863 +f 379/999/1864 377/1000/1865 236/1001/1866 +f 385/1002/1867 376/1003/1868 375/1004/1869 +f 386/1005/1870 376/1006/1871 385/1002/1872 +f 386/1005/1873 378/1007/1874 376/1008/1875 +f 387/1009/1876 378/1010/1877 386/1005/1878 +f 387/1009/1879 377/1011/1880 378/1012/1881 +f 384/993/1882 377/1013/1883 387/1009/1884 +f 390/1014/1885 389/1015/1886 388/1016/1887 +f 391/1017/1888 389/1018/1889 390/1014/1890 +f 392/1019/1891 391/1017/1892 390/1014/1893 +f 393/1020/1894 391/1017/1895 392/1019/1896 +f 394/1021/1897 393/1020/1898 392/1019/1899 +f 395/1022/1900 393/1020/1901 394/1021/1902 +f 396/1023/1903 395/1022/1904 394/1021/1905 +f 397/1024/1906 395/1022/1907 396/1023/1908 +f 398/1025/1909 397/1024/1910 396/1023/1911 +f 370/1026/1912 399/1027/1913 369/1028/1914 +f 400/1029/1915 399/1027/1916 370/1030/1917 +f 340/803/1918 400/1029/1919 370/1031/1920 +f 401/1032/1921 400/1029/1922 340/803/1923 +f 402/1033/1924 401/1032/1925 340/803/1926 +f 403/1034/1927 401/1032/1928 402/1035/1929 +f 404/1036/1930 403/1034/1931 402/1037/1932 +f 405/1038/1933 403/1034/1934 404/1036/1935 +f 400/1029/1936 406/1039/1937 399/1027/1938 +f 407/1040/1939 406/1041/1940 400/1029/1941 +f 401/1032/1942 407/1042/1943 400/1029/1944 +f 408/1043/1945 407/1044/1946 401/1032/1947 +f 403/1034/1948 408/1043/1949 401/1032/1950 +f 409/1045/1951 408/1043/1952 403/1034/1953 +f 405/1038/1954 409/1045/1955 403/1034/1956 +f 410/1046/1957 409/1045/1958 405/1038/1959 +f 413/1047/1960 412/1048/1961 411/1049/1962 +f 414/1050/1963 412/1051/1964 413/1052/1965 +f 415/1053/1966 414/1054/1967 413/1055/1968 +f 416/1056/1969 414/1057/1970 415/1058/1971 +f 417/1059/1972 416/1060/1973 415/1061/1974 +f 418/1062/1975 416/1063/1976 417/1064/1977 +f 419/1065/1978 418/1066/1979 417/1067/1980 +f 407/1068/1981 420/1069/1982 406/1070/1983 +f 421/1071/1984 420/1072/1985 407/1073/1986 +f 408/1043/1987 421/1074/1988 407/1075/1989 +f 422/1076/1990 421/1077/1991 408/1043/1992 +f 409/1045/1993 422/1076/1994 408/1043/1995 +f 423/1078/1996 350/1079/1997 349/1080/1998 +f 373/924/1999 350/1081/2000 423/1078/2001 +f 424/1082/2002 373/924/2003 423/1078/2004 +f 425/1083/2005 373/924/2006 424/1082/2007 +f 426/1084/2008 409/1045/2009 410/1046/2010 +f 422/1076/2011 409/1045/2012 426/1084/2013 +f 427/1085/2014 422/1076/2015 426/1084/2016 +f 428/1086/2017 422/1076/2018 427/1085/2019 +f 421/1087/2020 429/1088/2021 420/1089/2022 +f 428/1090/2023 429/1091/2024 421/1092/2025 +f 422/1076/2026 428/1093/2027 421/1094/2028 +f 402/1095/2029 430/1096/2030 404/1036/2031 +f 341/802/2032 430/1097/2033 402/1098/2034 +f 340/803/2035 341/802/2036 402/1099/2037 +f 381/987/2038 419/1100/2039 431/1101/2040 +f 418/1102/2041 419/1103/2042 381/987/2043 +f 338/797/2044 425/1104/2045 339/799/2046 +f 373/924/2047 425/1105/2048 338/797/2049 +f 341/802/2050 343/804/2051 430/1106/2052 +f 434/1107/2053 433/1108/2054 432/1109/2055 +f 435/1110/2056 433/1111/2057 434/1112/2058 +f 436/1113/2059 435/1114/2060 434/1115/2061 +f 437/1116/2062 435/1117/2063 436/1118/2064 +f 438/1119/2065 437/1120/2066 436/1121/2067 +f 439/1122/2068 437/1123/2069 438/1124/2070 +f 440/1125/2071 439/1126/2072 438/1127/2073 +f 441/1128/2074 439/1129/2075 440/1130/2076 +f 442/1131/2077 441/1132/2078 440/1133/2079 +f 443/1134/2080 441/1135/2081 442/1136/2082 +f 444/1137/2083 443/1138/2084 442/1139/2085 +f 445/1140/2086 443/1141/2087 444/1142/2088 +f 446/1143/2089 445/1144/2090 444/1145/2091 +f 447/1146/2092 445/1147/2093 446/1148/2094 +f 448/1149/2095 447/1150/2096 446/1151/2097 +f 449/1152/2098 447/1153/2099 448/1154/2100 +f 450/1155/2101 449/1156/2102 448/1157/2103 +f 453/1158/2104 452/1159/2105 451/1160/2106 +f 454/1161/2107 452/1162/2108 453/1163/2109 +f 455/1164/2110 454/1165/2111 453/1166/2112 +f 456/1167/2113 454/1168/2114 455/1169/2115 +f 457/1170/2116 456/1171/2117 455/1172/2118 +f 458/1173/2119 456/1174/2120 457/1175/2121 +f 459/1176/2122 458/1177/2123 457/1178/2124 +f 436/1179/2125 458/1180/2126 459/1181/2127 +f 460/1182/2128 436/1183/2129 459/1184/2130 +f 438/1185/2131 436/1186/2132 460/1187/2133 +f 461/1188/2134 438/1189/2135 460/1190/2136 +f 462/1191/2137 438/1192/2138 461/1193/2139 +f 238/658/2140 462/1194/2141 461/1195/2142 +f 463/1196/2143 462/1197/2144 238/658/2145 +f 235/651/2146 463/1198/2147 238/658/2148 +f 224/634/2149 463/1199/2150 235/651/2151 +f 466/1200/2152 465/1201/2153 464/1202/2154 +f 467/1203/2155 465/1204/2156 466/1205/2157 +f 468/1206/2158 467/1207/2159 466/1208/2160 +f 469/1209/2161 467/1210/2162 468/1211/2163 +f 443/1212/2164 469/1213/2165 468/1214/2166 +f 470/1215/2167 469/1216/2168 443/1217/2169 +f 445/1218/2170 470/1219/2171 443/1220/2172 +f 471/1221/2173 470/1222/2174 445/1223/2175 +f 447/1224/2176 471/1225/2177 445/1226/2178 +f 449/1227/2179 471/1228/2180 447/1229/2181 +f 435/1230/2182 472/1231/2183 433/1232/2184 +f 473/1233/2185 472/1234/2186 435/1235/2187 +f 437/1236/2188 473/1237/2189 435/1238/2190 +f 474/1239/2191 473/1240/2192 437/1241/2193 +f 439/1242/2194 474/1243/2195 437/1244/2196 +f 441/1245/2197 474/1246/2198 439/1247/2199 +f 473/1248/2200 464/1249/2201 472/1250/2202 +f 466/1251/2203 464/1252/2204 473/1253/2205 +f 474/1254/2206 466/1255/2207 473/1256/2208 +f 468/1257/2209 466/1258/2210 474/1259/2211 +f 441/1260/2212 468/1261/2213 474/1262/2214 +f 443/1263/2215 468/1264/2216 441/1265/2217 +f 476/1266/2218 451/1267/2219 475/1268/2220 +f 453/1269/2221 451/1270/2222 476/1271/2223 +f 471/1272/2224 453/1273/2225 476/1274/2226 +f 455/1275/2227 453/1276/2228 471/1277/2229 +f 449/1278/2230 455/1279/2231 471/1280/2232 +f 477/1281/2233 224/634/2234 226/636/2235 +f 463/1282/2236 224/634/2237 477/1283/2238 +f 440/1284/2239 463/1285/2240 477/1286/2241 +f 462/1287/2242 463/1288/2243 440/1289/2244 +f 438/1290/2245 462/1291/2246 440/1292/2247 +f 478/1293/2248 220/631/2249 221/630/2250 +f 450/1294/2251 220/631/2252 478/1295/2253 +f 457/1296/2254 450/1297/2255 478/1298/2256 +f 449/1299/2257 450/1300/2258 457/1301/2259 +f 455/1302/2260 449/1303/2261 457/1304/2262 +f 454/1305/2263 479/1306/2264 452/1307/2265 +f 480/1308/2266 479/1309/2267 454/1310/2268 +f 456/1311/2269 480/1312/2270 454/1313/2271 +f 458/1314/2272 480/1315/2273 456/1316/2274 +f 480/1317/2275 432/1318/2276 479/1319/2277 +f 434/1320/2278 432/1321/2279 480/1322/2280 +f 458/1323/2281 434/1324/2282 480/1325/2283 +f 436/1326/2284 434/1327/2285 458/1328/2286 +f 467/1329/2287 481/1330/2288 465/1331/2289 +f 482/1332/2290 481/1333/2291 467/1334/2292 +f 469/1335/2293 482/1336/2294 467/1337/2295 +f 470/1338/2296 482/1339/2297 469/1340/2298 +f 482/1341/2299 475/1342/2300 481/1343/2301 +f 476/1344/2302 475/1345/2303 482/1346/2304 +f 470/1347/2305 476/1348/2306 482/1349/2307 +f 471/1350/2308 476/1351/2309 470/1352/2310 +f 218/626/2311 230/644/2312 216/624/2313 +f 483/1353/2314 230/644/2315 218/626/2316 +f 446/1354/2317 483/1355/2318 218/626/2319 +f 444/1356/2320 483/1357/2321 446/1358/2322 +f 483/1359/2323 228/640/2324 230/644/2325 +f 484/1360/2326 228/640/2327 483/1361/2328 +f 444/1362/2329 484/1363/2330 483/1364/2331 +f 442/1365/2332 484/1366/2333 444/1367/2334 +f 484/1368/2335 226/636/2336 228/640/2337 +f 477/1369/2338 226/636/2339 484/1370/2340 +f 442/1371/2341 477/1372/2342 484/1373/2343 +f 440/1374/2344 477/1375/2345 442/1376/2346 +f 461/1377/2347 232/648/2348 238/658/2349 +f 485/1378/2350 232/648/2351 461/1379/2352 +f 460/1380/2353 485/1381/2354 461/1382/2355 +f 459/1383/2356 485/1384/2357 460/1385/2358 +f 485/1386/2359 221/630/2360 232/648/2361 +f 478/1387/2362 221/630/2363 485/1388/2364 +f 459/1389/2365 478/1390/2366 485/1391/2367 +f 457/1392/2368 478/1393/2369 459/1394/2370 +f 424/1082/2371 486/1395/2372 425/1396/2373 +f 423/1078/2374 486/1395/2375 424/1082/2376 +f 450/1397/2377 217/625/2378 220/628/2379 +f 448/1398/2380 217/625/2381 450/1399/2382 +f 448/1400/2383 218/626/2384 217/625/2385 +f 446/1401/2386 218/626/2387 448/1402/2388 +f 428/1403/2389 487/1404/2390 429/1405/2391 +f 488/1406/2392 487/1404/2393 428/1407/2394 +f 427/1085/2395 488/1406/2396 428/1408/2397 +f 489/1409/2398 488/1406/2399 427/1085/2400 +f 490/1410/2401 489/1409/2402 427/1085/2403 +f 491/1411/2404 489/1409/2405 490/1412/2406 +f 492/1413/2407 491/1411/2408 490/1414/2409 +f 381/987/2410 493/1415/2411 211/621/2412 +f 494/1416/2413 493/1415/2414 381/987/2415 +f 431/1417/2416 494/1416/2417 381/987/2418 +f 495/1418/2419 494/1416/2420 431/1419/2421 +f 490/1420/2422 496/1421/2423 492/1413/2424 +f 497/1422/2425 496/1421/2426 490/1423/2427 +f 426/1084/2428 497/1424/2429 490/1425/2430 +f 410/1046/2431 497/1426/2432 426/1084/2433 +f 491/1411/2434 488/1406/2435 489/1409/2436 +f 498/1427/2437 488/1406/2438 491/1411/2439 +f 499/1428/2440 488/1406/2441 498/1429/2442 +f 487/1404/2443 488/1406/2444 499/1430/2445 +f 426/1084/2446 490/1431/2447 427/1085/2448 +f 502/1432/2449 501/1433/2450 500/1434/2451 +f 503/1435/2452 501/1433/2453 502/1432/2454 +f 504/1436/2455 503/1435/2456 502/1432/2457 +f 505/1437/2458 503/1435/2459 504/1436/2460 +f 506/1438/2461 505/1437/2462 504/1436/2463 +f 507/1439/2464 505/1437/2465 506/1440/2466 +f 509/1441/2467 501/1442/2468 508/1443/2469 +f 510/1444/2470 501/1442/2471 509/1441/2472 +f 511/1445/2473 510/1444/2474 509/1441/2475 +f 512/1446/2476 510/1444/2477 511/1445/2478 +f 514/1447/2479 505/1437/2480 513/1448/2481 +f 503/1435/2482 505/1437/2483 514/1447/2484 +f 508/1449/2485 503/1435/2486 514/1447/2487 +f 501/1433/2488 503/1435/2489 508/1449/2490 +f 515/1450/2491 510/1444/2492 512/1446/2493 +f 500/1451/2494 510/1444/2495 515/1450/2496 +f 513/1452/2497 507/1453/2498 516/1454/2499 +f 505/1437/2500 507/1455/2501 513/1452/2502 +f 501/1442/2503 510/1444/2504 500/1451/2505 +f 502/1432/2506 517/1456/2507 504/1436/2508 +f 509/1441/2509 518/1457/2510 511/1445/2511 +f 519/1458/2512 518/1457/2513 509/1441/2514 +f 508/1443/2515 519/1458/2516 509/1441/2517 +f 520/1459/2518 519/1458/2519 508/1443/2520 +f 523/1460/2521 522/1461/2522 521/1462/2523 +f 524/1463/2524 522/1464/2525 523/1465/2526 +f 520/1466/2527 524/1463/2528 523/1467/2529 +f 519/1458/2530 525/1468/2531 518/1457/2532 +f 526/1469/2533 525/1470/2534 519/1458/2535 +f 527/1471/2536 526/1472/2537 519/1458/2538 +f 524/1473/2539 514/1447/2540 513/1448/2541 +f 520/1474/2542 514/1447/2543 524/1473/2544 +f 516/1475/2545 524/1463/2546 513/1452/2547 +f 522/1476/2548 524/1463/2549 516/1477/2550 +f 527/1478/2551 520/1466/2552 523/1479/2553 +f 508/1449/2554 514/1447/2555 520/1474/2556 +f 520/1459/2557 527/1480/2558 519/1458/2559 +f 525/1481/2560 528/1482/2561 197/607/2562 +f 295/1483/2563 528/1484/2564 525/1485/2565 +f 529/1486/2566 295/1487/2567 525/1488/2568 +f 253/1489/2569 295/1490/2570 529/1491/2571 +f 255/1492/2572 253/1493/2573 529/1494/2574 +f 526/1495/2575 529/1496/2576 525/1497/2577 +f 255/1498/2578 529/1499/2579 526/1500/2580 +f 257/1501/2581 255/1502/2582 526/1503/2583 +f 518/1457/2584 197/607/2585 198/606/2586 +f 525/1504/2587 197/607/2588 518/1457/2589 +f 294/1505/2590 528/1506/2591 295/1507/2592 +f 207/616/2593 528/1508/2594 294/1509/2595 +f 293/1510/2596 207/616/2597 294/1511/2598 +f 208/615/2599 207/616/2600 293/1512/2601 +f 292/1513/2602 208/615/2603 293/1514/2604 +f 209/617/2605 208/615/2606 292/1515/2607 +f 291/1516/2608 209/617/2609 292/1517/2610 +f 210/618/2611 209/617/2612 291/1518/2613 +f 290/1519/2614 210/618/2615 291/1520/2616 +f 530/1521/2617 210/618/2618 290/1522/2619 +f 531/1523/2620 530/1524/2621 290/1525/2622 +f 523/1526/2623 530/1527/2624 531/1528/2625 +f 527/1529/2626 523/1530/2627 531/1531/2628 +f 531/1532/2629 239/1533/2630 527/1534/2631 +f 241/1535/2632 239/1536/2633 531/1537/2634 +f 290/1538/2635 241/1539/2636 531/1540/2637 +f 243/1541/2638 241/1542/2639 290/1543/2640 +f 521/1544/2641 530/1545/2642 523/1546/2643 +f 205/613/2644 530/1547/2645 521/1548/2646 +f 207/616/2647 197/607/2648 528/1549/2649 +f 199/605/2650 197/607/2651 207/616/2652 +f 257/1550/2653 527/1551/2654 239/1552/2655 +f 526/1553/2656 527/1554/2657 257/1555/2658 +f 210/618/2659 530/1556/2660 205/613/2661 +f 213/619/2662 532/1557/2663 219/627/2664 +f 533/1558/2665 532/1559/2666 213/619/2667 +f 211/621/2668 533/1560/2669 213/619/2670 +f 493/1415/2671 533/1561/2672 211/621/2673 +f 535/1562/2674 533/1563/2675 534/1564/2676 +f 532/1565/2677 533/1566/2678 535/1567/2679 +f 536/1568/2680 532/1569/2681 535/1570/2682 +f 222/632/2683 537/1571/2684 234/650/2685 +f 219/629/2686 537/1572/2687 222/632/2688 +f 532/1573/2689 537/1574/2690 219/629/2691 +f 536/1575/2692 537/1576/2693 532/1577/2694 +f 538/1578/2695 537/1579/2696 536/1580/2697 +f 534/1581/2698 533/1582/2699 493/1415/2700 +f 541/1583/2701 540/1584/2702 539/1585/2703 +f 542/1586/2704 540/1587/2705 541/1588/2706 +f 536/1589/2707 542/1590/2708 541/1591/2709 +f 535/1592/2710 542/1593/2711 536/1594/2712 +f 541/1595/2713 538/1596/2714 536/1597/2715 +f 543/1598/2716 538/1599/2717 541/1600/2718 +f 539/1601/2719 543/1602/2720 541/1603/2721 +f 544/1604/2722 543/1605/2723 539/1606/2724 +f 545/1607/2725 535/1608/2726 534/1609/2727 +f 542/1610/2728 535/1611/2729 545/1612/2730 +f 546/1613/2731 542/1614/2732 545/1615/2733 +f 547/1616/2734 542/1617/2735 546/1618/2736 +f 545/1619/2737 495/1418/2738 546/1620/2739 +f 494/1416/2740 495/1418/2741 545/1621/2742 +f 534/1622/2743 494/1416/2744 545/1623/2745 +f 493/1415/2746 494/1416/2747 534/1624/2748 +f 543/1625/2749 548/1626/2750 538/1627/2751 +f 549/1628/2752 548/1629/2753 543/1630/2754 +f 544/1631/2755 549/1632/2756 543/1633/2757 +f 547/1634/2758 540/1635/2759 542/1636/2760 +f 398/1025/2761 550/1637/2762 397/1024/2763 +f 551/1638/2764 550/1637/2765 398/1025/2766 +f 553/1639/2767 552/1640/2768 411/1641/2769 +f 548/1642/2770 552/1643/2771 553/1644/2772 +f 551/1638/2773 511/1445/2774 550/1637/2775 +f 512/1446/2776 511/1445/2777 551/1638/2778 +f 548/1645/2779 549/1646/2780 552/1647/2781 +f 518/1457/2782 550/1637/2783 511/1445/2784 +f 554/1648/2785 550/1637/2786 518/1457/2787 +f 198/606/2788 554/1649/2789 518/1457/2790 +f 200/608/2791 554/1650/2792 198/606/2793 +f 200/608/2794 555/1651/2795 554/1652/2796 +f 202/610/2797 555/1653/2798 200/608/2799 +f 202/610/2800 556/1654/2801 555/1655/2802 +f 204/612/2803 556/1656/2804 202/610/2805 +f 204/612/2806 557/1657/2807 556/1658/2808 +f 206/614/2809 557/1659/2810 204/612/2811 +f 206/614/2812 558/1660/2813 557/1661/2814 +f 507/1662/2815 389/1663/2816 516/1664/2817 +f 388/1016/2818 389/1665/2819 507/1666/2820 +f 506/1667/2821 388/1016/2822 507/1668/2823 +f 554/1669/2824 397/1024/2825 550/1637/2826 +f 555/1670/2827 397/1024/2828 554/1671/2829 +f 555/1672/2830 395/1022/2831 397/1024/2832 +f 556/1673/2833 395/1022/2834 555/1674/2835 +f 556/1675/2836 393/1020/2837 395/1022/2838 +f 557/1676/2839 393/1020/2840 556/1677/2841 +f 557/1678/2842 391/1017/2843 393/1020/2844 +f 558/1679/2845 391/1017/2846 557/1680/2847 +f 558/1681/2848 389/1682/2849 391/1017/2850 +f 516/1683/2851 389/1684/2852 558/1685/2853 +f 558/1686/2854 522/1687/2855 516/1688/2856 +f 206/614/2857 522/1689/2858 558/1690/2859 +f 206/614/2860 521/1691/2861 522/1692/2862 +f 205/613/2863 521/1693/2864 206/614/2865 +f 412/1694/2866 553/1695/2867 411/1696/2868 +f 385/1002/2869 553/1697/2870 412/1698/2871 +f 386/1005/2872 385/1002/2873 412/1699/2874 +f 385/1002/2875 559/1700/2876 553/1701/2877 +f 375/1702/2878 559/1703/2879 385/1002/2880 +f 382/986/2881 418/1704/2882 381/987/2883 +f 384/993/2884 418/1705/2885 382/986/2886 +f 384/993/2887 416/1706/2888 418/1707/2889 +f 387/1009/2890 416/1708/2891 384/993/2892 +f 387/1009/2893 414/1709/2894 416/1710/2895 +f 386/1005/2896 414/1711/2897 387/1009/2898 +f 412/1712/2899 414/1713/2900 386/1005/2901 +f 559/1714/2902 548/1715/2903 553/1716/2904 +f 538/1717/2905 548/1718/2906 559/1719/2907 +f 537/1720/2908 538/1721/2909 559/1722/2910 +f 559/1723/2911 234/650/2912 537/1724/2913 +f 237/1725/2914 234/650/2915 559/1726/2916 +f 375/1727/2917 237/1728/2918 559/1729/2919 +f 562/1730/2920 561/1731/2921 560/1732/2922 +f 563/1733/2923 561/1731/2924 562/1730/2925 +f 564/1734/2926 563/1733/2927 562/1730/2928 +f 565/1735/2929 563/1733/2930 564/1734/2931 +f 566/1736/2932 565/1735/2933 564/1734/2934 +f 567/1737/2935 565/1735/2936 566/1736/2937 +f 568/1738/2938 567/1737/2939 566/1736/2940 +f 569/1739/2941 567/1737/2942 568/1738/2943 +f 570/1740/2944 569/1739/2945 568/1738/2946 +f 573/1741/2947 572/1742/2948 571/1743/2949 +f 574/1744/2950 572/1745/2951 573/1746/2952 +f 575/1747/2953 574/1748/2954 573/1749/2955 +f 576/1750/2956 574/1751/2957 575/1752/2958 +f 577/1753/2959 576/1754/2960 575/1755/2961 +f 578/1756/2962 576/1757/2963 577/1758/2964 +f 579/1759/2965 578/1760/2966 577/1761/2967 +f 580/1762/2968 578/1763/2969 579/1764/2970 +f 581/1765/2971 580/1766/2972 579/1767/2973 +f 584/1768/2974 583/1769/2975 582/1770/2976 +f 585/1771/2977 583/1769/2978 584/1768/2979 +f 586/1772/2980 585/1771/2981 584/1768/2982 +f 587/1773/2983 585/1771/2984 586/1772/2985 +f 588/1774/2986 587/1773/2987 586/1772/2988 +f 589/1775/2989 587/1773/2990 588/1774/2991 +f 590/1776/2992 589/1775/2993 588/1774/2994 +f 591/1777/2995 589/1775/2996 590/1776/2997 +f 594/1778/2998 593/1779/2999 592/1780/3000 +f 595/1781/3001 593/1779/3002 594/1778/3003 +f 596/1782/3004 595/1781/3005 594/1778/3006 +f 597/1783/3007 595/1781/3008 596/1782/3009 +f 598/1784/3010 597/1783/3011 596/1782/3012 +f 599/1785/3013 597/1783/3014 598/1784/3015 +f 600/1786/3016 599/1785/3017 598/1784/3018 +f 601/1787/3019 599/1785/3020 600/1786/3021 +f 593/1779/3022 603/1788/3023 602/1789/3024 +f 604/1790/3025 603/1788/3026 593/1779/3027 +f 595/1781/3028 604/1790/3029 593/1779/3030 +f 605/1791/3031 604/1790/3032 595/1781/3033 +f 597/1783/3034 605/1791/3035 595/1781/3036 +f 590/1776/3037 605/1791/3038 597/1783/3039 +f 599/1785/3040 590/1776/3041 597/1783/3042 +f 601/1787/3043 590/1776/3044 599/1785/3045 +f 606/1792/3046 589/1775/3047 591/1777/3048 +f 587/1773/3049 589/1775/3050 606/1792/3051 +f 607/1793/3052 587/1773/3053 606/1792/3054 +f 585/1771/3055 587/1773/3056 607/1793/3057 +f 608/1794/3058 585/1771/3059 607/1793/3060 +f 583/1769/3061 585/1771/3062 608/1794/3063 +f 609/1795/3064 566/1736/3065 564/1734/3066 +f 610/1796/3067 566/1736/3068 609/1797/3069 +f 611/1798/3070 610/1799/3071 609/1800/3072 +f 612/1801/3073 610/1802/3074 611/1798/3075 +f 610/1803/3076 568/1738/3077 566/1736/3078 +f 613/1804/3079 568/1738/3080 610/1805/3081 +f 612/1801/3082 613/1806/3083 610/1807/3084 +f 608/1808/3085 613/1809/3086 612/1801/3087 +f 614/1810/3088 577/1811/3089 575/1812/3090 +f 615/1813/3091 577/1814/3092 614/1815/3093 +f 602/1816/3094 615/1817/3095 614/1818/3096 +f 603/1819/3097 615/1820/3098 602/1821/3099 +f 615/1822/3100 579/1823/3101 577/1824/3102 +f 616/1825/3103 579/1826/3104 615/1827/3105 +f 603/1828/3106 616/1829/3107 615/1830/3108 +f 604/1831/3109 616/1832/3110 603/1833/3111 +f 619/1834/3112 618/1835/3113 617/1836/3114 +f 620/1837/3115 618/1838/3116 619/1839/3117 +f 621/1840/3118 620/1841/3119 619/1842/3120 +f 622/1843/3121 620/1844/3122 621/1845/3123 +f 622/1843/3124 623/1846/3125 620/1847/3126 +f 624/1848/3127 623/1846/3128 622/1843/3129 +f 625/1849/3130 624/1848/3131 622/1843/3132 +f 600/1786/3133 624/1848/3134 625/1849/3135 +f 609/1850/3136 560/1851/3137 611/1852/3138 +f 562/1730/3139 560/1853/3140 609/1854/3141 +f 564/1734/3142 562/1730/3143 609/1855/3144 +f 614/1856/3145 571/1857/3146 602/1858/3147 +f 573/1859/3148 571/1860/3149 614/1861/3150 +f 575/1862/3151 573/1863/3152 614/1864/3153 +f 581/1865/3154 567/1737/3155 569/1739/3156 +f 590/1866/3157 567/1737/3158 581/1867/3159 +f 605/1868/3160 590/1869/3161 581/1870/3162 +f 607/1871/3163 613/1872/3164 608/1808/3165 +f 570/1740/3166 613/1873/3167 607/1874/3168 +f 606/1875/3169 570/1740/3170 607/1876/3171 +f 578/1877/3172 598/1878/3173 596/1879/3174 +f 600/1880/3175 598/1881/3176 578/1882/3177 +f 617/1883/3178 600/1884/3179 578/1885/3180 +f 617/1836/3181 626/1886/3182 600/1887/3183 +f 627/1888/3184 626/1886/3185 617/1836/3186 +f 618/1889/3187 627/1888/3188 617/1836/3189 +f 628/1890/3190 600/1786/3191 626/1891/3192 +f 624/1848/3193 600/1786/3194 628/1890/3195 +f 623/1846/3196 624/1848/3197 628/1890/3198 +f 583/1769/3199 611/1892/3200 560/1893/3201 +f 612/1894/3202 611/1892/3203 583/1769/3204 +f 608/1794/3205 612/1894/3206 583/1769/3207 +f 593/1779/3208 572/1895/3209 592/1780/3210 +f 571/1896/3211 572/1895/3212 593/1779/3213 +f 602/1789/3214 571/1896/3215 593/1779/3216 +f 563/1733/3217 584/1897/3218 582/1898/3219 +f 565/1735/3220 584/1899/3221 563/1733/3222 +f 574/1900/3223 594/1901/3224 592/1902/3225 +f 576/1903/3226 594/1904/3227 574/1905/3228 +f 605/1906/3229 616/1907/3230 604/1908/3231 +f 581/1909/3232 616/1910/3233 605/1911/3234 +f 576/1912/3235 596/1913/3236 594/1914/3237 +f 578/1915/3238 596/1916/3239 576/1917/3240 +f 565/1735/3241 586/1918/3242 584/1919/3243 +f 567/1737/3244 586/1920/3245 565/1735/3246 +f 567/1737/3247 588/1921/3248 586/1922/3249 +f 590/1923/3250 588/1924/3251 567/1737/3252 +f 561/1925/3253 583/1769/3254 560/1893/3255 +f 582/1770/3256 583/1769/3257 561/1925/3258 +f 561/1731/3259 563/1733/3260 582/1926/3261 +f 572/1927/3262 574/1928/3263 592/1929/3264 +f 568/1738/3265 613/1930/3266 570/1740/3267 +f 580/1931/3268 617/1932/3269 578/1933/3270 +f 579/1934/3271 616/1935/3272 581/1936/3273 +f 631/1937/3274 630/1938/3275 629/1939/3276 +f 632/1940/3277 630/1938/3278 631/1937/3279 +f 633/1941/3280 632/1940/3281 631/1937/3282 +f 634/1942/3283 632/1940/3284 633/1941/3285 +f 635/1943/3286 634/1942/3287 633/1941/3288 +f 636/1944/3289 634/1942/3290 635/1943/3291 +f 637/1945/3292 636/1944/3293 635/1943/3294 +f 638/1946/3295 636/1944/3296 637/1945/3297 +f 639/1947/3298 638/1946/3299 637/1945/3300 +f 640/1948/3301 638/1946/3302 639/1947/3303 +f 641/1949/3304 640/1948/3305 639/1947/3306 +f 642/1950/3307 640/1948/3308 641/1949/3309 +f 643/1951/3310 642/1950/3311 641/1949/3312 +f 644/1952/3313 642/1950/3314 643/1951/3315 +f 647/1953/3316 646/1954/3317 645/1955/3318 +f 648/1956/3319 646/1954/3320 647/1953/3321 +f 649/1957/3322 648/1956/3323 647/1953/3324 +f 650/1958/3325 648/1956/3326 649/1957/3327 +f 651/1959/3328 650/1958/3329 649/1957/3330 +f 652/1960/3331 650/1958/3332 651/1959/3333 +f 630/1938/3334 652/1960/3335 651/1959/3336 +f 632/1940/3337 652/1960/3338 630/1938/3339 +f 643/1961/3340 629/1962/3341 644/1963/3342 +f 631/1937/3343 629/1962/3344 643/1961/3345 +f 653/1964/3346 631/1937/3347 643/1961/3348 +f 633/1941/3349 631/1937/3350 653/1964/3351 +f 654/1965/3352 633/1941/3353 653/1964/3354 +f 635/1943/3355 633/1941/3356 654/1965/3357 +f 637/1966/3358 635/1943/3359 654/1965/3360 +f 655/1967/3361 642/1950/3362 646/1954/3363 +f 640/1948/3364 642/1950/3365 655/1967/3366 +f 656/1968/3367 640/1948/3368 655/1967/3369 +f 638/1946/3370 640/1948/3371 656/1968/3372 +f 636/1944/3373 638/1946/3374 656/1968/3375 +f 629/1969/3376 622/1843/3377 621/1970/3378 +f 657/1971/3379 622/1843/3380 629/1969/3381 +f 630/1972/3382 657/1971/3383 629/1969/3384 +f 651/1973/3385 657/1971/3386 630/1972/3387 +f 658/1974/3388 642/1950/3389 644/1952/3390 +f 646/1954/3391 642/1950/3392 658/1974/3393 +f 659/1975/3394 646/1954/3395 658/1974/3396 +f 645/1955/3397 646/1954/3398 659/1975/3399 +f 641/1976/3400 653/1964/3401 643/1961/3402 +f 660/1977/3403 653/1964/3404 641/1976/3405 +f 639/1978/3406 660/1977/3407 641/1976/3408 +f 637/1966/3409 660/1977/3410 639/1978/3411 +f 656/1968/3412 634/1942/3413 636/1944/3414 +f 661/1979/3415 634/1942/3416 656/1968/3417 +f 655/1967/3418 661/1979/3419 656/1968/3420 +f 650/1958/3421 661/1979/3422 655/1967/3423 +f 657/1971/3424 662/1980/3425 622/1843/3426 +f 663/1981/3427 662/1980/3428 657/1971/3429 +f 651/1973/3430 663/1981/3431 657/1971/3432 +f 619/1982/3433 629/1983/3434 621/1984/3435 +f 644/1952/3436 629/1985/3437 619/1986/3438 +f 654/1965/3439 660/1977/3440 637/1966/3441 +f 653/1964/3442 660/1977/3443 654/1965/3444 +f 648/1956/3445 655/1967/3446 646/1954/3447 +f 650/1958/3448 655/1967/3449 648/1956/3450 +f 652/1960/3451 661/1979/3452 650/1958/3453 +f 632/1940/3454 661/1979/3455 652/1960/3456 +f 634/1942/3457 661/1979/3458 632/1940/3459 +f 666/1987/3460 665/1988/3461 664/1989/3462 +f 667/1990/3463 665/1988/3464 666/1987/3465 +f 668/1991/3466 667/1990/3467 666/1987/3468 +f 669/1992/3469 667/1990/3470 668/1991/3471 +f 670/1993/3472 669/1992/3473 668/1991/3474 +f 671/1994/3475 669/1992/3476 670/1993/3477 +f 672/1995/3478 671/1994/3479 670/1993/3480 +f 673/1996/3481 671/1994/3482 672/1995/3483 +f 674/1997/3484 673/1996/3485 672/1995/3486 +f 675/1998/3487 673/1996/3488 674/1997/3489 +f 676/1999/3490 675/1998/3491 674/1997/3492 +f 677/2000/3493 675/1998/3494 676/1999/3495 +f 678/2001/3496 677/2000/3497 676/1999/3498 +f 679/2002/3499 677/2000/3500 678/2001/3501 +f 664/1989/3502 679/2002/3503 678/2001/3504 +f 665/1988/3505 679/2002/3506 664/1989/3507 +f 682/2003/3508 681/2004/3509 680/2005/3510 +f 683/2006/3511 681/2007/3512 682/2008/3513 +f 684/2009/3514 683/2010/3515 682/2011/3516 +f 685/2012/3517 683/2013/3518 684/2014/3519 +f 686/2015/3520 685/2016/3521 684/2017/3522 +f 687/2018/3523 685/2019/3524 686/2020/3525 +f 688/2021/3526 687/2022/3527 686/2023/3528 +f 689/2024/3529 687/2025/3530 688/2026/3531 +f 690/2027/3532 689/2028/3533 688/2029/3534 +f 691/2030/3535 689/2031/3536 690/2032/3537 +f 692/2033/3538 691/2034/3539 690/2035/3540 +f 693/2036/3541 691/2037/3542 692/2038/3543 +f 694/2039/3544 693/2040/3545 692/2041/3546 +f 695/2042/3547 693/2043/3548 694/2044/3549 +f 680/2045/3550 695/2046/3551 694/2047/3552 +f 681/2048/3553 695/2049/3554 680/2050/3555 +f 698/2051/3556 697/2052/3557 696/2053/3558 +f 699/2054/3559 697/2052/3560 698/2051/3561 +f 700/2055/3562 699/2054/3563 698/2051/3564 +f 701/2056/3565 699/2054/3566 700/2055/3567 +f 702/2057/3568 701/2056/3569 700/2055/3570 +f 703/2058/3571 701/2056/3572 702/2057/3573 +f 704/2059/3574 703/2058/3575 702/2057/3576 +f 705/2060/3577 703/2058/3578 704/2059/3579 +f 706/2061/3580 705/2060/3581 704/2059/3582 +f 707/2062/3583 705/2060/3584 706/2061/3585 +f 708/2063/3586 707/2062/3587 706/2061/3588 +f 709/2064/3589 707/2062/3590 708/2063/3591 +f 710/2065/3592 709/2064/3593 708/2063/3594 +f 711/2066/3595 709/2064/3596 710/2065/3597 +f 696/2053/3598 711/2066/3599 710/2065/3600 +f 697/2052/3601 711/2066/3602 696/2053/3603 +f 714/2067/3604 713/2068/3605 712/2069/3606 +f 715/2070/3607 713/2068/3608 714/2067/3609 +f 716/2071/3610 715/2070/3611 714/2067/3612 +f 717/2072/3613 715/2070/3614 716/2071/3615 +f 718/2073/3616 717/2072/3617 716/2071/3618 +f 719/2074/3619 717/2072/3620 718/2073/3621 +f 720/2075/3622 719/2074/3623 718/2073/3624 +f 721/2076/3625 719/2074/3626 720/2075/3627 +f 722/2077/3628 721/2076/3629 720/2075/3630 +f 723/2078/3631 721/2076/3632 722/2077/3633 +f 724/2079/3634 723/2078/3635 722/2077/3636 +f 725/2080/3637 723/2078/3638 724/2079/3639 +f 726/2081/3640 725/2080/3641 724/2079/3642 +f 727/2082/3643 725/2080/3644 726/2081/3645 +f 728/2083/3646 727/2082/3647 726/2081/3648 +f 712/2069/3649 569/2084/3650 570/2085/3651 +f 729/2086/3652 569/2084/3653 712/2069/3654 +f 713/2068/3655 729/2086/3656 712/2069/3657 +f 730/2087/3658 729/2086/3659 713/2068/3660 +f 731/2088/3661 730/2087/3662 713/2068/3663 +f 732/2089/3664 730/2087/3665 731/2088/3666 +f 733/2090/3667 732/2089/3668 731/2088/3669 +f 734/2091/3670 732/2089/3671 733/2090/3672 +f 735/2092/3673 734/2091/3674 733/2090/3675 +f 736/2093/3676 734/2091/3677 735/2092/3678 +f 737/2094/3679 736/2093/3680 735/2092/3681 +f 738/2095/3682 736/2093/3683 737/2094/3684 +f 739/2096/3685 738/2095/3686 737/2094/3687 +f 569/2084/3688 580/2097/3689 581/2098/3690 +f 740/2099/3691 580/2097/3692 569/2084/3693 +f 729/2086/3694 740/2099/3695 569/2084/3696 +f 741/2100/3697 740/2099/3698 729/2086/3699 +f 730/2087/3700 741/2100/3701 729/2086/3702 +f 742/2101/3703 741/2100/3704 730/2087/3705 +f 732/2089/3706 742/2101/3707 730/2087/3708 +f 743/2102/3709 742/2101/3710 732/2089/3711 +f 734/2091/3712 743/2102/3713 732/2089/3714 +f 744/2103/3715 743/2102/3716 734/2091/3717 +f 736/2093/3718 744/2103/3719 734/2091/3720 +f 745/2104/3721 744/2103/3722 736/2093/3723 +f 738/2095/3724 745/2104/3725 736/2093/3726 +f 649/1957/3727 746/2105/3728 651/1959/3729 +f 747/2106/3730 746/2105/3731 649/1957/3732 +f 647/1953/3733 747/2106/3734 649/1957/3735 +f 748/2107/3736 747/2106/3737 647/1953/3738 +f 645/1955/3739 748/2107/3740 647/1953/3741 +f 749/2108/3742 748/2107/3743 645/1955/3744 +f 659/1975/3745 749/2108/3746 645/1955/3747 +f 740/2099/3748 749/2108/3749 659/1975/3750 +f 658/1974/3751 740/2099/3752 659/1975/3753 +f 644/1952/3754 740/2099/3755 658/1974/3756 +f 750/2109/3757 591/1777/3758 590/1776/3759 +f 606/1792/3760 591/1777/3761 750/2109/3762 +f 751/2110/3763 606/1792/3764 750/2109/3765 +f 752/2111/3766 606/1792/3767 751/2110/3768 +f 716/2071/3769 752/2111/3770 751/2110/3771 +f 753/2112/3772 752/2111/3773 716/2071/3774 +f 754/2113/3775 753/2112/3776 716/2071/3777 +f 755/2114/3778 753/2112/3779 754/2113/3780 +f 756/2115/3781 755/2114/3782 754/2113/3783 +f 757/2116/3784 714/2067/3785 712/2117/3786 +f 758/2118/3787 714/2067/3788 757/2116/3789 +f 759/2119/3790 758/2118/3791 757/2116/3792 +f 760/2120/3793 758/2118/3794 759/2119/3795 +f 761/2121/3796 760/2120/3797 759/2119/3798 +f 762/2122/3799 760/2120/3800 761/2121/3801 +f 763/2123/3802 762/2122/3803 761/2121/3804 +f 764/2124/3805 762/2122/3806 763/2123/3807 +f 765/2125/3808 743/2102/3809 744/2103/3810 +f 766/2126/3811 743/2102/3812 765/2125/3813 +f 767/2127/3814 766/2126/3815 765/2125/3816 +f 768/2128/3817 766/2126/3818 767/2127/3819 +f 769/2129/3820 768/2128/3821 767/2127/3822 +f 770/2130/3823 768/2128/3824 769/2129/3825 +f 771/2131/3826 770/2130/3827 769/2129/3828 +f 772/2132/3829 770/2130/3830 771/2131/3831 +f 773/2133/3832 744/2103/3833 745/2104/3834 +f 765/2125/3835 744/2103/3836 773/2133/3837 +f 774/2134/3838 765/2125/3839 773/2133/3840 +f 767/2127/3841 765/2125/3842 774/2134/3843 +f 775/2135/3844 767/2127/3845 774/2134/3846 +f 769/2129/3847 767/2127/3848 775/2135/3849 +f 776/2136/3850 769/2129/3851 775/2135/3852 +f 771/2131/3853 769/2129/3854 776/2136/3855 +f 777/2137/3856 771/2138/3857 776/2139/3858 +f 778/2140/3859 771/2138/3860 777/2137/3861 +f 779/2141/3862 778/2140/3863 777/2137/3864 +f 780/2142/3865 778/2140/3866 779/2141/3867 +f 781/2143/3868 780/2142/3869 779/2141/3870 +f 782/2144/3871 780/2142/3872 781/2143/3873 +f 728/2083/3874 782/2144/3875 781/2143/3876 +f 726/2081/3877 782/2144/3878 728/2083/3879 +f 766/2126/3880 742/2101/3881 743/2102/3882 +f 749/2108/3883 742/2101/3884 766/2126/3885 +f 768/2128/3886 749/2108/3887 766/2126/3888 +f 748/2145/3889 749/2108/3890 768/2128/3891 +f 770/2130/3892 748/2145/3893 768/2128/3894 +f 747/2146/3895 748/2145/3896 770/2130/3897 +f 772/2132/3898 747/2146/3899 770/2130/3900 +f 783/2147/3901 747/2146/3902 772/2132/3903 +f 778/2140/3904 772/2148/3905 771/2138/3906 +f 784/2149/3907 772/2148/3908 778/2140/3909 +f 780/2142/3910 784/2149/3911 778/2140/3912 +f 785/2150/3913 784/2149/3914 780/2142/3915 +f 782/2144/3916 785/2150/3917 780/2142/3918 +f 786/2151/3919 785/2150/3920 782/2144/3921 +f 726/2081/3922 786/2151/3923 782/2144/3924 +f 724/2079/3925 786/2151/3926 726/2081/3927 +f 784/2149/3928 783/2152/3929 772/2148/3930 +f 787/2153/3931 783/2152/3932 784/2149/3933 +f 785/2150/3934 787/2153/3935 784/2149/3936 +f 788/2154/3937 787/2153/3938 785/2150/3939 +f 786/2151/3940 788/2154/3941 785/2150/3942 +f 789/2155/3943 788/2154/3944 786/2151/3945 +f 724/2079/3946 789/2155/3947 786/2151/3948 +f 722/2077/3949 789/2155/3950 724/2079/3951 +f 790/2156/3952 763/2157/3953 761/2158/3954 +f 791/2159/3955 763/2157/3956 790/2156/3957 +f 792/2160/3958 791/2159/3959 790/2156/3960 +f 793/2161/3961 791/2159/3962 792/2160/3963 +f 794/2162/3964 793/2161/3965 792/2160/3966 +f 795/2163/3967 793/2161/3968 794/2162/3969 +f 756/2164/3970 795/2163/3971 794/2162/3972 +f 787/2153/3973 663/1981/3974 783/2152/3975 +f 796/2165/3976 663/1981/3977 787/2153/3978 +f 788/2154/3979 796/2165/3980 787/2153/3981 +f 797/2166/3982 796/2165/3983 788/2154/3984 +f 789/2155/3985 797/2166/3986 788/2154/3987 +f 720/2075/3988 797/2166/3989 789/2155/3990 +f 722/2077/3991 720/2075/3992 789/2155/3993 +f 759/2119/3994 790/2156/3995 761/2121/3996 +f 798/2167/3997 790/2156/3998 759/2119/3999 +f 757/2116/4000 798/2167/4001 759/2119/4002 +f 799/2168/4003 798/2167/4004 757/2116/4005 +f 712/2169/4006 799/2168/4007 757/2116/4008 +f 570/2170/4009 799/2168/4010 712/2169/4011 +f 800/2171/4012 716/2071/4013 714/2067/4014 +f 754/2113/4015 716/2071/4016 800/2171/4017 +f 801/2172/4018 754/2113/4019 800/2171/4020 +f 756/2115/4021 754/2113/4022 801/2172/4023 +f 795/2173/4024 756/2115/4025 801/2172/4026 +f 796/2165/4027 662/1980/4028 663/1981/4029 +f 802/2174/4030 662/1980/4031 796/2165/4032 +f 803/2175/4033 802/2174/4034 796/2165/4035 +f 600/1786/4036 802/2174/4037 803/2175/4038 +f 601/1787/4039 600/1786/4040 803/2175/4041 +f 803/2175/4042 590/1776/4043 601/1787/4044 +f 750/2109/4045 590/1776/4046 803/2175/4047 +f 797/2166/4048 750/2109/4049 803/2175/4050 +f 720/2075/4051 750/2109/4052 797/2166/4053 +f 758/2118/4054 800/2171/4055 714/2067/4056 +f 804/2176/4057 800/2171/4058 758/2118/4059 +f 760/2120/4060 804/2176/4061 758/2118/4062 +f 762/2122/4063 804/2176/4064 760/2120/4065 +f 805/2177/4066 669/1992/4067 671/1994/4068 +f 667/1990/4069 669/1992/4070 805/2177/4071 +f 665/1988/4072 667/1990/4073 805/2177/4074 +f 619/2178/4075 740/2099/4076 644/1952/4077 +f 580/2097/4078 740/2099/4079 619/2179/4080 +f 617/2180/4081 580/2097/4082 619/2181/4083 +f 783/2152/4084 746/2182/4085 747/2183/4086 +f 651/1973/4087 746/2182/4088 783/2152/4089 +f 663/1981/4090 651/1973/4091 783/2152/4092 +f 802/2174/4093 622/1843/4094 662/1980/4095 +f 625/1849/4096 622/1843/4097 802/2174/4098 +f 600/1786/4099 625/1849/4100 802/2174/4101 +f 751/2110/4102 718/2073/4103 716/2071/4104 +f 720/2075/4105 718/2073/4106 751/2110/4107 +f 750/2109/4108 720/2075/4109 751/2110/4110 +f 798/2167/4111 792/2160/4112 790/2156/4113 +f 794/2162/4114 792/2160/4115 798/2167/4116 +f 799/2168/4117 794/2162/4118 798/2167/4119 +f 806/2184/4120 779/2185/4121 777/2186/4122 +f 781/2187/4123 779/2185/4124 806/2184/4125 +f 728/2188/4126 781/2187/4127 806/2184/4128 +f 806/2184/4129 727/2189/4130 728/2190/4131 +f 739/2191/4132 727/2192/4133 806/2184/4134 +f 738/2193/4135 739/2191/4136 806/2184/4137 +f 806/2184/4138 745/2194/4139 738/2195/4140 +f 773/2196/4141 745/2197/4142 806/2184/4143 +f 774/2198/4144 773/2199/4145 806/2184/4146 +f 807/2200/4147 703/2058/4148 705/2060/4149 +f 701/2056/4150 703/2058/4151 807/2200/4152 +f 699/2054/4153 701/2056/4154 807/2200/4155 +f 808/2201/4156 687/2202/4157 689/2203/4158 +f 685/2204/4159 687/2205/4160 808/2206/4161 +f 683/2207/4162 685/2208/4163 808/2209/4164 +f 808/2210/4165 681/2211/4166 683/2212/4167 +f 695/2213/4168 681/2214/4169 808/2215/4170 +f 693/2216/4171 695/2217/4172 808/2218/4173 +f 807/2200/4174 697/2052/4175 699/2054/4176 +f 711/2066/4177 697/2052/4178 807/2200/4179 +f 709/2064/4180 711/2066/4181 807/2200/4182 +f 801/2172/4183 762/2122/4184 795/2173/4185 +f 804/2176/4186 762/2122/4187 801/2172/4188 +f 800/2171/4189 804/2176/4190 801/2172/4191 +f 805/2177/4192 675/1998/4193 677/2000/4194 +f 673/1996/4195 675/1998/4196 805/2177/4197 +f 671/1994/4198 673/1996/4199 805/2177/4200 +f 791/2159/4201 764/2219/4202 763/2157/4203 +f 793/2161/4204 764/2219/4205 791/2159/4206 +f 756/2164/4207 799/2168/4208 755/2220/4209 +f 794/2162/4210 799/2168/4211 756/2164/4212 +f 707/2062/4213 807/2200/4214 705/2060/4215 +f 709/2064/4216 807/2200/4217 707/2062/4218 +f 737/2094/4219 723/2078/4220 725/2080/4221 +f 735/2092/4222 723/2078/4223 737/2094/4224 +f 739/2096/4225 725/2080/4226 727/2082/4227 +f 737/2094/4228 725/2080/4229 739/2096/4230 +f 753/2112/4231 606/1792/4232 752/2111/4233 +f 755/2114/4234 606/1792/4235 753/2112/4236 +f 691/2221/4237 808/2222/4238 689/2223/4239 +f 693/2224/4240 808/2225/4241 691/2226/4242 +f 809/2227/4243 762/2122/4244 764/2124/4245 +f 795/2173/4246 762/2122/4247 809/2227/4248 +f 741/2100/4249 749/2108/4250 740/2099/4251 +f 742/2101/4252 749/2108/4253 741/2100/4254 +f 776/2228/4255 806/2184/4256 777/2186/4257 +f 775/2229/4258 806/2184/4259 776/2230/4260 +f 733/2090/4261 719/2074/4262 721/2076/4263 +f 731/2088/4264 719/2074/4265 733/2090/4266 +f 715/2070/4267 731/2088/4268 713/2068/4269 +f 717/2072/4270 731/2088/4271 715/2070/4272 +f 606/2231/4273 799/2168/4274 570/2170/4275 +f 755/2220/4276 799/2168/4277 606/2231/4278 +f 679/2002/4279 805/2177/4280 677/2000/4281 +f 665/1988/4282 805/2177/4283 679/2002/4284 +f 735/2092/4285 721/2076/4286 723/2078/4287 +f 733/2090/4288 721/2076/4289 735/2092/4290 +f 764/2219/4291 793/2161/4292 809/2232/4293 +f 717/2072/4294 719/2074/4295 731/2088/4296 +f 795/2163/4297 809/2233/4298 793/2161/4299 +f 796/2165/4300 797/2166/4301 803/2175/4302 +f 775/2234/4303 774/2235/4304 806/2184/4305 +f 812/2236/4306 811/2237/4307 810/2238/4308 +f 813/2239/4309 811/2240/4310 812/2241/4311 +f 814/2242/4312 813/2243/4313 812/2244/4314 +f 815/2245/4315 813/2246/4316 814/2247/4317 +f 816/2248/4318 815/2249/4319 814/2250/4320 +f 817/2251/4321 815/2252/4322 816/2253/4323 +f 818/2254/4324 817/2255/4325 816/2256/4326 +f 819/2257/4327 817/2258/4328 818/2259/4329 +f 820/2260/4330 819/2261/4331 818/2262/4332 +f 821/2263/4333 819/2264/4334 820/2265/4335 +f 822/2266/4336 821/2267/4337 820/2268/4338 +f 823/2269/4339 821/2270/4340 822/2271/4341 +f 824/2272/4342 823/2273/4343 822/2274/4344 +f 825/2275/4345 823/2276/4346 824/2277/4347 +f 826/2278/4348 825/2279/4349 824/2280/4350 +f 827/2281/4351 825/2282/4352 826/2283/4353 +f 830/2284/4354 829/2285/4355 828/2286/4356 +f 831/2287/4357 829/2288/4358 830/2289/4359 +f 832/2290/4360 831/2291/4361 830/2292/4362 +f 833/2293/4363 831/2294/4364 832/2295/4365 +f 834/2296/4366 833/2297/4367 832/2298/4368 +f 835/2299/4369 833/2300/4370 834/2301/4371 +f 836/2302/4372 835/2303/4373 834/2304/4374 +f 837/2305/4375 835/2306/4376 836/2307/4377 +f 831/2308/4378 838/2309/4379 829/2310/4380 +f 839/2311/4381 838/2312/4382 831/2313/4383 +f 833/2314/4384 839/2315/4385 831/2316/4386 +f 840/2317/4387 839/2318/4388 833/2319/4389 +f 835/2320/4390 840/2321/4391 833/2322/4392 +f 841/2323/4393 840/2324/4394 835/2325/4395 +f 837/2326/4396 841/2327/4397 835/2328/4398 +f 842/2329/4399 841/2330/4400 837/2331/4401 +f 839/2332/4402 810/2333/4403 838/2334/4404 +f 812/2335/4405 810/2336/4406 839/2337/4407 +f 840/2338/4408 812/2339/4409 839/2340/4410 +f 814/2341/4411 812/2342/4412 840/2343/4413 +f 841/2344/4414 814/2345/4415 840/2346/4416 +f 816/2347/4417 814/2348/4418 841/2349/4419 +f 842/2350/4420 816/2351/4421 841/2352/4422 +f 818/2353/4423 816/2354/4424 842/2355/4425 +f 845/2356/4426 844/2357/4427 843/2358/4428 +f 846/2359/4429 844/2360/4430 845/2361/4431 +f 847/2362/4432 846/2363/4433 845/2364/4434 +f 848/2365/4435 846/2366/4436 847/2367/4437 +f 849/2368/4438 848/2369/4439 847/2370/4440 +f 850/2371/4441 848/2372/4442 849/2373/4443 +f 851/2374/4444 850/2375/4445 849/2376/4446 +f 854/2377/4447 853/2378/4448 852/2379/4449 +f 855/2380/4450 853/2381/4451 854/2382/4452 +f 856/2383/4453 855/2384/4454 854/2385/4455 +f 857/2386/4456 855/2387/4457 856/2388/4458 +f 858/2389/4459 857/2390/4460 856/2391/4461 +f 859/2392/4462 857/2393/4463 858/2394/4464 +f 862/2395/4465 861/2396/4466 860/2397/4467 +f 863/2398/4468 861/2399/4469 862/2400/4470 +f 864/2401/4471 863/2402/4472 862/2403/4473 +f 865/2404/4474 863/2405/4475 864/2406/4476 +f 821/2407/4477 865/2408/4478 864/2409/4479 +f 823/2410/4480 865/2411/4481 821/2412/4482 +f 863/2413/4483 866/2414/4484 861/2415/4485 +f 867/2416/4486 866/2417/4487 863/2418/4488 +f 865/2419/4489 867/2420/4490 863/2421/4491 +f 868/2422/4492 867/2423/4493 865/2424/4494 +f 823/2425/4495 868/2426/4496 865/2427/4497 +f 825/2428/4498 868/2429/4499 823/2430/4500 +f 867/2431/4501 869/2432/4502 866/2433/4503 +f 870/2434/4504 869/2435/4505 867/2436/4506 +f 868/2437/4507 870/2438/4508 867/2439/4509 +f 871/2440/4510 870/2441/4511 868/2442/4512 +f 825/2443/4513 871/2444/4514 868/2445/4515 +f 827/2446/4516 871/2447/4517 825/2448/4518 +f 870/2449/4519 852/2450/4520 869/2451/4521 +f 854/2452/4522 852/2453/4523 870/2454/4524 +f 871/2455/4525 854/2456/4526 870/2457/4527 +f 856/2458/4528 854/2459/4529 871/2460/4530 +f 827/2461/4531 856/2462/4532 871/2463/4533 +f 858/2464/4534 856/2465/4535 827/2466/4536 +f 832/2467/4537 859/2468/4538 834/2469/4539 +f 857/2470/4540 859/2471/4541 832/2472/4542 +f 830/2473/4543 857/2474/4544 832/2475/4545 +f 855/2476/4546 857/2477/4547 830/2478/4548 +f 828/2479/4549 855/2480/4550 830/2481/4551 +f 853/2482/4552 855/2483/4553 828/2484/4554 +f 813/2485/4555 872/2486/4556 811/2487/4557 +f 873/2488/4558 872/2489/4559 813/2490/4560 +f 815/2491/4561 873/2492/4562 813/2493/4563 +f 874/2494/4564 873/2495/4565 815/2496/4566 +f 817/2497/4567 874/2498/4568 815/2499/4569 +f 819/2500/4570 874/2501/4571 817/2502/4572 +f 873/2503/4573 860/2504/4574 872/2505/4575 +f 862/2506/4576 860/2507/4577 873/2508/4578 +f 874/2509/4579 862/2510/4580 873/2511/4581 +f 864/2512/4582 862/2513/4583 874/2514/4584 +f 819/2515/4585 864/2516/4586 874/2517/4587 +f 821/2518/4588 864/2519/4589 819/2520/4590 +f 876/2521/4591 843/2522/4592 875/2523/4593 +f 877/2524/4594 843/2525/4595 876/2526/4596 +f 878/2527/4597 877/2528/4598 876/2529/4599 +f 879/2530/4600 877/2531/4601 878/2532/4602 +f 880/2533/4603 879/2534/4604 878/2535/4605 +f 881/2536/4606 879/2537/4607 880/2538/4608 +f 877/2539/4609 845/2540/4610 843/2541/4611 +f 847/2542/4612 845/2543/4613 877/2544/4614 +f 879/2545/4615 847/2546/4616 877/2547/4617 +f 849/2548/4618 847/2549/4619 879/2550/4620 +f 882/2551/4621 849/2552/4622 879/2553/4623 +f 851/2554/4624 849/2555/4625 882/2556/4626 +f 884/2557/4627 851/2558/4628 883/2559/4629 +f 850/2560/4630 851/2561/4631 884/2562/4632 +f 885/2563/4633 850/2564/4634 884/2565/4635 +f 886/2566/4636 850/2567/4637 885/2568/4638 +f 887/2569/4639 876/2570/4640 875/2571/4641 +f 888/2572/4642 876/2570/4643 887/2573/4644 +f 885/2574/4645 888/2575/4646 887/2576/4647 +f 884/2577/4648 888/2578/4649 885/2574/4650 +f 888/2579/4651 878/2580/4652 876/2570/4653 +f 889/2581/4654 878/2580/4655 888/2582/4656 +f 884/2577/4657 889/2583/4658 888/2584/4659 +f 883/2585/4660 889/2586/4661 884/2577/4662 +f 889/2587/4663 880/2588/4664 878/2580/4665 +f 890/2589/4666 880/2588/4667 889/2590/4668 +f 883/2591/4669 890/2592/4670 889/2593/4671 +f 891/2594/4672 890/2595/4673 883/2596/4674 +f 827/2597/4675 893/2598/4676 892/2599/4677 +f 894/2600/4678 893/2601/4679 827/2602/4680 +f 826/2603/4681 894/2604/4682 827/2605/4683 +f 896/2606/4684 844/2607/4685 895/2608/4686 +f 843/2609/4687 844/2610/4688 896/2611/4689 +f 875/2612/4690 843/2613/4691 896/2614/4692 +f 897/2615/4693 829/2616/4694 838/2617/4695 +f 828/2618/4696 829/2619/4697 897/2620/4698 +f 853/2621/4699 828/2622/4700 897/2623/4701 +f 897/2624/4702 852/2625/4703 853/2626/4704 +f 869/2627/4705 852/2628/4706 897/2629/4707 +f 866/2630/4708 869/2631/4709 897/2632/4710 +f 897/2633/4711 861/2634/4712 866/2635/4713 +f 860/2636/4714 861/2637/4715 897/2638/4716 +f 872/2639/4717 860/2640/4718 897/2641/4719 +f 897/2642/4720 811/2643/4721 872/2644/4722 +f 810/2645/4723 811/2646/4724 897/2647/4725 +f 838/2648/4726 810/2649/4727 897/2650/4728 +f 887/2651/4729 895/2652/4730 898/2653/4731 +f 896/2654/4732 895/2655/4733 887/2656/4734 +f 875/2571/4735 896/2657/4736 887/2658/4737 +f 848/2659/4738 898/2660/4739 846/2661/4740 +f 886/2662/4741 898/2663/4742 848/2664/4743 +f 850/2665/4744 886/2666/4745 848/2667/4746 +f 886/2668/4747 887/2669/4748 898/2653/4749 +f 885/2574/4750 887/2670/4751 886/2668/4752 +f 899/2671/4753 879/2672/4754 881/2673/4755 +f 882/2674/4756 879/2675/4757 899/2676/4758 +f 858/2677/4759 892/2678/4760 900/2679/4761 +f 827/2680/4762 892/2681/4763 858/2682/4764 +f 895/2683/4765 846/2684/4766 898/2685/4767 +f 844/2686/4768 846/2687/4769 895/2688/4770 +f 881/2689/4771 890/2690/4772 891/2691/4773 +f 880/2588/4774 890/2692/4775 881/2693/4776 +f 901/2694/4777 834/2695/4778 859/2696/4779 +f 902/2697/4780 834/2698/4781 901/2699/4782 +f 901/2700/4783 903/2701/4784 902/2702/4785 +f 859/2703/4786 903/2704/4787 901/2705/4788 +f 859/2706/4789 900/2707/4790 903/2708/4791 +f 858/2709/4792 900/2710/4793 859/2711/4794 +f 902/2712/4795 836/2713/4796 834/2714/4797 +f 906/2715/4798 905/2716/4799 904/2717/4800 +f 907/2718/4801 905/2719/4802 906/2720/4803 +f 908/2721/4804 907/2722/4805 906/2723/4806 +f 909/2724/4807 907/2725/4808 908/2726/4809 +f 910/2727/4810 909/2728/4811 908/2729/4812 +f 911/2730/4813 909/2731/4814 910/2732/4815 +f 912/2733/4816 911/2734/4817 910/2735/4818 +f 913/2736/4819 911/2737/4820 912/2738/4821 +f 900/2739/4822 913/2740/4823 912/2741/4824 +f 892/2742/4825 913/2743/4826 900/2744/4827 +f 916/2745/4828 915/2746/4829 914/2747/4830 +f 917/2748/4831 915/2749/4832 916/2750/4833 +f 918/2751/4834 917/2752/4835 916/2753/4836 +f 919/2754/4837 917/2755/4838 918/2756/4839 +f 911/2757/4840 919/2758/4841 918/2759/4842 +f 920/2760/4843 919/2761/4844 911/2762/4845 +f 913/2763/4846 920/2764/4847 911/2765/4848 +f 921/2766/4849 920/2767/4850 913/2768/4851 +f 923/2769/4852 915/2770/4853 922/2771/4854 +f 924/2772/4855 915/2773/4856 923/2774/4857 +f 925/2775/4858 924/2776/4859 923/2777/4860 +f 926/2778/4861 924/2779/4862 925/2780/4863 +f 905/2781/4864 926/2782/4865 925/2783/4866 +f 907/2784/4867 926/2785/4868 905/2786/4869 +f 902/2787/4870 908/2788/4871 906/2789/4872 +f 910/2790/4873 908/2791/4874 902/2792/4875 +f 903/2793/4876 910/2794/4877 902/2795/4878 +f 912/2796/4879 910/2797/4880 903/2798/4881 +f 900/2799/4882 912/2800/4883 903/2801/4884 +f 928/2802/4885 904/2803/4886 927/2804/4887 +f 929/2805/4888 904/2806/4889 928/2807/4890 +f 930/2808/4891 929/2809/4892 928/2810/4893 +f 836/2811/4894 929/2812/4895 930/2813/4896 +f 931/2814/4897 923/2815/4898 922/2816/4899 +f 925/2817/4900 923/2818/4901 931/2819/4902 +f 932/2820/4903 925/2821/4904 931/2822/4905 +f 905/2823/4906 925/2824/4907 932/2825/4908 +f 918/2826/4909 909/2827/4910 911/2828/4911 +f 933/2829/4912 909/2830/4913 918/2831/4914 +f 916/2832/4915 933/2833/4916 918/2834/4917 +f 914/2835/4918 933/2836/4919 916/2837/4920 +f 920/2838/4921 932/2839/4922 931/2840/4923 +f 934/2841/4924 932/2842/4925 920/2843/4926 +f 921/2844/4927 934/2845/4928 920/2846/4929 +f 904/2847/4930 935/2848/4931 927/2849/4932 +f 934/2850/4933 935/2851/4934 904/2852/4935 +f 893/2853/4936 913/2854/4937 892/2855/4938 +f 921/2856/4939 913/2857/4940 893/2858/4941 +f 902/2859/4942 929/2860/4943 836/2861/4944 +f 906/2862/4945 929/2863/4946 902/2864/4947 +f 904/2865/4948 932/2866/4949 934/2867/4950 +f 905/2868/4951 932/2869/4952 904/2870/4953 +f 924/2871/4954 914/2872/4955 915/2873/4956 +f 926/2874/4957 914/2875/4958 924/2876/4959 +f 917/2877/4960 922/2878/4961 915/2879/4962 +f 919/2880/4963 922/2881/4964 917/2882/4965 +f 919/2883/4966 931/2884/4967 922/2885/4968 +f 920/2886/4969 931/2887/4970 919/2888/4971 +f 926/2889/4972 933/2890/4973 914/2891/4974 +f 907/2892/4975 933/2893/4976 926/2894/4977 +f 906/2895/4978 904/2896/4979 929/2897/4980 +f 907/2898/4981 909/2899/4982 933/2900/4983 +f 938/2901/4984 937/2902/4985 936/2903/4986 +f 939/2904/4987 937/2905/4988 938/2906/4989 +f 940/2907/4990 939/2908/4991 938/2909/4992 +f 941/2910/4993 939/2911/4994 940/2912/4995 +f 942/2913/4996 941/2914/4997 940/2915/4998 +f 943/2916/4999 941/2917/5000 942/2918/5001 +f 944/2919/5002 943/2920/5003 942/2921/5004 +f 945/2922/5005 943/2923/5006 944/2924/5007 +f 946/2925/5008 945/2926/5009 944/2927/5010 +f 947/2928/5011 945/2929/5012 946/2930/5013 +f 948/2931/5014 947/2932/5015 946/2933/5016 +f 949/2934/5017 947/2935/5018 948/2936/5019 +f 950/2937/5020 949/2938/5021 948/2939/5022 +f 951/2940/5023 949/2941/5024 950/2942/5025 +f 936/2943/5026 951/2944/5027 950/2945/5028 +f 937/2946/5029 951/2947/5030 936/2948/5031 +f 954/2949/5032 953/2950/5033 952/2951/5034 +f 955/2952/5035 953/2953/5036 954/2954/5037 +f 956/2955/5038 955/2956/5039 954/2957/5040 +f 957/2958/5041 955/2959/5042 956/2960/5043 +f 958/2961/5044 957/2962/5045 956/2963/5046 +f 959/2964/5047 957/2965/5048 958/2966/5049 +f 960/2967/5050 959/2968/5051 958/2969/5052 +f 961/2970/5053 959/2971/5054 960/2972/5055 +f 962/2973/5056 961/2974/5057 960/2975/5058 +f 963/2976/5059 961/2977/5060 962/2978/5061 +f 964/2979/5062 963/2980/5063 962/2981/5064 +f 965/2982/5065 963/2983/5066 964/2984/5067 +f 966/2985/5068 965/2986/5069 964/2987/5070 +f 967/2988/5071 965/2989/5072 966/2990/5073 +f 952/2991/5074 967/2992/5075 966/2993/5076 +f 953/2994/5077 967/2995/5078 952/2996/5079 +f 970/2997/5080 969/2998/5081 968/2999/5082 +f 971/3000/5083 969/3001/5084 970/3002/5085 +f 972/3003/5086 971/3004/5087 970/3005/5088 +f 973/3006/5089 971/3007/5090 972/3008/5091 +f 974/3009/5092 973/3010/5093 972/3011/5094 +f 975/3012/5095 973/3013/5096 974/3014/5097 +f 976/3015/5098 975/3016/5099 974/3017/5100 +f 977/3018/5101 975/3019/5102 976/3020/5103 +f 978/3021/5104 977/3022/5105 976/3023/5106 +f 979/3024/5107 977/3025/5108 978/3026/5109 +f 980/3027/5110 979/3028/5111 978/3029/5112 +f 981/3030/5113 979/3031/5114 980/3032/5115 +f 982/3033/5116 981/3034/5117 980/3035/5118 +f 983/3036/5119 981/3037/5120 982/3038/5121 +f 968/3039/5122 983/3040/5123 982/3041/5124 +f 969/3042/5125 983/3043/5126 968/3044/5127 +f 824/3045/5128 984/3046/5129 826/3047/5130 +f 985/3048/5131 984/3049/5132 824/3050/5133 +f 822/3051/5134 985/3052/5135 824/3053/5136 +f 986/3054/5137 985/3055/5138 822/3056/5139 +f 987/3057/5140 986/3058/5141 822/3059/5142 +f 988/3060/5143 986/3061/5144 987/3062/5145 +f 989/3063/5146 988/3064/5147 987/3065/5148 +f 990/3066/5149 988/3067/5150 989/3068/5151 +f 818/3069/5152 990/3070/5153 989/3071/5154 +f 991/3072/5155 990/3073/5156 818/3074/5157 +f 842/3075/5158 991/3076/5159 818/3077/5160 +f 992/3078/5161 991/3079/5162 842/3080/5163 +f 837/3081/5164 992/3082/5165 842/3083/5166 +f 993/3084/5167 992/3085/5168 837/3086/5169 +f 996/3087/5170 995/3088/5171 994/3089/5172 +f 997/3090/5173 995/3091/5174 996/3092/5175 +f 998/3093/5176 997/3094/5177 996/3095/5178 +f 999/3096/5179 997/3097/5180 998/3098/5181 +f 1000/3099/5182 999/3100/5183 998/3101/5184 +f 1001/3102/5185 999/3103/5186 1000/3099/5187 +f 1002/3104/5188 1001/3105/5189 1000/3099/5190 +f 1003/3106/5191 1001/3107/5192 1002/3108/5193 +f 930/3109/5194 837/3110/5195 836/3111/5196 +f 993/3112/5197 837/3113/5198 930/3114/5199 +f 928/3115/5200 993/3116/5201 930/3117/5202 +f 1004/3118/5203 993/3119/5204 928/3120/5205 +f 1005/3121/5206 1004/3122/5207 928/3123/5208 +f 1003/3124/5209 1004/3125/5210 1005/3126/5211 +f 1001/3127/5212 1003/3128/5213 1005/3129/5214 +f 1003/3130/5215 993/3131/5216 1004/3132/5217 +f 992/3133/5218 993/3134/5219 1003/3135/5220 +f 1006/3136/5221 992/3137/5222 1003/3138/5223 +f 881/3139/5224 992/3140/5225 1006/3141/5226 +f 1007/3142/5227 881/3143/5228 1006/3144/5229 +f 1008/3145/5230 881/3146/5231 1007/3147/5232 +f 1009/3148/5233 1008/3149/5234 1007/3150/5235 +f 997/3151/5236 1010/3152/5237 995/3153/5238 +f 1011/3154/5239 1010/3155/5240 997/3156/5241 +f 999/3157/5242 1011/3158/5243 997/3159/5244 +f 1012/3160/5245 1011/3161/5246 999/3162/5247 +f 1001/3163/5248 1012/3164/5249 999/3165/5250 +f 1005/3166/5251 1012/3167/5252 1001/3168/5253 +f 990/3169/5254 1013/3170/5255 988/3171/5256 +f 883/3172/5257 1013/3173/5258 990/3174/5259 +f 991/3175/5260 883/3176/5261 990/3177/5262 +f 891/3178/5263 883/3179/5264 991/3180/5265 +f 881/3181/5266 891/3182/5267 991/3183/5268 +f 1000/3099/5269 1014/3184/5270 1002/3185/5271 +f 1015/3186/5272 1014/3184/5273 1000/3099/5274 +f 998/3187/5275 1015/3186/5276 1000/3099/5277 +f 1016/3188/5278 1015/3186/5279 998/3189/5280 +f 996/3190/5281 1016/3191/5282 998/3192/5283 +f 1017/3193/5284 986/3194/5285 988/3195/5286 +f 985/3196/5287 986/3197/5288 1017/3198/5289 +f 1018/3199/5290 985/3200/5291 1017/3201/5292 +f 984/3202/5293 985/3203/5294 1018/3204/5295 +f 882/3205/5296 1018/3206/5297 851/3207/5298 +f 984/3208/5299 1018/3209/5300 882/3210/5301 +f 894/3211/5302 984/3212/5303 882/3213/5304 +f 826/3214/5305 984/3215/5306 894/3216/5307 +f 1020/3217/5308 1019/3218/5309 1014/3219/5310 +f 1021/3220/5311 1019/3221/5312 1020/3217/5313 +f 1022/3222/5314 1021/3220/5315 1020/3217/5316 +f 1023/3223/5317 1021/3220/5318 1022/3222/5319 +f 1026/3224/5320 1025/3225/5321 1024/3226/5322 +f 1027/3227/5323 1025/3228/5324 1026/3229/5325 +f 899/3230/5326 1027/3231/5327 1026/3232/5328 +f 1028/3233/5329 1027/3234/5330 899/3235/5331 +f 1024/3236/5332 1029/3237/5333 935/3238/5334 +f 1019/3239/5335 1029/3240/5336 1024/3241/5337 +f 1002/3242/5338 1019/3243/5339 1024/3244/5340 +f 1014/3219/5341 1019/3245/5342 1002/3246/5343 +f 1030/3247/5344 945/3248/5345 947/3249/5346 +f 943/3250/5347 945/3251/5348 1030/3252/5349 +f 941/3253/5350 943/3254/5351 1030/3255/5352 +f 894/3256/5353 921/3257/5354 893/3258/5355 +f 934/3259/5356 921/3260/5357 894/3261/5358 +f 935/3262/5359 934/3263/5360 894/3264/5361 +f 1026/3265/5362 882/3266/5363 899/3267/5364 +f 894/3268/5365 882/3269/5366 1026/3270/5367 +f 935/3271/5368 894/3272/5369 1026/3273/5370 +f 1011/3274/5371 1029/3275/5372 1010/3276/5373 +f 935/3277/5374 1029/3278/5375 1011/3279/5376 +f 927/3280/5377 935/3281/5378 1011/3282/5379 +f 1032/3283/5380 994/3089/5381 1031/3284/5382 +f 996/3285/5383 994/3089/5384 1032/3286/5385 +f 1016/3287/5386 996/3288/5387 1032/3289/5388 +f 1021/3220/5389 1029/3290/5390 1019/3291/5391 +f 1010/3292/5392 1029/3293/5393 1021/3220/5394 +f 1023/3223/5395 1010/3292/5396 1021/3220/5397 +f 1033/3294/5398 977/3295/5399 979/3296/5400 +f 975/3297/5401 977/3298/5402 1033/3299/5403 +f 973/3300/5404 975/3301/5405 1033/3302/5406 +f 1034/3303/5407 961/3304/5408 963/3305/5409 +f 959/3306/5410 961/3307/5411 1034/3308/5412 +f 957/3309/5413 959/3310/5414 1034/3311/5415 +f 1031/3312/5416 1023/3223/5417 1022/3313/5418 +f 994/3314/5419 1023/3223/5420 1031/3315/5421 +f 1022/3316/5422 1015/3186/5423 1031/3317/5424 +f 1020/3318/5425 1015/3186/5426 1022/3316/5427 +f 1011/3319/5428 928/3320/5429 927/3321/5430 +f 1012/3322/5431 928/3323/5432 1011/3324/5433 +f 1035/3325/5434 899/3326/5435 881/3327/5436 +f 1028/3328/5437 899/3329/5438 1035/3330/5439 +f 989/3331/5440 820/3332/5441 818/3333/5442 +f 987/3334/5443 820/3335/5444 989/3336/5445 +f 981/3337/5446 1033/3338/5447 979/3339/5448 +f 983/3340/5449 1033/3341/5450 981/3342/5451 +f 969/3343/5452 1033/3344/5453 983/3345/5454 +f 971/3346/5455 1033/3347/5456 969/3348/5457 +f 1003/3349/5458 1007/3350/5459 1006/3351/5460 +f 1009/3352/5461 1007/3353/5462 1003/3354/5463 +f 1032/3355/5464 1015/3186/5465 1016/3356/5466 +f 1031/3317/5467 1015/3186/5468 1032/3355/5469 +f 965/3357/5470 1034/3358/5471 963/3359/5472 +f 967/3360/5473 1034/3361/5474 965/3362/5475 +f 953/3363/5476 1034/3364/5477 967/3365/5478 +f 955/3366/5479 1034/3367/5480 953/3368/5481 +f 995/3369/5482 1023/3223/5483 994/3370/5484 +f 1010/3292/5485 1023/3223/5486 995/3369/5487 +f 1003/3371/5488 1025/3372/5489 1009/3373/5490 +f 1024/3374/5491 1025/3375/5492 1003/3376/5493 +f 949/3377/5494 1030/3378/5495 947/3379/5496 +f 951/3380/5497 1030/3381/5498 949/3382/5499 +f 937/3383/5500 1030/3384/5501 951/3385/5502 +f 939/3386/5503 1030/3387/5504 937/3388/5505 +f 1026/3389/5506 1024/3390/5507 935/3391/5508 +f 1035/3392/5509 881/3393/5510 1008/3394/5511 +f 1020/3318/5512 1014/3184/5513 1015/3186/5514 +f 991/3395/5515 992/3396/5516 881/3397/5517 +f 822/3398/5518 820/3399/5519 987/3400/5520 +f 1024/3401/5521 1003/3402/5522 1002/3403/5523 +f 1005/3404/5524 928/3405/5525 1012/3406/5526 +f 971/3407/5527 973/3408/5528 1033/3409/5529 +f 955/3410/5530 957/3411/5531 1034/3412/5532 +f 939/3413/5533 941/3414/5534 1030/3415/5535 +f 1038/3416/5536 1037/3417/5537 1036/3418/5538 +f 1039/3419/5539 1037/3420/5540 1038/3421/5541 +f 1040/3422/5542 1039/3423/5543 1038/3424/5544 +f 1041/3425/5545 1039/3426/5546 1040/3427/5547 +f 1042/3428/5548 1041/3429/5549 1040/3430/5550 +f 620/3431/5551 1041/3432/5552 1042/3433/5553 +f 618/3434/5554 620/3435/5555 1042/3436/5556 +f 1025/3437/5557 1043/3438/5558 1009/3439/5559 +f 1044/3440/5560 1043/3441/5561 1025/3442/5562 +f 1045/3443/5563 1044/3444/5564 1025/3445/5565 +f 1046/3446/5566 1044/3447/5567 1045/3448/5568 +f 1047/3449/5569 1046/3450/5570 1045/3451/5571 +f 1048/3452/5572 1046/3453/5573 1047/3454/5574 +f 1049/3455/5575 1048/3456/5576 1047/3457/5577 +f 1043/3458/5578 1008/3459/5579 1009/3460/5580 +f 1050/3461/5581 1008/3462/5582 1043/3463/5583 +f 1051/3464/5584 1050/3465/5585 1043/3466/5586 +f 1052/3467/5587 1050/3468/5588 1051/3469/5589 +f 1053/3470/5590 1052/3471/5591 1051/3472/5592 +f 1054/3473/5593 1052/3474/5594 1053/3475/5595 +f 627/1888/5596 1055/3476/5597 626/1886/5598 +f 1056/3477/5599 1055/3478/5600 627/1888/5601 +f 1057/3479/5602 1056/3480/5603 627/1888/5604 +f 1058/3481/5605 1056/3482/5606 1057/3483/5607 +f 1059/3484/5608 1058/3485/5609 1057/3486/5610 +f 1062/3487/5611 1061/3488/5612 1060/3489/5613 +f 1063/3490/5614 1061/3491/5615 1062/3492/5616 +f 1064/3493/5617 1063/3494/5618 1062/3495/5619 +f 628/1890/5620 1063/3496/5621 1064/3497/5622 +f 623/1846/5623 628/1890/5624 1064/3498/5625 +f 1064/3499/5626 620/3500/5627 623/1846/5628 +f 1041/3501/5629 620/3502/5630 1064/3503/5631 +f 1062/3504/5632 1041/3505/5633 1064/3506/5634 +f 1039/3507/5635 1041/3508/5636 1062/3509/5637 +f 1060/3510/5638 1039/3511/5639 1062/3512/5640 +f 1065/3513/5641 1046/3514/5642 1048/3515/5643 +f 1044/3516/5644 1046/3517/5645 1065/3518/5646 +f 1051/3519/5647 1044/3520/5648 1065/3521/5649 +f 1043/3522/5650 1044/3523/5651 1051/3524/5652 +f 1027/3525/5653 1045/3526/5654 1025/3527/5655 +f 1066/3528/5656 1045/3529/5657 1027/3530/5658 +f 1028/3531/5659 1066/3532/5660 1027/3533/5661 +f 1067/3534/5662 1066/3535/5663 1028/3536/5664 +f 1059/3537/5665 1036/3538/5666 1058/3539/5667 +f 1038/3540/5668 1036/3541/5669 1059/3542/5670 +f 1040/3543/5671 1038/3544/5672 1059/3545/5673 +f 1054/3546/5674 1048/3547/5675 1049/3548/5676 +f 1065/3549/5677 1048/3550/5678 1054/3551/5679 +f 1053/3552/5680 1065/3553/5681 1054/3554/5682 +f 1050/3555/5683 1035/3556/5684 1008/3557/5685 +f 1068/3558/5686 1035/3559/5687 1050/3560/5688 +f 1052/3561/5689 1068/3562/5690 1050/3563/5691 +f 1066/3564/5692 1047/3565/5693 1045/3566/5694 +f 1069/3567/5695 1047/3568/5696 1066/3569/5697 +f 1067/3570/5698 1069/3571/5699 1066/3572/5700 +f 1061/3573/5701 1058/3574/5702 1036/3575/5703 +f 1056/3576/5704 1058/3577/5705 1061/3578/5706 +f 1055/3579/5707 1056/3580/5708 1061/3581/5709 +f 1068/3582/5710 1028/3583/5711 1035/3584/5712 +f 1067/3585/5713 1028/3586/5714 1068/3587/5715 +f 1049/3588/5716 1052/3589/5717 1054/3590/5718 +f 1069/3591/5719 1052/3592/5720 1049/3593/5721 +f 1067/3594/5722 1052/3595/5723 1069/3596/5724 +f 1068/3597/5725 1052/3598/5726 1067/3599/5727 +f 618/3600/5728 1057/3601/5729 627/1888/5730 +f 1042/3602/5731 1057/3603/5732 618/3604/5733 +f 1042/3605/5734 1059/3606/5735 1057/3607/5736 +f 1040/3608/5737 1059/3609/5738 1042/3610/5739 +f 1037/3611/5740 1061/3612/5741 1036/3613/5742 +f 1060/3614/5743 1061/3615/5744 1037/3616/5745 +f 626/1891/5746 1063/3617/5747 628/1890/5748 +f 1055/3618/5749 1063/3619/5750 626/1891/5751 +f 1037/3620/5752 1039/3621/5753 1060/3622/5754 +f 1047/3623/5755 1069/3624/5756 1049/3625/5757 +f 1065/3626/5758 1053/3627/5759 1051/3628/5760 +f 1061/3629/5761 1063/3630/5762 1055/3631/5763 +f 1017/3632/5764 1070/3633/5765 1018/3634/5766 +f 1071/3635/5767 1070/3636/5768 1017/3637/5769 +f 1072/3638/5770 1071/3639/5771 1017/3640/5772 +f 1073/3641/5773 1071/3642/5774 1072/3643/5775 +f 1074/3644/5776 1073/3645/5777 1072/3646/5778 +f 1075/3647/5779 1073/3648/5780 1074/3649/5781 +f 1076/3650/5782 1075/3651/5783 1074/3652/5784 +f 1077/3653/5785 1075/3654/5786 1076/3650/5787 +f 1076/3655/5788 1078/3656/5789 1077/3657/5790 +f 1079/3658/5791 1078/3659/5792 1076/3660/5793 +f 1080/3661/5794 1079/3662/5795 1076/3663/5796 +f 1081/3664/5797 1079/3665/5798 1080/3666/5799 +f 1082/3667/5800 1081/3668/5801 1080/3669/5802 +f 883/3670/5803 1081/3671/5804 1082/3672/5805 +f 1085/3673/5806 1084/3674/5807 1083/3675/5808 +f 1086/3676/5809 1084/3677/5810 1085/3678/5811 +f 1087/3679/5812 1086/3680/5813 1085/3681/5814 +f 1078/3682/5815 1086/3683/5816 1087/3684/5817 +f 1077/3685/5818 1078/3686/5819 1087/3687/5820 +f 1083/3688/5821 1075/3689/5822 1085/3690/5823 +f 1088/3691/5824 1075/3692/5825 1083/3693/5826 +f 1089/3694/5827 1088/3695/5828 1083/3696/5829 +f 1071/3697/5830 1088/3698/5831 1089/3699/5832 +f 1070/3700/5833 1071/3701/5834 1089/3702/5835 +f 988/3703/5836 1072/3704/5837 1017/3705/5838 +f 1090/3706/5839 1072/3707/5840 988/3708/5841 +f 1091/3709/5842 1090/3710/5843 988/3711/5844 +f 1082/3712/5845 1090/3713/5846 1091/3714/5847 +f 883/3715/5848 1082/3712/5849 1091/3716/5850 +f 1070/3717/5851 1081/3718/5852 1018/3719/5853 +f 1092/3720/5854 1081/3721/5855 1070/3722/5856 +f 1089/3723/5857 1092/3724/5858 1070/3725/5859 +f 1084/3726/5860 1092/3727/5861 1089/3728/5862 +f 1083/3729/5863 1084/3730/5864 1089/3731/5865 +f 1092/3732/5866 1079/3733/5867 1081/3734/5868 +f 1093/3735/5869 1079/3736/5870 1092/3737/5871 +f 1084/3738/5872 1093/3739/5873 1092/3740/5874 +f 1086/3741/5875 1093/3742/5876 1084/3743/5877 +f 1080/3744/5878 1090/3745/5879 1082/3712/5880 +f 1074/3746/5881 1090/3747/5882 1080/3744/5883 +f 1076/3650/5884 1074/3748/5885 1080/3744/5886 +f 1087/3749/5887 1075/3750/5888 1077/3653/5889 +f 1085/3751/5890 1075/3752/5891 1087/3753/5892 +f 1091/3754/5893 1013/3755/5894 883/3756/5895 +f 988/3757/5896 1013/3758/5897 1091/3759/5898 +f 851/3760/5899 1081/3761/5900 883/3762/5901 +f 1018/3763/5902 1081/3764/5903 851/3765/5904 +f 1078/3766/5905 1093/3767/5906 1086/3768/5907 +f 1079/3769/5908 1093/3770/5909 1078/3771/5910 +f 1088/3772/5911 1073/3773/5912 1075/3774/5913 +f 1071/3775/5914 1073/3776/5915 1088/3777/5916 +f 1090/3778/5917 1074/3779/5918 1072/3780/5919 +f 1096/3781/5920 1095/3782/5921 1094/3783/5922 +f 1097/3784/5923 1095/3782/5924 1096/3781/5925 +f 1098/3785/5926 1097/3784/5927 1096/3781/5928 +f 1099/3786/5929 1097/3784/5930 1098/3785/5931 +f 1100/3787/5932 1099/3786/5933 1098/3785/5934 +f 1101/3788/5935 1099/3786/5936 1100/3787/5937 +f 1102/3789/5938 1101/3788/5939 1100/3787/5940 +f 1103/3790/5941 1101/3788/5942 1102/3789/5943 +f 1104/3791/5944 1103/3790/5945 1102/3789/5946 +f 1105/3792/5947 1103/3790/5948 1104/3791/5949 +f 1106/3793/5950 1105/3792/5951 1104/3791/5952 +f 1107/3794/5953 1105/3792/5954 1106/3793/5955 +f 1108/3795/5956 1107/3794/5957 1106/3793/5958 +f 1109/3796/5959 1107/3794/5960 1108/3795/5961 +f 1110/3797/5962 1109/3796/5963 1108/3795/5964 +f 1111/3798/5965 1109/3796/5966 1110/3797/5967 +f 1112/3799/5968 1111/3798/5969 1110/3797/5970 +f 1113/3800/5971 1111/3798/5972 1112/3799/5973 +f 1114/3801/5974 1113/3800/5975 1112/3799/5976 +f 1115/3802/5977 1113/3800/5978 1114/3801/5979 +f 1116/3803/5980 1115/3802/5981 1114/3801/5982 +f 1117/3804/5983 1115/3802/5984 1116/3803/5985 +f 1120/3805/5986 1119/3806/5987 1118/3807/5988 +f 1121/3808/5989 1119/3806/5990 1120/3805/5991 +f 1122/3809/5992 1121/3808/5993 1120/3805/5994 +f 1123/3810/5995 1121/3808/5996 1122/3809/5997 +f 1124/3811/5998 1123/3810/5999 1122/3809/6000 +f 1125/3812/6001 1123/3810/6002 1124/3811/6003 +f 1126/3813/6004 1125/3812/6005 1124/3811/6006 +f 1127/3814/6007 1125/3812/6008 1126/3813/6009 +f 1128/3815/6010 1127/3814/6011 1126/3813/6012 +f 1129/3816/6013 1127/3814/6014 1128/3815/6015 +f 1130/3817/6016 1129/3816/6017 1128/3815/6018 +f 1131/3818/6019 1129/3816/6020 1130/3817/6021 +f 1132/3819/6022 1131/3818/6023 1130/3817/6024 +f 1133/3820/6025 1131/3818/6026 1132/3819/6027 +f 1134/3821/6028 1133/3820/6029 1132/3819/6030 +f 1135/3822/6031 1133/3820/6032 1134/3821/6033 +f 1136/3823/6034 1135/3822/6035 1134/3821/6036 +f 1137/3824/6037 1135/3822/6038 1136/3823/6039 +f 1138/3825/6040 1137/3824/6041 1136/3823/6042 +f 1139/3826/6043 1137/3824/6044 1138/3825/6045 +f 1140/3827/6046 1139/3826/6047 1138/3825/6048 +f 1141/3828/6049 1139/3826/6050 1140/3827/6051 +f 1144/3829/6052 1143/3830/6053 1142/3831/6054 +f 1145/3832/6055 1143/3830/6056 1144/3829/6057 +f 1146/3833/6058 1145/3832/6059 1144/3829/6060 +f 1147/3834/6061 1145/3832/6062 1146/3835/6063 +f 1148/3836/6064 1147/3837/6065 1146/3838/6066 +f 1149/3839/6067 1147/3840/6068 1148/3836/6069 +f 1118/3807/6070 1149/3839/6071 1148/3836/6072 +f 1150/3841/6073 1149/3839/6074 1118/3807/6075 +f 1119/3806/6076 1150/3841/6077 1118/3807/6078 +f 1151/3842/6079 1150/3841/6080 1119/3806/6081 +f 1152/3843/6082 1151/3842/6083 1119/3806/6084 +f 1153/3844/6085 1151/3842/6086 1152/3843/6087 +f 1141/3845/6088 1153/3844/6089 1152/3843/6090 +f 1154/3846/6091 1153/3844/6092 1141/3847/6093 +f 1140/3827/6094 1154/3848/6095 1141/3849/6096 +f 1155/3850/6097 1154/3851/6098 1140/3827/6099 +f 1156/3852/6100 1155/3850/6101 1140/3827/6102 +f 1157/3853/6103 1155/3850/6104 1156/3852/6105 +f 1158/3854/6106 1157/3853/6107 1156/3852/6108 +f 1116/3855/6109 1094/3856/6110 1117/3857/6111 +f 1096/3858/6112 1094/3856/6113 1116/3855/6114 +f 1114/3859/6115 1096/3858/6116 1116/3855/6117 +f 1098/3860/6118 1096/3858/6119 1114/3859/6120 +f 1112/3861/6121 1098/3860/6122 1114/3859/6123 +f 1100/3862/6124 1098/3860/6125 1112/3861/6126 +f 1110/3863/6127 1100/3862/6128 1112/3861/6129 +f 1102/3864/6130 1100/3862/6131 1110/3863/6132 +f 1108/3865/6133 1102/3864/6134 1110/3863/6135 +f 1143/3830/6136 1101/3788/6137 1103/3790/6138 +f 1159/3866/6139 1101/3788/6140 1143/3830/6141 +f 1160/3867/6142 1159/3866/6143 1143/3830/6144 +f 1161/3868/6145 1159/3866/6146 1160/3869/6147 +f 1162/3870/6148 1161/3868/6149 1160/3871/6150 +f 1163/3872/6151 1161/3868/6152 1162/3870/6153 +f 1164/3873/6154 1163/3872/6155 1162/3870/6156 +f 1095/3782/6157 1163/3872/6158 1164/3873/6159 +f 1094/3783/6160 1095/3782/6161 1164/3873/6162 +f 1134/3821/6163 1165/3874/6164 1136/3823/6165 +f 1166/3875/6166 1165/3874/6167 1134/3821/6168 +f 1132/3819/6169 1166/3875/6170 1134/3821/6171 +f 1167/3876/6172 1166/3875/6173 1132/3819/6174 +f 1130/3817/6175 1167/3876/6176 1132/3819/6177 +f 1168/3877/6178 1167/3876/6179 1130/3817/6180 +f 1169/3878/6181 1168/3877/6182 1130/3817/6183 +f 1107/3794/6184 1168/3877/6185 1169/3878/6186 +f 1105/3792/6187 1107/3794/6188 1169/3878/6189 +f 1170/3879/6190 1155/3850/6191 1157/3853/6192 +f 1171/3880/6193 1155/3850/6194 1170/3879/6195 +f 1172/3881/6196 1171/3882/6197 1170/3879/6198 +f 1173/3883/6199 1171/3884/6200 1172/3885/6201 +f 1174/3886/6202 1173/3883/6203 1172/3887/6204 +f 1175/3888/6205 1173/3883/6206 1174/3886/6207 +f 1176/3889/6208 1175/3888/6209 1174/3886/6210 +f 1094/3783/6211 1175/3888/6212 1176/3889/6213 +f 1138/3825/6214 1156/3852/6215 1140/3827/6216 +f 1177/3890/6217 1156/3852/6218 1138/3825/6219 +f 1136/3823/6220 1177/3890/6221 1138/3825/6222 +f 1178/3891/6223 1177/3890/6224 1136/3823/6225 +f 1165/3874/6226 1178/3891/6227 1136/3823/6228 +f 1117/3804/6229 1178/3891/6230 1165/3874/6231 +f 1115/3802/6232 1117/3804/6233 1165/3874/6234 +f 1180/3892/6235 1158/3854/6236 1179/3893/6237 +f 1157/3853/6238 1158/3854/6239 1180/3892/6240 +f 1181/3894/6241 1157/3853/6242 1180/3892/6243 +f 1170/3879/6244 1157/3853/6245 1181/3894/6246 +f 1182/3895/6247 1170/3879/6248 1181/3894/6249 +f 1172/3896/6250 1170/3879/6251 1182/3895/6252 +f 1183/3897/6253 1172/3898/6254 1182/3895/6255 +f 1184/3899/6256 1135/3822/6257 1137/3824/6258 +f 1185/3900/6259 1135/3822/6260 1184/3899/6261 +f 1121/3808/6262 1185/3900/6263 1184/3899/6264 +f 1186/3901/6265 1185/3900/6266 1121/3808/6267 +f 1123/3810/6268 1186/3901/6269 1121/3808/6270 +f 1125/3812/6271 1186/3901/6272 1123/3810/6273 +f 1188/3902/6274 1151/3842/6275 1187/3903/6276 +f 1189/3904/6277 1151/3842/6278 1188/3902/6279 +f 1190/3905/6280 1189/3904/6281 1188/3902/6282 +f 1191/3906/6283 1189/3904/6284 1190/3905/6285 +f 1162/3870/6286 1191/3906/6287 1190/3905/6288 +f 1160/3907/6289 1191/3906/6290 1162/3870/6291 +f 1169/3878/6292 1142/3908/6293 1105/3792/6294 +f 1144/3829/6295 1142/3909/6296 1169/3878/6297 +f 1192/3910/6298 1144/3829/6299 1169/3878/6300 +f 1193/3911/6301 1144/3829/6302 1192/3912/6303 +f 1128/3815/6304 1193/3911/6305 1192/3913/6306 +f 1126/3813/6307 1193/3911/6308 1128/3815/6309 +f 1175/3888/6310 1187/3903/6311 1173/3883/6312 +f 1188/3902/6313 1187/3903/6314 1175/3888/6315 +f 1194/3914/6316 1188/3902/6317 1175/3888/6318 +f 1190/3905/6319 1188/3902/6320 1194/3914/6321 +f 1164/3873/6322 1190/3905/6323 1194/3914/6324 +f 1162/3870/6325 1190/3905/6326 1164/3873/6327 +f 1097/3784/6328 1163/3872/6329 1095/3782/6330 +f 1161/3868/6331 1163/3872/6332 1097/3784/6333 +f 1099/3786/6334 1161/3868/6335 1097/3784/6336 +f 1159/3866/6337 1161/3868/6338 1099/3786/6339 +f 1101/3788/6340 1159/3866/6341 1099/3786/6342 +f 1197/3915/6343 1196/3916/6344 1195/3917/6345 +f 1179/3918/6346 1196/3916/6347 1197/3915/6348 +f 1198/3919/6349 1179/3918/6350 1197/3915/6351 +f 1180/3920/6352 1179/3918/6353 1198/3919/6354 +f 1183/3921/6355 1180/3920/6356 1198/3919/6357 +f 1121/3808/6358 1152/3843/6359 1119/3806/6360 +f 1199/3922/6361 1152/3843/6362 1121/3808/6363 +f 1184/3899/6364 1199/3922/6365 1121/3808/6366 +f 1139/3826/6367 1199/3922/6368 1184/3899/6369 +f 1137/3824/6370 1139/3826/6371 1184/3899/6372 +f 1200/3923/6373 1178/3891/6374 1117/3804/6375 +f 1177/3890/6376 1178/3891/6377 1200/3923/6378 +f 1158/3854/6379 1177/3890/6380 1200/3923/6381 +f 1156/3852/6382 1177/3890/6383 1158/3854/6384 +f 1148/3836/6385 1126/3813/6386 1118/3807/6387 +f 1193/3911/6388 1126/3813/6389 1148/3836/6390 +f 1146/3924/6391 1193/3911/6392 1148/3836/6393 +f 1144/3829/6394 1193/3911/6395 1146/3925/6396 +f 1185/3900/6397 1133/3820/6398 1135/3822/6399 +f 1201/3926/6400 1133/3820/6401 1185/3900/6402 +f 1186/3901/6403 1201/3926/6404 1185/3900/6405 +f 1125/3812/6406 1201/3926/6407 1186/3901/6408 +f 1201/3926/6409 1131/3818/6410 1133/3820/6411 +f 1202/3927/6412 1131/3818/6413 1201/3926/6414 +f 1125/3812/6415 1202/3927/6416 1201/3926/6417 +f 1127/3814/6418 1202/3927/6419 1125/3812/6420 +f 1179/3893/6421 1117/3804/6422 1196/3928/6423 +f 1200/3923/6424 1117/3804/6425 1179/3893/6426 +f 1158/3854/6427 1200/3923/6428 1179/3893/6429 +f 1118/3807/6430 1122/3809/6431 1120/3805/6432 +f 1124/3811/6433 1122/3809/6434 1118/3807/6435 +f 1126/3813/6436 1124/3811/6437 1118/3807/6438 +f 1187/3903/6439 1154/3929/6440 1173/3883/6441 +f 1153/3844/6442 1154/3930/6443 1187/3903/6444 +f 1151/3842/6445 1153/3844/6446 1187/3903/6447 +f 1150/3841/6448 1191/3906/6449 1149/3839/6450 +f 1189/3904/6451 1191/3906/6452 1150/3841/6453 +f 1151/3842/6454 1189/3904/6455 1150/3841/6456 +f 1094/3783/6457 1197/3931/6458 1195/3932/6459 +f 1176/3889/6460 1197/3931/6461 1094/3783/6462 +f 1104/3933/6463 1108/3865/6464 1106/3934/6465 +f 1102/3864/6466 1108/3865/6467 1104/3933/6468 +f 1176/3889/6469 1198/3935/6470 1197/3931/6471 +f 1174/3886/6472 1198/3935/6473 1176/3889/6474 +f 1174/3886/6475 1183/3897/6476 1198/3935/6477 +f 1172/3936/6478 1183/3897/6479 1174/3886/6480 +f 1141/3937/6481 1199/3922/6482 1139/3826/6483 +f 1152/3843/6484 1199/3922/6485 1141/3938/6486 +f 1103/3790/6487 1142/3939/6488 1143/3940/6489 +f 1105/3792/6490 1142/3941/6491 1103/3790/6492 +f 1129/3816/6493 1202/3927/6494 1127/3814/6495 +f 1131/3818/6496 1202/3927/6497 1129/3816/6498 +f 1145/3832/6499 1160/3942/6500 1143/3830/6501 +f 1147/3943/6502 1160/3944/6503 1145/3832/6504 +f 1165/3874/6505 1113/3800/6506 1115/3802/6507 +f 1166/3875/6508 1113/3800/6509 1165/3874/6510 +f 1171/3945/6511 1154/3946/6512 1155/3850/6513 +f 1173/3883/6514 1154/3947/6515 1171/3948/6516 +f 1181/3949/6517 1183/3921/6518 1182/3950/6519 +f 1180/3920/6520 1183/3921/6521 1181/3949/6522 +f 1130/3817/6523 1192/3951/6524 1169/3878/6525 +f 1128/3815/6526 1192/3952/6527 1130/3817/6528 +f 1167/3876/6529 1109/3796/6530 1111/3798/6531 +f 1168/3877/6532 1109/3796/6533 1167/3876/6534 +f 1166/3875/6535 1111/3798/6536 1113/3800/6537 +f 1167/3876/6538 1111/3798/6539 1166/3875/6540 +f 1094/3783/6541 1194/3914/6542 1175/3888/6543 +f 1164/3873/6544 1194/3914/6545 1094/3783/6546 +f 1195/3917/6547 1117/3857/6548 1094/3856/6549 +f 1196/3916/6550 1117/3857/6551 1195/3917/6552 +f 1147/3953/6553 1191/3906/6554 1160/3954/6555 +f 1149/3839/6556 1191/3906/6557 1147/3955/6558 +f 1109/3796/6559 1168/3877/6560 1107/3794/6561 +f 1205/3956/6562 1204/3957/6563 1203/3958/6564 +f 1206/3959/6565 1204/3957/6566 1205/3956/6567 +f 1207/3960/6568 1206/3959/6569 1205/3956/6570 +f 1208/3961/6571 1206/3959/6572 1207/3960/6573 +f 1209/3962/6574 1208/3961/6575 1207/3960/6576 +f 1207/3960/6577 1210/3963/6578 1209/3962/6579 +f 1211/3964/6580 1210/3963/6581 1207/3960/6582 +f 1212/3965/6583 1211/3964/6584 1207/3960/6585 +f 1213/3966/6586 1211/3964/6587 1212/3967/6588 +f 1207/3960/6589 1214/3968/6590 1212/3969/6591 +f 1215/3970/6592 1214/3971/6593 1207/3960/6594 +f 1216/3972/6595 1215/3973/6596 1207/3960/6597 +f 1217/3974/6598 1205/3956/6599 1203/3958/6600 +f 1216/3975/6601 1205/3956/6602 1217/3976/6603 +f 1218/3977/6604 1211/3964/6605 1213/3966/6606 +f 1219/3978/6607 1211/3964/6608 1218/3977/6609 +f 1210/3963/6610 1211/3964/6611 1219/3979/6612 +f 1205/3956/6613 1216/3980/6614 1207/3960/6615 +f 1220/3981/6616 1216/3982/6617 1217/3983/6618 +f 1215/3984/6619 1216/3985/6620 1220/3981/6621 +f 1221/3986/6622 1215/3987/6623 1220/3981/6624 +f 1214/3988/6625 1215/3989/6626 1221/3986/6627 +f 1222/3990/6628 1214/3991/6629 1221/3986/6630 +f 1223/3992/6631 1214/3993/6632 1222/3990/6633 +f 1224/3994/6634 1223/3992/6635 1222/3990/6636 +f 1213/3966/6637 1223/3992/6638 1224/3994/6639 +f 1219/3995/6640 1226/3996/6641 1225/3997/6642 +f 1227/3998/6643 1226/3996/6644 1219/3999/6645 +f 1218/3977/6646 1227/3998/6647 1219/4000/6648 +f 1228/4001/6649 1227/3998/6650 1218/3977/6651 +f 1203/3958/6652 1228/4001/6653 1218/3977/6654 +f 1229/4002/6655 1226/3996/6656 1227/3998/6657 +f 1230/4003/6658 1226/3996/6659 1229/4002/6660 +f 1231/4004/6661 1230/4005/6662 1229/4002/6663 +f 1209/3962/6664 1230/4006/6665 1231/4007/6666 +f 1230/4008/6667 1225/4009/6668 1226/3996/6669 +f 1232/4010/6670 1225/4011/6671 1230/4012/6672 +f 1209/3962/6673 1232/4013/6674 1230/4014/6675 +f 1210/3963/6676 1232/4015/6677 1209/3962/6678 +f 1233/4016/6679 1222/3990/6680 1221/3986/6681 +f 1234/4017/6682 1222/3990/6683 1233/4018/6684 +f 1235/4019/6685 1234/4020/6686 1233/4021/6687 +f 1218/3977/6688 1236/4022/6689 1203/3958/6690 +f 1235/4023/6691 1236/4024/6692 1218/3977/6693 +f 1213/3966/6694 1235/4025/6695 1218/3977/6696 +f 1206/3959/6697 1237/4026/6698 1204/3957/6699 +f 1208/3961/6700 1237/4027/6701 1206/3959/6702 +f 1223/3992/6703 1212/4028/6704 1214/4029/6705 +f 1213/3966/6706 1212/4030/6707 1223/3992/6708 +f 1234/4031/6709 1213/3966/6710 1224/3994/6711 +f 1235/4032/6712 1213/3966/6713 1234/4033/6714 +f 1208/3961/6715 1231/4034/6716 1237/4035/6717 +f 1209/3962/6718 1231/4036/6719 1208/3961/6720 +f 1232/4037/6721 1219/4038/6722 1225/4039/6723 +f 1210/3963/6724 1219/4040/6725 1232/4041/6726 +f 1203/3958/6727 1204/3957/6728 1228/4001/6729 +f 1203/3958/6730 1236/4042/6731 1217/4043/6732 +f 1234/4044/6733 1224/3994/6734 1222/3990/6735 +f 1238/4045/6736 1217/4046/6737 1236/4047/6738 +f 1239/4048/6739 1217/4049/6740 1238/4045/6741 +f 1240/4050/6742 1239/4048/6743 1238/4045/6744 +f 1241/4051/6745 1239/4048/6746 1240/4050/6747 +f 1242/4052/6748 1241/4051/6749 1240/4050/6750 +f 1243/4053/6751 1241/4051/6752 1242/4052/6753 +f 1244/4054/6754 1243/4053/6755 1242/4052/6756 +f 1245/4055/6757 1243/4053/6758 1244/4054/6759 +f 1246/4056/6760 1245/4055/6761 1244/4054/6762 +f 1247/4057/6763 1245/4055/6764 1246/4056/6765 +f 1248/4058/6766 1247/4057/6767 1246/4056/6768 +f 1249/4059/6769 1247/4057/6770 1248/4058/6771 +f 1250/4060/6772 1249/4059/6773 1248/4058/6774 +f 1251/4061/6775 1249/4059/6776 1250/4060/6777 +f 1252/4062/6778 1251/4061/6779 1250/4060/6780 +f 1253/4063/6781 1251/4061/6782 1252/4062/6783 +f 1254/4064/6784 1253/4063/6785 1252/4062/6786 +f 1255/4065/6787 1253/4063/6788 1254/4064/6789 +f 1204/3957/6790 1256/4066/6791 1228/4001/6792 +f 1257/4067/6793 1256/4068/6794 1204/3957/6795 +f 1237/4069/6796 1257/4070/6797 1204/3957/6798 +f 1258/4071/6799 1257/4072/6800 1237/4073/6801 +f 1231/4074/6802 1258/4071/6803 1237/4075/6804 +f 1259/4076/6805 1258/4071/6806 1231/4077/6807 +f 1260/4078/6808 1259/4076/6809 1231/4079/6810 +f 1261/4080/6811 1259/4076/6812 1260/4078/6813 +f 1262/4081/6814 1261/4082/6815 1260/4078/6816 +f 1263/4083/6817 1261/4084/6818 1262/4081/6819 +f 1264/4085/6820 1263/4086/6821 1262/4081/6822 +f 1265/4087/6823 1263/4088/6824 1264/4089/6825 +f 1268/4090/6826 1267/4091/6827 1266/4092/6828 +f 1269/4093/6829 1267/4094/6830 1268/4095/6831 +f 1270/4096/6832 1269/4097/6833 1268/4098/6834 +f 1271/4099/6835 1269/4100/6836 1270/4096/6837 +f 1261/4101/6838 1271/4099/6839 1270/4096/6840 +f 1272/4102/6841 1271/4099/6842 1261/4103/6843 +f 1273/4104/6844 1272/4105/6845 1261/4106/6846 +f 1274/4107/6847 1272/4108/6848 1273/4109/6849 +f 1275/4110/6850 1274/4111/6851 1273/4112/6852 +f 1276/4113/6853 1274/4114/6854 1275/4110/6855 +f 1277/4115/6856 1276/4113/6857 1275/4110/6858 +f 1278/4116/6859 1276/4113/6860 1277/4115/6861 +f 1252/4062/6862 1279/4117/6863 1254/4064/6864 +f 1280/4118/6865 1279/4117/6866 1252/4062/6867 +f 1250/4060/6868 1280/4118/6869 1252/4062/6870 +f 1281/4119/6871 1280/4118/6872 1250/4060/6873 +f 1248/4058/6874 1281/4120/6875 1250/4060/6876 +f 1282/4121/6877 1281/4122/6878 1248/4058/6879 +f 1246/4056/6880 1282/4123/6881 1248/4058/6882 +f 1283/4124/6883 1282/4125/6884 1246/4056/6885 +f 1239/4048/6886 1220/3981/6887 1217/4126/6888 +f 1284/4127/6889 1220/3981/6890 1239/4048/6891 +f 1241/4051/6892 1284/4128/6893 1239/4048/6894 +f 1285/4129/6895 1284/4130/6896 1241/4051/6897 +f 1243/4053/6898 1285/4131/6899 1241/4051/6900 +f 1286/4132/6901 1285/4133/6902 1243/4053/6903 +f 1245/4055/6904 1286/4134/6905 1243/4053/6906 +f 1247/4057/6907 1286/4135/6908 1245/4055/6909 +f 1251/4061/6910 1285/4136/6911 1286/4137/6912 +f 1287/4138/6913 1285/4139/6914 1251/4061/6915 +f 1288/4140/6916 1287/4141/6917 1251/4061/6918 +f 1221/3986/6919 1287/4142/6920 1288/4143/6921 +f 1289/4144/6922 1221/3986/6923 1288/4145/6924 +f 1233/4146/6925 1221/3986/6926 1289/4144/6927 +f 1235/4147/6928 1233/4148/6929 1289/4144/6930 +f 1289/4144/6931 1290/4149/6932 1235/4150/6933 +f 1291/4151/6934 1290/4149/6935 1289/4144/6936 +f 1288/4152/6937 1291/4151/6938 1289/4144/6939 +f 1292/4153/6940 1291/4151/6941 1288/4154/6942 +f 1251/4061/6943 1292/4155/6944 1288/4156/6945 +f 1253/4063/6946 1292/4157/6947 1251/4061/6948 +f 1257/4158/6949 1266/4159/6950 1256/4160/6951 +f 1268/4161/6952 1266/4162/6953 1257/4163/6954 +f 1258/4071/6955 1268/4164/6956 1257/4165/6957 +f 1270/4096/6958 1268/4166/6959 1258/4071/6960 +f 1259/4076/6961 1270/4096/6962 1258/4071/6963 +f 1261/4167/6964 1270/4096/6965 1259/4076/6966 +f 1275/4110/6967 1293/4168/6968 1277/4115/6969 +f 1294/4169/6970 1293/4168/6971 1275/4110/6972 +f 1273/4170/6973 1294/4171/6974 1275/4110/6975 +f 1295/4172/6976 1294/4173/6977 1273/4174/6978 +f 1261/4175/6979 1295/4176/6980 1273/4177/6981 +f 1263/4178/6982 1295/4179/6983 1261/4180/6984 +f 1262/4081/6985 1296/4181/6986 1264/4182/6987 +f 1297/4183/6988 1296/4181/6989 1262/4081/6990 +f 1260/4078/6991 1297/4184/6992 1262/4081/6993 +f 1298/4185/6994 1297/4186/6995 1260/4078/6996 +f 1231/4187/6997 1298/4188/6998 1260/4078/6999 +f 1229/4002/7000 1298/4189/7001 1231/4190/7002 +f 1254/4064/7003 1299/4191/7004 1255/4065/7005 +f 1240/4050/7006 1299/4192/7007 1254/4064/7008 +f 1300/4193/7009 1240/4050/7010 1254/4064/7011 +f 1242/4052/7012 1240/4050/7013 1300/4194/7014 +f 1244/4054/7015 1242/4052/7016 1300/4195/7017 +f 1265/4196/7018 1293/4168/7019 1301/4197/7020 +f 1266/4198/7021 1293/4168/7022 1265/4199/7023 +f 1296/4181/7024 1266/4200/7025 1265/4201/7026 +f 1256/4202/7027 1266/4203/7028 1296/4181/7029 +f 1228/4001/7030 1256/4204/7031 1296/4181/7032 +f 1302/4205/7033 1282/4206/7034 1283/4207/7035 +f 1281/4208/7036 1282/4209/7037 1302/4210/7038 +f 1300/4211/7039 1281/4212/7040 1302/4213/7041 +f 1280/4118/7042 1281/4214/7043 1300/4215/7044 +f 1279/4117/7045 1280/4118/7046 1300/4216/7047 +f 1303/4217/7048 1276/4113/7049 1278/4116/7050 +f 1274/4218/7051 1276/4113/7052 1303/4219/7053 +f 1304/4220/7054 1274/4221/7055 1303/4222/7056 +f 1272/4223/7057 1274/4224/7058 1304/4225/7059 +f 1271/4099/7060 1272/4226/7061 1304/4227/7062 +f 1269/4228/7063 1305/4229/7064 1267/4230/7065 +f 1306/4231/7066 1305/4232/7067 1269/4233/7068 +f 1271/4099/7069 1306/4234/7070 1269/4235/7071 +f 1304/4236/7072 1306/4237/7073 1271/4099/7074 +f 1299/4238/7075 1235/4239/7076 1290/4149/7077 +f 1236/4240/7078 1235/4241/7079 1299/4242/7080 +f 1238/4045/7081 1236/4243/7082 1299/4244/7083 +f 1283/4245/7084 1300/4246/7085 1302/4247/7086 +f 1244/4054/7087 1300/4248/7088 1283/4249/7089 +f 1246/4056/7090 1244/4054/7091 1283/4250/7092 +f 1278/4116/7093 1305/4251/7094 1303/4252/7095 +f 1293/4168/7096 1305/4253/7097 1278/4116/7098 +f 1277/4115/7099 1293/4168/7100 1278/4116/7101 +f 1284/4254/7102 1221/3986/7103 1220/3981/7104 +f 1287/4255/7105 1221/3986/7106 1284/4256/7107 +f 1285/4257/7108 1287/4258/7109 1284/4259/7110 +f 1227/3998/7111 1296/4181/7112 1307/4260/7113 +f 1228/4001/7114 1296/4181/7115 1227/3998/7116 +f 1293/4168/7117 1267/4261/7118 1305/4262/7119 +f 1266/4263/7120 1267/4264/7121 1293/4168/7122 +f 1249/4059/7123 1286/4265/7124 1247/4057/7125 +f 1251/4061/7126 1286/4266/7127 1249/4059/7128 +f 1255/4065/7129 1292/4267/7130 1253/4063/7131 +f 1299/4268/7132 1292/4269/7133 1255/4065/7134 +f 1299/4270/7135 1291/4151/7136 1292/4271/7137 +f 1290/4149/7138 1291/4151/7139 1299/4272/7140 +f 1303/4273/7141 1306/4274/7142 1304/4275/7143 +f 1305/4276/7144 1306/4277/7145 1303/4278/7146 +f 1294/4279/7147 1301/4280/7148 1293/4168/7149 +f 1295/4281/7150 1301/4282/7151 1294/4283/7152 +f 1265/4284/7153 1295/4285/7154 1263/4286/7155 +f 1301/4287/7156 1295/4288/7157 1265/4289/7158 +f 1297/4290/7159 1307/4291/7160 1296/4181/7161 +f 1298/4292/7162 1307/4293/7163 1297/4294/7164 +f 1227/3998/7165 1298/4295/7166 1229/4002/7167 +f 1307/4296/7168 1298/4297/7169 1227/3998/7170 +f 1254/4064/7171 1279/4117/7172 1300/4298/7173 +f 1265/4299/7174 1264/4300/7175 1296/4181/7176 +f 1240/4050/7177 1238/4045/7178 1299/4301/7179 +f 1310/4302/7180 1309/4303/7181 1308/4304/7182 +f 1311/4305/7183 1309/4303/7184 1310/4302/7185 +f 1312/4306/7186 1311/4305/7187 1310/4302/7188 +f 1313/4307/7189 1311/4305/7190 1312/4306/7191 +f 1314/4308/7192 1313/4307/7193 1312/4306/7194 +f 1315/4309/7195 1313/4307/7196 1314/4308/7197 +f 1316/4310/7198 1315/4309/7199 1314/4308/7200 +f 1317/4311/7201 1315/4309/7202 1316/4310/7203 +f 1318/4312/7204 1317/4311/7205 1316/4310/7206 +f 1319/4313/7207 1317/4311/7208 1318/4312/7209 +f 1320/4314/7210 1319/4313/7211 1318/4312/7212 +f 1321/4315/7213 1319/4313/7214 1320/4314/7215 +f 1322/4316/7216 1321/4315/7217 1320/4314/7218 +f 1323/4317/7219 1321/4315/7220 1322/4316/7221 +f 1324/4318/7222 1323/4317/7223 1322/4316/7224 +f 1325/4319/7225 1323/4317/7226 1324/4318/7227 +f 1326/4320/7228 1325/4319/7229 1324/4318/7230 +f 1327/4321/7231 1325/4319/7232 1326/4320/7233 +f 1328/4322/7234 1327/4321/7235 1326/4320/7236 +f 1329/4323/7237 1327/4321/7238 1328/4322/7239 +f 1330/4324/7240 1329/4323/7241 1328/4322/7242 +f 1331/4325/7243 1329/4323/7244 1330/4324/7245 +f 1332/4326/7246 1331/4325/7247 1330/4324/7248 +f 1333/4327/7249 1331/4325/7250 1332/4326/7251 +f 1334/4328/7252 1333/4327/7253 1332/4326/7254 +f 1309/4303/7255 1335/4329/7256 1308/4304/7257 +f 1336/4330/7258 1335/4329/7259 1309/4303/7260 +f 1311/4305/7261 1336/4330/7262 1309/4303/7263 +f 1337/4331/7264 1336/4330/7265 1311/4305/7266 +f 1313/4307/7267 1337/4331/7268 1311/4305/7269 +f 1338/4332/7270 1337/4331/7271 1313/4307/7272 +f 1315/4309/7273 1338/4332/7274 1313/4307/7275 +f 1339/4333/7276 1338/4332/7277 1315/4309/7278 +f 1317/4311/7279 1339/4333/7280 1315/4309/7281 +f 1340/4334/7282 1339/4333/7283 1317/4311/7284 +f 1319/4313/7285 1340/4334/7286 1317/4311/7287 +f 1341/4335/7288 1340/4334/7289 1319/4313/7290 +f 1321/4315/7291 1341/4335/7292 1319/4313/7293 +f 1342/4336/7294 1341/4335/7295 1321/4315/7296 +f 1323/4317/7297 1342/4336/7298 1321/4315/7299 +f 1343/4337/7300 1342/4336/7301 1323/4317/7302 +f 1325/4319/7303 1343/4337/7304 1323/4317/7305 +f 1344/4338/7306 1343/4337/7307 1325/4319/7308 +f 1327/4321/7309 1344/4338/7310 1325/4319/7311 +f 1345/4339/7312 1344/4338/7313 1327/4321/7314 +f 1329/4323/7315 1345/4339/7316 1327/4321/7317 +f 1331/4325/7318 1345/4339/7319 1329/4323/7320 +f 1348/4340/7321 1347/4341/7322 1346/4342/7323 +f 1349/4343/7324 1347/4341/7325 1348/4340/7326 +f 1350/4344/7327 1349/4343/7328 1348/4340/7329 +f 1351/4345/7330 1349/4343/7331 1350/4344/7332 +f 1352/4346/7333 1351/4345/7334 1350/4344/7335 +f 1353/4347/7336 1351/4345/7337 1352/4346/7338 +f 1354/4348/7339 1353/4347/7340 1352/4346/7341 +f 1355/4349/7342 1353/4347/7343 1354/4348/7344 +f 1356/4350/7345 1355/4349/7346 1354/4348/7347 +f 1357/4351/7348 1355/4349/7349 1356/4350/7350 +f 1358/4352/7351 1357/4351/7352 1356/4350/7353 +f 1359/4353/7354 1357/4351/7355 1358/4352/7356 +f 1360/4354/7357 1359/4353/7358 1358/4352/7359 +f 1361/4355/7360 1359/4353/7361 1360/4354/7362 +f 1362/4356/7363 1361/4355/7364 1360/4354/7365 +f 1312/4306/7366 1361/4355/7367 1362/4356/7368 +f 1314/4308/7369 1312/4306/7370 1362/4356/7371 +f 1363/4357/7372 1310/4302/7373 1308/4304/7374 +f 1364/4358/7375 1310/4302/7376 1363/4357/7377 +f 1365/4359/7378 1364/4358/7379 1363/4357/7380 +f 1366/4360/7381 1364/4358/7382 1365/4359/7383 +f 1367/4361/7384 1366/4360/7385 1365/4359/7386 +f 1368/4362/7387 1366/4360/7388 1367/4361/7389 +f 1369/4363/7390 1368/4362/7391 1367/4361/7392 +f 1347/4341/7393 1368/4362/7394 1369/4363/7395 +f 1370/4364/7396 1347/4341/7397 1369/4363/7398 +f 1346/4342/7399 1347/4341/7400 1370/4365/7401 +f 1371/4366/7402 1346/4342/7403 1370/4367/7404 +f 1372/4368/7405 1346/4342/7406 1371/4366/7407 +f 1373/4369/7408 1372/4368/7409 1371/4366/7410 +f 1332/4326/7411 1372/4368/7412 1373/4369/7413 +f 1334/4328/7414 1332/4326/7415 1373/4369/7416 +f 1373/4369/7417 1374/4370/7418 1334/4328/7419 +f 1375/4371/7420 1374/4370/7421 1373/4369/7422 +f 1371/4366/7423 1375/4371/7424 1373/4369/7425 +f 1376/4372/7426 1375/4371/7427 1371/4366/7428 +f 1377/4373/7429 1376/4372/7430 1371/4366/7431 +f 1378/4374/7432 1376/4372/7433 1377/4373/7434 +f 1379/4375/7435 1378/4376/7436 1377/4373/7437 +f 1380/4377/7438 1378/4378/7439 1379/4379/7440 +f 1365/4359/7441 1380/4380/7442 1379/4381/7443 +f 1381/4382/7444 1380/4383/7445 1365/4359/7446 +f 1363/4357/7447 1381/4382/7448 1365/4359/7449 +f 1308/4304/7450 1381/4382/7451 1363/4357/7452 +f 1384/4384/7453 1383/4385/7454 1382/4386/7455 +f 1385/4387/7456 1383/4385/7457 1384/4384/7458 +f 1386/4388/7459 1385/4389/7460 1384/4384/7461 +f 1387/4390/7462 1385/4391/7463 1386/4388/7464 +f 1388/4392/7465 1387/4390/7466 1386/4388/7467 +f 1374/4370/7468 1387/4390/7469 1388/4392/7470 +f 1389/4393/7471 1374/4370/7472 1388/4392/7473 +f 1334/4328/7474 1374/4370/7475 1389/4393/7476 +f 1390/4394/7477 1334/4328/7478 1389/4393/7479 +f 1333/4327/7480 1334/4328/7481 1390/4394/7482 +f 1391/4395/7483 1333/4327/7484 1390/4394/7485 +f 1392/4396/7486 1350/4344/7487 1348/4340/7488 +f 1352/4346/7489 1350/4344/7490 1392/4396/7491 +f 1393/4397/7492 1352/4346/7493 1392/4396/7494 +f 1394/4398/7495 1352/4346/7496 1393/4397/7497 +f 1395/4399/7498 1394/4398/7499 1393/4397/7500 +f 1396/4400/7501 1394/4398/7502 1395/4399/7503 +f 1397/4401/7504 1396/4400/7505 1395/4399/7506 +f 1398/4402/7507 1396/4400/7508 1397/4401/7509 +f 1322/4316/7510 1398/4402/7511 1397/4401/7512 +f 1320/4314/7513 1398/4402/7514 1322/4316/7515 +f 1335/4403/7516 1331/4404/7517 1308/4405/7518 +f 1345/4406/7519 1331/4404/7520 1335/4403/7521 +f 1336/4407/7522 1345/4406/7523 1335/4403/7524 +f 1344/4408/7525 1345/4406/7526 1336/4407/7527 +f 1337/4409/7528 1344/4408/7529 1336/4407/7530 +f 1343/4410/7531 1344/4408/7532 1337/4409/7533 +f 1338/4411/7534 1343/4410/7535 1337/4409/7536 +f 1342/4412/7537 1343/4410/7538 1338/4411/7539 +f 1339/4413/7540 1342/4412/7541 1338/4411/7542 +f 1399/4414/7543 1381/4382/7544 1308/4304/7545 +f 1380/4415/7546 1381/4382/7547 1399/4414/7548 +f 1383/4385/7549 1380/4416/7550 1399/4414/7551 +f 1378/4417/7552 1380/4418/7553 1383/4385/7554 +f 1385/4419/7555 1378/4420/7556 1383/4385/7557 +f 1376/4372/7558 1378/4421/7559 1385/4422/7560 +f 1387/4390/7561 1376/4372/7562 1385/4423/7563 +f 1375/4371/7564 1376/4372/7565 1387/4390/7566 +f 1374/4370/7567 1375/4371/7568 1387/4390/7569 +f 1318/4312/7570 1398/4402/7571 1320/4314/7572 +f 1400/4424/7573 1398/4402/7574 1318/4312/7575 +f 1401/4425/7576 1400/4426/7577 1318/4312/7578 +f 1402/4427/7579 1400/4428/7580 1401/4425/7581 +f 1403/4429/7582 1402/4427/7583 1401/4425/7584 +f 1404/4430/7585 1402/4427/7586 1403/4429/7587 +f 1405/4431/7588 1404/4432/7589 1403/4429/7590 +f 1356/4350/7591 1404/4433/7592 1405/4434/7593 +f 1358/4352/7594 1356/4350/7595 1405/4435/7596 +f 1391/4436/7597 1407/4437/7598 1406/4438/7599 +f 1382/4439/7600 1407/4437/7601 1391/4436/7602 +f 1390/4440/7603 1382/4439/7604 1391/4436/7605 +f 1384/4441/7606 1382/4439/7607 1390/4440/7608 +f 1389/4442/7609 1384/4441/7610 1390/4440/7611 +f 1386/4443/7612 1384/4441/7613 1389/4442/7614 +f 1408/4444/7615 1392/4396/7616 1348/4340/7617 +f 1409/4445/7618 1392/4396/7619 1408/4444/7620 +f 1410/4446/7621 1409/4445/7622 1408/4444/7623 +f 1411/4447/7624 1409/4445/7625 1410/4446/7626 +f 1330/4324/7627 1411/4447/7628 1410/4446/7629 +f 1328/4322/7630 1411/4447/7631 1330/4324/7632 +f 1379/4448/7633 1367/4361/7634 1365/4359/7635 +f 1369/4363/7636 1367/4361/7637 1379/4449/7638 +f 1377/4373/7639 1369/4363/7640 1379/4450/7641 +f 1370/4451/7642 1369/4363/7643 1377/4373/7644 +f 1371/4366/7645 1370/4452/7646 1377/4373/7647 +f 1409/4445/7648 1393/4397/7649 1392/4396/7650 +f 1395/4399/7651 1393/4397/7652 1409/4445/7653 +f 1412/4453/7654 1395/4399/7655 1409/4445/7656 +f 1397/4401/7657 1395/4399/7658 1412/4454/7659 +f 1322/4316/7660 1397/4401/7661 1412/4455/7662 +f 1349/4343/7663 1368/4362/7664 1347/4341/7665 +f 1413/4456/7666 1368/4362/7667 1349/4343/7668 +f 1357/4351/7669 1413/4456/7670 1349/4343/7671 +f 1359/4353/7672 1413/4456/7673 1357/4351/7674 +f 1362/4356/7675 1401/4425/7676 1314/4308/7677 +f 1414/4457/7678 1401/4425/7679 1362/4356/7680 +f 1360/4354/7681 1414/4457/7682 1362/4356/7683 +f 1358/4352/7684 1414/4457/7685 1360/4354/7686 +f 1394/4398/7687 1415/4458/7688 1352/4346/7689 +f 1416/4459/7690 1415/4458/7691 1394/4398/7692 +f 1396/4400/7693 1416/4459/7694 1394/4398/7695 +f 1398/4402/7696 1416/4459/7697 1396/4400/7698 +f 1382/4386/7699 1308/4304/7700 1407/4460/7701 +f 1399/4414/7702 1308/4304/7703 1382/4386/7704 +f 1383/4385/7705 1399/4414/7706 1382/4386/7707 +f 1349/4343/7708 1355/4349/7709 1357/4351/7710 +f 1353/4347/7711 1355/4349/7712 1349/4343/7713 +f 1351/4345/7714 1353/4347/7715 1349/4343/7716 +f 1411/4447/7717 1412/4461/7718 1409/4445/7719 +f 1326/4320/7720 1412/4462/7721 1411/4447/7722 +f 1328/4322/7723 1326/4320/7724 1411/4447/7725 +f 1410/4446/7726 1332/4326/7727 1330/4324/7728 +f 1372/4368/7729 1332/4326/7730 1410/4446/7731 +f 1408/4444/7732 1372/4368/7733 1410/4446/7734 +f 1415/4458/7735 1354/4348/7736 1352/4346/7737 +f 1356/4350/7738 1354/4348/7739 1415/4458/7740 +f 1404/4463/7741 1356/4350/7742 1415/4458/7743 +f 1406/4438/7744 1308/4405/7745 1331/4404/7746 +f 1407/4437/7747 1308/4405/7748 1406/4438/7749 +f 1405/4464/7750 1414/4457/7751 1358/4352/7752 +f 1403/4429/7753 1414/4457/7754 1405/4465/7755 +f 1413/4456/7756 1366/4360/7757 1368/4362/7758 +f 1359/4353/7759 1366/4360/7760 1413/4456/7761 +f 1346/4342/7762 1408/4444/7763 1348/4340/7764 +f 1372/4368/7765 1408/4444/7766 1346/4342/7767 +f 1359/4353/7768 1364/4358/7769 1366/4360/7770 +f 1361/4355/7771 1364/4358/7772 1359/4353/7773 +f 1361/4355/7774 1310/4302/7775 1364/4358/7776 +f 1312/4306/7777 1310/4302/7778 1361/4355/7779 +f 1412/4466/7780 1324/4318/7781 1322/4316/7782 +f 1326/4320/7783 1324/4318/7784 1412/4467/7785 +f 1331/4325/7786 1391/4395/7787 1406/4468/7788 +f 1333/4327/7789 1391/4395/7790 1331/4325/7791 +f 1341/4469/7792 1339/4413/7793 1340/4470/7794 +f 1342/4412/7795 1339/4413/7796 1341/4469/7797 +f 1316/4310/7798 1401/4425/7799 1318/4312/7800 +f 1314/4308/7801 1401/4425/7802 1316/4310/7803 +f 1415/4458/7804 1402/4427/7805 1404/4471/7806 +f 1416/4459/7807 1402/4427/7808 1415/4458/7809 +f 1416/4459/7810 1400/4472/7811 1402/4427/7812 +f 1398/4402/7813 1400/4473/7814 1416/4459/7815 +f 1389/4474/7816 1388/4475/7817 1386/4476/7818 +f 1414/4457/7819 1403/4429/7820 1401/4425/7821 +f 1419/4477/7822 1418/4478/7823 1417/4479/7824 +f 1420/4480/7825 1418/4478/7826 1419/4477/7827 +f 1421/4481/7828 1420/4480/7829 1419/4477/7830 +f 1422/4482/7831 1420/4480/7832 1421/4481/7833 +f 1423/4483/7834 1422/4482/7835 1421/4481/7836 +f 1424/4484/7837 1422/4482/7838 1423/4483/7839 +f 1425/4485/7840 1424/4484/7841 1423/4483/7842 +f 1426/4486/7843 1424/4484/7844 1425/4485/7845 +f 1427/4487/7846 1426/4486/7847 1425/4485/7848 +f 1428/4488/7849 1426/4486/7850 1427/4487/7851 +f 1429/4489/7852 1428/4488/7853 1427/4487/7854 +f 1430/4490/7855 1428/4488/7856 1429/4489/7857 +f 1431/4491/7858 1430/4490/7859 1429/4489/7860 +f 1432/4492/7861 1430/4490/7862 1431/4491/7863 +f 1433/4493/7864 1432/4492/7865 1431/4491/7866 +f 1434/4494/7867 1432/4492/7868 1433/4495/7869 +f 1435/4496/7870 1434/4494/7871 1433/4497/7872 +f 1436/4498/7873 1434/4494/7874 1435/4496/7875 +f 1437/4499/7876 1436/4498/7877 1435/4496/7878 +f 1438/4500/7879 1436/4498/7880 1437/4499/7881 +f 1439/4501/7882 1438/4500/7883 1437/4499/7884 +f 1440/4502/7885 1438/4500/7886 1439/4501/7887 +f 1441/4503/7888 1440/4502/7889 1439/4501/7890 +f 1442/4504/7891 1440/4502/7892 1441/4503/7893 +f 1443/4505/7894 1442/4504/7895 1441/4503/7896 +f 1444/4506/7897 1442/4504/7898 1443/4505/7899 +f 1445/4507/7900 1444/4506/7901 1443/4505/7902 +f 1446/4508/7903 1444/4506/7904 1445/4507/7905 +f 1447/4509/7906 1446/4508/7907 1445/4507/7908 +f 1448/4510/7909 1446/4508/7910 1447/4509/7911 +f 1449/4511/7912 1448/4510/7913 1447/4509/7914 +f 1450/4512/7915 1448/4510/7916 1449/4511/7917 +f 1451/4513/7918 1450/4512/7919 1449/4511/7920 +f 1452/4514/7921 1450/4512/7922 1451/4513/7923 +f 1453/4515/7924 1452/4514/7925 1451/4513/7926 +f 1454/4516/7927 1452/4514/7928 1453/4515/7929 +f 1455/4517/7930 1454/4516/7931 1453/4515/7932 +f 1456/4518/7933 1454/4516/7934 1455/4519/7935 +f 1457/4520/7936 1456/4518/7937 1455/4521/7938 +f 1458/4522/7939 1456/4518/7940 1457/4523/7941 +f 1459/4524/7942 1458/4522/7943 1457/4525/7944 +f 1460/4526/7945 1458/4522/7946 1459/4527/7947 +f 1461/4528/7948 1460/4529/7949 1459/4530/7950 +f 1462/4531/7951 1460/4532/7952 1461/4533/7953 +f 1463/4534/7954 1462/4535/7955 1461/4536/7956 +f 1464/4537/7957 1462/4538/7958 1463/4534/7959 +f 1465/4539/7960 1464/4537/7961 1463/4534/7962 +f 1466/4540/7963 1464/4537/7964 1465/4539/7965 +f 1467/4541/7966 1466/4540/7967 1465/4539/7968 +f 1468/4542/7969 1466/4540/7970 1467/4541/7971 +f 1469/4543/7972 1468/4542/7973 1467/4541/7974 +f 1470/4544/7975 1468/4542/7976 1469/4543/7977 +f 1471/4545/7978 1470/4544/7979 1469/4543/7980 +f 1472/4546/7981 1470/4544/7982 1471/4545/7983 +f 1473/4547/7984 1472/4546/7985 1471/4545/7986 +f 1418/4478/7987 1472/4546/7988 1473/4547/7989 +f 1420/4480/7990 1472/4546/7991 1418/4478/7992 +f 1474/4548/7993 1472/4546/7994 1420/4480/7995 +f 1422/4482/7996 1474/4548/7997 1420/4480/7998 +f 1475/4549/7999 1474/4548/8000 1422/4482/8001 +f 1424/4484/8002 1475/4549/8003 1422/4482/8004 +f 1476/4550/8005 1475/4549/8006 1424/4484/8007 +f 1426/4486/8008 1476/4550/8009 1424/4484/8010 +f 1477/4551/8011 1476/4550/8012 1426/4486/8013 +f 1428/4488/8014 1477/4551/8015 1426/4486/8016 +f 1478/4552/8017 1477/4551/8018 1428/4488/8019 +f 1430/4490/8020 1478/4553/8021 1428/4488/8022 +f 1479/4554/8023 1478/4555/8024 1430/4490/8025 +f 1432/4492/8026 1479/4556/8027 1430/4490/8028 +f 1480/4557/8029 1479/4558/8030 1432/4492/8031 +f 1434/4494/8032 1480/4557/8033 1432/4492/8034 +f 1481/4559/8035 1480/4557/8036 1434/4494/8037 +f 1436/4498/8038 1481/4559/8039 1434/4494/8040 +f 1482/4560/8041 1481/4559/8042 1436/4498/8043 +f 1438/4500/8044 1482/4560/8045 1436/4498/8046 +f 1483/4561/8047 1482/4560/8048 1438/4500/8049 +f 1440/4502/8050 1483/4561/8051 1438/4500/8052 +f 1484/4562/8053 1483/4561/8054 1440/4502/8055 +f 1442/4504/8056 1484/4562/8057 1440/4502/8058 +f 1485/4563/8059 1484/4562/8060 1442/4504/8061 +f 1444/4506/8062 1485/4563/8063 1442/4504/8064 +f 1446/4508/8065 1485/4563/8066 1444/4506/8067 +f 1486/4564/8068 1421/4481/8069 1419/4477/8070 +f 1487/4565/8071 1421/4481/8072 1486/4564/8073 +f 1488/4566/8074 1487/4565/8075 1486/4564/8076 +f 1489/4567/8077 1487/4565/8078 1488/4566/8079 +f 1490/4568/8080 1489/4567/8081 1488/4566/8082 +f 1491/4569/8083 1489/4567/8084 1490/4568/8085 +f 1492/4570/8086 1491/4569/8087 1490/4568/8088 +f 1493/4571/8089 1491/4569/8090 1492/4570/8091 +f 1494/4572/8092 1493/4571/8093 1492/4570/8094 +f 1495/4573/8095 1493/4571/8096 1494/4572/8097 +f 1496/4574/8098 1495/4573/8099 1494/4572/8100 +f 1497/4575/8101 1495/4573/8102 1496/4576/8103 +f 1498/4577/8104 1497/4578/8105 1496/4579/8106 +f 1499/4580/8107 1497/4581/8108 1498/4582/8109 +f 1500/4583/8110 1499/4584/8111 1498/4585/8112 +f 1501/4586/8113 1499/4587/8114 1500/4588/8115 +f 1502/4589/8116 1501/4590/8117 1500/4591/8118 +f 1503/4592/8119 1501/4593/8120 1502/4594/8121 +f 1504/4595/8122 1503/4592/8123 1502/4596/8124 +f 1505/4597/8125 1503/4592/8126 1504/4595/8127 +f 1506/4598/8128 1505/4597/8129 1504/4595/8130 +f 1507/4599/8131 1505/4597/8132 1506/4598/8133 +f 1474/4548/8134 1470/4544/8135 1472/4546/8136 +f 1508/4600/8137 1470/4544/8138 1474/4548/8139 +f 1475/4549/8140 1508/4600/8141 1474/4548/8142 +f 1509/4601/8143 1508/4600/8144 1475/4549/8145 +f 1476/4550/8146 1509/4602/8147 1475/4549/8148 +f 1510/4603/8149 1509/4604/8150 1476/4550/8151 +f 1477/4551/8152 1510/4605/8153 1476/4550/8154 +f 1511/4606/8155 1510/4607/8156 1477/4551/8157 +f 1478/4608/8158 1511/4609/8159 1477/4551/8160 +f 1512/4610/8161 1511/4611/8162 1478/4612/8163 +f 1479/4613/8164 1512/4614/8165 1478/4615/8166 +f 1513/4616/8167 1512/4617/8168 1479/4618/8169 +f 1480/4557/8170 1513/4619/8171 1479/4620/8172 +f 1514/4621/8173 1513/4622/8174 1480/4557/8175 +f 1481/4559/8176 1514/4621/8177 1480/4557/8178 +f 1515/4623/8179 1514/4621/8180 1481/4559/8181 +f 1482/4560/8182 1515/4623/8183 1481/4559/8184 +f 1516/4624/8185 1515/4623/8186 1482/4560/8187 +f 1483/4561/8188 1516/4624/8189 1482/4560/8190 +f 1484/4562/8191 1516/4624/8192 1483/4561/8193 +f 1508/4600/8194 1468/4542/8195 1470/4544/8196 +f 1517/4625/8197 1468/4542/8198 1508/4600/8199 +f 1509/4626/8200 1517/4627/8201 1508/4600/8202 +f 1518/4628/8203 1517/4629/8204 1509/4630/8205 +f 1510/4631/8206 1518/4632/8207 1509/4633/8208 +f 1519/4634/8209 1518/4635/8210 1510/4636/8211 +f 1511/4637/8212 1519/4638/8213 1510/4639/8214 +f 1520/4640/8215 1519/4641/8216 1511/4642/8217 +f 1512/4643/8218 1520/4644/8219 1511/4645/8220 +f 1521/4646/8221 1520/4647/8222 1512/4648/8223 +f 1513/4649/8224 1521/4650/8225 1512/4651/8226 +f 1522/4652/8227 1521/4653/8228 1513/4654/8229 +f 1514/4621/8230 1522/4655/8231 1513/4656/8232 +f 1523/4657/8233 1522/4658/8234 1514/4621/8235 +f 1515/4623/8236 1523/4657/8237 1514/4621/8238 +f 1524/4659/8239 1523/4657/8240 1515/4623/8241 +f 1516/4624/8242 1524/4659/8243 1515/4623/8244 +f 1525/4660/8245 1524/4659/8246 1516/4624/8247 +f 1526/4661/8248 1525/4660/8249 1516/4624/8250 +f 1527/4662/8251 1525/4660/8252 1526/4661/8253 +f 1528/4663/8254 1490/4568/8255 1488/4566/8256 +f 1529/4664/8257 1490/4568/8258 1528/4663/8259 +f 1530/4665/8260 1529/4664/8261 1528/4663/8262 +f 1531/4666/8263 1529/4664/8264 1530/4665/8265 +f 1532/4667/8266 1531/4666/8267 1530/4665/8268 +f 1533/4668/8269 1531/4666/8270 1532/4669/8271 +f 1534/4670/8272 1533/4671/8273 1532/4672/8274 +f 1535/4673/8275 1533/4674/8276 1534/4675/8277 +f 1536/4676/8278 1535/4677/8279 1534/4678/8280 +f 1537/4679/8281 1535/4680/8282 1536/4681/8283 +f 1538/4682/8284 1537/4683/8285 1536/4684/8286 +f 1539/4685/8287 1537/4686/8288 1538/4687/8289 +f 1540/4688/8290 1539/4689/8291 1538/4690/8292 +f 1541/4691/8293 1539/4692/8294 1540/4693/8295 +f 1542/4694/8296 1541/4695/8297 1540/4696/8298 +f 1543/4697/8299 1541/4698/8300 1542/4699/8301 +f 1546/4700/8302 1545/4701/8303 1544/4702/8304 +f 1547/4703/8305 1545/4704/8306 1546/4705/8307 +f 1548/4706/8308 1547/4707/8309 1546/4708/8310 +f 1542/4709/8311 1547/4710/8312 1548/4711/8313 +f 1549/4712/8314 1542/4713/8315 1548/4714/8316 +f 1543/4715/8317 1542/4716/8318 1549/4717/8319 +f 1550/4718/8320 1543/4719/8321 1549/4720/8322 +f 1506/4598/8323 1543/4721/8324 1550/4722/8325 +f 1551/4723/8326 1506/4598/8327 1550/4724/8328 +f 1507/4599/8329 1506/4598/8330 1551/4725/8331 +f 1552/4726/8332 1507/4599/8333 1551/4727/8334 +f 1443/4505/8335 1507/4599/8336 1552/4728/8337 +f 1445/4507/8338 1443/4505/8339 1552/4729/8340 +f 1517/4730/8341 1466/4540/8342 1468/4542/8343 +f 1553/4731/8344 1466/4540/8345 1517/4732/8346 +f 1518/4733/8347 1553/4734/8348 1517/4735/8349 +f 1554/4736/8350 1553/4737/8351 1518/4738/8352 +f 1519/4739/8353 1554/4740/8354 1518/4741/8355 +f 1555/4742/8356 1554/4743/8357 1519/4744/8358 +f 1520/4745/8359 1555/4746/8360 1519/4747/8361 +f 1556/4748/8362 1555/4749/8363 1520/4750/8364 +f 1521/4751/8365 1556/4752/8366 1520/4753/8367 +f 1557/4754/8368 1556/4755/8369 1521/4756/8370 +f 1522/4757/8371 1557/4758/8372 1521/4759/8373 +f 1558/4760/8374 1557/4761/8375 1522/4762/8376 +f 1559/4763/8377 1462/4764/8378 1464/4537/8379 +f 1560/4765/8380 1462/4766/8381 1559/4767/8382 +f 1561/4768/8383 1560/4769/8384 1559/4770/8385 +f 1562/4771/8386 1560/4772/8387 1561/4773/8388 +f 1563/4774/8389 1562/4775/8390 1561/4776/8391 +f 1564/4777/8392 1562/4778/8393 1563/4779/8394 +f 1557/4780/8395 1564/4781/8396 1563/4782/8397 +f 1565/4783/8398 1564/4784/8399 1557/4785/8400 +f 1558/4786/8401 1565/4787/8402 1557/4788/8403 +f 1527/4662/8404 1565/4789/8405 1558/4790/8406 +f 1566/4791/8407 1532/4792/8408 1530/4665/8409 +f 1534/4793/8410 1532/4794/8411 1566/4795/8412 +f 1567/4796/8413 1534/4797/8414 1566/4798/8415 +f 1536/4799/8416 1534/4800/8417 1567/4801/8418 +f 1568/4802/8419 1536/4803/8420 1567/4804/8421 +f 1538/4805/8422 1536/4806/8423 1568/4807/8424 +f 1569/4808/8425 1538/4809/8426 1568/4810/8427 +f 1540/4811/8428 1538/4812/8429 1569/4813/8430 +f 1547/4814/8431 1540/4815/8432 1569/4816/8433 +f 1542/4817/8434 1540/4818/8435 1547/4819/8436 +f 1572/4820/8437 1571/4821/8438 1570/4822/8439 +f 1573/4823/8440 1571/4821/8441 1572/4820/8442 +f 1574/4824/8443 1573/4823/8444 1572/4820/8445 +f 1575/4825/8446 1573/4823/8447 1574/4824/8448 +f 1576/4826/8449 1575/4825/8450 1574/4824/8451 +f 1577/4827/8452 1575/4825/8453 1576/4826/8454 +f 1578/4828/8455 1577/4827/8456 1576/4826/8457 +f 1579/4829/8458 1577/4827/8459 1578/4828/8460 +f 1546/4830/8461 1579/4829/8462 1578/4828/8463 +f 1544/4831/8464 1579/4829/8465 1546/4830/8466 +f 1580/4832/8467 1579/4833/8468 1544/4834/8469 +f 1577/4835/8470 1579/4833/8471 1580/4832/8472 +f 1581/4836/8473 1577/4835/8474 1580/4832/8475 +f 1575/4837/8476 1577/4835/8477 1581/4836/8478 +f 1582/4838/8479 1575/4837/8480 1581/4836/8481 +f 1573/4839/8482 1575/4837/8483 1582/4838/8484 +f 1583/4840/8485 1573/4839/8486 1582/4838/8487 +f 1571/4841/8488 1573/4839/8489 1583/4840/8490 +f 1584/4842/8491 1571/4841/8492 1583/4840/8493 +f 1504/4595/8494 1543/4843/8495 1506/4598/8496 +f 1541/4844/8497 1543/4845/8498 1504/4595/8499 +f 1502/4846/8500 1541/4847/8501 1504/4595/8502 +f 1539/4848/8503 1541/4849/8504 1502/4850/8505 +f 1500/4851/8506 1539/4852/8507 1502/4853/8508 +f 1537/4854/8509 1539/4855/8510 1500/4856/8511 +f 1498/4857/8512 1537/4858/8513 1500/4859/8514 +f 1535/4860/8515 1537/4861/8516 1498/4862/8517 +f 1496/4863/8518 1535/4864/8519 1498/4865/8520 +f 1587/4866/8521 1586/4867/8522 1585/4868/8523 +f 1588/4869/8524 1586/4867/8525 1587/4866/8526 +f 1589/4870/8527 1588/4869/8528 1587/4866/8529 +f 1590/4871/8530 1588/4869/8531 1589/4870/8532 +f 1591/4872/8533 1590/4871/8534 1589/4870/8535 +f 1592/4873/8536 1590/4871/8537 1591/4872/8538 +f 1593/4874/8539 1592/4873/8540 1591/4872/8541 +f 1467/4541/8542 1592/4873/8543 1593/4874/8544 +f 1469/4543/8545 1467/4541/8546 1593/4874/8547 +f 1553/4875/8548 1464/4537/8549 1466/4540/8550 +f 1559/4876/8551 1464/4537/8552 1553/4877/8553 +f 1554/4878/8554 1559/4879/8555 1553/4880/8556 +f 1561/4881/8557 1559/4882/8558 1554/4883/8559 +f 1555/4884/8560 1561/4885/8561 1554/4886/8562 +f 1563/4887/8563 1561/4888/8564 1555/4889/8565 +f 1556/4890/8566 1563/4891/8567 1555/4892/8568 +f 1557/4893/8569 1563/4894/8570 1556/4895/8571 +f 1594/4896/8572 1454/4516/8573 1456/4518/8574 +f 1595/4897/8575 1454/4516/8576 1594/4896/8577 +f 1596/4898/8578 1595/4899/8579 1594/4896/8580 +f 1597/4900/8581 1595/4901/8582 1596/4898/8583 +f 1527/4662/8584 1597/4900/8585 1596/4898/8586 +f 1598/4902/8587 1597/4900/8588 1527/4662/8589 +f 1526/4661/8590 1598/4902/8591 1527/4662/8592 +f 1485/4563/8593 1598/4902/8594 1526/4661/8595 +f 1601/4903/8596 1600/4904/8597 1599/4905/8598 +f 1602/4906/8599 1600/4904/8600 1601/4903/8601 +f 1603/4907/8602 1602/4908/8603 1601/4903/8604 +f 1604/4909/8605 1602/4910/8606 1603/4911/8607 +f 1605/4912/8608 1604/4913/8609 1603/4914/8610 +f 1551/4915/8611 1604/4916/8612 1605/4917/8613 +f 1552/4918/8614 1551/4919/8615 1605/4920/8616 +f 1587/4921/8617 1603/4922/8618 1601/4903/8619 +f 1606/4923/8620 1603/4924/8621 1587/4921/8622 +f 1585/4925/8623 1606/4923/8624 1587/4921/8625 +f 1607/4926/8626 1606/4923/8627 1585/4925/8628 +f 1608/4927/8629 1607/4926/8630 1585/4925/8631 +f 1449/4511/8632 1607/4926/8633 1608/4927/8634 +f 1451/4513/8635 1449/4511/8636 1608/4927/8637 +f 1586/4867/8638 1608/4927/8639 1585/4925/8640 +f 1609/4928/8641 1608/4927/8642 1586/4867/8643 +f 1610/4929/8644 1609/4928/8645 1586/4867/8646 +f 1611/4930/8647 1609/4928/8648 1610/4931/8649 +f 1612/4932/8650 1611/4933/8651 1610/4934/8652 +f 1457/4935/8653 1611/4936/8654 1612/4937/8655 +f 1459/4938/8656 1457/4939/8657 1612/4940/8658 +f 1614/4941/8659 1613/4942/8660 1473/4943/8661 +f 1615/4944/8662 1613/4942/8663 1614/4941/8664 +f 1616/4945/8665 1615/4944/8666 1614/4941/8667 +f 1570/4946/8668 1615/4944/8669 1616/4945/8670 +f 1617/4947/8671 1570/4946/8672 1616/4945/8673 +f 1599/4948/8674 1570/4946/8675 1617/4947/8676 +f 1618/4949/8677 1548/4950/8678 1546/4951/8679 +f 1619/4952/8680 1548/4953/8681 1618/4954/8682 +f 1600/4904/8683 1619/4955/8684 1618/4956/8685 +f 1620/4957/8686 1619/4958/8687 1600/4904/8688 +f 1602/4959/8689 1620/4960/8690 1600/4904/8691 +f 1604/4961/8692 1620/4962/8693 1602/4963/8694 +f 1590/4871/8695 1586/4867/8696 1588/4869/8697 +f 1621/4964/8698 1586/4867/8699 1590/4871/8700 +f 1622/4965/8701 1621/4964/8702 1590/4871/8703 +f 1623/4966/8704 1621/4964/8705 1622/4967/8706 +f 1463/4534/8707 1623/4968/8708 1622/4969/8709 +f 1461/4970/8710 1623/4971/8711 1463/4534/8712 +f 1527/4662/8713 1524/4659/8714 1525/4660/8715 +f 1624/4972/8716 1524/4659/8717 1527/4662/8718 +f 1558/4973/8719 1624/4972/8720 1527/4662/8721 +f 1523/4657/8722 1624/4972/8723 1558/4974/8724 +f 1522/4975/8725 1523/4657/8726 1558/4976/8727 +f 1550/4977/8728 1604/4978/8729 1551/4979/8730 +f 1620/4980/8731 1604/4981/8732 1550/4982/8733 +f 1549/4983/8734 1620/4984/8735 1550/4985/8736 +f 1619/4986/8737 1620/4987/8738 1549/4988/8739 +f 1548/4989/8740 1619/4990/8741 1549/4991/8742 +f 1609/4928/8743 1451/4513/8744 1608/4927/8745 +f 1453/4515/8746 1451/4513/8747 1609/4928/8748 +f 1611/4992/8749 1453/4515/8750 1609/4928/8751 +f 1455/4993/8752 1453/4515/8753 1611/4994/8754 +f 1457/4995/8755 1455/4996/8756 1611/4997/8757 +f 1595/4998/8758 1452/4514/8759 1454/4516/8760 +f 1450/4512/8761 1452/4514/8762 1595/4999/8763 +f 1625/5000/8764 1450/4512/8765 1595/5001/8766 +f 1448/4510/8767 1450/4512/8768 1625/5002/8769 +f 1446/4508/8770 1448/4510/8771 1625/5003/8772 +f 1527/4662/8773 1627/5004/8774 1626/5005/8775 +f 1628/5006/8776 1627/5007/8777 1527/4662/8778 +f 1629/5008/8779 1628/5009/8780 1527/4662/8781 +f 1594/4896/8782 1628/5010/8783 1629/5008/8784 +f 1596/4898/8785 1594/4896/8786 1629/5008/8787 +f 1630/5011/8788 1580/5012/8789 1544/5013/8790 +f 1631/5014/8791 1580/5012/8792 1630/5011/8793 +f 1632/5015/8794 1631/5014/8795 1630/5011/8796 +f 1633/5016/8797 1631/5014/8798 1632/5017/8799 +f 1627/5018/8800 1458/4522/8801 1626/5019/8802 +f 1456/4518/8803 1458/4522/8804 1627/5020/8805 +f 1628/5021/8806 1456/4518/8807 1627/5022/8808 +f 1594/4896/8809 1456/4518/8810 1628/5023/8811 +f 1634/5024/8812 1568/5025/8813 1567/5026/8814 +f 1569/5027/8815 1568/5028/8816 1634/5029/8817 +f 1545/5030/8818 1569/5031/8819 1634/5032/8820 +f 1547/5033/8821 1569/5034/8822 1545/5035/8823 +f 1447/4509/8824 1607/4926/8825 1449/4511/8826 +f 1635/5036/8827 1607/4926/8828 1447/4509/8829 +f 1445/4507/8830 1635/5037/8831 1447/4509/8832 +f 1552/5038/8833 1635/5039/8834 1445/4507/8835 +f 1562/5040/8836 1458/4522/8837 1460/5041/8838 +f 1626/5042/8839 1458/4522/8840 1562/5043/8841 +f 1564/5044/8842 1626/5045/8843 1562/5046/8844 +f 1527/4662/8845 1626/5047/8846 1564/5048/8847 +f 1605/5049/8848 1635/5050/8849 1552/5051/8850 +f 1606/4923/8851 1635/5052/8852 1605/5053/8853 +f 1603/5054/8854 1606/4923/8855 1605/5055/8856 +f 1618/5056/8857 1576/5057/8858 1574/5058/8859 +f 1578/5059/8860 1576/5057/8861 1618/5060/8862 +f 1546/5061/8863 1578/5059/8864 1618/5062/8865 +f 1473/4943/8866 1636/5063/8867 1418/5064/8868 +f 1637/5065/8869 1636/5066/8870 1473/4943/8871 +f 1613/4942/8872 1637/5067/8873 1473/4943/8874 +f 1630/5011/8875 1417/5068/8876 1632/5069/8877 +f 1419/5070/8878 1417/5071/8879 1630/5011/8880 +f 1486/5072/8881 1419/5070/8882 1630/5011/8883 +f 1465/4539/8884 1592/4873/8885 1467/4541/8886 +f 1622/5073/8887 1592/4873/8888 1465/4539/8889 +f 1463/4534/8890 1622/5074/8891 1465/4539/8892 +f 1589/4870/8893 1617/5075/8894 1616/5076/8895 +f 1599/5077/8896 1617/5075/8897 1589/4870/8898 +f 1601/5078/8899 1599/5077/8900 1589/4870/8901 +f 1631/5014/8902 1581/5079/8903 1580/5012/8904 +f 1582/5080/8905 1581/5081/8906 1631/5014/8907 +f 1583/5082/8908 1582/5080/8909 1631/5014/8910 +f 1625/5083/8911 1485/4563/8912 1446/4508/8913 +f 1598/4902/8914 1485/4563/8915 1625/5084/8916 +f 1597/4900/8917 1598/4902/8918 1625/5085/8919 +f 1638/5086/8920 1584/5087/8921 1583/4840/8922 +f 1639/5088/8923 1584/5089/8924 1638/5090/8925 +f 1633/5091/8926 1639/5092/8927 1638/5093/8928 +f 1640/5094/8929 1488/5095/8930 1486/5072/8931 +f 1528/5096/8932 1488/5095/8933 1640/5094/8934 +f 1530/5097/8935 1528/5096/8936 1640/5094/8937 +f 1418/5098/8938 1641/5099/8939 1417/5100/8940 +f 1636/5101/8941 1641/5102/8942 1418/5103/8943 +f 1591/4872/8944 1616/5076/8945 1614/5104/8946 +f 1589/4870/8947 1616/5076/8948 1591/4872/8949 +f 1637/5105/8950 1639/5106/8951 1642/5107/8952 +f 1613/5108/8953 1639/5109/8954 1637/5110/8955 +f 1560/5111/8956 1460/5112/8957 1462/5113/8958 +f 1562/5114/8959 1460/5115/8960 1560/5116/8961 +f 1613/5117/8962 1584/5118/8963 1639/5119/8964 +f 1615/5120/8965 1584/5121/8966 1613/5122/8967 +f 1505/4597/8968 1441/4503/8969 1439/4501/8970 +f 1507/4599/8971 1441/4503/8972 1505/4597/8973 +f 1615/5123/8974 1571/4821/8975 1584/5124/8976 +f 1570/4822/8977 1571/4821/8978 1615/5125/8979 +f 1533/5126/8980 1496/5127/8981 1494/4572/8982 +f 1535/5128/8983 1496/5129/8984 1533/5130/8985 +f 1487/4565/8986 1423/4483/8987 1421/4481/8988 +f 1489/4567/8989 1423/4483/8990 1487/4565/8991 +f 1489/4567/8992 1425/4485/8993 1423/4483/8994 +f 1491/4569/8995 1425/4485/8996 1489/4567/8997 +f 1491/4569/8998 1427/4487/8999 1425/4485/9000 +f 1493/4571/9001 1427/4487/9002 1491/4569/9003 +f 1493/4571/9004 1429/4489/9005 1427/4487/9006 +f 1495/4573/9007 1429/4489/9008 1493/4571/9009 +f 1495/4573/9010 1431/4491/9011 1429/4489/9012 +f 1497/5131/9013 1431/4491/9014 1495/4573/9015 +f 1529/4664/9016 1492/4570/9017 1490/4568/9018 +f 1531/4666/9019 1492/4570/9020 1529/4664/9021 +f 1531/4666/9022 1494/4572/9023 1492/4570/9024 +f 1533/5132/9025 1494/4572/9026 1531/4666/9027 +f 1642/5133/9028 1633/5134/9029 1632/5135/9030 +f 1639/5136/9031 1633/5137/9032 1642/5138/9033 +f 1623/5139/9034 1612/5140/9035 1610/5141/9036 +f 1461/5142/9037 1612/5143/9038 1623/5144/9039 +f 1599/5145/9040 1572/5146/9041 1570/4946/9042 +f 1600/5147/9043 1572/5148/9044 1599/5149/9045 +f 1600/5150/9046 1574/5151/9047 1572/5152/9048 +f 1618/5153/9049 1574/5154/9050 1600/5155/9051 +f 1497/5156/9052 1433/5157/9053 1431/4491/9054 +f 1499/5158/9055 1433/5159/9056 1497/5160/9057 +f 1499/5161/9058 1435/4496/9059 1433/5162/9060 +f 1501/5163/9061 1435/4496/9062 1499/5164/9063 +f 1545/5165/9064 1630/5011/9065 1544/5013/9066 +f 1634/5166/9067 1630/5011/9068 1545/5167/9069 +f 1501/5168/9070 1437/4499/9071 1435/4496/9072 +f 1503/4592/9073 1437/4499/9074 1501/5169/9075 +f 1638/5170/9076 1631/5014/9077 1633/5016/9078 +f 1583/5082/9079 1631/5014/9080 1638/5171/9081 +f 1621/4964/9082 1610/5172/9083 1586/4867/9084 +f 1623/5173/9085 1610/5174/9086 1621/4964/9087 +f 1484/4562/9088 1526/4661/9089 1516/4624/9090 +f 1485/4563/9091 1526/4661/9092 1484/4562/9093 +f 1630/5011/9094 1640/5094/9095 1486/5072/9096 +f 1634/5175/9097 1640/5094/9098 1630/5011/9099 +f 1567/5176/9100 1640/5094/9101 1634/5177/9102 +f 1566/5178/9103 1640/5094/9104 1567/5179/9105 +f 1503/4592/9106 1439/4501/9107 1437/4499/9108 +f 1505/4597/9109 1439/4501/9110 1503/4592/9111 +f 1636/5180/9112 1642/5181/9113 1641/5182/9114 +f 1637/5183/9115 1642/5184/9116 1636/5185/9117 +f 1471/4545/9118 1614/5186/9119 1473/4547/9120 +f 1469/4543/9121 1614/5187/9122 1471/4545/9123 +f 1641/5188/9124 1632/5189/9125 1417/5190/9126 +f 1642/5191/9127 1632/5192/9128 1641/5193/9129 +f 1593/4874/9130 1614/5194/9131 1469/4543/9132 +f 1591/4872/9133 1614/5195/9134 1593/4874/9135 +f 1527/4662/9136 1564/5196/9137 1565/5197/9138 +f 1624/4972/9139 1523/4657/9140 1524/4659/9141 +f 1507/4599/9142 1443/4505/9143 1441/4503/9144 +f 1592/4873/9145 1622/5198/9146 1590/4871/9147 +f 1601/5078/9148 1589/4870/9149 1587/4866/9150 +f 1461/5199/9151 1459/5200/9152 1612/5201/9153 +f 1606/4923/9154 1607/4926/9155 1635/5202/9156 +f 1530/5097/9157 1640/5094/9158 1566/5203/9159 +f 1597/4900/9160 1625/5204/9161 1595/5205/9162 +f 1527/4662/9163 1596/4898/9164 1629/5008/9165 +f 1645/5206/9166 1644/5207/9167 1643/5208/9168 +f 1646/5209/9169 1644/5207/9170 1645/5206/9171 +f 1647/5210/9172 1646/5209/9173 1645/5206/9174 +f 1648/5211/9175 1646/5209/9176 1647/5210/9177 +f 1649/5212/9178 1648/5211/9179 1647/5210/9180 +f 1650/5213/9181 1648/5211/9182 1649/5212/9183 +f 1651/5214/9184 1650/5213/9185 1649/5212/9186 +f 1652/5215/9187 1650/5213/9188 1651/5214/9189 +f 1653/5216/9190 1652/5215/9191 1651/5214/9192 +f 1654/5217/9193 1652/5215/9194 1653/5216/9195 +f 1655/5218/9196 1654/5217/9197 1653/5216/9198 +f 1656/5219/9199 1654/5217/9200 1655/5218/9201 +f 1657/5220/9202 1656/5219/9203 1655/5218/9204 +f 1658/5221/9205 1656/5219/9206 1657/5220/9207 +f 1659/5222/9208 1658/5221/9209 1657/5220/9210 +f 1660/5223/9211 1658/5221/9212 1659/5222/9213 +f 1661/5224/9214 1660/5223/9215 1659/5222/9216 +f 1662/5225/9217 1660/5223/9218 1661/5224/9219 +f 1663/5226/9220 1662/5225/9221 1661/5224/9222 +f 1664/5227/9223 1662/5225/9224 1663/5226/9225 +f 1665/5228/9226 1664/5227/9227 1663/5226/9228 +f 1666/5229/9229 1664/5227/9230 1665/5228/9231 +f 1667/5230/9232 1666/5229/9233 1665/5228/9234 +f 1668/5231/9235 1666/5229/9236 1667/5232/9237 +f 1669/5233/9238 1668/5231/9239 1667/5234/9240 +f 1670/5235/9241 1668/5231/9242 1669/5233/9243 +f 1671/5236/9244 1670/5235/9245 1669/5233/9246 +f 1672/5237/9247 1670/5235/9248 1671/5236/9249 +f 1673/5238/9250 1672/5237/9251 1671/5236/9252 +f 1674/5239/9253 1672/5237/9254 1673/5238/9255 +f 1675/5240/9256 1674/5239/9257 1673/5238/9258 +f 1676/5241/9259 1674/5239/9260 1675/5240/9261 +f 1677/5242/9262 1676/5241/9263 1675/5240/9264 +f 1678/5243/9265 1676/5241/9266 1677/5242/9267 +f 1679/5244/9268 1678/5243/9269 1677/5242/9270 +f 1680/5245/9271 1678/5243/9272 1679/5244/9273 +f 1683/5246/9274 1682/5247/9275 1681/5248/9276 +f 1684/5249/9277 1682/5247/9278 1683/5246/9279 +f 1685/5250/9280 1684/5249/9281 1683/5246/9282 +f 1686/5251/9283 1684/5249/9284 1685/5250/9285 +f 1687/5252/9286 1686/5251/9287 1685/5250/9288 +f 1688/5253/9289 1686/5251/9290 1687/5252/9291 +f 1689/5254/9292 1688/5253/9293 1687/5252/9294 +f 1690/5255/9295 1688/5253/9296 1689/5254/9297 +f 1691/5256/9298 1690/5255/9299 1689/5254/9300 +f 1692/5257/9301 1690/5255/9302 1691/5256/9303 +f 1693/5258/9304 1692/5257/9305 1691/5256/9306 +f 1694/5259/9307 1692/5257/9308 1693/5258/9309 +f 1695/5260/9310 1694/5259/9311 1693/5258/9312 +f 1696/5261/9313 1694/5259/9314 1695/5260/9315 +f 1697/5262/9316 1696/5261/9317 1695/5260/9318 +f 1698/5263/9319 1696/5261/9320 1697/5262/9321 +f 1699/5264/9322 1698/5263/9323 1697/5262/9324 +f 1700/5265/9325 1698/5263/9326 1699/5264/9327 +f 1701/5266/9328 1700/5265/9329 1699/5264/9330 +f 1702/5267/9331 1700/5265/9332 1701/5266/9333 +f 1703/5268/9334 1702/5267/9335 1701/5266/9336 +f 1704/5269/9337 1702/5267/9338 1703/5268/9339 +f 1705/5270/9340 1704/5269/9341 1703/5268/9342 +f 1706/5271/9343 1704/5269/9344 1705/5270/9345 +f 1707/5272/9346 1706/5271/9347 1705/5270/9348 +f 1682/5273/9349 1706/5271/9350 1707/5272/9351 +f 1708/5274/9352 1682/5273/9353 1707/5272/9354 +f 1681/5275/9355 1682/5273/9356 1708/5274/9357 +f 1709/5276/9358 1681/5275/9359 1708/5274/9360 +f 1710/5277/9361 1667/5278/9362 1665/5228/9363 +f 1711/5279/9364 1667/5280/9365 1710/5281/9366 +f 1712/5282/9367 1711/5283/9368 1710/5284/9369 +f 1713/5285/9370 1711/5286/9371 1712/5287/9372 +f 1714/5288/9373 1713/5289/9374 1712/5290/9375 +f 1715/5291/9376 1713/5292/9377 1714/5293/9378 +f 1716/5294/9379 1715/5295/9380 1714/5296/9381 +f 1717/5297/9382 1715/5298/9383 1716/5299/9384 +f 1718/5300/9385 1717/5301/9386 1716/5302/9387 +f 1719/5303/9388 1717/5304/9389 1718/5305/9390 +f 1720/5306/9391 1719/5307/9392 1718/5308/9393 +f 1721/5309/9394 1719/5310/9395 1720/5311/9396 +f 1722/5312/9397 1721/5313/9398 1720/5314/9399 +f 1723/5315/9400 1721/5316/9401 1722/5317/9402 +f 1724/5318/9403 1723/5319/9404 1722/5320/9405 +f 1725/5321/9406 1723/5322/9407 1724/5323/9408 +f 1726/5324/9409 1725/5325/9410 1724/5326/9411 +f 1727/5327/9412 1725/5328/9413 1726/5329/9414 +f 1728/5330/9415 1727/5331/9416 1726/5332/9417 +f 1729/5333/9418 1727/5334/9419 1728/5335/9420 +f 1730/5336/9421 1729/5337/9422 1728/5338/9423 +f 1733/5339/9424 1732/5340/9425 1731/5341/9426 +f 1734/5342/9427 1732/5340/9428 1733/5339/9429 +f 1735/5343/9430 1734/5342/9431 1733/5339/9432 +f 1736/5344/9433 1734/5342/9434 1735/5343/9435 +f 1737/5345/9436 1736/5344/9437 1735/5343/9438 +f 1738/5346/9439 1736/5344/9440 1737/5345/9441 +f 1739/5347/9442 1738/5346/9443 1737/5345/9444 +f 1740/5348/9445 1738/5346/9446 1739/5349/9447 +f 1741/5350/9448 1740/5348/9449 1739/5351/9450 +f 1742/5352/9451 1740/5348/9452 1741/5353/9453 +f 1743/5354/9454 1742/5352/9455 1741/5355/9456 +f 1744/5356/9457 1742/5352/9458 1743/5357/9459 +f 1745/5358/9460 1744/5356/9461 1743/5359/9462 +f 1746/5360/9463 1744/5356/9464 1745/5361/9465 +f 1747/5362/9466 1746/5360/9467 1745/5363/9468 +f 1748/5364/9469 1746/5360/9470 1747/5365/9471 +f 1749/5366/9472 1748/5364/9473 1747/5367/9474 +f 1750/5368/9475 1748/5364/9476 1749/5366/9477 +f 1751/5369/9478 1750/5368/9479 1749/5366/9480 +f 1752/5370/9481 1651/5214/9482 1649/5212/9483 +f 1753/5371/9484 1651/5214/9485 1752/5370/9486 +f 1754/5372/9487 1753/5371/9488 1752/5370/9489 +f 1755/5373/9490 1753/5371/9491 1754/5372/9492 +f 1756/5374/9493 1755/5373/9494 1754/5372/9495 +f 1757/5375/9496 1755/5373/9497 1756/5374/9498 +f 1758/5376/9499 1757/5375/9500 1756/5374/9501 +f 1759/5377/9502 1757/5375/9503 1758/5376/9504 +f 1760/5378/9505 1759/5377/9506 1758/5376/9507 +f 1761/5379/9508 1759/5377/9509 1760/5378/9510 +f 1762/5380/9511 1761/5379/9512 1760/5378/9513 +f 1763/5381/9514 1761/5379/9515 1762/5380/9516 +f 1764/5382/9517 1763/5381/9518 1762/5380/9519 +f 1765/5383/9520 1763/5381/9521 1764/5382/9522 +f 1766/5384/9523 1765/5383/9524 1764/5382/9525 +f 1767/5385/9526 1765/5383/9527 1766/5384/9528 +f 1768/5386/9529 1767/5385/9530 1766/5384/9531 +f 1769/5387/9532 1767/5385/9533 1768/5388/9534 +f 1770/5389/9535 1769/5387/9536 1768/5390/9537 +f 1772/5391/9538 1771/5392/9539 1748/5393/9540 +f 1773/5394/9541 1771/5392/9542 1772/5391/9543 +f 1774/5395/9544 1773/5394/9545 1772/5391/9546 +f 1775/5396/9547 1773/5394/9548 1774/5395/9549 +f 1776/5397/9550 1775/5396/9551 1774/5395/9552 +f 1777/5398/9553 1775/5396/9554 1776/5397/9555 +f 1778/5399/9556 1777/5398/9557 1776/5397/9558 +f 1779/5400/9559 1777/5398/9560 1778/5399/9561 +f 1780/5401/9562 1779/5400/9563 1778/5399/9564 +f 1781/5402/9565 1779/5400/9566 1780/5403/9567 +f 1782/5404/9568 1781/5405/9569 1780/5406/9570 +f 1783/5407/9571 1781/5408/9572 1782/5409/9573 +f 1784/5410/9574 1783/5407/9575 1782/5411/9576 +f 1785/5412/9577 1783/5407/9578 1784/5410/9579 +f 1786/5413/9580 1785/5412/9581 1784/5410/9582 +f 1787/5414/9583 1785/5412/9584 1786/5413/9585 +f 1773/5394/9586 1788/5415/9587 1771/5392/9588 +f 1789/5416/9589 1788/5415/9590 1773/5394/9591 +f 1775/5396/9592 1789/5416/9593 1773/5394/9594 +f 1790/5417/9595 1789/5416/9596 1775/5396/9597 +f 1777/5398/9598 1790/5418/9599 1775/5396/9600 +f 1791/5419/9601 1790/5420/9602 1777/5398/9603 +f 1779/5400/9604 1791/5421/9605 1777/5398/9606 +f 1792/5422/9607 1791/5423/9608 1779/5400/9609 +f 1781/5424/9610 1792/5422/9611 1779/5400/9612 +f 1793/5425/9613 1792/5422/9614 1781/5426/9615 +f 1783/5407/9616 1793/5427/9617 1781/5428/9618 +f 1794/5429/9619 1793/5430/9620 1783/5407/9621 +f 1785/5412/9622 1794/5429/9623 1783/5407/9624 +f 1795/5431/9625 1794/5429/9626 1785/5412/9627 +f 1787/5414/9628 1795/5431/9629 1785/5412/9630 +f 1796/5432/9631 1795/5431/9632 1787/5414/9633 +f 1799/5433/9634 1798/5434/9635 1797/5435/9636 +f 1800/5436/9637 1798/5434/9638 1799/5433/9639 +f 1801/5437/9640 1800/5436/9641 1799/5433/9642 +f 1802/5438/9643 1800/5436/9644 1801/5437/9645 +f 1803/5439/9646 1802/5438/9647 1801/5437/9648 +f 1804/5440/9649 1802/5438/9650 1803/5441/9651 +f 1805/5442/9652 1804/5440/9653 1803/5443/9654 +f 1806/5444/9655 1804/5440/9656 1805/5445/9657 +f 1807/5446/9658 1806/5447/9659 1805/5448/9660 +f 1808/5449/9661 1806/5450/9662 1807/5451/9663 +f 1809/5452/9664 1808/5453/9665 1807/5454/9666 +f 1810/5455/9667 1808/5456/9668 1809/5457/9669 +f 1811/5458/9670 1810/5455/9671 1809/5459/9672 +f 1812/5460/9673 1810/5455/9674 1811/5458/9675 +f 1656/5219/9676 1812/5460/9677 1811/5458/9678 +f 1658/5221/9679 1812/5460/9680 1656/5219/9681 +f 1788/5415/9682 1813/5461/9683 1771/5392/9684 +f 1814/5462/9685 1813/5461/9686 1788/5415/9687 +f 1789/5416/9688 1814/5462/9689 1788/5415/9690 +f 1815/5463/9691 1814/5462/9692 1789/5416/9693 +f 1790/5464/9694 1815/5463/9695 1789/5416/9696 +f 1816/5465/9697 1815/5463/9698 1790/5466/9699 +f 1817/5467/9700 1816/5468/9701 1790/5469/9702 +f 1818/5470/9703 1816/5471/9704 1817/5472/9705 +f 1819/5473/9706 1818/5474/9707 1817/5475/9708 +f 1820/5476/9709 1818/5477/9710 1819/5478/9711 +f 1821/5479/9712 1820/5476/9713 1819/5480/9714 +f 1822/5481/9715 1820/5476/9716 1821/5479/9717 +f 1823/5482/9718 1822/5481/9719 1821/5479/9720 +f 1824/5483/9721 1822/5481/9722 1823/5482/9723 +f 1825/5484/9724 1824/5483/9725 1823/5482/9726 +f 1828/5485/9727 1827/5486/9728 1826/5487/9729 +f 1829/5488/9730 1827/5486/9731 1828/5485/9732 +f 1830/5489/9733 1829/5488/9734 1828/5485/9735 +f 1831/5490/9736 1829/5488/9737 1830/5489/9738 +f 1832/5491/9739 1831/5490/9740 1830/5489/9741 +f 1833/5492/9742 1831/5490/9743 1832/5491/9744 +f 1834/5493/9745 1833/5492/9746 1832/5491/9747 +f 1835/5494/9748 1833/5492/9749 1834/5493/9750 +f 1836/5495/9751 1835/5494/9752 1834/5493/9753 +f 1837/5496/9754 1835/5494/9755 1836/5495/9756 +f 1838/5497/9757 1837/5496/9758 1836/5495/9759 +f 1839/5498/9760 1837/5496/9761 1838/5497/9762 +f 1840/5499/9763 1839/5498/9764 1838/5497/9765 +f 1841/5500/9766 1839/5498/9767 1840/5499/9768 +f 1842/5501/9769 1841/5500/9770 1840/5499/9771 +f 1845/5502/9772 1844/5503/9773 1843/5504/9774 +f 1846/5505/9775 1844/5506/9776 1845/5507/9777 +f 1847/5508/9778 1846/5509/9779 1845/5510/9780 +f 1848/5511/9781 1846/5512/9782 1847/5513/9783 +f 1849/5514/9784 1848/5511/9785 1847/5515/9786 +f 1850/5516/9787 1848/5511/9788 1849/5517/9789 +f 1851/5518/9790 1850/5516/9791 1849/5519/9792 +f 1852/5520/9793 1850/5516/9794 1851/5521/9795 +f 1853/5522/9796 1852/5523/9797 1851/5524/9798 +f 1854/5525/9799 1852/5526/9800 1853/5522/9801 +f 1855/5527/9802 1854/5528/9803 1853/5522/9804 +f 1856/5529/9805 1854/5530/9806 1855/5531/9807 +f 1857/5532/9808 1856/5533/9809 1855/5534/9810 +f 1858/5535/9811 1856/5536/9812 1857/5537/9813 +f 1859/5538/9814 1858/5535/9815 1857/5539/9816 +f 1860/5540/9817 1847/5541/9818 1845/5542/9819 +f 1861/5543/9820 1847/5544/9821 1860/5545/9822 +f 1862/5546/9823 1861/5547/9824 1860/5548/9825 +f 1863/5549/9826 1861/5550/9827 1862/5551/9828 +f 1864/5552/9829 1863/5549/9830 1862/5553/9831 +f 1865/5554/9832 1863/5549/9833 1864/5552/9834 +f 1866/5555/9835 1865/5556/9836 1864/5552/9837 +f 1851/5557/9838 1865/5558/9839 1866/5559/9840 +f 1867/5560/9841 1851/5561/9842 1866/5562/9843 +f 1868/5563/9844 1851/5564/9845 1867/5565/9846 +f 1869/5566/9847 1868/5567/9848 1867/5568/9849 +f 1859/5569/9850 1868/5570/9851 1869/5571/9852 +f 1871/5572/9853 1825/5573/9854 1870/5574/9855 +f 1872/5575/9856 1825/5573/9857 1871/5572/9858 +f 1873/5576/9859 1872/5575/9860 1871/5572/9861 +f 1874/5577/9862 1872/5575/9863 1873/5576/9864 +f 1875/5578/9865 1874/5577/9866 1873/5576/9867 +f 1876/5579/9868 1874/5577/9869 1875/5578/9870 +f 1877/5580/9871 1876/5579/9872 1875/5578/9873 +f 1878/5581/9874 1876/5579/9875 1877/5580/9876 +f 1879/5582/9877 1878/5581/9878 1877/5580/9879 +f 1880/5583/9880 1878/5581/9881 1879/5582/9882 +f 1881/5584/9883 1880/5585/9884 1879/5582/9885 +f 1882/5586/9886 1880/5587/9887 1881/5584/9888 +f 1883/5588/9889 1746/5360/9890 1748/5364/9891 +f 1884/5589/9892 1746/5360/9893 1883/5590/9894 +f 1885/5591/9895 1884/5589/9896 1883/5592/9897 +f 1886/5593/9898 1884/5589/9899 1885/5591/9900 +f 1887/5594/9901 1886/5593/9902 1885/5591/9903 +f 1888/5595/9904 1886/5593/9905 1887/5594/9906 +f 1815/5596/9907 1888/5595/9908 1887/5594/9909 +f 1889/5597/9910 1888/5595/9911 1815/5596/9912 +f 1816/5598/9913 1889/5597/9914 1815/5596/9915 +f 1890/5599/9916 1889/5597/9917 1816/5598/9918 +f 1818/5600/9919 1890/5599/9920 1816/5598/9921 +f 1732/5340/9922 1890/5599/9923 1818/5600/9924 +f 1791/5601/9925 1817/5602/9926 1790/5603/9927 +f 1891/5604/9928 1817/5605/9929 1791/5606/9930 +f 1792/5422/9931 1891/5607/9932 1791/5608/9933 +f 1823/5482/9934 1891/5609/9935 1792/5422/9936 +f 1793/5610/9937 1823/5482/9938 1792/5422/9939 +f 1892/5611/9940 1823/5482/9941 1793/5612/9942 +f 1794/5429/9943 1892/5613/9944 1793/5614/9945 +f 1893/5615/9946 1892/5616/9947 1794/5429/9948 +f 1795/5431/9949 1893/5617/9950 1794/5429/9951 +f 1894/5618/9952 1893/5619/9953 1795/5431/9954 +f 1796/5432/9955 1894/5620/9956 1795/5431/9957 +f 1895/5621/9958 1894/5622/9959 1796/5432/9960 +f 1897/5623/9961 1896/5624/9962 1826/5487/9963 +f 1898/5625/9964 1896/5624/9965 1897/5623/9966 +f 1899/5626/9967 1898/5625/9968 1897/5623/9969 +f 1900/5627/9970 1898/5625/9971 1899/5626/9972 +f 1901/5628/9973 1900/5627/9974 1899/5626/9975 +f 1902/5629/9976 1900/5627/9977 1901/5628/9978 +f 1903/5630/9979 1902/5629/9980 1901/5628/9981 +f 1842/5501/9982 1902/5629/9983 1903/5630/9984 +f 1904/5631/9985 1842/5501/9986 1903/5630/9987 +f 1841/5500/9988 1842/5501/9989 1904/5631/9990 +f 1905/5632/9991 1841/5500/9992 1904/5631/9993 +f 1839/5498/9994 1841/5500/9995 1905/5632/9996 +f 1906/5633/9997 1828/5485/9998 1826/5487/9999 +f 1830/5489/10000 1828/5485/10001 1906/5633/10002 +f 1907/5634/10003 1830/5489/10004 1906/5633/10005 +f 1832/5491/10006 1830/5489/10007 1907/5634/10008 +f 1908/5635/10009 1832/5491/10010 1907/5634/10011 +f 1834/5493/10012 1832/5491/10013 1908/5635/10014 +f 1909/5636/10015 1834/5493/10016 1908/5635/10017 +f 1836/5495/10018 1834/5493/10019 1909/5636/10020 +f 1910/5637/10021 1836/5495/10022 1909/5636/10023 +f 1838/5497/10024 1836/5495/10025 1910/5637/10026 +f 1840/5499/10027 1838/5497/10028 1910/5637/10029 +f 1912/5638/10030 1709/5639/10031 1911/5640/10032 +f 1913/5641/10033 1709/5639/10034 1912/5638/10035 +f 1809/5642/10036 1913/5643/10037 1912/5638/10038 +f 1914/5644/10039 1913/5645/10040 1809/5646/10041 +f 1807/5647/10042 1914/5648/10043 1809/5649/10044 +f 1915/5650/10045 1914/5651/10046 1807/5652/10047 +f 1805/5653/10048 1915/5650/10049 1807/5654/10050 +f 1916/5655/10051 1915/5650/10052 1805/5656/10053 +f 1917/5657/10054 1916/5658/10055 1805/5659/10056 +f 1918/5660/10057 1916/5661/10058 1917/5662/10059 +f 1919/5663/10060 1918/5660/10061 1917/5664/10062 +f 1896/5624/10063 1906/5633/10064 1826/5487/10065 +f 1907/5634/10066 1906/5633/10067 1896/5624/10068 +f 1898/5625/10069 1907/5634/10070 1896/5624/10071 +f 1908/5635/10072 1907/5634/10073 1898/5625/10074 +f 1900/5627/10075 1908/5635/10076 1898/5625/10077 +f 1909/5636/10078 1908/5635/10079 1900/5627/10080 +f 1902/5629/10081 1909/5636/10082 1900/5627/10083 +f 1910/5637/10084 1909/5636/10085 1902/5629/10086 +f 1842/5501/10087 1910/5637/10088 1902/5629/10089 +f 1840/5499/10090 1910/5637/10091 1842/5501/10092 +f 1921/5665/10093 1643/5208/10094 1920/5666/10095 +f 1645/5206/10096 1643/5208/10097 1921/5665/10098 +f 1922/5667/10099 1645/5206/10100 1921/5665/10101 +f 1647/5210/10102 1645/5206/10103 1922/5667/10104 +f 1923/5668/10105 1647/5210/10106 1922/5667/10107 +f 1924/5669/10108 1647/5210/10109 1923/5668/10110 +f 1925/5670/10111 1924/5669/10112 1923/5668/10113 +f 1926/5671/10114 1924/5669/10115 1925/5670/10116 +f 1927/5672/10117 1926/5671/10118 1925/5670/10119 +f 1928/5673/10120 1926/5671/10121 1927/5672/10122 +f 1802/5438/10123 1929/5674/10124 1800/5436/10125 +f 1930/5675/10126 1929/5676/10127 1802/5438/10128 +f 1804/5440/10129 1930/5675/10130 1802/5438/10131 +f 1931/5677/10132 1930/5675/10133 1804/5440/10134 +f 1806/5678/10135 1931/5679/10136 1804/5440/10137 +f 1932/5680/10138 1931/5681/10139 1806/5682/10140 +f 1808/5683/10141 1932/5684/10142 1806/5685/10143 +f 1933/5686/10144 1932/5687/10145 1808/5688/10146 +f 1810/5455/10147 1933/5686/10148 1808/5689/10149 +f 1812/5460/10150 1933/5686/10151 1810/5455/10152 +f 1935/5690/10153 1895/5691/10154 1934/5692/10155 +f 1936/5693/10156 1895/5691/10157 1935/5690/10158 +f 1937/5694/10159 1936/5693/10160 1935/5690/10161 +f 1938/5695/10162 1936/5693/10163 1937/5694/10164 +f 1939/5696/10165 1938/5695/10166 1937/5694/10167 +f 1871/5572/10168 1938/5695/10169 1939/5696/10170 +f 1940/5697/10171 1871/5572/10172 1939/5696/10173 +f 1873/5576/10174 1871/5572/10175 1940/5697/10176 +f 1941/5698/10177 1873/5576/10178 1940/5697/10179 +f 1942/5699/10180 1873/5576/10181 1941/5698/10182 +f 1943/5700/10183 1858/5535/10184 1859/5701/10185 +f 1944/5702/10186 1858/5535/10187 1943/5700/10188 +f 1945/5703/10189 1944/5702/10190 1943/5700/10191 +f 1946/5704/10192 1944/5702/10193 1945/5703/10194 +f 1947/5705/10195 1946/5704/10196 1945/5703/10197 +f 1948/5706/10198 1946/5704/10199 1947/5705/10200 +f 1949/5707/10201 1948/5708/10202 1947/5705/10203 +f 1950/5709/10204 1948/5710/10205 1949/5711/10206 +f 1846/5712/10207 1950/5713/10208 1949/5714/10209 +f 1848/5511/10210 1950/5715/10211 1846/5716/10212 +f 1951/5717/10213 1749/5366/10214 1747/5718/10215 +f 1952/5719/10216 1749/5366/10217 1951/5720/10218 +f 1953/5721/10219 1952/5722/10220 1951/5723/10221 +f 1954/5724/10222 1952/5725/10223 1953/5726/10224 +f 1955/5727/10225 1954/5728/10226 1953/5729/10227 +f 1956/5730/10228 1954/5731/10229 1955/5732/10230 +f 1957/5733/10231 1956/5734/10232 1955/5735/10233 +f 1786/5736/10234 1956/5737/10235 1957/5738/10236 +f 1958/5739/10237 1786/5740/10238 1957/5741/10239 +f 1961/5742/10240 1960/5743/10241 1959/5744/10242 +f 1962/5745/10243 1960/5746/10244 1961/5747/10245 +f 1963/5748/10246 1962/5749/10247 1961/5750/10248 +f 1964/5751/10249 1962/5752/10250 1963/5753/10251 +f 1965/5754/10252 1964/5755/10253 1963/5756/10254 +f 1966/5757/10255 1964/5758/10256 1965/5759/10257 +f 1967/5760/10258 1966/5761/10259 1965/5762/10260 +f 1968/5763/10261 1966/5764/10262 1967/5765/10263 +f 1971/5766/10264 1970/5767/10265 1969/5768/10266 +f 1972/5769/10267 1970/5767/10268 1971/5770/10269 +f 1973/5771/10270 1972/5772/10271 1971/5773/10272 +f 1974/5774/10273 1972/5775/10274 1973/5776/10275 +f 1975/5777/10276 1974/5778/10277 1973/5779/10278 +f 1976/5780/10279 1974/5781/10280 1975/5782/10281 +f 1977/5783/10282 1976/5784/10283 1975/5785/10284 +f 1733/5786/10285 1976/5787/10286 1977/5788/10287 +f 1673/5238/10288 1978/5789/10289 1675/5240/10290 +f 1979/5790/10291 1978/5791/10292 1673/5238/10293 +f 1980/5792/10294 1979/5793/10295 1673/5238/10296 +f 1981/5794/10297 1979/5795/10298 1980/5796/10299 +f 1982/5797/10300 1981/5798/10301 1980/5799/10302 +f 1711/5800/10303 1981/5801/10304 1982/5802/10305 +f 1669/5233/10306 1711/5803/10307 1982/5804/10308 +f 1667/5805/10309 1711/5806/10310 1669/5233/10311 +f 1784/5410/10312 1956/5807/10313 1786/5413/10314 +f 1983/5808/10315 1956/5809/10316 1784/5410/10317 +f 1984/5810/10318 1983/5811/10319 1784/5410/10320 +f 1985/5812/10321 1983/5813/10322 1984/5814/10323 +f 1986/5815/10324 1985/5816/10325 1984/5817/10326 +f 1987/5818/10327 1985/5819/10328 1986/5820/10329 +f 1774/5395/10330 1987/5821/10331 1986/5822/10332 +f 1772/5391/10333 1987/5823/10334 1774/5395/10335 +f 1989/5824/10336 1978/5825/10337 1988/5826/10338 +f 1675/5240/10339 1978/5827/10340 1989/5828/10341 +f 1990/5829/10342 1675/5240/10343 1989/5830/10344 +f 1677/5242/10345 1675/5240/10346 1990/5829/10347 +f 1843/5831/10348 1677/5242/10349 1990/5829/10350 +f 1679/5244/10351 1677/5242/10352 1843/5831/10353 +f 1991/5832/10354 1679/5244/10355 1843/5831/10356 +f 1680/5245/10357 1679/5244/10358 1991/5832/10359 +f 1716/5833/10360 1720/5834/10361 1718/5835/10362 +f 1992/5836/10363 1720/5837/10364 1716/5838/10365 +f 1993/5839/10366 1992/5836/10367 1716/5840/10368 +f 1975/5841/10369 1992/5836/10370 1993/5839/10371 +f 1994/5842/10372 1975/5843/10373 1993/5839/10374 +f 1977/5844/10375 1975/5845/10376 1994/5846/10377 +f 1735/5847/10378 1977/5848/10379 1994/5849/10380 +f 1733/5786/10381 1977/5850/10382 1735/5851/10383 +f 1930/5675/10384 1668/5231/10385 1929/5852/10386 +f 1666/5229/10387 1668/5231/10388 1930/5675/10389 +f 1931/5853/10390 1666/5229/10391 1930/5675/10392 +f 1664/5227/10393 1666/5229/10394 1931/5854/10395 +f 1932/5855/10396 1664/5227/10397 1931/5856/10398 +f 1662/5225/10399 1664/5227/10400 1932/5857/10401 +f 1933/5686/10402 1662/5225/10403 1932/5858/10404 +f 1812/5460/10405 1662/5225/10406 1933/5686/10407 +f 1995/5859/10408 1916/5860/10409 1918/5660/10410 +f 1996/5861/10411 1916/5862/10412 1995/5859/10413 +f 1997/5863/10414 1996/5861/10415 1995/5859/10416 +f 1998/5864/10417 1996/5861/10418 1997/5865/10419 +f 1999/5866/10420 1998/5867/10421 1997/5868/10422 +f 1913/5869/10423 1998/5870/10424 1999/5871/10425 +f 1681/5872/10426 1913/5873/10427 1999/5874/10428 +f 1709/5639/10429 1913/5875/10430 1681/5876/10431 +f 2002/5877/10432 2001/5878/10433 2000/5879/10434 +f 2003/5880/10435 2001/5881/10436 2002/5882/10437 +f 2004/5883/10438 2003/5884/10439 2002/5885/10440 +f 2005/5886/10441 2003/5887/10442 2004/5888/10443 +f 2006/5889/10444 2005/5890/10445 2004/5891/10446 +f 2007/5892/10447 2005/5893/10448 2006/5894/10449 +f 2008/5895/10450 2007/5896/10451 2006/5897/10452 +f 2009/5898/10453 2007/5899/10454 2008/5900/10455 +f 1962/5901/10456 2000/5902/10457 1960/5903/10458 +f 2002/5904/10459 2000/5905/10460 1962/5906/10461 +f 1964/5907/10462 2002/5908/10463 1962/5909/10464 +f 2004/5910/10465 2002/5911/10466 1964/5912/10467 +f 1966/5913/10468 2004/5914/10469 1964/5915/10470 +f 2006/5916/10471 2004/5917/10472 1966/5918/10473 +f 1968/5919/10474 2006/5920/10475 1966/5921/10476 +f 2008/5922/10477 2006/5923/10478 1968/5924/10479 +f 2012/5925/10480 2011/5926/10481 2010/5927/10482 +f 2013/5928/10483 2011/5929/10484 2012/5930/10485 +f 2014/5931/10486 2013/5932/10487 2012/5933/10488 +f 2015/5934/10489 2013/5935/10490 2014/5931/10491 +f 2016/5936/10492 2015/5937/10493 2014/5931/10494 +f 2017/5938/10495 2015/5939/10496 2016/5936/10497 +f 2018/5940/10498 2017/5941/10499 2016/5936/10500 +f 2019/5942/10501 2017/5943/10502 2018/5940/10503 +f 1796/5944/10504 2020/5945/10505 1895/5946/10506 +f 2021/5947/10507 2020/5948/10508 1796/5949/10509 +f 1958/5950/10510 2021/5951/10511 1796/5952/10512 +f 2022/5953/10513 2021/5954/10514 1958/5955/10515 +f 2023/5956/10516 2022/5957/10517 1958/5958/10518 +f 1739/5959/10519 2022/5960/10520 2023/5956/10521 +f 1741/5961/10522 1739/5962/10523 2023/5956/10524 +f 2026/5963/10525 2025/5964/10526 2024/5965/10527 +f 2027/5966/10528 2025/5964/10529 2026/5963/10530 +f 2028/5967/10531 2027/5966/10532 2026/5963/10533 +f 2029/5968/10534 2027/5966/10535 2028/5967/10536 +f 2030/5969/10537 2029/5968/10538 2028/5967/10539 +f 2031/5970/10540 2029/5968/10541 2030/5969/10542 +f 2032/5971/10543 2031/5972/10544 2030/5969/10545 +f 2016/5936/10546 2033/5973/10547 1882/5586/10548 +f 2034/5974/10549 2033/5973/10550 2016/5936/10551 +f 2014/5931/10552 2034/5974/10553 2016/5936/10554 +f 2035/5975/10555 2034/5974/10556 2014/5931/10557 +f 2012/5976/10558 2035/5975/10559 2014/5931/10560 +f 2036/5977/10561 2035/5975/10562 2012/5978/10563 +f 2010/5979/10564 2036/5977/10565 2012/5980/10566 +f 2037/5981/10567 1678/5243/10568 1680/5245/10569 +f 2038/5982/10570 1678/5243/10571 2037/5983/10572 +f 1797/5435/10573 2038/5984/10574 2037/5985/10575 +f 2039/5986/10576 2038/5987/10577 1797/5435/10578 +f 1798/5434/10579 2039/5988/10580 1797/5435/10581 +f 1672/5237/10582 2039/5989/10583 1798/5434/10584 +f 1670/5235/10585 1672/5237/10586 1798/5434/10587 +f 2003/5990/10588 2040/5991/10589 2001/5992/10590 +f 2041/5993/10591 2040/5994/10592 2003/5995/10593 +f 2005/5996/10594 2041/5997/10595 2003/5998/10596 +f 2042/5999/10597 2041/6000/10598 2005/6001/10599 +f 2007/6002/10600 2042/6003/10601 2005/6004/10602 +f 2009/6005/10603 2042/6006/10604 2007/6007/10605 +f 1880/6008/10606 1876/5579/10607 1878/5581/10608 +f 2043/6009/10609 1876/5579/10610 1880/6010/10611 +f 2044/6011/10612 2043/6012/10613 1880/6013/10614 +f 2045/6014/10615 2043/6015/10616 2044/6016/10617 +f 2046/6017/10618 2045/6018/10619 2044/6019/10620 +f 2047/6020/10621 2045/6021/10622 2046/6022/10623 +f 1965/6023/10624 2048/6024/10625 1967/6025/10626 +f 2049/6026/10627 2048/6027/10628 1965/6028/10629 +f 1963/6029/10630 2049/6030/10631 1965/6031/10632 +f 2050/6032/10633 2049/6033/10634 1963/6034/10635 +f 1961/6035/10636 2050/6036/10637 1963/6037/10638 +f 1959/6038/10639 2050/6039/10640 1961/6040/10641 +f 2052/6041/10642 2051/6042/10643 1697/6043/10644 +f 2053/6044/10645 2051/6045/10646 2052/6046/10647 +f 1693/5258/10648 2053/6047/10649 2052/6048/10650 +f 2054/6049/10651 2053/6050/10652 1693/5258/10653 +f 1691/5256/10654 2054/6051/10655 1693/5258/10656 +f 1689/5254/10657 2054/6052/10658 1691/5256/10659 +f 1912/5638/10660 1811/5458/10661 1809/6053/10662 +f 1654/5217/10663 1811/5458/10664 1912/5638/10665 +f 1911/6054/10666 1654/5217/10667 1912/5638/10668 +f 2055/6055/10669 1654/5217/10670 1911/6054/10671 +f 1709/6056/10672 2055/6055/10673 1911/6054/10674 +f 2056/6057/10675 2055/6055/10676 1709/6056/10677 +f 1924/5669/10678 1649/5212/10679 1647/5210/10680 +f 1752/5370/10681 1649/5212/10682 1924/5669/10683 +f 1926/5671/10684 1752/5370/10685 1924/5669/10686 +f 1754/5372/10687 1752/5370/10688 1926/5671/10689 +f 1928/5673/10690 1754/5372/10691 1926/5671/10692 +f 2057/6058/10693 1754/5372/10694 1928/5673/10695 +f 2058/6059/10696 1797/5435/10697 2037/6060/10698 +f 1799/5433/10699 1797/5435/10700 2058/6061/10701 +f 2059/6062/10702 1799/5433/10703 2058/6063/10704 +f 2060/6064/10705 1799/5433/10706 2059/6065/10707 +f 1919/5663/10708 2060/6064/10709 2059/6066/10710 +f 1917/6067/10711 2060/6064/10712 1919/5663/10713 +f 2011/6068/10714 1969/6069/10715 2010/6070/10716 +f 1971/6071/10717 1969/6072/10718 2011/6073/10719 +f 2061/6074/10720 1971/6075/10721 2011/6076/10722 +f 2062/6077/10723 1971/6078/10724 2061/6079/10725 +f 1722/6080/10726 2062/6081/10727 2061/6082/10728 +f 1720/6083/10729 2062/6084/10730 1722/6085/10731 +f 1745/6086/10732 1951/6087/10733 1747/6088/10734 +f 1953/6089/10735 1951/6090/10736 1745/6091/10737 +f 1743/6092/10738 1953/6093/10739 1745/6094/10740 +f 2063/6095/10741 1953/6096/10742 1743/6097/10743 +f 1741/6098/10744 2063/6095/10745 1743/6099/10746 +f 2023/5956/10747 2063/6095/10748 1741/6100/10749 +f 2064/6101/10750 1825/5573/10751 1872/5575/10752 +f 1824/6102/10753 1825/5573/10754 2064/6103/10755 +f 2065/6104/10756 1824/6105/10757 2064/6106/10758 +f 1822/6107/10759 1824/6108/10760 2065/6109/10761 +f 2066/6110/10762 1822/6111/10763 2065/6112/10764 +f 2067/6113/10765 1822/6114/10766 2066/6115/10767 +f 1986/6116/10768 1776/5397/10769 1774/5395/10770 +f 2068/6117/10771 1776/5397/10772 1986/6118/10773 +f 1984/6119/10774 2068/6120/10775 1986/6121/10776 +f 1782/6122/10777 2068/6123/10778 1984/6124/10779 +f 1784/5410/10780 1782/6125/10781 1984/6126/10782 +f 1753/5371/10783 1653/5216/10784 1651/5214/10785 +f 2069/6127/10786 1653/5216/10787 1753/5371/10788 +f 1755/5373/10789 2069/6128/10790 1753/5371/10791 +f 1759/5377/10792 2069/6129/10793 1755/5373/10794 +f 1757/5375/10795 1759/5377/10796 1755/5373/10797 +f 1768/6130/10798 2070/6131/10799 1770/5389/10800 +f 2071/6132/10801 2070/6131/10802 1768/6133/10803 +f 2072/6134/10804 2071/6135/10805 1768/6136/10806 +f 1735/6137/10807 2071/6138/10808 2072/6139/10809 +f 2073/6140/10810 1735/6141/10811 2072/6142/10812 +f 2076/6143/10813 2075/6144/10814 2074/6145/10815 +f 2077/6146/10816 2075/6147/10817 2076/6148/10818 +f 1921/5665/10819 2077/6149/10820 2076/6150/10821 +f 2078/6151/10822 2077/6152/10823 1921/5665/10824 +f 1920/5666/10825 2078/6153/10826 1921/5665/10827 +f 2015/6154/10828 1726/6155/10829 2013/6156/10830 +f 1728/6157/10831 1726/6158/10832 2015/6159/10833 +f 2017/6160/10834 1728/6161/10835 2015/6162/10836 +f 1730/6163/10837 1728/6164/10838 2017/6165/10839 +f 2079/6166/10840 1730/6167/10841 2017/6168/10842 +f 1717/6169/10843 1981/6170/10844 1715/6171/10845 +f 1979/6172/10846 1981/6173/10847 1717/6174/10848 +f 1719/6175/10849 1979/6176/10850 1717/6177/10851 +f 1978/6178/10852 1979/6179/10853 1719/6180/10854 +f 1988/6181/10855 1978/6182/10856 1719/6183/10857 +f 1994/6184/10858 2071/6185/10859 1735/6186/10860 +f 2080/6187/10861 2071/6188/10862 1994/6189/10863 +f 1993/5839/10864 2080/6187/10865 1994/6190/10866 +f 1714/6191/10867 2080/6187/10868 1993/5839/10869 +f 1716/6192/10870 1714/6193/10871 1993/5839/10872 +f 2081/6194/10873 1738/5346/10874 1740/5348/10875 +f 1736/5344/10876 1738/5346/10877 2081/6195/10878 +f 1890/5599/10879 1736/5344/10880 2081/6196/10881 +f 1734/5342/10882 1736/5344/10883 1890/5599/10884 +f 1732/5340/10885 1734/5342/10886 1890/5599/10887 +f 1886/5593/10888 1742/5352/10889 1744/5356/10890 +f 2082/6197/10891 1742/5352/10892 1886/5593/10893 +f 1888/5595/10894 2082/6198/10895 1886/5593/10896 +f 1889/5597/10897 2082/6199/10898 1888/5595/10899 +f 2076/6200/10900 1922/5667/10901 1921/5665/10902 +f 2083/6201/10903 1922/5667/10904 2076/6202/10905 +f 2084/6203/10906 2083/6204/10907 2076/6205/10908 +f 2085/6206/10909 2083/6207/10910 2084/6208/10911 +f 2073/6209/10912 1737/5345/10913 1735/5343/10914 +f 2086/6210/10915 1737/5345/10916 2073/6209/10917 +f 1762/6211/10918 2086/6212/10919 2073/6209/10920 +f 2022/6213/10921 2086/6214/10922 1762/6215/10923 +f 2082/6216/10924 1740/5348/10925 1742/5352/10926 +f 2081/6217/10927 1740/5348/10928 2082/6218/10929 +f 1889/5597/10930 2081/6219/10931 2082/6220/10932 +f 1890/5599/10933 2081/6221/10934 1889/5597/10935 +f 2087/6222/10936 1687/5252/10937 1685/5250/10938 +f 2088/6223/10939 1687/5252/10940 2087/6222/10941 +f 2089/6224/10942 2088/6225/10943 2087/6222/10944 +f 2054/6226/10945 2088/6227/10946 2089/6228/10947 +f 2090/6229/10948 1947/5705/10949 1945/5703/10950 +f 1949/6230/10951 1947/5705/10952 2090/6231/10953 +f 1844/6232/10954 1949/6233/10955 2090/6234/10956 +f 1846/6235/10957 1949/6236/10958 1844/6237/10959 +f 2056/6238/10960 1701/5266/10961 1699/5264/10962 +f 2091/6239/10963 1701/5266/10964 2056/6238/10965 +f 1709/5276/10966 2091/6240/10967 2056/6238/10968 +f 1708/5274/10969 2091/6241/10970 1709/5276/10971 +f 1952/6242/10972 1751/5369/10973 1749/5366/10974 +f 2092/6243/10975 1751/5369/10976 1952/6244/10977 +f 1954/6245/10978 2092/6243/10979 1952/6246/10980 +f 1956/6247/10981 2092/6243/10982 1954/6248/10983 +f 2063/6095/10984 1955/6249/10985 1953/6250/10986 +f 1957/6251/10987 1955/6252/10988 2063/6095/10989 +f 2023/5956/10990 1957/6253/10991 2063/6095/10992 +f 1958/6254/10993 1957/6255/10994 2023/5956/10995 +f 2093/6256/10996 1761/5379/10997 1763/5381/10998 +f 2094/6257/10999 1761/5379/11000 2093/6258/11001 +f 1659/5222/11002 2094/6259/11003 2093/6260/11004 +f 1657/5220/11005 2094/6261/11006 1659/5222/11007 +f 1766/5384/11008 2072/6262/11009 1768/6263/11010 +f 2073/6140/11011 2072/6264/11012 1766/5384/11013 +f 1764/5382/11014 2073/6140/11015 1766/5384/11016 +f 1762/5380/11017 2073/6140/11018 1764/5382/11019 +f 2095/6265/11020 1690/5255/11021 1702/5267/11022 +f 1688/5253/11023 1690/5255/11024 2095/6266/11025 +f 2096/6267/11026 1688/5253/11027 2095/6268/11028 +f 1686/5251/11029 1688/5253/11030 2096/6269/11031 +f 2049/6270/11032 2097/6271/11033 2048/6272/11034 +f 2098/6273/11035 2097/6274/11036 2049/6275/11037 +f 2050/6276/11038 2098/6277/11039 2049/6278/11040 +f 1959/6279/11041 2098/6280/11042 2050/6281/11043 +f 1868/6282/11044 1853/5522/11045 1851/6283/11046 +f 2099/6284/11047 1853/5522/11048 1868/6285/11049 +f 1859/6286/11050 2099/6287/11051 1868/6288/11052 +f 1857/6289/11053 2099/6290/11054 1859/6291/11055 +f 1849/6292/11056 1865/6293/11057 1851/6294/11058 +f 2100/6295/11059 1865/6296/11060 1849/6297/11061 +f 1847/6298/11062 2100/6299/11063 1849/6300/11064 +f 1861/6301/11065 2100/6302/11066 1847/6303/11067 +f 1852/6304/11068 1948/6305/11069 1950/6306/11070 +f 2101/6307/11071 1948/6308/11072 1852/6309/11073 +f 1854/6310/11074 2101/6311/11075 1852/6312/11076 +f 1856/6313/11077 2101/6314/11078 1854/6315/11079 +f 2045/6316/11080 1872/5575/11081 1874/5577/11082 +f 2064/6317/11083 1872/5575/11084 2045/6318/11085 +f 2047/6319/11086 2064/6320/11087 2045/6321/11088 +f 2102/6322/11089 2064/6323/11090 2047/6324/11091 +f 2041/6325/11092 2103/6326/11093 2040/6327/11094 +f 2104/6328/11095 2103/6329/11096 2041/6330/11097 +f 2042/6331/11098 2104/6332/11099 2041/6333/11100 +f 2009/6334/11101 2104/6335/11102 2042/6336/11103 +f 1942/5699/11104 1875/5578/11105 1873/5576/11106 +f 1877/5580/11107 1875/5578/11108 1942/5699/11109 +f 2105/6337/11110 1877/5580/11111 1942/5699/11112 +f 2074/6338/11113 1877/5580/11114 2105/6339/11115 +f 2106/6340/11116 1997/6341/11117 1995/5859/11118 +f 2107/6342/11119 1997/6343/11120 2106/6344/11121 +f 2108/6345/11122 2107/6346/11123 2106/6347/11124 +f 1683/6348/11125 2107/6349/11126 2108/6350/11127 +f 2110/6351/11128 1665/5228/11129 2109/6352/11130 +f 1710/6353/11131 1665/5228/11132 2110/6351/11133 +f 2111/6354/11134 1710/6355/11135 2110/6351/11136 +f 1712/6356/11137 1710/6357/11138 2111/6354/11139 +f 1704/5269/11140 2095/6358/11141 1702/5267/11142 +f 2096/6359/11143 2095/6360/11144 1704/5269/11145 +f 1706/5271/11146 2096/6361/11147 1704/5269/11148 +f 1686/5251/11149 2096/6362/11150 1706/5271/11151 +f 2114/6363/11152 2113/6364/11153 2112/6365/11154 +f 2115/6366/11155 2113/6367/11156 2114/6368/11157 +f 2116/6369/11158 2115/6370/11159 2114/6371/11160 +f 2117/6372/11161 2115/6373/11162 2116/6374/11163 +f 2115/6375/11164 2118/6376/11165 2113/6377/11166 +f 2119/6378/11167 2118/6379/11168 2115/6380/11169 +f 2117/6381/11170 2119/6382/11171 2115/6383/11172 +f 2120/6384/11173 2119/6385/11174 2117/6386/11175 +f 2027/5966/11176 2121/6387/11177 2025/5964/11178 +f 2122/6388/11179 2121/6389/11180 2027/5966/11181 +f 2029/5968/11182 2122/6390/11183 2027/5966/11184 +f 2031/6391/11185 2122/6392/11186 2029/5968/11187 +f 1750/6393/11188 1985/6394/11189 1987/6395/11190 +f 2123/6396/11191 1985/6397/11192 1750/6398/11193 +f 1751/6399/11194 2123/6400/11195 1750/6401/11196 +f 2092/6402/11197 2123/6403/11198 1751/6404/11199 +f 1702/5267/11200 1698/5263/11201 1700/5265/11202 +f 2124/6405/11203 1698/5263/11204 1702/5267/11205 +f 1690/5255/11206 2124/6406/11207 1702/5267/11208 +f 1692/5257/11209 2124/6407/11210 1690/5255/11211 +f 2091/6408/11212 1703/5268/11213 1701/5266/11214 +f 2125/6409/11215 1703/5268/11216 2091/6410/11217 +f 1708/5274/11218 2125/6411/11219 2091/6412/11220 +f 1707/5272/11221 2125/6413/11222 1708/5274/11223 +f 1866/6414/11224 1869/6415/11225 1867/6416/11226 +f 2126/6417/11227 1869/6418/11228 1866/6419/11229 +f 1864/5552/11230 2126/6420/11231 1866/6421/11232 +f 2068/6422/11233 1778/5399/11234 1776/5397/11235 +f 1780/6423/11236 1778/5399/11237 2068/6424/11238 +f 1782/6425/11239 1780/6426/11240 2068/6427/11241 +f 1999/6428/11242 1683/6429/11243 1681/6430/11244 +f 2107/6431/11245 1683/6432/11246 1999/6433/11247 +f 1997/6434/11248 2107/6435/11249 1999/6436/11250 +f 1758/5376/11251 1895/5691/11252 2020/6437/11253 +f 1934/5692/11254 1895/5691/11255 1758/5376/11256 +f 2127/6438/11257 1934/5692/11258 1758/5376/11259 +f 1936/6439/11260 1894/6440/11261 1895/5621/11262 +f 1893/6441/11263 1894/6442/11264 1936/6443/11265 +f 1892/6444/11266 1893/6445/11267 1936/6446/11268 +f 1891/6447/11269 1819/6448/11270 1817/6449/11271 +f 1821/5479/11272 1819/6450/11273 1891/6451/11274 +f 1823/5482/11275 1821/5479/11276 1891/6452/11277 +f 1892/6453/11278 1825/5484/11279 1823/5482/11280 +f 1870/6454/11281 1825/5484/11282 1892/6455/11283 +f 1936/6456/11284 1870/6457/11285 1892/6458/11286 +f 1925/5670/11287 2128/6459/11288 1927/5672/11289 +f 2085/6460/11290 2128/6461/11291 1925/5670/11292 +f 2083/6462/11293 2085/6463/11294 1925/5670/11295 +f 2013/6464/11296 2061/6465/11297 2011/6466/11298 +f 1724/6467/11299 2061/6468/11300 2013/6469/11301 +f 1726/6470/11302 1724/6471/11303 2013/6472/11304 +f 2062/6473/11305 1973/6474/11306 1971/6475/11307 +f 1992/5836/11308 1973/6476/11309 2062/6477/11310 +f 1720/6478/11311 1992/5836/11312 2062/6479/11313 +f 2129/6480/11314 1721/6481/11315 1723/6482/11316 +f 1719/6483/11317 1721/6484/11318 2129/6485/11319 +f 1988/6486/11320 1719/6487/11321 2129/6488/11322 +f 2129/6489/11323 1989/6490/11324 1988/6491/11325 +f 2126/6492/11326 1989/6493/11327 2129/6494/11328 +f 1723/6495/11329 2126/6496/11330 2129/6497/11331 +f 1929/6498/11332 1798/5434/11333 1800/5436/11334 +f 1670/5235/11335 1798/5434/11336 1929/6499/11337 +f 1668/5231/11338 1670/5235/11339 1929/6500/11340 +f 2094/6501/11341 1759/5377/11342 1761/5379/11343 +f 2069/6502/11344 1759/5377/11345 2094/6503/11346 +f 1657/5220/11347 2069/6504/11348 2094/6505/11349 +f 2124/6506/11350 1696/5261/11351 1698/5263/11352 +f 1694/5259/11353 1696/5261/11354 2124/6507/11355 +f 1692/5257/11356 1694/5259/11357 2124/6508/11358 +f 2119/6509/11359 2030/5969/11360 2118/6510/11361 +f 2032/6511/11362 2030/5969/11363 2119/6512/11364 +f 2120/6513/11365 2032/6514/11366 2119/6515/11367 +f 1850/5516/11368 1950/6516/11369 1848/5511/11370 +f 1852/6517/11371 1950/6518/11372 1850/5516/11373 +f 1944/5702/11374 1856/6519/11375 1858/5535/11376 +f 1946/5704/11377 1856/6520/11378 1944/5702/11379 +f 1946/5704/11380 2101/6521/11381 1856/6522/11382 +f 1948/6523/11383 2101/6524/11384 1946/5704/11385 +f 2132/6525/11386 2131/6526/11387 2130/6527/11388 +f 2133/6528/11389 2131/6526/11390 2132/6525/11391 +f 2053/6529/11392 2089/6530/11393 2051/6531/11394 +f 2054/6532/11395 2089/6533/11396 2053/6534/11397 +f 1914/6535/11398 1998/6536/11399 1913/6537/11400 +f 1915/5650/11401 1998/6538/11402 1914/6539/11403 +f 1915/5650/11404 1996/5861/11405 1998/6540/11406 +f 1916/6541/11407 1996/5861/11408 1915/5650/11409 +f 2099/6542/11410 1855/6543/11411 1853/5522/11412 +f 1857/6544/11413 1855/6545/11414 2099/6546/11415 +f 1674/5239/11416 2039/6547/11417 1672/5237/11418 +f 1676/5241/11419 2039/6548/11420 1674/5239/11421 +f 2038/6549/11422 1676/5241/11423 1678/5243/11424 +f 2039/6550/11425 1676/5241/11426 2038/6551/11427 +f 2060/6064/11428 1801/5437/11429 1799/5433/11430 +f 1917/6552/11431 1801/5437/11432 2060/6064/11433 +f 1982/6553/11434 1671/5236/11435 1669/5233/11436 +f 1980/6554/11437 1671/5236/11438 1982/6555/11439 +f 1922/5667/11440 1925/5670/11441 1923/5668/11442 +f 2083/6556/11443 1925/5670/11444 1922/5667/11445 +f 1803/6557/11446 1917/6558/11447 1805/6559/11448 +f 1801/5437/11449 1917/6560/11450 1803/6561/11451 +f 2134/6562/11452 1644/5207/11453 1646/5209/11454 +f 2135/6563/11455 1644/5207/11456 2134/6562/11457 +f 1648/5211/11458 2056/6057/11459 1699/6564/11460 +f 1650/5213/11461 2056/6057/11462 1648/5211/11463 +f 2136/6565/11464 1767/5385/11465 1769/5387/11466 +f 2133/6566/11467 1767/5385/11468 2136/6565/11469 +f 2133/6567/11470 1765/5383/11471 1767/5385/11472 +f 2132/6568/11473 1765/5383/11474 2133/6569/11475 +f 2065/6570/11476 2102/6571/11477 2066/6572/11478 +f 2064/6573/11479 2102/6574/11480 2065/6575/11481 +f 2125/6576/11482 1705/5270/11483 1703/5268/11484 +f 1707/5272/11485 1705/5270/11486 2125/6577/11487 +f 1731/6578/11488 1820/5476/11489 1822/5481/11490 +f 1732/6579/11491 1820/5476/11492 1731/6580/11493 +f 1771/6581/11494 1883/6582/11495 1748/5364/11496 +f 1813/6583/11497 1883/6584/11498 1771/6585/11499 +f 2043/6586/11500 1874/5577/11501 1876/5579/11502 +f 2045/6587/11503 1874/5577/11504 2043/6588/11505 +f 1813/6589/11506 1885/5591/11507 1883/6590/11508 +f 1814/6591/11509 1885/5591/11510 1813/6592/11511 +f 1814/6593/11512 1887/5594/11513 1885/5591/11514 +f 1815/5596/11515 1887/5594/11516 1814/6594/11517 +f 2076/6595/11518 2105/6596/11519 2084/6597/11520 +f 2074/6598/11521 2105/6599/11522 2076/6600/11523 +f 2088/6601/11524 1689/5254/11525 1687/5252/11526 +f 2054/6602/11527 1689/5254/11528 2088/6603/11529 +f 1787/6604/11530 1958/6605/11531 1796/6606/11532 +f 1786/6607/11533 1958/6608/11534 1787/6609/11535 +f 1748/5393/11536 1987/6610/11537 1772/5391/11538 +f 1750/6611/11539 1987/6612/11540 1748/5393/11541 +f 1869/6613/11542 1723/6614/11543 1725/6615/11544 +f 2126/6616/11545 1723/6617/11546 1869/6618/11547 +f 1713/6619/11548 1981/6620/11549 1711/6621/11550 +f 1715/6622/11551 1981/6623/11552 1713/6624/11553 +f 1884/5589/11554 1744/5356/11555 1746/5360/11556 +f 1886/5593/11557 1744/5356/11558 1884/5589/11559 +f 1684/5249/11560 1706/5271/11561 1682/5273/11562 +f 1686/5251/11563 1706/5271/11564 1684/5249/11565 +f 1938/5695/11566 1870/5574/11567 1936/5693/11568 +f 1871/5572/11569 1870/5574/11570 1938/5695/11571 +f 2086/6625/11572 1739/6626/11573 1737/5345/11574 +f 2022/6627/11575 1739/6628/11576 2086/6629/11577 +f 1695/5260/11578 2052/6630/11579 1697/5262/11580 +f 1693/5258/11581 2052/6631/11582 1695/5260/11583 +f 2137/6632/11584 1665/5228/11585 1663/5226/11586 +f 2109/6352/11587 1665/5228/11588 2137/6633/11589 +f 1860/6634/11590 1843/6635/11591 1990/6636/11592 +f 1845/6637/11593 1843/6638/11594 1860/6639/11595 +f 1731/6640/11596 1976/6641/11597 1733/5786/11598 +f 2138/6642/11599 1976/6643/11600 1731/6644/11601 +f 2139/6645/11602 1976/6646/11603 2138/6647/11604 +f 1972/6648/11605 1976/6649/11606 2139/6650/11607 +f 2140/6651/11608 1769/6652/11609 1770/6653/11610 +f 2136/6654/11611 1769/6655/11612 2140/6656/11613 +f 1881/5584/11614 2016/5936/11615 1882/6657/11616 +f 2018/5940/11617 2016/5936/11618 1881/5584/11619 +f 2142/6658/11620 1729/6659/11621 2141/6660/11622 +f 1727/6661/11623 1729/6662/11624 2142/6663/11625 +f 1990/6664/11626 1862/6665/11627 1860/6666/11628 +f 1989/6667/11629 1862/6668/11630 1990/6669/11631 +f 2143/6670/11632 2030/5969/11633 2028/5967/11634 +f 2118/6671/11635 2030/5969/11636 2143/6670/11637 +f 2100/6672/11638 1863/5549/11639 1865/6673/11640 +f 1861/6674/11641 1863/5549/11642 2100/6675/11643 +f 2123/6676/11644 1983/6677/11645 1985/6678/11646 +f 2092/6679/11647 1983/6680/11648 2123/6681/11649 +f 1660/5223/11650 1812/5460/11651 1658/5221/11652 +f 1662/5225/11653 1812/5460/11654 1660/5223/11655 +f 1653/5216/11656 1657/5220/11657 1655/5218/11658 +f 2069/6682/11659 1657/5220/11660 1653/5216/11661 +f 2144/6683/11662 1663/5226/11663 1661/5224/11664 +f 2137/6684/11665 1663/5226/11666 2144/6685/11667 +f 1650/5213/11668 2055/6055/11669 2056/6057/11670 +f 1652/5215/11671 2055/6055/11672 1650/5213/11673 +f 1877/5580/11674 2075/6686/11675 1879/5582/11676 +f 2074/6687/11677 2075/6688/11678 1877/5580/11679 +f 1760/5378/11680 2020/6689/11681 1762/5380/11682 +f 1758/5376/11683 2020/6690/11684 1760/5378/11685 +f 2145/6691/11686 1765/5383/11687 2132/6692/11688 +f 1763/5381/11689 1765/5383/11690 2145/6693/11691 +f 2067/6694/11692 1731/6695/11693 1822/6696/11694 +f 2138/6697/11695 1731/6698/11696 2067/6699/11697 +f 1989/6700/11698 1864/5552/11699 1862/6701/11700 +f 2126/6702/11701 1864/5552/11702 1989/6703/11703 +f 2146/6704/11704 2098/6705/11705 1959/6706/11706 +f 2097/6707/11707 2098/6708/11708 2146/6709/11709 +f 1880/6710/11710 2033/5973/11711 2044/6711/11712 +f 1882/5586/11713 2033/5973/11714 1880/6712/11715 +f 2021/6713/11716 1762/6714/11717 2020/6715/11718 +f 2022/6716/11719 1762/6717/11720 2021/6718/11721 +f 2147/6719/11722 2104/6720/11723 2009/6721/11724 +f 2103/6722/11725 2104/6723/11726 2147/6724/11727 +f 2131/6526/11728 2133/6528/11729 2136/6654/11730 +f 1980/6725/11731 1673/5238/11732 1671/5236/11733 +f 1652/5215/11734 1654/5217/11735 2055/6055/11736 +f 1811/5458/11737 1654/5217/11738 1656/5219/11739 +f 1756/5374/11740 1754/5372/11741 2057/6726/11742 +f 1756/5374/11743 2127/6438/11744 1758/5376/11745 +f 1956/6727/11746 1983/6728/11747 2092/6729/11748 +f 1732/6730/11749 1818/6731/11750 1820/5476/11751 +f 2017/6732/11752 2019/5942/11753 2079/6733/11754 +f 2061/6734/11755 1724/6735/11756 1722/6736/11757 +f 1992/5836/11758 1975/6737/11759 1973/6738/11760 +f 1974/6739/11761 1976/6740/11762 1972/6741/11763 +f 2150/6742/11764 2149/6743/11765 2148/6744/11766 +f 2151/6745/11767 2149/6743/11768 2150/6742/11769 +f 2152/6746/11770 2151/6747/11771 2150/6742/11772 +f 2153/6748/11773 2151/6749/11774 2152/6746/11775 +f 2154/6750/11776 1659/5222/11777 2093/6751/11778 +f 2155/6752/11779 1659/5222/11780 2154/6750/11781 +f 2156/6753/11782 2155/6752/11783 2154/6750/11784 +f 2153/6748/11785 2155/6752/11786 2156/6753/11787 +f 2157/6754/11788 2149/6755/11789 2151/6756/11790 +f 2148/6757/11791 2149/6755/11792 2157/6754/11793 +f 2140/6758/11794 2148/6759/11795 2157/6754/11796 +f 2158/6760/11797 2148/6761/11798 2140/6758/11799 +f 2154/6750/11800 2145/6762/11801 2132/6763/11802 +f 1763/5381/11803 2145/6764/11804 2154/6750/11805 +f 2093/6765/11806 1763/5381/11807 2154/6750/11808 +f 2159/6766/11809 1712/6767/11810 2111/6354/11811 +f 1714/6768/11812 1712/6769/11813 2159/6770/11814 +f 2160/6771/11815 1714/6772/11816 2159/6773/11817 +f 2130/6774/11818 2156/6775/11819 2154/6776/11820 +f 2153/6777/11821 2156/6775/11822 2130/6778/11823 +f 2151/6756/11824 2153/6777/11825 2130/6779/11826 +f 2158/6760/11827 2161/6780/11828 2148/6781/11829 +f 2162/6782/11830 2161/6783/11831 2158/6760/11832 +f 2160/6784/11833 2162/6785/11834 2158/6760/11835 +f 2157/6786/11836 2136/6654/11837 2140/6787/11838 +f 2131/6526/11839 2136/6654/11840 2157/6786/11841 +f 2163/6788/11842 2148/6744/11843 2161/6789/11844 +f 2150/6742/11845 2148/6744/11846 2163/6790/11847 +f 2158/6791/11848 1770/6792/11849 2160/6793/11850 +f 2140/6794/11851 1770/6795/11852 2158/6796/11853 +f 2070/6131/11854 2160/6797/11855 1770/5389/11856 +f 2071/6798/11857 2160/6799/11858 2070/6131/11859 +f 2080/6187/11860 2160/6800/11861 2071/6801/11862 +f 1714/6802/11863 2160/6803/11864 2080/6187/11865 +f 2155/6752/11866 1661/5224/11867 1659/5222/11868 +f 2144/6804/11869 1661/5224/11870 2155/6752/11871 +f 2131/6805/11872 2151/6756/11873 2130/6806/11874 +f 2157/6754/11875 2151/6756/11876 2131/6807/11877 +f 2159/6808/11878 2162/6809/11879 2160/6810/11880 +f 2161/6811/11881 2162/6812/11882 2159/6813/11883 +f 2130/6527/11884 2154/6814/11885 2132/6525/11886 +f 2164/6815/11887 2111/6354/11888 2110/6351/11889 +f 2159/6816/11890 2111/6354/11891 2164/6815/11892 +f 2165/6817/11893 2159/6818/11894 2164/6815/11895 +f 2161/6819/11896 2159/6820/11897 2165/6817/11898 +f 2163/6821/11899 2161/6822/11900 2165/6817/11901 +f 2166/6823/11902 2137/6824/11903 2144/6825/11904 +f 2167/6826/11905 2137/6827/11906 2166/6828/11907 +f 2168/6829/11908 2167/6826/11909 2166/6830/11910 +f 2152/6746/11911 2167/6826/11912 2168/6831/11913 +f 2153/6748/11914 2152/6746/11915 2168/6832/11916 +f 2163/6833/11917 2169/6834/11918 2150/6742/11919 +f 2170/6835/11920 2169/6834/11921 2163/6836/11922 +f 2165/6817/11923 2170/6837/11924 2163/6838/11925 +f 2164/6815/11926 2170/6839/11927 2165/6817/11928 +f 2169/6834/11929 2109/6352/11930 2137/6840/11931 +f 2110/6351/11932 2109/6352/11933 2169/6834/11934 +f 2170/6841/11935 2110/6351/11936 2169/6834/11937 +f 2164/6815/11938 2110/6351/11939 2170/6842/11940 +f 2155/6752/11941 2166/6843/11942 2144/6844/11943 +f 2168/6845/11944 2166/6846/11945 2155/6752/11946 +f 2153/6748/11947 2168/6847/11948 2155/6752/11949 +f 2169/6834/11950 2152/6746/11951 2150/6742/11952 +f 2167/6826/11953 2152/6746/11954 2169/6834/11955 +f 2137/6848/11956 2167/6826/11957 2169/6834/11958 +f 2173/6849/11959 2172/6850/11960 2171/6851/11961 +f 2174/6852/11962 2172/6850/11963 2173/6849/11964 +f 2175/6853/11965 2174/6852/11966 2173/6849/11967 +f 2176/6854/11968 2174/6852/11969 2175/6853/11970 +f 2177/6855/11971 2176/6854/11972 2175/6853/11973 +f 2178/6856/11974 2176/6854/11975 2177/6855/11976 +f 2179/6857/11977 2178/6856/11978 2177/6855/11979 +f 2177/6855/11980 2180/6858/11981 2179/6857/11982 +f 2181/6859/11983 2180/6858/11984 2177/6855/11985 +f 2175/6853/11986 2181/6859/11987 2177/6855/11988 +f 2182/6860/11989 2181/6859/11990 2175/6853/11991 +f 2183/6861/11992 2182/6860/11993 2175/6853/11994 +f 2184/6862/11995 2182/6860/11996 2183/6861/11997 +f 2185/6863/11998 2184/6862/11999 2183/6861/12000 +f 2188/6864/12001 2187/6865/12002 2186/6866/12003 +f 2175/6853/12004 2187/6867/12005 2188/6868/12006 +f 2189/6869/12007 2175/6853/12008 2188/6870/12009 +f 2183/6861/12010 2175/6853/12011 2189/6871/12012 +f 2190/6872/12013 2183/6861/12014 2189/6873/12015 +f 2185/6863/12016 2183/6861/12017 2190/6874/12018 +f 2187/6875/12019 2191/6876/12020 2186/6877/12021 +f 2192/6878/12022 2191/6879/12023 2187/6880/12024 +f 2193/6881/12025 2192/6878/12026 2187/6882/12027 +f 2194/6883/12028 2192/6878/12029 2193/6881/12030 +f 2195/6884/12031 2194/6883/12032 2193/6881/12033 +f 2189/6885/12034 2196/6886/12035 2190/6887/12036 +f 2197/6888/12037 2196/6886/12038 2189/6889/12039 +f 2188/6890/12040 2197/6888/12041 2189/6891/12042 +f 2198/6892/12043 2197/6888/12044 2188/6893/12045 +f 2186/6894/12046 2198/6892/12047 2188/6895/12048 +f 2175/6853/12049 2193/6881/12050 2187/6896/12051 +f 2199/6897/12052 2193/6881/12053 2175/6853/12054 +f 2173/6849/12055 2199/6897/12056 2175/6853/12057 +f 2200/6898/12058 2199/6897/12059 2173/6849/12060 +f 2171/6851/12061 2200/6898/12062 2173/6849/12063 +f 2181/6859/12064 2201/6899/12065 2180/6858/12066 +f 2202/6900/12067 2201/6899/12068 2181/6859/12069 +f 2182/6860/12070 2202/6900/12071 2181/6859/12072 +f 2203/6901/12073 2202/6900/12074 2182/6860/12075 +f 2184/6862/12076 2203/6901/12077 2182/6860/12078 +f 2204/6902/12079 2176/6854/12080 2178/6856/12081 +f 2205/6903/12082 2176/6854/12083 2204/6904/12084 +f 2205/6905/12085 2174/6852/12086 2176/6854/12087 +f 2206/6906/12088 2174/6852/12089 2205/6907/12090 +f 2207/6908/12091 2199/6897/12092 2200/6898/12093 +f 2195/6884/12094 2199/6897/12095 2207/6909/12096 +f 2199/6897/12097 2195/6884/12098 2193/6881/12099 +f 2172/6850/12100 2174/6852/12101 2206/6910/12102 +f 2210/6911/12103 2209/6912/12104 2208/6913/12105 +f 2211/6914/12106 2209/6912/12107 2210/6911/12108 +f 2212/6915/12109 2211/6914/12110 2210/6911/12111 +f 2213/6916/12112 2211/6914/12113 2212/6915/12114 +f 2214/6917/12115 2213/6916/12116 2212/6915/12117 +f 2215/6918/12118 2213/6916/12119 2214/6917/12120 +f 2218/6919/12121 2217/6920/12122 2216/6921/12123 +f 2219/6922/12124 2217/6920/12125 2218/6919/12126 +f 2209/6912/12127 2219/6922/12128 2218/6919/12129 +f 2220/6923/12130 2219/6922/12131 2209/6912/12132 +f 2221/6924/12133 2220/6923/12134 2209/6912/12135 +f 2223/6925/12136 2216/6921/12137 2222/6926/12138 +f 2218/6919/12139 2216/6921/12140 2223/6925/12141 +f 2226/6927/12142 2225/6928/12143 2224/6929/12144 +f 2227/6930/12145 2225/6928/12146 2226/6927/12147 +f 2211/6914/12148 2221/6924/12149 2209/6912/12150 +f 2213/6916/12151 2221/6924/12152 2211/6914/12153 +f 2220/6923/12154 2229/6931/12155 2228/6932/12156 +f 2230/6933/12157 2229/6931/12158 2220/6923/12159 +f 2221/6924/12160 2230/6933/12161 2220/6923/12162 +f 2231/6934/12163 2230/6933/12164 2221/6924/12165 +f 2232/6935/12166 2231/6934/12167 2221/6924/12168 +f 2233/6936/12169 2231/6934/12170 2232/6935/12171 +f 2234/6937/12172 2233/6936/12173 2232/6935/12174 +f 2235/6938/12175 2233/6936/12176 2234/6937/12177 +f 2236/6939/12178 2235/6938/12179 2234/6937/12180 +f 2224/6940/12181 2235/6938/12182 2236/6939/12183 +f 2237/6941/12184 2224/6940/12185 2236/6939/12186 +f 2226/6942/12187 2224/6940/12188 2237/6941/12189 +f 2238/6943/12190 2226/6942/12191 2237/6941/12192 +f 2239/6944/12193 2226/6942/12194 2238/6943/12195 +f 2240/6945/12196 2239/6944/12197 2238/6943/12198 +f 2241/6946/12199 2239/6944/12200 2240/6945/12201 +f 2242/6947/12202 2241/6946/12203 2240/6945/12204 +f 2243/6948/12205 2241/6946/12206 2242/6947/12207 +f 2244/6949/12208 2243/6948/12209 2242/6947/12210 +f 2245/6950/12211 2243/6948/12212 2244/6949/12213 +f 2248/6951/12214 2247/6952/12215 2246/6953/12216 +f 2249/6954/12217 2247/6952/12218 2248/6951/12219 +f 2227/6930/12220 2249/6954/12221 2248/6951/12222 +f 2250/6955/12223 2249/6954/12224 2227/6930/12225 +f 2251/6956/12226 2250/6955/12227 2227/6930/12228 +f 2252/6957/12229 2250/6955/12230 2251/6956/12231 +f 2253/6958/12232 2252/6957/12233 2251/6956/12234 +f 2216/6921/12235 2254/6959/12236 2222/6926/12237 +f 2255/6960/12238 2254/6959/12239 2216/6921/12240 +f 2217/6920/12241 2255/6960/12242 2216/6921/12243 +f 2228/6932/12244 2255/6960/12245 2217/6920/12246 +f 2219/6922/12247 2228/6932/12248 2217/6920/12249 +f 2220/6923/12250 2228/6932/12251 2219/6922/12252 +f 2222/6961/12253 2257/6962/12254 2256/6963/12255 +f 2258/6964/12256 2257/6962/12257 2222/6961/12258 +f 2254/6965/12259 2258/6964/12260 2222/6961/12261 +f 2259/6966/12262 2258/6964/12263 2254/6965/12264 +f 2260/6967/12265 2259/6966/12266 2254/6965/12267 +f 2213/6916/12268 2232/6935/12269 2221/6924/12270 +f 2234/6937/12271 2232/6935/12272 2213/6916/12273 +f 2215/6918/12274 2234/6937/12275 2213/6916/12276 +f 2236/6939/12277 2234/6937/12278 2215/6918/12279 +f 2261/6968/12280 2236/6939/12281 2215/6918/12282 +f 2264/6969/12283 2263/6970/12284 2262/6971/12285 +f 2265/6972/12286 2263/6973/12287 2264/6974/12288 +f 2266/6975/12289 2265/6976/12290 2264/6977/12291 +f 2267/6978/12292 2265/6979/12293 2266/6980/12294 +f 2270/6981/12295 2269/6982/12296 2268/6983/12297 +f 2249/6954/12298 2269/6984/12299 2270/6985/12300 +f 2271/6986/12301 2249/6954/12302 2270/6987/12303 +f 2247/6952/12304 2249/6954/12305 2271/6986/12306 +f 2238/6943/12307 2261/6968/12308 2240/6945/12309 +f 2236/6939/12310 2261/6968/12311 2238/6943/12312 +f 2237/6941/12313 2236/6939/12314 2238/6943/12315 +f 2257/6988/12316 2273/6989/12317 2272/6990/12318 +f 2258/6991/12319 2273/6989/12320 2257/6988/12321 +f 2258/6991/12322 2274/6992/12323 2273/6989/12324 +f 2259/6993/12325 2274/6992/12326 2258/6991/12327 +f 2276/6994/12328 2260/6995/12329 2275/6996/12330 +f 2274/6992/12331 2260/6995/12332 2276/6994/12333 +f 2255/6997/12334 2260/6967/12335 2254/6965/12336 +f 2275/6998/12337 2260/6967/12338 2255/6997/12339 +f 2272/6990/12340 2245/6999/12341 2257/7000/12342 +f 2277/7001/12343 2245/6999/12344 2272/6990/12345 +f 2278/7002/12346 2249/6954/12347 2250/6955/12348 +f 2269/7003/12349 2249/6954/12350 2278/7004/12351 +f 2245/7005/12352 2256/6963/12353 2257/7006/12354 +f 2244/7007/12355 2256/6963/12356 2245/7005/12357 +f 2239/6944/12358 2251/7008/12359 2226/6942/12360 +f 2241/6946/12361 2251/7008/12362 2239/6944/12363 +f 2241/6946/12364 2253/7009/12365 2251/7008/12366 +f 2243/6948/12367 2253/7009/12368 2241/6946/12369 +f 2263/7010/12370 2265/7011/12371 2279/7012/12372 +f 2224/6929/12373 2280/7013/12374 2235/7014/12375 +f 2227/6930/12376 2226/6927/12377 2251/6956/12378 +f 2260/6995/12379 2274/6992/12380 2259/6993/12381 +f 2245/6950/12382 2253/7009/12383 2243/6948/12384 +f 2283/7015/12385 2282/7016/12386 2281/7017/12387 +f 2244/6949/12388 2282/7016/12389 2283/7015/12390 +f 2284/7018/12391 2244/6949/12392 2283/7015/12393 +f 2256/7019/12394 2244/6949/12395 2284/7018/12396 +f 2256/7020/12397 2223/6925/12398 2222/6926/12399 +f 2285/7021/12400 2223/6925/12401 2256/7020/12402 +f 2284/7022/12403 2285/7021/12404 2256/7020/12405 +f 2286/7023/12406 2285/7021/12407 2284/7022/12408 +f 2288/7024/12409 2240/6945/12410 2287/7025/12411 +f 2242/6947/12412 2240/6945/12413 2288/7024/12414 +f 2282/7016/12415 2242/6947/12416 2288/7024/12417 +f 2244/6949/12418 2242/6947/12419 2282/7016/12420 +f 2287/7025/12421 2215/6918/12422 2214/6917/12423 +f 2261/6968/12424 2215/6918/12425 2287/7025/12426 +f 2240/6945/12427 2261/6968/12428 2287/7025/12429 +f 2290/7026/12430 2286/7023/12431 2289/7027/12432 +f 2285/7021/12433 2286/7023/12434 2290/7026/12435 +f 2223/6925/12436 2285/7021/12437 2290/7026/12438 +f 2290/7026/12439 2218/6919/12440 2223/6925/12441 +f 2208/6913/12442 2218/6919/12443 2290/7026/12444 +f 2208/6913/12445 2209/6912/12446 2218/6919/12447 +f 2281/7017/12448 2292/7028/12449 2291/7029/12450 +f 2293/7030/12451 2292/7028/12452 2281/7017/12453 +f 2282/7016/12454 2293/7030/12455 2281/7017/12456 +f 2288/7024/12457 2293/7030/12458 2282/7016/12459 +f 2293/7030/12460 2294/7031/12461 2292/7028/12462 +f 2295/7032/12463 2294/7031/12464 2293/7030/12465 +f 2288/7024/12466 2295/7032/12467 2293/7030/12468 +f 2287/7025/12469 2295/7032/12470 2288/7024/12471 +f 2295/7032/12472 2296/7033/12473 2294/7031/12474 +f 2297/7034/12475 2296/7033/12476 2295/7032/12477 +f 2287/7025/12478 2297/7034/12479 2295/7032/12480 +f 2214/6917/12481 2297/7034/12482 2287/7025/12483 +f 2297/7034/12484 2298/7035/12485 2296/7033/12486 +f 2299/7036/12487 2298/7035/12488 2297/7034/12489 +f 2214/6917/12490 2299/7036/12491 2297/7034/12492 +f 2212/6915/12493 2299/7036/12494 2214/6917/12495 +f 2299/7036/12496 2300/7037/12497 2298/7035/12498 +f 2301/7038/12499 2300/7037/12500 2299/7036/12501 +f 2212/6915/12502 2301/7038/12503 2299/7036/12504 +f 2210/6911/12505 2301/7038/12506 2212/6915/12507 +f 2301/7038/12508 2302/7039/12509 2300/7037/12510 +f 2303/7040/12511 2302/7039/12512 2301/7038/12513 +f 2210/6911/12514 2303/7040/12515 2301/7038/12516 +f 2208/6913/12517 2303/7040/12518 2210/6911/12519 +f 2303/7040/12520 2304/7041/12521 2302/7039/12522 +f 2289/7027/12523 2304/7041/12524 2303/7040/12525 +f 2208/6913/12526 2289/7027/12527 2303/7040/12528 +f 2290/7026/12529 2289/7027/12530 2208/6913/12531 +f 2284/7018/12532 2306/7042/12533 2305/7043/12534 +f 2283/7015/12535 2306/7042/12536 2284/7018/12537 +f 2283/7015/12538 2291/7029/12539 2306/7042/12540 +f 2281/7017/12541 2291/7029/12542 2283/7015/12543 +f 2289/7027/12544 2307/7044/12545 2304/7041/12546 +f 2286/7023/12547 2307/7044/12548 2289/7027/12549 +f 2305/7045/12550 2286/7023/12551 2284/7022/12552 +f 2307/7044/12553 2286/7023/12554 2305/7045/12555 +f 2310/7046/12556 2309/7047/12557 2308/7048/12558 +f 2311/7049/12559 2309/7047/12560 2310/7046/12561 +f 2312/7050/12562 2311/7049/12563 2310/7046/12564 +f 2313/7051/12565 2311/7049/12566 2312/7050/12567 +f 2314/7052/12568 2313/7051/12569 2312/7050/12570 +f 2315/7053/12571 2313/7051/12572 2314/7052/12573 +f 2316/7054/12574 2315/7053/12575 2314/7052/12576 +f 2317/7055/12577 2315/7053/12578 2316/7054/12579 +f 2318/7056/12580 2317/7055/12581 2316/7054/12582 +f 2319/7057/12583 2317/7055/12584 2318/7056/12585 +f 2302/7039/12586 2319/7057/12587 2318/7056/12588 +f 2304/7041/12589 2319/7057/12590 2302/7039/12591 +f 2318/7056/12592 2300/7037/12593 2302/7039/12594 +f 2320/7058/12595 2300/7037/12596 2318/7056/12597 +f 2316/7054/12598 2320/7058/12599 2318/7056/12600 +f 2321/7059/12601 2320/7058/12602 2316/7054/12603 +f 2314/7052/12604 2321/7059/12605 2316/7054/12606 +f 2322/7060/12607 2321/7059/12608 2314/7052/12609 +f 2312/7050/12610 2322/7060/12611 2314/7052/12612 +f 2323/7061/12613 2322/7060/12614 2312/7050/12615 +f 2310/7046/12616 2323/7061/12617 2312/7050/12618 +f 2326/7062/12619 2325/7063/12620 2324/7064/12621 +f 2327/7065/12622 2325/7063/12623 2326/7062/12624 +f 2328/7066/12625 2327/7065/12626 2326/7062/12627 +f 2329/7067/12628 2327/7065/12629 2328/7066/12630 +f 2330/7068/12631 2329/7067/12632 2328/7066/12633 +f 2331/7069/12634 2329/7067/12635 2330/7068/12636 +f 2305/7043/12637 2331/7069/12638 2330/7068/12639 +f 2306/7042/12640 2331/7069/12641 2305/7043/12642 +f 2327/7065/12643 2332/7070/12644 2325/7063/12645 +f 2333/7071/12646 2332/7070/12647 2327/7065/12648 +f 2329/7067/12649 2333/7071/12650 2327/7065/12651 +f 2334/7072/12652 2333/7071/12653 2329/7067/12654 +f 2331/7069/12655 2334/7072/12656 2329/7067/12657 +f 2335/7073/12658 2334/7072/12659 2331/7069/12660 +f 2306/7042/12661 2335/7073/12662 2331/7069/12663 +f 2291/7029/12664 2335/7073/12665 2306/7042/12666 +f 2333/7071/12667 2308/7048/12668 2332/7070/12669 +f 2310/7046/12670 2308/7048/12671 2333/7071/12672 +f 2334/7072/12673 2310/7046/12674 2333/7071/12675 +f 2323/7061/12676 2310/7046/12677 2334/7072/12678 +f 2335/7073/12679 2323/7061/12680 2334/7072/12681 +f 2336/7074/12682 2323/7061/12683 2335/7073/12684 +f 2291/7029/12685 2336/7074/12686 2335/7073/12687 +f 2292/7028/12688 2336/7074/12689 2291/7029/12690 +f 2317/7055/12691 2337/7075/12692 2315/7053/12693 +f 2338/7076/12694 2337/7075/12695 2317/7055/12696 +f 2319/7057/12697 2338/7076/12698 2317/7055/12699 +f 2339/7077/12700 2338/7076/12701 2319/7057/12702 +f 2304/7041/12703 2339/7077/12704 2319/7057/12705 +f 2307/7044/12706 2339/7077/12707 2304/7041/12708 +f 2338/7076/12709 2340/7078/12710 2337/7075/12711 +f 2341/7079/12712 2340/7078/12713 2338/7076/12714 +f 2339/7077/12715 2341/7079/12716 2338/7076/12717 +f 2342/7080/12718 2341/7079/12719 2339/7077/12720 +f 2307/7044/12721 2342/7080/12722 2339/7077/12723 +f 2305/7045/12724 2342/7080/12725 2307/7044/12726 +f 2343/7081/12727 2296/7033/12728 2298/7035/12729 +f 2344/7082/12730 2296/7033/12731 2343/7081/12732 +f 2322/7060/12733 2344/7082/12734 2343/7081/12735 +f 2336/7074/12736 2344/7082/12737 2322/7060/12738 +f 2323/7061/12739 2336/7074/12740 2322/7060/12741 +f 2320/7058/12742 2298/7035/12743 2300/7037/12744 +f 2343/7081/12745 2298/7035/12746 2320/7058/12747 +f 2321/7059/12748 2343/7081/12749 2320/7058/12750 +f 2322/7060/12751 2343/7081/12752 2321/7059/12753 +f 2330/7083/12754 2342/7080/12755 2305/7045/12756 +f 2345/7084/12757 2342/7080/12758 2330/7083/12759 +f 2328/7085/12760 2345/7084/12761 2330/7083/12762 +f 2326/7086/12763 2345/7084/12764 2328/7085/12765 +f 2345/7084/12766 2341/7079/12767 2342/7080/12768 +f 2346/7087/12769 2341/7079/12770 2345/7084/12771 +f 2347/7088/12772 2346/7087/12773 2345/7084/12774 +f 2324/7089/12775 2345/7084/12776 2326/7086/12777 +f 2347/7088/12778 2345/7084/12779 2324/7089/12780 +f 2292/7028/12781 2344/7082/12782 2336/7074/12783 +f 2294/7031/12784 2344/7082/12785 2292/7028/12786 +f 2346/7087/12787 2340/7078/12788 2341/7079/12789 +f 2344/7082/12790 2294/7031/12791 2296/7033/12792 +f 2350/7090/12793 2349/7091/12794 2348/7092/12795 +f 2351/7093/12796 2349/7091/12797 2350/7090/12798 +f 2352/7094/12799 2351/7093/12800 2350/7090/12801 +f 2353/7095/12802 2351/7093/12803 2352/7096/12804 +f 2354/7097/12805 2353/7095/12806 2352/7098/12807 +f 2355/7099/12808 2353/7095/12809 2354/7097/12810 +f 2356/7100/12811 2355/7099/12812 2354/7097/12813 +f 2359/7101/12814 2358/7102/12815 2357/7103/12816 +f 2360/7104/12817 2358/7102/12818 2359/7101/12819 +f 2361/7105/12820 2360/7104/12821 2359/7101/12822 +f 2362/7106/12823 2360/7104/12824 2361/7105/12825 +f 2363/7107/12826 2362/7106/12827 2361/7105/12828 +f 2364/7108/12829 2362/7106/12830 2363/7107/12831 +f 2367/7109/12832 2366/7110/12833 2365/7111/12834 +f 2368/7112/12835 2366/7113/12836 2367/7114/12837 +f 2369/7115/12838 2368/7116/12839 2367/7117/12840 +f 2362/7106/12841 2368/7118/12842 2369/7115/12843 +f 2360/7104/12844 2362/7106/12845 2369/7115/12846 +f 2349/7091/12847 2370/7119/12848 2348/7092/12849 +f 2371/7120/12850 2370/7119/12851 2349/7091/12852 +f 2353/7095/12853 2371/7121/12854 2349/7091/12855 +f 2355/7099/12856 2371/7122/12857 2353/7095/12858 +f 2354/7097/12859 2372/7123/12860 2356/7100/12861 +f 2373/7124/12862 2372/7123/12863 2354/7097/12864 +f 2374/7125/12865 2373/7124/12866 2354/7097/12867 +f 2377/7126/12868 2376/7127/12869 2375/7128/12870 +f 2378/7129/12871 2376/7127/12872 2377/7126/12873 +f 2381/7130/12874 2380/7131/12875 2379/7132/12876 +f 2382/7133/12877 2380/7134/12878 2381/7135/12879 +f 2368/7136/12880 2364/7137/12881 2366/7138/12882 +f 2362/7106/12883 2364/7139/12884 2368/7140/12885 +f 2383/7141/12886 2352/7142/12887 2350/7090/12888 +f 2374/7143/12889 2352/7144/12890 2383/7145/12891 +f 2384/7146/12892 2371/7147/12893 2355/7099/12894 +f 2385/7148/12895 2371/7149/12896 2384/7150/12897 +f 2386/7151/12898 2371/7152/12899 2385/7153/12900 +f 2370/7119/12901 2371/7154/12902 2386/7155/12903 +f 2369/7115/12904 2358/7102/12905 2360/7104/12906 +f 2349/7091/12907 2351/7093/12908 2353/7095/12909 +f 2352/7156/12910 2374/7157/12911 2354/7097/12912 +f 2389/7158/12913 2388/7159/12914 2387/7160/12915 +f 2390/7161/12916 2388/7159/12917 2389/7158/12918 +f 2391/7162/12919 2390/7161/12920 2389/7158/12921 +f 2392/7163/12922 2390/7161/12923 2391/7162/12924 +f 2393/7164/12925 2392/7163/12926 2391/7162/12927 +f 2394/7165/12928 2392/7163/12929 2393/7164/12930 +f 2395/7166/12931 2394/7165/12932 2393/7164/12933 +f 2396/7167/12934 2394/7165/12935 2395/7166/12936 +f 2397/7168/12937 2396/7167/12938 2395/7166/12939 +f 2392/7163/12940 2399/7169/12941 2398/7170/12942 +f 2400/7171/12943 2399/7169/12944 2392/7163/12945 +f 2394/7165/12946 2400/7171/12947 2392/7163/12948 +f 2401/7172/12949 2400/7171/12950 2394/7165/12951 +f 2402/7173/12952 2401/7172/12953 2394/7165/12954 +f 2403/7174/12955 2401/7172/12956 2402/7173/12957 +f 2404/7175/12958 2403/7174/12959 2402/7173/12960 +f 2407/7176/12961 2406/7177/12962 2405/7178/12963 +f 2408/7179/12964 2406/7177/12965 2407/7176/12966 +f 2409/7180/12967 2408/7179/12968 2407/7176/12969 +f 2410/7181/12970 2408/7179/12971 2409/7180/12972 +f 2411/7182/12973 2410/7181/12974 2409/7180/12975 +f 2412/7183/12976 2410/7181/12977 2411/7182/12978 +f 2408/7179/12979 2387/7160/12980 2406/7177/12981 +f 2389/7158/12982 2387/7160/12983 2408/7179/12984 +f 2410/7181/12985 2389/7158/12986 2408/7179/12987 +f 2391/7162/12988 2389/7158/12989 2410/7181/12990 +f 2412/7183/12991 2391/7162/12992 2410/7181/12993 +f 2413/7184/12994 2391/7162/12995 2412/7183/12996 +f 2416/7185/12997 2415/7186/12998 2414/7187/12999 +f 2417/7188/13000 2415/7186/13001 2416/7185/13002 +f 2418/7189/13003 2417/7190/13004 2416/7185/13005 +f 2419/7191/13006 2417/7192/13007 2418/7189/13008 +f 2420/7193/13009 2419/7194/13010 2418/7189/13011 +f 2421/7195/13012 2419/7196/13013 2420/7193/13014 +f 2417/7197/13015 2422/7198/13016 2415/7186/13017 +f 2423/7199/13018 2422/7200/13019 2417/7201/13020 +f 2424/7202/13021 2423/7203/13022 2417/7204/13023 +f 2425/7205/13024 2423/7206/13025 2424/7207/13026 +f 2426/7208/13027 2425/7209/13028 2424/7210/13029 +f 2427/7211/13030 2425/7212/13031 2426/7213/13032 +f 2423/7214/13033 2428/7215/13034 2422/7216/13035 +f 2429/7217/13036 2428/7218/13037 2423/7219/13038 +f 2425/7220/13039 2429/7221/13040 2423/7222/13041 +f 2430/7223/13042 2429/7224/13043 2425/7225/13044 +f 2427/7226/13045 2430/7227/13046 2425/7228/13047 +f 2431/7229/13048 2430/7230/13049 2427/7231/13050 +f 2429/7232/13051 2432/7233/13052 2428/7234/13053 +f 2433/7235/13054 2432/7236/13055 2429/7237/13056 +f 2434/7238/13057 2433/7239/13058 2429/7240/13059 +f 2435/7241/13060 2433/7242/13061 2434/7243/13062 +f 2436/7244/13063 2435/7245/13064 2434/7246/13065 +f 2404/7247/13066 2435/7248/13067 2436/7249/13068 +f 2439/7250/13069 2438/7251/13070 2437/7252/13071 +f 2440/7253/13072 2438/7251/13073 2439/7254/13074 +f 2407/7176/13075 2440/7255/13076 2439/7256/13077 +f 2441/7257/13078 2440/7258/13079 2407/7176/13080 +f 2405/7178/13081 2441/7259/13082 2407/7176/13083 +f 2433/7260/13084 2442/7261/13085 2432/7262/13086 +f 2443/7263/13087 2442/7261/13088 2433/7264/13089 +f 2435/7265/13090 2443/7266/13091 2433/7267/13092 +f 2444/7268/13093 2443/7269/13094 2435/7270/13095 +f 2424/7271/13096 2445/7272/13097 2426/7273/13098 +f 2419/7274/13099 2445/7275/13100 2424/7276/13101 +f 2417/7277/13102 2419/7278/13103 2424/7279/13104 +f 2434/7280/13105 2446/7281/13106 2436/7282/13107 +f 2431/7283/13108 2446/7284/13109 2434/7285/13110 +f 2430/7286/13111 2431/7287/13112 2434/7288/13113 +f 2448/7289/13114 2418/7189/13115 2447/7290/13116 +f 2420/7193/13117 2418/7189/13118 2448/7291/13119 +f 2390/7161/13120 2398/7170/13121 2388/7159/13122 +f 2392/7163/13123 2398/7170/13124 2390/7161/13125 +f 2439/7292/13126 2409/7180/13127 2407/7176/13128 +f 2449/7293/13129 2409/7180/13130 2439/7294/13131 +f 2413/7184/13132 2393/7164/13133 2391/7162/13134 +f 2450/7295/13135 2393/7164/13136 2413/7184/13137 +f 2409/7180/13138 2451/7296/13139 2411/7182/13140 +f 2449/7297/13141 2451/7298/13142 2409/7180/13143 +f 2450/7299/13144 2395/7166/13145 2393/7164/13146 +f 2452/7300/13147 2395/7166/13148 2450/7301/13149 +f 2453/7302/13150 2419/7303/13151 2421/7195/13152 +f 2445/7304/13153 2419/7305/13154 2453/7306/13155 +f 2402/7173/13156 2435/7307/13157 2404/7308/13158 +f 2444/7309/13159 2435/7310/13160 2402/7173/13161 +f 2454/7311/13162 2443/7312/13163 2444/7313/13164 +f 2455/7314/13165 2443/7315/13166 2454/7316/13167 +f 2396/7167/13168 2402/7173/13169 2394/7165/13170 +f 2429/7317/13171 2430/7318/13172 2434/7319/13173 +f 2455/7320/13174 2442/7261/13175 2443/7321/13176 +f 2397/7168/13177 2395/7166/13178 2452/7300/13179 +f 2456/7322/13180 2451/7323/13181 2449/7324/13182 +f 2459/7325/13183 2458/7326/13184 2457/7327/13185 +f 2437/7252/13186 2458/7326/13187 2459/7325/13188 +f 2460/7328/13189 2437/7252/13190 2459/7325/13191 +f 2439/7329/13192 2437/7252/13193 2460/7328/13194 +f 2449/7330/13195 2439/7331/13196 2460/7328/13197 +f 2462/7332/13198 2414/7187/13199 2461/7333/13200 +f 2416/7185/13201 2414/7187/13202 2462/7332/13203 +f 2463/7334/13204 2416/7185/13205 2462/7332/13206 +f 2418/7189/13207 2416/7185/13208 2463/7335/13209 +f 2447/7336/13210 2418/7189/13211 2463/7337/13212 +f 2464/7338/13213 2397/7339/13214 2452/7340/13215 +f 2465/7341/13216 2397/7339/13217 2464/7338/13218 +f 2466/7342/13219 2465/7341/13220 2464/7338/13221 +f 2467/7343/13222 2465/7341/13223 2466/7342/13224 +f 2468/7344/13225 2460/7328/13226 2459/7325/13227 +f 2469/7345/13228 2460/7328/13229 2468/7344/13230 +f 2470/7346/13231 2469/7347/13232 2468/7344/13233 +f 2456/7348/13234 2469/7349/13235 2470/7350/13236 +f 2463/7351/13237 2471/7352/13238 2447/7353/13239 +f 2472/7354/13240 2471/7355/13241 2463/7356/13242 +f 2462/7332/13243 2472/7357/13244 2463/7358/13245 +f 2461/7333/13246 2472/7359/13247 2462/7332/13248 +f 2475/7360/13249 2474/7361/13250 2473/7362/13251 +f 2359/7101/13252 2474/7361/13253 2475/7360/13254 +f 2361/7105/13255 2359/7101/13256 2475/7360/13257 +f 2402/7173/13258 2361/7105/13259 2444/7363/13260 +f 2363/7107/13261 2361/7105/13262 2402/7173/13263 +f 2364/7364/13264 2363/7107/13265 2402/7173/13266 +f 2465/7365/13267 2364/7366/13268 2397/7168/13269 +f 2366/7367/13270 2364/7368/13271 2465/7369/13272 +f 2476/7370/13273 2366/7371/13274 2465/7372/13275 +f 2454/7373/13276 2477/7374/13277 2455/7375/13278 +f 2475/7376/13279 2477/7377/13280 2454/7378/13281 +f 2478/7379/13282 2475/7380/13283 2473/7381/13284 +f 2477/7382/13285 2475/7383/13286 2478/7384/13287 +f 2454/7385/13288 2361/7105/13289 2475/7360/13290 +f 2444/7386/13291 2361/7105/13292 2454/7387/13293 +f 2396/7167/13294 2364/7388/13295 2402/7173/13296 +f 2397/7168/13297 2364/7389/13298 2396/7167/13299 +f 2480/7390/13300 2471/7391/13301 2479/7392/13302 +f 2447/7393/13303 2471/7394/13304 2480/7395/13305 +f 2449/7396/13306 2469/7397/13307 2456/7398/13308 +f 2460/7328/13309 2469/7399/13310 2449/7400/13311 +f 2465/7401/13312 2467/7402/13313 2476/7403/13314 +f 2483/7404/13315 2482/7405/13316 2481/7406/13317 +f 2484/7407/13318 2482/7408/13319 2483/7409/13320 +f 2485/7410/13321 2484/7411/13322 2483/7412/13323 +f 2486/7413/13324 2484/7414/13325 2485/7415/13326 +f 2487/7416/13327 2486/7417/13328 2485/7418/13329 +f 2489/7419/13330 2278/7420/13331 2488/7421/13332 +f 2490/7422/13333 2278/7423/13334 2489/7424/13335 +f 2263/7425/13336 2490/7426/13337 2489/7427/13338 +f 2279/7012/13339 2490/7428/13340 2263/7429/13341 +f 2484/7430/13342 2492/7431/13343 2491/7432/13344 +f 2493/7433/13345 2492/7434/13346 2484/7435/13347 +f 2486/7436/13348 2493/7437/13349 2484/7438/13350 +f 2494/7439/13351 2493/7440/13352 2486/7441/13353 +f 2496/7442/13354 2482/7443/13355 2495/7444/13356 +f 2481/7445/13357 2482/7446/13358 2496/7447/13359 +f 2276/7448/13360 2481/7449/13361 2496/7450/13362 +f 2497/7451/13363 2481/7452/13364 2276/7453/13365 +f 2497/7454/13366 2483/7455/13367 2481/7456/13368 +f 2485/7457/13369 2483/7458/13370 2497/7459/13371 +f 2498/7460/13372 2485/7461/13373 2497/7462/13374 +f 2487/7463/13375 2485/7464/13376 2498/7465/13377 +f 2488/7466/13378 2252/6957/13379 2253/6958/13380 +f 2250/6955/13381 2252/6957/13382 2488/7467/13383 +f 2278/7468/13384 2250/6955/13385 2488/7469/13386 +f 2490/7470/13387 2269/7471/13388 2278/7472/13389 +f 2268/7473/13390 2269/7474/13391 2490/7475/13392 +f 2279/7012/13393 2268/7476/13394 2490/7477/13395 +f 2248/6951/13396 2225/6928/13397 2227/6930/13398 +f 2246/6953/13399 2225/6928/13400 2248/6951/13401 +f 2225/6928/13402 2280/7478/13403 2224/6929/13404 +f 2246/6953/13405 2280/7479/13406 2225/6928/13407 +f 2493/7480/13408 2499/7481/13409 2492/7482/13410 +f 2494/7483/13411 2499/7484/13412 2493/7485/13413 +f 2501/7486/13414 2494/7487/13415 2500/7488/13416 +f 2499/7489/13417 2494/7490/13418 2501/7491/13419 +f 2273/7492/13420 2496/7493/13421 2495/7494/13422 +f 2274/7495/13423 2496/7496/13424 2273/7497/13425 +f 2253/7009/13426 2502/7498/13427 2488/7499/13428 +f 2262/7500/13429 2263/7501/13430 2489/7502/13431 +f 2274/7503/13432 2276/7504/13433 2496/7505/13434 +f 2503/7506/13435 2486/7507/13436 2487/7508/13437 +f 2504/7509/13438 2486/7510/13439 2503/7511/13440 +f 2267/7512/13441 2504/7513/13442 2503/7514/13443 +f 2266/7515/13444 2504/7516/13445 2267/7517/13446 +f 2264/7518/13447 2505/7519/13448 2500/7520/13449 +f 2506/7521/13450 2505/7522/13451 2264/7523/13452 +f 2262/7524/13453 2506/7525/13454 2264/7526/13455 +f 2489/7527/13456 2506/7528/13457 2262/7529/13458 +f 2506/7530/13459 2507/7531/13460 2505/7532/13461 +f 2508/7533/13462 2507/7534/13463 2506/7535/13464 +f 2489/7536/13465 2508/7537/13466 2506/7538/13467 +f 2488/7539/13468 2508/7540/13469 2489/7541/13470 +f 2502/7542/13471 2508/7543/13472 2488/7544/13473 +f 2507/7545/13474 2508/7546/13475 2502/7547/13476 +f 2509/7548/13477 2507/7549/13478 2502/7550/13479 +f 2510/7551/13480 2502/7552/13481 2253/7009/13482 +f 2509/7553/13483 2502/7554/13484 2510/7555/13485 +f 2277/7556/13486 2509/7557/13487 2510/7558/13488 +f 2504/7559/13489 2494/7560/13490 2486/7561/13491 +f 2266/7562/13492 2494/7563/13493 2504/7564/13494 +f 2266/7565/13495 2500/7566/13496 2494/7567/13497 +f 2264/7568/13498 2500/7569/13499 2266/7570/13500 +f 2510/7571/13501 2245/6950/13502 2277/7572/13503 +f 2253/7009/13504 2245/6950/13505 2510/7573/13506 +f 2513/7574/13507 2512/7575/13508 2511/7576/13509 +f 2514/7577/13510 2512/7575/13511 2513/7574/13512 +f 2515/7578/13513 2514/7577/13514 2513/7574/13515 +f 2516/7579/13516 2514/7577/13517 2515/7578/13518 +f 2517/7580/13519 2516/7579/13520 2515/7578/13521 +f 2518/7581/13522 2516/7579/13523 2517/7580/13524 +f 2519/7582/13525 2518/7581/13526 2517/7580/13527 +f 2522/7583/13528 2521/7584/13529 2520/7585/13530 +f 2523/7586/13531 2521/7584/13532 2522/7583/13533 +f 2524/7587/13534 2523/7586/13535 2522/7583/13536 +f 2525/7588/13537 2523/7586/13538 2524/7587/13539 +f 2526/7589/13540 2525/7588/13541 2524/7587/13542 +f 2527/7590/13543 2525/7588/13544 2526/7589/13545 +f 2529/7591/13546 2516/7579/13547 2528/7592/13548 +f 2514/7577/13549 2516/7579/13550 2529/7591/13551 +f 2530/7593/13552 2514/7577/13553 2529/7591/13554 +f 2512/7575/13555 2514/7577/13556 2530/7593/13557 +f 2531/7594/13558 2512/7575/13559 2530/7593/13560 +f 2511/7576/13561 2512/7575/13562 2531/7594/13563 +f 2521/7595/13564 2532/7596/13565 2520/7597/13566 +f 2533/7598/13567 2532/7596/13568 2521/7595/13569 +f 2534/7599/13570 2533/7598/13571 2521/7595/13572 +f 2535/7600/13573 2533/7598/13574 2534/7599/13575 +f 2533/7598/13576 2536/7601/13577 2532/7596/13578 +f 2531/7594/13579 2536/7601/13580 2533/7598/13581 +f 2535/7600/13582 2531/7594/13583 2533/7598/13584 +f 2511/7576/13585 2531/7594/13586 2535/7600/13587 +f 2539/7602/13588 2538/7603/13589 2537/7604/13590 +f 2540/7605/13591 2538/7606/13592 2539/7607/13593 +f 2541/7608/13594 2540/7609/13595 2539/7610/13596 +f 2542/7611/13597 2540/7612/13598 2541/7613/13599 +f 2543/7614/13600 2527/7590/13601 2542/7615/13602 +f 2525/7588/13603 2527/7590/13604 2543/7614/13605 +f 2544/7616/13606 2525/7588/13607 2543/7614/13608 +f 2540/7617/13609 2526/7618/13610 2538/7619/13611 +f 2527/7620/13612 2526/7621/13613 2540/7622/13614 +f 2542/7623/13615 2527/7624/13616 2540/7625/13617 +f 2547/7626/13618 2546/7627/13619 2545/7628/13620 +f 2539/7629/13621 2546/7630/13622 2547/7631/13623 +f 2541/7632/13624 2539/7633/13625 2547/7634/13626 +f 2521/7584/13627 2549/7635/13628 2548/7636/13629 +f 2523/7586/13630 2549/7635/13631 2521/7584/13632 +f 2523/7586/13633 2544/7616/13634 2549/7635/13635 +f 2525/7588/13636 2544/7616/13637 2523/7586/13638 +f 2521/7595/13639 2548/7637/13640 2534/7599/13641 +f 2530/7593/13642 2536/7601/13643 2531/7594/13644 +f 2519/7582/13645 2280/7638/13646 2246/6953/13647 +f 2235/7639/13648 2280/7640/13649 2519/7582/13650 +f 2517/7580/13651 2235/7641/13652 2519/7582/13653 +f 2233/7642/13654 2235/7643/13655 2517/7580/13656 +f 2515/7578/13657 2233/7642/13658 2517/7580/13659 +f 2231/7644/13660 2233/7642/13661 2515/7578/13662 +f 2513/7574/13663 2231/7644/13664 2515/7578/13665 +f 2230/7645/13666 2231/7644/13667 2513/7574/13668 +f 2511/7576/13669 2230/7645/13670 2513/7574/13671 +f 2229/7646/13672 2230/7645/13673 2511/7576/13674 +f 2535/7600/13675 2229/7646/13676 2511/7576/13677 +f 2228/7647/13678 2229/7646/13679 2535/7600/13680 +f 2534/7599/13681 2228/7647/13682 2535/7600/13683 +f 2255/6997/13684 2228/7647/13685 2534/7599/13686 +f 2550/7648/13687 2545/7649/13688 2546/7650/13689 +f 2551/7651/13690 2545/7652/13691 2550/7648/13692 +f 2552/7653/13693 2551/7651/13694 2550/7648/13695 +f 2553/7654/13696 2551/7651/13697 2552/7653/13698 +f 2554/7655/13699 2553/7654/13700 2552/7653/13701 +f 2271/6986/13702 2553/7654/13703 2554/7655/13704 +f 2555/7656/13705 2271/6986/13706 2554/7655/13707 +f 2247/6952/13708 2271/6986/13709 2555/7657/13710 +f 2246/6953/13711 2247/6952/13712 2555/7658/13713 +f 2541/7659/13714 2503/7660/13715 2542/7661/13716 +f 2267/7662/13717 2503/7663/13718 2541/7664/13719 +f 2547/7665/13720 2267/7666/13721 2541/7667/13722 +f 2265/7011/13723 2267/7668/13724 2547/7669/13725 +f 2545/7670/13726 2265/7011/13727 2547/7671/13728 +f 2279/7012/13729 2265/7011/13730 2545/7672/13731 +f 2268/7673/13732 2279/7012/13733 2545/7674/13734 +f 2544/7616/13735 2497/7675/13736 2549/7635/13737 +f 2498/7676/13738 2497/7675/13739 2544/7616/13740 +f 2543/7614/13741 2498/7676/13742 2544/7616/13743 +f 2487/7677/13744 2498/7676/13745 2543/7614/13746 +f 2542/7615/13747 2487/7677/13748 2543/7614/13749 +f 2503/7678/13750 2487/7677/13751 2542/7615/13752 +f 2519/7582/13753 2556/7679/13754 2518/7581/13755 +f 2557/7680/13756 2556/7681/13757 2519/7582/13758 +f 2246/6953/13759 2557/7682/13760 2519/7582/13761 +f 2555/7683/13762 2557/7684/13763 2246/6953/13764 +f 2549/7635/13765 2275/6996/13766 2548/7636/13767 +f 2276/6994/13768 2275/6996/13769 2549/7635/13770 +f 2497/7675/13771 2276/6994/13772 2549/7635/13773 +f 2275/6998/13774 2534/7599/13775 2548/7637/13776 +f 2255/6997/13777 2534/7599/13778 2275/6998/13779 +f 2551/7651/13780 2268/7685/13781 2545/7686/13782 +f 2553/7654/13783 2268/7687/13784 2551/7651/13785 +f 2553/7654/13786 2270/7688/13787 2268/7689/13788 +f 2271/6986/13789 2270/7690/13790 2553/7654/13791 +f 2557/7691/13792 2558/7692/13793 2556/7693/13794 +f 2555/7694/13795 2558/7695/13796 2557/7696/13797 +f 2559/7697/13798 2554/7655/13799 2552/7653/13800 +f 2558/7698/13801 2554/7655/13802 2559/7697/13803 +f 2558/7699/13804 2555/7700/13805 2554/7655/13806 +f 2495/7701/13807 2272/7702/13808 2273/7703/13809 +f 2560/7704/13810 2272/7705/13811 2495/7706/13812 +f 2561/7707/13813 2560/7708/13814 2495/7709/13815 +f 2564/7710/13816 2563/7711/13817 2562/7712/13818 +f 2277/7713/13819 2563/7714/13820 2564/7715/13821 +f 2509/7716/13822 2277/7717/13823 2564/7718/13824 +f 2482/7719/13825 2561/7720/13826 2495/7721/13827 +f 2491/7722/13828 2561/7723/13829 2482/7724/13830 +f 2484/7725/13831 2491/7726/13832 2482/7727/13833 +f 2565/7728/13834 2509/7729/13835 2564/7730/13836 +f 2507/7731/13837 2509/7732/13838 2565/7733/13839 +f 2566/7734/13840 2277/7735/13841 2272/7736/13842 +f 2563/7737/13843 2277/7738/13844 2566/7739/13845 +f 2566/7740/13846 2272/7741/13847 2560/7742/13848 +f 2568/7743/13849 2501/7744/13850 2567/7745/13851 +f 2499/7746/13852 2501/7747/13853 2568/7748/13854 +f 2569/7749/13855 2499/7750/13856 2568/7751/13857 +f 2492/7752/13858 2499/7753/13859 2569/7754/13860 +f 2570/7755/13861 2492/7756/13862 2569/7757/13863 +f 2491/7758/13864 2492/7759/13865 2570/7760/13866 +f 2571/7761/13867 2491/7762/13868 2570/7763/13869 +f 2573/7764/13870 2570/7765/13871 2572/7766/13872 +f 2571/7767/13873 2570/7768/13874 2573/7769/13875 +f 2574/7770/13876 2571/7771/13877 2573/7772/13878 +f 2575/7773/13879 2571/7774/13880 2574/7775/13881 +f 2576/7776/13882 2575/7777/13883 2574/7778/13884 +f 2566/7779/13885 2575/7780/13886 2576/7781/13887 +f 2577/7782/13888 2507/7783/13889 2565/7784/13890 +f 2505/7785/13891 2507/7786/13892 2577/7787/13893 +f 2500/7788/13894 2505/7789/13895 2577/7790/13896 +f 2577/7791/13897 2501/7792/13898 2500/7793/13899 +f 2567/7794/13900 2501/7795/13901 2577/7796/13902 +f 2578/7797/13903 2567/7798/13904 2577/7799/13905 +f 2560/7800/13906 2575/7801/13907 2566/7802/13908 +f 2561/7803/13909 2575/7804/13910 2560/7805/13911 +f 2561/7806/13912 2571/7807/13913 2575/7808/13914 +f 2491/7809/13915 2571/7810/13916 2561/7811/13917 +f 2580/7812/13918 2579/7813/13919 2578/7814/13920 +f 2581/7815/13921 2579/7816/13922 2580/7817/13923 +f 2562/7818/13924 2581/7819/13925 2580/7820/13926 +f 2582/7821/13927 2581/7822/13928 2562/7823/13929 +f 2563/7824/13930 2582/7825/13931 2562/7826/13932 +f 2583/7827/13933 2582/7828/13934 2563/7829/13935 +f 2566/7830/13936 2583/7831/13937 2563/7832/13938 +f 2576/7833/13939 2583/7834/13940 2566/7835/13941 +f 2565/7836/13942 2578/7837/13943 2577/7838/13944 +f 2580/7839/13945 2578/7840/13946 2565/7841/13947 +f 2564/7842/13948 2580/7843/13949 2565/7844/13950 +f 2562/7845/13951 2580/7846/13952 2564/7847/13953 +f 2583/7848/13954 2584/7849/13955 2582/7850/13956 +f 2585/7851/13957 2584/7852/13958 2583/7853/13959 +f 2576/7854/13960 2585/7855/13961 2583/7856/13962 +f 2586/7857/13963 2585/7858/13964 2576/7859/13965 +f 2589/7860/13966 2588/7861/13967 2587/7862/13968 +f 2579/7863/13969 2588/7864/13970 2589/7865/13971 +f 2588/7866/13972 2581/7867/13973 2590/7868/13974 +f 2579/7869/13975 2581/7870/13976 2588/7871/13977 +f 2593/7872/13978 2592/7873/13979 2591/7874/13980 +f 2594/7875/13981 2592/7876/13982 2593/7877/13983 +f 2595/7878/13984 2594/7879/13985 2593/7880/13986 +f 2596/7881/13987 2594/7882/13988 2595/7883/13989 +f 2597/7884/13990 2596/7885/13991 2595/7886/13992 +f 2598/7887/13993 2596/7888/13994 2597/7889/13995 +f 2599/7890/13996 2598/7891/13997 2597/7892/13998 +f 2600/7893/13999 2598/7894/14000 2599/7895/14001 +f 2601/7896/14002 2600/7897/14003 2599/7898/14004 +f 2602/7899/14005 2600/7900/14006 2601/7901/14007 +f 2594/7902/14008 2586/7903/14009 2592/7904/14010 +f 2585/7905/14011 2586/7906/14012 2594/7907/14013 +f 2596/7908/14014 2585/7909/14015 2594/7910/14016 +f 2584/7911/14017 2585/7912/14018 2596/7913/14019 +f 2598/7914/14020 2584/7915/14021 2596/7916/14022 +f 2590/7917/14023 2584/7918/14024 2598/7919/14025 +f 2600/7920/14026 2590/7921/14027 2598/7922/14028 +f 2588/7923/14029 2590/7924/14030 2600/7925/14031 +f 2587/7926/14032 2588/7927/14033 2600/7928/14034 +f 2569/7929/14035 2572/7930/14036 2570/7931/14037 +f 2603/7932/14038 2572/7933/14039 2569/7934/14040 +f 2568/7935/14041 2603/7936/14042 2569/7937/14043 +f 2604/7938/14044 2603/7939/14045 2568/7940/14046 +f 2567/7941/14047 2604/7942/14048 2568/7943/14049 +f 2589/7944/14050 2604/7945/14051 2567/7946/14052 +f 2578/7947/14053 2589/7948/14054 2567/7949/14055 +f 2579/7950/14056 2589/7951/14057 2578/7952/14058 +f 2606/7953/14059 2591/7954/14060 2605/7955/14061 +f 2593/7956/14062 2591/7957/14063 2606/7958/14064 +f 2607/7959/14065 2593/7960/14066 2606/7961/14067 +f 2595/7962/14068 2593/7963/14069 2607/7964/14070 +f 2608/7965/14071 2595/7966/14072 2607/7967/14073 +f 2597/7968/14074 2595/7969/14075 2608/7970/14076 +f 2609/7971/14077 2597/7972/14078 2608/7973/14079 +f 2610/7974/14080 2597/7975/14081 2609/7976/14082 +f 2587/7977/14083 2604/7978/14084 2589/7979/14085 +f 2611/7980/14086 2604/7981/14087 2587/7982/14088 +f 2602/7983/14089 2611/7984/14090 2587/7985/14091 +f 2612/7986/14092 2611/7987/14093 2602/7988/14094 +f 2601/7989/14095 2612/7990/14096 2602/7991/14097 +f 2613/7992/14098 2612/7993/14099 2601/7994/14100 +f 2614/7995/14101 2613/7996/14102 2601/7997/14103 +f 2611/7998/14104 2603/7999/14105 2604/8000/14106 +f 2615/8001/14107 2603/8002/14108 2611/8003/14109 +f 2612/8004/14110 2615/8005/14111 2611/8006/14112 +f 2616/8007/14113 2615/8008/14114 2612/8009/14115 +f 2613/8010/14116 2616/8011/14117 2612/8012/14118 +f 2617/8013/14119 2616/8014/14120 2613/8015/14121 +f 2615/8016/14122 2572/8017/14123 2603/8018/14124 +f 2618/8019/14125 2572/8020/14126 2615/8021/14127 +f 2616/8022/14128 2618/8023/14129 2615/8024/14130 +f 2619/8025/14131 2618/8026/14132 2616/8027/14133 +f 2617/8028/14134 2619/8029/14135 2616/8030/14136 +f 2620/8031/14137 2619/8032/14138 2617/8033/14139 +f 2618/8034/14140 2573/8035/14141 2572/8036/14142 +f 2621/8037/14143 2573/8038/14144 2618/8039/14145 +f 2619/8040/14146 2621/8041/14147 2618/8042/14148 +f 2622/8043/14149 2621/8044/14150 2619/8045/14151 +f 2620/8046/14152 2622/8047/14153 2619/8048/14154 +f 2623/8049/14155 2622/8050/14156 2620/8051/14157 +f 2621/8052/14158 2574/8053/14159 2573/8054/14160 +f 2624/8055/14161 2574/8056/14162 2621/8057/14163 +f 2622/8058/14164 2624/8059/14165 2621/8060/14166 +f 2625/8061/14167 2624/8062/14168 2622/8063/14169 +f 2623/8064/14170 2625/8065/14171 2622/8066/14172 +f 2626/8067/14173 2625/8068/14174 2623/8069/14175 +f 2624/8070/14176 2576/8071/14177 2574/8072/14178 +f 2586/8073/14179 2576/8074/14180 2624/8075/14181 +f 2625/8076/14182 2586/8077/14183 2624/8078/14184 +f 2592/8079/14185 2586/8080/14186 2625/8081/14187 +f 2591/8082/14188 2592/8083/14189 2625/8084/14190 +f 2625/8085/14191 2605/8086/14192 2591/8087/14193 +f 2626/8088/14194 2605/8089/14195 2625/8090/14196 +f 2610/8091/14197 2599/8092/14198 2597/8093/14199 +f 2614/8094/14200 2599/8095/14201 2610/8096/14202 +f 2590/8097/14203 2582/8098/14204 2584/8099/14205 +f 2581/8100/14206 2582/8101/14207 2590/8102/14208 +f 2601/8103/14209 2599/8104/14210 2614/8105/14211 +f 2602/8106/14212 2587/8107/14213 2600/8108/14214 +f 2629/8109/14215 2628/8110/14216 2627/8111/14217 +f 2630/8112/14218 2628/8110/14219 2629/8109/14220 +f 2631/8113/14221 2630/8112/14222 2629/8109/14223 +f 2632/8114/14224 2630/8112/14225 2631/8113/14226 +f 2633/8115/14227 2632/8114/14228 2631/8113/14229 +f 2634/8116/14230 2632/8114/14231 2633/8115/14232 +f 2635/8117/14233 2634/8116/14234 2633/8115/14235 +f 2636/8118/14236 2634/8116/14237 2635/8117/14238 +f 2637/8119/14239 2636/8118/14240 2635/8117/14241 +f 2638/8120/14242 2636/8118/14243 2637/8119/14244 +f 2639/8121/14245 2638/8120/14246 2637/8119/14247 +f 2640/8122/14248 2638/8120/14249 2639/8121/14250 +f 2641/8123/14251 2640/8122/14252 2639/8121/14253 +f 2642/8124/14254 2640/8122/14255 2641/8123/14256 +f 2643/8125/14257 2642/8124/14258 2641/8123/14259 +f 2309/7047/14260 2642/8124/14261 2643/8125/14262 +f 2644/8126/14263 2309/7047/14264 2643/8125/14265 +f 2308/7048/14266 2309/7047/14267 2644/8126/14268 +f 2645/8127/14269 2308/7048/14270 2644/8126/14271 +f 2332/7070/14272 2308/7048/14273 2645/8127/14274 +f 2325/7063/14275 2332/7070/14276 2645/8127/14277 +f 2630/8112/14278 2324/7089/14279 2628/8110/14280 +f 2347/7088/14281 2324/7089/14282 2630/8112/14283 +f 2632/8114/14284 2347/7088/14285 2630/8112/14286 +f 2346/7087/14287 2347/7088/14288 2632/8114/14289 +f 2634/8116/14290 2346/7087/14291 2632/8114/14292 +f 2340/7078/14293 2346/7087/14294 2634/8116/14295 +f 2636/8118/14296 2340/7078/14297 2634/8116/14298 +f 2337/7075/14299 2340/7078/14300 2636/8118/14301 +f 2638/8120/14302 2337/7075/14303 2636/8118/14304 +f 2315/7053/14305 2337/7075/14306 2638/8120/14307 +f 2640/8122/14308 2315/7053/14309 2638/8120/14310 +f 2313/7051/14311 2315/7053/14312 2640/8122/14313 +f 2642/8124/14314 2313/7051/14315 2640/8122/14316 +f 2311/7049/14317 2313/7051/14318 2642/8124/14319 +f 2309/7047/14320 2311/7049/14321 2642/8124/14322 +f 2609/8128/14323 2646/8129/14324 2610/8130/14325 +f 2647/8131/14326 2646/8132/14327 2609/8133/14328 +f 2648/8134/14329 2647/8135/14330 2609/8136/14331 +f 2649/8137/14332 2647/8138/14333 2648/8139/14334 +f 2650/8140/14335 2649/8137/14336 2648/8141/14337 +f 2650/8140/14338 2652/8142/14339 2651/8143/14340 +f 2653/8144/14341 2652/8142/14342 2650/8140/14343 +f 2648/8145/14344 2653/8146/14345 2650/8140/14346 +f 2608/8147/14347 2653/8148/14348 2648/8149/14349 +f 2609/8150/14350 2608/8151/14351 2648/8152/14352 +f 2656/8153/14353 2655/8154/14354 2654/8155/14355 +f 2657/8156/14356 2655/8157/14357 2656/8158/14358 +f 2605/8159/14359 2657/8160/14360 2656/8161/14361 +f 2626/8162/14362 2657/8163/14363 2605/8164/14364 +f 2657/8165/14365 2658/8166/14366 2655/8167/14367 +f 2659/8168/14368 2658/8169/14369 2657/8170/14370 +f 2626/8171/14371 2659/8172/14372 2657/8173/14373 +f 2623/8174/14374 2659/8175/14375 2626/8176/14376 +f 2659/8177/14377 2660/8178/14378 2658/8179/14379 +f 2661/8180/14380 2660/8181/14381 2659/8182/14382 +f 2623/8183/14383 2661/8184/14384 2659/8185/14385 +f 2620/8186/14386 2661/8187/14387 2623/8188/14388 +f 2661/8189/14389 2662/8190/14390 2660/8191/14391 +f 2663/8192/14392 2662/8193/14393 2661/8194/14394 +f 2620/8195/14395 2663/8196/14396 2661/8197/14397 +f 2617/8198/14398 2663/8199/14399 2620/8200/14400 +f 2663/8201/14401 2664/8202/14402 2662/8203/14403 +f 2665/8204/14404 2664/8205/14405 2663/8206/14406 +f 2617/8207/14407 2665/8208/14408 2663/8209/14409 +f 2613/8210/14410 2665/8211/14411 2617/8212/14412 +f 2665/8213/14413 2666/8214/14414 2664/8215/14415 +f 2667/8216/14416 2666/8217/14417 2665/8218/14418 +f 2613/8219/14419 2667/8220/14420 2665/8221/14421 +f 2614/8222/14422 2667/8223/14423 2613/8224/14424 +f 2667/8225/14425 2668/8226/14426 2666/8227/14427 +f 2646/8228/14428 2668/8229/14429 2667/8230/14430 +f 2614/8231/14431 2646/8232/14432 2667/8233/14433 +f 2610/8234/14434 2646/8235/14435 2614/8236/14436 +f 2656/8237/14437 2606/8238/14438 2605/8239/14439 +f 2652/8142/14440 2606/8240/14441 2656/8237/14442 +f 2654/8241/14443 2652/8142/14444 2656/8237/14445 +f 2651/8143/14446 2652/8142/14447 2654/8241/14448 +f 2669/8242/14449 2645/8127/14450 2644/8126/14451 +f 2670/8243/14452 2645/8127/14453 2669/8244/14454 +f 2671/8245/14455 2670/8246/14456 2669/8247/14457 +f 2627/8248/14458 2670/8249/14459 2671/8250/14460 +f 2628/8251/14461 2670/8252/14462 2627/8253/14463 +f 2325/7063/14464 2670/8254/14465 2628/8255/14466 +f 2324/7064/14467 2325/7063/14468 2628/8256/14469 +f 2672/8257/14470 2654/8258/14471 2655/8259/14472 +f 2651/8260/14473 2654/8258/14474 2672/8257/14475 +f 2650/8261/14476 2651/8260/14477 2672/8257/14478 +f 2672/8257/14479 2649/8262/14480 2650/8261/14481 +f 2673/8263/14482 2649/8262/14483 2672/8257/14484 +f 2668/8264/14485 2673/8265/14486 2672/8257/14487 +f 2675/8266/14488 2674/8267/14489 2641/8268/14490 +f 2676/8269/14491 2674/8270/14492 2675/8271/14493 +f 2669/8272/14494 2676/8273/14495 2675/8274/14496 +f 2673/8275/14497 2647/8276/14498 2649/8137/14499 +f 2668/8277/14500 2647/8278/14501 2673/8275/14502 +f 2607/8279/14503 2653/8280/14504 2608/8281/14505 +f 2606/8282/14506 2653/8283/14507 2607/8284/14508 +f 2674/8285/14509 2643/8125/14510 2641/8123/14511 +f 2676/8286/14512 2643/8125/14513 2674/8287/14514 +f 2676/8288/14515 2644/8126/14516 2643/8125/14517 +f 2669/8289/14518 2644/8126/14519 2676/8290/14520 +f 2658/8291/14521 2672/8257/14522 2655/8259/14523 +f 2660/8292/14524 2672/8257/14525 2658/8291/14526 +f 2662/8293/14527 2672/8257/14528 2660/8292/14529 +f 2664/8294/14530 2672/8257/14531 2662/8295/14532 +f 2672/8257/14533 2666/8296/14534 2668/8297/14535 +f 2664/8298/14536 2666/8296/14537 2672/8257/14538 +f 2639/8299/14539 2675/8300/14540 2641/8301/14541 +f 2637/8302/14542 2675/8303/14543 2639/8304/14544 +f 2635/8305/14545 2675/8306/14546 2637/8307/14547 +f 2633/8308/14548 2675/8309/14549 2635/8310/14550 +f 2631/8311/14551 2675/8312/14552 2633/8313/14553 +f 2629/8314/14554 2675/8315/14555 2631/8316/14556 +f 2627/8317/14557 2675/8318/14558 2629/8319/14559 +f 2671/8320/14560 2675/8321/14561 2627/8322/14562 +f 2652/8142/14563 2653/8323/14564 2606/8324/14565 +f 2646/8325/14566 2647/8326/14567 2668/8327/14568 +f 2670/8328/14569 2325/7063/14570 2645/8127/14571 +f 2669/8329/14572 2675/8330/14573 2671/8331/14574 +f 2677/8332/14575 2350/7090/14576 2348/7092/14577 +f 2383/8333/14578 2350/7090/14579 2677/8332/14580 +f 2678/8334/14581 2383/8335/14582 2677/8332/14583 +f 2382/8336/14584 2383/8337/14585 2678/8334/14586 +f 2679/8338/14587 2382/8339/14588 2678/8334/14589 +f 2380/8340/14590 2382/8341/14591 2679/8338/14592 +f 2680/8342/14593 2380/8343/14594 2679/8338/14595 +f 2681/8344/14596 2380/8345/14597 2680/8342/14598 +f 2682/8346/14599 2681/8344/14600 2680/8342/14601 +f 2683/8347/14602 2681/8344/14603 2682/8346/14604 +f 2684/8348/14605 2683/8347/14606 2682/8346/14607 +f 2685/8349/14608 2683/8347/14609 2684/8348/14610 +f 2378/7129/14611 2686/8350/14612 2376/7127/14613 +f 2348/7092/14614 2686/8350/14615 2378/7129/14616 +f 2687/8351/14617 2348/7092/14618 2378/7129/14619 +f 2677/8332/14620 2348/7092/14621 2687/8352/14622 +f 2520/7597/14623 2677/8332/14624 2687/8353/14625 +f 2678/8334/14626 2677/8332/14627 2520/7597/14628 +f 2532/7596/14629 2678/8334/14630 2520/7597/14631 +f 2679/8338/14632 2678/8334/14633 2532/7596/14634 +f 2536/7601/14635 2679/8338/14636 2532/7596/14637 +f 2680/8342/14638 2679/8338/14639 2536/7601/14640 +f 2530/7593/14641 2680/8342/14642 2536/7601/14643 +f 2529/7591/14644 2680/8342/14645 2530/7593/14646 +f 2688/8354/14647 2370/8355/14648 2386/8356/14649 +f 2686/8357/14650 2370/8355/14651 2688/8354/14652 +f 2689/8358/14653 2686/8357/14654 2688/8354/14655 +f 2376/8359/14656 2686/8357/14657 2689/8358/14658 +f 2690/8360/14659 2376/8359/14660 2689/8358/14661 +f 2375/8361/14662 2376/8359/14663 2690/8360/14664 +f 2691/8362/14665 2375/8361/14666 2690/8360/14667 +f 2692/8363/14668 2375/8361/14669 2691/8362/14670 +f 2472/8364/14671 2692/8363/14672 2691/8362/14673 +f 2461/7333/14674 2692/8363/14675 2472/8365/14676 +f 2537/8366/14677 2694/8367/14678 2693/8368/14679 +f 2695/8369/14680 2694/8367/14681 2537/8370/14682 +f 2696/8371/14683 2695/8369/14684 2537/8372/14685 +f 2697/8373/14686 2695/8369/14687 2696/8374/14688 +f 2698/8375/14689 2697/8376/14690 2696/8377/14691 +f 2699/8378/14692 2697/8379/14693 2698/8380/14694 +f 2700/8381/14695 2699/8382/14696 2698/8383/14697 +f 2701/8384/14698 2524/8385/14699 2522/8386/14700 +f 2702/8387/14701 2524/8388/14702 2701/8389/14703 +f 2377/7126/14704 2702/8390/14705 2701/8391/14706 +f 2703/8392/14707 2702/8393/14708 2377/7126/14709 +f 2704/8394/14710 2703/8395/14711 2377/7126/14712 +f 2698/8396/14713 2703/8397/14714 2704/8394/14715 +f 2700/8381/14716 2698/8398/14717 2704/8394/14718 +f 2706/8399/14719 2528/7592/14720 2705/8400/14721 +f 2707/8401/14722 2528/7592/14723 2706/8402/14724 +f 2476/8403/14725 2707/8404/14726 2706/8405/14727 +f 2684/8348/14728 2707/8406/14729 2476/8407/14730 +f 2467/8408/14731 2684/8348/14732 2476/8409/14733 +f 2685/8349/14734 2684/8348/14735 2467/8410/14736 +f 2468/7344/14737 2708/8411/14738 2470/8412/14739 +f 2709/8413/14740 2708/8414/14741 2468/7344/14742 +f 2459/7325/14743 2709/8415/14744 2468/7344/14745 +f 2710/8416/14746 2709/8417/14747 2459/7325/14748 +f 2457/7327/14749 2710/8416/14750 2459/7325/14751 +f 2372/8418/14752 2710/8416/14753 2457/7327/14754 +f 2711/8419/14755 2683/8347/14756 2685/8349/14757 +f 2712/8420/14758 2683/8347/14759 2711/8421/14760 +f 2713/8422/14761 2712/8423/14762 2711/8424/14763 +f 2714/8425/14764 2712/8426/14765 2713/8422/14766 +f 2715/8427/14767 2714/8425/14768 2713/8422/14769 +f 2708/8428/14770 2714/8425/14771 2715/8427/14772 +f 2688/8429/14773 2690/8360/14774 2689/8430/14775 +f 2691/8362/14776 2690/8360/14777 2688/8429/14778 +f 2716/8431/14779 2691/8362/14780 2688/8429/14781 +f 2471/8432/14782 2691/8362/14783 2716/8433/14784 +f 2479/8434/14785 2471/8435/14786 2716/8436/14787 +f 2712/8437/14788 2681/8344/14789 2683/8347/14790 +f 2380/8438/14791 2681/8344/14792 2712/8439/14793 +f 2714/8425/14794 2380/8440/14795 2712/8441/14796 +f 2379/8442/14797 2380/8443/14798 2714/8425/14799 +f 2708/8428/14800 2379/8444/14801 2714/8425/14802 +f 2709/8445/14803 2379/8446/14804 2708/8447/14805 +f 2717/8448/14806 2379/8449/14807 2709/8450/14808 +f 2718/8451/14809 2717/8452/14810 2709/8453/14811 +f 2719/8454/14812 2717/8455/14813 2718/8456/14814 +f 2722/8457/14815 2721/8458/14816 2720/8459/14817 +f 2723/8460/14818 2721/8458/14819 2722/8457/14820 +f 2457/8461/14821 2723/8460/14822 2722/8457/14823 +f 2458/8462/14824 2723/8460/14825 2457/8461/14826 +f 2722/8463/14827 2372/7123/14828 2457/8464/14829 +f 2356/7100/14830 2372/7123/14831 2722/8463/14832 +f 2720/8465/14833 2356/7100/14834 2722/8463/14835 +f 2355/7099/14836 2356/7100/14837 2720/8465/14838 +f 2685/8466/14839 2724/8467/14840 2711/8468/14841 +f 2725/8469/14842 2724/8467/14843 2685/8466/14844 +f 2467/7343/14845 2725/8469/14846 2685/8466/14847 +f 2466/7342/14848 2725/8469/14849 2467/7343/14850 +f 2687/8470/14851 2522/8471/14852 2520/7597/14853 +f 2701/8472/14854 2522/8473/14855 2687/8474/14856 +f 2378/7129/14857 2701/8475/14858 2687/8476/14859 +f 2377/7126/14860 2701/8477/14861 2378/7129/14862 +f 2696/8478/14863 2703/8479/14864 2698/8480/14865 +f 2702/8481/14866 2703/8482/14867 2696/8483/14868 +f 2538/8484/14869 2702/8485/14870 2696/8486/14871 +f 2526/8487/14872 2702/8488/14873 2538/8489/14874 +f 2704/8394/14875 2726/8490/14876 2700/8381/14877 +f 2727/8491/14878 2726/8492/14879 2704/8394/14880 +f 2377/7126/14881 2727/8493/14882 2704/8394/14883 +f 2375/7128/14884 2727/8494/14885 2377/7126/14886 +f 2694/8367/14887 2359/7101/14888 2357/7103/14889 +f 2474/7361/14890 2359/7101/14891 2694/8367/14892 +f 2695/8369/14893 2474/7361/14894 2694/8367/14895 +f 2697/8495/14896 2474/7361/14897 2695/8369/14898 +f 2728/8496/14899 2382/8497/14900 2381/8498/14901 +f 2383/8499/14902 2382/8500/14903 2728/8501/14904 +f 2374/8502/14905 2383/8503/14906 2728/8504/14907 +f 2727/8505/14908 2729/8506/14909 2726/8507/14910 +f 2692/8508/14911 2729/8509/14912 2727/8510/14913 +f 2375/7128/14914 2692/8511/14915 2727/8512/14916 +f 2473/8513/14917 2730/8514/14918 2478/8515/14919 +f 2699/8516/14920 2730/8517/14921 2473/8518/14922 +f 2700/8519/14923 2732/8520/14924 2731/8521/14925 +f 2726/8522/14926 2732/8520/14927 2700/8519/14928 +f 2384/8523/14929 2720/8465/14930 2733/8524/14931 +f 2355/7099/14932 2720/8465/14933 2384/8525/14934 +f 2373/8526/14935 2710/8416/14936 2372/8418/14937 +f 2718/8527/14938 2710/8416/14939 2373/8526/14940 +f 2386/8528/14941 2716/8529/14942 2688/8429/14943 +f 2385/8530/14944 2716/8531/14945 2386/8532/14946 +f 2374/8533/14947 2718/8534/14948 2373/8535/14949 +f 2728/8536/14950 2718/8537/14951 2374/8538/14952 +f 2713/8539/14953 2734/8540/14954 2715/8541/14955 +f 2735/8542/14956 2734/8540/14957 2713/8539/14958 +f 2717/8543/14959 2381/8544/14960 2379/8545/14961 +f 2719/8546/14962 2381/8547/14963 2717/8548/14964 +f 2470/8549/14965 2715/8550/14966 2734/8551/14967 +f 2708/8552/14968 2715/8550/14969 2470/8549/14970 +f 2735/8553/14971 2711/8554/14972 2724/8555/14973 +f 2713/8556/14974 2711/8557/14975 2735/8558/14976 +f 2529/7591/14977 2682/8346/14978 2680/8342/14979 +f 2528/7592/14980 2682/8346/14981 2529/7591/14982 +f 2707/8559/14983 2682/8346/14984 2528/7592/14985 +f 2684/8348/14986 2682/8346/14987 2707/8560/14988 +f 2385/8561/14989 2733/8562/14990 2479/8563/14991 +f 2384/8564/14992 2733/8565/14993 2385/8566/14994 +f 2731/8567/14995 2699/8568/14996 2700/8569/14997 +f 2730/8570/14998 2699/8571/14999 2731/8572/15000 +f 2479/8573/15001 2736/8574/15002 2480/8575/15003 +f 2733/8576/15004 2736/8577/15005 2479/8578/15006 +f 2473/7362/15007 2697/8579/15008 2699/8580/15009 +f 2474/7361/15010 2697/8581/15011 2473/7362/15012 +f 2728/8582/15013 2719/8583/15014 2718/8584/15015 +f 2381/8585/15016 2719/8586/15017 2728/8587/15018 +f 2733/8588/15019 2721/8458/15020 2736/8589/15021 +f 2720/8459/15022 2721/8458/15023 2733/8590/15024 +f 2737/8591/15025 2726/8592/15026 2729/8593/15027 +f 2732/8594/15028 2726/8595/15029 2737/8596/15030 +f 2729/8597/15031 2461/8598/15032 2737/8599/15033 +f 2692/8600/15034 2461/8601/15035 2729/8602/15036 +f 2706/8603/15037 2366/8604/15038 2476/8605/15039 +f 2365/8606/15040 2366/8607/15041 2706/8608/15042 +f 2479/8609/15043 2716/8610/15044 2385/8611/15045 +f 2686/8350/15046 2348/7092/15047 2370/7119/15048 +f 2472/8612/15049 2691/8362/15050 2471/8613/15051 +f 2710/8416/15052 2718/8614/15053 2709/8615/15054 +f 2702/8616/15055 2526/8617/15056 2524/8618/15057 +f 2538/8619/15058 2696/8620/15059 2537/8621/15060 +f 2357/7103/15061 2693/8368/15062 2694/8367/15063 +f 2738/8622/15064 2693/8368/15065 2357/7103/15066 +f 2358/7102/15067 2738/8622/15068 2357/7103/15069 +f 2739/8623/15070 2738/8622/15071 2358/7102/15072 +f 2740/8624/15073 2739/8623/15074 2358/7102/15075 +f 2559/7697/15076 2739/8623/15077 2740/8624/15078 +f 2741/8625/15079 2559/7697/15080 2740/8624/15081 +f 2558/8626/15082 2559/7697/15083 2741/8627/15084 +f 2556/8628/15085 2558/8629/15086 2741/8630/15087 +f 2693/8368/15088 2539/8631/15089 2537/8632/15090 +f 2546/8633/15091 2539/8634/15092 2693/8368/15093 +f 2738/8622/15094 2546/8635/15095 2693/8368/15096 +f 2550/7648/15097 2546/8636/15098 2738/8622/15099 +f 2739/8623/15100 2550/7648/15101 2738/8622/15102 +f 2552/7653/15103 2550/7648/15104 2739/8623/15105 +f 2559/7697/15106 2552/7653/15107 2739/8623/15108 +f 2367/8637/15109 2741/8638/15110 2740/8624/15111 +f 2742/8639/15112 2741/8640/15113 2367/8641/15114 +f 2365/8642/15115 2742/8643/15116 2367/8644/15117 +f 2705/8645/15118 2742/8646/15119 2365/8647/15120 +f 2706/8648/15121 2705/8649/15122 2365/8650/15123 +f 2742/8651/15124 2556/8652/15125 2741/8653/15126 +f 2518/7581/15127 2556/8654/15128 2742/8655/15129 +f 2705/8656/15130 2518/7581/15131 2742/8657/15132 +f 2369/7115/15133 2740/8624/15134 2358/7102/15135 +f 2367/8658/15136 2740/8624/15137 2369/7115/15138 +f 2516/7579/15139 2705/8659/15140 2528/7592/15141 +f 2518/7581/15142 2705/8660/15143 2516/7579/15144 +f 2745/8661/15145 2744/8662/15146 2743/8663/15147 +f 2746/8664/15148 2744/8662/15149 2745/8661/15150 +f 2747/8665/15151 2746/8664/15152 2745/8661/15153 +f 2748/8666/15154 2746/8664/15155 2747/8667/15156 +f 2749/8668/15157 2748/8666/15158 2747/8669/15159 +f 2750/8670/15160 2748/8666/15161 2749/8671/15162 +f 2751/8672/15163 2750/8670/15164 2749/8673/15165 +f 2749/8674/15166 2752/8675/15167 2751/8676/15168 +f 2753/8677/15169 2752/8678/15170 2749/8679/15171 +f 2747/8680/15172 2753/8681/15173 2749/8682/15174 +f 2754/8683/15175 2753/8684/15176 2747/8685/15177 +f 2755/8686/15178 2754/8687/15179 2747/8688/15180 +f 2756/8689/15181 2754/8690/15182 2755/8691/15183 +f 2757/8692/15184 2756/8693/15185 2755/8694/15186 +f 2755/8695/15187 2758/8696/15188 2757/8697/15189 +f 2759/8698/15190 2758/8699/15191 2755/8700/15192 +f 2747/8701/15193 2759/8702/15194 2755/8703/15195 +f 2760/8704/15196 2759/8705/15197 2747/8706/15198 +f 2761/8707/15199 2760/8708/15200 2747/8709/15201 +f 2762/8710/15202 2760/8711/15203 2761/8712/15204 +f 2753/8713/15205 2763/8714/15206 2752/8715/15207 +f 2764/8716/15208 2763/8717/15209 2753/8718/15210 +f 2754/8719/15211 2764/8720/15212 2753/8721/15213 +f 2765/8722/15214 2764/8723/15215 2754/8724/15216 +f 2756/8725/15217 2765/8726/15218 2754/8727/15219 +f 2759/8728/15220 2766/8729/15221 2758/8730/15222 +f 2767/8731/15223 2766/8729/15224 2759/8732/15225 +f 2760/8733/15226 2767/8731/15227 2759/8734/15228 +f 2768/8735/15229 2767/8731/15230 2760/8736/15231 +f 2762/8737/15232 2768/8735/15233 2760/8738/15234 +f 2769/8739/15235 2745/8661/15236 2743/8663/15237 +f 2770/8740/15238 2745/8661/15239 2769/8741/15240 +f 2771/8742/15241 2770/8743/15242 2769/8744/15243 +f 2772/8745/15244 2770/8746/15245 2771/8747/15246 +f 2770/8748/15247 2747/8749/15248 2745/8661/15249 +f 2773/8750/15250 2747/8751/15251 2770/8752/15252 +f 2772/8753/15253 2773/8754/15254 2770/8755/15255 +f 2774/8756/15256 2773/8757/15257 2772/8758/15258 +f 2775/8759/15259 2773/8760/15260 2774/8756/15261 +f 2761/8761/15262 2773/8762/15263 2775/8763/15264 +f 2776/8764/15265 2761/8765/15266 2775/8766/15267 +f 2762/8767/15268 2761/8768/15269 2776/8769/15270 +f 2777/8770/15271 2748/8666/15272 2750/8670/15273 +f 2778/8771/15274 2748/8666/15275 2777/8772/15276 +f 2778/8773/15277 2746/8664/15278 2748/8666/15279 +f 2779/8774/15280 2746/8664/15281 2778/8775/15282 +f 2746/8664/15283 2779/8776/15284 2744/8662/15285 +f 2773/8777/15286 2761/8778/15287 2747/8779/15288 +f 2782/8780/15289 2781/8781/15290 2780/8782/15291 +f 2783/8783/15292 2781/8781/15293 2782/8780/15294 +f 2784/8784/15295 2783/8783/15296 2782/8780/15297 +f 2785/8785/15298 2783/8783/15299 2784/8784/15300 +f 2786/8786/15301 2785/8785/15302 2784/8784/15303 +f 2787/8787/15304 2785/8785/15305 2786/8786/15306 +f 2788/8788/15307 2787/8787/15308 2786/8786/15309 +f 2789/8789/15310 2786/8786/15311 2784/8784/15312 +f 2790/8790/15313 2786/8786/15314 2789/8789/15315 +f 2791/8791/15316 2790/8790/15317 2789/8789/15318 +f 2792/8792/15319 2790/8790/15320 2791/8791/15321 +f 2793/8793/15322 2792/8792/15323 2791/8791/15324 +f 2794/8794/15325 2792/8792/15326 2793/8793/15327 +f 2795/8795/15328 2794/8794/15329 2793/8793/15330 +f 2798/8796/15331 2797/8797/15332 2796/8798/15333 +f 2799/8799/15334 2797/8797/15335 2798/8796/15336 +f 2789/8789/15337 2799/8799/15338 2798/8796/15339 +f 2782/8780/15340 2799/8799/15341 2789/8789/15342 +f 2784/8784/15343 2782/8780/15344 2789/8789/15345 +f 2799/8799/15346 2800/8800/15347 2797/8797/15348 +f 2780/8782/15349 2800/8800/15350 2799/8799/15351 +f 2782/8780/15352 2780/8782/15353 2799/8799/15354 +f 2791/8791/15355 2795/8795/15356 2793/8793/15357 +f 2801/8801/15358 2795/8795/15359 2791/8791/15360 +f 2796/8798/15361 2801/8801/15362 2791/8791/15363 +f 2803/8802/15364 2802/8803/15365 2788/8788/15366 +f 2792/8792/15367 2802/8803/15368 2803/8802/15369 +f 2790/8790/15370 2792/8792/15371 2803/8802/15372 +f 2804/8804/15373 2783/8783/15374 2785/8785/15375 +f 2805/8805/15376 2783/8783/15377 2804/8804/15378 +f 2806/8806/15379 2783/8783/15380 2805/8805/15381 +f 2781/8781/15382 2783/8783/15383 2806/8806/15384 +f 2798/8796/15385 2791/8791/15386 2789/8789/15387 +f 2796/8798/15388 2791/8791/15389 2798/8796/15390 +f 2807/8807/15391 2792/8792/15392 2794/8794/15393 +f 2802/8803/15394 2792/8792/15395 2807/8807/15396 +f 2803/8802/15397 2786/8786/15398 2790/8790/15399 +f 2788/8788/15400 2786/8786/15401 2803/8802/15402 +f 2810/8808/15403 2808/8809/15404 2809/8810/15405 +f 2811/8811/15406 2810/8808/15407 2809/8810/15408 +f 2812/8812/15409 2810/8808/15410 2811/8811/15411 +f 2813/8813/15412 2812/8812/15413 2811/8811/15414 +f 2814/8814/15415 2812/8812/15416 2813/8813/15417 +f 2815/8815/15418 2814/8814/15419 2813/8813/15420 +f 2816/8816/15421 2814/8814/15422 2815/8815/15423 +f 2817/8817/15424 2812/8812/15425 2814/8814/15426 +f 2818/8818/15427 2817/8817/15428 2814/8814/15429 +f 2819/8819/15430 2817/8817/15431 2818/8818/15432 +f 2820/8820/15433 2819/8819/15434 2818/8818/15435 +f 2821/8821/15436 2819/8819/15437 2820/8820/15438 +f 2822/8822/15439 2821/8821/15440 2820/8820/15441 +f 2823/8823/15442 2821/8821/15443 2822/8822/15444 +f 2826/8824/15445 2824/8825/15446 2825/8826/15447 +f 2827/8827/15448 2826/8824/15449 2825/8826/15450 +f 2817/8817/15451 2826/8824/15452 2827/8827/15453 +f 2810/8808/15454 2817/8817/15455 2827/8827/15456 +f 2812/8812/15457 2817/8817/15458 2810/8808/15459 +f 2827/8827/15460 2825/8826/15461 2828/8828/15462 +f 2808/8809/15463 2827/8827/15464 2828/8828/15465 +f 2810/8808/15466 2827/8827/15467 2808/8809/15468 +f 2819/8819/15469 2821/8821/15470 2823/8823/15471 +f 2829/8829/15472 2819/8819/15473 2823/8823/15474 +f 2824/8825/15475 2819/8819/15476 2829/8829/15477 +f 2831/8830/15478 2816/8816/15479 2830/8831/15480 +f 2820/8820/15481 2831/8830/15482 2830/8831/15483 +f 2818/8818/15484 2831/8830/15485 2820/8820/15486 +f 2832/8832/15487 2813/8813/15488 2811/8811/15489 +f 2833/8833/15490 2832/8832/15491 2811/8811/15492 +f 2834/8834/15493 2833/8833/15494 2811/8811/15495 +f 2809/8810/15496 2834/8834/15497 2811/8811/15498 +f 2826/8824/15499 2817/8817/15500 2819/8819/15501 +f 2824/8825/15502 2826/8824/15503 2819/8819/15504 +f 2835/8835/15505 2822/8822/15506 2820/8820/15507 +f 2830/8831/15508 2835/8835/15509 2820/8820/15510 +f 2831/8830/15511 2818/8818/15512 2814/8814/15513 +f 2816/8816/15514 2831/8830/15515 2814/8814/15516 diff --git a/scenes/sphere.json b/scenes/sphere.json index affc3d75..91a095c1 100644 --- a/scenes/sphere.json +++ b/scenes/sphere.json @@ -4,29 +4,97 @@ "light": { "TYPE":"Emitting", - "RGB":[1.0,1.0,1.0], - "EMITTANCE":5.0 + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":15.0, + "ROUGHNESS":0.0 + }, + "light1": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":3.0, + "ROUGHNESS":0.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35], + "ROUGHNESS":0.0 + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35], + "ROUGHNESS":0.0 + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":1.0, + "REFLECTIVE":0.0 + }, + "transmit": + { + "TYPE":"Transmit", + "RGB":[0.98, 0.98, 0.98], + "IOR":1.5, + "ROUGHNESS":0.0 + }, + "subsurface_cyan": + { + "TYPE":"Disney", + "RGB":[0.9, 0.9, 0.9], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.0, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + }, + "diffuse_deepblue": + { + "TYPE":"Diffuse", + "RGB":[0.2, 0.2, 0.2], + "ROUGHNESS":0.0 } }, "Camera": { - "RES":[800,800], + "RES":[1980,1080], "FOVY":45.0, - "ITERATIONS":5000, + "ITERATIONS":3000, "DEPTH":8, - "FILE":"sphere", + "FILE":"cornell", "EYE":[0.0,5.0,10.5], "LOOKAT":[0.0,5.0,0.0], "UP":[0.0,1.0,0.0] }, "Objects": [ + { - "TYPE":"sphere", - "MATERIAL":"light", - "TRANS":[0.0,0.0,0.0], - "ROTAT":[0.0,0.0,0.0], - "SCALE":[3.0,3.0,3.0] + "TYPE":"mesh", + "MATERIAL":"transmit", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.6,0.0], + "ROTAT":[-85.0,0.0,0.0], + "SCALE":[0.08, 0.08, 0.08] } - ] + ], + + "Environment": + { + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\hdri\\night3.hdr" + } } \ No newline at end of file diff --git a/scenes/startPT.bat b/scenes/startPT.bat new file mode 100644 index 00000000..99dd1662 --- /dev/null +++ b/scenes/startPT.bat @@ -0,0 +1,2 @@ +@echo off +D:\Fall2024\CIS5650\Project3-CUDA-Path-Tracer\build\bin\Release\cis565_path_tracer.exe cornell.json \ No newline at end of file diff --git a/scenes/test.json b/scenes/test.json new file mode 100644 index 00000000..813f419d --- /dev/null +++ b/scenes/test.json @@ -0,0 +1,168 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":10.0, + "ROUGHNESS":0.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35], + "ROUGHNESS":0.0 + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35], + "ROUGHNESS":0.0 + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0, + "REFLECTIVE":0.0 + }, + "transmit": + { + "TYPE":"Transmit", + "RGB":[0.98, 0.98, 0.98], + "IOR":1.5, + "ROUGHNESS":0.0 + }, + "subsurface_cyan": + { + "TYPE":"Subsurface", + "RGB":[0.0, 1.0, 1.0], + "IOR":1.5, + "ROUGHNESS":0.0, + "SUBSURFACE":1.0 + }, + "disney_brdf_sample": + { + "TYPE":"Disney", + "RGB":[0.82, 0.67, 0.16], + "METALLIC":0.0, + "SUBSURFACE":0.0, + "SPECULAR":0.5, + "ROUGHNESS":0.5, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.5, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.1 + }, + "my_brdf": + { + "TYPE":"Disney", + "RGB":[0.7, 0.7, 0.7], + "METALLIC":0.0, + "SUBSURFACE":0.6, + "SPECULAR":0.2, + "ROUGHNESS":0.9, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + }, + "wall_brdf": + { + "TYPE":"Disney", + "RGB":[0.99, 0.99, 0.99], + "METALLIC":1.0, + "SUBSURFACE":0.0, + "SPECULAR":1.0, + "ROUGHNESS":0.5, + "SPECULARTINT":0.0, + "ANISOTROPIC":0.0, + "SHEEN":0.0, + "SHEENTINT":0.0, + "CLEARCOAT":0.0, + "CLEARCOATGLOSS":0.0 + } + }, + "Camera": + { + "RES":[1980,1080], + "FOVY":45.0, + "ITERATIONS":5000, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,5.0,10.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"cube", + "MATERIAL":"diffuse_white", + "TRANS":[0.0,0.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[5.0,0.005,5.0] + }, + { + "TYPE":"cube", + "MATERIAL":"diffuse_white", + "TRANS":[0.0,10.0,0.0], + "ROTAT":[0.0,0.0,90.0], + "SCALE":[0.005,5.0,5.0] + }, + { + "TYPE":"cube", + "MATERIAL":"wall_brdf", + "TRANS":[0.0,5.0,-5.0], + "ROTAT":[0.0,90.0,0.0], + "SCALE":[0.005,5.0,5.0] + }, + { + "TYPE":"cube", + "MATERIAL":"diffuse_red", + "TRANS":[-5.0,5.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[0.005,5.0,5.0] + }, + { + "TYPE":"cube", + "MATERIAL":"diffuse_green", + "TRANS":[5.0,5.0,0.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[0.005,5.0,5.0] + }, + { + "TYPE":"sphere", + "MATERIAL":"my_brdf", + "TRANS":[0.0,3.0,2.0], + "ROTAT":[0.0,0.0,0.0], + "SCALE":[1.0,1.0,1.0] + } + ], + "Lights": + [ + { + "TYPE":"Area", + "TRANS":[0.0,9.95,-0.0], + "ROTAT":[90.0,0.0,0.0], + "SCALE":[1.5,1.5,1], + "MATERIAL": + { + "RGB":[1,1,1], + "EMITTANCE":10.0, + "ROUGHNESS":1.0 + } + } + ] +} \ No newline at end of file diff --git a/scenes/void.json b/scenes/void.json new file mode 100644 index 00000000..1fd3dacf --- /dev/null +++ b/scenes/void.json @@ -0,0 +1,55 @@ +{ + "Materials": + { + "light": + { + "TYPE":"Emitting", + "RGB":[1.0, 1.0, 1.0], + "EMITTANCE":10.0 + }, + "diffuse_white": + { + "TYPE":"Diffuse", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":1.0 + }, + "diffuse_red": + { + "TYPE":"Diffuse", + "RGB":[0.85, 0.35, 0.35] + }, + "diffuse_green": + { + "TYPE":"Diffuse", + "RGB":[0.35, 0.85, 0.35] + }, + "specular_white": + { + "TYPE":"Specular", + "RGB":[0.98, 0.98, 0.98], + "ROUGHNESS":0.0 + } + }, + "Camera": + { + "RES":[800,800], + "FOVY":45.0, + "ITERATIONS":5000, + "DEPTH":8, + "FILE":"cornell", + "EYE":[0.0,5.0,10.5], + "LOOKAT":[0.0,5.0,0.0], + "UP":[0.0,1.0,0.0] + }, + "Objects": + [ + { + "TYPE":"mesh", + "MATERIAL":"diffuse_white", + "FILENAME":"D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\objs\\Dragon.obj", + "TRANS":[0.0,4.0,-2.0], + "ROTAT":[-90.0,0.0,0.0], + "SCALE":[0.05, 0.05, 0.05] + } + ] +} \ No newline at end of file diff --git a/src/PTDirectives.h b/src/PTDirectives.h new file mode 100644 index 00000000..9a2e88fa --- /dev/null +++ b/src/PTDirectives.h @@ -0,0 +1,35 @@ +#pragma once +#define JITTER 0.5 +#define USE_BVH +//#define DEBUG_NORMAL 0 // 1 : clamped, 0 : unclamped +//#define DEBUG_THROUGHPUT +//#define DEBUG_RADIANCE +//#define DEBUG_WORLD_POS +//#define DEBUG_UV +//#define DEBUG_BVH +////////////////////////////////////////////////////////////////// +/////////////////////Post Process Directives////////////////////// +////////////////////////////////////////////////////////////////// + +//#define POSTPROCESS +#define TONE_MAPPING_ACES 1 +#define TONE_MAPPING_REINHARD 1 + +#define OIDN_DENOSIER +__inline__ __host__ __device__ glm::vec3 ACESFilm(glm::vec3 x) +{ + return glm::clamp((x * (2.51f * x + 0.03f)) / (x * (2.43f * x + 0.59f) + 0.14f), 0.0f, 1.0f); +} +__inline__ __host__ __device__ glm::vec3 Reinhard(glm::vec3 x) +{ + return x / (x + glm::vec3(1.0f)); +} + +__inline__ __host__ __device__ float hash13(glm::vec3 v) { + const glm::vec3 seed = glm::vec3(12.9898, 78.233, 37.719); + float dotProduct = glm::dot(v, seed); + float hash = glm::fract(sin(dotProduct) * 43758.5453f); + + return hash; +} + diff --git a/src/bvh.cu b/src/bvh.cu new file mode 100644 index 00000000..b092ff57 --- /dev/null +++ b/src/bvh.cu @@ -0,0 +1,607 @@ +#include "bvh.h" +LinearBVHNode* dev_nodes = NULL; + +void BVHAccel::updateMortonCodes(std::vector& mortonPrims, const std::vector& primitiveInfo, AABB& bounds, int chunkSize) const +{ + for (int i = 0; i < mortonPrims.size(); i++) + { + // << Update mortonPrims[i] for ith primitive >> + constexpr int mortonBits = 10; // use 10 bits for each spatial dimension: x, y, z + constexpr int mortonScale = 1 << mortonBits; + mortonPrims[i].primitiveIndex = primitiveInfo[i].primitiveNumber; + glm::vec3 centroidOffset = bounds.Offset(primitiveInfo[i].centroid); + mortonPrims[i].mortonCode = EncodeMorton3(centroidOffset * static_cast(mortonScale)); + } +} + +BVHAccel::BVHBuildNode* BVHAccel::emitLBVH(BVHBuildNode*& buildNodes, + const std::vector& primitiveInfo, + MortonPrimitive* mortonPrims, int nPrimitives, int* totalNodes, + std::vector& orderedPrims, + std::atomic* orderedPrimsOffset, int bitIndex, int recursionDepth) const +{ + //printf("Recursion depth: %d\n", recursionDepth); + recursionDepth++; + if (bitIndex == -1 || nPrimitives < maxPrimsInNode) { + // Create and return leaf node of LBVH treelet + (*totalNodes)++; + BVHBuildNode* node = buildNodes++; + AABB bounds; + int firstPrimOffset = orderedPrimsOffset->fetch_add(nPrimitives); + for (int i = 0; i < nPrimitives; ++i) { + int primitiveIndex = mortonPrims[i].primitiveIndex; + orderedPrims[firstPrimOffset + i] = primitives[primitiveIndex]; + bounds = AABB::Union(bounds, primitiveInfo[primitiveIndex].bounds); + } + node->initLeaf(firstPrimOffset, nPrimitives, bounds); + return node; + } + else { + int mask = 1 << bitIndex; + // Advance to next subtree level if there’s no LBVH split for this bit + if ((mortonPrims[0].mortonCode & mask) == + (mortonPrims[nPrimitives - 1].mortonCode & mask)) + return emitLBVH(buildNodes, primitiveInfo, mortonPrims, nPrimitives, + totalNodes, orderedPrims, orderedPrimsOffset, + bitIndex - 1, recursionDepth); + + // Find LBVH split point for this dimension + int searchStart = 0, searchEnd = nPrimitives - 1; + while (searchStart + 1 != searchEnd) { + int mid = (searchStart + searchEnd) / 2; + if ((mortonPrims[searchStart].mortonCode & mask) == + (mortonPrims[mid].mortonCode & mask)) + searchStart = mid; + else + searchEnd = mid; + } + int splitOffset = searchEnd; + + // Create and return interior LBVH node + (*totalNodes)++; + BVHBuildNode* node = buildNodes++; + BVHBuildNode* lbvh[2] = { + emitLBVH(buildNodes, primitiveInfo, mortonPrims, splitOffset, + totalNodes, orderedPrims, orderedPrimsOffset, bitIndex - 1, recursionDepth), + emitLBVH(buildNodes, primitiveInfo, &mortonPrims[splitOffset], + nPrimitives - splitOffset, totalNodes, orderedPrims, + orderedPrimsOffset, bitIndex - 1, recursionDepth) + }; + int axis = bitIndex % 3; + node->InitInterior(axis, lbvh[0], lbvh[1]); + return node; + + } +} + + + +int BVHAccel::flattenBVHTree(BVHBuildNode* node, int* offset, int maxNodeNumber) { + LinearBVHNode* linearNode = &nodes[*offset]; + + linearNode->bounds = node->bounds; + int myOffset = (*offset)++; + + if (node->nPrimitives > 0) { + linearNode->primitivesOffset = node->firstPrimOffset; + linearNode->nPrimitives = node->nPrimitives; + } + else { + //Create interior flattened BVH node + linearNode->axis = node->splitAxis; + linearNode->nPrimitives = 0; + if (node && node->children[0] && node->children[1]) { + flattenBVHTree(node->children[0], offset, maxNodeNumber); + linearNode->secondChildOffset = flattenBVHTree(node->children[1], offset, maxNodeNumber); + } + } + return myOffset; +} + +void BVHAccel::RadixSort(std::vector* v) { + std::vector tempVector(v->size()); + constexpr int bitsPerPass = 6; + constexpr int nBits = 30; + constexpr int nPasses = nBits / bitsPerPass; + for (int pass = 0; pass < nPasses; ++pass) { + // Perform one pass of radix sort, sorting bitsPerPass bits + int lowBit = pass * bitsPerPass; + // Set in and out vector pointers for radix sort pass + std::vector& in = (pass & 1) ? tempVector : *v; + std::vector& out = (pass & 1) ? *v : tempVector; + + // Count number of zero bits in array for current radix sort bit + constexpr int nBuckets = 1 << bitsPerPass; + int bucketCount[nBuckets] = { 0 }; + constexpr int bitMask = (1 << bitsPerPass) - 1; + for (const MortonPrimitive& mp : in) { + int bucket = (mp.mortonCode >> lowBit) & bitMask; + ++bucketCount[bucket]; + } + + // Compute starting index in output array for each bucket + int outIndex[nBuckets]; + outIndex[0] = 0; + for (int i = 1; i < nBuckets; ++i) + outIndex[i] = outIndex[i - 1] + bucketCount[i - 1]; + + // Store sorted values in output array + for (const MortonPrimitive& mp : in) { + int bucket = (mp.mortonCode >> lowBit) & bitMask; + out[outIndex[bucket]++] = mp; + } + + } + // Copy final result from tempVector, if needed + if (nPasses & 1) + std::swap(*v, tempVector); + + +} + +BVHAccel::BVHBuildNode* BVHAccel::recursiveBuild(MemoryArena& arena, + std::vector& primitiveInfo, int start, + int end, int* totalNodes, + std::vector& orderedPrims) { + BVHBuildNode* node = arena.Alloc(); + (*totalNodes)++; + + // compute bounds of all primitives in BVH node + AABB bounds; + for (int i = start; i < end; ++i) + bounds = AABB::AABB::Union(bounds, primitiveInfo[i].bounds); + + int nPrimitives = end - start; + if (nPrimitives < maxPrimsInNode) { + // create leaf node + int firstPrimOffset = orderedPrims.size(); + for (int i = start; i < end; ++i) { + int primNum = primitiveInfo[i].primitiveNumber; + orderedPrims.push_back(primitives[primNum]); + } + node->initLeaf(firstPrimOffset, nPrimitives, bounds); + return node; + } + else { + // Compute bound of primitive centroids, choose split dimension dim + AABB centroidBounds; // initialize? + for (int i = start; i < end; ++i) + centroidBounds = AABB::AABB::Union(centroidBounds, primitiveInfo[i].centroid); + int dim = centroidBounds.maxExtent(); + + //Partition primitives into two sets and build children + int mid = (start + end) / 2; + if (centroidBounds.max[dim] == centroidBounds.min[dim]) { + // Create leaf BVHBuildNode + int firstPrimOffset = orderedPrims.size(); + for (int i = start; i < end; ++i) { + int primNum = primitiveInfo[i].primitiveNumber; + orderedPrims.push_back(primitives[primNum]); + } + node->initLeaf(firstPrimOffset, nPrimitives, bounds); + return node; + } + else { + + // Allocate BucketInfo for SAH partition buckets + constexpr int nBuckets = 12; + struct BucketInfo { + int count = 0; + AABB bounds; + }; + BucketInfo buckets[nBuckets]; + + // Initialize BucketInfo for SAH partition buckets + for (int i = start; i < end; ++i) { + int b = nBuckets * + centroidBounds.Offset(primitiveInfo[i].centroid)[dim]; + if (b == nBuckets) b = nBuckets - 1; + buckets[b].count++; + buckets[b].bounds = AABB::AABB::Union(buckets[b].bounds, primitiveInfo[i].bounds); + } + + // Compute costs for splitting after each bucket + float cost[nBuckets - 1]; + for (int i = 0; i < nBuckets - 1; ++i) { + AABB b0, b1; + int count0 = 0, count1 = 0; + for (int j = 0; j <= i; ++j) { + b0 = AABB::AABB::Union(b0, buckets[j].bounds); + count0 += buckets[j].count; + } + for (int j = i + 1; j < nBuckets; ++j) { + b1 = AABB::AABB::Union(b1, buckets[j].bounds); + count1 += buckets[j].count; + } + cost[i] = 0.125f + (count0 * b0.SurfaceArea() + + count1 * b1.SurfaceArea()) / bounds.SurfaceArea(); + } + + // Find bucket to split at that minimizes SAH metric + float minCost = cost[0]; + int minCostSplitBucket = 0; + for (int i = 1; i < nBuckets - 1; ++i) { + if (cost[i] < minCost) { + minCost = cost[i]; + minCostSplitBucket = i; + } + } + + // Either create leaf or interior BVHBuildNode + float leafCost = nPrimitives; + if (nPrimitives > maxPrimsInNode || minCost < leafCost) { + BVHPrimitiveInfo* pmid = std::partition(&primitiveInfo[start], + &primitiveInfo[end - 1] + 1, + [=](const BVHPrimitiveInfo& pi) { + int b = nBuckets * centroidBounds.Offset(pi.centroid)[dim]; + if (b == nBuckets) b = nBuckets - 1; + return b <= minCostSplitBucket; + }); + mid = pmid - &primitiveInfo[0]; + } + else { + // Create leaf BVHBuildNode + int firstPrimOffset = orderedPrims.size(); + for (int i = start; i < end; ++i) { + int primNum = primitiveInfo[i].primitiveNumber; + orderedPrims.push_back(primitives[primNum]); + } + node->initLeaf(firstPrimOffset, nPrimitives, bounds); + return node; + } + + if (start == mid || mid == end) { + mid = start + (end - start) / 2; + } + + // Partition primitives based on splitMethod + node->InitInterior(dim, + recursiveBuild(arena, primitiveInfo, start, mid, + totalNodes, orderedPrims), + recursiveBuild(arena, primitiveInfo, mid, end, + totalNodes, orderedPrims)); + return node; + } + } + return nullptr; +} + +BVHAccel::BVHBuildNode* BVHAccel::buildUpperSAH(MemoryArena& arena, + std::vector& treeletRoots, int start, int end, + int* totalNodes, int recursionDepth) const { + + int nNodes = end - start; + + if (nNodes <= 1) return treeletRoots[start]; + + (*totalNodes)++; + BVHBuildNode* node = arena.Alloc(); + + // 计算此HLBVH结点下的所有图元边界框 + AABB bounds; + for (int i = start; i < end; ++i) + bounds = AABB::Union(bounds, treeletRoots[i]->bounds); + + // 计算此HLBVH结点下的所有图元质心的边界框,并选择分割轴dim + AABB centroidBounds; + for (int i = start; i < end; ++i) { + glm::vec3 centroid = + (treeletRoots[i]->bounds.min + treeletRoots[i]->bounds.max) * + 0.5f; + centroidBounds = AABB::Union(centroidBounds, centroid); + } + int dim = centroidBounds.maxExtent(); + + // 为HLBVH的SAH分区的桶初始化信息_BucketInfo_ + constexpr int nBuckets = 12; + struct BucketInfo { + int count = 0; + AABB bounds; + }; + BucketInfo buckets[nBuckets]; + for (int i = start; i < end; ++i) { + float centroid = (treeletRoots[i]->bounds.min[dim] + + treeletRoots[i]->bounds.max[dim]) * + 0.5f; + int b = + nBuckets * ((centroid - centroidBounds.min[dim]) / + (centroidBounds.max[dim] - centroidBounds.min[dim])); + if (b == nBuckets) b = nBuckets - 1; + buckets[b].count++; + buckets[b].bounds = AABB::Union(buckets[b].bounds, treeletRoots[i]->bounds); + } + + // 计算每个桶的分区花费(划分点在桶位置后) + float cost[nBuckets - 1]; + for (int i = 0; i < nBuckets - 1; ++i) { + AABB b0, b1; + int count0 = 0, count1 = 0; + for (int j = 0; j <= i; ++j) { + b0 = AABB::Union(b0, buckets[j].bounds); + count0 += buckets[j].count; + } + for (int j = i + 1; j < nBuckets; ++j) { + b1 = AABB::Union(b1, buckets[j].bounds); + count1 += buckets[j].count; + } + cost[i] = .125f + + (count0 * b0.SurfaceArea() + count1 * b1.SurfaceArea()) / + bounds.SurfaceArea(); + } + + // 寻找最小的SAH花费 + float minCost = cost[0]; + int minCostSplitBucket = 0; + for (int i = 1; i < nBuckets - 1; ++i) { + if (cost[i] < minCost) { + minCost = cost[i]; + minCostSplitBucket = i; + } + } + + // 在选定的SAH存储桶中创建叶子结点或拆分图元集 + BVHBuildNode** pmid = std::partition( + &treeletRoots[start], &treeletRoots[end - 1] + 1, + [=](const BVHBuildNode* node) { + float centroid = + (node->bounds.min[dim] + node->bounds.max[dim]) * 0.5f; + int b = nBuckets * + ((centroid - centroidBounds.min[dim]) / + (centroidBounds.max[dim] - centroidBounds.min[dim])); + if (b == nBuckets) b = nBuckets - 1; + return b <= minCostSplitBucket; + }); + + int mid = pmid - &treeletRoots[0]; + if (mid == start || mid == end) { + mid = start + (end - start) / 2; + } + + node->InitInterior( + dim, this->buildUpperSAH(arena, treeletRoots, start, mid, totalNodes, recursionDepth), + this->buildUpperSAH(arena, treeletRoots, mid, end, totalNodes, recursionDepth)); + return node; + +} + + +BVHAccel::BVHBuildNode* BVHAccel::HLBVHBuild(MemoryArena& arena, + const std::vector& primitiveInfo, + int* totalNodes, + std::vector& orderedPrims) const + +{ + // Compute bounding box of all primitive centroids + AABB bounds; + for (const BVHPrimitiveInfo& pi : primitiveInfo) + { + bounds = AABB::Union(bounds, pi.centroid); + } + //printf("bounds: %f %f %f %f %f %f\n", bounds.min.x, bounds.min.y, bounds.min.z, bounds.max.x, bounds.max.y, bounds.max.z); + // Compute Morton indices of primitives + std::vector mortonPrims(primitiveInfo.size()); + updateMortonCodes(mortonPrims, primitiveInfo, bounds, 512); + + // apply radix sort to morton codes + RadixSort(&mortonPrims); + + // Create LBVH treelet at bottom of the BVH + std::vector treeletsToBuild; + for (int start = 0, end = 1; end <= (int)mortonPrims.size(); ++end) { + uint32_t mask = 0b00111111111111000000000000000000; + if (end == (int)mortonPrims.size() || + ((mortonPrims[start].mortonCode & mask) != + (mortonPrims[end].mortonCode & mask))) { + // Add entry to treeletsToBuild for this treelet + int nPrimitives = end - start; + int maxBVHNodes = 2 * nPrimitives - 1; + BVHBuildNode* nodes = arena.Alloc(maxBVHNodes, false); + treeletsToBuild.push_back({ start, nPrimitives, nodes }); + start = end; + } + } + + std::atomic atomicTotal(0), orderedPrimsOffset(0); + orderedPrims.resize(primitives.size()); + // Create LBVHs for treelets in sequential + + for (int i = 0; i < treeletsToBuild.size(); ++i) { + // Generate LBVH for treelet + int nodesCreated = 0; + const int firstBitIndex = 29 - 12; // the first 12 bits have already been used for a larger partitioning + LBVHTreelet& tr = treeletsToBuild[i]; + tr.buildNodes = + emitLBVH(tr.buildNodes, primitiveInfo, &mortonPrims[tr.startIndex], + tr.nPrimitives, &nodesCreated, orderedPrims, + &orderedPrimsOffset, firstBitIndex); + atomicTotal += nodesCreated; + } + *totalNodes = atomicTotal; + std::vector finishedTreelets; + for (LBVHTreelet& treelet : treeletsToBuild) + finishedTreelets.push_back(treelet.buildNodes); + + return buildUpperSAH(arena, finishedTreelets, 0, + finishedTreelets.size(), totalNodes); +} + +bool __device__ BVHIntersect(const Ray& ray, LinearBVHNode* dev_nodes, Triangle* dev_triangles, ShadeableIntersection* isect) { + bool hit = false; + glm::vec3 invDir(1 / ray.direction.x, 1 / ray.direction.y, 1 / ray.direction.z); + int dirIsNeg[3] = { invDir.x < 0, invDir.y < 0, invDir.z < 0 }; + // Follow ray through BVH nodes to find primitive intersections + int toVisitOffset = 0, currentNodeIndex = 0; + int nodesToVisit[64]; + float tmin = FLT_MAX; + Triangle* hitTriangle = nullptr; + while (true) { + LinearBVHNode node = dev_nodes[currentNodeIndex]; + // Check ray against BVH node + + if (node.bounds.IntersectP(ray)) { +#ifdef DEBUG_BVH + isect->hitBVH += 0.002f; +#endif + if (node.nPrimitives > 0) { + // Intersect ray with primitives in leaf BVH node + for (int i = 0; i < node.nPrimitives; ++i) + { +#ifdef DEBUG_BVH + isect->hitBVH += 0.002f; +#endif + float tempt = dev_triangles[node.primitivesOffset + i].intersect(ray); + if (tempt > 0) + hit = true; + if (tempt < tmin && tempt > 0) + { + tmin = tempt; + hitTriangle = &dev_triangles[node.primitivesOffset + i]; + } + } + + if (toVisitOffset == 0) break; + currentNodeIndex = nodesToVisit[--toVisitOffset]; + + } + else { + // Put far BVH node on nodesToVisit stack, advance to near node + if (dirIsNeg[node.axis]) { + nodesToVisit[toVisitOffset++] = currentNodeIndex + 1; + currentNodeIndex = node.secondChildOffset; + } + else { + nodesToVisit[toVisitOffset++] = node.secondChildOffset; + currentNodeIndex = currentNodeIndex + 1; + } + + } + } + else { + if (toVisitOffset == 0) break; + + currentNodeIndex = nodesToVisit[--toVisitOffset]; + } + + } + + if (hit && isect) + { + if (tmin < isect->t || isect->t == -1.f) + { + isect->t = tmin; + isect->surfaceNormal = hitTriangle->getNormal(ray.origin + ray.direction * tmin); + isect->uv = hitTriangle->getUV(ray.origin + ray.direction * tmin); + isect->materialId = hitTriangle->materialid; + isect->lightId = hitTriangle->lightid; + } + } + return hit; +} + +// pre-order tranversal +void BVHAccel::traverseBVH(BVHBuildNode* node, int* nodeTraversed, int depth) +{ + // bfs tranversal + std::queue queue; + queue.push(node); + depth = 0; + while (!queue.empty()) + { + int size = queue.size(); + printf("depth %d, size %d\n", depth, size); + for (int i = 0; i < size; i++) + { + BVHBuildNode* current = queue.front(); + printf("node %d ", current->nPrimitives); + queue.pop(); + (*nodeTraversed)++; + if (current->children[0]) + queue.push(current->children[0]); + if (current->children[1]) + queue.push(current->children[1]); + } + printf("\n"); + depth++; + } +} + +void BVHAccel::traverseLBVH(BVHAccel::LinearBVHNode* node, int totalNodes, int depth) +{ + // bfs tranversal + std::queue q; + q.push(0); + depth = 0; + while (!q.empty()) + { + int size = q.size(); + printf("depth %d, size %d\n", depth++, size); + for (int i = 0; i < size; ++i) + { + int current = q.front(); + q.pop(); + printf("%d ", node[current].nPrimitives); + if (node[current].nPrimitives == 0) + { + q.push(current + 1); + q.push(node[current].secondChildOffset); + } + } + printf("\n"); + + } +} + +void BVHAccel::build(std::vector& triangles, int numTriangles) { + if (primitives.empty()) + return; + + // calculate AABB and centroid for each primitive + std::vector primitiveInfo(primitives.size()); + for (size_t i = 0; i < primitives.size(); ++i) { + AABB bounds = primitives[i]->getBounds(); + primitiveInfo[i] = { static_cast(i), (bounds.min + bounds.max) * 0.5f, bounds }; + } + + // construct BVH tree + MemoryArena arena(256 * numTriangles); + int totalNodes = 0; + std::vector orderedPrims; + orderedPrims.reserve(primitives.size()); + + BVHBuildNode* root = HLBVHBuild(arena, primitiveInfo, &totalNodes, orderedPrims); + //BVHBuildNode* root = recursiveBuild(arena, primitiveInfo, 0, primitives.size(), &totalNodes, orderedPrims); + // swap orderedPrims with primitives + primitives.swap(orderedPrims); + + //traverseBVH(root, &totalNodes); + + // Create a temporary array to hold the reordered triangles + std::vector tempTriangles(primitives.size()); + + for (size_t i = 0; i < primitives.size(); ++i) + { + tempTriangles[i] = *primitives[i]; + } + + // Copy the reordered triangles back to the triangles array + for (size_t i = 0; i < tempTriangles.size(); ++i) + { + triangles[i] = tempTriangles[i]; + // Update the pointer in primitives to point to the new location + //primitives[i] = &triangles[i]; + } + //traverseBVH(root, &totalNodes, 0); + // linearize BVH tree + nodes = new LinearBVHNode[totalNodes]; + int offset = 0; + flattenBVHTree(root, &offset, totalNodes); + //traverseLBVH(nodes, totalNodes); + + bvhNodes = totalNodes; + // copy linearized BVH tree to device memory + cudaMalloc(&dev_nodes, totalNodes * sizeof(LinearBVHNode)); + cudaMemcpy(dev_nodes, nodes, totalNodes * sizeof(LinearBVHNode), cudaMemcpyHostToDevice); + + // check for CUDA errors + checkCUDAError("BVHAccel::build"); +} diff --git a/src/bvh.h b/src/bvh.h new file mode 100644 index 00000000..d803b1c8 --- /dev/null +++ b/src/bvh.h @@ -0,0 +1,132 @@ +#pragma once +#include "utilities.h" +#include "sceneStructs.h" +#include "memoryArena.h" +#include +#include +#include "PTDirectives.h" +class BVHAccel +{ +public: + std::vector primitives; + const int maxPrimsInNode; + int bvhNodes; + BVHAccel(std::vector& triangles, int numTriangles, int maxPrimsInNode = 4) : maxPrimsInNode(maxPrimsInNode), bvhNodes(0) + { + primitives.reserve(numTriangles); + for (int i = 0; i < numTriangles; ++i) + { + primitives.push_back(&triangles[i]); + } + LinearBVHNode* nodes = nullptr; + } + + struct BVHPrimitiveInfo + { + int primitiveNumber; + glm::vec3 centroid; + AABB bounds; + }; + + struct MortonPrimitive { + int primitiveIndex; + uint32_t mortonCode; + }; + + + struct BVHBuildNode + { + AABB bounds; + BVHBuildNode* children[2]; + int splitAxis; + int firstPrimOffset; + int nPrimitives; + + BVHBuildNode() : bounds(), children{ nullptr, nullptr }, splitAxis(0), firstPrimOffset(0), nPrimitives(0) {} + + void initLeaf(int first, int n, const AABB& b) + { + firstPrimOffset = first; + nPrimitives = n; + bounds = b; + children[0] = children[1] = nullptr; + } + void InitInterior(int axis, BVHBuildNode* c0, BVHBuildNode* c1) + { + children[0] = c0; + children[1] = c1; + bounds = AABB::Union(c0->bounds, c1->bounds); + splitAxis = axis; + nPrimitives = 0; + } + + }; + + struct LBVHTreelet { + int startIndex, nPrimitives; + BVHBuildNode* buildNodes; + }; + + struct LinearBVHNode { + AABB bounds; + union { + int primitivesOffset; // leaf + int secondChildOffset; // interior + }; + uint16_t nPrimitives; // 0 -> interior node + uint8_t axis; // interior node: xyz + uint8_t pad[1]; // ensure 32 byte total size + }; + + + static __inline__ __host__ __device__ uint32_t LeftShift3(uint32_t x) { + if (x == (1 << 10)) --x; + x = (x | (x << 16)) & 0b00000011000000000000000011111111; + x = (x | (x << 8)) & 0b00000011000000001111000000001111; + x = (x | (x << 4)) & 0b00000011000011000011000011000011; + x = (x | (x << 2)) & 0b00001001001001001001001001001001; + return x; + } + + static __inline__ __host__ __device__ uint32_t EncodeMorton3(const glm::vec3& v) { + return (LeftShift3(v.z) << 2) | (LeftShift3(v.y) << 1) | + LeftShift3(v.x); + } + + static void RadixSort(std::vector* v); + + BVHBuildNode* recursiveBuild(MemoryArena& arena, + std::vector& primitiveInfo, int start, + int end, int* totalNodes, + std::vector& orderedPrims); + + BVHBuildNode* HLBVHBuild(MemoryArena& arena, + const std::vector& primitiveInfo, + int* totalNodes, + std::vector& orderedPrims) const; + + void updateMortonCodes(std::vector& mortonPrims, const std::vector& primitiveInfo, AABB& bounds, int chunkSize) const; + + BVHBuildNode* emitLBVH(BVHBuildNode*& buildNodes, + const std::vector& primitiveInfo, + MortonPrimitive* mortonPrims, int nPrimitives, int* totalNodes, + std::vector& orderedPrims, + std::atomic* orderedPrimsOffset, int bitIndex, int recursionDepth = 0) const; + + BVHBuildNode *buildUpperSAH(MemoryArena &arena, + std::vector &treeletRoots, int start, int end, + int *totalNodes, int recursionDepth = 0) const; + + int flattenBVHTree(BVHBuildNode* node, int* offset, int maxNodeNumber); + + void build(std::vector& trangles, int numTriangles); + + LinearBVHNode* nodes = nullptr; + + void traverseBVH(BVHBuildNode* node, int* nodeTraversed,int depth = 0); + void traverseLBVH(BVHAccel::LinearBVHNode* node, int totalNodes, int depth = 0); +}; +using LinearBVHNode = BVHAccel::LinearBVHNode; +extern LinearBVHNode* dev_nodes; + +bool __device__ BVHIntersect(const Ray& ray, LinearBVHNode* dev_nodes, Triangle* dev_triangles, ShadeableIntersection* isect = NULL); \ No newline at end of file diff --git a/src/cudaUtilities.cu b/src/cudaUtilities.cu new file mode 100644 index 00000000..6c72cec7 --- /dev/null +++ b/src/cudaUtilities.cu @@ -0,0 +1,119 @@ +#pragma once +#include "cudaUtilities.h" + +Triangle* dev_triangles = NULL; +Geom * dev_geoms = NULL; +int dev_numGeoms = 2; +Material* dev_materials = NULL; +int* dev_triTransforms = NULL; +Light* dev_lights = NULL; + +void checkCUDAError(const char* msg) +{ + cudaDeviceSynchronize(); + cudaError_t err = cudaGetLastError(); + if (cudaSuccess != err) + { + fprintf(stderr, "Cuda error: %s: %s.\n", msg, cudaGetErrorString(err)); + exit(EXIT_FAILURE); + } +} + + +void initSceneCuda(Geom* geoms, Material* materials, Triangle* triangles, Light* lights, int numGeoms, int numMaterials, int numTriangles, int numLights) +{ + cudaMalloc(&dev_geoms, numGeoms * sizeof(Geom)); + cudaMalloc(&dev_materials, numMaterials * sizeof(Material)); + cudaMalloc(&dev_triangles, numTriangles * sizeof(Triangle)); + cudaMalloc(&dev_lights, numLights * sizeof(Light)); + //cudaMalloc(&dev_triTransforms, numTriangles * sizeof(int)); + checkCUDAError("initSceneCuda"); + + dev_numGeoms = numGeoms; + cudaMemcpy(dev_geoms, geoms, numGeoms * sizeof(Geom), cudaMemcpyHostToDevice); + cudaMemcpy(dev_materials, materials, numMaterials * sizeof(Material), cudaMemcpyHostToDevice); + cudaMemcpy(dev_triangles, triangles, numTriangles * sizeof(Triangle), cudaMemcpyHostToDevice); + cudaMemcpy(dev_lights, lights, numLights * sizeof(Light), cudaMemcpyHostToDevice); + + // print dev_lights info + Light* host_lights = new Light[numLights]; + cudaMemcpy(host_lights, dev_lights, numLights * sizeof(Light), cudaMemcpyDeviceToHost); + for (int i = 0; i < numLights; ++i) + { + printf("light type: %d\n", host_lights[i].lightType); + printf("light transform:\n"); + for (int j = 0; j < 4; ++j) + { + for (int k = 0; k < 4; ++k) + { + printf("%f ", host_lights[i].transform[j][k]); + } + printf("\n"); + } + + } + + checkCUDAError("initSceneCuda"); + /*int blockSize = 128; + int numBlocks = (numGeoms + blockSize - 1) / blockSize; + updateTriangleTransformIndex << > > (dev_geoms, dev_triTransforms, numGeoms); + + numBlocks = (numTriangles + blockSize - 1) / blockSize; + updateTriangleTransform << > > (dev_geoms, dev_triangles, dev_triTransforms, numGeoms, numTriangles); + + cudaMemcpy(triangles, dev_triangles, numTriangles * sizeof(Triangle), cudaMemcpyDeviceToHost); + checkCUDAError("initSceneCuda");*/ + +} + +//__global__ void updateTriangleTransformIndex(Geom* dev_geoms, int* dev_triTransforms, int numGeoms) +//{ +// int idx = blockIdx.x * blockDim.x + threadIdx.x; +// if (idx >= numGeoms) return; +// +// for (int i = dev_geoms[idx].triangleStartIdx; i < dev_geoms[idx].triangleEndIdx; i++) +// { +// dev_triTransforms[i] = idx; +// } +//} +// +//__global__ void updateTriangleTransform(Geom* dev_geoms, Triangle* dev_triangles, int* dev_triTransforms, int numGeoms, int numTriangles) +//{ +// int idx = blockIdx.x * blockDim.x + threadIdx.x; +// if (idx >= numTriangles) return; +// glm::mat4 transform = dev_geoms[dev_triTransforms[idx]].transform; +// +// // transform vertices +// dev_triangles[idx].vertices[0] = glm::vec3(transform * glm::vec4(dev_triangles[idx].vertices[0], 1.f)); +// dev_triangles[idx].vertices[1] = glm::vec3(transform * glm::vec4(dev_triangles[idx].vertices[1], 1.f)); +// dev_triangles[idx].vertices[2] = glm::vec3(transform * glm::vec4(dev_triangles[idx].vertices[2], 1.f)); +// +// // transform normals +// dev_triangles[idx].normals[0] = glm::normalize(glm::vec3(glm::transpose(glm::inverse(transform)) * glm::vec4(dev_triangles[idx].normals[0], 0.f))); +// dev_triangles[idx].normals[1] = glm::normalize(glm::vec3(glm::transpose(glm::inverse(transform)) * glm::vec4(dev_triangles[idx].normals[1], 0.f))); +// dev_triangles[idx].normals[2] = glm::normalize(glm::vec3(glm::transpose(glm::inverse(transform)) * glm::vec4(dev_triangles[idx].normals[2], 0.f))); +// +// // triangle material +// dev_triangles[idx].materialid = dev_geoms[dev_triTransforms[idx]].materialid; +// +//} + + +void freeSceneCuda() +{ + cudaFree(dev_geoms); + cudaFree(dev_materials); + cudaFree(dev_triangles); +} + +void printGeoms() +{ + Geom* host_geoms = new Geom[dev_numGeoms]; + cudaMemcpy(host_geoms, dev_geoms, dev_numGeoms * sizeof(Geom), cudaMemcpyDeviceToHost); + for (int i = 0; i < dev_numGeoms; ++i) + { + printf("geom type: %d\n", host_geoms[i].type); + } +} + + diff --git a/src/cudaUtilities.h b/src/cudaUtilities.h new file mode 100644 index 00000000..ba16d490 --- /dev/null +++ b/src/cudaUtilities.h @@ -0,0 +1,31 @@ +#pragma once +#include "utilities.h" +#include "sceneStructs.h" + +extern Triangle* dev_triangles; +extern Geom* dev_geoms; +extern int dev_numGeoms; +extern Material* dev_materials; +extern int* dev_triTransforms; +extern Light* dev_lights; + +void initSceneCuda(Geom* geoms, Material* materials, Triangle* triangles, Light* lights, int numGeoms, int numMaterials, int numTriangles, int numLights); +//__global__ void updateTriangleTransformIndex(Geom* dev_geoms, int* dev_triTransforms, int numGeoms); +//__global__ void updateTriangleTransform(Geom* dev_geoms, Triangle* dev_triangles, int* dev_triTransforms, int numGeoms, int numTriangles); + +//void updateTrianglesTransform(Geom* geom, Triangle* triangles, int numGeoms, int numTriangles); +void freeSceneCuda(); + +void printGeoms(); + +void checkCUDAError(const char* msg); + +__inline__ __device__ glm::vec3 slerp(glm::vec3 a, glm::vec3 b, float t) +{ + float dotProduct = glm::dot(a, b); + dotProduct = glm::clamp(dotProduct, -1.0f, 1.0f); + float theta = acosf(dotProduct) * t; + glm::vec3 relativeVec = b - a * dotProduct; + relativeVec = glm::normalize(relativeVec); + return a * cosf(theta) + relativeVec * sinf(theta); +} \ No newline at end of file diff --git a/src/denoiser.h b/src/denoiser.h new file mode 100644 index 00000000..c47272bd --- /dev/null +++ b/src/denoiser.h @@ -0,0 +1,27 @@ +#pragma once +#include +#include "utilities.h" + +void denosier(int width, int height, uchar4* colorBuffer, uchar4* outputBuffer, uchar4* albedoBuffer, uchar4* normalBuffer) +{ + oidn::DeviceRef device = oidn::newDevice(); + device.commit(); + + oidn::FilterRef filter = device.newFilter("RT"); + + filter.setImage("color", colorBuffer, oidn::Format::Float3, width, height); + filter.setImage("output", outputBuffer, oidn::Format::Float3, width, height); + filter.setImage("albedo", albedoBuffer, oidn::Format::Float3, width, height); + filter.setImage("normal", normalBuffer, oidn::Format::Float3, width, height); + filter.commit(); + + filter.execute(); + + const char* errorMessage; + if (device.getError(errorMessage) != oidn::Error::None) { + std::cerr << "Error: " << errorMessage << std::endl; + } + + +} + diff --git a/src/disneybsdf.h b/src/disneybsdf.h new file mode 100644 index 00000000..1bf9f7a7 --- /dev/null +++ b/src/disneybsdf.h @@ -0,0 +1,475 @@ +#pragma once +#include "utilities.h" + +__inline__ __device__ float pow5(float x) { + return x * x * x * x * x; +} + +__inline__ __device__ float smithG_GGX_aniso(float NdotV, float VdotX, float VdotY, float ax, float ay) +{ + return 1 / (NdotV + sqrt(Square(VdotX * ax) + Square(VdotY * ay) + Square(NdotV))); +} + +__inline__ __device__ glm::vec3 SchlickFresnel(const glm::vec3& F0, float cosTheta) +{ + return F0 + (glm::vec3(1.0f) - F0) * pow5(1.0f - cosTheta); +} + +__inline__ __device__ // Cosine-weighted hemisphere sampling implementation +glm::vec3 cosineSampleHemisphere(thrust::default_random_engine& rng) { + glm::vec3 normal = glm::vec3(0, 0, 1); + thrust::uniform_real_distribution u01(0, 1); + + // The random generated direction is cosine weighted by sqrt the random number + float up = sqrt(u01(rng)); // cos(theta) + float over = sqrt(1 - up * up); // sin(theta) + float around = u01(rng) * TWO_PI; + + // Find a direction that is not the normal based off of whether or not the + // normal's components are all equal to sqrt(1/3) or whether or not at + // least one component is less than sqrt(1/3). Learned this trick from + // Peter Kutz. + + glm::vec3 directionNotNormal; + if (abs(normal.x) < SQRT_OF_ONE_THIRD) + { + directionNotNormal = glm::vec3(1, 0, 0); + } + else if (abs(normal.y) < SQRT_OF_ONE_THIRD) + { + directionNotNormal = glm::vec3(0, 1, 0); + } + else + { + directionNotNormal = glm::vec3(0, 0, 1); + } + + // Use not-normal direction to generate two perpendicular directions + glm::vec3 perpendicularDirection1 = + glm::normalize(glm::cross(normal, directionNotNormal)); + glm::vec3 perpendicularDirection2 = + glm::normalize(glm::cross(normal, perpendicularDirection1)); + + // the final direction is a combination of a linear combination of the two perpendicular directions and the normal + return up * normal + + cos(around) * over * perpendicularDirection1 + + sin(around) * over * perpendicularDirection2; +} + +// diffuse +__inline__ __device__ float pdf_baseDiffuse(const glm::vec3& wi) +{ + return AbsCosTheta(wi) / PI; +} + +__inline__ __device__ glm::vec3 Sample_baseDiffuse(const Material& m, const glm::vec3& wo, const glm::vec3& wh, const glm::vec3& wi) +{ + glm::vec3 F0 = glm::vec3(0.5) + 2 * m.roughness * Square(glm::dot(wh, wi)); + return m.color / PI * SchlickFresnel(F0, AbsCosTheta(wi)) * SchlickFresnel(F0, AbsCosTheta(wo)) * AbsCosTheta(wi); +} + + +// Lommel-Seeliger subsurface scattering approximation +__inline__ __device__ float Base_subsurface(float roughness, const glm::vec3& wi, const glm::vec3& wh) +{ + return roughness * Square(AbsDot(wi, wh)); +} + +__inline__ __device__ glm::vec3 Sample_subsurface(const Material& m, const glm::vec3& wo, const glm::vec3& wh, const glm::vec3& wi) +{ + glm::vec3 F0(Base_subsurface(m.roughness, wi, wh)); + return 1.65f * m.color / PI + * ((SchlickFresnel(F0, AbsCosTheta(wi))) * (SchlickFresnel(F0, AbsCosTheta(wo))) * (1.f / (AbsCosTheta(wi) + AbsCosTheta(wo)) - 0.5f) + 0.5f) + * AbsCosTheta(wi); +} + +// Metal + + +// calculate microfacet normal +__inline__ __device__ glm::vec3 sampleGGXVNDF(glm::vec3 Ve, float alpha_x, float alpha_y, float U1, float U2) +{ + // Section 3.2: transforming the view direction to the hemisphere configuration + glm::vec3 Vh = normalize(glm::vec3(alpha_x * Ve.x, alpha_y * Ve.y, Ve.z)); + // Section 4.1: orthonormal basis (with special case if cross product is zero) + float lensq = Vh.x * Vh.x + Vh.y * Vh.y; + glm::vec3 T1 = lensq > 0 ? glm::vec3(-Vh.y, Vh.x, 0) * 1.0f/ sqrt(lensq) : glm::vec3(1, 0, 0); + glm::vec3 T2 = cross(Vh, T1); + // Section 4.2: parameterization of the projected area + float r = sqrt(U1); + float phi = 2.0 * PI * U2; + float t1 = r * cos(phi); + float t2 = r * sin(phi); + float s = 0.5 * (1.0 + Vh.z); + t2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2; + // Section 4.3: reprojection onto hemisphere + glm::vec3 Nh = t1 * T1 + t2 * T2 + sqrt(glm::max(0.0f, 1.0f - t1 * t1 - t2 * t2)) * Vh; + // Section 3.4: transforming the normal back to the ellipsoid configuration + glm::vec3 Ne = normalize(glm::vec3(alpha_x * Nh.x, alpha_y * Nh.y, glm::max(0.0f, Nh.z))); + return Ne; +} + +__inline__ __device__ float GGX_Distribution(const glm::vec3& wh, float ax, float ay) +{ + + return 1.0f / (PI * ax * ay * Square(Square(wh.x / ax) + Square(wh.y / ay) + Square(wh.z))); +} + +__inline__ __device__ float GGX_Smith(float ax, float ay, const glm::vec3& wl) +{ + float a2 = (sqrt((1.0f + (Square(wl.x * ax) + Square(wl.y * ay)) / Square(wl.z)) + 1.0f) - 1.0f) / 2.0f; + return 1.0f / (1.0f + a2); +} + +__inline__ __device__ float GGX_Geometry(const glm::vec3& wo, const glm::vec3& wi, float ax, float ay) +{ + return smithG_GGX_aniso(wi.z, wi.x, wi.y, ax, ay) * smithG_GGX_aniso(wo.z, wo.x, wo.y, ax, ay); +} + +// microfacet reflection pdf +__inline__ __device__ float pdf_microfacet(float D, float G, const glm::vec3 & wi, const glm::vec3& h) +{ + return D * G / (4 * AbsDot(wi, h)); +} + +__inline__ __device__ void axay(float roughness, float anisotropic, float& ax, float& ay) +{ + float roughnessSquared = roughness * roughness; + + // Anisotropy adjustment + ax = roughnessSquared * (1.0f + anisotropic); + ay = roughnessSquared * (1.0f - anisotropic); +} + + + + +// integrate the BRDF +__inline__ __device__ glm::vec3 Sample_disneyBSDF(const Material& m, const glm::vec3& woW, const glm::vec2& xi, glm::vec3& wi, const glm::mat3& ltw, const glm::mat3& wtl, float& pdf, + thrust::default_random_engine& rng) +{ + glm::vec3 n = glm::vec3(0, 0, 1); + glm::vec3 wo = normalize(wtl * woW); + + float ax, ay; ax = ay = 0.0f; + axay(1, m.anisotropic, ax, ay); + // diffuse + glm::vec3 wh_d = normalize(sampleGGXVNDF(wo, ax, ay, xi.x, xi.y)); + //glm::vec3 wi_d = normalize(cosineSampleHemisphere(n, rng)); + //glm::vec3 wi_d = wtl * wi; + glm::vec3 wi_d = reflect(-wo, wh_d); + glm::vec3 fd = Sample_baseDiffuse(m, wo, normalize(wi_d + wo), wi_d); + float fd_pdf = pdf_baseDiffuse(wi_d); + wi = normalize(ltw * wi_d); + + // subsurface scattering + glm::vec3 fss = Sample_subsurface(m, wo, normalize(wi + wo), wi); + fd = Lerp(fd, fss, m.subsurface); + + pdf = fd_pdf; + return wi; +} + + + + + + + + + + +// btdf + +__inline__ __device__ bool Refract(const glm::vec3 wi, float eta, glm::vec3& wt) { + // Compute cos theta using Snell's law + float cosThetaI = glm::dot(wi, glm::vec3(0, 0, 1)); + float sin2ThetaI = glm::max(float(0), float(1 - cosThetaI * cosThetaI)); + float sin2ThetaT = eta * eta * sin2ThetaI; + + // Handle total internal reflection for transmission + if (sin2ThetaT >= 1) return false; + float cosThetaT = sqrt(1 - sin2ThetaT); + glm::vec3 normal = cosThetaI > 0 ? glm::vec3(0, 0, 1) : glm::vec3(0, 0, -1); + wt = eta * -wi + (eta * cosThetaI - cosThetaT)* normal; + return true; +} + + +__inline__ __device__ glm::vec3 Sample_f_specular_trans(const Material& m, const glm::vec3& wi, bool refract) +{ + return refract ? m.color / AbsCosTheta(wi) : glm::vec3(0.0f); +} + + +__inline__ __device__ glm::vec3 Sample_f_specular_refl(const Material& m, const glm::vec3 wi) +{ + return m.color / AbsCosTheta(wi); +} + + +__inline__ __device__ glm::vec3 FresnelDielectricEval(float ior, float cosThetaI) { + // We will hard-code the indices of refraction to be + // those of glass + float etaI = 1.; + float etaT = ior; + cosThetaI = Clamp(cosThetaI, -1.f, 1.f); + + // potentially swap indices of refractions + bool entering = cosThetaI > 0.f; + if (!entering) { + float t = etaI; + etaI = etaT; + etaT = t; + cosThetaI = abs(cosThetaI); + } + + // compute cosThetaT + float sinThetaI = sqrt(glm::max(0.f, 1.f - cosThetaI * cosThetaI)); + float sinThetaT = etaI / etaT * sinThetaI; + if (sinThetaT >= 1) + return glm::vec3(1.); + + float cosThetaT = sqrt(glm::max(0.f, 1.f - sinThetaT * sinThetaT)); + + // compute reflectance + float Rparl = ((etaT * cosThetaI) - (etaI * cosThetaT)) / + ((etaT * cosThetaI) + (etaI * cosThetaT)); + float Rperp = ((etaI * cosThetaI) - (etaT * cosThetaT)) / + ((etaI * cosThetaI) + (etaT * cosThetaT)); + return glm::vec3((Rparl * Rparl + Rperp * Rperp) / 2); +} + + +__inline__ __device__ glm::vec3 Sample_btdf(const Material& m, const glm::vec3& wo, const glm::vec3& wi, float& pdf, const bool refract, const bool reflect) +{ + + if (reflect) + { + pdf = 1.0f; + //return glm::vec3(0, 0., 1); + glm::vec3 R = Sample_f_specular_refl(m, wi); + return 2.0f * FresnelDielectricEval(m.ior, glm::dot(wi, glm::vec3(0, 0, 1))) * R; + } + else if (refract) + { + pdf = 1.0f; + glm::vec3 T = Sample_f_specular_trans(m, wi, refract); + return 2.0f * (1.0f - FresnelDielectricEval(m.ior, glm::dot(wi, glm::vec3(0, 0, 1)))) * T; + } + return glm::vec3(0.0f); +} + + + + + + + +// Disney BRDF +__inline__ __device__ float SchlickFresnel(float u) +{ + float m = Clamp(1.f - u, 0.f, 1.f); + float m2 = m * m; + return m2 * m2 * m; // pow(m,5) +} + +__inline__ __device__ float GTR1(float NdotH, float a) +{ + if (a >= 1) return 1 / PI; + float a2 = a * a; + float t = 1 + (a2 - 1) * NdotH * NdotH; + return (a2 - 1) / (PI * log(a2) * t); +} + +__inline__ __device__ float GTR2(float NdotH, float a) +{ + float a2 = a * a; + float t = 1 + (a2 - 1) * NdotH * NdotH; + return a2 / (PI * t * t); +} + +__inline__ __device__ float GTR2_aniso(float NdotH, float HdotX, float HdotY, float ax, float ay) +{ + return 1 / (PI * ax * ay * Square(Square(HdotX / ax) + Square(HdotY / ay) + NdotH * NdotH)); +} + +__inline__ __device__ float smithG_GGX(float NdotV, float alphaG) +{ + float a = alphaG * alphaG; + float b = NdotV * NdotV; + return 1 / (NdotV + sqrt(a + b - a * b)); +} + + + +__inline__ __device__ glm::vec3 mon2lin(const glm::vec3& x) +{ + return glm::vec3(pow(x[0], 2.2), pow(x[1], 2.2), pow(x[2], 2.2)); +} + +__inline__ __device__ glm::vec3 BRDF(const Material& m, const glm::vec3& L, const glm::vec3& V, const glm::vec3& N, const glm::vec3& X, const glm::vec3& Y, float& pdf) +{ + float NdotL = dot(N, L); + float NdotV = dot(N, V); + if (NdotL < 0 || NdotV < 0) return glm::vec3(0); + + glm::vec3 H = normalize(L + V); + float NdotH = dot(N, H); + float LdotH = dot(L, H); + + glm::vec3 Cdlin = mon2lin(m.color); + float Cdlum = .3 * Cdlin[0] + .6 * Cdlin[1] + .1 * Cdlin[2]; // luminance approx. + + glm::vec3 Ctint = Cdlum > 0 ? Cdlin / Cdlum : glm::vec3(1); // normalize lum. to isolate hue+sat + glm::vec3 Cspec0 = Lerp(m.specular * .08f * Lerp(glm::vec3(1), Ctint, m.specularTint), Cdlin, m.metallic); + glm::vec3 Csheen = Lerp(glm::vec3(1), Ctint, m.sheenTint); + + // Diffuse fresnel - go from 1 at normal incidence to .5 at grazing + // and mix in diffuse retro-reflection based on roughness + float FL = SchlickFresnel(NdotL), FV = SchlickFresnel(NdotV); + float Fd90 = 0.5 + 2 * LdotH * LdotH * m.roughness; + float Fd = Lerp(1.0f, Fd90, FL) * Lerp(1.0f, Fd90, FV); + + // Based on Hanrahan-Krueger brdf approximation of isotropic bssrdf + // 1.25 scale is used to (roughly) preserve albedo + // Fss90 used to "flatten" retroreflection based on roughness + float Fss90 = LdotH * LdotH * m.roughness; + float Fss = Lerp(1.0f, Fss90, FL) * Lerp(1.0f, Fss90, FV); + float ss = 1.25 * (Fss * (1 / (NdotL + NdotV) - .5) + .5); + + // specular + float aspect = sqrt(1 - m.anisotropic * .9); + float ax = glm::max(.001f, Square(m.roughness) / aspect); + float ay = glm::max(.001f, Square(m.roughness) * aspect); + float Ds = GTR2_aniso(NdotH, dot(H, X), dot(H, Y), ax, ay); + float FH = SchlickFresnel(LdotH); + glm::vec3 Fs = Lerp(Cspec0, glm::vec3(1), FH); + float Gs; + Gs = smithG_GGX_aniso(NdotL, dot(L, X), dot(L, Y), ax, ay); + Gs *= smithG_GGX_aniso(NdotV, dot(V, X), dot(V, Y), ax, ay); + + // sheen + glm::vec3 Fsheen = FH * m.sheen * Csheen; + + // clearcoat (ior = 1.5 -> F0 = 0.04) + float Dr = GTR1(NdotH, Lerp(.1, .001, m.clearcoatGloss)); + float Fr = Lerp(.04, 1.0, FH); + float Gr = smithG_GGX(NdotL, .25) * smithG_GGX(NdotV, .25); + + /*float pdf_diffuse = AbsCosTheta(L) / PI; + float pdf_specular = Ds * NdotH / (4 * glm::dot(L, H)); + pdf = Lerp(pdf_diffuse, pdf_specular, Fd);*/ + + // calculate pdf + float pdf_diffuse = 0.0f; + float pdf_specular = 0.0f; + float pdf_total = 0.0f; + + // Compute NdotL and NdotV + + // Ensure NdotL and NdotV are positive + if (NdotL > 0 && NdotV > 0) { + // Diffuse pdf (assuming cosine-weighted hemisphere sampling) + pdf_diffuse = NdotL / PI; + + // Specular pdf (using GGX distribution) + glm::vec3 H = normalize(L + V); + float HdotV = dot(H, V); + float D = Ds; // Use the already computed Ds from your BRDF + pdf_specular = D * NdotH / (4.0f * abs(HdotV)); + + // Compute weights (example: based on the Fresnel terms or albedo) + float weight_diffuse = (1.0f - m.metallic) * (1.0f - m.specular); + float weight_specular = m.specular; + + float sum_weights = weight_diffuse + weight_specular; + weight_diffuse /= sum_weights; + weight_specular /= sum_weights; + + // Total pdf + pdf_total = weight_diffuse * pdf_diffuse + weight_specular * pdf_specular; + } + + // Assign the computed pdf + pdf = pdf_total; + + return ((1 / PI) * Lerp(Fd, ss, m.subsurface) * Cdlin + Fsheen) + * (1 - m.metallic) + + Gs * Fs * Ds + .25f * m.clearcoat * Gr * Fr * Dr; +} + +__inline__ __device__ glm::vec3 Sample_microfacet(const Material& m, const glm::vec3& wo, const glm::vec3& wh, const glm::vec3& wi, float& pdf) +{ + float ax, ay; ax = ay = 0.0f; + glm::vec3 F0(m.metallic); + + axay(m.roughness, m.anisotropic, ax, ay); + glm::vec3 fd = m.color / PI * SchlickFresnel(F0, AbsCosTheta(wi)) * SchlickFresnel(F0, AbsCosTheta(wo)); + float D = 0; + + glm::vec3 F = SchlickFresnel(glm::vec3(F0), AbsDot(wi, wh)); + float G = GGX_Geometry(wo, wi, ax, ay); + + float cosThetaWH = AbsCosTheta(wh); + float pdf_diffuse = AbsCosTheta(wi) / PI; + float pdf_specular = D * cosThetaWH / (4 * glm::dot(wo, wh)); + pdf = Lerp(pdf_diffuse, pdf_specular, F.r); + return fd; + return fd + D * F * G / (4 * AbsCosTheta(wi) * AbsCosTheta(wo)); +} + +__inline__ __device__ void BSDF_setUp(const Material& m, glm::vec3& wi, const glm::vec3& wo, thrust::default_random_engine& rng, bool& isRefract, bool& isReflect) +{ + isRefract = false; + isReflect = false; + if (m.type == MaterialType::DIFFUSE) + { + wi = glm::normalize(cosineSampleHemisphere(rng)); + } + else if (m.type == MaterialType::TRANSMIT) + { + float u01 = thrust::uniform_real_distribution(0, 1)(rng); + if (u01 < 0.5) + { + wi = glm::reflect(-wo, glm::vec3(0, 0, 1)); + isReflect = true; + } + else + { + float eta = glm::dot(wo, glm::vec3(0, 0, 1)) < 0 ? m.ior / 1.0f : 1.0f / m.ior; + isRefract = Refract(wo, eta, wi); + } + } + else + { + glm::vec2 xi = glm::vec2(thrust::uniform_real_distribution(0, 1)(rng), thrust::uniform_real_distribution(0, 1)(rng)); + float ax, ay; ax = ay = 0.0f; + axay(m.roughness, m.anisotropic, ax, ay); + glm::vec3 wh_d = normalize(sampleGGXVNDF(wo, ax, ay, xi.x, xi.y)); + wi = glm::normalize(reflect(-wo, wh_d)); + } + + +} + +__inline__ __device__ glm::vec3 Evaluate_disneyBSDF(const Material& m, const glm::vec3& wi, const glm::vec3& wo, float& pdf, bool refract, bool reflect) +{ + if (m.type == MaterialType::DIFFUSE) + { + pdf = AbsCosTheta(wi) / PI; + return m.color / PI; + + } + else if (m.type == MaterialType::TRANSMIT) + { + + return Sample_btdf(m, wo, wi, pdf, refract, reflect); + } + else + { + return BRDF(m, wi, wo, glm::vec3(0, 0, 1), glm::vec3(1, 0, 0), glm::vec3(0, 1, 0), pdf); + } + pdf = 0; + return glm::vec3(0.); +} diff --git a/src/interactions.cu b/src/interactions.cu index 1837e713..e6167b49 100644 --- a/src/interactions.cu +++ b/src/interactions.cu @@ -1,4 +1,7 @@ -#include "interactions.h" +#include "interactions.h" +//#include "pbr.h" +#include "disneybsdf.h" +#include "light.h" __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere( glm::vec3 normal, @@ -6,6 +9,7 @@ __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere( { thrust::uniform_real_distribution u01(0, 1); + // The random generated direction is cosine weighted by sqrt the random number float up = sqrt(u01(rng)); // cos(theta) float over = sqrt(1 - up * up); // sin(theta) float around = u01(rng) * TWO_PI; @@ -35,19 +39,144 @@ __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere( glm::vec3 perpendicularDirection2 = glm::normalize(glm::cross(normal, perpendicularDirection1)); + // the final direction is a combination of a linear combination of the two perpendicular directions and the normal return up * normal + cos(around) * over * perpendicularDirection1 + sin(around) * over * perpendicularDirection2; } -__host__ __device__ void scatterRay( - PathSegment & pathSegment, - glm::vec3 intersect, - glm::vec3 normal, + + +__device__ void scatterRay( + PathSegment& pathSegment, + const ShadeableIntersection& intersection, + const glm::vec3& intersect, const Material &m, - thrust::default_random_engine &rng) + thrust::default_random_engine &rng, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + cudaTextureObject_t envMap) { - // TODO: implement this. - // A basic implementation of pure-diffuse shading will just call the - // calculateRandomDirectionInHemisphere defined above. + glm::vec3 wi = calculateRandomDirectionInHemisphere(intersection.surfaceNormal, rng); + float pdf = 0.f; + glm::vec3 bsdf = m.color; + pathSegment.remainingBounces--; + +#ifdef DEBUG_NORMAL + col = glm::vec3(1.f); + pathSegment.accumLight = DEBUG_NORMAL ? (normal + 1.0f) / 2.0f : normal; + pathSegment.remainingBounces = 0; +#elif defined(DEBUG_WORLD_POS) + col = glm::vec3(1.f); + pathSegment.accumLight = glm::clamp(intersect, glm::vec3(0), glm::vec3(1.0f)); + pathSegment.remainingBounces = 0; +#elif defined(DEBUG_UV) + col = glm::vec3(1.f); + pathSegment.accumLight = glm::vec3(uv, 0); + pathSegment.remainingBounces = 0; +#endif + + pathSegment.ray.origin = intersect; + pathSegment.ray.direction = glm::normalize(wi); + pathSegment.throughput *= bsdf; } + +__device__ void MIS( + PathSegment& pathSegment, + const ShadeableIntersection& intersection, + const glm::vec3& intersect, + const Material& m, + thrust::default_random_engine& rng, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + cudaTextureObject_t envMap, + int depth, + bool firstBounce) +{ + + thrust::uniform_real_distribution u01(0, 1); + + glm::vec3 normal = intersection.surfaceNormal; + glm::vec2 uv = intersection.uv; + + glm::vec3 wo = -pathSegment.ray.direction; + glm::vec3 wi = glm::vec3(0.0f); + glm::vec3 col = glm::vec3(1.0f); + Material mat = m; + + //normal = glm::dot(normal, wo) > 0 ? normal : -normal; + // disney bsdf + glm::vec2 xi = glm::vec2(u01(rng), u01(rng)); + glm::mat3 ltw = LocalToWorld(normal); + glm::mat3 wtl = glm::transpose(ltw); + + glm::vec3 wi_disney = glm::vec3(0.f); + float pdf_disney = 0.f; + + glm::vec3 wol(wtl * wo); + bool isRefract(false), isReflect(false), isInternal(glm::dot(normal, wo) < 0); + BSDF_setUp(m, wi_disney, wol, rng, isRefract, isReflect); + + glm::vec3 Li_disney = Evaluate_disneyBSDF(m, wi_disney, wol, pdf_disney, isRefract, isReflect); + + + if (pdf_disney <= 1e-6) { + pathSegment.remainingBounces = 0; + return; + } + + + glm::vec3 currAccum = pathSegment.accumLight; + + if (num_lights > 0) + { + // direct lighting + int light_id = 0; + float pdf_direct = 0.f; + glm::vec3 wi_direct = glm::vec3(0.f); + glm::vec3 Li_direct = Sample_Li(intersect, normal, wi_direct, pdf_direct, intersection.directLightId, num_lights, envMap, rng, dev_nodes, dev_triangles, dev_lights, ltw, wtl); + + //MIS + float pdf_disney_for_direct = 0; + float pdf_direct_for_disney = 0; + glm::vec3 bsdf_direct = glm::vec3(0.f); + bsdf_direct = Evaluate_disneyBSDF(m, wtl * wi_direct, wol, pdf_disney_for_direct, false, false); + + float weight_direct = PowerHeuristic(1, pdf_direct, 1, pdf_disney_for_direct); + + if (pdf_direct > 1e-6f) + { + glm::vec3 radiance = pathSegment.throughput * Li_direct * AbsDot(wi_direct, normal) / pdf_direct * weight_direct * bsdf_direct; + currAccum += radiance.x < 0 || radiance.y < 0 || radiance.z < 0 ? glm::vec3(0) : radiance; + } + + //pathSegment.accumLight += bsdf_direct * AbsDot(wi_direct, normal) / pdf_disney_for_direct; + //pathSegment.remainingBounces = 0; + } + + pathSegment.remainingBounces--; + glm::vec3 offset = normal * (isInternal ? 1e-3f : -(1e-3f)); + //pathSegment.accumLight = currAccum; + + wi = glm::normalize(ltw * wi_disney); + pathSegment.throughput *= Li_disney * AbsCosTheta(wi_disney) / pdf_disney; + pathSegment.ray.origin = isRefract ? pathSegment.ray.origin + pathSegment.ray.direction * intersection.t + offset: intersect; + pathSegment.ray.direction = glm::normalize(wi); + if (firstBounce) + { + pathSegment.normal = (normal + 1.0f) / 2.0f; + pathSegment.albedo = pathSegment.throughput; + } + // russian roulette + float isSurvive = u01(rng); + if (isSurvive > glm::max(0.1f, 1.f - dot(currAccum, { 0.2126, 0.7152, 0.0722 }) / 0.8f)) + { + pathSegment.remainingBounces = 0; + return; + } + +} \ No newline at end of file diff --git a/src/interactions.h b/src/interactions.h index bfe4cbbb..e901e5c9 100644 --- a/src/interactions.h +++ b/src/interactions.h @@ -3,6 +3,10 @@ #include "intersections.h" #include #include +#include "PTDirectives.h" +#include "utilities.h" +#include "bvh.h" + // CHECKITOUT /** * Computes a cosine-weighted random direction in a hemisphere. @@ -37,9 +41,29 @@ __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere( * * You may need to change the parameter list for your purposes! */ -__host__ __device__ void scatterRay( +__device__ void scatterRay( PathSegment& pathSegment, - glm::vec3 intersect, - glm::vec3 normal, + const ShadeableIntersection& intersection, + const glm::vec3& intersect, const Material& m, - thrust::default_random_engine& rng); + thrust::default_random_engine& rng, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + cudaTextureObject_t envMap); + + +__device__ void MIS( + PathSegment& pathSegment, + const ShadeableIntersection& intersection, + const glm::vec3& intersect, + const Material& m, + thrust::default_random_engine& rng, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + cudaTextureObject_t envMap, + int depth, + bool firstBounce); \ No newline at end of file diff --git a/src/intersections.cu b/src/intersections.cu index 0f9cd3d1..2acb67ea 100644 --- a/src/intersections.cu +++ b/src/intersections.cu @@ -111,3 +111,19 @@ __host__ __device__ float sphereIntersectionTest( return glm::length(r.origin - intersectionPoint); } + +__device__ float meshIntersectionMoller(Geom& geom, const Ray& ray, const Triangle* triangles, glm::vec3& normal) +{ + float mint = FLT_MAX; + for (int i = geom.triangleStartIdx; i < geom.triangleEndIdx; i++) + { + const Triangle& triangle = triangles[i]; + float t = triangle.intersect(ray); + if (t > 0 && t < mint) + { + mint = t; + normal = triangle.getNormal(); + } + } + return mint; +} \ No newline at end of file diff --git a/src/intersections.h b/src/intersections.h index b9f4fe12..66639bef 100644 --- a/src/intersections.h +++ b/src/intersections.h @@ -38,6 +38,10 @@ __host__ __device__ inline glm::vec3 multiplyMV(glm::mat4 m, glm::vec4 v) return glm::vec3(m * v); } +__host__ __device__ inline glm::vec3 multiplyMV3(glm::mat3 m, glm::vec3 v) +{ + return glm::vec3(m * v); +} // CHECKITOUT /** * Test intersection between a ray and a transformed cube. Untransformed, @@ -71,3 +75,9 @@ __host__ __device__ float sphereIntersectionTest( glm::vec3& intersectionPoint, glm::vec3& normal, bool& outside); + +__device__ float meshIntersectionMoller( + Geom& geom, + const Ray& ray, + const Triangle* triangles, + glm::vec3& normal); \ No newline at end of file diff --git a/src/light.h b/src/light.h new file mode 100644 index 00000000..9b7356e7 --- /dev/null +++ b/src/light.h @@ -0,0 +1,158 @@ +#pragma once +#include "utilities.h" +#include +#include "sceneStructs.h" +#include "bvh.h" + + +__inline__ __device__ glm::vec3 DirectSampleAreaLight( + int idx, + const glm::vec3& view_point, + const glm::vec3& view_nor, + int num_lights, + glm::vec3& wiW, + float& pdf, + thrust::default_random_engine& rng, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + const Light& light) +{ + Ray shadowRay; + + // sample a point on the light + glm::vec3 xi = glm::vec3(thrust::uniform_real_distribution(-1.0f, 1.0f)(rng), thrust::uniform_real_distribution(-1.0f, 1.0f)(rng), 0.0f); + glm::vec4 vpl = light.inverseTransform * glm::vec4(view_point, 1.0f); + glm::vec3 wi = xi - glm::vec3(vpl); + + // compute cosTheta and distance + float cosTheta = AbsDot(glm::vec3(0, 0, 1), normalize(-wi)); + wiW = glm::vec3(light.transform * glm::vec4(wi, 0.)); + float r = length(wiW); + + // compute pdf da + pdf = r * r / (cosTheta * light.area + 0.001); + wiW = normalize(wiW); + + // check if there is block + ShadeableIntersection isect; + Ray ray{ view_point, wiW }; + if (BVHIntersect(ray, dev_nodes, dev_triangles, &isect) && isect.lightId == idx) + { + //return glm::vec3(cosTheta); + return (float)num_lights * light.emission; + } + return glm::vec3(0.0f, 0.f, 0.f); +} + +__inline__ __device__ glm::vec3 getEnvironmentalRadiance(const glm::vec3& direction, cudaTextureObject_t envMap) { + float theta = acosf(direction.y); // θ + float phi = atan2f(direction.z, direction.x); // φ + if (phi < 0) phi += 2.0f * PI; + + float u = phi / (2.0f * PI); // [0, 1] + float v = theta / PI; // [0, 1] + if (envMap == NULL) return glm::vec3(0.0f); // return black if no envMap (for debugging purposes + float4 texel = tex2D(envMap, u, v); + return glm::vec3(texel.x, texel.y, texel.z); +} + +__inline__ __device__ glm::vec3 Sample_Li( + const glm::vec3& view_point, + const glm::vec3& nor, + glm::vec3& wiW, + float& pdf, + int randomLightIdx, + int N_LIGHTS, + cudaTextureObject_t envMap, + thrust::default_random_engine& rng, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + const glm::mat3& ltw, + const glm::mat3& wtl) +{ + // Choose a random light from among all of the + // light sources in the scene, including the environment light + int num_lights = N_LIGHTS; + // choose a random light + ShadeableIntersection isect; + if (envMap != NULL && randomLightIdx == num_lights - 1) + { + // sample the environment map + float x = thrust::uniform_real_distribution(-1.0f, 1.0f)(rng); + float y = thrust::uniform_real_distribution(-1.0f, 1.0f)(rng); + + glm::vec3 wi = glm::normalize(glm::vec3(x, y, 1.0)); + wiW = ltw * normalize(wi); + pdf = 1.0f / (2.0f * PI); + if (BVHIntersect(Ray{ view_point, wiW }, dev_nodes, dev_triangles, &isect)) return glm::vec3(0.0f); + return getEnvironmentalRadiance(wiW, envMap) * (float)num_lights; + } + + Light light = dev_lights[randomLightIdx]; + if (light.lightType == AREALIGHT) + { + return DirectSampleAreaLight(randomLightIdx, view_point, nor, N_LIGHTS, wiW, pdf, rng, dev_nodes, dev_triangles, light); + } + else if (light.lightType == POINTLIGHT) + { + wiW = (glm::vec3(light.transform * glm::vec4(0, 0, 0, 1)) - view_point); + pdf = 1.0f * Square(length(wiW)); + wiW = normalize(wiW); + return light.emission * (float)num_lights; + } + else if (light.lightType == DIRECTIONALLIGHT) + { + wiW = glm::vec3(light.transform * glm::vec4(0, 0, 1, 0)); + pdf = 1.0f; + if (BVHIntersect(Ray{ view_point, wiW }, dev_nodes, dev_triangles)) return glm::vec3(0.0f); + return light.emission * (float)num_lights; + } + // choose an area light + return DirectSampleAreaLight(randomLightIdx, view_point, nor, N_LIGHTS, wiW, pdf, rng, dev_nodes, dev_triangles, light); +} + +__inline__ __device__ glm::vec3 Evaluate_Li( + const glm::vec3& wiW, + const glm::vec3& view_point, + float& pdf, + int randomLightIdx, + int N_LIGHTS, + cudaTextureObject_t envMap, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights) +{ + if (envMap != NULL && randomLightIdx == N_LIGHTS - 1) + { + pdf = 1.0f / (2.0f * PI); + return getEnvironmentalRadiance(wiW, envMap) * (float)N_LIGHTS; + } + + Light light = dev_lights[randomLightIdx]; + ShadeableIntersection isect; + if (!BVHIntersect(Ray{ view_point, wiW }, dev_nodes, dev_triangles, &isect) || isect.lightId == (uint8_t)(-1)) + { + return glm::vec3(0.0f, 0.f, 0.f); + } + + if (randomLightIdx != isect.lightId) + { + pdf = 0.0f; + return glm::vec3(0.0f, 0.f, 0.f); + } + + if (light.lightType == AREALIGHT) + { + float r = isect.t; + pdf = r * r / (AbsDot(isect.surfaceNormal, wiW) * light.area + 0.001); + return (float)N_LIGHTS * light.emission; + } + else if (light.lightType == POINTLIGHT) + { + pdf = 1.0f * Square(length(wiW)); + return light.emission * (float)N_LIGHTS; + } + pdf = 0.f; + return glm::vec3(0.0f); +} \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 31bdaab4..fdd0fd26 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,7 @@ #include "main.h" #include "preview.h" #include +#include static std::string startTimeString; @@ -22,11 +23,13 @@ glm::vec3 ogLookAt; // for recentering the camera Scene* scene; GuiDataContainer* guiData; RenderState* renderState; + int iteration; int width; int height; - +OIDNDevice oidnDevice; +bool shadeSimple = false; //------------------------------- //-------------MAIN-------------- //------------------------------- @@ -34,7 +37,9 @@ int height; int main(int argc, char** argv) { startTimeString = currentTimeString(); - + int sharedMemoryPerBlock; + cudaDeviceGetAttribute(&sharedMemoryPerBlock, cudaDevAttrMaxSharedMemoryPerBlock, 0); + printf("Max shared memory per block: %d bytes\n", sharedMemoryPerBlock); if (argc < 2) { printf("Usage: %s SCENEFILE.json\n", argv[0]); @@ -42,10 +47,18 @@ int main(int argc, char** argv) } const char* sceneFile = argv[1]; - // Load scene file - scene = new Scene(sceneFile); - + scene = new Scene("D:\\Fall2024\\CIS5650\\Project3-CUDA-Path-Tracer\\scenes\\PT_veachScene.json"); + //scene->createBRDFDisplay(); + // test loading obj + Material newMaterial(glm::vec3(15, 154, 255) / 255.f); + scene->addMaterial(newMaterial); + //scene->loadObj("D:/Fall2024/CIS5650/Project3-CUDA-Path-Tracer/scenes/objs/wahoo.obj", newMaterial.materialId, { 0, 3.5, 2 }, { 0, 0, 0 }, {.7, .7, .7}); + //scene->createCube(newMaterial.materialId, { -2, 0, 0 }, { 0, 0, 0 }, { 1, 2, 1 }); + //scene->createSphere(newMaterial.materialId, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 }); + + // load hdri + //Create Instance for ImGUIData guiData = new GuiDataContainer(); @@ -72,16 +85,33 @@ int main(int argc, char** argv) ogLookAt = cam.lookAt; zoom = glm::length(cam.position - ogLookAt); + // Initialize CUDA and GL components init(); + scene->loadEnvMap(); + + + +#ifdef USE_BVH + // create bvh + scene->createBVH(); + +#endif + initSceneCuda(scene->geoms.data(), scene->materials.data(), scene->triangles.data(), scene->lights.data(), scene->geoms.size(), scene->materials.size(), scene->triangles.size(), scene->lights.size()); + gpuInfo = new GPUInfo(); + gpuInfo->triangleCount = scene->triangles.size(); // Initialize ImGui Data InitImguiData(guiData); InitDataContainer(guiData); + oidnDevice = oidnNewDevice(OIDN_DEVICE_TYPE_DEFAULT); + oidnCommitDevice(oidnDevice); + // GLFW main loop mainLoop(); + oidnReleaseDevice(oidnDevice); return 0; } @@ -97,6 +127,9 @@ void saveImage() { int index = x + (y * width); glm::vec3 pix = renderState->image[index]; +#ifdef POSTPROCESS + pix = ACESFilm(pix); +#endif img.setPixel(width - 1 - x, y, glm::vec3(pix) / samples); } } @@ -109,10 +142,75 @@ void saveImage() // CHECKITOUT img.savePNG(filename); //img.saveHDR(filename); // Save a Radiance HDR file + + // Denoise +#ifdef OIDN_DENOSIER + + size_t imageSize = width * height * sizeof(float) * 3; + + OIDNBuffer beautyBuffer = oidnNewBuffer(oidnDevice, imageSize); + OIDNBuffer albedoBuffer = oidnNewBuffer(oidnDevice, imageSize); + OIDNBuffer normalBuffer = oidnNewBuffer(oidnDevice, imageSize); + + OIDNFilter filter = oidnNewFilter(oidnDevice, "RT"); + + oidnSetFilterImage(filter, "color", beautyBuffer, OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); + oidnSetFilterImage(filter, "albedo", albedoBuffer, OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); + oidnSetFilterImage(filter, "normal", normalBuffer, OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); + oidnSetFilterImage(filter, "output", beautyBuffer, OIDN_FORMAT_FLOAT3, width, height, 0, 0, 0); + oidnSetFilterBool(filter, "hdr", true); + oidnCommitFilter(filter); + + float* beautyData = (float*)oidnGetBufferData(beautyBuffer); + float* albedoData = (float*)oidnGetBufferData(albedoBuffer); + float* normalData = (float*)oidnGetBufferData(normalBuffer); + + memcpy(beautyData, renderState->image.data(), imageSize); + memcpy(albedoData, renderState->albedo.data(), imageSize); + memcpy(normalData, renderState->normal.data(), imageSize); + + oidnExecuteFilter(filter); + const char* errorMessage; + if (oidnGetDeviceError(oidnDevice, &errorMessage) != OIDN_ERROR_NONE) + printf("Error: %s\n", errorMessage); + memcpy(renderState->image.data(), beautyData, imageSize); + + oidnReleaseBuffer(beautyBuffer); + oidnReleaseBuffer(albedoBuffer); + oidnReleaseBuffer(normalBuffer); + oidnReleaseFilter(filter); + +#endif + + + // save another copy for comparison + for (int x = 0; x < width; x++) + { + for (int y = 0; y < height; y++) + { + int index = x + (y * width); + glm::vec3 pix = renderState->image[index]; +#ifdef POSTPROCESS + pix = ACESFilm(pix); +#endif + img.setPixel(width - 1 - x, y, glm::vec3(pix) / samples); + } + } + + ss.str(""); + ss.clear(); + + ss << filename << "." << startTimeString << "." << samples << "samp_denoised"; + filename = ss.str(); + + // CHECKITOUT + img.savePNG(filename); + } void runCuda() { + if (camchanged) { iteration = 0; @@ -143,18 +241,26 @@ void runCuda() pathtraceInit(scene); } +#ifndef debug if (iteration < renderState->iterations) +#else + if (iteration <= 4) +#endif { + uchar4* pbo_dptr = NULL; + uchar4* pbo_post_dptr = NULL; iteration++; cudaGLMapBufferObject((void**)&pbo_dptr, pbo); + cudaGLMapBufferObject((void**)&pbo_post_dptr, pbo_post); // execute the kernel int frame = 0; - pathtrace(pbo_dptr, frame, iteration); + pathtrace(pbo_dptr, pbo_post_dptr, frame, iteration, shadeSimple); // unmap buffer object cudaGLUnmapBufferObject(pbo); + cudaGLUnmapBufferObject(pbo_post); } else { @@ -240,3 +346,4 @@ void mousePositionCallback(GLFWwindow* window, double xpos, double ypos) lastX = xpos; lastY = ypos; } + diff --git a/src/main.h b/src/main.h index fdb7d5d1..14dd898a 100644 --- a/src/main.h +++ b/src/main.h @@ -19,6 +19,7 @@ #include "pathtrace.h" #include "utilities.h" #include "scene.h" +#include "cudaUtilities.h" using namespace std; @@ -31,8 +32,11 @@ extern int iteration; extern int width; extern int height; +extern bool shadeSimple; void runCuda(); void keyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); void mousePositionCallback(GLFWwindow* window, double xpos, double ypos); void mouseButtonCallback(GLFWwindow* window, int button, int action, int mods); + + diff --git a/src/memoryArena.h b/src/memoryArena.h new file mode 100644 index 00000000..4cb5a862 --- /dev/null +++ b/src/memoryArena.h @@ -0,0 +1,126 @@ +#include // For aligned_alloc and free on some systems +#include +#include // For std::pair +#include // For std::max + +// Define cache line size (example: 64 bytes for modern CPUs) +#ifndef PBRT_L1_CACHE_LINE_SIZE +#define PBRT_L1_CACHE_LINE_SIZE 64 +#endif + +class MemoryArena { +private: + // Memory arena's block size (default: 262144 bytes or 256KB). + const size_t blockSize; + + // Position within the current memory block. + size_t currentBlockPos = 0; + + // Size of the current memory block. + size_t currentAllocSize = 0; + + // Pointer to the current memory block. + uint8_t* currentBlock = nullptr; + + // List of memory blocks that have been used. + std::list> usedBlocks; + + // List of memory blocks that are available for reuse. + std::list> availableBlocks; + + // Aligned memory allocation + void* AllocAligned(size_t size) { + return _aligned_malloc(size, PBRT_L1_CACHE_LINE_SIZE); + } + + // Aligned memory deallocation + void FreeAligned(void* ptr) { + if (ptr) { + _aligned_free(ptr); + } + } + +public: + // Constructor to initialize the memory arena with a default block size. + MemoryArena(size_t blockSize = 262144) : blockSize(blockSize) { } + + // Destructor to free all allocated memory blocks. + ~MemoryArena() { + FreeAligned(currentBlock); // Free the current memory block. + // Free all used memory blocks. + for (auto& block : usedBlocks) + FreeAligned(block.second); + // Free all available memory blocks. + for (auto& block : availableBlocks) + FreeAligned(block.second); + } + + // Allocates nBytes of memory, returning a pointer to the allocated memory. + void* Alloc(size_t nBytes) { + // Round up nBytes to the machine's minimum alignment. + nBytes = (nBytes + 7) & (~7); + + // If the current block does not have enough space, get a new memory block. + if (currentBlockPos + nBytes > currentAllocSize) { + // Move the current block to the usedBlocks list if valid. + if (currentBlock) { + usedBlocks.push_back(std::make_pair(currentAllocSize, currentBlock)); + } + + // Try to get a new block from availableBlocks or allocate a new one. + for (auto it = availableBlocks.begin(); it != availableBlocks.end(); ++it) { + if (it->first >= nBytes) { + currentAllocSize = it->first; + currentBlock = it->second; + availableBlocks.erase(it); + break; + } + } + + // If no suitable available block, allocate a new block. + if (!currentBlock) { + currentAllocSize = std::max(nBytes, blockSize); + currentBlock = (uint8_t*)AllocAligned(currentAllocSize); + } + currentBlockPos = 0; + } + + // Allocate the memory from the current block. + void* ret = currentBlock + currentBlockPos; + currentBlockPos += nBytes; + return ret; + } + + // Template method to allocate memory for `n` objects of type `T`. + template + T* Alloc(size_t n = 1, bool runConstructor = true) { + // Allocate memory for n objects. + T* ret = (T*)Alloc(n * sizeof(T)); + + // Optionally run the constructor for each object. + if (runConstructor) + for (size_t i = 0; i < n; ++i) + new (&ret[i]) T(); + return ret; + } + + // Resets the memory arena by reusing all the used blocks. + void Reset() { + currentBlockPos = 0; // Reset the position in the current block. + // Move all used blocks to the availableBlocks list. + availableBlocks.splice(availableBlocks.begin(), usedBlocks); + } + + // Returns the total amount of allocated memory (current + used + available blocks). + size_t TotalAllocated() const { + size_t total = currentAllocSize; + // Add the size of all used blocks. + for (const auto& alloc : usedBlocks) + total += alloc.first; + // Add the size of all available blocks. + for (const auto& alloc : availableBlocks) + total += alloc.first; + return total; + } + +}; diff --git a/src/pathtrace.cu b/src/pathtrace.cu index 709c231b..c478e27c 100644 --- a/src/pathtrace.cu +++ b/src/pathtrace.cu @@ -6,6 +6,9 @@ #include #include #include +#include +#include +#include #include "sceneStructs.h" #include "scene.h" @@ -14,6 +17,7 @@ #include "utilities.h" #include "intersections.h" #include "interactions.h" +#include "light.h" #define ERRORCHECK 1 @@ -49,8 +53,20 @@ thrust::default_random_engine makeSeededRandomEngine(int iter, int index, int de return thrust::default_random_engine(h); } +// post process the image +__device__ inline glm::vec3 postProcess(glm::vec3 x) +{ + +#if TONE_MAPPING_ACES + x = ACESFilm(x); +#elif TONE_MAPPING_REINHARD + x = Reinhard(x); +#endif + return x; +} + //Kernel that writes the image to the OpenGL PBO directly. -__global__ void sendImageToPBO(uchar4* pbo, glm::ivec2 resolution, int iter, glm::vec3* image) +__global__ void sendImageToPBO(uchar4* pbo, glm::ivec2 resolution, int iter, glm::vec3* image, bool isPostProcess) { int x = (blockIdx.x * blockDim.x) + threadIdx.x; int y = (blockIdx.y * blockDim.y) + threadIdx.y; @@ -58,12 +74,17 @@ __global__ void sendImageToPBO(uchar4* pbo, glm::ivec2 resolution, int iter, glm if (x < resolution.x && y < resolution.y) { int index = x + (y * resolution.x); - glm::vec3 pix = image[index]; + glm::vec3 pix = image[index] / static_cast(iter); + + if (isPostProcess) + { + pix = postProcess(pix); + } glm::ivec3 color; - color.x = glm::clamp((int)(pix.x / iter * 255.0), 0, 255); - color.y = glm::clamp((int)(pix.y / iter * 255.0), 0, 255); - color.z = glm::clamp((int)(pix.z / iter * 255.0), 0, 255); + color.x = glm::clamp((int)(pix.x * 255.0), 0, 255); + color.y = glm::clamp((int)(pix.y * 255.0), 0, 255); + color.z = glm::clamp((int)(pix.z * 255.0), 0, 255); // Each thread writes one pixel location in the texture (textel) pbo[index].w = 0; @@ -76,12 +97,16 @@ __global__ void sendImageToPBO(uchar4* pbo, glm::ivec2 resolution, int iter, glm static Scene* hst_scene = NULL; static GuiDataContainer* guiData = NULL; static glm::vec3* dev_image = NULL; -static Geom* dev_geoms = NULL; -static Material* dev_materials = NULL; +static glm::vec3* dev_image_post = NULL; +static glm::vec3* dev_albedo = NULL; +static glm::vec3* dev_normal = NULL; static PathSegment* dev_paths = NULL; +static PathSegment* dev_terminated_paths = NULL; static ShadeableIntersection* dev_intersections = NULL; -// TODO: static variables for device memory, any extra info you need, etc -// ... + +static thrust::device_ptr dev_thrust_paths; +static thrust::device_ptr dev_thrust_terminated_paths; +static cudaTextureObject_t envMap = NULL; void InitDataContainer(GuiDataContainer* imGuiData) { @@ -97,32 +122,59 @@ void pathtraceInit(Scene* scene) cudaMalloc(&dev_image, pixelcount * sizeof(glm::vec3)); cudaMemset(dev_image, 0, pixelcount * sizeof(glm::vec3)); - + cudaMalloc(&dev_image_post, pixelcount * sizeof(glm::vec3)); + cudaMemset(dev_image_post, 0, pixelcount * sizeof(glm::vec3)); cudaMalloc(&dev_paths, pixelcount * sizeof(PathSegment)); - - cudaMalloc(&dev_geoms, scene->geoms.size() * sizeof(Geom)); - cudaMemcpy(dev_geoms, scene->geoms.data(), scene->geoms.size() * sizeof(Geom), cudaMemcpyHostToDevice); - - cudaMalloc(&dev_materials, scene->materials.size() * sizeof(Material)); - cudaMemcpy(dev_materials, scene->materials.data(), scene->materials.size() * sizeof(Material), cudaMemcpyHostToDevice); - + cudaMalloc(&dev_terminated_paths, pixelcount * sizeof(PathSegment)); cudaMalloc(&dev_intersections, pixelcount * sizeof(ShadeableIntersection)); cudaMemset(dev_intersections, 0, pixelcount * sizeof(ShadeableIntersection)); + + cudaMalloc(&dev_albedo, pixelcount * sizeof(glm::vec3)); + cudaMemset(dev_albedo, 0, pixelcount * sizeof(glm::vec3)); + cudaMalloc(&dev_normal, pixelcount * sizeof(glm::vec3)); + cudaMemset(dev_normal, 0, pixelcount * sizeof(glm::vec3)); + // TODO: initialize any extra device memeory you need + dev_thrust_paths = thrust::device_ptr(dev_paths); + dev_thrust_terminated_paths = thrust::device_ptr(dev_terminated_paths); + if (scene->envMap != NULL) + envMap = scene->envMap->texObj; + + //cudaMalloc(&dev_materials, hst_scene->materials.size() * sizeof(Material)); + //cudaMemcpy(dev_materials, hst_scene->materials.data(), hst_scene->materials.size() * sizeof(Material), cudaMemcpyHostToDevice); + + //cudaMalloc(&dev_geoms, hst_scene->geoms.size() * sizeof(Geom)); + //cudaMemcpy(dev_geoms, hst_scene->geoms.data(), hst_scene->geoms.size() * sizeof(Geom), cudaMemcpyHostToDevice); - checkCUDAError("pathtraceInit"); + //cudaMalloc(&dev_triangles, hst_scene->triangles.size() * sizeof(Triangle)); + //cudaMemcpy(dev_triangles, hst_scene->triangles.data(), hst_scene->triangles.size() * sizeof(Triangle), cudaMemcpyHostToDevice); + + //BVHAccel::LinearBVHNode* nodes = hst_scene->getLBVHRoot(); + // if (nodes) + // { + // cudaMalloc(&dev_nodes, hst_scene->bvh->bvhNodes * sizeof(LinearBVHNode)); + // cudaMemcpy(dev_nodes, nodes, hst_scene->bvh->bvhNodes * sizeof(LinearBVHNode), cudaMemcpyHostToDevice); + //} + + + checkCUDAError("pathtraceInit"); } void pathtraceFree() { - cudaFree(dev_image); // no-op if dev_image is null + cudaFree(dev_image); cudaFree(dev_paths); - cudaFree(dev_geoms); - cudaFree(dev_materials); cudaFree(dev_intersections); - // TODO: clean up any extra device memory you created - + cudaFree(dev_terminated_paths); + cudaFree(dev_image_post); + + cudaFree(dev_albedo); + cudaFree(dev_normal); + //cudaFree(dev_materials); + //cudaFree(dev_geoms); + //cudaFree(dev_triangles); + //cudaFree(dev_nodes); checkCUDAError("pathtraceFree"); } @@ -144,16 +196,30 @@ __global__ void generateRayFromCamera(Camera cam, int iter, int traceDepth, Path PathSegment& segment = pathSegments[index]; segment.ray.origin = cam.position; - segment.color = glm::vec3(1.0f, 1.0f, 1.0f); + segment.color = glm::vec3(0.f); // TODO: implement antialiasing by jittering the ray + float pixelX = float(x); + float pixelY = float(y); + +#ifdef JITTER + thrust::default_random_engine rng = makeSeededRandomEngine(iter, index, 0); + thrust::uniform_real_distribution u01(-JITTER, JITTER); + pixelX += u01(rng); + pixelY += u01(rng); +#endif segment.ray.direction = glm::normalize(cam.view - - cam.right * cam.pixelLength.x * ((float)x - (float)cam.resolution.x * 0.5f) - - cam.up * cam.pixelLength.y * ((float)y - (float)cam.resolution.y * 0.5f) + - cam.right * cam.pixelLength.x * (pixelX - (float)cam.resolution.x * 0.5f) + - cam.up * cam.pixelLength.y * (pixelY - (float)cam.resolution.y * 0.5f) ); segment.pixelIndex = index; segment.remainingBounces = traceDepth; + segment.throughput = glm::vec3(1.0f); + segment.accumLight = glm::vec3(0.0f); + segment.albedo = glm::vec3(0.0f); + segment.normal = glm::vec3(0.0f); + segment.distTraveled = 0.0f; } } @@ -167,137 +233,262 @@ __global__ void computeIntersections( PathSegment* pathSegments, Geom* geoms, int geoms_size, - ShadeableIntersection* intersections) + Triangle* dev_triangles, + int triangles_size, + LinearBVHNode* dev_nodes, + ShadeableIntersection* intersections, + int num_lights, + int iter) { int path_index = blockIdx.x * blockDim.x + threadIdx.x; if (path_index < num_paths) { PathSegment pathSegment = pathSegments[path_index]; + ShadeableIntersection& intersection = intersections[path_index]; + + float t_min = FLT_MAX; +#ifdef USE_BVH + // bvh intersection + ShadeableIntersection bvhIntersection; + bvhIntersection.t = -1.0f; + bvhIntersection.hitBVH = 0; + if (triangles_size > 0 && BVHIntersect(pathSegment.ray, dev_nodes, dev_triangles, &bvhIntersection) && bvhIntersection.t > 0.0f && bvhIntersection.t < t_min) + intersection = bvhIntersection; +#ifdef DEBUG_BVH + else intersection = bvhIntersection; +#endif + +#else float t; glm::vec3 intersect_point; glm::vec3 normal; - float t_min = FLT_MAX; int hit_geom_index = -1; - bool outside = true; glm::vec3 tmp_intersect; glm::vec3 tmp_normal; - - // naive parse through global geoms - - for (int i = 0; i < geoms_size; i++) + for (int i = 0; i < triangles_size; i++) { - Geom& geom = geoms[i]; - - if (geom.type == CUBE) - { - t = boxIntersectionTest(geom, pathSegment.ray, tmp_intersect, tmp_normal, outside); - } - else if (geom.type == SPHERE) + Triangle triangle = dev_triangles[i]; + float t = triangle.intersect(pathSegment.ray); + /*if (t > 0 && t < t_min) { - t = sphereIntersectionTest(geom, pathSegment.ray, tmp_intersect, tmp_normal, outside); - } - // TODO: add more intersection tests here... triangle? metaball? CSG? - - // Compute the minimum t from the intersection tests to determine what - // scene geometry object was hit first. + t_min = t; + normal = triangle.getNormal(); + }*/ if (t > 0.0f && t_min > t) { t_min = t; hit_geom_index = i; intersect_point = tmp_intersect; - normal = tmp_normal; + normal = triangle.getNormal(); } } - if (hit_geom_index == -1) { - intersections[path_index].t = -1.0f; + intersection.t = -1.0f; } else { // The ray hits something - intersections[path_index].t = t_min; - intersections[path_index].materialId = geoms[hit_geom_index].materialid; - intersections[path_index].surfaceNormal = normal; + intersection.t = t_min; + intersection.materialId = dev_triangles[hit_geom_index].materialid; + intersection.surfaceNormal = normal; } +#endif + thrust::default_random_engine rng = makeSeededRandomEngine(iter, path_index, 0); + intersection.directLightId = num_lights == 1 ? 0 : thrust::uniform_int_distribution(0, num_lights - 1)(rng); } } -// LOOK: "fake" shader demonstrating what you might do with the info in -// a ShadeableIntersection, as well as how to use thrust's random number -// generator. Observe that since the thrust random number generator basically -// adds "noise" to the iteration, the image should start off noisy and get -// cleaner as more iterations are computed. -// -// Note that this shader does NOT do a BSDF evaluation! -// Your shaders should handle that - this can allow techniques such as -// bump mapping. -__global__ void shadeFakeMaterial( +__global__ void shadeMaterialSimple( int iter, int num_paths, ShadeableIntersection* shadeableIntersections, PathSegment* pathSegments, - Material* materials) + Material* materials, + cudaTextureObject_t envMap, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + int depth, + bool firstBounce) { int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < num_paths) { ShadeableIntersection intersection = shadeableIntersections[idx]; + PathSegment pathSegment = pathSegments[idx]; +#ifdef DEBUG_BVH + //scatterRay(pathSegment, getPointOnRay(pathSegment.ray, intersection.t), intersection.t, intersection.surfaceNormal, intersection.uv, material, rng); + pathSegment.accumLight += glm::vec3(intersection.hitBVH); + pathSegment.throughput = glm::vec3(1.0); + pathSegment.remainingBounces = 0; +#else + if (intersection.t > 0.0f) // if the intersection exists... { - // Set up the RNG - // LOOK: this is how you use thrust's RNG! Please look at - // makeSeededRandomEngine as well. thrust::default_random_engine rng = makeSeededRandomEngine(iter, idx, 0); thrust::uniform_real_distribution u01(0, 1); Material material = materials[intersection.materialId]; glm::vec3 materialColor = material.color; + pathSegment.distTraveled += intersection.t; // If the material indicates that the object was a light, "light" the ray if (material.emittance > 0.0f) { - pathSegments[idx].color *= (materialColor * material.emittance); + pathSegment.remainingBounces = 0; + pathSegment.accumLight += pathSegment.throughput * materialColor * material.emittance; } - // Otherwise, do some pseudo-lighting computation. This is actually more - // like what you would expect from shading in a rasterizer like OpenGL. - // TODO: replace this! you should be able to start with basically a one-liner - else { - float lightTerm = glm::dot(intersection.surfaceNormal, glm::vec3(0.0f, 1.0f, 0.0f)); - pathSegments[idx].color *= (materialColor * lightTerm) * 0.3f + ((1.0f - intersection.t * 0.02f) * materialColor) * 0.7f; - pathSegments[idx].color *= u01(rng); // apply some noise because why not + else + { + scatterRay(pathSegment, intersection, getPointOnRay(pathSegment.ray, intersection.t), material, rng, num_lights, dev_nodes, dev_triangles, dev_lights, envMap); + //MIS(pathSegment, intersection, getPointOnRay(pathSegment.ray, intersection.t), material, rng, num_lights, dev_nodes, dev_triangles, dev_lights, envMap, depth, firstBounce); } - // If there was no intersection, color the ray black. - // Lots of renderers use 4 channel color, RGBA, where A = alpha, often - // used for opacity, in which case they can indicate "no opacity". - // This can be useful for post-processing and image compositing. + } else { - pathSegments[idx].color = glm::vec3(0.0f); + //pathSegment.color += getEnvironmentalRadiance(pathSegment.ray.direction, envMap); + glm::vec3 radiance = getEnvironmentalRadiance(pathSegment.ray.direction, envMap); + pathSegment.accumLight += pathSegment.throughput * radiance; + pathSegment.remainingBounces = 0; } +#endif + + pathSegments[idx] = pathSegment; + } +} + + +__global__ void shadeMaterialNaive( + int iter, + int num_paths, + ShadeableIntersection* shadeableIntersections, + PathSegment* pathSegments, + Material* materials, + cudaTextureObject_t envMap, + int num_lights, + LinearBVHNode* dev_nodes, + Triangle* dev_triangles, + Light* dev_lights, + int depth, + bool firstBounce) +{ + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx < num_paths) + { + ShadeableIntersection intersection = shadeableIntersections[idx]; + PathSegment pathSegment = pathSegments[idx]; +#ifdef DEBUG_BVH + //scatterRay(pathSegment, getPointOnRay(pathSegment.ray, intersection.t), intersection.t, intersection.surfaceNormal, intersection.uv, material, rng); + pathSegment.accumLight += glm::vec3(intersection.hitBVH); + pathSegment.throughput = glm::vec3(1.0); + pathSegment.remainingBounces = 0; +#else + //thrust::default_random_engine rng = makeSeededRandomEngine(iter, idx, 0); + //thrust::uniform_real_distribution u01(0, 1); + + //Material material = materials[intersection.materialId]; + //glm::vec3 materialColor = material.color; + + //MIS(pathSegment, intersection, getPointOnRay(pathSegment.ray, intersection.t), material, rng, num_lights, dev_nodes, dev_triangles, dev_lights, envMap); + + if (intersection.t > 0.0f) // if the intersection exists... + { + // Set up the RNG + // LOOK: this is how you use thrust's RNG! Please look at + // makeSeededRandomEngine as well. + thrust::default_random_engine rng = makeSeededRandomEngine(iter, idx, 0); + thrust::uniform_real_distribution u01(0, 1); + + Material material = materials[intersection.materialId]; + glm::vec3 materialColor = material.color; + + pathSegment.distTraveled += intersection.t; + // If the material indicates that the object was a light, "light" the ray + if (material.emittance > 0.0f) { + pathSegment.remainingBounces = 0; + glm::vec3 radiance = pathSegment.throughput * materialColor * material.emittance + pathSegment.accumLight; + //float maxRadiance = glm::max(radiance.x, glm::max(radiance.y, radiance.z)); + //radiance *= maxRadiance > 0.97f ? 0.97f / maxRadiance : 1.0; + pathSegment.accumLight = radiance; + } + else + { + //scatterRay(pathSegment, intersection, getPointOnRay(pathSegment.ray, intersection.t), material, rng, num_lights, dev_nodes, dev_triangles, dev_lights, envMap); + MIS(pathSegment, intersection, getPointOnRay(pathSegment.ray, intersection.t), material, rng, num_lights, dev_nodes, dev_triangles, dev_lights, envMap, depth, firstBounce); + } + + } + else { + //pathSegment.color += getEnvironmentalRadiance(pathSegment.ray.direction, envMap); + glm::vec3 radiance = getEnvironmentalRadiance(pathSegment.ray.direction, envMap); + float maxRadiance = glm::max(radiance.x, glm::max(radiance.y, radiance.z)); + radiance *= maxRadiance > 1.1f ? 1.1f / maxRadiance : 1.0; + + pathSegment.accumLight += pathSegment.throughput * radiance; + pathSegment.remainingBounces = 0; + } +#endif + + pathSegments[idx] = pathSegment; } } // Add the current iteration's output to the overall image -__global__ void finalGather(int nPaths, glm::vec3* image, PathSegment* iterationPaths) +__global__ void finalGather(int nPaths, glm::vec3* image, PathSegment* iterationPaths, glm::vec3* albedo, glm::vec3* normal) { int index = (blockIdx.x * blockDim.x) + threadIdx.x; if (index < nPaths) { PathSegment iterationPath = iterationPaths[index]; - image[iterationPath.pixelIndex] += iterationPath.color; + glm::vec3 col = iterationPath.accumLight; + +#ifdef DEBUG_THROUGHPUT + image[iterationPath.pixelIndex] += glm::length(iterationPath.throughput) / 1.732; +#elif defined DEBUG_RADIANCE + image[iterationPath.pixelIndex] += glm::length(iterationPath.color) / 1.732; +#else + if (isfinite(col.x) && isfinite(col.y) && isfinite(col.z) && + !isnan(col.x) && !isnan(col.y) && !isnan(col.z)) + image[iterationPath.pixelIndex] += col; + //image[iterationPath.pixelIndex] += iterationPath.color * iterationPath.throughput; +#endif + albedo[iterationPath.pixelIndex] += iterationPath.albedo; + normal[iterationPath.pixelIndex] += iterationPath.normal; } } + + +struct isValid +{ + __host__ __device__ bool operator() (const PathSegment& segment) { + return segment.isTerminated(); + } + +}; + +// first look at intersection, then direct lighting idex, then material id +struct sortByIsectDIMat +{ + __host__ __device__ bool operator() (const ShadeableIntersection& a, const ShadeableIntersection& b) const { + if (a.directLightId < b.directLightId) return true; + else if (a.directLightId == b.directLightId && a.materialId < b.materialId) return true; + } +}; + /** * Wrapper for the __global__ call that sets up the kernel calls and does a ton * of memory management */ -void pathtrace(uchar4* pbo, int frame, int iter) +void pathtrace(uchar4* pbo, uchar4* pbo_post, int frame, int iter, bool shadeSimple) { + + const int traceDepth = hst_scene->state.traceDepth; const Camera& cam = hst_scene->state.camera; const int pixelcount = cam.resolution.x * cam.resolution.y; @@ -311,103 +502,136 @@ void pathtrace(uchar4* pbo, int frame, int iter) // 1D block for path tracing const int blockSize1d = 128; - /////////////////////////////////////////////////////////////////////////// - - // Recap: - // * Initialize array of path rays (using rays that come out of the camera) - // * You can pass the Camera object to that kernel. - // * Each path ray must carry at minimum a (ray, color) pair, - // * where color starts as the multiplicative identity, white = (1, 1, 1). - // * This has already been done for you. - // * For each depth: - // * Compute an intersection in the scene for each path ray. - // A very naive version of this has been implemented for you, but feel - // free to add more primitives and/or a better algorithm. - // Currently, intersection distance is recorded as a parametric distance, - // t, or a "distance along the ray." t = -1.0 indicates no intersection. - // * Color is attenuated (multiplied) by reflections off of any object - // * TODO: Stream compact away all of the terminated paths. - // You may use either your implementation or `thrust::remove_if` or its - // cousins. - // * Note that you can't really use a 2D kernel launch any more - switch - // to 1D. - // * TODO: Shade the rays that intersected something or didn't bottom out. - // That is, color the ray by performing a color computation according - // to the shader, then generate a new ray to continue the ray path. - // We recommend just updating the ray's PathSegment in place. - // Note that this step may come before or after stream compaction, - // since some shaders you write may also cause a path to terminate. - // * Finally, add this iteration's results to the image. This has been done - // for you. - // TODO: perform one iteration of path tracing generateRayFromCamera<<>>(cam, iter, traceDepth, dev_paths); checkCUDAError("generate camera ray"); int depth = 0; - PathSegment* dev_path_end = dev_paths + pixelcount; - int num_paths = dev_path_end - dev_paths; - + int curr_paths = pixelcount; + thrust::device_ptr dev_thrust_terminated_paths_end = dev_thrust_terminated_paths; // --- PathSegment Tracing Stage --- // Shoot ray into scene, bounce between objects, push shading chunks bool iterationComplete = false; + + + float totalElapsedTime = 0.0f; + int iteration = 0; + float totalPaths = 0; while (!iterationComplete) { + totalPaths += curr_paths; + depth++; // clean shading chunks cudaMemset(dev_intersections, 0, pixelcount * sizeof(ShadeableIntersection)); // tracing - dim3 numblocksPathSegmentTracing = (num_paths + blockSize1d - 1) / blockSize1d; - computeIntersections<<>> ( + dim3 numblocksPathSegmentTracing = (curr_paths + blockSize1d - 1) / blockSize1d; + + iteration++; + + computeIntersections << > > ( depth, - num_paths, + curr_paths, dev_paths, dev_geoms, hst_scene->geoms.size(), - dev_intersections - ); - checkCUDAError("trace one bounce"); - cudaDeviceSynchronize(); - depth++; - - // TODO: - // --- Shading Stage --- - // Shade path segments based on intersections and generate new rays by - // evaluating the BSDF. - // Start off with just a big kernel that handles all the different - // materials you have in the scenefile. - // TODO: compare between directly shading the path segments and shading - // path segments that have been reshuffled to be contiguous in memory. - - shadeFakeMaterial<<>>( - iter, - num_paths, + dev_triangles, + hst_scene->triangles.size(), + dev_nodes, dev_intersections, - dev_paths, - dev_materials + hst_scene->lights.size(), + iter ); - iterationComplete = true; // TODO: should be based off stream compaction results. + + + + // sort by intersection, then direct lighting index, then material id + //thrust::sort_by_key(thrust::device, dev_intersections, dev_intersections + curr_paths, dev_paths, sortByIsectDIMat()); + + + cudaEventRecord(gpuInfo->start); + + if (shadeSimple) + { + shadeMaterialSimple << > > ( + iter, + curr_paths, + dev_intersections, + dev_paths, + dev_materials, + envMap, + envMap == NULL ? hst_scene->lights.size() : hst_scene->lights.size() + 1, + dev_nodes, + dev_triangles, + dev_lights, + depth, + depth == 1 + ); + } + else + { + shadeMaterialNaive << > > ( + iter, + curr_paths, + dev_intersections, + dev_paths, + dev_materials, + envMap, + envMap == NULL ? hst_scene->lights.size() : hst_scene->lights.size() + 1, + dev_nodes, + dev_triangles, + dev_lights, + depth, + depth == 1 + ); + } + + cudaEventRecord(gpuInfo->stop); + cudaEventSynchronize(gpuInfo->stop); + float elapsedTime = 0.0f; + cudaEventElapsedTime(&elapsedTime, gpuInfo->start, gpuInfo->stop); + totalElapsedTime += elapsedTime; + + // Implement thrust stream compaction + dev_thrust_terminated_paths_end = thrust::copy_if(dev_thrust_paths, dev_thrust_paths + curr_paths, dev_thrust_terminated_paths_end, isValid()); // copy terminated paths to the terminated paths array + auto paths_end = thrust::remove_if(dev_thrust_paths, dev_thrust_paths + curr_paths, isValid()); + + curr_paths = paths_end - dev_thrust_paths; + iterationComplete = (curr_paths <= 0 || depth >= traceDepth); if (guiData != NULL) { guiData->TracedDepth = depth; } } + totalElapsedTime /= iteration; + gpuInfo->elapsedTime = totalElapsedTime; + gpuInfo->averagePathPerBounce = depth; // Assemble this iteration and apply it to the image dim3 numBlocksPixels = (pixelcount + blockSize1d - 1) / blockSize1d; - finalGather<<>>(num_paths, dev_image, dev_paths); - - /////////////////////////////////////////////////////////////////////////// - + int num_terminated_paths = dev_thrust_terminated_paths_end - dev_thrust_terminated_paths; + finalGather<<>>(num_terminated_paths, dev_image, dev_terminated_paths, dev_albedo, dev_normal); + checkCUDAError("trace one bounce"); +#ifdef POSTPROCESS + cudaMemcpy(dev_image_post, dev_image, pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToDevice); + sendImageToPBO << > > (pbo_post, cam.resolution, iter, dev_image_post, true); + cudaMemcpy(hst_scene->state.image.data(), dev_image_post, + pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToHost); +#else // Send results to OpenGL buffer for rendering - sendImageToPBO<<>>(pbo, cam.resolution, iter, dev_image); + sendImageToPBO << > > (pbo, cam.resolution, iter, dev_image, false); // Retrieve image from GPU cudaMemcpy(hst_scene->state.image.data(), dev_image, pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToHost); + cudaMemcpy(hst_scene->state.albedo.data(), dev_albedo, + pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToHost); + cudaMemcpy(hst_scene->state.normal.data(), dev_normal, + pixelcount * sizeof(glm::vec3), cudaMemcpyDeviceToHost); +#endif checkCUDAError("pathtrace"); } diff --git a/src/pathtrace.h b/src/pathtrace.h index e767d0ef..2b8222fa 100644 --- a/src/pathtrace.h +++ b/src/pathtrace.h @@ -2,8 +2,9 @@ #include #include "scene.h" +#include "bvh.h" void InitDataContainer(GuiDataContainer* guiData); void pathtraceInit(Scene *scene); void pathtraceFree(); -void pathtrace(uchar4 *pbo, int frame, int iteration); +void pathtrace(uchar4 *pbo, uchar4* pbo_post, int frame, int iteration, bool shadeSimple); diff --git a/src/pbr.h b/src/pbr.h new file mode 100644 index 00000000..84a9c108 --- /dev/null +++ b/src/pbr.h @@ -0,0 +1,198 @@ +#pragma once +#include "utilities.h" + +// brdf +__inline__ __device__ bool SameHemisphere(glm::vec3 v1, glm::vec3 v2) { + return glm::dot(v1, v2) > 0; +} + +__device__ glm::vec3 Sample_wh(glm::vec3 wo, glm::vec2 xi, float roughness) { + glm::vec3 wh; + + float cosTheta = 0; + float phi = TWO_PI * xi[1]; + // We'll only handle isotropic microfacet materials + float tanTheta2 = roughness * roughness * xi[0] / (1.0f - xi[0]); + cosTheta = 1 / sqrt(1 + tanTheta2); + + float sinTheta = + sqrt(max(0.f, 1.f - cosTheta * cosTheta)); + + wh = glm::vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + if (!SameHemisphere(wo, wh)) wh = -wh; + + return wh; +} + +__device__ glm::vec3 fresnelSchlick(float cosTheta, glm::vec3 F0) { + return F0 + (1.0f - F0) * pow(1.0f - cosTheta, 5.0f); +} + +__device__ float distributionGGX(float NdotH, float roughness) { + float a = roughness * roughness; + float a2 = a * a; + float NdotH2 = NdotH * NdotH; + + float num = a2; + float denom = (NdotH2 * (a2 - 1.0f) + 1.0f); + denom = PI * denom * denom; + + return num / denom; +} + +__device__ float geometrySchlickGGX(float NdotV, float roughness) { + float r = (roughness + 1.0f); + float k = (r * r) / 8.0f; + + float num = NdotV; + float denom = NdotV * (1.0f - k) + k; + + return num / denom; +} + +__device__ float geometrySmith(glm::vec3 N, glm::vec3 V, glm::vec3 L, float roughness) { + float NdotV = max(dot(N, V), 0.0f); + float NdotL = max(dot(N, L), 0.0f); + float ggx2 = geometrySchlickGGX(NdotV, roughness); + float ggx1 = geometrySchlickGGX(NdotL, roughness); + + return ggx1 * ggx2; +} + +// btdf +__inline__ __device__ bool Refract(const glm::vec3& wo, const glm::vec3& n, float eta, glm::vec3& wi) { + float cosThetaI = dot(n, wo); + float sin2ThetaI = glm::max(0.f, 1.0f - cosThetaI * cosThetaI); + float sin2ThetaT = eta * eta * sin2ThetaI; + + if (sin2ThetaT >= 1.0f) { + return false; + } + + float cosThetaT = sqrt(1.0f - sin2ThetaT); + wi = eta * -wo + (eta * cosThetaI - cosThetaT) * n; + return true; +} + +__inline__ __device__ glm::vec3 btdf(glm::vec3 albedo, glm::vec3 nor, glm::vec3 wo, float ior, + glm::vec3& wiW) +{ + // Hard-coded to index of refraction of glass + float etaA = 1.; + float etaB = ior; + float eta; + + if (dot(wo, nor) < 0) { + eta = etaB / etaA; + } + else { + eta = etaA / etaB; + nor = -nor; + } + + glm::vec3 wi; + if (!Refract(wo, nor, eta, wi)) { + wiW = wi; + return glm::vec3(0.0); + } + + wiW = wi; + + return albedo / glm::abs(glm::dot(nor, wi)); +} + +__inline__ __device__ float Tan2Theta(const glm::vec3& wh) { + float cosTheta = wh.z; + return (1 - cosTheta * cosTheta) / (cosTheta * cosTheta); + +} + +__inline__ __device__ float Cos2Theta(const glm::vec3& wh) { + return wh.z * wh.z; +} + +__inline__ __device__ float Cos2Phi(const glm::vec3& wh) { + if (wh.x == 0 && wh.y == 0) return 1.0f; + return (wh.x * wh.x) / (wh.x * wh.x + wh.y * wh.y); +} + +__inline__ __device__ float Sin2Phi(const glm::vec3& wh) { + if (wh.x == 0 && wh.y == 0) return 0.0f; // 避免除零 + return (wh.y * wh.y) / (wh.x * wh.x + wh.y * wh.y); +} + +__inline__ __device__ float AbsCosTheta(const glm::vec3& wh) { + return glm::abs(wh.z); +} + +__inline__ __device__ glm::mat3 LocalToWorld(const glm::vec3& N) { + glm::vec3 T, B; + if (glm::abs(N.x) > glm::abs(N.y)) { + T = glm::vec3(-N.z, 0, N.x) / glm::sqrt(N.x * N.x + N.z * N.z); + } + else { + T = glm::vec3(0, N.z, -N.y) / glm::sqrt(N.y * N.y + N.z * N.z); + } + B = glm::cross(N, T); + + if (glm::dot(glm::cross(T, B), N) < 0) { + B = -B; + } + + return glm::mat3(T, B, N); +} + +__inline__ __device__ float TrowbridgeReitzD(glm::vec3 wh, float roughness) { + float tan2Theta = Tan2Theta(wh); + if (isinf(tan2Theta)) return 0.f; + + float cos4Theta = Cos2Theta(wh) * Cos2Theta(wh); + + float e = (Cos2Phi(wh) / (roughness * roughness) + Sin2Phi(wh) / (roughness * roughness)) * + tan2Theta; + return 1 / (PI * roughness * roughness * cos4Theta * (1 + e) * (1 + e)); +} + +__inline__ __device__ float TrowbridgeReitzPdf(glm::vec3 wh, float roughness) { + return TrowbridgeReitzD(wh, roughness) * AbsCosTheta(wh); +} + +__inline__ __device__ glm::vec3 cookTorranceBRDF(const Material mat, glm::vec3 V, glm::vec3 N, glm::vec2 xi, float isRefract, glm::vec3& wi) { + + glm::mat3 ltw = LocalToWorld(N); + glm::mat3 wtl = glm::transpose(ltw); + V = wtl * V; + + glm::vec3 H = glm::normalize(Sample_wh(V, xi, mat.roughness)); + glm::vec3 L = glm::normalize(glm::reflect(-V, H)); + glm::vec3 n = glm::vec3(0, 0, 1); + float NdotL = max(glm::dot(n, L), 0.f); + float NdotV = max(glm::dot(n, V), 0.f); + float NdotH = max(glm::dot(n, H), 0.f); + /*float NdotL = max(glm::dot(N, L), 0.f); + float NdotV = max(glm::dot(N, V), 0.f); + float NdotH = max(glm::dot(N, H), 0.f);*/ + + glm::vec3 F = fresnelSchlick(NdotL, glm::vec3(mat.metallic)); + float D = distributionGGX(NdotH, mat.roughness); + float G = geometrySmith(n, V, L, mat.roughness); + + glm::vec3 specular = D * G * F / (4.0f * NdotV * NdotL + 0.001f); // Prevent division by zero + glm::vec3 diffuse = (1.0f - F) * mat.color / PI; + + glm::vec3 refraceWi; + //glm::vec3 refraction = btdf(mat.color, n, V, mat.ior, refraceWi); + + // decide wi + float fresnelProb = (F.x + F.y + F.z) / 3.0f; + wi = isRefract > fresnelProb ? refraceWi : L; + wi = glm::normalize(ltw * wi); + + // cook torrance pdf + float pdf = TrowbridgeReitzPdf(H, mat.roughness); + + return glm::vec3(pdf); + //return (specular + diffuse) * NdotL / pdf; + //return specular + diffuse * (1 - mat.refractive) + refraction * mat.refractive; +} + diff --git a/src/preview.cpp b/src/preview.cpp index fc73a18a..d35545f4 100644 --- a/src/preview.cpp +++ b/src/preview.cpp @@ -8,6 +8,7 @@ GLuint positionLocation = 0; GLuint texcoordsLocation = 1; GLuint pbo; +GLuint pbo_post; GLuint displayImage; GLFWwindow* window; @@ -15,6 +16,8 @@ GuiDataContainer* imguiData = NULL; ImGuiIO* io = nullptr; bool mouseOverImGuiWinow = false; +GPUInfo* gpuInfo = nullptr; + std::string currentTimeString() { time_t now; @@ -112,6 +115,7 @@ void cleanupCuda() if (pbo) { deletePBO(&pbo); + deletePBO(&pbo_post); } if (displayImage) { @@ -143,6 +147,17 @@ void initPBO() // Allocate data for the buffer. 4-channel 8-bit image glBufferData(GL_PIXEL_UNPACK_BUFFER, size_tex_data, NULL, GL_DYNAMIC_COPY); cudaGLRegisterBufferObject(pbo); + + // Generate a buffer ID called a PBO (Pixel Buffer Object) + glGenBuffers(1, &pbo_post); + + // Make this the current UNPACK buffer (OpenGL is state-based) + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo_post); + + // Allocate data for the buffer. 4-channel 8-bit image + glBufferData(GL_PIXEL_UNPACK_BUFFER, size_tex_data, NULL, GL_DYNAMIC_COPY); + cudaGLRegisterBufferObject(pbo_post); + } void errorCallback(int error, const char* description) @@ -204,6 +219,11 @@ void InitImguiData(GuiDataContainer* guiData) imguiData = guiData; } +bool UpdateSlider(const char* label, float* value, float min, float max) { + return ImGui::SliderFloat(label, value, min, max); +} +Material* mat = nullptr; +int currentItem = 0; // LOOK: Un-Comment to check ImGui Usage void RenderImGui() @@ -221,6 +241,97 @@ void RenderImGui() static int counter = 0; ImGui::Begin("Path Tracer Analytics"); // Create a window called "Hello, world!" and append into it. + gpuInfo->printElapsedTime(ImGui::Text); + ImGui::Text("Triangle Count: %d", gpuInfo->triangleCount); + ImGui::Text("Average Path Per Bounce: %f", gpuInfo->averagePathPerBounce); + + // check box for MIS on and off + //ImGui::Checkbox("MIS", &MIS); + + const char** materialKey = new const char* [scene->materials.size()]; + for (int i = 0; i < scene->materials.size(); i++) { + materialKey[i] = materialIdx[i].c_str(); + } + if (ImGui::Combo("Scene Materials", ¤tItem, materialKey, materialIdx.size())) { + mat = &scene->materials[currentItem]; + } + // create label: slider value GUI + + if (mat != nullptr) { + bool update = false; + ImGui::Text("Material ID: %d", mat->materialId); + // color + ImGui::Text("Color: "); + ImGui::SameLine(); + if (ImGui::ColorEdit3("##color", (float*)&mat->color)) update = true; + + // metallic + ImGui::Text("Metallic: %.2f", mat->metallic); + ImGui::SameLine(); + if (ImGui::SliderFloat("##metallic", &mat->metallic, 0.0f, 1.0f)) update = true; + + // subsurface + ImGui::Text("Subsurface: %.2f", mat->subsurface); + ImGui::SameLine(); + if (ImGui::SliderFloat("##subsurface", &mat->subsurface, 0.0f, 1.0f)) update = true; + + // specular + ImGui::Text("Specular: %.2f", mat->specular); + ImGui::SameLine(); + if (ImGui::SliderFloat("##specular", &mat->specular, 0.0f, 1.0f)) update = true; + + // roughness + ImGui::Text("Roughness: %.2f", mat->roughness); + ImGui::SameLine(); + if (ImGui::SliderFloat("##roughness", &mat->roughness, 0.0f, 1.0f)) update = true; + + // specularTint + ImGui::Text("Specular Tint: %.2f", mat->specularTint); + ImGui::SameLine(); + if (ImGui::SliderFloat("##specularTint", &mat->specularTint, 0.0f, 1.0f)) update = true; + + // anisotropic + ImGui::Text("Anisotropic: %.2f", mat->anisotropic); + ImGui::SameLine(); + if (ImGui::SliderFloat("##anisotropic", &mat->anisotropic, 0.0f, 1.0f)) update = true; + + // sheen + ImGui::Text("Sheen: %.2f", mat->sheen); + ImGui::SameLine(); + if (ImGui::SliderFloat("##sheen", &mat->sheen, 0.0f, 1.0f)) update = true; + + // sheenTint + ImGui::Text("Sheen Tint: %.2f", mat->sheenTint); + ImGui::SameLine(); + if (ImGui::SliderFloat("##sheenTint", &mat->sheenTint, 0.0f, 1.0f)) update = true; + + // clearcoat + ImGui::Text("Clearcoat: %.2f", mat->clearcoat); + ImGui::SameLine(); + if (ImGui::SliderFloat("##clearcoat", &mat->clearcoat, 0.0f, 1.0f)) update = true; + + // clearcoatGloss + ImGui::Text("Clearcoat Gloss: %.2f", mat->clearcoatGloss); + ImGui::SameLine(); + if (ImGui::SliderFloat("##clearcoatGloss", &mat->clearcoatGloss, 0.0f, 1.0f)) update = true; + + // ior + ImGui::Text("IOR: %.2f", mat->ior); + ImGui::SameLine(); + if (ImGui::SliderFloat("##ior", &mat->ior, 0.0f, 1.0f)) update = true; + + if (update) + { + cudaMemcpy(dev_materials, scene->materials.data(), scene->materials.size() * sizeof(Material), cudaMemcpyHostToDevice); + iteration = 0; + } + } + + // add a checkbox for shade simple and check if its status changed + if (ImGui::Checkbox("Shade Simple", &shadeSimple)) + { + iteration = 0; + } // LOOK: Un-Comment to check the output window and usage //ImGui::Text("This is some useful text."); // Display some text (you can use a format strings too) @@ -241,7 +352,7 @@ void RenderImGui() ImGui::Render(); ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); - + delete[] materialKey; } bool MouseOverImGuiWindow() @@ -254,12 +365,16 @@ void mainLoop() while (!glfwWindowShouldClose(window)) { glfwPollEvents(); - runCuda(); string title = "CIS565 Path Tracer | " + utilityCore::convertIntToString(iteration) + " Iterations"; glfwSetWindowTitle(window, title.c_str()); + +#ifdef POSTPROCESS + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo_post); +#else glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo); +#endif glBindTexture(GL_TEXTURE_2D, displayImage); glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glClear(GL_COLOR_BUFFER_BIT); diff --git a/src/preview.h b/src/preview.h index 800b149a..887d58fc 100644 --- a/src/preview.h +++ b/src/preview.h @@ -1,10 +1,15 @@ #pragma once +#include "PTDirectives.h" extern GLuint pbo; +extern GLuint pbo_post; std::string currentTimeString(); bool init(); void mainLoop(); bool MouseOverImGuiWindow(); -void InitImguiData(GuiDataContainer* guiData); \ No newline at end of file +void InitImguiData(GuiDataContainer* guiData); + + + diff --git a/src/scene.cpp b/src/scene.cpp index 706bf85b..fba2f284 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -7,7 +7,9 @@ #include "scene.h" using json = nlohmann::json; -Scene::Scene(string filename) +std::vector materialIdx; + +Scene::Scene(string filename) : envMap(nullptr), bvh(nullptr) { cout << "Reading scene from " << filename << " ..." << endl; cout << " " << endl; @@ -24,6 +26,12 @@ Scene::Scene(string filename) } } +Scene::~Scene() +{ + delete envMap; + envMap = nullptr; +} + void Scene::loadFromJSON(const std::string& jsonName) { std::ifstream f(jsonName); @@ -34,54 +42,97 @@ void Scene::loadFromJSON(const std::string& jsonName) { const auto& name = item.key(); const auto& p = item.value(); - Material newMaterial{}; - // TODO: handle materials loading differently - if (p["TYPE"] == "Diffuse") - { - const auto& col = p["RGB"]; - newMaterial.color = glm::vec3(col[0], col[1], col[2]); - } - else if (p["TYPE"] == "Emitting") - { - const auto& col = p["RGB"]; - newMaterial.color = glm::vec3(col[0], col[1], col[2]); - newMaterial.emittance = p["EMITTANCE"]; - } - else if (p["TYPE"] == "Specular") - { - const auto& col = p["RGB"]; - newMaterial.color = glm::vec3(col[0], col[1], col[2]); - } + Material newMaterial; + + // look at each property of material, check if it exist in the json, if not, use default value + if (p.contains("RGB")) + { + const auto& col = p["RGB"]; + newMaterial.color = glm::vec3(col[0], col[1], col[2]); + } + // load parameters following the order of the struct: + //::begin parameters + /* color baseColor .82 .67 .16 + float metallic 0 1 0 + float subsurface 0 1 0 + float specular 0 1 .5 + float roughness 0 1 .5 + float specularTint 0 1 0 + float anisotropic 0 1 0 + float sheen 0 1 0 + float sheenTint 0 1 .5 + float clearcoat 0 1 0 + float clearcoatGloss 0 1 1 + ::end parameters */ + if (p.contains("METALLIC")) newMaterial.metallic = p["METALLIC"]; + if (p.contains("SUBSURFACE")) newMaterial.subsurface = p["SUBSURFACE"]; + if (p.contains("SPECULAR")) newMaterial.specular = p["SPECULAR"]; + if (p.contains("ROUGHNESS")) newMaterial.roughness = p["ROUGHNESS"]; + if (p.contains("SPECULARTINT")) newMaterial.specularTint = p["SPECULARTINT"]; + if (p.contains("ANISOTROPIC")) newMaterial.anisotropic = p["ANISOTROPIC"]; + if (p.contains("SHEEN")) newMaterial.sheen = p["SHEEN"]; + if (p.contains("SHEENTINT")) newMaterial.sheenTint = p["SHEENTINT"]; + if (p.contains("CLEARCOAT")) newMaterial.clearcoat = p["CLEARCOAT"]; + if (p.contains("CLEARCOATGLOSS")) newMaterial.clearcoatGloss = p["CLEARCOATGLOSS"]; + if (p.contains("IOR")) newMaterial.ior = p["IOR"]; + if (p.contains("EMITTANCE")) newMaterial.emittance = p["EMITTANCE"]; + if (p.contains("TYPE")) + { + std::string matType(p["TYPE"]); + if (matType == "Diffuse") newMaterial.type = MaterialType::DIFFUSE; + else if (matType == "Transmit") newMaterial.type = MaterialType::TRANSMIT; + else newMaterial.type = MaterialType::MICROFACET; + } + else newMaterial.type = MaterialType::DIFFUSE; + + // print material info + printf("Material %s\n", name.c_str()); + printf("Color: %s\n", glm::to_string(newMaterial.color).c_str()); + printf("Reflective: %f\n", newMaterial.reflective); + printf("Refractive: %f\n", newMaterial.refractive); + printf("Emittance: %f\n", newMaterial.emittance); + printf("Roughness: %f\n", newMaterial.roughness); + printf("Metallic: %f\n", newMaterial.metallic); + printf("Sheen: %f\n", newMaterial.sheen); + printf("Clearcoat: %f\n", newMaterial.clearcoat); + printf("Anisotropic: %f\n", newMaterial.anisotropic); + printf("Specular Tint: %f\n", newMaterial.specularTint); + printf("Subsurface: %f\n", newMaterial.subsurface); + printf("Type: %d\n", newMaterial.type); + printf("\n"); + MatNameToID[name] = materials.size(); - materials.emplace_back(newMaterial); + + addMaterial(newMaterial, {name}); + } + const auto& objectsData = data["Objects"]; for (const auto& p : objectsData) { const auto& type = p["TYPE"]; - Geom newGeom; + const auto& trans = p["TRANS"]; + const auto& rotat = p["ROTAT"]; + const auto& scale = p["SCALE"]; + glm::vec3 translation = glm::vec3(trans[0], trans[1], trans[2]); + glm::vec3 rotation = glm::vec3(rotat[0], rotat[1], rotat[2]); + glm::vec3 scaling = glm::vec3(scale[0], scale[1], scale[2]); if (type == "cube") { - newGeom.type = CUBE; + createCube(MatNameToID[p["MATERIAL"]], translation, rotation, scaling); + } - else + else if (type == "sphere") { - newGeom.type = SPHERE; - } - newGeom.materialid = MatNameToID[p["MATERIAL"]]; - const auto& trans = p["TRANS"]; - const auto& rotat = p["ROTAT"]; - const auto& scale = p["SCALE"]; - newGeom.translation = glm::vec3(trans[0], trans[1], trans[2]); - newGeom.rotation = glm::vec3(rotat[0], rotat[1], rotat[2]); - newGeom.scale = glm::vec3(scale[0], scale[1], scale[2]); - newGeom.transform = utilityCore::buildTransformationMatrix( - newGeom.translation, newGeom.rotation, newGeom.scale); - newGeom.inverseTransform = glm::inverse(newGeom.transform); - newGeom.invTranspose = glm::inverseTranspose(newGeom.transform); - - geoms.push_back(newGeom); + createSphere(MatNameToID[p["MATERIAL"]], translation, rotation, scaling); + } + else if (type == "mesh") + { + const auto& filename = p["FILENAME"]; + loadObj(filename, MatNameToID[p["MATERIAL"]], translation, rotation, scaling); + } } + const auto& cameraData = data["Camera"]; Camera& camera = state.camera; RenderState& state = this->state; @@ -113,5 +164,356 @@ void Scene::loadFromJSON(const std::string& jsonName) //set up render camera stuff int arraylen = camera.resolution.x * camera.resolution.y; state.image.resize(arraylen); + state.albedo.resize(arraylen); + state.normal.resize(arraylen); std::fill(state.image.begin(), state.image.end(), glm::vec3()); + + // set environment + if (data.contains("Environment")) + { + const auto& env = data["Environment"]; + this->envMapPath = env["FILENAME"]; + } + + // set up lights + if (data.contains("Lights")) + { + const auto& datas = data["Lights"]; + for (const auto& p : datas) + { + Geom newLight; + Light light; + + const auto& trans = p["TRANS"]; + const auto& rotat = p["ROTAT"]; + const auto& scale = p["SCALE"]; + glm::vec3 translation = glm::vec3(trans[0], trans[1], trans[2]); + glm::vec3 rotation = glm::vec3(rotat[0], rotat[1], rotat[2]); + glm::vec3 scaling = glm::vec3(scale[0], scale[1], scale[2]); + updateTransform(newLight, translation, rotation, scaling); + + std::string type(p["TYPE"]); + Material mat; + mat.isLight = true; + if (p.contains("MATERIAL")) + { + auto col = p["MATERIAL"]["RGB"]; + mat.color = glm::vec3(col[0], col[1], col[2]); + mat.emittance = p["MATERIAL"]["EMITTANCE"]; + mat.roughness = p["MATERIAL"]["ROUGHNESS"]; + } + else + { + mat.color = glm::vec3(1.0f); + mat.emittance = 1.0f; + } + newLight.lightid = lights.size(); + addMaterial(mat); + + newLight.materialid = mat.materialId; + newLight.triangleStartIdx = newLight.triangleEndIdx = -1; + if (type == "Area") + { + newLight.triangleStartIdx = triangles.size(); + newLight.triangleEndIdx = triangles.size() + 2; + + // create a square and add to triangles + Triangle tri1; + tri1.vertices[0] = glm::vec3(-1, 1, 0); + tri1.vertices[1] = glm::vec3(-1, -1, 0); + tri1.vertices[2] = glm::vec3(1, -1, 0); + tri1.normals[0] = glm::vec3(0, 0, 1); + tri1.normals[1] = glm::vec3(0, 0, 1); + tri1.normals[2] = glm::vec3(0, 0, 1); + tri1.hasNormals = false; + + Triangle tri2; + tri2.vertices[0] = glm::vec3(-1, 1, 0); + tri2.vertices[1] = glm::vec3(1, -1, 0); + tri2.vertices[2] = glm::vec3(1, 1, 0); + tri2.normals[0] = glm::vec3(0, 0, 1); + tri2.normals[1] = glm::vec3(0, 0, 1); + tri2.normals[2] = glm::vec3(0, 0, 1); + tri2.hasNormals = false; + + triangles.push_back(std::move(tri1)); + triangles.push_back(std::move(tri2)); + + updateTriangleTransform(newLight, triangles); + + light.lightType = AREALIGHT; + } + else if (type == "AreaSphere") + { + glm::vec3 indices[16]; + indices[0] = { 0, 0, 0 }; + for (int i = 1; i < 16; ++i) + { + float theta = 2 * PI * i / 15; + indices[i] = { cos(theta), sin(theta) , 0}; + } + newLight.triangleStartIdx = triangles.size(); + newLight.triangleEndIdx = triangles.size() + 15; + + for (int i = 1; i < 15; ++i) + { + Triangle tri; + tri.vertices[0] = indices[i]; + tri.vertices[1] = indices[0]; + tri.vertices[2] = indices[i + 1]; + tri.hasNormals = false; + triangles.push_back(std::move(tri)); + } + Triangle ltri; + ltri.vertices[0] = indices[15]; + ltri.vertices[1] = indices[0]; + ltri.vertices[2] = indices[1]; + ltri.hasNormals = false; + triangles.push_back(std::move(ltri)); + + updateTriangleTransform(newLight, triangles); + light.area = 2 * PI; + light.lightType = AREASPHERE; + } + else if (type == "Point") + { + light.lightType = POINTLIGHT; + } + else if (type == "Spot") + { + light.lightType = SPOTLIGHT; + } + else if (type == "Directional") + { + light.lightType = DIRECTIONALLIGHT; + } + + light.transform = newLight.transform; + light.inverseTransform = newLight.inverseTransform; + light.emission = mat.color * mat.emittance; + light.area = (float)scale[0] * (float)scale[1]; + // print light info + printf("Light %s\n", type.c_str()); + // print light transform + printf("light transform: %s\n", glm::to_string(light.transform).c_str()); + + printf("Emission: %s\n", glm::to_string(light.emission).c_str()); + printf("\n"); + lights.push_back(std::move(light)); + } + } +} + +void Scene::createCube(uint32_t materialid, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale) +{ + printf("create cube\n"); + + loadObj("D:/Fall2024/CIS5650/Project3-CUDA-Path-Tracer/scenes/objs/cube.obj", materialid, translation, rotation, scale); +} + +void Scene::createSphere(uint32_t materialid, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale, int latitudeSegments, int longitudeSegments) +{ + printf("create sphere\n"); + loadObj("D:/Fall2024/CIS5650/Project3-CUDA-Path-Tracer/scenes/objs/sphere.obj", materialid, translation, rotation, scale); } + + +void Scene::loadObj(const std::string& filename, uint32_t materialid, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale) +{ + + printf("load obj\n"); + tinyobj::attrib_t attrib; + std::vector shapes; + std::vector meshMaterials; + //print material info + + std::string warn, err; + if (!tinyobj::LoadObj(&attrib, &shapes, &meshMaterials, &warn, &err, filename.c_str())) + { + throw std::runtime_error(warn + err); + } + printf("material size: %d\n", meshMaterials.size()); + for (const auto& shape : shapes) + { + Geom newMesh; + newMesh.type = MESH; + newMesh.materialid = materialid; + Scene::updateTransform(newMesh, translation, rotation, scale); + + + if (shape.mesh.num_face_vertices[0] != 3) + { + throw std::runtime_error("Only triangles are supported"); + } + + newMesh.triangleStartIdx = triangles.size(); + newMesh.triangleEndIdx = triangles.size(); + // assume only triangles + for (size_t f = 0; f < shape.mesh.indices.size(); f += 3) + { + Triangle tri; + for (size_t v = 0; v < 3; v++) + { + const auto& idx = shape.mesh.indices[f + v]; + tri.vertices[v] = glm::vec3( + attrib.vertices[3 * idx.vertex_index + 0], + attrib.vertices[3 * idx.vertex_index + 1], + attrib.vertices[3 * idx.vertex_index + 2] + ); + if (attrib.normals.size() > 0) + { + tri.normals[v] = glm::vec3( + attrib.normals[3 * idx.normal_index + 0], + attrib.normals[3 * idx.normal_index + 1], + attrib.normals[3 * idx.normal_index + 2] + ); + } + if (attrib.texcoords.size() > 0) + { + tri.uvs[v] = glm::vec2( + attrib.texcoords[2 * idx.texcoord_index + 0], + attrib.texcoords[2 * idx.texcoord_index + 1] + ); + } + tri.hasNormals = attrib.normals.size() > 0; + } + triangles.push_back(std::move(tri)); + newMesh.triangleEndIdx++; + } + printf("Loaded %s with %d triangles\n", filename.c_str(), newMesh.triangleEndIdx - newMesh.triangleStartIdx); + + updateTriangleTransform(newMesh, triangles); + geoms.push_back(newMesh); + } +} + +void Scene::addMaterial(Material& m, const std::string& name) +{ + m.materialId = materials.size(); + materials.push_back(m); + materialIdx.push_back(name); +} + +void Scene::loadEnvMap() { + if (envMapPath == "") + { + printf("No environment map specified\n"); + return; + } + loadEnvMap(envMapPath.c_str()); +} + +void Scene::loadEnvMap(const char* filename) +{ + if (envMap) + delete envMap; + envMap = nullptr; + envMap = new Texture(filename); + printf("Loaded environment map %s\n", filename); + //printf("cuda texture object created: %d\n", envMap->texObj); +} + +void Scene::updateTransform(Geom& geom, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale) +{ + geom.translation = translation; + geom.rotation = rotation; + geom.scale = scale; + geom.transform = utilityCore::buildTransformationMatrix( + geom.translation, geom.rotation, geom.scale); + geom.inverseTransform = glm::inverse(geom.transform); + geom.invTranspose = glm::inverseTranspose(geom.transform); +} + +void Scene::updateTriangleTransform(const Geom& geom, std::vector& triangles) +{ + for (int i = geom.triangleStartIdx; i < geom.triangleEndIdx; ++i) + { + auto& tri = triangles[i]; + for (int j = 0; j < 3; ++j) + { + tri.vertices[j] = glm::vec3(geom.transform * glm::vec4(tri.vertices[j], 1.0f)); + + tri.normals[j] = glm::normalize(glm::vec3(geom.invTranspose * glm::vec4(tri.normals[j], 0.0f))); + } + tri.materialid = geom.materialid; + tri.lightid = geom.lightid; + } +} + + +void Scene::createBVH() +{ + if (bvh != nullptr) + { + delete bvh; + } + bvh = new BVHAccel(this->triangles, this->triangles.size(), 4); + bvh->build(this->triangles, this->triangles.size()); + printf("BVH created\n"); +} + +BVHAccel::LinearBVHNode* Scene::getLBVHRoot() +{ + if (bvh == nullptr) + { + printf("BVH not created\n"); + return nullptr; + } + return bvh->nodes; +} + +void Scene::createBRDFDisplay() +{ + // create a series of sphere with different material properties + + Material defaultMat; + defaultMat.color = glm::vec3(1.0f); + defaultMat.metallic = 1.0f; + defaultMat.subsurface = 0.0f; + defaultMat.specular = 1.0f; + defaultMat.roughness = 0.0f; + defaultMat.specularTint = 0.0f; + defaultMat.anisotropic = 0.0f; + defaultMat.sheen = 0.0f; + defaultMat.sheenTint = 0.0f; + defaultMat.clearcoat = 0.0f; + defaultMat.clearcoatGloss = 0.0f; + defaultMat.ior = 1.0f; + defaultMat.type = MaterialType::MICROFACET; + + glm::vec3 start(-8.5, 8.5, -18); + for (int rough = 0; rough < 6; ++rough) + { + for (int met = 0; met < 6; ++met) + { + Material mat = defaultMat; + mat.metallic = (6 - met) / 5.0f; + mat.roughness = rough / 5.0f; + addMaterial(mat); + createSphere(mat.materialId, start + glm::vec3(met * 3.0f, -rough * 3.0f, 0), glm::vec3(0), glm::vec3(1.0f)); + } + } + + // one row of anisotropic + for (int aniso = 0; aniso < 6; ++aniso) + { + Material mat = defaultMat; + mat.metallic = 1.0f; + mat.roughness = 0.5f; + mat.anisotropic = aniso / 5.0f; + addMaterial(mat); + createSphere(mat.materialId, start + glm::vec3(aniso * 3.0f, -6 * 3.0f, 0), glm::vec3(0), glm::vec3(1.0f)); + } + + // one column of refraction + for (int ior = 0; ior <= 6; ++ior) + { + Material mat = defaultMat; + mat.metallic = 0.0f; + mat.roughness = 0.5f; + mat.ior = 1.0f + ior * 0.1f; + mat.type = MaterialType::TRANSMIT; + addMaterial(mat); + createSphere(mat.materialId, start + glm::vec3(6 * 3.0f, -ior * 3.0f, 0), glm::vec3(0), glm::vec3(1.0f)); + } +} \ No newline at end of file diff --git a/src/scene.h b/src/scene.h index 6ceb686b..7ba5b085 100644 --- a/src/scene.h +++ b/src/scene.h @@ -7,8 +7,54 @@ #include "glm/glm.hpp" #include "utilities.h" #include "sceneStructs.h" +#include "tiny_obj_loader.h" +#include "texture.h" +#include "cudaUtilities.h" +#include "bvh.h" +#include using namespace std; +using namespace tinyobj; + +using PrintFunction = void(*)(const char*, ...); +struct GPUInfo { + cudaDeviceProp prop; + size_t free_mem, total_mem; + cudaEvent_t start, stop; + float elapsedTime; + int counter; + int triangleCount; + float averagePathPerBounce; + GPUInfo() : counter(0), averagePathPerBounce(0) + + { + cudaGetDeviceProperties(&prop, 0); + cudaEventCreate(&start); + cudaEventCreate(&stop); + } + ~GPUInfo() + { + cudaEventDestroy(start); + cudaEventDestroy(stop); + } + void printMemoryInfo(PrintFunction printer) + { + cudaDeviceSynchronize(); + size_t free_mem, total_mem; + cudaMemGetInfo(&free_mem, &total_mem); + printer("counter: %d\n", counter++); + printer("Free memory: %zu bytes\n", free_mem); + printer("Total memory: %zu bytes\n", total_mem); + } + + void printElapsedTime(PrintFunction printer) + { + printer("Elapsed time: %f ms\n", elapsedTime); + } +}; + +extern std::vector materialIdx; +extern GPUInfo* gpuInfo; class Scene { @@ -20,6 +66,22 @@ class Scene ~Scene(); std::vector geoms; + std::vector lights; std::vector materials; + std::vector triangles; + Texture* envMap; RenderState state; + BVHAccel* bvh; + std::string envMapPath; + void createCube(uint32_t materialid, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale); + void createSphere(uint32_t materialid, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale, int latitudeSegments = 40, int longitudeSegments = 20); + void loadObj(const std::string& filename, uint32_t materialid = 0, glm::vec3 translation = glm::vec3(0), glm::vec3 rotation = glm::vec3(0), glm::vec3 scale = glm::vec3(1.)); + void addMaterial(Material& m, const std::string& name = "Light"); + void loadEnvMap(const char* filename); + void loadEnvMap(); + static void updateTransform(Geom& geom, glm::vec3 translation, glm::vec3 rotation, glm::vec3 scale); + static void updateTriangleTransform(const Geom& geom, std::vector& triangles); + void createBVH(); + BVHAccel::LinearBVHNode* getLBVHRoot(); + void createBRDFDisplay(); }; diff --git a/src/sceneStructs.h b/src/sceneStructs.h index ab46f6f6..69d461ca 100644 --- a/src/sceneStructs.h +++ b/src/sceneStructs.h @@ -5,12 +5,28 @@ #include #include "glm/glm.hpp" +static constexpr float MachineEpsilon = std::numeric_limits::epsilon() * 0.5; +__inline__ __host__ __device__ constexpr float gamma(int n) { + return (n * MachineEpsilon) / (1 - n * MachineEpsilon); +} + #define BACKGROUND_COLOR (glm::vec3(0.0f)) enum GeomType { SPHERE, - CUBE + CUBE, + MESH, + LIGHT, +}; + +enum LightType +{ + POINTLIGHT, + AREALIGHT, + SPOTLIGHT, + AREASPHERE, + DIRECTIONALLIGHT, }; struct Ray @@ -19,30 +35,238 @@ struct Ray glm::vec3 direction; }; +struct AABB +{ + glm::vec3 min; + glm::vec3 max; + AABB() : min(glm::vec3(FLT_MAX)), max(glm::vec3(-FLT_MAX)) {} + static AABB Union(const AABB& b1, const AABB& b2) + { + AABB ret; + ret.min = glm::min(b1.min, b2.min); + ret.max = glm::max(b1.max, b2.max); + return ret; + } + + static AABB Union(const AABB& b, const glm::vec3& p) + { + AABB ret; + ret.min = glm::min(b.min, p); + ret.max = glm::max(b.max, p); + return ret; + } + + int maxExtent() const + { + glm::vec3 diag = max - min; + if (diag.x > diag.y && diag.x > diag.z) + return 0; + else if (diag.y > diag.z) + return 1; + else + return 2; + } + + glm::vec3 centroid() const + { + return (min + max) * 0.5f; + } + + __host__ __device__ glm::vec3 Offset(const glm::vec3& p) const + { + glm::vec3 o = p - min; + if (max.x > min.x) o.x /= max.x - min.x; + if (max.y > min.y) o.y /= max.y - min.y; + if (max.z > min.z) o.z /= max.z - min.z; + return o; + } + + float SurfaceArea() const + { + glm::vec3 d = max - min; + return 2 * (d.x * d.y + d.x * d.z + d.y * d.z); + } + + __inline__ __device__ bool IntersectP(const Ray& ray, float* hitt0 = nullptr, + float* hitt1 = nullptr) const { + float t0 = 0, t1 = 2000; + for (int i = 0; i < 3; ++i) { + float invRayDir = 1 / ray.direction[i]; + float tNear = (min[i] - ray.origin[i]) * invRayDir; + float tFar = (max[i] - ray.origin[i]) * invRayDir; + // Update parametric interval from slab intersection values + if (tNear > tFar) + { + float temp = tNear; + tNear = tFar; + tFar = temp; + } + // Update tFar to ensure robust ray�bounds intersection + tFar *= 1 + 2 * gamma(3); + + t0 = tNear > t0 ? tNear : t0; + t1 = tFar < t1 ? tFar : t1; + if (t0 > t1) return false; + } + if (hitt0) *hitt0 = t0; + if (hitt1) *hitt1 = t1; + return true; + } +}; + +struct Triangle +{ + glm::vec3 vertices[3]; + glm::vec3 normals[3]; + glm::vec2 uvs[3]; + bool hasNormals; + uint8_t materialid; + uint8_t lightid; + Triangle() : hasNormals(false), materialid(-1), lightid(-1) {} + __device__ float intersect(const Ray& r) const + { + // Moller-Trumbore algorithm + glm::vec3 e1 = vertices[1] - vertices[0]; + glm::vec3 e2 = vertices[2] - vertices[0]; + glm::vec3 s1 = glm::cross(r.direction, e2); + float divisor = glm::dot(s1, e1); + if (divisor == 0.0f) + { + return -1.0f; + } + float invDivisor = 1.0f / divisor; + + glm::vec3 d = r.origin - vertices[0]; + float b1 = glm::dot(d, s1) * invDivisor; + if (b1 < 0.0f || b1 > 1.0f) + { + return -1.0f; + } + + glm::vec3 s2 = glm::cross(d, e1); + float b2 = glm::dot(r.direction, s2) * invDivisor; + if (b2 < 0.0f || b1 + b2 > 1.0f) + { + return -1.0f; + } + + float t = glm::dot(e2, s2) * invDivisor; + + return t; + } + + __inline__ __device__ glm::vec3 getBarycentricCoordinates(glm::vec3 insectPoint) const + { + // Barycentric coordinates + float u, v, w; + glm::vec3 e1 = vertices[1] - vertices[0]; + glm::vec3 e2 = vertices[2] - vertices[0]; + glm::vec3 ei = insectPoint - vertices[0]; + float s = glm::length(glm::cross(e1, e2)) / 2.0; + float s1 = glm::length(glm::cross(ei, e2)) / 2.0; + float s2 = glm::length(glm::cross(e1, ei)) / 2.0; + u = s1 / s; + v = s2 / s; + w = 1.0f - u - v; + return glm::vec3(w, u, v); + } + + __inline__ __device__ glm::vec3 getNormal() const + { + return glm::normalize(glm::cross(vertices[1] - vertices[0], vertices[2] - vertices[0])); + } + __inline__ __device__ glm::vec3 getNormal(glm::vec3 insectPoint) const + { + if (!hasNormals) + return getNormal(); + glm::vec3 barycentric = getBarycentricCoordinates(insectPoint); + return barycentric.x * normals[0] + barycentric.y * normals[1] + barycentric.z * normals[2]; + } + + __inline__ __device__ glm::vec2 getUV(glm::vec3 insectPoint) const + { + glm::vec3 barycentric = getBarycentricCoordinates(insectPoint); + return barycentric.x * uvs[0] + barycentric.y * uvs[1] + barycentric.z * uvs[2]; + } + + __inline__ __device__ glm::vec3 getCenter() const + { + return (vertices[0] + vertices[1] + vertices[2]) / 3.0f; + } + + __inline__ __host__ AABB getBounds() const + { + AABB aabb; + aabb.min = glm::min(vertices[0], glm::min(vertices[1], vertices[2])); + aabb.max = glm::max(vertices[0], glm::max(vertices[1], vertices[2])); + return aabb; + } + +}; + struct Geom { + Geom() : type(MESH), materialid(-1), lightid(-1),translation(glm::vec3(0.0f)), rotation(glm::vec3(0.0f)), scale(glm::vec3(1.0f)), triangleStartIdx(0), triangleEndIdx(0) {} enum GeomType type; - int materialid; + uint8_t materialid; + uint8_t lightid; glm::vec3 translation; glm::vec3 rotation; glm::vec3 scale; glm::mat4 transform; glm::mat4 inverseTransform; glm::mat4 invTranspose; + + int triangleStartIdx; + int triangleEndIdx; + int getNumTriangles() const { return triangleEndIdx - triangleStartIdx; } +}; + +struct Light +{ + glm::mat4 transform; + glm::mat4 inverseTransform; + float area; + enum LightType lightType; + glm::vec3 emission; +}; + +enum class MaterialType +{ + DIFFUSE, + MICROFACET, + TRANSMIT, + }; struct Material { + Material() : color(glm::vec3(0.0f)), materialId(-1), isLight(false), reflective(0.0f), refractive(0.0f), emittance(0.0f), metallic(0.0f), subsurface(0.0f), specular(0.0f), roughness(0.0f), specularTint(0.0f), anisotropic(0.0f), sheen(0.0f), sheenTint(0.0f), clearcoat(0.0f), clearcoatGloss(0.0f), ior(1.0), type(MaterialType::DIFFUSE) {} + + Material(const glm::vec3& color) : color(color), materialId(-1), isLight(false), reflective(0.0f), refractive(0.0f), emittance(0.0f), metallic(0.0f), subsurface(0.0f), specular(0.0f), roughness(0.0f), specularTint(0.0f), anisotropic(0.0f), sheen(0.0f), sheenTint(0.0f), clearcoat(0.0f), clearcoatGloss(0.0f), ior(1.0), type(MaterialType::DIFFUSE) {} + glm::vec3 color; - struct - { - float exponent; - glm::vec3 color; - } specular; - float hasReflective; - float hasRefractive; - float indexOfRefraction; + + int materialId; + bool isLight; + + float reflective; + float refractive; float emittance; + + // Disney BSDF + float metallic; + float subsurface; + float specular; + float roughness; + float specularTint; + float anisotropic; + float sheen; + float sheenTint; + float clearcoat; + float clearcoatGloss; + float ior; + MaterialType type; }; struct Camera @@ -63,15 +287,26 @@ struct RenderState unsigned int iterations; int traceDepth; std::vector image; + std::vector albedo; + std::vector normal; std::string imageName; }; -struct PathSegment +struct alignas(64) PathSegment { Ray ray; glm::vec3 color; - int pixelIndex; - int remainingBounces; + glm::vec3 throughput; + glm::vec3 accumLight; + int pixelIndex; + int remainingBounces; + glm::vec3 albedo; + glm::vec3 normal; + float distTraveled; + __host__ __device__ PathSegment() : color(glm::vec3(0.0f)), throughput(glm::vec3(1.0f)), accumLight(glm::vec3(0.0f)), pixelIndex(-1), remainingBounces(0), distTraveled(0) {} + __host__ __device__ bool isTerminated() const { + return remainingBounces <= 0; + } }; // Use with a corresponding PathSegment to do: @@ -81,5 +316,10 @@ struct ShadeableIntersection { float t; glm::vec3 surfaceNormal; - int materialId; + uint8_t materialId; + uint8_t lightId; // if the intersection is a light source + uint8_t directLightId; // a random choosen light source for direct lighting + glm::vec2 uv; + float hitBVH; + __host__ __device__ ShadeableIntersection() : t(-1), materialId(-1), lightId(-1), hitBVH(-1), directLightId(-1) {} }; diff --git a/src/texture.cu b/src/texture.cu new file mode 100644 index 00000000..488a12a9 --- /dev/null +++ b/src/texture.cu @@ -0,0 +1,85 @@ +#include "texture.h" +#include +#include + +Texture::Texture(const char* filename){ + // 创建纹理对象 + printf("Creating texture from file: %s\n", filename); + if (!createHdriFromFile(filename, texObj, cuArray)) { + // 创建失败,释放资源 + texObj = 0; + cuArray = nullptr; + } +} + +Texture::~Texture() { + if (texObj) { + free(); + } +} + + +bool Texture::createHdriFromFile(const char* filename, cudaTextureObject_t& texObj, cudaArray_t& cuArray) +{ + //free(); + // load hdri + int width, height, channels; + img_data = stbi_loadf(filename, &width, &height, &channels, 4); + if (img_data == nullptr) { + fprintf(stderr, "Failed to load HDRI file: %s\n", filename); + return false; + } + + // create cuda array + cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc(); + + cudaMallocArray(&cuArray, &channelDesc, width, height); + cudaMemcpy2DToArray(cuArray, 0, 0, img_data, width * sizeof(float4), + width * sizeof(float4), height, cudaMemcpyHostToDevice); + + // create cuda object + struct cudaResourceDesc resDesc; + memset(&resDesc, 0, sizeof(resDesc)); + resDesc.resType = cudaResourceTypeArray; + resDesc.res.array.array = cuArray; + + struct cudaTextureDesc texDesc; + memset(&texDesc, 0, sizeof(texDesc)); + texDesc.addressMode[0] = cudaAddressModeWrap; + texDesc.addressMode[1] = cudaAddressModeWrap; + texDesc.filterMode = cudaFilterModeLinear; + texDesc.readMode = cudaReadModeElementType; + texDesc.normalizedCoords = 1; + + cudaCreateTextureObject(&texObj, &resDesc, &texDesc, nullptr); + return true; +} + +float* Texture::padToFloat4(const float* data, int width, int height) { + float* data4 = new float[width * height * 4]; + for (int i = 0; i < width * height; i++) { + data4[i * 4 + 0] = data[i * 3 + 0]; + data4[i * 4 + 1] = data[i * 3 + 1]; + data4[i * 4 + 2] = data[i * 3 + 2]; + data4[i * 4 + 3] = 1.0f; + } + return data4; +} + +void Texture::free() +{ + if (!img_data) stbi_image_free(img_data); + img_data = nullptr; + + if (texObj != 0) + { + cudaDestroyTextureObject(texObj); + texObj = 0; + } + // free cuda array + if (cuArray != nullptr) + { + cudaFreeArray(cuArray); + cuArray = nullptr; + } +} \ No newline at end of file diff --git a/src/texture.h b/src/texture.h new file mode 100644 index 00000000..285f9c8b --- /dev/null +++ b/src/texture.h @@ -0,0 +1,22 @@ +#pragma once +//#include +#include +#include "utilities.h" + +class Texture { +public: + Texture(const char* filename); + ~Texture(); + cudaTextureObject_t texObj; + bool createTextureFromFile(const char* filename, cudaTextureObject_t& texObj, cudaArray_t& cuArray); + bool createHdriFromFile(const char* filename, cudaTextureObject_t& texObj, cudaArray_t& cuArray); + float* padToFloat4(const float* data, int width, int height); + void free(); + //__device__ float4 get(float u, float v); +private: + cudaArray_t cuArray; + float* img_data; + // 禁止拷贝和赋值 + Texture(const Texture&) = delete; + Texture& operator=(const Texture&) = delete; +}; \ No newline at end of file diff --git a/src/tiny_obj_loader.cpp b/src/tiny_obj_loader.cpp new file mode 100644 index 00000000..154b57e2 --- /dev/null +++ b/src/tiny_obj_loader.cpp @@ -0,0 +1,3 @@ +#define TINYOBJLOADER_IMPLEMENTATION +#include "tiny_obj_loader.h" + diff --git a/src/tiny_obj_loader.h b/src/tiny_obj_loader.h new file mode 100644 index 00000000..5c40b878 --- /dev/null +++ b/src/tiny_obj_loader.h @@ -0,0 +1,3499 @@ +/* +The MIT License (MIT) + +Copyright (c) 2012-Present, Syoyo Fujita and many contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + +// +// version 2.0.0 : Add new object oriented API. 1.x API is still provided. +// * Add python binding. +// * Support line primitive. +// * Support points primitive. +// * Support multiple search path for .mtl(v1 API). +// * Support vertex skinning weight `vw`(as an tinyobj +// extension). Note that this differs vertex weight([w] +// component in `v` line) +// * Support escaped whitespece in mtllib +// * Add robust triangulation using Mapbox +// earcut(TINYOBJLOADER_USE_MAPBOX_EARCUT). +// version 1.4.0 : Modifed ParseTextureNameAndOption API +// version 1.3.1 : Make ParseTextureNameAndOption API public +// version 1.3.0 : Separate warning and error message(breaking API of LoadObj) +// version 1.2.3 : Added color space extension('-colorspace') to tex opts. +// version 1.2.2 : Parse multiple group names. +// version 1.2.1 : Added initial support for line('l') primitive(PR #178) +// version 1.2.0 : Hardened implementation(#175) +// version 1.1.1 : Support smoothing groups(#162) +// version 1.1.0 : Support parsing vertex color(#144) +// version 1.0.8 : Fix parsing `g` tag just after `usemtl`(#138) +// version 1.0.7 : Support multiple tex options(#126) +// version 1.0.6 : Add TINYOBJLOADER_USE_DOUBLE option(#124) +// version 1.0.5 : Ignore `Tr` when `d` exists in MTL(#43) +// version 1.0.4 : Support multiple filenames for 'mtllib'(#112) +// version 1.0.3 : Support parsing texture options(#85) +// version 1.0.2 : Improve parsing speed by about a factor of 2 for large +// files(#105) +// version 1.0.1 : Fixes a shape is lost if obj ends with a 'usemtl'(#104) +// version 1.0.0 : Change data structure. Change license from BSD to MIT. +// + +// +// Use this in *one* .cc + //#define TINYOBJLOADER_IMPLEMENTATION +// #include "tiny_obj_loader.h" +// + +#ifndef TINY_OBJ_LOADER_H_ +#define TINY_OBJ_LOADER_H_ + +#include +#include +#include + +namespace tinyobj { + +// TODO(syoyo): Better C++11 detection for older compiler +#if __cplusplus > 199711L +#define TINYOBJ_OVERRIDE override +#else +#define TINYOBJ_OVERRIDE +#endif + +#ifdef __clang__ +#pragma clang diagnostic push +#if __has_warning("-Wzero-as-null-pointer-constant") +#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" +#endif + +#pragma clang diagnostic ignored "-Wpadded" + +#endif + +// https://en.wikipedia.org/wiki/Wavefront_.obj_file says ... +// +// -blendu on | off # set horizontal texture blending +// (default on) +// -blendv on | off # set vertical texture blending +// (default on) +// -boost real_value # boost mip-map sharpness +// -mm base_value gain_value # modify texture map values (default +// 0 1) +// # base_value = brightness, +// gain_value = contrast +// -o u [v [w]] # Origin offset (default +// 0 0 0) +// -s u [v [w]] # Scale (default +// 1 1 1) +// -t u [v [w]] # Turbulence (default +// 0 0 0) +// -texres resolution # texture resolution to create +// -clamp on | off # only render texels in the clamped +// 0-1 range (default off) +// # When unclamped, textures are +// repeated across a surface, +// # when clamped, only texels which +// fall within the 0-1 +// # range are rendered. +// -bm mult_value # bump multiplier (for bump maps +// only) +// +// -imfchan r | g | b | m | l | z # specifies which channel of the file +// is used to +// # create a scalar or bump texture. +// r:red, g:green, +// # b:blue, m:matte, l:luminance, +// z:z-depth.. +// # (the default for bump is 'l' and +// for decal is 'm') +// bump -imfchan r bumpmap.tga # says to use the red channel of +// bumpmap.tga as the bumpmap +// +// For reflection maps... +// +// -type sphere # specifies a sphere for a "refl" +// reflection map +// -type cube_top | cube_bottom | # when using a cube map, the texture +// file for each +// cube_front | cube_back | # side of the cube is specified +// separately +// cube_left | cube_right +// +// TinyObjLoader extension. +// +// -colorspace SPACE # Color space of the texture. e.g. +// 'sRGB` or 'linear' +// + +#ifdef TINYOBJLOADER_USE_DOUBLE +//#pragma message "using double" +typedef double real_t; +#else +//#pragma message "using float" +typedef float real_t; +#endif + +typedef enum { + TEXTURE_TYPE_NONE, // default + TEXTURE_TYPE_SPHERE, + TEXTURE_TYPE_CUBE_TOP, + TEXTURE_TYPE_CUBE_BOTTOM, + TEXTURE_TYPE_CUBE_FRONT, + TEXTURE_TYPE_CUBE_BACK, + TEXTURE_TYPE_CUBE_LEFT, + TEXTURE_TYPE_CUBE_RIGHT +} texture_type_t; + +struct texture_option_t { + texture_type_t type; // -type (default TEXTURE_TYPE_NONE) + real_t sharpness; // -boost (default 1.0?) + real_t brightness; // base_value in -mm option (default 0) + real_t contrast; // gain_value in -mm option (default 1) + real_t origin_offset[3]; // -o u [v [w]] (default 0 0 0) + real_t scale[3]; // -s u [v [w]] (default 1 1 1) + real_t turbulence[3]; // -t u [v [w]] (default 0 0 0) + int texture_resolution; // -texres resolution (No default value in the spec. + // We'll use -1) + bool clamp; // -clamp (default false) + char imfchan; // -imfchan (the default for bump is 'l' and for decal is 'm') + bool blendu; // -blendu (default on) + bool blendv; // -blendv (default on) + real_t bump_multiplier; // -bm (for bump maps only, default 1.0) + + // extension + std::string colorspace; // Explicitly specify color space of stored texel + // value. Usually `sRGB` or `linear` (default empty). +}; + +struct material_t { + std::string name; + + real_t ambient[3]; + real_t diffuse[3]; + real_t specular[3]; + real_t transmittance[3]; + real_t emission[3]; + real_t shininess; + real_t ior; // index of refraction + real_t dissolve; // 1 == opaque; 0 == fully transparent + // illumination model (see http://www.fileformat.info/format/material/) + int illum; + + int dummy; // Suppress padding warning. + + std::string ambient_texname; // map_Ka. For ambient or ambient occlusion. + std::string diffuse_texname; // map_Kd + std::string specular_texname; // map_Ks + std::string specular_highlight_texname; // map_Ns + std::string bump_texname; // map_bump, map_Bump, bump + std::string displacement_texname; // disp + std::string alpha_texname; // map_d + std::string reflection_texname; // refl + + texture_option_t ambient_texopt; + texture_option_t diffuse_texopt; + texture_option_t specular_texopt; + texture_option_t specular_highlight_texopt; + texture_option_t bump_texopt; + texture_option_t displacement_texopt; + texture_option_t alpha_texopt; + texture_option_t reflection_texopt; + + // PBR extension + // http://exocortex.com/blog/extending_wavefront_mtl_to_support_pbr + real_t roughness; // [0, 1] default 0 + real_t metallic; // [0, 1] default 0 + real_t sheen; // [0, 1] default 0 + real_t clearcoat_thickness; // [0, 1] default 0 + real_t clearcoat_roughness; // [0, 1] default 0 + real_t anisotropy; // aniso. [0, 1] default 0 + real_t anisotropy_rotation; // anisor. [0, 1] default 0 + real_t pad0; + std::string roughness_texname; // map_Pr + std::string metallic_texname; // map_Pm + std::string sheen_texname; // map_Ps + std::string emissive_texname; // map_Ke + std::string normal_texname; // norm. For normal mapping. + + texture_option_t roughness_texopt; + texture_option_t metallic_texopt; + texture_option_t sheen_texopt; + texture_option_t emissive_texopt; + texture_option_t normal_texopt; + + int pad2; + + std::map unknown_parameter; + +#ifdef TINY_OBJ_LOADER_PYTHON_BINDING + // For pybind11 + std::array GetDiffuse() { + std::array values; + values[0] = double(diffuse[0]); + values[1] = double(diffuse[1]); + values[2] = double(diffuse[2]); + + return values; + } + + std::array GetSpecular() { + std::array values; + values[0] = double(specular[0]); + values[1] = double(specular[1]); + values[2] = double(specular[2]); + + return values; + } + + std::array GetTransmittance() { + std::array values; + values[0] = double(transmittance[0]); + values[1] = double(transmittance[1]); + values[2] = double(transmittance[2]); + + return values; + } + + std::array GetEmission() { + std::array values; + values[0] = double(emission[0]); + values[1] = double(emission[1]); + values[2] = double(emission[2]); + + return values; + } + + std::array GetAmbient() { + std::array values; + values[0] = double(ambient[0]); + values[1] = double(ambient[1]); + values[2] = double(ambient[2]); + + return values; + } + + void SetDiffuse(std::array &a) { + diffuse[0] = real_t(a[0]); + diffuse[1] = real_t(a[1]); + diffuse[2] = real_t(a[2]); + } + + void SetAmbient(std::array &a) { + ambient[0] = real_t(a[0]); + ambient[1] = real_t(a[1]); + ambient[2] = real_t(a[2]); + } + + void SetSpecular(std::array &a) { + specular[0] = real_t(a[0]); + specular[1] = real_t(a[1]); + specular[2] = real_t(a[2]); + } + + void SetTransmittance(std::array &a) { + transmittance[0] = real_t(a[0]); + transmittance[1] = real_t(a[1]); + transmittance[2] = real_t(a[2]); + } + + std::string GetCustomParameter(const std::string &key) { + std::map::const_iterator it = + unknown_parameter.find(key); + + if (it != unknown_parameter.end()) { + return it->second; + } + return std::string(); + } + +#endif +}; + +struct tag_t { + std::string name; + + std::vector intValues; + std::vector floatValues; + std::vector stringValues; +}; + +struct joint_and_weight_t { + int joint_id; + real_t weight; +}; + +struct skin_weight_t { + int vertex_id; // Corresponding vertex index in `attrib_t::vertices`. + // Compared to `index_t`, this index must be positive and + // start with 0(does not allow relative indexing) + std::vector weightValues; +}; + +// Index struct to support different indices for vtx/normal/texcoord. +// -1 means not used. +struct index_t { + int vertex_index; + int normal_index; + int texcoord_index; +}; + +struct mesh_t { + std::vector indices; + std::vector + num_face_vertices; // The number of vertices per + // face. 3 = triangle, 4 = quad, ... + std::vector material_ids; // per-face material ID + std::vector smoothing_group_ids; // per-face smoothing group + // ID(0 = off. positive value + // = group id) + std::vector tags; // SubD tag +}; + +// struct path_t { +// std::vector indices; // pairs of indices for lines +//}; + +struct lines_t { + // Linear flattened indices. + std::vector indices; // indices for vertices(poly lines) + std::vector num_line_vertices; // The number of vertices per line. +}; + +struct points_t { + std::vector indices; // indices for points +}; + +struct shape_t { + std::string name; + mesh_t mesh; + lines_t lines; + points_t points; +}; + +// Vertex attributes +struct attrib_t { + std::vector vertices; // 'v'(xyz) + + // For backward compatibility, we store vertex weight in separate array. + std::vector vertex_weights; // 'v'(w) + std::vector normals; // 'vn' + std::vector texcoords; // 'vt'(uv) + + // For backward compatibility, we store texture coordinate 'w' in separate + // array. + std::vector texcoord_ws; // 'vt'(w) + std::vector colors; // extension: vertex colors + + // + // TinyObj extension. + // + + // NOTE(syoyo): array index is based on the appearance order. + // To get a corresponding skin weight for a specific vertex id `vid`, + // Need to reconstruct a look up table: `skin_weight_t::vertex_id` == `vid` + // (e.g. using std::map, std::unordered_map) + std::vector skin_weights; + + attrib_t() {} + + // + // For pybind11 + // + const std::vector &GetVertices() const { return vertices; } + + const std::vector &GetVertexWeights() const { return vertex_weights; } +}; + +struct callback_t { + // W is optional and set to 1 if there is no `w` item in `v` line + void (*vertex_cb)(void *user_data, real_t x, real_t y, real_t z, real_t w); + void (*vertex_color_cb)(void *user_data, real_t x, real_t y, real_t z, + real_t r, real_t g, real_t b, bool has_color); + void (*normal_cb)(void *user_data, real_t x, real_t y, real_t z); + + // y and z are optional and set to 0 if there is no `y` and/or `z` item(s) in + // `vt` line. + void (*texcoord_cb)(void *user_data, real_t x, real_t y, real_t z); + + // called per 'f' line. num_indices is the number of face indices(e.g. 3 for + // triangle, 4 for quad) + // 0 will be passed for undefined index in index_t members. + void (*index_cb)(void *user_data, index_t *indices, int num_indices); + // `name` material name, `material_id` = the array index of material_t[]. -1 + // if + // a material not found in .mtl + void (*usemtl_cb)(void *user_data, const char *name, int material_id); + // `materials` = parsed material data. + void (*mtllib_cb)(void *user_data, const material_t *materials, + int num_materials); + // There may be multiple group names + void (*group_cb)(void *user_data, const char **names, int num_names); + void (*object_cb)(void *user_data, const char *name); + + callback_t() + : vertex_cb(NULL), + vertex_color_cb(NULL), + normal_cb(NULL), + texcoord_cb(NULL), + index_cb(NULL), + usemtl_cb(NULL), + mtllib_cb(NULL), + group_cb(NULL), + object_cb(NULL) {} +}; + +class MaterialReader { + public: + MaterialReader() {} + virtual ~MaterialReader(); + + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) = 0; +}; + +/// +/// Read .mtl from a file. +/// +class MaterialFileReader : public MaterialReader { + public: + // Path could contain separator(';' in Windows, ':' in Posix) + explicit MaterialFileReader(const std::string &mtl_basedir) + : m_mtlBaseDir(mtl_basedir) {} + virtual ~MaterialFileReader() TINYOBJ_OVERRIDE {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) TINYOBJ_OVERRIDE; + + private: + std::string m_mtlBaseDir; +}; + +/// +/// Read .mtl from a stream. +/// +class MaterialStreamReader : public MaterialReader { + public: + explicit MaterialStreamReader(std::istream &inStream) + : m_inStream(inStream) {} + virtual ~MaterialStreamReader() TINYOBJ_OVERRIDE {} + virtual bool operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, std::string *warn, + std::string *err) TINYOBJ_OVERRIDE; + + private: + std::istream &m_inStream; +}; + +// v2 API +struct ObjReaderConfig { + bool triangulate; // triangulate polygon? + + // Currently not used. + // "simple" or empty: Create triangle fan + // "earcut": Use the algorithm based on Ear clipping + std::string triangulation_method; + + /// Parse vertex color. + /// If vertex color is not present, its filled with default value. + /// false = no vertex color + /// This will increase memory of parsed .obj + bool vertex_color; + + /// + /// Search path to .mtl file. + /// Default = "" = search from the same directory of .obj file. + /// Valid only when loading .obj from a file. + /// + std::string mtl_search_path; + + ObjReaderConfig() + : triangulate(true), triangulation_method("simple"), vertex_color(true) {} +}; + +/// +/// Wavefront .obj reader class(v2 API) +/// +class ObjReader { + public: + ObjReader() : valid_(false) {} + + /// + /// Load .obj and .mtl from a file. + /// + /// @param[in] filename wavefront .obj filename + /// @param[in] config Reader configuration + /// + bool ParseFromFile(const std::string &filename, + const ObjReaderConfig &config = ObjReaderConfig()); + + /// + /// Parse .obj from a text string. + /// Need to supply .mtl text string by `mtl_text`. + /// This function ignores `mtllib` line in .obj text. + /// + /// @param[in] obj_text wavefront .obj filename + /// @param[in] mtl_text wavefront .mtl filename + /// @param[in] config Reader configuration + /// + bool ParseFromString(const std::string &obj_text, const std::string &mtl_text, + const ObjReaderConfig &config = ObjReaderConfig()); + + /// + /// .obj was loaded or parsed correctly. + /// + bool Valid() const { return valid_; } + + const attrib_t &GetAttrib() const { return attrib_; } + + const std::vector &GetShapes() const { return shapes_; } + + const std::vector &GetMaterials() const { return materials_; } + + /// + /// Warning message(may be filled after `Load` or `Parse`) + /// + const std::string &Warning() const { return warning_; } + + /// + /// Error message(filled when `Load` or `Parse` failed) + /// + const std::string &Error() const { return error_; } + + private: + bool valid_; + + attrib_t attrib_; + std::vector shapes_; + std::vector materials_; + + std::string warning_; + std::string error_; +}; + +/// ==>>========= Legacy v1 API ============================================= + +/// Loads .obj from a file. +/// 'attrib', 'shapes' and 'materials' will be filled with parsed shape data +/// 'shapes' will be filled with parsed shape data +/// Returns true when loading .obj become success. +/// Returns warning message into `warn`, and error message into `err` +/// 'mtl_basedir' is optional, and used for base directory for .mtl file. +/// In default(`NULL'), .mtl file is searched from an application's working +/// directory. +/// 'triangulate' is optional, and used whether triangulate polygon face in .obj +/// or not. +/// Option 'default_vcols_fallback' specifies whether vertex colors should +/// always be defined, even if no colors are given (fallback to white). +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, const char *filename, + const char *mtl_basedir = NULL, bool triangulate = true, + bool default_vcols_fallback = true); + +/// Loads .obj from a file with custom user callback. +/// .mtl is loaded as usual and parsed material_t data will be passed to +/// `callback.mtllib_cb`. +/// Returns true when loading .obj/.mtl become success. +/// Returns warning message into `warn`, and error message into `err` +/// See `examples/callback_api/` for how to use this function. +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data = NULL, + MaterialReader *readMatFn = NULL, + std::string *warn = NULL, std::string *err = NULL); + +/// Loads object from a std::istream, uses `readMatFn` to retrieve +/// std::istream for materials. +/// Returns true when loading .obj become success. +/// Returns warning and error message into `err` +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, std::istream *inStream, + MaterialReader *readMatFn = NULL, bool triangulate = true, + bool default_vcols_fallback = true); + +/// Loads materials into std::map +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream, + std::string *warning, std::string *err); + +/// +/// Parse texture name and texture option for custom texture parameter through +/// material::unknown_parameter +/// +/// @param[out] texname Parsed texture name +/// @param[out] texopt Parsed texopt +/// @param[in] linebuf Input string +/// +bool ParseTextureNameAndOption(std::string *texname, texture_option_t *texopt, + const char *linebuf); + +/// =<<========== Legacy v1 API ============================================= + +} // namespace tinyobj + +#endif // TINY_OBJ_LOADER_H_ + +#ifdef TINYOBJLOADER_IMPLEMENTATION +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef TINYOBJLOADER_USE_MAPBOX_EARCUT + +#ifdef TINYOBJLOADER_DONOT_INCLUDE_MAPBOX_EARCUT +// Assume earcut.hpp is included outside of tiny_obj_loader.h +#else + +#ifdef __clang__ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Weverything" +#endif + +#include + +#include "mapbox/earcut.hpp" + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif + +#endif + +#endif // TINYOBJLOADER_USE_MAPBOX_EARCUT + +namespace tinyobj { + +MaterialReader::~MaterialReader() {} + +struct vertex_index_t { + int v_idx, vt_idx, vn_idx; + vertex_index_t() : v_idx(-1), vt_idx(-1), vn_idx(-1) {} + explicit vertex_index_t(int idx) : v_idx(idx), vt_idx(idx), vn_idx(idx) {} + vertex_index_t(int vidx, int vtidx, int vnidx) + : v_idx(vidx), vt_idx(vtidx), vn_idx(vnidx) {} +}; + +// Internal data structure for face representation +// index + smoothing group. +struct face_t { + unsigned int + smoothing_group_id; // smoothing group id. 0 = smoothing groupd is off. + int pad_; + std::vector vertex_indices; // face vertex indices. + + face_t() : smoothing_group_id(0), pad_(0) {} +}; + +// Internal data structure for line representation +struct __line_t { + // l v1/vt1 v2/vt2 ... + // In the specification, line primitrive does not have normal index, but + // TinyObjLoader allow it + std::vector vertex_indices; +}; + +// Internal data structure for points representation +struct __points_t { + // p v1 v2 ... + // In the specification, point primitrive does not have normal index and + // texture coord index, but TinyObjLoader allow it. + std::vector vertex_indices; +}; + +struct tag_sizes { + tag_sizes() : num_ints(0), num_reals(0), num_strings(0) {} + int num_ints; + int num_reals; + int num_strings; +}; + +struct obj_shape { + std::vector v; + std::vector vn; + std::vector vt; +}; + +// +// Manages group of primitives(face, line, points, ...) +struct PrimGroup { + std::vector faceGroup; + std::vector<__line_t> lineGroup; + std::vector<__points_t> pointsGroup; + + void clear() { + faceGroup.clear(); + lineGroup.clear(); + pointsGroup.clear(); + } + + bool IsEmpty() const { + return faceGroup.empty() && lineGroup.empty() && pointsGroup.empty(); + } + + // TODO(syoyo): bspline, surface, ... +}; + +// See +// http://stackoverflow.com/questions/6089231/getting-std-ifstream-to-handle-lf-cr-and-crlf +static std::istream &safeGetline(std::istream &is, std::string &t) { + t.clear(); + + // The characters in the stream are read one-by-one using a std::streambuf. + // That is faster than reading them one-by-one using the std::istream. + // Code that uses streambuf this way must be guarded by a sentry object. + // The sentry object performs various tasks, + // such as thread synchronization and updating the stream state. + + std::istream::sentry se(is, true); + std::streambuf *sb = is.rdbuf(); + + if (se) { + for (;;) { + int c = sb->sbumpc(); + switch (c) { + case '\n': + return is; + case '\r': + if (sb->sgetc() == '\n') sb->sbumpc(); + return is; + case EOF: + // Also handle the case when the last line has no line ending + if (t.empty()) is.setstate(std::ios::eofbit); + return is; + default: + t += static_cast(c); + } + } + } + + return is; +} + +#define IS_SPACE(x) (((x) == ' ') || ((x) == '\t')) +#define IS_DIGIT(x) \ + (static_cast((x) - '0') < static_cast(10)) +#define IS_NEW_LINE(x) (((x) == '\r') || ((x) == '\n') || ((x) == '\0')) + +template +static inline std::string toString(const T &t) { + std::stringstream ss; + ss << t; + return ss.str(); +} + +struct warning_context { + std::string *warn; + size_t line_number; +}; + +// Make index zero-base, and also support relative index. +static inline bool fixIndex(int idx, int n, int *ret, bool allow_zero, + const warning_context &context) { + if (!ret) { + return false; + } + + if (idx > 0) { + (*ret) = idx - 1; + return true; + } + + if (idx == 0) { + // zero is not allowed according to the spec. + if (context.warn) { + (*context.warn) += + "A zero value index found (will have a value of -1 for normal and " + "tex indices. Line " + + toString(context.line_number) + ").\n"; + } + + (*ret) = idx - 1; + return allow_zero; + } + + if (idx < 0) { + (*ret) = n + idx; // negative value = relative + if ((*ret) < 0) { + return false; // invalid relative index + } + return true; + } + + return false; // never reach here. +} + +static inline std::string parseString(const char **token) { + std::string s; + (*token) += strspn((*token), " \t"); + size_t e = strcspn((*token), " \t\r"); + s = std::string((*token), &(*token)[e]); + (*token) += e; + return s; +} + +static inline int parseInt(const char **token) { + (*token) += strspn((*token), " \t"); + int i = atoi((*token)); + (*token) += strcspn((*token), " \t\r"); + return i; +} + +// Tries to parse a floating point number located at s. +// +// s_end should be a location in the string where reading should absolutely +// stop. For example at the end of the string, to prevent buffer overflows. +// +// Parses the following EBNF grammar: +// sign = "+" | "-" ; +// END = ? anything not in digit ? +// digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; +// integer = [sign] , digit , {digit} ; +// decimal = integer , ["." , integer] ; +// float = ( decimal , END ) | ( decimal , ("E" | "e") , integer , END ) ; +// +// Valid strings are for example: +// -0 +3.1417e+2 -0.0E-3 1.0324 -1.41 11e2 +// +// If the parsing is a success, result is set to the parsed value and true +// is returned. +// +// The function is greedy and will parse until any of the following happens: +// - a non-conforming character is encountered. +// - s_end is reached. +// +// The following situations triggers a failure: +// - s >= s_end. +// - parse failure. +// +static bool tryParseDouble(const char *s, const char *s_end, double *result) { + if (s >= s_end) { + return false; + } + + double mantissa = 0.0; + // This exponent is base 2 rather than 10. + // However the exponent we parse is supposed to be one of ten, + // thus we must take care to convert the exponent/and or the + // mantissa to a * 2^E, where a is the mantissa and E is the + // exponent. + // To get the final double we will use ldexp, it requires the + // exponent to be in base 2. + int exponent = 0; + + // NOTE: THESE MUST BE DECLARED HERE SINCE WE ARE NOT ALLOWED + // TO JUMP OVER DEFINITIONS. + char sign = '+'; + char exp_sign = '+'; + char const *curr = s; + + // How many characters were read in a loop. + int read = 0; + // Tells whether a loop terminated due to reaching s_end. + bool end_not_reached = false; + bool leading_decimal_dots = false; + + /* + BEGIN PARSING. + */ + + // Find out what sign we've got. + if (*curr == '+' || *curr == '-') { + sign = *curr; + curr++; + if ((curr != s_end) && (*curr == '.')) { + // accept. Somethig like `.7e+2`, `-.5234` + leading_decimal_dots = true; + } + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else if (*curr == '.') { + // accept. Somethig like `.7e+2`, `-.5234` + leading_decimal_dots = true; + } else { + goto fail; + } + + // Read the integer part. + end_not_reached = (curr != s_end); + if (!leading_decimal_dots) { + while (end_not_reached && IS_DIGIT(*curr)) { + mantissa *= 10; + mantissa += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + + // We must make sure we actually got something. + if (read == 0) goto fail; + } + + // We allow numbers of form "#", "###" etc. + if (!end_not_reached) goto assemble; + + // Read the decimal part. + if (*curr == '.') { + curr++; + read = 1; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + static const double pow_lut[] = { + 1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, + }; + const int lut_entries = sizeof pow_lut / sizeof pow_lut[0]; + + // NOTE: Don't use powf here, it will absolutely murder precision. + mantissa += static_cast(*curr - 0x30) * + (read < lut_entries ? pow_lut[read] : std::pow(10.0, -read)); + read++; + curr++; + end_not_reached = (curr != s_end); + } + } else if (*curr == 'e' || *curr == 'E') { + } else { + goto assemble; + } + + if (!end_not_reached) goto assemble; + + // Read the exponent part. + if (*curr == 'e' || *curr == 'E') { + curr++; + // Figure out if a sign is present and if it is. + end_not_reached = (curr != s_end); + if (end_not_reached && (*curr == '+' || *curr == '-')) { + exp_sign = *curr; + curr++; + } else if (IS_DIGIT(*curr)) { /* Pass through. */ + } else { + // Empty E is not allowed. + goto fail; + } + + read = 0; + end_not_reached = (curr != s_end); + while (end_not_reached && IS_DIGIT(*curr)) { + // To avoid annoying MSVC's min/max macro definiton, + // Use hardcoded int max value + if (exponent > + (2147483647 / 10)) { // 2147483647 = std::numeric_limits::max() + // Integer overflow + goto fail; + } + exponent *= 10; + exponent += static_cast(*curr - 0x30); + curr++; + read++; + end_not_reached = (curr != s_end); + } + exponent *= (exp_sign == '+' ? 1 : -1); + if (read == 0) goto fail; + } + +assemble: + *result = (sign == '+' ? 1 : -1) * + (exponent ? std::ldexp(mantissa * std::pow(5.0, exponent), exponent) + : mantissa); + return true; +fail: + return false; +} + +static inline real_t parseReal(const char **token, double default_value = 0.0) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + double val = default_value; + tryParseDouble((*token), end, &val); + real_t f = static_cast(val); + (*token) = end; + return f; +} + +static inline bool parseReal(const char **token, real_t *out) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + double val; + bool ret = tryParseDouble((*token), end, &val); + if (ret) { + real_t f = static_cast(val); + (*out) = f; + } + (*token) = end; + return ret; +} + +static inline void parseReal2(real_t *x, real_t *y, const char **token, + const double default_x = 0.0, + const double default_y = 0.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); +} + +static inline void parseReal3(real_t *x, real_t *y, real_t *z, + const char **token, const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); +} + +#if 0 // not used +static inline void parseV(real_t *x, real_t *y, real_t *z, real_t *w, + const char **token, const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0, + const double default_w = 1.0) { + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); + (*w) = parseReal(token, default_w); +} +#endif + +// Extension: parse vertex with colors(6 items) +// Return 3: xyz, 4: xyzw, 6: xyzrgb +// `r`: red(case 6) or [w](case 4) +static inline int parseVertexWithColor(real_t *x, real_t *y, real_t *z, + real_t *r, real_t *g, real_t *b, + const char **token, + const double default_x = 0.0, + const double default_y = 0.0, + const double default_z = 0.0) { + // TODO: Check error + (*x) = parseReal(token, default_x); + (*y) = parseReal(token, default_y); + (*z) = parseReal(token, default_z); + + // - 4 components(x, y, z, w) ot 6 components + bool has_r = parseReal(token, r); + + if (!has_r) { + (*r) = (*g) = (*b) = 1.0; + return 3; + } + + bool has_g = parseReal(token, g); + + if (!has_g) { + (*g) = (*b) = 1.0; + return 4; + } + + bool has_b = parseReal(token, b); + + if (!has_b) { + (*r) = (*g) = (*b) = 1.0; + return 3; // treated as xyz + } + + return 6; +} + +static inline bool parseOnOff(const char **token, bool default_value = true) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + + bool ret = default_value; + if ((0 == strncmp((*token), "on", 2))) { + ret = true; + } else if ((0 == strncmp((*token), "off", 3))) { + ret = false; + } + + (*token) = end; + return ret; +} + +static inline texture_type_t parseTextureType( + const char **token, texture_type_t default_value = TEXTURE_TYPE_NONE) { + (*token) += strspn((*token), " \t"); + const char *end = (*token) + strcspn((*token), " \t\r"); + texture_type_t ty = default_value; + + if ((0 == strncmp((*token), "cube_top", strlen("cube_top")))) { + ty = TEXTURE_TYPE_CUBE_TOP; + } else if ((0 == strncmp((*token), "cube_bottom", strlen("cube_bottom")))) { + ty = TEXTURE_TYPE_CUBE_BOTTOM; + } else if ((0 == strncmp((*token), "cube_left", strlen("cube_left")))) { + ty = TEXTURE_TYPE_CUBE_LEFT; + } else if ((0 == strncmp((*token), "cube_right", strlen("cube_right")))) { + ty = TEXTURE_TYPE_CUBE_RIGHT; + } else if ((0 == strncmp((*token), "cube_front", strlen("cube_front")))) { + ty = TEXTURE_TYPE_CUBE_FRONT; + } else if ((0 == strncmp((*token), "cube_back", strlen("cube_back")))) { + ty = TEXTURE_TYPE_CUBE_BACK; + } else if ((0 == strncmp((*token), "sphere", strlen("sphere")))) { + ty = TEXTURE_TYPE_SPHERE; + } + + (*token) = end; + return ty; +} + +static tag_sizes parseTagTriple(const char **token) { + tag_sizes ts; + + (*token) += strspn((*token), " \t"); + ts.num_ints = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + + (*token)++; // Skip '/' + + (*token) += strspn((*token), " \t"); + ts.num_reals = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return ts; + } + (*token)++; // Skip '/' + + ts.num_strings = parseInt(token); + + return ts; +} + +// Parse triples with index offsets: i, i/j/k, i//k, i/j +static bool parseTriple(const char **token, int vsize, int vnsize, int vtsize, + vertex_index_t *ret, const warning_context &context) { + if (!ret) { + return false; + } + + vertex_index_t vi(-1); + + if (!fixIndex(atoi((*token)), vsize, &vi.v_idx, false, context)) { + return false; + } + + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + (*ret) = vi; + return true; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + if (!fixIndex(atoi((*token)), vnsize, &vi.vn_idx, true, context)) { + return false; + } + (*token) += strcspn((*token), "/ \t\r"); + (*ret) = vi; + return true; + } + + // i/j/k or i/j + if (!fixIndex(atoi((*token)), vtsize, &vi.vt_idx, true, context)) { + return false; + } + + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + (*ret) = vi; + return true; + } + + // i/j/k + (*token)++; // skip '/' + if (!fixIndex(atoi((*token)), vnsize, &vi.vn_idx, true, context)) { + return false; + } + (*token) += strcspn((*token), "/ \t\r"); + + (*ret) = vi; + + return true; +} + +// Parse raw triples: i, i/j/k, i//k, i/j +static vertex_index_t parseRawTriple(const char **token) { + vertex_index_t vi(static_cast(0)); // 0 is an invalid index in OBJ + + vi.v_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + (*token)++; + + // i//k + if ((*token)[0] == '/') { + (*token)++; + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; + } + + // i/j/k or i/j + vi.vt_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + if ((*token)[0] != '/') { + return vi; + } + + // i/j/k + (*token)++; // skip '/' + vi.vn_idx = atoi((*token)); + (*token) += strcspn((*token), "/ \t\r"); + return vi; +} + +bool ParseTextureNameAndOption(std::string *texname, texture_option_t *texopt, + const char *linebuf) { + // @todo { write more robust lexer and parser. } + bool found_texname = false; + std::string texture_name; + + const char *token = linebuf; // Assume line ends with NULL + + while (!IS_NEW_LINE((*token))) { + token += strspn(token, " \t"); // skip space + if ((0 == strncmp(token, "-blendu", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendu = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-blendv", 7)) && IS_SPACE((token[7]))) { + token += 8; + texopt->blendv = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-clamp", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->clamp = parseOnOff(&token, /* default */ true); + } else if ((0 == strncmp(token, "-boost", 6)) && IS_SPACE((token[6]))) { + token += 7; + texopt->sharpness = parseReal(&token, 1.0); + } else if ((0 == strncmp(token, "-bm", 3)) && IS_SPACE((token[3]))) { + token += 4; + texopt->bump_multiplier = parseReal(&token, 1.0); + } else if ((0 == strncmp(token, "-o", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->origin_offset[0]), &(texopt->origin_offset[1]), + &(texopt->origin_offset[2]), &token); + } else if ((0 == strncmp(token, "-s", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->scale[0]), &(texopt->scale[1]), &(texopt->scale[2]), + &token, 1.0, 1.0, 1.0); + } else if ((0 == strncmp(token, "-t", 2)) && IS_SPACE((token[2]))) { + token += 3; + parseReal3(&(texopt->turbulence[0]), &(texopt->turbulence[1]), + &(texopt->turbulence[2]), &token); + } else if ((0 == strncmp(token, "-type", 5)) && IS_SPACE((token[5]))) { + token += 5; + texopt->type = parseTextureType((&token), TEXTURE_TYPE_NONE); + } else if ((0 == strncmp(token, "-texres", 7)) && IS_SPACE((token[7]))) { + token += 7; + // TODO(syoyo): Check if arg is int type. + texopt->texture_resolution = parseInt(&token); + } else if ((0 == strncmp(token, "-imfchan", 8)) && IS_SPACE((token[8]))) { + token += 9; + token += strspn(token, " \t"); + const char *end = token + strcspn(token, " \t\r"); + if ((end - token) == 1) { // Assume one char for -imfchan + texopt->imfchan = (*token); + } + token = end; + } else if ((0 == strncmp(token, "-mm", 3)) && IS_SPACE((token[3]))) { + token += 4; + parseReal2(&(texopt->brightness), &(texopt->contrast), &token, 0.0, 1.0); + } else if ((0 == strncmp(token, "-colorspace", 11)) && + IS_SPACE((token[11]))) { + token += 12; + texopt->colorspace = parseString(&token); + } else { +// Assume texture filename +#if 0 + size_t len = strcspn(token, " \t\r"); // untile next space + texture_name = std::string(token, token + len); + token += len; + + token += strspn(token, " \t"); // skip space +#else + // Read filename until line end to parse filename containing whitespace + // TODO(syoyo): Support parsing texture option flag after the filename. + texture_name = std::string(token); + token += texture_name.length(); +#endif + + found_texname = true; + } + } + + if (found_texname) { + (*texname) = texture_name; + return true; + } else { + return false; + } +} + +static void InitTexOpt(texture_option_t *texopt, const bool is_bump) { + if (is_bump) { + texopt->imfchan = 'l'; + } else { + texopt->imfchan = 'm'; + } + texopt->bump_multiplier = static_cast(1.0); + texopt->clamp = false; + texopt->blendu = true; + texopt->blendv = true; + texopt->sharpness = static_cast(1.0); + texopt->brightness = static_cast(0.0); + texopt->contrast = static_cast(1.0); + texopt->origin_offset[0] = static_cast(0.0); + texopt->origin_offset[1] = static_cast(0.0); + texopt->origin_offset[2] = static_cast(0.0); + texopt->scale[0] = static_cast(1.0); + texopt->scale[1] = static_cast(1.0); + texopt->scale[2] = static_cast(1.0); + texopt->turbulence[0] = static_cast(0.0); + texopt->turbulence[1] = static_cast(0.0); + texopt->turbulence[2] = static_cast(0.0); + texopt->texture_resolution = -1; + texopt->type = TEXTURE_TYPE_NONE; +} + +static void InitMaterial(material_t *material) { + InitTexOpt(&material->ambient_texopt, /* is_bump */ false); + InitTexOpt(&material->diffuse_texopt, /* is_bump */ false); + InitTexOpt(&material->specular_texopt, /* is_bump */ false); + InitTexOpt(&material->specular_highlight_texopt, /* is_bump */ false); + InitTexOpt(&material->bump_texopt, /* is_bump */ true); + InitTexOpt(&material->displacement_texopt, /* is_bump */ false); + InitTexOpt(&material->alpha_texopt, /* is_bump */ false); + InitTexOpt(&material->reflection_texopt, /* is_bump */ false); + InitTexOpt(&material->roughness_texopt, /* is_bump */ false); + InitTexOpt(&material->metallic_texopt, /* is_bump */ false); + InitTexOpt(&material->sheen_texopt, /* is_bump */ false); + InitTexOpt(&material->emissive_texopt, /* is_bump */ false); + InitTexOpt(&material->normal_texopt, + /* is_bump */ false); // @fixme { is_bump will be true? } + material->name = ""; + material->ambient_texname = ""; + material->diffuse_texname = ""; + material->specular_texname = ""; + material->specular_highlight_texname = ""; + material->bump_texname = ""; + material->displacement_texname = ""; + material->reflection_texname = ""; + material->alpha_texname = ""; + for (int i = 0; i < 3; i++) { + material->ambient[i] = static_cast(0.0); + material->diffuse[i] = static_cast(0.0); + material->specular[i] = static_cast(0.0); + material->transmittance[i] = static_cast(0.0); + material->emission[i] = static_cast(0.0); + } + material->illum = 0; + material->dissolve = static_cast(1.0); + material->shininess = static_cast(1.0); + material->ior = static_cast(1.0); + + material->roughness = static_cast(0.0); + material->metallic = static_cast(0.0); + material->sheen = static_cast(0.0); + material->clearcoat_thickness = static_cast(0.0); + material->clearcoat_roughness = static_cast(0.0); + material->anisotropy_rotation = static_cast(0.0); + material->anisotropy = static_cast(0.0); + material->roughness_texname = ""; + material->metallic_texname = ""; + material->sheen_texname = ""; + material->emissive_texname = ""; + material->normal_texname = ""; + + material->unknown_parameter.clear(); +} + +// code from https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html +template +static int pnpoly(int nvert, T *vertx, T *verty, T testx, T testy) { + int i, j, c = 0; + for (i = 0, j = nvert - 1; i < nvert; j = i++) { + if (((verty[i] > testy) != (verty[j] > testy)) && + (testx < + (vertx[j] - vertx[i]) * (testy - verty[i]) / (verty[j] - verty[i]) + + vertx[i])) + c = !c; + } + return c; +} + +struct TinyObjPoint { + real_t x, y, z; + TinyObjPoint() : x(0), y(0), z(0) {} + TinyObjPoint(real_t x_, real_t y_, real_t z_) : x(x_), y(y_), z(z_) {} +}; + +inline TinyObjPoint cross(const TinyObjPoint &v1, const TinyObjPoint &v2) { + return TinyObjPoint(v1.y * v2.z - v1.z * v2.y, v1.z * v2.x - v1.x * v2.z, + v1.x * v2.y - v1.y * v2.x); +} + +inline real_t dot(const TinyObjPoint &v1, const TinyObjPoint &v2) { + return (v1.x * v2.x + v1.y * v2.y + v1.z * v2.z); +} + +inline real_t GetLength(TinyObjPoint &e) { + return std::sqrt(e.x * e.x + e.y * e.y + e.z * e.z); +} + +inline TinyObjPoint Normalize(TinyObjPoint e) { + real_t inv_length = real_t(1) / GetLength(e); + return TinyObjPoint(e.x * inv_length, e.y * inv_length, e.z * inv_length); +} + +inline TinyObjPoint WorldToLocal(const TinyObjPoint &a, const TinyObjPoint &u, + const TinyObjPoint &v, const TinyObjPoint &w) { + return TinyObjPoint(dot(a, u), dot(a, v), dot(a, w)); +} + +// TODO(syoyo): refactor function. +static bool exportGroupsToShape(shape_t *shape, const PrimGroup &prim_group, + const std::vector &tags, + const int material_id, const std::string &name, + bool triangulate, const std::vector &v, + std::string *warn) { + if (prim_group.IsEmpty()) { + return false; + } + + shape->name = name; + + // polygon + if (!prim_group.faceGroup.empty()) { + // Flatten vertices and indices + for (size_t i = 0; i < prim_group.faceGroup.size(); i++) { + const face_t &face = prim_group.faceGroup[i]; + + size_t npolys = face.vertex_indices.size(); + + if (npolys < 3) { + // Face must have 3+ vertices. + if (warn) { + (*warn) += "Degenerated face found\n."; + } + continue; + } + + if (triangulate && npolys != 3) { + if (npolys == 4) { + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i1 = face.vertex_indices[1]; + vertex_index_t i2 = face.vertex_indices[2]; + vertex_index_t i3 = face.vertex_indices[3]; + + size_t vi0 = size_t(i0.v_idx); + size_t vi1 = size_t(i1.v_idx); + size_t vi2 = size_t(i2.v_idx); + size_t vi3 = size_t(i3.v_idx); + + if (((3 * vi0 + 2) >= v.size()) || ((3 * vi1 + 2) >= v.size()) || + ((3 * vi2 + 2) >= v.size()) || ((3 * vi3 + 2) >= v.size())) { + // Invalid triangle. + // FIXME(syoyo): Is it ok to simply skip this invalid triangle? + if (warn) { + (*warn) += "Face with invalid vertex index found.\n"; + } + continue; + } + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + real_t v1x = v[vi1 * 3 + 0]; + real_t v1y = v[vi1 * 3 + 1]; + real_t v1z = v[vi1 * 3 + 2]; + real_t v2x = v[vi2 * 3 + 0]; + real_t v2y = v[vi2 * 3 + 1]; + real_t v2z = v[vi2 * 3 + 2]; + real_t v3x = v[vi3 * 3 + 0]; + real_t v3y = v[vi3 * 3 + 1]; + real_t v3z = v[vi3 * 3 + 2]; + + // There are two candidates to split the quad into two triangles. + // + // Choose the shortest edge. + // TODO: Is it better to determine the edge to split by calculating + // the area of each triangle? + // + // +---+ + // |\ | + // | \ | + // | \| + // +---+ + // + // +---+ + // | /| + // | / | + // |/ | + // +---+ + + real_t e02x = v2x - v0x; + real_t e02y = v2y - v0y; + real_t e02z = v2z - v0z; + real_t e13x = v3x - v1x; + real_t e13y = v3y - v1y; + real_t e13z = v3z - v1z; + + real_t sqr02 = e02x * e02x + e02y * e02y + e02z * e02z; + real_t sqr13 = e13x * e13x + e13y * e13y + e13z * e13z; + + index_t idx0, idx1, idx2, idx3; + + idx0.vertex_index = i0.v_idx; + idx0.normal_index = i0.vn_idx; + idx0.texcoord_index = i0.vt_idx; + idx1.vertex_index = i1.v_idx; + idx1.normal_index = i1.vn_idx; + idx1.texcoord_index = i1.vt_idx; + idx2.vertex_index = i2.v_idx; + idx2.normal_index = i2.vn_idx; + idx2.texcoord_index = i2.vt_idx; + idx3.vertex_index = i3.v_idx; + idx3.normal_index = i3.vn_idx; + idx3.texcoord_index = i3.vt_idx; + + if (sqr02 < sqr13) { + // [0, 1, 2], [0, 2, 3] + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx2); + shape->mesh.indices.push_back(idx3); + } else { + // [0, 1, 3], [1, 2, 3] + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx3); + + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + shape->mesh.indices.push_back(idx3); + } + + // Two triangle faces + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.num_face_vertices.push_back(3); + + shape->mesh.material_ids.push_back(material_id); + shape->mesh.material_ids.push_back(material_id); + + shape->mesh.smoothing_group_ids.push_back(face.smoothing_group_id); + shape->mesh.smoothing_group_ids.push_back(face.smoothing_group_id); + + } else { +#ifdef TINYOBJLOADER_USE_MAPBOX_EARCUT + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i0_2 = i0; + + // TMW change: Find the normal axis of the polygon using Newell's + // method + TinyObjPoint n; + for (size_t k = 0; k < npolys; ++k) { + i0 = face.vertex_indices[k % npolys]; + size_t vi0 = size_t(i0.v_idx); + + size_t j = (k + 1) % npolys; + i0_2 = face.vertex_indices[j]; + size_t vi0_2 = size_t(i0_2.v_idx); + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + + real_t v0x_2 = v[vi0_2 * 3 + 0]; + real_t v0y_2 = v[vi0_2 * 3 + 1]; + real_t v0z_2 = v[vi0_2 * 3 + 2]; + + const TinyObjPoint point1(v0x, v0y, v0z); + const TinyObjPoint point2(v0x_2, v0y_2, v0z_2); + + TinyObjPoint a(point1.x - point2.x, point1.y - point2.y, + point1.z - point2.z); + TinyObjPoint b(point1.x + point2.x, point1.y + point2.y, + point1.z + point2.z); + + n.x += (a.y * b.z); + n.y += (a.z * b.x); + n.z += (a.x * b.y); + } + real_t length_n = GetLength(n); + // Check if zero length normal + if (length_n <= 0) { + continue; + } + // Negative is to flip the normal to the correct direction + real_t inv_length = -real_t(1.0) / length_n; + n.x *= inv_length; + n.y *= inv_length; + n.z *= inv_length; + + TinyObjPoint axis_w, axis_v, axis_u; + axis_w = n; + TinyObjPoint a; + if (std::fabs(axis_w.x) > real_t(0.9999999)) { + a = TinyObjPoint(0, 1, 0); + } else { + a = TinyObjPoint(1, 0, 0); + } + axis_v = Normalize(cross(axis_w, a)); + axis_u = cross(axis_w, axis_v); + using Point = std::array; + + // first polyline define the main polygon. + // following polylines define holes(not used in tinyobj). + std::vector > polygon; + + std::vector polyline; + + // TMW change: Find best normal and project v0x and v0y to those + // coordinates, instead of picking a plane aligned with an axis (which + // can flip polygons). + + // Fill polygon data(facevarying vertices). + for (size_t k = 0; k < npolys; k++) { + i0 = face.vertex_indices[k]; + size_t vi0 = size_t(i0.v_idx); + + assert(((3 * vi0 + 2) < v.size())); + + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + + TinyObjPoint polypoint(v0x, v0y, v0z); + TinyObjPoint loc = WorldToLocal(polypoint, axis_u, axis_v, axis_w); + + polyline.push_back({loc.x, loc.y}); + } + + polygon.push_back(polyline); + std::vector indices = mapbox::earcut(polygon); + // => result = 3 * faces, clockwise + + assert(indices.size() % 3 == 0); + + // Reconstruct vertex_index_t + for (size_t k = 0; k < indices.size() / 3; k++) { + { + index_t idx0, idx1, idx2; + idx0.vertex_index = face.vertex_indices[indices[3 * k + 0]].v_idx; + idx0.normal_index = + face.vertex_indices[indices[3 * k + 0]].vn_idx; + idx0.texcoord_index = + face.vertex_indices[indices[3 * k + 0]].vt_idx; + idx1.vertex_index = face.vertex_indices[indices[3 * k + 1]].v_idx; + idx1.normal_index = + face.vertex_indices[indices[3 * k + 1]].vn_idx; + idx1.texcoord_index = + face.vertex_indices[indices[3 * k + 1]].vt_idx; + idx2.vertex_index = face.vertex_indices[indices[3 * k + 2]].v_idx; + idx2.normal_index = + face.vertex_indices[indices[3 * k + 2]].vn_idx; + idx2.texcoord_index = + face.vertex_indices[indices[3 * k + 2]].vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + } + +#else // Built-in ear clipping triangulation + vertex_index_t i0 = face.vertex_indices[0]; + vertex_index_t i1(-1); + vertex_index_t i2 = face.vertex_indices[1]; + + // find the two axes to work in + size_t axes[2] = {1, 2}; + for (size_t k = 0; k < npolys; ++k) { + i0 = face.vertex_indices[(k + 0) % npolys]; + i1 = face.vertex_indices[(k + 1) % npolys]; + i2 = face.vertex_indices[(k + 2) % npolys]; + size_t vi0 = size_t(i0.v_idx); + size_t vi1 = size_t(i1.v_idx); + size_t vi2 = size_t(i2.v_idx); + + if (((3 * vi0 + 2) >= v.size()) || ((3 * vi1 + 2) >= v.size()) || + ((3 * vi2 + 2) >= v.size())) { + // Invalid triangle. + // FIXME(syoyo): Is it ok to simply skip this invalid triangle? + continue; + } + real_t v0x = v[vi0 * 3 + 0]; + real_t v0y = v[vi0 * 3 + 1]; + real_t v0z = v[vi0 * 3 + 2]; + real_t v1x = v[vi1 * 3 + 0]; + real_t v1y = v[vi1 * 3 + 1]; + real_t v1z = v[vi1 * 3 + 2]; + real_t v2x = v[vi2 * 3 + 0]; + real_t v2y = v[vi2 * 3 + 1]; + real_t v2z = v[vi2 * 3 + 2]; + real_t e0x = v1x - v0x; + real_t e0y = v1y - v0y; + real_t e0z = v1z - v0z; + real_t e1x = v2x - v1x; + real_t e1y = v2y - v1y; + real_t e1z = v2z - v1z; + real_t cx = std::fabs(e0y * e1z - e0z * e1y); + real_t cy = std::fabs(e0z * e1x - e0x * e1z); + real_t cz = std::fabs(e0x * e1y - e0y * e1x); + const real_t epsilon = std::numeric_limits::epsilon(); + // std::cout << "cx " << cx << ", cy " << cy << ", cz " << cz << + // "\n"; + if (cx > epsilon || cy > epsilon || cz > epsilon) { + // std::cout << "corner\n"; + // found a corner + if (cx > cy && cx > cz) { + // std::cout << "pattern0\n"; + } else { + // std::cout << "axes[0] = 0\n"; + axes[0] = 0; + if (cz > cx && cz > cy) { + // std::cout << "axes[1] = 1\n"; + axes[1] = 1; + } + } + break; + } + } + + face_t remainingFace = face; // copy + size_t guess_vert = 0; + vertex_index_t ind[3]; + real_t vx[3]; + real_t vy[3]; + + // How many iterations can we do without decreasing the remaining + // vertices. + size_t remainingIterations = face.vertex_indices.size(); + size_t previousRemainingVertices = + remainingFace.vertex_indices.size(); + + while (remainingFace.vertex_indices.size() > 3 && + remainingIterations > 0) { + // std::cout << "remainingIterations " << remainingIterations << + // "\n"; + + npolys = remainingFace.vertex_indices.size(); + if (guess_vert >= npolys) { + guess_vert -= npolys; + } + + if (previousRemainingVertices != npolys) { + // The number of remaining vertices decreased. Reset counters. + previousRemainingVertices = npolys; + remainingIterations = npolys; + } else { + // We didn't consume a vertex on previous iteration, reduce the + // available iterations. + remainingIterations--; + } + + for (size_t k = 0; k < 3; k++) { + ind[k] = remainingFace.vertex_indices[(guess_vert + k) % npolys]; + size_t vi = size_t(ind[k].v_idx); + if (((vi * 3 + axes[0]) >= v.size()) || + ((vi * 3 + axes[1]) >= v.size())) { + // ??? + vx[k] = static_cast(0.0); + vy[k] = static_cast(0.0); + } else { + vx[k] = v[vi * 3 + axes[0]]; + vy[k] = v[vi * 3 + axes[1]]; + } + } + + // + // area is calculated per face + // + real_t e0x = vx[1] - vx[0]; + real_t e0y = vy[1] - vy[0]; + real_t e1x = vx[2] - vx[1]; + real_t e1y = vy[2] - vy[1]; + real_t cross = e0x * e1y - e0y * e1x; + // std::cout << "axes = " << axes[0] << ", " << axes[1] << "\n"; + // std::cout << "e0x, e0y, e1x, e1y " << e0x << ", " << e0y << ", " + // << e1x << ", " << e1y << "\n"; + + real_t area = + (vx[0] * vy[1] - vy[0] * vx[1]) * static_cast(0.5); + // std::cout << "cross " << cross << ", area " << area << "\n"; + // if an internal angle + if (cross * area < static_cast(0.0)) { + // std::cout << "internal \n"; + guess_vert += 1; + // std::cout << "guess vert : " << guess_vert << "\n"; + continue; + } + + // check all other verts in case they are inside this triangle + bool overlap = false; + for (size_t otherVert = 3; otherVert < npolys; ++otherVert) { + size_t idx = (guess_vert + otherVert) % npolys; + + if (idx >= remainingFace.vertex_indices.size()) { + // std::cout << "???0\n"; + // ??? + continue; + } + + size_t ovi = size_t(remainingFace.vertex_indices[idx].v_idx); + + if (((ovi * 3 + axes[0]) >= v.size()) || + ((ovi * 3 + axes[1]) >= v.size())) { + // std::cout << "???1\n"; + // ??? + continue; + } + real_t tx = v[ovi * 3 + axes[0]]; + real_t ty = v[ovi * 3 + axes[1]]; + if (pnpoly(3, vx, vy, tx, ty)) { + // std::cout << "overlap\n"; + overlap = true; + break; + } + } + + if (overlap) { + // std::cout << "overlap2\n"; + guess_vert += 1; + continue; + } + + // this triangle is an ear + { + index_t idx0, idx1, idx2; + idx0.vertex_index = ind[0].v_idx; + idx0.normal_index = ind[0].vn_idx; + idx0.texcoord_index = ind[0].vt_idx; + idx1.vertex_index = ind[1].v_idx; + idx1.normal_index = ind[1].vn_idx; + idx1.texcoord_index = ind[1].vt_idx; + idx2.vertex_index = ind[2].v_idx; + idx2.normal_index = ind[2].vn_idx; + idx2.texcoord_index = ind[2].vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + + // remove v1 from the list + size_t removed_vert_index = (guess_vert + 1) % npolys; + while (removed_vert_index + 1 < npolys) { + remainingFace.vertex_indices[removed_vert_index] = + remainingFace.vertex_indices[removed_vert_index + 1]; + removed_vert_index += 1; + } + remainingFace.vertex_indices.pop_back(); + } + + // std::cout << "remainingFace.vi.size = " << + // remainingFace.vertex_indices.size() << "\n"; + if (remainingFace.vertex_indices.size() == 3) { + i0 = remainingFace.vertex_indices[0]; + i1 = remainingFace.vertex_indices[1]; + i2 = remainingFace.vertex_indices[2]; + { + index_t idx0, idx1, idx2; + idx0.vertex_index = i0.v_idx; + idx0.normal_index = i0.vn_idx; + idx0.texcoord_index = i0.vt_idx; + idx1.vertex_index = i1.v_idx; + idx1.normal_index = i1.vn_idx; + idx1.texcoord_index = i1.vt_idx; + idx2.vertex_index = i2.v_idx; + idx2.normal_index = i2.vn_idx; + idx2.texcoord_index = i2.vt_idx; + + shape->mesh.indices.push_back(idx0); + shape->mesh.indices.push_back(idx1); + shape->mesh.indices.push_back(idx2); + + shape->mesh.num_face_vertices.push_back(3); + shape->mesh.material_ids.push_back(material_id); + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); + } + } +#endif + } // npolys + } else { + for (size_t k = 0; k < npolys; k++) { + index_t idx; + idx.vertex_index = face.vertex_indices[k].v_idx; + idx.normal_index = face.vertex_indices[k].vn_idx; + idx.texcoord_index = face.vertex_indices[k].vt_idx; + shape->mesh.indices.push_back(idx); + } + + shape->mesh.num_face_vertices.push_back( + static_cast(npolys)); + shape->mesh.material_ids.push_back(material_id); // per face + shape->mesh.smoothing_group_ids.push_back( + face.smoothing_group_id); // per face + } + } + + shape->mesh.tags = tags; + } + + // line + if (!prim_group.lineGroup.empty()) { + // Flatten indices + for (size_t i = 0; i < prim_group.lineGroup.size(); i++) { + for (size_t j = 0; j < prim_group.lineGroup[i].vertex_indices.size(); + j++) { + const vertex_index_t &vi = prim_group.lineGroup[i].vertex_indices[j]; + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + shape->lines.indices.push_back(idx); + } + + shape->lines.num_line_vertices.push_back( + int(prim_group.lineGroup[i].vertex_indices.size())); + } + } + + // points + if (!prim_group.pointsGroup.empty()) { + // Flatten & convert indices + for (size_t i = 0; i < prim_group.pointsGroup.size(); i++) { + for (size_t j = 0; j < prim_group.pointsGroup[i].vertex_indices.size(); + j++) { + const vertex_index_t &vi = prim_group.pointsGroup[i].vertex_indices[j]; + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + shape->points.indices.push_back(idx); + } + } + } + + return true; +} + +// Split a string with specified delimiter character and escape character. +// https://rosettacode.org/wiki/Tokenize_a_string_with_escaping#C.2B.2B +static void SplitString(const std::string &s, char delim, char escape, + std::vector &elems) { + std::string token; + + bool escaping = false; + for (size_t i = 0; i < s.size(); ++i) { + char ch = s[i]; + if (escaping) { + escaping = false; + } else if (ch == escape) { + escaping = true; + continue; + } else if (ch == delim) { + if (!token.empty()) { + elems.push_back(token); + } + token.clear(); + continue; + } + token += ch; + } + + elems.push_back(token); +} + +static std::string JoinPath(const std::string &dir, + const std::string &filename) { + if (dir.empty()) { + return filename; + } else { + // check '/' + char lastChar = *dir.rbegin(); + if (lastChar != '/') { + return dir + std::string("/") + filename; + } else { + return dir + filename; + } + } +} + +void LoadMtl(std::map *material_map, + std::vector *materials, std::istream *inStream, + std::string *warning, std::string *err) { + (void)err; + + // Create a default material anyway. + material_t material; + InitMaterial(&material); + + // Issue 43. `d` wins against `Tr` since `Tr` is not in the MTL specification. + bool has_d = false; + bool has_tr = false; + + // has_kd is used to set a default diffuse value when map_Kd is present + // and Kd is not. + bool has_kd = false; + + std::stringstream warn_ss; + + size_t line_no = 0; + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + line_no++; + + // Trim trailing whitespace. + if (linebuf.size() > 0) { + linebuf = linebuf.substr(0, linebuf.find_last_not_of(" \t") + 1); + } + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // new mtl + if ((0 == strncmp(token, "newmtl", 6)) && IS_SPACE((token[6]))) { + // flush previous material. + if (!material.name.empty()) { + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); + } + + // initial temporary material + InitMaterial(&material); + + has_d = false; + has_tr = false; + + // set new mtl name + token += 7; + { + std::string namebuf = parseString(&token); + // TODO: empty name check? + if (namebuf.empty()) { + if (warning) { + (*warning) += "empty material name in `newmtl`\n"; + } + } + material.name = namebuf; + } + continue; + } + + // ambient + if (token[0] == 'K' && token[1] == 'a' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.ambient[0] = r; + material.ambient[1] = g; + material.ambient[2] = b; + continue; + } + + // diffuse + if (token[0] == 'K' && token[1] == 'd' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.diffuse[0] = r; + material.diffuse[1] = g; + material.diffuse[2] = b; + has_kd = true; + continue; + } + + // specular + if (token[0] == 'K' && token[1] == 's' && IS_SPACE((token[2]))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.specular[0] = r; + material.specular[1] = g; + material.specular[2] = b; + continue; + } + + // transmittance + if ((token[0] == 'K' && token[1] == 't' && IS_SPACE((token[2]))) || + (token[0] == 'T' && token[1] == 'f' && IS_SPACE((token[2])))) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.transmittance[0] = r; + material.transmittance[1] = g; + material.transmittance[2] = b; + continue; + } + + // ior(index of refraction) + if (token[0] == 'N' && token[1] == 'i' && IS_SPACE((token[2]))) { + token += 2; + material.ior = parseReal(&token); + continue; + } + + // emission + if (token[0] == 'K' && token[1] == 'e' && IS_SPACE(token[2])) { + token += 2; + real_t r, g, b; + parseReal3(&r, &g, &b, &token); + material.emission[0] = r; + material.emission[1] = g; + material.emission[2] = b; + continue; + } + + // shininess + if (token[0] == 'N' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.shininess = parseReal(&token); + continue; + } + + // illum model + if (0 == strncmp(token, "illum", 5) && IS_SPACE(token[5])) { + token += 6; + material.illum = parseInt(&token); + continue; + } + + // dissolve + if ((token[0] == 'd' && IS_SPACE(token[1]))) { + token += 1; + material.dissolve = parseReal(&token); + + if (has_tr) { + warn_ss << "Both `d` and `Tr` parameters defined for \"" + << material.name + << "\". Use the value of `d` for dissolve (line " << line_no + << " in .mtl.)\n"; + } + has_d = true; + continue; + } + if (token[0] == 'T' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + if (has_d) { + // `d` wins. Ignore `Tr` value. + warn_ss << "Both `d` and `Tr` parameters defined for \"" + << material.name + << "\". Use the value of `d` for dissolve (line " << line_no + << " in .mtl.)\n"; + } else { + // We invert value of Tr(assume Tr is in range [0, 1]) + // NOTE: Interpretation of Tr is application(exporter) dependent. For + // some application(e.g. 3ds max obj exporter), Tr = d(Issue 43) + material.dissolve = static_cast(1.0) - parseReal(&token); + } + has_tr = true; + continue; + } + + // PBR: roughness + if (token[0] == 'P' && token[1] == 'r' && IS_SPACE(token[2])) { + token += 2; + material.roughness = parseReal(&token); + continue; + } + + // PBR: metallic + if (token[0] == 'P' && token[1] == 'm' && IS_SPACE(token[2])) { + token += 2; + material.metallic = parseReal(&token); + continue; + } + + // PBR: sheen + if (token[0] == 'P' && token[1] == 's' && IS_SPACE(token[2])) { + token += 2; + material.sheen = parseReal(&token); + continue; + } + + // PBR: clearcoat thickness + if (token[0] == 'P' && token[1] == 'c' && IS_SPACE(token[2])) { + token += 2; + material.clearcoat_thickness = parseReal(&token); + continue; + } + + // PBR: clearcoat roughness + if ((0 == strncmp(token, "Pcr", 3)) && IS_SPACE(token[3])) { + token += 4; + material.clearcoat_roughness = parseReal(&token); + continue; + } + + // PBR: anisotropy + if ((0 == strncmp(token, "aniso", 5)) && IS_SPACE(token[5])) { + token += 6; + material.anisotropy = parseReal(&token); + continue; + } + + // PBR: anisotropy rotation + if ((0 == strncmp(token, "anisor", 6)) && IS_SPACE(token[6])) { + token += 7; + material.anisotropy_rotation = parseReal(&token); + continue; + } + + // ambient or ambient occlusion texture + if ((0 == strncmp(token, "map_Ka", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.ambient_texname), + &(material.ambient_texopt), token); + continue; + } + + // diffuse texture + if ((0 == strncmp(token, "map_Kd", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.diffuse_texname), + &(material.diffuse_texopt), token); + + // Set a decent diffuse default value if a diffuse texture is specified + // without a matching Kd value. + if (!has_kd) { + material.diffuse[0] = static_cast(0.6); + material.diffuse[1] = static_cast(0.6); + material.diffuse[2] = static_cast(0.6); + } + + continue; + } + + // specular texture + if ((0 == strncmp(token, "map_Ks", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_texname), + &(material.specular_texopt), token); + continue; + } + + // specular highlight texture + if ((0 == strncmp(token, "map_Ns", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.specular_highlight_texname), + &(material.specular_highlight_texopt), token); + continue; + } + + // bump texture + if (((0 == strncmp(token, "map_bump", 8)) || + (0 == strncmp(token, "map_Bump", 8))) && + IS_SPACE(token[8])) { + token += 9; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token); + continue; + } + + // bump texture + if ((0 == strncmp(token, "bump", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.bump_texname), + &(material.bump_texopt), token); + continue; + } + + // alpha texture + if ((0 == strncmp(token, "map_d", 5)) && IS_SPACE(token[5])) { + token += 6; + material.alpha_texname = token; + ParseTextureNameAndOption(&(material.alpha_texname), + &(material.alpha_texopt), token); + continue; + } + + // displacement texture + if (((0 == strncmp(token, "map_disp", 8)) || + (0 == strncmp(token, "map_Disp", 8))) && + IS_SPACE(token[8])) { + token += 9; + ParseTextureNameAndOption(&(material.displacement_texname), + &(material.displacement_texopt), token); + continue; + } + + // displacement texture + if ((0 == strncmp(token, "disp", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.displacement_texname), + &(material.displacement_texopt), token); + continue; + } + + // reflection map + if ((0 == strncmp(token, "refl", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.reflection_texname), + &(material.reflection_texopt), token); + continue; + } + + // PBR: roughness texture + if ((0 == strncmp(token, "map_Pr", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.roughness_texname), + &(material.roughness_texopt), token); + continue; + } + + // PBR: metallic texture + if ((0 == strncmp(token, "map_Pm", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.metallic_texname), + &(material.metallic_texopt), token); + continue; + } + + // PBR: sheen texture + if ((0 == strncmp(token, "map_Ps", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.sheen_texname), + &(material.sheen_texopt), token); + continue; + } + + // PBR: emissive texture + if ((0 == strncmp(token, "map_Ke", 6)) && IS_SPACE(token[6])) { + token += 7; + ParseTextureNameAndOption(&(material.emissive_texname), + &(material.emissive_texopt), token); + continue; + } + + // PBR: normal map texture + if ((0 == strncmp(token, "norm", 4)) && IS_SPACE(token[4])) { + token += 5; + ParseTextureNameAndOption(&(material.normal_texname), + &(material.normal_texopt), token); + continue; + } + + // unknown parameter + const char *_space = strchr(token, ' '); + if (!_space) { + _space = strchr(token, '\t'); + } + if (_space) { + std::ptrdiff_t len = _space - token; + std::string key(token, static_cast(len)); + std::string value = _space + 1; + material.unknown_parameter.insert( + std::pair(key, value)); + } + } + // flush last material. + material_map->insert(std::pair( + material.name, static_cast(materials->size()))); + materials->push_back(material); + + if (warning) { + (*warning) = warn_ss.str(); + } +} + +bool MaterialFileReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *warn, std::string *err) { + if (!m_mtlBaseDir.empty()) { +#ifdef _WIN32 + char sep = ';'; +#else + char sep = ':'; +#endif + + // https://stackoverflow.com/questions/5167625/splitting-a-c-stdstring-using-tokens-e-g + std::vector paths; + std::istringstream f(m_mtlBaseDir); + + std::string s; + while (getline(f, s, sep)) { + paths.push_back(s); + } + + for (size_t i = 0; i < paths.size(); i++) { + std::string filepath = JoinPath(paths[i], matId); + + std::ifstream matIStream(filepath.c_str()); + if (matIStream) { + LoadMtl(matMap, materials, &matIStream, warn, err); + + return true; + } + } + + std::stringstream ss; + ss << "Material file [ " << matId + << " ] not found in a path : " << m_mtlBaseDir << "\n"; + if (warn) { + (*warn) += ss.str(); + } + return false; + + } else { + std::string filepath = matId; + std::ifstream matIStream(filepath.c_str()); + if (matIStream) { + LoadMtl(matMap, materials, &matIStream, warn, err); + + return true; + } + + std::stringstream ss; + ss << "Material file [ " << filepath + << " ] not found in a path : " << m_mtlBaseDir << "\n"; + if (warn) { + (*warn) += ss.str(); + } + + return false; + } +} + +bool MaterialStreamReader::operator()(const std::string &matId, + std::vector *materials, + std::map *matMap, + std::string *warn, std::string *err) { + (void)err; + (void)matId; + if (!m_inStream) { + std::stringstream ss; + ss << "Material stream in error state. \n"; + if (warn) { + (*warn) += ss.str(); + } + return false; + } + + LoadMtl(matMap, materials, &m_inStream, warn, err); + + return true; +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, const char *filename, const char *mtl_basedir, + bool triangulate, bool default_vcols_fallback) { + attrib->vertices.clear(); + attrib->normals.clear(); + attrib->texcoords.clear(); + attrib->colors.clear(); + shapes->clear(); + + std::stringstream errss; + + std::ifstream ifs(filename); + if (!ifs) { + errss << "Cannot open file [" << filename << "]\n"; + if (err) { + (*err) = errss.str(); + } + return false; + } + + std::string baseDir = mtl_basedir ? mtl_basedir : ""; + if (!baseDir.empty()) { +#ifndef _WIN32 + const char dirsep = '/'; +#else + const char dirsep = '\\'; +#endif + if (baseDir[baseDir.length() - 1] != dirsep) baseDir += dirsep; + } + MaterialFileReader matFileReader(baseDir); + + return LoadObj(attrib, shapes, materials, warn, err, &ifs, &matFileReader, + triangulate, default_vcols_fallback); +} + +bool LoadObj(attrib_t *attrib, std::vector *shapes, + std::vector *materials, std::string *warn, + std::string *err, std::istream *inStream, + MaterialReader *readMatFn /*= NULL*/, bool triangulate, + bool default_vcols_fallback) { + std::stringstream errss; + + std::vector v; + std::vector vertex_weights; // optional [w] component in `v` + std::vector vn; + std::vector vt; + std::vector vc; + std::vector vw; // tinyobj extension: vertex skin weights + std::vector tags; + PrimGroup prim_group; + std::string name; + + // material + std::set material_filenames; + std::map material_map; + int material = -1; + + // smoothing group id + unsigned int current_smoothing_id = + 0; // Initial value. 0 means no smoothing. + + int greatest_v_idx = -1; + int greatest_vn_idx = -1; + int greatest_vt_idx = -1; + + shape_t shape; + + bool found_all_colors = true; // check if all 'v' line has color info + + size_t line_num = 0; + std::string linebuf; + while (inStream->peek() != -1) { + safeGetline(*inStream, linebuf); + + line_num++; + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + real_t x, y, z; + real_t r, g, b; + + int num_components = parseVertexWithColor(&x, &y, &z, &r, &g, &b, &token); + found_all_colors &= (num_components == 6); + + v.push_back(x); + v.push_back(y); + v.push_back(z); + + vertex_weights.push_back( + r); // r = w, and initialized to 1.0 when `w` component is not found. + + if ((num_components == 6) || default_vcols_fallback) { + vc.push_back(r); + vc.push_back(g); + vc.push_back(b); + } + + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; + parseReal3(&x, &y, &z, &token); + vn.push_back(x); + vn.push_back(y); + vn.push_back(z); + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y; + parseReal2(&x, &y, &token); + vt.push_back(x); + vt.push_back(y); + continue; + } + + // skin weight. tinyobj extension + if (token[0] == 'v' && token[1] == 'w' && IS_SPACE((token[2]))) { + token += 3; + + // vw ... + // example: + // vw 0 0 0.25 1 0.25 2 0.5 + + // TODO(syoyo): Add syntax check + int vid = 0; + vid = parseInt(&token); + + skin_weight_t sw; + + sw.vertex_id = vid; + + while (!IS_NEW_LINE(token[0])) { + real_t j, w; + // joint_id should not be negative, weight may be negative + // TODO(syoyo): # of elements check + parseReal2(&j, &w, &token, -1.0); + + if (j < static_cast(0)) { + if (err) { + std::stringstream ss; + ss << "Failed parse `vw' line. joint_id is negative. " + "line " + << line_num << ".)\n"; + (*err) += ss.str(); + } + return false; + } + + joint_and_weight_t jw; + + jw.joint_id = int(j); + jw.weight = w; + + sw.weightValues.push_back(jw); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + vw.push_back(sw); + } + + warning_context context; + context.warn = warn; + context.line_number = line_num; + + // line + if (token[0] == 'l' && IS_SPACE((token[1]))) { + token += 2; + + __line_t line; + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += + "Failed to parse `l' line (e.g. a zero value for vertex index. " + "Line " + + toString(line_num) + ").\n"; + } + return false; + } + + line.vertex_indices.push_back(vi); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + prim_group.lineGroup.push_back(line); + + continue; + } + + // points + if (token[0] == 'p' && IS_SPACE((token[1]))) { + token += 2; + + __points_t pts; + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += + "Failed to parse `p' line (e.g. a zero value for vertex index. " + "Line " + + toString(line_num) + ").\n"; + } + return false; + } + + pts.vertex_indices.push_back(vi); + + size_t n = strspn(token, " \t\r"); + token += n; + } + + prim_group.pointsGroup.push_back(pts); + + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + face_t face; + + face.smoothing_group_id = current_smoothing_id; + face.vertex_indices.reserve(3); + + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi; + if (!parseTriple(&token, static_cast(v.size() / 3), + static_cast(vn.size() / 3), + static_cast(vt.size() / 2), &vi, context)) { + if (err) { + (*err) += + "Failed to parse `f' line (e.g. a zero value for vertex index " + "or invalid relative vertex index). Line " + + toString(line_num) + ").\n"; + } + return false; + } + + greatest_v_idx = greatest_v_idx > vi.v_idx ? greatest_v_idx : vi.v_idx; + greatest_vn_idx = + greatest_vn_idx > vi.vn_idx ? greatest_vn_idx : vi.vn_idx; + greatest_vt_idx = + greatest_vt_idx > vi.vt_idx ? greatest_vt_idx : vi.vt_idx; + + face.vertex_indices.push_back(vi); + size_t n = strspn(token, " \t\r"); + token += n; + } + + // replace with emplace_back + std::move on C++11 + prim_group.faceGroup.push_back(face); + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6))) { + token += 6; + std::string namebuf = parseString(&token); + + int newMaterialId = -1; + std::map::const_iterator it = + material_map.find(namebuf); + if (it != material_map.end()) { + newMaterialId = it->second; + } else { + // { error!! material not found } + if (warn) { + (*warn) += "material [ '" + namebuf + "' ] not found in .mtl\n"; + } + } + + if (newMaterialId != material) { + // Create per-face material. Thus we don't add `shape` to `shapes` at + // this time. + // just clear `faceGroup` after `exportGroupsToShape()` call. + exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + prim_group.faceGroup.clear(); + material = newMaterialId; + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + token += 7; + + std::vector filenames; + SplitString(std::string(token), ' ', '\\', filenames); + + if (filenames.empty()) { + if (warn) { + std::stringstream ss; + ss << "Looks like empty filename for mtllib. Use default " + "material (line " + << line_num << ".)\n"; + + (*warn) += ss.str(); + } + } else { + bool found = false; + for (size_t s = 0; s < filenames.size(); s++) { + if (material_filenames.count(filenames[s]) > 0) { + found = true; + continue; + } + + std::string warn_mtl; + std::string err_mtl; + bool ok = (*readMatFn)(filenames[s].c_str(), materials, + &material_map, &warn_mtl, &err_mtl); + if (warn && (!warn_mtl.empty())) { + (*warn) += warn_mtl; + } + + if (err && (!err_mtl.empty())) { + (*err) += err_mtl; + } + + if (ok) { + found = true; + material_filenames.insert(filenames[s]); + break; + } + } + + if (!found) { + if (warn) { + (*warn) += + "Failed to load material file(s). Use default " + "material.\n"; + } + } + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + (void)ret; // return value not used. + + if (shape.mesh.indices.size() > 0) { + shapes->push_back(shape); + } + + shape = shape_t(); + + // material = -1; + prim_group.clear(); + + std::vector names; + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + // names[0] must be 'g' + + if (names.size() < 2) { + // 'g' with empty names + if (warn) { + std::stringstream ss; + ss << "Empty group name. line: " << line_num << "\n"; + (*warn) += ss.str(); + name = ""; + } + } else { + std::stringstream ss; + ss << names[1]; + + // tinyobjloader does not support multiple groups for a primitive. + // Currently we concatinate multiple group names with a space to get + // single group name. + + for (size_t i = 2; i < names.size(); i++) { + ss << " " << names[i]; + } + + name = ss.str(); + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // flush previous face group. + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + (void)ret; // return value not used. + + if (shape.mesh.indices.size() > 0 || shape.lines.indices.size() > 0 || + shape.points.indices.size() > 0) { + shapes->push_back(shape); + } + + // material = -1; + prim_group.clear(); + shape = shape_t(); + + // @todo { multiple object name? } + token += 2; + std::stringstream ss; + ss << token; + name = ss.str(); + + continue; + } + + if (token[0] == 't' && IS_SPACE(token[1])) { + const int max_tag_nums = 8192; // FIXME(syoyo): Parameterize. + tag_t tag; + + token += 2; + + tag.name = parseString(&token); + + tag_sizes ts = parseTagTriple(&token); + + if (ts.num_ints < 0) { + ts.num_ints = 0; + } + if (ts.num_ints > max_tag_nums) { + ts.num_ints = max_tag_nums; + } + + if (ts.num_reals < 0) { + ts.num_reals = 0; + } + if (ts.num_reals > max_tag_nums) { + ts.num_reals = max_tag_nums; + } + + if (ts.num_strings < 0) { + ts.num_strings = 0; + } + if (ts.num_strings > max_tag_nums) { + ts.num_strings = max_tag_nums; + } + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = parseInt(&token); + } + + tag.floatValues.resize(static_cast(ts.num_reals)); + for (size_t i = 0; i < static_cast(ts.num_reals); ++i) { + tag.floatValues[i] = parseReal(&token); + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + tag.stringValues[i] = parseString(&token); + } + + tags.push_back(tag); + + continue; + } + + if (token[0] == 's' && IS_SPACE(token[1])) { + // smoothing group id + token += 2; + + // skip space. + token += strspn(token, " \t"); // skip space + + if (token[0] == '\0') { + continue; + } + + if (token[0] == '\r' || token[1] == '\n') { + continue; + } + + if (strlen(token) >= 3 && token[0] == 'o' && token[1] == 'f' && + token[2] == 'f') { + current_smoothing_id = 0; + } else { + // assume number + int smGroupId = parseInt(&token); + if (smGroupId < 0) { + // parse error. force set to 0. + // FIXME(syoyo): Report warning. + current_smoothing_id = 0; + } else { + current_smoothing_id = static_cast(smGroupId); + } + } + + continue; + } // smoothing group id + + // Ignore unknown command. + } + + // not all vertices have colors, no default colors desired? -> clear colors + if (!found_all_colors && !default_vcols_fallback) { + vc.clear(); + } + + if (greatest_v_idx >= static_cast(v.size() / 3)) { + if (warn) { + std::stringstream ss; + ss << "Vertex indices out of bounds (line " << line_num << ".)\n\n"; + (*warn) += ss.str(); + } + } + if (greatest_vn_idx >= static_cast(vn.size() / 3)) { + if (warn) { + std::stringstream ss; + ss << "Vertex normal indices out of bounds (line " << line_num + << ".)\n\n"; + (*warn) += ss.str(); + } + } + if (greatest_vt_idx >= static_cast(vt.size() / 2)) { + if (warn) { + std::stringstream ss; + ss << "Vertex texcoord indices out of bounds (line " << line_num + << ".)\n\n"; + (*warn) += ss.str(); + } + } + + bool ret = exportGroupsToShape(&shape, prim_group, tags, material, name, + triangulate, v, warn); + // exportGroupsToShape return false when `usemtl` is called in the last + // line. + // we also add `shape` to `shapes` when `shape.mesh` has already some + // faces(indices) + if (ret || shape.mesh.indices + .size()) { // FIXME(syoyo): Support other prims(e.g. lines) + shapes->push_back(shape); + } + prim_group.clear(); // for safety + + if (err) { + (*err) += errss.str(); + } + + attrib->vertices.swap(v); + attrib->vertex_weights.swap(vertex_weights); + attrib->normals.swap(vn); + attrib->texcoords.swap(vt); + attrib->texcoord_ws.swap(vt); + attrib->colors.swap(vc); + attrib->skin_weights.swap(vw); + + return true; +} + +bool LoadObjWithCallback(std::istream &inStream, const callback_t &callback, + void *user_data /*= NULL*/, + MaterialReader *readMatFn /*= NULL*/, + std::string *warn, /* = NULL*/ + std::string *err /*= NULL*/) { + std::stringstream errss; + + // material + std::set material_filenames; + std::map material_map; + int material_id = -1; // -1 = invalid + + std::vector indices; + std::vector materials; + std::vector names; + names.reserve(2); + std::vector names_out; + + std::string linebuf; + while (inStream.peek() != -1) { + safeGetline(inStream, linebuf); + + // Trim newline '\r\n' or '\n' + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\n') + linebuf.erase(linebuf.size() - 1); + } + if (linebuf.size() > 0) { + if (linebuf[linebuf.size() - 1] == '\r') + linebuf.erase(linebuf.size() - 1); + } + + // Skip if empty line. + if (linebuf.empty()) { + continue; + } + + // Skip leading space. + const char *token = linebuf.c_str(); + token += strspn(token, " \t"); + + assert(token); + if (token[0] == '\0') continue; // empty line + + if (token[0] == '#') continue; // comment line + + // vertex + if (token[0] == 'v' && IS_SPACE((token[1]))) { + token += 2; + real_t x, y, z; + real_t r, g, b; + + int num_components = parseVertexWithColor(&x, &y, &z, &r, &g, &b, &token); + if (callback.vertex_cb) { + callback.vertex_cb(user_data, x, y, z, r); // r=w is optional + } + if (callback.vertex_color_cb) { + bool found_color = (num_components == 6); + callback.vertex_color_cb(user_data, x, y, z, r, g, b, found_color); + } + continue; + } + + // normal + if (token[0] == 'v' && token[1] == 'n' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; + parseReal3(&x, &y, &z, &token); + if (callback.normal_cb) { + callback.normal_cb(user_data, x, y, z); + } + continue; + } + + // texcoord + if (token[0] == 'v' && token[1] == 't' && IS_SPACE((token[2]))) { + token += 3; + real_t x, y, z; // y and z are optional. default = 0.0 + parseReal3(&x, &y, &z, &token); + if (callback.texcoord_cb) { + callback.texcoord_cb(user_data, x, y, z); + } + continue; + } + + // face + if (token[0] == 'f' && IS_SPACE((token[1]))) { + token += 2; + token += strspn(token, " \t"); + + indices.clear(); + while (!IS_NEW_LINE(token[0])) { + vertex_index_t vi = parseRawTriple(&token); + + index_t idx; + idx.vertex_index = vi.v_idx; + idx.normal_index = vi.vn_idx; + idx.texcoord_index = vi.vt_idx; + + indices.push_back(idx); + size_t n = strspn(token, " \t\r"); + token += n; + } + + if (callback.index_cb && indices.size() > 0) { + callback.index_cb(user_data, &indices.at(0), + static_cast(indices.size())); + } + + continue; + } + + // use mtl + if ((0 == strncmp(token, "usemtl", 6)) && IS_SPACE((token[6]))) { + token += 7; + std::stringstream ss; + ss << token; + std::string namebuf = ss.str(); + + int newMaterialId = -1; + std::map::const_iterator it = + material_map.find(namebuf); + if (it != material_map.end()) { + newMaterialId = it->second; + } else { + // { warn!! material not found } + if (warn && (!callback.usemtl_cb)) { + (*warn) += "material [ " + namebuf + " ] not found in .mtl\n"; + } + } + + if (newMaterialId != material_id) { + material_id = newMaterialId; + } + + if (callback.usemtl_cb) { + callback.usemtl_cb(user_data, namebuf.c_str(), material_id); + } + + continue; + } + + // load mtl + if ((0 == strncmp(token, "mtllib", 6)) && IS_SPACE((token[6]))) { + if (readMatFn) { + token += 7; + + std::vector filenames; + SplitString(std::string(token), ' ', '\\', filenames); + + if (filenames.empty()) { + if (warn) { + (*warn) += + "Looks like empty filename for mtllib. Use default " + "material. \n"; + } + } else { + bool found = false; + for (size_t s = 0; s < filenames.size(); s++) { + if (material_filenames.count(filenames[s]) > 0) { + found = true; + continue; + } + + std::string warn_mtl; + std::string err_mtl; + bool ok = (*readMatFn)(filenames[s].c_str(), &materials, + &material_map, &warn_mtl, &err_mtl); + + if (warn && (!warn_mtl.empty())) { + (*warn) += warn_mtl; // This should be warn message. + } + + if (err && (!err_mtl.empty())) { + (*err) += err_mtl; + } + + if (ok) { + found = true; + material_filenames.insert(filenames[s]); + break; + } + } + + if (!found) { + if (warn) { + (*warn) += + "Failed to load material file(s). Use default " + "material.\n"; + } + } else { + if (callback.mtllib_cb) { + callback.mtllib_cb(user_data, &materials.at(0), + static_cast(materials.size())); + } + } + } + } + + continue; + } + + // group name + if (token[0] == 'g' && IS_SPACE((token[1]))) { + names.clear(); + + while (!IS_NEW_LINE(token[0])) { + std::string str = parseString(&token); + names.push_back(str); + token += strspn(token, " \t\r"); // skip tag + } + + assert(names.size() > 0); + + if (callback.group_cb) { + if (names.size() > 1) { + // create const char* array. + names_out.resize(names.size() - 1); + for (size_t j = 0; j < names_out.size(); j++) { + names_out[j] = names[j + 1].c_str(); + } + callback.group_cb(user_data, &names_out.at(0), + static_cast(names_out.size())); + + } else { + callback.group_cb(user_data, NULL, 0); + } + } + + continue; + } + + // object name + if (token[0] == 'o' && IS_SPACE((token[1]))) { + // @todo { multiple object name? } + token += 2; + + std::stringstream ss; + ss << token; + std::string object_name = ss.str(); + + if (callback.object_cb) { + callback.object_cb(user_data, object_name.c_str()); + } + + continue; + } + +#if 0 // @todo + if (token[0] == 't' && IS_SPACE(token[1])) { + tag_t tag; + + token += 2; + std::stringstream ss; + ss << token; + tag.name = ss.str(); + + token += tag.name.size() + 1; + + tag_sizes ts = parseTagTriple(&token); + + tag.intValues.resize(static_cast(ts.num_ints)); + + for (size_t i = 0; i < static_cast(ts.num_ints); ++i) { + tag.intValues[i] = atoi(token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.floatValues.resize(static_cast(ts.num_reals)); + for (size_t i = 0; i < static_cast(ts.num_reals); ++i) { + tag.floatValues[i] = parseReal(&token); + token += strcspn(token, "/ \t\r") + 1; + } + + tag.stringValues.resize(static_cast(ts.num_strings)); + for (size_t i = 0; i < static_cast(ts.num_strings); ++i) { + std::stringstream ss; + ss << token; + tag.stringValues[i] = ss.str(); + token += tag.stringValues[i].size() + 1; + } + + tags.push_back(tag); + } +#endif + + // Ignore unknown command. + } + + if (err) { + (*err) += errss.str(); + } + + return true; +} + +bool ObjReader::ParseFromFile(const std::string &filename, + const ObjReaderConfig &config) { + std::string mtl_search_path; + + if (config.mtl_search_path.empty()) { + // + // split at last '/'(for unixish system) or '\\'(for windows) to get + // the base directory of .obj file + // + size_t pos = filename.find_last_of("/\\"); + if (pos != std::string::npos) { + mtl_search_path = filename.substr(0, pos); + } + } else { + mtl_search_path = config.mtl_search_path; + } + + valid_ = LoadObj(&attrib_, &shapes_, &materials_, &warning_, &error_, + filename.c_str(), mtl_search_path.c_str(), + config.triangulate, config.vertex_color); + + return valid_; +} + +bool ObjReader::ParseFromString(const std::string &obj_text, + const std::string &mtl_text, + const ObjReaderConfig &config) { + std::stringbuf obj_buf(obj_text); + std::stringbuf mtl_buf(mtl_text); + + std::istream obj_ifs(&obj_buf); + std::istream mtl_ifs(&mtl_buf); + + MaterialStreamReader mtl_ss(mtl_ifs); + + valid_ = LoadObj(&attrib_, &shapes_, &materials_, &warning_, &error_, + &obj_ifs, &mtl_ss, config.triangulate, config.vertex_color); + + return valid_; +} + +#ifdef __clang__ +#pragma clang diagnostic pop +#endif +} // namespace tinyobj + +#endif diff --git a/src/utilities.cpp b/src/utilities.cpp index 5ee2703f..c2b117f9 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -11,6 +11,8 @@ #include "utilities.h" + + float utilityCore::clamp(float f, float min, float max) { if (f < min) diff --git a/src/utilities.h b/src/utilities.h index 4897f5ef..9ef18348 100644 --- a/src/utilities.h +++ b/src/utilities.h @@ -1,19 +1,27 @@ -#pragma once +#pragma once #include "glm/glm.hpp" #include #include #include +#include #include #include #include #include +#include +#include +#include +#include +#include "cudaUtilities.h" #define PI 3.1415926535897932384626422832795028841971f #define TWO_PI 6.2831853071795864769252867665590057683943f #define SQRT_OF_ONE_THIRD 0.5773502691896257645091487805019574556476f #define EPSILON 0.00001f + + class GuiDataContainer { public: @@ -32,3 +40,63 @@ namespace utilityCore extern std::string convertIntToString(int number); extern std::istream& safeGetline(std::istream& is, std::string& t); //Thanks to http://stackoverflow.com/a/6089413 } + +template +__inline__ __device__ T Lerp(const T& a, const T& b, float t) { + return (1.0f - t) * a + t * b; +} + +template +__inline__ __device__ T Clamp(const T& a, const T& edge0, const T& edge1) { + return glm::clamp(a, edge0, edge1); +} + +template +__inline__ __device__ T Square(const T& a) { + return a * a; +} + + +// Hash function to generate a random number in [0, 1] +__inline__ __device__ float hash01(uint32_t seed) { + seed ^= seed >> 21; + seed ^= seed << 35; + seed ^= seed >> 4; + seed *= 2685821657736338717ull; + return (seed & 0xFFFFFF) / float(0xFFFFFF); +} + +__inline__ __device__ glm::mat3 LocalToWorld(const glm::vec3& N) { + glm::vec3 T, B; + + glm::vec3 up = glm::abs(N.z) < 0.999f ? glm::vec3(0, 0, 1) : glm::vec3(0, 1, 0); + + T = glm::normalize(glm::cross(up, N)); + + B = glm::normalize(glm::cross(N, T)); + + return glm::mat3(T, B, N); +} + +__inline__ __device__ float AbsCosTheta(const glm::vec3& w) +{ + return fabsf(w.z); +} + +__inline__ __device__ float AbsDot(const glm::vec3& a, const glm::vec3& b) +{ + return fabsf(glm::dot(a, b)); +} + +__inline__ __device__ float HemisphereDot(const glm::vec3& a, const glm::vec3& b) +{ + return glm::dot(a, b) > 0 ? glm::dot(a, b) : 0; + +} + +__inline__ __device__ float PowerHeuristic(int nf, float fPdf, int ng, float gPdf) +{ + float f = nf * fPdf, g = ng * gPdf; + return (f * f) / (f * f + g * g); +} +